{"version":3,"sources":["webpack://epower-open/./node_modules/@didi/fe-monitor/libs/baseMonitor.js","webpack://epower-open/./node_modules/@didi/fe-monitor/libs/index.js","webpack://epower-open/./node_modules/@didi/fe-monitor/libs/monitor.js","webpack://epower-open/./node_modules/antd/es/spin/index.js","webpack://epower-open/./node_modules/babel-runtime/core-js/object/assign.js","webpack://epower-open/./node_modules/babel-runtime/core-js/object/create.js","webpack://epower-open/./node_modules/babel-runtime/core-js/object/define-property.js","webpack://epower-open/./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack://epower-open/./node_modules/babel-runtime/core-js/symbol.js","webpack://epower-open/./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack://epower-open/./node_modules/babel-runtime/helpers/classCallCheck.js","webpack://epower-open/./node_modules/babel-runtime/helpers/createClass.js","webpack://epower-open/./node_modules/babel-runtime/helpers/extends.js","webpack://epower-open/./node_modules/babel-runtime/helpers/inherits.js","webpack://epower-open/./node_modules/babel-runtime/helpers/objectWithoutProperties.js","webpack://epower-open/./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack://epower-open/./node_modules/babel-runtime/helpers/typeof.js","webpack://epower-open/./node_modules/core-js/library/fn/object/assign.js","webpack://epower-open/./node_modules/core-js/library/fn/object/create.js","webpack://epower-open/./node_modules/core-js/library/fn/object/define-property.js","webpack://epower-open/./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack://epower-open/./node_modules/core-js/library/fn/symbol/index.js","webpack://epower-open/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://epower-open/./node_modules/core-js/library/modules/_a-function.js","webpack://epower-open/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://epower-open/./node_modules/core-js/library/modules/_an-object.js","webpack://epower-open/./node_modules/core-js/library/modules/_array-includes.js","webpack://epower-open/./node_modules/core-js/library/modules/_cof.js","webpack://epower-open/./node_modules/core-js/library/modules/_core.js","webpack://epower-open/./node_modules/core-js/library/modules/_ctx.js","webpack://epower-open/./node_modules/core-js/library/modules/_defined.js","webpack://epower-open/./node_modules/core-js/library/modules/_descriptors.js","webpack://epower-open/./node_modules/core-js/library/modules/_dom-create.js","webpack://epower-open/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://epower-open/./node_modules/core-js/library/modules/_enum-keys.js","webpack://epower-open/./node_modules/core-js/library/modules/_export.js","webpack://epower-open/./node_modules/core-js/library/modules/_fails.js","webpack://epower-open/./node_modules/core-js/library/modules/_global.js","webpack://epower-open/./node_modules/core-js/library/modules/_has.js","webpack://epower-open/./node_modules/core-js/library/modules/_hide.js","webpack://epower-open/./node_modules/core-js/library/modules/_html.js","webpack://epower-open/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://epower-open/./node_modules/core-js/library/modules/_iobject.js","webpack://epower-open/./node_modules/core-js/library/modules/_is-array.js","webpack://epower-open/./node_modules/core-js/library/modules/_is-object.js","webpack://epower-open/./node_modules/core-js/library/modules/_iter-create.js","webpack://epower-open/./node_modules/core-js/library/modules/_iter-define.js","webpack://epower-open/./node_modules/core-js/library/modules/_iter-step.js","webpack://epower-open/./node_modules/core-js/library/modules/_iterators.js","webpack://epower-open/./node_modules/core-js/library/modules/_library.js","webpack://epower-open/./node_modules/core-js/library/modules/_meta.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-assign.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-create.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-dp.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-dps.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-gopd.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-gopn.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-gops.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-gpo.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-keys.js","webpack://epower-open/./node_modules/core-js/library/modules/_object-pie.js","webpack://epower-open/./node_modules/core-js/library/modules/_property-desc.js","webpack://epower-open/./node_modules/core-js/library/modules/_redefine.js","webpack://epower-open/./node_modules/core-js/library/modules/_set-proto.js","webpack://epower-open/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://epower-open/./node_modules/core-js/library/modules/_shared-key.js","webpack://epower-open/./node_modules/core-js/library/modules/_shared.js","webpack://epower-open/./node_modules/core-js/library/modules/_string-at.js","webpack://epower-open/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://epower-open/./node_modules/core-js/library/modules/_to-integer.js","webpack://epower-open/./node_modules/core-js/library/modules/_to-iobject.js","webpack://epower-open/./node_modules/core-js/library/modules/_to-length.js","webpack://epower-open/./node_modules/core-js/library/modules/_to-object.js","webpack://epower-open/./node_modules/core-js/library/modules/_to-primitive.js","webpack://epower-open/./node_modules/core-js/library/modules/_uid.js","webpack://epower-open/./node_modules/core-js/library/modules/_wks-define.js","webpack://epower-open/./node_modules/core-js/library/modules/_wks-ext.js","webpack://epower-open/./node_modules/core-js/library/modules/_wks.js","webpack://epower-open/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://epower-open/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://epower-open/./node_modules/core-js/library/modules/es6.object.create.js","webpack://epower-open/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://epower-open/./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack://epower-open/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://epower-open/./node_modules/core-js/library/modules/es6.symbol.js","webpack://epower-open/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://epower-open/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://epower-open/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://epower-open/./node_modules/lodash/_Symbol.js","webpack://epower-open/./node_modules/lodash/_baseGetTag.js","webpack://epower-open/./node_modules/lodash/_baseTrim.js","webpack://epower-open/./node_modules/lodash/_freeGlobal.js","webpack://epower-open/./node_modules/lodash/_getRawTag.js","webpack://epower-open/./node_modules/lodash/_objectToString.js","webpack://epower-open/./node_modules/lodash/_root.js","webpack://epower-open/./node_modules/lodash/_trimmedEndIndex.js","webpack://epower-open/./node_modules/lodash/debounce.js","webpack://epower-open/./node_modules/lodash/isObject.js","webpack://epower-open/./node_modules/lodash/isObjectLike.js","webpack://epower-open/./node_modules/lodash/isSymbol.js","webpack://epower-open/./node_modules/lodash/now.js","webpack://epower-open/./node_modules/lodash/toNumber.js","webpack://epower-open/./node_modules/performance-now/lib/performance-now.js","webpack://epower-open/./node_modules/raf/index.js","webpack://epower-open/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://epower-open/./node_modules/rc-tween-one/es/util.js","webpack://epower-open/./node_modules/rc-tween-one/es/easing.js","webpack://epower-open/./node_modules/rc-tween-one/es/plugins.js","webpack://epower-open/./node_modules/rc-tween-one/es/plugin/StylePlugin.js","webpack://epower-open/./node_modules/rc-tween-one/es/Tween.js","webpack://epower-open/./node_modules/rc-tween-one/es/ticker.js","webpack://epower-open/./node_modules/rc-tween-one/es/TweenOne.js","webpack://epower-open/./node_modules/rc-tween-one/es/TweenOneGroup.js","webpack://epower-open/./node_modules/rc-tween-one/es/index.js","webpack://epower-open/./node_modules/style-utils/main.js","webpack://epower-open/./node_modules/tween-functions/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_get","property","receiver","Reflect","get","base","prototype","hasOwnProperty","call","_getPrototypeOf","_superPropBase","desc","value","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","this","constructor","construct","self","_typeof","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_wrapNativeSuper","Class","_cache","Map","undefined","fn","Function","toString","indexOf","TypeError","has","set","Wrapper","_construct","create","writable","configurable","_setPrototypeOf","Parent","args","a","instance","bind","sham","Proxy","Date","e","o","p","setPrototypeOf","__proto__","getPrototypeOf","obj","Symbol","iterator","_classCallCheck","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","exports","default","_default","BaseMonitor","_this2","url","params","http","XMLHttpRequest","setRequestHeader","open","send","reWriteEvent","listenFetch","listenJsError","listenPageUnload","listenPromise","console","error","env","wx","weex","window","getEnv","scriptEle","document","createElement","async","defer","append","head","_this","fetch","originFetch","options","startTime","then","response","onFetch","success","ok","duration","code","status","message","statusText","catch","err","newXhr","_XMLHttpRequest","subClass","superClass","_inherits","_super","addEventListener","readyState","dur","responseText","originRequest","request","newRequest","originSuccess","originFail","fail","res","statusCode","errMsg","_this3","evt","lineno","colno","filename","info","assign","onJsError","JSON","stringify","onError","msg","_this4","reason","reportJsError","attr","stack","type","_this5","onPageUnload","Fusion","registerEventListener","event","data","globalEvent","requireModule","warn","onAppHide","__esModule","_BaseMonitor","FeMonitor","config","baseConfig","log","_feMonitor","reportApi","reportEvent","setPage","auto","apiName","clearTimeout","heart","upload","getReportList","_this$baseConfig","minReportCount","minReportDelay","now","eventStack","lastReportTime","reportList","concat","_ref","_ref$message","_ref$attr","test","report","eventId","moduleName","line","project","_ref2","_ref2$attr","_this$config","appid","getDefaultAttr","defaultAttr","ev","page","getPage","time","checkReport","location","href","pages","getCurrentPages","route","bundleUrl","Promise","resolve","reject","nv","navigator","ua","userAgent","appName","appVersion","sendBeacon","getNetworkType","complete","getSystemInfoSync","networkType","canReport","setTimeout","unLoad","reportUrl","syncRequest","mode","method","headers","body","definePublicReport","__rest","s","t","propertyIsEnumerable","defaultIndicator","Spin","_React$Component","debouncifyUpdateSpinning","delay","cancelExistingSpin","updateSpinning","originalUpdateSpinning","spinning","state","setState","renderSpin","_classNames","getPrefixCls","direction","_a","customizePrefixCls","prefixCls","className","size","tip","wrapperClassName","style","restProps","spinClassName","divProps","spinElement","indicator","dotClassName","renderIndicator","isNestedPattern","containerClassName","children","shouldBeDelayed","isNaN","Number","shouldDelay","cancel","C","defaultProps","module","_defineProperty2","_assign","_assign2","_setPrototypeOf2","_interopRequireDefault","_create2","_typeof3","_typeof2","_iterator2","_symbol2","$Object","P","D","it","isObject","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","O","index","slice","core","version","__e","aFunction","that","b","c","is","split","getKeys","gOPS","pIE","getSymbols","f","isEnum","global","ctx","hide","PROTOTYPE","$export","name","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","virtual","R","U","exec","Math","__g","dP","createDesc","documentElement","cof","Array","isArray","arg","setToStringTag","IteratorPrototype","NAME","next","LIBRARY","redefine","Iterators","$iterCreate","ITERATOR","BUGGY","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","done","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","KEY","NEED","fastKey","getWeak","onFreeze","DESCRIPTORS","toObject","IObject","$assign","A","K","k","join","T","aLen","j","anObject","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","src","contentWindow","write","lt","close","Properties","IE8_DOM_DEFINE","toPrimitive","Attributes","gOPD","gOPN","windowNames","getOwnPropertyNames","getWindowNames","$keys","hiddenKeys","ObjectProto","arrayIndexOf","names","bitmap","check","buggy","def","tag","stat","shared","uid","SHARED","store","copyright","toInteger","defined","TO_STRING","pos","String","l","charCodeAt","charAt","max","min","ceil","floor","val","valueOf","px","random","wksExt","$Symbol","USE_SYMBOL","addToUnscopables","step","iterated","_t","_i","_k","Arguments","$at","point","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","TO_STRING_TAG","DOMIterables","Collection","getRawTag","objectToString","symToStringTag","toStringTag","trimmedEndIndex","reTrimStart","string","replace","freeGlobal","g","objectProto","nativeObjectToString","isOwn","unmasked","freeSelf","root","reWhitespace","toNumber","nativeMax","nativeMin","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","flush","baseGetTag","isObjectLike","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","isBinary","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","process","hr","uptime","getTime","vendors","suffix","raf","caf","last","queue","frameDuration","callback","_now","cp","cancelled","round","handle","polyfill","requestAnimationFrame","cancelAnimationFrame","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","nextProps","prevState","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","Component","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning","windowIsUndefined","transformOrFilter","transform","styleValueToArray","margin","padding","borderWidth","borderRadius","toArrayChildren","ret","dataToArray","vars","objectEqual","obj1","obj2","$a","$b","some","aa","bb","aaa","bbb","match","deepEql","equalBool","setEqualBool","objA","objB","item","findChildInChildrenByKey","transformArguments","getChildrenFromProps","startConvertToEndUnit","computedStyle","num","unit","dataUnit","fixed","isOriginWidth","horiz","parentNode","pix","htmlComputedStyle","parseFloat","clientWidth","clientHeight","fontSize","getComputedStyle","getElementsByTagName","getTransformValue","perspective","angle","rotate","rotateX","rotateY","sx","scaleX","sy","scaleY","sz","scaleZ","skx","skewX","sky","skewY","translateX","translateY","translateZ","sk","an","ss","rX","rY","defaultTranslate","trim","_path","_param","param","pathNode","path","domPath","createElementNS","setAttributeNS","querySelector","parsePath","pathLength","getTotalLength","rect","lengthPixel","points","getPointAtLength","_c","d","timePointX","x","y","Plugins","plugin","StylePlugin","propsData","setDefaultData","getTweenData","$vars","dataType","dataCount","dataSplitStr","map","_item","_key","_data","convertToMarksArray","startUnit","endUnit","getAnimStart","tween","isSvg","tweenStyle","cssName","startData","position","unitReg","filterName","filterObject","start","setArrayRatio","ratio","startInset","endInset","splice","_vars","endData","startIsAlpha","color","setRatio","_isTransform","startVars","endVars","count","css","xStart","yStart","transformSVG","_type","styleUnit","filterStyle","filterKey","noop","defaultData","ease","easing","onUpdate","onComplete","onStart","onRepeat","repeat","repeatDelay","yoyo","initTime","appearTo","perTime","currentRepeat","Tween","to","toData","accuracy","totalTime","progressTime","startDefaultData","perFrame","register","ownerSVGElement","setAttrIsStyle","defaultParam","_d","getAttribute","bezier","getValue","repeatMax","appearToBool","appearToTime","tweenData","appearNow","MAX_VALUE","defaultView","attrStyle","getAnimStartData","attribute","setAnimData","_endData","setValue","setAttribute","render","_this6","reverse","repeatNum","cb","moment","maxPer","updateAnim","reset","onChange","currentProgress","reverseStartTime","frame","_this7","init","resetAnimData","resetDefaultStyle","_this8","domStyle","cssText","defaultStyle","$data","styleToArray","getStyleToArray","styleString","str","domStyleToArray","$name","styleName","$item","reStart","preStyle","isTween","_this9","sortObj","interval","timeout","TweenOneTicker","tickObjToArray","sort","Ticker","tickFnArray","tickKeyObject","tweenId","elapsed","lastUpdate","nextTime","add","wake","tick","clear","sleep","ticker","overlap","timeoutIdNumber","timeoutID","intervalIdNumber","intervalID","starTime","objectOrArray","TweenOne","_Component","_initialiseProps","rafID","paused","currentRef","forced","setForcedJudg","$self","dom","newAnimation","animation","resetStyle","nextMoment","startMoment","play","cancelRequestAnimationFrame","reverseDelay","restart","nodeName","_props","component","componentProps","forcedJudg","prefix","refFunc","childStyle","childClass","newStyle","newClassName","ref","propTypes","setDefault","tweenMoment","timelineMode","timelineRepeatNum","isTweenOne","TweenOneGroup","keysToEnter","keysToLeave","saveTweenTag","onEnterBool","animQueue","currentChildren","nextChildren","exclusive","changeChildren","nextChildrenPending","pendingChildren","followChildrenKey","newChildren","hasPrev","childrenToRender","getChildrenToRender","appear","enter","leave","animatingClassName","onEnd","classIsSvg","isEnter","baseVal","setClassName","reAnimQueue","child","currentChildrenKeys","$key","_obj","getTweenChild","getCoverAnimation","animate","opacity","isTweenOneGroup","$1","toLocaleLowerCase","toFixed","matrixs","_p","toUpperCase","substr","prefixCss","parseColor","v","inset","vArr","rgba","isTransform","cssList","dataArr","_transform","tm","strArray","transformGroup","substring","transformNoMatrix","m","getMatrix","m11","m12","m13","m14","m21","m22","m23","m24","m31","m32","m33","m34","m43","t1","t2","t3","atan2","tan","cos","sin","RAD2DEG","abs","sqrt","m41","m42","_value","isUnitlessNumber","unquotedContentValueRegex","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","prop","prefixKey","IE","rnd","colorLookup","aqua","lime","silver","black","maroon","teal","blue","navy","white","fuchsia","olive","yellow","orange","gray","purple","green","red","pink","cyan","transparent","_hue","hh","m1","m2","h","PI","$cssList","_lists","transformsBase","transforms3D","translate","translate3d","scale","scale3d","rotate3d","skew","filterConvert","grayScale","hueRotate","_rnd","pow","n","dec","r","_v","_numExp","arr","m44","ii","findStyleByName","cssArray","_cname","cName","tweenFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce"],"mappings":";wGAOA,SAASA,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,UAAY,KAAIP,EAAKQ,KAAKC,MAAMT,EAAMG,EAAU,CAAE,OAAOH,CAAM,CAEpV,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,CAAC,EAAOA,EAAI,EAAKf,EAAQI,OAAOc,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,GAAO,IAAehB,OAAOkB,0BAA6BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAmBlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,GAAO,GAAM,CAAE,OAAON,CAAQ,CAErhB,SAASW,EAAKX,EAAQY,EAAUC,GAAuV,OAAtRF,EAA9B,oBAAZG,SAA2BA,QAAQC,IAAcD,QAAQC,IAAqB,SAAcf,EAAQY,EAAUC,GAAY,IAAIG,EAErL,SAAwB7B,EAAQyB,GAAY,MAAQtB,OAAO2B,UAAUC,eAAeC,KAAKhC,EAAQyB,IAA8D,QAAjDzB,EAASiC,EAAgBjC,MAAuC,OAAOA,CAAQ,CAFDkC,CAAerB,EAAQY,GAAW,GAAKI,EAAL,CAAmB,IAAIM,EAAOhC,OAAOK,yBAAyBqB,EAAMJ,GAAW,OAAIU,EAAKP,IAAcO,EAAKP,IAAII,KAAKN,GAAoBS,EAAKC,KAA5H,CAAmI,EAAYZ,EAAKX,EAAQY,EAAUC,GAAYb,EAAS,CAM1a,SAASwB,EAAaC,GAAW,IAAIC,EAA4BC,IAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQT,EAAgBK,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYV,EAAgBW,MAAMC,YAAaJ,EAASd,QAAQmB,UAAUJ,EAAO3B,UAAW4B,EAAY,MAASF,EAASC,EAAM/B,MAAMiC,KAAM7B,WAAc,OAEpX,SAAoCgC,EAAMf,GAAQ,GAAIA,IAA2B,WAAlBgB,EAAQhB,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAE3I,SAAgCe,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIE,eAAe,6DAAgE,OAAOF,CAAM,CAFnBG,CAAuBH,EAAO,CAF2MI,CAA2BP,KAAMH,EAAS,CAAG,CAMxa,SAASW,EAAiBC,GAAS,IAAIC,EAAwB,mBAARC,IAAqB,IAAIA,SAAQC,EAA8nB,OAAnnBJ,EAAmB,SAA0BC,GAAS,GAAc,OAAVA,IAMlII,EANuKJ,GAMjG,IAAzDK,SAASC,SAAS3B,KAAKyB,GAAIG,QAAQ,kBAN+H,OAAOP,EAMjN,IAA2BI,EAN6L,GAAqB,mBAAVJ,EAAwB,MAAM,IAAIQ,UAAU,sDAAyD,QAAsB,IAAXP,EAAwB,CAAE,GAAIA,EAAOQ,IAAIT,GAAQ,OAAOC,EAAO1B,IAAIyB,GAAQC,EAAOS,IAAIV,EAAOW,EAAU,CAAE,SAASA,IAAY,OAAOC,EAAWZ,EAAOtC,UAAWkB,EAAgBW,MAAMC,YAAc,CAAkJ,OAAhJmB,EAAQlC,UAAY3B,OAAO+D,OAAOb,EAAMvB,UAAW,CAAEe,YAAa,CAAET,MAAO4B,EAASvD,YAAY,EAAO0D,UAAU,EAAMC,cAAc,KAAkBC,EAAgBL,EAASX,EAAQ,EAAUD,EAAiBC,EAAQ,CAEtvB,SAASY,EAAWK,EAAQC,EAAMlB,GAAqV,OAAzSY,EAA/BzB,IAA4Cb,QAAQmB,UAAiC,SAAoBwB,EAAQC,EAAMlB,GAAS,IAAImB,EAAI,CAAC,MAAOA,EAAE9D,KAAKC,MAAM6D,EAAGD,GAAO,IAAsDE,EAAW,IAA/Cf,SAASgB,KAAK/D,MAAM2D,EAAQE,IAA6F,OAAnDnB,GAAOgB,EAAgBI,EAAUpB,EAAMvB,WAAmB2C,CAAU,EAAYR,EAAWtD,MAAM,KAAMI,UAAY,CAEja,SAASyB,IAA8B,GAAuB,oBAAZb,UAA4BA,QAAQmB,UAAW,OAAO,EAAO,GAAInB,QAAQmB,UAAU6B,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3EC,KAAK/C,UAAU6B,SAAS3B,KAAKL,QAAQmB,UAAU+B,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOC,GAAK,OAAO,CAAO,CAAE,CAInU,SAAST,EAAgBU,EAAGC,GAA+G,OAA1GX,EAAkBlE,OAAO8E,gBAAkB,SAAyBF,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUV,EAAgBU,EAAGC,EAAI,CAEzK,SAAS/C,EAAgB8C,GAAwJ,OAAnJ9C,EAAkB9B,OAAO8E,eAAiB9E,OAAOgF,eAAiB,SAAyBJ,GAAK,OAAOA,EAAEG,WAAa/E,OAAOgF,eAAeJ,EAAI,EAAU9C,EAAgB8C,EAAI,CAE5M,SAAS/B,EAAQoC,GAAmV,OAAtOpC,EAArD,mBAAXqC,QAAoD,iBAApBA,OAAOC,SAAmC,SAAiBF,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXC,QAAyBD,EAAIvC,cAAgBwC,QAAUD,IAAQC,OAAOvD,UAAY,gBAAkBsD,CAAK,EAAYpC,EAAQoC,EAAM,CAEzX,SAASG,EAAgBd,EAAUe,GAAe,KAAMf,aAAoBe,GAAgB,MAAM,IAAI3B,UAAU,oCAAwC,CAExJ,SAAS4B,EAAkB5E,EAAQ6E,GAAS,IAAK,IAAI5E,EAAI,EAAGA,EAAI4E,EAAM1E,OAAQF,IAAK,CAAE,IAAI6E,EAAaD,EAAM5E,GAAI6E,EAAWlF,WAAakF,EAAWlF,aAAc,EAAOkF,EAAWvB,cAAe,EAAU,UAAWuB,IAAYA,EAAWxB,UAAW,GAAMhE,OAAOoB,eAAeV,EAAQ8E,EAAWxE,IAAKwE,EAAa,CAAE,CAE5T,SAASC,EAAaJ,EAAaK,EAAYC,GAAmJ,OAAhID,GAAYJ,EAAkBD,EAAY1D,UAAW+D,GAAiBC,GAAaL,EAAkBD,EAAaM,GAAqBN,CAAa,CAEtN,SAASpE,EAAgBgE,EAAKjE,EAAKiB,GAAiK,OAApJjB,KAAOiE,EAAOjF,OAAOoB,eAAe6D,EAAKjE,EAAK,CAAEiB,MAAOA,EAAO3B,YAAY,EAAM2D,cAAc,EAAMD,UAAU,IAAkBiB,EAAIjE,GAAOiB,EAAgBgD,CAAK,CAzChNjF,OAAOoB,eAAewE,EAAS,aAAc,CAC3C3D,OAAO,IAET2D,EAAQC,aAAU,EAyClB,IA2UIC,EA3U2B,WAC7B,SAASC,IACP,IAAIC,EAASvD,KAEb2C,EAAgB3C,KAAMsD,GAEtB9E,EAAgBwB,KAAM,WAAW,WAAa,IAE9CxB,EAAgBwB,KAAM,aAAa,WAAa,IAEhDxB,EAAgBwB,KAAM,gBAAgB,WAAa,IAEnDxB,EAAgBwB,KAAM,eAAe,SAAUwD,EAAKC,GAClD,IAAIC,EAAO,IAAIH,EAAOI,eACtBD,EAAKE,iBAAiB,eAAgB,mCACtCF,EAAKG,KAAK,OAAQL,GAAK,GACvBE,EAAKI,KAAKL,EACZ,IAQA,IACEzD,KAAK+D,eACL/D,KAAKgE,cACLhE,KAAKiE,gBACLjE,KAAKkE,mBACLlE,KAAKmE,eACP,CAAE,MAAOjC,GACPkC,QAAQC,MAAM,aAAcnC,EAC9B,CACF,CAsSA,OApSAc,EAAaM,EAAa,CAAC,CACzB/E,IAAK,SACLiB,MAAO,WACL,IACE,OAAIQ,KAAKsE,MAIuD,YAA7C,oBAAPC,GAAqB,YAAcnE,EAAQmE,KACrDvE,KAAKsE,IAAM,KAC8D,YAA/C,oBAATE,KAAuB,YAAcpE,EAAQoE,OAC9DxE,KAAKsE,IAAM,OACkE,YAAjD,oBAAXG,OAAyB,YAAcrE,EAAQqE,WAChEzE,KAAKsE,IAAM,QARJtE,KAAKsE,GAYhB,CAAE,MAAOpC,GACP,MAAO,EACT,CACF,GACC,CACD3D,IAAK,eACLiB,MAAO,WAqBL,GAAsB,QAAlBQ,KAAK0E,SAAoB,CAC3B,IACIC,EAAYC,SAASC,cAAc,UACvCF,EAAUG,OAAQ,EAClBH,EAAUI,OAAQ,EAClBJ,EAAUK,OAJ0B,gnFAKpCJ,SAASK,KAAKD,OAAOL,EACvB,CACF,GAMC,CACDpG,IAAK,cACLiB,MAAO,WACL,IAAI0F,EAAQlF,KAEZ,GAAsB,QAAlBA,KAAK0E,SAAoB,CAC3B,GAAID,OAAOU,MAAO,CAChBnF,KAAKoF,YAAcX,OAAOU,MAC1B,IAAIC,EAAcX,OAAOU,MAEzBV,OAAOU,MAAQ,SAAU3B,EAAK6B,GAC5B,IAAIC,GAAa,IAAIrD,KACrB,OAAOmD,EAAYhG,KAAKY,KAAMwD,EAAK6B,GAASE,MAAK,SAAUC,GASzD,OARAN,EAAMO,QAAQ,CACZjC,IAAKA,EACLkC,QAASF,EAASG,GAClBC,UAAW,IAAI3D,KAASqD,EACxBO,KAAML,EAASM,OACfC,QAASP,EAASQ,aAGbR,CACT,IAAGS,OAAM,SAAUC,GASjB,MARAhB,EAAMO,QAAQ,CACZjC,IAAKA,EACLkC,SAAS,EACTE,UAAW,IAAI3D,KAASqD,EACxBO,KAAM,EACNE,QAASG,GAAOA,EAAIH,SAAW,KAG3BG,CACR,GACF,CACF,CAEA,GAAIzB,OAAOd,eAAgB,CACzB3D,KAAK2D,eAAiBc,OAAOd,eAE7B,IAAIwC,EAAsB,SAAUC,IApK9C,SAAmBC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrF,UAAU,sDAAyDoF,EAASnH,UAAY3B,OAAO+D,OAAOgF,GAAcA,EAAWpH,UAAW,CAAEe,YAAa,CAAET,MAAO6G,EAAU9E,UAAU,EAAMC,cAAc,KAAe8E,GAAY7E,EAAgB4E,EAAUC,EAAa,CAqKpXC,CAAUJ,EAAQC,GAElB,IAAII,EAAS/G,EAAa0G,GAE1B,SAASA,IAGP,OAFAxD,EAAgB3C,KAAMmG,GAEfK,EAAOpH,KAAKY,KACrB,CAmCA,OAjCAgD,EAAamD,EAAQ,CAAC,CACpB5H,IAAK,OACLiB,MAAO,WACLQ,KAAKsF,WAAa,IAAIrD,KAEtBrD,EAAKS,EAAgB8G,EAAOjH,WAAY,OAAQc,MAAMjC,MAAMiC,KAAM7B,WAElE,IAAIqF,EAAMrF,UAAU,GACpB6B,KAAKyG,iBAAiB,oBAAoB,WACxC,GAAuB,GAAnBzG,KAAK0G,WAAiB,CACxB,IAAIC,GAAO,IAAI1E,KAASjC,KAAKsF,UAEV,KAAftF,KAAK8F,OACPZ,EAAMO,QAAQ,CACZjC,IAAKA,EACLkC,SAAS,EACTE,SAAUe,EACVd,KAAM,MAGRX,EAAMO,QAAQ,CACZjC,IAAKA,EACLkC,SAAS,EACTE,SAAUe,EACVd,KAAM7F,KAAK8F,OACXC,QAAS/F,KAAK4G,cAAgB,IAGpC,CACF,GACF,KAGKT,CACT,CA7C0B,CA6CV3F,EAAiBmD,iBAEjCc,OAAOd,eAAiBwC,CAC1B,CACF,MAAO,GAAsB,OAAlBnG,KAAK0E,SAAmB,CACjC,IAAImC,EAAgBtC,GAAGuC,QACvB9G,KAAK6G,cAAgBA,EAErB,IAAIE,EAAa,SAAoB1B,GACnC,IAAIC,GAAa,IAAIrD,KACjB+E,EAAgB3B,EAAQK,QACxBuB,EAAa5B,EAAQ6B,KACzB,OAAOL,EAAczH,KAAKY,KAAMhC,EAAcA,EAAc,CAAC,EAAGqH,GAAU,CAAC,EAAG,CAC5EK,QAAS,SAAiByB,GACxBjC,EAAMO,QAAQ,CACZjC,IAAK6B,EAAQ7B,IACbkC,SAAS,EACTE,UAAW,IAAI3D,KAASqD,EACxBO,KAAMsB,EAAIC,WACVrB,QAASoB,EAAIE,QAAU,KAGzBL,GAAiBA,EAAcG,EACjC,EACAD,KAAM,SAAchB,GAClBhB,EAAMO,QAAQ,CACZjC,IAAK6B,EAAQ7B,IACbkC,SAAS,EACTE,UAAW,IAAI3D,KAASqD,EACxBO,KAAMK,EAAIkB,WACVrB,QAASG,EAAImB,QAAU,KAGzBJ,GAAcA,EAAWf,EAC3B,IAEJ,EAEA3I,OAAOoB,eAAe4F,GAAI,UAAW,CACnC/C,cAAc,EACd3D,YAAY,EACZ0D,UAAU,EACV/B,MAAOuH,IAETxC,GAAGuC,QAAUC,CACf,CACF,GACC,CACDxI,IAAK,gBAMLiB,MAAO,WACL,IAAI8H,EAAStH,KAES,QAAlBA,KAAK0E,UAAsBD,OAAOgC,iBACpChC,OAAOgC,iBAAiB,SAAS,SAAUc,GACzC,IAAIxB,EAAUwB,EAAIxB,QACdyB,EAASD,EAAIC,OACbC,EAAQF,EAAIE,MACZpD,EAAQkD,EAAIlD,MACZqD,EAAWH,EAAIG,SACfC,EAAOpK,OAAOqK,OAAO,CAAC,EAAG,CAC3B7B,QAASA,EACTyB,OAAQA,EACRC,MAAOA,EACPC,SAAUA,GACT1J,EAAc,CAAC,EAAGqG,IAErBiD,EAAOO,UAAUC,KAAKC,UAAUJ,GAElC,IAC2B,OAAlB3H,KAAK0E,UAAqBH,GAAGyD,SACtCzD,GAAGyD,SAAQ,SAAUC,GACnBX,EAAOO,UAAUI,EACnB,GAEJ,GACC,CACD1J,IAAK,gBACLiB,MAAO,WACL,IAAI0I,EAASlI,KAES,QAAlBA,KAAK0E,UAAsBD,OAAOgC,kBACpChC,OAAOgC,iBAAiB,sBAAsB,SAAUvE,GACtD,IAAIiG,EAASjG,EAAEiG,OAEVA,GAILD,EAAOE,cAAc,CACnBrC,QAASoC,EAAOpC,QAChBsC,KAAM,CACJtC,QAASoC,EAAOpC,QAChBuC,MAAOH,EAAOG,MACdC,KAAM,YAGZ,GAEJ,GAMC,CACDhK,IAAK,mBACLiB,MAAO,WACL,IAAIgJ,EAASxI,KAEb,GAAsB,QAAlBA,KAAK0E,SACPD,OAAOgC,iBAAiB,gBAAgB,SAAUvE,GAChDsG,EAAOC,cACT,IACAhE,OAAOgC,iBAAiB,UAAU,SAAUvE,GAC1CsG,EAAOC,cACT,IACAhE,OAAOiE,QAAUjE,OAAOiE,OAAOC,uBAAyBlE,OAAOiE,OAAOC,sBAAsB,CAC1FC,MAAO,gDACN,SAAUC,GACXL,EAAOC,cACT,SACK,GAAsB,SAAlBzI,KAAK0E,SAAqB,CACnC,IAAIoE,EAActE,KAAKuE,cAAc,eACrCD,EAAYrC,iBAAiB,sCAAsC,SAAUvE,GAC3E,IACEsG,EAAOC,cACT,CAAE,MAAOvG,GACPkC,QAAQ4E,KAAK9G,EACf,CACF,IACA4G,EAAYrC,iBAAiB,+CAA+C,SAAUvE,GACpF,IACEsG,EAAOC,cACT,CAAE,MAAOvG,GACPkC,QAAQ4E,KAAK9G,EACf,CACF,GACF,KAA6B,OAAlBlC,KAAK0E,UAAqBH,GAAG0E,WACtC1E,GAAG0E,WAAU,WACXT,EAAOC,cACT,GAEJ,KAGKnF,CACT,CAzU+B,GA4U/BH,EAAQC,QAAUC,C,mCCjXcb,EAJhCW,EAAQ,OAAU,EAMlB,IAAIE,IAF4Bb,EAFM,EAAQ,SAEOA,EAAI0G,WAAa1G,EAAM,CAAEY,QAASZ,IAE/DY,QAExBD,EAAQ,EAAUE,C,+BCNlB,IAEgCb,EAEhC,SAASpC,EAAQoC,GAAmV,OAAtOpC,EAArD,mBAAXqC,QAAoD,iBAApBA,OAAOC,SAAmC,SAAiBF,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXC,QAAyBD,EAAIvC,cAAgBwC,QAAUD,IAAQC,OAAOvD,UAAY,gBAAkBsD,CAAK,EAAYpC,EAAQoC,EAAM,CAEzX,SAASrF,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,UAAY,KAAIP,EAAKQ,KAAKC,MAAMT,EAAMG,EAAU,CAAE,OAAOH,CAAM,CAEpV,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,CAAC,EAAOA,EAAI,EAAKf,EAAQI,OAAOc,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,GAAO,IAAehB,OAAOkB,0BAA6BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAmBlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,GAAO,GAAM,CAAE,OAAON,CAAQ,CAMrhB,SAASwD,EAAgBU,EAAGC,GAA+G,OAA1GX,EAAkBlE,OAAO8E,gBAAkB,SAAyBF,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUV,EAAgBU,EAAGC,EAAI,CAEzK,SAAS3C,EAAaC,GAAW,IAAIC,EAMrC,WAAuC,GAAuB,oBAAZZ,UAA4BA,QAAQmB,UAAW,OAAO,EAAO,GAAInB,QAAQmB,UAAU6B,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3EC,KAAK/C,UAAU6B,SAAS3B,KAAKL,QAAQmB,UAAU+B,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOC,GAAK,OAAO,CAAO,CAAE,CANlQtC,GAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQT,EAAgBK,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYV,EAAgBW,MAAMC,YAAaJ,EAASd,QAAQmB,UAAUJ,EAAO3B,UAAW4B,EAAY,MAASF,EAASC,EAAM/B,MAAMiC,KAAM7B,WAAc,OAEpX,SAAoCgC,EAAMf,GAAQ,GAAIA,IAA2B,WAAlBgB,EAAQhB,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAOkB,EAAuBH,EAAO,CAF2MI,CAA2BP,KAAMH,EAAS,CAAG,CAIxa,SAASS,EAAuBH,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIE,eAAe,6DAAgE,OAAOF,CAAM,CAIrK,SAASd,EAAgB8C,GAAwJ,OAAnJ9C,EAAkB9B,OAAO8E,eAAiB9E,OAAOgF,eAAiB,SAAyBJ,GAAK,OAAOA,EAAEG,WAAa/E,OAAOgF,eAAeJ,EAAI,EAAU9C,EAAgB8C,EAAI,CAE5M,SAAS3D,EAAgBgE,EAAKjE,EAAKiB,GAAiK,OAApJjB,KAAOiE,EAAOjF,OAAOoB,eAAe6D,EAAKjE,EAAK,CAAEiB,MAAOA,EAAO3B,YAAY,EAAM2D,cAAc,EAAMD,UAAU,IAAkBiB,EAAIjE,GAAOiB,EAAgBgD,CAAK,CA/BhNjF,OAAOoB,eAAewE,EAAS,aAAc,CAC3C3D,OAAO,IAET2D,EAAQC,aAAU,EA8BlB,IA0XIC,EADU,IAzXe,SAAU8F,IAhBvC,SAAmB9C,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrF,UAAU,sDAAyDoF,EAASnH,UAAY3B,OAAO+D,OAAOgF,GAAcA,EAAWpH,UAAW,CAAEe,YAAa,CAAET,MAAO6G,EAAU9E,UAAU,EAAMC,cAAc,KAAe8E,GAAY7E,EAAgB4E,EAAUC,EAAa,CAiB9XC,CAAU6C,EAAWD,GAErB,IAAI3C,EAAS/G,EAAa2J,GAE1B,SAASA,IACP,IAAIlE,EAmWJ,OA3XJ,SAAyBrD,EAAUe,GAAe,KAAMf,aAAoBe,GAAgB,MAAM,IAAI3B,UAAU,oCAAwC,CA0BpJ0B,CAAgB3C,KAAMoJ,GAItB5K,EAAgB8B,EAFhB4E,EAAQsB,EAAOpH,KAAKY,OAE2B,aAAa,WAC1D,IAAIqJ,EAASlL,UAAUC,OAAS,QAAsBwC,IAAjBzC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAElF,IACEZ,OAAOqK,OAAO1C,EAAMmE,OAAQA,GAE5B9L,OAAOqK,OAAO1C,EAAMoE,WAAYD,EAClC,CAAE,MAAOnH,GACPkC,QAAQmF,IAAI,aAAcrH,EAC5B,CACF,IAEA1D,EAAgB8B,EAAuB4E,GAAQ,sBAAsB,WAC5C,OAAnBA,EAAMR,SACRH,GAAGiF,WAAa,CACdC,UAAWvE,EAAMuE,UACjBrB,cAAelD,EAAMkD,cACrBsB,YAAaxE,EAAMwE,YACnBC,QAASzE,EAAMyE,SAEW,QAAnBzE,EAAMR,SACfD,OAAO+E,WAAa,CAClBC,UAAWvE,EAAMuE,UACjBrB,cAAelD,EAAMkD,cACrBsB,YAAaxE,EAAMwE,YACnBC,QAASzE,EAAMyE,SAEW,SAAnBzE,EAAMR,WACfF,KAAKgF,WAAa,CAChBC,UAAWvE,EAAMuE,UACjBrB,cAAelD,EAAMkD,cACrBsB,YAAaxE,EAAMwE,YACnBC,QAASzE,EAAMyE,SAGrB,IAEAnL,EAAgB8B,EAAuB4E,GAAQ,WAAW,SAAUG,GAClE,GAAIH,EAAMmE,OAAOO,KAAM,CACrB,IAAIpG,EAAM6B,EAAQ7B,IACdkC,EAAUL,EAAQK,QAClBE,EAAWP,EAAQO,SACnBC,EAAOR,EAAQQ,KACfE,EAAUV,EAAQU,QAEtBb,EAAMuE,UAAU,CACdI,QAASrG,EACTkC,QAASA,EACTE,SAAUA,EACVC,KAAMA,EACNE,QAASA,GAEb,CACF,IAEAvH,EAAgB8B,EAAuB4E,GAAQ,aAAa,SAAUa,EAASsC,GACzEnD,EAAMmE,OAAOO,MACf1E,EAAMkD,cAAc,CAClBrC,QAASA,EACTsC,KAAMrK,EAAc,CAClB2J,KAAM5B,GACLsC,IAGT,IAEA7J,EAAgB8B,EAAuB4E,GAAQ,gBAAgB,WAC7D4E,aAAa5E,EAAM6E,OAEnB7E,EAAM8E,OAAO9E,EAAM+E,iBAAiB,EACtC,IAEAzL,EAAgB8B,EAAuB4E,GAAQ,aAAa,WAC1D,IAAIgF,EAAmBhF,EAAMoE,WACzBa,EAAiBD,EAAiBC,eAClCC,EAAiBF,EAAiBE,eAClCC,GAAO,IAAIpI,KAEf,OAAIiD,EAAMoF,WAAWlM,QAAU+L,IAAmBjF,EAAMqF,gBAAkBF,EAAMnF,EAAMqF,gBAAkBH,CAK1G,IAEA5L,EAAgB8B,EAAuB4E,GAAQ,iBAAiB,WAC9D,IAAIsF,EAAa,GAAGC,OAAOvF,EAAMoF,YAGjC,OAFApF,EAAMoF,WAAa,GACnBpF,EAAMqF,gBAAkB,IAAItI,KACrBuI,CACT,IAEAhM,EAAgB8B,EAAuB4E,GAAQ,aAAa,SAAUwF,GACpE,IAAIb,EAAUa,EAAKb,QACfnE,EAAUgF,EAAKhF,QACfE,EAAW8E,EAAK9E,SAChBC,EAAO6E,EAAK7E,KACZ8E,EAAeD,EAAK3E,QACpBA,OAA2B,IAAjB4E,EAA0B,GAAKA,EACzCC,EAAYF,EAAKrC,KACjBA,OAAqB,IAAduC,EAAuB,CAAC,EAAIA,EAElCf,GAA8B,kBAAZnE,EAKnBA,GAIA,sBAAsBmF,KAAKhB,IAI/B3E,EAAM4F,OAAO,CACXC,QAAS,GAAGN,OAAOvF,EAAMmE,OAAO2B,YAAc,GAAGP,OAAOvF,EAAMmE,OAAO4B,KAAM,KAAKR,OAAOvF,EAAMmE,OAAO6B,SAAU,KAAKT,OAAO/E,EAAU,YAAc,aAClJmE,QAASA,EACTnE,QAASA,EACTE,SAAUA,EACVC,KAAMA,EACNE,QAASA,EACTsC,KAAMrK,EAAcA,EAAc,CAAC,EAAGqK,GAAO,CAAC,EAAG,CAC/CwB,QAASA,EACTnE,QAASA,EACTE,SAAUA,EACVC,KAAMA,EACNE,QAASA,MAxBX3B,QAAQC,MAAM,6CA2BlB,IAEA7F,EAAgB8B,EAAuB4E,GAAQ,iBAAiB,SAAUiG,GACxE,IAAIpF,EAAUoF,EAAMpF,QAChBqF,EAAaD,EAAM9C,KACnBA,OAAsB,IAAf+C,EAAwB,CAAC,EAAIA,EAEnCrF,GACH3B,QAAQC,MAAM,2CAGhBa,EAAM4F,OAAO,CACXC,QAAS,GAAGN,OAAOvF,EAAMmE,OAAO2B,YAAc,GAAGP,OAAOvF,EAAMmE,OAAO4B,KAAM,KAAKR,OAAOvF,EAAMmE,OAAO6B,SAAU,aAC9GxF,SAAS,EACTiC,KAAM5B,EACNsC,KAAMA,GAEV,IAEA7J,EAAgB8B,EAAuB4E,GAAQ,eAAe,SAAUG,GACjEA,EAAQ0F,QAMb7F,EAAM4F,OAAOzF,GALXjB,QAAQC,MAAM,gCAMlB,IAEA7F,EAAgB8B,EAAuB4E,GAAQ,UAAU,WACvD,IAAIG,EAAUlH,UAAUC,OAAS,QAAsBwC,IAAjBzC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnF,IACE,IAAIkN,EAAenG,EAAMmE,OACrB2B,EAAaK,EAAaL,WAC1BM,EAAQD,EAAaC,MACrBL,EAAOI,EAAaJ,KACpBC,EAAUG,EAAaH,QAE3B,KAAKF,GAAgBC,GAASC,GAE5B,YADA9G,QAAQC,MAAM,8CAIhB,IAAIgE,EAAOhD,EAAQgD,KAEnBnD,EAAMqG,iBAAiBhG,MAAK,SAAUiG,GACpC,IACE,IAAIC,EAAKlO,OAAOqK,OAAO,CACrB0D,MAAOA,EACPL,KAAMA,EACNC,QAASA,EACTF,WAAYA,GAAc,GAAGP,OAAOQ,EAAM,KAAKR,OAAOS,GACtDQ,KAAMxG,EAAMyG,UACZC,KAAM3J,KAAKoI,MACXmB,YAAa1D,KAAKC,UAAUyD,IAE3BnG,EAAS,CACVgD,KAAMrK,EAAcA,EAAc,CAAC,EAAGqK,GAAO,CAAC,EAAG,CAC/C4C,KAAMA,EACNC,QAASA,EACTF,WAAYA,EACZM,MAAOA,EACPI,KAAMxG,EAAMyG,UACZC,KAAM3J,KAAKoI,UAIfnF,EAAMoF,WAAWxM,KAAK2N,GAEtBvG,EAAM2G,aACR,CAAE,MAAO3J,GACPkC,QAAQC,MAAM,aAAcnC,EAC9B,CACF,GACF,CAAE,MAAOA,GACPkC,QAAQC,MAAM,aAAcnC,EAC9B,CACF,IAEA1D,EAAgB8B,EAAuB4E,GAAQ,WAAW,SAAUwG,GAClExG,EAAMmE,OAAOqC,KAAOA,CACtB,IAEAlN,EAAgB8B,EAAuB4E,GAAQ,WAAW,WACxD,GAAIA,EAAMmE,OAAOqC,KACf,OAAOxG,EAAMmE,OAAOqC,KAGtB,GAAuB,QAAnBxG,EAAMR,SACR,OAAOoH,SAASC,KAGlB,GAAuB,OAAnB7G,EAAMR,SAAmB,CAC3B,IAAIsH,EAAQC,kBAEZ,GAAID,GAASA,EAAM5N,OACjB,OAAO4N,EAAMA,EAAM5N,OAAS,GAAG8N,KAEnC,MAAO,GAAuB,SAAnBhH,EAAMR,SACf,OAAOF,KAAK6E,OAAO8C,UAGrB,MAAO,EACT,IAEA3N,EAAgB8B,EAAuB4E,GAAQ,kBAAkB,WAC/D,OAAO,IAAIkH,SAAQ,SAAUC,EAASC,GACpC,GAAuB,QAAnBpH,EAAMR,SAAoB,CAC5B,IAAI6H,EAAKC,WAAa,CAAC,EACvBH,EAAQ,CACNI,GAAIF,EAAGG,UACPC,QAASJ,EAAGI,QACZC,WAAYL,EAAGK,WACfxC,eAAgBlF,EAAMoE,WAAWc,eACjCD,eAAgBjF,EAAMoE,WAAWa,eACjC0C,aAAcpI,OAAO+H,UAAUK,YAEnC,KAA8B,OAAnB3H,EAAMR,SACfH,GAAGuI,eAAe,CAChBC,SAAU,SAAkB5F,GAC1BkF,EAAQrO,EAAcA,EAAc,CAAC,EAAGuG,GAAGyI,qBAAsB,CAAC,EAAG,CACnEC,YAAa9F,GAAOA,EAAI8F,aAAe,GACvC7C,eAAgBlF,EAAMoE,WAAWc,eACjCD,eAAgBjF,EAAMoE,WAAWa,iBAErC,IAE0B,SAAnBjF,EAAMR,UACf2H,EAAQ7H,KAAK6E,OAAO/E,IAExB,GACF,IAEA9F,EAAgB8B,EAAuB4E,GAAQ,eAAe,WAC5D4E,aAAa5E,EAAM6E,OAEf7E,EAAMgI,aACRhI,EAAM8E,OAAO9E,EAAM+E,iBAGrB/E,EAAM6E,MAAQoD,YAAW,WACvBjI,EAAM2G,aACR,GAAG3G,EAAMoE,WAAWc,eACtB,IAEA5L,EAAgB8B,EAAuB4E,GAAQ,UAAU,SAAUsF,EAAY4C,GAC7E,IACE,GAAI5C,EAAWpM,OAAQ,CACrB,IAAIiP,EAAYnI,EAAMoE,WAAW+D,UAEjC,GAAuB,QAAnBnI,EAAMR,SACJD,OAAO+H,WAAa/H,OAAO+H,UAAUK,WACvCpI,OAAO+H,UAAUK,WAAWQ,EAAWvF,KAAKC,UAAUyC,IAC7C4C,EACTlI,EAAMoI,YAAYD,EAAWvF,KAAKC,UAAUyC,IAE5CtF,EAAME,aAAeF,EAAME,YAAYhG,KAAKqF,OAAQ4I,EAAW,CAC7DE,KAAM,OACNC,OAAQ,OACRC,QAAS,CACP,eAAgB,mCAElBC,KAAM5F,KAAKC,UAAUyC,UAGpB,GAAuB,OAAnBtF,EAAMR,SACfQ,EAAM2B,eAAiB3B,EAAM2B,cAAc,CACzCrD,IAAK6J,EACLG,OAAQ,OACR3E,KAAMf,KAAKC,UAAUyC,UAElB,GAAuB,SAAnBtF,EAAMR,SAAqB,CACvBF,KAAKuE,cAAc,UACzB5D,MAAM,CACX3B,IAAK6J,EACLI,QAAS,CACP,eAAgB,mCAElBD,OAAQ,OACRE,KAAM5F,KAAKC,UAAUyC,IAEzB,CACF,CACF,CAAE,MAAOtI,GACPkC,QAAQC,MAAM,aAAcnC,EAC9B,CACF,IAEA1D,EAAgB8B,EAAuB4E,GAAQ,eAAe,WAC5D,QAASX,GAAGyD,OACd,IAEA9C,EAAMoF,WAAa,GAGnBpF,EAAMoE,WAAa,CACjB+D,UAAW,gDACXlD,eAAgB,EAEhBC,eAAgB,KAGlBlF,EAAMmE,OAAS,CACbiC,MAAO,GAEPN,WAAY,GAEZC,KAAM,GAENC,QAAS,GAETtB,MAAM,GAKR1E,EAAMyI,qBAECzI,CACT,CAYA,OAAOkE,CACT,CAvX6B,GA1BG5G,EAFU,EAAQ,SAEGA,EAAI0G,WAAa1G,EAAM,CAAEY,QAASZ,IAiZxEY,UAIfD,EAAQC,QAAUC,C,mNCvZduK,EAAgC,SAAUC,EAAG3L,GAC/C,IAAI4L,EAAI,CAAC,EAET,IAAK,IAAI1L,KAAKyL,EACRtQ,OAAO2B,UAAUC,eAAeC,KAAKyO,EAAGzL,IAAMF,EAAElB,QAAQoB,GAAK,IAAG0L,EAAE1L,GAAKyL,EAAEzL,IAG/E,GAAS,MAALyL,GAAqD,mBAAjCtQ,OAAOC,sBAA2C,KAAIU,EAAI,EAAb,IAAgBkE,EAAI7E,OAAOC,sBAAsBqQ,GAAI3P,EAAIkE,EAAEhE,OAAQF,IAClIgE,EAAElB,QAAQoB,EAAElE,IAAM,GAAKX,OAAO2B,UAAU6O,qBAAqB3O,KAAKyO,EAAGzL,EAAElE,MAAK4P,EAAE1L,EAAElE,IAAM2P,EAAEzL,EAAElE,IADuB,CAGvH,OAAO4P,CACT,EAWIE,IAFY,OAAM,QAAS,UAAW,SAEnB,MAuCvB,IAAIC,EAAoB,SAAUC,IAChC,OAAUD,EAAMC,GAEhB,IAAI1H,GAAS,OAAayH,GAE1B,SAASA,EAAKnL,GACZ,IAAIoC,GAEJ,OAAgBlF,KAAMiO,IAEtB/I,EAAQsB,EAAOpH,KAAKY,KAAM8C,IAEpBqL,yBAA2B,SAAUrL,GACzC,IACIsL,GADOtL,GAASoC,EAAMpC,OACTsL,MAEbA,IACFlJ,EAAMmJ,qBAENnJ,EAAMoJ,eAAiB,IAASpJ,EAAMqJ,uBAAwBH,GAElE,EAEAlJ,EAAMoJ,eAAiB,WACrB,IAAIE,EAAWtJ,EAAMpC,MAAM0L,SACLtJ,EAAMuJ,MAAMD,WAEVA,GACtBtJ,EAAMwJ,SAAS,CACbF,SAAUA,GAGhB,EAEAtJ,EAAMyJ,WAAa,SAAUxD,GAC3B,IAAIyD,EAEAC,EAAe1D,EAAM0D,aACrBC,EAAY3D,EAAM2D,UAElBC,EAAK7J,EAAMpC,MACXkM,EAAqBD,EAAGE,UACxBC,EAAYH,EAAGG,UACfC,EAAOJ,EAAGI,KACVC,EAAML,EAAGK,IACTC,EAAmBN,EAAGM,iBACtBC,EAAQP,EAAGO,MACXC,EAAY3B,EAAOmB,EAAI,CAAC,YAAa,YAAa,OAAQ,MAAO,mBAAoB,UAErFP,EAAWtJ,EAAMuJ,MAAMD,SACvBS,EAAYJ,EAAa,OAAQG,GACjCQ,EAAgB,IAAWP,GAAYL,EAAc,CAAC,GAAG,OAAgBA,EAAa,GAAGnE,OAAOwE,EAAW,OAAiB,UAATE,IAAmB,OAAgBP,EAAa,GAAGnE,OAAOwE,EAAW,OAAiB,UAATE,IAAmB,OAAgBP,EAAa,GAAGnE,OAAOwE,EAAW,aAAcT,IAAW,OAAgBI,EAAa,GAAGnE,OAAOwE,EAAW,gBAAiBG,IAAM,OAAgBR,EAAa,GAAGnE,OAAOwE,EAAW,QAAuB,QAAdH,GAAsBF,GAAcM,GAEtcO,GAAW,OAAKF,EAAW,CAAC,WAAY,QAAS,cACjDG,EAA2B,gBAAoB,OAAO,OAAS,CAAC,EAAGD,EAAU,CAC/EH,MAAOA,EACPJ,UAAWM,IA7FnB,SAAyBP,EAAWnM,GAClC,IAAI6M,EAAY7M,EAAM6M,UAClBC,EAAe,GAAGnF,OAAOwE,EAAW,QAExC,OAAkB,OAAdU,EACK,MAGL,QAAeA,IACV,QAAaA,EAAW,CAC7BT,UAAW,IAAWS,EAAU7M,MAAMoM,UAAWU,MAIjD,QAAe5B,IACV,QAAaA,EAAkB,CACpCkB,UAAW,IAAWlB,EAAiBlL,MAAMoM,UAAWU,KAIxC,gBAAoB,OAAQ,CAC9CV,UAAW,IAAWU,EAAc,GAAGnF,OAAOwE,EAAW,eAC3C,gBAAoB,IAAK,CACvCC,UAAW,GAAGzE,OAAOwE,EAAW,eACjB,gBAAoB,IAAK,CACxCC,UAAW,GAAGzE,OAAOwE,EAAW,eACjB,gBAAoB,IAAK,CACxCC,UAAW,GAAGzE,OAAOwE,EAAW,eACjB,gBAAoB,IAAK,CACxCC,UAAW,GAAGzE,OAAOwE,EAAW,eAEpC,CA+DUY,CAAgBZ,EAAW/J,EAAMpC,OAAQsM,EAAmB,gBAAoB,MAAO,CACzFF,UAAW,GAAGzE,OAAOwE,EAAW,UAC/BG,GAAO,MAEV,GAAIlK,EAAM4K,kBAAmB,CAC3B,IAAIC,EAAqB,IAAW,GAAGtF,OAAOwE,EAAW,eAAe,OAAgB,CAAC,EAAG,GAAGxE,OAAOwE,EAAW,SAAUT,IAC3H,OAAoB,gBAAoB,OAAO,OAAS,CAAC,EAAGiB,EAAU,CACpEP,UAAW,IAAW,GAAGzE,OAAOwE,EAAW,mBAAoBI,KAC7Db,GAAyB,gBAAoB,MAAO,CACtDjQ,IAAK,WACJmR,GAA2B,gBAAoB,MAAO,CACvDR,UAAWa,EACXxR,IAAK,aACJ2G,EAAMpC,MAAMkN,UACjB,CAEA,OAAON,CACT,EAEA,IAAIlB,EAAW1L,EAAM0L,SAEjByB,EAlFR,SAAqBzB,EAAUJ,GAC7B,QAASI,KAAcJ,IAAU8B,MAAMC,OAAO/B,GAChD,CAgF0BgC,CAAY5B,EADtB1L,EAAMsL,OASlB,OAPAlJ,EAAMuJ,MAAQ,CACZD,SAAUA,IAAayB,GAEzB/K,EAAMqJ,uBAAyBrJ,EAAMoJ,eAErCpJ,EAAMiJ,yBAAyBrL,GAExBoC,CACT,CA4CA,OA1CA,OAAa+I,EAAM,CAAC,CAClB1P,IAAK,oBACLiB,MAAO,WACLQ,KAAKsO,gBACP,GACC,CACD/P,IAAK,qBACLiB,MAAO,WACLQ,KAAKmO,2BACLnO,KAAKsO,gBACP,GACC,CACD/P,IAAK,uBACLiB,MAAO,WACLQ,KAAKqO,oBACP,GACC,CACD9P,IAAK,qBACLiB,MAAO,WACL,IAAI8O,EAAiBtO,KAAKsO,eAEtBA,GAAkBA,EAAe+B,QACnC/B,EAAe+B,QAEnB,GACC,CACD9R,IAAK,kBACLiB,MAAO,WACL,SAAUQ,KAAK8C,YAAwC,IAAxB9C,KAAK8C,MAAMkN,SAC5C,GACC,CACDzR,IAAK,SACLiB,MAAO,WACL,OAAoB,gBAAoB,EAAA8Q,EAAgB,KAAMtQ,KAAK2O,WACrE,IACE,CAAC,CACHpQ,IAAK,sBACLiB,MAAO,SAA6BmQ,GAClC3B,EAAmB2B,CACrB,KAGK1B,CACT,CApIwB,CAoItB,aAEFA,EAAKsC,aAAe,CAClB/B,UAAU,EACVW,KAAM,UACNE,iBAAkB,IAEpB,S,kBC/MAmB,EAAOrN,QAAU,CAAE,QAAW,EAAQ,OAAqC+F,YAAY,E,kBCAvFsH,EAAOrN,QAAU,CAAE,QAAW,EAAQ,OAAqC+F,YAAY,E,kBCAvFsH,EAAOrN,QAAU,CAAE,QAAW,EAAQ,OAA8C+F,YAAY,E,kBCAhGsH,EAAOrN,QAAU,CAAE,QAAW,EAAQ,OAA+C+F,YAAY,E,kBCAjGsH,EAAOrN,QAAU,CAAE,QAAW,EAAQ,OAA8B+F,YAAY,E,kBCAhFsH,EAAOrN,QAAU,CAAE,QAAW,EAAQ,OAAuC+F,YAAY,E,6BCIzF/F,EAAQ,EAAU,SAAUtB,EAAUe,GACpC,KAAMf,aAAoBe,GACxB,MAAM,IAAI3B,UAAU,oCAExB,C,+BCJA,IAIgCuB,EAJ5BhE,EAAkB,EAAQ,OAE1BiS,GAE4BjO,EAFchE,IAEOgE,EAAI0G,WAAa1G,EAAM,CAAEY,QAASZ,GAEvFW,EAAQ,EAAU,WAChB,SAASzE,EAAiBT,EAAQ6E,GAChC,IAAK,IAAI5E,EAAI,EAAGA,EAAI4E,EAAM1E,OAAQF,IAAK,CACrC,IAAI6E,EAAaD,EAAM5E,GACvB6E,EAAWlF,WAAakF,EAAWlF,aAAc,EACjDkF,EAAWvB,cAAe,EACtB,UAAWuB,IAAYA,EAAWxB,UAAW,IACjD,EAAIkP,EAAiBrN,SAASnF,EAAQ8E,EAAWxE,IAAKwE,EACxD,CACF,CAEA,OAAO,SAAUH,EAAaK,EAAYC,GAGxC,OAFID,GAAYvE,EAAiBkE,EAAY1D,UAAW+D,GACpDC,GAAaxE,EAAiBkE,EAAaM,GACxCN,CACT,CACF,CAhBkB,E,+BCNlB,IAIgCJ,EAJ5BkO,EAAU,EAAQ,OAElBC,GAE4BnO,EAFMkO,IAEelO,EAAI0G,WAAa1G,EAAM,CAAEY,QAASZ,GAEvFW,EAAQ,EAAUwN,EAASvN,SAAW,SAAUnF,GAC9C,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAIK,KAAOF,EACVd,OAAO2B,UAAUC,eAAeC,KAAKf,EAAQE,KAC/CN,EAAOM,GAAOF,EAAOE,GAG3B,CAEA,OAAON,CACT,C,+BClBA,IAEI2S,EAAmBC,EAFD,EAAQ,QAM1BC,EAAWD,EAFD,EAAQ,QAMlBE,EAAWF,EAFA,EAAQ,QAIvB,SAASA,EAAuBrO,GAAO,OAAOA,GAAOA,EAAI0G,WAAa1G,EAAM,CAAEY,QAASZ,EAAO,CAE9FW,EAAQ,EAAU,SAAUkD,EAAUC,GACpC,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrF,UAAU,iEAAoF,IAAfqF,EAA6B,aAAc,EAAIyK,EAAS3N,SAASkD,KAG5JD,EAASnH,WAAY,EAAI4R,EAAS1N,SAASkD,GAAcA,EAAWpH,UAAW,CAC7Ee,YAAa,CACXT,MAAO6G,EACPxI,YAAY,EACZ0D,UAAU,EACVC,cAAc,KAGd8E,IAAYsK,EAAiBxN,SAAU,EAAIwN,EAAiBxN,SAASiD,EAAUC,GAAcD,EAAS/D,UAAYgE,EACxH,C,6BC5BAnD,EAAQ,EAAU,SAAUX,EAAKlF,GAC/B,IAAIW,EAAS,CAAC,EAEd,IAAK,IAAIC,KAAKsE,EACRlF,EAAK0D,QAAQ9C,IAAM,GAClBX,OAAO2B,UAAUC,eAAeC,KAAKoD,EAAKtE,KAC/CD,EAAOC,GAAKsE,EAAItE,IAGlB,OAAOD,CACT,C,+BCVA,IAIgCuE,EAJ5BwO,EAAW,EAAQ,OAEnBD,GAE4BvO,EAFMwO,IAEexO,EAAI0G,WAAa1G,EAAM,CAAEY,QAASZ,GAEvFW,EAAQ,EAAU,SAAUhD,EAAMf,GAChC,IAAKe,EACH,MAAM,IAAIE,eAAe,6DAG3B,OAAOjB,GAAuF,iBAA7D,IAATA,EAAuB,aAAc,EAAI2R,EAAS3N,SAAShE,KAAuC,mBAATA,EAA8Be,EAAPf,CAC1I,C,+BCdA+D,EAAQ+F,YAAa,EAErB,IAEI+H,EAAaJ,EAFD,EAAQ,QAMpBK,EAAWL,EAFD,EAAQ,QAIlBzQ,EAAsC,mBAArB8Q,EAAS9N,SAAwD,iBAAvB6N,EAAW7N,QAAuB,SAAUZ,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAmC,mBAArB0O,EAAS9N,SAA0BZ,EAAIvC,cAAgBiR,EAAS9N,SAAWZ,IAAQ0O,EAAS9N,QAAQlE,UAAY,gBAAkBsD,CAAK,EAEtT,SAASqO,EAAuBrO,GAAO,OAAOA,GAAOA,EAAI0G,WAAa1G,EAAM,CAAEY,QAASZ,EAAO,CAE9FW,EAAQC,QAAsC,mBAArB8N,EAAS9N,SAA0D,WAAhChD,EAAQ6Q,EAAW7N,SAAwB,SAAUZ,GAC/G,YAAsB,IAARA,EAAsB,YAAcpC,EAAQoC,EAC5D,EAAI,SAAUA,GACZ,OAAOA,GAAmC,mBAArB0O,EAAS9N,SAA0BZ,EAAIvC,cAAgBiR,EAAS9N,SAAWZ,IAAQ0O,EAAS9N,QAAQlE,UAAY,cAA0B,IAARsD,EAAsB,YAAcpC,EAAQoC,EACrM,C,kBCpBA,EAAQ,OACRgO,EAAOrN,QAAU,EAAjB,oB,kBCDA,EAAQ,OACR,IAAIgO,EAAU,gBACdX,EAAOrN,QAAU,SAAgBiO,EAAGC,GAClC,OAAOF,EAAQ7P,OAAO8P,EAAGC,EAC3B,C,kBCJA,EAAQ,OACR,IAAIF,EAAU,gBACdX,EAAOrN,QAAU,SAAwBmO,EAAI/S,EAAKgB,GAChD,OAAO4R,EAAQxS,eAAe2S,EAAI/S,EAAKgB,EACzC,C,kBCJA,EAAQ,OACRiR,EAAOrN,QAAU,EAAjB,4B,kBCDA,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACRqN,EAAOrN,QAAU,EAAjB,a,kBCJA,EAAQ,OACR,EAAQ,OACRqN,EAAOrN,QAAU,WAAoC,W,YCFrDqN,EAAOrN,QAAU,SAAUmO,GACzB,GAAiB,mBAANA,EAAkB,MAAMrQ,UAAUqQ,EAAK,uBAClD,OAAOA,CACT,C,YCHAd,EAAOrN,QAAU,WAA0B,C,kBCA3C,IAAIoO,EAAW,EAAQ,OACvBf,EAAOrN,QAAU,SAAUmO,GACzB,IAAKC,EAASD,GAAK,MAAMrQ,UAAUqQ,EAAK,sBACxC,OAAOA,CACT,C,kBCFA,IAAIE,EAAY,EAAQ,MACpBC,EAAW,EAAQ,OACnBC,EAAkB,EAAQ,OAC9BlB,EAAOrN,QAAU,SAAUwO,GACzB,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAGItS,EAHAuS,EAAIP,EAAUI,GACdxT,EAASqT,EAASM,EAAE3T,QACpB4T,EAAQN,EAAgBI,EAAW1T,GAIvC,GAAIuT,GAAeE,GAAMA,GAAI,KAAOzT,EAAS4T,GAG3C,IAFAxS,EAAQuS,EAAEC,OAEGxS,EAAO,OAAO,OAEtB,KAAMpB,EAAS4T,EAAOA,IAAS,IAAIL,GAAeK,KAASD,IAC5DA,EAAEC,KAAWH,EAAI,OAAOF,GAAeK,GAAS,EACpD,OAAQL,IAAgB,CAC5B,CACF,C,YCtBA,IAAI5Q,EAAW,CAAC,EAAEA,SAElByP,EAAOrN,QAAU,SAAUmO,GACzB,OAAOvQ,EAAS3B,KAAKkS,GAAIW,MAAM,GAAI,EACrC,C,YCJA,IAAIC,EAAO1B,EAAOrN,QAAU,CAAEgP,QAAS,SACrB,iBAAPC,MAAiBA,IAAMF,E,kBCAlC,IAAIG,EAAY,EAAQ,OACxB7B,EAAOrN,QAAU,SAAUtC,EAAIyR,EAAMlU,GAEnC,GADAiU,EAAUxR,QACGD,IAAT0R,EAAoB,OAAOzR,EAC/B,OAAQzC,GACN,KAAK,EAAG,OAAO,SAAUwD,GACvB,OAAOf,EAAGzB,KAAKkT,EAAM1Q,EACvB,EACA,KAAK,EAAG,OAAO,SAAUA,EAAG2Q,GAC1B,OAAO1R,EAAGzB,KAAKkT,EAAM1Q,EAAG2Q,EAC1B,EACA,KAAK,EAAG,OAAO,SAAU3Q,EAAG2Q,EAAGC,GAC7B,OAAO3R,EAAGzB,KAAKkT,EAAM1Q,EAAG2Q,EAAGC,EAC7B,EAEF,OAAO,WACL,OAAO3R,EAAG9C,MAAMuU,EAAMnU,UACxB,CACF,C,WClBAqS,EAAOrN,QAAU,SAAUmO,GACzB,GAAU1Q,MAAN0Q,EAAiB,MAAMrQ,UAAU,yBAA2BqQ,GAChE,OAAOA,CACT,C,kBCHAd,EAAOrN,SAAW,EAAQ,KAAR,EAAoB,WACpC,OAA+E,GAAxE5F,OAAOoB,eAAe,CAAC,EAAG,IAAK,CAAEK,IAAK,WAAc,OAAO,CAAG,IAAK4C,CAC5E,G,kBCHA,IAAI2P,EAAW,EAAQ,OACnB3M,EAAW,kBAEX6N,EAAKlB,EAAS3M,IAAa2M,EAAS3M,EAASC,eACjD2L,EAAOrN,QAAU,SAAUmO,GACzB,OAAOmB,EAAK7N,EAASC,cAAcyM,GAAM,CAAC,CAC5C,C,YCLAd,EAAOrN,QAAU,gGAEfuP,MAAM,I,kBCFR,IAAIC,EAAU,EAAQ,OAClBC,EAAO,EAAQ,OACfC,EAAM,EAAQ,OAClBrC,EAAOrN,QAAU,SAAUmO,GACzB,IAAIzR,EAAS8S,EAAQrB,GACjBwB,EAAaF,EAAKG,EACtB,GAAID,EAKF,IAJA,IAGIvU,EAHAd,EAAUqV,EAAWxB,GACrB0B,EAASH,EAAIE,EACb7U,EAAI,EAEDT,EAAQW,OAASF,GAAO8U,EAAO5T,KAAKkS,EAAI/S,EAAMd,EAAQS,OAAO2B,EAAO/B,KAAKS,GAChF,OAAOsB,CACX,C,kBCdA,IAAIoT,EAAS,EAAQ,OACjBf,EAAO,EAAQ,OACfgB,EAAM,EAAQ,OACdC,EAAO,EAAQ,OACfjS,EAAM,EAAQ,OACdkS,EAAY,YAEZC,EAAU,SAAU9K,EAAM+K,EAAMjV,GAClC,IASIE,EAAKgV,EAAKC,EATVC,EAAYlL,EAAO8K,EAAQK,EAC3BC,EAAYpL,EAAO8K,EAAQO,EAC3BC,EAAYtL,EAAO8K,EAAQS,EAC3BC,EAAWxL,EAAO8K,EAAQjC,EAC1B4C,EAAUzL,EAAO8K,EAAQY,EACzBC,EAAU3L,EAAO8K,EAAQc,EACzBhR,EAAUwQ,EAAYzB,EAAOA,EAAKoB,KAAUpB,EAAKoB,GAAQ,CAAC,GAC1Dc,EAAWjR,EAAQiQ,GACnBnV,EAAS0V,EAAYV,EAASY,EAAYZ,EAAOK,IAASL,EAAOK,IAAS,CAAC,GAAGF,GAGlF,IAAK7U,KADDoV,IAAWtV,EAASiV,GACZjV,GAEVkV,GAAOE,GAAaxV,QAA0B2C,IAAhB3C,EAAOM,KAC1B2C,EAAIiC,EAAS5E,KAExBiV,EAAMD,EAAMtV,EAAOM,GAAOF,EAAOE,GAEjC4E,EAAQ5E,GAAOoV,GAAmC,mBAAf1V,EAAOM,GAAqBF,EAAOE,GAEpEyV,GAAWT,EAAML,EAAIM,EAAKP,GAE1BiB,GAAWjW,EAAOM,IAAQiV,EAAM,SAAWlD,GAC3C,IAAIoD,EAAI,SAAU9R,EAAG2Q,EAAGC,GACtB,GAAIxS,gBAAgBsQ,EAAG,CACrB,OAAQnS,UAAUC,QAChB,KAAK,EAAG,OAAO,IAAIkS,EACnB,KAAK,EAAG,OAAO,IAAIA,EAAE1O,GACrB,KAAK,EAAG,OAAO,IAAI0O,EAAE1O,EAAG2Q,GACxB,OAAO,IAAIjC,EAAE1O,EAAG2Q,EAAGC,EACvB,CAAE,OAAOlC,EAAEvS,MAAMiC,KAAM7B,UACzB,EAEA,OADAuV,EAAEN,GAAa9C,EAAE8C,GACVM,CAER,CAbiC,CAa/BF,GAAOO,GAA0B,mBAAPP,EAAoBN,EAAIpS,SAAS1B,KAAMoU,GAAOA,EAEvEO,KACD5Q,EAAQkR,UAAYlR,EAAQkR,QAAU,CAAC,IAAI9V,GAAOiV,EAE/CjL,EAAO8K,EAAQiB,GAAKF,IAAaA,EAAS7V,IAAM4U,EAAKiB,EAAU7V,EAAKiV,IAG9E,EAEAH,EAAQK,EAAI,EACZL,EAAQO,EAAI,EACZP,EAAQS,EAAI,EACZT,EAAQjC,EAAI,EACZiC,EAAQY,EAAI,GACZZ,EAAQc,EAAI,GACZd,EAAQkB,EAAI,GACZlB,EAAQiB,EAAI,IACZ9D,EAAOrN,QAAUkQ,C,WC7DjB7C,EAAOrN,QAAU,SAAUqR,GACzB,IACE,QAASA,GACX,CAAE,MAAOtS,GACP,OAAO,CACT,CACF,C,YCLA,IAAI+Q,EAASzC,EAAOrN,QAA2B,oBAAVsB,QAAyBA,OAAOgQ,MAAQA,KACzEhQ,OAAwB,oBAARtE,MAAuBA,KAAKsU,MAAQA,KAAOtU,KAE3DW,SAAS,cAATA,GACc,iBAAP4T,MAAiBA,IAAMzB,E,YCLlC,IAAI9T,EAAiB,CAAC,EAAEA,eACxBqR,EAAOrN,QAAU,SAAUmO,EAAI/S,GAC7B,OAAOY,EAAeC,KAAKkS,EAAI/S,EACjC,C,kBCHA,IAAIoW,EAAK,EAAQ,MACbC,EAAa,EAAQ,OACzBpE,EAAOrN,QAAU,EAAQ,OAAoB,SAAU/F,EAAQmB,EAAKiB,GAClE,OAAOmV,EAAG5B,EAAE3V,EAAQmB,EAAKqW,EAAW,EAAGpV,GACzC,EAAI,SAAUpC,EAAQmB,EAAKiB,GAEzB,OADApC,EAAOmB,GAAOiB,EACPpC,CACT,C,kBCPA,IAAIwH,EAAW,kBACf4L,EAAOrN,QAAUyB,GAAYA,EAASiQ,e,kBCDtCrE,EAAOrN,SAAW,EAAQ,SAAsB,EAAQ,KAAR,EAAoB,WAClE,OAA4G,GAArG5F,OAAOoB,eAAe,EAAQ,MAAR,CAAyB,OAAQ,IAAK,CAAEK,IAAK,WAAc,OAAO,CAAG,IAAK4C,CACzG,G,kBCDA,IAAIkT,EAAM,EAAQ,OAElBtE,EAAOrN,QAAU5F,OAAO,KAAKwQ,qBAAqB,GAAKxQ,OAAS,SAAU+T,GACxE,MAAkB,UAAXwD,EAAIxD,GAAkBA,EAAGoB,MAAM,IAAMnV,OAAO+T,EACrD,C,kBCJA,IAAIwD,EAAM,EAAQ,OAClBtE,EAAOrN,QAAU4R,MAAMC,SAAW,SAAiBC,GACjD,MAAmB,SAAZH,EAAIG,EACb,C,YCJAzE,EAAOrN,QAAU,SAAUmO,GACzB,MAAqB,iBAAPA,EAAyB,OAAPA,EAA4B,mBAAPA,CACvD,C,+BCDA,IAAIhQ,EAAS,EAAQ,OACjByB,EAAa,EAAQ,OACrBmS,EAAiB,EAAQ,OACzBC,EAAoB,CAAC,EAGzB,EAAQ,MAAR,CAAmBA,EAAmB,EAAQ,MAAR,CAAkB,aAAa,WAAc,OAAOnV,IAAM,IAEhGwQ,EAAOrN,QAAU,SAAUP,EAAawS,EAAMC,GAC5CzS,EAAY1D,UAAYoC,EAAO6T,EAAmB,CAAEE,KAAMtS,EAAW,EAAGsS,KACxEH,EAAetS,EAAawS,EAAO,YACrC,C,+BCXA,IAAIE,EAAU,EAAQ,OAClBjC,EAAU,EAAQ,OAClBkC,EAAW,EAAQ,OACnBpC,EAAO,EAAQ,OACfqC,EAAY,EAAQ,OACpBC,EAAc,EAAQ,OACtBP,EAAiB,EAAQ,OACzB3S,EAAiB,EAAQ,OACzBmT,EAAW,EAAQ,MAAR,CAAkB,YAC7BC,IAAU,GAAGrY,MAAQ,QAAU,GAAGA,QAElCsY,EAAO,OACPC,EAAS,SAETC,EAAa,WAAc,OAAO9V,IAAM,EAE5CwQ,EAAOrN,QAAU,SAAU4S,EAAMX,EAAMxS,EAAayS,EAAMW,EAASC,EAAQC,GACzET,EAAY7S,EAAawS,EAAMC,GAC/B,IAeIc,EAAS5X,EAAK4W,EAfdiB,EAAY,SAAUC,GACxB,IAAKV,GAASU,KAAQC,EAAO,OAAOA,EAAMD,GAC1C,OAAQA,GACN,KAAKT,EACL,KAAKC,EAAQ,OAAO,WAAoB,OAAO,IAAIjT,EAAY5C,KAAMqW,EAAO,EAC5E,OAAO,WAAqB,OAAO,IAAIzT,EAAY5C,KAAMqW,EAAO,CACpE,EACIE,EAAMnB,EAAO,YACboB,EAAaR,GAAWH,EACxBY,GAAa,EACbH,EAAQP,EAAK7W,UACbwX,EAAUJ,EAAMZ,IAAaY,EAnBjB,eAmBuCN,GAAWM,EAAMN,GACpEW,EAAWD,GAAWN,EAAUJ,GAChCY,EAAWZ,EAAWQ,EAAwBJ,EAAU,WAArBO,OAAkC/V,EACrEiW,EAAqB,SAARzB,GAAkBkB,EAAMQ,SAAqBJ,EAwB9D,GArBIG,IACF1B,EAAoB5S,EAAesU,EAAWzX,KAAK,IAAI2W,OAC7BxY,OAAO2B,WAAaiW,EAAkBE,OAE9DH,EAAeC,EAAmBoB,GAAK,GAElCjB,GAAiD,mBAA/BH,EAAkBO,IAAyBvC,EAAKgC,EAAmBO,EAAUI,IAIpGU,GAAcE,GAAWA,EAAQpD,OAASuC,IAC5CY,GAAa,EACbE,EAAW,WAAoB,OAAOD,EAAQtX,KAAKY,KAAO,GAGtDsV,IAAWY,IAAYP,IAASc,GAAeH,EAAMZ,IACzDvC,EAAKmD,EAAOZ,EAAUiB,GAGxBnB,EAAUJ,GAAQuB,EAClBnB,EAAUe,GAAOT,EACbE,EAMF,GALAG,EAAU,CACRY,OAAQP,EAAaG,EAAWP,EAAUP,GAC1CvY,KAAM2Y,EAASU,EAAWP,EAAUR,GACpCkB,QAASF,GAEPV,EAAQ,IAAK3X,KAAO4X,EAChB5X,KAAO+X,GAAQf,EAASe,EAAO/X,EAAK4X,EAAQ5X,SAC7C8U,EAAQA,EAAQjC,EAAIiC,EAAQK,GAAKiC,GAASc,GAAarB,EAAMe,GAEtE,OAAOA,CACT,C,YCpEA3F,EAAOrN,QAAU,SAAU6T,EAAMxX,GAC/B,MAAO,CAAEA,MAAOA,EAAOwX,OAAQA,EACjC,C,YCFAxG,EAAOrN,QAAU,CAAC,C,YCAlBqN,EAAOrN,SAAU,C,kBCAjB,IAAI8T,EAAO,EAAQ,MAAR,CAAkB,QACzB1F,EAAW,EAAQ,OACnBrQ,EAAM,EAAQ,OACdgW,EAAU,UACVC,EAAK,EACLC,EAAe7Z,OAAO6Z,cAAgB,WACxC,OAAO,CACT,EACIC,GAAU,EAAQ,KAAR,EAAoB,WAChC,OAAOD,EAAa7Z,OAAO+Z,kBAAkB,CAAC,GAChD,IACIC,EAAU,SAAUjG,GACtB4F,EAAQ5F,EAAI2F,EAAM,CAAEzX,MAAO,CACzBtB,EAAG,OAAQiZ,EACXK,EAAG,CAAC,IAER,EA8BIC,EAAOjH,EAAOrN,QAAU,CAC1BuU,IAAKT,EACLU,MAAM,EACNC,QAhCY,SAAUtG,EAAIhQ,GAE1B,IAAKiQ,EAASD,GAAK,MAAoB,iBAANA,EAAiBA,GAAmB,iBAANA,EAAiB,IAAM,KAAOA,EAC7F,IAAKpQ,EAAIoQ,EAAI2F,GAAO,CAElB,IAAKG,EAAa9F,GAAK,MAAO,IAE9B,IAAKhQ,EAAQ,MAAO,IAEpBiW,EAAQjG,EAEV,CAAE,OAAOA,EAAG2F,GAAM/Y,CACpB,EAqBE2Z,QApBY,SAAUvG,EAAIhQ,GAC1B,IAAKJ,EAAIoQ,EAAI2F,GAAO,CAElB,IAAKG,EAAa9F,GAAK,OAAO,EAE9B,IAAKhQ,EAAQ,OAAO,EAEpBiW,EAAQjG,EAEV,CAAE,OAAOA,EAAG2F,GAAMO,CACpB,EAWEM,SATa,SAAUxG,GAEvB,OADI+F,GAAUI,EAAKE,MAAQP,EAAa9F,KAAQpQ,EAAIoQ,EAAI2F,IAAOM,EAAQjG,GAChEA,CACT,E,+BC3CA,IAAIyG,EAAc,EAAQ,OACtBpF,EAAU,EAAQ,OAClBC,EAAO,EAAQ,OACfC,EAAM,EAAQ,OACdmF,EAAW,EAAQ,OACnBC,EAAU,EAAQ,OAClBC,EAAU3a,OAAOqK,OAGrB4I,EAAOrN,SAAW+U,GAAW,EAAQ,KAAR,EAAoB,WAC/C,IAAIC,EAAI,CAAC,EACLlE,EAAI,CAAC,EAELH,EAAIrR,SACJ2V,EAAI,uBAGR,OAFAD,EAAErE,GAAK,EACPsE,EAAE1F,MAAM,IAAIpU,SAAQ,SAAU+Z,GAAKpE,EAAEoE,GAAKA,CAAG,IACjB,GAArBH,EAAQ,CAAC,EAAGC,GAAGrE,IAAWvW,OAAOD,KAAK4a,EAAQ,CAAC,EAAGjE,IAAIqE,KAAK,KAAOF,CAC3E,IAAK,SAAgBna,EAAQI,GAM3B,IALA,IAAIka,EAAIP,EAAS/Z,GACbua,EAAOra,UAAUC,OACjB4T,EAAQ,EACRc,EAAaF,EAAKG,EAClBC,EAASH,EAAIE,EACVyF,EAAOxG,GAMZ,IALA,IAIIzT,EAJAuV,EAAImE,EAAQ9Z,UAAU6T,MACtB1U,EAAOwV,EAAaH,EAAQmB,GAAGrJ,OAAOqI,EAAWgB,IAAMnB,EAAQmB,GAC/D1V,EAASd,EAAKc,OACdqa,EAAI,EAEDra,EAASqa,GACdla,EAAMjB,EAAKmb,KACNV,IAAe/E,EAAO5T,KAAK0U,EAAGvV,KAAMga,EAAEha,GAAOuV,EAAEvV,IAEtD,OAAOga,CACX,EAAIL,C,kBCpCJ,IAAIQ,EAAW,EAAQ,OACnBC,EAAM,EAAQ,OACdC,EAAc,EAAQ,OACtBC,EAAW,EAAQ,MAAR,CAAyB,YACpCC,EAAQ,WAA0B,EAClC1F,EAAY,YAGZ2F,EAAa,WAEf,IAIIC,EAJAC,EAAS,EAAQ,MAAR,CAAyB,UAClC/a,EAAI0a,EAAYxa,OAcpB,IAVA6a,EAAO3J,MAAM4J,QAAU,OACvB,qBAA+BD,GAC/BA,EAAOE,IAAM,eAGbH,EAAiBC,EAAOG,cAAcxU,UACvBf,OACfmV,EAAeK,MAAMC,uCACrBN,EAAeO,QACfR,EAAaC,EAAetF,EACrBxV,YAAY6a,EAAW3F,GAAWwF,EAAY1a,IACrD,OAAO6a,GACT,EAEAvI,EAAOrN,QAAU5F,OAAO+D,QAAU,SAAgByQ,EAAGyH,GACnD,IAAI3Z,EAQJ,OAPU,OAANkS,GACF+G,EAAM1F,GAAasF,EAAS3G,GAC5BlS,EAAS,IAAIiZ,EACbA,EAAM1F,GAAa,KAEnBvT,EAAOgZ,GAAY9G,GACdlS,EAASkZ,SACMnY,IAAf4Y,EAA2B3Z,EAAS8Y,EAAI9Y,EAAQ2Z,EACzD,C,iBCxCA,IAAId,EAAW,EAAQ,OACnBe,EAAiB,EAAQ,OACzBC,EAAc,EAAQ,OACtB/E,EAAKpX,OAAOoB,eAEhBwE,EAAQ4P,EAAI,EAAQ,OAAoBxV,OAAOoB,eAAiB,SAAwBoT,EAAGX,EAAGuI,GAI5F,GAHAjB,EAAS3G,GACTX,EAAIsI,EAAYtI,GAAG,GACnBsH,EAASiB,GACLF,EAAgB,IAClB,OAAO9E,EAAG5C,EAAGX,EAAGuI,EAClB,CAAE,MAAOzX,GAAiB,CAC1B,GAAI,QAASyX,GAAc,QAASA,EAAY,MAAM1Y,UAAU,4BAEhE,MADI,UAAW0Y,IAAY5H,EAAEX,GAAKuI,EAAWna,OACtCuS,CACT,C,kBCfA,IAAI4C,EAAK,EAAQ,MACb+D,EAAW,EAAQ,OACnB/F,EAAU,EAAQ,OAEtBnC,EAAOrN,QAAU,EAAQ,OAAoB5F,OAAOmB,iBAAmB,SAA0BqT,EAAGyH,GAClGd,EAAS3G,GAKT,IAJA,IAGIX,EAHA9T,EAAOqV,EAAQ6G,GACfpb,EAASd,EAAKc,OACdF,EAAI,EAEDE,EAASF,GAAGyW,EAAG5B,EAAEhB,EAAGX,EAAI9T,EAAKY,KAAMsb,EAAWpI,IACrD,OAAOW,CACT,C,kBCZA,IAAIc,EAAM,EAAQ,OACd+B,EAAa,EAAQ,OACrBpD,EAAY,EAAQ,MACpBkI,EAAc,EAAQ,OACtBxY,EAAM,EAAQ,OACduY,EAAiB,EAAQ,OACzBG,EAAOrc,OAAOK,yBAElBuF,EAAQ4P,EAAI,EAAQ,OAAoB6G,EAAO,SAAkC7H,EAAGX,GAGlF,GAFAW,EAAIP,EAAUO,GACdX,EAAIsI,EAAYtI,GAAG,GACfqI,EAAgB,IAClB,OAAOG,EAAK7H,EAAGX,EACjB,CAAE,MAAOlP,GAAiB,CAC1B,GAAIhB,EAAI6Q,EAAGX,GAAI,OAAOwD,GAAY/B,EAAIE,EAAE3T,KAAK2S,EAAGX,GAAIW,EAAEX,GACxD,C,kBCdA,IAAII,EAAY,EAAQ,MACpBqI,EAAO,WACP9Y,EAAW,CAAC,EAAEA,SAEd+Y,EAA+B,iBAAVrV,QAAsBA,QAAUlH,OAAOwc,oBAC5Dxc,OAAOwc,oBAAoBtV,QAAU,GAUzC+L,EAAOrN,QAAQ4P,EAAI,SAA6BzB,GAC9C,OAAOwI,GAAoC,mBAArB/Y,EAAS3B,KAAKkS,GATjB,SAAUA,GAC7B,IACE,OAAOuI,EAAKvI,EACd,CAAE,MAAOpP,GACP,OAAO4X,EAAY7H,OACrB,CACF,CAGiE+H,CAAe1I,GAAMuI,EAAKrI,EAAUF,GACrG,C,kBCjBA,IAAI2I,EAAQ,EAAQ,OAChBC,EAAa,gBAAmC,SAAU,aAE9D/W,EAAQ4P,EAAIxV,OAAOwc,qBAAuB,SAA6BhI,GACrE,OAAOkI,EAAMlI,EAAGmI,EAClB,C,gBCNA/W,EAAQ4P,EAAIxV,OAAOC,qB,kBCCnB,IAAI0D,EAAM,EAAQ,OACd8W,EAAW,EAAQ,OACnBa,EAAW,EAAQ,MAAR,CAAyB,YACpCsB,EAAc5c,OAAO2B,UAEzBsR,EAAOrN,QAAU5F,OAAOgF,gBAAkB,SAAUwP,GAElD,OADAA,EAAIiG,EAASjG,GACT7Q,EAAI6Q,EAAG8G,GAAkB9G,EAAE8G,GACH,mBAAjB9G,EAAE9R,aAA6B8R,aAAaA,EAAE9R,YAChD8R,EAAE9R,YAAYf,UACd6S,aAAaxU,OAAS4c,EAAc,IAC/C,C,kBCZA,IAAIjZ,EAAM,EAAQ,OACdsQ,EAAY,EAAQ,MACpB4I,EAAe,EAAQ,MAAR,EAA6B,GAC5CvB,EAAW,EAAQ,MAAR,CAAyB,YAExCrI,EAAOrN,QAAU,SAAU/F,EAAQid,GACjC,IAGI9b,EAHAwT,EAAIP,EAAUpU,GACdc,EAAI,EACJ2B,EAAS,GAEb,IAAKtB,KAAOwT,EAAOxT,GAAOsa,GAAU3X,EAAI6Q,EAAGxT,IAAQsB,EAAO/B,KAAKS,GAE/D,KAAO8b,EAAMjc,OAASF,GAAOgD,EAAI6Q,EAAGxT,EAAM8b,EAAMnc,SAC7Ckc,EAAava,EAAQtB,IAAQsB,EAAO/B,KAAKS,IAE5C,OAAOsB,CACT,C,kBCfA,IAAIoa,EAAQ,EAAQ,OAChBrB,EAAc,EAAQ,OAE1BpI,EAAOrN,QAAU5F,OAAOD,MAAQ,SAAcyU,GAC5C,OAAOkI,EAAMlI,EAAG6G,EAClB,C,gBCNAzV,EAAQ4P,EAAI,CAAC,EAAEhF,oB,YCAfyC,EAAOrN,QAAU,SAAUmX,EAAQ9a,GACjC,MAAO,CACL3B,aAAuB,EAATyc,GACd9Y,eAAyB,EAAT8Y,GAChB/Y,WAAqB,EAAT+Y,GACZ9a,MAAOA,EAEX,C,kBCPAgR,EAAOrN,QAAU,EAAjB,M,kBCEA,IAAIoO,EAAW,EAAQ,OACnBmH,EAAW,EAAQ,OACnB6B,EAAQ,SAAUxI,EAAGuE,GAEvB,GADAoC,EAAS3G,IACJR,EAAS+E,IAAoB,OAAVA,EAAgB,MAAMrV,UAAUqV,EAAQ,4BAClE,EACA9F,EAAOrN,QAAU,CACfhC,IAAK5D,OAAO8E,iBAAmB,aAAe,CAAC,EAC7C,SAAUwI,EAAM2P,EAAOrZ,GACrB,KACEA,EAAM,EAAQ,MAAR,CAAkBL,SAAS1B,KAAM,WAA4B7B,OAAO2B,UAAW,aAAaiC,IAAK,IACnG0J,EAAM,IACV2P,IAAU3P,aAAgBkK,MAC5B,CAAE,MAAO7S,GAAKsY,GAAQ,CAAM,CAC5B,OAAO,SAAwBzI,EAAGuE,GAIhC,OAHAiE,EAAMxI,EAAGuE,GACLkE,EAAOzI,EAAEzP,UAAYgU,EACpBnV,EAAI4Q,EAAGuE,GACLvE,CACT,CACF,CAZA,CAYE,CAAC,GAAG,QAASnR,GACjB2Z,MAAOA,E,kBCvBT,IAAIE,EAAM,UACNvZ,EAAM,EAAQ,OACdqV,EAAM,EAAQ,MAAR,CAAkB,eAE5B/F,EAAOrN,QAAU,SAAUmO,EAAIoJ,EAAKC,GAC9BrJ,IAAOpQ,EAAIoQ,EAAKqJ,EAAOrJ,EAAKA,EAAGpS,UAAWqX,IAAMkE,EAAInJ,EAAIiF,EAAK,CAAE/U,cAAc,EAAMhC,MAAOkb,GAChG,C,kBCNA,IAAIE,EAAS,EAAQ,MAAR,CAAqB,QAC9BC,EAAM,EAAQ,OAClBrK,EAAOrN,QAAU,SAAU5E,GACzB,OAAOqc,EAAOrc,KAASqc,EAAOrc,GAAOsc,EAAItc,GAC3C,C,kBCJA,IAAI2T,EAAO,EAAQ,OACfe,EAAS,EAAQ,OACjB6H,EAAS,qBACTC,EAAQ9H,EAAO6H,KAAY7H,EAAO6H,GAAU,CAAC,IAEhDtK,EAAOrN,QAAU,SAAU5E,EAAKiB,GAC/B,OAAOub,EAAMxc,KAASwc,EAAMxc,QAAiBqC,IAAVpB,EAAsBA,EAAQ,CAAC,EACpE,GAAG,WAAY,IAAI1B,KAAK,CACtBqU,QAASD,EAAKC,QACd5E,KAAM,EAAQ,OAAgB,OAAS,SACvCyN,UAAW,wC,kBCVb,IAAIC,EAAY,EAAQ,OACpBC,EAAU,EAAQ,MAGtB1K,EAAOrN,QAAU,SAAUgY,GACzB,OAAO,SAAU7I,EAAM8I,GACrB,IAGIxZ,EAAG2Q,EAHH1E,EAAIwN,OAAOH,EAAQ5I,IACnBpU,EAAI+c,EAAUG,GACdE,EAAIzN,EAAEzP,OAEV,OAAIF,EAAI,GAAKA,GAAKod,EAAUH,EAAY,QAAKva,GAC7CgB,EAAIiM,EAAE0N,WAAWrd,IACN,OAAU0D,EAAI,OAAU1D,EAAI,IAAMod,IAAM/I,EAAI1E,EAAE0N,WAAWrd,EAAI,IAAM,OAAUqU,EAAI,MACxF4I,EAAYtN,EAAE2N,OAAOtd,GAAK0D,EAC1BuZ,EAAYtN,EAAEoE,MAAM/T,EAAGA,EAAI,GAA2BqU,EAAI,OAAzB3Q,EAAI,OAAU,IAAqB,KAC1E,CACF,C,kBChBA,IAAIqZ,EAAY,EAAQ,OACpBQ,EAAMhH,KAAKgH,IACXC,EAAMjH,KAAKiH,IACflL,EAAOrN,QAAU,SAAU6O,EAAO5T,GAEhC,OADA4T,EAAQiJ,EAAUjJ,IACH,EAAIyJ,EAAIzJ,EAAQ5T,EAAQ,GAAKsd,EAAI1J,EAAO5T,EACzD,C,YCLA,IAAIud,EAAOlH,KAAKkH,KACZC,EAAQnH,KAAKmH,MACjBpL,EAAOrN,QAAU,SAAUmO,GACzB,OAAOpB,MAAMoB,GAAMA,GAAM,GAAKA,EAAK,EAAIsK,EAAQD,GAAMrK,EACvD,C,iBCJA,IAAI2G,EAAU,EAAQ,OAClBiD,EAAU,EAAQ,MACtB1K,EAAOrN,QAAU,SAAUmO,GACzB,OAAO2G,EAAQiD,EAAQ5J,GACzB,C,kBCJA,IAAI2J,EAAY,EAAQ,OACpBS,EAAMjH,KAAKiH,IACflL,EAAOrN,QAAU,SAAUmO,GACzB,OAAOA,EAAK,EAAIoK,EAAIT,EAAU3J,GAAK,kBAAoB,CACzD,C,kBCJA,IAAI4J,EAAU,EAAQ,MACtB1K,EAAOrN,QAAU,SAAUmO,GACzB,OAAO/T,OAAO2d,EAAQ5J,GACxB,C,kBCHA,IAAIC,EAAW,EAAQ,OAGvBf,EAAOrN,QAAU,SAAUmO,EAAIwC,GAC7B,IAAKvC,EAASD,GAAK,OAAOA,EAC1B,IAAIzQ,EAAIgb,EACR,GAAI/H,GAAkC,mBAArBjT,EAAKyQ,EAAGvQ,YAA4BwQ,EAASsK,EAAMhb,EAAGzB,KAAKkS,IAAM,OAAOuK,EACzF,GAAgC,mBAApBhb,EAAKyQ,EAAGwK,WAA2BvK,EAASsK,EAAMhb,EAAGzB,KAAKkS,IAAM,OAAOuK,EACnF,IAAK/H,GAAkC,mBAArBjT,EAAKyQ,EAAGvQ,YAA4BwQ,EAASsK,EAAMhb,EAAGzB,KAAKkS,IAAM,OAAOuK,EAC1F,MAAM5a,UAAU,0CAClB,C,YCXA,IAAIkW,EAAK,EACL4E,EAAKtH,KAAKuH,SACdxL,EAAOrN,QAAU,SAAU5E,GACzB,MAAO,UAAUkM,YAAe7J,IAARrC,EAAoB,GAAKA,EAAK,QAAS4Y,EAAK4E,GAAIhb,SAAS,IACnF,C,kBCJA,IAAIkS,EAAS,EAAQ,OACjBf,EAAO,EAAQ,OACfoD,EAAU,EAAQ,OAClB2G,EAAS,EAAQ,OACjBtd,EAAiB,UACrB6R,EAAOrN,QAAU,SAAUmQ,GACzB,IAAI4I,EAAUhK,EAAKzP,SAAWyP,EAAKzP,OAAS6S,EAAU,CAAC,EAAIrC,EAAOxQ,QAAU,CAAC,GACvD,KAAlB6Q,EAAKkI,OAAO,IAAelI,KAAQ4I,GAAUvd,EAAeud,EAAS5I,EAAM,CAAE9T,MAAOyc,EAAOlJ,EAAEO,IACnG,C,kBCRAnQ,EAAQ4P,EAAI,EAAZ,M,kBCAA,IAAIgI,EAAQ,EAAQ,MAAR,CAAqB,OAC7BF,EAAM,EAAQ,OACdpY,EAAS,gBACT0Z,EAA8B,mBAAV1Z,GAET+N,EAAOrN,QAAU,SAAUmQ,GACxC,OAAOyH,EAAMzH,KAAUyH,EAAMzH,GAC3B6I,GAAc1Z,EAAO6Q,KAAU6I,EAAa1Z,EAASoY,GAAK,UAAYvH,GAC1E,GAESyH,MAAQA,C,8BCTjB,IAAIqB,EAAmB,EAAQ,OAC3BC,EAAO,EAAQ,OACf7G,EAAY,EAAQ,OACpBhE,EAAY,EAAQ,MAMxBhB,EAAOrN,QAAU,EAAQ,MAAR,CAA0B4R,MAAO,SAAS,SAAUuH,EAAUjG,GAC7ErW,KAAKuc,GAAK/K,EAAU8K,GACpBtc,KAAKwc,GAAK,EACVxc,KAAKyc,GAAKpG,CAEZ,IAAG,WACD,IAAItE,EAAI/R,KAAKuc,GACTlG,EAAOrW,KAAKyc,GACZzK,EAAQhS,KAAKwc,KACjB,OAAKzK,GAAKC,GAASD,EAAE3T,QACnB4B,KAAKuc,QAAK3b,EACHyb,EAAK,IAEaA,EAAK,EAApB,QAARhG,EAA+BrE,EACvB,UAARqE,EAAiCtE,EAAEC,GACxB,CAACA,EAAOD,EAAEC,IAC3B,GAAG,UAGHwD,EAAUkH,UAAYlH,EAAUT,MAEhCqH,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,U,kBChCjB,IAAI/I,EAAU,EAAQ,OAEtBA,EAAQA,EAAQS,EAAIT,EAAQK,EAAG,SAAU,CAAE9L,OAAQ,EAAQ,Q,kBCH3D,IAAIyL,EAAU,EAAQ,OAEtBA,EAAQA,EAAQS,EAAG,SAAU,CAAExS,OAAQ,EAAQ,Q,kBCF/C,IAAI+R,EAAU,EAAQ,OAEtBA,EAAQA,EAAQS,EAAIT,EAAQK,GAAK,EAAQ,OAAmB,SAAU,CAAE/U,eAAgB,W,kBCDxF,IAAI0U,EAAU,EAAQ,OACtBA,EAAQA,EAAQS,EAAG,SAAU,CAAEzR,eAAgB,c,4CCD/C,IAAIsa,EAAM,EAAQ,MAAR,EAAwB,GAGlC,EAAQ,MAAR,CAA0BtB,OAAQ,UAAU,SAAUiB,GACpDtc,KAAKuc,GAAKlB,OAAOiB,GACjBtc,KAAKwc,GAAK,CAEZ,IAAG,WACD,IAEII,EAFA7K,EAAI/R,KAAKuc,GACTvK,EAAQhS,KAAKwc,GAEjB,OAAIxK,GAASD,EAAE3T,OAAe,CAAEoB,WAAOoB,EAAWoW,MAAM,IACxD4F,EAAQD,EAAI5K,EAAGC,GACfhS,KAAKwc,IAAMI,EAAMxe,OACV,CAAEoB,MAAOod,EAAO5F,MAAM,GAC/B,G,+BCdA,IAAI/D,EAAS,EAAQ,OACjB/R,EAAM,EAAQ,OACd6W,EAAc,EAAQ,OACtB1E,EAAU,EAAQ,OAClBkC,EAAW,EAAQ,OACnB0B,EAAO,aACP4F,EAAS,EAAQ,MACjBjC,EAAS,EAAQ,OACjB1F,EAAiB,EAAQ,OACzB2F,EAAM,EAAQ,OACdiC,EAAM,EAAQ,OACdb,EAAS,EAAQ,OACjBc,EAAY,EAAQ,OACpBC,EAAW,EAAQ,OACnBhI,EAAU,EAAQ,OAClB0D,EAAW,EAAQ,OACnBnH,EAAW,EAAQ,OACnByG,EAAW,EAAQ,OACnBxG,EAAY,EAAQ,MACpBkI,EAAc,EAAQ,OACtB9E,EAAa,EAAQ,OACrBqI,EAAU,EAAQ,OAClBC,EAAU,EAAQ,OAClBC,EAAQ,EAAQ,OAChBC,EAAQ,EAAQ,OAChBC,EAAM,EAAQ,MACdpD,EAAQ,EAAQ,OAChBL,EAAOuD,EAAMpK,EACb4B,EAAK0I,EAAItK,EACT8G,EAAOqD,EAAQnK,EACfmJ,EAAUjJ,EAAOxQ,OACjB6a,EAAQrK,EAAOnL,KACfyV,EAAaD,GAASA,EAAMvV,UAC5BqL,EAAY,YACZoK,EAASV,EAAI,WACbW,EAAeX,EAAI,eACnB9J,EAAS,CAAC,EAAEjF,qBACZ2P,EAAiB9C,EAAO,mBACxB+C,EAAa/C,EAAO,WACpBgD,EAAYhD,EAAO,cACnBT,EAAc5c,OAAO6V,GACrByK,EAA+B,mBAAX3B,KAA2BkB,EAAMrK,EACrD+K,EAAU7K,EAAO6K,QAEjBC,GAAUD,IAAYA,EAAQ1K,KAAe0K,EAAQ1K,GAAW4K,UAGhEC,EAAgBlG,GAAe8E,GAAO,WACxC,OAES,GAFFI,EAAQtI,EAAG,CAAC,EAAG,IAAK,CACzB3V,IAAK,WAAc,OAAO2V,EAAG3U,KAAM,IAAK,CAAER,MAAO,IAAKoC,CAAG,KACvDA,CACN,IAAK,SAAU0P,EAAI/S,EAAK8S,GACtB,IAAI6M,EAAYtE,EAAKO,EAAa5b,GAC9B2f,UAAkB/D,EAAY5b,GAClCoW,EAAGrD,EAAI/S,EAAK8S,GACR6M,GAAa5M,IAAO6I,GAAaxF,EAAGwF,EAAa5b,EAAK2f,EAC5D,EAAIvJ,EAEAwJ,EAAO,SAAUzD,GACnB,IAAI/c,EAAMggB,EAAWjD,GAAOuC,EAAQf,EAAQ9I,IAE5C,OADAzV,EAAI8e,GAAK/B,EACF/c,CACT,EAEIygB,EAAWP,GAAyC,iBAApB3B,EAAQxZ,SAAuB,SAAU4O,GAC3E,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,OAAOA,aAAc4K,CACvB,EAEImC,EAAkB,SAAwB/M,EAAI/S,EAAK8S,GAKrD,OAJIC,IAAO6I,GAAakE,EAAgBT,EAAWrf,EAAK8S,GACxDqH,EAASpH,GACT/S,EAAMmb,EAAYnb,GAAK,GACvBma,EAASrH,GACLnQ,EAAIyc,EAAYpf,IACb8S,EAAExT,YAIDqD,EAAIoQ,EAAIkM,IAAWlM,EAAGkM,GAAQjf,KAAM+S,EAAGkM,GAAQjf,IAAO,GAC1D8S,EAAI4L,EAAQ5L,EAAG,CAAExT,WAAY+W,EAAW,GAAG,OAJtC1T,EAAIoQ,EAAIkM,IAAS7I,EAAGrD,EAAIkM,EAAQ5I,EAAW,EAAG,CAAC,IACpDtD,EAAGkM,GAAQjf,IAAO,GAIX0f,EAAc3M,EAAI/S,EAAK8S,IACzBsD,EAAGrD,EAAI/S,EAAK8S,EACvB,EACIiN,EAAoB,SAA0BhN,EAAIF,GACpDsH,EAASpH,GAKT,IAJA,IAGI/S,EAHAjB,EAAO0f,EAAS5L,EAAII,EAAUJ,IAC9BlT,EAAI,EACJod,EAAIhe,EAAKc,OAENkd,EAAIpd,GAAGmgB,EAAgB/M,EAAI/S,EAAMjB,EAAKY,KAAMkT,EAAE7S,IACrD,OAAO+S,CACT,EAIIiN,EAAwB,SAA8BhgB,GACxD,IAAIigB,EAAIxL,EAAO5T,KAAKY,KAAMzB,EAAMmb,EAAYnb,GAAK,IACjD,QAAIyB,OAASma,GAAejZ,EAAIyc,EAAYpf,KAAS2C,EAAI0c,EAAWrf,QAC7DigB,IAAMtd,EAAIlB,KAAMzB,KAAS2C,EAAIyc,EAAYpf,IAAQ2C,EAAIlB,KAAMwd,IAAWxd,KAAKwd,GAAQjf,KAAOigB,EACnG,EACIC,EAA4B,SAAkCnN,EAAI/S,GAGpE,GAFA+S,EAAKE,EAAUF,GACf/S,EAAMmb,EAAYnb,GAAK,GACnB+S,IAAO6I,IAAejZ,EAAIyc,EAAYpf,IAAS2C,EAAI0c,EAAWrf,GAAlE,CACA,IAAI8S,EAAIuI,EAAKtI,EAAI/S,GAEjB,OADI8S,IAAKnQ,EAAIyc,EAAYpf,IAAU2C,EAAIoQ,EAAIkM,IAAWlM,EAAGkM,GAAQjf,KAAO8S,EAAExT,YAAa,GAChFwT,CAHuE,CAIhF,EACIqN,GAAuB,SAA6BpN,GAKtD,IAJA,IAGI/S,EAHA8b,EAAQR,EAAKrI,EAAUF,IACvBzR,EAAS,GACT3B,EAAI,EAEDmc,EAAMjc,OAASF,GACfgD,EAAIyc,EAAYpf,EAAM8b,EAAMnc,OAASK,GAAOif,GAAUjf,GAAO0Y,GAAMpX,EAAO/B,KAAKS,GACpF,OAAOsB,CACX,EACI8e,GAAyB,SAA+BrN,GAM1D,IALA,IAII/S,EAJAqgB,EAAQtN,IAAO6I,EACfE,EAAQR,EAAK+E,EAAQhB,EAAYpM,EAAUF,IAC3CzR,EAAS,GACT3B,EAAI,EAEDmc,EAAMjc,OAASF,IAChBgD,EAAIyc,EAAYpf,EAAM8b,EAAMnc,OAAU0gB,IAAQ1d,EAAIiZ,EAAa5b,IAAcsB,EAAO/B,KAAK6f,EAAWpf,IACxG,OAAOsB,CACX,EAGKge,IAYHtI,GAXA2G,EAAU,WACR,GAAIlc,gBAAgBkc,EAAS,MAAMjb,UAAU,gCAC7C,IAAIyZ,EAAMG,EAAI1c,UAAUC,OAAS,EAAID,UAAU,QAAKyC,GAChDie,EAAO,SAAUrf,GACfQ,OAASma,GAAa0E,EAAKzf,KAAKwe,EAAWpe,GAC3C0B,EAAIlB,KAAMwd,IAAWtc,EAAIlB,KAAKwd,GAAS9C,KAAM1a,KAAKwd,GAAQ9C,IAAO,GACrEuD,EAAcje,KAAM0a,EAAK9F,EAAW,EAAGpV,GACzC,EAEA,OADIuY,GAAegG,GAAQE,EAAc9D,EAAaO,EAAK,CAAElZ,cAAc,EAAML,IAAK0d,IAC/EV,EAAKzD,EACd,GACiBtH,GAAY,YAAY,WACvC,OAAOpT,KAAKyc,EACd,IAEAU,EAAMpK,EAAI0L,EACVpB,EAAItK,EAAIsL,EACR,WAA8BnB,EAAQnK,EAAI2L,GAC1C,WAA6BH,EAC7BnB,EAAMrK,EAAI4L,GAEN5G,IAAgB,EAAQ,QAC1BxC,EAAS4E,EAAa,uBAAwBoE,GAAuB,GAGvEtC,EAAOlJ,EAAI,SAAUO,GACnB,OAAO6K,EAAKrB,EAAIxJ,GAClB,GAGFD,EAAQA,EAAQO,EAAIP,EAAQc,EAAId,EAAQK,GAAKmK,EAAY,CAAEpb,OAAQyZ,IAEnE,IAAK,IAAI4C,GAAa,iHAGpBpM,MAAM,KAAM+F,GAAI,EAAGqG,GAAW1gB,OAASqa,IAAGqE,EAAIgC,GAAWrG,OAE3D,IAAK,IAAIsG,GAAmB9E,EAAM6C,EAAI/B,OAAQ1C,GAAI,EAAG0G,GAAiB3gB,OAASia,IAAI0E,EAAUgC,GAAiB1G,OAE9GhF,EAAQA,EAAQS,EAAIT,EAAQK,GAAKmK,EAAY,SAAU,CAErD,IAAO,SAAUtf,GACf,OAAO2C,EAAIwc,EAAgBnf,GAAO,IAC9Bmf,EAAenf,GACfmf,EAAenf,GAAO2d,EAAQ3d,EACpC,EAEAygB,OAAQ,SAAgBrhB,GACtB,IAAKygB,EAASzgB,GAAM,MAAMsD,UAAUtD,EAAM,qBAC1C,IAAK,IAAIY,KAAOmf,EAAgB,GAAIA,EAAenf,KAASZ,EAAK,OAAOY,CAC1E,EACA0gB,UAAW,WAAclB,GAAS,CAAM,EACxCmB,UAAW,WAAcnB,GAAS,CAAO,IAG3C1K,EAAQA,EAAQS,EAAIT,EAAQK,GAAKmK,EAAY,SAAU,CAErDvc,OA/FY,SAAgBgQ,EAAIF,GAChC,YAAaxQ,IAANwQ,EAAkB6L,EAAQ3L,GAAMgN,EAAkBrB,EAAQ3L,GAAKF,EACxE,EA+FEzS,eAAgB0f,EAEhB3f,iBAAkB4f,EAElB1gB,yBAA0B6gB,EAE1B1E,oBAAqB2E,GAErBlhB,sBAAuBmhB,KAKzB,IAAIQ,GAAsBtC,GAAO,WAAcO,EAAMrK,EAAE,EAAI,IAE3DM,EAAQA,EAAQS,EAAIT,EAAQK,EAAIyL,GAAqB,SAAU,CAC7D3hB,sBAAuB,SAA+B8T,GACpD,OAAO8L,EAAMrK,EAAEiF,EAAS1G,GAC1B,IAIFgM,GAASjK,EAAQA,EAAQS,EAAIT,EAAQK,IAAMmK,GAAchB,GAAO,WAC9D,IAAI/I,EAAIoI,IAIR,MAA0B,UAAnBqB,EAAW,CAACzJ,KAA2C,MAAxByJ,EAAW,CAAE3b,EAAGkS,KAAyC,MAAzByJ,EAAWhgB,OAAOuW,GAC1F,KAAK,OAAQ,CACX/L,UAAW,SAAmBuJ,GAI5B,IAHA,IAEI8N,EAAUC,EAFV1d,EAAO,CAAC2P,GACRpT,EAAI,EAEDC,UAAUC,OAASF,GAAGyD,EAAK7D,KAAKK,UAAUD,MAEjD,GADAmhB,EAAYD,EAAWzd,EAAK,IACvB4P,EAAS6N,SAAoBxe,IAAP0Q,KAAoB8M,EAAS9M,GAMxD,OALK0D,EAAQoK,KAAWA,EAAW,SAAU7gB,EAAKiB,GAEhD,GADwB,mBAAb6f,IAAyB7f,EAAQ6f,EAAUjgB,KAAKY,KAAMzB,EAAKiB,KACjE4e,EAAS5e,GAAQ,OAAOA,CAC/B,GACAmC,EAAK,GAAKyd,EACH7B,EAAWxf,MAAMuf,EAAO3b,EACjC,IAIFua,EAAQ9I,GAAWqK,IAAiB,EAAQ,MAAR,CAAmBvB,EAAQ9I,GAAYqK,EAAcvB,EAAQ9I,GAAW0I,SAE5G5G,EAAegH,EAAS,UAExBhH,EAAeT,KAAM,QAAQ,GAE7BS,EAAejC,EAAOnL,KAAM,QAAQ,E,iBCrPpC,EAAQ,MAAR,CAAyB,gB,kBCAzB,EAAQ,MAAR,CAAyB,a,kBCAzB,EAAQ,MAYR,IAXA,IAAImL,EAAS,EAAQ,OACjBE,EAAO,EAAQ,OACfqC,EAAY,EAAQ,OACpB8J,EAAgB,EAAQ,MAAR,CAAkB,eAElCC,EAAe,wbAIU7M,MAAM,KAE1BxU,EAAI,EAAGA,EAAIqhB,EAAanhB,OAAQF,IAAK,CAC5C,IAAIkX,EAAOmK,EAAarhB,GACpBshB,EAAavM,EAAOmC,GACpBkB,EAAQkJ,GAAcA,EAAWtgB,UACjCoX,IAAUA,EAAMgJ,IAAgBnM,EAAKmD,EAAOgJ,EAAelK,GAC/DI,EAAUJ,GAAQI,EAAUT,KAC9B,C,kBClBA,IAGItS,EAHO,EAAQ,OAGDA,OAElB+N,EAAOrN,QAAUV,C,kBCLjB,IAAIA,EAAS,EAAQ,OACjBgd,EAAY,EAAQ,OACpBC,EAAiB,EAAQ,MAOzBC,EAAiBld,EAASA,EAAOmd,iBAAchf,EAkBnD4P,EAAOrN,QATP,SAAoB3D,GAClB,OAAa,MAATA,OACeoB,IAAVpB,EAdQ,qBADL,gBAiBJmgB,GAAkBA,KAAkBpiB,OAAOiC,GAC/CigB,EAAUjgB,GACVkgB,EAAelgB,EACrB,C,kBCzBA,IAAIqgB,EAAkB,EAAQ,OAG1BC,EAAc,OAelBtP,EAAOrN,QANP,SAAkB4c,GAChB,OAAOA,EACHA,EAAO9N,MAAM,EAAG4N,EAAgBE,GAAU,GAAGC,QAAQF,EAAa,IAClEC,CACN,C,kBCfA,IAAIE,EAA8B,iBAAV,EAAAC,GAAsB,EAAAA,GAAU,EAAAA,EAAO3iB,SAAWA,QAAU,EAAA2iB,EAEpF1P,EAAOrN,QAAU8c,C,kBCHjB,IAAIxd,EAAS,EAAQ,OAGjB0d,EAAc5iB,OAAO2B,UAGrBC,EAAiBghB,EAAYhhB,eAO7BihB,EAAuBD,EAAYpf,SAGnC4e,EAAiBld,EAASA,EAAOmd,iBAAchf,EA6BnD4P,EAAOrN,QApBP,SAAmB3D,GACjB,IAAI6gB,EAAQlhB,EAAeC,KAAKI,EAAOmgB,GACnCjF,EAAMlb,EAAMmgB,GAEhB,IACEngB,EAAMmgB,QAAkB/e,EACxB,IAAI0f,GAAW,CACjB,CAAE,MAAOpe,GAAI,CAEb,IAAIrC,EAASugB,EAAqBhhB,KAAKI,GAQvC,OAPI8gB,IACED,EACF7gB,EAAMmgB,GAAkBjF,SAEjBlb,EAAMmgB,IAGV9f,CACT,C,WC1CA,IAOIugB,EAPc7iB,OAAO2B,UAOc6B,SAavCyP,EAAOrN,QAJP,SAAwB3D,GACtB,OAAO4gB,EAAqBhhB,KAAKI,EACnC,C,kBCnBA,IAAIygB,EAAa,EAAQ,OAGrBM,EAA0B,iBAARpgB,MAAoBA,MAAQA,KAAK5C,SAAWA,QAAU4C,KAGxEqgB,EAAOP,GAAcM,GAAYzf,SAAS,cAATA,GAErC0P,EAAOrN,QAAUqd,C,YCPjB,IAAIC,EAAe,KAiBnBjQ,EAAOrN,QAPP,SAAyB4c,GAGvB,IAFA,IAAI/N,EAAQ+N,EAAO3hB,OAEZ4T,KAAWyO,EAAa5V,KAAKkV,EAAOvE,OAAOxJ,MAClD,OAAOA,CACT,C,kBChBA,IAAIT,EAAW,EAAQ,OACnBlH,EAAM,EAAQ,MACdqW,EAAW,EAAQ,OAMnBC,EAAYlM,KAAKgH,IACjBmF,EAAYnM,KAAKiH,IAqLrBlL,EAAOrN,QA7HP,SAAkB0d,EAAMC,EAAMzb,GAC5B,IAAI0b,EACAC,EACAC,EACAphB,EACAqhB,EACAC,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARV,EACT,MAAM,IAAI5f,UAzEQ,uBAmFpB,SAASugB,EAAW5V,GAClB,IAAIjK,EAAOof,EACPU,EAAUT,EAKd,OAHAD,EAAWC,OAAWpgB,EACtBwgB,EAAiBxV,EACjB/L,EAASghB,EAAK9iB,MAAM0jB,EAAS9f,EAE/B,CAqBA,SAAS+f,EAAa9V,GACpB,IAAI+V,EAAoB/V,EAAOuV,EAM/B,YAAyBvgB,IAAjBugB,GAA+BQ,GAAqBb,GACzDa,EAAoB,GAAOL,GANJ1V,EAAOwV,GAM8BH,CACjE,CAEA,SAASW,IACP,IAAIhW,EAAOvB,IACX,GAAIqX,EAAa9V,GACf,OAAOiW,EAAajW,GAGtBsV,EAAU/T,WAAWyU,EA3BvB,SAAuBhW,GACrB,IAEIkW,EAAchB,GAFMlV,EAAOuV,GAI/B,OAAOG,EACHV,EAAUkB,EAAab,GAJDrV,EAAOwV,IAK7BU,CACN,CAmBqCC,CAAcnW,GACnD,CAEA,SAASiW,EAAajW,GAKpB,OAJAsV,OAAUtgB,EAIN2gB,GAAYR,EACPS,EAAW5V,IAEpBmV,EAAWC,OAAWpgB,EACff,EACT,CAcA,SAASmiB,IACP,IAAIpW,EAAOvB,IACP4X,EAAaP,EAAa9V,GAM9B,GAJAmV,EAAW5iB,UACX6iB,EAAWhhB,KACXmhB,EAAevV,EAEXqW,EAAY,CACd,QAAgBrhB,IAAZsgB,EACF,OAzEN,SAAqBtV,GAMnB,OAJAwV,EAAiBxV,EAEjBsV,EAAU/T,WAAWyU,EAAcd,GAE5BO,EAAUG,EAAW5V,GAAQ/L,CACtC,CAkEaqiB,CAAYf,GAErB,GAAIG,EAIF,OAFAxX,aAAaoX,GACbA,EAAU/T,WAAWyU,EAAcd,GAC5BU,EAAWL,EAEtB,CAIA,YAHgBvgB,IAAZsgB,IACFA,EAAU/T,WAAWyU,EAAcd,IAE9BjhB,CACT,CAGA,OA3GAihB,EAAOJ,EAASI,IAAS,EACrBvP,EAASlM,KACXgc,IAAYhc,EAAQgc,QAEpBJ,GADAK,EAAS,YAAajc,GACHsb,EAAUD,EAASrb,EAAQ4b,UAAY,EAAGH,GAAQG,EACrEM,EAAW,aAAclc,IAAYA,EAAQkc,SAAWA,GAoG1DS,EAAU3R,OApCV,gBACkBzP,IAAZsgB,GACFpX,aAAaoX,GAEfE,EAAiB,EACjBL,EAAWI,EAAeH,EAAWE,OAAUtgB,CACjD,EA+BAohB,EAAUG,MA7BV,WACE,YAAmBvhB,IAAZsgB,EAAwBrhB,EAASgiB,EAAaxX,IACvD,EA4BO2X,CACT,C,YC9JAxR,EAAOrN,QALP,SAAkB3D,GAChB,IAAI+I,SAAc/I,EAClB,OAAgB,MAATA,IAA0B,UAAR+I,GAA4B,YAARA,EAC/C,C,YCAAiI,EAAOrN,QAJP,SAAsB3D,GACpB,OAAgB,MAATA,GAAiC,iBAATA,CACjC,C,kBC1BA,IAAI4iB,EAAa,EAAQ,OACrBC,EAAe,EAAQ,OA2B3B7R,EAAOrN,QALP,SAAkB3D,GAChB,MAAuB,iBAATA,GACX6iB,EAAa7iB,IArBF,mBAqBY4iB,EAAW5iB,EACvC,C,iBC1BA,IAAIghB,EAAO,EAAQ,OAsBnBhQ,EAAOrN,QAJG,WACR,OAAOqd,EAAKve,KAAKoI,KACnB,C,kBCpBA,IAAIiY,EAAW,EAAQ,OACnB/Q,EAAW,EAAQ,OACnB6M,EAAW,EAAQ,OAMnBmE,EAAa,qBAGbC,EAAa,aAGbC,EAAY,cAGZC,EAAeC,SA8CnBnS,EAAOrN,QArBP,SAAkB3D,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI4e,EAAS5e,GACX,OA1CM,IA4CR,GAAI+R,EAAS/R,GAAQ,CACnB,IAAIojB,EAAgC,mBAAjBpjB,EAAMsc,QAAwBtc,EAAMsc,UAAYtc,EACnEA,EAAQ+R,EAASqR,GAAUA,EAAQ,GAAMA,CAC3C,CACA,GAAoB,iBAATpjB,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQ8iB,EAAS9iB,GACjB,IAAIqjB,EAAWL,EAAW3X,KAAKrL,GAC/B,OAAQqjB,GAAYJ,EAAU5X,KAAKrL,GAC/BkjB,EAAaljB,EAAMyS,MAAM,GAAI4Q,EAAW,EAAI,GAC3CN,EAAW1X,KAAKrL,GAvDb,KAuD6BA,CACvC,C,kBC5DA,WACE,IAAIsjB,EAAgBC,EAAQC,EAAUC,EAAgBC,EAAcC,EAExC,oBAAhBC,aAA+C,OAAhBA,aAAyBA,YAAY/Y,IAC9EmG,EAAOrN,QAAU,WACf,OAAOigB,YAAY/Y,KACrB,EAC6B,oBAAZgZ,SAAuC,OAAZA,SAAqBA,QAAQN,QACzEvS,EAAOrN,QAAU,WACf,OAAQ2f,IAAmBI,GAAgB,GAC7C,EACAH,EAASM,QAAQN,OAMjBE,GALAH,EAAiB,WACf,IAAIQ,EAEJ,OAAe,KADfA,EAAKP,KACK,GAAWO,EAAG,EAC1B,KAEAH,EAA4B,IAAnBE,QAAQE,SACjBL,EAAeD,EAAiBE,GACvBlhB,KAAKoI,KACdmG,EAAOrN,QAAU,WACf,OAAOlB,KAAKoI,MAAQ2Y,CACtB,EACAA,EAAW/gB,KAAKoI,QAEhBmG,EAAOrN,QAAU,WACf,OAAO,IAAIlB,MAAOuhB,UAAYR,CAChC,EACAA,GAAW,IAAI/gB,MAAOuhB,UAGzB,GAAEpkB,KAAKY,K,kBC1BR,IAPA,IAAIqK,EAAM,EAAQ,IACdmW,EAAyB,oBAAX/b,OAAyB,EAAAyb,EAASzb,OAChDgf,EAAU,CAAC,MAAO,UAClBC,EAAS,iBACTC,EAAMnD,EAAK,UAAYkD,GACvBE,EAAMpD,EAAK,SAAWkD,IAAWlD,EAAK,gBAAkBkD,GAEpDxlB,EAAI,GAAIylB,GAAOzlB,EAAIulB,EAAQrlB,OAAQF,IACzCylB,EAAMnD,EAAKiD,EAAQvlB,GAAK,UAAYwlB,GACpCE,EAAMpD,EAAKiD,EAAQvlB,GAAK,SAAWwlB,IAC5BlD,EAAKiD,EAAQvlB,GAAK,gBAAkBwlB,GAI7C,IAAIC,IAAQC,EAAK,CACf,IAAIC,EAAO,EACP1M,EAAK,EACL2M,EAAQ,GACRC,EAAgB,IAAO,GAE3BJ,EAAM,SAASK,GACb,GAAoB,IAAjBF,EAAM1lB,OAAc,CACrB,IAAI6lB,EAAO5Z,IACPgL,EAAOZ,KAAKgH,IAAI,EAAGsI,GAAiBE,EAAOJ,IAC/CA,EAAOxO,EAAO4O,EACd9W,YAAW,WACT,IAAI+W,EAAKJ,EAAM7R,MAAM,GAIrB6R,EAAM1lB,OAAS,EACf,IAAI,IAAIF,EAAI,EAAGA,EAAIgmB,EAAG9lB,OAAQF,IAC5B,IAAIgmB,EAAGhmB,GAAGimB,UACR,IACED,EAAGhmB,GAAG8lB,SAASH,EACjB,CAAE,MAAM3hB,GACNiL,YAAW,WAAa,MAAMjL,CAAE,GAAG,EACrC,CAGN,GAAGuS,KAAK2P,MAAM/O,GAChB,CAMA,OALAyO,EAAMhmB,KAAK,CACTumB,SAAUlN,EACV6M,SAAUA,EACVG,WAAW,IAENhN,CACT,EAEAyM,EAAM,SAASS,GACb,IAAI,IAAInmB,EAAI,EAAGA,EAAI4lB,EAAM1lB,OAAQF,IAC5B4lB,EAAM5lB,GAAGmmB,SAAWA,IACrBP,EAAM5lB,GAAGimB,WAAY,EAG3B,CACF,CAEA3T,EAAOrN,QAAU,SAAStC,GAIxB,OAAO8iB,EAAIvkB,KAAKohB,EAAM3f,EACxB,EACA2P,EAAOrN,QAAQkN,OAAS,WACtBuT,EAAI7lB,MAAMyiB,EAAMriB,UAClB,EACAqS,EAAOrN,QAAQmhB,SAAW,SAASlnB,GAC5BA,IACHA,EAASojB,GAEXpjB,EAAOmnB,sBAAwBZ,EAC/BvmB,EAAOonB,qBAAuBZ,CAChC,C,kKCnEA,SAASa,IAEP,IAAIhW,EAAQzO,KAAKC,YAAYykB,yBAAyB1kB,KAAK8C,MAAO9C,KAAKyO,OACnEA,SACFzO,KAAK0O,SAASD,EAElB,CAEA,SAASkW,EAA0BC,GAQjC5kB,KAAK0O,SALL,SAAiBmW,GACf,IAAIpW,EAAQzO,KAAKC,YAAYykB,yBAAyBE,EAAWC,GACjE,OAAOpW,QAAwCA,EAAQ,IACzD,EAEsB3M,KAAK9B,MAC7B,CAEA,SAAS8kB,EAAoBF,EAAWG,GACtC,IACE,IAAIC,EAAYhlB,KAAK8C,MACjB+hB,EAAY7kB,KAAKyO,MACrBzO,KAAK8C,MAAQ8hB,EACb5kB,KAAKyO,MAAQsW,EACb/kB,KAAKilB,6BAA8B,EACnCjlB,KAAKklB,wBAA0BllB,KAAKmlB,wBAClCH,EACAH,EAEJ,CAAE,QACA7kB,KAAK8C,MAAQkiB,EACbhlB,KAAKyO,MAAQoW,CACf,CACF,CAQA,SAASP,EAASc,GAChB,IAAIlmB,EAAYkmB,EAAUlmB,UAE1B,IAAKA,IAAcA,EAAUmmB,iBAC3B,MAAM,IAAIC,MAAM,sCAGlB,GACgD,mBAAvCF,EAAUV,0BAC4B,mBAAtCxlB,EAAUimB,wBAEjB,OAAOC,EAMT,IAAIG,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,mBAAjCvmB,EAAUulB,mBACnBc,EAAqB,qBACmC,mBAAxCrmB,EAAUwmB,4BAC1BH,EAAqB,6BAE4B,mBAAxCrmB,EAAUylB,0BACnBa,EAA4B,4BACmC,mBAA/CtmB,EAAUymB,mCAC1BH,EAA4B,oCAEe,mBAAlCtmB,EAAU4lB,oBACnBW,EAAsB,sBACmC,mBAAzCvmB,EAAU0mB,6BAC1BH,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAII,EAAgBT,EAAUU,aAAeV,EAAU9R,KACnDyS,EAC4C,mBAAvCX,EAAUV,yBACb,6BACA,4BAEN,MAAMY,MACJ,2FACEO,EACA,SACAE,EACA,uDACwB,OAAvBR,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IATjE,uIAaJ,CAaA,GARkD,mBAAvCL,EAAUV,2BACnBxlB,EAAUulB,mBAAqBA,EAC/BvlB,EAAUylB,0BAA4BA,GAMS,mBAAtCzlB,EAAUimB,wBAAwC,CAC3D,GAA4C,mBAAjCjmB,EAAU8mB,mBACnB,MAAM,IAAIV,MACR,qHAIJpmB,EAAU4lB,oBAAsBA,EAEhC,IAAIkB,EAAqB9mB,EAAU8mB,mBAEnC9mB,EAAU8mB,mBAAqB,SAC7BhB,EACAH,EACAoB,GAUA,IAAIC,EAAWlmB,KAAKilB,4BAChBjlB,KAAKklB,wBACLe,EAEJD,EAAmB5mB,KAAKY,KAAMglB,EAAWH,EAAWqB,EACtD,CACF,CAEA,OAAOd,CACT,CA9GAX,EAAmB0B,8BAA+B,EAClDxB,EAA0BwB,8BAA+B,EACzDrB,EAAoBqB,8BAA+B,EC7C5C,IAAIC,IAAwC,oBAAX3hB,QAA0BA,OAAOG,UAAYH,OAAOG,SAASC,eAE1FwhB,EAAoB,CAC7BC,UAAW,EACX,gBAAiB,EACjB,iBAAkB,EAClB,oBAAqB,EACrB,eAAgB,EAChB5oB,OAAQ,EACR,iBAAkB,GAGT6oB,EAAoB,CAC7BC,OAAQ,EACRC,QAAS,EACTC,YAAa,EACbC,aAAc,GAGT,SAASC,EAAgB5W,GAC9B,IAAI6W,EAAM,GAIV,OAHA,mBAAuB7W,GAAU,SAAUwC,GACzCqU,EAAI/oB,KAAK0U,EACX,IACOqU,CACT,CAEO,SAASC,EAAYC,GAC1B,OAAKA,GAAiB,IAATA,EAGThS,MAAMC,QAAQ+R,GACTA,EAEF,CAACA,GALC,EAMX,CA0BO,SAASC,EAAYC,EAAMC,GAChC,GAAID,IAASC,GAzBf,SAAiBtlB,EAAG2Q,GAClB,IAAK3Q,IAAM2Q,EACT,OAAO,EAET,IAAI4U,EAAK5pB,OAAOD,KAAKsE,GACjBwlB,EAAK7pB,OAAOD,KAAKiV,GACrB,SAAI4U,EAAG/oB,SAAUgpB,EAAGhpB,QAAU+oB,EAAG/oB,SAAWgpB,EAAGhpB,QACrC+oB,EAAGE,MAAK,SAAU9oB,GACxB,IAAI+oB,EAAK1lB,EAAErD,GACPgpB,EAAKhV,EAAEhU,GACX,GAAIwW,MAAMC,QAAQsS,IAAOvS,MAAMC,QAAQuS,GAAK,CAC1C,IAAIC,EAAMF,EAAGhP,OACTmP,EAAMF,EAAGjP,OACTkP,IAAQC,GAAQD,EAAIE,MAAM,yBAC5BJ,EAAKE,EACLD,EAAKE,EAET,CACA,OAAOH,IAAOC,CAChB,IAGJ,CAGuBI,CAAQV,EAAMC,GACjC,OAAO,EAET,IAAKD,IAASC,GAAQ3pB,OAAOD,KAAK2pB,GAAM7oB,SAAWb,OAAOD,KAAK4pB,GAAM9oB,OACnE,OAAO,EAGT,IAAIwpB,GAAY,EACZC,EAAe,SAAsBV,EAAIC,GAC3C,IAAIU,EAAOvqB,OAAOD,KAAK6pB,GAAI/oB,OAASb,OAAOD,KAAK8pB,GAAIhpB,OAAS+oB,EAAKC,EAC9DW,EAAOxqB,OAAOD,KAAK6pB,GAAI/oB,OAASb,OAAOD,KAAK8pB,GAAIhpB,OAASgpB,EAAKD,EAClE5pB,OAAOD,KAAKwqB,GAAMxpB,SAAQ,SAAUC,GAE7BqpB,IAGCrpB,KAAOwpB,IACXH,GAAY,GAGW,iBAAdE,EAAKvpB,IAA0C,iBAAdwpB,EAAKxpB,GAC/CqpB,EAAYZ,EAAYc,EAAKvpB,GAAMwpB,EAAKxpB,IACV,mBAAdupB,EAAKvpB,IAA4C,mBAAdwpB,EAAKxpB,GACpDupB,EAAKvpB,GAAKwC,WAAWif,QAAQ,OAAQ,MAAQ+H,EAAKxpB,GAAKwC,WAAWif,QAAQ,OAAQ,MACpF4H,GAAY,GAELE,EAAKvpB,KAASwpB,EAAKxpB,KAC5BqpB,GAAY,GAEhB,GACF,EAEA,GAAI7S,MAAMC,QAAQiS,IAASlS,MAAMC,QAAQkS,GAAO,CAC9C,GAAID,EAAK7oB,SAAW8oB,EAAK9oB,OACvB,OAAO,EAET6oB,EAAK3oB,SAAQ,SAAU0pB,EAAM9pB,GAC3B2pB,EAAaG,EAAMd,EAAKhpB,GAC1B,GACF,MACE2pB,EAAaZ,EAAMC,GAErB,OAAOU,CACT,CAEO,SAASK,EAAyBjY,EAAUzR,GACjD,IAAIsoB,EAAM,KAWV,OAVI7W,GACFA,EAAS1R,SAAQ,SAAUkU,IACrBqU,GAAQrU,GAGRA,EAAEjU,MAAQA,IACZsoB,EAAMrU,EAEV,IAEKqU,CACT,CA4CO,SAASqB,EAAmBjT,EAAK1W,EAAKL,GAU3C,MARmB,mBAAR+W,EACAA,EAAI,CACX1W,IAAKA,EACLyT,MAAO9T,IAGA+W,CAGb,CAEO,SAASkT,EAAqBrlB,GACnC,OAAOA,GAASA,EAAMkN,QACxB,CAEO,SAASoY,EAAsBnqB,EAAQoqB,EAAe/Y,EAAOgZ,EAAKC,EAAMC,EAAUC,EAAOC,GAC9F,GAAItC,EACF,OAAOkC,EAET,IAAIK,EAAQ,0BAA0B9d,KAAKyE,IAAUoZ,EACrDC,EAAkB,YAAVrZ,GAAiC,WAAVA,GAA4BqZ,EAC3D,IAAI7a,GAAiC,IAA7BwB,EAAMtO,QAAQ,YAAoD,IAAhCsO,EAAMtO,QAAQ,cAAiC,oBAAVsO,EAA8BrR,EAASA,EAAO2qB,YAAchkB,SAAS8I,KACpJI,EAAI2a,EAAQ7jB,SAAS8I,KAAOI,EAC5B,IAAI+a,OAAM,EACNC,OAAoB,EAExB,OAAQP,GACN,IAAK,IACHM,EAAME,WAAWT,GAAO,KAAOK,EAAQ7a,EAAEkb,YAAclb,EAAEmb,cACzD,MACF,IAAK,KACHJ,EAAME,WAAWT,GAAO1jB,SAAS8I,KAAKsb,YAAc,IACpD,MACF,IAAK,KACHH,EAAME,WAAWT,GAAO1jB,SAAS8I,KAAKub,aAAe,IACrD,MACF,IAAK,KACHJ,EAAME,WAAWT,GAAOS,WAAWV,EAAca,UACjD,MACF,IAAK,MAEDJ,EAAoBrkB,OAAO0kB,iBAAiBvkB,SAASwkB,qBAAqB,QAAQ,IAClFP,EAAME,WAAWT,GAAOS,WAAWD,EAAkBI,UACrD,MAEJ,QACEL,EAAME,WAAWT,GAGrB,OAAQE,GACN,IAAK,IACHK,EAAMA,EAAY,IAANA,GAAaF,EAAQ7a,EAAEkb,YAAclb,EAAEmb,cAAgB,EACnE,MACF,IAAK,KACHJ,EAAME,WAAWT,GAAO1jB,SAAS8I,KAAKsb,YAAc,IACpD,MACF,IAAK,KACHH,EAAME,WAAWT,GAAO1jB,SAAS8I,KAAKub,aAAe,IACrD,MACF,IAAK,KACHJ,EAAME,WAAWT,GAAOS,WAAWV,EAAca,UACjD,MACF,IAAK,MAEDJ,EAAoBA,GAAqBrkB,OAAO0kB,iBAAiBvkB,SAASwkB,qBAAqB,QAAQ,IACvGP,EAAME,WAAWT,GAAOS,WAAWD,EAAkBI,UAM3D,OAAOL,CACT,CAgBO,SAASQ,EAAkBvb,GAChC,GAAiB,iBAANA,EACT,OAAOA,EAET,IAAIwb,EAAcxb,EAAEwb,YAChBC,EAAQzb,EAAE0b,OACVC,EAAU3b,EAAE2b,QACZC,EAAU5b,EAAE4b,QACZC,EAAK7b,EAAE8b,OACPC,EAAK/b,EAAEgc,OACPC,EAAKjc,EAAEkc,OACPC,EAAMnc,EAAEoc,MACRC,EAAMrc,EAAEsc,MACRC,EAAqC,iBAAjBvc,EAAEuc,WAA0Bvc,EAAEuc,WAAavc,EAAEuc,WAAa,KAC9EC,EAAqC,iBAAjBxc,EAAEwc,WAA0Bxc,EAAEwc,WAAaxc,EAAEwc,WAAa,KAC9EC,EAAqC,iBAAjBzc,EAAEyc,WAA0Bzc,EAAEyc,WAAazc,EAAEyc,WAAa,KAC9EC,EAAKP,GAAOE,EAAM,QAAUF,EAAM,OAASE,EAAM,OAAS,GAC1DM,EAAKlB,EAAQ,UAAYA,EAAQ,OAAS,GAC1CmB,EAAY,IAAPf,GAAmB,IAAPE,GAAmB,IAAPE,EAAW,WAAaJ,EAAK,IAAME,EAAK,IAAME,EAAK,IAAM,GACtFY,EAAKlB,EAAU,WAAaA,EAAU,OAAS,GAC/CmB,EAAKlB,EAAU,WAAaA,EAAU,OAAS,GAE/CmB,EAAmBH,GAAMD,GAAME,GAAMC,GAAMJ,EAAK,GAAK,sBAEzD,QAHUlB,EAAc,eAAiBA,EAAc,MAAQ,IAGjD,KADExb,EAAEyc,WAAa,eAAiBF,EAAa,IAAMC,EAAa,IAAMC,EAAa,KAAOzc,EAAEuc,YAAcvc,EAAEwc,aAAe,aAAeD,EAAa,IAAMC,EAAa,KAAOO,GACjK,IAAMH,EAAK,IAAMD,EAAK,IAAME,EAAK,IAAMC,EAAK,IAAMJ,GAAIM,MACxF,C,kCCtRA,SAAmB,SAAUC,EAAOC,GAClC,IAAIC,EAAQD,GAAU,CAAC,EACvB,GAAI5E,EACF,MAAO,SAOT,IALA,IAAI8E,ED0OC,SAAmBC,GACxB,GAAoB,iBAATA,EAAmB,CAC5B,GAAIA,EAAK3P,OAAO,GAAGkM,MAAM,MAAO,CAC9B,IAAI0D,EAAUxmB,SAASymB,gBAAgB,6BAA8B,QAErE,OADAD,EAAQE,eAAe,KAAM,IAAKH,GAC3BC,CACT,CACA,OAAOxmB,SAAS2mB,cAAcJ,EAChC,CAAO,GAAIA,EAAK7b,MACd,OAAO6b,EAET,MAAM,IAAI7F,MAAM,+BAClB,CCtPiBkG,CAAUT,GACrBU,EAAaP,EAASQ,iBACtBC,EAAOV,EAAMU,MAAQ,IACrBC,EAAcX,EAAMW,aAAe,IACnCC,EAAS,GACJ3tB,EAAI,EAAGA,EAAI0tB,EAAc,EAAG1tB,IACnC2tB,EAAO/tB,KAAKotB,EAASY,iBAAiBL,GAAcG,EAAc,GAAK1tB,IAGzE,OADA2tB,EAAO/tB,KAAKotB,EAASY,iBAAiBF,IAC/B,SAAc9d,EAAGyE,EAAGwZ,EAAIC,GAC7B,IAAI5pB,EAAI,WAAmB0L,EAAGyE,EAAGwZ,EAAIC,GACjCC,EAAaN,EAAOvpB,EAKxB,OAAO,GAHKypB,EAAOnuB,QAAO,SAAUsqB,GAClC,OAAOA,EAAKkE,GAAKD,CACnB,IAAG,IAAMf,EAASY,iBAAiB1pB,EAAIqpB,IACtBU,EAAIR,CACvB,CACF,EAEA,QAAe,IC3Bf,IAAIS,EAAU,WAAoB,EAC1BA,EAAQltB,UACdpB,KAAO,SAAUuuB,GACjBrsB,KAAKqsB,EAAOntB,UAAUoU,MAAQ+Y,CAChC,EACA,YAAmBD,ECAnB,IAAIE,EAAc,SAAqBruB,EAAQ8oB,EAAMxe,GACnDvI,KAAK/B,OAASA,EACd+B,KAAK+mB,KAAOA,EACZ/mB,KAAKuI,KAAOA,EACZvI,KAAKusB,UAAY,CAAC,EAClBvsB,KAAKwsB,gBACP,EAII,EAHJF,EAAYptB,UAAY,CACtBoU,KAAM,SAGR,EAAEmZ,aAAe,SAAUluB,EAAKmuB,GAC9B,IAAI7jB,EAAO,CACTA,KAAM,CAAC,EACP8jB,SAAU,CAAC,EACXnE,SAAU,CAAC,EACXoE,UAAW,CAAC,EACZC,aAAc,CAAC,GAEb9F,EAAO2F,EA4BX,GA3BInG,EAAkBhoB,MAEpBwoB,GADAA,EAAOA,EAAKhmB,WAAW2R,MAAM,MACjBoa,KAAI,SAAUta,GACxB,MAAwB,iBAAVka,EAAqBla,EAAI,KAAOA,CAChD,KACK,GAAKuU,EAAK,IAAMA,EAAK,GAC1BA,EAAK,GAAKA,EAAK,IAAMA,EAAK,GAC1BA,EAAK,GAAKA,EAAK,IAAMA,EAAK,IAAMA,EAAK,GACrCA,EAAOA,EAAKzO,KAAK,MAEf/Z,EAAImpB,MAAM,uBACZ7e,EAAKA,KAAKtK,IAAO,QAAWwoB,GAC5Ble,EAAK8jB,SAASpuB,GAAO,SACJ,oBAARA,GACTsK,EAAKA,KAAKtK,GAAOwoB,EAAKrU,MAAM,KAC5B7J,EAAK8jB,SAASpuB,GAAO,mBACZA,EAAImpB,MAAM,YACnB7e,EAAKA,KAAKtK,IAAO,QAAYwoB,GAC7Ble,EAAK8jB,SAASpuB,GAAO,UACI,iBAATwoB,GAAqBA,EAAKrU,MAAM,UAAUtU,OAAS,GACnEyK,EAAKA,KAAKtK,GAAOwoB,EAAKrU,MAAM,UAC5B7J,EAAKgkB,aAAatuB,GAAOwoB,EAAK/G,QAAQ,WAAY,IAAIA,QAAQ,OAAQ,KACtEnX,EAAK8jB,SAASpuB,GAAO,WAErBsK,EAAKA,KAAKtK,GAAOwoB,EACjBle,EAAK8jB,SAASpuB,GAAO,SAEnBwW,MAAMC,QAAQnM,EAAKA,KAAKtK,IAC1BsK,EAAK2f,SAASjqB,GAAOsK,EAAKA,KAAKtK,GAAKuuB,KAAI,SAAUC,GAChD,OAAOA,EAAMhsB,WAAWif,QAAQ,YAAa,GAC/C,IACAnX,EAAK+jB,UAAUruB,GAAOsK,EAAKA,KAAKtK,GAAKuuB,KAAI,SAAUC,GACjD,OAAOA,EAAMhsB,WAAWif,QAAQ,YAAa,GAC/C,IAEAnX,EAAKA,KAAKtK,GAAOsK,EAAKA,KAAKtK,GAAKuuB,KAAI,SAAUC,GAC5C,OAAQhE,WAAWgE,IAAgC,IAAtBhE,WAAWgE,GAAuBhE,WAAWgE,GAAnBA,CACzD,QACK,CACLlkB,EAAK2f,SAASjqB,GAAOsK,EAAKA,KAAKtK,GAAKwC,WAAWif,QAAQ,YAAa,IACpEnX,EAAK+jB,UAAUruB,GAAOsK,EAAKA,KAAKtK,GAAKwC,WAAWif,QAAQ,YAAa,IACrE,IAAIgM,EAAIjD,WAAWlgB,EAAKA,KAAKtK,GAAKwC,WAAWif,QAAQ,aAAc,KACnEnX,EAAKA,KAAKtK,GAAQytB,GAAW,IAANA,EAA2BA,EAAjBnjB,EAAKA,KAAKtK,EAC7C,CACA,OAAOsK,CACT,EACA,EAAE2jB,eAAiB,WACjB,IAAItnB,EAAQlF,KAEZA,KAAKusB,UAAU1jB,KAAO,CAAC,EACvB7I,KAAKusB,UAAUI,SAAW,CAAC,EAC3B3sB,KAAKusB,UAAU/D,SAAW,CAAC,EAC3BxoB,KAAKusB,UAAUK,UAAY,CAAC,EAC5B5sB,KAAKusB,UAAUM,aAAe,CAAC,EAC/BtvB,OAAOD,KAAK0C,KAAK+mB,MAAMzoB,SAAQ,SAAU0uB,GACvC,GAAIA,KAAQ,EACV9nB,EAAMqnB,UAAU1jB,KAAKmkB,GAAQ,IAAI,EAAQA,GAAM9nB,EAAMjH,OAAQiH,EAAM6hB,KAAKiG,QAD1E,CAIA,IAAIzuB,GAAM,QAAYyuB,GAClBC,EAAQ/nB,EAAMunB,aAAaluB,EAAK2G,EAAM6hB,KAAKiG,IAC/C9nB,EAAMqnB,UAAU1jB,KAAKtK,GAAO0uB,EAAMpkB,KAAKtK,GACvC2G,EAAMqnB,UAAUI,SAASpuB,GAAO0uB,EAAMN,SAASpuB,GAC/C2G,EAAMqnB,UAAU/D,SAASjqB,GAAO0uB,EAAMzE,SAASjqB,GAC/C2G,EAAMqnB,UAAUK,UAAUruB,GAAO0uB,EAAML,UAAUruB,GAC7C0uB,EAAMJ,aAAatuB,KACrB2G,EAAMqnB,UAAUM,aAAatuB,GAAO0uB,EAAMJ,aAAatuB,GARzD,CAUF,GACF,EACA,EAAE2uB,oBAAsB,SAAU7E,EAAeE,EAAMhqB,EAAKsK,EAAM3K,GAChE,IAAIivB,EAAYtkB,EAAK9H,WAAWif,QAAQ,YAAa,IACjDoN,EAAU7E,EAAKrqB,GACnB,OAAIivB,IAAcC,EACTrE,WAAWlgB,GACRkgB,WAAWlgB,IAA8B,IAArBkgB,WAAWlgB,GAGpCuf,EAAsBpoB,KAAK/B,OAAQoqB,EAAe9pB,EAAKsK,EAAMskB,EAAWC,EAAS,KAAc,oBAAR7uB,IAA8BL,GAFnH2K,CAGX,EACA,EAAEwkB,aAAe,SAAUhF,EAAeiF,EAAOC,GAC/C,IAAIhqB,EAASvD,KAETsP,EAAQ,CAAC,EACTke,EAAaF,EAAMhe,OAAS,CAAC,EAC7BgX,OAAY,EAqEhB,OApEA/oB,OAAOD,KAAK0C,KAAKusB,UAAU1jB,MAAMvK,SAAQ,SAAUC,GACjD,IAAIkvB,GAAU,QAAUlvB,GACpBmvB,EAAYF,EAAWC,IAAYpF,EAAcoF,GACjDhF,EAAmC,UAA3BJ,EAAcsF,SACrBD,GAA2B,SAAdA,GAAsC,SAAdA,IACxCA,EAAY,IAEd,IAAIN,OAAU,EACVD,OAAY,EAChB,GAAI5uB,KAAO,EACG,WAARA,IACFgF,EAAO+iB,WAAY,QAAe,aAClCoH,EAAYrF,EAAckF,EAAQ,eAAiBhqB,EAAO+iB,WAC1DA,EAAYA,IAAckH,EAAWlH,WAAY,OAAS,CAAC,EAAGkH,EAAWlH,WAAahX,EAAMgX,YAAa,QAAaoH,IACtHpe,EAAMgX,UAAYA,GAEpB/iB,EAAOgpB,UAAU1jB,KAAKtK,GAAK8uB,aAAahF,EAAekF,QAClD,GAAgB,cAAZE,EAAyB,CAClClqB,EAAO+iB,WAAY,QAAe,aAClCoH,EAAYrF,EAAckF,EAAQ,eAAiBhqB,EAAO+iB,WAC1D8G,EAAU7pB,EAAOgpB,UAAU/D,SAASjqB,GACpC+nB,EAAYA,IAAckH,EAAWlH,WAAY,OAAS,CAAC,EAAGkH,EAAWlH,WAAahX,EAAMgX,YAAa,QAAaoH,IACtH,IAAIE,EAAU,kBACVR,GAAWA,EAAQ1F,MAAMkG,KAC3BtH,EAAU/nB,GAAO+nB,EAAU/nB,IAAQ+nB,EAAU/nB,GAAKwC,WAAW2mB,MAAMkG,GAAW7E,WAAWzC,EAAU/nB,IAAQ6pB,EAAsB7kB,EAAOtF,OAAQoqB,EAAe9pB,EAAK+nB,EAAU/nB,GAAM,KAAM6uB,IAE5L9d,EAAMgX,UAAYA,CACpB,KAAuB,WAAZmH,GACLD,EAAWC,GACbC,EAAYF,EAAWC,IAEvBlqB,EAAOsqB,YAAa,QAAe,WAAa,SAChDH,EAAYrF,EAAc9kB,EAAOsqB,YACjCtqB,EAAOuqB,cAAe,OAAS,CAAC,EAAGvqB,EAAOuqB,cAAc,QAAoBJ,IAC5EA,EAAYnqB,EAAOuqB,aAAavvB,IAAQ,GAE1C4uB,EAAYO,EAAU3sB,WAAWif,QAAQ,YAAa,KACtDoN,EAAU7pB,EAAOgpB,UAAU/D,SAASjqB,MACpB4uB,IACdO,EAAYtF,EAAsB7kB,EAAOtF,OAAQoqB,EAAeoF,EAAS1E,WAAW2E,GAAYP,EAAWC,EAAS3E,IAEtHnZ,EAAM/Q,GAAOwqB,WAAW2E,IACfnvB,EAAImpB,MAAM,gBAA0B,WAARnpB,GACrCmvB,EAAaA,GAAqB,WAARnvB,EAA8CmvB,EAA3B,yBAC7Cpe,EAAMme,IAAW,QAAWC,IACnBnvB,EAAImpB,MAAM,YACnBgG,GAAY,QAAYA,GACxBN,EAAU7pB,EAAOgpB,UAAU/D,SAASjqB,GACpCmvB,EAAYA,EAAUZ,IAAIvpB,EAAO2pB,oBAAoBprB,KAAKyB,EAAQ8kB,EAAe+E,EAAS7uB,IAC1F+Q,EAAMme,GAAWC,GACR3Y,MAAMC,QAAQzR,EAAOgpB,UAAU1jB,KAAKtK,KAC7CmvB,EAAYA,EAAUhb,MAAM,UAAUhV,QAAO,SAAU8U,GACrD,OAAOA,GAAW,IAANA,CACd,IACA4a,EAAU7pB,EAAOgpB,UAAU/D,SAASjqB,GACpCmvB,EAAYA,EAAUZ,IAAIvpB,EAAO2pB,oBAAoBprB,KAAKyB,EAAQ8kB,EAAe+E,EAAS7uB,IAC1F+Q,EAAMme,GAAWC,KAGjBN,EAAU7pB,EAAOgpB,UAAU/D,SAASiF,OACpCN,EAAYO,EAAU3sB,WAAWif,QAAQ,YAAa,OAEpD0N,EAAYtF,EAAsB7kB,EAAOtF,OAAQoqB,EAAeoF,EAAS1E,WAAW2E,GAAYP,EAAWC,EAAS3E,IAEtHnZ,EAAMme,GAAW1E,WAAW2E,GAAa,GAE7C,IACA1tB,KAAK+tB,MAAQze,EACNA,CACT,EACA,EAAE0e,cAAgB,SAAUC,EAAOF,EAAOhH,EAAMwB,EAAMhgB,GACvC,UAATA,GAAqC,IAAjBwlB,EAAM3vB,QAAgC,IAAhB2oB,EAAK3oB,SACjD2oB,EAAK,GAAK,GAEZ,IAAImH,EAAaH,EAAM/sB,QAAQ,UAAY,EACvCmtB,EAAWpH,EAAK/lB,QAAQ,UAAY,EACxC,GAAIktB,IAAeC,GAAYA,IAAaD,EAC1C,MAAM9pB,QAAQC,MAAM,2CAEtB,IAAIjG,EAAS+vB,EAAW,EAAI,EACxBJ,EAAM3vB,SAAWA,GAAU2oB,EAAK3oB,SAAWA,EAAS,GACtD2oB,EAAKqH,OAAO,EAAG,EAAG,GAClB7F,EAAK6F,OAAO,EAAG,EAAG,KACTrH,EAAK3oB,SAAWA,GAAU2vB,EAAM3vB,SAAWA,EAAS,GAC7D2vB,EAAMK,OAAO,EAAG,EAAG,GAErB,IAAIC,EAAQtH,EAAK+F,KAAI,SAAUwB,EAASpwB,GACtC,IAAIqwB,EAAwB,UAAThmB,GAA0B,IAANrK,GAAY6vB,EAAM7vB,GAAS,EAAJ,EAC1DwvB,EAAgC,iBAAbK,EAAM7vB,GAAkB6vB,EAAM7vB,GAAKqwB,EAC1D,MAAuB,iBAAZD,EACFA,GAEDA,EAAUZ,GAAaO,EAAQP,GAAanF,EAAKrqB,IAAM,EACjE,IACA,GAAa,UAATqK,EACF,OAAO,QAAS8lB,GACX,GAAa,WAAT9lB,EAAmB,CAC5B,IAAI+S,EAAI+S,EAAMjwB,SAAWA,EAAS,EAAI,EAClCyP,EAAIwgB,EAAMpc,MAAM,EAAGqJ,GAAGwR,KAAI,SAAU9E,GACtC,MAAoB,iBAATA,EACFA,EAAO,KAETA,CACT,IACIxV,EAAI6b,EAAMpc,MAAMqJ,EAAG6S,EAAWE,EAAMjwB,OAAS,EAAIiwB,EAAMjwB,QACvDowB,GAAQ,QAAShc,GACrB,OAAQ3E,EAAEyK,KAAK,KAAO,IAAMkW,EAAQ,KAAOL,EAAW,QAAU,KAAKrD,MACvE,CACA,OAAOuD,CACT,EAEA,EAAEI,SAAW,SAAUR,EAAOX,EAAOjF,GACnC,IAAI/gB,EAAStH,KAEbstB,EAAMhe,MAAQge,EAAMhe,OAAS,CAAC,EAC1BtP,KAAK+tB,MAAMzH,YACbgH,EAAMhe,MAAMgX,UAAYgH,EAAMhe,MAAMgX,YAAa,OAAS,CAAC,EAAGtmB,KAAK+tB,MAAMzH,YAE3E,IAAIhX,EAAQtP,KAAK/B,OAAOqR,MACxB/R,OAAOD,KAAK0C,KAAKusB,UAAU1jB,MAAMvK,SAAQ,SAAUC,GACjD,IAAImwB,EAAoC,eAArB,QAAYnwB,GAC3BowB,EAAYD,EAAepnB,EAAOymB,MAAMzH,UAAU/nB,GAAO+I,EAAOymB,MAAMxvB,GACtEqwB,EAAUtnB,EAAOilB,UAAU1jB,KAAKtK,GAChCgqB,EAAOjhB,EAAOilB,UAAU/D,SAASjqB,GACjCswB,EAAQvnB,EAAOilB,UAAUK,UAAUruB,GACvC,GAAIA,KAAO,EAST,OARA+I,EAAOilB,UAAU1jB,KAAKtK,GAAKkwB,SAASR,EAAOX,EAAOjF,QACtC,WAAR9pB,EACF+Q,EAAMhI,EAAOgf,WAAa+C,EAAkBiE,EAAMhe,MAAMgX,WAExD/oB,OAAOD,KAAKgwB,EAAMhe,OAAOhR,SAAQ,SAAUwwB,GACzCxf,EAAMwf,GAAOxB,EAAMhe,MAAMwf,EAC3B,KAGG,GAAIJ,EAAc,CACvB,GAAInG,GAAQA,EAAKb,MAAM,mBACrBiH,EAAY5F,WAAWzhB,EAAOymB,MAAMzH,UAAU/nB,IACtB,MAApBswB,EAAMrT,OAAO,GACf8R,EAAMhe,MAAMgX,UAAU/nB,GAAOowB,EAAYC,EAAUX,EAAQ1F,EAE3D+E,EAAMhe,MAAMgX,UAAU/nB,IAAQqwB,EAAUD,GAAaV,EAAQU,EAAYpG,OAEtE,GAAY,UAARhqB,EAAiB,CAC1B,IAAIwwB,EAASznB,EAAOymB,MAAMzH,UAAUsD,OAChCoF,EAAS1nB,EAAOymB,MAAMzH,UAAUwD,OACZ,MAApB+E,EAAMrT,OAAO,IACf8R,EAAMhe,MAAMgX,UAAUsD,OAASmF,EAASH,EAAUX,EAClDX,EAAMhe,MAAMgX,UAAUwD,OAASkF,EAASJ,EAAUX,IAElDX,EAAMhe,MAAMgX,UAAUsD,QAAUgF,EAAUG,GAAUd,EAAQc,EAC5DzB,EAAMhe,MAAMgX,UAAUwD,QAAU8E,EAAUI,GAAUf,EAAQe,EAEhE,KAA+B,MAApBH,EAAMrT,OAAO,GACtB8R,EAAMhe,MAAMgX,UAAU/nB,GAAOowB,EAAYC,EAAUX,EAEnDX,EAAMhe,MAAMgX,UAAU/nB,IAAQqwB,EAAUD,GAAaV,EAAQU,EAM/D,OAJArf,EAAMhI,EAAOgf,WAAa+C,EAAkBiE,EAAMhe,MAAMgX,gBACpD+B,IACFA,EAAc4G,cAAe,QAAa3f,EAAMhI,EAAOgf,YAAYvlB,YAGvE,CAAO,GAAIgU,MAAMC,QAAQ4Z,GAAU,CACjC,IAAIM,EAAQ5nB,EAAOilB,UAAUI,SAASpuB,GACtC+uB,EAAMhe,MAAM/Q,GAAO+I,EAAO0mB,cAAcC,EAAOU,EAAWC,EAASrG,EAAM2G,GAC3D,WAAVA,IACF5B,EAAMhe,MAAM/Q,GAAO+uB,EAAMhe,MAAM/Q,GAAK+Z,KAAKhR,EAAOilB,UAAUM,aAAatuB,IAE3E,KAAO,CACL,IAAI4wB,GAAY,QAAY5wB,EAAK,GAGjC,GAFA4wB,EAAiC,iBAAdA,EAAyB,GAAKA,EAAUnP,QAAQ,YAAa,IAChFuI,EAAOA,IAAS,oBAAuBhqB,IAAQ,EAAI,GAAK4wB,GACjC,iBAAZP,EACTtB,EAAMhe,MAAM/Q,GAAOqwB,OACd,GAAwB,MAApBC,EAAMrT,OAAO,GACtB8R,EAAMhe,MAAM/Q,GAAOowB,EAAYC,EAAUX,EAAQ1F,MAC5C,CACL,IAAI/oB,GAASovB,EAAUD,GAAaV,EAAQU,EAC5CrB,EAAMhe,MAAM/Q,GAAOgqB,EAAO,GAAK/oB,EAAQ+oB,EAAO/oB,CAChD,CACF,CACA,GAAI,oBAAuBjB,IAAQ,EAAG,CACpC,IAAK+I,EAAOwmB,aACV,OAEFxmB,EAAOwmB,aAAavvB,GAAO+uB,EAAMhe,MAAM/Q,GACvC,IAAI6wB,EAAc,GAKlB,OAJA7xB,OAAOD,KAAKgK,EAAOwmB,cAAcxvB,SAAQ,SAAU+wB,GACjDD,GAAe,IAAMC,EAAY,IAAM/nB,EAAOwmB,aAAauB,GAAa,GAC1E,SACA/f,EAAMhI,EAAOumB,YAAcuB,EAAYtE,OAEzC,CACAxb,EAAM/Q,GAAO+uB,EAAMhe,MAAM/Q,EAC3B,GACF,EACA,UCtSA,SAAS+wB,IAAQ,CAGjB,SAASC,EAAYxI,EAAM1c,GACzB,IAAIzE,EAAWmhB,EAAKnhB,UAA8B,IAAlBmhB,EAAKnhB,SAAiBmhB,EAAKnhB,SANtC,IAOrB,MAAO,CACLA,SAAwB,QAAdmhB,EAAKxe,KAAiB,EAAI3C,EACpCwI,MAAO2Y,EAAK3Y,OARI,EAShBohB,KAA2B,mBAAdzI,EAAKyI,KAAsBzI,EAAKyI,KAAOC,EAAY1I,EAAKyI,MAXpD,iBAYjBE,SAAU3I,EAAK2I,UAAYJ,EAC3BK,WAAY5I,EAAK4I,YAAcL,EAC/BM,QAAS7I,EAAK6I,SAAWN,EACzBO,SAAU9I,EAAK8I,UAAYP,EAC3BQ,OAAQ/I,EAAK+I,QAAU,EACvBC,YAAahJ,EAAKgJ,aAAe,EACjCC,KAAMjJ,EAAKiJ,OAAQ,EACnBznB,KAAoB,SAAdwe,EAAKxe,KAAkB,OAAS,KACtC0nB,SAAU5lB,EACV6lB,SAAmC,iBAAlBnJ,EAAKmJ,SAAwBnJ,EAAKmJ,SAAW,KAC9DC,QAAS,EACTC,cAAe,EAEnB,CArBA,OAAa,GAuBb,IAAIC,EAAQ,SAAepyB,EAAQqyB,EAAIjoB,GACrC,IAAIkoB,EAASzJ,EAAYwJ,GACzBtwB,KAAK/B,OAASA,EACd+B,KAAKqI,KAAOA,GAAQ,QAEpBrI,KAAKwwB,SAAW,KAEhBxwB,KAAKywB,UAAY,EAEjBzwB,KAAK0wB,aAAe,EAEpB1wB,KAAKuvB,YAAc,GAEnBvvB,KAAK+tB,MAAQ,CAAC,EAEd/tB,KAAK2wB,iBAAmB,CAAC,EAEzB3wB,KAAKstB,MAAQ,CAAC,EAEdttB,KAAK6I,KAAO0nB,EAEZvwB,KAAK4wB,SAAWnc,KAAK2P,MAAM,IAAO,IAElCpkB,KAAK6wB,UAAW,EAEhB7wB,KAAKutB,MAAQvtB,KAAK/B,OAAO6yB,gBAEzB,IAAIjoB,EAAO7I,KAAK+wB,iBAEhB/wB,KAAKwsB,eAAe3jB,EACtB,EACI,EAAIwnB,EAAMnxB,UACd,EAAE6xB,eAAiB,WACjB,IAAI7rB,EAAQlF,KAER6I,EAAO,GACPmoB,EAAezB,EAAY,CAAC,EAAG,GAgCnC,OA/BAvvB,KAAK6I,KAAKvK,SAAQ,SAAU0tB,EAAG9tB,GAC7B,IAAI+yB,GAAK,OAAS,CAAC,EAAGjF,GACH,UAAf9mB,EAAMmD,MACRQ,EAAK3K,GAAK,CAAC,EACXX,OAAOD,KAAK2zB,GAAI3yB,SAAQ,SAAUC,GAC5BA,KAAOyyB,IACTnoB,EAAK3K,GAAGK,GAAO0yB,EAAG1yB,UACX0yB,EAAG1yB,GAEd,IACAsK,EAAK3K,GAAGoR,MAAQ2hB,EAChB/rB,EAAMyrB,iBAAiBrhB,MAAQpK,EAAMjH,OAAOizB,aAAa,UAAY,IAC7C,SAAfhsB,EAAMmD,OACf9K,OAAOD,KAAK2zB,GAAI3yB,SAAQ,SAAUC,GAChC,GAAY,UAARA,GAAmBwW,MAAMC,QAAQgX,EAAEztB,IACrC,MAAM,IAAI+mB,MAAM,+BAElB,GAAY,WAAR/mB,EACF0yB,EAAG3hB,OAAQ,OAAS,CAAC,EAAG2hB,EAAG3hB,MAAO,CAAE6hB,OAAQF,EAAG1yB,YACxC0yB,EAAG1yB,GACV2G,EAAMyrB,iBAAiBrhB,MAAQpK,EAAMjH,OAAOizB,aAAa,UAAY,OAChE,CACL,GAAI3yB,KAAOyyB,EACT,OAEF9rB,EAAMyrB,iBAAiBpyB,GAAO2G,EAAMksB,SAAS7yB,EAC/C,CACF,IACAsK,EAAK3K,GAAK+yB,EAEd,IACOpoB,CACT,EACA,EAAE2jB,eAAiB,SAAU6B,GAC3B,IAAI9qB,EAASvD,KAETqK,EAAM,EACNgnB,GAAY,EACZxoB,EAAOwlB,EAAMvB,KAAI,SAAU9E,GAC7B,IAAIsJ,EAAwC,iBAAlBtJ,EAAKkI,SAE1BoB,IACHjnB,GAAO2d,EAAK5Z,OAAS,GAEvB,IAAImjB,GAAgBvJ,EAAKkI,UAAY,IAAMlI,EAAK5Z,OAAS,GAErDojB,EAAYjC,EAAYvH,EAAMsJ,EAAeC,EAAelnB,GAChEmnB,EAAUzK,KAAO,CAAC,EAClBxpB,OAAOD,KAAK0qB,GAAM1pB,SAAQ,SAAU0uB,GAClC,KAAMA,KAAQwE,GAAY,CACxB,IAAIvE,EAAQjF,EAAKgF,GACjB,GAAIA,KAAQ,EACVwE,EAAUzK,KAAKiG,GAAQ,IAAI,EAAQA,GAAMzpB,EAAOtF,OAAQgvB,EAAOuE,EAAUjpB,WACpE,GAAc,MAATykB,GAAyB,WAATA,KAAsB,aAAc,IAEzD,GAAIA,EAAKtF,MAAM,WAAsB,WAATsF,GAA8B,SAATA,EACtDwE,EAAUzK,KAAKiG,GAAQ,CAAEzkB,KAAM,QAASwe,MAAM,QAAWkG,SACpD,GAAqB,iBAAVA,GAAsBA,EAAMva,MAAM,WAAWtU,QAAU,EAAG,CAC1E,IAAI2oB,EAAOgC,WAAWkE,GAClB1E,EAAO0E,EAAMlsB,WAAWif,QAAQ,YAAa,IAC7C6O,EAAQ5B,EAAMlsB,WAAWif,QAAQ,YAAa,IAClDwR,EAAUzK,KAAKiG,GAAQ,CAAEzE,KAAMA,EAAMxB,KAAMA,EAAM8H,MAAOA,EAC1D,OARE2C,EAAUzK,KAAKiG,GAAQ,IAAI,WAAiBzpB,EAAOtF,OAAQgvB,EAAOD,EAStE,CACF,IACIwE,EAAUxB,OAASwB,EAAU1B,QAC/B1rB,QAAQ4E,KAAK,qDAEW,IAAtBwoB,EAAU1B,SACZuB,GAAY,GAEd,IAAIvB,GAA+B,IAAtB0B,EAAU1B,OAAgB,EAAI0B,EAAU1B,OACrD,GAAIwB,EAAc,CAEhB,IAAIG,EAAYzJ,EAAKkI,UAAYlI,EAAK5Z,OAAS,GAAKojB,EAAU5rB,UAAYkqB,EAAS,GAAK0B,EAAUzB,YAAcD,EAChHzlB,EAAMonB,GAAapnB,EAAMonB,EAAYpnB,CACvC,MAAWmnB,EAAUpjB,OAASojB,EAAU5rB,SAEtCyE,GAAOmnB,EAAUpjB,MAGjB/D,GAAOmnB,EAAU5rB,UAAYkqB,EAAS,GAAK0B,EAAUzB,YAAcD,EAGrE,OADA0B,EAAUjkB,KAAO,GACVikB,CACT,IACAxxB,KAAKywB,UAAYY,EAAYlhB,OAAOuhB,UAAYrnB,EAChDrK,KAAKuvB,YAAc1mB,CACrB,EACA,EAAEsgB,iBAAmB,WACnB,IAAI7Z,EAA0B,oBAAX7K,QAA0BG,SAAS+sB,YAAc/sB,SAAS+sB,YAAYxI,iBAAiBnpB,KAAK/B,QAAU,CAAC,EAE1H,GAAI+B,KAAKutB,MAAO,CACd,IAAIjH,EAAYhX,GAAM,QAAe,eAAiB,OACtD,GAAkB,SAAdgX,EAAsB,CACxB,IAAIsL,EAAY5xB,KAAK/B,OAAOizB,aAAa,SACrCU,GAAaA,EAAU5wB,QAAQ,eAAiB,EAClDslB,EAAYsL,EAAUlf,MAAM,KAAKhV,QAAO,SAAU2a,GAChD,OAAOA,EAAErX,QAAQ,eAAiB,CACpC,IAAG8rB,KAAI,SAAU9E,GACf,OAAO,QAAaA,EAAKtV,MAAM,KAAK,GAAGoY,QAAQ/pB,UACjD,IAAG,GACMf,KAAK/B,OAAOizB,aAAa,cAElC9sB,QAAQ4E,KAAK,mEAEjB,CACAsG,EAAM2f,aAAe3I,CACvB,CACA,OAAOhX,CACT,EACA,EAAEuiB,iBAAmB,SAAU7J,GAC7B,IAAI1gB,EAAStH,KAET+tB,EAAQ,CAAC,EAwBb,OAvBAxwB,OAAOD,KAAK0qB,GAAM1pB,SAAQ,SAAU0uB,GAClC,GAAIA,KAAQ,GAA2B,SAAhB1lB,EAAOe,OAA6B,MAAT2kB,GAAyB,WAATA,GAGhE,OAFA1lB,EAAO+gB,cAAgB/gB,EAAO+gB,gBAAmB/gB,EAAOrJ,OAAOizB,aAA6C5pB,EAAO6hB,oBAArC,OAAS,CAAC,EAAG7hB,EAAOrJ,cAClG8vB,EAAMf,GAAQhF,EAAKgF,GAAMK,aAAa/lB,EAAO+gB,cAAe/gB,EAAOgmB,MAAOhmB,EAAOimB,QAGnF,GAAoB,SAAhBjmB,EAAOe,KAeX0lB,EAAMf,GAAQ1lB,EAAOrJ,OAAO+uB,IAAS,MAfrC,CAEE,IAAI8E,EAAYxqB,EAAO8pB,SAASpE,GAC5Bnf,EAAImf,EAAKtF,MAAM,aAAe,EAAI,EAClC7e,EAAqB,SAAdipB,GAAyBA,EAAgBA,EAAJjkB,EAChD,GAAImf,EAAKtF,MAAM,WAAsB,WAATsF,GAA8B,SAATA,EAC/CnkB,EAAQA,GAAiB,WAATmkB,EAA+CnkB,EAA3B,yBACpCA,GAAO,QAAWA,GAClBklB,EAAMf,GAAQnkB,OACT,GAAIkgB,WAAWlgB,IAA8B,IAArBkgB,WAAWlgB,IAAwB,IAATA,EAAY,CACnE,IAAI0f,EAAO1f,EAAK9H,WAAWif,QAAQ,YAAa,IAChD+N,EAAMf,GAAQzE,IAASP,EAAKgF,GAAMzE,KAAOH,EAAsB9gB,EAAOrJ,OAAQ+uB,EAAMjE,WAAWlgB,GAAO0f,EAAMP,EAAKgF,GAAMzE,MAAQQ,WAAWlgB,EAC5I,CAEF,CAEF,IACOklB,CACT,EACA,EAAEgE,YAAc,SAAUlpB,GACxB,IAAIX,EAASlI,KAEbzC,OAAOD,KAAKuL,GAAMvK,SAAQ,SAAUC,GAC9BA,KAAO,GAA2B,SAAhB2J,EAAOG,OAA4B,MAAR9J,GAAuB,WAARA,KAGhE2J,EAAOjK,OAAOM,GAAOsK,EAAKtK,GAC5B,GACF,EACA,EAAEkwB,SAAW,SAAUR,EAAOK,EAASpwB,GACrC,IAAIsK,EAASxI,KAEbzC,OAAOD,KAAKgxB,EAAQvH,MAAMzoB,SAAQ,SAAU0uB,GAC1C,GAAIA,KAAQ,GAA2B,SAAhBxkB,EAAOH,OAA6B,MAAT2kB,GAAyB,WAATA,GAChEsB,EAAQvH,KAAKiG,GAAMyB,SAASR,EAAOzlB,EAAO8kB,MAAO9kB,EAAO+kB,OAAS/kB,EAAO6f,mBAD1E,CAIA,IAAIuG,EAAUN,EAAQvH,KAAKiG,GACvB2B,EAAYnmB,EAAOulB,MAAM7vB,GAAG8uB,GAC5BnkB,OAAO,EACS,SAAhBL,EAAOH,OAEJumB,EAAQrmB,KAGe,UAAjBqmB,EAAQrmB,OACW,IAAxBqmB,EAAQ7H,KAAK3oB,QAAqC,IAArBuwB,EAAUvwB,SACzCwwB,EAAQ7H,KAAK,GAAK,GAEpBle,EAAO+lB,EAAQ7H,KAAK+F,KAAI,SAAUkF,EAAUxV,GAC1C,IAAIkR,EAAYiB,EAAUnS,IAAO,EACjC,OAAQwV,EAAWtE,GAAaO,EAAQP,CAC1C,IACAllB,EAAOypB,SAASjF,GAAM,QAASnkB,MAV/BA,EAAkC,MAA3B+lB,EAAQrG,KAAK/M,OAAO,GAAamT,EAAYC,EAAQ7H,KAAOkH,EAAQW,EAAQrG,MAAQqG,EAAQ7H,KAAO4H,GAAaV,EAAQU,EAAYC,EAAQrG,KACnJ/f,EAAOypB,SAASjF,EAAM4B,EAAQrG,KAAO1f,EAAOkgB,WAAWlgB,KAR3D,CAoBF,IACA7I,KAAK+xB,YAAY/xB,KAAKstB,MACxB,EACA,EAAE8D,SAAW,SAAU7yB,GACrB,OAAOyB,KAAK/B,OAAOizB,aAAelxB,KAAK/B,OAAOizB,aAAa3yB,GAAOyB,KAAK/B,OAAOM,EAChF,EACA,EAAE0zB,SAAW,SAAU1zB,EAAKiB,GACtBQ,KAAK/B,OAAOi0B,aACdlyB,KAAK/B,OAAOi0B,aAAa3zB,EAAKiB,GAE9BQ,KAAK/B,OAAOM,GAAOiB,CAEvB,EACA,EAAE2yB,OAAS,WACT,IAAIC,EAASpyB,KAETqyB,EAAUryB,KAAKqyB,QACnBryB,KAAKuvB,YAAYjxB,SAAQ,SAAU0pB,EAAM9pB,GACvC,IAAI+xB,EAAWjI,EAAKiI,SAChBrqB,GAAW,QAAQoiB,EAAKpiB,UAExB0sB,EAAY7d,KAAKkH,MAAMyW,EAAO1B,aAAeT,IAAarqB,EAAWoiB,EAAK+H,cAAgB,GAAK,EAEnG,GADAuC,EAAYA,EAAY,EAAI,EAAIA,EAC5BtK,EAAK8H,OAAQ,CACf,GAAI9H,EAAK8H,OAASwC,IAA8B,IAAjBtK,EAAK8H,OAClC,QAEE9H,EAAK8H,QAAU9H,EAAK8H,QAAUwC,KAChCrC,GAAYqC,GAAa1sB,EAAWoiB,EAAK+H,aAE7C,CACA,IAAIrC,EAAY1F,EAAKgI,MAAQsC,EAAY,EAAI,EAAI,EAC7ChE,EAAUtG,EAAKgI,MAAQsC,EAAY,EAAI,EAAI,EAC/C5E,EAA0B,SAAd1F,EAAKzf,KAAkB,EAAImlB,EAAYA,EACnDY,EAAwB,SAAdtG,EAAKzf,KAAkB,EAAI+lB,EAAUA,EAE/C,IAAIoC,GAAe,QAAQ0B,EAAO1B,aAAeT,GAE7ChC,OAAQ,EAKZ,KAAIyC,GAD0B,SAAd1I,EAAKzf,KAAkByf,EAAK5Z,MAAQ,IACpB,IACzBgkB,EAAOrE,MAAM7vB,KAEhBk0B,EAAOrE,MAAM7vB,GAAKk0B,EAAOP,iBAAiB7J,EAAKjB,MAC3C2J,EAAe0B,EAAOxB,UACxB3C,EAASjG,EAAKpiB,UAAaoiB,EAAK5Z,MAA8C4Z,EAAKwH,KAAK,EAAG9B,EAAWY,EAAS,GAAvEtG,EAAKwH,KAAK,EAAG9B,EAAWY,EAAS,GACzE8D,EAAO3D,SAASR,EAAOjG,EAAM9pB,IACpBwyB,EAAe9qB,IACxBqoB,EAAQjG,EAAKwH,KAAK,EAAG9B,EAAWY,EAAS,GACzC8D,EAAO3D,SAASR,EAAOjG,EAAM9pB,MAE1Bk0B,EAAOvB,UAAY3yB,IAAM+xB,KAC5BmC,EAAOvB,UAAW,EACG,IAAjBH,GAAsB1I,EAAKpiB,UAAYoiB,EAAK5Z,SAbtD,CAoBA,IAAIlM,EAAI,CACN8P,MAAO9T,EACPD,OAAQm0B,EAAOn0B,QAEbs0B,GAAK,OAAS,CAChBC,OAAQJ,EAAO1B,cACdxuB,GACCuwB,EAASL,EAAOxB,SAAWwB,EAAO5B,SAClClrB,EAAY0iB,EAAK5Z,OAASikB,GAAWI,EAAS,EAClD,IAAK/B,GAAgBprB,KAAeorB,EAAe9qB,GAA0B,eAAdoiB,EAAKza,OAA0BmjB,EAAeprB,GAAa0iB,EAAKza,MAAsB,YAAdya,EAAKza,OAAuB6kB,EAAOrE,MAAM7vB,GAAI,CAClL,IAAIw0B,EAAmC,WAAtBN,EAAOM,WAExB,KADAhC,EAAeA,EAAe+B,IAAWJ,GAAWrK,EAAKpiB,UAAYwsB,EAAOxB,SAAW,EAAIF,IACtE9qB,EAAWwsB,EAAO5B,WAAa6B,GAAWA,GAAW3B,GAAgB,IAAM4B,GAAatK,EAAK8H,OAAQ,CACxH,GAAkB,eAAd9H,EAAKza,KACP,OAKF,GAFA0gB,EAAQjG,EAAKwH,KAAK6C,EAAU,EAAI,EAAG3E,EAAWY,EAAS,GACvD8D,EAAO3D,SAASR,EAAOjG,EAAM9pB,EAAG8pB,EAAKoI,gBAAkBkC,GACjDtK,EAAK2K,SAAS3K,EAAK2K,OAASjC,GAAgB9qB,IAAc8sB,GAazD,GAAIhC,GAAgB9qB,EAAW6sB,EACpC,YAZI7sB,EAAW6sB,IACR7sB,IACHoiB,EAAK4H,QAAQ1tB,GACbqwB,EAAGhlB,KAAO,UACV6kB,EAAOQ,SAASL,IAElBvK,EAAK0H,UAAS,OAAS,CAAEzB,MAAOA,GAAS/rB,IACzCqwB,EAAGhlB,KAAO,WACV6kB,EAAOQ,SAASL,IAElBvK,EAAK2H,WAAWztB,GAIlB8lB,EAAKza,KAAO,YACd,MAAO,GAAI3H,EAAW6sB,EAAQ,CAC5B,IAAII,EAAkBnC,EAAe,EAAI,EAAIA,EAC7CmC,EAAkBA,EAAkBjtB,EAAWA,EAAWitB,EAC1D5E,EAAQjG,EAAKwH,KAAKqD,EAAiBnF,EAAWY,EAAS1oB,GACvDwsB,EAAO3D,SAASR,EAAOjG,EAAM9pB,GACxBw0B,IACC1K,EAAK8H,QAAUwC,EAAY,GAAKtK,EAAKoI,gBAAkBkC,GACzDtK,EAAKza,KAAO,WACZya,EAAKoI,cAAgBkC,EACrBtK,EAAK6H,UAAS,OAAS,CAAC,EAAG3tB,EAAG,CAAEowB,UAAWA,OACjCtK,EAAKmI,SAAW,GAAKkC,GAAWrK,EAAKmI,SAAWiC,EAAOU,iBAAmB7C,IAA2B,YAAdjI,EAAKza,MAEtGya,EAAKza,KAAO,UACZya,EAAK4H,QAAQ1tB,KAEb8lB,EAAKza,KAAO,WACZya,EAAK0H,UAAS,OAAS,CAAEzB,MAAOA,GAAS/rB,KAG/C,CAEKwwB,IACHH,EAAGhlB,KAAOya,EAAKza,KACf6kB,EAAOQ,SAASL,IAElBvK,EAAKmI,QAAUO,EACX1I,EAAK2K,cACA3K,EAAK2K,KAEhB,CAnEA,CAoEF,GACF,EAEA,EAAEI,MAAQ,SAAUP,GAClB,IAAIQ,EAAShzB,KAEbA,KAAK0wB,aAAe8B,EACpBxyB,KAAKuvB,YAAYjxB,SAAQ,SAAU0pB,GACjC,IAAIla,EAAIklB,EAAOtC,aAAe1I,EAAKpiB,SAAWoiB,EAAKiI,SAC/CniB,EAAIklB,EAAOpC,UAAY9iB,EAAI,IAC7BklB,EAAOtC,aAAe1I,EAAKpiB,SAAWoiB,EAAKiI,SAE/C,IACAjwB,KAAKmyB,QACP,EAEA,EAAEc,KAAO,EAAEF,MAEX,EAAEG,cAAgB,WAChBlzB,KAAKstB,MAAQ,CAAC,EACdttB,KAAK+tB,MAAQ,CAAC,CAChB,EA2CA,EAAEoF,kBAAoB,WACpB,IAAIC,EAASpzB,KAEbA,KAAKstB,MAAQ,CAAC,EACdttB,KAAKuvB,YAAcvvB,KAAKuvB,YAAYzC,KAAI,SAAU9E,GAGhD,OAFAA,EAAK2K,OAAQ,SACN3K,EAAKza,KACLya,CACT,IACA,IAAInf,EAAO0mB,EAAY,CAAC,EAAG,GAC3BhyB,OAAOD,KAAK0C,KAAK2wB,kBAAkBryB,SAAQ,SAAUC,GACnD,KAAMA,KAAOsK,GAAO,CAClB,GAAY,UAARtK,EAAiB,CACnB,IAAIiB,GAtDmC6zB,EAsDXD,EAAOn1B,OAAOqR,MAAMgkB,QAtDCC,EAsDQH,EAAOzC,iBAAiBrhB,MAtDlBkiB,EAsDyB4B,EAAOvqB,KArDjG2qB,EAAQjE,EAAY,CAAC,EAAG,GAUxBkE,GATAC,EAAkB,SAAyBC,GAC7C,OAAOA,EAAYjhB,MAAM,KAAKhV,QAAO,SAAU8U,GAC7C,OAAOA,CACT,IAAGsa,KAAI,SAAU8G,GACf,OAAOA,EAAIlhB,MAAM,KAAKoa,KAAI,SAAUjf,GAClC,OAAOA,EAAEid,MACX,GACF,GACF,GACmCyI,GAC/BM,EAAkBH,EAAgBL,GACtC7B,EAAUlzB,SAAQ,SAAUkB,GAC1BjC,OAAOD,KAAKkC,GAAOlB,SAAQ,SAAUgV,GACnC,KAAMA,KAAQkgB,GAAQ,CACpB,IAAIM,EAAiB,WAATxgB,EAAoB,YAAcA,EAC1CygB,GAAY,SAAe,SAAY,QAAYD,KACvDD,EAAkBA,EAAgBn2B,QAAO,SAAUsqB,GAEjD,QAAI3B,EAAkB2B,EAAK,KAAO3B,EAAkB0N,IAG7C/L,EAAK,KAAO+L,EACrB,GACF,CACF,GACF,IACAN,EAAan1B,SAAQ,SAAU0pB,GAC7B6L,EAAkBA,EAAgBn2B,QAAO,SAAUs2B,GACjD,OAAIA,EAAM,KAAOhM,EAAK,EAIxB,GACF,IACOyL,EAAahpB,OAAOopB,GAAiB/G,KAAI,SAAU9E,GACxD,OAAOA,EAAK1P,KAAK,IACnB,IAAGA,KAAK,MAiBF8a,EAAOnB,SAAS1zB,EAAKiB,EACvB,MACE4zB,EAAOnB,SAAS1zB,EAAK60B,EAAOzC,iBAAiBpyB,IAE/C60B,EAAO/K,cAAgB,IACzB,CA5DkB,IAAyBgL,EAAUE,EAAc/B,EACjEgC,EACAE,EASAD,EACAI,CAiDJ,GACF,EAEA,EAAEI,QAAU,SAAU3kB,EAAO4kB,EAAUC,GACrC,IAAIC,EAASp0B,KAEbA,KAAK+tB,MAAQ,CAAC,EACd/tB,KAAKstB,MAAQ,CAAC,EACd/vB,OAAOD,KAAKgS,GAAS,CAAC,GAAGhR,SAAQ,SAAUC,IACrC41B,GAAYD,GAAY5kB,EAAM/Q,KAAS21B,EAAS31B,KAClD61B,EAAOn2B,OAAOqR,MAAM/Q,IAAO,QAAYA,EAAK+Q,EAAM/Q,IAEtD,IACAyB,KAAK+wB,iBACL/wB,KAAKqoB,cAAgB,IACvB,EAEA,EAAEuK,SAAWtD,EACb,U,wBCjeI9L,EAAUvhB,KAAKoI,KAAO,WACxB,OAAO,IAAIpI,MAAOuhB,SACpB,EACI6Q,EAAU,CACZC,SAAU,EACVC,QAAS,EACTC,eAAgB,GAEdC,EAAiB,SAAwBjyB,GAC3C,OAAOjF,OAAOD,KAAKkF,GAAKsqB,KAAI,SAAUzU,GACpC,MAAO,CACL9Z,IAAK8Z,EACLwI,KAAMre,EAAI6V,GAEd,IAAGqc,MAAK,SAAU9yB,EAAG2Q,GACnB,IAAI+U,EAAK1lB,EAAErD,IAAImU,MAAM,KAAK,GACtB6U,EAAKhV,EAAEhU,IAAImU,MAAM,KAAK,GAC1B,OAAO2hB,EAAQ9M,GAAM8M,EAAQ/M,EAC/B,GACF,EACIqN,EAAS,WAAmB,EAc5B,EAbJA,EAAOz1B,UAAY,CACjB01B,YAAa,GACbC,cAAe,CAAC,EAChB1d,IAAK,EACL2d,QAAS,EACT/B,MAAO,EACPnC,SAAUnc,KAAK2P,MAAM,IAAO,IAC5B2Q,QAAS,EACTC,WAAYxR,IACZle,UAAWke,IACXyR,SAAU,EACVrpB,KAAM,GAGR,EAAEspB,IAAM,SAAUr0B,GAChB,IAAItC,EAAM,kBAAoByB,KAAK80B,QAGnC,OAFA90B,KAAK80B,UACL90B,KAAKm1B,KAAK52B,EAAKsC,GACRtC,CACT,EACA,EAAE42B,KAAO,SAAU52B,EAAKsC,GACtBb,KAAK60B,cAAct2B,GAAOsC,EAC1Bb,KAAK40B,YAAcH,EAAez0B,KAAK60B,gBACtB,IAAb70B,KAAKmX,KACPnX,KAAKmX,GAAK,IAAsBnX,KAAKo1B,MAEzC,EACA,EAAEC,MAAQ,SAAU92B,UACXyB,KAAK60B,cAAct2B,GAC1ByB,KAAK40B,YAAcH,EAAez0B,KAAK60B,cACzC,EACA,EAAES,MAAQ,WACR,WAA6Bt1B,KAAKmX,IAClCnX,KAAKmX,IAAM,EACXnX,KAAK+yB,MAAQ,CACf,EACA,IAAIwC,EAAS,IAAIZ,EACjB,EAAES,KAAO,SAAUxzB,GACjB2zB,EAAOR,QAAUvR,IAAY+R,EAAOP,WAEhCO,EAAOR,QAAU,MACnBQ,EAAOjwB,WAAaiwB,EAAOR,QAAUQ,EAAO3E,UAE9C2E,EAAOP,YAAcO,EAAOR,QAC5BQ,EAAO3pB,KAAO2pB,EAAOP,WAAaO,EAAOjwB,UACzC,IAAIkwB,EAAUD,EAAO3pB,KAAO2pB,EAAON,UAC/BO,EAAU,IAAMD,EAAOxC,SACzBwC,EAAOxC,QACPwC,EAAON,UAAYO,GAGrBD,EAAOX,YAAYt2B,SAAQ,SAAU0pB,GACnC,OAAOA,EAAKnH,KAAKjf,EACnB,IAEK2zB,EAAOX,YAAYx2B,OAIxBm3B,EAAOpe,GAAK,IAAsBoe,EAAOH,MAHvCG,EAAOD,OAIX,EACA,IAAIG,EAAkB,EACtB,EAAElB,QAAU,SAAU1zB,EAAI+K,GACxB,IAAI1G,EAAQlF,KAEZ,GAAoB,mBAAPa,EACX,OAAOuD,QAAQ4E,KAAK,gBAEtB,IAAI0sB,EAAY,WAAazzB,KAAKoI,MAAQ,IAAMorB,EAC5CnwB,EAAYtF,KAAK4L,KASrB,OARA5L,KAAKm1B,KAAKO,GAAW,WACNxwB,EAAM0G,KAAOtG,IACXsG,GAAQ,KACrB1G,EAAMmwB,MAAMK,GACZ70B,IAEJ,IACA40B,IACOC,CACT,EACA,IAAIC,EAAmB,EACvB,EAAErB,SAAW,SAAUzzB,EAAI+K,GACzB,IAAIrI,EAASvD,KAEb,GAAoB,mBAAPa,EAEX,OADAuD,QAAQ4E,KAAK,gBACN,KAET,IAAI4sB,EAAa,YAAc3zB,KAAKoI,MAAQ,IAAMsrB,EAC9CE,EAAW71B,KAAK4L,KASpB,OARA5L,KAAKm1B,KAAKS,GAAY,WACPryB,EAAOqI,KAAOiqB,IACZjqB,GAAQ,KACrBiqB,EAAWtyB,EAAOqI,KAClB/K,IAEJ,IACA80B,IACOC,CACT,EACA,UC3GA,IAAIhF,EAAWnc,KAAK2P,MAAM,IAAO,IAC7B0R,GAAgB,cAAoB,CAAC,WAAkB,YAEvDC,GAAW,SAAUC,GAmFvB,SAASD,EAASjzB,IAChB,OAAgB9C,KAAM+1B,GAEtB,IAAI7wB,GAAQ,OAA2BlF,MAAO+1B,EAASzzB,WAAa/E,OAAOgF,eAAewzB,IAAW32B,KAAKY,KAAM8C,IAgBhH,OAdAmzB,GAAiB72B,KAAK8F,GAEtBA,EAAMgxB,OAAS,EACfhxB,EAAMixB,OAASrzB,EAAMqzB,OACrBjxB,EAAMmtB,QAAUvvB,EAAMuvB,QACtBntB,EAAMwtB,YAAa,EACnBxtB,EAAMotB,UAAY,EAElBptB,EAAMkxB,WAAa,KACnBlxB,EAAMmxB,OAAS,CAAC,EAChBnxB,EAAMoxB,cAAcxzB,GACpBoC,EAAMuJ,MAAQ,CACZ8nB,MAAOrxB,GAEFA,CACT,CAqGA,OA3MA,OAAU6wB,EAAUC,IAEpB,OAAaD,EAAU,KAAM,CAAC,CAC5Bx3B,IAAK,2BACLiB,MAAO,SAAkCsD,EAAO4H,GAC9C,IAAIsa,EAAYta,EAAKsa,UACjBuR,EAAQ7rB,EAAK6rB,MAEbxR,EAAY,CACdC,UAAWliB,GAEb,GAAIkiB,GAAaliB,IAAUkiB,EAAW,CACpC,IAAKuR,EAAMjJ,QAAUiJ,EAAMC,IAEzB,OADAD,EAAM7D,YAAa,EACZ3N,EAIT,IAAI0R,EAAe3zB,EAAM4zB,UAEb1P,EADWhC,EAAU0R,UACSD,KAEpC3zB,EAAM6zB,YAAcJ,EAAMjJ,OAC5BiJ,EAAMjJ,MAAM6F,oBAEdoD,EAAM7D,YAAa,GAIrB,IAAIkE,EAAa9zB,EAAM0vB,OACG,iBAAfoE,GAA2BA,IAAe5R,EAAUwN,SACzD+D,EAAMjJ,QAAUiJ,EAAM7D,YACxB6D,EAAMM,YAAcD,EACpBL,EAAMjxB,UAAY,OACdxC,EAAMqzB,QACRI,EAAM5S,MAEJ4S,EAAMjJ,MAAMoD,cAAgB6F,EAAMjJ,MAAMmD,WAC1C8F,EAAMO,QAGRP,EAAM7D,YAAa,GAKnB6D,EAAMJ,SAAWrzB,EAAMqzB,QAAUI,EAAMlE,UAAYvvB,EAAMuvB,UAC3DkE,EAAMJ,OAASrzB,EAAMqzB,OACrBI,EAAMlE,QAAUvvB,EAAMuvB,QAClBkE,EAAMJ,OACRI,EAAMQ,8BACGR,EAAMlE,SAAWvvB,EAAMk0B,cAChCT,EAAMQ,8BACN,UAAeR,EAAMU,QAASn0B,EAAMk0B,gBAGhCT,EAAMjJ,QACRiJ,EAAMjJ,MAAM4F,gBACZqD,EAAMjJ,MAAM6F,qBAEToD,EAAM7D,YACT6D,EAAMU,YAKKjQ,EAAYhC,EAAU1V,MAAOxM,EAAMwM,QAG9CinB,EAAMjJ,QACRiJ,EAAMjJ,MAAM2G,QAAQnxB,EAAMwM,MAAO0V,EAAU1V,MAAOinB,EAAMjJ,MAAMoD,aAAe6F,EAAMjJ,MAAMmD,WACrF8F,EAAMJ,QACRI,EAAM5S,OAIZ4S,EAAMD,cAAcxzB,EACtB,CACA,OAAOiiB,CACT,MAyBF,OAAagR,EAAU,CAAC,CACtBx3B,IAAK,oBACLiB,MAAO,WACLQ,KAAKw2B,IAAM,cAAqBx2B,MAC5BA,KAAKw2B,KAA6B,UAAtBx2B,KAAKw2B,IAAIU,UACvBl3B,KAAK+tB,OAET,GACC,CACDxvB,IAAK,qBACLiB,MAAO,WACAQ,KAAKw2B,MACRx2B,KAAKw2B,IAAM,cAAqBx2B,OAG9BA,KAAK0yB,YAAc1yB,KAAKw2B,KAA6B,UAAtBx2B,KAAKw2B,IAAIU,WACtCl3B,KAAKstB,OACPttB,KAAK+2B,8BAEP/2B,KAAK+tB,QAET,GACC,CACDxvB,IAAK,uBACLiB,MAAO,WACLQ,KAAK+2B,6BACP,GAiBC,CACDx4B,IAAK,SACLiB,MAAO,WACL,IAAI+D,EAASvD,KAETm3B,EAASn3B,KAAK8C,MAEds0B,GADYD,EAAOT,UACPS,EAAOC,WACnBC,EAAiBF,EAAOE,eAUxBv0B,GATeq0B,EAAOH,aACfG,EAAO9uB,KACL8uB,EAAOhB,OACNgB,EAAO9E,QACR8E,EAAOrH,OACTqH,EAAOnH,KACLmH,EAAO3E,OACH2E,EAAOR,WACPQ,EAAOG,YACZ,OAAyBH,EAAQ,CAAC,YAAa,YAAa,iBAAkB,eAAgB,OAAQ,SAAU,UAAW,SAAU,OAAQ,SAAU,aAAc,gBAEjL55B,OAAOD,KAAKwF,EAAMwM,OAAS,CAAC,GAAGhR,SAAQ,SAAU8D,GAC3CA,EAAEslB,MAAM,YACV,CAAC,SAAU,MAAO,KAAM,MAAMppB,SAAQ,SAAUi5B,GAC9Cz0B,EAAMwM,MAAMioB,EAAS,UAAYz0B,EAAMwM,MAAMlN,EAC/C,GAEJ,IACA,IAAIo1B,EAAU,SAAiBhlB,GAC7BjP,EAAO6yB,WAAa5jB,CACtB,EAEItD,EAAYpM,EAAMoM,UAClBc,EAAWlN,EAAMkN,SAErB,IAAKonB,GAAiC,iBAAbpnB,EAAuB,CAC9C,IAAKA,EACH,OAAOA,EAET,IAEI7E,EAFgB6E,EAASlN,OAEA,CAAC,EAC1B20B,EAAatsB,EAAMmE,MACnBooB,EAAavsB,EAAM+D,UAInByoB,GAAW,OAAS,CAAC,EAAGF,EAAY30B,EAAMwM,OAC1CsoB,EAAe1oB,EAAYA,EAAY,IAAMwoB,EAAaA,EAC9D,OAAO,eAAmB1nB,EAAU,CAAEV,MAAOqoB,EAAUE,IAAKL,EAAStoB,UAAW0oB,GAClF,CACA,OAAO,gBAAoBR,GAAW,OAAS,CAC7CS,IAAKL,GACJ10B,EAAOu0B,GACZ,KAGKtB,CACT,CA7Me,CA6Mb,EAAA3Q,WAEF2Q,GAAS+B,UAAY,CACnBV,UAAW,QACXC,eAAgB,QAChBX,UAAWZ,GACX9lB,SAAU,QACVV,MAAO,WACP6mB,OAAQ,SACR9D,QAAS,SACT2E,aAAc,WACdhH,KAAM,SACNF,OAAQ,WACR0C,OAAQ,WACRnqB,KAAM,WACNuqB,SAAU,SACV+D,WAAY,SACZW,WAAY,YAEdvB,GAASxlB,aAAe,CACtB6mB,UAAW,MACXC,eAAgB,CAAC,EACjBL,aAAc,EACdlH,OAAQ,EACRznB,KAAM,QACNuqB,SA3OF,WAAiB,GA8OjB,IAAIqD,GAAmB,WACrB,IAAI3uB,EAAStH,KAEbA,KAAKs2B,cAAgB,SAAUxzB,GAC7BvF,OAAOD,KAAKgK,EAAO+uB,QAAQ/3B,SAAQ,SAAUC,UACpC+I,EAAO/I,UACP+I,EAAO+uB,OAAO93B,EACvB,IACIuE,EAAMw0B,YACR/5B,OAAOD,KAAKwF,EAAMw0B,YAAYh5B,SAAQ,SAAUC,GACzC+I,EAAO/I,KACV+I,EAAO/I,GAAOuE,EAAMw0B,WAAW/4B,GAC/B+I,EAAO+uB,OAAO93B,GAAO,EAEzB,GAEJ,EAEAyB,KAAK+3B,WAAa,SAAUj1B,GAC1BwE,EAAOkrB,OAAS1vB,EAAM0vB,QAAU,EAChClrB,EAAOuvB,YAAc/zB,EAAM0vB,QAAU,EACrClrB,EAAOhC,UAAY,MACrB,EAEAtF,KAAKi3B,QAAU,WACR3vB,EAAOgmB,QAGZhmB,EAAOuvB,YAAcvvB,EAAOkrB,OAC5BlrB,EAAOhC,UAAY,OACnBgC,EAAOgmB,MAAM+E,QAAU/qB,EAAO+qB,QAC9B/qB,EAAOgmB,MAAMwF,iBAAmBxrB,EAAOuvB,YACvCvvB,EAAOqc,MACPrc,EAAOwvB,OACT,EAEA92B,KAAK+tB,MAAQ,WACXzmB,EAAOorB,YAAa,EACpB,IAAI5vB,EAAQwE,EAAOxE,MACfA,EAAM4zB,WAAan5B,OAAOD,KAAKwF,EAAM4zB,WAAWt4B,QAClDkJ,EAAOywB,WAAWj1B,GAClBwE,EAAOgmB,MAAQ,IAAI,EAAMhmB,EAAOkvB,IAAK1zB,EAAM4zB,UAAW5zB,EAAMuF,MAC5Df,EAAOgmB,MAAM+E,QAAU/qB,EAAO+qB,QAE9B/qB,EAAOqc,MAEPrc,EAAOwvB,QAEPxvB,EAAOgmB,MAAQ,IAEnB,EAEAttB,KAAK82B,KAAO,WACVxvB,EAAOyvB,8BACHzvB,EAAO6uB,SAGX7uB,EAAO4uB,MAAQ,MAAW5uB,EAAOqc,KACnC,EAEA3jB,KAAK+yB,MAAQ,WACX,IAAI/C,EAAO1oB,EAAOxE,MAAMktB,KACpBF,EAASxoB,EAAOxE,MAAMgtB,OAEtBW,GAAwB,IAAZX,EAAgB3f,OAAOuhB,UAAYpqB,EAAOgmB,MAAMmD,WAAaX,EAAS,GACtFA,EAASA,GAAU,EAAIA,EAAS3f,OAAOuhB,UACvC,IAAIc,EAAS,OAAclrB,EAAOhC,UAAYgC,EAAOuvB,YACjDvvB,EAAO+qB,UACTG,GAAUlrB,EAAOuvB,aAAe,IAAM,OAAcvvB,EAAOhC,YAG7DktB,GADAA,EAASA,EAAS/B,EAAYA,EAAY+B,IACvB,EAAI,EAAIA,EAC3B,IAAIF,EAAY7d,KAAKmH,MAAM4W,EAASlrB,EAAOgmB,MAAMmD,YAAc,EAC/D6B,EAAYA,EAAYxC,EAASA,EAASwC,EAC1C,IAAI0F,EAAcxF,EAASlrB,EAAOgmB,MAAMmD,UAAY6B,EACpD0F,EAAcA,EAAcpH,IAAatpB,EAAO+qB,SAAW5B,GAAaG,EAAW,EAAIoH,EACnFlI,GAAU0C,GAAUA,EAASlrB,EAAOgmB,MAAMmD,UAAY6B,EAAY1B,GAEpEtpB,EAAOgmB,MAAMyF,MAAMzrB,EAAOgmB,MAAMmD,UAAY6B,IAE1CE,EAASlrB,EAAOkrB,SAAWlrB,EAAO+qB,SAAsB,IAAXvC,GAAgBwC,GAAaA,IAAchrB,EAAOgrB,aAGjGhrB,EAAOgmB,MAAM4F,gBACb5rB,EAAOgmB,MAAM6F,qBAEGnD,GAAQsC,EAAY,IAEpC0F,EAAc1wB,EAAOgmB,MAAMmD,UAAYuH,GAEzC1wB,EAAOgmB,MAAMsF,SAAW,SAAU1wB,GAChC,IAAIqwB,GAAK,OAAS,CAAC,EAAGrwB,EAAG,CACvB+1B,aAAc,KAGZ3wB,EAAOkrB,SAAWlrB,EAAOuvB,cAAgBvvB,EAAO+qB,UAAYnwB,EAAE8P,OAAoB,YAAX9P,EAAEqL,MAAsBjG,EAAO+qB,QACxGE,EAAG0F,aAAe,kBACTzF,GAAU/B,IAAcnpB,EAAO+qB,UAAYG,GAAUlrB,EAAO+qB,QACrEE,EAAG0F,aAAe,qBACT3F,IAAchrB,EAAO4wB,kBAC9B3F,EAAG0F,aAAe,mBAElB1F,EAAG0F,aAAe,mBAEpB3wB,EAAO4wB,kBAAoB5F,EAC3BhrB,EAAOxE,MAAM8vB,SAASL,EACxB,EACAjrB,EAAOkrB,OAASA,EAChBlrB,EAAOgrB,UAAYA,EACnBhrB,EAAOgmB,MAAMyF,MAAMiF,EACrB,EAEAh4B,KAAK2jB,IAAM,WACT,IAAI2J,EAAQhmB,EAAOgmB,MAEnB,GADAhmB,EAAOyrB,QACHzF,IAAUhmB,EAAOgmB,MAEnB,OAAO,KAET,IAAIwC,EAASxoB,EAAOxE,MAAMgtB,OAEtBW,GAAwB,IAAZX,EAAgB3f,OAAOuhB,UAAYpqB,EAAOgmB,MAAMmD,WAAaX,EAAS,GACtF,OAAIxoB,EAAOkrB,QAAU/B,IAAcnpB,EAAO+qB,SAAW/qB,EAAO6uB,QAAU7uB,EAAO+qB,SAA6B,IAAlB/qB,EAAOkrB,OACtFlrB,EAAOyvB,8BAET,IACT,EAEA/2B,KAAK+2B,4BAA8B,WACjC,QAAazvB,EAAO4uB,OACpB5uB,EAAO4uB,OAAS,CAClB,CACF,EAEAH,GAASoC,YAAa,EACtB,SAAe7T,EAASyR,ICrXxB,IAAIqC,GAAgB,SAAUpC,GAyB5B,SAASoC,EAAct1B,IACrB,OAAgB9C,KAAMo4B,GAEtB,IAAIlzB,GAAQ,OAA2BlF,MAAOo4B,EAAc91B,WAAa/E,OAAOgF,eAAe61B,IAAgBh5B,KAAKY,KAAM8C,IAE1H,GAAiB1D,KAAK8F,GAEtBA,EAAMmzB,YAAc,GACpBnzB,EAAMozB,YAAc,GACpBpzB,EAAMqzB,aAAe,CAAC,EACtBrzB,EAAMszB,aAAc,EACpBtzB,EAAMuzB,UAAY,GAClBvzB,EAAMivB,QAAU,CAAC,EAEjB,IAAInkB,EAAW4W,EAAgBuB,EAAqBjjB,EAAMpC,QAM1D,OALAoC,EAAMwzB,gBAAkB9R,EAAgBuB,EAAqBjjB,EAAMpC,QACnEoC,EAAMuJ,MAAQ,CACZuB,SAAUA,EACVumB,MAAOrxB,GAEFA,CACT,CAuEA,OApHA,OAAUkzB,EAAepC,IAEzB,OAAaoC,EAAe,KAAM,CAAC,CACjC75B,IAAK,2BACLiB,MAAO,SAAkCsD,EAAO4H,GAC9C,IAAIsa,EAAYta,EAAKsa,UACjBuR,EAAQ7rB,EAAK6rB,MAEbxR,EAAY,CACdC,UAAWliB,GAEb,GAAIkiB,GAAaliB,IAAUkiB,EAAW,CACpC,IAAI2T,EAAe/R,EAAgB9jB,EAAMkN,UACzC,GAAIzS,OAAOD,KAAKi5B,EAAMpC,SAAS/1B,SAAW0E,EAAM81B,UAE9C,OADArC,EAAMkC,UAAU36B,KAAK66B,GACd5T,EAET,IAAI2T,EAAkB9R,EAAgB2P,EAAMmC,iBAC5C3T,EAAU/U,SAAWumB,EAAMsC,eAAeF,EAAcD,EAC1D,CACA,OAAO3T,CACT,MA0BF,OAAaqT,EAAe,CAAC,CAC3B75B,IAAK,oBACLiB,MAAO,WACLQ,KAAKw4B,aAAc,CACrB,GACC,CACDj6B,IAAK,iBACLiB,MAAO,SAAwBm5B,EAAcD,GAC3C,IPqD8BrjB,EAC9BwR,EAGAiS,EACAC,EACAC,EO3DIz1B,EAASvD,KAETi5B,GPmD0B5jB,EOnDmBsjB,EPoDjD9R,EAAM,GAGNiS,EAAsB,CAAC,EACvBC,EAAkB,GAClBC,OAAoB,EOzDYN,EP0D/Bp6B,SAAQ,SAAUkU,GAChBA,IAGDyV,EAAyB5S,EAAM7C,EAAEjU,MAC/Bw6B,EAAgB36B,SAClB06B,EAAoBtmB,EAAEjU,KAAOw6B,EAC7BA,EAAkB,IAEpBC,EAAoBxmB,EAAEjU,KACbiU,EAAEjU,KACXw6B,EAAgBj7B,KAAK0U,GAEzB,IACKwmB,IACHnS,EAAMA,EAAIpc,OAAOsuB,IAGnB1jB,EAAK/W,SAAQ,SAAUkU,GAChBA,IAGDsmB,EAAoB35B,eAAeqT,EAAEjU,OAEvCsoB,EAAMA,EAAIpc,OAAOquB,EAAoBtmB,EAAEjU,OAEzCsoB,EAAI/oB,KAAK0U,GACLA,EAAEjU,MAAQy6B,IACZnS,EAAMA,EAAIpc,OAAOsuB,IAErB,IAEOlS,GO7DH,OA5BA7mB,KAAKq4B,YAAc,GACnBr4B,KAAKs4B,YAAc,GACnBK,EAAar6B,SAAQ,SAAUkU,GAC7B,GAAKA,EAAL,CAGA,IAAIjU,EAAMiU,EAAEjU,IACR26B,EAAUjR,EAAyByQ,EAAiBn6B,GAEpDgF,EAAOg1B,aAAah6B,KACtBgF,EAAOg1B,aAAah6B,GAAO,eAAmBgF,EAAOg1B,aAAah6B,GAAM,CAAC,EAAGiU,KAEzE0mB,GAAW36B,GACdgF,EAAO80B,YAAYv6B,KAAKS,EAR1B,CAUF,IAEAm6B,EAAgBp6B,SAAQ,SAAUkU,GAChC,GAAKA,EAAL,CAGA,IAAIjU,EAAMiU,EAAEjU,KACE0pB,EAAyB0Q,EAAcp6B,IACrCA,IACdgF,EAAO+0B,YAAYx6B,KAAKS,UACjBgF,EAAOg1B,aAAah6B,GAL7B,CAOF,IACO06B,CACT,GACC,CACD16B,IAAK,SACLiB,MAAO,WACL,IAAIwQ,EAAWhQ,KAAKyO,MAAMuB,SAG1BhQ,KAAK04B,gBAAkB1oB,EACvB,IAAImpB,EAAmBn5B,KAAKo5B,oBAAoBppB,GAE5CmnB,EAASn3B,KAAK8C,MACds0B,EAAYD,EAAOC,UACnBC,EAAiBF,EAAOE,eAQxBv0B,GAPSq0B,EAAOkC,OACRlC,EAAOmC,MACPnC,EAAOoC,MACMpC,EAAOqC,mBACpBrC,EAAOsC,MACHtC,EAAOyB,UACNzB,EAAOR,YACZ,OAAyBQ,EAAQ,CAAC,YAAa,iBAAkB,SAAU,QAAS,QAAS,qBAAsB,QAAS,YAAa,gBAErJ,OAAKC,GAGE,IAAAvyB,eAAcuyB,GAAW,OAAS,CAAC,EAAGt0B,EAAOu0B,GAAiB8B,GAF5DA,EAAiB,IAAM,IAGlC,KAGKf,CACT,CAtHoB,CAsHlB,EAAAhT,WAEE,GAAmB,WACrB,IAAI9d,EAAStH,KAEbA,KAAK4yB,SAAW,SAAU8D,EAAWn4B,EAAKgK,EAAM/F,GAC9C,IAAIpE,EAAS0oB,EAAY4P,GAAWt4B,OAChCsc,EAAMlY,EAAIvE,OACVy7B,EAAsC,iBAAlBhf,EAAIxL,WAA0B,YAAawL,EAAIxL,UACnEyqB,EAAmB,UAATpxB,GAA6B,WAATA,EAClC,GAAiB,YAAb/F,EAAI+K,KACFmsB,EACFhf,EAAIxL,UAAU0qB,QAAUtyB,EAAOuyB,aAAanf,EAAIxL,UAAU0qB,QAASD,GAEnEjf,EAAIxL,UAAY5H,EAAOuyB,aAAanf,EAAIxL,UAAWyqB,QAEhD,GAAIn3B,EAAIwP,QAAU5T,EAAS,GAAkB,eAAboE,EAAI+K,KAAuB,CAOhE,UANOjG,EAAO6sB,QAAQ51B,GAClBm7B,EACFhf,EAAIxL,UAAU0qB,QAAUlf,EAAIxL,UAAU0qB,QAAQ5Z,QAAQ1Y,EAAOxE,MAAM02B,mBAAmBG,EAAU,EAAI,GAAI,IAAI7O,OAE5GpQ,EAAIxL,UAAYwL,EAAIxL,UAAU8Q,QAAQ1Y,EAAOxE,MAAM02B,mBAAmBG,EAAU,EAAI,GAAI,IAAI7O,OAEjF,UAATviB,EACFjB,EAAO+wB,YAAYjK,OAAO9mB,EAAO+wB,YAAYr3B,QAAQzC,GAAM,GACtD+I,EAAO+wB,YAAYj6B,QACtBkJ,EAAOwyB,mBAEJ,GAAa,UAATvxB,IACTjB,EAAOgxB,YAAYlK,OAAO9mB,EAAOgxB,YAAYt3B,QAAQzC,GAAM,GAC3D+I,EAAOoxB,gBAAkBpxB,EAAOoxB,gBAAgBh7B,QAAO,SAAUq8B,GAC/D,OAAOx7B,IAAQw7B,EAAMx7B,GACvB,KACK+I,EAAOgxB,YAAYl6B,QAAQ,CAC9B,IAAI47B,EAAsB1yB,EAAOoxB,gBAAgB5L,KAAI,SAAU9E,GAC7D,OAAOA,EAAKzpB,GACd,IACAhB,OAAOD,KAAKgK,EAAOixB,cAAcj6B,SAAQ,SAAU27B,IACN,IAAvCD,EAAoBh5B,QAAQi5B,WACvB3yB,EAAOixB,aAAa0B,EAE/B,IACA3yB,EAAOoH,SAAS,CACdsB,SAAU1I,EAAOoxB,iBAChBpxB,EAAOwyB,YACZ,CAEF,IAAII,EAAO,CAAE37B,IAAKA,EAAKgK,KAAMA,GAC7BjB,EAAOxE,MAAM22B,MAAMS,EACrB,CACF,EAEAl6B,KAAK65B,aAAe,SAAUvmB,EAAMqmB,GAClC,IAAIzqB,EAAYoE,EAAK0M,QAAQ1Y,EAAOxE,MAAM02B,mBAAmBG,EAAU,EAAI,GAAI,IAAI7O,OAInF,OAH6E,IAAzE5b,EAAUlO,QAAQsG,EAAOxE,MAAM02B,mBAAmBG,EAAU,EAAI,MAClEzqB,GAAaA,EAAY,IAAM5H,EAAOxE,MAAM02B,mBAAmBG,EAAU,EAAI,IAAI7O,QAE5E5b,CACT,EAEAlP,KAAKm6B,cAAgB,SAAUJ,GAC7B,IAAIj3B,EAAQ3E,UAAUC,OAAS,QAAsBwC,IAAjBzC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAE7EI,EAAMw7B,EAAMx7B,IAKhB,OAJA+I,EAAOixB,aAAah6B,GAAO,gBAAoB,IAAU,OAAS,CAAC,EAAGuE,EAAO,CAC3EvE,IAAKA,EACL64B,UAAW,OACT2C,GACGzyB,EAAOixB,aAAah6B,EAC7B,EAEAyB,KAAKo6B,kBAAoB,SAAUL,EAAO77B,EAAGqK,GAC3C,IAAImuB,OAAY,GAChBA,EAAqB,UAATnuB,EAAmBjB,EAAOxE,MAAMy2B,MAAQjyB,EAAOxE,MAAMw2B,MACpD,WAAT/wB,KAEFmuB,EADaxO,EAAmB5gB,EAAOxE,MAAMu2B,OAAQU,EAAMx7B,IAAKL,IAC1CoJ,EAAOxE,MAAMw2B,OAAS,MAE9C,IAAIe,EAAUnS,EAAmBwO,EAAWqD,EAAMx7B,IAAKL,GACnD00B,EAAWtrB,EAAOsrB,SAAS9wB,KAAKwF,EAAQ+yB,EAASN,EAAMx7B,IAAKgK,GAC5DzF,EAAQ,CACVvE,IAAKw7B,EAAMx7B,IACXm4B,UAAW2D,EACXzH,SAAUA,EACV+D,WAAYrvB,EAAOxE,MAAM6zB,YAQ3B,OANIrvB,EAAO+wB,YAAY5tB,OAAOnD,EAAOgxB,aAAat3B,QAAQ+4B,EAAMx7B,MAAQ,IAAM+I,EAAOkxB,aAAe9B,KAC7FpvB,EAAOixB,aAAawB,EAAMx7B,OAC7B+I,EAAO6sB,QAAQ4F,EAAMx7B,KAAOgK,IAGjBjB,EAAO6yB,cAAcJ,EAAOj3B,EAE7C,EAEA9C,KAAKo5B,oBAAsB,SAAUppB,GACnC,OAAOA,EAAS8c,KAAI,SAAUiN,EAAO77B,GACnC,IAAK67B,IAAUA,EAAMx7B,IACnB,OAAOw7B,EAET,IAAIx7B,EAAMw7B,EAAMx7B,IAChB,OAAI+I,EAAOgxB,YAAYt3B,QAAQzC,IAAQ,EAC9B+I,EAAO8yB,kBAAkBL,EAAO77B,EAAG,WAChCoJ,EAAO+wB,YAAYr3B,QAAQzC,IAAQ,GAAK+I,EAAO6sB,QAAQ51B,KAA6C,IAArC+I,EAAOgxB,YAAYt3B,QAAQzC,KAA0C,UAAxB+I,EAAO6sB,QAAQ51B,IAAoB+I,EAAOixB,aAAah6B,GAOnK+I,EAAOkxB,YAGZlxB,EAAOixB,aAAah6B,GAFlB+I,EAAO8yB,kBAAkBL,EAAO77B,EAAG,UAFnCoJ,EAAO8yB,kBAAkBL,EAAO77B,EAAG,QAK9C,GACF,EAEA8B,KAAK85B,YAAc,WACjB,IAAKv8B,OAAOD,KAAKgK,EAAO6sB,SAAS/1B,QAAUkJ,EAAOmxB,UAAUr6B,OAAQ,CAClE,IAAI4R,EAAW1I,EAAOuxB,eAAevxB,EAAOmxB,UAAUnxB,EAAOmxB,UAAUr6B,OAAS,GAAIkJ,EAAOmH,MAAMuB,UACjG1I,EAAOoH,SAAS,CACdsB,SAAUA,IAEZ1I,EAAOmxB,UAAY,EACrB,CACF,CACF,EAEAL,GAAcN,UAAY,CACxBV,UAAW,QACXC,eAAgB,WAChBrnB,SAAU,QACVV,MAAO,WACP+pB,OAAQ,SACRC,MAAO,QACPC,MAAO,QACPC,mBAAoB,UACpBC,MAAO,SACP9C,WAAY,SACZiC,UAAW,UAGbR,GAAc7nB,aAAe,CAC3B6mB,UAAW,MACXC,eAAgB,CAAC,EACjBgC,QAAQ,EACRG,mBAAoB,CAAC,qBAAsB,qBAC3CF,MAAO,CAAEpN,EAAG,GAAIoO,QAAS,EAAG/xB,KAAM,QAClCgxB,MAAO,CAAErN,GAAI,GAAIoO,QAAS,GAC1Bb,MA7QF,WAAiB,EA8Qf9C,YAAY,EACZiC,WAAW,GAEbR,GAAcmC,iBAAkB,EAChC,SAAejW,EAAS8T,ICvRxB,iBAAyB,GACzB,UAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,GAAA/H,MAAiB,EAEjB,W,6BCTAltB,EAAQ,GAiIR,SAAwB6oB,GACtB,OAAOA,EAAEhM,QAAQ,SAAS,SAAUwa,GAClC,MAAO,IAAMA,EAAGC,mBAClB,GACF,EAnIAt3B,EAAQ,GAAUu3B,EAClBv3B,EAAQ,GAyJR,SAAsBmM,GACpB,GAAwB,oBAAb1K,SACT,OAAO,KAET,IAAI+1B,EAAU,CAAC,YAAa,SAAU,MAAO,QAAS,QAAS,OAAQ,OAAOj9B,QAAO,SAAUa,GAC7F,OAAOA,EAAM,WAAYkG,MAC3B,IACA,GAAIk2B,EAAQv8B,OACV,OAAO,IAAIqG,OAAOk2B,EAAQ,GAAK,UAAUrrB,GAG3C,OADAlL,QAAQ4E,KAAK,mCACN,EACT,EApKA7F,EAAQ,GAsKR,SAAwBf,GACtB,GAAwB,oBAAbwC,SACT,OAAO,KAGT,GAAU,WAANxC,GAAkBA,KAAKwC,SAAS8I,KAAK4B,MACvC,OAAOlN,EAET,IAAIw4B,EAAKx4B,EAAEoZ,OAAO,GAAGqf,cAAgBz4B,EAAE04B,OAAO,GAC1CC,EALI,CAAC,IAAK,MAAO,KAAM,KAAM,UAKfr9B,QAAO,SAAUa,GACjC,MAAO,GAAKA,EAAMq8B,KAAMh2B,SAAS8I,KAAK4B,KACxC,IACA,OAAOyrB,EAAU,GAAK,GAAKA,EAAU,GAAKH,EAAK,IACjD,EAlLAz3B,EAAQ,GAoLR,SAAqBy3B,GACnB,IAAIx4B,EAAIw4B,EAKR,OAFAx4B,EAAU,OADVA,EAAU,OADVA,EAAU,MAANA,EAAY,aAAeA,GACf,aAAeA,GACf,aAAeA,CAGjC,EA1LAe,EAAQ,GAAa63B,EACrB73B,EAAQ,GAoPR,SAAqB83B,GACnB,IAAKA,EACH,MAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5B,IAAIC,OAAQ,EACZ,GAAID,EAAEj6B,QAAQ,QAAU,EAAG,CACzB,IAAI8M,EAAImtB,EAAEvT,MAAM,sBACZ7Z,EAAIotB,EAAEjb,QAAQlS,EAAE,GAAI,IAAIgd,OAAOpY,MAAM,QACzCwoB,EAAQrtB,EAAE7M,QAAQ,WACL,GACX6M,EAAEugB,OAAO8M,EAAO,GAElB,IAAI1oB,EAAI1E,EAAE,GAAGkS,QAAQ,OAAQ,IAAItN,MAAM,KAIvC,OAHiB,IAAbF,EAAEpU,QACJoU,EAAE1U,KAAK,GAEF+P,EAAEpD,OAAO+H,EAAG0oB,GAAS,EAAI,CAAC,SAAW,GAC9C,CACA,IAAIC,EAAOF,EAAEvoB,MAAM,QACnBwoB,EAAQC,EAAKn6B,QAAQ,WACR,GACXm6B,EAAK/M,OAAO8M,EAAO,GAErB,IAAI1M,EAAQwM,EAAWG,EAAKA,EAAK/8B,OAAS,IAG1C,OAFAowB,EAAM,GAAyB,iBAAbA,EAAM,GAAkBA,EAAM,GAAK,GACrD2M,EAAOA,EAAK/M,OAAO,EAAG+M,EAAK/8B,OAAS,IACxBqM,OAAO+jB,EAAO0M,GAAS,EAAI,CAAC,SAAW,GACrD,EA9QA/3B,EAAQ,GAgRR,SAAkB83B,GAChB,IAAIG,EAAoB,IAAbH,EAAE78B,OAAe,OAAS,MACjCiwB,EAAQ4M,EAAEnO,KAAI,SAAUd,EAAG9tB,GAC7B,OAAOA,EAAI,EAAIuW,KAAK2P,MAAM4H,GAAKA,CACjC,IACA,OAAOoP,EAAO,IAAM/M,EAAM/V,KAAK,KAAO,GACxC,EArRAnV,EAAQ,GAAck4B,EACtBl4B,EAAQ,GA0RR,SAAmBf,GACjB,IAAIqrB,EAAU4N,EAAYj5B,GAC1B,OAAOk5B,EAAQ59B,OAAOsD,QAAQysB,IAAY,EAAI,SAAWA,CAC3D,EA5RAtqB,EAAQ,GA8RR,SAA6B0F,GAC3B,GAAa,SAATA,IAAoBA,GAAiB,KAATA,EAC9B,OAAO,KAET,IAAInL,EAASmL,EAAKmX,QAAQ,IAAK,IAAItN,MAAM,KAAKhV,QAAO,SAAUsqB,GAC7D,OAAOA,CACT,IACI0F,EAAY,CAAC,EAKjB,OAJAhwB,EAAOY,SAAQ,SAAU0pB,GACvB,IAAIuT,EAAUvT,EAAKtV,MAAM,KACzBgb,EAAU6N,EAAQ,IAAMA,EAAQ,EAClC,IACO7N,CACT,EAzSAvqB,EAAQ,GA4XR,SAAsBmjB,GACpB,IAAIkV,EAAclV,GAA2B,SAAdA,GAAsC,KAAdA,EAAgDA,EAA7B,2BAC1E,IAAKkV,EAAW9T,MAAM,UACpB,OAtDJ,SAA2BpB,GACzB,IAAImV,EAAK,CACTA,WAAgB,EAChBA,WAAgB,EAChBA,WAAgB,EAChBA,OAAY,EACZA,QAAa,EACbA,QAAa,EACbA,OAAY,EACZA,OAAY,EACZA,OAAY,EACZA,MAAW,EACXA,MAAW,EACXA,YAAiB,GAmCjB,OAlCCnV,EAAUwE,OAAOpD,MAAM,sBAAwB,IAAIppB,SAAQ,SAAUs1B,GACpE,IAAI8H,EAAW9H,EAAIlhB,MAAM,KACrBnU,EAAMm9B,EAAS,GAAG5Q,OAClBtrB,EAAQk8B,EAAS,GAAG1b,QAAQ,IAAK,IAAI8K,OACrCtrB,EAAMkoB,MAAM,eACdtjB,QAAQ4E,KAAK,SAAWxJ,EAAQ,qEAElCA,EAAQA,EAAMwgB,QAAQ,cAAe,IACjCsb,EAAQK,eAAep9B,IAAgB,WAARA,GACjCiB,EAAQA,EAAMkT,MAAM,KAAKoa,KAAI,SAAUxE,GACrC,OAAOS,WAAWT,EACpB,IACY,YAAR/pB,GAA6B,gBAARA,EACvB,CAAC,IAAK,IAAK,KAAKD,SAAQ,SAAUuP,EAAG3P,GACnC,IAAI+7B,EAAO17B,EAAIq9B,UAAU,EAAGr9B,EAAIH,OAAS,GACzCq9B,EAAG,GAAKxB,EAAOpsB,GAAKrO,EAAMtB,IAAMu9B,EAAG,GAAKxB,EAAOpsB,EACjD,IACiB,aAARtP,GACTk9B,EAAGhS,QAAUjqB,EAAM,IAAMA,EAAM,IAAMi8B,EAAGhS,QACxCgS,EAAG/R,QAAUlqB,EAAM,IAAMA,EAAM,IAAMi8B,EAAG/R,QACxC+R,EAAGjS,OAAShqB,EAAM,IAAMA,EAAM,IAAMi8B,EAAGjS,QAEvC,CAAC,IAAK,KAAKlrB,SAAQ,SAAUuP,EAAG3P,GAC9Bu9B,EAAG,GAAKl9B,EAAMsP,GAAKrO,EAAMtB,IAAMu9B,EAAG,GAAKl9B,EAAMsP,EAC/C,KAGU,YAARtP,EACFk9B,EAAGjS,OAAST,WAAWvpB,IAAUi8B,EAAGjS,OAEpCiS,EAAGl9B,GAAOwqB,WAAWvpB,IAAUi8B,EAAGl9B,EAGxC,IACOk9B,CACT,CAKWI,CAAkBvV,GAE3B,IAAIwV,EAAIC,EAAUP,GACdQ,EAAMF,EAAEE,IACRC,EAAMH,EAAEG,IACRC,EAAMJ,EAAEI,IACRC,EAAML,EAAEK,IACRC,EAAMN,EAAEM,IACRC,EAAMP,EAAEO,IACRC,EAAMR,EAAEQ,IACRC,EAAMT,EAAES,IACRC,EAAMV,EAAEU,IACRC,EAAMX,EAAEW,IACRC,EAAMZ,EAAEY,IACRC,EAAMb,EAAEa,IACRC,EAAMd,EAAEc,IACRC,OAAK,EACLC,OAAK,EACLC,OAAK,EACLtB,EAAK,CAAC,EACNlS,EAAQ9U,KAAKuoB,MAAMV,EAAKI,GACxBxS,EAAQzV,KAAKwoB,IAAIb,GACjBhS,EAAQ3V,KAAKwoB,IAAIhB,GACjBiB,OAAM,EACNC,OAAM,EAEV1B,EAAGhS,QAAUiR,EAAQnR,EAAQ6T,IAAY,EACrC7T,IAGFsT,EAAKT,GAFLc,EAAMzoB,KAAKyoB,KAAK3T,IAECiT,GADjBW,EAAM1oB,KAAK0oB,KAAK5T,IAEhBuT,EAAKT,EAAMa,EAAMT,EAAMU,EACvBJ,EAAKT,EAAMY,EAAMR,EAAMS,EACvBX,EAAMJ,GAAOe,EAAMX,EAAMU,EACzBT,EAAMJ,GAAOc,EAAMV,EAAMS,EACzBR,EAAMJ,GAAOa,EAAMT,EAAMQ,EACzBP,EAAMJ,GAAOY,EAAMR,EAAMO,EACzBd,EAAMS,EACNR,EAAMS,EACNR,EAAMS,GAGRxT,EAAQ9U,KAAKuoB,OAAOd,EAAKQ,GACzBjB,EAAG/R,QAAUgR,EAAQnR,EAAQ6T,IAAY,EACrC7T,IAIFuT,EAAKb,GAHLiB,EAAMzoB,KAAKyoB,KAAK3T,IAGCkT,GAFjBU,EAAM1oB,KAAK0oB,KAAK5T,IAGhBwT,EAAKb,EAAMgB,EAAMR,EAAMS,EACvBV,EAAMR,EAAMkB,EAAMV,EAAMS,EACxBR,EAAMR,EAAMiB,EAAMT,EAAMQ,EACxBP,EAAMR,EAAMgB,EAAMR,EAAMO,EACxBlB,EANAa,EAAKb,EAAMkB,EAAMV,EAAMW,EAOvBlB,EAAMa,EACNZ,EAAMa,GAGRxT,EAAQ9U,KAAKuoB,MAAMf,EAAKD,GACxBP,EAAGjS,OAASkR,EAAQnR,EAAQ6T,IAAY,EACpC7T,IAGFsT,EAAKb,GAFLkB,EAAMzoB,KAAKyoB,IAAI3T,IAEE0S,GADjBkB,EAAM1oB,KAAK0oB,IAAI5T,IAEfuT,EAAKV,EAAMc,EAAMb,EAAMc,EACvBJ,EAAKP,EAAMU,EAAMT,EAAMU,EACvBlB,EAAMA,EAAMiB,EAAMlB,EAAMmB,EACxBd,EAAMA,EAAMa,EAAMd,EAAMe,EACxBV,EAAMA,EAAMS,EAAMV,EAAMW,EACxBnB,EAAMa,EACNT,EAAMU,EACNN,EAAMO,GAGJtB,EAAGhS,SAAWhV,KAAK4oB,IAAI5B,EAAGhS,SAAWhV,KAAK4oB,IAAI5B,EAAGjS,QAAU,QAC7DiS,EAAGhS,QAAUgS,EAAGjS,OAAS,EACzBiS,EAAG/R,QAAU,IAAM+R,EAAG/R,SAAW,GAanC,OAVA+R,EAAG7R,OAAS8Q,EAAQjmB,KAAK6oB,KAAKtB,EAAMA,EAAMC,EAAMA,EAAMC,EAAMA,IAC5DT,EAAG3R,OAAS4Q,EAAQjmB,KAAK6oB,KAAKjB,EAAMA,EAAMC,EAAMA,IAChDb,EAAGzR,OAAS0Q,EAAQjmB,KAAK6oB,KAAKd,EAAMA,EAAMC,EAAMA,EAAMC,EAAMA,IAE5DjB,EAAGvR,MAAQA,KAAWE,EAAQ,EAAIF,EAClCuR,EAAGrR,MAAQA,KAAWF,EAAQ,EAAIE,EAClCqR,EAAGnS,YAAcqT,EAAM,GAAKA,EAAM,GAAKA,EAAMA,GAAO,EACpDlB,EAAGpR,WAAayR,EAAEyB,IAClB9B,EAAGnR,WAAawR,EAAE0B,IAClB/B,EAAGlR,WAAaqS,EACTnB,CACT,EAxdAt4B,EAAQ,GA0dR,SAAqB5E,EAAKiB,GACxB,IAAIi+B,OAAS,EACRC,EAAiBn/B,IAAyB,iBAAViB,EAElB,YAARjB,GAAsBo/B,EAA0B9yB,KAAKrL,KAC9Di+B,EAAS,IAAOj+B,EAAMwgB,QAAQ,KAAM,OAAS,KAF7Cyd,EAAS,IAAMj+B,EAAQ,KAIzB,OAAOi+B,GAAUj+B,CACnB,EA7dA,IAAIk+B,EAAmB,CACrBE,yBAAyB,EACzBC,mBAAmB,EACnBC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAS,EACTC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,EACbC,MAAM,EACNC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZC,cAAc,EACdC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZxE,SAAS,EACTyE,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EAGNC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,eAAe,EACfC,aAAa,GAEXC,EAAW,CAAC,SAAU,KAAM,MAAO,KAMvCtiC,OAAOD,KAAKogC,GAAkBp/B,SAAQ,SAAUwhC,GAC9CD,EAASvhC,SAAQ,SAAUi5B,GACzBmG,EANJ,SAAmBnG,EAAQh5B,GACzB,OAAOg5B,EAASh5B,EAAIid,OAAO,GAAGqf,cAAgBt8B,EAAIq9B,UAAU,EAC9D,CAIqBmE,CAAUxI,EAAQuI,IAASpC,EAAiBoC,EAC/D,GACF,IAEA,IAAInC,EAA4B,oHAE5BqC,EACsB,oBAAbp7B,aAGP4H,aAAcA,UAAUE,UAAU1L,QAAQ,YAAc,GAAKwL,UAAUE,UAAU1L,QAAQ,YAAc,IAMzGi/B,EAAM,IAENC,EAAc,CAChBC,KAAM,CAAC,EAAG,IAAK,KACfC,KAAM,CAAC,EAAG,IAAK,GACfC,OAAQ,CAAC,IAAK,IAAK,KACnBC,MAAO,CAAC,EAAG,EAAG,GACdC,OAAQ,CAAC,IAAK,EAAG,GACjBC,KAAM,CAAC,EAAG,IAAK,KACfC,KAAM,CAAC,EAAG,EAAG,KACbC,KAAM,CAAC,EAAG,EAAG,KACbC,MAAO,CAAC,IAAK,IAAK,KAClBC,QAAS,CAAC,IAAK,EAAG,KAClBC,MAAO,CAAC,IAAK,IAAK,GAClBC,OAAQ,CAAC,IAAK,IAAK,GACnBC,OAAQ,CAAC,IAAK,IAAK,GACnBC,KAAM,CAAC,IAAK,IAAK,KACjBC,OAAQ,CAAC,IAAK,EAAG,KACjBC,MAAO,CAAC,EAAG,IAAK,GAChBC,IAAK,CAAC,IAAK,EAAG,GACdC,KAAM,CAAC,IAAK,IAAK,KACjBC,KAAM,CAAC,EAAG,IAAK,KACfC,YAAa,CAAC,IAAK,IAAK,IAAK,IAE3BC,EAAO,SAAcC,EAAIC,EAAIC,GAC/B,IAAIC,EAAIH,EAAK,EAAIA,EAAK,EAAIA,EAK1B,OAAW,KADC,GAHZG,EAAIH,EAAK,EAAIA,EAAK,EAAIG,GAGN,EAAIF,GAAMC,EAAKD,GAAME,EAAI,EADjCA,EAAI,GAAMD,EADN,EAAJC,EAAQ,EAAIF,GAAMC,EAAKD,IAAO,EAAI,EAAIE,GAAK,EAAIF,GAGtC,GAAM,CACzB,EAEIrE,GADU3oB,KAAKmtB,GACL,IAAMntB,KAAKmtB,IAErBC,EAAW,CACbC,OAAQ,CACNC,eAAgB,CAAC,YAAa,aAAc,aAAc,QAAS,SAAU,SAAU,QAAS,QAAS,UAAW,UACpHC,aAAc,CAAC,cAAe,aAAc,SAAU,UAAW,UAAW,gBAE9ErG,eAAgB,CAAEsG,UAAW,EAAGC,YAAa,EAAGC,MAAO,EAAGC,QAAS,EAAG5Y,OAAQ,EAAG6Y,SAAU,EAAGC,KAAM,GACpG5kC,OAAQ,CAAC,YAAa,QAAS,YAAa,SAAU,aAAc,WAAY,QAChF6kC,cAAe,CAAEC,UAAW,YAAaC,UAAW,eAEtDZ,EAASC,OAAOC,eAAkB/B,EAA2E6B,EAASC,OAAOC,eAAtFF,EAASC,OAAOC,eAAet3B,OAAOo3B,EAASC,OAAOE,cAE7F,IAAI1G,EAAUn4B,EAAQ,GAAU0+B,EAchC,SAASnH,EAAQpS,EAAKlqB,GACpB,IAAIskC,EAAOtkC,EAASqW,KAAKkuB,IAAI,GAAIvkC,GAAU6hC,EACvC2C,EAAU,EAANta,EACJua,EAAMva,EAAMsa,EACZna,EAAQH,EACZ,GAAIua,EAAK,CACP,IAAIC,GAAKD,EAAMH,GAAQpa,EAAM,GAAK,GAAM,IAAO,GAAKoa,EAChD50B,EAAQ,EAAJg1B,EAGRra,GAAcH,EAAM,KAAOsa,EAAI90B,GAAK,IAAM,KAAO80B,EAAI90B,GAAK,KAFhDg1B,EAAE/hC,WACK2R,MAAM,KAAK,IAAM,GAEpC,CACA,OAAOqW,WAAWN,EACpB,CAwCA,SAASuS,EAAW+H,GAClB,IAAInhC,OAAI,EACJkhC,OAAI,EACJ5iB,OAAI,EACJ3N,OAAI,EACJovB,OAAI,EACJ9zB,OAAI,EACJyN,OAAI,EACJ2f,EAAI8H,EACJC,EAAU,4BA6Cd,OA5CK/H,EAEmB,iBAANA,EAChBr5B,EAAI,CAACq5B,GAAK,GAAIA,GAAK,EAAI,IAAS,IAAJA,IAEG,MAA3BA,EAAEzf,OAAOyf,EAAE78B,OAAS,KACtB68B,EAAIA,EAAEH,OAAO,EAAGG,EAAE78B,OAAS,IAEzB8hC,EAAYjF,GACdr5B,EAAIs+B,EAAYjF,GACS,MAAhBA,EAAEzf,OAAO,IAED,IAAbyf,EAAE78B,SACJ0kC,EAAI7H,EAAEzf,OAAO,GACb0E,EAAI+a,EAAEzf,OAAO,GACbjJ,EAAI0oB,EAAEzf,OAAO,GACbyf,EAAI,IAAM6H,EAAIA,EAAI5iB,EAAIA,EAAI3N,EAAIA,GAGhC3Q,EAAI,EADJq5B,EAAItY,SAASsY,EAAEH,OAAO,GAAI,MAChB,GAAIG,GAAK,EAAI,IAAS,IAAJA,IACA,QAAnBA,EAAEH,OAAO,EAAG,IACrBl5B,EAAIq5B,EAAEvT,MAAMsb,GACZrB,EAAIxxB,OAAOvO,EAAE,IAAM,IAAM,IACzBiM,EAAIsC,OAAOvO,EAAE,IAAM,IAGnBkhC,EAAQ,GAFRxnB,EAAInL,OAAOvO,EAAE,IAAM,MACnBse,EAAI5E,GAAK,GAAMA,GAAKzN,EAAI,GAAKyN,EAAIzN,EAAIyN,EAAIzN,GAErCjM,EAAExD,OAAS,IACbwD,EAAE,GAAKuO,OAAOvO,EAAE,KAElBA,EAAE,GAAK2/B,EAAKI,EAAI,EAAI,EAAGmB,EAAG5iB,GAC1Bte,EAAE,GAAK2/B,EAAKI,EAAGmB,EAAG5iB,GAClBte,EAAE,GAAK2/B,EAAKI,EAAI,EAAI,EAAGmB,EAAG5iB,IAE1Bte,EAAIq5B,EAAEvT,MAAMsb,IAAY9C,EAAYoB,YAEtC1/B,EAAE,GAAKuO,OAAOvO,EAAE,IAChBA,EAAE,GAAKuO,OAAOvO,EAAE,IAChBA,EAAE,GAAKuO,OAAOvO,EAAE,IAEZA,EAAExD,OAAS,IACbwD,EAAE,GAAKuO,OAAOvO,EAAE,MAxClBA,EAAIs+B,EAAYI,MA2CX1+B,CACT,CAuCA,SAASy5B,EAAYj5B,GACnB,OAAOk5B,EAAQwG,OAAOC,eAAe/gC,QAAQoB,IAAM,EAAI,YAAcA,CACvE,CAsBA,SAAS25B,EAAUjuB,GACjB,IAAIm1B,EAAMn1B,EAAE4Z,MAAM,2BACdoU,EAAI,CAAC,EAyBT,OAxBmB,IAAfmH,EAAI7kC,QACN09B,EAAEE,IAAMjT,WAAWka,EAAI,IACvBnH,EAAEG,IAAMlT,WAAWka,EAAI,IACvBnH,EAAEI,IAAM,EACRJ,EAAEK,IAAM,EACRL,EAAEM,IAAMrT,WAAWka,EAAI,IACvBnH,EAAEO,IAAMtT,WAAWka,EAAI,IACvBnH,EAAEQ,IAAM,EACRR,EAAES,IAAM,EACRT,EAAEU,IAAM,EACRV,EAAEW,IAAM,EACRX,EAAEY,IAAM,EACRZ,EAAEa,IAAM,EACRb,EAAEyB,IAAMxU,WAAWka,EAAI,IACvBnH,EAAE0B,IAAMzU,WAAWka,EAAI,IACvBnH,EAAEc,IAAM,EACRd,EAAEoH,IAAM,GAERD,EAAI3kC,SAAQ,SAAU0pB,EAAM9pB,GAC1B,IAAIilC,EAAKjlC,EAAI,EAAI,EACbua,EAAIhE,KAAKmH,MAAM1d,EAAI,GAAK,EAC5B49B,EAAE,IAAMrjB,EAAI0qB,GAAMpa,WAAWf,EAC/B,IAEK8T,CACT,CA6KA,SAASsH,EAAgBC,EAAU/vB,GACjC,IAAIuT,EAAM,KAeV,OAdIwc,GACFA,EAAS/kC,SAAQ,SAAUglC,GACzB,IAAIzc,EAAJ,CAGA,IAAI0c,EAAQD,EAAO5wB,MAAM,KAAK,GAC1B9Q,EAAI2hC,KAASjI,EAAQK,gBAAkBroB,EAAKsoB,UAAU,EAAGtoB,EAAKlV,OAAS,GAAG4C,QAAQuiC,IAAU,EAC5FhxB,EAAIe,KAAQgoB,EAAQK,gBAAkB4H,EAAM3H,UAAU,EAAG2H,EAAMnlC,OAAS,GAAG4C,QAAQsS,IAAS,EAC5Fd,EAAI+wB,KAASjI,EAAQK,gBAAkBroB,KAAQgoB,EAAQK,iBAAmB4H,EAAM3H,UAAU,EAAG2H,EAAMnlC,OAAS,KAAOkV,GAAQA,EAAKsoB,UAAU,EAAGtoB,EAAKlV,OAAS,KAAOmlC,IAClKA,IAAUjwB,GAAQ1R,GAAK2Q,GAAKC,KAC9BqU,EAAMyc,EANR,CAQF,IAEKzc,CACT,C,wBCphBA,IAAI2c,EAAiB,CACnBC,OAAQ,SAAS31B,EAAGyE,EAAGwZ,EAAIC,GAEzB,OADQD,EAAKxZ,GACFzE,EAAIke,EAAIzZ,CACrB,EACAmxB,WAAY,SAAS51B,EAAGyE,EAAGwZ,EAAIC,GAE7B,OADQD,EAAKxZ,IACDzE,GAAKke,GAAKle,EAAIyE,CAC5B,EACAoxB,YAAa,SAAS71B,EAAGyE,EAAGwZ,EAAIC,GAE9B,QADQD,EAAKxZ,IACAzE,GAAKke,IAAMle,EAAI,GAAKyE,CACnC,EACAqxB,cAAe,SAAS91B,EAAGyE,EAAGwZ,EAAIC,GAChC,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAKzE,GAAKke,EAAI,GAAK,EACVxZ,EAAI,EAAI1E,EAAIA,EAAIyE,GAEfC,EAAI,KAAQ1E,GAAMA,EAAI,GAAK,GAAKyE,CAE5C,EACAsxB,YAAa,SAAS/1B,EAAGyE,EAAGwZ,EAAIC,GAE9B,OADQD,EAAKxZ,IACDzE,GAAKke,GAAKle,EAAIA,EAAIyE,CAChC,EACAuxB,aAAc,SAASh2B,EAAGyE,EAAGwZ,EAAIC,GAE/B,OADQD,EAAKxZ,KACAzE,EAAIA,EAAIke,EAAI,GAAKle,EAAIA,EAAI,GAAKyE,CAC7C,EACAwxB,eAAgB,SAASj2B,EAAGyE,EAAGwZ,EAAIC,GACjC,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAKzE,GAAKke,EAAI,GAAK,EACVxZ,EAAI,EAAI1E,EAAIA,EAAIA,EAAIyE,EAEpBC,EAAI,IAAM1E,GAAK,GAAKA,EAAIA,EAAI,GAAKyE,CAE5C,EACAyxB,YAAa,SAASl2B,EAAGyE,EAAGwZ,EAAIC,GAE9B,OADQD,EAAKxZ,IACDzE,GAAKke,GAAKle,EAAIA,EAAIA,EAAIyE,CACpC,EACA0xB,aAAc,SAASn2B,EAAGyE,EAAGwZ,EAAIC,GAE/B,QADQD,EAAKxZ,KACCzE,EAAIA,EAAIke,EAAI,GAAKle,EAAIA,EAAIA,EAAI,GAAKyE,CAClD,EACA2xB,eAAgB,SAASp2B,EAAGyE,EAAGwZ,EAAIC,GACjC,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAKzE,GAAKke,EAAI,GAAK,EACVxZ,EAAI,EAAI1E,EAAIA,EAAIA,EAAIA,EAAIyE,GAEvBC,EAAI,IAAM1E,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GAAKyE,CAEjD,EACA4xB,YAAa,SAASr2B,EAAGyE,EAAGwZ,EAAIC,GAE9B,OADQD,EAAKxZ,IACDzE,GAAKke,GAAKle,EAAIA,EAAIA,EAAIA,EAAIyE,CACxC,EACA6xB,aAAc,SAASt2B,EAAGyE,EAAGwZ,EAAIC,GAE/B,OADQD,EAAKxZ,KACAzE,EAAIA,EAAIke,EAAI,GAAKle,EAAIA,EAAIA,EAAIA,EAAI,GAAKyE,CACrD,EACA8xB,eAAgB,SAASv2B,EAAGyE,EAAGwZ,EAAIC,GACjC,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAKzE,GAAKke,EAAI,GAAK,EACVxZ,EAAI,EAAI1E,EAAIA,EAAIA,EAAIA,EAAIA,EAAIyE,EAE5BC,EAAI,IAAM1E,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GAAKyE,CAEpD,EACA+xB,WAAY,SAASx2B,EAAGyE,EAAGwZ,EAAIC,GAC7B,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAQC,EAAIiC,KAAKyoB,IAAIpvB,EAAIke,GAAKvX,KAAKmtB,GAAK,IAAMpvB,EAAID,CACpD,EACAgyB,YAAa,SAASz2B,EAAGyE,EAAGwZ,EAAIC,GAE9B,OADQD,EAAKxZ,GACFkC,KAAK0oB,IAAIrvB,EAAIke,GAAKvX,KAAKmtB,GAAK,IAAMrvB,CAC/C,EACAiyB,cAAe,SAAS12B,EAAGyE,EAAGwZ,EAAIC,GAEhC,QADQD,EAAKxZ,GACD,GAAKkC,KAAKyoB,IAAIzoB,KAAKmtB,GAAK9zB,EAAIke,GAAK,GAAKzZ,CACpD,EACAkyB,WAAY,SAAS32B,EAAGyE,EAAGwZ,EAAIC,GAE7B,OAAW,GAAHle,EAAQyE,GADRwZ,EAAKxZ,GACWkC,KAAKkuB,IAAI,EAAG,IAAM70B,EAAEke,EAAI,IAAMzZ,CACxD,EACAmyB,YAAa,SAAS52B,EAAGyE,EAAGwZ,EAAIC,GAC9B,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAQzE,GAAGke,EAAKzZ,EAAEC,EAAIA,GAA+B,EAAzBiC,KAAKkuB,IAAI,GAAI,GAAK70B,EAAEke,IAAUzZ,CAC5D,EACAoyB,cAAe,SAAS72B,EAAGyE,EAAGwZ,EAAIC,GAChC,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAU,IAANzE,EACKyE,EAELzE,IAAMke,EACDzZ,EAAIC,GAER1E,GAAKke,EAAI,GAAK,EACVxZ,EAAI,EAAIiC,KAAKkuB,IAAI,EAAG,IAAM70B,EAAI,IAAMyE,EAEpCC,EAAI,GAA+B,EAAzBiC,KAAKkuB,IAAI,GAAI,KAAO70B,IAAUyE,CAEnD,EACAqyB,WAAY,SAAS92B,EAAGyE,EAAGwZ,EAAIC,GAE7B,QADQD,EAAKxZ,IACAkC,KAAK6oB,KAAK,GAAKxvB,GAAKke,GAAKle,GAAK,GAAKyE,CAClD,EACAsyB,YAAa,SAAS/2B,EAAGyE,EAAGwZ,EAAIC,GAE9B,OADQD,EAAKxZ,GACFkC,KAAK6oB,KAAK,GAAKxvB,EAAIA,EAAIke,EAAI,GAAKle,GAAKyE,CAClD,EACAuyB,cAAe,SAASh3B,EAAGyE,EAAGwZ,EAAIC,GAChC,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAKzE,GAAKke,EAAI,GAAK,GACTxZ,EAAI,GAAKiC,KAAK6oB,KAAK,EAAIxvB,EAAIA,GAAK,GAAKyE,EAEtCC,EAAI,GAAKiC,KAAK6oB,KAAK,GAAKxvB,GAAK,GAAKA,GAAK,GAAKyE,CAEvD,EACAwyB,cAAe,SAASj3B,EAAGyE,EAAGwZ,EAAIC,GAChC,IACIpqB,EAAGQ,EAAGyL,EADN2E,EAAIuZ,EAAKxZ,EAKb,OAHA1E,EAAI,QAGM,IAANC,EACKyE,EACe,IAAZzE,GAAKke,GACRzZ,EAAIC,IALbpQ,EAAI,KAQFA,EAAQ,GAAJ4pB,IAPNpqB,EAAI4Q,GASIiC,KAAK4oB,IAAI7qB,IACf5Q,EAAI4Q,EACJ3E,EAAIzL,EAAI,GAERyL,EAAIzL,GAAK,EAAIqS,KAAKmtB,IAAMntB,KAAKuwB,KAAKxyB,EAAI5Q,IAE/BA,EAAI6S,KAAKkuB,IAAI,EAAG,IAAM70B,GAAK,IAAM2G,KAAK0oB,KAAKrvB,EAAIke,EAAIne,IAAM,EAAI4G,KAAKmtB,IAAMx/B,GAAMmQ,EACzF,EACA0yB,eAAgB,SAASn3B,EAAGyE,EAAGwZ,EAAIC,GACjC,IACIpqB,EAAGQ,EAAGyL,EADN2E,EAAIuZ,EAAKxZ,EAKb,OAHA1E,EAAI,QAGM,IAANC,EACKyE,EACe,IAAZzE,GAAKke,GACRzZ,EAAIC,IALbpQ,EAAI,KAQFA,EAAQ,GAAJ4pB,IAPNpqB,EAAI4Q,GASIiC,KAAK4oB,IAAI7qB,IACf5Q,EAAI4Q,EACJ3E,EAAIzL,EAAI,GAERyL,EAAIzL,GAAK,EAAIqS,KAAKmtB,IAAMntB,KAAKuwB,KAAKxyB,EAAI5Q,GAEjCA,EAAI6S,KAAKkuB,IAAI,GAAI,GAAK70B,GAAK2G,KAAK0oB,KAAKrvB,EAAIke,EAAIne,IAAM,EAAI4G,KAAKmtB,IAAMx/B,GAAKoQ,EAAID,EACpF,EACA2yB,iBAAkB,SAASp3B,EAAGyE,EAAGwZ,EAAIC,GACnC,IACIpqB,EAAGQ,EAAGyL,EADN2E,EAAIuZ,EAAKxZ,EAKb,OAHA1E,EAAI,QAGM,IAANC,EACKyE,EACmB,IAAhBzE,GAAKke,EAAI,GACZzZ,EAAIC,IALbpQ,EAAI,KAQFA,EAAI4pB,GAAK,GAAM,OAPjBpqB,EAAI4Q,GASIiC,KAAK4oB,IAAI7qB,IACf5Q,EAAI4Q,EACJ3E,EAAIzL,EAAI,GAERyL,EAAIzL,GAAK,EAAIqS,KAAKmtB,IAAMntB,KAAKuwB,KAAKxyB,EAAI5Q,GAEpCkM,EAAI,EACSlM,EAAI6S,KAAKkuB,IAAI,EAAG,IAAM70B,GAAK,IAAM2G,KAAK0oB,KAAKrvB,EAAIke,EAAIne,IAAM,EAAI4G,KAAKmtB,IAAMx/B,IAA/E,GAAqFmQ,EAEtF3Q,EAAI6S,KAAKkuB,IAAI,GAAI,IAAM70B,GAAK,IAAM2G,KAAK0oB,KAAKrvB,EAAIke,EAAIne,IAAM,EAAI4G,KAAKmtB,IAAMx/B,GAAK,GAAMoQ,EAAID,EAEnG,EACA4yB,WAAY,SAASr3B,EAAGyE,EAAGwZ,EAAIC,EAAGne,GAKhC,YAHU,IAANA,IACFA,EAAI,UAFEke,EAAKxZ,IAIDzE,GAAKke,GAAKle,IAAMD,EAAI,GAAKC,EAAID,GAAK0E,CAChD,EACA6yB,YAAa,SAASt3B,EAAGyE,EAAGwZ,EAAIC,EAAGne,GAKjC,YAHU,IAANA,IACFA,EAAI,UAFEke,EAAKxZ,KAIAzE,EAAIA,EAAIke,EAAI,GAAKle,IAAMD,EAAI,GAAKC,EAAID,GAAK,GAAK0E,CAC7D,EACA8yB,cAAe,SAASv3B,EAAGyE,EAAGwZ,EAAIC,EAAGne,GACnC,IAAI2E,EAAIuZ,EAAKxZ,EAIb,YAHU,IAAN1E,IACFA,EAAI,UAEDC,GAAKke,EAAI,GAAK,EACVxZ,EAAI,GAAK1E,EAAIA,IAAqB,GAAdD,GAAK,QAAcC,EAAID,IAAM0E,EAEjDC,EAAI,IAAM1E,GAAK,GAAKA,IAAqB,GAAdD,GAAK,QAAcC,EAAID,GAAK,GAAK0E,CAEvE,EACA+yB,aAAc,SAASx3B,EAAGyE,EAAGwZ,EAAIC,GAC/B,IAAIxZ,EAAIuZ,EAAKxZ,EAGb,OAAOC,EADHgxB,EAAe+B,cAAcvZ,EAAIle,EAAG,EAAG0E,EAAGwZ,GAC/BzZ,CACjB,EACAgzB,cAAe,SAASz3B,EAAGyE,EAAGwZ,EAAIC,GAChC,IAAIxZ,EAAIuZ,EAAKxZ,EACb,OAAKzE,GAAKke,GAAK,EAAI,KACVxZ,GAAK,OAAS1E,EAAIA,GAAKyE,EACrBzE,EAAI,EAAI,KACV0E,GAAK,QAAU1E,GAAK,IAAM,MAAQA,EAAI,KAAQyE,EAC5CzE,EAAI,IAAM,KACZ0E,GAAK,QAAU1E,GAAK,KAAO,MAAQA,EAAI,OAAUyE,EAEjDC,GAAK,QAAU1E,GAAK,MAAQ,MAAQA,EAAI,SAAYyE,CAE/D,EACAizB,gBAAiB,SAAS13B,EAAGyE,EAAGwZ,EAAIC,GAClC,IAAIxZ,EAAIuZ,EAAKxZ,EAEb,OAAIzE,EAAIke,EAAI,EAEC,GADPwX,EAAe8B,aAAiB,EAAJx3B,EAAO,EAAG0E,EAAGwZ,GAC5BzZ,EAGN,GADPixB,EAAe+B,cAAkB,EAAJz3B,EAAQke,EAAG,EAAGxZ,EAAGwZ,GAC7B,GAAJxZ,EAAUD,CAE/B,GAGF/B,EAAOrN,QAAUqgC,C","file":"237.373ff806.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// 监控基础类\nvar BaseMonitor = /*#__PURE__*/function () {\n function BaseMonitor() {\n var _this2 = this;\n\n _classCallCheck(this, BaseMonitor);\n\n _defineProperty(this, \"onFetch\", function () {});\n\n _defineProperty(this, \"onJsError\", function () {});\n\n _defineProperty(this, \"onPageUnload\", function () {});\n\n _defineProperty(this, \"syncRequest\", function (url, params) {\n var http = new _this2.XMLHttpRequest();\n http.setRequestHeader('Content-type', 'application/json; charset=utf-8');\n http.open('POST', url, false);\n http.send(params);\n });\n\n // 暴露五个方法\n // reWriteEvent:重写 EventTarget.prototype.addEventListener\n // listenFetch:监听 xhr 请求,onFetch 上报\n // listenJsError:监听 window.addEventListener js 错误,onJsError 上报\n // listenPageUnload:监听页面退出(分web、weex、wx) onPageUnload 上报\n // listenPromise:异步错误 ,监听 window.addEventListener(\"unhandledrejection\") reportJsError 上报\n try {\n this.reWriteEvent();\n this.listenFetch();\n this.listenJsError();\n this.listenPageUnload();\n this.listenPromise();\n } catch (e) {\n console.error('FeMonitor:', e);\n }\n }\n\n _createClass(BaseMonitor, [{\n key: \"getEnv\",\n value: function getEnv() {\n try {\n if (this.env) {\n return this.env;\n }\n\n if ((typeof wx === \"undefined\" ? \"undefined\" : _typeof(wx)) === 'object') {\n this.env = 'wx';\n } else if ((typeof weex === \"undefined\" ? \"undefined\" : _typeof(weex)) === 'object') {\n this.env = 'weex';\n } else if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object') {\n this.env = 'web';\n }\n\n return this.env;\n } catch (e) {\n return '';\n }\n }\n }, {\n key: \"reWriteEvent\",\n value: function reWriteEvent() {\n // if (this.getEnv() === 'web' && document.write) {\n // document.write(``)\n // }\n if (this.getEnv() === 'web') {\n var reWriteOriginAddEventListener = \"const originAddEventListener = EventTarget.prototype.addEventListener;\\n EventTarget.prototype.addEventListener = function (type, listener, options) {\\n const wrappedListener = function (...args) {\\n try {\\n return listener.apply(this, args);\\n }\\n catch (e) {\\n /** \\u9519\\u8BEF\\u5806\\u6808\\u4FE1\\u606F */\\n const _stack = e.stack || (e.error && e.error.stack);\\n console.log('_stack', _stack)\\n if (_stack) {\\n /** \\u6E90\\u7801\\u4E2D\\u9519\\u8BEF\\u4EE3\\u7801\\u76F8\\u5173\\u4FE1\\u606F */\\n const caller_line = _stack.split(\\\"\\\\n\\\")[1];\\n console.log('caller_line', caller_line);\\n /** \\u6839\\u636E\\u5C0F\\u62EC\\u53F7\\u83B7\\u53D6\\u6709\\u610F\\u4E49\\u7684\\u9519\\u8BEF\\u4FE1\\u606F\\u5185\\u5BB9 */\\n const caller_line_arr = caller_line.match(/\\\\((.+?)\\\\)/g);\\n /** \\u53BB\\u6389 caller_line \\u5B57\\u7B26\\u4E32\\u4E2D\\u7684\\u5C0F\\u62EC\\u53F7 */\\n const caller_line_content = caller_line_arr[0].substring(1, caller_line_arr[0].length).substring(0, caller_line_arr[0].length - 2);\\n console.log('caller_line_content', caller_line_content)\\n /** \\u6839\\u636E\\u5206\\u53F7\\u8FDB\\u884C\\u5207\\u5272\\u6210\\u6570\\u7EC4 */\\n const caller_line_content_arr = caller_line_content.split(':');\\n const caller_line_content_arr_length = caller_line_content_arr.length;\\n /** \\u83B7\\u53D6\\u9519\\u8BEF\\u4FE1\\u606F\\uFF1A\\u884C */\\n const lineno = caller_line_content_arr[caller_line_content_arr_length - 2];\\n /** \\u83B7\\u53D6\\u9519\\u8BEF\\u4FE1\\u606F\\uFF1A\\u5217 */\\n const colno = caller_line_content_arr[caller_line_content_arr_length - 1];\\n /** \\u83B7\\u53D6\\u9519\\u8BEF\\u4FE1\\u606F\\uFF1A\\u6240\\u5728\\u6587\\u4EF6\\u540D */\\n const filename = caller_line_content_arr.splice(0, caller_line_content_arr_length - 2).join('');\\n console.log('lineno', lineno);\\n console.log('colno', colno);\\n console.log('filename', filename);\\n\\n /** \\u81EA\\u5B9A\\u4E49\\u5F02\\u5E38\\u7C7B\\u578B */\\n function CustomError () {\\n this.message = 'Uncaught ' + e.name + ': ' + e.message || '';\\n this.colno = colno;\\n this.lineno = lineno;\\n this.filename = filename;\\n }\\n CustomError.prototype = Object.create(Error.prototype);\\n CustomError.prototype.constructor = CustomError;\\n\\n throw new CustomError();\\n }\\n }\\n }\\n listener._MONITOR_PROXY = wrappedListener;\\n return originAddEventListener.call(this, type, wrappedListener, options);\\n }\\n const originRemoveEventListener = EventTarget.prototype.removeEventListener;\\n EventTarget.prototype.removeEventListener = function (type, listener, options) {\\n return originRemoveEventListener.call(this, type, listener && listener._MONITOR_PROXY , options);\\n }\";\n var scriptEle = document.createElement(\"script\");\n scriptEle.async = false;\n scriptEle.defer = false;\n scriptEle.append(reWriteOriginAddEventListener);\n document.head.append(scriptEle);\n }\n }\n /**\n * [reWriteFetch description]\n * @return {[type]} [description]\n */\n\n }, {\n key: \"listenFetch\",\n value: function listenFetch() {\n var _this = this;\n\n if (this.getEnv() === 'web') {\n if (window.fetch) {\n this.originFetch = window.fetch;\n var originFetch = window.fetch;\n\n window.fetch = function (url, options) {\n var startTime = +new Date();\n return originFetch.call(this, url, options).then(function (response) {\n _this.onFetch({\n url: url,\n success: response.ok,\n duration: +new Date() - startTime,\n code: response.status,\n message: response.statusText\n });\n\n return response;\n }).catch(function (err) {\n _this.onFetch({\n url: url,\n success: false,\n duration: +new Date() - startTime,\n code: 0,\n message: err && err.message || ''\n });\n\n throw err;\n });\n };\n }\n\n if (window.XMLHttpRequest) {\n this.XMLHttpRequest = window.XMLHttpRequest;\n\n var newXhr = /*#__PURE__*/function (_XMLHttpRequest) {\n _inherits(newXhr, _XMLHttpRequest);\n\n var _super = _createSuper(newXhr);\n\n function newXhr() {\n _classCallCheck(this, newXhr);\n\n return _super.call(this);\n }\n\n _createClass(newXhr, [{\n key: \"open\",\n value: function open() {\n this.startTime = +new Date();\n\n _get(_getPrototypeOf(newXhr.prototype), \"open\", this).apply(this, arguments);\n\n var url = arguments[1];\n this.addEventListener('readystatechange', function () {\n if (this.readyState == 4) {\n var dur = +new Date() - this.startTime;\n\n if (this.status == 200) {\n _this.onFetch({\n url: url,\n success: true,\n duration: dur,\n code: 200\n });\n } else {\n _this.onFetch({\n url: url,\n success: false,\n duration: dur,\n code: this.status,\n message: this.responseText || ''\n });\n }\n }\n });\n }\n }]);\n\n return newXhr;\n }( /*#__PURE__*/_wrapNativeSuper(XMLHttpRequest));\n\n window.XMLHttpRequest = newXhr;\n }\n } else if (this.getEnv() === 'wx') {\n var originRequest = wx.request;\n this.originRequest = originRequest;\n\n var newRequest = function newRequest(options) {\n var startTime = +new Date();\n var originSuccess = options.success;\n var originFail = options.fail;\n return originRequest.call(this, _objectSpread(_objectSpread({}, options), {}, {\n success: function success(res) {\n _this.onFetch({\n url: options.url,\n success: true,\n duration: +new Date() - startTime,\n code: res.statusCode,\n message: res.errMsg || ''\n });\n\n originSuccess && originSuccess(res);\n },\n fail: function fail(err) {\n _this.onFetch({\n url: options.url,\n success: false,\n duration: +new Date() - startTime,\n code: err.statusCode,\n message: err.errMsg || ''\n });\n\n originFail && originFail(err);\n }\n }));\n };\n\n Object.defineProperty(wx, 'request', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: newRequest\n });\n wx.request = newRequest;\n }\n }\n }, {\n key: \"listenJsError\",\n\n /**\n * 监听js报错\n * @return {[type]} [description]\n */\n value: function listenJsError() {\n var _this3 = this;\n\n if (this.getEnv() === 'web' && window.addEventListener) {\n window.addEventListener('error', function (evt) {\n var message = evt.message,\n lineno = evt.lineno,\n colno = evt.colno,\n error = evt.error,\n filename = evt.filename;\n var info = Object.assign({}, {\n message: message,\n lineno: lineno,\n colno: colno,\n filename: filename\n }, _objectSpread({}, error)); // evt.error ? evt.error.stack : evt.message\n\n _this3.onJsError(JSON.stringify(info)); // document.querySelector('#info').textContent = info;\n\n });\n } else if (this.getEnv() === 'wx' && wx.onError) {\n wx.onError(function (msg) {\n _this3.onJsError(msg);\n });\n }\n }\n }, {\n key: \"listenPromise\",\n value: function listenPromise() {\n var _this4 = this;\n\n if (this.getEnv() === 'web' && window.addEventListener) {\n window.addEventListener(\"unhandledrejection\", function (e) {\n var reason = e.reason;\n\n if (!reason) {\n return;\n }\n\n _this4.reportJsError({\n message: reason.message,\n attr: {\n message: reason.message,\n stack: reason.stack,\n type: 'promise'\n }\n });\n });\n }\n }\n /**\n * 监听页面退出\n * @return {[type]} [description]\n */\n\n }, {\n key: \"listenPageUnload\",\n value: function listenPageUnload() {\n var _this5 = this;\n\n if (this.getEnv() === 'web') {\n window.addEventListener('beforeunload', function (e) {\n _this5.onPageUnload();\n });\n window.addEventListener('unload', function (e) {\n _this5.onPageUnload();\n });\n window.Fusion && window.Fusion.registerEventListener && window.Fusion.registerEventListener({\n event: 'UIApplicationDidEnterBackgroundNotification'\n }, function (data) {\n _this5.onPageUnload();\n });\n } else if (this.getEnv() === 'weex') {\n var globalEvent = weex.requireModule('globalEvent');\n globalEvent.addEventListener('WXApplicationWillResignActiveEvent', function (e) {\n try {\n _this5.onPageUnload();\n } catch (e) {\n console.warn(e);\n }\n });\n globalEvent.addEventListener('UIApplicationDidEnterBackgroundNotification', function (e) {\n try {\n _this5.onPageUnload();\n } catch (e) {\n console.warn(e);\n }\n });\n } else if (this.getEnv() === 'wx' && wx.onAppHide) {\n wx.onAppHide(function () {\n _this5.onPageUnload();\n });\n }\n }\n }]);\n\n return BaseMonitor;\n}();\n\nvar _default = BaseMonitor;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _monitor = _interopRequireDefault(require(\"./monitor\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = _monitor.default; // export { default as ErrorBoundary } from './ErrorBoundary';\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _baseMonitor = _interopRequireDefault(require(\"./baseMonitor\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar FeMonitor = /*#__PURE__*/function (_BaseMonitor) {\n _inherits(FeMonitor, _BaseMonitor);\n\n var _super = _createSuper(FeMonitor);\n\n function FeMonitor() {\n var _this;\n\n _classCallCheck(this, FeMonitor);\n\n _this = _super.call(this);\n\n _defineProperty(_assertThisInitialized(_this), \"setConfig\", function () {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n Object.assign(_this.config, config); // 方便测试修改minReportCount和minReportDelay\n\n Object.assign(_this.baseConfig, config);\n } catch (e) {\n console.log('FeMonitor:', e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"definePublicReport\", function () {\n if (_this.getEnv() === 'wx') {\n wx._feMonitor = {\n reportApi: _this.reportApi,\n reportJsError: _this.reportJsError,\n reportEvent: _this.reportEvent,\n setPage: _this.setPage\n };\n } else if (_this.getEnv() === 'web') {\n window._feMonitor = {\n reportApi: _this.reportApi,\n reportJsError: _this.reportJsError,\n reportEvent: _this.reportEvent,\n setPage: _this.setPage\n };\n } else if (_this.getEnv() === 'weex') {\n weex._feMonitor = {\n reportApi: _this.reportApi,\n reportJsError: _this.reportJsError,\n reportEvent: _this.reportEvent,\n setPage: _this.setPage\n };\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onFetch\", function (options) {\n if (_this.config.auto) {\n var url = options.url,\n success = options.success,\n duration = options.duration,\n code = options.code,\n message = options.message;\n\n _this.reportApi({\n apiName: url,\n success: success,\n duration: duration,\n code: code,\n message: message\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onJsError\", function (message, attr) {\n if (_this.config.auto) {\n _this.reportJsError({\n message: message,\n attr: _objectSpread({\n info: message\n }, attr)\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPageUnload\", function () {\n clearTimeout(_this.heart);\n\n _this.upload(_this.getReportList(), true);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"canReport\", function () {\n var _this$baseConfig = _this.baseConfig,\n minReportCount = _this$baseConfig.minReportCount,\n minReportDelay = _this$baseConfig.minReportDelay;\n var now = +new Date();\n\n if (_this.eventStack.length >= minReportCount || !_this.lastReportTime || now - _this.lastReportTime >= minReportDelay) {\n return true;\n }\n\n return false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getReportList\", function () {\n var reportList = [].concat(_this.eventStack);\n _this.eventStack = [];\n _this.lastReportTime = +new Date();\n return reportList;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"reportApi\", function (_ref) {\n var apiName = _ref.apiName,\n success = _ref.success,\n duration = _ref.duration,\n code = _ref.code,\n _ref$message = _ref.message,\n message = _ref$message === void 0 ? '' : _ref$message,\n _ref$attr = _ref.attr,\n attr = _ref$attr === void 0 ? {} : _ref$attr;\n\n if (!apiName || typeof success !== 'boolean') {\n console.error('feMonitor: reportApi方法的apiName和success为必填项');\n return;\n }\n\n if (success) {\n return;\n }\n\n if (/^http:\\/\\/127.0.0.1/.test(apiName)) {\n return;\n }\n\n _this.report({\n eventId: \"\".concat(_this.config.moduleName || \"\".concat(_this.config.line, \"-\").concat(_this.config.project), \"-\").concat(success ? 'api-event' : 'api-error'),\n apiName: apiName,\n success: success,\n duration: duration,\n code: code,\n message: message,\n attr: _objectSpread(_objectSpread({}, attr), {}, {\n apiName: apiName,\n success: success,\n duration: duration,\n code: code,\n message: message\n })\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"reportJsError\", function (_ref2) {\n var message = _ref2.message,\n _ref2$attr = _ref2.attr,\n attr = _ref2$attr === void 0 ? {} : _ref2$attr;\n\n if (!message) {\n console.error('feMonitor: reportJsError 方法的message为必填项');\n }\n\n _this.report({\n eventId: \"\".concat(_this.config.moduleName || \"\".concat(_this.config.line, \"-\").concat(_this.config.project), \"-js-error\"),\n success: false,\n info: message,\n attr: attr\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"reportEvent\", function (options) {\n if (!options.eventId) {\n console.error('feMonitor: 自定义事件的 eventId不能为空'); // throw new Error('feMonitor: eventId不能为空')\n\n return;\n }\n\n _this.report(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"report\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var _this$config = _this.config,\n moduleName = _this$config.moduleName,\n appid = _this$config.appid,\n line = _this$config.line,\n project = _this$config.project;\n\n if (!moduleName && (!line || !project)) {\n console.error('feMonitor: 缺少line或project,请使用setConfig方法设置');\n return;\n }\n\n var attr = options.attr;\n\n _this.getDefaultAttr().then(function (defaultAttr) {\n try {\n var ev = Object.assign({\n appid: appid,\n line: line,\n project: project,\n moduleName: moduleName || \"\".concat(line, \"-\").concat(project),\n page: _this.getPage(),\n time: Date.now(),\n defaultAttr: JSON.stringify(defaultAttr) // 默认参数,设备信息等\n\n }, options, {\n attr: _objectSpread(_objectSpread({}, attr), {}, {\n line: line,\n project: project,\n moduleName: moduleName,\n appid: appid,\n page: _this.getPage(),\n time: Date.now()\n })\n });\n\n _this.eventStack.push(ev);\n\n _this.checkReport();\n } catch (e) {\n console.error('feMonitor:', e);\n }\n });\n } catch (e) {\n console.error('feMonitor:', e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setPage\", function (page) {\n _this.config.page = page;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPage\", function () {\n if (_this.config.page) {\n return _this.config.page;\n }\n\n if (_this.getEnv() === 'web') {\n return location.href;\n }\n\n if (_this.getEnv() === 'wx') {\n var pages = getCurrentPages();\n\n if (pages && pages.length) {\n return pages[pages.length - 1].route;\n }\n } else if (_this.getEnv() === 'weex') {\n return weex.config.bundleUrl;\n }\n\n return '';\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getDefaultAttr\", function () {\n return new Promise(function (resolve, reject) {\n if (_this.getEnv() === 'web') {\n var nv = navigator || {};\n resolve({\n ua: nv.userAgent,\n appName: nv.appName,\n appVersion: nv.appVersion,\n minReportDelay: _this.baseConfig.minReportDelay,\n minReportCount: _this.baseConfig.minReportCount,\n sendBeacon: !!window.navigator.sendBeacon\n });\n } else if (_this.getEnv() === 'wx') {\n wx.getNetworkType({\n complete: function complete(res) {\n resolve(_objectSpread(_objectSpread({}, wx.getSystemInfoSync()), {}, {\n networkType: res && res.networkType || '',\n minReportDelay: _this.baseConfig.minReportDelay,\n minReportCount: _this.baseConfig.minReportCount\n }));\n }\n });\n } else if (_this.getEnv() === 'weex') {\n resolve(weex.config.env);\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkReport\", function () {\n clearTimeout(_this.heart);\n\n if (_this.canReport()) {\n _this.upload(_this.getReportList());\n }\n\n _this.heart = setTimeout(function () {\n _this.checkReport();\n }, _this.baseConfig.minReportDelay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"upload\", function (reportList, unLoad) {\n try {\n if (reportList.length) {\n var reportUrl = _this.baseConfig.reportUrl;\n\n if (_this.getEnv() === 'web') {\n if (window.navigator && window.navigator.sendBeacon) {\n window.navigator.sendBeacon(reportUrl, JSON.stringify(reportList));\n } else if (unLoad) {\n _this.syncRequest(reportUrl, JSON.stringify(reportList));\n } else {\n _this.originFetch && _this.originFetch.call(window, reportUrl, {\n mode: 'cors',\n method: 'post',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n },\n body: JSON.stringify(reportList)\n });\n }\n } else if (_this.getEnv() === 'wx') {\n _this.originRequest && _this.originRequest({\n url: reportUrl,\n method: 'post',\n data: JSON.stringify(reportList)\n });\n } else if (_this.getEnv() === 'weex') {\n var stream = weex.requireModule('stream');\n stream.fetch({\n url: reportUrl,\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n },\n method: 'post',\n body: JSON.stringify(reportList)\n });\n }\n }\n } catch (e) {\n console.error('feMonitor:', e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoJsError\", function () {\n return !!wx.onError;\n });\n\n _this.eventStack = []; // 上报事件堆栈\n // this.field = ['line', 'project', 'page', 'eventId', 'success', 'eventType', 'apiName', 'code', 'duration', 'message', 'attr', 'time']\n\n _this.baseConfig = {\n reportUrl: 'https://gw.am.xiaojukeji.com/fe-monitor/event',\n minReportCount: 5,\n // 最小上报数量\n minReportDelay: 5000 // 最小上报间隔\n\n };\n _this.config = {\n appid: '',\n // appid\n moduleName: '',\n // 模块名\n line: '',\n // 业务线\n project: '',\n // 项目\n auto: true // 开启自动上报\n\n }; // 设置对外开发的上报接口\n // 分 wx、web、weex\n\n _this.definePublicReport();\n\n return _this;\n } // 使用的时候会先调用 setConfig 方法\n\n /**\n * import feMonitor from '@didi/fe-monitor';\n * feMonitor.setConfig({\n * appid: '10005', // 业务线\n * moduleName: 'boss-energy', // 项目\n * auto: true, // 开启自动上报,默认为true\n * });\n */\n\n\n return FeMonitor;\n}(_baseMonitor.default);\n\nvar monitor = new FeMonitor();\nvar _default = monitor;\nexports.default = _default;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport debounce from 'lodash/debounce';\nimport { ConfigConsumer } from '../config-provider';\nimport { tuple } from '../_util/type';\nimport { isValidElement, cloneElement } from '../_util/reactNode';\nvar SpinSizes = tuple('small', 'default', 'large'); // Render indicator\n\nvar defaultIndicator = null;\n\nfunction renderIndicator(prefixCls, props) {\n var indicator = props.indicator;\n var dotClassName = \"\".concat(prefixCls, \"-dot\"); // should not be render default indicator when indicator value is null\n\n if (indicator === null) {\n return null;\n }\n\n if (isValidElement(indicator)) {\n return cloneElement(indicator, {\n className: classNames(indicator.props.className, dotClassName)\n });\n }\n\n if (isValidElement(defaultIndicator)) {\n return cloneElement(defaultIndicator, {\n className: classNames(defaultIndicator.props.className, dotClassName)\n });\n }\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, \"\".concat(prefixCls, \"-dot-spin\"))\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }));\n}\n\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\n\nvar Spin = /*#__PURE__*/function (_React$Component) {\n _inherits(Spin, _React$Component);\n\n var _super = _createSuper(Spin);\n\n function Spin(props) {\n var _this;\n\n _classCallCheck(this, Spin);\n\n _this = _super.call(this, props);\n\n _this.debouncifyUpdateSpinning = function (props) {\n var _ref = props || _this.props,\n delay = _ref.delay;\n\n if (delay) {\n _this.cancelExistingSpin();\n\n _this.updateSpinning = debounce(_this.originalUpdateSpinning, delay);\n }\n };\n\n _this.updateSpinning = function () {\n var spinning = _this.props.spinning;\n var currentSpinning = _this.state.spinning;\n\n if (currentSpinning !== spinning) {\n _this.setState({\n spinning: spinning\n });\n }\n };\n\n _this.renderSpin = function (_ref2) {\n var _classNames;\n\n var getPrefixCls = _ref2.getPrefixCls,\n direction = _ref2.direction;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n className = _a.className,\n size = _a.size,\n tip = _a.tip,\n wrapperClassName = _a.wrapperClassName,\n style = _a.style,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"size\", \"tip\", \"wrapperClassName\", \"style\"]);\n\n var spinning = _this.state.spinning;\n var prefixCls = getPrefixCls('spin', customizePrefixCls);\n var spinClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spinning\"), spinning), _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-text\"), !!tip), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className); // fix https://fb.me/react-unknown-prop\n\n var divProps = omit(restProps, ['spinning', 'delay', 'indicator']);\n var spinElement = /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n style: style,\n className: spinClassName\n }), renderIndicator(prefixCls, _this.props), tip ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-text\")\n }, tip) : null);\n\n if (_this.isNestedPattern()) {\n var containerClassName = classNames(\"\".concat(prefixCls, \"-container\"), _defineProperty({}, \"\".concat(prefixCls, \"-blur\"), spinning));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n className: classNames(\"\".concat(prefixCls, \"-nested-loading\"), wrapperClassName)\n }), spinning && /*#__PURE__*/React.createElement(\"div\", {\n key: \"loading\"\n }, spinElement), /*#__PURE__*/React.createElement(\"div\", {\n className: containerClassName,\n key: \"container\"\n }, _this.props.children));\n }\n\n return spinElement;\n };\n\n var spinning = props.spinning,\n delay = props.delay;\n var shouldBeDelayed = shouldDelay(spinning, delay);\n _this.state = {\n spinning: spinning && !shouldBeDelayed\n };\n _this.originalUpdateSpinning = _this.updateSpinning;\n\n _this.debouncifyUpdateSpinning(props);\n\n return _this;\n }\n\n _createClass(Spin, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateSpinning();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.debouncifyUpdateSpinning();\n this.updateSpinning();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelExistingSpin();\n }\n }, {\n key: \"cancelExistingSpin\",\n value: function cancelExistingSpin() {\n var updateSpinning = this.updateSpinning;\n\n if (updateSpinning && updateSpinning.cancel) {\n updateSpinning.cancel();\n }\n }\n }, {\n key: \"isNestedPattern\",\n value: function isNestedPattern() {\n return !!(this.props && typeof this.props.children !== 'undefined');\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderSpin);\n }\n }], [{\n key: \"setDefaultIndicator\",\n value: function setDefaultIndicator(indicator) {\n defaultIndicator = indicator;\n }\n }]);\n\n return Spin;\n}(React.Component);\n\nSpin.defaultProps = {\n spinning: true,\n size: 'default',\n wrapperClassName: ''\n};\nexport default Spin;","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function () { /* empty */ };\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = true;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require('./_hide');\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","import React from 'react';\n\nexport var windowIsUndefined = !(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport var transformOrFilter = {\n transform: 1,\n '-ms-transform': 1,\n '-moz-transform': 1,\n '-webkit-transform': 1,\n '-o-transform': 1,\n filter: 1,\n '-webkit-filter': 1\n};\n\nexport var styleValueToArray = {\n margin: 1,\n padding: 1,\n borderWidth: 1,\n borderRadius: 1\n};\n\nexport function toArrayChildren(children) {\n var ret = [];\n React.Children.forEach(children, function (c) {\n ret.push(c);\n });\n return ret;\n}\n\nexport function dataToArray(vars) {\n if (!vars && vars !== 0) {\n return [];\n }\n if (Array.isArray(vars)) {\n return vars;\n }\n return [vars];\n}\n\nfunction deepEql(a, b) {\n if (!a || !b) {\n return false;\n }\n var $a = Object.keys(a);\n var $b = Object.keys(b);\n if ($a.length && $b.length && $a.length === $b.length) {\n return !$a.some(function (key) {\n var aa = a[key];\n var bb = b[key];\n if (Array.isArray(aa) && Array.isArray(bb)) {\n var aaa = aa.join();\n var bbb = bb.join();\n if (aaa === bbb && !aaa.match(/\\[object object\\]/ig)) {\n aa = aaa;\n bb = bbb;\n }\n }\n return aa !== bb;\n });\n }\n return false;\n}\n\nexport function objectEqual(obj1, obj2) {\n if (obj1 === obj2 || deepEql(obj1, obj2)) {\n return true;\n }\n if (!obj1 || !obj2 || Object.keys(obj1).length !== Object.keys(obj2).length) {\n return false;\n }\n // animation 写在标签上的进行判断是否相等, 判断每个参数有没有 function;\n var equalBool = true;\n var setEqualBool = function setEqualBool($a, $b) {\n var objA = Object.keys($a).length > Object.keys($b).length ? $a : $b;\n var objB = Object.keys($a).length > Object.keys($b).length ? $b : $a;\n Object.keys(objA).forEach(function (key) {\n // 如果前面有参数匹配不相同则直接返回;\n if (!equalBool) {\n return;\n }\n if (!(key in objB)) {\n equalBool = false;\n }\n\n if (typeof objA[key] === 'object' && typeof objB[key] === 'object') {\n equalBool = objectEqual(objA[key], objB[key]);\n } else if (typeof objA[key] === 'function' && typeof objB[key] === 'function') {\n if (objA[key].toString().replace(/\\s+/g, '') !== objB[key].toString().replace(/\\s+/g, '')) {\n equalBool = false;\n }\n } else if (objA[key] !== objB[key]) {\n equalBool = false;\n }\n });\n };\n\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n if (obj1.length !== obj2.length) {\n return false;\n }\n obj1.forEach(function (item, i) {\n setEqualBool(item, obj2[i]);\n });\n } else {\n setEqualBool(obj1, obj2);\n }\n return equalBool;\n}\n\nexport function findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (c) {\n if (ret || !c) {\n return;\n }\n if (c.key === key) {\n ret = c;\n }\n });\n }\n return ret;\n}\n\nexport function mergeChildren(prev, next) {\n var ret = [];\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n var followChildrenKey = void 0;\n prev.forEach(function (c) {\n if (!c) {\n return;\n }\n if (findChildInChildrenByKey(next, c.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[c.key] = pendingChildren;\n pendingChildren = [];\n }\n followChildrenKey = c.key;\n } else if (c.key) {\n pendingChildren.push(c);\n }\n });\n if (!followChildrenKey) {\n ret = ret.concat(pendingChildren);\n }\n\n next.forEach(function (c) {\n if (!c) {\n return;\n }\n if (nextChildrenPending.hasOwnProperty(c.key)) {\n // eslint-disable-line no-prototype-builtins\n ret = ret.concat(nextChildrenPending[c.key]);\n }\n ret.push(c);\n if (c.key === followChildrenKey) {\n ret = ret.concat(pendingChildren);\n }\n });\n\n return ret;\n}\n\nexport function transformArguments(arg, key, i) {\n var result = void 0;\n if (typeof arg === 'function') {\n result = arg({\n key: key,\n index: i\n });\n } else {\n result = arg;\n }\n return result;\n}\n\nexport function getChildrenFromProps(props) {\n return props && props.children;\n}\n\nexport function startConvertToEndUnit(target, computedStyle, style, num, unit, dataUnit, fixed, isOriginWidth) {\n if (windowIsUndefined) {\n return num;\n }\n var horiz = /(?:Left|Right|Width|X)/i.test(style) || isOriginWidth;\n horiz = style === 'padding' || style === 'marign' ? true : horiz;\n var t = style.indexOf('border') !== -1 || style.indexOf('translate') !== -1 || style === 'transformOrigin' ? target : target.parentNode || document.body;\n t = fixed ? document.body : t;\n var pix = void 0;\n var htmlComputedStyle = void 0;\n // transform 在 safari 下会留着单位,chrome 下会全部转换成 px;\n switch (unit) {\n case '%':\n pix = parseFloat(num) / 100 * (horiz ? t.clientWidth : t.clientHeight);\n break;\n case 'vw':\n pix = parseFloat(num) * document.body.clientWidth / 100;\n break;\n case 'vh':\n pix = parseFloat(num) * document.body.clientHeight / 100;\n break;\n case 'em':\n pix = parseFloat(num) * parseFloat(computedStyle.fontSize);\n break;\n case 'rem':\n {\n htmlComputedStyle = window.getComputedStyle(document.getElementsByTagName('html')[0]);\n pix = parseFloat(num) * parseFloat(htmlComputedStyle.fontSize);\n break;\n }\n default:\n pix = parseFloat(num);\n break;\n }\n switch (dataUnit) {\n case '%':\n pix = pix ? pix * 100 / (horiz ? t.clientWidth : t.clientHeight) : 0;\n break;\n case 'vw':\n pix = parseFloat(num) / document.body.clientWidth * 100;\n break;\n case 'vh':\n pix = parseFloat(num) / document.body.clientHeight * 100;\n break;\n case 'em':\n pix = parseFloat(num) / parseFloat(computedStyle.fontSize);\n break;\n case 'rem':\n {\n htmlComputedStyle = htmlComputedStyle || window.getComputedStyle(document.getElementsByTagName('html')[0]);\n pix = parseFloat(num) / parseFloat(htmlComputedStyle.fontSize);\n break;\n }\n default:\n break;\n }\n return pix;\n}\n\nexport function parsePath(path) {\n if (typeof path === 'string') {\n if (path.charAt(0).match(/m/i)) {\n var domPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n domPath.setAttributeNS(null, 'd', path);\n return domPath;\n }\n return document.querySelector(path);\n } else if (path.style) {\n return path;\n }\n throw new Error('Error while parsing the path');\n}\n\nexport function getTransformValue(t) {\n if (typeof t === 'string') {\n return t;\n }\n var perspective = t.perspective;\n var angle = t.rotate;\n var rotateX = t.rotateX;\n var rotateY = t.rotateY;\n var sx = t.scaleX;\n var sy = t.scaleY;\n var sz = t.scaleZ;\n var skx = t.skewX;\n var sky = t.skewY;\n var translateX = typeof t.translateX === 'string' ? t.translateX : t.translateX + 'px';\n var translateY = typeof t.translateY === 'string' ? t.translateY : t.translateY + 'px';\n var translateZ = typeof t.translateZ === 'string' ? t.translateZ : t.translateZ + 'px';\n var sk = skx || sky ? 'skew(' + skx + 'deg,' + sky + 'deg)' : '';\n var an = angle ? 'rotate(' + angle + 'deg)' : '';\n var ss = sx !== 1 || sy !== 1 || sz !== 1 ? 'scale3d(' + sx + ',' + sy + ',' + sz + ')' : '';\n var rX = rotateX ? 'rotateX(' + rotateX + 'deg)' : '';\n var rY = rotateY ? 'rotateY(' + rotateY + 'deg)' : '';\n var per = perspective ? 'perspective(' + perspective + 'px)' : '';\n var defaultTranslate = ss || an || rX || rY || sk ? '' : 'translate(0px, 0px)';\n var translate = t.translateZ ? 'translate3d(' + translateX + ',' + translateY + ',' + translateZ + ')' : (t.translateX || t.translateY) && 'translate(' + translateX + ',' + translateY + ')' || defaultTranslate;\n return (per + ' ' + translate + ' ' + ss + ' ' + an + ' ' + rX + ' ' + rY + ' ' + sk).trim();\n}","import easingTypes from 'tween-functions';\nimport { windowIsUndefined, parsePath } from './util';\n\neasingTypes.path = function (_path, _param) {\n var param = _param || {};\n if (windowIsUndefined) {\n return 'linear';\n }\n var pathNode = parsePath(_path);\n var pathLength = pathNode.getTotalLength();\n var rect = param.rect || 100; // path 的大小,100 * 100,\n var lengthPixel = param.lengthPixel || 200; // 线上取点像素,默认分为 200 段。。\n var points = [];\n for (var i = 0; i < lengthPixel - 1; i++) {\n points.push(pathNode.getPointAtLength(pathLength / (lengthPixel - 1) * i));\n }\n points.push(pathNode.getPointAtLength(lengthPixel));\n return function path(t, b, _c, d) {\n var p = easingTypes.linear(t, b, _c, d);\n var timePointX = rect * p; // X 轴的百分比;\n // 取出 x 轴百分比上的点;\n var point = points.filter(function (item) {\n return item.x >= timePointX;\n })[0] || pathNode.getPointAtLength(p * pathLength);\n return 1 - point.y / rect;\n };\n};\n\nexport default easingTypes;","/* eslint-disable func-names */\nvar Plugins = function Plugins() {};\nvar p = Plugins.prototype;\np.push = function (plugin) {\n this[plugin.prototype.name] = plugin;\n};\nexport default new Plugins();","import _extends from 'babel-runtime/helpers/extends';\n/* eslint-disable func-names, no-console */\nimport { cssList, checkStyleName, getGsapType, parseShadow, getColor, parseColor, isTransform, isConvert, splitFilterToObject, getTransform, stylesToCss, createMatrix } from 'style-utils';\nimport { startConvertToEndUnit, getTransformValue, styleValueToArray } from '../util.js';\nimport _plugin from '../plugins';\n\nvar StylePlugin = function StylePlugin(target, vars, type) {\n this.target = target;\n this.vars = vars;\n this.type = type;\n this.propsData = {};\n this.setDefaultData();\n};\nStylePlugin.prototype = {\n name: 'style'\n};\nvar p = StylePlugin.prototype;\np.getTweenData = function (key, $vars) {\n var data = {\n data: {},\n dataType: {},\n dataUnit: {},\n dataCount: {},\n dataSplitStr: {}\n };\n var vars = $vars;\n if (styleValueToArray[key]) {\n vars = vars.toString().split(' ');\n vars = vars.map(function (c) {\n return typeof $vars === 'number' ? c + 'px' : c;\n });\n vars[1] = vars[1] || vars[0];\n vars[2] = vars[2] || vars[0];\n vars[3] = vars[3] || vars[1] || vars[0];\n vars = vars.join(' ');\n }\n if (key.match(/colo|fill|storker/i)) {\n data.data[key] = parseColor(vars);\n data.dataType[key] = 'color';\n } else if (key === 'strokeDasharray') {\n data.data[key] = vars.split(',');\n data.dataType[key] = 'strokeDasharray';\n } else if (key.match(/shadow/i)) {\n data.data[key] = parseShadow(vars);\n data.dataType[key] = 'shadow';\n } else if (typeof vars === 'string' && vars.split(/[\\s|,]/).length > 1) {\n data.data[key] = vars.split(/[\\s|,]/);\n data.dataSplitStr[key] = vars.replace(/[^\\s|,]/g, '').replace(/\\s+/g, ' ');\n data.dataType[key] = 'string';\n } else {\n data.data[key] = vars;\n data.dataType[key] = 'other';\n }\n if (Array.isArray(data.data[key])) {\n data.dataUnit[key] = data.data[key].map(function (_item) {\n return _item.toString().replace(/[^a-z|%]/g, '');\n });\n data.dataCount[key] = data.data[key].map(function (_item) {\n return _item.toString().replace(/[^+|=|-]/g, '');\n });\n\n data.data[key] = data.data[key].map(function (_item) {\n return !parseFloat(_item) && parseFloat(_item) !== 0 ? _item : parseFloat(_item);\n });\n } else {\n data.dataUnit[key] = data.data[key].toString().replace(/[^a-z|%]/g, '');\n data.dataCount[key] = data.data[key].toString().replace(/[^+|=|-]/g, '');\n var d = parseFloat(data.data[key].toString().replace(/[a-z|%|=]/g, ''));\n data.data[key] = !d && d !== 0 ? data.data[key] : d;\n }\n return data;\n};\np.setDefaultData = function () {\n var _this = this;\n\n this.propsData.data = {};\n this.propsData.dataType = {};\n this.propsData.dataUnit = {};\n this.propsData.dataCount = {};\n this.propsData.dataSplitStr = {};\n Object.keys(this.vars).forEach(function (_key) {\n if (_key in _plugin) {\n _this.propsData.data[_key] = new _plugin[_key](_this.target, _this.vars[_key]);\n return;\n }\n var key = getGsapType(_key);\n var _data = _this.getTweenData(key, _this.vars[_key]);\n _this.propsData.data[key] = _data.data[key];\n _this.propsData.dataType[key] = _data.dataType[key];\n _this.propsData.dataUnit[key] = _data.dataUnit[key];\n _this.propsData.dataCount[key] = _data.dataCount[key];\n if (_data.dataSplitStr[key]) {\n _this.propsData.dataSplitStr[key] = _data.dataSplitStr[key];\n }\n });\n};\np.convertToMarksArray = function (computedStyle, unit, key, data, i) {\n var startUnit = data.toString().replace(/[^a-z|%]/g, '');\n var endUnit = unit[i];\n if (startUnit === endUnit) {\n return parseFloat(data);\n } else if (!parseFloat(data) && parseFloat(data) !== 0) {\n return data;\n }\n return startConvertToEndUnit(this.target, computedStyle, key, data, startUnit, endUnit, null, key === 'transformOrigin' && !i);\n};\np.getAnimStart = function (computedStyle, tween, isSvg) {\n var _this2 = this;\n\n var style = {};\n var tweenStyle = tween.style || {};\n var transform = void 0;\n Object.keys(this.propsData.data).forEach(function (key) {\n var cssName = isConvert(key);\n var startData = tweenStyle[cssName] || computedStyle[cssName];\n var fixed = computedStyle.position === 'fixed';\n if (!startData || startData === 'none' || startData === 'auto') {\n startData = '';\n }\n var endUnit = void 0;\n var startUnit = void 0;\n if (key in _plugin) {\n if (key === 'bezier') {\n _this2.transform = checkStyleName('transform');\n startData = computedStyle[isSvg ? 'transformSVG' : _this2.transform];\n transform = transform || (tweenStyle.transform ? _extends({}, tweenStyle.transform) : style.transform || getTransform(startData));\n style.transform = transform;\n }\n _this2.propsData.data[key].getAnimStart(computedStyle, isSvg);\n } else if (cssName === 'transform') {\n _this2.transform = checkStyleName('transform');\n startData = computedStyle[isSvg ? 'transformSVG' : _this2.transform];\n endUnit = _this2.propsData.dataUnit[key];\n transform = transform || (tweenStyle.transform ? _extends({}, tweenStyle.transform) : style.transform || getTransform(startData));\n var unitReg = /%|vw|vh|em|rem/i;\n if (endUnit && endUnit.match(unitReg)) {\n transform[key] = transform[key] && transform[key].toString().match(unitReg) ? parseFloat(transform[key]) : startConvertToEndUnit(_this2.target, computedStyle, key, transform[key], null, endUnit);\n }\n style.transform = transform;\n } else if (cssName === 'filter') {\n if (tweenStyle[cssName]) {\n startData = tweenStyle[cssName];\n } else {\n _this2.filterName = checkStyleName('filter') || 'filter';\n startData = computedStyle[_this2.filterName];\n _this2.filterObject = _extends({}, _this2.filterObject, splitFilterToObject(startData));\n startData = _this2.filterObject[key] || 0;\n }\n startUnit = startData.toString().replace(/[^a-z|%]/g, '');\n endUnit = _this2.propsData.dataUnit[key];\n if (endUnit !== startUnit) {\n startData = startConvertToEndUnit(_this2.target, computedStyle, cssName, parseFloat(startData), startUnit, endUnit, fixed);\n }\n style[key] = parseFloat(startData);\n } else if (key.match(/color|fill/i) || key === 'stroke') {\n startData = !startData && key === 'stroke' ? 'rgba(255, 255, 255, 0)' : startData;\n style[cssName] = parseColor(startData);\n } else if (key.match(/shadow/i)) {\n startData = parseShadow(startData);\n endUnit = _this2.propsData.dataUnit[key];\n startData = startData.map(_this2.convertToMarksArray.bind(_this2, computedStyle, endUnit, key));\n style[cssName] = startData;\n } else if (Array.isArray(_this2.propsData.data[key])) {\n startData = startData.split(/[\\s|,]/).filter(function (c) {\n return c || c === 0;\n });\n endUnit = _this2.propsData.dataUnit[key];\n startData = startData.map(_this2.convertToMarksArray.bind(_this2, computedStyle, endUnit, key));\n style[cssName] = startData;\n } else {\n // 计算单位\n endUnit = _this2.propsData.dataUnit[cssName];\n startUnit = startData.toString().replace(/[^a-z|%]/g, '');\n if (endUnit !== startUnit) {\n startData = startConvertToEndUnit(_this2.target, computedStyle, cssName, parseFloat(startData), startUnit, endUnit, fixed);\n }\n style[cssName] = parseFloat(startData || 0);\n }\n });\n this.start = style;\n return style;\n};\np.setArrayRatio = function (ratio, start, vars, unit, type) {\n if (type === 'color' && start.length === 4 && vars.length === 3) {\n vars[3] = 1;\n }\n var startInset = start.indexOf('inset') >= 0;\n var endInset = vars.indexOf('inset') >= 0;\n if (startInset && !endInset || endInset && !startInset) {\n throw console.error('Error: \"box-shadow\" inset have to exist');\n }\n var length = endInset ? 9 : 8;\n if (start.length === length && vars.length === length - 1) {\n vars.splice(3, 0, 0);\n unit.splice(3, 0, '');\n } else if (vars.length === length && start.length === length - 1) {\n start.splice(3, 0, 0);\n }\n var _vars = vars.map(function (endData, i) {\n var startIsAlpha = type === 'color' && i === 3 && !start[i] ? 1 : 0;\n var startData = typeof start[i] === 'number' ? start[i] : startIsAlpha;\n if (typeof endData === 'string') {\n return endData;\n }\n return (endData - startData) * ratio + startData + (unit[i] || 0);\n });\n if (type === 'color') {\n return getColor(_vars);\n } else if (type === 'shadow') {\n var l = _vars.length === length ? 4 : 3;\n var s = _vars.slice(0, l).map(function (item) {\n if (typeof item === 'number') {\n return item + 'px';\n }\n return item;\n });\n var c = _vars.slice(l, endInset ? _vars.length - 1 : _vars.length);\n var color = getColor(c);\n return (s.join(' ') + ' ' + color + ' ' + (endInset ? 'inset' : '')).trim();\n }\n return _vars;\n};\n\np.setRatio = function (ratio, tween, computedStyle) {\n var _this3 = this;\n\n tween.style = tween.style || {};\n if (this.start.transform) {\n tween.style.transform = tween.style.transform || _extends({}, this.start.transform);\n }\n var style = this.target.style;\n Object.keys(this.propsData.data).forEach(function (key) {\n var _isTransform = isTransform(key) === 'transform';\n var startVars = _isTransform ? _this3.start.transform[key] : _this3.start[key];\n var endVars = _this3.propsData.data[key];\n var unit = _this3.propsData.dataUnit[key];\n var count = _this3.propsData.dataCount[key];\n if (key in _plugin) {\n _this3.propsData.data[key].setRatio(ratio, tween, computedStyle);\n if (key === 'bezier') {\n style[_this3.transform] = getTransformValue(tween.style.transform);\n } else {\n Object.keys(tween.style).forEach(function (css) {\n style[css] = tween.style[css];\n });\n }\n return;\n } else if (_isTransform) {\n if (unit && unit.match(/%|vw|vh|em|rem/i)) {\n startVars = parseFloat(_this3.start.transform[key]);\n if (count.charAt(1) === '=') {\n tween.style.transform[key] = startVars + endVars * ratio + unit;\n } else {\n tween.style.transform[key] = (endVars - startVars) * ratio + startVars + unit;\n }\n } else if (key === 'scale') {\n var xStart = _this3.start.transform.scaleX;\n var yStart = _this3.start.transform.scaleY;\n if (count.charAt(1) === '=') {\n tween.style.transform.scaleX = xStart + endVars * ratio;\n tween.style.transform.scaleY = yStart + endVars * ratio;\n } else {\n tween.style.transform.scaleX = (endVars - xStart) * ratio + xStart;\n tween.style.transform.scaleY = (endVars - yStart) * ratio + yStart;\n }\n } else if (count.charAt(1) === '=') {\n tween.style.transform[key] = startVars + endVars * ratio;\n } else {\n tween.style.transform[key] = (endVars - startVars) * ratio + startVars;\n }\n style[_this3.transform] = getTransformValue(tween.style.transform);\n if (computedStyle) {\n computedStyle.transformSVG = createMatrix(style[_this3.transform]).toString();\n }\n return;\n } else if (Array.isArray(endVars)) {\n var _type = _this3.propsData.dataType[key];\n tween.style[key] = _this3.setArrayRatio(ratio, startVars, endVars, unit, _type);\n if (_type === 'string') {\n tween.style[key] = tween.style[key].join(_this3.propsData.dataSplitStr[key]);\n }\n } else {\n var styleUnit = stylesToCss(key, 0);\n styleUnit = typeof styleUnit === 'number' ? '' : styleUnit.replace(/[^a-z|%]/g, '');\n unit = unit || (cssList.filter.indexOf(key) >= 0 ? '' : styleUnit);\n if (typeof endVars === 'string') {\n tween.style[key] = endVars;\n } else if (count.charAt(1) === '=') {\n tween.style[key] = startVars + endVars * ratio + unit;\n } else {\n var value = (endVars - startVars) * ratio + startVars;\n tween.style[key] = unit ? '' + value + unit : value;\n }\n }\n if (cssList.filter.indexOf(key) >= 0) {\n if (!_this3.filterObject) {\n return;\n }\n _this3.filterObject[key] = tween.style[key];\n var filterStyle = '';\n Object.keys(_this3.filterObject).forEach(function (filterKey) {\n filterStyle += ' ' + filterKey + '(' + _this3.filterObject[filterKey] + ')';\n });\n style[_this3.filterName] = filterStyle.trim();\n return;\n }\n style[key] = tween.style[key];\n });\n};\nexport default StylePlugin;","import _extends from 'babel-runtime/helpers/extends';\n/* eslint-disable func-names */\n/**\n * Created by jljsj on 16/1/27.\n */\nimport { getColor, parseColor, toFixed, stylesToCss, createMatrix, getGsapType, isTransform, checkStyleName, toCssLowerCase } from 'style-utils';\n\nimport easingTypes from './easing';\nimport _plugin from './plugins';\nimport StylePlugin from './plugin/StylePlugin';\nimport { startConvertToEndUnit, transformOrFilter, dataToArray } from './util.js';\n\nvar DEFAULT_EASING = 'easeInOutQuad';\nvar DEFAULT_DURATION = 450;\nvar DEFAULT_DELAY = 0;\nfunction noop() {}\n_plugin.push(StylePlugin);\n// 设置默认数据\nfunction defaultData(vars, now) {\n var duration = vars.duration || vars.duration === 0 ? vars.duration : DEFAULT_DURATION;\n return {\n duration: vars.type === 'set' ? 0 : duration,\n delay: vars.delay || DEFAULT_DELAY,\n ease: typeof vars.ease === 'function' ? vars.ease : easingTypes[vars.ease || DEFAULT_EASING],\n onUpdate: vars.onUpdate || noop,\n onComplete: vars.onComplete || noop,\n onStart: vars.onStart || noop,\n onRepeat: vars.onRepeat || noop,\n repeat: vars.repeat || 0,\n repeatDelay: vars.repeatDelay || 0,\n yoyo: vars.yoyo || false,\n type: vars.type === 'from' ? 'from' : 'to',\n initTime: now,\n appearTo: typeof vars.appearTo === 'number' ? vars.appearTo : null,\n perTime: 0,\n currentRepeat: 0\n };\n}\n\nvar Tween = function Tween(target, to, attr) {\n var toData = dataToArray(to);\n this.target = target;\n this.attr = attr || 'style';\n // 时间精度补齐;\n this.accuracy = 0.00001;\n // 记录总时间;\n this.totalTime = 0;\n // 记录当前时间;\n this.progressTime = 0;\n // 记录时间轴数据;\n this.defaultData = [];\n // 每个的开始数据;\n this.start = {};\n // 开始默认的数据;\n this.startDefaultData = {};\n // 动画过程\n this.tween = {};\n // toData;\n this.data = toData;\n // 每帧的时间;\n this.perFrame = Math.round(1000 / 60);\n // 注册,第一次进入执行注册\n this.register = false;\n // svg元素\n this.isSvg = this.target.ownerSVGElement;\n // 设置 style\n var data = this.setAttrIsStyle();\n // 设置默认动画数据;\n this.setDefaultData(data);\n};\nvar p = Tween.prototype;\np.setAttrIsStyle = function () {\n var _this = this;\n\n var data = [];\n var defaultParam = defaultData({}, 0);\n this.data.forEach(function (d, i) {\n var _d = _extends({}, d);\n if (_this.attr === 'style') {\n data[i] = {};\n Object.keys(_d).forEach(function (key) {\n if (key in defaultParam) {\n data[i][key] = _d[key];\n delete _d[key];\n }\n });\n data[i].style = _d;\n _this.startDefaultData.style = _this.target.getAttribute('style') || '';\n } else if (_this.attr === 'attr') {\n Object.keys(_d).forEach(function (key) {\n if (key === 'style' && Array.isArray(d[key])) {\n throw new Error('Style should be the object.');\n }\n if (key === 'bezier') {\n _d.style = _extends({}, _d.style, { bezier: _d[key] });\n delete _d[key];\n _this.startDefaultData.style = _this.target.getAttribute('style') || '';\n } else {\n if (key in defaultParam) {\n return;\n }\n _this.startDefaultData[key] = _this.getValue(key);\n }\n });\n data[i] = _d;\n }\n });\n return data;\n};\np.setDefaultData = function (_vars) {\n var _this2 = this;\n\n var now = 0;\n var repeatMax = false;\n var data = _vars.map(function (item) {\n var appearToBool = typeof item.appearTo === 'number';\n // 加上延时,在没有播放过时;\n if (!appearToBool) {\n now += item.delay || 0;\n }\n var appearToTime = (item.appearTo || 0) + (item.delay || 0);\n // 获取默认数据\n var tweenData = defaultData(item, appearToBool ? appearToTime : now);\n tweenData.vars = {};\n Object.keys(item).forEach(function (_key) {\n if (!(_key in tweenData)) {\n var _data = item[_key];\n if (_key in _plugin) {\n tweenData.vars[_key] = new _plugin[_key](_this2.target, _data, tweenData.type);\n } else if ((_key === 'd' || _key === 'points') && 'SVGMorph' in _plugin) {\n tweenData.vars[_key] = new _plugin.SVGMorph(_this2.target, _data, _key);\n } else if (_key.match(/color/i) || _key === 'stroke' || _key === 'fill') {\n tweenData.vars[_key] = { type: 'color', vars: parseColor(_data) };\n } else if (typeof _data === 'number' || _data.split(/[,|\\s]/g).length <= 1) {\n var vars = parseFloat(_data);\n var unit = _data.toString().replace(/[^a-z|%]/g, '');\n var count = _data.toString().replace(/[^+|=|-]/g, '');\n tweenData.vars[_key] = { unit: unit, vars: vars, count: count };\n }\n }\n });\n if (tweenData.yoyo && !tweenData.repeat) {\n console.warn('Warning: yoyo must be used together with repeat;'); // eslint-disable-line\n }\n if (tweenData.repeat === -1) {\n repeatMax = true;\n }\n var repeat = tweenData.repeat === -1 ? 0 : tweenData.repeat;\n if (appearToBool) {\n // 如果有 appearTo 且这条时间比 now 大时,,总时间用这条;\n var appearNow = item.appearTo + (item.delay || 0) + tweenData.duration * (repeat + 1) + tweenData.repeatDelay * repeat;\n now = appearNow >= now ? appearNow : now;\n } else if (tweenData.delay < -tweenData.duration) {\n // 如果延时小于 负时间时,,不加,再减回延时;\n now -= tweenData.delay;\n } else {\n // repeat 为 -1 只记录一次。不能跟 reverse 同时使用;\n now += tweenData.duration * (repeat + 1) + tweenData.repeatDelay * repeat;\n }\n tweenData.mode = '';\n return tweenData;\n });\n this.totalTime = repeatMax ? Number.MAX_VALUE : now;\n this.defaultData = data;\n};\np.getComputedStyle = function () {\n var style = typeof window !== 'undefined' && document.defaultView ? document.defaultView.getComputedStyle(this.target) : {};\n // 如果是 SVG, 样式全部提出为 transformSVG, 兼容 safari 不能获取 transform;\n if (this.isSvg) {\n var transform = style[checkStyleName('transform')] || 'none';\n if (transform === 'none') {\n var attrStyle = this.target.getAttribute('style');\n if (attrStyle && attrStyle.indexOf('transform:') >= 0) {\n transform = attrStyle.split(';').filter(function (k) {\n return k.indexOf('transform:') >= 0;\n }).map(function (item) {\n return createMatrix(item.split(':')[1].trim()).toString();\n })[0];\n } else if (this.target.getAttribute('transform')) {\n // 暂时不支持标签上的 transform,后期增加;\n console.warn('Do not add transform on the label, otherwise it will be invalid.'); // eslint-disable-line no-console\n }\n }\n style.transformSVG = transform;\n }\n return style;\n};\np.getAnimStartData = function (item) {\n var _this3 = this;\n\n var start = {};\n Object.keys(item).forEach(function (_key) {\n if (_key in _plugin || _this3.attr === 'attr' && (_key === 'd' || _key === 'points')) {\n _this3.computedStyle = _this3.computedStyle || (!_this3.target.getAttribute ? _extends({}, _this3.target) : _this3.getComputedStyle());\n start[_key] = item[_key].getAnimStart(_this3.computedStyle, _this3.tween, _this3.isSvg);\n return;\n }\n if (_this3.attr === 'attr') {\n // 除了d和这points外的标签动画;\n var attribute = _this3.getValue(_key);\n var s = _key.match(/opacity/ig) ? 1 : 0;\n var data = attribute === 'null' || !attribute ? s : attribute;\n if (_key.match(/color/i) || _key === 'stroke' || _key === 'fill') {\n data = !data && _key === 'stroke' ? 'rgba(255, 255, 255, 0)' : data;\n data = parseColor(data);\n start[_key] = data;\n } else if (parseFloat(data) || parseFloat(data) === 0 || data === 0) {\n var unit = data.toString().replace(/[^a-z|%]/g, '');\n start[_key] = unit !== item[_key].unit ? startConvertToEndUnit(_this3.target, _key, parseFloat(data), unit, item[_key].unit) : parseFloat(data);\n }\n return;\n }\n start[_key] = _this3.target[_key] || 0;\n });\n return start;\n};\np.setAnimData = function (data) {\n var _this4 = this;\n\n Object.keys(data).forEach(function (key) {\n if (key in _plugin || _this4.attr === 'attr' && (key === 'd' || key === 'points')) {\n return;\n }\n _this4.target[key] = data[key];\n });\n};\np.setRatio = function (ratio, endData, i) {\n var _this5 = this;\n\n Object.keys(endData.vars).forEach(function (_key) {\n if (_key in _plugin || _this5.attr === 'attr' && (_key === 'd' || _key === 'points')) {\n endData.vars[_key].setRatio(ratio, _this5.tween, _this5.isSvg && _this5.computedStyle);\n return;\n }\n var endVars = endData.vars[_key];\n var startVars = _this5.start[i][_key];\n var data = void 0;\n if (_this5.attr === 'attr') {\n // 除了d和这points外的标签动画;\n if (!endVars.type) {\n data = endVars.unit.charAt(1) === '=' ? startVars + endVars.vars * ratio + endVars.unit : (endVars.vars - startVars) * ratio + startVars + endVars.unit;\n _this5.setValue(_key, endVars.unit ? data : parseFloat(data));\n } else if (endVars.type === 'color') {\n if (endVars.vars.length === 3 && startVars.length === 4) {\n endVars.vars[3] = 1;\n }\n data = endVars.vars.map(function (_endData, _i) {\n var startData = startVars[_i] || 0;\n return (_endData - startData) * ratio + startData;\n });\n _this5.setValue(_key, getColor(data));\n }\n }\n });\n this.setAnimData(this.tween);\n};\np.getValue = function (key) {\n return this.target.getAttribute ? this.target.getAttribute(key) : this.target[key];\n};\np.setValue = function (key, value) {\n if (this.target.setAttribute) {\n this.target.setAttribute(key, value);\n } else {\n this.target[key] = value;\n }\n};\np.render = function () {\n var _this6 = this;\n\n var reverse = this.reverse;\n this.defaultData.forEach(function (item, i) {\n var initTime = item.initTime;\n var duration = toFixed(item.duration);\n // 处理 yoyo 和 repeat; yoyo 是在时间轴上的, 并不是倒放\n var repeatNum = Math.ceil((_this6.progressTime - initTime) / (duration + item.repeatDelay)) - 1 || 0;\n repeatNum = repeatNum < 0 ? 0 : repeatNum;\n if (item.repeat) {\n if (item.repeat < repeatNum && item.repeat !== -1) {\n return;\n }\n if (item.repeat || item.repeat <= repeatNum) {\n initTime += repeatNum * (duration + item.repeatDelay);\n }\n }\n var startData = item.yoyo && repeatNum % 2 ? 1 : 0;\n var endData = item.yoyo && repeatNum % 2 ? 0 : 1;\n startData = item.type === 'from' ? 1 - startData : startData;\n endData = item.type === 'from' ? 1 - endData : endData;\n // 精度损失,只取小数点后10位。\n var progressTime = toFixed(_this6.progressTime - initTime);\n\n var ratio = void 0;\n\n // 开始注册;\n // from 时需先执行参数位置;\n var fromDelay = item.type === 'from' ? item.delay : 0;\n if (progressTime + fromDelay >= 0) {\n if (!_this6.start[i]) {\n // 设置 start\n _this6.start[i] = _this6.getAnimStartData(item.vars);\n if (progressTime < _this6.perFrame) {\n ratio = !item.duration && !item.delay ? item.ease(1, startData, endData, 1) : item.ease(0, startData, endData, 1);\n _this6.setRatio(ratio, item, i);\n } else if (progressTime > duration) {\n ratio = item.ease(1, startData, endData, 1);\n _this6.setRatio(ratio, item, i);\n }\n if (!_this6.register || i && !initTime) {\n _this6.register = true;\n if (progressTime === 0 && item.duration && item.delay) {\n return;\n }\n }\n }\n }\n\n var e = {\n index: i,\n target: _this6.target\n };\n var cb = _extends({\n moment: _this6.progressTime\n }, e);\n var maxPer = _this6.perFrame - _this6.accuracy;\n var startTime = item.delay && reverse ? -maxPer : 0;\n if ((progressTime >= startTime && !(progressTime > duration && item.mode === 'onComplete') || progressTime < startTime && item.mode && item.mode !== 'onStart') && _this6.start[i]) {\n var updateAnim = _this6.updateAnim === 'update';\n progressTime = progressTime < maxPer && !reverse && item.duration >= _this6.perFrame ? 0 : progressTime;\n if ((progressTime >= duration - _this6.accuracy && !reverse || reverse && progressTime <= 0) && repeatNum >= item.repeat) {\n if (item.mode === 'onComplete') {\n return;\n }\n // onReveresComplete 和 onComplete 统一用 onComplete;\n ratio = item.ease(reverse ? 0 : 1, startData, endData, 1);\n _this6.setRatio(ratio, item, i, item.currentRepeat !== repeatNum);\n if ((!item.reset || item.reset && progressTime >= duration) && !updateAnim) {\n // duration 为 0 时的一个回调;\n if (duration < maxPer) {\n if (!duration) {\n item.onStart(e);\n cb.mode = 'onStart';\n _this6.onChange(cb);\n }\n item.onUpdate(_extends({ ratio: ratio }, e));\n cb.mode = 'onUpdate';\n _this6.onChange(cb);\n }\n item.onComplete(e);\n } else if (progressTime >= duration + maxPer) {\n return;\n }\n item.mode = 'onComplete';\n } else if (duration > maxPer) {\n var currentProgress = progressTime < 0 ? 0 : progressTime;\n currentProgress = currentProgress > duration ? duration : currentProgress;\n ratio = item.ease(currentProgress, startData, endData, duration);\n _this6.setRatio(ratio, item, i);\n if (!updateAnim) {\n if (item.repeat && repeatNum > 0 && item.currentRepeat !== repeatNum) {\n item.mode = 'onRepeat';\n item.currentRepeat = repeatNum;\n item.onRepeat(_extends({}, e, { repeatNum: repeatNum }));\n } else if ((item.perTime <= 0 || reverse && item.perTime >= _this6.reverseStartTime - initTime) && item.mode !== 'onStart') {\n // onReveresStart 和 onStart 统一用 onStart;\n item.mode = 'onStart';\n item.onStart(e);\n } else {\n item.mode = 'onUpdate';\n item.onUpdate(_extends({ ratio: ratio }, e));\n }\n }\n }\n\n if (!updateAnim) {\n cb.mode = item.mode;\n _this6.onChange(cb);\n }\n item.perTime = progressTime;\n if (item.reset) {\n delete item.reset;\n }\n }\n });\n};\n// 播放帧\np.frame = function (moment) {\n var _this7 = this;\n\n this.progressTime = moment;\n this.defaultData.forEach(function (item) {\n var t = _this7.progressTime - item.duration - item.initTime;\n if (t < _this7.perFrame && t > 0) {\n _this7.progressTime = item.duration + item.initTime;\n }\n });\n this.render();\n};\n\np.init = p.frame;\n\np.resetAnimData = function () {\n this.tween = {};\n this.start = {};\n};\n\nvar getDefaultStyle = function getDefaultStyle(domStyle, defaultStyle, tweenData) {\n var $data = defaultData({}, 0);\n var getStyleToArray = function getStyleToArray(styleString) {\n return styleString.split(';').filter(function (c) {\n return c;\n }).map(function (str) {\n return str.split(':').map(function (s) {\n return s.trim();\n });\n });\n };\n var styleToArray = getStyleToArray(defaultStyle);\n var domStyleToArray = getStyleToArray(domStyle);\n tweenData.forEach(function (value) {\n Object.keys(value).forEach(function (name) {\n if (!(name in $data)) {\n var $name = name === 'bezier' ? 'transform' : name;\n var styleName = toCssLowerCase(isTransform(getGsapType($name)));\n domStyleToArray = domStyleToArray.filter(function (item) {\n // 去除 plugins 的特殊名称。\n if (transformOrFilter[item[0]] && transformOrFilter[styleName]) {\n return false;\n }\n return item[0] !== styleName;\n });\n }\n });\n });\n styleToArray.forEach(function (item) {\n domStyleToArray = domStyleToArray.filter(function ($item) {\n if ($item[0] === item[0]) {\n return false;\n }\n return true;\n });\n });\n return styleToArray.concat(domStyleToArray).map(function (item) {\n return item.join(':');\n }).join(';');\n};\n\np.resetDefaultStyle = function () {\n var _this8 = this;\n\n this.tween = {};\n this.defaultData = this.defaultData.map(function (item) {\n item.reset = true;\n delete item.mode;\n return item;\n });\n var data = defaultData({}, 0);\n Object.keys(this.startDefaultData).forEach(function (key) {\n if (!(key in data)) {\n if (key === 'style') {\n var value = getDefaultStyle(_this8.target.style.cssText, _this8.startDefaultData.style, _this8.data);\n _this8.setValue(key, value);\n } else {\n _this8.setValue(key, _this8.startDefaultData[key]);\n }\n _this8.computedStyle = null;\n }\n });\n};\n\np.reStart = function (style, preStyle, isTween) {\n var _this9 = this;\n\n this.start = {};\n this.tween = {};\n Object.keys(style || {}).forEach(function (key) {\n if (isTween || !preStyle || style[key] !== preStyle[key]) {\n _this9.target.style[key] = stylesToCss(key, style[key]);\n }\n });\n this.setAttrIsStyle();\n this.computedStyle = null;\n};\n\np.onChange = noop;\nexport default Tween;","/* eslint-disable func-names */\nimport requestAnimationFrame from 'raf';\n\nvar getTime = Date.now || function () {\n return new Date().getTime();\n};\nvar sortObj = {\n interval: 1,\n timeout: 1,\n TweenOneTicker: 2\n};\nvar tickObjToArray = function tickObjToArray(obj) {\n return Object.keys(obj).map(function (k) {\n return {\n key: k,\n func: obj[k]\n };\n }).sort(function (a, b) {\n var aa = a.key.split('_')[0];\n var bb = b.key.split('_')[0];\n return sortObj[bb] - sortObj[aa];\n });\n};\nvar Ticker = function Ticker() {};\nTicker.prototype = {\n tickFnArray: [],\n tickKeyObject: {},\n id: -1,\n tweenId: 0,\n frame: 0,\n perFrame: Math.round(1000 / 60),\n elapsed: 0,\n lastUpdate: getTime(),\n startTime: getTime(), // 开始时间,不计算 react 渲染时间;\n nextTime: 0,\n time: 0\n};\nvar p = Ticker.prototype;\np.add = function (fn) {\n var key = 'TweenOneTicker_' + this.tweenId;\n this.tweenId++;\n this.wake(key, fn);\n return key;\n};\np.wake = function (key, fn) {\n this.tickKeyObject[key] = fn;\n this.tickFnArray = tickObjToArray(this.tickKeyObject);\n if (this.id === -1) {\n this.id = requestAnimationFrame(this.tick);\n }\n};\np.clear = function (key) {\n delete this.tickKeyObject[key];\n this.tickFnArray = tickObjToArray(this.tickKeyObject);\n};\np.sleep = function () {\n requestAnimationFrame.cancel(this.id);\n this.id = -1;\n this.frame = 0;\n};\nvar ticker = new Ticker();\np.tick = function (a) {\n ticker.elapsed = getTime() - ticker.lastUpdate;\n // 离开当前时设值 300;大于 300 则为离开。\n if (ticker.elapsed > 300) {\n ticker.startTime += ticker.elapsed - ticker.perFrame;\n }\n ticker.lastUpdate += ticker.elapsed;\n ticker.time = ticker.lastUpdate - ticker.startTime;\n var overlap = ticker.time - ticker.nextTime;\n if (overlap > 0 || !ticker.frame) {\n ticker.frame++;\n ticker.nextTime += overlap;\n }\n // console.log(ticker.frame, ticker.nextTime, ticker.time)\n ticker.tickFnArray.forEach(function (item) {\n return item.func(a);\n });\n // 如果 object 里没对象了,自动杀掉;\n if (!ticker.tickFnArray.length) {\n ticker.sleep();\n return;\n }\n ticker.id = requestAnimationFrame(ticker.tick);\n};\nvar timeoutIdNumber = 0;\np.timeout = function (fn, time) {\n var _this = this;\n\n if (!(typeof fn === 'function')) {\n return console.warn('not function'); // eslint-disable-line\n }\n var timeoutID = 'timeout_' + Date.now() + '-' + timeoutIdNumber;\n var startTime = this.time;\n this.wake(timeoutID, function () {\n var moment = _this.time - startTime;\n if (moment >= (time || 0)) {\n _this.clear(timeoutID);\n fn();\n }\n });\n timeoutIdNumber++;\n return timeoutID;\n};\nvar intervalIdNumber = 0;\np.interval = function (fn, time) {\n var _this2 = this;\n\n if (!(typeof fn === 'function')) {\n console.warn('not function'); // eslint-disable-line\n return null;\n }\n var intervalID = 'interval_' + Date.now() + '-' + intervalIdNumber;\n var starTime = this.time;\n this.wake(intervalID, function () {\n var moment = _this2.time - starTime;\n if (moment >= (time || 0)) {\n starTime = _this2.time;\n fn();\n }\n });\n intervalIdNumber++;\n return intervalID;\n};\nexport default ticker;","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDom from 'react-dom';\nimport { polyfill } from 'react-lifecycles-compat';\n\nimport { objectEqual } from './util';\nimport Tween from './Tween';\nimport ticker from './ticker';\n\nfunction noop() {}\n\nvar perFrame = Math.round(1000 / 60);\nvar objectOrArray = PropTypes.oneOfType([PropTypes.object, PropTypes.array]);\n\nvar TweenOne = function (_Component) {\n _inherits(TweenOne, _Component);\n\n _createClass(TweenOne, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, _ref) {\n var prevProps = _ref.prevProps,\n $self = _ref.$self;\n\n var nextState = {\n prevProps: props\n };\n if (prevProps && props !== prevProps) {\n if (!$self.tween && !$self.dom) {\n $self.updateAnim = true;\n return nextState;\n }\n\n // 动画处理\n var newAnimation = props.animation;\n var currentAnimation = prevProps.animation;\n var equal = objectEqual(currentAnimation, newAnimation);\n if (!equal) {\n if (props.resetStyle && $self.tween) {\n $self.tween.resetDefaultStyle();\n }\n $self.updateAnim = true;\n }\n\n // 跳帧事件 moment;\n var nextMoment = props.moment;\n if (typeof nextMoment === 'number' && nextMoment !== prevProps.moment) {\n if ($self.tween && !$self.updateAnim) {\n $self.startMoment = nextMoment;\n $self.startTime = ticker.time;\n if (props.paused) {\n $self.raf();\n }\n if ($self.tween.progressTime >= $self.tween.totalTime) {\n $self.play();\n }\n } else {\n $self.updateAnim = true;\n }\n }\n\n // 暂停倒放\n if ($self.paused !== props.paused || $self.reverse !== props.reverse) {\n $self.paused = props.paused;\n $self.reverse = props.reverse;\n if ($self.paused) {\n $self.cancelRequestAnimationFrame();\n } else if ($self.reverse && props.reverseDelay) {\n $self.cancelRequestAnimationFrame();\n ticker.timeout($self.restart, props.reverseDelay);\n } else {\n // 在 form 状态下,暂停时拉 moment 时,start 有值恢复播放,在 delay 的时间没有处理。。\n if ($self.tween) {\n $self.tween.resetAnimData();\n $self.tween.resetDefaultStyle();\n }\n if (!$self.updateAnim) {\n $self.restart();\n }\n }\n }\n\n var styleEqual = objectEqual(prevProps.style, props.style);\n if (!styleEqual) {\n // 在动画时更改了 style, 作为更改开始数值。\n if ($self.tween) {\n $self.tween.reStart(props.style, prevProps.style, $self.tween.progressTime < $self.tween.totalTime);\n if ($self.paused) {\n $self.raf();\n }\n }\n }\n $self.setForcedJudg(props);\n }\n return nextState; // eslint-disable-line\n }\n }]);\n\n function TweenOne(props) {\n _classCallCheck(this, TweenOne);\n\n var _this = _possibleConstructorReturn(this, (TweenOne.__proto__ || Object.getPrototypeOf(TweenOne)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.rafID = -1;\n _this.paused = props.paused;\n _this.reverse = props.reverse;\n _this.updateAnim = false;\n _this.repeatNum = 0;\n // 定义 ref 给外部使用;\n _this.currentRef = null;\n _this.forced = {};\n _this.setForcedJudg(props);\n _this.state = {\n $self: _this\n };\n return _this;\n }\n\n _createClass(TweenOne, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.dom = ReactDom.findDOMNode(this);\n if (this.dom && this.dom.nodeName !== '#text') {\n this.start();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (!this.dom) {\n this.dom = ReactDom.findDOMNode(this);\n }\n // 样式更新了后再执行动画;\n if (this.updateAnim && this.dom && this.dom.nodeName !== '#text') {\n if (this.tween) {\n this.cancelRequestAnimationFrame();\n }\n this.start();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.cancelRequestAnimationFrame();\n }\n\n /**\n * @method setForcedJudg\n * @param props\n * QueueAnim 套在组件下面后导至子级变化。\n * \n * \n * \n * \n * \n * rc-Menu 里是以 isXXX 来判断是 rc-Menu 的子级;\n * 如: 用 isSubMenu 来处理 hover 事件\n * 地址: https://github.com/react-component/menu/blob/master/src/MenuMixin.js#L172\n * 暂时方案: 在组件里添加判断用的值。\n */\n\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n animation = _props.animation,\n component = _props.component,\n componentProps = _props.componentProps,\n reverseDelay = _props.reverseDelay,\n attr = _props.attr,\n paused = _props.paused,\n reverse = _props.reverse,\n repeat = _props.repeat,\n yoyo = _props.yoyo,\n moment = _props.moment,\n resetStyle = _props.resetStyle,\n forcedJudg = _props.forcedJudg,\n props = _objectWithoutProperties(_props, ['animation', 'component', 'componentProps', 'reverseDelay', 'attr', 'paused', 'reverse', 'repeat', 'yoyo', 'moment', 'resetStyle', 'forcedJudg']);\n\n Object.keys(props.style || {}).forEach(function (p) {\n if (p.match(/filter/i)) {\n ['Webkit', 'Moz', 'Ms', 'ms'].forEach(function (prefix) {\n props.style[prefix + 'Filter'] = props.style[p];\n });\n }\n });\n var refFunc = function refFunc(c) {\n _this2.currentRef = c;\n };\n // component 为空时调用子级的。。\n var className = props.className,\n children = props.children;\n\n if (!component && typeof children !== 'string') {\n if (!children) {\n return children;\n }\n var childrenProps = children.props;\n\n var _ref2 = childrenProps || {},\n childStyle = _ref2.style,\n childClass = _ref2.className;\n // 合并 style 与 className。\n\n\n var newStyle = _extends({}, childStyle, props.style);\n var newClassName = className ? className + ' ' + childClass : childClass;\n return React.cloneElement(children, { style: newStyle, ref: refFunc, className: newClassName });\n }\n return React.createElement(component, _extends({\n ref: refFunc\n }, props, componentProps));\n }\n }]);\n\n return TweenOne;\n}(Component);\n\nTweenOne.propTypes = {\n component: PropTypes.any,\n componentProps: PropTypes.any,\n animation: objectOrArray,\n children: PropTypes.any,\n style: PropTypes.object,\n paused: PropTypes.bool,\n reverse: PropTypes.bool,\n reverseDelay: PropTypes.number,\n yoyo: PropTypes.bool,\n repeat: PropTypes.number,\n moment: PropTypes.number,\n attr: PropTypes.string,\n onChange: PropTypes.func,\n resetStyle: PropTypes.bool,\n forcedJudg: PropTypes.object\n};\nTweenOne.defaultProps = {\n component: 'div',\n componentProps: {},\n reverseDelay: 0,\n repeat: 0,\n attr: 'style',\n onChange: noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.setForcedJudg = function (props) {\n Object.keys(_this3.forced).forEach(function (key) {\n delete _this3[key];\n delete _this3.forced[key];\n });\n if (props.forcedJudg) {\n Object.keys(props.forcedJudg).forEach(function (key) {\n if (!_this3[key]) {\n _this3[key] = props.forcedJudg[key];\n _this3.forced[key] = 1;\n }\n });\n }\n };\n\n this.setDefault = function (props) {\n _this3.moment = props.moment || 0;\n _this3.startMoment = props.moment || 0;\n _this3.startTime = ticker.time;\n };\n\n this.restart = function () {\n if (!_this3.tween) {\n return;\n }\n _this3.startMoment = _this3.moment;\n _this3.startTime = ticker.time;\n _this3.tween.reverse = _this3.reverse;\n _this3.tween.reverseStartTime = _this3.startMoment;\n _this3.raf();\n _this3.play();\n };\n\n this.start = function () {\n _this3.updateAnim = false;\n var props = _this3.props;\n if (props.animation && Object.keys(props.animation).length) {\n _this3.setDefault(props);\n _this3.tween = new Tween(_this3.dom, props.animation, props.attr);\n _this3.tween.reverse = _this3.reverse;\n // 预先注册 raf, 初始动画数值。\n _this3.raf();\n // 开始动画\n _this3.play();\n } else {\n _this3.tween = null;\n }\n };\n\n this.play = function () {\n _this3.cancelRequestAnimationFrame();\n if (_this3.paused) {\n return;\n }\n _this3.rafID = ticker.add(_this3.raf);\n };\n\n this.frame = function () {\n var yoyo = _this3.props.yoyo;\n var repeat = _this3.props.repeat;\n\n var totalTime = repeat === -1 ? Number.MAX_VALUE : _this3.tween.totalTime * (repeat + 1);\n repeat = repeat >= 0 ? repeat : Number.MAX_VALUE;\n var moment = ticker.time - _this3.startTime + _this3.startMoment;\n if (_this3.reverse) {\n moment = (_this3.startMoment || 0) - (ticker.time - _this3.startTime);\n }\n moment = moment > totalTime ? totalTime : moment;\n moment = moment <= 0 ? 0 : moment;\n var repeatNum = Math.floor(moment / _this3.tween.totalTime) || 0;\n repeatNum = repeatNum > repeat ? repeat : repeatNum;\n var tweenMoment = moment - _this3.tween.totalTime * repeatNum;\n tweenMoment = tweenMoment < perFrame && !_this3.reverse && totalTime >= perFrame ? 0 : tweenMoment;\n if (repeat && moment && moment - _this3.tween.totalTime * repeatNum < perFrame) {\n // 在重置样式之前补 complete;\n _this3.tween.frame(_this3.tween.totalTime * repeatNum);\n }\n if (moment < _this3.moment && !_this3.reverse || repeat !== 0 && repeatNum && repeatNum !== _this3.repeatNum) {\n // 在 form 状态下,暂停时拉 moment 时,start 有值,,往返方向播放时,在 delay 的时间没有处理。。\n // 与上面的处理一样,删除 start ,重新走一遍 start。。\n _this3.tween.resetAnimData();\n _this3.tween.resetDefaultStyle();\n }\n var yoyoReverse = yoyo && repeatNum % 2;\n if (yoyoReverse) {\n tweenMoment = _this3.tween.totalTime - tweenMoment;\n }\n _this3.tween.onChange = function (e) {\n var cb = _extends({}, e, {\n timelineMode: ''\n });\n\n if (_this3.moment === _this3.startMoment && !_this3.reverse && !e.index && e.mode === 'onStart' || _this3.reverse) {\n cb.timelineMode = 'onTimelineStart';\n } else if (moment >= totalTime && !_this3.reverse || !moment && _this3.reverse) {\n cb.timelineMode = 'onTimelineComplete';\n } else if (repeatNum !== _this3.timelineRepeatNum) {\n cb.timelineMode = 'onTimelineRepeat';\n } else {\n cb.timelineMode = 'onTimelineUpdate';\n }\n _this3.timelineRepeatNum = repeatNum;\n _this3.props.onChange(cb);\n };\n _this3.moment = moment;\n _this3.repeatNum = repeatNum;\n _this3.tween.frame(tweenMoment);\n };\n\n this.raf = function () {\n var tween = _this3.tween;\n _this3.frame();\n if (tween !== _this3.tween) {\n // 在 onComplete 时更换动画时,raf 没结束,所以需要强制退出,避逸两个时间的冲突。\n return null;\n }\n var repeat = _this3.props.repeat;\n\n var totalTime = repeat === -1 ? Number.MAX_VALUE : _this3.tween.totalTime * (repeat + 1);\n if (_this3.moment >= totalTime && !_this3.reverse || _this3.paused || _this3.reverse && _this3.moment === 0) {\n return _this3.cancelRequestAnimationFrame();\n }\n return null;\n };\n\n this.cancelRequestAnimationFrame = function () {\n ticker.clear(_this3.rafID);\n _this3.rafID = -1;\n };\n};\n\nTweenOne.isTweenOne = true;\nexport default polyfill(TweenOne);","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { polyfill } from 'react-lifecycles-compat';\n\nimport TweenOne from './TweenOne';\nimport { dataToArray, toArrayChildren, getChildrenFromProps, mergeChildren, transformArguments, findChildInChildrenByKey } from './util';\n\nfunction noop() {}\n\nvar TweenOneGroup = function (_Component) {\n _inherits(TweenOneGroup, _Component);\n\n _createClass(TweenOneGroup, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, _ref) {\n var prevProps = _ref.prevProps,\n $self = _ref.$self;\n\n var nextState = {\n prevProps: props\n };\n if (prevProps && props !== prevProps) {\n var nextChildren = toArrayChildren(props.children);\n if (Object.keys($self.isTween).length && !props.exclusive) {\n $self.animQueue.push(nextChildren);\n return nextState;\n }\n var currentChildren = toArrayChildren($self.currentChildren);\n nextState.children = $self.changeChildren(nextChildren, currentChildren);\n }\n return nextState; // eslint-disable-line\n }\n }]);\n\n function TweenOneGroup(props) {\n _classCallCheck(this, TweenOneGroup);\n\n var _this = _possibleConstructorReturn(this, (TweenOneGroup.__proto__ || Object.getPrototypeOf(TweenOneGroup)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n _this.saveTweenTag = {};\n _this.onEnterBool = false;\n _this.animQueue = [];\n _this.isTween = {};\n // 第一进入,appear 为 true 时默认用 enter 或 tween-one 上的效果\n var children = toArrayChildren(getChildrenFromProps(_this.props));\n _this.currentChildren = toArrayChildren(getChildrenFromProps(_this.props));\n _this.state = {\n children: children,\n $self: _this\n };\n return _this;\n }\n\n _createClass(TweenOneGroup, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.onEnterBool = true;\n }\n }, {\n key: 'changeChildren',\n value: function changeChildren(nextChildren, currentChildren) {\n var _this2 = this;\n\n var newChildren = mergeChildren(currentChildren, nextChildren);\n this.keysToEnter = [];\n this.keysToLeave = [];\n nextChildren.forEach(function (c) {\n if (!c) {\n return;\n }\n var key = c.key;\n var hasPrev = findChildInChildrenByKey(currentChildren, key);\n // 如果当前 key 已存在 saveTweenTag 里,,刷新 child;\n if (_this2.saveTweenTag[key]) {\n _this2.saveTweenTag[key] = React.cloneElement(_this2.saveTweenTag[key], {}, c);\n }\n if (!hasPrev && key) {\n _this2.keysToEnter.push(key);\n }\n });\n\n currentChildren.forEach(function (c) {\n if (!c) {\n return;\n }\n var key = c.key;\n var hasNext = findChildInChildrenByKey(nextChildren, key);\n if (!hasNext && key) {\n _this2.keysToLeave.push(key);\n delete _this2.saveTweenTag[key];\n }\n });\n return newChildren;\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.state.children;\n // fix in strict mode https://github.com/ant-design/ant-motion/issues/323;\n\n this.currentChildren = children;\n var childrenToRender = this.getChildrenToRender(children);\n\n var _props = this.props,\n component = _props.component,\n componentProps = _props.componentProps,\n appear = _props.appear,\n enter = _props.enter,\n leave = _props.leave,\n animatingClassName = _props.animatingClassName,\n onEnd = _props.onEnd,\n exclusive = _props.exclusive,\n resetStyle = _props.resetStyle,\n props = _objectWithoutProperties(_props, ['component', 'componentProps', 'appear', 'enter', 'leave', 'animatingClassName', 'onEnd', 'exclusive', 'resetStyle']);\n\n if (!component) {\n return childrenToRender[0] || null;\n }\n return createElement(component, _extends({}, props, componentProps), childrenToRender);\n }\n }]);\n\n return TweenOneGroup;\n}(Component);\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onChange = function (animation, key, type, obj) {\n var length = dataToArray(animation).length;\n var tag = obj.target;\n var classIsSvg = typeof tag.className === 'object' && 'baseVal' in tag.className;\n var isEnter = type === 'enter' || type === 'appear';\n if (obj.mode === 'onStart') {\n if (classIsSvg) {\n tag.className.baseVal = _this3.setClassName(tag.className.baseVal, isEnter);\n } else {\n tag.className = _this3.setClassName(tag.className, isEnter);\n }\n } else if (obj.index === length - 1 && obj.mode === 'onComplete') {\n delete _this3.isTween[key];\n if (classIsSvg) {\n tag.className.baseVal = tag.className.baseVal.replace(_this3.props.animatingClassName[isEnter ? 0 : 1], '').trim();\n } else {\n tag.className = tag.className.replace(_this3.props.animatingClassName[isEnter ? 0 : 1], '').trim();\n }\n if (type === 'enter') {\n _this3.keysToEnter.splice(_this3.keysToEnter.indexOf(key), 1);\n if (!_this3.keysToEnter.length) {\n _this3.reAnimQueue();\n }\n } else if (type === 'leave') {\n _this3.keysToLeave.splice(_this3.keysToLeave.indexOf(key), 1);\n _this3.currentChildren = _this3.currentChildren.filter(function (child) {\n return key !== child.key;\n });\n if (!_this3.keysToLeave.length) {\n var currentChildrenKeys = _this3.currentChildren.map(function (item) {\n return item.key;\n });\n Object.keys(_this3.saveTweenTag).forEach(function ($key) {\n if (currentChildrenKeys.indexOf($key) === -1) {\n delete _this3.saveTweenTag[$key];\n }\n });\n _this3.setState({\n children: _this3.currentChildren\n }, _this3.reAnimQueue);\n }\n }\n var _obj = { key: key, type: type };\n _this3.props.onEnd(_obj);\n }\n };\n\n this.setClassName = function (name, isEnter) {\n var className = name.replace(_this3.props.animatingClassName[isEnter ? 1 : 0], '').trim();\n if (className.indexOf(_this3.props.animatingClassName[isEnter ? 0 : 1]) === -1) {\n className = (className + ' ' + _this3.props.animatingClassName[isEnter ? 0 : 1]).trim();\n }\n return className;\n };\n\n this.getTweenChild = function (child) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var key = child.key;\n _this3.saveTweenTag[key] = React.createElement(TweenOne, _extends({}, props, {\n key: key,\n component: null\n }), child);\n return _this3.saveTweenTag[key];\n };\n\n this.getCoverAnimation = function (child, i, type) {\n var animation = void 0;\n animation = type === 'leave' ? _this3.props.leave : _this3.props.enter;\n if (type === 'appear') {\n var appear = transformArguments(_this3.props.appear, child.key, i);\n animation = appear && _this3.props.enter || null;\n }\n var animate = transformArguments(animation, child.key, i);\n var onChange = _this3.onChange.bind(_this3, animate, child.key, type);\n var props = {\n key: child.key,\n animation: animate,\n onChange: onChange,\n resetStyle: _this3.props.resetStyle\n };\n if (_this3.keysToEnter.concat(_this3.keysToLeave).indexOf(child.key) >= 0 || !_this3.onEnterBool && animation) {\n if (!_this3.saveTweenTag[child.key]) {\n _this3.isTween[child.key] = type;\n }\n }\n var children = _this3.getTweenChild(child, props);\n return children;\n };\n\n this.getChildrenToRender = function (children) {\n return children.map(function (child, i) {\n if (!child || !child.key) {\n return child;\n }\n var key = child.key;\n if (_this3.keysToLeave.indexOf(key) >= 0) {\n return _this3.getCoverAnimation(child, i, 'leave');\n } else if ((_this3.keysToEnter.indexOf(key) >= 0 || _this3.isTween[key] && _this3.keysToLeave.indexOf(key) === -1) && !(_this3.isTween[key] === 'enter' && _this3.saveTweenTag[key])) {\n /**\n * 1. 在 key 在 enter 里。\n * 2. 出场未结束,触发进场, this.isTween[key] 为 leave, key 在 enter 里。\n * 3. 状态为 enter 且 tweenTag 里有值时,不执行重载动画属性,直接调用 tweenTag 里的。\n */\n return _this3.getCoverAnimation(child, i, 'enter');\n } else if (!_this3.onEnterBool) {\n return _this3.getCoverAnimation(child, i, 'appear');\n }\n return _this3.saveTweenTag[key];\n });\n };\n\n this.reAnimQueue = function () {\n if (!Object.keys(_this3.isTween).length && _this3.animQueue.length) {\n var children = _this3.changeChildren(_this3.animQueue[_this3.animQueue.length - 1], _this3.state.children);\n _this3.setState({\n children: children\n });\n _this3.animQueue = [];\n }\n };\n};\n\nTweenOneGroup.propTypes = {\n component: PropTypes.any,\n componentProps: PropTypes.object,\n children: PropTypes.any,\n style: PropTypes.object,\n appear: PropTypes.bool,\n enter: PropTypes.any,\n leave: PropTypes.any,\n animatingClassName: PropTypes.array,\n onEnd: PropTypes.func,\n resetStyle: PropTypes.bool,\n exclusive: PropTypes.bool\n};\n\nTweenOneGroup.defaultProps = {\n component: 'div',\n componentProps: {},\n appear: true,\n animatingClassName: ['tween-one-entering', 'tween-one-leaving'],\n enter: { x: 50, opacity: 0, type: 'from' },\n leave: { x: -50, opacity: 0 },\n onEnd: noop,\n resetStyle: true,\n exclusive: false\n};\nTweenOneGroup.isTweenOneGroup = true;\nexport default polyfill(TweenOneGroup);","// export this package's api\nimport TweenOne from './TweenOne';\nimport _tween from './Tween';\nimport group from './TweenOneGroup';\nimport _easing from './easing';\nimport _plugins from './plugins';\nimport _ticker from './ticker';\n\nTweenOne.TweenOneGroup = group;\nTweenOne.easing = _easing;\nTweenOne.plugins = _plugins;\nTweenOne.ticker = _ticker;\nTweenOne.Tween = _tween;\n\nexport default TweenOne;\n\nexport var TweenOneGroup = group;\n\nexport var easing = _easing;\n\nexport var plugins = _plugins;\n\nexport var ticker = _ticker;\n\nexport var Tween = _tween;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toCssLowerCase = toCssLowerCase;\nexports.toStyleUpperCase = toStyleUpperCase;\nexports.toFixed = toFixed;\nexports.createMatrix = createMatrix;\nexports.checkStyleName = checkStyleName;\nexports.getGsapType = getGsapType;\nexports.parseColor = parseColor;\nexports.parseShadow = parseShadow;\nexports.getColor = getColor;\nexports.isTransform = isTransform;\nexports.isConvert = isConvert;\nexports.splitFilterToObject = splitFilterToObject;\nexports.getMatrix = getMatrix;\nexports.getTransform = getTransform;\nexports.stylesToCss = stylesToCss;\nexports.getUnit = getUnit;\nexports.getValues = getValues;\nexports.findStyleByName = findStyleByName;\nexports.mergeStyle = mergeStyle;\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridColumn: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\nvar unquotedContentValueRegex = /^(normal|none|(\\b(url\\([^)]*\\)|chapter_counter|attr\\([^)]*\\)|(no-)?(open|close)-quote|inherit)((\\b\\s*)|$|\\s+))+)$/;\n\nvar IE = function () {\n if (typeof document === 'undefined') {\n return false;\n }\n if (navigator && (navigator.userAgent.indexOf(\"MSIE 8.0\") > 0 || navigator.userAgent.indexOf(\"MSIE 9.0\") > 0)) {\n return true;\n }\n return false;\n}();\n\nvar rnd = 100000;\n\nvar colorLookup = {\n aqua: [0, 255, 255],\n lime: [0, 255, 0],\n silver: [192, 192, 192],\n black: [0, 0, 0],\n maroon: [128, 0, 0],\n teal: [0, 128, 128],\n blue: [0, 0, 255],\n navy: [0, 0, 128],\n white: [255, 255, 255],\n fuchsia: [255, 0, 255],\n olive: [128, 128, 0],\n yellow: [255, 255, 0],\n orange: [255, 165, 0],\n gray: [128, 128, 128],\n purple: [128, 0, 128],\n green: [0, 128, 0],\n red: [255, 0, 0],\n pink: [255, 192, 203],\n cyan: [0, 255, 255],\n transparent: [255, 255, 255, 0]\n};\nvar _hue = function _hue(hh, m1, m2) {\n var h = hh > 1 ? hh - 1 : hh;\n h = hh < 0 ? hh + 1 : h;\n var a = h * 3 < 2 ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1;\n var b = h < 0.5 ? m2 : a;\n var c = h * 6 < 1 ? m1 + (m2 - m1) * h * 6 : b;\n return c * 255 + 0.5 | 0;\n};\nvar DEG2RAD = Math.PI / 180;\nvar RAD2DEG = 180 / Math.PI;\n\nvar $cssList = {\n _lists: {\n transformsBase: ['translate', 'translateX', 'translateY', 'scale', 'scaleX', 'scaleY', 'skewX', 'skewY', 'rotateZ', 'rotate'],\n transforms3D: ['translate3d', 'translateZ', 'scaleZ', 'rotateX', 'rotateY', 'perspective']\n },\n transformGroup: { translate: 1, translate3d: 1, scale: 1, scale3d: 1, rotate: 1, rotate3d: 1, skew: 1 },\n filter: ['grayScale', 'sepia', 'hueRotate', 'invert', 'brightness', 'contrast', 'blur'],\n filterConvert: { grayScale: 'grayscale', hueRotate: 'hue-rotate' }\n};\n$cssList._lists.transformsBase = !IE ? $cssList._lists.transformsBase.concat($cssList._lists.transforms3D) : $cssList._lists.transformsBase;\n\nvar cssList = exports.cssList = $cssList;\n\nfunction toCssLowerCase(d) {\n return d.replace(/[A-Z]/, function ($1) {\n return '-' + $1.toLocaleLowerCase();\n });\n}\n\nfunction toStyleUpperCase(d) {\n return d.replace(/-(.?)/g, function ($1) {\n return $1.replace('-', '').toLocaleUpperCase();\n });\n}\n\nfunction toFixed(num, length) {\n var _rnd = length ? Math.pow(10, length) : rnd;\n var n = num | 0;\n var dec = num - n;\n var fixed = num;\n if (dec) {\n var r = (dec * _rnd + (num < 0 ? -0.5 : 0.5) | 0) / _rnd;\n var t = r | 0;\n var str = r.toString();\n var decStr = str.split('.')[1] || '';\n fixed = '' + (num < 0 && !(n + t) ? '-' : '') + (n + t) + '.' + decStr;\n }\n return parseFloat(fixed);\n}\n\nfunction createMatrix(style) {\n if (typeof document === 'undefined') {\n return null;\n }\n var matrixs = ['WebKitCSS', 'MozCSS', 'DOM', 'MsCSS', 'MSCSS', 'OCSS', 'CSS'].filter(function (key) {\n return key + 'Matrix' in window;\n });\n if (matrixs.length) {\n return new window[matrixs[0] + 'Matrix'](style);\n }\n console.warn('Browsers do not support matrix.');\n return '';\n}\n\nfunction checkStyleName(p) {\n if (typeof document === 'undefined') {\n return null;\n }\n var a = ['O', 'Moz', 'ms', 'Ms', 'Webkit'];\n if (p !== 'filter' && p in document.body.style) {\n return p;\n }\n var _p = p.charAt(0).toUpperCase() + p.substr(1);\n var prefixCss = a.filter(function (key) {\n return '' + key + _p in document.body.style;\n });\n return prefixCss[0] ? '' + prefixCss[0] + _p : null;\n}\n\nfunction getGsapType(_p) {\n var p = _p;\n p = p === 'x' ? 'translateX' : p;\n p = p === 'y' ? 'translateY' : p;\n p = p === 'z' ? 'translateZ' : p;\n // p = p === 'r' ? 'rotate' : p;\n return p;\n}\n\nfunction parseColor(_v) {\n var a = void 0;\n var r = void 0;\n var g = void 0;\n var b = void 0;\n var h = void 0;\n var s = void 0;\n var l = void 0;\n var v = _v;\n var _numExp = /(?:\\d|\\-\\d|\\.\\d|\\-\\.\\d)+/g;\n if (!v) {\n a = colorLookup.black;\n } else if (typeof v === 'number') {\n a = [v >> 16, v >> 8 & 255, v & 255];\n } else {\n if (v.charAt(v.length - 1) === ',') {\n v = v.substr(0, v.length - 1);\n }\n if (colorLookup[v]) {\n a = colorLookup[v];\n } else if (v.charAt(0) === '#') {\n // is #FFF\n if (v.length === 4) {\n r = v.charAt(1);\n g = v.charAt(2);\n b = v.charAt(3);\n v = '#' + r + r + g + g + b + b;\n }\n v = parseInt(v.substr(1), 16);\n a = [v >> 16, v >> 8 & 255, v & 255];\n } else if (v.substr(0, 3) === 'hsl') {\n a = v.match(_numExp);\n h = Number(a[0]) % 360 / 360;\n s = Number(a[1]) / 100;\n l = Number(a[2]) / 100;\n g = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n r = l * 2 - g;\n if (a.length > 3) {\n a[3] = Number(a[3]);\n }\n a[0] = _hue(h + 1 / 3, r, g);\n a[1] = _hue(h, r, g);\n a[2] = _hue(h - 1 / 3, r, g);\n } else {\n a = v.match(_numExp) || colorLookup.transparent;\n }\n a[0] = Number(a[0]);\n a[1] = Number(a[1]);\n a[2] = Number(a[2]);\n\n if (a.length > 3) {\n a[3] = Number(a[3]);\n }\n }\n return a;\n}\n\nfunction parseShadow(v) {\n if (!v) {\n return [0, 0, 0, 0, 0, 0, 0];\n }\n var inset = void 0;\n if (v.indexOf('rgb') >= 0) {\n var t = v.match(/rgb+(?:a)?\\((.*)\\)/);\n var s = v.replace(t[0], '').trim().split(/\\s+/);\n inset = s.indexOf('inset');\n if (inset >= 0) {\n s.splice(inset, 1);\n }\n var c = t[1].replace(/\\s+/g, '').split(',');\n if (c.length === 3) {\n c.push(1);\n }\n return s.concat(c, inset >= 0 ? ['inset'] : []);\n }\n var vArr = v.split(/\\s+/);\n inset = vArr.indexOf('inset');\n if (inset >= 0) {\n vArr.splice(inset, 1);\n }\n var color = parseColor(vArr[vArr.length - 1]);\n color[3] = typeof color[3] === 'number' ? color[3] : 1;\n vArr = vArr.splice(0, vArr.length - 1);\n return vArr.concat(color, inset >= 0 ? ['inset'] : []);\n}\n\nfunction getColor(v) {\n var rgba = v.length === 4 ? 'rgba' : 'rgb';\n var _vars = v.map(function (d, i) {\n return i < 3 ? Math.round(d) : d;\n });\n return rgba + '(' + _vars.join(',') + ')';\n}\n\nfunction isTransform(p) {\n return cssList._lists.transformsBase.indexOf(p) >= 0 ? 'transform' : p;\n}\n\nfunction isConvert(p) {\n var cssName = isTransform(p);\n return cssList.filter.indexOf(cssName) >= 0 ? 'filter' : cssName;\n}\n\nfunction splitFilterToObject(data) {\n if (data === 'none' || !data || data === '') {\n return null;\n }\n var filter = data.replace(' ', '').split(')').filter(function (item) {\n return item;\n });\n var startData = {};\n filter.forEach(function (item) {\n var dataArr = item.split('(');\n startData[dataArr[0]] = dataArr[1];\n });\n return startData;\n}\n\nfunction getMatrix(t) {\n var arr = t.match(/(?:\\-|\\b)[\\d\\-\\.e]+\\b/gi);\n var m = {};\n if (arr.length === 6) {\n m.m11 = parseFloat(arr[0]);\n m.m12 = parseFloat(arr[1]);\n m.m13 = 0;\n m.m14 = 0;\n m.m21 = parseFloat(arr[2]);\n m.m22 = parseFloat(arr[3]);\n m.m23 = 0;\n m.m24 = 0;\n m.m31 = 0;\n m.m32 = 0;\n m.m33 = 1;\n m.m34 = 0;\n m.m41 = parseFloat(arr[4]);\n m.m42 = parseFloat(arr[5]);\n m.m43 = 0;\n m.m44 = 0;\n } else {\n arr.forEach(function (item, i) {\n var ii = i % 4 + 1;\n var j = Math.floor(i / 4) + 1;\n m['m' + j + ii] = parseFloat(item);\n });\n }\n return m;\n}\n\nfunction transformNoMatrix(transform) {\n var tm = {};\n tm.translateX = 0;\n tm.translateY = 0;\n tm.translateZ = 0;\n tm.rotate = 0;\n tm.rotateX = 0;\n tm.rotateY = 0;\n tm.scaleX = 1;\n tm.scaleY = 1;\n tm.scaleZ = 1;\n tm.skewX = 0;\n tm.skewY = 0;\n tm.perspective = 0;\n (transform.trim().match(/(\\w+)\\([^\\)]+\\)/ig) || []).forEach(function (str) {\n var strArray = str.split('(');\n var key = strArray[0].trim();\n var value = strArray[1].replace(')', '').trim();\n if (value.match(/%|em|rem/ig)) {\n console.warn('value(' + value + ') must be absolute, not relative, has been converted to absolute.');\n }\n value = value.replace(/px|deg|\\)/ig, '');\n if (cssList.transformGroup[key] && key !== 'rotate') {\n value = value.split(',').map(function (num) {\n return parseFloat(num);\n });\n if (key === 'scale3d' || key === 'translate3d') {\n ['X', 'Y', 'Z'].forEach(function (s, i) {\n var $key = key.substring(0, key.length - 2);\n tm['' + $key + s] = value[i] || tm['' + $key + s];\n });\n } else if (key === 'rotate3d') {\n tm.rotateX = value[0] && value[3] || tm.rotateX;\n tm.rotateY = value[1] && value[3] || tm.rotateY;\n tm.rotate = value[2] && value[3] || tm.rotate;\n } else {\n ['X', 'Y'].forEach(function (s, i) {\n tm['' + key + s] = value[i] || tm['' + key + s];\n });\n }\n } else {\n if (key === 'rotateZ') {\n tm.rotate = parseFloat(value) || tm.rotate;\n } else {\n tm[key] = parseFloat(value) || tm[key];\n }\n }\n });\n return tm;\n}\n\nfunction getTransform(transform) {\n var _transform = !transform || transform === 'none' || transform === '' ? 'matrix(1, 0, 0, 1, 0, 0)' : transform;\n if (!_transform.match('matrix')) {\n return transformNoMatrix(transform);\n }\n var m = getMatrix(_transform);\n var m11 = m.m11;\n var m12 = m.m12;\n var m13 = m.m13;\n var m14 = m.m14;\n var m21 = m.m21;\n var m22 = m.m22;\n var m23 = m.m23;\n var m24 = m.m24;\n var m31 = m.m31;\n var m32 = m.m32;\n var m33 = m.m33;\n var m34 = m.m34;\n var m43 = m.m43;\n var t1 = void 0;\n var t2 = void 0;\n var t3 = void 0;\n var tm = {};\n var angle = Math.atan2(m23, m33);\n var skewX = Math.tan(m21);\n var skewY = Math.tan(m12);\n var cos = void 0;\n var sin = void 0;\n // rotateX\n tm.rotateX = toFixed(angle * RAD2DEG) || 0;\n if (angle) {\n cos = Math.cos(-angle);\n sin = Math.sin(-angle);\n t1 = m21 * cos + m31 * sin;\n t2 = m22 * cos + m32 * sin;\n t3 = m23 * cos + m33 * sin;\n m31 = m21 * -sin + m31 * cos;\n m32 = m22 * -sin + m32 * cos;\n m33 = m23 * -sin + m33 * cos;\n m34 = m24 * -sin + m34 * cos;\n m21 = t1;\n m22 = t2;\n m23 = t3;\n }\n // rotateY\n angle = Math.atan2(-m13, m33);\n tm.rotateY = toFixed(angle * RAD2DEG) || 0;\n if (angle) {\n cos = Math.cos(-angle);\n sin = Math.sin(-angle);\n t1 = m11 * cos - m31 * sin;\n t2 = m12 * cos - m32 * sin;\n t3 = m13 * cos - m33 * sin;\n m32 = m12 * sin + m32 * cos;\n m33 = m13 * sin + m33 * cos;\n m34 = m14 * sin + m34 * cos;\n m11 = t1;\n m12 = t2;\n m13 = t3;\n }\n // rotateZ\n angle = Math.atan2(m12, m11);\n tm.rotate = toFixed(angle * RAD2DEG) || 0;\n if (angle) {\n cos = Math.cos(angle);\n sin = Math.sin(angle);\n t1 = m11 * cos + m12 * sin;\n t2 = m21 * cos + m22 * sin;\n t3 = m31 * cos + m32 * sin;\n m12 = m12 * cos - m11 * sin;\n m22 = m22 * cos - m21 * sin;\n m32 = m32 * cos - m31 * sin;\n m11 = t1;\n m21 = t2;\n m31 = t3;\n }\n\n if (tm.rotateX && Math.abs(tm.rotateX) + Math.abs(tm.rotate) > 359.9) {\n tm.rotateX = tm.rotate = 0;\n tm.rotateY = 180 - tm.rotateY || 0;\n }\n\n tm.scaleX = toFixed(Math.sqrt(m11 * m11 + m12 * m12 + m13 * m13));\n tm.scaleY = toFixed(Math.sqrt(m22 * m22 + m23 * m23));\n tm.scaleZ = toFixed(Math.sqrt(m31 * m31 + m32 * m32 + m33 * m33));\n // 不管 skewX skewY了;\n tm.skewX = skewX === -skewY ? 0 : skewX;\n tm.skewY = skewY === -skewX ? 0 : skewY;\n tm.perspective = m34 ? 1 / (m34 < 0 ? -m34 : m34) : 0;\n tm.translateX = m.m41;\n tm.translateY = m.m42;\n tm.translateZ = m43;\n return tm;\n}\n\nfunction stylesToCss(key, value) {\n var _value = void 0;\n if (!isUnitlessNumber[key] && typeof value === 'number') {\n _value = ' ' + value + 'px';\n } else if (key === 'content' && !unquotedContentValueRegex.test(value)) {\n _value = '\\'' + value.replace(/'/g, \"\\\\'\") + '\\'';\n }\n return _value || value;\n}\n\nfunction getUnit(p, v) {\n var currentUnit = v && v.toString().replace(/[^a-z|%]/ig, '');\n var unit = '';\n if (p.indexOf('translate') >= 0 || p.indexOf('perspective') >= 0 || p.indexOf('blur') >= 0) {\n unit = 'px';\n } else if (p.indexOf('skew') >= 0 || p.indexOf('rotate') >= 0) {\n unit = 'deg';\n }\n return currentUnit || unit;\n}\n\nfunction getValues(p, d, u) {\n return p + '(' + d + (u || '') + ')';\n}\n\nfunction findStyleByName(cssArray, name) {\n var ret = null;\n if (cssArray) {\n cssArray.forEach(function (_cname) {\n if (ret) {\n return;\n }\n var cName = _cname.split('(')[0];\n var a = cName in cssList.transformGroup && name.substring(0, name.length - 1).indexOf(cName) >= 0;\n var b = name in cssList.transformGroup && cName.substring(0, cName.length - 1).indexOf(name) >= 0;\n var c = cName in cssList.transformGroup && name in cssList.transformGroup && (cName.substring(0, cName.length - 2) === name || name.substring(0, name.length - 2) === cName);\n if (cName === name || a || b || c) {\n ret = _cname;\n }\n });\n }\n return ret;\n}\n\nfunction mergeStyle(current, change) {\n if (!current || current === '') {\n return change;\n }\n if (!change || change === '') {\n return current;\n }\n var _current = current.replace(/\\s/g, '').split(')').filter(function (item) {\n return item !== '' && item;\n }).map(function (item) {\n return item + ')';\n });\n var _change = change.replace(/\\s/g, '').split(')').filter(function (item) {\n return item !== '' && item;\n });\n _change.forEach(function (changeOnly) {\n var changeArr = changeOnly.split('(');\n var changeName = changeArr[0];\n var currentSame = findStyleByName(_current, changeName);\n if (!currentSame) {\n _current.push(changeOnly + ')');\n } else {\n var index = _current.indexOf(currentSame);\n _current[index] = changeOnly + ')';\n }\n });\n _current.forEach(function (item, i) {\n if (item.indexOf('perspective') >= 0 && i) {\n _current.splice(i, 1);\n _current.unshift(item);\n }\n });\n return _current.join(' ').trim();\n}\n","'use strict';\n\n// t: current time, b: beginning value, _c: final value, d: total duration\nvar tweenFunctions = {\n linear: function(t, b, _c, d) {\n var c = _c - b;\n return c * t / d + b;\n },\n easeInQuad: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t + b;\n },\n easeOutQuad: function(t, b, _c, d) {\n var c = _c - b;\n return -c * (t /= d) * (t - 2) + b;\n },\n easeInOutQuad: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t + b;\n } else {\n return -c / 2 * ((--t) * (t - 2) - 1) + b;\n }\n },\n easeInCubic: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t * t + b;\n },\n easeOutCubic: function(t, b, _c, d) {\n var c = _c - b;\n return c * ((t = t / d - 1) * t * t + 1) + b;\n },\n easeInOutCubic: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t * t + b;\n } else {\n return c / 2 * ((t -= 2) * t * t + 2) + b;\n }\n },\n easeInQuart: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t * t * t + b;\n },\n easeOutQuart: function(t, b, _c, d) {\n var c = _c - b;\n return -c * ((t = t / d - 1) * t * t * t - 1) + b;\n },\n easeInOutQuart: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t * t * t + b;\n } else {\n return -c / 2 * ((t -= 2) * t * t * t - 2) + b;\n }\n },\n easeInQuint: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t * t * t * t + b;\n },\n easeOutQuint: function(t, b, _c, d) {\n var c = _c - b;\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n easeInOutQuint: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t * t * t * t + b;\n } else {\n return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;\n }\n },\n easeInSine: function(t, b, _c, d) {\n var c = _c - b;\n return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\n },\n easeOutSine: function(t, b, _c, d) {\n var c = _c - b;\n return c * Math.sin(t / d * (Math.PI / 2)) + b;\n },\n easeInOutSine: function(t, b, _c, d) {\n var c = _c - b;\n return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;\n },\n easeInExpo: function(t, b, _c, d) {\n var c = _c - b;\n return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;\n },\n easeOutExpo: function(t, b, _c, d) {\n var c = _c - b;\n return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;\n },\n easeInOutExpo: function(t, b, _c, d) {\n var c = _c - b;\n if (t === 0) {\n return b;\n }\n if (t === d) {\n return b + c;\n }\n if ((t /= d / 2) < 1) {\n return c / 2 * Math.pow(2, 10 * (t - 1)) + b;\n } else {\n return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;\n }\n },\n easeInCirc: function(t, b, _c, d) {\n var c = _c - b;\n return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;\n },\n easeOutCirc: function(t, b, _c, d) {\n var c = _c - b;\n return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;\n },\n easeInOutCirc: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;\n } else {\n return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;\n }\n },\n easeInElastic: function(t, b, _c, d) {\n var c = _c - b;\n var a, p, s;\n s = 1.70158;\n p = 0;\n a = c;\n if (t === 0) {\n return b;\n } else if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (a < Math.abs(c)) {\n a = c;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(c / a);\n }\n return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;\n },\n easeOutElastic: function(t, b, _c, d) {\n var c = _c - b;\n var a, p, s;\n s = 1.70158;\n p = 0;\n a = c;\n if (t === 0) {\n return b;\n } else if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (a < Math.abs(c)) {\n a = c;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(c / a);\n }\n return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b;\n },\n easeInOutElastic: function(t, b, _c, d) {\n var c = _c - b;\n var a, p, s;\n s = 1.70158;\n p = 0;\n a = c;\n if (t === 0) {\n return b;\n } else if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (a < Math.abs(c)) {\n a = c;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(c / a);\n }\n if (t < 1) {\n return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;\n } else {\n return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * 0.5 + c + b;\n }\n },\n easeInBack: function(t, b, _c, d, s) {\n var c = _c - b;\n if (s === void 0) {\n s = 1.70158;\n }\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n easeOutBack: function(t, b, _c, d, s) {\n var c = _c - b;\n if (s === void 0) {\n s = 1.70158;\n }\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n easeInOutBack: function(t, b, _c, d, s) {\n var c = _c - b;\n if (s === void 0) {\n s = 1.70158;\n }\n if ((t /= d / 2) < 1) {\n return c / 2 * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n } else {\n return c / 2 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n }\n },\n easeInBounce: function(t, b, _c, d) {\n var c = _c - b;\n var v;\n v = tweenFunctions.easeOutBounce(d - t, 0, c, d);\n return c - v + b;\n },\n easeOutBounce: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n } else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n } else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n } else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n easeInOutBounce: function(t, b, _c, d) {\n var c = _c - b;\n var v;\n if (t < d / 2) {\n v = tweenFunctions.easeInBounce(t * 2, 0, c, d);\n return v * 0.5 + b;\n } else {\n v = tweenFunctions.easeOutBounce(t * 2 - d, 0, c, d);\n return v * 0.5 + c * 0.5 + b;\n }\n }\n};\n\nmodule.exports = tweenFunctions;\n"],"sourceRoot":""}