UNPKG

mobx-location

Version:

minimal observable wrapper around browser location utilizing popstate event of HTML5 history api

1 lines 346 kB
{"version":3,"sources":["../node_modules/process/browser.js","../node_modules/mobx/lib/mobx.module.js","../node_modules/strict-uri-encode/index.js","../node_modules/decode-uri-component/index.js","../node_modules/query-string/index.js","../node_modules/history-events/index.js","../src/mobx-location.js","spec-bundle.js"],"names":["process","module","exports","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","setTimeout","e","clearTimeout","runTimeout","fun","call","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","nextTick","args","Array","arguments","i","push","Item","array","prototype","apply","title","browser","env","argv","version","versions","noop","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","extendStatics","Object","setPrototypeOf","__proto__","d","b","p","hasOwnProperty","__extends","__","constructor","create","__assign","assign","t","s","n","__read","o","m","Symbol","iterator","r","ar","next","done","value","error","__spread","enumerableDescriptorCache","nonEnumerableDescriptorCache","createPropertyInitializerDescriptor","prop","enumerable","cache","configurable","get","initializeInstance","set","target","__mobxDidRunLazyInitializers","decorators","__mobxDecorators","addHiddenProp","key","propertyCreator","descriptor","decoratorTarget","decoratorArguments","createPropDecorator","propertyInitiallyEnumerable","decoratorFactory","decorator","decorate","applyImmediately","quacksLikeADecorator","fail$1","inheritedDecorators","EMPTY_ARRAY","slice","isSpyEnabled","globalState","spyListeners","spyReport","event","l","spyReportStart","change","END_EVENT","spyReportEnd","spy","listener","filter","createAction","actionName","fn","invariant","res","executeAction","isMobxAction","scope","runInfo","startAction","endAction","notifySpy","startTime","Date","now","flattendArgs","type","object","prevDerivation","untrackedStart","startBatch","prevAllowStateChanges","allowStateChangesStart","allowStateChangesEnd","endBatch","untrackedEnd","time","allowStateChanges","func","prev","allowStateChangesInsideComputed","computationDepth","dontReassignFields","namedActionDecorator","undefined","writable","initializer_1","initializer","actionFieldDecorator","defineProperty","action","boundActionDecorator","propertyName","applyToInstance","defineBoundAction","v","arg1","arg2","arg3","arg4","bound","runInAction","isAction","thing","bind","toString","deepEqual","a","eq","aStack","bStack","deepEq","unwrap","className","valueOf","areArrays","aCtor","bCtor","keys$$1","keys","has$$1","pop","isObservableArray","peek","isES6Map","isObservableMap","iteratorToArray","entries","identityComparer","structuralComparer","defaultComparer","areBothNaN","comparer","identity","structural","default","autorun","view","opts","EMPTY_OBJECT","getNextId","runSync","scheduler","delay","reaction","Reaction","track","reactionRunner","onError","scheduler_1","createSchedulerFromOptions","isScheduled_1","isDisposed","schedule","getDisposer","f","expression","effect","fireImmediately","deprecated","effectAction","wrapErrorHandler","firstTime","isScheduled","equals","compareStructural","changed","nextValue","errorHandler","baseFn","ComputedValue","options","dependenciesState","IDerivationState","NOT_TRACKING","observing","newObserving","isBeingObserved","isPendingUnobservation","observers","observersIndexes","diffValue","runId","lastAccessedBy","lowestObserverState","UP_TO_DATE","unboundDepsCount","__mapid","CaughtException","isComputing","isRunningSetter","isTracing","TraceMode","NONE","firstGet","derivation","setter","struct","context","requiresReaction","keepAlive","onBecomeStale","propagateMaybeChanged","onBecomeUnobserved","onBecomeObserved","_this","inBatch","shouldCompute","warnAboutUntrackedRead","computeValue","reportObserved","trackAndCompute","propagateChangeConfirmed","result","isCaughtException","cause","oldValue","wasSuspended","newValue","trackDerivedFunction","disableErrorBoundaries","suspend","clearObserving","observe","prevValue","prevU","console","log","computedRequiresReaction","warn","toJSON","toPrimitive","primitiveSymbol","isComputedValue","createInstanceofPredicate","hasInterceptors","interceptable","interceptors","registerInterceptor","handler","idx","indexOf","splice","interceptChange","hasListeners","listenable","changeListeners","registerListener","notifyListeners","UNCHANGED","declareAtom","ObservableValue","_super","enhancer","hasUnreportedChange","dehanceValue","dehancer","prepareNewValue","setNewValue","checkIfStateModificationsAreAllowed","reportChanged","intercept","Atom","isObservableValue","ObservableObjectAdministration","defaultEnhancer","values","read","owner","illegalAccess","write","instance","observable","notify","remove","propName","callback","getKeys","ObservableArray","referenceEnhancer","asObservableObject","deepEnhancer","adm","$mobx","isExtensible","isPlainObject","addHiddenFinalProp","defineObservableProperty","assertPropertyConfigurable","generateObservablePropConfig","notifyPropertyAddition","defineComputedProperty","generateComputedPropConfig","observablePropertyConfigs","computedPropertyConfigs","getAdministrationForComputedPropOwner","isObservableObjectAdministration","isObservableObject","isObject","createDecoratorForEnhancer","_decoratorTarget","decoratorArgs","initialValue","observableDecorator","_isObservable","property","isAtom","isReaction","isObservable","isObservableProp","_isComputed","atom","getAtom","isComputed","isComputedProp","computedDecorator","computedStructDecorator","computed","extendShallowObservable","properties","extendObservable","shallowCreateObservableOptions","asCreateObservableOptions","defaultDecorator","deep","refDecorator","deepDecorator","getOwnPropertyDescriptor","resultDescriptor","defaultCreateObservableOptions","freeze","assertValidOption","test","forEach","getEnhancerFromOptions","shallowDecorator","shallowEnhancer","refStructDecorator","refStructEnhancer","createObservable","isArray","map","observableFactories","box","incorrectlyUsedAsDecorator","shallowBox","initialValues","shallowArray","ObservableMap","shallowMap","props","shallowObject","ref","shallow","methodName","_","iteratorSymbol","declareIterator","prototType","iteratorFactory","makeIterable","self","transaction","thisArg","ObservableMapMarker","initialData","_keys","Map","_data","_hasMap","merge","_has","has","_updateHasMapEntry","hasKey","_updateValue","_addValue","delete","entry","nextIndex","other","toJS","_a","_b","clear","untracked","replace","newKeys","getMapLikeKeys","oldKeys","missingKeys","k","toPOJO","join","toStringTag","anyThing","getDebugName","getAdministration","named","interceptHook","hook","cb","orig","AtomImpl","propagateChanged","createAtom","onBecomeObservedHandler","onBecomeUnobservedHandler","MAX_SPLICE_SIZE","safariPrototypeSetterInheritanceBug","OBSERVABLE_ARRAY_BUFFER_SIZE","StubArray","inherit","ctor","proto","isFrozen","ObservableArrayAdministration","owned","lastKnownLength","newV","oldV","dehanceValues","index","added","addedCount","removed","removedCount","getArrayLength","setArrayLength","newLength","currentLength","newItems","spliceWithArray","updateArrayLength","oldLength","delta","reserveArrayBuffer","deleteCount","Math","max","min","lengthDelta","spliceItemsIntoValues","notifyArraySplice","notifyArrayChildUpdate","ENTRY_0","arrays","_i","find","predicate","fromIndex","findIndex","items","shift","unshift","reverse","clone","sort","compareFn","move","toIndex","checkIndex","oldItems","impl","funcName","baseFunc","makeNonEnumerable","createArrayEntryDescriptor","createArrayBufferItem","isObservableArrayAdministration","OBFUSCATED_ERROR","getGlobal","window","global","mobxGuid","message","check","deprecatedMessages","msg","invoked","unique","list","item","getPrototypeOf","propNames","isPropertyConfigurable","clazz","x","isNaN","isArrayLike","it","persistentKeys","MobXGlobals","trackingDerivation","pendingUnobservations","pendingReactions","isRunningReactions","enforceActions","globalReactionErrorHandlers","canMergeGlobalState","isolateCalled","__mobxInstanceCount","__mobxGlobals","isolateGlobalState","getGlobalState","resetGlobalState","defaultGlobals","getDependencyTree","nodeToDependencyTree","node","dependencies","getObserverTree","nodeToObserverTree","hasObservers","getObservers","addObserver","removeObserver","queueForUnobservation","filler","runReactions","STALE","logTraceInfo","POSSIBLY_STALE","BREAK","lines","printDepTree","Function","tree","depth","child","prevUntracked","obs","obj","changeDependenciesStateTo0","isComputingDerivation","hasObservers$$1","prevTracking","bindDependencies","prevObserving","lowestNewObservingDerivationState","i0","dep","trace","enterBreakPoint","getAtomFromArgs","LOG","onInvalidate","_isScheduled","_isTrackPending","_isRunning","runReaction","reportExceptionInDerivation","dispose","onReactionError","MAX_REACTION_ITERATIONS","reactionScheduler","runReactionsHelper","allReactions","iterations","remainingReactions","setReactionScheduler","baseScheduler","propOrCb","cbOrFire","observeObservableProperty","observeObservable","propOrHandler","interceptProperty","interceptInterceptable","when","whenPromise","_when","timeoutHandle","disposer","cancel","Promise","resolve","reject","values_1","key_1","existingObservable","parseInt","has$1","_loop_1","propertyDecorators","every","newDescriptor","reduce","accDescriptor","configure","arrayBuffer","ea","fail","generatorId","flow","generator","ctx","gen","rejector","pendingPromise","stepId","onFulfilled","ret","onRejected","err","throw","then","cancelPromise","res_1","return","yieldedPromise","promise","defaultOptions","detectCycles","exportMapsAsObjects","toJSHelper","source","__alreadySeen","toAdd","res_2","interceptReads","g","__MOBX_DEVTOOLS_GLOBAL_HOOK__","injectMobx","extras","warnedAboutDefaultExport_1","str","encodeURIComponent","charCodeAt","toUpperCase","token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","left","right","decode","input","tokens","match","customDecodeURIComponent","replaceMap","exec","encodedURI","TypeError","strictUriEncode","require","decodeComponent","encoderForArrayFormat","arrayFormat","encode","parserForArrayFormat","accumulator","strict","keysSorter","Number","extract","queryStart","parse","formatter","trim","param","Boolean","stringify","defaults","value2","parseUrl","url","query","propsToMirror","location","hashHistory","createSnapshot","snapshot","q","queryString","hash","search","firstSnapshot","locationObservable","propagateQueryToLocationSearch","queryInObservable","protocol","host","pathname","qs","hashParts","includes","newUrl","removeEventListener","snapshotAndSet","history","replaceState","addEventListener","unsubscribe","ev","pushState","mobxLocation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA,IAAIA,OAAO,GAAGC,MAAM,CAACC,OAAP,GAAiB,EAA/B,EAEA;AACA;AACA;AACA;;AAEA,IAAIC,gBAAJ;AACA,IAAIC,kBAAJ;;AAEA,SAASC,gBAAT,GAA4B;AACxB,QAAM,IAAIC,KAAJ,CAAU,iCAAV,CAAN;AACH;;AACD,SAASC,mBAAT,GAAgC;AAC5B,QAAM,IAAID,KAAJ,CAAU,mCAAV,CAAN;AACH;;AACA,aAAY;AACT,MAAI;AACA,QAAI,OAAOE,UAAP,KAAsB,UAA1B,EAAsC;AAClCL,MAAAA,gBAAgB,GAAGK,UAAnB;AACH,KAFD,MAEO;AACHL,MAAAA,gBAAgB,GAAGE,gBAAnB;AACH;AACJ,GAND,CAME,OAAOI,CAAP,EAAU;AACRN,IAAAA,gBAAgB,GAAGE,gBAAnB;AACH;;AACD,MAAI;AACA,QAAI,OAAOK,YAAP,KAAwB,UAA5B,EAAwC;AACpCN,MAAAA,kBAAkB,GAAGM,YAArB;AACH,KAFD,MAEO;AACHN,MAAAA,kBAAkB,GAAGG,mBAArB;AACH;AACJ,GAND,CAME,OAAOE,CAAP,EAAU;AACRL,IAAAA,kBAAkB,GAAGG,mBAArB;AACH;AACJ,CAnBA,GAAD;;AAoBA,SAASI,UAAT,CAAoBC,GAApB,EAAyB;AACrB,MAAIT,gBAAgB,KAAKK,UAAzB,EAAqC;AACjC;AACA,WAAOA,UAAU,CAACI,GAAD,EAAM,CAAN,CAAjB;AACH,GAJoB,CAKrB;;;AACA,MAAI,CAACT,gBAAgB,KAAKE,gBAArB,IAAyC,CAACF,gBAA3C,KAAgEK,UAApE,EAAgF;AAC5EL,IAAAA,gBAAgB,GAAGK,UAAnB;AACA,WAAOA,UAAU,CAACI,GAAD,EAAM,CAAN,CAAjB;AACH;;AACD,MAAI;AACA;AACA,WAAOT,gBAAgB,CAACS,GAAD,EAAM,CAAN,CAAvB;AACH,GAHD,CAGE,OAAMH,CAAN,EAAQ;AACN,QAAI;AACA;AACA,aAAON,gBAAgB,CAACU,IAAjB,CAAsB,IAAtB,EAA4BD,GAA5B,EAAiC,CAAjC,CAAP;AACH,KAHD,CAGE,OAAMH,CAAN,EAAQ;AACN;AACA,aAAON,gBAAgB,CAACU,IAAjB,CAAsB,IAAtB,EAA4BD,GAA5B,EAAiC,CAAjC,CAAP;AACH;AACJ;AAGJ;;AACD,SAASE,eAAT,CAAyBC,MAAzB,EAAiC;AAC7B,MAAIX,kBAAkB,KAAKM,YAA3B,EAAyC;AACrC;AACA,WAAOA,YAAY,CAACK,MAAD,CAAnB;AACH,GAJ4B,CAK7B;;;AACA,MAAI,CAACX,kBAAkB,KAAKG,mBAAvB,IAA8C,CAACH,kBAAhD,KAAuEM,YAA3E,EAAyF;AACrFN,IAAAA,kBAAkB,GAAGM,YAArB;AACA,WAAOA,YAAY,CAACK,MAAD,CAAnB;AACH;;AACD,MAAI;AACA;AACA,WAAOX,kBAAkB,CAACW,MAAD,CAAzB;AACH,GAHD,CAGE,OAAON,CAAP,EAAS;AACP,QAAI;AACA;AACA,aAAOL,kBAAkB,CAACS,IAAnB,CAAwB,IAAxB,EAA8BE,MAA9B,CAAP;AACH,KAHD,CAGE,OAAON,CAAP,EAAS;AACP;AACA;AACA,aAAOL,kBAAkB,CAACS,IAAnB,CAAwB,IAAxB,EAA8BE,MAA9B,CAAP;AACH;AACJ;AAIJ;;AACD,IAAIC,KAAK,GAAG,EAAZ;AACA,IAAIC,QAAQ,GAAG,KAAf;AACA,IAAIC,YAAJ;AACA,IAAIC,UAAU,GAAG,CAAC,CAAlB;;AAEA,SAASC,eAAT,GAA2B;AACvB,MAAI,CAACH,QAAD,IAAa,CAACC,YAAlB,EAAgC;AAC5B;AACH;;AACDD,EAAAA,QAAQ,GAAG,KAAX;;AACA,MAAIC,YAAY,CAACG,MAAjB,EAAyB;AACrBL,IAAAA,KAAK,GAAGE,YAAY,CAACI,MAAb,CAAoBN,KAApB,CAAR;AACH,GAFD,MAEO;AACHG,IAAAA,UAAU,GAAG,CAAC,CAAd;AACH;;AACD,MAAIH,KAAK,CAACK,MAAV,EAAkB;AACdE,IAAAA,UAAU;AACb;AACJ;;AAED,SAASA,UAAT,GAAsB;AAClB,MAAIN,QAAJ,EAAc;AACV;AACH;;AACD,MAAIO,OAAO,GAAGb,UAAU,CAACS,eAAD,CAAxB;AACAH,EAAAA,QAAQ,GAAG,IAAX;AAEA,MAAIQ,GAAG,GAAGT,KAAK,CAACK,MAAhB;;AACA,SAAMI,GAAN,EAAW;AACPP,IAAAA,YAAY,GAAGF,KAAf;AACAA,IAAAA,KAAK,GAAG,EAAR;;AACA,WAAO,EAAEG,UAAF,GAAeM,GAAtB,EAA2B;AACvB,UAAIP,YAAJ,EAAkB;AACdA,QAAAA,YAAY,CAACC,UAAD,CAAZ,CAAyBO,GAAzB;AACH;AACJ;;AACDP,IAAAA,UAAU,GAAG,CAAC,CAAd;AACAM,IAAAA,GAAG,GAAGT,KAAK,CAACK,MAAZ;AACH;;AACDH,EAAAA,YAAY,GAAG,IAAf;AACAD,EAAAA,QAAQ,GAAG,KAAX;AACAH,EAAAA,eAAe,CAACU,OAAD,CAAf;AACH;;AAEDxB,OAAO,CAAC2B,QAAR,GAAmB,UAAUf,GAAV,EAAe;AAC9B,MAAIgB,IAAI,GAAG,IAAIC,KAAJ,CAAUC,SAAS,CAACT,MAAV,GAAmB,CAA7B,CAAX;;AACA,MAAIS,SAAS,CAACT,MAAV,GAAmB,CAAvB,EAA0B;AACtB,SAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,SAAS,CAACT,MAA9B,EAAsCU,CAAC,EAAvC,EAA2C;AACvCH,MAAAA,IAAI,CAACG,CAAC,GAAG,CAAL,CAAJ,GAAcD,SAAS,CAACC,CAAD,CAAvB;AACH;AACJ;;AACDf,EAAAA,KAAK,CAACgB,IAAN,CAAW,IAAIC,IAAJ,CAASrB,GAAT,EAAcgB,IAAd,CAAX;;AACA,MAAIZ,KAAK,CAACK,MAAN,KAAiB,CAAjB,IAAsB,CAACJ,QAA3B,EAAqC;AACjCN,IAAAA,UAAU,CAACY,UAAD,CAAV;AACH;AACJ,CAXD,EAaA;;;AACA,SAASU,IAAT,CAAcrB,GAAd,EAAmBsB,KAAnB,EAA0B;AACtB,OAAKtB,GAAL,GAAWA,GAAX;AACA,OAAKsB,KAAL,GAAaA,KAAb;AACH;;AACDD,IAAI,CAACE,SAAL,CAAeT,GAAf,GAAqB,YAAY;AAC7B,OAAKd,GAAL,CAASwB,KAAT,CAAe,IAAf,EAAqB,KAAKF,KAA1B;AACH,CAFD;;AAGAlC,OAAO,CAACqC,KAAR,GAAgB,SAAhB;AACArC,OAAO,CAACsC,OAAR,GAAkB,IAAlB;AACAtC,OAAO,CAACuC,GAAR,GAAc,EAAd;AACAvC,OAAO,CAACwC,IAAR,GAAe,EAAf;AACAxC,OAAO,CAACyC,OAAR,GAAkB,EAAlB,EAAsB;;AACtBzC,OAAO,CAAC0C,QAAR,GAAmB,EAAnB;;AAEA,SAASC,IAAT,GAAgB,CAAE;;AAElB3C,OAAO,CAAC4C,EAAR,GAAaD,IAAb;AACA3C,OAAO,CAAC6C,WAAR,GAAsBF,IAAtB;AACA3C,OAAO,CAAC8C,IAAR,GAAeH,IAAf;AACA3C,OAAO,CAAC+C,GAAR,GAAcJ,IAAd;AACA3C,OAAO,CAACgD,cAAR,GAAyBL,IAAzB;AACA3C,OAAO,CAACiD,kBAAR,GAA6BN,IAA7B;AACA3C,OAAO,CAACkD,IAAR,GAAeP,IAAf;AACA3C,OAAO,CAACmD,eAAR,GAA0BR,IAA1B;AACA3C,OAAO,CAACoD,mBAAR,GAA8BT,IAA9B;;AAEA3C,OAAO,CAACqD,SAAR,GAAoB,UAAUC,IAAV,EAAgB;AAAE,SAAO,EAAP;AAAW,CAAjD;;AAEAtD,OAAO,CAACuD,OAAR,GAAkB,UAAUD,IAAV,EAAgB;AAC9B,QAAM,IAAIhD,KAAJ,CAAU,kCAAV,CAAN;AACH,CAFD;;AAIAN,OAAO,CAACwD,GAAR,GAAc,YAAY;AAAE,SAAO,GAAP;AAAY,CAAxC;;AACAxD,OAAO,CAACyD,KAAR,GAAgB,UAAUC,GAAV,EAAe;AAC3B,QAAM,IAAIpD,KAAJ,CAAU,gCAAV,CAAN;AACH,CAFD;;AAGAN,OAAO,CAAC2D,KAAR,GAAgB,YAAW;AAAE,SAAO,CAAP;AAAW,CAAxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvLA;;AACA;;;;;;;;;;;;;;;AAcA;AAEA,IAAIC,aAAa,GAAGC,MAAM,CAACC,cAAP,IACf;AAAEC,EAAAA,SAAS,EAAE;AAAb,aAA6BlC,KAA7B,IAAsC,UAAUmC,CAAV,EAAaC,CAAb,EAAgB;AAAED,EAAAA,CAAC,CAACD,SAAF,GAAcE,CAAd;AAAkB,CAD3D,IAEhB,UAAUD,CAAV,EAAaC,CAAb,EAAgB;AAAE,OAAK,IAAIC,CAAT,IAAcD,CAAd,EAAiB,IAAIA,CAAC,CAACE,cAAF,CAAiBD,CAAjB,CAAJ,EAAyBF,CAAC,CAACE,CAAD,CAAD,GAAOD,CAAC,CAACC,CAAD,CAAR;AAAc,CAF9E;;AAIA,SAASE,SAAT,CAAmBJ,CAAnB,EAAsBC,CAAtB,EAAyB;AACrBL,EAAAA,aAAa,CAACI,CAAD,EAAIC,CAAJ,CAAb;;AACA,WAASI,EAAT,GAAc;AAAE,SAAKC,WAAL,GAAmBN,CAAnB;AAAuB;;AACvCA,EAAAA,CAAC,CAAC7B,SAAF,GAAc8B,CAAC,KAAK,IAAN,GAAaJ,MAAM,CAACU,MAAP,CAAcN,CAAd,CAAb,IAAiCI,EAAE,CAAClC,SAAH,GAAe8B,CAAC,CAAC9B,SAAjB,EAA4B,IAAIkC,EAAJ,EAA7D,CAAd;AACH;;AAED,IAAIG,QAAQ,GAAGX,MAAM,CAACY,MAAP,IAAiB,SAASD,QAAT,CAAkBE,CAAlB,EAAqB;AACjD,OAAK,IAAIC,CAAJ,EAAO5C,CAAC,GAAG,CAAX,EAAc6C,CAAC,GAAG9C,SAAS,CAACT,MAAjC,EAAyCU,CAAC,GAAG6C,CAA7C,EAAgD7C,CAAC,EAAjD,EAAqD;AACjD4C,IAAAA,CAAC,GAAG7C,SAAS,CAACC,CAAD,CAAb;;AACA,SAAK,IAAImC,CAAT,IAAcS,CAAd,EAAiB,IAAId,MAAM,CAAC1B,SAAP,CAAiBgC,cAAjB,CAAgCtD,IAAhC,CAAqC8D,CAArC,EAAwCT,CAAxC,CAAJ,EAAgDQ,CAAC,CAACR,CAAD,CAAD,GAAOS,CAAC,CAACT,CAAD,CAAR;AACpE;;AACD,SAAOQ,CAAP;AACH,CAND;;AAwBA,SAASG,MAAT,CAAgBC,CAAhB,EAAmBF,CAAnB,EAAsB;AAClB,MAAIG,CAAC,GAAG,OAAOC,MAAP,KAAkB,UAAlB,IAAgCF,CAAC,CAACE,MAAM,CAACC,QAAR,CAAzC;AACA,MAAI,CAACF,CAAL,EAAQ,OAAOD,CAAP;AACR,MAAI/C,CAAC,GAAGgD,CAAC,CAAClE,IAAF,CAAOiE,CAAP,CAAR;AAAA,MAAmBI,CAAnB;AAAA,MAAsBC,EAAE,GAAG,EAA3B;AAAA,MAA+B1E,CAA/B;;AACA,MAAI;AACA,WAAO,CAACmE,CAAC,KAAK,KAAK,CAAX,IAAgBA,CAAC,KAAK,CAAvB,KAA6B,CAAC,CAACM,CAAC,GAAGnD,CAAC,CAACqD,IAAF,EAAL,EAAeC,IAApD,EAA0DF,EAAE,CAACnD,IAAH,CAAQkD,CAAC,CAACI,KAAV;AAC7D,GAFD,CAGA,OAAOC,KAAP,EAAc;AAAE9E,IAAAA,CAAC,GAAG;AAAE8E,MAAAA,KAAK,EAAEA;AAAT,KAAJ;AAAuB,GAHvC,SAIQ;AACJ,QAAI;AACA,UAAIL,CAAC,IAAI,CAACA,CAAC,CAACG,IAAR,KAAiBN,CAAC,GAAGhD,CAAC,CAAC,QAAD,CAAtB,CAAJ,EAAuCgD,CAAC,CAAClE,IAAF,CAAOkB,CAAP;AAC1C,KAFD,SAGQ;AAAE,UAAItB,CAAJ,EAAO,MAAMA,CAAC,CAAC8E,KAAR;AAAgB;AACpC;;AACD,SAAOJ,EAAP;AACH;;AAED,SAASK,QAAT,GAAoB;AAChB,OAAK,IAAIL,EAAE,GAAG,EAAT,EAAapD,CAAC,GAAG,CAAtB,EAAyBA,CAAC,GAAGD,SAAS,CAACT,MAAvC,EAA+CU,CAAC,EAAhD,EACIoD,EAAE,GAAGA,EAAE,CAAC7D,MAAH,CAAUuD,MAAM,CAAC/C,SAAS,CAACC,CAAD,CAAV,CAAhB,CAAL;;AACJ,SAAOoD,EAAP;AACH;;AAED,IAAIM,yBAAyB,GAAG,EAAhC;AACA,IAAIC,4BAA4B,GAAG,EAAnC;;AACA,SAASC,mCAAT,CAA6CC,IAA7C,EAAmDC,UAAnD,EAA+D;AAC3D,MAAIC,KAAK,GAAGD,UAAU,GAAGJ,yBAAH,GAA+BC,4BAArD;AACA,SAAQI,KAAK,CAACF,IAAD,CAAL,KACHE,KAAK,CAACF,IAAD,CAAL,GAAc;AACXG,IAAAA,YAAY,EAAE,IADH;AAEXF,IAAAA,UAAU,EAAEA,UAFD;AAGXG,IAAAA,GAAG,EAAE,YAAY;AACbC,MAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACA,aAAO,KAAKL,IAAL,CAAP;AACH,KANU;AAOXM,IAAAA,GAAG,EAAE,UAAUZ,KAAV,EAAiB;AAClBW,MAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACA,WAAKL,IAAL,IAAaN,KAAb;AACH;AAVU,GADX,CAAR;AAaH;;AACD,SAASW,kBAAT,CAA4BE,MAA5B,EAAoC;AAChC,MAAIA,MAAM,CAACC,4BAAP,KAAwC,IAA5C,EACI;AACJ,MAAIC,UAAU,GAAGF,MAAM,CAACG,gBAAxB;;AACA,MAAID,UAAJ,EAAgB;AACZE,IAAAA,aAAa,CAACJ,MAAD,EAAS,8BAAT,EAAyC,IAAzC,CAAb;;AACA,SAAK,IAAIK,GAAT,IAAgBH,UAAhB,EAA4B;AACxB,UAAIrC,CAAC,GAAGqC,UAAU,CAACG,GAAD,CAAlB;AACAxC,MAAAA,CAAC,CAACyC,eAAF,CAAkBN,MAAlB,EAA0BnC,CAAC,CAAC4B,IAA5B,EAAkC5B,CAAC,CAAC0C,UAApC,EAAgD1C,CAAC,CAAC2C,eAAlD,EAAmE3C,CAAC,CAAC4C,kBAArE;AACH;AACJ;AACJ;;AACD,SAASC,mBAAT,CAA6BC,2BAA7B,EAA0DL,eAA1D,EAA2E;AACvE,SAAO,SAASM,gBAAT,GAA4B;AAC/B,QAAIH,kBAAJ;;AACA,QAAII,SAAS,GAAG,SAASC,QAAT,CAAkBd,MAAlB,EAA0BP,IAA1B,EAAgCc,UAAhC,EAA4CQ,gBAA5C,CAChB;AACA;AAFgB,MAGd;AACE,UAAIA,gBAAgB,KAAK,IAAzB,EAA+B;AAC3BT,QAAAA,eAAe,CAACN,MAAD,EAASP,IAAT,EAAec,UAAf,EAA2BP,MAA3B,EAAmCS,kBAAnC,CAAf;AACA,eAAO,IAAP;AACH;;AACD,UAAI,cAAyB,YAAzB,IAAyC,CAACO,oBAAoB,CAACrF,SAAD,CAAlE,EACIsF,MAAM,CAAC,sEAAD,CAAN;;AACJ,UAAI,CAACvD,MAAM,CAAC1B,SAAP,CAAiBgC,cAAjB,CAAgCtD,IAAhC,CAAqCsF,MAArC,EAA6C,kBAA7C,CAAL,EAAuE;AACnE,YAAIkB,mBAAmB,GAAGlB,MAAM,CAACG,gBAAjC;AACAC,QAAAA,aAAa,CAACJ,MAAD,EAAS,kBAAT,EAA6B3B,QAAQ,CAAC,EAAD,EAAK6C,mBAAL,CAArC,CAAb;AACH;;AACDlB,MAAAA,MAAM,CAACG,gBAAP,CAAwBV,IAAxB,IAAgC;AAC5BA,QAAAA,IAAI,EAAEA,IADsB;AAE5Ba,QAAAA,eAAe,EAAEA,eAFW;AAG5BC,QAAAA,UAAU,EAAEA,UAHgB;AAI5BC,QAAAA,eAAe,EAAER,MAJW;AAK5BS,QAAAA,kBAAkB,EAAEA;AALQ,OAAhC;AAOA,aAAOjB,mCAAmC,CAACC,IAAD,EAAOkB,2BAAP,CAA1C;AACH,KAtBD;;AAuBA,QAAIK,oBAAoB,CAACrF,SAAD,CAAxB,EAAqC;AACjC;AACA8E,MAAAA,kBAAkB,GAAGU,WAArB;AACA,aAAON,SAAS,CAAC5E,KAAV,CAAgB,IAAhB,EAAsBN,SAAtB,CAAP;AACH,KAJD,MAKK;AACD;AACA8E,MAAAA,kBAAkB,GAAG/E,KAAK,CAACM,SAAN,CAAgBoF,KAAhB,CAAsB1G,IAAtB,CAA2BiB,SAA3B,CAArB;AACA,aAAOkF,SAAP;AACH;AACJ,GAnCD;AAoCH;;AACD,SAASG,oBAAT,CAA8BvF,IAA9B,EAAoC;AAChC,SAAS,CAACA,IAAI,CAACP,MAAL,KAAgB,CAAhB,IAAqBO,IAAI,CAACP,MAAL,KAAgB,CAAtC,KAA4C,OAAOO,IAAI,CAAC,CAAD,CAAX,KAAmB,QAAhE,IACHA,IAAI,CAACP,MAAL,KAAgB,CAAhB,IAAqBO,IAAI,CAAC,CAAD,CAAJ,KAAY,IADtC;AAEH;;AAED,SAAS4F,YAAT,GAAwB;AACpB,SAAO,CAAC,CAACC,WAAW,CAACC,YAAZ,CAAyBrG,MAAlC;AACH;;AACD,SAASsG,SAAT,CAAmBC,KAAnB,EAA0B;AACtB,MAAI,CAACH,WAAW,CAACC,YAAZ,CAAyBrG,MAA9B,EACI;AACJ,MAAIgC,SAAS,GAAGoE,WAAW,CAACC,YAA5B;;AACA,OAAK,IAAI3F,CAAC,GAAG,CAAR,EAAW8F,CAAC,GAAGxE,SAAS,CAAChC,MAA9B,EAAsCU,CAAC,GAAG8F,CAA1C,EAA6C9F,CAAC,EAA9C,EACIsB,SAAS,CAACtB,CAAD,CAAT,CAAa6F,KAAb;AACP;;AACD,SAASE,cAAT,CAAwBF,KAAxB,EAA+B;AAC3B,MAAIG,MAAM,GAAGvD,QAAQ,CAAC,EAAD,EAAKoD,KAAL,EAAY;AAAEE,IAAAA,cAAc,EAAE;AAAlB,GAAZ,CAArB;;AACAH,EAAAA,SAAS,CAACI,MAAD,CAAT;AACH;;AACD,IAAIC,SAAS,GAAG;AAAEC,EAAAA,YAAY,EAAE;AAAhB,CAAhB;;AACA,SAASA,YAAT,CAAsBF,MAAtB,EAA8B;AAC1B,MAAIA,MAAJ,EACIJ,SAAS,CAACnD,QAAQ,CAAC,EAAD,EAAKuD,MAAL,EAAa;AAAEE,IAAAA,YAAY,EAAE;AAAhB,GAAb,CAAT,CAAT,CADJ,KAGIN,SAAS,CAACK,SAAD,CAAT;AACP;;AACD,SAASE,GAAT,CAAaC,QAAb,EAAuB;AACnBV,EAAAA,WAAW,CAACC,YAAZ,CAAyB1F,IAAzB,CAA8BmG,QAA9B;AACA,SAAOrF,IAAI,CAAC,YAAY;AACpB2E,IAAAA,WAAW,CAACC,YAAZ,GAA2BD,WAAW,CAACC,YAAZ,CAAyBU,MAAzB,CAAgC,UAAUP,CAAV,EAAa;AAAE,aAAOA,CAAC,KAAKM,QAAb;AAAwB,KAAvE,CAA3B;AACH,GAFU,CAAX;AAGH;;AAED,SAASE,YAAT,CAAsBC,UAAtB,EAAkCC,EAAlC,EAAsC;AAClC,MAAI,cAAyB,YAA7B,EAA2C;AACvCC,IAAAA,SAAS,CAAC,OAAOD,EAAP,KAAc,UAAf,EAA2B,2CAA3B,CAAT;AACA,QAAI,OAAOD,UAAP,KAAsB,QAAtB,IAAkC,CAACA,UAAvC,EACIlB,MAAM,CAAC,4CAA4CkB,UAA5C,GAAyD,GAA1D,CAAN;AACP;;AACD,MAAIG,GAAG,GAAG,YAAY;AAClB,WAAOC,aAAa,CAACJ,UAAD,EAAaC,EAAb,EAAiB,IAAjB,EAAuBzG,SAAvB,CAApB;AACH,GAFD;;AAGA2G,EAAAA,GAAG,CAACE,YAAJ,GAAmB,IAAnB;AACA,SAAOF,GAAP;AACH;;AACD,SAASC,aAAT,CAAuBJ,UAAvB,EAAmCC,EAAnC,EAAuCK,KAAvC,EAA8ChH,IAA9C,EAAoD;AAChD,MAAIiH,OAAO,GAAGC,WAAW,CAACR,UAAD,EAAaC,EAAb,EAAiBK,KAAjB,EAAwBhH,IAAxB,CAAzB;;AACA,MAAI;AACA,WAAO2G,EAAE,CAACnG,KAAH,CAASwG,KAAT,EAAgBhH,IAAhB,CAAP;AACH,GAFD,SAGQ;AACJmH,IAAAA,SAAS,CAACF,OAAD,CAAT;AACH;AACJ;;AACD,SAASC,WAAT,CAAqBR,UAArB,EAAiCC,EAAjC,EAAqCK,KAArC,EAA4ChH,IAA5C,EAAkD;AAC9C,MAAIoH,SAAS,GAAGxB,YAAY,MAAM,CAAC,CAACc,UAApC;AACA,MAAIW,SAAS,GAAG,CAAhB;;AACA,MAAID,SAAJ,EAAe;AACXC,IAAAA,SAAS,GAAGC,IAAI,CAACC,GAAL,EAAZ;AACA,QAAItB,CAAC,GAAIjG,IAAI,IAAIA,IAAI,CAACP,MAAd,IAAyB,CAAjC;AACA,QAAI+H,YAAY,GAAG,IAAIvH,KAAJ,CAAUgG,CAAV,CAAnB;AACA,QAAIA,CAAC,GAAG,CAAR,EACI,KAAK,IAAI9F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8F,CAApB,EAAuB9F,CAAC,EAAxB,EACIqH,YAAY,CAACrH,CAAD,CAAZ,GAAkBH,IAAI,CAACG,CAAD,CAAtB;AACR+F,IAAAA,cAAc,CAAC;AACXuB,MAAAA,IAAI,EAAE,QADK;AAEX/F,MAAAA,IAAI,EAAEgF,UAFK;AAGXgB,MAAAA,MAAM,EAAEV,KAHG;AAIX9G,MAAAA,SAAS,EAAEsH;AAJA,KAAD,CAAd;AAMH;;AACD,MAAIG,cAAc,GAAGC,cAAc,EAAnC;AACAC,EAAAA,UAAU;AACV,MAAIC,qBAAqB,GAAGC,sBAAsB,CAAC,IAAD,CAAlD;AACA,SAAO;AACHJ,IAAAA,cAAc,EAAEA,cADb;AAEHG,IAAAA,qBAAqB,EAAEA,qBAFpB;AAGHV,IAAAA,SAAS,EAAEA,SAHR;AAIHC,IAAAA,SAAS,EAAEA;AAJR,GAAP;AAMH;;AACD,SAASF,SAAT,CAAmBF,OAAnB,EAA4B;AACxBe,EAAAA,oBAAoB,CAACf,OAAO,CAACa,qBAAT,CAApB;AACAG,EAAAA,QAAQ;AACRC,EAAAA,YAAY,CAACjB,OAAO,CAACU,cAAT,CAAZ;AACA,MAAIV,OAAO,CAACG,SAAZ,EACIf,YAAY,CAAC;AAAE8B,IAAAA,IAAI,EAAEb,IAAI,CAACC,GAAL,KAAaN,OAAO,CAACI;AAA7B,GAAD,CAAZ;AACP;;AACD,SAASe,iBAAT,CAA2BA,iBAA3B,EAA8CC,IAA9C,EAAoD;AAChD,MAAIC,IAAI,GAAGP,sBAAsB,CAACK,iBAAD,CAAjC;AACA,MAAIvB,GAAJ;;AACA,MAAI;AACAA,IAAAA,GAAG,GAAGwB,IAAI,EAAV;AACH,GAFD,SAGQ;AACJL,IAAAA,oBAAoB,CAACM,IAAD,CAApB;AACH;;AACD,SAAOzB,GAAP;AACH;;AACD,SAASkB,sBAAT,CAAgCK,iBAAhC,EAAmD;AAC/C,MAAIE,IAAI,GAAGzC,WAAW,CAACuC,iBAAvB;AACAvC,EAAAA,WAAW,CAACuC,iBAAZ,GAAgCA,iBAAhC;AACA,SAAOE,IAAP;AACH;;AACD,SAASN,oBAAT,CAA8BM,IAA9B,EAAoC;AAChCzC,EAAAA,WAAW,CAACuC,iBAAZ,GAAgCE,IAAhC;AACH;;AACD,SAASC,+BAAT,CAAyCF,IAAzC,EAA+C;AAC3C,MAAIC,IAAI,GAAGzC,WAAW,CAAC2C,gBAAvB;AACA3C,EAAAA,WAAW,CAAC2C,gBAAZ,GAA+B,CAA/B;AACA,MAAI3B,GAAJ;;AACA,MAAI;AACAA,IAAAA,GAAG,GAAGwB,IAAI,EAAV;AACH,GAFD,SAGQ;AACJxC,IAAAA,WAAW,CAAC2C,gBAAZ,GAA+BF,IAA/B;AACH;;AACD,SAAOzB,GAAP;AACH;;AAED,SAAS4B,kBAAT,GAA8B;AAC1BjD,EAAAA,MAAM,CAAC,cAAyB,YAAzB,IAAyC,qCAA1C,CAAN;AACH;;AACD,SAASkD,oBAAT,CAA8BhH,IAA9B,EAAoC;AAChC,SAAO,UAAU6C,MAAV,EAAkBP,IAAlB,EAAwBc,UAAxB,EAAoC;AACvC,QAAIA,UAAJ,EAAgB;AACZ,UAAI,cAAyB,YAAzB,IAAyCA,UAAU,CAACV,GAAX,KAAmBuE,SAAhE,EAA2E;AACvE,eAAOnD,MAAM,CAAC,qCAAD,CAAb;AACH,OAHW,CAIZ;AACA;;;AACA,UAAIV,UAAU,CAACpB,KAAf,EAAsB;AAClB;AACA,eAAO;AACHA,UAAAA,KAAK,EAAE+C,YAAY,CAAC/E,IAAD,EAAOoD,UAAU,CAACpB,KAAlB,CADhB;AAEHO,UAAAA,UAAU,EAAE,KAFT;AAGHE,UAAAA,YAAY,EAAE,IAHX;AAIHyE,UAAAA,QAAQ,EAAE,IAJP,CAIY;;AAJZ,SAAP;AAMH,OAdW,CAeZ;;;AACA,UAAIC,aAAa,GAAG/D,UAAU,CAACgE,WAA/B;AACA,aAAO;AACH7E,QAAAA,UAAU,EAAE,KADT;AAEHE,QAAAA,YAAY,EAAE,IAFX;AAGHyE,QAAAA,QAAQ,EAAE,IAHP;AAIHE,QAAAA,WAAW,EAAE,YAAY;AACrB;AACA,iBAAOrC,YAAY,CAAC/E,IAAD,EAAOmH,aAAa,CAAC5J,IAAd,CAAmB,IAAnB,CAAP,CAAnB;AACH;AAPE,OAAP;AASH,KA3BsC,CA4BvC;;;AACA,WAAO8J,oBAAoB,CAACrH,IAAD,CAApB,CAA2BlB,KAA3B,CAAiC,IAAjC,EAAuCN,SAAvC,CAAP;AACH,GA9BD;AA+BH;;AACD,SAAS6I,oBAAT,CAA8BrH,IAA9B,EAAoC;AAChC;AACA,SAAO,UAAU6C,MAAV,EAAkBP,IAAlB,EAAwBc,UAAxB,EAAoC;AACvC7C,IAAAA,MAAM,CAAC+G,cAAP,CAAsBzE,MAAtB,EAA8BP,IAA9B,EAAoC;AAChCG,MAAAA,YAAY,EAAE,IADkB;AAEhCF,MAAAA,UAAU,EAAE,KAFoB;AAGhCG,MAAAA,GAAG,EAAE,YAAY;AACb,eAAOuE,SAAP;AACH,OAL+B;AAMhCrE,MAAAA,GAAG,EAAE,UAAUZ,KAAV,EAAiB;AAClBiB,QAAAA,aAAa,CAAC,IAAD,EAAOX,IAAP,EAAaiF,MAAM,CAACvH,IAAD,EAAOgC,KAAP,CAAnB,CAAb;AACH;AAR+B,KAApC;AAUH,GAXD;AAYH;;AACD,SAASwF,oBAAT,CAA8B3E,MAA9B,EAAsC4E,YAAtC,EAAoDrE,UAApD,EAAgEsE,eAAhE,EAAiF;AAC7E,MAAIA,eAAe,KAAK,IAAxB,EAA8B;AAC1BC,IAAAA,iBAAiB,CAAC9E,MAAD,EAAS4E,YAAT,EAAuBrE,UAAU,CAACpB,KAAlC,CAAjB;AACA,WAAO,IAAP;AACH;;AACD,MAAIoB,UAAJ,EAAgB;AACZ;AACA;AACA;AACA,WAAO;AACHX,MAAAA,YAAY,EAAE,IADX;AAEHF,MAAAA,UAAU,EAAE,KAFT;AAGHG,MAAAA,GAAG,EAAE,YAAY;AACbiF,QAAAA,iBAAiB,CAAC,IAAD,EAAOF,YAAP,EAAqBrE,UAAU,CAACpB,KAAX,IAAoBoB,UAAU,CAACgE,WAAX,CAAuB7J,IAAvB,CAA4B,IAA5B,CAAzC,CAAjB;AACA,eAAO,KAAKkK,YAAL,CAAP;AACH,OANE;AAOH7E,MAAAA,GAAG,EAAEmE;AAPF,KAAP;AASH,GAlB4E,CAmB7E;;;AACA,SAAO;AACHxE,IAAAA,UAAU,EAAE,KADT;AAEHE,IAAAA,YAAY,EAAE,IAFX;AAGHG,IAAAA,GAAG,EAAE,UAAUgF,CAAV,EAAa;AACdD,MAAAA,iBAAiB,CAAC,IAAD,EAAOF,YAAP,EAAqBG,CAArB,CAAjB;AACH,KALE;AAMHlF,IAAAA,GAAG,EAAE,YAAY;AACb,aAAOuE,SAAP;AACH;AARE,GAAP;AAUH;;AAED,IAAIM,MAAM,GAAG,SAASA,MAAT,CAAgBM,IAAhB,EAAsBC,IAAtB,EAA4BC,IAA5B,EAAkCC,IAAlC,EAAwC;AACjD;AACA,MAAIxJ,SAAS,CAACT,MAAV,KAAqB,CAArB,IAA0B,OAAO8J,IAAP,KAAgB,UAA9C,EACI,OAAO9C,YAAY,CAAC8C,IAAI,CAAC7H,IAAL,IAAa,kBAAd,EAAkC6H,IAAlC,CAAnB,CAH6C,CAIjD;;AACA,MAAIrJ,SAAS,CAACT,MAAV,KAAqB,CAArB,IAA0B,OAAO+J,IAAP,KAAgB,UAA9C,EACI,OAAO/C,YAAY,CAAC8C,IAAD,EAAOC,IAAP,CAAnB,CAN6C,CAOjD;;AACA,MAAItJ,SAAS,CAACT,MAAV,KAAqB,CAArB,IAA0B,OAAO8J,IAAP,KAAgB,QAA9C,EACI,OAAOb,oBAAoB,CAACa,IAAD,CAA3B,CAT6C,CAUjD;;AACA,MAAIG,IAAI,KAAK,IAAb,EAAmB;AACf;AACAH,IAAAA,IAAI,CAACC,IAAD,CAAJ,GAAa/C,YAAY,CAAC8C,IAAI,CAAC7H,IAAL,IAAa8H,IAAd,EAAoBC,IAAI,CAAC/F,KAAzB,CAAzB;AACH,GAHD,MAIK;AACD,WAAOgF,oBAAoB,CAACc,IAAD,CAApB,CAA2BhJ,KAA3B,CAAiC,IAAjC,EAAuCN,SAAvC,CAAP;AACH;AACJ,CAlBD;;;AAmBA+I,MAAM,CAACU,KAAP,GAAeT,oBAAf;;AACA,SAASU,WAAT,CAAqBL,IAArB,EAA2BC,IAA3B,EAAiC;AAC7B;AACA,MAAI9C,UAAU,GAAG,OAAO6C,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkCA,IAAI,CAAC7H,IAAL,IAAa,kBAAhE;AACA,MAAIiF,EAAE,GAAG,OAAO4C,IAAP,KAAgB,UAAhB,GAA6BA,IAA7B,GAAoCC,IAA7C;;AACA,MAAI,cAAyB,YAA7B,EAA2C;AACvC5C,IAAAA,SAAS,CAAC,OAAOD,EAAP,KAAc,UAAd,IAA4BA,EAAE,CAAClH,MAAH,KAAc,CAA3C,EAA8C,oDAA9C,CAAT;AACA,QAAI,OAAOiH,UAAP,KAAsB,QAAtB,IAAkC,CAACA,UAAvC,EACIlB,MAAM,CAAC,4CAA4CkB,UAA5C,GAAyD,GAA1D,CAAN;AACP;;AACD,SAAOI,aAAa,CAACJ,UAAD,EAAaC,EAAb,EAAiB,IAAjB,EAAuBgC,SAAvB,CAApB;AACH;;AACD,SAASkB,QAAT,CAAkBC,KAAlB,EAAyB;AACrB,SAAO,OAAOA,KAAP,KAAiB,UAAjB,IAA+BA,KAAK,CAAC/C,YAAN,KAAuB,IAA7D;AACH;;AACD,SAASsC,iBAAT,CAA2B9E,MAA3B,EAAmC4E,YAAnC,EAAiDxC,EAAjD,EAAqD;AACjDhC,EAAAA,aAAa,CAACJ,MAAD,EAAS4E,YAAT,EAAuB1C,YAAY,CAAC0C,YAAD,EAAexC,EAAE,CAACoD,IAAH,CAAQxF,MAAR,CAAf,CAAnC,CAAb;AACH;;AAED,IAAIyF,QAAQ,GAAG/H,MAAM,CAAC1B,SAAP,CAAiByJ,QAAhC;;AACA,SAASC,SAAT,CAAmBC,CAAnB,EAAsB7H,CAAtB,EAAyB;AACrB,SAAO8H,EAAE,CAACD,CAAD,EAAI7H,CAAJ,CAAT;AACH,EACD;AACA;;;AACA,SAAS8H,EAAT,CAAYD,CAAZ,EAAe7H,CAAf,EAAkB+H,MAAlB,EAA0BC,MAA1B,EAAkC;AAC9B;AACA;AACA,MAAIH,CAAC,KAAK7H,CAAV,EACI,OAAO6H,CAAC,KAAK,CAAN,IAAW,IAAIA,CAAJ,KAAU,IAAI7H,CAAhC,CAJ0B,CAK9B;;AACA,MAAI6H,CAAC,IAAI,IAAL,IAAa7H,CAAC,IAAI,IAAtB,EACI,OAAO,KAAP,CAP0B,CAQ9B;;AACA,MAAI6H,CAAC,KAAKA,CAAV,EACI,OAAO7H,CAAC,KAAKA,CAAb,CAV0B,CAW9B;;AACA,MAAIoF,IAAI,GAAG,OAAOyC,CAAlB;AACA,MAAIzC,IAAI,KAAK,UAAT,IAAuBA,IAAI,KAAK,QAAhC,IAA4C,OAAOpF,CAAP,IAAY,QAA5D,EACI,OAAO,KAAP;AACJ,SAAOiI,MAAM,CAACJ,CAAD,EAAI7H,CAAJ,EAAO+H,MAAP,EAAeC,MAAf,CAAb;AACH,EACD;;;AACA,SAASC,MAAT,CAAgBJ,CAAhB,EAAmB7H,CAAnB,EAAsB+H,MAAtB,EAA8BC,MAA9B,EAAsC;AAClC;AACAH,EAAAA,CAAC,GAAGK,MAAM,CAACL,CAAD,CAAV;AACA7H,EAAAA,CAAC,GAAGkI,MAAM,CAAClI,CAAD,CAAV,CAHkC,CAIlC;;AACA,MAAImI,SAAS,GAAGR,QAAQ,CAAC/K,IAAT,CAAciL,CAAd,CAAhB;AACA,MAAIM,SAAS,KAAKR,QAAQ,CAAC/K,IAAT,CAAcoD,CAAd,CAAlB,EACI,OAAO,KAAP;;AACJ,UAAQmI,SAAR;AACI;AACA,SAAK,iBAAL,CAFJ,CAGI;;AACA,SAAK,iBAAL;AACI;AACA;AACA,aAAO,KAAKN,CAAL,KAAW,KAAK7H,CAAvB;;AACJ,SAAK,iBAAL;AACI;AACA;AACA,UAAI,CAAC6H,CAAD,KAAO,CAACA,CAAZ,EACI,OAAO,CAAC7H,CAAD,KAAO,CAACA,CAAf,CAJR,CAKI;;AACA,aAAO,CAAC6H,CAAD,KAAO,CAAP,GAAW,IAAI,CAACA,CAAL,KAAW,IAAI7H,CAA1B,GAA8B,CAAC6H,CAAD,KAAO,CAAC7H,CAA7C;;AACJ,SAAK,eAAL;AACA,SAAK,kBAAL;AACI;AACA;AACA;AACA,aAAO,CAAC6H,CAAD,KAAO,CAAC7H,CAAf;;AACJ,SAAK,iBAAL;AACI,aAAQ,OAAOe,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACqH,OAAP,CAAexL,IAAf,CAAoBiL,CAApB,MAA2B9G,MAAM,CAACqH,OAAP,CAAexL,IAAf,CAAoBoD,CAApB,CAApE;AAtBR;;AAwBA,MAAIqI,SAAS,GAAGF,SAAS,KAAK,gBAA9B;;AACA,MAAI,CAACE,SAAL,EAAgB;AACZ,QAAI,OAAOR,CAAP,IAAY,QAAZ,IAAwB,OAAO7H,CAAP,IAAY,QAAxC,EACI,OAAO,KAAP,CAFQ,CAGZ;AACA;;AACA,QAAIsI,KAAK,GAAGT,CAAC,CAACxH,WAAd;AAAA,QAA2BkI,KAAK,GAAGvI,CAAC,CAACK,WAArC;;AACA,QAAIiI,KAAK,KAAKC,KAAV,IACA,EAAE,OAAOD,KAAP,KAAiB,UAAjB,IACEA,KAAK,YAAYA,KADnB,IAEE,OAAOC,KAAP,KAAiB,UAFnB,IAGEA,KAAK,YAAYA,KAHrB,CADA,IAKC,iBAAiBV,CAAjB,IAAsB,iBAAiB7H,CAL5C,EAKgD;AAC5C,aAAO,KAAP;AACH;AACJ,GA/CiC,CAgDlC;AACA;AACA;AACA;;;AACA+H,EAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;AACAC,EAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;AACA,MAAI5K,MAAM,GAAG2K,MAAM,CAAC3K,MAApB;;AACA,SAAOA,MAAM,EAAb,EAAiB;AACb;AACA;AACA,QAAI2K,MAAM,CAAC3K,MAAD,CAAN,KAAmByK,CAAvB,EACI,OAAOG,MAAM,CAAC5K,MAAD,CAAN,KAAmB4C,CAA1B;AACP,GA5DiC,CA6DlC;;;AACA+H,EAAAA,MAAM,CAAChK,IAAP,CAAY8J,CAAZ;AACAG,EAAAA,MAAM,CAACjK,IAAP,CAAYiC,CAAZ,EA/DkC,CAgElC;;AACA,MAAIqI,SAAJ,EAAe;AACX;AACAjL,IAAAA,MAAM,GAAGyK,CAAC,CAACzK,MAAX;AACA,QAAIA,MAAM,KAAK4C,CAAC,CAAC5C,MAAjB,EACI,OAAO,KAAP,CAJO,CAKX;;AACA,WAAOA,MAAM,EAAb,EAAiB;AACb,UAAI,CAAC0K,EAAE,CAACD,CAAC,CAACzK,MAAD,CAAF,EAAY4C,CAAC,CAAC5C,MAAD,CAAb,EAAuB2K,MAAvB,EAA+BC,MAA/B,CAAP,EACI,OAAO,KAAP;AACP;AACJ,GAVD,MAWK;AACD;AACA,QAAIQ,OAAO,GAAG5I,MAAM,CAAC6I,IAAP,CAAYZ,CAAZ,CAAd;AAAA,QAA8BtF,GAA9B;AACAnF,IAAAA,MAAM,GAAGoL,OAAO,CAACpL,MAAjB,CAHC,CAID;;AACA,QAAIwC,MAAM,CAAC6I,IAAP,CAAYzI,CAAZ,EAAe5C,MAAf,KAA0BA,MAA9B,EACI,OAAO,KAAP;;AACJ,WAAOA,MAAM,EAAb,EAAiB;AACb;AACAmF,MAAAA,GAAG,GAAGiG,OAAO,CAACpL,MAAD,CAAb;AACA,UAAI,EAAEsL,MAAM,CAAC1I,CAAD,EAAIuC,GAAJ,CAAN,IAAkBuF,EAAE,CAACD,CAAC,CAACtF,GAAD,CAAF,EAASvC,CAAC,CAACuC,GAAD,CAAV,EAAiBwF,MAAjB,EAAyBC,MAAzB,CAAtB,CAAJ,EACI,OAAO,KAAP;AACP;AACJ,GAzFiC,CA0FlC;;;AACAD,EAAAA,MAAM,CAACY,GAAP;AACAX,EAAAA,MAAM,CAACW,GAAP;AACA,SAAO,IAAP;AACH;;AACD,SAAST,MAAT,CAAgBL,CAAhB,EAAmB;AACf,MAAIe,iBAAiB,CAACf,CAAD,CAArB,EACI,OAAOA,CAAC,CAACgB,IAAF,EAAP;AACJ,MAAIC,QAAQ,CAACjB,CAAD,CAAR,IAAekB,eAAe,CAAClB,CAAD,CAAlC,EACI,OAAOmB,eAAe,CAACnB,CAAC,CAACoB,OAAF,EAAD,CAAtB;AACJ,SAAOpB,CAAP;AACH;;AACD,SAASa,MAAT,CAAgBb,CAAhB,EAAmBtF,GAAnB,EAAwB;AACpB,SAAO3C,MAAM,CAAC1B,SAAP,CAAiBgC,cAAjB,CAAgCtD,IAAhC,CAAqCiL,CAArC,EAAwCtF,GAAxC,CAAP;AACH;;AAED,SAAS2G,gBAAT,CAA0BrB,CAA1B,EAA6B7H,CAA7B,EAAgC;AAC5B,SAAO6H,CAAC,KAAK7H,CAAb;AACH;;AACD,SAASmJ,kBAAT,CAA4BtB,CAA5B,EAA+B7H,CAA/B,EAAkC;AAC9B,SAAO4H,SAAS,CAACC,CAAD,EAAI7H,CAAJ,CAAhB;AACH;;AACD,SAASoJ,eAAT,CAAyBvB,CAAzB,EAA4B7H,CAA5B,EAA+B;AAC3B,SAAOqJ,UAAU,CAACxB,CAAD,EAAI7H,CAAJ,CAAV,IAAoBkJ,gBAAgB,CAACrB,CAAD,EAAI7H,CAAJ,CAA3C;AACH;;AACD,IAAIsJ,QAAQ,GAAG;AACXC,EAAAA,QAAQ,EAAEL,gBADC;AAEXM,EAAAA,UAAU,EAAEL,kBAFD;AAGXM,EAAAA,OAAO,EAAEL;AAHE,CAAf;AAMA;;;;;;;;;AAMA,SAASM,OAAT,CAAiBC,IAAjB,EAAuBC,IAAvB,EAA6B;AACzB,MAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;AAAEA,IAAAA,IAAI,GAAGC,YAAP;AAAsB;;AAC7C,MAAI,cAAyB,YAA7B,EAA2C;AACvCtF,IAAAA,SAAS,CAAC,OAAOoF,IAAP,KAAgB,UAAjB,EAA6B,8CAA7B,CAAT;AACApF,IAAAA,SAAS,CAACiD,QAAQ,CAACmC,IAAD,CAAR,KAAmB,KAApB,EAA2B,+DAA3B,CAAT;AACH;;AACD,MAAItK,IAAI,GAAIuK,IAAI,IAAIA,IAAI,CAACvK,IAAd,IAAuBsK,IAAI,CAACtK,IAA5B,IAAoC,aAAayK,SAAS,EAArE;AACA,MAAIC,OAAO,GAAG,CAACH,IAAI,CAACI,SAAN,IAAmB,CAACJ,IAAI,CAACK,KAAvC;AACA,MAAIC,QAAJ;;AACA,MAAIH,OAAJ,EAAa;AACT;AACAG,IAAAA,QAAQ,GAAG,IAAIC,QAAJ,CAAa9K,IAAb,EAAmB,YAAY;AACtC,WAAK+K,KAAL,CAAWC,cAAX;AACH,KAFU,EAERT,IAAI,CAACU,OAFG,CAAX;AAGH,GALD,MAMK;AACD,QAAIC,WAAW,GAAGC,0BAA0B,CAACZ,IAAD,CAA5C,CADC,CAED;;AACA,QAAIa,aAAa,GAAG,KAApB;AACAP,IAAAA,QAAQ,GAAG,IAAIC,QAAJ,CAAa9K,IAAb,EAAmB,YAAY;AACtC,UAAI,CAACoL,aAAL,EAAoB;AAChBA,QAAAA,aAAa,GAAG,IAAhB;AACAF,QAAAA,WAAW,CAAC,YAAY;AACpBE,UAAAA,aAAa,GAAG,KAAhB;AACA,cAAI,CAACP,QAAQ,CAACQ,UAAd,EACIR,QAAQ,CAACE,KAAT,CAAeC,cAAf;AACP,SAJU,CAAX;AAKH;AACJ,KATU,EASRT,IAAI,CAACU,OATG,CAAX;AAUH;;AACD,WAASD,cAAT,GAA0B;AACtBV,IAAAA,IAAI,CAACO,QAAD,CAAJ;AACH;;AACDA,EAAAA,QAAQ,CAACS,QAAT;AACA,SAAOT,QAAQ,CAACU,WAAT,EAAP;AACH;;AACD,IAAInN,GAAG,GAAG,UAAUoN,CAAV,EAAa;AAAE,SAAOA,CAAC,EAAR;AAAa,CAAtC;;AACA,SAASL,0BAAT,CAAoCZ,IAApC,EAA0C;AACtC,SAAOA,IAAI,CAACI,SAAL,GACDJ,IAAI,CAACI,SADJ,GAEDJ,IAAI,CAACK,KAAL,GAAa,UAAUY,CAAV,EAAa;AAAE,WAAOtO,UAAU,CAACsO,CAAD,EAAIjB,IAAI,CAACK,KAAT,CAAjB;AAAmC,GAA/D,GAAkExM,GAFxE;AAGH;;AACD,SAASyM,QAAT,CAAkBY,UAAlB,EAA8BC,MAA9B,EAAsCnB,IAAtC,EAA4C;AACxC,MAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;AAAEA,IAAAA,IAAI,GAAGC,YAAP;AAAsB;;AAC7C,MAAI,OAAOD,IAAP,KAAgB,SAApB,EAA+B;AAC3BA,IAAAA,IAAI,GAAG;AAAEoB,MAAAA,eAAe,EAAEpB;AAAnB,KAAP;AACAqB,IAAAA,UAAU,CAAC,0FAAD,CAAV;AACH;;AACD,MAAI,cAAyB,YAA7B,EAA2C;AACvC1G,IAAAA,SAAS,CAAC,OAAOuG,UAAP,KAAsB,UAAvB,EAAmC,iDAAnC,CAAT;AACAvG,IAAAA,SAAS,CAAC,OAAOqF,IAAP,KAAgB,QAAjB,EAA2B,iDAA3B,CAAT;AACH;;AACD,MAAIvK,IAAI,GAAGuK,IAAI,CAACvK,IAAL,IAAa,cAAcyK,SAAS,EAA/C;AACA,MAAIoB,YAAY,GAAGtE,MAAM,CAACvH,IAAD,EAAOuK,IAAI,CAACU,OAAL,GAAea,gBAAgB,CAACvB,IAAI,CAACU,OAAN,EAAeS,MAAf,CAA/B,GAAwDA,MAA/D,CAAzB;AACA,MAAIhB,OAAO,GAAG,CAACH,IAAI,CAACI,SAAN,IAAmB,CAACJ,IAAI,CAACK,KAAvC;AACA,MAAID,SAAS,GAAGQ,0BAA0B,CAACZ,IAAD,CAA1C;AACA,MAAIwB,SAAS,GAAG,IAAhB;AACA,MAAIC,WAAW,GAAG,KAAlB;AACA,MAAIhK,KAAJ;AACA,MAAIiK,MAAM,GAAG1B,IAAI,CAAC2B,iBAAL,GACPjC,QAAQ,CAACE,UADF,GAEPI,IAAI,CAAC0B,MAAL,IAAehC,QAAQ,CAACG,OAF9B;AAGA,MAAIxI,CAAC,GAAG,IAAIkJ,QAAJ,CAAa9K,IAAb,EAAmB,YAAY;AACnC,QAAI+L,SAAS,IAAIrB,OAAjB,EAA0B;AACtBM,MAAAA,cAAc;AACjB,KAFD,MAGK,IAAI,CAACgB,WAAL,EAAkB;AACnBA,MAAAA,WAAW,GAAG,IAAd;AACArB,MAAAA,SAAS,CAACK,cAAD,CAAT;AACH;AACJ,GARO,EAQLT,IAAI,CAACU,OARA,CAAR;;AASA,WAASD,cAAT,GAA0B;AACtBgB,IAAAA,WAAW,GAAG,KAAd,CADsB,CACD;;AACrB,QAAIpK,CAAC,CAACyJ,UAAN,EACI;AACJ,QAAIc,OAAO,GAAG,KAAd;AACAvK,IAAAA,CAAC,CAACmJ,KAAF,CAAQ,YAAY;AAChB,UAAIqB,SAAS,GAAGX,UAAU,CAAC7J,CAAD,CAA1B;AACAuK,MAAAA,OAAO,GAAGJ,SAAS,IAAI,CAACE,MAAM,CAACjK,KAAD,EAAQoK,SAAR,CAA9B;AACApK,MAAAA,KAAK,GAAGoK,SAAR;AACH,KAJD;AAKA,QAAIL,SAAS,IAAIxB,IAAI,CAACoB,eAAtB,EACIE,YAAY,CAAC7J,KAAD,EAAQJ,CAAR,CAAZ;AACJ,QAAI,CAACmK,SAAD,IAAcI,OAAO,KAAK,IAA9B,EACIN,YAAY,CAAC7J,KAAD,EAAQJ,CAAR,CAAZ;AACJ,QAAImK,SAAJ,EACIA,SAAS,GAAG,KAAZ;AACP;;AACDnK,EAAAA,CAAC,CAAC0J,QAAF;AACA,SAAO1J,CAAC,CAAC2J,WAAF,EAAP;AACH;;AACD,SAASO,gBAAT,CAA0BO,YAA1B,EAAwCC,MAAxC,EAAgD;AAC5C,SAAO,YAAY;AACf,QAAI;AACA,aAAOA,MAAM,CAACxN,KAAP,CAAa,IAAb,EAAmBN,SAAnB,CAAP;AACH,KAFD,CAGA,OAAOrB,CAAP,EAAU;AACNkP,MAAAA,YAAY,CAAC9O,IAAb,CAAkB,IAAlB,EAAwBJ,CAAxB;AACH;AACJ,GAPD;AAQH;AAED;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAIoP,aAAa;AAAG;AAAe,YAAY;AAC3C;;;;;;;;;;;;AAYA,WAASA,aAAT,CAAuBC,OAAvB,EAAgC;AAC5B,SAAKC,iBAAL,GAAyBC,gBAAgB,CAACC,YAA1C;AACA,SAAKC,SAAL,GAAiB,EAAjB,CAF4B,CAEP;;AACrB,SAAKC,YAAL,GAAoB,IAApB,CAH4B,CAGF;;AAC1B,SAAKC,eAAL,GAAuB,KAAvB;AACA,SAAKC,sBAAL,GAA8B,KAA9B;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACA,SAAKC,SAAL,GAAiB,CAAjB;AACA,SAAKC,KAAL,GAAa,CAAb;AACA,SAAKC,cAAL,GAAsB,CAAtB;AACA,SAAKC,mBAAL,GAA2BX,gBAAgB,CAACY,UAA5C;AACA,SAAKC,gBAAL,GAAwB,CAAxB;AACA,SAAKC,OAAL,GAAe,MAAM/C,SAAS,EAA9B;AACA,SAAKzI,KAAL,GAAa,IAAIyL,eAAJ,CAAoB,IAApB,CAAb;AACA,SAAKC,WAAL,GAAmB,KAAnB,CAf4B,CAeF;;AAC1B,SAAKC,eAAL,GAAuB,KAAvB;AACA,SAAKC,SAAL,GAAiBC,SAAS,CAACC,IAA3B;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,QAAI,cAAyB,YAAzB,IAAyC,CAACvB,OAAO,CAAC9J,GAAtD,EACI,OAAOoB,MAAM,CAAC,kCAAD,CAAb;AACJ,SAAKkK,UAAL,GAAkBxB,OAAO,CAAC9J,GAA1B;AACA,SAAK1C,IAAL,GAAYwM,OAAO,CAACxM,IAAR,IAAgB,mBAAmByK,SAAS,EAAxD;AACA,QAAI+B,OAAO,CAAC5J,GAAZ,EACI,KAAKqL,MAAL,GAAclJ,YAAY,CAAC,KAAK/E,IAAL,GAAY,SAAb,EAAwBwM,OAAO,CAAC5J,GAAhC,CAA1B;AACJ,SAAKqJ,MAAL,GACIO,OAAO,CAACP,MAAR,KACKO,OAAO,CAACN,iBAAR,IAA6BM,OAAO,CAAC0B,MAArC,GACKjE,QAAQ,CAACE,UADd,GAEKF,QAAQ,CAACG,OAHnB,CADJ;AAKA,SAAK9E,KAAL,GAAakH,OAAO,CAAC2B,OAArB;AACA,SAAKC,gBAAL,GAAwB,CAAC,CAAC5B,OAAO,CAAC4B,gBAAlC;AACA,SAAKC,SAAL,GAAiB,CAAC,CAAC7B,OAAO,CAAC6B,SAA3B;AACH;;AACD9B,EAAAA,aAAa,CAAC1N,SAAd,CAAwByP,aAAxB,GAAwC,YAAY;AAChDC,IAAAA,qBAAqB,CAAC,IAAD,CAArB;AACH,GAFD;;AAGAhC,EAAAA,aAAa,CAAC1N,SAAd,CAAwB2P,kBAAxB,GAA6C,YAAY,CAAG,CAA5D;;AACAjC,EAAAA,aAAa,CAAC1N,SAAd,CAAwB4P,gBAAxB,GAA2C,YAAY,CAAG,CAA1D;AACA;;;;;;AAIAlC,EAAAA,aAAa,CAAC1N,SAAd,CAAwB6D,GAAxB,GAA8B,YAAY;AACtC,QAAIgM,KAAK,GAAG,IAAZ;;AACA,QAAI,KAAKL,SAAL,IAAkB,KAAKN,QAA3B,EAAqC;AACjC,WAAKA,QAAL,GAAgB,KAAhB;AACA1D,MAAAA,OAAO,CAAC,YAAY;AAAE,eAAOqE,KAAK,CAAChM,GAAN,EAAP;AAAqB,OAApC,CAAP;AACH;;AACD,QAAI,KAAKgL,WAAT,EACI5J,MAAM,CAAC,mCAAmC,KAAK9D,IAAxC,GAA+C,IAA/C,GAAsD,KAAKgO,UAA5D,CAAN;;AACJ,QAAI7J,WAAW,CAACwK,OAAZ,KAAwB,CAAxB,IAA6B,KAAK3B,SAAL,CAAejP,MAAf,KAA0B,CAA3D,EAA8D;AAC1D,UAAI6Q,aAAa,CAAC,IAAD,CAAjB,EAAyB;AACrB,aAAKC,sBAAL;AACA1I,QAAAA,UAAU,GAFW,CAEP;;AACd,aAAKnE,KAAL,GAAa,KAAK8M,YAAL,CAAkB,KAAlB,CAAb;AACAvI,QAAAA,QAAQ;AACX;AACJ,KAPD,MAQK;AACDwI,MAAAA,cAAc,CAAC,IAAD,CAAd;AACA,UAAIH,aAAa,CAAC,IAAD,CAAjB,EACI,IAAI,KAAKI,eAAL,EAAJ,EACIC,wBAAwB,CAAC,IAAD,CAAxB;AACX;;AACD,QAAIC,MAAM,GAAG,KAAKlN,KAAlB;AACA,QAAImN,iBAAiB,CAACD,MAAD,CAArB,EACI,MAAMA,MAAM,CAACE,KAAb;AACJ,WAAOF,MAAP;AACH,GA1BD;;AA2BA3C,EAAAA,aAAa,CAAC1N,SAAd,CAAwB2K,IAAxB,GAA+B,YAAY;AACvC,QAAIrE,GAAG,GAAG,KAAK2J,YAAL,CAAkB,KAAlB,CAAV;AACA,QAAIK,iBAAiB,CAAChK,GAAD,CAArB,EACI,MAAMA,GAAG,CAACiK,KAAV;AACJ,WAAOjK,GAAP;AACH,GALD;;AAMAoH,EAAAA,aAAa,CAAC1N,SAAd,CAAwB+D,GAAxB,GAA8B,UAAUZ,KAAV,EAAiB;AAC3C,QAAI,KAAKiM,MAAT,EAAiB;AACb/I,MAAAA,SAAS,CAAC,CAAC,KAAKyI,eAAP,EAAwB,mCAAmC,KAC/D3N,IAD4B,GACrB,iHADH,CAAT;AAEA,WAAK2N,eAAL,GAAuB,IAAvB;;AACA,UAAI;AACA,aAAKM,MAAL,CAAY1Q,IAAZ,CAAiB,KAAK+H,KAAtB,EAA6BtD,KAA7B;AACH,OAFD,SAGQ;AACJ,aAAK2L,eAAL,GAAuB,KAAvB;AACH;AACJ,KAVD,MAYIzI,SAAS,CAAC,KAAD,EAAQ,cAAyB,YAAzB,IACb,qBAAqB,KAChBlF,IADL,GACY,kEAFP,CAAT;AAGP,GAhBD;;AAiBAuM,EAAAA,aAAa,CAAC1N,SAAd,CAAwBmQ,eAAxB,GAA0C,YAAY;AAClD,QAAI9K,YAAY,EAAhB,EAAoB;AAChBG,MAAAA,SAAS,CAAC;AACN2B,QAAAA,MAAM,EAAE,KAAKV,KADP;AAENS,QAAAA,IAAI,EAAE,SAFA;AAGN/F,QAAAA,IAAI,EAAE,KAAKA;AAHL,OAAD,CAAT;AAKH;;AACD,QAAIqP,QAAQ,GAAG,KAAKrN,KAApB;AACA,QAAIsN,YAAY;AAChB;AAAgB,SAAK7C,iBAAL,KAA2BC,gBAAgB,CAACC,YAD5D;AAEA,QAAI4C,QAAQ,GAAG,KAAKT,YAAL,CAAkB,IAAlB,CAAf;AACA,QAAI3C,OAAO,GAAGmD,YAAY,IACtBH,iBAAiB,CAACE,QAAD,CADP,IAEVF,iBAAiB,CAACI,QAAD,CAFP,IAGV,CAAC,KAAKtD,MAAL,CAAYoD,QAAZ,EAAsBE,QAAtB,CAHL;;AAIA,QAAIpD,OAAJ,EAAa;AACT,WAAKnK,KAAL,GAAauN,QAAb;AACH;;AACD,WAAOpD,OAAP;AACH,GApBD;;AAqBAI,EAAAA,aAAa,CAAC1N,SAAd,CAAwBiQ,YAAxB,GAAuC,UAAU/D,KAAV,EAAiB;AACpD,SAAK2C,WAAL,GAAmB,IAAnB;AACAvJ,IAAAA,WAAW,CAAC2C,gBAAZ;AACA,QAAI3B,GAAJ;;AACA,QAAI4F,KAAJ,EAAW;AACP5F,MAAAA,GAAG,GAAGqK,oBAAoB,CAAC,IAAD,EAAO,KAAKxB,UAAZ,EAAwB,KAAK1I,KAA7B,CAA1B;AACH,KAFD,MAGK;AACD,UAAInB,WAAW,CAACsL,sBAAZ,KAAuC,IAA3C,EAAiD;AAC7CtK,QAAAA,GAAG,GAAG,KAAK6I,UAAL,CAAgBzQ,IAAhB,CAAqB,KAAK+H,KAA1B,CAAN;AACH,OAFD,MAGK;AACD,YAAI;AACAH,UAAAA,GAAG,GAAG,KAAK6I,UAAL,CAAgBzQ,IAAhB,CAAqB,KAAK+H,KAA1B,CAAN;AACH,SAFD,CAGA,OAAOnI,CAAP,EAAU;AACNgI,UAAAA,GAAG,GAAG,IAAIsI,eAAJ,CAAoBtQ,CAApB,CAAN;AACH;AACJ;AACJ;;AACDgH,IAAAA,WAAW,CAAC2C,gBAAZ;AACA,SAAK4G,WAAL,GAAmB,KAAnB;AACA,WAAOvI,GAAP;AACH,GAvBD;;AAwBAoH,EAAAA,aAAa,CAAC1N,SAAd,CAAwB6Q,OAAxB,GAAkC,YAAY;AAC1CC,IAAAA,cAAc,CAAC,IAAD,CAAd;AACA,SAAK3N,KAAL,GAAaiF,SAAb,CAF0C,CAElB;AAC3B,GAHD;;AAIAsF,EAAAA,aAAa,CAAC1N,SAAd,CAAwB+Q,OAAxB,GAAkC,UAAU/K,QAAV,EAAoB8G,eAApB,EAAqC;AACnE,QAAI+C,KAAK,GAAG,IAAZ;;AACA,QAAI3C,SAAS,GAAG,IAAhB;AACA,QAAI8D,SAAS,GAAG5I,SAAhB;AACA,WAAOoD,OAAO,CAAC,YAAY;AACvB,UAAIkF,QAAQ,GAAGb,KAAK,CAAChM,GAAN,EAAf;;AACA,UAAI,CAACqJ,SAAD,IAAcJ,eAAlB,EAAmC;AAC/B,YAAImE,KAAK,GAAG5J,cAAc,EAA1B;AACArB,QAAAA,QAAQ,CAAC;AACLkB,UAAAA,IAAI,EAAE,QADD;AAELC,UAAAA,MAAM,EAAE0I,KAFH;AAGLa,UAAAA,QAAQ,EAAEA,QAHL;AAILF,UAAAA,QAAQ,EAAEQ;AAJL,SAAD,CAAR;AAMArJ,QAAAA,YAAY,CAACsJ,KAAD,CAAZ;AACH;;AACD/D,MAAAA,SAAS,GAAG,KAAZ;AACA8D,MAAAA,SAAS,GAAGN,QAAZ;AACH,KAda,CAAd;AAeH,GAnBD;;AAoBAhD,EAAAA,aAAa,CAAC1N,SAAd,CAAwBgQ,sBAAxB,GAAiD,YAAY;AACzD,QAAI,cAAyB,YAA7B,EACI;;AACJ,QAAI,KAAKT,gBAAL,KAA0B,IAA9B,EAAoC;AAChCtK,MAAAA,MAAM,CAAC,2BAA2B,KAAK9D,IAAhC,GAAuC,qCAAxC,CAAN;AACH;;AACD,QAAI,KAAK4N,SAAL,KAAmBC,SAAS,CAACC,IAAjC,EAAuC;AACnCiC,MAAAA,OAAO,CAACC,GAAR,CAAY,mBAAmB,KAC1BhQ,IADO,GACA,oEADZ;AAEH;;AACD,QAAImE,WAAW,CAAC8L,wBAAhB,EAA0C;AACtCF,MAAAA,OAAO,CAACG,IAAR,CAAa,2BAA2B,KACnClQ,IADQ,GACD,mEADZ;AAEH;AACJ,GAdD;;AAeAuM,EAAAA,aAAa,CAAC1N,SAAd,CAAwBsR,MAAxB,GAAiC,YAAY;AACzC,WAAO,KAAKzN,GAAL,EAAP;AACH,GAFD;;AAGA6J,EAAAA,aAAa,CAAC1N,SAAd,CAAwByJ,QAAxB,GAAmC,YAAY;AAC3C,WAAO,KAAKtI,IAAL,GAAY,GAAZ,GAAkB,KAAKgO,UAAL,CAAgB1F,QAAhB,EAAlB,GAA+C,GAAtD;AACH,GAFD;;AAGAiE,EAAAA,aAAa,CAAC1N,SAAd,CAAwBkK,OAAxB,GAAkC,YAAY;AAC1C,WAAOqH,WAAW,CAAC,KAAK1N,GAAL,EAAD,CAAlB;AACH,GAFD;;AAGA,SAAO6J,aAAP;AACH,CAxMkC,EAAnC;;AAyMAA,aAAa,CAAC1N,SAAd,CAAwBwR,eAAe,EAAvC,IAA6C9D,aAAa,CAAC1N,SAAd,CAAwBkK,OAArE;AACA,IAAIuH,eAAe,GAAGC,yBAAyB,CAAC,eAAD,EAAkBhE,aAAlB,CAA/C;;AAEA,SAASiE,eAAT,CAAyBC,aAAzB,EAAwC;AACpC,SAAOA,aAAa,CAACC,YAAd,KAA+BzJ,SAA/B,IAA4CwJ,aAAa,CAACC,YAAd,CAA2B3S,MAA3B,GAAoC,CAAvF;AACH;;AACD,SAAS4S,mBAAT,CAA6BF,aAA7B,EAA4CG,OAA5C,EAAqD;AACjD,MAAIF,YAAY,GAAGD,aAAa,CAACC,YAAd,KAA+BD,aAAa,CAACC,YAAd,GAA6B,EAA5D,CAAnB;AACAA,EAAAA,YAAY,CAAChS,IAAb,CAAkBkS,OAAlB;AACA,SAAOpR,IAAI,CAAC,YAAY;AACpB,QAAIqR,GAAG,GAAGH,YAAY,CAACI,OAAb,CAAqBF,OAArB,CAAV;AACA,QAAIC,GAAG,KAAK,CAAC,CAAb,EACIH,YAAY,CAACK,MAAb,CAAoBF,GAApB,EAAyB,CAAzB;AACP,GAJU,CAAX;AAKH;;AACD,SAASG,eAAT,CAAyBP,aAAzB,EAAwChM,MAAxC,EAAgD;AAC5C,MAAIqL,KAAK,GAAG5J,cAAc,EAA1B;;AACA,MAAI;AACA,QAAIwK,YAAY,GAAGD,aAAa,CAACC,YAAjC;AACA,QAAIA,YAAJ,EACI,KAAK,IAAIjS,CAAC,GAAG,CAAR,EAAW8F,CAAC,GAAGmM,YAAY,CAAC3S,MAAjC,EAAyCU,CAAC,GAAG8F,CAA7C,EAAgD9F,CAAC,EAAjD,EAAqD;AACjDgG,MAAAA,MAAM,GAAGiM,YAAY,CAACjS,CAAD,CAAZ,CAAgBgG,MAAhB,CAAT;AACAS,MAAAA,SAAS,CAAC,CAACT,MAAD,IAAWA,MAAM,CAACsB,IAAnB,EAAyB,6DAAzB,CAAT;AACA,UAAI,CAACtB,MAAL,EACI;AACP;AACL,WAAOA,MAAP;AACH,GAVD,SAWQ;AACJ+B,IAAAA,YAAY,CAACsJ,KAAD,CAAZ;AACH;AACJ;;AAED,SAASmB,YAAT,CAAsBC,UAAtB,EAAkC;AAC9B,SAAOA,UAAU,CAACC,eAAX,KAA+BlK,SAA/B,IAA4CiK,UAAU,CAACC,eAAX,CAA2BpT,MAA3B,GAAoC,CAAvF;AACH;;AACD,SAASqT,gBAAT,CAA0BF,UAA1B,EAAsCN,OAAtC,EAA+C;AAC3C,MAAI7Q,SAAS,GAAGmR,UAAU,CAACC,eAAX,KAA+BD,UAAU,CAACC,eAAX,GAA6B,EAA5D,CAAhB;AACApR,EAAAA,SAAS,CAACrB,IAAV,CAAekS,OAAf;AACA,SAAOpR,IAAI,CAAC,YAAY;AACpB,QAAIqR,GAAG,GAAG9Q,SAAS,CAAC+Q,OAAV,CAAkBF,OAAlB,CAAV;AACA,QAAIC,GAAG,KAAK,CAAC,CAAb,EACI9Q,SAAS,CAACgR,MAAV,CAAiBF,GAAjB,EAAsB,CAAtB;AACP,GAJU,CAAX;AAKH;;AACD,SAASQ,eAAT,CAAyBH,UAAzB,EAAqCzM,MAArC,EAA6C;AACzC,MAAIqL,KAAK,GAAG5J,cAAc,EAA1B;AACA,MAAInG,SAAS,GAAGmR,UAAU,CAACC,eAA3B;AACA,MAAI,CAACpR,SAAL,EACI;AACJA,EAAAA,SAAS,GAAGA,SAAS,CAACkE,KAAV,EAAZ;;AACA,OAAK,IAAIxF,CAAC,GAAG,CAAR,EAAW8F,CAAC,GAAGxE,SAAS,CAAChC,MAA9B,EAAsCU,CAAC,GAAG8F,CAA1C,EAA6C9F,CAAC,EAA9C,EAAkD;AAC9CsB,IAAAA,SAAS,CAACtB,CAAD,CAAT,CAAagG,MAAb;AACH;;AACD+B,EAAAA,YAAY,CAACsJ,KAAD,CAAZ;AACH;;AAED,IAAIwB,SAAS,GAAG,EAAhB;AACAC,WAAW;;AACX,IAAIC,eAAe;AAAG;AAAe,UAAUC,MAAV,EAAkB;AACnD3Q,EAAAA,SAAS,CAAC0Q,eAAD,EAAkBC,MAAlB,CAAT;;AACA,WAASD,eAAT,CAAyBxP,KAAzB,EAAgC0P,QAAhC,EAA0C1R,IAA1C,EAAgD0F,SAAhD,EAA2D;AACvD,QAAI1F,IAAI,KAAK,KAAK,CAAlB,EAAqB;AAAEA,MAAAA,IAAI,GAAG,qBAAqByK,SAAS,EAArC;AAA0C;;AACjE,QAAI/E,SAAS,KAAK,KAAK,CAAvB,EAA0B;AAAEA,MAAAA,SAAS,GAAG,IAAZ;AAAmB;;AAC/C,QAAIgJ,KAAK,GAAG+C,MAAM,CAAClU,IAAP,CAAY,IAAZ,EAAkByC,IAAlB,KAA2B,IAAvC;;AACA0O,IAAAA,KAAK,CAACgD,QAAN,GAAiBA,QAAjB;AACAhD,IAAAA,KAAK,CAACiD,mBAAN,GAA4B,KAA5B;AACAjD,IAAAA,KAAK,CAAC1M,KAAN,GAAc0P,QAAQ,CAAC1P,KAAD,EAAQiF,SAAR,EAAmBjH,IAAnB,CAAtB;;AACA,QAAI0F,SAAS,IAAIxB,YAAY,EAA7B,EAAiC;AAC7B;AACAG,MAAAA,SAAS,CAAC;AAAE0B,QAAAA,IAAI,EAAE,QAAR;AAAkB/F,QAAAA,IAAI,EAAE0O,KAAK,CAAC1O,IAA9B;AAAoCuP,QAAAA,QAAQ,EAAE,KAAKb,KAAK,CAAC1M;AAAzD,OAAD,CAAT;AACH;;AACD,WAAO0M,KAAP;AACH;;AACD8C,EAAAA,eAAe,CAAC3S,SAAhB,CAA0B+S,YAA1B,GAAyC,UAAU5P,KAAV,EAAiB;AACtD,QAAI,KAAK6P,QAAL,KAAkB5K,SAAtB,EACI,OAAO,KAAK4K,QAAL,CAAc7P,KAAd,CAAP;AACJ,WAAOA,KAAP;AACH,GAJD;;AAKAwP,EAAAA,eAAe,CAAC3S,SAAhB,CAA0B+D,GAA1B,GAAgC,UAAU2M,QAAV,EAAoB;AAChD,QAAIF,QAAQ,GAAG,KAAKrN,KAApB;AACAuN,IAAAA,QAAQ,GAAG,KAAKuC,eAAL,CAAqBvC,QAArB,CAAX;;AACA,QAAIA,QAAQ,KAAK+B,SAAjB,EAA4B;AACxB,UAAI5L,SAAS,GAAGxB,YAAY,EAA5B;;AACA,UAAIwB,SAAJ,EAAe;AACXlB,QAAAA,cAAc,CAAC;AACXuB,UAAAA,IAAI,EAAE,QADK;AAEX/F,UAAAA,IAAI,EAAE,KAAKA,IAFA;AAGXuP,UAAAA,QAAQ,EAAEA,QAHC;AAIXF,UAAAA,QAAQ,EAAEA;AAJC,SAAD,CAAd;AAMH;;AACD,WAAK0C,WAAL,CAAiBxC,QAAjB;AACA,UAAI7J,SAAJ,EACIf,YAAY;AACnB;AACJ,GAjBD;;AAkBA6M,EAAAA,eAAe,CAAC3S,SAAhB,CAA0BiT,eAA1B,GAA4C,UAAUvC,QAAV,EAAoB;AAC5DyC,IAAAA,mCAAmC,CAAC,IAAD,CAAnC;;AACA,QAAIxB,eAAe,CAAC,IAAD,CAAnB,EAA2B;AACvB,UAAI/L,MAAM,GAAGuM,eAAe,CAAC,IAAD,EAAO;AAC/BhL,QAAAA,MAAM,EAAE,IADuB;AAE/BD,QAAAA,IAAI,EAAE,QAFyB;AAG/BwJ,QAAAA,QAAQ,EAAEA;AAHqB,OAAP,CAA5B;AAKA,UAAI,CAAC9K,MAAL,EACI,OAAO6M,SAAP;AACJ/B,MAAAA,QAAQ,GAAG9K,MAAM,CAAC8K,QAAlB;AACH,KAX2D,CAY5D;;;AACAA,IAAAA,QAAQ,GAAG,KAAKmC,QAAL,CAAcnC,QAAd,EAAwB,KAAKvN,KAA7B,EAAoC,KAAKhC,IAAzC,CAAX;AACA,WAAO,KAAKgC,KAAL,KAAeuN,QAAf,GAA0BA,QAA1B,GAAqC+B,SAA5C;AACH,GAfD;;AAgBAE,EAAAA,eAAe,CAAC3S,SAAhB,CAA0BkT,WAA1B,GAAwC,UAAUxC,QAAV,EAAoB;AACxD,QAAIF,QAAQ,GAAG,KAAKrN,KAApB;AACA,SAAKA,KAAL,GAAauN,QAAb;AACA,SAAK0C,aAAL;;AACA,QAAIhB,YAAY,CAAC,IAAD,CAAhB,EAAwB;AACpBI,MAAAA,eAAe,CAAC,IAAD,EAAO;AAClBtL,QAAAA,IAAI,EAAE,QADY;AAElBC,QAAAA,MAAM,EAAE,IAFU;AAGlBuJ,QAAAA,QAAQ,EAAEA,QAHQ;AAIlBF,QAAAA,QAAQ,EAAEA;AAJQ,OAAP,CAAf;AAMH;AACJ,GAZD;;AAaAmC,EAAAA,eAAe,CAAC3S,SAAhB,CAA0B6D,GAA1B,GAAgC,YAAY;AACxC,SAAKqM,cAAL;AACA,WAAO,KAAK6C,YAAL,CAAkB,KAAK5P,KAAvB,CAAP;AACH,GAHD;;AAIAwP,EAAAA,eAAe,CAAC3S,SAAhB,CAA0BqT,SAA1B,GAAsC,UAAUtB,OAAV,EAAmB;AACrD,WAAOD,mBAAmB,CAAC,IAAD,EAAOC,OAAP,CAA1B;AACH,GAFD;;AAGAY,EAAAA,eAAe,CAAC3S,SAAhB,CAA0B+Q,OAA1B,GAAoC,UAAU/K,QAAV,EAAoB8G,eAApB,EAAqC;AACrE,QAAIA,eAAJ,EACI9G,QAAQ,CAAC;AACLmB,MAAAA,MAAM,EAAE,IADH;AAELD,MAAAA,IAAI,EAAE,QAFD;AAGLwJ,MAAAA,QAAQ,EAAE,KAAKvN,KAHV;AAILqN,MAAAA,QAAQ,EAAEpI;AAJL,KAAD,CAAR;AAMJ,WAAOmK,gBAAgB,CAAC,IAAD,EAAOvM,QAAP,CAAvB;AACH,GATD;;AAUA2M,EAAAA,eAAe,CAAC3S,SAAhB,CAA0BsR,MAA1B,GAAmC,YAAY;AAC3C,WAAO,KAAKzN,GAAL,EAAP;AACH,GAFD;;AAGA8O,EAAAA,eAAe,CAAC3S,SAAhB,CAA0ByJ,QAA1B,GAAqC,YAAY;AAC7C,WAAO,KAAKtI,IAAL,GAAY,GAAZ,GAAkB,KAAKgC,KAAvB,GAA+B,GAAtC;AACH,GAFD;;AAGAwP,EAAAA,eAAe,CAAC3S,SAAhB,CAA0BkK,OAA1B,GAAoC,YAAY;AAC5C,WAAOqH,WAAW,CAAC,KAAK1N,GAAL,EAAD,CAAlB;AACH,GAFD;;AAGA,SAAO8O,eAAP;AACH,CA9FoC,CA8FnCW,IA9FmC,CAArC;;AA+FAX,eAAe,CAAC3S,SAAhB,CAA0BwR,eAAe,EAAzC,IAA+CmB,eAAe,CAAC3S,SAAhB,CAA0BkK,OAAzE;AACA,IAAIqJ,iBAAiB,GAAG7B,yBAAyB,CAAC,iBAAD,EAAoBiB,eAApB,CAAjD;;;AAEA,IAAIa,8BAA8B;AAAG;AAAe,YAAY;AAC5D,WAASA,8BAAT,CAAwCxP,MAAxC,EAAgD7C,IAAhD,EAAsDsS,eAAtD,EAAuE;AACnE,SAAKzP,MAAL,GAAcA,MAAd;AACA,SAAK7C,IAAL,GAAYA,IAAZ;AACA,SAAKsS,eAAL,GAAuBA,eAAvB;AACA,SAAKC,MAAL,GAAc,EAAd;AACH;;AACDF,EAAAA,8BAA8B,CAACxT,SAA/B,CAAyC2T,IAAzC,GAAgD,UAAUC,KAAV,EAAiBvP,GAAjB,EAAsB;AAClE,QAAI,cAAyB,YAAzB,IAAyC,KAAKL,MAAL,KAAgB4P,KAA7D,EAAoE;AAChE,WAAKC,aAAL,CAAmBD,KAAnB,EAA0BvP,GAA1B;AACA,UAAI,CAAC,KAAKqP,MAAL,CAAYrP,GAAZ,CAAL,EACI,OAAO+D,SAAP;AACP;;AACD,WAAO,KAAKsL,MAAL,CAAYrP,GAAZ,EAAiBR,GAAjB,EAAP;AACH,GAPD;;AAQA2P,EAAAA,8BAA8B,CAACxT,SAA/B,CAAyC8T,KAAzC,GAAiD,UAAUF,KAAV,EAAiBvP,GAAjB,EAAsBqM,QAAtB,EAAgC;AAC7E,QAAIqD,QAAQ,GAAG,KAAK/P,MAApB;;AACA,QAAI,cAAyB,YAAzB,IAAyC+P,QAAQ,KAAKH,KAA1D,EAAiE;AAC7D,WAAKC,aAAL,CAAmBD,KAAnB,EAA0BvP,GAA1B;AACH;;AACD,QAAI2P,UAAU,GAAG,KAAKN,MAAL,CAAYrP,GAAZ,CAAjB;;AACA,QAAI2P,UAAU,YAAYtG,aAA1B,EAAyC;AACrCsG,MAAAA,UAAU,CAACjQ,GAAX,CAAe2M,QAAf;AACA;AACH,KAT4E,CAU7E;;;AACA,QAAIiB,eAAe,CAAC,IAAD,CAAnB,EAA2B;AACvB,UAAI/L,MAAM,GAAGuM,eAAe,CAAC,IAAD,EAAO;AAC/BjL,QAAAA,IAAI,EAAE,QADyB;AAE/BC,QAAAA,MAAM,EAAE4M,QAFuB;AAG/B5S,QAAAA,IAAI,EAAEkD,GAHyB;AAI/BqM,QAAAA,QAAQ,EAAEA;AAJqB,OAAP,CAA5B;AAMA,UAAI,CAAC9K,MAAL,EACI;AACJ8K,MAAAA,QAAQ,GAAG9K,MAAM,CAAC8K,QAAlB;AACH;;AACDA,IAAAA,QAAQ,GAAGsD,UAAU,CAACf,eAAX,CAA2BvC,QAA3B,CAAX,CAtB6E,CAuB7E;;AACA,QAAIA,QAAQ,KAAK+B,SAAjB,EAA4B;AACxB,UAAIwB,MAAM,GAAG7B,YAAY,CAAC,IAAD,CAAzB;AACA,UAAIvL,SAAS,GAAGxB,YAAY,EAA5B;AACA,UAAIO,MAAM,GAAGqO,MAAM,IAAIpN,SAAV,GACP;AACEK,QAAAA,IAAI,EAAE,QADR;AAEEC,QAAAA,MAAM,EAAE4M,QAFV;AAGEvD,QAAAA,QAAQ,EAAEwD,UAAU,CAAC7Q,KAHvB;AAIEhC,QAAAA,IAAI,EAAEkD,GAJR;AAKEqM,QAAAA,QAAQ,EAAEA;AALZ,OADO,GAQP,IARN;AASA,UAAI7J,SAAJ,EACIlB,cAAc,CAACtD,QAAQ,CAAC,EAAD,EAAKuD,MAAL,EAAa;AAAEzE,QAAAA,IAAI,EAAE,KAAKA,IAAb;AAAmBkD,QAAAA,GAAG,EAAEA;AAAxB,OAAb,CAAT,CAAd;AACJ2P,MAAAA,UAAU,CAACd,WAAX,CAAuBxC,QAAvB;AACA,UAAIuD,MAAJ,EACIzB,eAAe,CAAC,IAAD,EAAO5M,MAAP,CAAf;AACJ,UAAIiB,SAAJ,EACIf,YAAY;AACnB;AACJ,GA5CD;;AA6CA0N,EAAAA,8BAA8B,CAACxT,SAA/B,CAAyCkU,MAAzC,GAAkD,UAAU7P,GAAV,EAAe;AAC7D,QAAI,CAAC,KAAKqP,MAAL,CAAYrP,GAAZ,CAAL,EACI;AACJ,QAAIL,MAAM,GAAG,KAAKA,MAAlB;;AACA,QAAI2N,eAAe,CAAC,IAAD,CAAnB,EAA2B;AACvB,UAAI/L,MAAM,GAAGuM,eAAe,CAAC,IAAD,EAAO;AAC/BhL,QAAAA,MAAM,EAAEnD,MADuB;AAE/B7C,QAAAA,IAAI,EAAEkD,GAFyB;AAG/B6C,QAAAA,IAAI,EAAE;AAHyB,OAAP,CAA5B;AAKA,UAAI,CAACtB,MAAL,EACI;AACP;;AACD,QAAI;AACA0B,MAAAA,UAAU;AACV,UAAI2M,MAAM,GAAG7B,YAAY,CAAC,IAAD,CAAzB;AACA,UAAIvL,SAAS,GAAGxB,YAAY,EAA5B;AACA,UAAImL,QAAQ,GAAG,KAAKkD,MAAL,CAAYrP,GAAZ,EAAiBR,GAAjB,EAAf;AACA,UAAI,KAAK0G,IAAT,EACI,KAAKA,IAAL,CAAU2J,MAAV,CAAiB7P,GAAjB;AACJ,aAAO,KAAKqP,MAAL,CAAYrP,GAAZ,CAAP;AACA,aAAO,KAAKL,MAAL,CAAYK,GAAZ,CAAP;AACA,UAAIuB,MAAM,GAAGqO,MAAM,IAAIpN,SAAV,GACP;AACEK,QAAAA,IAAI,EAAE,QADR;AAEEC,QAAAA,MAAM,EAAEnD,MAFV;AAGEwM,QAAAA,QAAQ,EAAEA,QAHZ;AAIErP,QAAAA,IAAI,EAAEkD;AAJR,OADO,GAOP,IAPN;AAQA,UAAIwC,SAAJ,EACIlB,cAAc,CAACtD,QAAQ,CAAC,EAAD,EAAKuD,MAAL,EAAa;AAAEzE,QAAAA,IAAI,EAAE,KAAKA,IAAb;AAAmBkD,QAAAA,GAAG,EAAEA;AAAxB,OAAb,CAAT,CAAd;AACJ,UAAI4P,MAAJ,EACIzB,eAAe,CAAC,IAAD,EAAO5M,MAAP,CAAf;AACJ,UAAIiB,