Harbs please post code snippets so we can understand what you are
referring to.  I'm not too concerned about how much code is baked into
MDL, but I'm more interested in the notion that there are just-in-case
patterns that are somehow more optimal than on-demand patterns.  I'm
thinking there are ways to write the on-demand patterns so they are better
in all measurements than just-in-case.

Let's start with a scenario or two and use MDL Button since it is an
actual thing used in some examples.  Isn't scenario #1 just using a plain
MDL Button with no attributes?  And scenario #2 using a MDL Button with
some attribute?

What code runs when no attributes and with one attribute with and without
your proposed CSSClassList class?

Thanks,
-Alex

On 3/5/18, 3:11 AM, "Harbs" <harbs.li...@gmail.com> wrote:

>
>> On Mar 5, 2018, at 2:18 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
>> 
>> Why are there so many empty strings and why do the cot so much?  Should
>> we reference a single global empty string?
>
>If you mean in XML, I eliminated initializing *everything* in XML unless
>needed and I saw a drastic reduction in use of memory. I also reuse Names
>which likewise reduced a lot of memory usage.
>
>In this case, it’s necessary to initialize the strings or add checking
>code.
>
>> I don't think I follow why just-in-case code is less than
>>not-just-in-case
>> code.  I don't think I've ever really seen that.  Can you provide more
>> detail?
>
>There *is no* "just in case" code here. We *need* to add one of three
>things to the MDL Button class and there’s trade-offs between all three.
>
>1. Empty strings with string concatenation
>2. An array to hold the strings
>3. A class which constructs the array and fills it as needed.
>
>#1 adds the most code and IMO overhead to the MDL Button class
>#2 initializes an array or has to add a getter which lazy initializes the
>array.
>#3 has an initially empty object which lazy intializes an array and
>populates it as needed.
>
>#2 and #3 are roughly equivalent in terms of object initialization.
>There’s not much difference between initializing and object or an array
>in JS.
>
>#2 puts the “add”, “remove” and “compute” code inside the Button class,
>while #3 moves it out into its own class which could be reused in other
>situations.
>
>Moving it into a class does add a bit of code inherent to classes in
>Royale, but I maintain that it’s minimal, and the value of being able to
>reuse it at no extra cost makes it justifiable.
>
>It is probably possible that we can have a package level function which
>returns an IStringList which would in fact be a javascript
>object/function which has the methods built in at no extra code cost, but
>that feels a bit hacky...
>
>Harbs
>
>* In truth there is a bit of just in case code in the CSSClassList class.
>There is range checking in the add method which could probably be
>removed. The range checking in the remove method is probably needed
>because we’re not enforcing initialization of booleans.
>
>> 
>> -Alex
>> 
>> On 3/4/18, 5:24 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>> 
>>> 
>>>> On Mar 2, 2018, at 6:46 PM, Alex Harui <aha...@adobe.com.INVALID>
>>>>wrote:
>>>> 
>>>> Again, the principles of PAYG are that there is as little Just-in-case
>>>> code as possible.  AIUI, every MDL user will be downloading and
>>>> initializing the ClassList prototype just-in-case.  This is not true
>>>>of
>>>> Strings.  It isn't just the cost of instantiation.  There are download
>>>> and
>>>> class initialization costs.
>>> 
>>> Not every MDL user. Only users of Button (and possibly Card). The final
>>> minimized (non-gzipped) size of the class is 492 bytes. I’m actually
>>>not
>>> sre why it’s not even smaller. I’m getting odd code which looks like
>>> this: 
>>> 
>>>AT.prototype.add=AT.prototype.add;AT.prototype.remove=AT.prototype.remov
>>>e;
>>> I’m not sure why goog is outputting this.
>>> 
>>> While there are download costs, about half of those costs are offset by
>>> less string initialization and concatenation code in Button. The more
>>> classes which use the class will offset the cost of the class even
>>> further.
>>> 
>>>> Array operations are not cheap in Flash, not
>>>> sure about JS.
>>> 
>>> In JS, the array operations in use are abot the same as the string
>>> operations. In fact, it’s going to be cheaper and use less RAM if not
>>>all
>>> the properties are used.
>>> 
>>> So, it’s a toss between a slightly higher download size which gets
>>> amortized the more it’s used vs memory resources. I’m not sure why
>>>you’re
>>> considering it more PAYG to avoid the use of the class.
>>> 
>>> As a data point: I found that empty strings in XML classes added many
>>>MB
>>> of RAM usage when XML was used heavily in my app. While I doubt someone
>>> will be using thousands of MDL Buttons, RAM from empty strings are
>>> sometimes worthy of consideration.
>>> 
>>> The “costs” one way or the other here is pretty minimal no matter which
>>> waywe go.
>>> 
>>>> There may be other space-delimited lists in world and having a generic
>>>> top-level function "addToSpaceDelimitedList" and
>>>> "removeFromSpaceDelimitedList" would be opt-in by the users who choose
>>>> to
>>>> manipulate their classNames with these helper functions.  It does not
>>>> make
>>>> sense to me to bake use of these functions into MDL.  The only portion
>>>> of
>>>> the final classname that needs manipulation like this is the className
>>>> property itself, not the attribute pieces or typenames.  Also, with
>>>> separate will named utility unctions, folks could use these functions
>>>> if
>>>> they run into other space delimited lists.
>>> 
>>> I’m not sure what you mean here. The class can be used in any context.
>>>If
>>> there are other contexts, it might make sense to rename the class. Are
>>> you referring to arrays or strings? I’m pretty sure we’re going to come
>>> up with other uses for passing around class lists in a way that make
>>>this
>>> class useful.
>>> 
>>> Harbs
>>> 
>>>> My 2 cents,
>>>> -Alex
>>>> 
>>>> On 3/2/18, 1:36 AM, "Harbs" <harbs.li...@gmail.com
>>>> <mailto:harbs.li...@gmail.com>> wrote:
>>>> 
>>>>> I do agree that this is pretty low on the list of priorities. I did
>>>>>not
>>>>> have a head to work on anything “serious” and the class lists was a
>>>>> nice
>>>>> distraction for me. I’m certainly fine with however Piotr handles
>>>>> this. I
>>>>> would like to point out a few things:
>>>>> 
>>>>> 1. Object instantiation is pretty cheap in JS. A CSSClassList object
>>>>>is
>>>>> no heavier than an empty String. 8 empty strings use more memory
>>>>>than a
>>>>> single CSSClassList.
>>>>> 2. Array.join() is about the same computational-wise as string
>>>>> concatenation.
>>>>> 3. The “list” is not being added anywhere the empty strings would not
>>>>> be
>>>>> added, so it’s no less PAYG than strings.
>>>>> 4. An instantiated class such as this would fit better in case we
>>>>>need
>>>>> to
>>>> play with class lists in beads because the CSSClassList object could
>>>>>be
>>>>> passed around and modified by different classes without exposing
>>>>> private
>>>>> variables and/or strands and beads needing to know about each other.
>>>>>I
>>>>> don’t think static utility classes are any less PAYG in this case.
>>>>> 
>>>>> Thanks,
>>>>> Harbs
>>>>> 
>>>>>> On Mar 2, 2018, at 7:42 AM, Piotr Zarzycki
>>>>>><piotrzarzyck...@gmail.com>
>>>>>> wrote:
>>>>>> 
>>>>>> Hi Harbs,
>>>>>> 
>>>>>> As much as I like Array approach I took Alex's words more serious
>>>>>>that
>>>>>> having an Array in the game here could be more heavier than String
>>>>>> concatenation. It's earlier in the discussion.
>>>>>> 
>>>>>> Piotr
>>>>>> 
>>>>>> 
>>>>>> 2018-03-02 3:26 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:
>>>>>> 
>>>>>>> Very nice, but IMO, this is over-engineering.  We are talking
>>>>>>>about a
>>>>>>> space-delimited list where some portion of it is considered "fixed"
>>>>>>> another portion is user-settable and another portion comes from
>>>>>>>other
>>>>>>> attributes.  Some generic StringUtils or ListUtils might be more
>>>>>>> PAYG,
>>>>>>> especially if they are opt-in and just used to manage the
>>>>>>> user-settable
>>>>>>> portion.  Think of it this way:  EveryMDL app needs to carry
>>>>>>>around
>>>>>>> ClassList even if they never change the classname.  I don't care
>>>>>>>too
>>>>>>> much
>>>>>>> since it is in MDL and not in the core, so keep it if you want to,
>>>>>>> but
>>>>>>> I
>>>>>>> can think of lots of other tasks we should be working on than
>>>>>>> creating
>>>>>>> cool classes to manage a list of strings.
>>>>>>> 
>>>>>>> My 2 cents,
>>>>>>> -Alex
>>>>>>> 
>>>>>>> On 3/1/18, 3:51 PM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>>>>> 
>>>>>>>> What do you think of the CSSClassList class I just committed?
>>>>>>>> 
>>>>>>>> I *think* that makes the pattern more recognizable and probably is
>>>>>>>> less
>>>>>>>> heavy if more than one class can be used.
>>>>>>>> 
>>>>>>>> Harbs
>>>>>>>> 
>>>>>>>>> On Mar 1, 2018, at 11:56 PM, Piotr Zarzycki
>>>>>>>>> <piotrzarzyck...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Harbs, Alex,
>>>>>>>>> 
>>>>>>>>> I just pushed implementation of computeFinalClassNames to
>>>>>>>>> branch feature/type_names_class_name_issue124. You can review
>>>>>>>>> implementation in this commit [1] and example of usage in Card
>>>>>>>>>and
>>>>>>>>> Button.
>>>>>>>>> 
>>>>>>>>> I have tested with Harbs example [3] and with Card by changing
>>>>>>>>> orders.
>>>>>>>>> It's
>>>>>>>>> working.
>>>>>>>>> 
>>>>>>>>> [1]
>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>>>> http%3A%2F%2Fbit.ly%2F
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>2HTHaFQ&data=02%7C01%7Caharui%40adobe.com%7C9ba2ae2d1a6e4fdc774508
>>>>>>>>>d5
>>>>>>>>> 7f
>>>>>>>>> cf
>>>>>>> 6
>>>>>>>>> c56%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%
>>>>>>> 7C636555451956879397&sdata
>>>>>>>>> =5EDairk%2BdGWuPE20vIR8jGFcRSflwqQIcw48oCPydYU%3D&reserved=0
>>>>>>>>> [2]
>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>>>> http%3A%2F%2Fbit.ly%2F
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>2oJgKOf&data=02%7C01%7Caharui%40adobe.com%7C9ba2ae2d1a6e4fdc774508
>>>>>>>>>d5
>>>>>>>>> 7f
>>>>>>>>> cf
>>>>>>> 6
>>>>>>>>> c56%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%
>>>>>>> 7C636555451956879397&sdata
>>>>>>>>> =8hIfKGYzhaInYfubnf3lUKbYZWRUANzEcWHj3Pkn3Ho%3D&reserved=0
>>>>>>>>> [3]
>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>>>> http%3A%2F%2Fbit.ly%2F
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>2F734nx&data=02%7C01%7Caharui%40adobe.com%7C9ba2ae2d1a6e4fdc774508
>>>>>>>>>d5
>>>>>>>>> 7f
>>>>>>>>> cf
>>>>>>> 6
>>>>>>>>> c56%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%
>>>>>>> 7C636555451956879397&sdata
>>>>>>>>> =9I9q1KjL5VNE5CJSAVTtwN9hhR2rco4ovIzJjQ74%2FeY%3D&reserved=0
>>>>>>>>> 
>>>>>>>>> Waiting for your review.
>>>>>>>>> 
>>>>>>>>> Thanks,
>>>>>>>>> Piotr
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 2018-02-28 23:31 GMT+01:00 Piotr Zarzycki
>>>>>>>>> <piotrzarzyck...@gmail.com>:
>>>>>>>>> 
>>>>>>>>>> Let me play with implementation of that function. It seems to me
>>>>>>>>>> that
>>>>>>>>>> will
>>>>>>>>>> be much cleaner than current solution.
>>>>>>>>>> 
>>>>>>>>>> If user actually wanted to do anythin with className - let the
>>>>>>>>>> overriding
>>>>>>>>>> speaks.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Wed, Feb 28, 2018, 21:51 Alex Harui
>>>>>>>>>><aha...@adobe.com.invalid>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> On 2/28/18, 12:27 PM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> OK. I think that will work for DML components, but what if
>>>>>>>>>>>> there’s a
>>>>>>>>>>>> bead
>>>>>>>>>>>> which needs to add class names? What would be the “right” way
>>>>>>>>>>>>to
>>>>>>>>>>>> do
>>>>>>>>>>>> that?
>>>>>>>>>>>> A bead cannot override the function on the strand.
>>>>>>>>>>> 
>>>>>>>>>>> Do we have beads that manipulate className?
>>>>>>>>>>> 
>>>>>>>>>>> IMO, the principle behind how to handle that is knowing whether
>>>>>>>>>>> you
>>>>>>>>>>> are
>>>>>>>>>>> sharing something or not.  There may not be one right way to
>>>>>>>>>>> handle
>>>>>>>>>>> it,
>>>>>>>>>>> but if I had to handle it, I would have the bead set something
>>>>>>>>>>>in
>>>>>>>>>>> the
>>>>>>>>>>> model or presentation model of the component.  And the
>>>>>>>>>>>component
>>>>>>>>>>> would
>>>>>>>>>>> override computeFinalClassNames to take that into account.
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> Although having just written that, maybe this
>>>>>>>>>>> computeFinalClassNames
>>>>>>>>>>> should be in the view instead of on the base class so it is
>>>>>>>>>>> replaceable
>>>>>>>>>>> instead of overridable.
>>>>>>>>>>> 
>>>>>>>>>>> Thoughts?
>>>>>>>>>>> -Alex
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Feb 28, 2018, at 10:17 PM, Alex Harui
>>>>>>>>>>>>> <aha...@adobe.com.INVALID>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I think you are missing that the element.className is set to
>>>>>>>>>>>>> computeFinalClassNames.  So the user is welcome to manipulate
>>>>>>>>>>>>> the
>>>>>>>>>>>>> UIBase.className however they see fit.  They can assign it a
>>>>>>>>>>>>> whole
>>>>>>>>>>>>> new
>>>>>>>>>>>>> space-delimited list if they want.  But what gets set on
>>>>>>>>>>>>> element.className
>>>>>>>>>>>>> is computed from typeNames and className by default, and MDL
>>>>>>>>>>>>> would
>>>>>>>>>>>>> override it to factor in fab, raised, colored into the
>>>>>>>>>>>>> computing
>>>>>>>>>>>>> of
>>>>>>>>>>>>> the
>>>>>>>>>>>>> final classnames.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I would prefer that we don't make requirements on users as to
>>>>>>>>>>>>> what
>>>>>>>>>>>>> they
>>>>>>>>>>>>> can or can't do with the className property, like requiring
>>>>>>>>>>>>> them
>>>>>>>>>>>>> to
>>>>>>>>>>>>> use
>>>>>>>>>>>>> addClassName/removeClassNames.  MXML and States might set
>>>>>>>>>>>>> className,
>>>>>>>>>>> as
>>>>>>>>>>>>> could any other AS logic.  I think folks may even be used to
>>>>>>>>>>>>> setting
>>>>>>>>>>>>> className in JavaScript.  So letting UIBase.className be the
>>>>>>>>>>>>> "variable"
>>>>>>>>>>>>> part and having computeFinalClassNames be the way the "fixed"
>>>>>>>>>>>>> part
>>>>>>>>>>>>> is
>>>>>>>>>>>>> handled makes sense to me.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Of course, I could be wrong...
>>>>>>>>>>>>> -Alex
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On 2/28/18, 12:03 PM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> The problem which sparked this whole issue is like this:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 1. We have some components (i.e. in MDL) which add “pieces”
>>>>>>>>>>>>>>to
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> class
>>>>>>>>>>>>>> names (such as “fab”, “raised”, “colored”, etc.
>>>>>>>>>>>>>> 2. The client might subsequently set the className to
>>>>>>>>>>>>>> something
>>>>>>>>>>>>>> else.
>>>>>>>>>>>>>> 3. When the component sets the “pieces” first and the client
>>>>>>>>>>>>>> sets
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> className later, the client will overwrite these “pieces”
>>>>>>>>>>>>>> which
>>>>>>>>>>>>>> were
>>>>>>>>>>>>>> added by the component.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> My suggestion to have addClassName() and removeClassName()
>>>>>>>>>>>>>>was
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>> have
>>>>>>>>>>>>>> a
>>>>>>>>>>>>>> “safe” way to add class names which would get computed
>>>>>>>>>>>>>> together
>>>>>>>>>>>>>> with
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> className when the className is replaced.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> The way you have it seems to just be modifying the existing
>>>>>>>>>>>>>> className
>>>>>>>>>>>>>> property. If that’s overwritten by a client, the logic falls
>>>>>>>>>>>>>> apart.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> It feels like only having typeNames which are set inside the
>>>>>>>>>>>>>> component
>>>>>>>>>>>>>> and className which is set outside the component is not
>>>>>>>>>>>>>>really
>>>>>>>>>>>>>> enough.
>>>>>>>>>>>>>> (Unless I’m missing something.)
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Harbs
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On Feb 28, 2018, at 9:31 PM, Alex Harui
>>>>>>>>>>>>>>> <aha...@adobe.com.INVALID
>>>>>>>> 
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On 2/28/18, 10:44 AM, "Harbs" <harbs.li...@gmail.com>
>>>>>>>>>>>>>>>wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> If it’s not public, I don’t see how a utility method could
>>>>>>>>>>>>>>>> call
>>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>> though.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I didn't think the utility methods like
>>>>>>>>>>>>>>> addClassName/removeClassName
>>>>>>>>>>>>>>> would
>>>>>>>>>>>>>>> need to alter computeFinalClassNames().
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> AIUI, for most UIBase subclasses, the final
>>>>>>>>>>>>>>>element.className
>>>>>>>>>>>>>>> is a
>>>>>>>>>>> mix
>>>>>>>>>>>>>>> of
>>>>>>>>>>>>>>> the className property and the typeNames.  The typenames
>>>>>>>>>>>>>>>are
>>>>>>>>>>>>>>> thought
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>> "fixed" and the space-delimited list of names in className
>>>>>>>>>>>>>>> are
>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>> ones
>>>>>>>>>>>>>>> the user wants to manipulate in their code.  So, I would
>>>>>>>>>>>>>>> expect
>>>>>>>>>>>>>>> them
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> write:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> org.apache.royale.utils.addClassName(myComponent,
>>>>>>>>>>>>>>> "pinkStyles");
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> addClassName should just do something like:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> myComponent.className += value;
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> That will call the className setter that will run:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> element.className = computeFinalClassNames();
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> If you call
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> org.apache.royale.utils.removeClassName(myComponent,
>>>>>>>>>>>>>>> "pinkStyles");
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> removeClassName should just do something like:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Var s:String = myComponent.className;
>>>>>>>>>>>>>>> Var c:int = s.indexOf(nameToRemove + " ");
>>>>>>>>>>>>>>> If (c != -1)
>>>>>>>>>>>>>>> s = s.substr(0, c) + s.substr(c + nameToRemove.length + 1);
>>>>>>>>>>>>>>> Else
>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>> c= s.indexOf(" " + nameToRemove);
>>>>>>>>>>>>>>> if (c != -1)
>>>>>>>>>>>>>>>  s = s.substr(0, c);  // remove last item
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>> myComponent.className = s;
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> It seems like it should be that simple.  What am I missing?
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> -Alex
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> On Feb 28, 2018, at 8:21 PM, Alex Harui
>>>>>>>>>>>>>>>>> <aha...@adobe.com.INVALID>
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> On 2/28/18, 9:50 AM, "Piotr Zarzycki" <
>>>>>>> piotrzarzyck...@gmail.com
>>>>>>>>>>>>>>>>> <mailto:piotrzarzyck...@gmail.com>> wrote:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Ok Understand, but do you agree that
>>>>>>>>>>>>>>>>>> computeFinalClassNames -
>>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>> something
>>>>>>>>>>>>>>>>>> which is in the UIBase ?
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Yes, and probably protected instead of public.  The one
>>>>>>>>>>>>>>>>>in
>>>>>>>>>>>>>>>>> UIBase
>>>>>>>>>>>>>>>>> just
>>>>>>>>>>>>>>>>> appends typenames to className.  It gets overridden in
>>>>>>>>>>>>>>>>>MDL
>>>>>>>>>>>>>>>>> where
>>>>>>>>>>>>>>>>> needed
>>>>>>>>>>>>>>>>> for shadow and other attributes.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> My 2 cents,
>>>>>>>>>>>>>>>>> -Alex
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 2018-02-28 18:47 GMT+01:00 Alex Harui
>>>>>>>>>>>>>>>>>> <aha...@adobe.com.invalid>:
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> I think that in the shadow setter, it would change
>>>>>>>>>>>>>>>>>>> _shadow
>>>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>> call
>>>>>>>>>>>>>>>>>>> setClassName(computeFinalClassNames());
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 2/28/18, 9:33 AM, "Piotr Zarzycki"
>>>>>>>>>>>>>>>>>>> <piotrzarzyck...@gmail.com
>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Alex,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> So we are getting back to the idea where you proposed
>>>>>>>>>>>>>>>>>>>>to
>>>>>>>>>>>>>>>>>>>> have
>>>>>>>>>>>>>>>>>>>> function
>>>>>>>>>>>>>>>>>>>> which computes everything.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> override public function
>>>>>>>>>>>>>>>>>>>>computeFinalClassNames():String
>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>> return super.computeFinalClassNames() + " " + _shadow;
>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Where does that function should be placed ? Does that
>>>>>>>>>>>>>>>>>>>> function
>>>>>>>>>>>>>>>>>>>> should
>>>>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>>>> called in addedToParent plus whenever someone change
>>>>>>>>>>>>>>>>>>>> _shadow
>>>>>>>>>>>>>>>>>>>> ? -
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Because I really don't know how to handle scenario
>>>>>>>>>>>>>>>>>>>>where
>>>>>>>>>>>>>>>>>>>> you
>>>>>>>>>>> have
>>>>>>>>>>>>>>>>>>>> some
>>>>>>>>>>>>>>>>>>>> property isActive = true/false and I need to
>>>>>>>>>>>>>>>>>>>>add/remove
>>>>>>>>>>>>>>>>>>>> class. -
>>>>>>>>>>>>>>>>>>>> In
>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>> first launch I use  computeFinalClassNames, but how to
>>>>>>>>>>>>>>>>>>>> handle
>>>>>>>>>>>>>>>>>>>> changing
>>>>>>>>>>>>>>>>>>> ?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks, Piotr
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> 2018-02-28 18:26 GMT+01:00 Alex Harui
>>>>>>>>>>>>>>>>>>>> <aha...@adobe.com.invalid
>>>>>>>>>>>> :
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Hi Piotr,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I think am I not communicating the principles
>>>>>>>>>>>>>>>>>>>>> effectively.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> First, IMO, addClassName and removeClassName should not
>>>>>>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>>>>> in
>>>>>>>>>>>>>>>>>>>>> UIBase.
>>>>>>>>>>>>>>>>>>>>> Lots of apps can be written without needing these
>>>>>>>>>>>>>>>>>>>>> methods.
>>>>>>>>>>>>>>>>>>>>> I
>>>>>>>>>>>>>>>>>>>>> think
>>>>>>>>>>>>>>>>>>> they
>>>>>>>>>>>>>>>>>>>>> can be written as utility functions.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Second, the computation of the final element.className
>>>>>>>>>>>>>>>>>>>>> should
>>>>>>>>>>>>>>>>>>> represent
>>>>>>>>>>>>>>>>>>>>> the state of the component, so I don't get why you need
>>>>>>>>>>>>>>>>>>>>> an
>>>>>>>>>>>>>>>>>>>>> _internalClassName or should ever set it to "".  The
>>>>>>>>>>> computation
>>>>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>>>>>>> component with a shadow would be to check the shadow
>>>>>>>>>>>>>>>>>>>>> property
>>>>>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>> if
>>>>>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>>> true, add a className for the shadow to the list.
>>>>>>>>>>>>>>>>>>>>> Then I
>>>>>>>>>>>>>>>>>>>>> think
>>>>>>>>>>>>>>>>>>>>> you
>>>>>>>>>>>>>>>>>>>>> wouldn't have the problem you showed in the animated
>>>>>>>>>>>>>>>>>>>>> GIF.
>>>>>>>>>>>>>>>>>>>>> When
>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>> classname property is set from the outside by
>>>>>>>>>>>>>>>>>>>>> MXMLDataInterpreter
>>>>>>>>>>>>>>>>>>>>> or
>>>>>>>>>>>>>>>>>>>>> even
>>>>>>>>>>>>>>>>>>>>> user-written code, those classNames are added to the
>>>>>>>>>>>>>>>>>>>>> list
>>>>>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>> typeNames and the shadow className if shadow is true
>>>>>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>> then
>>>>>>>>>>>>>>>>>>>>> set
>>>>>>>>>>>>>>>>>>>>> on
>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>> element.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Finally, for addClassName and removeClassName, and all
>>>>>>>>>>>>>>>>>>>>> other
>>>>>>>>>>>>>>>>>>>>> Royale
>>>>>>>>>>>>>>>>>>>>> code,
>>>>>>>>>>>>>>>>>>>>> we don't want to do much if any parameter checking.
>>>>>>>>>>>>>>>>>>>>> That is
>>>>>>>>>>>>>>>>>>>>> also
>>>>>>>>>>>>>>>>>>>>> just-in-case code.  The production code should not be
>>>>>>>>>>>>>>>>>>>>> passing
>>>>>>>>>>> in
>>>>>>>>>>>>>>>>>>> null or
>>>>>>>>>>>>>>>>>>>>> other bad values.  And once you fix that, then the
>>>>>>>>>>>>>>>>>>>>> checks
>>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>> you
>>>>>>>>>>>>>>>>>>> have
>>>>>>>>>>>>>>>>>>>>> written do not add value.  I have proposed that there
>>>>>>>>>>>>>>>>>>>>> are
>>>>>>>>>>>>>>>>>>>>> debug-only
>>>>>>>>>>>>>>>>>>>>> code
>>>>>>>>>>>>>>>>>>>>> that does parameter checking.  There is a goog.DEBUG
>>>>>>>>>>>>>>>>>>>>> flag
>>>>>>>>>>>>>>>>>>>>> you
>>>>>>>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>>>>>>>> use
>>>>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>>>> that.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> HTH,
>>>>>>>>>>>>>>>>>>>>> -Alex
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 2/28/18, 12:40 AM, "Piotr Zarzycki"
>>>>>>>>>>>>>>>>>>>>> <piotrzarzyck...@gmail.com>
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Hi Alex,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Sorry about that. Let me show you code and I recorded
>>>>>>>>>>>>>>>>>>>>>> GIF
>>>>>>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>>>> problem
>>>>>>>>>>>>>>>>>>>>>> debugging.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> *Code in UIBase which I have implemented:*
>>>>>>>>>>>>>>>>>>>>>> addClassName and removeClassName [1].
>>>>>>>>>>>>>>>>>>>>>> addedToParent what is happen with internal field
>>>>>>>>>>>>>>>>>>>>>> which I
>>>>>>>>>>>>>>>>>>>>>> have
>>>>>>>>>>>>>>>>>>>>>> added
>>>>>>>>>>>>>>>>>>> [2]
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> *Code for Testing* [3] - I'm adding first className,
>>>>>>>>>>>>>>>>>>>>>> than
>>>>>>>>>>>>>>>>>>>>>> shadow.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> *GIF* [4] We are starting from the constructor. Pay
>>>>>>>>>>>>>>>>>>>>>> attention
>>>>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>> moment
>>>>>>>>>>>>>>>>>>>>>> where className is being wiped out, later I have to
>>>>>>>>>>>>>>>>>>>>>> use
>>>>>>>>>>>>>>>>>>>>>> my
>>>>>>>>>>>>>>>>>>>>>> internal
>>>>>>>>>>>>>>>>>>>>>> variable to get it back.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Does that more clean now ?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> [1]
>>>>>>>>>>>>>>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fpaste.apa
>>>>>>>>>>>>>>>>>>>>>> che.org%2FEumG&data=02%7C01%7Caharui%40adobe.com%
>>>>>>>>>>>>>>>>>>>>> 7Cee5c84b4e3ff4ddb578008d
>>>>>>>>>>>>>>>>>>>>>> 57e87046f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>>>>>>>>>>>>>> 7C636554040718214998&
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> sdata=cDT88OF63TdBMPxYY2vwMSIRxD%2FP3DvwHupj%2BQHsofw%3
>>>>>>>>>>>>>>>>>>>>>> D&
>>>>>>>>>>> reserve
>>>>>>>>>>>>>>>>>>>>>> d=
>>>>>>>>>>>>>>>>>>>>>> 0
>>>>>>>>>>>>>>>>>>>>>> [2]
>>>>>>>>>>>>>>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fpaste.apa
>>>>>>>>>>>>>>>>>>>>>> che.org%2FArmU&data=02%7C01%7Caharui%40adobe.com%
>>>>>>>>>>>>>>>>>>>>> 7Cee5c84b4e3ff4ddb578008d
>>>>>>>>>>>>>>>>>>>>>> 57e87046f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>>>>>>>>>>>>>> 7C636554040718214998&
>>>>>>>>>>>>>>>>>>>>>> sdata=m6whImrP70u7kzRxCbErlxCHWef8TK
>>>>>>>>>>> Nejwm4Sr7bw7g%3D&reserved=0
>>>>>>>>>>>>>>>>>>>>>> [3]
>>>>>>>>>>>>>>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fpaste.apa
>>>>>>>>>>>>>>>>>>>>>> che.org%2FKrxq&data=02%7C01%7Caharui%40adobe.com%
>>>>>>>>>>>>>>>>>>>>> 7Cee5c84b4e3ff4ddb578008d
>>>>>>>>>>>>>>>>>>>>>> 57e87046f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>>>>>>>>>>>>>> 7C636554040718214998&
>>>>>>>>>>>>>>>>>>>>>> sdata=tpeUYSQIXGXtES8hyr7zSeet528ZTc
>>>>>>>>>>> zSltcNccqRGDo%3D&reserved=0
>>>>>>>>>>>>>>>>>>>>>> [4]
>>>>>>>>>>>>>>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2F1drv.ms%2
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Fu%2Fs!ApVpLyjpHDC2hPtoCi65kIZZPwjSpQ
>>>>>>>>>>> &data=02%7C01%7Caharui%40ad
>>>>>>>>>>>>>>>>>>>>>> ob
>>>>>>>>>>>>>>>>>>>>>> e
>>>>>>>>>>>>>>>>>>> .com
>>>>>>>>>>>>>>>>>>>>> %7C
>>>>>>>>>>>>>>>>>>>>>> ee5c84b4e3ff4ddb578008d57e87046f%
>>>>>>>>>>> 7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>>>> cee1%7C0%7C
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 0%7C636554040718214998&sdata=eX%2FgZ0MA%
>>>>>>>>>>> 2BdQJjcpYtMkk1pw3r0iVkdR
>>>>>>>>>>>>>>>>>>>>>> a%
>>>>>>>>>>>>>>>>>>>>> 2F6TWRTG
>>>>>>>>>>>>>>>>>>>>>> 10OY%3D&reserved=0
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>>>> Piotr
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 2018-02-27 23:31 GMT+01:00 Alex Harui
>>>>>>>>>>>>>>>>>>>>>> <aha...@adobe.com.invalid>:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Hi Piotr,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I could not understand this explanation. Might be
>>>>>>>>>>>>>>>>>>>>>>> better
>>>>>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>>>>> show
>>>>>>>>>>>>>>>>>>>>> actual
>>>>>>>>>>>>>>>>>>>>>>> code.  For example in #3, there is a cssClass variable
>>>>>>>>>>>>>>>>>>>>>>> that I
>>>>>>>>>>>>>>>>>>> don't
>>>>>>>>>>>>>>>>>>>>> know
>>>>>>>>>>>>>>>>>>>>>>> about.  Also you mention at the bottom setting
>>>>>>>>>>>>>>>>>>>>>>> something
>>>>>>>>>>>>>>>>>>>>>>> as
>>>>>>>>>>>>>>>>>>>>>>> empty,
>>>>>>>>>>>>>>>>>>>>> but
>>>>>>>>>>>>>>>>>>>>>>> I'm
>>>>>>>>>>>>>>>>>>>>>>> not sure what that is.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> However, IMO, this code should be in utility functions,
>>>>>>>>>>>>>>>>>>>>>>> not
>>>>>>>>>>> in
>>>>>>>>>>>>>>>>>>>>> UIBase.
>>>>>>>>>>>>>>>>>>>>>>> I
>>>>>>>>>>>>>>>>>>>>>>> think plenty of useful applications can be built
>>>>>>>>>>>>>>>>>>>>>>> without
>>>>>>>>>>>>>>>>>>>>>>> changing
>>>>>>>>>>>>>>>>>>>>>>> classNames at runtime.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I'm off-line for the next several hours so we can pick
>>>>>>>>>>>>>>>>>>>>>>> this
>>>>>>>>>>> up
>>>>>>>>>>>>>>>>>>> again
>>>>>>>>>>>>>>>>>>>>> in
>>>>>>>>>>>>>>>>>>>>>>> your morning.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks for working on it,
>>>>>>>>>>>>>>>>>>>>>>> -Alex
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 2/27/18, 2:21 PM, "Piotr Zarzycki"
>>>>>>>>>>>>>>>>>>>>>>> <piotrzarzyck...@gmail.com>
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Here is how I'm thinking to resolve that issue. I
>>>>>>>>>>>>>>>>>>>>>>>> would
>>>>>>>>>>>>>>>>>>>>>>>> take
>>>>>>>>>>>>>>>>>>> Harb's
>>>>>>>>>>>>>>>>>>>>>>>> proposition and add to UIBase  addClassName() and
>>>>>>>>>>>>>>>>>>> removeClassName().
>>>>>>>>>>>>>>>>>>>>>>> Next
>>>>>>>>>>>>>>>>>>>>>>>> I
>>>>>>>>>>>>>>>>>>>>>>>> would add internal field _internalClassName:String.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> addClassName(value):
>>>>>>>>>>>>>>>>>>>>>>>> 1) Will check if provided class name exits in
>>>>>>>>>>>>>>>>>>>>>>>> _className
>>>>>>>>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>>>>> in
>>>>>>>>>>>>>>>>>>>>>>>> _internalClassName.
>>>>>>>>>>>>>>>>>>>>>>>> 2) Will add to _internalClassName += value
>>>>>>>>>>>>>>>>>>>>>>>> 3) Assign to the element.className in the following
>>>>>>>>>>>>>>>>>>>>>>>> way:
>>>>>>>>>>>>>>>>>>>>>>> element.className
>>>>>>>>>>>>>>>>>>>>>>>> = cssClass + " " + _className + " " + typeNames;
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> removeClassName(value)
>>>>>>>>>>>>>>>>>>>>>>>> 1) Will check if provided classs name exists in
>>>>>>>>>>>>>>>>>>>>>>>> _className
>>>>>>>>>>>>>>>>>>>>>>>> or
>>>>>>>>>>>>>>>>>>>>>>>> in
>>>>>>>>>>>>>>>>>>>>>>>> _internalClassName
>>>>>>>>>>>>>>>>>>>>>>>> 2) Make a replace to empty string if css class name
>>>>>>>>>>>>>>>>>>>>>>>> exists.
>>>>>>>>>>>>>>>>>>>>>>>> _className.replace(value, "");
>>>>>>>>>>>>>>>>>>>>>>>> 3) Assign to the element.className: element.className
>>>>>>>>>>>>>>>>>>>>>>>> =
>>>>>>>>>>>>>>>>>>> _className
>>>>>>>>>>>>>>>>>>>>> + "
>>>>>>>>>>>>>>>>>>>>>>> " +
>>>>>>>>>>>>>>>>>>>>>>>> typeNames;
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> In added to parent we are computing _internalClassName
>>>>>>>>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>>>>>> _className
>>>>>>>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>>>>> typeNames. Then it's being set as empty.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> element.className =  _internalClassName  + " " +
>>>>>>>>>>>>>>>>>>>>>>>> _className
>>>>>>>>>>>>>>>>>>>>>>>> + "
>>>>>>>>>>>>>>>>>>> " +
>>>>>>>>>>>>>>>>>>>>>>>> typeNames;
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I have implemented it and it seems to be working.
>>>>>>>>>>>>>>>>>>>>>>>> Waiting
>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>> your
>>>>>>>>>>>>>>>>>>>>>>>> thoughts
>>>>>>>>>>>>>>>>>>>>>>>> on that solution. The last step where we are adding
>>>>>>>>>>>>>>>>>>>>>>>> all
>>>>>>>>>>> three
>>>>>>>>>>>>>>>>>>>>> fields is
>>>>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>> most important. Points 3 in addClassName and
>>>>>>>>>>>>>>>>>>>>>>>> removeClassName
>>>>>>>>>>>>>>>>>>>>>>>> are
>>>>>>>>>>>>>>>>>>>>>>>> necessary,
>>>>>>>>>>>>>>>>>>>>>>>> because user may want to more dynamically manipulate
>>>>>>>>>>>>>>>>>>>>>>>> classes
>>>>>>>>>>>>>>>>>>>>>>>> once
>>>>>>>>>>>>>>>>>>>>>>>> component
>>>>>>>>>>>>>>>>>>>>>>>> is created. Ex. "is-active" class is removed and
>>>>>>>>>>>>>>>>>>>>>>>> added on
>>>>>>>>>>>>>>>>>>>>>>>> demand.
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> Thanks, Piotr
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 2018-02-27 13:38 GMT+01:00 Piotr Zarzycki
>>>>>>>>>>>>>>>>>>>>> <piotrzarzyck...@gmail.com>:
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> I think I have analyzed everything and have some
>>>>>>>>>>>>>>>>>>>>>>>>> implementation
>>>>>>>>>>>>>>>>>>>>>>>>> proposition. I will try to provide it later today.
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks, Piotr
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> 2018-02-27 13:35 GMT+01:00 Harbs
>>>>>>>>>>>>>>>>>>>>>>>>> <harbs.li...@gmail.com>:
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> ExpandableSearch broke too.
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Feb 25, 2018, at 6:15 PM, Piotr Zarzycki
>>>>>>>>>>>>>>>>>>>>>>>>>> <piotrzarzyck...@gmail.com>
>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Harbs,
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> If you are using something more than MDL Dialog in
>>>>>>>>>>>>>>>>>>>>>>>>>>> your
>>>>>>>>>>>>>>>>>>>>>>> application
>>>>>>>>>>>>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>>>>>>>>>>>>> would be great to get feedback whether I didn't 
break
>>>>>>>>>>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>> you
>>>>>>>>>>>>>>>>>>>>>>>>>> anything.
>>>>>>>>>>>>>>>>>>>>>>>>>> :)
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> Piotr Zarzycki
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> Patreon:
>>>>>>>>>>>>>>>>>>>>>>>>> *https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.pat
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%
>>>>>>> 40adobe.co
>>>>>>>>>>>>>>>>>>>>>>>>> m
>>>>>>>>>>>>>>>>>>>>>>> %7C45a065853ba1
>>>>>>>>>>>>>>>>>>>>>>>>> 4a295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365536
>>>>>>>>>>>>>>>>>>>>>>>>> 69427477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK
>>>>>>>>>>>>>>>>>>>>>>> 9liXcy%2BPg%3D&rese
>>>>>>>>>>>>>>>>>>>>>>>>> rved=0
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.pat
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%
>>>>>>> 40adobe.co
>>>>>>>>>>>>>>>>>>>>>>>>> m
>>>>>>>>>>>>>>>>>>>>>>> %7C45a065853ba1
>>>>>>>>>>>>>>>>>>>>>>>>> 4a295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365536
>>>>>>>>>>>>>>>>>>>>>>>>> 69427477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK
>>>>>>>>>>>>>>>>>>>>>>> 9liXcy%2BPg%3D&rese
>>>>>>>>>>>>>>>>>>>>>>>>> rved=0>*
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> Piotr Zarzycki
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> Patreon:
>>>>>>>>>>>>>>>>>>>>>>>> *https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.patr
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.c
>>>>>>>>>>>>>>>>>>>>>>>> om
>>>>>>> %
>>>>>>>>>>>>>>>>>>>>>>> 7C45a065853ba14a
>>>>>>>>>>>>>>>>>>>>>>>> 295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365536694
>>>>>>>>>>>>>>>>>>>>>>>> 27477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK
>>>>>>>>>>>>>>>>>>>>>>> 9liXcy%2BPg%3D&reserved
>>>>>>>>>>>>>>>>>>>>>>>> =0
>>>>>>>>>>>>>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.patr
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.c
>>>>>>>>>>>>>>>>>>>>>>>> om
>>>>>>> %
>>>>>>>>>>>>>>>>>>>>>>> 7C45a065853ba14a
>>>>>>>>>>>>>>>>>>>>>>>> 295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365536694
>>>>>>>>>>>>>>>>>>>>>>>> 27477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK
>>>>>>>>>>>>>>>>>>>>>>> 9liXcy%2BPg%3D&reserved
>>>>>>>>>>>>>>>>>>>>>>>> =0>*
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> Piotr Zarzycki
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> Patreon:
>>>>>>>>>>>>>>>>>>>>>> *https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.patr
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.c
>>>>>>>>>>>>>>>>>>>>>> om
>>>>>>>>>>>>>>>>>>>>>> %
>>>>>>>>>>>>>>>>>>>>> 7Cee5c84b4e3ff4d
>>>>>>>>>>>>>>>>>>>>>> db578008d57e87046f%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365540407
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 18214998&sdata=VYtgB8rsurZAHpO%2FVs%
>>>>>>>>>>> 2FqOkmxROz58p7VvQ%2B0EK8VPPc
>>>>>>>>>>>>>>>>>>>>>> %
>>>>>>>>>>>>>>>>>>>>> 3D&reserv
>>>>>>>>>>>>>>>>>>>>>> ed=0
>>>>>>>>>>>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.patr
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.c
>>>>>>>>>>>>>>>>>>>>>> om
>>>>>>>>>>>>>>>>>>>>>> %
>>>>>>>>>>>>>>>>>>>>> 7Cee5c84b4e3ff4d
>>>>>>>>>>>>>>>>>>>>>> db578008d57e87046f%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365540407
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 18214998&sdata=VYtgB8rsurZAHpO%2FVs%
>>>>>>>>>>> 2FqOkmxROz58p7VvQ%2B0EK8VPPc
>>>>>>>>>>>>>>>>>>>>>> %
>>>>>>>>>>>>>>>>>>>>> 3D&reserv
>>>>>>>>>>>>>>>>>>>>>> ed=0>*
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Piotr Zarzycki
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Patreon:
>>>>>>>>>>>>>>>>>>>> *https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.patr
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.c
>>>>>>>>>>>>>>>>>>>>om
>>>>>>>>>>>>>>>>>>>> %
>>>>>>>>>>>>>>>>>>> 7Cda0fd75922c94d
>>>>>>>>>>>>>>>>>>>> cb789208d57ed16c9f%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365543602
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 95549968&sdata=rypScmQqTsmVcrUIZRNnaoZP5VMbI0
>>>>>>>>>>> oJqA6J42ZuhcA%3D&rese
>>>>>>>>>>>>>>>>>>>> rv
>>>>>>>>>>>>>>>>>>>> ed
>>>>>>>>>>>>>>>>>>>> =0
>>>>>>>>>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=
>>>>>>>>>>>>>>>>>>> https%3A%2F%2Fwww.patr
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.c
>>>>>>>>>>>>>>>>>>>>om
>>>>>>>>>>>>>>>>>>>> %
>>>>>>>>>>>>>>>>>>> 7Cda0fd75922c94d
>>>>>>>>>>>>>>>>>>>> cb789208d57ed16c9f%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>> cee1%7C0%7C0%7C6365543602
>>>>>>>>>>>>>>>>>>>> 95549968&sdata=rypScmQqTsmVcrUIZRNnaoZP5VMbI0
>>>>>>>>>>>>>>>>>>> oJqA6J42ZuhcA%3D&reserved=0>*
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Piotr Zarzycki
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Patreon:
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>*https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=https%3A%2F%2Fww
>>>>>>>>>>>>>>>>>> w.
>>>>>>>>>>>>>>>>>> pa
>>>>>>>>>>>>>>>>>> tr
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A% 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=https%3A%2F%2Fww
>>>>>>>>>>>>>>>>>> w.
>>>>>>>>>>>>>>>>>> pa
>>>>>>>>>>>>>>>>>> tr>
>>>>>>>>>>>>>>>>>> eon.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Feon.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96
>>>>>>>>>>>>>>>>>>52
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>ce
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>e1%7C0%7C0%7C636557667183559337&sdata=4AZuIWAEBmFqifiEmAL
>>>>>>>>>>>>>>>>>>ZY
>>>>>>>>>>>>>>>>>> sFzfTm5U8uwi3UhiiE4e2c%3D&reserved=0>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A% 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=http%3A%2F%2Feon
>>>>>>>>>>>>>>>>>> .c
>>>>>>>>>>>>>>>>>> om
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> %2F&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%
>>>>>>>>>>> 7C75519f53f52b4fde36b108d57edb
>>>>>>>>>>>>>>>>>> 59
>>>>>>>>>>>>>>>>>> 03
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> %7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>>>> 7C636554402926763835&sda
>>>>>>>>>>>>>>>>>> ta
>>>>>>>>>>>>>>>>>> =G
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>P3kiCe4imGL1d5mLcQcEGLxLCNgLGK2RheJkPCJgQY%3D&reserved=0>
>>>>>>>>>>>>>>>>>>%
>>>>>>>>>>> 2Fpiotrzar
>>>>>>>>>>>>>>>>>> zy
>>>>>>>>>>>>>>>>>> ck
>>>>>>>>>>>>>>>>>> i&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A% 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=http%3A%2F%2F40a
>>>>>>>>>>>>>>>>>> do
>>>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> .com%2F&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%
>>>>>>>>>>> 7C75519f53f52b4fde36b108d5
>>>>>>>>>>>>>>>>>> 7e
>>>>>>>>>>>>>>>>>> db
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 5903%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>>>> 7C636554402926763835
>>>>>>>>>>>>>>>>>> &s
>>>>>>>>>>>>>>>>>> da
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> ta=r5UrAyOXUfffdyTWxankNj%2F5knjssVb9oxg4tY5sThY%3D&
>>>>>>>>>>> reserved=0>%7Cf2
>>>>>>>>>>>>>>>>>> 5d
>>>>>>>>>>>>>>>>>> bf
>>>>>>>>>>>>>>>>>> 20138f47
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 186d4808d57ed4a8fb%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>> cee1%7C0%7C0%7C6365
>>>>>>>>>>>>>>>>>> 54
>>>>>>>>>>>>>>>>>> 37
>>>>>>>>>>>>>>>>>> 41
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 87322476&sdata=bVfz%2BNfVCmLjO4LzijRozHXQoN1VfVRQS
>>>>>>>>>>> etW7oghI4s%3D&rese
>>>>>>>>>>>>>>>>>> rv
>>>>>>>>>>>>>>>>>> ed
>>>>>>>>>>>>>>>>>> =0
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A% 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=https%3A%2F%2Fww
>>>>>>>>>>>>>>>>>> w.
>>>>>>>>>>>>>>>>>> pa
>>>>>>>>>>>>>>>>>> tr
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A% 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=https%3A%2F%2Fww
>>>>>>>>>>>>>>>>>> w.
>>>>>>>>>>>>>>>>>> pa
>>>>>>>>>>>>>>>>>> tr>
>>>>>>>>>>>>>>>>>> eon.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Feon.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96
>>>>>>>>>>>>>>>>>>52
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>>>>>>>>>ce
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>e1%7C0%7C0%7C636557667183559337&sdata=4AZuIWAEBmFqifiEmAL
>>>>>>>>>>>>>>>>>>ZY
>>>>>>>>>>>>>>>>>> sFzfTm5U8uwi3UhiiE4e2c%3D&reserved=0>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A% 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=http%3A%2F%2Feon
>>>>>>>>>>>>>>>>>> .c
>>>>>>>>>>>>>>>>>> om
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> %2F&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%
>>>>>>>>>>> 7C75519f53f52b4fde36b108d57edb
>>>>>>>>>>>>>>>>>> 59
>>>>>>>>>>>>>>>>>> 03
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> %7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>>>> 7C636554402926763835&sda
>>>>>>>>>>>>>>>>>> ta
>>>>>>>>>>>>>>>>>> =G
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>P3kiCe4imGL1d5mLcQcEGLxLCNgLGK2RheJkPCJgQY%3D&reserved=0>
>>>>>>>>>>>>>>>>>>%
>>>>>>>>>>> 2Fpiotrzar
>>>>>>>>>>>>>>>>>> zy
>>>>>>>>>>>>>>>>>> ck
>>>>>>>>>>>>>>>>>> i&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A% 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https
>>>>>>>>>>>>>>>>>>%3
>>>>>>>>>>>>>>>>>> A%>
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>2F%2Fna01.safelinks.protection.outlook&data=02%7C01%7Caha
>>>>>>>>>>>>>>>>>>ru
>>>>>>>>>>>>>>>>>> i%
>>>>>>>>>>>>>>>>>> 40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C1beda9d1dc6
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 30b02e608d580210ddc%7Cfa7b1b5a7b34
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>438794aed2c178decee1%7C0%7C0%7C636555801839809628&sdata=S
>>>>>>>>>>>>>>>>>>JJ
>>>>>>>>>>>>>>>>>> hf
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>o35YeFDCbP6yES0ugobyKR6K9%2FuipoHW%2BMJwkg%3D&reserved=0.
>>>>>>> com/?url=https%3A%2F%
>>>>>>>>>>>>>>>>>> 2Fna01.safelinks.protection.outlook&data=02%
>>>>>>> 7C01%7Caharui%40adob
>>>>>>>>>>>>>>>>>> e.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2Fe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f9652
>>>>>>>>>>>>>>>>>>20
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>46fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>>>>>>>>>>>e1
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%7C0%7C0%7C636557667183559337&sdata=9FWfUNZV9xlJqEFYVFVDr
>>>>>>>>>>>>>>>>>>Zx
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>5p4lHBqIjIW%2F6cIaQTJw%3D&reserved=0>%7C9ba2ae2d1a6e4fdc7
>>>>>>>>>>>>>>>>>>74
>>>>>>>>>>>>>>>>>> 508d57fcf
>>>>>>> 6c56%7Cfa7b1b5a7b34438794aed
>>>>>>>>>>>>>>>>>> 2c178decee1%7C0%7C0%7C636555451956879397&
>>>>>>> sdata=9%2BK%2FO6A3X%2FV
>>>>>>>>>>>>>>>>>> r0TGaLRYxNlYT6va%2BE2FnpXhigerfODc%3D&reserved=0.
>>>>>>>>>>> com/?url=http%3A%2F%2F40a
>>>>>>>>>>>>>>>>>> do
>>>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> .com%2F&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%
>>>>>>>>>>>>>>>>>>3A
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C
>>>>>>>>>>>>>>>>>>0f
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>96522046fe4320209108d581d35c0b%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>>>>>>>>>>>78
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>decee1%7C0%7C0%7C636557667183559337&sdata=rRzLd0%2FtbGWoT
>>>>>>>>>>>>>>>>>>2H
>>>>>>>>>>>>>>>>>> 6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%
>>>>>>>>>>> 7C75519f53f52b4fde36b108d5
>>>>>>>>>>>>>>>>>> 7e
>>>>>>>>>>>>>>>>>> db
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 5903%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>>>> 7C636554402926763835
>>>>>>>>>>>>>>>>>> &s
>>>>>>>>>>>>>>>>>> da
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> ta=r5UrAyOXUfffdyTWxankNj%2F5knjssVb9oxg4tY5sThY%3D&
>>>>>>>>>>> reserved=0>%7Cf2
>>>>>>>>>>>>>>>>>> 5d
>>>>>>>>>>>>>>>>>> bf
>>>>>>>>>>>>>>>>>> 20138f47
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 186d4808d57ed4a8fb%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>>>> cee1%7C0%7C0%7C6365
>>>>>>>>>>>>>>>>>> 54
>>>>>>>>>>>>>>>>>> 37
>>>>>>>>>>>>>>>>>> 41
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 87322476&sdata=bVfz%2BNfVCmLjO4LzijRozHXQoN1VfVRQS
>>>>>>>>>>> etW7oghI4s%3D&rese
>>>>>>>>>>>>>>>>>> rv
>>>>>>>>>>>>>>>>>> ed
>>>>>>>>>>>>>>>>>> =0
>>>>>>>>>>>>>>>>>>> *
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> 
>>>>>>>>> Piotr Zarzycki
>>>>>>>>> 
>>>>>>>>> Patreon:
>>>>>>>>> *https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>>>>> https%3A%2F%2Fwww.pat
>>>>>>>>> reon.com 
>>>>>>>>> 
>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fr
>>>>>>>>>eo
>>>>>>>>> 
>>>>>>>>>n.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe432020910
>>>>>>>>>8d
>>>>>>>>> 
>>>>>>>>>581d35c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63655766718
>>>>>>>>>35
>>>>>>>>> 
>>>>>>>>>59337&sdata=rvy3d4vYlNuDwe%2BdvdX6swvlerBb31Ki9rlf7C9%2BZis%3D&res
>>>>>>>>>er
>>>>>>>>> ved=0>%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>> 
>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F4
>>>>>>>>>0a
>>>>>>>>> 
>>>>>>>>>dobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe432020
>>>>>>>>>91
>>>>>>>>> 
>>>>>>>>>08d581d35c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63655766
>>>>>>>>>71
>>>>>>>>> 
>>>>>>>>>83559337&sdata=rRzLd0%2FtbGWoT2H6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&re
>>>>>>>>>se
>>>>>>>>> rved=0>
>>>>>>> %7C9ba2ae2d1a6e
>>>>>>>>> 4fdc774508d57fcf6c56%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>> cee1%7C0%7C0%7C6365554
>>>>>>>>> 51956879397&sdata=GQq8YFsWjlmTvhQ3JIbegCvt1P1brQ
>>>>>>> oyfshLnt8lxqg%3D&reserved
>>>>>>>>> =0
>>>>>>>>> 
>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>>>>> https%3A%2F%2Fwww.pat
>>>>>>>>> reon.com 
>>>>>>>>> 
>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fr
>>>>>>>>>eo
>>>>>>>>> 
>>>>>>>>>n.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe432020910
>>>>>>>>>8d
>>>>>>>>> 
>>>>>>>>>581d35c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63655766718
>>>>>>>>>35
>>>>>>>>> 
>>>>>>>>>59337&sdata=rvy3d4vYlNuDwe%2BdvdX6swvlerBb31Ki9rlf7C9%2BZis%3D&res
>>>>>>>>>er
>>>>>>>>> ved=0>%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com 
>>>>>>>>> 
>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F4
>>>>>>>>>0a
>>>>>>>>> 
>>>>>>>>>dobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe432020
>>>>>>>>>91
>>>>>>>>> 
>>>>>>>>>08d581d35c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63655766
>>>>>>>>>71
>>>>>>>>> 
>>>>>>>>>83559337&sdata=rRzLd0%2FtbGWoT2H6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&re
>>>>>>>>>se
>>>>>>>>> rved=0>
>>>>>>> %7C9ba2ae2d1a6e
>>>>>>>>> 4fdc774508d57fcf6c56%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>> cee1%7C0%7C0%7C6365554
>>>>>>>>> 51956879397&sdata=GQq8YFsWjlmTvhQ3JIbegCvt1P1brQ
>>>>>>> oyfshLnt8lxqg%3D&reserved
>>>>>>>>> =0>*
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> 
>>>>>> Piotr Zarzycki
>>>>>> 
>>>>>> Patreon: 
>>>>>> 
>>>>>> 
>>>>>>*https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
>>>>>>.p
>>>>>> at 
>>>>>> 
>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
>>>>>>.p
>>>>>> at>
>>>>>> reon.com 
>>>>>> 
>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Freon
>>>>>>.c
>>>>>> 
>>>>>>om%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe4320209108d581d
>>>>>>35
>>>>>> 
>>>>>>c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636557667183559337&s
>>>>>>da
>>>>>> 
>>>>>>ta=rvy3d4vYlNuDwe%2BdvdX6swvlerBb31Ki9rlf7C9%2BZis%3D&reserved=0>%2Fp
>>>>>>io
>>>>>> trzarzycki&data=02%7C01%7Caharui%40adobe.com 
>>>>>> 
>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F40ad
>>>>>>ob
>>>>>> 
>>>>>>e.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe4320209108d5
>>>>>>81
>>>>>> 
>>>>>>d35c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63655766718355933
>>>>>>7&
>>>>>> 
>>>>>>sdata=rRzLd0%2FtbGWoT2H6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C
>>>>>>1b
>>>>>> eda9d1dc67
>>>>>> 
>>>>>> 
>>>>>>430b02e608d580210ddc%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636
>>>>>>55
>>>>>> 58
>>>>>> 
>>>>>> 
>>>>>>01839809628&sdata=EzOsLPee70lr9OpwikrUz9KqGXkWxDo98P6o%2BPGEBK4%3D&re
>>>>>>se
>>>>>> rv
>>>>>> ed=0
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
>>>>>>.p
>>>>>> at 
>>>>>> 
>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
>>>>>>.p
>>>>>> at>
>>>>>> reon.com 
>>>>>> 
>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Freon
>>>>>>.c
>>>>>> 
>>>>>>om%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe4320209108d581d
>>>>>>35
>>>>>> 
>>>>>>c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636557667183559337&s
>>>>>>da
>>>>>> 
>>>>>>ta=rvy3d4vYlNuDwe%2BdvdX6swvlerBb31Ki9rlf7C9%2BZis%3D&reserved=0>%2Fp
>>>>>>io
>>>>>> trzarzycki&data=02%7C01%7Caharui%40adobe.com 
>>>>>> 
>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F40ad
>>>>>>ob
>>>>>> 
>>>>>>e.com%2F&data=02%7C01%7Caharui%40adobe.com%7C0f96522046fe4320209108d5
>>>>>>81
>>>>>> 
>>>>>>d35c0b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63655766718355933
>>>>>>7&
>>>>>> 
>>>>>>sdata=rRzLd0%2FtbGWoT2H6WtaVSYIXLxElBY2W7GyNw56dBS8%3D&reserved=0>%7C
>>>>>>1b
>>>>>> eda9d1dc67
>>>>>> 
>>>>>> 
>>>>>>430b02e608d580210ddc%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636
>>>>>>55
>>>>>> 58
>>>>>> 
>>>>>> 
>>>>>>01839809628&sdata=EzOsLPee70lr9OpwikrUz9KqGXkWxDo98P6o%2BPGEBK4%3D&re
>>>>>>se
>>>>>> rv
>>>>>> ed=0>*
>>> 
>> 
>

Reply via email to