> IMO, the tree structure of non-HTMLElements should not be required to support > a property named “parent"
It’s not. getParentEventTarget (which originates in EventTarget) can be overridden to return anything. > My point is that the current implementation is not PAYG. You might make an argument that EventTarget is not PAYG (and it very well might not be), but right now, EventDispatcher extends EventTarget and events are currently not working as they should be. I would argue that we should get rid of EventTarget completely and create SimpleEventDispatcher which has the simplest event architecture and we could use that in many of the places we’re currently using events. Another option would be to inject all the bubbling code via beads. There might be more options to make it more PAYG. But until we restructure events, I think they should at least work as advertised… ;-) Harbs > On Dec 25, 2019, at 6:47 PM, Alex Harui <[email protected]> wrote: > > My point is that the current implementation is not PAYG. The code looks like > it is there just-in-case someone wants to bubble off of a non-HTMLElement. > Folks who want to bubble for Canvas, WebGL, SVG are welcome to do so, by > bringing in that code when they need it. > > Also, IMO, the tree structure of non-HTMLElements should not be required to > support a property named "parent". It could be "owner", "ancestor", > whatever. So, just looking at the diffs, I don't see a reason for > ElementWrapper to carry around code like that. I don't think HelloWorld > needs it, nor most of our examples. > > Of course, I could be wrong... > -Alex > > On 12/25/19, 2:24 AM, "Harbs" <[email protected] > <mailto:[email protected]>> wrote: > > I think this distinction is a bit arbitrary. > > Currently, we dispatch a subset of events which are native to the browser > off elements (which gets bubbling for free). All other events are dispatched > off the royale_wrapper — where bubbling does not happen event though there is > an underling element. > > Besides the limitation on current events, there are definitely cases where > you’d want bubbling when there’s no DOM element involved. A few cases come to > mind: > > 1. Canvas > 2. Web GL > 3. I’ve found browser event propagation on SVG to be very unpredictable. > > I also don’t think event bubbling should be limited to visual components. > I think event bubbling could be a very nice solution for listening to changes > of data in a hierarchical structure. Different parts of a program could > listen to different parents within a structure and get notification when the > relevant nodes change. > > We can enable this by just making the structure IParent and IChild and > making the nodes EventDispatchers. > > All this code already exists in goog EventTarget. I just fixed it to > actually work properly with Royale. > > Also: We’re not actually checking the parent unless event bubbling is > enabled, in which case, EventTarget already had this logic. > > Harbs > >> On Dec 25, 2019, at 1:43 AM, Alex Harui <[email protected]> wrote: >> >> Harbs, >> >> I don't think EventDispatcher should have code checking for parents. IIRC, >> EventDispatcher (and goog.events in general) are for non-DOM objects that >> want to dispatch events. I'm pretty sure EventDispatcher doesn't even have >> to wrap an Element or even an HTMLElement. >> >> HTMLElementWrapper, or UIBase could presume attachment to the DOM and thus >> auto-enable bubbling. But I thought we'd already done that. >> >> I think of 3 categories: >> 1) Objects that don't have any sort of browser class underneath >> (DataGridColumn, Layouts, Style classes) >> 2) Objects that have an HTMLElement underneath (HTMLElementWrapper, all UI >> Widgets) >> 3) Objects that have some other browser element underneath (XMLHTTPRequest) >> >> 1 & 3 do not have to support bubbling, and I would argue they should not >> support bubbling. You can build trees of structures (and want to bubble), >> but the purpose of bubbling/capture (find out what got clicked on) doesn't >> really exist in trees of structures like that, IMO. >> >> My 2 cents, >> -Alex >> >> On 12/24/19, 1:49 PM, "Harbs" <[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>>> wrote: >> >> OK. >> >> I’m done for the night. I’ll work on this tomorrow. >> >>> On Dec 24, 2019, at 11:45 PM, Carlos Rovira <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> The fail I get in Crux is now: >>> >>> Activating JSStageEvents >>> InjectProcessor set up [Inject] on Bean{ source: [object Object], name: >>> userController } >>> InjectProcessor set up [Inject] on Bean{ source: [object Object], name: >>> userController } >>> [PostConstruct] executing createDefaultUser in UserController >>> [JS] application setUp stub >>> TypeError: Cannot read property 'indexOf' of null >>> at org.apache.royale.crux.BeanFactory.isPotentialInjectionTarget >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as:481:20) >>> at org.apache.royale.crux.BeanFactory.setUpEventHandler >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as:500:8) >>> at >>> CruxQuickStart.org >>> <http://cruxquickstart.org/>.apache.royale.events.EventDispatcher.fireListeners >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/events/EventDispatcher.as:124:22) >>> at >>> Function.org >>> <http://function.org/>.apache.royale.events.EventDispatcher.dispatchEventInternal >>> [as >>> dispatchEventInternal_] >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/events/EventDispatcher.as:163:26) >>> at >>> crux.quickstart.view.UserForm.org.apache.royale.core.HTMLElementWrapper.dispatchBubblingEvent >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as:234:35) >>> at >>> org.apache.royale.crux.beads.JSStageEvents.org_apache_royale_crux_beads_JSStageEvents_mutationDetected >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/beads/JSStageEvents.as:199:40) >>> TypeError: Cannot set property 'firstName' of null >>> at crux.quickstart.view.UserForm.crux_quickstart_view_UserForm_saveUser >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/src/main/royale/crux/quickstart/view/UserForm.mxml:59:19) >>> at crux.quickstart.view.UserForm.$EH0 >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/src/main/royale/crux/quickstart/view/UserForm.mxml:84:52) >>> at Function.goog.events.fireListener [as googFireListener] >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/target/javascript/bin/js-debug/library/closure/goog/events/events.js:744:22) >>> at Object.org >>> <http://object.org/>.apache.royale.core.ElementWrapper.fireListenerOverride >>> [as fireListener] >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as:201:26) >>> at HTMLButtonElement.goog.events.handleBrowserEvent_ >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/target/javascript/bin/js-debug/library/closure/goog/events/events.js:870:23) >>> at HTMLButtonElement.f >>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/target/javascript/bin/js-debug/library/closure/goog/events/events.js:289:39) >>> >>> >>> El mar., 24 dic. 2019 a las 22:42, Carlos Rovira (<[email protected] >>> <mailto:[email protected]>>) >>> escribió: >>> >>>> Hi Harbs, >>>> >>>> thanks for the hard work, I just could do a quick try and saw DataGrid is >>>> now fixed, but the crux examples I tried are again failing in some place. >>>> I must close for now until tomorrow, we enter Christmast ;) >>>> Try to check tomorrow >>>> >>>> Thanks! >>>> >>>> Carlos >>>> >>>> >>>> El mar., 24 dic. 2019 a las 22:30, Harbs (<[email protected] >>>> <mailto:[email protected]>>) >>>> escribió: >>>> >>>>> I think I got it. >>>>> >>>>> We’re gradually rewriting the goog event code. Eventually we’re going to >>>>> need to make a clean break. >>>>> >>>>> Once I was knee-deep in this, I fixed stopImmediatePropogation as well, >>>>> which has been something that’s made errors in event handlers difficult to >>>>> debug. It’s something I wanted to fix for a long time... >>>>> >>>>> Please let me know if you see any more problems. >>>>> >>>>> Harbs >>>>> >>>>>> On Dec 24, 2019, at 2:21 PM, Carlos Rovira <[email protected] >>>>>> <mailto:[email protected]>> >>>>> wrote: >>>>>> >>>>>> Hi Piotr, >>>>>> >>>>>> I think we need to wait Harbs, he seems to know what's the problem and >>>>>> hopefully will be able to fix it. >>>>>> @Harbs <[email protected] <mailto:[email protected]>> other example that >>>>>> you can check is Tour de >>>>>> Jewel, since it has the new Jewel DataGrid, it suffers as well the same >>>>>> problem of the "Maximun call stack size exceeded" >>>>>> >>>>>> Anyway, aside from this problem, I'd like to propose you all that this >>>>> kind >>>>>> of changes, that modifies Royale at its core, should be done in a >>>>> branch, >>>>>> and be more tested, since it's normal it will be unstable during some >>>>>> period of time until people test and report if all is ok. As well use to >>>>>> require various commits until things works ok, so that for me is a >>>>> signal >>>>>> that things should be done in branches. Other changes that are >>>>> incremental >>>>>> and does not affect other developments and can be not finished, could be >>>>>> directly in commits to develop (ensuring always it does not break the >>>>>> complete build). >>>>>> >>>>>> Thanks :) >>>>>> >>>>>> Carlos >>>>>> >>>>>> >>>>>> El mar., 24 dic. 2019 a las 13:10, Piotr Zarzycki (< >>>>>> [email protected] <mailto:[email protected]>>) escribió: >>>>>> >>>>>>> Hi Guys, >>>>>>> >>>>>>> I have just used all changes which has been pushed and build our app >>>>> using >>>>>>> Maven. It's breaking up completely. I'm getting now Null Pointer >>>>> exceptions >>>>>>> for components has been created, it's children doesn't exists even if I >>>>>>> check after onInitComplete. - It's weird behavior and hard to explain >>>>> for >>>>>>> me. Something in general is really bad. >>>>>>> >>>>>>> I hope to tell you more in upcoming days if I will be able to. >>>>>>> >>>>>>> Thanks, >>>>>>> Piotr >>>>>>> >>>>>>> wt., 24 gru 2019 o 11:38 Harbs <[email protected] >>>>>>> <mailto:[email protected]>> napisał(a): >>>>>>> >>>>>>>> Never mind. I see the problem. >>>>>>>> >>>>>>>>> On Dec 24, 2019, at 12:16 PM, Harbs <[email protected] >>>>>>>>> <mailto:[email protected]>> wrote: >>>>>>>>> >>>>>>>>> Please try with my latest changes. >>>>>>>>> >>>>>>>>> I think I fixed it. >>>>>>>>> >>>>>>>>> >>>>>>>>>> On Dec 24, 2019, at 12:03 PM, Carlos Rovira < >>>>> [email protected] <mailto:[email protected]>> >>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi Harbs, >>>>>>>>>> >>>>>>>>>> the problem seems to affect the Basic DataGrid if you check >>>>>>>> DataGridExample >>>>>>>>>> you can see the error too. >>>>>>>>>> >>>>>>>>>> In CruxGitHubCommitLogViewer the problem is: >>>>>>>>>> >>>>>>>>>> Activating JSStageEvents >>>>>>>>>> [WARNING] getStaticConstantsByConvention :: the reflection target >>>>>>>>>> mx.rpc.http.mxml.HTTPService was not Compiled with default >>>>>>> initializers >>>>>>>>>> enabled >>>>>>>>>> InjectProcessor set up [Inject( "configuratorService" )] on Bean{ >>>>>>>> source: >>>>>>>>>> [object Object], name: configurationDelegate } >>>>>>>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object], >>>>>>> name: >>>>>>>>>> configurationController } >>>>>>>>>> getProject executing in ConfigurationController via PostConstruct >>>>>>>> processing >>>>>>>>>> InjectProcessor set up [Inject( "commitsService" )] on Bean{ source: >>>>>>>>>> [object Object], name: commitsDelegate } >>>>>>>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object], >>>>>>> name: >>>>>>>>>> commitsController } >>>>>>>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object], >>>>>>> name: >>>>>>>>>> commitsController } >>>>>>>>>> RangeError: Maximum call stack size exceeded >>>>>>>>>> at Array.concat (<anonymous>) >>>>>>>>>> at crux.view.MainContent.goog.events.EventTarget.fireListeners >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:271:34) >>>>>>>>>> at Function.goog.events.EventTarget.dispatchEventInternal_ >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:372:27) >>>>>>>>>> at >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> org.apache.royale.html.DataGridButtonBar.goog.events.EventTarget.dispatchEvent >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:196:35) >>>>>>>>>> at >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> org.apache.royale.html.DataGridButtonBar.org.apache.royale.events.EventDispatcher.dispatchEvent >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/events/EventDispatcher.as:94:32) >>>>>>>>>> at >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> org.apache.royale.html.DataGridButtonBar.org.apache.royale.core.ElementWrapper.dispatchEvent >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as:370:44) >>>>>>>>>> at org.apache.royale.express.beads.layouts.DataGridLayout.layout >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as:225:11) >>>>>>>>>> at >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> org.apache.royale.express.beads.layouts.DataGridLayout.org_apache_royale_express_beads_layouts_DataGridLayout_handleLayoutNeeded >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as:105:4) >>>>>>>>>> at >>>>>>>>>> >>>>>>> >>>>> org.apache.royale.express.DataGrid.goog.events.EventTarget.fireListeners >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:284:24) >>>>>>>>>> at Function.goog.events.EventTarget.dispatchEventInternal_ >>>>>>>>>> >>>>>>>> >>>>>>> >>>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:389:27) >>>>>>>>>> InjectProcessor set up [Inject( >>>>>>>> source="commitsController.commits.commits", >>>>>>>>>> bind="true" )] on Bean{ source: [object Object], name: null } >>>>>>>>>> InjectProcessor set up [Inject( >>>>>>>> source="configurationController.project", >>>>>>>>>> bind="true" )] on Bean{ source: [object Object], name: null } >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> El mar., 24 dic. 2019 a las 10:33, Carlos Rovira (< >>>>>>>> [email protected] <mailto:[email protected]>>) >>>>>>>>>> escribió: >>>>>>>>>> >>>>>>>>>>> Hi Harbs, >>>>>>>>>>> >>>>>>>>>>> thanks for taking the time to look into this and sorry for my delay >>>>>>> in >>>>>>>>>>> response, as Piotr exposed I'm as well on Christmas time here in >>>>>>>> Spain, so >>>>>>>>>>> with few time, although hope to be around here from in some slices >>>>> of >>>>>>>> time. >>>>>>>>>>> >>>>>>>>>>> About the problem, I built all and check all Crux examples: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - examples/crux/CruxQuickStart -> This is now working ok >>>>>>>>>>> - examples/crux/CruxQuickStartBasic -> This is now working ok >>>>>>>>>>> - examples/crux/CruxGitHubCommitLogViewer -> This is not working, >>>>>>> not >>>>>>>>>>> retrieve the GitHub data and even the DataGrid seems to be not >>>>>>> laying >>>>>>>> the >>>>>>>>>>> header right. Can you take a look at this one, maybe something was >>>>>>>> missing >>>>>>>>>>> for make this working again. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I saw 2 test failing, but just see you fixed right now so I'll try >>>>> to >>>>>>>>>>> rebuild again to check that part. >>>>>>>>>>> >>>>>>>>>>> Anyway good work! :) >>>>>>>>>>> >>>>>>>>>>> Carlos >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> El mar., 24 dic. 2019 a las 9:10, Harbs (<[email protected] >>>>>>>>>>> <mailto:[email protected]>>) >>>>>>>>>>> escribió: >>>>>>>>>>> >>>>>>>>>>>> I realized that the reason bubbling is not working is because >>>>>>>>>>>> EventTarget.getParentEventTarget() is relying on >>>>> parentEventTarget_ >>>>>>>> which >>>>>>>>>>>> is generally not set in Royale. >>>>>>>>>>>> >>>>>>>>>>>> Royale already has a parent getter for objects which have >>>>>>> hierarchy. I >>>>>>>>>>>> changed the method to simply return the parent instead of >>>>>>>>>>>> parentEventTarget_ which will be null if there is no parent or its >>>>>>>> not an >>>>>>>>>>>> IChild. >>>>>>>>>>>> >>>>>>>>>>>> Ideally, the change should be in the EventTarget code, but I’m not >>>>>>>> trying >>>>>>>>>>>> to touch that. I overrode the the method in EventDispatcher. If >>>>> the >>>>>>>> event >>>>>>>>>>>> does not have bubbling set to true, none of this should effect >>>>>>>> anything. If >>>>>>>>>>>> there are any apps which have bubbling events and are relying on >>>>>>>> Royale >>>>>>>>>>>> bubbling to be broken, they might break with this change… ;-) >>>>>>>>>>>> >>>>>>>>>>>> Royale should now support event bubbling out of the box. :-) >>>>>>>>>>>> >>>>>>>>>>>> Harbs >>>>>>>>>>>> >>>>>>>>>>>>> On Dec 24, 2019, at 9:01 AM, Alex Harui <[email protected] >>>>>>>>>>>>> <mailto:[email protected]> >>>>>> >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> I took a peek at the commit and made some comments on the commit >>>>>>>> thread >>>>>>>>>>>> that may help. >>>>>>>>>>>>> >>>>>>>>>>>>> HTH, >>>>>>>>>>>>> -Alex >>>>>>>>>>>>> >>>>>>>>>>>>> On 12/23/19, 2:24 PM, "Harbs" <[email protected] >>>>>>>>>>>>> <mailto:[email protected]> <mailto: >>>>>>>>>>>> [email protected] <mailto:[email protected]>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> I read through what you did in JSStageEvents. That’s really quite >>>>>>>>>>>> ingenious. Well done! :-) >>>>>>>>>>>>> >>>>>>>>>>>>> I think we could use a similar approach for an application bead >>>>> to >>>>>>>>>>>> support full event bubbling without modifying ElementWrapper and >>>>>>>>>>>> HTMLElementWrapper. >>>>>>>>>>>>> >>>>>>>>>>>>> I still have no idea what broke though. >>>>>>>>>>>>> >>>>>>>>>>>>> Let me know if I should revert the changes until someone has the >>>>>>>>>>>> time to look at this. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Harbs >>>>>>>>>>>>>> On Dec 23, 2019, at 10:59 PM, Greg Dove <[email protected] >>>>>>>>>>>>>> <mailto:[email protected]>> >>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Iirc it was dispatching capture phase events that was >>>>>>> 'difficult'. I >>>>>>>>>>>> think >>>>>>>>>>>>>> I had to override something and undo something in Royale that >>>>> was >>>>>>>>>>>> switching >>>>>>>>>>>>>> off goog support for that. It was only needed in the >>>>> JSStageEvents >>>>>>>>>>>>>> emulation stuff iirc. I have no idea what the issue is, but that >>>>>>> is >>>>>>>>>>>>>> probably what I would look at first. Have to go now... I can >>>>> look >>>>>>> at >>>>>>>>>>>> this >>>>>>>>>>>>>> if needed but not for a few days. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Tue, 24 Dec 2019, 09:38 Harbs, <[email protected] >>>>>>>>>>>>>> <mailto:[email protected]>> >>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> AIUI, for bubbling to work automatically, setParentEventTarget >>>>>>>> needs >>>>>>>>>>>> to be >>>>>>>>>>>>>>> called to construct the hierarchy. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Maybe we should have a bead that takes care of this (on >>>>>>>> addedToParent >>>>>>>>>>>> or >>>>>>>>>>>>>>> something) for applications which rely on bubbling for >>>>>>>>>>>> non-browser-native >>>>>>>>>>>>>>> events. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> There is a dispatchBubblingEvent in HTMLElementWrapper which >>>>>>> forces >>>>>>>>>>>> the >>>>>>>>>>>>>>> event to bubble up for all events, but it’s JS only. We could >>>>>>> add a >>>>>>>>>>>> method >>>>>>>>>>>>>>> for SWF for compatibility. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I just tested dispatchBubblingEvent and that makes the alert >>>>>>>> appear. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> None of this explains why it worked before my change, though... >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Dec 23, 2019, at 10:17 PM, Greg Dove <[email protected] >>>>>>>>>>>>>>>> <mailto:[email protected]>> >>>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Harbs, I can only check Crux in 4-5 days time. >>>>>>>>>>>>>>>> From memory I did set up something specific to make either >>>>>>>> capture or >>>>>>>>>>>>>>>> bubbling work, maybe that was for the 'addedToStage' event >>>>>>>>>>>> emulation. I >>>>>>>>>>>>>>>> think one of them (either capture or bubbling) was not working >>>>>>> by >>>>>>>>>>>>>>> default, >>>>>>>>>>>>>>>> or did was not easy to enable by default. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Tue, Dec 24, 2019 at 9:13 AM Harbs <[email protected] >>>>>>>>>>>>>>>> <mailto:[email protected]>> >>>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Nope. Didn’t figure it out. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> It looks like Crux listens on the ancestor and is relying on >>>>>>>>>>>> bubbling. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I’m guessing bubbling is not working, but I have no idea why >>>>>>> that >>>>>>>>>>>> would >>>>>>>>>>>>>>>>> have changed with my commit. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 10:06 PM, Piotr Zarzycki < >>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>> >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Harbs, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I feel like Carlos has started his Christmas time ;) I'm >>>>> glad >>>>>>>> that >>>>>>>>>>>> you >>>>>>>>>>>>>>>>>> figured it out! :) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> pon., 23 gru 2019 o 21:01 Harbs <[email protected] >>>>>>>>>>>>>>>>>> <mailto:[email protected]> >>>>>>> <mailto: >>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>>> >>>>>>>>>>>>>>>>> napisał(a): >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> The asconfig file did not include the necessary metadata. >>>>>>> Fixed >>>>>>>>>>>> that… >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> OK. I’m not getting any errors, but UserForm is dispatching >>>>>>> an >>>>>>>>>>>> event >>>>>>>>>>>>>>> not >>>>>>>>>>>>>>>>>>> listened to by anyone. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Where is the listener supposed to be attached? Maybe it’s >>>>>>>>>>>> listening to >>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>> wrong object? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 9:35 PM, Harbs <[email protected] >>>>>>>>>>>>>>>>>>>> <mailto:[email protected]> >>>>>> >>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I’m getting an error that UserForm.user is null. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I have no idea where that should have been set, and I have >>>>>>> no >>>>>>>>>>>> idea >>>>>>>>>>>>>>> how >>>>>>>>>>>>>>>>>>> my commit could have possibly effected that. I don’t see >>>>>>>> anything >>>>>>>>>>>> that >>>>>>>>>>>>>>>>>>> would initialize the user variable. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> If you want my help on this, I’m going to need some >>>>>>> direction. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>> Harbs >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 9:28 PM, Harbs < >>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>> <mailto: >>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>> <mailto: >>>>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]>>>> >>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I fixed this, but I have no idea what Crux is supposed to >>>>>>> do. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> What am I looking for? >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 8:30 PM, Harbs < >>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>> <mailto: >>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>> <mailto: >>>>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]>>>> >>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I can’t compile Jewel right now. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I’m getting an error: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> [java] >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> /Apache/royale-asjs/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconButton.as(104): >>>>>>>>>>>>>>>>>>> col: 13 Access of possibly undefined property >>>>>>>> classSelectorList. >>>>>>>>>>>>>>>>>>>>>> [java] >>>>>>>>>>>>>>>>>>>>>> [java] classSelectorList.toggle("icon", >>>>> (_icon >>>>>>>> != >>>>>>>>>>>>>>>>>>> null)); >>>>>>>>>>>>>>>>>>>>>> [java] ^ >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 7:17 PM, Carlos Rovira < >>>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>> <mailto:[email protected]>> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]> <mailto: >>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Compilation is ok. The problem is that example is not >>>>>>>> really >>>>>>>>>>>>>>>>> working. >>>>>>>>>>>>>>>>>>>>>>> In that example you should be able to fill the form and >>>>>>>> push >>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>> button. >>>>>>>>>>>>>>>>>>>>>>> After that a JS Alert should be show with the ID of the >>>>>>>> user >>>>>>>>>>>>>>> record >>>>>>>>>>>>>>>>>>> saved. >>>>>>>>>>>>>>>>>>>>>>> That Alert is not show anymore. >>>>>>>>>>>>>>>>>>>>>>> If you revert locally that commit and recompile Core >>>>> and >>>>>>>> then >>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>> example >>>>>>>>>>>>>>>>>>>>>>> and run you'll be able to see it again. >>>>>>>>>>>>>>>>>>>>>>> We have a client complaining about the app stopped to >>>>>>> work >>>>>>>>>>>> today >>>>>>>>>>>>>>>>>>> since they >>>>>>>>>>>>>>>>>>>>>>> are using Crux. >>>>>>>>>>>>>>>>>>>>>>> After investigation I was able to trace the problem to >>>>>>> that >>>>>>>>>>>>>>> commit. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Carlos >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> El lun., 23 dic. 2019 a las 17:59, Harbs (< >>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:[email protected]>> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]> <mailto: >>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>> ) >>>>>>>>>>>>>>>>> escribió: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> I compiled CruxQuickStartBasic and I don’t see >>>>> anything >>>>>>>>>>>> wrong. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Can you give me more clues? >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> FWIW, I used Ant, is the problem specific to Maven? >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 6:26 PM, Carlos Rovira < >>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>> <mailto:[email protected]>> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]> <mailto: >>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Hi Harbs, >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> seems recent changes break Crux library >>>>>>>>>>>>>>>>>>>>>>>>> (commit: f50c9990a3190cf681364905525656984ab2e9c5 - >>>>>>>> Cleaned >>>>>>>>>>>> up >>>>>>>>>>>>>>>>>>>>>>>>> ElementWrapper and HTMLElementWrapper) >>>>>>>>>>>>>>>>>>>>>>>>> I'm trying to see what could be the problem. I >>>>> suppose >>>>>>>> that >>>>>>>>>>>> is >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>> change >>>>>>>>>>>>>>>>>>>>>>>>> of HTMLElementWrapper now extending ElementWrapper. >>>>>>>>>>>>>>>>>>>>>>>>> Tried to change one for the other in Crux library, >>>>> but >>>>>>>> with >>>>>>>>>>>> no >>>>>>>>>>>>>>>>> luck >>>>>>>>>>>>>>>>>>>>>>>>> I'm using /examples/crux/CruxQuickStartBasic to test >>>>>>>>>>>>>>>>>>>>>>>>> Can you see what could be wrong? >>>>>>>>>>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Carlos >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> El dom., 22 dic. 2019 a las 17:24, Harbs (< >>>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:[email protected]>> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]> <mailto: >>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>>>>>>> escribió: >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> There is lots of what looks like shared code, so >>>>>>> could >>>>>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper extend ElementWrapper? >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> Totally. Excellent idea. >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> On Dec 22, 2019, at 5:46 PM, Alex Harui >>>>>>>>>>>>>>>>> <[email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>> <mailto:[email protected]>> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]> <mailto: >>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> In a quick look at history, HTMLElementWrapper's >>>>>>>> override >>>>>>>>>>>>>>> logic >>>>>>>>>>>>>>>>>>> was the >>>>>>>>>>>>>>>>>>>>>>>>>> same as ElementWrapper's. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Maybe as you upgraded HTMLElementWrapper's logic, >>>>>>>>>>>>>>> ElementWrapper >>>>>>>>>>>>>>>>>>> should >>>>>>>>>>>>>>>>>>>>>>>>>> have changed as well but didn't? >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> There is lots of what looks like shared code, so >>>>>>> could >>>>>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper extend ElementWrapper? >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> My 2 cents, >>>>>>>>>>>>>>>>>>>>>>>>>>> -Alex >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/22/19, 1:00 AM, "Harbs" < >>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>> <mailto: >>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>> <mailto: >>>>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>>>>>>>>>> <mailto:[email protected]>>>> >>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> We found a weird bug with events and currentTarget. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> I traced the problem to the following: >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> The app loads both HTMLElementWrapper and >>>>>>>> ElementWrapper. >>>>>>>>>>>> The >>>>>>>>>>>>>>>>>>> lstener >>>>>>>>>>>>>>>>>>>>>>>>>> overrides in the two are stepping on each other. >>>>>>> Here’s >>>>>>>>>>>> what >>>>>>>>>>>>>>>>>>> happens: >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 1. HTMLElementWrapper is loaded first. It replaces >>>>>>>>>>>>>>>>>>>>>>>>>> goog.events.fireListener with its >>>>> fireListenerOverride >>>>>>>>>>>> function >>>>>>>>>>>>>>>>>>> (which >>>>>>>>>>>>>>>>>>>>>>>>>> calls the existing one when it’s done). >>>>>>>>>>>>>>>>>>>>>>>>>>> 2. ElementWrapper is loaded next and it replaces >>>>> the >>>>>>>>>>>> existing >>>>>>>>>>>>>>>>>>>>>>>>>> goog.events.fireListener function — which was >>>>> already >>>>>>>>>>>> changed >>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>>>>> point >>>>>>>>>>>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper.fireListenerOverride with the one >>>>>>>> from >>>>>>>>>>>>>>>>>>>>>>>> ElementWrapper. >>>>>>>>>>>>>>>>>>>>>>>>>>> 3. When an event is actually dispatched, >>>>>>>>>>>>>>>>>>>>>>>>>> ElementWrapper.fireListenerOverride first changes >>>>> the >>>>>>>>>>>> event to >>>>>>>>>>>>>>> a >>>>>>>>>>>>>>>>>>> royale >>>>>>>>>>>>>>>>>>>>>>>>>> BrowserEvent instead of a goog one. >>>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper.fireListenerOverride >>>>>>>>>>>>>>>>>>>>>>>>>> is then called and where it expects a goog >>>>>>> BrowserEvent, >>>>>>>>>>>> it in >>>>>>>>>>>>>>>>> fact >>>>>>>>>>>>>>>>>>>>>>>> gets a >>>>>>>>>>>>>>>>>>>>>>>>>> royale BrowserEvent. This causes the wrappedEvent to >>>>>>> be >>>>>>>> the >>>>>>>>>>>>>>> wrong >>>>>>>>>>>>>>>>>>> type >>>>>>>>>>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>>>>>>>>>>> messes things up down the line. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> I’m not sure of the best way to fix this. >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> * We could check the event type in >>>>>>>>>>>>>>>>>>> HTMLElementWrapper/ElementWrapper, >>>>>>>>>>>>>>>>>>>>>>>>>> but that’s just-in-case code. >>>>>>>>>>>>>>>>>>>>>>>>>>> * I’m not completely sure why we need this logic in >>>>>>>> both >>>>>>>>>>>>>>>>>>>>>>>>>> ElementWrapper and HTMLElementWrapper. Is there >>>>>>>> something >>>>>>>>>>>> that >>>>>>>>>>>>>>>>> can >>>>>>>>>>>>>>>>>>> be >>>>>>>>>>>>>>>>>>>>>>>>>> changed there? >>>>>>>>>>>>>>>>>>>>>>>>>>> * Maybe there’s some way for ElementWrapper to know >>>>>>>> that >>>>>>>>>>>> some >>>>>>>>>>>>>>>>>>> other >>>>>>>>>>>>>>>>>>>>>>>>>> class is installing an override? >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Thoughts? >>>>>>>>>>>>>>>>>>>>>>>>>>> Harbs >>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>> Carlos Rovira >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726467899&sdata=%2Fc%2FIziGyYR62oUERy3OhGOcrYAgCnMYvQDD2HfV%2FEfs%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726467899&sdata=%2Fc%2FIziGyYR62oUERy3OhGOcrYAgCnMYvQDD2HfV%2FEfs%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726467899&sdata=%2Fc%2FIziGyYR62oUERy3OhGOcrYAgCnMYvQDD2HfV%2FEfs%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726467899&sdata=%2Fc%2FIziGyYR62oUERy3OhGOcrYAgCnMYvQDD2HfV%2FEfs%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726467899&sdata=%2Fc%2FIziGyYR62oUERy3OhGOcrYAgCnMYvQDD2HfV%2FEfs%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726467899&sdata=%2Fc%2FIziGyYR62oUERy3OhGOcrYAgCnMYvQDD2HfV%2FEfs%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0>> >>>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0>> >>>>>>>>>> >>>>>>>>>>>> < >>>>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0>> >>>>>>>>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726477892&sdata=OrCjXFdcggibolKd5GUVk1v5q9MJ3YCsnza4xnWz4zA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>> Carlos Rovira >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0>> >>>>>>>>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726487891&sdata=SZM6OXcI4dn40ykDK8Y9AVJsQ7rO%2FI9ZD0z8YyGdMuo%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0>> >>>>>>>>>> >>>>>>>>>>>> < >>>>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0>> >>>>>>>>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=vpyt%2BzvhBt5h4CfWqKtTkb%2Fib4rO%2FbBFmyHqJUFCmfA%3D&reserved=0>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Piotr Zarzycki >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Patreon: * >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=qe5BKXL2bH8p%2B3oS52JSRRvHEsoksrLwbL5a9YYGI%2BI%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726497880&sdata=qe5BKXL2bH8p%2B3oS52JSRRvHEsoksrLwbL5a9YYGI%2BI%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0>> >>>>>>>>> >>>>>>>>>>>> < >>>>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726507879&sdata=lsfU5DByIAr%2FdBhKoJrwgFVWBpU9GM7%2B%2BT9CXMhbkjA%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0>> >>>>>>>>> >>>>>>>>>>>> < >>>>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0>> >>>>>>>>>>>> < >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0> >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0 >>>>> >>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=ekKotBzznym6v629XZXhgai9IGTvIzhHe2GrKh6wjWU%3D&reserved=0>> >>>>>>>>>>>>>>> * >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Carlos Rovira >>>>>>>>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0 >>>>>>>>>>> >>>>>>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0><https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0 >>>>>>>>>>> >>>>>>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Carlos Rovira >>>>>>>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0 >>>>>>>>>> >>>>>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0><https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0 >>>>>>>>>> >>>>>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726517870&sdata=XD%2B8HxZmuv4BCkjdnr8xFtvH0KC2%2BTWQV4mgsw%2B604U%3D&reserved=0>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> Piotr Zarzycki >>>>>>> >>>>>>> Patreon: >>>>>>> *https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0 >>>>>>> >>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0> >>>>>>> >>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0 >>>>>>> >>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0>> >>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0 >>>>>>> >>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0> >>>>>>> >>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0 >>>>>>> >>>>>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=A%2BIjX%2FSAUiRbhzYns3YLV2ctJCVJSUB7KJa1J8NfDCM%3D&reserved=0>>>* >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Carlos Rovira >>>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0 >>>>>> >>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0> >>>>>> >>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0 >>>>>> >>>>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0>> >>>>> >>>>> >>>> >>>> -- >>>> Carlos Rovira >>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0 >>>> >>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0> >>>> >>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0 >>>> >>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0>> >>>> >>>> >>> >>> -- >>> Carlos Rovira >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0 >>> >>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726527863&sdata=Qb7LYIzdYDvhkvdaFmmfJg8qWv7ES4nAIjak9FW54rs%3D&reserved=0> >>> >>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726537858&sdata=Vre8L9I%2BY9zTb8S5yNlHma9G3Gbx89KI%2FbwvK7ABdek%3D&reserved=0 >>> >>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cf600f3454bb3419068ab08d789249f94%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637128662726537858&sdata=Vre8L9I%2BY9zTb8S5yNlHma9G3Gbx89KI%2FbwvK7ABdek%3D&reserved=0>>
