{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/jquery/src/core.js","webpack:///./node_modules/jquery/src/var/isFunction.js","webpack:///./node_modules/jquery/src/var/document.js","webpack:///./node_modules/jquery/src/selector.js","webpack:///./node_modules/jquery/src/core/init.js","webpack:///./node_modules/jquery/src/data/var/dataPriv.js","webpack:///./node_modules/jquery/src/core/nodeName.js","webpack:///./node_modules/jquery/src/var/rnothtmlwhite.js","webpack:///./node_modules/jquery/src/var/support.js","webpack:///./node_modules/jquery/src/core/access.js","webpack:///./node_modules/jquery/src/ajax.js","webpack:///./node_modules/jquery/src/core/toType.js","webpack:///./node_modules/jquery/src/traversing.js","webpack:///./node_modules/jquery/src/deferred.js","webpack:///./node_modules/jquery/src/event.js","webpack:///./node_modules/jquery/src/var/arr.js","webpack:///./node_modules/jquery/src/var/isWindow.js","webpack:///./node_modules/jquery/src/core/camelCase.js","webpack:///./node_modules/jquery/src/css.js","webpack:///./node_modules/jquery/src/var/slice.js","webpack:///./node_modules/jquery/src/var/class2type.js","webpack:///./node_modules/jquery/src/data/var/acceptData.js","webpack:///./node_modules/jquery/src/core/isAttached.js","webpack:///./node_modules/jquery/src/var/documentElement.js","webpack:///./node_modules/jquery/src/manipulation.js","webpack:///./node_modules/galleria/dist/galleria.js","webpack:///./node_modules/jquery/src/var/indexOf.js","webpack:///./node_modules/jquery/src/var/hasOwn.js","webpack:///./node_modules/jquery/src/callbacks.js","webpack:///./node_modules/jquery/src/queue.js","webpack:///./node_modules/jquery/src/effects.js","webpack:///./node_modules/jquery/src/var/rcssNum.js","webpack:///./node_modules/jquery/src/css/var/cssExpand.js","webpack:///./node_modules/jquery/src/var/rcheckableType.js","webpack:///./node_modules/jquery/src/css/var/rnumnonpx.js","webpack:///./node_modules/jquery/src/css/support.js","webpack:///./node_modules/jquery/src/attributes/support.js","webpack:///./node_modules/jquery/src/core/stripAndCollapse.js","webpack:///./node_modules/jquery/src/event/trigger.js","webpack:///./node_modules/jquery/src/jquery.js","webpack:///./node_modules/jquery/src/var/getProto.js","webpack:///./node_modules/jquery/src/var/flat.js","webpack:///./node_modules/jquery/src/var/push.js","webpack:///./node_modules/jquery/src/var/toString.js","webpack:///./node_modules/jquery/src/var/fnToString.js","webpack:///./node_modules/jquery/src/core/DOMEval.js","webpack:///./node_modules/jquery/src/traversing/var/rneedsContext.js","webpack:///./node_modules/jquery/src/core/var/rsingleTag.js","webpack:///./node_modules/jquery/src/traversing/findFilter.js","webpack:///./node_modules/jquery/src/core/ready.js","webpack:///./node_modules/jquery/src/data/Data.js","webpack:///./node_modules/jquery/src/data/var/dataUser.js","webpack:///./node_modules/jquery/src/var/pnum.js","webpack:///./node_modules/jquery/src/css/var/isHiddenWithinTree.js","webpack:///./node_modules/jquery/src/css/adjustCSS.js","webpack:///./node_modules/jquery/src/manipulation/var/rtagName.js","webpack:///./node_modules/jquery/src/manipulation/var/rscriptType.js","webpack:///./node_modules/jquery/src/manipulation/wrapMap.js","webpack:///./node_modules/jquery/src/manipulation/support.js","webpack:///./node_modules/jquery/src/manipulation/getAll.js","webpack:///./node_modules/jquery/src/manipulation/setGlobalEval.js","webpack:///./node_modules/jquery/src/manipulation/buildFragment.js","webpack:///./node_modules/jquery/src/css/var/getStyles.js","webpack:///./node_modules/jquery/src/css/curCSS.js","webpack:///./node_modules/jquery/src/css/addGetHookIf.js","webpack:///./node_modules/jquery/src/css/finalPropName.js","webpack:///./node_modules/jquery/src/attributes/prop.js","webpack:///./node_modules/jquery/src/ajax/var/nonce.js","webpack:///./node_modules/jquery/src/ajax/var/rquery.js","webpack:///./node_modules/jquery/src/core/parseXML.js","webpack:///./node_modules/jquery/src/serialize.js","webpack:///./node_modules/jquery/src/core/parseHTML.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/jquery/src/var/ObjectFunctionString.js","webpack:///./node_modules/jquery/src/selector-sizzle.js","webpack:///./node_modules/jquery/external/sizzle/dist/sizzle.js","webpack:///./node_modules/jquery/src/traversing/var/dir.js","webpack:///./node_modules/jquery/src/traversing/var/siblings.js","webpack:///./node_modules/jquery/src/deferred/exceptionHook.js","webpack:///./node_modules/jquery/src/core/readyException.js","webpack:///./node_modules/jquery/src/data.js","webpack:///./node_modules/jquery/src/queue/delay.js","webpack:///./node_modules/jquery/src/css/showHide.js","webpack:///./node_modules/jquery/src/css/var/swap.js","webpack:///./node_modules/jquery/src/css/var/rboxStyle.js","webpack:///./node_modules/jquery/src/effects/Tween.js","webpack:///./node_modules/jquery/src/attributes.js","webpack:///./node_modules/jquery/src/attributes/attr.js","webpack:///./node_modules/jquery/src/attributes/classes.js","webpack:///./node_modules/jquery/src/attributes/val.js","webpack:///./node_modules/jquery/src/event/focusin.js","webpack:///./node_modules/jquery/src/event/support.js","webpack:///./node_modules/jquery/src/manipulation/_evalUrl.js","webpack:///./node_modules/jquery/src/ajax/var/location.js","webpack:///./node_modules/jquery/src/wrap.js","webpack:///./node_modules/jquery/src/css/hiddenVisibleSelectors.js","webpack:///./node_modules/jquery/src/ajax/xhr.js","webpack:///./node_modules/jquery/src/ajax/script.js","webpack:///./node_modules/jquery/src/ajax/jsonp.js","webpack:///./node_modules/jquery/src/ajax/load.js","webpack:///./node_modules/jquery/src/core/support.js","webpack:///./node_modules/jquery/src/effects/animatedSelector.js","webpack:///./node_modules/jquery/src/offset.js","webpack:///./node_modules/jquery/src/dimensions.js","webpack:///./node_modules/jquery/src/deprecated.js","webpack:///./node_modules/jquery/src/deprecated/ajax-event-alias.js","webpack:///./node_modules/jquery/src/deprecated/event.js","webpack:///./node_modules/jquery/src/exports/amd.js","webpack:///./node_modules/jquery/src/exports/global.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./app/javascript/packs/set_galleria.js","webpack:///./app/javascript/packs/priozernui_project.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","obj","constructor","arr","getProto","_slice","flat","push","indexOf","class2type","toString","hasOwn","fnToString","ObjectFunctionString","support","isFunction","isWindow","DOMEval","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","type","jquery","toArray","this","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","slice","apply","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","src","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","Error","noop","proto","Ctor","isEmptyObject","globalEval","code","doc","nonce","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","guid","split","_i","toLowerCase","nodeType","item","window","document","rsingleTag","rootjQuery","rquickExpr","root","match","exec","find","parseHTML","ownerDocument","test","attr","getElementById","ready","Data","nodeName","access","chainable","emptyGet","raw","bulk","_key","rnothtmlwhite","location","rquery","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","prefilters","transports","allTypes","concat","originAnchor","createElement","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspected","seekingTransport","inspect","selected","_","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","href","active","lastModified","etag","url","isLocal","protocol","global","processData","async","contentType","accepts","text","html","xml","json","contents","responseFields","converters","String","JSON","parse","parseXML","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","completed","fireGlobals","uncached","callbackContext","globalEventContext","event","deferred","Deferred","completeDeferred","Callbacks","_statusCode","statusCode","requestHeaders","requestHeadersNames","strAbort","readyState","getResponseHeader","join","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","always","status","abort","statusText","finalText","done","promise","method","crossDomain","host","e","data","param","traditional","trigger","toUpperCase","hasContent","cache","ifModified","headers","beforeSend","add","complete","success","fail","timeout","setTimeout","send","nativeStatusText","responses","isSuccess","response","modified","clearTimeout","ct","finalDataType","firstDataType","shift","ajaxHandleResponses","conv2","current","conv","tmp","prev","dataFilter","throws","state","ajaxConvert","resolveWith","rejectWith","fireWith","getJSON","getScript","dir","_siblings","rneedsContext","rparentsprev","guaranteedUnique","children","next","sibling","cur","has","targets","filter","contains","closest","selectors","matched","parentNode","index","matchesSelector","uniqueSort","prevAll","addBack","parent","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","siblings","firstChild","contentDocument","content","childNodes","reverse","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","then","tuples","_state","_promise","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","handler","special","that","args","mightThrow","TypeError","notifyWith","process","exceptionHook","stackTrace","getStackHook","list","stateString","disable","lock","fire","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","documentElement","rcheckableType","acceptData","dataPriv","rtypenamespace","returnTrue","returnFalse","expectSync","activeElement","err","safeActiveElement","_on","types","one","origFn","off","leverageNative","el","set","namespace","notAsync","result","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","Event","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","needsContext","expr","delegateCount","setup","addEventListener","remove","mappedTypes","origCount","hasData","RegExp","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","_handlers","sel","matchedHandlers","matchedSelectors","button","disabled","addProp","hook","configurable","originalEvent","writable","load","noBubble","click","_default","beforeunload","returnValue","removeEventListener","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","Date","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","on","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","string","camelCase","rcssNum","rnumnonpx","cssExpand","getStyles","swap","curCSS","adjustCSS","addGetHookIf","finalPropName","rdisplayswap","rcustomProp","cssShow","position","visibility","display","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","css","ceil","getWidthOrHeight","boxSizingReliable","valueIsBorderBox","val","offsetProp","reliableTrDimensions","parseFloat","getClientRects","cssHooks","opacity","computed","cssNumber","cssProps","style","hooks","origName","isCustomProp","clearCloneStyle","setProperty","isFinite","getBoundingClientRect","width","scrollboxSizeBuggy","scrollboxSize","marginLeft","reliableMarginLeft","left","margin","padding","border","prefix","suffix","expand","expanded","parts","owner","isAttached","composed","getRootNode","rtagName","rscriptType","wrapMap","getAll","setGlobalEval","buildFragment","dataUser","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","getAttribute","restoreScript","removeAttribute","cloneCopyEvent","dest","udataOld","udataCur","fixInput","checked","defaultValue","domManip","collection","ignored","fragment","scripts","hasScripts","node","iNoClone","valueIsFunction","checkClone","self","_evalUrl","noModule","textContent","_remove","keepData","nodes","cleanData","removeChild","htmlPrefilter","dataAndEvents","deepDataAndEvents","srcElements","destElements","cloneNode","inPage","noCloneChecked","isXMLDoc","detach","empty","append","appendChild","prepend","insertBefore","before","after","nextSibling","innerHTML","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","factory","$","_Galleria","undef","$doc","$win","protoArray","VERSION","DEBUG","DUMMY","NAV","navigator","userAgent","HASH","hash","PROT","M","F","FALSE","MOBILE","screen","devicePixelRatio","innerWidth","IE","div","all","getElementsByTagName","documentMode","DOM","body","head","title","IFRAME","_eventlist","_events","evs","ev","_legacyOptions","k","substr","_patchEvent","_video","youtube","reg","embed","id","get_thumb","get_image","vimeo","getUrl","thumbnail_medium","thumbnail_large","dailymotion","thumbnail_240_url","thumbnail_720_url","_inst","Video","readys","_videoThumbs","getMedia","_videoTest","provider","_nativeFullscreen","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullScreen","enter","instance","exit","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitCancelFullScreen","listen","fs","_fullscreen","fullscreen","mozFullScreen","webkitIsFullScreen","msFullscreenElement","_enter","_exit","_galleries","_instances","_hasError","_canvas","_pool","_loadedThemes","_themeLoad","theme","_options","_initialized","_init","Utils","clearTimer","addTimer","array","className","removeFromArray","getScriptPath","slices","pop","animate","transition","opera","endEvent","MozTransition","OTransition","WebkitTransition","easings","galleria","galleriaIn","galleriaOut","ease","linear","setStyle","clearStyle","WEBKIT","TOUCH","to","duration","stop","change","parseValue","strings","easing","syntax","revert","form","removeAlpha","currentStyle","forceStyles","removeAttr","revertStyles","moveOut","moveIn","hide","speed","$elem","show","wait","_waiters","raise","elapsed","tid","start","timestamp","toggleQuality","img","force","msInterpolationMode","insertStyleTag","styleSheet","cssText","createTextNode","loadScript","script","onload","onreadystatechange","getTime","loadCSS","link","styleSheets","rel","$loader","height","QUIRK","_playIcon","container","mouseup","_transitions","_slide","params","fade","door","getOptions","distance","getStageWidth","from","rewind","queue","effect","effects","flash","_complete","pulse","slide","fadeslide","doorslide","propagate","getCoords","touch","x","y","def","touched","touchdown","coords","evObj","clickstate","timer","abs","$this","resize","_playing","_playtime","_active","_queue","_data","_dom","_thumbnails","_layers","_firstrun","_stageWidth","_stageHeight","_target","_binds","_id","parseInt","divs","spans","elemId","keyboard","_keyboard","keys","bound","press","attach","up","controls","_controls","0","1","getActive","swipe","slides","getNext","frames","layers","carousel","_carousel","update","w","h","thumb","outerWidth","containerWidth","floor","outerHeight","setClasses","toggleClass","bindControls","carouselSteps","getLast","follow","isNaN","carouselSpeed","tooltip","_tooltip","initialized","open","swapTimer","move","mouseX","getMousePosition","mouseY","limitY","maxX","maxY","min","top","mouseout","hover","define","elemID","scrolled","crop","beforeEnter","beforeExit","keymap","parseCallback","_scaleImage","trueFullscreen","rescale","MAC","SAFARI","scale","addClass","scrollTop","scrollTo","refer","loc","iframe","referrer","hostname","port","pd","contentWindow","getActiveImage","getData","inBrowser","htmlbody","overflow","zIndex","attachKeyboard","escape","right","imageCrop","fullscreenCrop","big","image","Picture","cached","isCached","getIndex","LOADSTART","imageTarget","thumbTarget","galleriaData","LOADFINISH","srcset","sizes","ndata","preload","isFullscreen","FULLSCREEN_ENTER","$container","removeClass","frame","detachKeyboard","FULLSCREEN_EXIT","idle","_idle","trunk","addEvent","extract","busy","not","showAll","idleMode","idleTime","IDLE_ENTER","idleSpeed","IDLE_EXIT","lightbox","_lightbox","op","cssMap","overlay","overlayOpacity","overlayBackground","shadow","info","close","prevholder","nextholder","counter","appends","exs","addElement","prop","$d","$e","fadeOut","IPAD","lightboxTransitionSpeed","ratio","destWidth","round","destHeight","lightboxFadeSpeed","LIGHTBOX_IMAGE","LIGHTBOX_CLOSE","showNext","showPrev","getPrev","LIGHTBOX_OPEN","total","getDataLength","isIframe","cw","ch","video","maxVideoSize","bottom","$icon","fadeIn","_timer","_fn","delay","loop","clear","old","del","_original","autoplay","carouselFollow","clicknext","foreground","highlight","background","logo","hideInfos","dataConfig","dataSelector","dataSort","dataSource","debug","dummy","fullscreenDoubleTap","fullscreenTransition","imageMargin","imagePan","imagePanSmoothness","imagePosition","imageTimeout","initialTransition","keepSource","layerFollow","linkSourceImages","maxScaleRatio","minScaleRatio","pauseOnInteraction","popupLinks","responsive","showInfo","showCounter","showImagenav","thumbCrop","thumbEventType","thumbMargin","thumbQuality","thumbDisplayOrder","thumbPosition","thumbnails","touchTransition","transitionInitial","transitionSpeed","useCanvas","variation","videoPoster","byline","portrait","color","modestbranding","autohide","hd","showinfo","can","cx","cy","lx","ly","defaults","configure","getContext","DATA","forEach","density","_userRatio","_ratio","testHeight","_getWH","_width","_height","_run","setCounter","finger","Finger","onchange","page","pause","oncomplete","RESCALE","isPlaying","iframelimit","IMAGE","setInfo","preloads","filtered","loadme","count","THUMBNAIL","updateCarousel","toggleFullscreen","binds","$target","_createThumbnails","a","chunk","thumbchunk","loadindex","gif","optval","getStyle","defaultView","getComputedStyle","fake","onThumbEvent","thumbComplete","order","onThumbLoad","canvas","measure","lazy","th","displayed","lazyLoad","loaded","ind","thumbload","lazyLoadChunks","size","temp","OPERA","$images","PLAY","History","history","go","READY","callbacks","source","config","validate","hasClass","imagesrcset","imagesizes","thumbsizes","thumbsrcset","bigsrcset","bigsizes","description","_parseData","loading","str","destroy","_getActive","proxy","unbind","scope","addIdleState","removeIdleState","enterIdleMode","exitIdleMode","enterFullscreen","bindTooltip","defineTooltip","refreshTooltip","openLightbox","closeLightbox","hasVariation","getActiveThumb","offset","addPan","destX","destY","curX","curY","distX","distY","ts","dist","pos","calculate","scrollLeft","getThemeName","removePan","dom","blueprint","parentID","childID","prependChild","scaleLayer","measures","refreshImage","_preload","_history","stalled","layer","_playCheck","_show","mousetrigger","_complete2","imageQuality","cursor","initial","base","getStageHeight","setOptions","play","PAUSE","playToggle","played","interval","timer_id","PROGRESS","percent","seconds","milliseconds","setPlaytime","setIndex","hasInfo","check","trim","jQ","IE9","IE8","IE7","IE6","CHROME","compatMode","platform","IPHONE","ANDROID","addTheme","reg2","retryCount","tryLoadCss","loadTheme","opts","run","addTransition","utils","log","console","alert","gallery","fatal","echo","cont","getLoadedThemes","requires","$image","Image","frameborder","allowfullscreen","reload","resort","onerror","HAS3D","MozTransform","webkitTransform","nw","nh","newWidth","newHeight","canvasKey","drawImage","toDataURL","mix","getPosition","flt","positionMap","b","has3d","requestFrame","requestAnimationFrame","easeout","child","touching","anim","caller","setX","transform","ontouchstart","animloop","setPosition","time","isScrolling","deltaX","ontouchmove","ontouchend","isValidSlide","isPastBounds","moveTo","factor","destination","flag","createOptions","firing","memory","_fired","_locked","firingIndex","once","stopOnFalse","unique","locked","fired","dequeue","startLength","_queueHooks","setter","clearQueue","defer","elements","isHiddenWithinTree","showHide","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","fx","tick","createFxNow","genFx","includeWidth","attrs","createTween","animation","tween","Animation","tweeners","properties","stopped","currentTime","startTime","tweens","specialEasing","originalProperties","Tween","gotoEnd","propFilter","tweener","toggle","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflowX","overflowY","prefilter","opt","speeds","fadeTo","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeToggle","slow","fast","pnum","computeStyleTests","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","reliableTrDimensionsVal","backgroundClip","pixelBoxStyles","pixelPosition","table","tr","trChild","trStyle","borderTopWidth","borderBottomWidth","offsetHeight","input","checkOn","optSelected","radioValue","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","getPrototypeOf","preservedScriptAttributes","setAttribute","winnow","qualifier","is","readyList","catch","readyException","readyWait","doScroll","uid","valueParts","adjusted","maxIterations","currentValue","unit","initialInUnit","thead","col","td","tbody","tfoot","colgroup","caption","option","optgroup","createDocumentFragment","lastChild","tag","querySelectorAll","refElements","rhtml","selection","wrap","attached","opener","rboxStyle","minWidth","maxWidth","getPropertyValue","conditionFn","hookFn","cssPrefixes","emptyStyle","vendorProps","final","capName","vendorPropName","rfocusable","rclickable","removeProp","propFix","nType","propHooks","tabIndex","tabindex","selectedIndex","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","valueOrFunction","encodeURIComponent","serialize","serializeArray","keepScripts","createHTMLDocument","implementation","parsed","webpackPolyfill","deprecate","paths","Sizzle","pseudos","getText","isXML","escapeSelector","Expr","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","pushNative","booleans","whitespace","identifier","attributes","rwhitespace","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rinputs","rheader","rnative","rsibling","runescape","funescape","nonHex","high","fromCharCode","rcssescape","fcssescape","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","els","seed","nid","groups","newSelector","newContext","getElementsByClassName","qsa","testContext","toSelector","qsaError","cacheLength","markFunction","assert","addHandle","attrHandle","siblingCheck","diff","sourceIndex","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespaceURI","hasCompare","subWindow","attachEvent","createComment","getById","getElementsByName","attrId","getAttributeNode","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","specified","duplicates","detectDuplicates","sortStable","nodeValue","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","what","_argument","simple","forward","ofType","_context","uniqueCache","outerCache","nodeIndex","useCache","uniqueID","pseudo","setFilters","idx","matcher","unmatched","lang","elemLang","hasFocus","_matchIndexes","radio","checkbox","file","password","submit","reset","tokens","combinator","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","token","compiled","_name","_sizzle","noConflict","truncate","rerrorNames","stack","warn","message","rbrace","rmultiDash","dataAttr","removeData","_removeData","defaultDisplayMap","getDefaultDisplay","values","eased","step","swing","cos","PI","boolHook","attrHooks","bool","attrNames","lowercaseName","stripAndCollapse","getClass","classesToArray","classes","curValue","clazz","finalValue","stateVal","isValidValue","classNames","rreturn","valHooks","optionSet","focusin","attaches","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","1223","xhrSupported","cors","_callback","errorCallback","username","xhrFields","onabort","ontimeout","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","Height","Width","defaultExtra","funcName","holdReady","hold","parseJSON","isNumeric","delegate","undelegate","fnOver","fnOut","_jQuery","_$","noGlobal","_dir","_callback2","require","Galleria","keyup","galleriaInitializationFirst"],"mappings":";aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,qBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,UAIjBlC,EAAoBA,EAAoBmC,EAAI,K,mBClFrD,kCAAmD,OAAOC,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAKzU,EAAO,CAAC,MAAa,MAAkB,MAAe,MAAc,MAAc,MAAiB,MAAoB,MAAkB,MAAgB,MAAoB,MAA8B,MAAiB,KAAoB,MAAkB,MAAkB,YAyUnR,KAzUqS,EAAF,SAAYE,EAAKC,EAAUC,EAAQC,EAAMC,EAAMC,EAASC,EAAYC,EAAUC,EAAQC,EAAYC,EAAsBC,EAASC,EAAYC,EAAUC,EAASC,GAClc,aAEA,IAAIC,EAAU,QAEdC,EAAS,SAASA,EAAOC,EAAUC,GAGjC,OAAO,IAAIF,EAAOG,GAAGC,KAAKH,EAAUC,IAiTtC,SAASG,EAAYxB,GAKnB,IAAIyB,IAAWzB,GAAO,WAAYA,GAAOA,EAAIyB,OACzCC,EAAOT,EAAOjB,GAElB,OAAIc,EAAWd,KAAQe,EAASf,KAIhB,UAAT0B,GAA+B,IAAXD,GAAkC,kBAAXA,GAAuBA,EAAS,GAAKA,EAAS,KAAKzB,GAGvG,OA7TAmB,EAAOG,GAAKH,EAAOzB,UAAY,CAE7BiC,OAAQT,EACRjB,YAAakB,EAEbM,OAAQ,EACRG,QAAS,WACP,OAAOxB,EAAOnC,KAAK4D,OAIrBlD,IAAK,SAAamD,GAEhB,OAAW,MAAPA,EACK1B,EAAOnC,KAAK4D,MAIdC,EAAM,EAAID,KAAKC,EAAMD,KAAKJ,QAAUI,KAAKC,IAIlDC,UAAW,SAAmBC,GAE5B,IAAIC,EAAMd,EAAOe,MAAML,KAAK5B,cAAe+B,GAI3C,OAFAC,EAAIE,WAAaN,KAEVI,GAGTG,KAAM,SAAcC,GAClB,OAAOlB,EAAOiB,KAAKP,KAAMQ,IAE3BC,IAAK,SAAaD,GAChB,OAAOR,KAAKE,UAAUZ,EAAOmB,IAAIT,MAAM,SAAUU,EAAMzE,GACrD,OAAOuE,EAASpE,KAAKsE,EAAMzE,EAAGyE,QAGlCC,MAAO,WACL,OAAOX,KAAKE,UAAU3B,EAAOqC,MAAMZ,KAAMa,aAE3CC,MAAO,WACL,OAAOd,KAAKe,GAAG,IAEjBC,KAAM,WACJ,OAAOhB,KAAKe,IAAI,IAElBE,KAAM,WACJ,OAAOjB,KAAKE,UAAUZ,EAAO4B,KAAKlB,MAAM,SAAUmB,EAAOlF,GACvD,OAAQA,EAAI,GAAK,OAGrBmF,IAAK,WACH,OAAOpB,KAAKE,UAAUZ,EAAO4B,KAAKlB,MAAM,SAAUmB,EAAOlF,GACvD,OAAOA,EAAI,OAGf8E,GAAI,SAAY9E,GACd,IAAIoF,EAAMrB,KAAKJ,OACX0B,GAAKrF,GAAKA,EAAI,EAAIoF,EAAM,GAC5B,OAAOrB,KAAKE,UAAUoB,GAAK,GAAKA,EAAID,EAAM,CAACrB,KAAKsB,IAAM,KAExDC,IAAK,WACH,OAAOvB,KAAKM,YAAcN,KAAK5B,eAIjCK,KAAMA,EACN+C,KAAMnD,EAAImD,KACVC,OAAQpD,EAAIoD,QAGdnC,EAAOoC,OAASpC,EAAOG,GAAGiC,OAAS,WACjC,IAAIC,EACAnF,EACAoF,EACAC,EACAC,EACAC,EACAC,EAASnB,UAAU,IAAM,GACzB5E,EAAI,EACJ2D,EAASiB,UAAUjB,OACnBqC,GAAO,EAoBX,IAlBsB,mBAAXD,IACTC,EAAOD,EAEPA,EAASnB,UAAU5E,IAAM,GACzBA,KAIsB,WAApBgC,EAAQ+D,IAAyB/C,EAAW+C,KAC9CA,EAAS,IAIP/F,IAAM2D,IACRoC,EAAShC,KACT/D,KAGKA,EAAI2D,EAAQ3D,IAEjB,GAAgC,OAA3B0F,EAAUd,UAAU5E,IAEvB,IAAKO,KAAQmF,EACXE,EAAOF,EAAQnF,GAGF,cAATA,GAAwBwF,IAAWH,IAKnCI,GAAQJ,IAASvC,EAAO4C,cAAcL,KAAUC,EAAcK,MAAMC,QAAQP,MAC9ED,EAAMI,EAAOxF,GAGXuF,EADED,IAAgBK,MAAMC,QAAQR,GACxB,GACEE,GAAgBxC,EAAO4C,cAAcN,GAGvCA,EAFA,GAKVE,GAAc,EAEdE,EAAOxF,GAAQ8C,EAAOoC,OAAOO,EAAMF,EAAOF,SACxBQ,IAATR,IACTG,EAAOxF,GAAQqF,IAOvB,OAAOG,GAGT1C,EAAOoC,OAAO,CAEZY,QAAS,UAAYjD,EAAUkD,KAAKC,UAAUC,QAAQ,MAAO,IAE7DC,SAAS,EACTC,MAAO,SAAeC,GACpB,MAAM,IAAIC,MAAMD,IAElBE,KAAM,aACNZ,cAAe,SAAuB/D,GACpC,IAAI4E,EAAOC,EAGX,SAAK7E,GAA8B,oBAAvBS,EAASxC,KAAK+B,QAI1B4E,EAAQzE,EAASH,KAQM,oBADvB6E,EAAOnE,EAAOzC,KAAK2G,EAAO,gBAAkBA,EAAM3E,cACbU,EAAW1C,KAAK4G,KAAUjE,IAEjEkE,cAAe,SAAuB9E,GACpC,IAAI3B,EAEJ,IAAKA,KAAQ2B,EACX,OAAO,EAGT,OAAO,GAIT+E,WAAY,SAAoBC,EAAMxB,EAASyB,GAC7CjE,EAAQgE,EAAM,CACZE,MAAO1B,GAAWA,EAAQ0B,OACzBD,IAEL7C,KAAM,SAAcpC,EAAKqC,GACvB,IAAIZ,EACA3D,EAAI,EAER,GAAI0D,EAAYxB,GAGd,IAFAyB,EAASzB,EAAIyB,OAEN3D,EAAI2D,IACgC,IAArCY,EAASpE,KAAK+B,EAAIlC,GAAIA,EAAGkC,EAAIlC,IADhBA,UAMnB,IAAKA,KAAKkC,EACR,IAAyC,IAArCqC,EAASpE,KAAK+B,EAAIlC,GAAIA,EAAGkC,EAAIlC,IAC/B,MAKN,OAAOkC,GAGTmF,UAAW,SAAmBjF,EAAKkF,GACjC,IAAInD,EAAMmD,GAAW,GAUrB,OARW,MAAPlF,IACEsB,EAAYhD,OAAO0B,IACrBiB,EAAOe,MAAMD,EAAoB,kBAAR/B,EAAmB,CAACA,GAAOA,GAEpDI,EAAKrC,KAAKgE,EAAK/B,IAIZ+B,GAEToD,QAAS,SAAiB9C,EAAMrC,EAAKpC,GACnC,OAAc,MAAPoC,GAAe,EAAIK,EAAQtC,KAAKiC,EAAKqC,EAAMzE,IAIpDoE,MAAO,SAAeS,EAAO2C,GAK3B,IAJA,IAAIpC,GAAOoC,EAAO7D,OACd0B,EAAI,EACJrF,EAAI6E,EAAMlB,OAEP0B,EAAID,EAAKC,IACdR,EAAM7E,KAAOwH,EAAOnC,GAItB,OADAR,EAAMlB,OAAS3D,EACR6E,GAETI,KAAM,SAAcf,EAAOK,EAAUkD,GAQnC,IAPA,IACIC,EAAU,GACV1H,EAAI,EACJ2D,EAASO,EAAMP,OACfgE,GAAkBF,EAGfzH,EAAI2D,EAAQ3D,KACEuE,EAASL,EAAMlE,GAAIA,KAEd2H,GACtBD,EAAQlF,KAAK0B,EAAMlE,IAIvB,OAAO0H,GAGTlD,IAAK,SAAaN,EAAOK,EAAUqD,GACjC,IAAIjE,EACA1C,EACAjB,EAAI,EACJmE,EAAM,GAEV,GAAIT,EAAYQ,GAGd,IAFAP,EAASO,EAAMP,OAER3D,EAAI2D,EAAQ3D,IAGJ,OAFbiB,EAAQsD,EAASL,EAAMlE,GAAIA,EAAG4H,KAG5BzD,EAAI3B,KAAKvB,QAKb,IAAKjB,KAAKkE,EAGK,OAFbjD,EAAQsD,EAASL,EAAMlE,GAAIA,EAAG4H,KAG5BzD,EAAI3B,KAAKvB,GAMf,OAAOsB,EAAK4B,IAGd0D,KAAM,EAGN9E,QAASA,IAGW,oBAAXhC,SACTsC,EAAOG,GAAGzC,OAAOkB,UAAYG,EAAIrB,OAAOkB,WAI1CoB,EAAOiB,KAAK,uEAAuEwD,MAAM,MAAM,SAAUC,EAAIxH,GAC3GmC,EAAW,WAAanC,EAAO,KAAOA,EAAKyH,iBAkBtC3E,GACR,6B,kCC9UD,WAaC,KAbD,aACE,aAEA,OAAO,SAAoBnB,GAQzB,MAAsB,oBAARA,GAA8C,kBAAjBA,EAAI+F,UAA6C,oBAAb/F,EAAIgG,OAEtF,+B,gBCbD,WAIC,KAJD,aACE,aAEA,OAAOC,OAAOC,UACf,+B,gBCJD,UAAO,CAAC,YAEP,KAF6B,EAAF,aAE3B,4B,gBCFD,QACA,EAAO,CAAC,KAAW,KAAmB,KAAqB,MAAoB,YAsF9E,KAtF2G,EAAF,SAAY/E,EAAQ+E,EAAUpF,EAAYqF,GAClJ,aAEA,IAAIC,EAKJC,EAAa,sCACT9E,EAAOJ,EAAOG,GAAGC,KAAO,SAAUH,EAAUC,EAASiF,GACvD,IAAIC,EAAOhE,EAEX,IAAKnB,EACH,OAAOS,KAOT,GAFAyE,EAAOA,GAAQF,EAES,kBAAbhF,EAAuB,CAShC,KANEmF,EAFkB,MAAhBnF,EAAS,IAAgD,MAAlCA,EAASA,EAASK,OAAS,IAAcL,EAASK,QAAU,EAE7E,CAAC,KAAML,EAAU,MAEjBiF,EAAWG,KAAKpF,MAIZmF,EAAM,IAAOlF,EAgCpB,OAAKA,GAAWA,EAAQM,QACrBN,GAAWiF,GAAMG,KAAKrF,GAGvBS,KAAK5B,YAAYoB,GAASoF,KAAKrF,GAlCtC,GAAImF,EAAM,GAAI,CAMZ,GALAlF,EAAUA,aAAmBF,EAASE,EAAQ,GAAKA,EAGnDF,EAAOe,MAAML,KAAMV,EAAOuF,UAAUH,EAAM,GAAIlF,GAAWA,EAAQ0E,SAAW1E,EAAQsF,eAAiBtF,EAAU6E,GAAU,IAErHC,EAAWS,KAAKL,EAAM,KAAOpF,EAAO4C,cAAc1C,GACpD,IAAKkF,KAASlF,EAERP,EAAWe,KAAK0E,IAClB1E,KAAK0E,GAAOlF,EAAQkF,IAEpB1E,KAAKgF,KAAKN,EAAOlF,EAAQkF,IAK/B,OAAO1E,KAUP,OARAU,EAAO2D,EAASY,eAAeP,EAAM,OAInC1E,KAAK,GAAKU,EACVV,KAAKJ,OAAS,GAGTI,KAUN,OAAIT,EAAS2E,UAClBlE,KAAK,GAAKT,EACVS,KAAKJ,OAAS,EACPI,MAEEf,EAAWM,QACE8C,IAAfoC,EAAKS,MAAsBT,EAAKS,MAAM3F,GAC7CA,EAASD,GAGJA,EAAOgE,UAAU/D,EAAUS,OAOpC,OAHAN,EAAK7B,UAAYyB,EAAOG,GAExB8E,EAAajF,EAAO+E,GACb3E,GACR,4B,gBCvFD,UAAO,CAAC,YAIP,KAJmB,EAAF,SAAYyF,GAC5B,aAEA,OAAO,IAAIA,GACZ,4B,iBCJD,WAQC,KARD,aACE,aAMA,OAJA,SAAkBzE,EAAMlE,GACtB,OAAOkE,EAAK0E,UAAY1E,EAAK0E,SAASnB,gBAAkBzH,EAAKyH,gBAIhE,+B,gBCRD,WAMC,KAND,aACE,aAIA,MAAO,qBACR,+B,iBCND,WAIC,KAJD,aACE,aAEA,MAAO,IACR,+B,gBCJD,UAAO,CAAC,KAAW,MAAkB,WAyDpC,KAzD0D,EAAF,SAAY3E,EAAQF,EAAQH,GACnF,aAuDA,OApDa,SAASoG,EAAOlF,EAAOV,EAAIjC,EAAKN,EAAOoI,EAAWC,EAAUC,GACvE,IAAIvJ,EAAI,EACJoF,EAAMlB,EAAMP,OACZ6F,EAAc,MAAPjI,EAEX,GAAoB,WAAhB4B,EAAO5B,GAGT,IAAKvB,KAFLqJ,GAAY,EAEF9H,EACR6H,EAAOlF,EAAOV,EAAIxD,EAAGuB,EAAIvB,IAAI,EAAMsJ,EAAUC,QAG1C,QAAcnD,IAAVnF,IACToI,GAAY,EAEPrG,EAAW/B,KACdsI,GAAM,GAGJC,IAEED,GACF/F,EAAGrD,KAAK+D,EAAOjD,GACfuC,EAAK,OAELgG,EAAOhG,EAEPA,EAAK,SAAYiB,EAAMgF,EAAMxI,GAC3B,OAAOuI,EAAKrJ,KAAKkD,EAAOoB,GAAOxD,MAKjCuC,GACF,KAAOxD,EAAIoF,EAAKpF,IACdwD,EAAGU,EAAMlE,GAAIuB,EAAKgI,EAAMtI,EAAQA,EAAMd,KAAK+D,EAAMlE,GAAIA,EAAGwD,EAAGU,EAAMlE,GAAIuB,KAK3E,OAAI8H,EACKnF,EAILsF,EACKhG,EAAGrD,KAAK+D,GAGVkB,EAAM5B,EAAGU,EAAM,GAAI3C,GAAO+H,IAIpC,4B,gBCzDD,sBAAmD,OAAOtH,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAU,KAAkB,KAAoB,KAAuB,MAAuB,MAAoB,MAAqB,KAAe,MAAmB,MAAmB,MAAc,YAuvBjN,KAtvBE,EAAF,SAAYmB,EAAQ+E,EAAUpF,EAAY0G,EAAeC,EAAUvC,EAAOwC,GACzE,aAEA,IAAIC,EAAM,OACNC,EAAQ,OACRC,EAAa,gBACbC,EAAW,6BAGXC,EAAa,iBACbC,EAAY,QAWhBC,EAAa,GAObC,EAAa,GAEbC,EAAW,KAAKC,OAAO,KAEvBC,EAAenC,EAASoC,cAAc,KAGtC,SAASC,EAA4BC,GAEnC,OAAO,SAAUC,EAAoBC,GACD,kBAAvBD,IACTC,EAAOD,EACPA,EAAqB,KAGvB,IAAIE,EACA7K,EAAI,EACJ8K,EAAYH,EAAmB3C,cAAcS,MAAMiB,IAAkB,GAEzE,GAAI1G,EAAW4H,GAEb,KAAOC,EAAWC,EAAU9K,MAEN,MAAhB6K,EAAS,IACXA,EAAWA,EAASnG,MAAM,IAAM,KAC/BgG,EAAUG,GAAYH,EAAUG,IAAa,IAAIE,QAAQH,KAEzDF,EAAUG,GAAYH,EAAUG,IAAa,IAAIrI,KAAKoI,IAQjE,SAASI,EAA8BN,EAAWhF,EAASuF,EAAiBC,GAC1E,IAAIC,EAAY,GACZC,EAAmBV,IAAcN,EAErC,SAASiB,EAAQR,GACf,IAAIS,EAaJ,OAZAH,EAAUN,IAAY,EACtBxH,EAAOiB,KAAKoG,EAAUG,IAAa,IAAI,SAAUU,EAAGC,GAClD,IAAIC,EAAsBD,EAAmB9F,EAASuF,EAAiBC,GAEvE,MAAmC,kBAAxBO,GAAqCL,GAAqBD,EAAUM,GAIpEL,IACAE,EAAWG,QADf,GAHL/F,EAAQoF,UAAUC,QAAQU,GAC1BJ,EAAQI,IACD,MAKJH,EAGT,OAAOD,EAAQ3F,EAAQoF,UAAU,MAAQK,EAAU,MAAQE,EAAQ,KAMrE,SAASK,EAAW3F,EAAQJ,GAC1B,IAAIpE,EACAyE,EACA2F,EAActI,EAAOuI,aAAaD,aAAe,GAErD,IAAKpK,KAAOoE,OACOS,IAAbT,EAAIpE,MACLoK,EAAYpK,GAAOwE,EAASC,IAASA,EAAO,KAAKzE,GAAOoE,EAAIpE,IAQjE,OAJIyE,GACF3C,EAAOoC,QAAO,EAAMM,EAAQC,GAGvBD,EA4oBT,OAptBAwE,EAAasB,KAAOlC,EAASkC,KAuO7BxI,EAAOoC,OAAO,CAEZqG,OAAQ,EAERC,aAAc,GACdC,KAAM,GACNJ,aAAc,CACZK,IAAKtC,EAASkC,KACdjI,KAAM,MACNsI,QAzQa,4DAyQWpD,KAAKa,EAASwC,UACtCC,QAAQ,EACRC,aAAa,EACbC,OAAO,EACPC,YAAa,mDAabC,QAAS,CACP,IAAKnC,EACLoC,KAAM,aACNC,KAAM,YACNC,IAAK,4BACLC,KAAM,qCAERC,SAAU,CACRF,IAAK,UACLD,KAAM,SACNE,KAAM,YAERE,eAAgB,CACdH,IAAK,cACLF,KAAM,eACNG,KAAM,gBAIRG,WAAY,CAEV,SAAUC,OAEV,aAAa,EAEb,YAAaC,KAAKC,MAElB,WAAY7J,EAAO8J,UAMrBxB,YAAa,CACXM,KAAK,EACL1I,SAAS,IAMb6J,UAAW,SAAmBrH,EAAQsH,GACpC,OAAOA,EACP3B,EAAWA,EAAW3F,EAAQ1C,EAAOuI,cAAeyB,GACpD3B,EAAWrI,EAAOuI,aAAc7F,IAElCuH,cAAe7C,EAA4BN,GAC3CoD,cAAe9C,EAA4BL,GAE3CoD,KAAM,SAAcvB,EAAKvG,GAEF,WAAjB1D,EAAQiK,KACVvG,EAAUuG,EACVA,OAAM7F,GAIRV,EAAUA,GAAW,GAErB,IAAI+H,EAEJC,EAEAC,EACIC,EAEJC,EAEAC,EAEAC,EAEAC,EAEAhO,EAEAiO,EAEAlM,EAAIsB,EAAO+J,UAAU,GAAI1H,GAEzBwI,EAAkBnM,EAAEwB,SAAWxB,EAE/BoM,EAAqBpM,EAAEwB,UAAY2K,EAAgBjG,UAAYiG,EAAgBrK,QAAUR,EAAO6K,GAAmB7K,EAAO+K,MAE1HC,EAAWhL,EAAOiL,WACdC,EAAmBlL,EAAOmL,UAAU,eAExCC,EAAc1M,EAAE2M,YAAc,GAE9BC,EAAiB,GACbC,EAAsB,GAE1BC,EAAW,WAEX3D,EAAQ,CACN4D,WAAY,EAEZC,kBAAmB,SAA2BxN,GAC5C,IAAIkH,EAEJ,GAAIsF,EAAW,CACb,IAAKH,EAGH,IAFAA,EAAkB,GAEXnF,EAAQuB,EAAStB,KAAKiF,IAC3BC,EAAgBnF,EAAM,GAAGT,cAAgB,MAAQ4F,EAAgBnF,EAAM,GAAGT,cAAgB,MAAQ,IAAIsC,OAAO7B,EAAM,IAIvHA,EAAQmF,EAAgBrM,EAAIyG,cAAgB,KAG9C,OAAgB,MAATS,EAAgB,KAAOA,EAAMuG,KAAK,OAG3CC,sBAAuB,WACrB,OAAOlB,EAAYJ,EAAwB,MAG7CuB,iBAAkB,SAA0B3O,EAAMU,GAMhD,OALiB,MAAb8M,IACFxN,EAAOqO,EAAoBrO,EAAKyH,eAAiB4G,EAAoBrO,EAAKyH,gBAAkBzH,EAC5FoO,EAAepO,GAAQU,GAGlB8C,MAGToL,iBAAkB,SAA0BvL,GAK1C,OAJiB,MAAbmK,IACFhM,EAAEqN,SAAWxL,GAGRG,MAGT2K,WAAY,SAAoBlK,GAC9B,IAAI0C,EAEJ,GAAI1C,EACF,GAAIuJ,EAEF7C,EAAMmE,OAAO7K,EAAI0G,EAAMoE,cAGvB,IAAKpI,KAAQ1C,EACXiK,EAAYvH,GAAQ,CAACuH,EAAYvH,GAAO1C,EAAI0C,IAKlD,OAAOnD,MAGTwL,MAAO,SAAeC,GACpB,IAAIC,EAAYD,GAAcX,EAO9B,OALIpB,GACFA,EAAU8B,MAAME,GAGlBC,EAAK,EAAGD,GACD1L,OAeX,GAVAsK,EAASsB,QAAQzE,GAIjBnJ,EAAEkK,MAAQA,GAAOlK,EAAEkK,KAAOtC,EAASkC,MAAQ,IAAIrF,QAAQ0D,EAAWP,EAASwC,SAAW,MAEtFpK,EAAE6B,KAAO8B,EAAQkK,QAAUlK,EAAQ9B,MAAQ7B,EAAE6N,QAAU7N,EAAE6B,KAEzD7B,EAAE+I,WAAa/I,EAAE8I,UAAY,KAAK7C,cAAcS,MAAMiB,IAAkB,CAAC,IAEpD,MAAjB3H,EAAE8N,YAAqB,CACzB/B,EAAY1F,EAASoC,cAAc,KAInC,IACEsD,EAAUjC,KAAO9J,EAAEkK,IAGnB6B,EAAUjC,KAAOiC,EAAUjC,KAC3B9J,EAAE8N,YAActF,EAAa4B,SAAW,KAAO5B,EAAauF,OAAShC,EAAU3B,SAAW,KAAO2B,EAAUgC,KAC3G,MAAOC,GAGPhO,EAAE8N,aAAc,GAYpB,GAPI9N,EAAEiO,MAAQjO,EAAEsK,aAAiC,kBAAXtK,EAAEiO,OACtCjO,EAAEiO,KAAO3M,EAAO4M,MAAMlO,EAAEiO,KAAMjO,EAAEmO,cAIlClF,EAA8Bb,EAAYpI,EAAG2D,EAASwF,GAElD6C,EACF,OAAO7C,EA6DT,IAAKlL,KAxDLgO,EAAc3K,EAAO+K,OAASrM,EAAEqK,SAEO,IAApB/I,EAAOyI,UACxBzI,EAAO+K,MAAM+B,QAAQ,aAIvBpO,EAAE6B,KAAO7B,EAAE6B,KAAKwM,cAEhBrO,EAAEsO,YAAcpG,EAAWnB,KAAK/G,EAAE6B,MAIlC8J,EAAW3L,EAAEkK,IAAIzF,QAAQsD,EAAO,IAE3B/H,EAAEsO,WAkBItO,EAAEiO,MAAQjO,EAAEsK,aAAsF,KAAtEtK,EAAEwK,aAAe,IAAI9J,QAAQ,uCAClEV,EAAEiO,KAAOjO,EAAEiO,KAAKxJ,QAAQqD,EAAK,OAjB7BoE,EAAWlM,EAAEkK,IAAIvH,MAAMgJ,EAAS/J,QAE5B5B,EAAEiO,OAASjO,EAAEsK,aAAiC,kBAAXtK,EAAEiO,QACvCtC,IAAa9D,EAAOd,KAAK4E,GAAY,IAAM,KAAO3L,EAAEiO,YAE7CjO,EAAEiO,OAIK,IAAZjO,EAAEuO,QACJ5C,EAAWA,EAASlH,QAAQuD,EAAY,MACxCkE,GAAYrE,EAAOd,KAAK4E,GAAY,IAAM,KAAO,KAAOtG,EAAMS,OAASoG,GAIzElM,EAAEkK,IAAMyB,EAAWO,GAMjBlM,EAAEwO,aACAlN,EAAO0I,aAAa2B,IACtBxC,EAAMgE,iBAAiB,oBAAqB7L,EAAO0I,aAAa2B,IAG9DrK,EAAO2I,KAAK0B,IACdxC,EAAMgE,iBAAiB,gBAAiB7L,EAAO2I,KAAK0B,MAKpD3L,EAAEiO,MAAQjO,EAAEsO,aAAgC,IAAlBtO,EAAEwK,aAAyB7G,EAAQ6G,cAC/DrB,EAAMgE,iBAAiB,eAAgBnN,EAAEwK,aAI3CrB,EAAMgE,iBAAiB,SAAUnN,EAAE+I,UAAU,IAAM/I,EAAEyK,QAAQzK,EAAE+I,UAAU,IAAM/I,EAAEyK,QAAQzK,EAAE+I,UAAU,KAA0B,MAAnB/I,EAAE+I,UAAU,GAAa,KAAOT,EAAW,WAAa,IAAMtI,EAAEyK,QAAQ,MAE1KzK,EAAEyO,QACVtF,EAAMgE,iBAAiBlP,EAAG+B,EAAEyO,QAAQxQ,IAItC,GAAI+B,EAAE0O,cAAgE,IAAjD1O,EAAE0O,WAAWtQ,KAAK+N,EAAiBhD,EAAOnJ,IAAgBgM,GAE7E,OAAO7C,EAAMqE,QAYf,GARAV,EAAW,QAEXN,EAAiBmC,IAAI3O,EAAE4O,UACvBzF,EAAMwE,KAAK3N,EAAE6O,SACb1F,EAAM2F,KAAK9O,EAAE2E,OAEb+G,EAAYzC,EAA8BZ,EAAYrI,EAAG2D,EAASwF,GAI3D,CAQL,GAPAA,EAAM4D,WAAa,EAEfd,GACFG,EAAmBgC,QAAQ,WAAY,CAACjF,EAAOnJ,IAI7CgM,EACF,OAAO7C,EAILnJ,EAAEuK,OAASvK,EAAE+O,QAAU,IACzBjD,EAAe1F,OAAO4I,YAAW,WAC/B7F,EAAMqE,MAAM,aACXxN,EAAE+O,UAGP,IACE/C,GAAY,EACZN,EAAUuD,KAAKrC,EAAgBe,GAC/B,MAAOK,GAEP,GAAIhC,EACF,MAAMgC,EAIRL,GAAM,EAAGK,SA9BXL,GAAM,EAAG,gBAmCX,SAASA,EAAKJ,EAAQ2B,EAAkBC,EAAWV,GACjD,IAAIW,EACAP,EACAlK,EACA0K,EACAC,EACA7B,EAAayB,EAEblD,IAIJA,GAAY,EAERF,GACF1F,OAAOmJ,aAAazD,GAKtBJ,OAAYrH,EAEZuH,EAAwB6C,GAAW,GAEnCtF,EAAM4D,WAAaQ,EAAS,EAAI,EAAI,EAEpC6B,EAAY7B,GAAU,KAAOA,EAAS,KAAkB,MAAXA,EAEzC4B,IACFE,EA9gBR,SAA6BrP,EAAGmJ,EAAOgG,GAQrC,IAPA,IAAIK,EACA3N,EACA4N,EACAC,EACA5E,EAAW9K,EAAE8K,SACb/B,EAAY/I,EAAE+I,UAEM,MAAjBA,EAAU,IACfA,EAAU4G,aAECtL,IAAPmL,IACFA,EAAKxP,EAAEqN,UAAYlE,EAAM6D,kBAAkB,iBAK/C,GAAIwC,EACF,IAAK3N,KAAQiJ,EACX,GAAIA,EAASjJ,IAASiJ,EAASjJ,GAAMkF,KAAKyI,GAAK,CAC7CzG,EAAUC,QAAQnH,GAClB,MAMN,GAAIkH,EAAU,KAAMoG,EAClBM,EAAgB1G,EAAU,OACrB,CAEL,IAAKlH,KAAQsN,EAAW,CACtB,IAAKpG,EAAU,IAAM/I,EAAEgL,WAAWnJ,EAAO,IAAMkH,EAAU,IAAK,CAC5D0G,EAAgB5N,EAChB,MAGG6N,IACHA,EAAgB7N,GAKpB4N,EAAgBA,GAAiBC,EAMnC,GAAID,EAKF,OAJIA,IAAkB1G,EAAU,IAC9BA,EAAUC,QAAQyG,GAGbN,EAAUM,GAwdFG,CAAoB5P,EAAGmJ,EAAOgG,KAItCC,GAAa9N,EAAOkE,QAAQ,SAAUxF,EAAE+I,YAAc,GAAKzH,EAAOkE,QAAQ,OAAQxF,EAAE+I,WAAa,IACpG/I,EAAEgL,WAAW,eAAiB,cAIhCqE,EAzdN,SAAqBrP,EAAGqP,EAAUlG,EAAOiG,GACvC,IAAIS,EACAC,EACAC,EACAC,EACAC,EACAjF,EAAa,GAEjBjC,EAAY/I,EAAE+I,UAAUpG,QAExB,GAAIoG,EAAU,GACZ,IAAKgH,KAAQ/P,EAAEgL,WACbA,EAAW+E,EAAK9J,eAAiBjG,EAAEgL,WAAW+E,GAMlD,IAFAD,EAAU/G,EAAU4G,QAEbG,GAaL,GAZI9P,EAAE+K,eAAe+E,KACnB3G,EAAMnJ,EAAE+K,eAAe+E,IAAYT,IAIhCY,GAAQb,GAAapP,EAAEkQ,aAC1Bb,EAAWrP,EAAEkQ,WAAWb,EAAUrP,EAAE8I,WAGtCmH,EAAOH,EACPA,EAAU/G,EAAU4G,QAIlB,GAAgB,MAAZG,EACFA,EAAUG,OACL,GAAa,MAATA,GAAgBA,IAASH,EAAS,CAI3C,KAFAC,EAAO/E,EAAWiF,EAAO,IAAMH,IAAY9E,EAAW,KAAO8E,IAG3D,IAAKD,KAAS7E,EAIZ,IAFAgF,EAAMH,EAAM9J,MAAM,MAEV,KAAO+J,IAEbC,EAAO/E,EAAWiF,EAAO,IAAMD,EAAI,KAAOhF,EAAW,KAAOgF,EAAI,KAEtD,EAEK,IAATD,EACFA,EAAO/E,EAAW6E,IACa,IAAtB7E,EAAW6E,KACpBC,EAAUE,EAAI,GACdjH,EAAUC,QAAQgH,EAAI,KAGxB,MAOR,IAAa,IAATD,EAEF,GAAIA,GAAQ/P,EAAEmQ,OACZd,EAAWU,EAAKV,QAEhB,IACEA,EAAWU,EAAKV,GAChB,MAAOrB,GACP,MAAO,CACLoC,MAAO,cACPzL,MAAOoL,EAAO/B,EAAI,sBAAwBiC,EAAO,OAASH,IASxE,MAAO,CACLM,MAAO,UACPnC,KAAMoB,GAoYOgB,CAAYrQ,EAAGqP,EAAUlG,EAAOiG,GAEvCA,GAEEpP,EAAEwO,cACJc,EAAWnG,EAAM6D,kBAAkB,oBAGjC1L,EAAO0I,aAAa2B,GAAY2D,IAGlCA,EAAWnG,EAAM6D,kBAAkB,WAGjC1L,EAAO2I,KAAK0B,GAAY2D,IAKb,MAAX/B,GAA6B,SAAXvN,EAAE6B,KACtB4L,EAAa,YACO,MAAXF,EACTE,EAAa,eAEbA,EAAa4B,EAASe,MACtBvB,EAAUQ,EAASpB,KAEnBmB,IADAzK,EAAQ0K,EAAS1K,UAKnBA,EAAQ8I,GAEJF,GAAWE,IACbA,EAAa,QAETF,EAAS,IACXA,EAAS,KAMfpE,EAAMoE,OAASA,EACfpE,EAAMsE,YAAcyB,GAAoBzB,GAAc,GAElD2B,EACF9C,EAASgE,YAAYnE,EAAiB,CAAC0C,EAASpB,EAAYtE,IAE5DmD,EAASiE,WAAWpE,EAAiB,CAAChD,EAAOsE,EAAY9I,IAI3DwE,EAAMwD,WAAWD,GACjBA,OAAcrI,EAEV4H,GACFG,EAAmBgC,QAAQgB,EAAY,cAAgB,YAAa,CAACjG,EAAOnJ,EAAGoP,EAAYP,EAAUlK,IAIvG6H,EAAiBgE,SAASrE,EAAiB,CAAChD,EAAOsE,IAE/CxB,IACFG,EAAmBgC,QAAQ,eAAgB,CAACjF,EAAOnJ,MAE3CsB,EAAOyI,QACbzI,EAAO+K,MAAM+B,QAAQ,cAK3B,OAAOjF,GAETsH,QAAS,SAAiBvG,EAAK+D,EAAMzL,GACnC,OAAOlB,EAAOxC,IAAIoL,EAAK+D,EAAMzL,EAAU,SAEzCkO,UAAW,SAAmBxG,EAAK1H,GACjC,OAAOlB,EAAOxC,IAAIoL,OAAK7F,EAAW7B,EAAU,aAGhDlB,EAAOiB,KAAK,CAAC,MAAO,SAAS,SAAUyD,EAAI6H,GACzCvM,EAAOuM,GAAU,SAAU3D,EAAK+D,EAAMzL,EAAUX,GAS9C,OAPIZ,EAAWgN,KACbpM,EAAOA,GAAQW,EACfA,EAAWyL,EACXA,OAAO5J,GAIF/C,EAAOmK,KAAKnK,EAAOoC,OAAO,CAC/BwG,IAAKA,EACLrI,KAAMgM,EACN/E,SAAUjH,EACVoM,KAAMA,EACNY,QAASrM,GACRlB,EAAO4C,cAAcgG,IAAQA,QAGpC5I,EAAOiK,eAAc,SAAUvL,GAC7B,IAAI/B,EAEJ,IAAKA,KAAK+B,EAAEyO,QACc,iBAApBxQ,EAAEgI,gBACJjG,EAAEwK,YAAcxK,EAAEyO,QAAQxQ,IAAM,OAI/BqD,GACR,4B,gBCzvBD,sBAAmD,OAAOrB,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,MAAqB,YAa5B,KAbgD,EAAF,SAAYQ,EAAYC,GACrE,aAWA,OATA,SAAgBT,GACd,OAAW,MAAPA,EACKA,EAAM,GAIS,WAAjBF,EAAQE,IAAoC,oBAARA,EAAqBQ,EAAWC,EAASxC,KAAK+B,KAAS,SAAWF,EAAQE,KAIxH,4B,gBCfD,UAAO,CAAC,KAAU,MAAkB,MAAiB,MAAwB,MAA6B,MAAkC,KAAmB,KAAe,MAA2B,WA6JxM,KA7JuN,EAAF,SAAYmB,EAAQhB,EAAUI,EAASiQ,EAAKC,EAAWC,EAAezJ,GAC1R,aAEA,IAAI0J,EAAe,iCAEnBC,EAAmB,CACjBC,UAAU,EACVlG,UAAU,EACVmG,MAAM,EACNhB,MAAM,GA8DR,SAASiB,EAAQC,EAAKR,GACpB,MAAQQ,EAAMA,EAAIR,KAA0B,IAAjBQ,EAAIjL,WAE/B,OAAOiL,EAkFT,OAjJA7P,EAAOG,GAAGiC,OAAO,CACf0N,IAAK,SAAapN,GAChB,IAAIqN,EAAU/P,EAAO0C,EAAQhC,MACzB9D,EAAImT,EAAQzP,OAChB,OAAOI,KAAKsP,QAAO,WAGjB,IAFA,IAAIrT,EAAI,EAEDA,EAAIC,EAAGD,IACZ,GAAIqD,EAAOiQ,SAASvP,KAAMqP,EAAQpT,IAChC,OAAO,MAKfuT,QAAS,SAAiBC,EAAWjQ,GACnC,IAAI2P,EACAlT,EAAI,EACJC,EAAI8D,KAAKJ,OACT8P,EAAU,GACVL,EAA+B,kBAAdI,GAA0BnQ,EAAOmQ,GAEtD,IAAKZ,EAAc9J,KAAK0K,GACtB,KAAOxT,EAAIC,EAAGD,IACZ,IAAKkT,EAAMnP,KAAK/D,GAAIkT,GAAOA,IAAQ3P,EAAS2P,EAAMA,EAAIQ,WAEpD,GAAIR,EAAIjL,SAAW,KAAOmL,EAAUA,EAAQO,MAAMT,IAAQ,EACzC,IAAjBA,EAAIjL,UAAkB5E,EAAOsF,KAAKiL,gBAAgBV,EAAKM,IAAa,CAClEC,EAAQjR,KAAK0Q,GACb,MAMR,OAAOnP,KAAKE,UAAUwP,EAAQ9P,OAAS,EAAIN,EAAOwQ,WAAWJ,GAAWA,IAG1EE,MAAO,SAAelP,GAEpB,OAAKA,EAKe,kBAATA,EACFhC,EAAQtC,KAAKkD,EAAOoB,GAAOV,KAAK,IAIlCtB,EAAQtC,KAAK4D,KACpBU,EAAKZ,OAASY,EAAK,GAAKA,GAVfV,KAAK,IAAMA,KAAK,GAAG2P,WAAa3P,KAAKc,QAAQiP,UAAUnQ,QAAU,GAY5E+M,IAAK,SAAapN,EAAUC,GAC1B,OAAOQ,KAAKE,UAAUZ,EAAOwQ,WAAWxQ,EAAOe,MAAML,KAAKlD,MAAOwC,EAAOC,EAAUC,OAEpFwQ,QAAS,SAAiBzQ,GACxB,OAAOS,KAAK2M,IAAgB,MAAZpN,EAAmBS,KAAKM,WAAaN,KAAKM,WAAWgP,OAAO/P,OAUhFD,EAAOiB,KAAK,CACV0P,OAAQ,SAAgBvP,GACtB,IAAIuP,EAASvP,EAAKiP,WAClB,OAAOM,GAA8B,KAApBA,EAAO/L,SAAkB+L,EAAS,MAErDC,QAAS,SAAiBxP,GACxB,OAAOiO,EAAIjO,EAAM,eAEnByP,aAAc,SAAsBzP,EAAMsD,EAAIoM,GAC5C,OAAOzB,EAAIjO,EAAM,aAAc0P,IAEjCnB,KAAM,SAAcvO,GAClB,OAAOwO,EAAQxO,EAAM,gBAEvBuN,KAAM,SAAcvN,GAClB,OAAOwO,EAAQxO,EAAM,oBAEvB2P,QAAS,SAAiB3P,GACxB,OAAOiO,EAAIjO,EAAM,gBAEnBqP,QAAS,SAAiBrP,GACxB,OAAOiO,EAAIjO,EAAM,oBAEnB4P,UAAW,SAAmB5P,EAAMsD,EAAIoM,GACtC,OAAOzB,EAAIjO,EAAM,cAAe0P,IAElCG,UAAW,SAAmB7P,EAAMsD,EAAIoM,GACtC,OAAOzB,EAAIjO,EAAM,kBAAmB0P,IAEtCI,SAAU,SAAkB9P,GAC1B,OAAOkO,GAAWlO,EAAKiP,YAAc,IAAIc,WAAY/P,IAEvDsO,SAAU,SAAkBtO,GAC1B,OAAOkO,EAAUlO,EAAK+P,aAExB3H,SAAU,SAAkBpI,GAC1B,OAA4B,MAAxBA,EAAKgQ,iBAGTpS,EAASoC,EAAKgQ,iBACLhQ,EAAKgQ,iBAMVtL,EAAS1E,EAAM,cACjBA,EAAOA,EAAKiQ,SAAWjQ,GAGlBpB,EAAOe,MAAM,GAAIK,EAAKkQ,gBAE9B,SAAUpU,EAAMiD,GACjBH,EAAOG,GAAGjD,GAAQ,SAAU4T,EAAO7Q,GACjC,IAAImQ,EAAUpQ,EAAOmB,IAAIT,KAAMP,EAAI2Q,GAsBnC,MApBuB,UAAnB5T,EAAKmE,OAAO,KACdpB,EAAW6Q,GAGT7Q,GAAgC,kBAAbA,IACrBmQ,EAAUpQ,EAAOgQ,OAAO/P,EAAUmQ,IAGhC1P,KAAKJ,OAAS,IAEXmP,EAAiBvS,IACpB8C,EAAOwQ,WAAWJ,GAIhBZ,EAAa/J,KAAKvI,IACpBkT,EAAQmB,WAIL7Q,KAAKE,UAAUwP,OAGnBpQ,GACR,4B,gBC7JD,sBAAmD,OAAOrB,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAU,KAAoB,MAAe,YA4RpD,KA5RoE,EAAF,SAAYmB,EAAQL,EAAY0B,GACjG,aAEA,SAASmQ,EAASC,GAChB,OAAOA,EAGT,SAASC,EAAQC,GACf,MAAMA,EAGR,SAASC,EAAWhU,EAAOiU,EAASC,EAAQC,GAC1C,IAAIxF,EAEJ,IAEM3O,GAAS+B,EAAW4M,EAAS3O,EAAM0O,SACrCC,EAAOzP,KAAKc,GAAOyO,KAAKwF,GAASrE,KAAKsE,GAC7BlU,GAAS+B,EAAW4M,EAAS3O,EAAMoU,MAC5CzF,EAAOzP,KAAKc,EAAOiU,EAASC,GAK5BD,EAAQvQ,WAAMyB,EAAW,CAACnF,GAAOyD,MAAM0Q,IAKzC,MAAOnU,GAGPkU,EAAOxQ,WAAMyB,EAAW,CAACnF,KA2P7B,OAvPAoC,EAAOoC,OAAO,CACZ6I,SAAU,SAAkB1D,GAC1B,IAAI0K,EAAS,CAEb,CAAC,SAAU,WAAYjS,EAAOmL,UAAU,UAAWnL,EAAOmL,UAAU,UAAW,GAAI,CAAC,UAAW,OAAQnL,EAAOmL,UAAU,eAAgBnL,EAAOmL,UAAU,eAAgB,EAAG,YAAa,CAAC,SAAU,OAAQnL,EAAOmL,UAAU,eAAgBnL,EAAOmL,UAAU,eAAgB,EAAG,aAC7Q+G,EAAS,UACTC,EAAW,CACbrD,MAAO,WACL,OAAOoD,GAETlG,OAAQ,WAEN,OADAhB,EAASqB,KAAK9K,WAAWiM,KAAKjM,WACvBb,MAET,MAAS,SAAgBP,GACvB,OAAOgS,EAASH,KAAK,KAAM7R,IAG7BiS,KAAM,WAGJ,IAAIC,EAAM9Q,UACV,OAAOvB,EAAOiL,UAAS,SAAUqH,GAC/BtS,EAAOiB,KAAKgR,GAAQ,SAAUvN,EAAI6N,GAEhC,IAAIpS,EAAKR,EAAW0S,EAAIE,EAAM,MAAQF,EAAIE,EAAM,IAIhDvH,EAASuH,EAAM,KAAI,WACjB,IAAIC,EAAWrS,GAAMA,EAAGmB,MAAMZ,KAAMa,WAEhCiR,GAAY7S,EAAW6S,EAASlG,SAClCkG,EAASlG,UAAUmG,SAASH,EAASI,QAAQrG,KAAKiG,EAAST,SAASrE,KAAK8E,EAASR,QAElFQ,EAASC,EAAM,GAAK,QAAQ7R,KAAMP,EAAK,CAACqS,GAAYjR,iBAI1D8Q,EAAM,QACL/F,WAEL0F,KAAM,SAAcW,EAAaC,EAAYC,GAC3C,IAAIC,EAAW,EAEf,SAASjB,EAAQkB,EAAO/H,EAAUgI,EAASC,GACzC,OAAO,WACL,IAAIC,EAAOxS,KACPyS,EAAO5R,UACP6R,EAAa,WACf,IAAIZ,EAAUR,EAId,KAAIe,EAAQD,GAAZ,CAOA,IAHAN,EAAWQ,EAAQ1R,MAAM4R,EAAMC,MAGdnI,EAASsB,UACxB,MAAM,IAAI+G,UAAU,4BAOtBrB,EAAOQ,IAGe,WAAtB7T,EAAQ6T,IAA8C,oBAAbA,IAA4BA,EAASR,KAE1ErS,EAAWqS,GAETiB,EACFjB,EAAKlV,KAAK0V,EAAUX,EAAQiB,EAAU9H,EAAUwG,EAAUyB,GAAUpB,EAAQiB,EAAU9H,EAAU0G,EAASuB,KAGzGH,IACAd,EAAKlV,KAAK0V,EAAUX,EAAQiB,EAAU9H,EAAUwG,EAAUyB,GAAUpB,EAAQiB,EAAU9H,EAAU0G,EAASuB,GAAUpB,EAAQiB,EAAU9H,EAAUwG,EAAUxG,EAASsI,eAMhKN,IAAYxB,IACd0B,OAAOnQ,EACPoQ,EAAO,CAACX,KAKTS,GAAWjI,EAASgE,aAAakE,EAAMC,MAI5CI,EAAUN,EAAUG,EAAa,WAC/B,IACEA,IACA,MAAO1G,GACH1M,EAAOiL,SAASuI,eAClBxT,EAAOiL,SAASuI,cAAc9G,EAAG6G,EAAQE,YAMvCV,EAAQ,GAAKD,IAGXE,IAAYtB,IACdwB,OAAOnQ,EACPoQ,EAAO,CAACzG,IAGV1B,EAASiE,WAAWiE,EAAMC,MAS5BJ,EACFQ,KAIIvT,EAAOiL,SAASyI,eAClBH,EAAQE,WAAazT,EAAOiL,SAASyI,gBAGvC5O,OAAO4I,WAAW6F,KAKxB,OAAOvT,EAAOiL,UAAS,SAAUqH,GAE/BL,EAAO,GAAG,GAAG5E,IAAIwE,EAAQ,EAAGS,EAAU3S,EAAWkT,GAAcA,EAAarB,EAAUc,EAASgB,aAE/FrB,EAAO,GAAG,GAAG5E,IAAIwE,EAAQ,EAAGS,EAAU3S,EAAWgT,GAAeA,EAAcnB,IAE9ES,EAAO,GAAG,GAAG5E,IAAIwE,EAAQ,EAAGS,EAAU3S,EAAWiT,GAAcA,EAAalB,OAC3EpF,WAILA,QAAS,SAAiBzN,GACxB,OAAc,MAAPA,EAAcmB,EAAOoC,OAAOvD,EAAKsT,GAAYA,IAGpDnH,EAAW,GAkDf,OAhDAhL,EAAOiB,KAAKgR,GAAQ,SAAUtV,EAAG4V,GAC/B,IAAIoB,EAAOpB,EAAM,GACbqB,EAAcrB,EAAM,GAIxBJ,EAASI,EAAM,IAAMoB,EAAKtG,IAEtBuG,GACFD,EAAKtG,KAAI,WAGP6E,EAAS0B,IAGX3B,EAAO,EAAItV,GAAG,GAAGkX,QAEjB5B,EAAO,EAAItV,GAAG,GAAGkX,QACjB5B,EAAO,GAAG,GAAG6B,KACb7B,EAAO,GAAG,GAAG6B,MAMfH,EAAKtG,IAAIkF,EAAM,GAAGwB,MAIlB/I,EAASuH,EAAM,IAAM,WAEnB,OADAvH,EAASuH,EAAM,GAAK,QAAQ7R,OAASsK,OAAWjI,EAAYrC,KAAMa,WAC3Db,MAMTsK,EAASuH,EAAM,GAAK,QAAUoB,EAAKzE,YAGrCiD,EAAS7F,QAAQtB,GAGbzD,GACFA,EAAKzK,KAAKkO,EAAUA,GAIfA,GAGTgJ,KAAM,SAAcC,GAClB,IACAC,EAAY3S,UAAUjB,OAEtB3D,EAAIuX,EAEJC,EAAkBtR,MAAMlG,GACpByX,EAAgB/S,EAAMvE,KAAKyE,WAE/B8S,EAAUrU,EAAOiL,WAEjBqJ,EAAa,SAAoB3X,GAC/B,OAAO,SAAUiB,GACfuW,EAAgBxX,GAAK+D,KACrB0T,EAAczX,GAAK4E,UAAUjB,OAAS,EAAIe,EAAMvE,KAAKyE,WAAa3D,IAE1DsW,GACNG,EAAQrF,YAAYmF,EAAiBC,KAM3C,GAAIF,GAAa,IACftC,EAAWqC,EAAaI,EAAQhI,KAAKiI,EAAW3X,IAAIkV,QAASwC,EAAQvC,QAASoC,GAEtD,YAApBG,EAAQvF,SAAyBnP,EAAWyU,EAAczX,IAAMyX,EAAczX,GAAGqV,OACnF,OAAOqC,EAAQrC,OAKnB,KAAOrV,KACLiV,EAAWwC,EAAczX,GAAI2X,EAAW3X,GAAI0X,EAAQvC,QAGtD,OAAOuC,EAAQ/H,aAGZtM,GACR,4B,gBC9RD,sBAAmD,OAAOrB,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAU,KAAkB,MAAyB,KAAoB,KAAuB,MAAwB,MAAe,MAAyB,KAAuB,KAAmB,KAAe,WAwwBhO,KAxwB+O,EAAF,SAAYmB,EAAQ+E,EAAUwP,EAAiB5U,EAAY0G,EAAemO,EAAgBnT,EAAOoT,EAAYC,EAAU5O,GACnW,aAEA,IAAI6O,EAAiB,sBAErB,SAASC,IACP,OAAO,EAGT,SAASC,IACP,OAAO,EAST,SAASC,EAAW1T,EAAMb,GACxB,OAAOa,IAMT,WACE,IACE,OAAO2D,EAASgQ,cAChB,MAAOC,KATOC,MAAkC,UAAT1U,GAY3C,SAAS2U,EAAI9T,EAAM+T,EAAOlV,EAAU0M,EAAMxM,EAAIiV,GAC5C,IAAIC,EAAQ9U,EAEZ,GAAuB,WAAnB5B,EAAQwW,GAAqB,CAQ/B,IAAK5U,IANmB,kBAAbN,IAET0M,EAAOA,GAAQ1M,EACfA,OAAW8C,GAGAoS,EACXD,EAAI9T,EAAMb,EAAMN,EAAU0M,EAAMwI,EAAM5U,GAAO6U,GAG/C,OAAOhU,EAoBT,GAjBY,MAARuL,GAAsB,MAANxM,GAElBA,EAAKF,EACL0M,EAAO1M,OAAW8C,GACH,MAAN5C,IACe,kBAAbF,GAETE,EAAKwM,EACLA,OAAO5J,IAGP5C,EAAKwM,EACLA,EAAO1M,EACPA,OAAW8C,KAIJ,IAAP5C,EACFA,EAAK0U,OACA,IAAK1U,EACV,OAAOiB,EAgBT,OAbY,IAARgU,IACFC,EAASlV,GAETA,EAAK,SAAY4K,GAGf,OADA/K,IAASsV,IAAIvK,GACNsK,EAAO/T,MAAMZ,KAAMa,aAIzBiD,KAAO6Q,EAAO7Q,OAAS6Q,EAAO7Q,KAAOxE,EAAOwE,SAG1CpD,EAAKH,MAAK,WACfjB,EAAO+K,MAAMsC,IAAI3M,KAAMyU,EAAOhV,EAAIwM,EAAM1M,MA4Y5C,SAASsV,EAAeC,EAAIjV,EAAMuU,GAE3BA,GASLJ,EAASe,IAAID,EAAIjV,GAAM,GACvBP,EAAO+K,MAAMsC,IAAImI,EAAIjV,EAAM,CACzBmV,WAAW,EACX1C,QAAS,SAAiBjI,GACxB,IAAI4K,EACAC,EACAC,EAAQnB,EAASlX,IAAIkD,KAAMH,GAE/B,GAAsB,EAAlBwK,EAAM+K,WAAiBpV,KAAKH,IAI9B,GAAKsV,EAAMvV,QAoCCN,EAAO+K,MAAMkI,QAAQ1S,IAAS,IAAIwV,cAC5ChL,EAAMiL,uBAlBN,GAfAH,EAAQxU,EAAMvE,KAAKyE,WACnBmT,EAASe,IAAI/U,KAAMH,EAAMsV,GAIzBF,EAAWb,EAAWpU,KAAMH,GAC5BG,KAAKH,KAGDsV,KAFJD,EAASlB,EAASlX,IAAIkD,KAAMH,KAEJoV,EACtBjB,EAASe,IAAI/U,KAAMH,GAAM,GAEzBqV,EAAS,GAGPC,IAAUD,EASZ,OAPA7K,EAAMkL,2BACNlL,EAAMmL,iBAMCN,GAAUA,EAAOhY,WAanBiY,EAAMvV,SAEfoU,EAASe,IAAI/U,KAAMH,EAAM,CACvB3C,MAAOoC,EAAO+K,MAAM+B,QAEpB9M,EAAOoC,OAAOyT,EAAM,GAAI7V,EAAOmW,MAAM5X,WAAYsX,EAAMxU,MAAM,GAAIX,QAGnEqK,EAAMkL,qCArEqBlT,IAA3B2R,EAASlX,IAAIgY,EAAIjV,IACnBP,EAAO+K,MAAMsC,IAAImI,EAAIjV,EAAMqU,GAgSjC,OAvqBA5U,EAAO+K,MAAQ,CACbhC,OAAQ,GACRsE,IAAK,SAAajM,EAAM+T,EAAOnC,EAASrG,EAAM1M,GAC5C,IAAImW,EACAC,EACA3H,EACA4H,EACAzY,EACA0Y,EACAtD,EACAuD,EACAjW,EACAkW,EACAC,EACAC,EAAWjC,EAASlX,IAAI4D,GAE5B,GAAKqT,EAAWrT,GAuChB,IAlCI4R,EAAQA,UAEVA,GADAoD,EAAcpD,GACQA,QACtB/S,EAAWmW,EAAYnW,UAKrBA,GACFD,EAAOsF,KAAKiL,gBAAgBgE,EAAiBtU,GAI1C+S,EAAQxO,OACXwO,EAAQxO,KAAOxE,EAAOwE,SAIlB8R,EAASK,EAASL,UACtBA,EAASK,EAASL,OAASjZ,OAAOY,OAAO,QAGrCoY,EAAcM,EAASC,UAC3BP,EAAcM,EAASC,OAAS,SAAUlK,GAGxC,MAAyB,qBAAX1M,GAA0BA,EAAO+K,MAAM8L,YAAcnK,EAAEnM,KAAOP,EAAO+K,MAAM+L,SAASxV,MAAMF,EAAMG,gBAAawB,IAM/HlF,GADAsX,GAASA,GAAS,IAAI/P,MAAMiB,IAAkB,CAAC,KACrC/F,OAEHzC,KAEL0C,EAAOmW,GADPhI,EAAMiG,EAAetP,KAAK8P,EAAMtX,KAAO,IACjB,GACtB4Y,GAAc/H,EAAI,IAAM,IAAIjK,MAAM,KAAKvC,OAElC3B,IAKL0S,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAExCA,GAAQN,EAAWgT,EAAQ8C,aAAe9C,EAAQ8D,WAAaxW,EAE/D0S,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAExCgW,EAAYvW,EAAOoC,OAAO,CACxB7B,KAAMA,EACNmW,SAAUA,EACV/J,KAAMA,EACNqG,QAASA,EACTxO,KAAMwO,EAAQxO,KACdvE,SAAUA,EACV+W,aAAc/W,GAAYD,EAAOiX,KAAK7R,MAAM4R,aAAavR,KAAKxF,GAC9DyV,UAAWe,EAAW9K,KAAK,MAC1ByK,IAEGI,EAAWF,EAAO/V,OACtBiW,EAAWF,EAAO/V,GAAQ,IACjB2W,cAAgB,EAEpBjE,EAAQkE,QAAqE,IAA5DlE,EAAQkE,MAAMra,KAAKsE,EAAMuL,EAAM8J,EAAYJ,IAC3DjV,EAAKgW,kBACPhW,EAAKgW,iBAAiB7W,EAAM8V,IAK9BpD,EAAQ5F,MACV4F,EAAQ5F,IAAIvQ,KAAKsE,EAAMmV,GAElBA,EAAUvD,QAAQxO,OACrB+R,EAAUvD,QAAQxO,KAAOwO,EAAQxO,OAKjCvE,EACFuW,EAASrU,OAAOqU,EAASU,gBAAiB,EAAGX,GAE7CC,EAASrX,KAAKoX,GAIhBvW,EAAO+K,MAAMhC,OAAOxI,IAAQ,IAIhC8W,OAAQ,SAAgBjW,EAAM+T,EAAOnC,EAAS/S,EAAUqX,GACtD,IAAItV,EACAuV,EACA7I,EACA4H,EACAzY,EACA0Y,EACAtD,EACAuD,EACAjW,EACAkW,EACAC,EACAC,EAAWjC,EAAS8C,QAAQpW,IAASsT,EAASlX,IAAI4D,GAEtD,GAAKuV,IAAcL,EAASK,EAASL,QAArC,CAQA,IAFAzY,GADAsX,GAASA,GAAS,IAAI/P,MAAMiB,IAAkB,CAAC,KACrC/F,OAEHzC,KAKL,GAHA0C,EAAOmW,GADPhI,EAAMiG,EAAetP,KAAK8P,EAAMtX,KAAO,IACjB,GACtB4Y,GAAc/H,EAAI,IAAM,IAAIjK,MAAM,KAAKvC,OAElC3B,EAAL,CAeA,IAPA0S,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAExCiW,EAAWF,EADX/V,GAAQN,EAAWgT,EAAQ8C,aAAe9C,EAAQ8D,WAAaxW,IACpC,GAC3BmO,EAAMA,EAAI,IAAM,IAAI+I,OAAO,UAAYhB,EAAW9K,KAAK,iBAAmB,WAE1E4L,EAAYvV,EAAIwU,EAASlW,OAElB0B,KACLuU,EAAYC,EAASxU,IAEhBsV,GAAeZ,IAAaH,EAAUG,UAAe1D,GAAWA,EAAQxO,OAAS+R,EAAU/R,MAAWkK,IAAOA,EAAIjJ,KAAK8Q,EAAUb,YAAiBzV,GAAYA,IAAasW,EAAUtW,WAAyB,OAAbA,IAAqBsW,EAAUtW,YAClOuW,EAASrU,OAAOH,EAAG,GAEfuU,EAAUtW,UACZuW,EAASU,gBAGPjE,EAAQoE,QACVpE,EAAQoE,OAAOva,KAAKsE,EAAMmV,IAO5BgB,IAAcf,EAASlW,SACpB2S,EAAQyE,WAAyE,IAA7DzE,EAAQyE,SAAS5a,KAAKsE,EAAMqV,EAAYE,EAASC,SACxE5W,EAAO2X,YAAYvW,EAAMb,EAAMoW,EAASC,eAGnCN,EAAO/V,SArCd,IAAKA,KAAQ+V,EACXtW,EAAO+K,MAAMsM,OAAOjW,EAAMb,EAAO4U,EAAMtX,GAAImV,EAAS/S,GAAU,GAyChED,EAAO2D,cAAc2S,IACvB5B,EAAS2C,OAAOjW,EAAM,mBAG1B0V,SAAU,SAAkBc,GAC1B,IAAIjb,EACAqF,EACAlB,EACAsP,EACAmG,EACAsB,EACA1E,EAAO,IAAItQ,MAAMtB,UAAUjB,QAE/ByK,EAAQ/K,EAAO+K,MAAM+M,IAAIF,GACrBpB,GAAY9B,EAASlX,IAAIkD,KAAM,WAAarD,OAAOY,OAAO,OAAO8M,EAAMxK,OAAS,GAChF0S,EAAUjT,EAAO+K,MAAMkI,QAAQlI,EAAMxK,OAAS,GAIlD,IAFA4S,EAAK,GAAKpI,EAELpO,EAAI,EAAGA,EAAI4E,UAAUjB,OAAQ3D,IAChCwW,EAAKxW,GAAK4E,UAAU5E,GAKtB,GAFAoO,EAAMgN,eAAiBrX,MAEnBuS,EAAQ+E,cAAyD,IAA1C/E,EAAQ+E,YAAYlb,KAAK4D,KAAMqK,GAA1D,CASA,IAJA8M,EAAe7X,EAAO+K,MAAMyL,SAAS1Z,KAAK4D,KAAMqK,EAAOyL,GAEvD7Z,EAAI,GAEIyT,EAAUyH,EAAalb,QAAUoO,EAAMkN,wBAI7C,IAHAlN,EAAMmN,cAAgB9H,EAAQhP,KAC9BY,EAAI,GAEIuU,EAAYnG,EAAQoG,SAASxU,QAAU+I,EAAMoN,iCAG9CpN,EAAMqN,aAAsC,IAAxB7B,EAAUb,YAAuB3K,EAAMqN,WAAW3S,KAAK8Q,EAAUb,aACxF3K,EAAMwL,UAAYA,EAClBxL,EAAM4B,KAAO4J,EAAU5J,UAGX5J,KAFZjC,IAAQd,EAAO+K,MAAMkI,QAAQsD,EAAUG,WAAa,IAAIE,QAAUL,EAAUvD,SAAS1R,MAAM8O,EAAQhP,KAAM+R,MAG1E,KAAxBpI,EAAM6K,OAAS9U,KAClBiK,EAAMmL,iBACNnL,EAAMiL,oBAYhB,OAJI/C,EAAQoF,cACVpF,EAAQoF,aAAavb,KAAK4D,KAAMqK,GAG3BA,EAAM6K,SAEfY,SAAU,SAAkBzL,EAAOuN,GACjC,IAAI3b,EACA4Z,EACAgC,EACAC,EACAC,EACAZ,EAAe,GACfX,EAAgBoB,EAAUpB,cAC1BrH,EAAM9E,EAAMrI,OAEhB,GAAIwU,GAEJrH,EAAIjL,YAKa,UAAfmG,EAAMxK,MAAoBwK,EAAM2N,QAAU,GAC1C,KAAO7I,IAAQnP,KAAMmP,EAAMA,EAAIQ,YAAc3P,KAG3C,GAAqB,IAAjBmP,EAAIjL,WAAmC,UAAfmG,EAAMxK,OAAqC,IAAjBsP,EAAI8I,UAAoB,CAI5E,IAHAH,EAAkB,GAClBC,EAAmB,GAEd9b,EAAI,EAAGA,EAAIua,EAAeva,SAKCoG,IAA1B0V,EAFJF,GAFAhC,EAAY+B,EAAU3b,IAENsD,SAAW,OAGzBwY,EAAiBF,GAAOhC,EAAUS,aAAehX,EAAOuY,EAAK7X,MAAM4P,MAAMT,IAAQ,EAAI7P,EAAOsF,KAAKiT,EAAK7X,KAAM,KAAM,CAACmP,IAAMvP,QAGvHmY,EAAiBF,IACnBC,EAAgBrZ,KAAKoX,GAIrBiC,EAAgBlY,QAClBuX,EAAa1Y,KAAK,CAChBiC,KAAMyO,EACN2G,SAAUgC,IAiBpB,OATA3I,EAAMnP,KAEFwW,EAAgBoB,EAAUhY,QAC5BuX,EAAa1Y,KAAK,CAChBiC,KAAMyO,EACN2G,SAAU8B,EAAUjX,MAAM6V,KAIvBW,GAETe,QAAS,SAAiB1b,EAAM2b,GAC9Bxb,OAAOC,eAAe0C,EAAOmW,MAAM5X,UAAWrB,EAAM,CAClDK,YAAY,EACZub,cAAc,EACdtb,IAAKmC,EAAWkZ,GAAQ,WACtB,GAAInY,KAAKqY,cACP,OAAOF,EAAKnY,KAAKqY,gBAEjB,WACF,GAAIrY,KAAKqY,cACP,OAAOrY,KAAKqY,cAAc7b,IAG9BuY,IAAK,SAAa7X,GAChBP,OAAOC,eAAeoD,KAAMxD,EAAM,CAChCK,YAAY,EACZub,cAAc,EACdE,UAAU,EACVpb,MAAOA,QAKfka,IAAK,SAAaiB,GAChB,OAAOA,EAAc/Y,EAAOgD,SAAW+V,EAAgB,IAAI/Y,EAAOmW,MAAM4C,IAE1E9F,QAAS,CACPgG,KAAM,CAEJC,UAAU,GAEZC,MAAO,CAELhC,MAAO,SAAexK,GAGpB,IAAI6I,EAAK9U,MAAQiM,EAQjB,OANI6H,EAAe/O,KAAK+P,EAAGjV,OAASiV,EAAG2D,OAASrT,EAAS0P,EAAI,UAE3DD,EAAeC,EAAI,QAASZ,IAIvB,GAET9H,QAAS,SAAiBH,GAGxB,IAAI6I,EAAK9U,MAAQiM,EAOjB,OALI6H,EAAe/O,KAAK+P,EAAGjV,OAASiV,EAAG2D,OAASrT,EAAS0P,EAAI,UAC3DD,EAAeC,EAAI,UAId,GAIT4D,SAAU,SAAkBrO,GAC1B,IAAIrI,EAASqI,EAAMrI,OACnB,OAAO8R,EAAe/O,KAAK/C,EAAOnC,OAASmC,EAAOyW,OAASrT,EAASpD,EAAQ,UAAYgS,EAASlX,IAAIkF,EAAQ,UAAYoD,EAASpD,EAAQ,OAG9I2W,aAAc,CACZhB,aAAc,SAAsBtN,QAGbhI,IAAjBgI,EAAM6K,QAAwB7K,EAAMgO,gBACtChO,EAAMgO,cAAcO,YAAcvO,EAAM6K,YAwFlD5V,EAAO2X,YAAc,SAAUvW,EAAMb,EAAMqW,GAErCxV,EAAKmY,qBACPnY,EAAKmY,oBAAoBhZ,EAAMqW,IAInC5W,EAAOmW,MAAQ,SAAU7T,EAAKkX,GAE5B,KAAM9Y,gBAAgBV,EAAOmW,OAC3B,OAAO,IAAInW,EAAOmW,MAAM7T,EAAKkX,GAI3BlX,GAAOA,EAAI/B,MACbG,KAAKqY,cAAgBzW,EACrB5B,KAAKH,KAAO+B,EAAI/B,KAGhBG,KAAK+Y,mBAAqBnX,EAAIoX,uBAA6C3W,IAAzBT,EAAIoX,mBAClC,IAApBpX,EAAIgX,YAAwB1E,EAAaC,EAIzCnU,KAAKgC,OAASJ,EAAII,QAAkC,IAAxBJ,EAAII,OAAOkC,SAAiBtC,EAAII,OAAO2N,WAAa/N,EAAII,OACpFhC,KAAKwX,cAAgB5V,EAAI4V,cACzBxX,KAAKiZ,cAAgBrX,EAAIqX,eAEzBjZ,KAAKH,KAAO+B,EAIVkX,GACFxZ,EAAOoC,OAAO1B,KAAM8Y,GAItB9Y,KAAKkZ,UAAYtX,GAAOA,EAAIsX,WAAaC,KAAKC,MAE9CpZ,KAAKV,EAAOgD,UAAW,GAKzBhD,EAAOmW,MAAM5X,UAAY,CACvBO,YAAakB,EAAOmW,MACpBsD,mBAAoB5E,EACpBoD,qBAAsBpD,EACtBsD,8BAA+BtD,EAC/BkF,aAAa,EACb7D,eAAgB,WACd,IAAIxJ,EAAIhM,KAAKqY,cACbrY,KAAK+Y,mBAAqB7E,EAEtBlI,IAAMhM,KAAKqZ,aACbrN,EAAEwJ,kBAGNF,gBAAiB,WACf,IAAItJ,EAAIhM,KAAKqY,cACbrY,KAAKuX,qBAAuBrD,EAExBlI,IAAMhM,KAAKqZ,aACbrN,EAAEsJ,mBAGNC,yBAA0B,WACxB,IAAIvJ,EAAIhM,KAAKqY,cACbrY,KAAKyX,8BAAgCvD,EAEjClI,IAAMhM,KAAKqZ,aACbrN,EAAEuJ,2BAGJvV,KAAKsV,oBAIThW,EAAOiB,KAAK,CACV+Y,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,gBAAgB,EAChBC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,UAAU,EACVC,MAAM,EACN,MAAQ,EACR9W,MAAM,EACN+W,UAAU,EACV1c,KAAK,EACL2c,SAAS,EACTnC,QAAQ,EACRoC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTC,OAAO,GACN1b,EAAO+K,MAAM6N,SAChB5Y,EAAOiB,KAAK,CACV0a,MAAO,UACPC,KAAM,aACL,SAAUrb,EAAMwV,GACjB/V,EAAO+K,MAAMkI,QAAQ1S,GAAQ,CAE3B4W,MAAO,WAML,OAFA5B,EAAe7U,KAAMH,EAAMuU,IAEpB,GAEThI,QAAS,WAIP,OAFAyI,EAAe7U,KAAMH,IAEd,GAIT6Y,SAAU,WACR,OAAO,GAETrD,aAAcA,MAWlB/V,EAAOiB,KAAK,CACV4a,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,eACb,SAAUC,EAAMnE,GACjB9X,EAAO+K,MAAMkI,QAAQgJ,GAAQ,CAC3BlG,aAAc+B,EACdf,SAAUe,EACVlB,OAAQ,SAAgB7L,GACtB,IAAIjK,EACA4B,EAAShC,KACTwb,EAAUnR,EAAM4O,cAChBpD,EAAYxL,EAAMwL,UAStB,OANK2F,IAAWA,IAAYxZ,GAAW1C,EAAOiQ,SAASvN,EAAQwZ,MAC7DnR,EAAMxK,KAAOgW,EAAUG,SACvB5V,EAAMyV,EAAUvD,QAAQ1R,MAAMZ,KAAMa,WACpCwJ,EAAMxK,KAAOuX,GAGRhX,OAIbd,EAAOG,GAAGiC,OAAO,CACf+Z,GAAI,SAAYhH,EAAOlV,EAAU0M,EAAMxM,GACrC,OAAO+U,EAAIxU,KAAMyU,EAAOlV,EAAU0M,EAAMxM,IAE1CiV,IAAK,SAAaD,EAAOlV,EAAU0M,EAAMxM,GACvC,OAAO+U,EAAIxU,KAAMyU,EAAOlV,EAAU0M,EAAMxM,EAAI,IAE9CmV,IAAK,SAAaH,EAAOlV,EAAUE,GACjC,IAAIoW,EAAWhW,EAEf,GAAI4U,GAASA,EAAMe,gBAAkBf,EAAMoB,UAIzC,OAFAA,EAAYpB,EAAMoB,UAClBvW,EAAOmV,EAAM4C,gBAAgBzC,IAAIiB,EAAUb,UAAYa,EAAUG,SAAW,IAAMH,EAAUb,UAAYa,EAAUG,SAAUH,EAAUtW,SAAUsW,EAAUvD,SACnJtS,KAGT,GAAuB,WAAnB/B,EAAQwW,GAAqB,CAE/B,IAAK5U,KAAQ4U,EACXzU,KAAK4U,IAAI/U,EAAMN,EAAUkV,EAAM5U,IAGjC,OAAOG,KAaT,OAViB,IAAbT,GAA0C,oBAAbA,IAE/BE,EAAKF,EACLA,OAAW8C,IAGF,IAAP5C,IACFA,EAAK0U,GAGAnU,KAAKO,MAAK,WACfjB,EAAO+K,MAAMsM,OAAO3W,KAAMyU,EAAOhV,EAAIF,SAIpCD,GACR,4B,iBC1wBD,WAIC,KAJD,aACE,aAEA,MAAO,IACR,+B,gBCJD,WAMC,KAND,aACE,aAEA,OAAO,SAAkBnB,GACvB,OAAc,MAAPA,GAAeA,IAAQA,EAAIiG,SAErC,+B,gBCND,WAkBC,KAlBU,EAAF,WACP,aAEA,IAAIsX,EAAY,QACZC,EAAa,YAEjB,SAASC,EAAWC,EAAMC,GACxB,OAAOA,EAAOzP,cAUhB,OAJA,SAAmB0P,GACjB,OAAOA,EAAOtZ,QAAQiZ,EAAW,OAAOjZ,QAAQkZ,EAAYC,KAI/D,QAlBM,OAkBN,c,gBClBD,sBAAmD,OAAO3d,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAU,MAAiB,MAAoB,KAAmB,MAAiB,MAAuB,MAAuB,MAAuB,MAAkB,MAAgB,MAAmB,MAAsB,MAAiB,MAAuB,KAAe,MAAgB,WA0XjT,KAzXE,EAAF,SAAYmB,EAAQ+F,EAAQ2W,EAAW5W,EAAU6W,EAASC,EAAWC,EAAWC,EAAWC,EAAMC,EAAQC,EAAWC,EAAcxd,EAASyd,GAC1I,aAEA,IAGAC,EAAe,4BACXC,EAAc,MACdC,EAAU,CACZC,SAAU,WACVC,WAAY,SACZC,QAAS,SAEPC,EAAqB,CACvBC,cAAe,IACfC,WAAY,OAGd,SAASC,EAAkBhc,EAAOjE,EAAOkgB,GAGvC,IAAIzZ,EAAUsY,EAAQtX,KAAKzH,GAC3B,OAAOyG,EACPpB,KAAK8a,IAAI,EAAG1Z,EAAQ,IAAMyZ,GAAY,KAAOzZ,EAAQ,IAAM,MAAQzG,EAGrE,SAASogB,EAAmB5c,EAAM6c,EAAWC,EAAKC,EAAaC,EAAQC,GACrE,IAAI1hB,EAAkB,UAAdshB,EAAwB,EAAI,EAChCK,EAAQ,EACRC,EAAQ,EAEZ,GAAIL,KAASC,EAAc,SAAW,WACpC,OAAO,EAGT,KAAOxhB,EAAI,EAAGA,GAAK,EAEL,WAARuhB,IACFK,GAASve,EAAOwe,IAAIpd,EAAM8c,EAAMrB,EAAUlgB,IAAI,EAAMyhB,IAIjDD,GAaS,YAARD,IACFK,GAASve,EAAOwe,IAAIpd,EAAM,UAAYyb,EAAUlgB,IAAI,EAAMyhB,IAIhD,WAARF,IACFK,GAASve,EAAOwe,IAAIpd,EAAM,SAAWyb,EAAUlgB,GAAK,SAAS,EAAMyhB,MAjBrEG,GAASve,EAAOwe,IAAIpd,EAAM,UAAYyb,EAAUlgB,IAAI,EAAMyhB,GAE9C,YAARF,EACFK,GAASve,EAAOwe,IAAIpd,EAAM,SAAWyb,EAAUlgB,GAAK,SAAS,EAAMyhB,GAEnEE,GAASte,EAAOwe,IAAIpd,EAAM,SAAWyb,EAAUlgB,GAAK,SAAS,EAAMyhB,IA0BzE,OARKD,GAAeE,GAAe,IAGjCE,GAAStb,KAAK8a,IAAI,EAAG9a,KAAKwb,KAAKrd,EAAK,SAAW6c,EAAU,GAAGlR,cAAgBkR,EAAU5c,MAAM,IAAMgd,EAAcE,EAAQD,EAAQ,MAE1H,GAGDC,EAGT,SAASG,EAAiBtd,EAAM6c,EAAWK,GAEzC,IAAIF,EAAStB,EAAU1b,GAInB+c,IADeze,EAAQif,qBAAuBL,IACoC,eAAjDte,EAAOwe,IAAIpd,EAAM,aAAa,EAAOgd,GACtEQ,EAAmBT,EACnBU,EAAM7B,EAAO5b,EAAM6c,EAAWG,GAC9BU,EAAa,SAAWb,EAAU,GAAGlR,cAAgBkR,EAAU5c,MAAM,GAGzE,GAAIub,EAAUnX,KAAKoZ,GAAM,CACvB,IAAKP,EACH,OAAOO,EAGTA,EAAM,OA8BR,QAxBMnf,EAAQif,qBAAuBR,IAIpCze,EAAQqf,wBAA0BjZ,EAAS1E,EAAM,OAE1C,SAARyd,IAECG,WAAWH,IAAuD,WAA/C7e,EAAOwe,IAAIpd,EAAM,WAAW,EAAOgd,KACvDhd,EAAK6d,iBAAiB3e,SACpB6d,EAA+D,eAAjDne,EAAOwe,IAAIpd,EAAM,aAAa,EAAOgd,IAInDQ,EAAmBE,KAAc1d,KAG/Byd,EAAMzd,EAAK0d,MAKfD,EAAMG,WAAWH,IAAQ,GAEZb,EAAmB5c,EAAM6c,EAAWK,IAAUH,EAAc,SAAW,WAAYS,EAAkBR,EAClHS,GAAO,KA0PT,OAvPA7e,EAAOoC,OAAO,CAGZ8c,SAAU,CACRC,QAAS,CACP3hB,IAAK,SAAa4D,EAAMge,GACtB,GAAIA,EAAU,CAEZ,IAAIte,EAAMkc,EAAO5b,EAAM,WACvB,MAAe,KAARN,EAAa,IAAMA,MAMlCue,UAAW,CACT,yBAA2B,EAC3B,aAAe,EACf,aAAe,EACf,UAAY,EACZ,YAAc,EACd,YAAc,EACd,UAAY,EACZ,YAAc,EACd,eAAiB,EACjB,iBAAmB,EACnB,SAAW,EACX,YAAc,EACd,cAAgB,EAChB,YAAc,EACd,SAAW,EACX,OAAS,EACT,SAAW,EACX,QAAU,EACV,QAAU,EACV,MAAQ,GAIVC,SAAU,GAEVC,MAAO,SAAene,EAAMlE,EAAMU,EAAO0gB,GAEvC,GAAKld,GAA0B,IAAlBA,EAAKwD,UAAoC,IAAlBxD,EAAKwD,UAAmBxD,EAAKme,MAAjE,CAKA,IAAIze,EACAP,EACAif,EACAC,EAAW/C,EAAUxf,GACrBwiB,EAAerC,EAAY5X,KAAKvI,GAChCqiB,EAAQne,EAAKme,MAWjB,GAPKG,IACHxiB,EAAOigB,EAAcsC,IAIvBD,EAAQxf,EAAOkf,SAAShiB,IAAS8C,EAAOkf,SAASO,QAEnC1c,IAAVnF,EAoCF,OAAI4hB,GAAS,QAASA,QAAmDzc,KAAzCjC,EAAM0e,EAAMhiB,IAAI4D,GAAM,EAAOkd,IACpDxd,EAIFye,EAAMriB,GAtCA,YAFbqD,EAAO5B,EAAQf,MAEWkD,EAAM6b,EAAQtX,KAAKzH,KAAWkD,EAAI,KAC1DlD,EAAQqf,EAAU7b,EAAMlE,EAAM4D,GAE9BP,EAAO,UAII,MAAT3C,GAAiBA,IAAUA,IAOlB,WAAT2C,GAAsBmf,IACxB9hB,GAASkD,GAAOA,EAAI,KAAOd,EAAOqf,UAAUI,GAAY,GAAK,OAI1D/f,EAAQigB,iBAA6B,KAAV/hB,GAA+C,IAA/BV,EAAKkC,QAAQ,gBAC3DmgB,EAAMriB,GAAQ,WAIXsiB,GAAW,QAASA,QAAsDzc,KAA3CnF,EAAQ4hB,EAAM/J,IAAIrU,EAAMxD,EAAO0gB,MAC7DoB,EACFH,EAAMK,YAAY1iB,EAAMU,GAExB2hB,EAAMriB,GAAQU,MAatB4gB,IAAK,SAAapd,EAAMlE,EAAMohB,EAAOF,GACnC,IAAIS,EACAle,EACA6e,EACAC,EAAW/C,EAAUxf,GA2BzB,OA1BmBmgB,EAAY5X,KAAKvI,KAKlCA,EAAOigB,EAAcsC,KAIvBD,EAAQxf,EAAOkf,SAAShiB,IAAS8C,EAAOkf,SAASO,KAEpC,QAASD,IACpBX,EAAMW,EAAMhiB,IAAI4D,GAAM,EAAMkd,SAIlBvb,IAAR8b,IACFA,EAAM7B,EAAO5b,EAAMlE,EAAMkhB,IAIf,WAARS,GAAoB3hB,KAAQwgB,IAC9BmB,EAAMnB,EAAmBxgB,IAIb,KAAVohB,GAAgBA,GAClB3d,EAAMqe,WAAWH,IACA,IAAVP,GAAkBuB,SAASlf,GAAOA,GAAO,EAAIke,GAG/CA,KAGX7e,EAAOiB,KAAK,CAAC,SAAU,UAAU,SAAUyD,EAAIuZ,GAC7Cje,EAAOkf,SAASjB,GAAa,CAC3BzgB,IAAK,SAAa4D,EAAMge,EAAUd,GAChC,GAAIc,EAGF,OAAOhC,EAAa3X,KAAKzF,EAAOwe,IAAIpd,EAAM,aAMzCA,EAAK6d,iBAAiB3e,QAAWc,EAAK0e,wBAAwBC,MAE1DrB,EAAiBtd,EAAM6c,EAAWK,GAFiCvB,EAAK3b,EAAMkc,GAAS,WAC1F,OAAOoB,EAAiBtd,EAAM6c,EAAWK,OAI/C7I,IAAK,SAAarU,EAAMxD,EAAO0gB,GAC7B,IAAIja,EACA+Z,EAAStB,EAAU1b,GAGvB4e,GAAsBtgB,EAAQugB,iBAAuC,aAApB7B,EAAOb,SAGpDY,GADc6B,GAAsB1B,IAC8C,eAAjDte,EAAOwe,IAAIpd,EAAM,aAAa,EAAOgd,GACtEN,EAAWQ,EAAQN,EAAmB5c,EAAM6c,EAAWK,EAAOH,EAAaC,GAAU,EAazF,OAVID,GAAe6B,IACjBlC,GAAY7a,KAAKwb,KAAKrd,EAAK,SAAW6c,EAAU,GAAGlR,cAAgBkR,EAAU5c,MAAM,IAAM2d,WAAWZ,EAAOH,IAAcD,EAAmB5c,EAAM6c,EAAW,UAAU,EAAOG,GAAU,KAItLN,IAAazZ,EAAUsY,EAAQtX,KAAKzH,KAAoC,QAAxByG,EAAQ,IAAM,QAChEjD,EAAKme,MAAMtB,GAAargB,EACxBA,EAAQoC,EAAOwe,IAAIpd,EAAM6c,IAGpBJ,EAAkBzc,EAAMxD,EAAOkgB,QAI5C9d,EAAOkf,SAASgB,WAAahD,EAAaxd,EAAQygB,oBAAoB,SAAU/e,EAAMge,GACpF,GAAIA,EACF,OAAQJ,WAAWhC,EAAO5b,EAAM,gBAAkBA,EAAK0e,wBAAwBM,KAAOrD,EAAK3b,EAAM,CAC/F8e,WAAY,IACX,WACD,OAAO9e,EAAK0e,wBAAwBM,SAChC,QAIVpgB,EAAOiB,KAAK,CACVof,OAAQ,GACRC,QAAS,GACTC,OAAQ,UACP,SAAUC,EAAQC,GACnBzgB,EAAOkf,SAASsB,EAASC,GAAU,CACjCC,OAAQ,SAAgB9iB,GAMtB,IALA,IAAIjB,EAAI,EACJgkB,EAAW,GAEfC,EAAyB,kBAAVhjB,EAAqBA,EAAM6G,MAAM,KAAO,CAAC7G,GAEjDjB,EAAI,EAAGA,IACZgkB,EAASH,EAAS3D,EAAUlgB,GAAK8jB,GAAUG,EAAMjkB,IAAMikB,EAAMjkB,EAAI,IAAMikB,EAAM,GAG/E,OAAOD,IAII,WAAXH,IACFxgB,EAAOkf,SAASsB,EAASC,GAAQhL,IAAMoI,MAG3C7d,EAAOG,GAAGiC,OAAO,CACfoc,IAAK,SAAathB,EAAMU,GACtB,OAAOmI,EAAOrF,MAAM,SAAUU,EAAMlE,EAAMU,GACxC,IAAIwgB,EACArc,EACAZ,EAAM,GACNxE,EAAI,EAER,GAAIkG,MAAMC,QAAQ5F,GAAO,CAIvB,IAHAkhB,EAAStB,EAAU1b,GACnBW,EAAM7E,EAAKoD,OAEJ3D,EAAIoF,EAAKpF,IACdwE,EAAIjE,EAAKP,IAAMqD,EAAOwe,IAAIpd,EAAMlE,EAAKP,IAAI,EAAOyhB,GAGlD,OAAOjd,EAGT,YAAiB4B,IAAVnF,EAAsBoC,EAAOuf,MAAMne,EAAMlE,EAAMU,GAASoC,EAAOwe,IAAIpd,EAAMlE,KAC/EA,EAAMU,EAAO2D,UAAUjB,OAAS,MAGhCN,GACR,4B,gBC5XD,UAAO,CAAC,YAIP,KAJiB,EAAF,SAAYjB,GAC1B,aAEA,OAAOA,EAAIsC,OACZ,4B,gBCJD,WAIC,KAJD,aACE,aAEA,MAAO,IACR,+B,gBCJD,WAeC,KAfD,aACE,aAKA,OAAO,SAAUwf,GAOf,OAA0B,IAAnBA,EAAMjc,UAAqC,IAAnBic,EAAMjc,YAAoBic,EAAMjc,WAElE,+B,gBCfD,UAAO,CAAC,KAAW,MAA0B,WAuB5C,KAtBE,EAAF,SAAY5E,EAAQuU,GACnB,aAEA,IAAIuM,EAAa,SAAoB1f,GACnC,OAAOpB,EAAOiQ,SAAS7O,EAAKoE,cAAepE,IAEzC2f,EAAW,CACbA,UAAU,GAcZ,OANIxM,EAAgByM,cAClBF,EAAa,SAAoB1f,GAC/B,OAAOpB,EAAOiQ,SAAS7O,EAAKoE,cAAepE,IAASA,EAAK4f,YAAYD,KAAc3f,EAAKoE,gBAIrFsb,GACR,4B,gBCvBD,UAAO,CAAC,WAIP,KAJsB,EAAF,SAAY/b,GAC/B,aAEA,OAAOA,EAASwP,iBACjB,4B,gBCJD,UAAO,CAAC,KAAU,MAAqB,MAAc,KAAoB,MAAc,MAAwB,MAAiB,MAA+B,MAAkC,MAA0B,MAAyB,MAAgC,MAAgC,MAA0B,KAAuB,MAAuB,MAAyB,MAAkB,KAAmB,KAAe,MAAgB,KAAc,YAyZte,KAzZkf,EAAF,SAAYvU,EAAQ8gB,EAAY5hB,EAAMS,EAAYR,EAAMqV,EAAgBzO,EAAQkb,EAAUC,EAAaC,EAASC,EAAQC,EAAeC,EAAe5hB,EAASgV,EAAU6M,EAAU9M,EAAY5U,EAASiG,GACvrB,aAEA,IAGA0b,EAAe,wBAEfC,EAAW,oCACPC,EAAe,2CAEnB,SAASC,EAAmBvgB,EAAMiQ,GAChC,OAAIvL,EAAS1E,EAAM,UAAY0E,EAA8B,KAArBuL,EAAQzM,SAAkByM,EAAUA,EAAQF,WAAY,OACvFnR,EAAOoB,GAAMsO,SAAS,SAAS,IAGjCtO,EAIT,SAASwgB,EAAcxgB,GAErB,OADAA,EAAKb,MAAsC,OAA9Ba,EAAKygB,aAAa,SAAoB,IAAMzgB,EAAKb,KACvDa,EAGT,SAAS0gB,EAAc1gB,GAOrB,MANsC,WAAjCA,EAAKb,MAAQ,IAAIc,MAAM,EAAG,GAC7BD,EAAKb,KAAOa,EAAKb,KAAKc,MAAM,GAE5BD,EAAK2gB,gBAAgB,QAGhB3gB,EAGT,SAAS4gB,EAAe1f,EAAK2f,GAC3B,IAAItlB,EAAGC,EAAG2D,EAAgB2hB,EAAUC,EAAU7L,EAE9C,GAAsB,IAAlB2L,EAAKrd,SAAT,CAKA,GAAI8P,EAAS8C,QAAQlV,KAEnBgU,EADW5B,EAASlX,IAAI8E,GACNgU,QAKhB,IAAK/V,KAFLmU,EAAS2C,OAAO4K,EAAM,iBAET3L,EACX,IAAK3Z,EAAI,EAAGC,EAAI0Z,EAAO/V,GAAMD,OAAQ3D,EAAIC,EAAGD,IAC1CqD,EAAO+K,MAAMsC,IAAI4U,EAAM1hB,EAAM+V,EAAO/V,GAAM5D,IAO9C4kB,EAAS/J,QAAQlV,KACnB4f,EAAWX,EAASxb,OAAOzD,GAC3B6f,EAAWniB,EAAOoC,OAAO,GAAI8f,GAC7BX,EAAS9L,IAAIwM,EAAME,KAKvB,SAASC,EAAS9f,EAAK2f,GACrB,IAAInc,EAAWmc,EAAKnc,SAASnB,cAEZ,UAAbmB,GAAwB0O,EAAe/O,KAAKnD,EAAI/B,MAClD0hB,EAAKI,QAAU/f,EAAI+f,QACG,UAAbvc,GAAqC,aAAbA,IACjCmc,EAAKK,aAAehgB,EAAIggB,cAI5B,SAASC,EAASC,EAAYrP,EAAMjS,EAAUuhB,GAE5CtP,EAAOjU,EAAKiU,GACZ,IAAIuP,EACAlhB,EACAmhB,EACAC,EACAC,EACA/e,EACAnH,EAAI,EACJC,EAAI4lB,EAAWliB,OACfwiB,EAAWlmB,EAAI,EACfgB,EAAQuV,EAAK,GACb4P,EAAkBpjB,EAAW/B,GAEjC,GAAImlB,GAAmBnmB,EAAI,GAAsB,kBAAVgB,IAAuB8B,EAAQsjB,YAAcvB,EAAShc,KAAK7H,GAChG,OAAO4kB,EAAWvhB,MAAK,SAAUqP,GAC/B,IAAI2S,EAAOT,EAAW/gB,GAAG6O,GAErByS,IACF5P,EAAK,GAAKvV,EAAMd,KAAK4D,KAAM4P,EAAO2S,EAAK5Z,SAGzCkZ,EAASU,EAAM9P,EAAMjS,EAAUuhB,MAInC,GAAI7lB,IAEF4E,GADAkhB,EAAWpB,EAAcnO,EAAMqP,EAAW,GAAGhd,eAAe,EAAOgd,EAAYC,IAC9DtR,WAEkB,IAA/BuR,EAASpR,WAAWhR,SACtBoiB,EAAWlhB,GAITA,GAASihB,GAAS,CAMpB,IAJAG,GADAD,EAAU3iB,EAAOmB,IAAIigB,EAAOsB,EAAU,UAAWd,IAC5BthB,OAId3D,EAAIC,EAAGD,IACZkmB,EAAOH,EAEH/lB,IAAMmmB,IACRD,EAAO7iB,EAAOyC,MAAMogB,GAAM,GAAM,GAE5BD,GAGF5iB,EAAOe,MAAM4hB,EAASvB,EAAOyB,EAAM,YAIvC3hB,EAASpE,KAAK0lB,EAAW7lB,GAAIkmB,EAAMlmB,GAGrC,GAAIimB,EAKF,IAJA9e,EAAM6e,EAAQA,EAAQriB,OAAS,GAAGkF,cAElCxF,EAAOmB,IAAIwhB,EAASb,GAEfnlB,EAAI,EAAGA,EAAIimB,EAAYjmB,IAC1BkmB,EAAOF,EAAQhmB,GAEXukB,EAAYzb,KAAKod,EAAKtiB,MAAQ,MAAQmU,EAAS3O,OAAO8c,EAAM,eAAiB7iB,EAAOiQ,SAASnM,EAAK+e,KAChGA,EAAKvgB,KAA2C,YAAnCugB,EAAKtiB,MAAQ,IAAIoE,cAE5B3E,EAAOkjB,WAAaL,EAAKM,UAC3BnjB,EAAOkjB,SAASL,EAAKvgB,IAAK,CACxByB,MAAO8e,EAAK9e,OAAS8e,EAAKhB,aAAa,UACtC/d,GAGLjE,EAAQgjB,EAAKO,YAAYjgB,QAAQue,EAAc,IAAKmB,EAAM/e,IAQtE,OAAO0e,EAGT,SAASa,EAAQjiB,EAAMnB,EAAUqjB,GAK/B,IAJA,IAAIT,EACAU,EAAQtjB,EAAWD,EAAOgQ,OAAO/P,EAAUmB,GAAQA,EACnDzE,EAAI,EAEoB,OAApBkmB,EAAOU,EAAM5mB,IAAaA,IAC3B2mB,GAA8B,IAAlBT,EAAKje,UACpB5E,EAAOwjB,UAAUpC,EAAOyB,IAGtBA,EAAKxS,aACHiT,GAAYxC,EAAW+B,IACzBxB,EAAcD,EAAOyB,EAAM,WAG7BA,EAAKxS,WAAWoT,YAAYZ,IAIhC,OAAOzhB,EAkOT,OA/NApB,EAAOoC,OAAO,CACZshB,cAAe,SAAuBra,GACpC,OAAOA,GAET5G,MAAO,SAAerB,EAAMuiB,EAAeC,GACzC,IAAIjnB,EACAC,EACAinB,EACAC,EACArhB,EAAQrB,EAAK2iB,WAAU,GACvBC,EAASlD,EAAW1f,GAExB,IAAK1B,EAAQukB,iBAAqC,IAAlB7iB,EAAKwD,UAAoC,KAAlBxD,EAAKwD,YAAqB5E,EAAOkkB,SAAS9iB,GAK/F,IAHA0iB,EAAe1C,EAAO3e,GAGjB9F,EAAI,EAAGC,GAFZinB,EAAczC,EAAOhgB,IAEOd,OAAQ3D,EAAIC,EAAGD,IACzCylB,EAASyB,EAAYlnB,GAAImnB,EAAannB,IAK1C,GAAIgnB,EACF,GAAIC,EAIF,IAHAC,EAAcA,GAAezC,EAAOhgB,GACpC0iB,EAAeA,GAAgB1C,EAAO3e,GAEjC9F,EAAI,EAAGC,EAAIinB,EAAYvjB,OAAQ3D,EAAIC,EAAGD,IACzCqlB,EAAe6B,EAAYlnB,GAAImnB,EAAannB,SAG9CqlB,EAAe5gB,EAAMqB,GAYzB,OAPAqhB,EAAe1C,EAAO3e,EAAO,WAEZnC,OAAS,GACxB+gB,EAAcyC,GAAeE,GAAU5C,EAAOhgB,EAAM,WAI/CqB,GAET+gB,UAAW,SAAmB3iB,GAO5B,IANA,IAAI8L,EACAvL,EACAb,EACA0S,EAAUjT,EAAO+K,MAAMkI,QACvBtW,EAAI,OAEqBoG,KAArB3B,EAAOP,EAAMlE,IAAmBA,IACtC,GAAI8X,EAAWrT,GAAO,CACpB,GAAIuL,EAAOvL,EAAKsT,EAAS1R,SAAU,CACjC,GAAI2J,EAAK2J,OACP,IAAK/V,KAAQoM,EAAK2J,OACZrD,EAAQ1S,GACVP,EAAO+K,MAAMsM,OAAOjW,EAAMb,GAE1BP,EAAO2X,YAAYvW,EAAMb,EAAMoM,EAAKiK,QAO1CxV,EAAKsT,EAAS1R,cAAWD,EAGvB3B,EAAKmgB,EAASve,WAGhB5B,EAAKmgB,EAASve,cAAWD,OAMnC/C,EAAOG,GAAGiC,OAAO,CACf+hB,OAAQ,SAAgBlkB,GACtB,OAAOojB,EAAQ3iB,KAAMT,GAAU,IAEjCoX,OAAQ,SAAgBpX,GACtB,OAAOojB,EAAQ3iB,KAAMT,IAEvBmJ,KAAM,SAAcxL,GAClB,OAAOmI,EAAOrF,MAAM,SAAU9C,GAC5B,YAAiBmF,IAAVnF,EAAsBoC,EAAOoJ,KAAK1I,MAAQA,KAAK0jB,QAAQnjB,MAAK,WAC3C,IAAlBP,KAAKkE,UAAoC,KAAlBlE,KAAKkE,UAAqC,IAAlBlE,KAAKkE,WACtDlE,KAAK0iB,YAAcxlB,QAGtB,KAAMA,EAAO2D,UAAUjB,SAE5B+jB,OAAQ,WACN,OAAO9B,EAAS7hB,KAAMa,WAAW,SAAUH,GACnB,IAAlBV,KAAKkE,UAAoC,KAAlBlE,KAAKkE,UAAqC,IAAlBlE,KAAKkE,UACzC+c,EAAmBjhB,KAAMU,GAC/BkjB,YAAYljB,OAIzBmjB,QAAS,WACP,OAAOhC,EAAS7hB,KAAMa,WAAW,SAAUH,GACzC,GAAsB,IAAlBV,KAAKkE,UAAoC,KAAlBlE,KAAKkE,UAAqC,IAAlBlE,KAAKkE,SAAgB,CACtE,IAAIlC,EAASif,EAAmBjhB,KAAMU,GACtCsB,EAAO8hB,aAAapjB,EAAMsB,EAAOyO,iBAIvCsT,OAAQ,WACN,OAAOlC,EAAS7hB,KAAMa,WAAW,SAAUH,GACrCV,KAAK2P,YACP3P,KAAK2P,WAAWmU,aAAapjB,EAAMV,UAIzCgkB,MAAO,WACL,OAAOnC,EAAS7hB,KAAMa,WAAW,SAAUH,GACrCV,KAAK2P,YACP3P,KAAK2P,WAAWmU,aAAapjB,EAAMV,KAAKikB,iBAI9CP,MAAO,WAIL,IAHA,IAAIhjB,EACAzE,EAAI,EAEmB,OAAnByE,EAAOV,KAAK/D,IAAaA,IACT,IAAlByE,EAAKwD,WAEP5E,EAAOwjB,UAAUpC,EAAOhgB,GAAM,IAE9BA,EAAKgiB,YAAc,IAIvB,OAAO1iB,MAET+B,MAAO,SAAekhB,EAAeC,GAGnC,OAFAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EACzDljB,KAAKS,KAAI,WACd,OAAOnB,EAAOyC,MAAM/B,KAAMijB,EAAeC,OAG7Cva,KAAM,SAAczL,GAClB,OAAOmI,EAAOrF,MAAM,SAAU9C,GAC5B,IAAIwD,EAAOV,KAAK,IAAM,GAClB/D,EAAI,EACJC,EAAI8D,KAAKJ,OAEb,QAAcyC,IAAVnF,GAAyC,IAAlBwD,EAAKwD,SAC9B,OAAOxD,EAAKwjB,UAId,GAAqB,kBAAVhnB,IAAuB4jB,EAAa/b,KAAK7H,KAAWujB,GAASF,EAAS5b,KAAKzH,IAAU,CAAC,GAAI,KAAK,GAAG+G,eAAgB,CAC3H/G,EAAQoC,EAAO0jB,cAAc9lB,GAE7B,IACE,KAAOjB,EAAIC,EAAGD,IAGU,KAFtByE,EAAOV,KAAK/D,IAAM,IAETiI,WACP5E,EAAOwjB,UAAUpC,EAAOhgB,GAAM,IAC9BA,EAAKwjB,UAAYhnB,GAIrBwD,EAAO,EACP,MAAOsL,KAGPtL,GACFV,KAAK0jB,QAAQC,OAAOzmB,KAErB,KAAMA,EAAO2D,UAAUjB,SAE5BukB,YAAa,WACX,IAAIpC,EAAU,GAEd,OAAOF,EAAS7hB,KAAMa,WAAW,SAAUH,GACzC,IAAIuP,EAASjQ,KAAK2P,WAEdrQ,EAAOkE,QAAQxD,KAAM+hB,GAAW,IAClCziB,EAAOwjB,UAAUpC,EAAO1gB,OAEpBiQ,GACFA,EAAOmU,aAAa1jB,EAAMV,SAI7B+hB,MAGPziB,EAAOiB,KAAK,CACV8jB,SAAU,SACVC,UAAW,UACXR,aAAc,SACdS,YAAa,QACbC,WAAY,gBACX,SAAUhoB,EAAMioB,GACjBnlB,EAAOG,GAAGjD,GAAQ,SAAU+C,GAO1B,IANA,IAAIY,EACAC,EAAM,GACNskB,EAASplB,EAAOC,GAChByB,EAAO0jB,EAAO9kB,OAAS,EACvB3D,EAAI,EAEDA,GAAK+E,EAAM/E,IAChBkE,EAAQlE,IAAM+E,EAAOhB,KAAOA,KAAK+B,OAAM,GACvCzC,EAAOolB,EAAOzoB,IAAIwoB,GAAUtkB,GAG5B1B,EAAKmC,MAAMR,EAAKD,EAAMrD,OAGxB,OAAOkD,KAAKE,UAAUE,OAGnBd,GACR,4B,gBCzZD,sBAAmD,OAAOrB,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,IASzU,SAAWiG,EAAQugB,GAEf,EAAO,CAAC,aAEP,KAFkB,EAAF,SAAYrlB,GAC3B,OAQK,SAAiB8E,EAAQwgB,EAAGC,EAAWC,GAGhD,IAAI1hB,EAAMgB,EAAOC,SACb0gB,EAAOH,EAAExhB,GACT4hB,EAAOJ,EAAExgB,GACT9E,EAASslB,EAEbK,EAAa9iB,MAAMtE,UAEnBqnB,EAAU,KACNC,GAAQ,EAERC,GAAQ,EACRC,EAAMC,UAAUC,UAAUthB,cAC1BuhB,EAAOphB,EAAOwB,SAAS6f,KAAKhjB,QAAQ,MAAO,IAC3CijB,EAAmC,SAA5BthB,EAAOwB,SAASwC,SAAsB,QAAUhE,EAAOwB,SAASwC,SACvEud,EAAIpjB,KACJqjB,EAAI,aACJC,EAAQ,WACV,OAAO,GAELC,IAAW1hB,EAAO2hB,OAAO1G,MAAQ,MAAmC,GAA3Bjb,EAAO4hB,kBACpD5hB,EAAO2hB,OAAO1G,MAAQ,KAAQjb,EAAO6hB,WAAmC,GAAtB7hB,EAAO2hB,OAAO1G,OAE5D6G,EAAK,WACP,IAAInV,EAAI,EACJoV,EAAM/iB,EAAIqD,cAAc,OACxB2f,EAAMD,EAAIE,qBAAqB,KAEnC,GACEF,EAAIjC,UAAY,uBAAqBnT,EAAI,iCAClCqV,EAAI,IAEb,OAAOrV,EAAI,EAAIA,EAAI3N,EAAIkjB,cAAgBxB,EAThC,GAWLyB,EAAM,WACR,MAAO,CACL5d,KAAMvF,EAAIyQ,gBACV2S,KAAMpjB,EAAIojB,KACVC,KAAMrjB,EAAIijB,qBAAqB,QAAQ,GACvCK,MAAOtjB,EAAIsjB,QAGXC,EAASviB,EAAO6L,SAAW7L,EAAOme,KAEtCqE,EAAa,gLACTC,GACEC,GAAM,GACVlC,EAAErkB,KAAKqmB,EAAW7iB,MAAM,MAAM,SAAU9H,EAAG8qB,GACzCD,GAAIroB,KAAKsoB,GAEL,IAAIhiB,KAAKgiB,IACXD,GAAIroB,KAAKsoB,EAAGtkB,QAAQ,KAAM,QAGvBqkB,IAITE,EAAiB,SAAwBrlB,GACvC,IAAIjE,EAEJ,MAAyB,WAArBO,EAAQ0D,IAKZijB,EAAErkB,KAAKoB,GAAS,SAAUnE,EAAKN,GACzB,WAAW6H,KAAKvH,KAClBE,EAAI,GACJknB,EAAErkB,KAAK/C,EAAIuG,MAAM,MAAM,SAAU9H,EAAGgrB,GAClCvpB,GAAKzB,EAAI,EAAIgrB,EAAEC,OAAO,EAAG,GAAG7a,cAAgB4a,EAAEC,OAAO,GAAKD,KAE5DtlB,EAAQjE,GAAKR,SACNyE,EAAQnE,OAVVmE,GAePwlB,EAAc,SAAqBtnB,GAErC,OAAI+kB,EAAEphB,QAAQ3D,EAAMgnB,IAAY,EACvBhC,EAAUhlB,EAAKwM,eAGjBxM,GAGTunB,EAAS,CACPC,QAAS,CACPC,IAAK,oIACLC,MAAO,WACL,OAAO7B,EAAO,2BAA6B1lB,KAAKwnB,IAElDC,UAAW,SAAmBxb,GAC5B,OAAOyZ,EAAO,wBAA0B1lB,KAAKwnB,GAAK,gBAEpDE,UAAW,SAAmBzb,GAC5B,OAAOyZ,EAAO,wBAA0B1lB,KAAKwnB,GAAK,uBAGtDG,MAAO,CACLL,IAAK,uDACLC,MAAO,WACL,OAAO7B,EAAO,4BAA8B1lB,KAAKwnB,IAEnDI,OAAQ,WACN,OAAOlC,EAAO,4BAA8B1lB,KAAKwnB,GAAK,oBAExDC,UAAW,SAAmBxb,GAC5B,OAAOA,EAAK,GAAG4b,kBAEjBH,UAAW,SAAmBzb,GAC5B,OAAOA,EAAK,GAAG6b,kBAGnBC,YAAa,CACXT,IAAK,0DACLC,MAAO,WACL,OAAO7B,EAAO,qCAAuC1lB,KAAKwnB,IAE5DI,OAAQ,WACN,MAAO,qCAAuC5nB,KAAKwnB,GAAK,0DAE1DC,UAAW,SAAmBxb,GAC5B,OAAOA,EAAK+b,mBAEdN,UAAW,SAAmBzb,GAC5B,OAAOA,EAAKgc,oBAGhBC,MAAO,IAELC,EAAQ,SAAetoB,EAAM2nB,GAC/B,IAAK,IAAIvrB,EAAI,EAAGA,EAAImrB,EAAOc,MAAMtoB,OAAQ3D,IACvC,GAAImrB,EAAOc,MAAMjsB,GAAGurB,KAAOA,GAAMJ,EAAOc,MAAMjsB,GAAG4D,MAAQA,EACvD,OAAOunB,EAAOc,MAAMjsB,GAIxB+D,KAAKH,KAAOA,EACZG,KAAKwnB,GAAKA,EACVxnB,KAAKooB,OAAS,GAEdhB,EAAOc,MAAMzpB,KAAKuB,MAElB,IAAIuiB,EAAOviB,KACX4kB,EAAEljB,OAAO1B,KAAMonB,EAAOvnB,IAEtBwoB,aAAe,SAAsBpc,GACnCsW,EAAKtW,KAAOA,EACZ2Y,EAAErkB,KAAKgiB,EAAK6F,QAAQ,SAAUnsB,EAAGwD,GAC/BA,EAAG8iB,EAAKtW,SAEVsW,EAAK6F,OAAS,IAGZpoB,KAAKlC,eAAe,UACtB8mB,EAAEnW,QAAQzO,KAAK4nB,SAAUS,cAEzBjkB,EAAO4I,WAAWqb,aAAc,KAGlCroB,KAAKsoB,SAAW,SAAUzoB,EAAMW,EAAUsM,GACxCA,EAAOA,GAAQ8Y,EACf,IAAIrD,EAAOviB,KAEP6M,EAAU,SAAiBZ,GAC7BzL,EAAS+hB,EAAK,OAAS1iB,GAAMoM,KAG/B,IACMsW,EAAKtW,KACPY,EAAQ0V,EAAKtW,MAEbsW,EAAK6F,OAAO3pB,KAAKoO,GAEnB,MAAOb,GACPc,OAKNyb,EAAa,SAAoBrgB,GAC/B,IAAIxD,EAEJ,IAAK,IAAIqM,KAAKqW,EAGZ,IAFA1iB,EAAQwD,GAAOkf,EAAOrW,GAAGuW,KAAOpf,EAAIxD,MAAM0iB,EAAOrW,GAAGuW,OAEvC5iB,EAAM9E,OACjB,MAAO,CACL4nB,GAAI9iB,EAAM,GACV8jB,SAAUzX,GAKhB,OAAO,GAGT0X,EAAoB,CAClBzpB,SACM2J,GAAO4d,IAAM5d,MACTge,IAAWhe,GAAK+f,mBAAqB/f,GAAKggB,qBAAuBhgB,GAAKigB,sBAAwBjgB,GAAKkgB,0BAE7GroB,SAAUolB,EACVkD,MAAO,SAAeC,EAAUvoB,EAAUE,GACxCV,KAAK+oB,SAAWA,EAChB/oB,KAAKQ,SAAWA,GAAYolB,GAC5BllB,EAAOA,GAAQ6lB,IAAM5d,MAEZ+f,kBACPhoB,EAAKgoB,oBACIhoB,EAAKioB,oBACdjoB,EAAKioB,sBACIjoB,EAAKkoB,qBACdloB,EAAKkoB,uBACIloB,EAAKmoB,yBACdnoB,EAAKmoB,2BAGTG,KAAM,SAAcxoB,GAClBR,KAAKQ,SAAWA,GAAYolB,EAExBxiB,EAAI6lB,eACN7lB,EAAI6lB,iBACK7lB,EAAI8lB,iBACb9lB,EAAI8lB,mBACK9lB,EAAI+lB,oBACb/lB,EAAI+lB,sBACK/lB,EAAIgmB,wBACbhmB,EAAIgmB,0BAGRL,SAAU,KACVM,OAAQ,WACN,GAAKrpB,KAAKhB,QAAV,CAIA,IAAIsT,EAAU,WACZ,GAAKmW,EAAkBM,SAAvB,CAIA,IAAIO,EAAKb,EAAkBM,SAASQ,YAEhCnmB,EAAIomB,YAAcpmB,EAAIqmB,eAAiBrmB,EAAIsmB,oBAAsBtmB,EAAIumB,qBAAmD,OAA5BvmB,EAAIumB,oBAClGL,EAAGM,OAAOnB,EAAkBjoB,UAE5B8oB,EAAGO,MAAMpB,EAAkBjoB,YAI/B4C,EAAIsT,iBAAiB,mBAAoBpE,GAAS,GAClDlP,EAAIsT,iBAAiB,qBAAsBpE,GAAS,GACpDlP,EAAIsT,iBAAiB,sBAAuBpE,GAAS,GACrDlP,EAAIsT,iBAAiB,yBAA0BpE,GAAS,MAI5DwX,EAAa,GAEbC,EAAa,GAEbC,GAAY,EAEZC,GAAU,EAEVC,EAAQ,GAERC,EAAgB,GACZC,EAAa,SAAoBC,GACnCF,EAAc1rB,KAAK4rB,GAInBzF,EAAErkB,KAAK2pB,GAAO,SAAUjuB,EAAG8sB,GACrBA,EAASuB,SAASD,OAASA,EAAM7tB,OAASusB,EAASwB,cAAiBxB,EAASuB,SAASD,SACxFtB,EAASsB,MAAQA,EAEjBtB,EAASyB,MAAMpuB,KAAK2sB,QAK1B0B,EACS,CAELC,WAAY,SAAoBlD,GAC9B5C,EAAErkB,KAAKskB,EAAU/nB,OAAO,WACtBkD,KAAK0qB,WAAWlD,OAIpBmD,SAAU,SAAkBnD,GAC1B5C,EAAErkB,KAAKskB,EAAU/nB,OAAO,WACtBkD,KAAK2qB,SAASnD,OAGlBoD,MAAO,SAAezsB,GACpB,OAAO8mB,EAAWtkB,MAAMvE,KAAK+B,EAAK,IAEpCZ,OAAQ,SAAgBstB,EAAWzlB,GACjCA,EAAWA,GAAY,MACvB,IAAI1E,EAAO0C,EAAIqD,cAAcrB,GAE7B,OADA1E,EAAKmqB,UAAYA,EACVnqB,GAEToqB,gBAAiB,SAAyBzsB,EAAKqC,GAO7C,OANAkkB,EAAErkB,KAAKlC,GAAK,SAAUpC,EAAG6Y,GACvB,GAAIA,GAAMpU,EAER,OADArC,EAAIoD,OAAOxF,EAAG,IACP,KAGJoC,GAET0sB,cAAe,SAAuBnpB,GAGpC,IAAIopB,GADJppB,EAAMA,GAAOgjB,EAAE,eAAe5f,KAAK,QAClBjB,MAAM,KAEvB,OAAqB,GAAjBinB,EAAOprB,OACF,IAGTorB,EAAOC,MACAD,EAAO/f,KAAK,KAAO,MAG5BigB,SAEMC,EAAa,SAAUtM,GACzB,IACI5iB,EADA6c,EAAQ,wDAAwD/U,MAAM,KAG1E,GAAIK,EAAOgnB,MACT,OAAO,EAGT,IAAKnvB,EAAI,EAAG6c,EAAM7c,GAAIA,IACpB,GAA+B,qBAApB4iB,EAAM/F,EAAM7c,IACrB,OAAO6c,EAAM7c,GAIjB,OAAO,EAdQ,EAedmH,EAAIojB,MAAQpjB,EAAIyQ,iBAAiBgL,OAGhCwM,EAAW,CACbC,cAAe,gBACfC,YAAa,iBACbC,iBAAkB,sBAClBL,WAAY,iBACZA,GAEEM,EAAU,CACZ/S,SAAU,CAAC,IAAM,GAAK,IAAM,GAC5BgT,SAAU,CAAC,KAAO,KAAO,KAAO,GAChCC,WAAY,CAAC,IAAM,KAAO,IAAM,KAChCC,YAAa,CAAC,IAAM,IAAM,IAAM,KAChCC,KAAM,CAAC,IAAM,EAAG,IAAM,GACtBC,OAAQ,CAAC,IAAM,IAAM,IAAM,KAC3B,UAAW,CAAC,IAAM,EAAG,EAAG,GACxB,WAAY,CAAC,EAAG,EAAG,IAAM,GACzB,cAAe,CAAC,IAAM,EAAG,IAAM,IAG7BC,EAAW,SAAkBrrB,EAAMxD,EAAO6iB,GAC5C,IAAIjC,EAAM,GACViC,EAASA,GAAU,aACnB6E,EAAErkB,KAAK,kBAAkBwD,MAAM,MAAM,WACnC+Z,EAAI,IAAM9d,KAAO,IAAM+f,GAAU7iB,KAEnCwD,EAAKod,IAAIA,IAIPkO,EAAa,SAAoBtrB,GACnCqrB,EAASrrB,EAAM,OAAQ,cAEnBmkB,EAAUoH,QAAUpH,EAAUqH,QAChCH,EAASrrB,EAAM,qBAAsB,aAEjCA,EAAKuL,KAAK,YACZvL,EAAKod,IAAIpd,EAAKuL,KAAK,WACnBvL,EAAKuL,KAAK,SAAU,SAQnB,SAAUvL,EAAMyrB,EAAIxqB,GAUzB,GARAA,EAAUijB,EAAEljB,OAAO,CACjB0qB,SAAU,IACVxf,SAAUgZ,EACVyG,MAAM,GACL1qB,GAEHjB,EAAOkkB,EAAElkB,IAEJiB,EAAQyqB,SAGX,OAFA1rB,EAAKod,IAAIqO,QACTxqB,EAAQiL,SAASxQ,KAAKsE,EAAK,IAKxByqB,GAMDxpB,EAAQ0qB,OAEV3rB,EAAKkU,IAAIyW,GACTW,EAAWtrB,IAIb4rB,GAAS,EACT1H,EAAErkB,KAAK4rB,GAAI,SAAU3uB,EAAK2gB,GACxBL,EAAMpd,EAAKod,IAAItgB,GAEXitB,EAAM8B,WAAWzO,IAAQ2M,EAAM8B,WAAWpO,KAC5CmO,GAAS,GAIX5rB,EAAKod,IAAItgB,EAAKsgB,MAGXwO,GAQLE,EAAU,GAEVC,EAAS9qB,EAAQ8qB,UAAUhB,EAAUA,EAAQ9pB,EAAQ8qB,QAAUhB,EAAQ/S,SAEvEgU,EAAS,IAAM/qB,EAAQyqB,SAAd,mBAAmDK,EAAOxhB,KAAK,KAAO,IAE/E7G,EAAO4I,WAAW,SAAUtM,EAAM2qB,EAAUc,EAAIO,GAC9C,OAAO,WAELhsB,EAAKgU,IAAI2W,EAAU,SAAU3qB,GAC3B,OAAO,WAELsrB,EAAWtrB,GAEXiB,EAAQiL,SAASxQ,KAAKsE,EAAK,KALZ,CAOjBA,IAEEmkB,EAAUoH,QAAUpH,EAAUqH,QAChCS,EAAS,GACTC,EAAO,CAAC,EAAG,EAAG,GACdhI,EAAErkB,KAAK,CAAC,OAAQ,QAAQ,SAAUtE,EAAGI,GAC/BA,KAAK8vB,IACPS,EAAK3wB,GAAKwuB,EAAM8B,WAAWJ,EAAG9vB,IAAMouB,EAAM8B,WAAW7rB,EAAKod,IAAIzhB,IAAM,KACpEswB,EAAOtwB,GAAK8vB,EAAG9vB,UACR8vB,EAAG9vB,QAIVuwB,EAAK,IAAMA,EAAK,MAClBlsB,EAAKuL,KAAK,SAAU0gB,GACpBH,EAAQ/tB,KAAK,oBAAsBiuB,GAEnCX,EAASrrB,EAAM,eAAiBksB,EAAK3hB,KAAK,KAAO,IAAK,eAK1D2Z,EAAErkB,KAAK4rB,GAAI,SAAUpuB,EAAGogB,GACtBqO,EAAQ/tB,KAAKV,EAAI2uB,MAGnBX,EAASrrB,EAAM8rB,EAAQvhB,KAAK,MAE5BvK,EAAKod,IAAIqO,IAtCK,CAwChBzrB,EAAM2qB,EAAUc,EAAIO,GAAS,IArD7BtoB,EAAO4I,YAAW,WAChBrL,EAAQiL,SAASxQ,KAAKsE,EAAK,MAC1BiB,EAAQyqB,WA3BX1rB,EAAKwqB,QAAQiB,EAAIxqB,KAiFvBkrB,YAAa,SAAqBnsB,GAKhC,GAJIA,aAAgBpB,IAClBoB,EAAOA,EAAK,IAGVwlB,EAAK,GAAKxlB,EAAM,CAClB,IAAIme,EAAQne,EAAKme,MACbiO,EAAepsB,EAAKosB,aACpBxd,EAASwd,GAAgBA,EAAaxd,QAAUuP,EAAMvP,QAAU,GAEhE,QAAQvK,KAAKuK,KACfuP,EAAMvP,OAASA,EAAO7M,QAAQ,kBAAmB,OAIvDsqB,YAAa,SAAqBrsB,EAAMgd,IACtChd,EAAOkkB,EAAElkB,IAEAsE,KAAK,UACZtE,EAAKuL,KAAK,SAAUvL,EAAKsE,KAAK,UAAUgoB,WAAW,SAGrDtsB,EAAKod,IAAIJ,IAEXuP,aAAc,WACZrI,EAAErkB,KAAKkqB,EAAMG,MAAM/pB,YAAY,SAAU5E,EAAGyE,IAC1CA,EAAOkkB,EAAElkB,IACJssB,WAAW,SAChBtsB,EAAKsE,KAAK,QAAS,IAEftE,EAAKuL,KAAK,WACZvL,EAAKsE,KAAK,QAAStE,EAAKuL,KAAK,WAAWA,KAAK,SAAU,UAI7DihB,QAAS,SAAiBxsB,GACxB+pB,EAAMsC,YAAYrsB,EAAM,CACtBmc,SAAU,WACV6C,MAAO,OAGXyN,OAAQ,WACN1C,EAAMwC,aAAarsB,MAAM6pB,EAAOA,EAAMG,MAAM/pB,aAE9CusB,KAAM,SAAc1sB,EAAM2sB,EAAO7sB,GAC/BA,EAAWA,GAAYolB,EACvB,IAAI0H,EAAQ1I,EAAElkB,GACdA,EAAO4sB,EAAM,GAERA,EAAMrhB,KAAK,YACdqhB,EAAMrhB,KAAK,UAAWqhB,EAAMxP,IAAI,YAIlC,IAAIe,EAAQ,CACVJ,QAAS,GAGX,GAAI4O,EAAO,CACT,IAAIzgB,EAAWsZ,EAAK,GAAKxlB,EAAO,WAC9B+pB,EAAMoC,YAAYnsB,GAClBA,EAAKme,MAAM/B,WAAa,SACxBtc,EAASpE,KAAKsE,IACZF,EACJiqB,EAAMS,QAAQxqB,EAAMme,EAAO,CACzBuN,SAAUiB,EACVzgB,SAAUA,EACVyf,MAAM,SAGJnG,EAAK,GAAKxlB,GACZ+pB,EAAMoC,YAAYnsB,GAClBA,EAAKme,MAAM/B,WAAa,UAExBwQ,EAAMxP,IAAIe,IAIhB0O,KAAM,SAAc7sB,EAAM2sB,EAAO7sB,GAC/BA,EAAWA,GAAYolB,EACvB,IAAI0H,EAAQ1I,EAAElkB,GACdA,EAAO4sB,EAAM,GAEb,IACIzO,EAAQ,CACVJ,QAFUH,WAAWgP,EAAMrhB,KAAK,aAAe,GAKjD,GAAIohB,EAAO,CACLnH,EAAK,IACPoH,EAAMxP,IAAI,UAAW,GACrBpd,EAAKme,MAAM/B,WAAa,WAG1B,IAAIlQ,EAAWsZ,EAAK,GAAKxlB,EAAO,WACT,GAAjBme,EAAMJ,SACRgM,EAAMoC,YAAYnsB,GAGpBF,EAASpE,KAAKsE,IACZF,EACJiqB,EAAMS,QAAQxqB,EAAMme,EAAO,CACzBuN,SAAUiB,EACVzgB,SAAUA,EACVyf,MAAM,SAGJnG,EAAK,GAAsB,GAAjBrH,EAAMJ,SAAgB/d,GAClC+pB,EAAMoC,YAAYnsB,GAClBA,EAAKme,MAAM/B,WAAa,WAExBwQ,EAAMxP,IAAIe,IAIhB2O,KAAM,SAAc7rB,GAClBkjB,EAAU4I,SAAW5I,EAAU4I,UAAY,GAC3C9rB,EAAUijB,EAAEljB,OAAO,CACjB0O,MAAOyV,EACPhZ,QAAS+Y,EACTjjB,MAAO,WACLkiB,EAAU6I,MAAM,sCAElB3gB,QAAS,KACRpL,GAEH,IACIgsB,EACAvU,EACAwU,EAHAC,EAAQpD,EAAMqD,YAIdruB,EAAK,SAASA,IAKhB,OAJA2Z,EAAMqR,EAAMqD,YACZH,EAAUvU,EAAMyU,EAChBpD,EAAMK,gBAAgBjG,EAAU4I,SAAUG,GAEtCjsB,EAAQyO,MAAMud,IAChBhsB,EAAQkL,WACD,GAGqB,iBAAnBlL,EAAQoL,SAAuBqM,GAAOyU,EAAQlsB,EAAQoL,SAC/DpL,EAAQgB,SACD,QAGTkiB,EAAU4I,SAAShvB,KAAKmvB,EAAMxpB,EAAO4I,WAAWvN,EAAI,MAGtDolB,EAAU4I,SAAShvB,KAAKmvB,EAAMxpB,EAAO4I,WAAWvN,EAAI,MAEtDsuB,cAAe,SAAuBC,EAAKC,GAC9B,IAAP/H,GAAmB,IAAPA,IAAa8H,GAAqC,OAA9BA,EAAI5oB,SAASiH,gBAI5B,qBAAV4hB,IACTA,EAA0C,qBAAlCD,EAAInP,MAAMqP,qBAGpBF,EAAInP,MAAMqP,oBAAsBD,EAAQ,UAAY,qBAEtDE,eAAgB,SAAwBzQ,EAAQ8J,GAC9C,IAAIA,IAAM5C,EAAE,IAAM4C,GAAI5nB,OAAtB,CAIA,IAAIif,EAAQzb,EAAIqD,cAAc,SAQ9B,GANI+gB,IACF3I,EAAM2I,GAAKA,GAGbjB,IAAME,KAAK7C,YAAY/E,GAEnBA,EAAMuP,WAERvP,EAAMuP,WAAWC,QAAU3Q,MACtB,CACL,IAAI2Q,EAAUjrB,EAAIkrB,eAAe5Q,GACjCmB,EAAM+E,YAAYyK,MAItBE,WAAY,SAAoBrmB,EAAK1H,GACnC,IAAImL,GAAO,EACP6iB,EAAS5J,EAAE,YAAiB5f,KAAK,CACnCpD,IAAKsG,EACLK,OAAO,IACNzL,IAAI,GAEP0xB,EAAOC,OAASD,EAAOE,mBAAqB,WACrC/iB,GAAU3L,KAAK+K,YAAkC,WAApB/K,KAAK+K,YAA+C,aAApB/K,KAAK+K,aACrEY,GAAO,EAEP6iB,EAAOC,OAASD,EAAOE,mBAAqB,KAEpB,oBAAbluB,GACTA,EAASpE,KAAK4D,KAAMA,QAK1BumB,IAAME,KAAK7C,YAAY4K,IAGzBjC,WAAY,SAAoBpO,GAC9B,GAAmB,kBAARA,EACT,OAAOA,EACF,GAAmB,kBAARA,EAAkB,CAClC,IAAI9f,EAAM8f,EAAIzZ,MAAM,aACpB,OAAOrG,GAAOA,EAAID,cAAgB+D,MAAuB,EAAf9D,EAAI4M,KAAK,IAAU,EAE7D,OAAO,GAIX6iB,UAAW,WACT,OAAO,IAAI3U,MAAOwV,WAEpBC,QAAS,SAAiB9mB,EAAM0f,EAAIhnB,GAClC,IAAIquB,EAAMjvB,EAiBV,GAfAglB,EAAE,wBAAwBrkB,MAAK,WAC7B,GAAI,IAAIwW,OAAOjP,GAAM/C,KAAK/E,KAAK8H,MAE7B,OADA+mB,EAAO7uB,MACA,KAIO,oBAAPwnB,IACThnB,EAAWgnB,EACXA,EAAK1C,GAGPtkB,EAAWA,GAAYolB,EAGnBiJ,EAEF,OADAruB,EAASpE,KAAKyyB,EAAMA,GACbA,EAMT,GAFAjvB,EAASwD,EAAI0rB,YAAYlvB,OAErBglB,EAAE,IAAM4C,GAAI5nB,OACdglB,EAAE,IAAM4C,GAAIxiB,KAAK,OAAQ8C,GACzBlI,QACK,CACLivB,EAAOjK,EAAE,UAAU5f,KAAK,CACtB+pB,IAAK,aACLjnB,KAAMA,EACN0f,GAAIA,IACH1qB,IAAI,GACP,IAAI4gB,EAASkH,EAAE,iCAQf,GANIlH,EAAO9d,OACT8d,EAAO5gB,IAAI,GAAG6S,WAAWmU,aAAa+K,EAAMnR,EAAO,IAEnD6I,IAAME,KAAK7C,YAAYiL,GAGrB3I,GAAMtmB,GAAU,GAGlB,YAFAilB,EAAU6I,MAAM,sDAAsD,GAM1E,GAAwB,oBAAbltB,EAAyB,CAElC,IAAIwuB,EAAUpK,EAAE,OAAO5f,KAAK,KAAM,mBAAmBooB,OAAO/I,SAASkC,IAAMC,MAC3EiE,EAAM+C,KAAK,CACTpd,MAAO,WACL,OAAO4e,EAAQC,SAAW,GAE5BpiB,QAAS,WACPmiB,EAAQrY,SACRnW,EAASpE,KAAKyyB,EAAMA,IAEtBlsB,MAAO,WACLqsB,EAAQrY,SAERkO,EAAU6I,MAAM,2CAA6C7I,EAAUqK,MAAQ,gEAAkE,sCAAsC,IAEzLniB,QAAS,MAIb,OAAO8hB,IAKbM,EAAY,SAAmBC,GAC7B,IAAItR,EAAM,4cAEV,OADA2M,EAAM0D,eAAerQ,EAAK,sBACnB8G,EAAE6F,EAAMltB,OAAO,uBAAuBoL,KAAK,WAAW0b,SAAS+K,GAAW3W,OAAM,WACrFmM,EAAE5kB,MAAMwQ,SAAS,OAAO6e,cAI5BC,GACMC,EAAS,SAAgBC,EAAQ5iB,EAAU6iB,EAAMC,GACnD,IAmBsBvvB,EAnBlBssB,EAASzsB,KAAK2vB,WAAW,UACzBC,EAAW5vB,KAAK6vB,gBAChBC,EAAO,CACTpQ,KAAMkQ,GAAYJ,EAAOO,QAAU,EAAI,IAErC5D,EAAK,CACPzM,KAAM,GAGJ+P,GACFK,EAAKrR,QAAU,EACf0N,EAAG1N,QAAU,GAEbqR,EAAKrR,QAAU,EAGjBmG,EAAE4K,EAAOvgB,MAAM6O,IAAIgS,GACnBrF,EAAMS,QAAQsE,EAAOvgB,KAAMkd,EAAI,CAC7BC,SAAUoD,EAAOnC,MACjBzgB,UAAoBzM,EAOlBykB,EAAE4K,EAAOvgB,MAAMtC,IAAI6iB,EAAOvhB,MANnB,WACLrB,IACAzM,EAAM2d,IAAI,CACR4B,KAAM,MAIZsQ,OAAO,EACPvD,OAAQA,IAGNiD,IACFF,EAAOO,QAAUP,EAAOO,QAGtBP,EAAOvhB,OACT6hB,EAAO,CACLpQ,KAAM,GAERyM,EAAK,CACHzM,KAAMkQ,GAAYJ,EAAOO,OAAS,GAAK,IAGrCN,IACFK,EAAKrR,QAAU,EACf0N,EAAG1N,QAAU,GAGfmG,EAAE4K,EAAOvhB,MAAM6P,IAAIgS,GACnBrF,EAAMS,QAAQsE,EAAOvhB,KAAMke,EAAI,CAC7BC,SAAUoD,EAAOnC,MACjB2C,OAAO,EACPvD,OAAQA,EACR7f,SAAU,WACRgY,EAAE5kB,MAAM8d,IAAI,UAAW,QAMxB,CACL/V,QAAQ,EACRrI,KAAM,SAAcuwB,EAAQT,EAAQ5iB,GAC9B0iB,EAAaY,QAAQpyB,eAAemyB,IACtCX,EAAaY,QAAQD,GAAQ7zB,KAAK4D,KAAMwvB,EAAQ5iB,IAGpDsjB,QAAS,CACPT,KAAM,SAAcD,EAAQ5iB,GAC1BgY,EAAE4K,EAAOvgB,MAAM6O,IAAI,CACjBW,QAAS,EACTiB,KAAM,IAER+K,EAAMS,QAAQsE,EAAOvgB,KAAM,CACzBwP,QAAS,GACR,CACD2N,SAAUoD,EAAOnC,MACjBzgB,SAAUA,IAGR4iB,EAAOvhB,OACT2W,EAAE4K,EAAOvhB,MAAM6P,IAAI,UAAW,GAAGyP,OACjC9C,EAAMS,QAAQsE,EAAOvhB,KAAM,CACzBwQ,QAAS,GACR,CACD2N,SAAUoD,EAAOnC,UAIvB8C,MAAO,SAAeX,EAAQY,GAC5BxL,EAAE4K,EAAOvgB,MAAM6O,IAAI,CACjBW,QAAS,EACTiB,KAAM,IAGJ8P,EAAOvhB,KACTwc,EAAMS,QAAQsE,EAAOvhB,KAAM,CACzBwQ,QAAS,GACR,CACD2N,SAAUoD,EAAOnC,MAAQ,EACzBzgB,SAAU,WACR6d,EAAMS,QAAQsE,EAAOvgB,KAAM,CACzBwP,QAAS,GACR,CACD2N,SAAUoD,EAAOnC,MACjBzgB,SAAUwjB,OAKhB3F,EAAMS,QAAQsE,EAAOvgB,KAAM,CACzBwP,QAAS,GACR,CACD2N,SAAUoD,EAAOnC,MACjBzgB,SAAUwjB,KAIhBC,MAAO,SAAeb,EAAQ5iB,GACxB4iB,EAAOvhB,MACT2W,EAAE4K,EAAOvhB,MAAMmf,OAGjBxI,EAAE4K,EAAOvgB,MAAM6O,IAAI,CACjBW,QAAS,EACTiB,KAAM,IACL6N,OACH9C,EAAMS,QAAQsE,EAAOvgB,KAAM,CACzBwP,QAAS,GACR,CACD2N,SAAUoD,EAAOnC,MACjBzgB,SAAUA,KAGd0jB,MAAO,SAAed,EAAQ5iB,GAC5B2iB,EAAO3uB,MAAMZ,KAAMyqB,EAAMG,MAAM/pB,aAEjC0vB,UAAW,SAAmBf,EAAQ5iB,GACpC2iB,EAAO3uB,MAAMZ,KAAMyqB,EAAMG,MAAM/pB,WAAW0F,OAAO,EAAC,MAEpDiqB,UAAW,SAAmBhB,EAAQ5iB,GACpC2iB,EAAO3uB,MAAMZ,KAAMyqB,EAAMG,MAAM/pB,WAAW0F,OAAO,EAAC,GAAO,SA/IlD,IACTgpB,EAhgBE,IA4GEjD,EAAQE,EAASC,EAAQC,EAAQC,EAAQC,EAAM9O,EA7D/CqN,EAkBAE,EAOAI,EAYAM,EAUAC,EAnLC,IACHrjB,GA5JM,IACRme,GA86LN,OA1iKA2B,EAAkBY,SAGlBzE,EAAEva,MAAMkI,QAAQ,cAAgB,CAC9Bke,WAAW,EACX9jB,IAAK,SAAakJ,GAChB,IAAI6a,EAAY,SAAmB1kB,GACjC,GAAIA,EAAE+O,SAAW/O,EAAE+O,QAAQnb,OAAQ,CACjC,IAAI+wB,EAAQ3kB,EAAE+O,QAAQ,GACtB,MAAO,CACL6V,EAAGD,EAAM7W,MACT+W,EAAGF,EAAM5W,SAKX+W,EAAM,CACRC,SAAS,EACTC,WAAW,EACXC,OAAQ,CACNL,EAAG,EACHC,EAAG,GAELK,MAAO,IAETtM,EAAE5kB,MAAMiM,KAAK,CACXklB,WAAYL,EACZM,MAAO,IACN3V,GAAG,mBAAmB,SAAUzP,GACjC5H,EAAOmJ,aAAaqX,EAAE5kB,MAAMiM,KAAK,UACjC2Y,EAAE5kB,MAAMiM,KAAK,aAAc,CACzB8kB,SAAS,EACTC,WAAW,EACXC,OAAQP,EAAU1kB,EAAEqM,eACpB6Y,MAAOllB,OAERyP,GAAG,kBAAkB,SAAUzP,GAChC,IAAIilB,EAASP,EAAU1kB,EAAEqM,eACrBjK,EAAQwW,EAAE5kB,MAAMiM,KAAK,cACV1J,KAAK8a,IAAI9a,KAAK8uB,IAAIjjB,EAAM6iB,OAAOL,EAAIK,EAAOL,GAAIruB,KAAK8uB,IAAIjjB,EAAM6iB,OAAOJ,EAAII,EAAOJ,IAE/E,GACbjM,EAAE5kB,MAAMiM,KAAK,aAAc2Y,EAAEljB,OAAO0M,EAAO,CACzC4iB,WAAW,QAGdvV,GAAG,iBAAiB,SAAUzP,GAC/B,IAAIslB,EAAQ1M,EAAE5kB,MACFsxB,EAAMrlB,KAAK,cAEb+kB,WACRnb,EAAUvD,QAAQlW,KAAK4D,KAAMgM,GAG/BslB,EAAMrlB,KAAK,QAAS7H,EAAO4I,YAAW,WACpCskB,EAAMrlB,KAAK,aAAc6kB,KACxB,SACFrV,GAAG,cAAc,SAAUzP,GAG5B,GAFY4Y,EAAE5kB,MAAMiM,KAAK,cAEf8kB,QACR,OAAO,EAGTnM,EAAE5kB,MAAMiM,KAAK,aAAc6kB,GAC3Bjb,EAAUvD,QAAQlW,KAAK4D,KAAMgM,OAGjC2K,OAAQ,WACNiO,EAAE5kB,MAAM4U,IAAI,6DAIhBoQ,EAAKvJ,GAAG,qBAAqB,WAC3BmJ,EAAE5kB,MAAMuxB,aAgBV1M,EAAY,WACV,IAAItC,EAAOviB,KAEXA,KAAKsqB,SAAW,GAEhBtqB,KAAKwxB,UAAW,EAEhBxxB,KAAKyxB,UAAY,IAEjBzxB,KAAK0xB,QAAU,KAEf1xB,KAAK2xB,OAAS,CACZ/xB,OAAQ,GAGVI,KAAK4xB,MAAQ,GAEb5xB,KAAK6xB,KAAO,GAEZ7xB,KAAK8xB,YAAc,GAEnB9xB,KAAK+xB,QAAU,GAEf/xB,KAAKuqB,cAAe,EAEpBvqB,KAAKgyB,WAAY,EAEjBhyB,KAAKiyB,YAAc,EACnBjyB,KAAKkyB,aAAe,EAEpBlyB,KAAKmyB,QAAUrN,EAEf9kB,KAAKoyB,OAAS,GAEdpyB,KAAKqyB,IAAMC,SAAsB,IAAb3M,EAAEnjB,SAAkB,IAExC,IAAI+vB,EAAO,mNACPC,EAAQ,gBACZ5N,EAAErkB,KAAKgyB,EAAKxuB,MAAM,MAAM,SAAU9H,EAAGw2B,GACnClQ,EAAKsP,KAAKY,GAAUhI,EAAMltB,OAAO,YAAck1B,MAEjD7N,EAAErkB,KAAKiyB,EAAMzuB,MAAM,MAAM,SAAU9H,EAAGw2B,GACpClQ,EAAKsP,KAAKY,GAAUhI,EAAMltB,OAAO,YAAck1B,EAAQ,WAIzD,IAAIC,EAAW1yB,KAAK2yB,UAAY,CAC9BC,KAAM,CACJ,GAAM,GACN,KAAQ,GACR,KAAQ,GACR,MAAS,GACT,OAAU,GACV,OAAU,GACV,UAAa,EACb,MAAS,IAEXnyB,IAAK,GACLoyB,OAAO,EACPC,MAAO,SAAe9mB,GACpB,IAAIxO,EAAMwO,EAAEmO,SAAWnO,EAAEgP,MAErBxd,KAAOk1B,EAASjyB,KAAoC,oBAAtBiyB,EAASjyB,IAAIjD,IAC7Ck1B,EAASjyB,IAAIjD,GAAKpB,KAAKmmB,EAAMvW,IAGjC+mB,OAAQ,SAAgBtyB,GACtB,IAAIjD,EAAKw1B,EAET,IAAKx1B,KAAOiD,EACNA,EAAI3C,eAAeN,MACrBw1B,EAAKx1B,EAAI6O,iBAECqmB,EAASE,KACjBF,EAASjyB,IAAIiyB,EAASE,KAAKI,IAAOvyB,EAAIjD,GAEtCk1B,EAASjyB,IAAIuyB,GAAMvyB,EAAIjD,IAKxBk1B,EAASG,QACZH,EAASG,OAAQ,EACjB9N,EAAKtJ,GAAG,UAAWiX,EAASI,SAGhCrP,OAAQ,WACNiP,EAASG,OAAQ,EACjBH,EAASjyB,IAAM,GACfskB,EAAKnQ,IAAI,UAAW8d,EAASI,SAI7BG,EAAWjzB,KAAKkzB,UAAY,CAC9BC,EAAGrO,EACHsO,EAAGtO,EACH/c,OAAQ,EACRsU,KAAM,WACJ4W,EAASlrB,OAASkrB,EAASlrB,OAAS,EAAI,GAE1CsrB,UAAW,WACT,OAAO9Q,EAAK+H,SAASgJ,MAAQL,EAASM,OAAOhR,EAAKmP,SAAWuB,EAASA,EAASlrB,SAEjFyrB,QAAS,WACP,OAAOjR,EAAK+H,SAASgJ,MAAQL,EAASM,OAAOhR,EAAKiR,QAAQjR,EAAKmP,UAAYuB,EAAS,EAAIA,EAASlrB,SAEnGwrB,OAAQ,GACRE,OAAQ,GACRC,OAAQ,IAGNC,EAAW3zB,KAAK4zB,UAAY,CAE9B3kB,KAAMsT,EAAKqC,EAAE,mBACb3W,KAAMsU,EAAKqC,EAAE,kBAEbvF,MAAO,EAEPvR,QAAS,EAETuP,IAAK,EAELyB,MAAO,GAGP+U,OAAQ,WACN,IAAIC,EAAI,EACJC,EAAI,EACJjV,EAAQ,CAAC,GACb8F,EAAErkB,KAAKgiB,EAAKuP,aAAa,SAAU71B,EAAG+3B,GACpC,GAAIA,EAAM9uB,MAAO,CACf4uB,GAAKE,EAAMC,YAAcrP,EAAEoP,EAAM5E,WAAW6E,YAAW,GAGvD,IAAIC,EAAiBtP,EAAEoP,EAAM5E,WAAW/P,QACxCyU,GAAKI,EAAiBvO,EAAEwO,MAAMD,GAC9BpV,EAAM7iB,EAAI,GAAK63B,EACfC,EAAIpO,EAAEtI,IAAI0W,EAAGC,EAAMI,aAAexP,EAAEoP,EAAM5E,WAAWgF,aAAY,QAGrE7R,EAAKqC,EAAE,cAAc9G,IAAI,CACvBuB,MAAOyU,EACP7E,OAAQ8E,IAEVJ,EAAStW,IAAMyW,EACfH,EAAS7U,MAAQA,EACjB6U,EAAStU,MAAQkD,EAAKqC,EAAE,mBAAmBvF,QAC3CsU,EAASU,aACT9R,EAAKqC,EAAE,wBAAwB0P,YAAY,oBAAqBR,EAAIH,EAAStU,OAE7EsU,EAAStU,MAAQkD,EAAKqC,EAAE,mBAAmBvF,SAE7CkV,aAAc,WACZ,IAAIt4B,EACJ03B,EAAS1kB,KAAKwM,GAAG,cAAc,SAAUzP,GAGvC,GAFAA,EAAEwJ,iBAEkC,SAAhC+M,EAAK+H,SAASkK,eAChB,IAAKv4B,EAAI03B,EAAS7lB,QAAS7R,EAAI03B,EAAS7U,MAAMlf,OAAQ3D,IACpD,GAAI03B,EAAS7U,MAAM7iB,GAAK03B,EAAS7U,MAAM6U,EAAS7lB,SAAW6lB,EAAStU,MAAO,CACzEsU,EAAS5e,IAAI9Y,EAAI,GACjB,YAIJ03B,EAAS5e,IAAI4e,EAAS7lB,QAAUyU,EAAK+H,SAASkK,kBAGlDb,EAAS1lB,KAAKwN,GAAG,cAAc,SAAUzP,GAGvC,GAFAA,EAAEwJ,iBAEkC,SAAhC+M,EAAK+H,SAASkK,cAChB,IAAKv4B,EAAI03B,EAAS7lB,QAAS7R,GAAK,EAAGA,IAAK,CACtC,GAAI03B,EAAS7U,MAAM6U,EAAS7lB,SAAW6lB,EAAS7U,MAAM7iB,GAAK03B,EAAStU,MAAO,CACzEsU,EAAS5e,IAAI9Y,EAAI,GACjB,MACK,GAAU,IAANA,EAAS,CAClB03B,EAAS5e,IAAI,GACb,YAIJ4e,EAAS5e,IAAI4e,EAAS7lB,QAAUyU,EAAK+H,SAASkK,mBAKpDzf,IAAK,SAAa9Y,GAGhB,IAFAA,EAAI0pB,EAAEtI,IAAIphB,EAAG,GAEN03B,EAAS7U,MAAM7iB,EAAI,GAAK03B,EAAStU,OAASsU,EAAStW,KAAOphB,GAAK,GACpEA,IAGF03B,EAAS7lB,QAAU7R,EACnB03B,EAASzI,WAGXuJ,QAAS,SAAiBx4B,GACxB,OAAQA,GAAK03B,EAAS7lB,SAAW,GAGnC4mB,OAAQ,SAAgBz4B,GAEtB,GAAU,IAANA,GAAWA,IAAM03B,EAAS7U,MAAMlf,OAAS,EAA7C,CAQA,IAFA,IAAIoB,EAAO2yB,EAAS7lB,QAEb6lB,EAAS7U,MAAM9d,GAAQ2yB,EAAS7U,MAAM6U,EAAS7lB,SAAW6lB,EAAStU,OAASre,GAAQ2yB,EAAS7U,MAAMlf,QACxGoB,IAIE/E,EAAI,EAAI03B,EAAS7lB,QACnB6lB,EAAS5e,IAAI9Y,EAAI,GACRA,EAAI,EAAI+E,GACjB2yB,EAAS5e,IAAI9Y,EAAI+E,EAAO2yB,EAAS7lB,QAAU,QAf3C6lB,EAAS5e,IAAI9Y,IAmBjBo4B,WAAY,WACVV,EAAS1lB,KAAKqmB,YAAY,YAAaX,EAAS7lB,SAChD6lB,EAAS1kB,KAAKqlB,YAAY,WAAYX,EAAS7U,MAAM6U,EAAS7lB,SAAW6lB,EAAStU,OAASsU,EAAStW,MAGtG6N,QAAS,SAAiBiB,GACxBwH,EAASU,aACT,IAAIp0B,GAA0C,EAApC0zB,EAAS7U,MAAM6U,EAAS7lB,SAE9B6mB,MAAM10B,KAKVsiB,EAAKqC,EAAE,cAAc9G,IAAI,QAAQ,WAC/B,OAAO8G,EAAE5kB,MAAM8d,IAAI,WAErB2M,EAAMS,QAAQ3I,EAAKzlB,IAAI,cAAe,CACpC4iB,KAAMzf,GACL,CACDmsB,SAAU7J,EAAK+H,SAASsK,cACxBnI,OAAQlK,EAAK+H,SAASmC,OACtBuD,OAAO,OAMT6E,EAAU70B,KAAK80B,SAAW,CAC5BC,aAAa,EACbC,MAAM,EACN5D,MAAO,UAAY7O,EAAK8P,IACxB4C,UAAW,OAAS1S,EAAK8P,IACzB3yB,KAAM,WACJm1B,EAAQE,aAAc,EACtB,IAAIjX,EAAM,uQACV2M,EAAM0D,eAAerQ,EAAK,oBAC1ByE,EAAKqC,EAAE,WAAW9G,IAAI,CACpBW,QAAS,GACT3B,WAAY,UACZC,QAAS,UAIbmY,KAAM,SAAclpB,GAClB,IAAImpB,EAAS5S,EAAK6S,iBAAiBppB,GAAG4kB,EAClCyE,EAAS9S,EAAK6S,iBAAiBppB,GAAG6kB,EAClCvD,EAAQ/K,EAAKqC,EAAE,WACfgM,EAAIuE,EACJtE,EAAIwE,EACJpG,EAAS3B,EAAM8G,aAAY,GAAQ,EACnC/U,EAAQiO,EAAM2G,YAAW,GACzBqB,EAASrG,EAAS,GAClBsG,EAAOhT,EAAKqC,EAAE,aAAavF,QAAUA,EAAQ,EAC7CmW,EAAOjT,EAAKqC,EAAE,aAAaqK,SAAWA,EAAS,EAE9C0F,MAAM/D,IAAO+D,MAAM9D,KACtBD,GAAK,GACLC,GAAK5B,EAAS,EACd2B,EAAIjL,EAAEtI,IAAI,EAAGsI,EAAE8P,IAAIF,EAAM3E,IACzBC,EAAIlL,EAAEtI,IAAI,EAAGsI,EAAE8P,IAAID,EAAM3E,IAErBwE,EAASC,IACXzE,EAAIyE,GAGNhI,EAAMxP,IAAI,CACR4B,KAAMkR,EACN8E,IAAK7E,MAOXpzB,KAAM,SAAciD,EAAMxD,GAExB,IAAI2nB,EAAUqH,MAAd,CAIK2I,EAAQE,aACXF,EAAQn1B,OAGV,IAAIi2B,EAAW,WACbpT,EAAKqC,EAAE,aAAahQ,IAAI,YAAaigB,EAAQK,MAC7C3S,EAAKmI,WAAWmK,EAAQzD,OACxB7O,EAAKqC,EAAE,WAAWyH,OAAOnB,QAAQ,CAC/BzM,QAAS,GACR,KAAK,WACN8D,EAAKqC,EAAE,WAAWwI,OAClB7K,EAAKoI,SAASkK,EAAQI,WAAW,WAC/BJ,EAAQG,MAAO,IACd,SAIHY,EAAQ,SAAel1B,EAAMxD,GAC/B23B,EAAQgB,OAAOn1B,EAAMxD,GACrB0nB,EAAElkB,GAAMk1B,OAAM,WACZrT,EAAKmI,WAAWmK,EAAQI,WACxB1S,EAAKqC,EAAE,aAAahQ,IAAI,YAAaigB,EAAQK,MAAMzZ,GAAG,YAAaoZ,EAAQK,MAAM9oB,QAAQ,aACzFyoB,EAAQtH,KAAK7sB,GACb6hB,EAAKoI,SAASkK,EAAQzD,OAAO,WAC3B7O,EAAKqC,EAAE,WAAWyH,OAAOkB,OAAOrC,QAAQ,CACtCzM,QAAS,IAEXoW,EAAQG,MAAO,IACdH,EAAQG,KAAO,EAAI,OACrBW,GAAUld,MAAMkd,IAGA,kBAAVz4B,EACT04B,EAAMl1B,KAAQ6hB,EAAKsP,KAAOtP,EAAKzlB,IAAI4D,GAAQA,EAAMxD,GAGjD0nB,EAAErkB,KAAKG,GAAM,SAAUo1B,EAAQ3X,GAC7ByX,EAAMrT,EAAKzlB,IAAIg5B,GAAS3X,QAI9BoP,KAAM,SAAc7sB,GAGlB,IAAIgI,GAFJhI,EAAOkkB,EAAElkB,KAAQ6hB,EAAKsP,KAAOtP,EAAKzlB,IAAI4D,GAAQA,IAE9BuL,KAAK,MACjBojB,EAAU,SAASA,EAAQrjB,GAEX,IAAU+a,EAA5B3iB,EAAO4I,YAAqB+Z,EAI1B/a,EAHO,WACL6oB,EAAQK,KAAKnO,KAEX,IACNrmB,EAAKkU,IAAI,UAAWya,KAGtB3mB,EAAuB,oBAATA,EAAsBA,IAASA,KAM7C6Z,EAAKqC,EAAE,WAAWjc,KAAKD,EAAKjG,QAAQ,KAAM,WAE1C/B,EAAK+a,GAAG,UAAW4T,KAErBwG,OAAQ,SAAgBn1B,EAAMxD,GAE5B,GAAqB,oBAAVA,EAAsB,CAC/B,IAAIc,EAAId,EAERA,EAAQ,WACN,OAAOc,GAIX0C,EAAOkkB,EAAElkB,KAAQ6hB,EAAKsP,KAAOtP,EAAKzlB,IAAI4D,GAAQA,GAAMuL,KAAK,KAAM/O,GAC/D23B,EAAQtH,KAAK7sB,KAIb8oB,EAAaxpB,KAAKupB,YAAc,CAClCwM,SAAU,EACVC,KAAMlR,EACN/c,QAAQ,EACRkG,KAAM2W,IACNqR,YAAa,SAAqBx2B,GAChCA,KAEFy2B,WAAY,SAAoBz2B,GAC9BA,KAEF02B,OAAQ5T,EAAKoQ,UAAUlyB,IACvB21B,cAAe,SAAuB51B,EAAUsoB,GAC9C,OAAOwG,EAAavnB,OAAS,WACJ,mBAAZvH,GACTA,EAASpE,KAAKmmB,GAGhB,IAAIxa,EAASwa,EAAK2Q,UAAUG,YACxBpkB,EAAOsT,EAAK2Q,UAAUM,UAE1BjR,EAAK8T,YAAYpnB,GAEjBsT,EAAK8T,YAAYtuB,GAEb+gB,GAASvG,EAAK+H,SAASgM,gBAEzB1R,EAAE7c,EAAOqnB,WAAWziB,IAAIsC,EAAKmgB,WAAWhjB,QAAQ,kBAEhD5L,GAENsoB,MAAO,SAAetoB,GACpBgpB,EAAWyM,aAAY,WACrBz1B,EAAWgpB,EAAW4M,cAAc51B,GAAU,GAE1C+hB,EAAK+H,SAASgM,gBAAkB7N,EAAkBzpB,SAEpDwqB,EAAWzhB,QAAS,EACpB0iB,EAAMsC,YAAYxK,EAAKzlB,IAAI,aAAc,CACvCuiB,MAAO,OACP4P,OAAQ,SAEV1M,EAAKgU,UAED1R,EAAU2R,IACN3R,EAAU4R,QAAU,iBAAiB1xB,KAAKsgB,IAO9C9C,EAAKqC,EAAE,SAAS9G,IAAI,UAAW,GAC/B1Z,EAAO4I,YAAW,WAChBwc,EAAWkN,QACXnU,EAAKqC,EAAE,SAAS9G,IAAI,UAAW,KAC9B,KAVHyE,EAAKqC,EAAE,aAAa9G,IAAI,UAAW,GAAG6Y,SAAS,cAC/CvyB,EAAO4I,YAAW,WAChBwc,EAAWkN,QACXnU,EAAKqC,EAAE,aAAa9G,IAAI,UAAW,KAClC,KASLyE,EAAKqC,EAAE,aAAa+R,SAAS,cAG/B3R,EAAKuM,OAAO/H,EAAWkN,OAEvBjO,EAAkBK,MAAMvG,EAAM/hB,EAAU+hB,EAAKzlB,IAAI,gBAEjD0sB,EAAWuM,SAAW/Q,EAAK4R,YAEtB/R,EAAUqH,OACb9nB,EAAOyyB,SAAS,EAAG,GAGrBrN,EAAWI,OAAOppB,QAIxBopB,OAAQ,SAAgBppB,GAIA,IACdE,EACAo2B,EACA/xB,EACAgyB,EAPRvN,EAAWzhB,QAAS,EAEhB4e,IACF6C,EAAWwN,QAELF,EAAQ1zB,EAAI6zB,SACZlyB,EAAO3B,EAAIqD,cAAc,KACzBswB,EAAM3yB,EAAOwB,SACjBb,EAAK+C,KAAOgvB,EAER/xB,EAAKqD,UAAY2uB,EAAI3uB,UAAYrD,EAAKmyB,UAAYH,EAAIG,UAAYnyB,EAAKoyB,MAAQJ,EAAII,MACrFtS,EAAU6I,MAAM,oFAET,IAGTlE,EAAW4N,GAAKhzB,EAAO6L,OAAO5L,SAC9BugB,EAAE4E,EAAW4N,IAAIxyB,KAAK,UAAUrE,MAAK,WAGnC,IAFWP,KAAK0Q,iBAAmB1Q,KAAKq3B,cAAchzB,YAEzCjB,EAEX,OADA1C,EAAOV,MACA,KAGJU,KAKX+pB,EAAM2C,KAAK7K,EAAK+U,kBAEZ3Q,GAAU6C,EAAWwN,SACvBxN,EAAWwN,OAAOjB,SAAWnR,EAAExgB,EAAO6L,QAAQ2mB,YAC9CxyB,EAAO6L,OAAO4mB,SAAS,EAAG,IAG5B,IAAI5qB,EAAOsW,EAAKgV,UACZ51B,EAAU4gB,EAAK+H,SACfkN,GAAajV,EAAK+H,SAASgM,iBAAmB7N,EAAkBzpB,QAChEy4B,EAAW,CACbxI,OAAQ,OACRyI,SAAU,SACV/X,OAAQ,EACRC,QAAS,GAwDX,GArDI4X,IACFjV,EAAKqC,EAAE,aAAa+R,SAAS,cAC7BnN,EAAWvb,KAAOsU,EAAKqC,EAAE,aAAa3W,OAEjCub,EAAWvb,KAAKrO,SACnB4pB,EAAWvZ,OAASsS,EAAKqC,EAAE,aAAa3U,UAI1CsS,EAAKqC,EAAE,aAAaP,SAAS,QAE7BoG,EAAMsC,YAAYxK,EAAKzlB,IAAI,aAAc,CACvC+f,SAAUgI,EAAUqH,MAAQ,WAAa,QACzCwJ,IAAK,EACLhW,KAAM,EACNL,MAAO,OACP4P,OAAQ,OACR0I,OAAQ,MAEVlN,EAAMsC,YAAYxG,IAAM5d,KAAM8uB,GAC9BhN,EAAMsC,YAAYxG,IAAMC,KAAMiR,IAG5B9Q,GAAU6C,EAAWwN,SACvBvM,EAAMsC,YAAYvD,EAAW4N,GAAGvjB,gBAAiB4jB,GACjDhN,EAAMsC,YAAYvD,EAAW4N,GAAG5Q,KAAMiR,GACtChN,EAAMsC,YAAYvD,EAAWwN,OAAQpS,EAAEljB,OAAO+1B,EAAU,CACtDpY,MAAO,OACP4P,OAAQ,OACRyG,IAAK,EACLhW,KAAM,EACN7C,SAAU,QACV8a,OAAQ,IACR9X,OAAQ,WAMZ2J,EAAW2M,OAASvR,EAAEljB,OAAO,GAAI6gB,EAAKoQ,UAAUlyB,KAChD8hB,EAAKqV,eAAe,CAClBC,OAAQtV,EAAK0G,eACb6O,MAAOvV,EAAKtT,KACZyQ,KAAM6C,EAAKtU,OAGbub,EAAWwM,KAAOr0B,EAAQo2B,UAEtBp2B,EAAQq2B,gBAAkBlT,IAC5BnjB,EAAQo2B,UAAYp2B,EAAQq2B,gBAI1B/rB,GAAQA,EAAKgsB,KAAOhsB,EAAKisB,QAAUjsB,EAAKgsB,IAAK,CAC/C,IAAIA,EAAM,IAAIpT,EAAUsT,QACpBC,EAASH,EAAII,SAASpsB,EAAKgsB,KAC3BroB,EAAQ2S,EAAK+V,WACbtE,EAAQzR,EAAKuP,YAAYliB,GAC7B2S,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAU0T,UAChBH,OAAQA,EACRrI,QAAQ,EACRngB,MAAOA,EACP4oB,YAAajW,EAAK+U,iBAClBmB,YAAazE,EACb0E,aAAczsB,IAEhBgsB,EAAI1f,KAAKtM,EAAKgsB,KAAK,SAAUA,GAC3B1V,EAAK8T,YAAY4B,EAAK,CACpBrrB,SAAU,SAAkBqrB,GAC1B1V,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAU8T,WAChBP,OAAQA,EACRxoB,MAAOA,EACPmgB,QAAQ,EACRyI,YAAaP,EAAIC,MACjBO,YAAazE,IAGf,IAAIkE,EAAQ3V,EAAK2Q,UAAUG,YAAY6E,MAEnCA,IACFtT,EAAEsT,GAAO7Y,MAAM4Y,EAAIC,MAAM7Y,OAAO4P,OAAOgJ,EAAIC,MAAMjJ,QAAQjqB,KAAK,QAAS4f,EAAEqT,EAAIC,OAAOlzB,KAAK,UAErFizB,EAAIC,MAAMt2B,IAAIg3B,QAChBhU,EAAEsT,GAAOlzB,KAAK,SAAUizB,EAAIC,MAAMt2B,IAAIg3B,QAGpCX,EAAIC,MAAMt2B,IAAIi3B,OAChBjU,EAAEsT,GAAOlzB,KAAK,QAASizB,EAAIC,MAAMt2B,IAAIi3B,OAGvCjU,EAAEsT,GAAOlzB,KAAK,MAAOizB,EAAIC,MAAMt2B,YAKvC,IAAIlE,EAAI6kB,EAAKiR,QAAQ5jB,GACjB7R,EAAI,IAAI8mB,EAAUsT,QAClBW,EAAQvW,EAAKgV,QAAQ75B,GACzBK,EAAEg7B,QAAQxW,EAAKyW,gBAAkBF,EAAMb,IAAMa,EAAMb,IAAMa,EAAMZ,OAIjE3V,EAAKgU,SAAQ,WACXhU,EAAKoI,UAAS,GAAO,WAEf6M,GACF/M,EAAM8C,KAAKhL,EAAK+U,kBAGM,oBAAb92B,GACTA,EAASpE,KAAKmmB,GAGhBA,EAAKgU,YACJ,KACHhU,EAAKnW,QAAQyY,EAAUoU,qBAGpBzB,EAGHxS,EAAKuM,OAAO/H,EAAWkN,OAFvBjM,EAAM8C,KAAKhL,EAAK+U,mBAKpBZ,MAAO,WACLnU,EAAKgU,WAEPvN,KAAM,SAAcxoB,GAClBgpB,EAAW0M,YAAW,WACpB11B,EAAWgpB,EAAW4M,cAAc51B,GAEhC+hB,EAAK+H,SAASgM,gBAAkB7N,EAAkBzpB,QACpDypB,EAAkBO,KAAKxoB,GAEvBgpB,EAAWK,MAAMrpB,OAIvBqpB,MAAO,SAAerpB,GACpBgpB,EAAWzhB,QAAS,EACpB,IAAIyvB,GAAajV,EAAK+H,SAASgM,iBAAmB7N,EAAkBzpB,QAChEk6B,EAAa3W,EAAKqC,EAAE,aAAauU,YAAY,cAQjD,GANI3P,EAAWvZ,OACbuZ,EAAWvZ,OAAO4T,QAAQqV,GAE1BA,EAAW3U,YAAYiF,EAAWvb,MAGhCupB,EAAW,CACb/M,EAAM2C,KAAK7K,EAAK+U,kBAEhB7M,EAAMwC,aAAa1K,EAAKzlB,IAAI,aAAcypB,IAAM5d,KAAM4d,IAAMC,MAEvD3B,EAAUqH,OACb9nB,EAAOyyB,SAAS,EAAGrN,EAAWuM,UAIhC,IAAIqD,EAAQ7W,EAAK2Q,UAAUO,OAAOlR,EAAK2Q,UAAUnrB,QAE7CqxB,GAASA,EAAMlB,QACjBkB,EAAMlB,MAAMt2B,IAAMw3B,EAAMlB,MAAMt2B,KAI9B+kB,GAAU6C,EAAWwN,SACvBvM,EAAMwC,aAAazD,EAAW4N,GAAGvjB,gBAAiB2V,EAAW4N,GAAG5Q,KAAMgD,EAAWwN,QAE7ExN,EAAWwN,OAAOjB,UACpB3xB,EAAO6L,OAAO4mB,SAAS,EAAGrN,EAAWwN,OAAOjB,WAKhDxT,EAAK8W,iBACL9W,EAAKqV,eAAepO,EAAW2M,QAE/B5T,EAAK+H,SAASyN,UAAYvO,EAAWwM,KAErC,IAI8Bp0B,EAJ1Bq2B,EAAM1V,EAAKgV,UAAUU,IACrBC,EAAQ3V,EAAK2Q,UAAUG,YAAY6E,OAElC3V,EAAKgV,UAAUP,QAAUkB,GAASD,GAAOA,GAAOC,EAAMt2B,KACzDwC,EAAO4I,YAAqBpL,EAI1B2gB,EAAKgV,UAAUW,MAHR,WACLA,EAAMt2B,IAAMA,IAES,GAG3B2gB,EAAKgU,SAAQ,WACXhU,EAAKoI,UAAS,GAAO,WAEf6M,GACF/M,EAAM8C,KAAKhL,EAAK+U,kBAGM,oBAAb92B,GACTA,EAASpE,KAAKmmB,GAGhByC,EAAK5Y,QAAQ,YACZ,IACHmW,EAAKnW,QAAQyY,EAAUyU,oBAEzBtU,EAAKpQ,IAAI,SAAU4U,EAAWkN,SAI9B6C,EAAOv5B,KAAKw5B,MAAQ,CACtBC,MAAO,GACP5G,OAAO,EACP9qB,QAAQ,EACR4E,IAAK,SAAajM,EAAMyrB,EAAI2D,EAAM1C,GAChC,GAAK1sB,IAAQmkB,EAAUqH,MAAvB,CAIKqN,EAAK1G,OACR0G,EAAKG,WAGPh5B,EAAOkkB,EAAElkB,GAEU,kBAARovB,IACT1C,EAAO0C,EACPA,EAAO,IAGTA,EAAOA,GAAQ,GACf,IACIjR,EADA8a,EAAU,GAGd,IAAK9a,KAASsN,EACRA,EAAGruB,eAAe+gB,KACpB8a,EAAQ9a,GAASne,EAAKod,IAAIe,IAI9Bne,EAAKuL,KAAK,OAAQ,CAChB6jB,KAAMlL,EAAEljB,OAAOi4B,EAAS7J,GACxB3D,GAAIA,EACJvf,UAAU,EACVgtB,MAAM,IAGHxM,EAGH1sB,EAAKod,IAAIqO,GAFToN,EAAK5O,WAKP4O,EAAKE,MAAMh7B,KAAKiC,KAElBiW,OAAQ,SAAgBjW,GACtBA,EAAOkkB,EAAElkB,GACTkkB,EAAErkB,KAAKg5B,EAAKE,OAAO,SAAUx9B,EAAG6Y,GAC1BA,GAAMA,EAAGlV,SAAWkV,EAAG+kB,IAAIn5B,GAAMd,SACnCc,EAAKod,IAAIpd,EAAKuL,KAAK,QAAQ6jB,MAC3ByJ,EAAKE,MAAMh4B,OAAOxF,EAAG,OAIpBs9B,EAAKE,MAAM75B,SACd25B,EAAKtiB,cACLsL,EAAKmI,WAAW6O,EAAKnI,SAGzBsI,SAAU,WACRH,EAAK1G,OAAQ,EACbtQ,EAAKqC,EAAE,aAAanJ,GAAG,kBAAmB8d,EAAKO,SAEjB,SAA1BvX,EAAK+H,SAASyP,UAChBxX,EAAKqC,EAAE,aAAanJ,GAAG,aAAc8d,EAAKnM,OAG9CnW,YAAa,WACXsiB,EAAK1G,OAAQ,EACbtQ,EAAKqC,EAAE,aAAanJ,GAAG,kBAAmB8d,EAAKO,SAEjB,SAA1BvX,EAAK+H,SAASyP,UAChBxX,EAAKqC,EAAE,aAAahQ,IAAI,aAAc2kB,EAAKnM,OAG/CzC,SAAU,WACsB,SAA1BpI,EAAK+H,SAASyP,UAIlBxX,EAAKoI,SAAS,QAAQ,WACpB4O,EAAKnM,SACJ7K,EAAK+H,SAAS0P,WAEnB5M,KAAM,WACJ,GAAK7K,EAAK+H,SAASyP,WAAgC,IAApBxX,EAAK+V,WAApC,CAIA/V,EAAKnW,QAAQyY,EAAUoV,YACvB,IAAI54B,EAAMk4B,EAAKE,MAAM75B,OACrBglB,EAAErkB,KAAKg5B,EAAKE,OAAO,SAAUx9B,EAAGyE,GAC9B,IAAIuL,EAAOvL,EAAKuL,KAAK,QAEhBA,IAILvL,EAAKuL,KAAK,QAAQW,UAAW,EAC7B6d,EAAMS,QAAQxqB,EAAMuL,EAAKkgB,GAAI,CAC3BC,SAAU7J,EAAK+H,SAAS4P,UACxBttB,SAAU,WACJ3Q,GAAKoF,EAAM,IACbk4B,EAAKxxB,QAAS,YAMxB+xB,QAAS,WACPvX,EAAKmI,WAAW,QAChB9F,EAAErkB,KAAKg5B,EAAKE,OAAO,SAAUx9B,EAAGyE,GAC9B64B,EAAKhM,KAAK7sB,OAGd6sB,KAAM,SAAc7sB,GAClB,IAAIuL,EAAOvL,EAAKuL,KAAK,QAEhBstB,EAAKxxB,SAAWkE,EAAK2tB,MAAS3tB,EAAKW,YACtCX,EAAK2tB,MAAO,EACZrX,EAAKnW,QAAQyY,EAAUsV,WACvB5X,EAAKmI,WAAW,QAChBD,EAAMS,QAAQxqB,EAAMuL,EAAK6jB,KAAM,CAC7B1D,SAAU7J,EAAK+H,SAAS4P,UAAY,EACpCttB,SAAU,WACR2sB,EAAKxxB,QAAS,EACd6c,EAAElkB,GAAMuL,KAAK,QAAQ2tB,MAAO,EAC5BhV,EAAElkB,GAAMuL,KAAK,QAAQW,UAAW,MAKtC2sB,EAAK5O,aAKLyP,EAAWp6B,KAAKq6B,UAAY,CAC9Bhb,MAAO,EACP4P,OAAQ,EACR8F,aAAa,EACbhtB,OAAQ,KACRmwB,MAAO,KACP/3B,MAAO,GACPg2B,QAAQ,EACRz2B,KAAM,WACJ,IAAI06B,EAASrF,YAAb,CAIAqF,EAASrF,aAAc,EAEvB,IAAI50B,EAAQ,4FACR2U,EAAK,GACLwlB,EAAK/X,EAAK+H,SACVxM,EAAM,GACNuT,EAAM,qBACNvR,EAAS,YACTya,EAAS,CACXC,QAAS,uCAAyCF,EAAGG,eAAiB,yBAA+C,IAApBH,EAAGG,eAAuB,oDAAsDH,EAAGI,kBAAoB,iBACxMld,IAAK,2HACLmd,OAAQtJ,EAAM,0CACd1gB,QAAS0gB,EAAM,kFACfuJ,KAAMvJ,EAAM,0FACZwJ,MAAOxJ,EAAM,uJACb6G,MAAO7G,EAAM,2EACbyJ,WAAYzJ,EAAM,8CAClB0J,WAAY1J,EAAM,yDAClBpjB,KAAMojB,EAAM,2JACZpiB,KAAMoiB,EAAM,sKACZ3K,MAAO,aACPsU,QAAS,gCAEPpF,EAAQ,SAAel1B,GACzB,OAAOA,EAAKk1B,OAAM,WAChBhR,EAAE5kB,MAAM8d,IAAI,QAAS,WACpB,WACD8G,EAAE5kB,MAAM8d,IAAI,QAAS,YAGrBmd,EAAU,GAGVC,EAAM,GAGRA,EADEhV,EAAK,EACDA,EAAK,EAAI,2CAA6C,4BAEtD,gBAGRqU,EAAOQ,YAAcG,EACrBX,EAAOO,YAAcI,EAErBtW,EAAErkB,KAAKg6B,GAAQ,SAAU/8B,EAAKN,GAC5B4gB,GAAO,aAAegC,EAAStiB,EAAM,IAAMN,EAAQ,OAErD4gB,GAAO,aAAegC,EAAS,wBAA0BA,EAAlD,wBAA0FA,EAAS,wBAA0BA,EAA7H,gEACP2K,EAAM0D,eAAerQ,EAAK,qBAE1B8G,EAAErkB,KAAKJ,EAAM4D,MAAM,MAAM,SAAU9H,EAAGw2B,GACpClQ,EAAK4Y,WAAW,YAAc1I,GAC9B3d,EAAG2d,GAAU2H,EAASj6B,MAAMsyB,GAAUlQ,EAAKzlB,IAAI,YAAc21B,MAG/D2H,EAASlC,MAAQ,IAAIrT,EAAUsT,QAE/BvT,EAAErkB,KAAK,CACLid,IAAK,6CACLod,KAAM,gBACNjqB,QAAS,aACTmqB,WAAY,OACZC,WAAY,SACX,SAAUv9B,EAAK2gB,GAChB,IAAI9f,EAAM,GACVumB,EAAErkB,KAAK4d,EAAIpa,MAAM,MAAM,SAAU9H,EAAGm/B,GAClC/8B,EAAII,KAAKqhB,EAASsb,MAEpBH,EAAQnb,EAAStiB,GAAOa,KAE1BkkB,EAAKoB,OAAOsX,GACZrW,EAAE9P,EAAGojB,OAAOvU,OAAOyW,EAASlC,MAAM9I,WAClCxK,EAAE2B,IAAMC,MAAM7C,OAAO7O,EAAG0lB,QAAS1lB,EAAG0I,KAEpCoY,EAAMhR,EAAE9P,EAAG+lB,OAAOpf,GAAG,aAAc2e,EAAShN,MAAMzkB,KAAK,WACvDic,EAAErkB,KAAK,CAAC,OAAQ,SAAS,SAAUtE,EAAG0S,GACpC,IAAI0sB,EAAKzW,EAAE9P,EAAGnG,EAAI1K,gBAAgB0E,KAAK,IAAI5D,KAAK4J,GAAO,gBAAkB,iBACrE2sB,EAAK1W,EAAE9P,EAAGnG,EAAI1K,cAAgB,WAClCq3B,EAAG7f,GAAG,cAAc,WAClB2e,EAAS,OAASzrB,QAGhBuX,EAAK,GAAKrB,EAAUqH,MACtBmP,EAAG9N,OAIL+N,EAAG1F,OAAM,WACPyF,EAAG9N,UACF,SAAUvhB,GACXqvB,EAAGhP,OAAOkP,QAAQ,WAGtB3W,EAAE9P,EAAG0lB,SAAS/e,GAAG,aAAc2e,EAAShN,MAEpCvI,EAAU2W,OACZjZ,EAAK+H,SAASmR,wBAA0B,KAG5ClF,QAAS,SAAiBlsB,GAExB,IAAIgV,EAAQsG,EAAE8P,IAAIzQ,EAAK3F,QAAU,GAAI+a,EAAS/a,OAC1C4P,EAAStJ,EAAE8P,IAAIzQ,EAAKiK,SAAW,GAAImL,EAASnL,QAC5CyM,EAAQ/V,EAAE8P,IAAIpW,EAAQ+a,EAAS/a,MAAO4P,EAASmL,EAASnL,QACxD0M,EAAYhW,EAAEiW,MAAMxB,EAAS/a,MAAQqc,GAAS,GAC9CG,EAAalW,EAAEiW,MAAMxB,EAASnL,OAASyM,GAAS,GAChDvP,EAAK,CACP9M,MAAOsc,EACP1M,OAAQ4M,EACR,cAAwC,EAA1BlW,EAAE5H,KAAK8d,EAAa,GAClC,eAAwC,EAAzBlW,EAAE5H,KAAK4d,EAAY,IAGhCtxB,EACFua,EAAEwV,EAASj6B,MAAMqd,KAAKM,IAAIqO,GAE1BvH,EAAEwV,EAASj6B,MAAMqd,KAAK0N,QAAQiB,EAAI,CAChCC,SAAU7J,EAAK+H,SAASmR,wBACxBhP,OAAQlK,EAAK+H,SAASmC,OACtB7f,SAAU,WACR,IAAIsrB,EAAQkC,EAASlC,MACjB7K,EAAQ9K,EAAK+H,SAASwR,kBAC1BvZ,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAUkX,eAChBvD,YAAaN,EAAMA,QAErBtT,EAAEsT,EAAM9I,WAAW7B,OACnB3I,EAAEsT,EAAMA,OAAOhN,QAAQ,CACrBzM,QAAS,GACR4O,GACH5C,EAAM8C,KAAK6M,EAASj6B,MAAMy6B,KAAMvN,OAKxCD,KAAM,WAEJgN,EAASlC,MAAMA,MAAQ,KACvBlT,EAAKpQ,IAAI,SAAUwlB,EAAS7D,SAC5B3R,EAAEwV,EAASj6B,MAAMqd,KAAK4P,OAAOxoB,KAAK,UAAU+R,SAC5C8T,EAAM2C,KAAKgN,EAASj6B,MAAMy6B,MAC1BrY,EAAK8W,iBACL9W,EAAKqV,eAAewC,EAASjE,QAC7BiE,EAASjE,QAAS,EAClB1L,EAAM2C,KAAKgN,EAASj6B,MAAMq6B,QAAS,KAAK,WACtC5V,EAAE5kB,MAAMotB,OAAOtP,IAAI,UAAWyE,EAAK+H,SAASmQ,gBAC5ClY,EAAKnW,QAAQyY,EAAUmX,oBAG3BC,SAAU,WACR7B,EAAS7M,KAAKhL,EAAKiR,QAAQ4G,EAASryB,UAEtCm0B,SAAU,WACR9B,EAAS7M,KAAKhL,EAAK4Z,QAAQ/B,EAASryB,UAEtCwlB,KAAM,SAAc3d,GAClBwqB,EAASryB,OAAS6H,EAAyB,kBAAVA,EAAqBA,EAAQ2S,EAAK+V,YAAc,EAE5E8B,EAASrF,aACZqF,EAAS16B,OAIX6iB,EAAKnW,QAAQyY,EAAUuX,eAGlBhC,EAASjE,SACZiE,EAASjE,OAASvR,EAAEljB,OAAO,GAAI6gB,EAAKoQ,UAAUlyB,KAC9C8hB,EAAKqV,eAAe,CAClBC,OAAQuC,EAAShN,KACjB0K,MAAOsC,EAAS6B,SAChBvc,KAAM0a,EAAS8B,YAInBlX,EAAKpQ,IAAI,SAAUwlB,EAAS7D,SAC5B,IAGIuC,EACA/6B,EACA9B,EALAgQ,EAAOsW,EAAKgV,QAAQ3nB,GACpBysB,EAAQ9Z,EAAK+Z,gBACb5+B,EAAI6kB,EAAKiR,QAAQ5jB,GAIrB6a,EAAM2C,KAAKgN,EAASj6B,MAAMy6B,MAE1B,IACE,IAAK3+B,EAAIsmB,EAAK+H,SAASyO,QAAS98B,EAAI,EAAGA,IACrC8B,EAAI,IAAI8mB,EAAUsT,QAClBW,EAAQvW,EAAKgV,QAAQ75B,GACrBK,EAAEg7B,QAAQD,EAAMb,IAAMa,EAAMb,IAAMa,EAAMZ,OACxCx6B,EAAI6kB,EAAKiR,QAAQ91B,GAEnB,MAAOsO,IAETouB,EAASlC,MAAMqE,SAAWtwB,EAAK+qB,SAAW/qB,EAAKisB,MAC/CtT,EAAEwV,EAASj6B,MAAMqd,KAAK8W,YAAY,SAAU8F,EAASlC,MAAMqE,UAC3D3X,EAAEwV,EAASlC,MAAM9I,WAAWxqB,KAAK,uBAAuB+R,SACxDyjB,EAASlC,MAAM3f,KAAKtM,EAAKgsB,KAAOhsB,EAAKisB,OAASjsB,EAAK+qB,QAAQ,SAAUkB,GACnE,GAAIA,EAAMqE,SAAU,CAClB,IAAIC,EAAK5X,EAAExgB,GAAQib,QACfod,EAAK7X,EAAExgB,GAAQ6qB,SAEnB,GAAIiJ,EAAMwE,OAASna,EAAK+H,SAASqS,aAAc,CAC7C,IAAI5/B,EAAI4oB,EAAE8P,IAAIlT,EAAK+H,SAASqS,aAAeH,EAAIja,EAAK+H,SAASqS,aAAeF,GAExE1/B,EAAI,IACNy/B,GAAMz/B,EACN0/B,GAAM1/B,GAIVq9B,EAAS/a,MAAQmd,EACjBpC,EAASnL,OAASwN,OAElBrC,EAAS/a,MAAQ6Y,EAAMzT,SAASpF,MAChC+a,EAASnL,OAASiJ,EAAMzT,SAASwK,OAiBnC,GAdArK,EAAEsT,EAAMA,OAAOpa,IAAI,CACjBuB,MAAO6Y,EAAMqE,SAAW,OAAS,SACjCtN,OAAQiJ,EAAMqE,SAAW,OAAS,SAClC7G,IAAK,EACLkH,OAAQ,EACRjF,OAAQ,MACRlZ,QAAS,EACT3B,WAAY,YACX7M,SAASgf,OAAO,QACnBmL,EAASj6B,MAAMumB,MAAMxC,UAAYjY,EAAKya,OAAS,GAC/C0T,EAASj6B,MAAM66B,QAAQ9W,UAAYtU,EAAQ,EAAI,MAAQysB,EACvDrX,EAAKuM,OAAO6I,EAAS7D,SACrB6D,EAAS7D,UAELtqB,EAAKisB,OAASjsB,EAAK+qB,OAAQ,CAG7B,GAFApS,EAAEwV,EAASj6B,MAAMqd,KAAKmZ,SAAS,UAE3B1qB,EAAKywB,MAAO,CACd,IAAIG,EAAQ1N,EAAU+I,EAAM9I,WAAWhC,OAEvChpB,EAAO4I,YAAW,WAChB6vB,EAAMC,OAAO,OACZ,KAGLlY,EAAEsT,EAAMA,OAAOpa,IAAI,SAAU,WAAWuR,QAAQ,SAAUpjB,EAAMisB,GAC9D,OAAO,SAAUlsB,GACf4Y,EAAEwV,EAASlC,MAAM9I,WAAWxqB,KAAK,uBAAuB+R,SACxD3K,EAAEwJ,iBACF0iB,EAAMqE,UAAW,EACjBrE,EAAM3f,KAAKtM,EAAK+qB,QAAU/qB,EAAKywB,MAAQ,cAAgB,IAAK,CAC1Drd,MAAO,OACP4P,OAAQ/I,EAAK,EAAItB,EAAEwV,EAASlC,MAAM9I,WAAWH,SAAW,UAPd,CAU9ChjB,EAAMisB,QAGZtT,EAAEwV,EAASj6B,MAAMq6B,SAASjN,OAAOzP,IAAI,aAAc,WACnD8G,EAAEwV,EAASj6B,MAAMqd,KAAK+P,SAKtBwP,EAAS/8B,KAAK+8B,OAAS,CACzBtD,MAAO,GACP9sB,IAAK,SAAa6a,EAAIwV,EAAKC,EAAOC,GAKhC,GAJA1V,EAAKA,IAAM,IAAIrO,MAAOwV,UACtBuO,EAAOA,IAAQ,EACfl9B,KAAKm9B,MAAM3V,GAEP0V,EAAM,CACR,IAAIE,EAAMJ,EAEVA,EAAM,WACJI,IAEAL,EAAOpwB,IAAI6a,EAAIwV,EAAKC,IAIxBj9B,KAAKy5B,MAAMjS,GAAMpjB,EAAO4I,WAAWgwB,EAAKC,IAE1CE,MAAO,SAAe3V,GACpB,IAIIvrB,EAJAohC,EAAM,SAAaphC,GACrBmI,EAAOmJ,aAAavN,KAAKy5B,MAAMx9B,WACxB+D,KAAKy5B,MAAMx9B,IAIpB,GAAMurB,GAAMA,KAAMxnB,KAAKy5B,MACrB4D,EAAIjhC,KAAK4D,KAAMwnB,QACV,GAAkB,qBAAPA,EAChB,IAAKvrB,KAAK+D,KAAKy5B,MACTz5B,KAAKy5B,MAAM37B,eAAe7B,IAC5BohC,EAAIjhC,KAAK4D,KAAM/D,KAOzB,OAAO+D,OAICnC,UAAY,CAEpBO,YAAaymB,EASbnlB,KAAM,SAAcsC,EAAQL,GAgB1B,GAfAA,EAAUqlB,EAAerlB,GAEzB3B,KAAKs9B,UAAY,CACft7B,OAAQA,EACRL,QAASA,EACTsK,KAAM,MAGRjM,KAAKmyB,QAAUnyB,KAAK6xB,KAAK7vB,OAASA,EAAOoD,SAAWpD,EAAS4iB,EAAE5iB,GAAQlF,IAAI,GAE3EkD,KAAKs9B,UAAU30B,KAAO3I,KAAKmyB,QAAQjO,UAEnC6F,EAAWtrB,KAAKuB,MAGXA,KAAKmyB,QAAV,CA2JA,GApJAnyB,KAAKsqB,SAAW,CACdiT,UAAU,EACV5J,UAAU,EACV6J,gBAAgB,EAEhB5I,cAAe,IACfJ,cAAe,OACfiJ,WAAW,EACX1V,YAAa,CACX2V,WAAY,YACZC,UAAW,YACXC,WAAY,YACZC,KAAM,EACNC,UAAW,GAEbC,WAAY,SAAoBr9B,GAC9B,MAAO,IAETs9B,aAAc,MACdC,UAAU,EACVC,WAAYl+B,KAAKmyB,QACjBgM,MAAOrZ,EACPsZ,MAAOtZ,EAEP2H,OAAQ,WACR/qB,OAAQ,SAAgBC,KACxBq2B,eAAgBlT,EAEhBuZ,qBAAqB,EAErBC,qBAAsBxZ,EAEtBmK,OAAQ,EACR8K,UAAU,EAEVC,SAAU,IACVE,UAAW,IACXnC,WAAW,EACXwG,YAAa,EACbC,UAAU,EACVC,mBAAoB,GACpBC,cAAe,MACfC,aAAc7Z,EAEd8Z,kBAAmB9Z,EAEnB+Z,YAAY,EACZC,aAAa,EAEb1E,UAAU,EAEV0B,kBAAmB,IACnBL,wBAAyB,IACzBsD,kBAAkB,EAClBC,cAAela,EACf6X,aAAc7X,EAEdma,cAAena,EAEf2V,eAAgB,IAChBC,kBAAmB,UACnBwE,oBAAoB,EACpBC,YAAY,EACZpG,QAAS,EACT/I,OAAO,EACPoP,YAAY,EACZ7R,KAAM,EACN8R,UAAU,EACVC,aAAa,EACbC,cAAc,EACdjM,MAAO,OAEPjJ,MAAO,KACPmV,WAAW,EACXC,eAAgB,aAChBC,YAAa,EACbC,aAAc,OACdC,mBAAmB,EAEnBC,cAAe,MAEfC,YAAY,EACZC,gBAAiBjb,EAEjBqG,WAAY,OACZ6U,kBAAmBlb,EAEnBmb,gBAAiB,IACjB3J,gBAAgB,EAEhB4J,WAAW,EAEXC,UAAW,GAEXC,aAAa,EAEbzY,MAAO,CACLjB,MAAO,EACP2Z,OAAQ,EACRC,SAAU,EACVC,MAAO,UAET/S,KAAM,IAENnO,MAAO,OACPgI,QAAS,CACPmZ,eAAgB,EAChBC,SAAU,EACVF,MAAO,QACPG,GAAI,EACJ3R,IAAK,EACL4R,SAAU,IAId3gC,KAAKsqB,SAASsU,kBAAoB5+B,KAAKsqB,SAASsU,mBAAqB5+B,KAAKsqB,SAAS0V,kBAE/Er+B,KAEoB,IAAlBA,EAAQw8B,QACVhZ,GAAQ,GAI0B,kBAAzBxjB,EAAQg9B,cACPh9B,EAAQg9B,aAIS,kBAAlBh9B,EAAQy8B,QACjBhZ,EAAQzjB,EAAQy8B,OAIU,iBAAjBz8B,EAAQ0oB,QACjBrqB,KAAKsqB,SAASD,MAAQ1oB,EAAQ0oB,QAKlCzF,EAAE5kB,KAAKmyB,SAASnjB,WAAWoe,OAEvBvI,EAAUqK,OACZrK,EAAU6I,MAAM,wHAKdvD,EAAcvqB,OAChB,GAAII,KAAKsqB,SAASD,OAChB,IAAK,IAAIpuB,EAAI,EAAGA,EAAIkuB,EAAcvqB,OAAQ3D,IACxC,GAAI+D,KAAKsqB,SAASD,QAAUF,EAAcluB,GAAGO,KAAM,CACjDwD,KAAKqqB,MAAQF,EAAcluB,GAC3B,YAKJ+D,KAAKqqB,MAAQF,EAAc,GAW/B,MAP2B,UAAvBlsB,EAAQ+B,KAAKqqB,OACfrqB,KAAKwqB,QAGLN,EAAMzrB,KAAKuB,MAGNA,KA/KL6kB,EAAU6I,MAAM,oBAAoB,IAmLxClD,MAAO,WACL,IAoB0BxsB,EAoBf4iC,EAoVH5/B,EACA6/B,EACAC,EACAC,EACAC,EACA5nB,EACAme,EAlYJhV,EAAOviB,KACP2B,EAAU3B,KAAKsqB,SAEnB,GAAItqB,KAAKuqB,aAGP,OAFA1F,EAAU6I,MAAM,sDAET1tB,KAKT,GAFAA,KAAKuqB,cAAe,GAEfvqB,KAAKqqB,MAGR,OAFAxF,EAAU6I,MAAM,gCAAgC,GAEzC1tB,KAsVT,GAlVA4kB,EAAEljB,QAAO,EAAMC,EAAS3B,KAAKqqB,MAAM4W,SAAUjhC,KAAKs9B,UAAU37B,QAASkjB,EAAUqc,UAAUv/B,SAEzFA,EAAQ2xB,MACG,aADet1B,EAWxB2D,EAAQ2xB,SALE,IAANt1B,GAAoB,YAALA,KAIV6mB,EAAUqH,MAIjBvqB,EAAQ2xB,QACV3xB,EAAQ87B,WAAY,EACpB97B,EAAQ68B,UAAW,GAKb,eADGoC,EAYRx9B,EAAIqD,cAAc,WANnBwjB,EAAUA,GAAW,CACnBvpB,KAAMkgC,EACNphC,QAASohC,EAAIO,WAAW,MACxB50B,MAAO,GACP3M,OAAQ,GARRghC,EAAM,KAaV5gC,KAAKvC,KAAKonB,EAAUuc,MAAM,WAEpBh9B,EAAO2hB,QAAU3hB,EAAO2hB,OAAO1G,OAASld,MAAMtE,UAAUwjC,SAC1DrhC,KAAK4xB,MAAMyP,SAAQ,SAAUp1B,GAC3B,IAAIq1B,EAAU,qBAAsBl9B,EAASA,EAAO4hB,iBAAmB,EAC/DL,EAAEtI,IAAIjZ,EAAO2hB,OAAO1G,MAAOjb,EAAO2hB,OAAOkJ,QAEzCqS,EAAU,OAChBr1B,EAAKgsB,IAAMhsB,EAAKisB,UAMtBl4B,KAAKs9B,UAAUrxB,KAAOjM,KAAK4xB,MAE3B5xB,KAAKlD,IAAI,SAASonB,UAAYlkB,KAAKs8B,gBAEnC,IAAIpD,EAAal5B,KAAK4kB,EAAE,aAEpBrC,EAAK+H,SAAS2E,OAAS,IACzB1M,EAAKgf,WAAahf,EAAKif,OAASjf,EAAK+H,SAAS2E,QAIhD,IAAIhvB,EAAM,CACRof,MAAO,EACP4P,OAAQ,GAGNwS,EAAa,WACf,OAAOlf,EAAKqC,EAAE,SAASqK,UAIzBxE,EAAM+C,KAAK,CACTpd,MAAO,WAIL,OAFAnQ,EAAMsiB,EAAKmf,SACXxI,EAAW7Z,MAAMpf,EAAIof,OAAO4P,OAAOhvB,EAAIgvB,QAChCwS,KAAgBxhC,EAAIof,OAASpf,EAAIgvB,OAAS,IAEnDpiB,QAAS,WACP0V,EAAKof,OAAS1hC,EAAIof,MAClBkD,EAAKqf,QAAU3hC,EAAIgvB,OACnB1M,EAAKif,OAASjf,EAAKif,QAAUvhC,EAAIgvB,OAAShvB,EAAIof,MAE1CwF,EAAUoH,OACZ7nB,EAAO4I,YAAW,WAChBuV,EAAKsf,SACJ,GAEHtf,EAAKsf,QAGTl/B,MAAO,WAED8+B,IACF5c,EAAU6I,MAAM,8FAAgGztB,EAAIof,MAAQ,eAAiBpf,EAAIgvB,OAAS,OAAO,GAEjKpK,EAAU6I,MAAM,iEAAmE+T,IAAe,OAAO,IAG7G10B,QAAsC,iBAAtB/M,KAAKsqB,SAASkD,MAAmBxtB,KAAKsqB,SAASkD,UAInExtB,KAAK2jB,OAAO,CACV,YAAa,CAAC,aAAc,oBAC5B,KAAQ,CAAC,aACT,YAAa,CAAC,kBAAmB,kBACjC,MAAS,CAAC,SAAU,SAAU,UAAW,aACzC,kBAAmB,CAAC,cACpB,uBAAwB,CAAC,iBAAkB,kBAAmB,mBAC9D,UAAa,CAAC,QAAS,uBAAwB,OAAQ,aAEzD8G,EAAM2C,KAAKptB,KAAK4kB,EAAE,WAAWjB,OAAO3jB,KAAKlD,IAAI,WAAYsG,EAAIkrB,eAAe,OAAQtuB,KAAKlD,IAAI,WAC7FkD,KAAK8hC,WAAW,WAChBrX,EAAM2C,KAAK7K,EAAKzlB,IAAI,YAEpBkD,KAAK4kB,EAAE,aAAa+R,SAAS,CAAC9R,EAAUqH,MAAQ,QAAU,UAAWlsB,KAAKsqB,SAAS6V,UAAW,kBAAoBngC,KAAKqqB,MAAM7tB,MAAMyO,KAAK,MAEnIjL,KAAKsqB,SAASgJ,OACjB1O,EAAErkB,KAAK,IAAI4B,MAAM,IAAI,SAAUlG,GAE7B,IAAIi8B,EAAQ,IAAIrT,EAAUsT,QAE1BvT,EAAEsT,EAAM9I,WAAWtR,IAAI,CACrBjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,IACLmE,QAAQtB,EAAKwP,QAAQ91B,GAAK2oB,EAAE6F,EAAMltB,OAAO,mBAAmBugB,IAAI,CACjEjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,EACNoY,MAAO,EACP8E,OAAQ,EACRjF,OAAQ,IACP,IAEHpV,EAAKqC,EAAE,UAAUjB,OAAOuU,EAAM9I,WAE9B7M,EAAK2Q,UAAUj3B,GAAKi8B,EAEpB,IAAIkB,EAAQ,IAAIvU,EAAUsT,QAC1BiB,EAAMmD,UAAW,EACjB3X,EAAEwU,EAAMhK,WAAWpqB,KAAK,QAAS,kBAAkB8Y,IAAI,CACrDjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,EACNiY,OAAQ,EACRiG,WAAY,OACZ7gB,QAAS,SACRsH,SAAS6T,EAAM9I,WAClB7M,EAAK2Q,UAAUO,OAAOx3B,GAAKm9B,KAK/Bp5B,KAAK4kB,EAAE,UAAU9G,IAAI,CACnBjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,EACNL,MAAO,OACP4P,OAAQ,SAGNttB,EAAQ2xB,QACVtzB,KAAK4kB,EAAE,UAAU9G,IAAI,CACnBjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,EACNL,MAAO,EACP4P,OAAQ,SAEVjvB,KAAK+hC,OAAS,IAAIld,EAAUmd,OAAOhiC,KAAKlD,IAAI,SAAU,CACpDmlC,SAAU,SAAkBC,GAC1B3f,EAAK4f,QAAQ5U,KAAK2U,IAEpBE,WAAY,SAAoBF,GAC9B,IAAItyB,EAAQ+V,EAAEtI,IAAI,EAAGsI,EAAE8P,IAAInD,SAAS4P,EAAM,IAAK3f,EAAK+Z,gBAAkB,IAClErwB,EAAOsW,EAAKgV,QAAQ3nB,GACxBgV,EAAErC,EAAKuP,YAAYliB,GAAOwf,WAAWuH,SAAS,UAAUnmB,SAAS,WAAW2oB,YAAY,UAEnFltB,IAKLsW,EAAKqC,EAAE,UAAUhgB,KAAK,mBAAmBkZ,IAAI,UAAW,GAAGsP,OAAOxoB,KAAK,UAAU+R,SAE7E4L,EAAK+H,SAASqJ,UAAYpR,EAAK+H,SAASkT,gBAC1Cjb,EAAKqR,UAAUc,OAAO9kB,OAI5B5P,KAAKvC,KAAKonB,EAAUwd,SAAS,WAC3BriC,KAAK+hC,OAAOtrB,WAEdzW,KAAK4kB,EAAE,SAASnJ,GAAG,SAAS,SAAUzP,GACpC,IAAIC,EAAOsW,EAAKgV,UAEhB,GAAKtrB,EAAL,CAIA,GAAIA,EAAK+qB,OAAQ,CACXzU,EAAK+f,aACP/f,EAAK4f,QAGP,IAAI/I,EAAQ7W,EAAK2Q,UAAUO,OAAOlR,EAAKmP,SACnCoC,EAAIvR,EAAK0P,YACT8B,EAAIxR,EAAK2P,aAEb,GAAItN,EAAEwU,EAAMhK,WAAWxqB,KAAK,UAAUhF,OACpC,OAuBF,OApBAglB,EAAEwU,EAAMhK,WAAWtR,IAAI,CACrBuB,MAAOyU,EACP7E,OAAQ8E,EACRtV,QAAS,IACR8O,OAAOrC,QAAQ,CAChBzM,QAAS,GACR,UACHra,EAAO4I,YAAW,WAChBosB,EAAM7gB,KAAKtM,EAAK+qB,QAAU/qB,EAAKywB,MAAQ,cAAgB,IAAK,CAC1Drd,MAAOyU,EACP7E,OAAQ8E,IACP,SAAUqF,GACX7W,EAAKqC,EAAE,aAAa+R,SAAS,aAC7ByC,EAAM1C,MAAM,CACVrX,MAAOkD,EAAK0P,YACZhD,OAAQ1M,EAAK2P,aACbqQ,YAAat2B,EAAKywB,MAAQna,EAAK+H,SAASqS,aAAe7X,SAG1D,KAIL,GAAI7Y,EAAK4iB,KACP,GAAItM,EAAK+H,SAAS6U,WACN/6B,EAAO4wB,KAAK/oB,EAAK4iB,KAAM,eAEjCzqB,EAAOwB,SAASkC,KAAOmE,EAAK4iB,eAMlC7uB,KAAKvC,KAAKonB,EAAU2d,OAAO,SAAUx2B,GACnCuW,EAAKuf,WAAW91B,EAAE4D,OAClB2S,EAAKkgB,QAAQz2B,EAAE4D,OACf,IAAIX,EAAOjP,KAAKwzB,UACZvlB,EAAOjO,KAAKm8B,UACZuG,EAAW,CAACz0B,EAAMgB,GACtByzB,EAASjkC,KAAKuB,KAAKwzB,QAAQvkB,GAAOjP,KAAKm8B,QAAQluB,GAAOsU,EAAK2Q,UAAUK,OAAO3zB,OAAS,GACrF,IAAI+iC,EAAW,GACf/d,EAAErkB,KAAKmiC,GAAU,SAAUzmC,EAAGkiB,IACK,GAA7ByG,EAAEphB,QAAQ2a,EAAKwkB,IACjBA,EAASlkC,KAAK0f,MAGlByG,EAAErkB,KAAKoiC,GAAU,SAAU1mC,EAAG2mC,GAC5B,IAAIrmC,EAAIgmB,EAAKgV,QAAQqL,GACjB5U,EAAMzL,EAAK2Q,UAAUK,OAAOqP,GAC5BhhC,EAAM2gB,EAAKyW,gBAAkBz8B,EAAE07B,IAAM17B,EAAE07B,IAAM17B,EAAE27B,OAAS37B,EAAEy6B,OAE1Dz6B,EAAEy6B,SAAWz6B,EAAE27B,QACjBlK,EAAIuO,UAAW,GAGZvO,EAAI9oB,OACPqd,EAAK2Q,UAAUK,OAAOqP,GAAQrqB,KAAK3W,GAAK,SAAUosB,GAC3CA,EAAIuO,UACP3X,EAAEoJ,EAAIkK,OAAOpa,IAAI,aAAc,UAGjCyE,EAAK8T,YAAYrI,EAAK,CACpBphB,SAAU,SAAkBohB,GACrBA,EAAIuO,UACP3X,EAAEoJ,EAAIkK,OAAOpa,IAAI,CACfW,QAAS,EACT3B,WAAY,YACXoO,QAAQ,CACTzM,QAAS,GACR,kBAUnBze,KAAK4kB,EAAE,+BAA+B9G,IAAI,CACxC4Z,SAAU,SACV7a,SAAU,aAGZ7c,KAAK4kB,EAAE,mCAAmCnJ,GAAG,cAAc,SAAUzP,GAE/DrK,EAAQu9B,oBACV3c,EAAK4f,QAIP,IAAI1iC,EAAK,QAAQsF,KAAK/E,KAAK6qB,WAAa,OAAS,OACjDtI,EAAK9iB,QACJgc,GAAG,SAAS,SAAUzP,GACvBA,EAAEwJ,kBAEE7T,EAAQ87B,WAAa97B,EAAQ2xB,QAC/BtnB,EAAEsJ,qBAINsP,EAAErkB,KAAK,CAAC,OAAQ,UAAW,cAAc,SAAUtE,EAAG6Y,IACoC,IAApFnT,EAAQ,OAASmT,EAAGoS,OAAO,EAAG,GAAG7a,cAAgByI,EAAGoS,OAAO,GAAGzkB,QAAQ,IAAK,MAC7EgoB,EAAMyC,QAAQ3K,EAAKzlB,IAAIgY,EAAG7Q,mBAI9BjE,KAAKuY,OAGA5W,EAAQk9B,YAAe3Y,IAC1BlmB,KAAKmyB,QAAQjO,UAAY,IAIvBlkB,KAAKlD,IAAI,WACXkD,KAAK4jB,YAAY,SAAU,UAI7B5jB,KAAK4jB,YAAY,SAAU,aAEvBjiB,EAAQgyB,SAAU,CACpB,IAAIkP,EAAQ,EACRtV,EAAO5rB,EAAQ4rB,KACnBvtB,KAAKvC,KAAKonB,EAAUie,WAAW,WAC7B9iC,KAAK+iC,mBAECF,GAAS7iC,KAAKs8B,iBAAkC,iBAAR/O,GAAoBA,EAAO,GACvEvtB,KAAK4zB,UAAUc,OAAOnH,MA2D5B,OArDI5rB,EAAQy9B,YACVpa,EAAKvJ,GAAG,UAAU,WACX8G,EAAKyW,gBACRzW,EAAKgP,YAMP5vB,EAAQ08B,qBACVr+B,KAAK4kB,EAAE,SAASnJ,GAAG,cAOb8b,EAAU,SAAiBvrB,GAC7B,OAAOA,EAAEqM,cAAc0C,QAAU/O,EAAEqM,cAAc0C,QAAQ,GAAK/O,GAGhEuW,EAAKqC,EAAE,SAASnJ,GAAG,aAAa,WAC9Bza,EAAO,KAEF,SAAUgL,GACf,IAAI,iBAAiBjH,KAAKiH,EAAEhK,OAAO6oB,WAAnC,CAQA,GAJAzR,EAAMqR,EAAMqD,YACZ+S,EAAKtJ,EAAQvrB,GAAG8N,MAChBgnB,EAAKvJ,EAAQvrB,GAAG+N,MAEZ/N,EAAEqM,cAAc0C,QAAQnb,OAAS,GAAKwZ,EAAMpY,EAAO,KAAO6/B,EAAKE,EAAK,IAAMD,EAAKE,EAAK,GAGtF,OAFAze,EAAKygB,wBACLh3B,EAAEwJ,iBAIJxU,EAAOoY,EACP2nB,EAAKF,EACLG,EAAKF,MAMXlc,EAAErkB,KAAKskB,EAAUpJ,GAAGwnB,OAAO,SAAUhnC,EAAGwB,IAEI,GAAtCmnB,EAAEphB,QAAQ/F,EAAKgoB,KAAMlD,EAAK6P,SAC5B7P,EAAK9kB,KAAKA,EAAKoC,KAAMpC,EAAK+C,aAGvBR,MAET2qB,SAAU,WAGR,OAFA3qB,KAAK+8B,OAAOpwB,IAAI/L,MAAMZ,KAAK+8B,OAAQtS,EAAMG,MAAM/pB,YAExCb,MAET0qB,WAAY,WAGV,OAFA1qB,KAAK+8B,OAAOI,MAAMv8B,MAAMZ,KAAK+8B,OAAQtS,EAAMG,MAAM/pB,YAE1Cb,MAGT0hC,OAAQ,WACN,IAIIrjC,EAJA66B,EAAal5B,KAAK4kB,EAAE,aACpBse,EAAUljC,KAAK4kB,EAAE,UACjBrC,EAAOviB,KACPC,EAAM,GA2BV,OAzBA2kB,EAAErkB,KAAK,CAAC,QAAS,WAAW,SAAUtE,EAAGI,GAEnCkmB,EAAK+H,SAASjuB,IAAkC,kBAArBkmB,EAAK+H,SAASjuB,GAC3C4D,EAAI5D,GAAKkmB,EAAK+H,SAASjuB,IAEvBgC,EAAM,CAACosB,EAAM8B,WAAW2M,EAAWpb,IAAIzhB,IACvCouB,EAAM8B,WAAW2W,EAAQplB,IAAIzhB,IAC7B68B,EAAW78B,KACX6mC,EAAQ7mC,MAGHkmB,EAAK,IAAMlmB,IACdgC,EAAIoD,OAAOpD,EAAIuB,OAAQ6qB,EAAM8B,WAAW2M,EAAWpb,IAAI,OAASzhB,IAAKouB,EAAM8B,WAAW2W,EAAQplB,IAAI,OAASzhB,KAI7G4D,EAAI5D,GAAKspB,EAAEtI,IAAIzc,MAAM+kB,EAAGtnB,OAKxBkkB,EAAKgf,aACPthC,EAAIgvB,OAAShvB,EAAIof,MAAQkD,EAAKgf,YAGzBthC,GAKTkjC,kBAAmB,SAA2B1kC,GAC5CuB,KAAKlD,IAAI,SAASonB,UAAYlkB,KAAKs8B,gBAEnC,IAAI16B,EACAoyB,EACA/nB,EACAitB,EAUEkK,EATF7gB,EAAOviB,KACPtD,EAAIsD,KAAKsqB,SACTruB,EAAIwC,EAAOuB,KAAK4xB,MAAMhyB,OAASnB,EAAKmB,OAAS,EAC7CyjC,EAAQpnC,EACRqnC,EAAa,GACbC,EAAY,EACZC,EAAMtd,EAAK,EAAI,+DAAiE,yFAEpFne,KACMq7B,EAAI7gB,EAAKqC,EAAE,cAAchgB,KAAK,YAE3BhF,QAIAwjC,EAAEx+B,KAAK,OAAOI,KAAK,OAG5By+B,EAAiC,kBAAjB/mC,EAAEojC,WAA0BpjC,EAAEojC,WAAW77B,cAAgB,KAIzEy/B,EAAW,SAAkBtI,GAC3B,OAAOh4B,EAAIugC,aAAevgC,EAAIugC,YAAYC,iBAAmBxgC,EAAIugC,YAAYC,iBAAiB5P,EAAM5E,UAAW,MAAMgM,GAAQlC,EAAWpb,IAAIsd,IAE1IyI,EAAO,SAAc3L,EAAOtoB,EAAOwf,GACrC,OAAO,WACLxK,EAAEwK,GAAWzL,OAAOuU,GACpB3V,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAUie,UAChBrK,YAAaP,EACbtoB,MAAOA,EACP8oB,aAAcnW,EAAKgV,QAAQ3nB,OAI7Bk0B,EAAe,SAAsB93B,GAEnCtP,EAAEwiC,oBACJ3c,EAAK4f,QAIP,IAAIvyB,EAAQgV,EAAE5Y,EAAEwL,eAAevL,KAAK,SAEhCsW,EAAK+V,aAAe1oB,GACtB2S,EAAKgL,KAAK3d,GAGZ5D,EAAEwJ,kBAEAuuB,EAAgB,SAAuB/P,EAAOxzB,GAChDokB,EAAEoP,EAAM5E,WAAWtR,IAAI,aAAc,WACrCyE,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAUie,UAChBrK,YAAazE,EAAMkE,MACnBtoB,MAAOokB,EAAM/nB,KAAK+3B,MAClBtL,aAAcnW,EAAKgV,QAAQvD,EAAM/nB,KAAK+3B,SAGjB,mBAAZxjC,GACTA,EAASpE,KAAKmmB,EAAMyR,IAGpBiQ,EAAc,SAAqBjQ,EAAOxzB,GAE5CwzB,EAAM0C,MAAM,CACVrX,MAAO2U,EAAM/nB,KAAKoT,MAClB4P,OAAQ+E,EAAM/nB,KAAKgjB,OACnB+G,KAAMt5B,EAAE8iC,UACR7f,OAAQjjB,EAAEgjC,YACVwE,OAAQxnC,EAAEwjC,UACVrjB,SAAUngB,EAAEmjC,cACZjzB,SAAU,SAAkBonB,GAE1B,IAEI33B,EACAyhB,EAHA4X,EAAM,CAAC,OAAQ,OACfr3B,EAAM,CAAC,QAAS,UAGTkkB,EAAKgV,QAAQvD,EAAMpkB,OAE9BgV,EAAErkB,KAAKlC,GAAK,SAAUpC,EAAGkoC,GACvB9nC,EAAI8nC,EAAQlgC,eAEQ,IAAhBvH,EAAE8iC,WAAsB9iC,EAAE8iC,YAAcnjC,KAC1CyhB,EAAM,IACFzhB,GAAK23B,EAAM33B,GACfuoB,EAAEoP,EAAM5E,WAAWtR,IAAIA,IACvBA,EAAM,IACF4X,EAAIz5B,IAAM,EACd2oB,EAAEoP,EAAMkE,OAAOpa,IAAIA,IAIrBkW,EAAM,QAAUmQ,GAAWvf,EAAEoP,EAAM5E,WAAW,QAAU+U,IAAS,MAGnE1Z,EAAMsD,cAAciG,EAAMkE,OAA0B,IAAnBx7B,EAAEijC,cAA4C,SAAnBjjC,EAAEijC,cAA2B3L,EAAMvP,SAASpF,MAAsB,EAAd2U,EAAM3U,OAElH3iB,EAAEkjC,oBAAsB5L,EAAMoQ,KAChCxf,EAAErkB,KAAK+iC,GAAY,SAAUrnC,EAAGooC,GAC9B,GAAIpoC,IAAMsnC,GAAac,EAAGn/B,QAAUm/B,EAAGC,UAIrC,OAHAf,IACAc,EAAGC,WAAY,OACfP,EAAcM,EAAI7jC,MAKtBujC,EAAc/P,EAAOxzB,OAY7B,IANK/B,IACHuB,KAAK8xB,YAAc,GACnB9xB,KAAK4kB,EAAE,cAAclB,SAIhB1jB,KAAK4xB,MAAM31B,GAAIA,IAGpB2F,GAFAqK,EAAOjM,KAAK4xB,MAAM31B,IAEP+3B,OAAS/nB,EAAKisB,OAEH,IAAjBx7B,EAAEojC,YAAiC,QAAV2D,IAAsBx3B,EAAK+nB,QAAS/nB,EAAKisB,MAqD5DjsB,EAAK+qB,QAAqB,OAAXyM,GAA8B,UAAXA,GAAiC,YAAXA,GACjEzP,EAAQ,CACN5E,UAAW3E,EAAMltB,OAAO,kBACxB26B,MAAOzN,EAAMltB,OAAO,MAAO,QAC3B2H,OAAO,EACP+G,KAAM,CACJ+3B,MAAO/nC,IAII,YAAXwnC,GACF7e,EAAEoP,EAAMkE,OAAOxvB,KAAKzM,EAAI,GAGtBgQ,EAAK+qB,QACPpS,EAAEoP,EAAMkE,OAAOvB,SAAS,UAG1B32B,KAAK4kB,EAAE,cAAcjB,OAAOqQ,EAAM5E,WAGlChrB,EAAO4I,WAAW62B,EAAK7P,EAAMkE,MAAOj8B,EAAG+3B,EAAM5E,WAAY,GAAS,GAAJnzB,IAE9D+3B,EAAQ,CACN5E,UAAW,KACX8I,MAAO,QA5ETlE,EAAQ,IAAInP,EAAUsT,QAAQl8B,IAExB2T,MAAQ3T,EAEd+3B,EAAMsQ,WAAY,EAElBtQ,EAAMoQ,MAAO,EAEbpQ,EAAM0I,OAAQ,EAEd18B,KAAK4kB,EAAE,cAAcjB,OAAOqQ,EAAM5E,YAElC8J,EAAatU,EAAEoP,EAAM5E,YAEVtR,IAAI,aAAc,UAC7BkW,EAAM/nB,KAAO,CACXoT,MAAOoL,EAAM8B,WAAWmX,EAAS,UACjCzU,OAAQxE,EAAM8B,WAAWmX,EAAS,WAClCM,MAAO/nC,EACP2F,IAAKA,IAGa,IAAhBlF,EAAE8iC,UACJtG,EAAWpb,IAAI,CACbuB,MAAO,OACP4P,OAAQ,SAGViK,EAAWpb,IAAI,CACbuB,MAAO2U,EAAM/nB,KAAKoT,MAClB4P,OAAQ+E,EAAM/nB,KAAKgjB,SAKT,QAAVwU,GACFvK,EAAWvC,SAAS,QACpB3C,EAAMoQ,MAAO,EACbpQ,EAAMzb,KAAKirB,EAAK,CACdvU,OAAQ+E,EAAM/nB,KAAKgjB,OACnB5P,MAAO2U,EAAM/nB,KAAKoT,SAGpB2U,EAAMzb,KAAK3W,EAAKqiC,GAIA,QAAdvnC,EAAEq8B,SACJ/E,EAAM+E,QAAQ9sB,EAAKisB,QAmCvBtT,EAAEoP,EAAM5E,WAAWziB,IAAIjQ,EAAEmiC,YAAcniC,EAAEqiC,iBAAmB9yB,EAAKwY,SAAW,MAAMxY,KAAK,QAAShQ,GAAGwf,GAAG/e,EAAE+iC,eAAgBqE,GAAc73B,KAAK,YAAag4B,GAEpJl8B,IAAWnG,GACbgjB,EAAEoP,EAAM5E,WAAWuH,SAAS,UAG9B32B,KAAK8xB,YAAYrzB,KAAKu1B,GAIxB,OADAsP,EAAatjC,KAAK8xB,YAAYnxB,MAAM0iC,GAC7BrjC,MAUTukC,SAAU,SAAkB30B,EAAOhD,GACjC,IAAIvO,EAAMuR,EAAMxR,aAAe+D,MAAQyN,EAAQ,CAACA,GAC5C2S,EAAOviB,KACPwkC,EAAS,EAyBb,OAxBA5f,EAAErkB,KAAKlC,GAAK,SAAUpC,EAAGwoC,GACvB,KAAIA,EAAMliB,EAAKuP,YAAYlyB,OAAS,GAApC,CAIA,IAAIo0B,EAAQzR,EAAKuP,YAAY2S,GACzBx4B,EAAO+nB,EAAM/nB,KACbzL,EAAW,aACPgkC,GAAUnmC,EAAIuB,QAA6B,mBAAZgN,GACnCA,EAASxQ,KAAKmmB,IAGdmiB,EAAY9f,EAAEoP,EAAM5E,WAAWnjB,KAAK,aAEpCy4B,IACE1Q,EAAM0I,MACRgI,EAAUtoC,KAAKmmB,EAAMyR,EAAOxzB,GAE5BwzB,EAAMzb,KAAKtM,EAAKrK,KAAK,SAAUoyB,GAC7B0Q,EAAUtoC,KAAKmmB,EAAMyR,EAAOxzB,WAK7BR,MAUT2kC,eAAgB,SAAwBC,EAAM3H,GAC5C,IAAI57B,EAAMrB,KAAKs8B,gBACXrgC,EAAI,EACJyB,EAAI,EACJW,EAAM,GACNwmC,EAAO,GACPtiB,EAAOviB,KAGX,IAFAi9B,EAAQA,GAAS,EAEVhhC,EAAIoF,EAAKpF,IACd4oC,EAAKpmC,KAAKxC,KAEJyB,GAAKknC,GAAQ3oC,GAAKoF,EAAM,IAC5BhD,EAAII,KAAKomC,GACTnnC,EAAI,EACJmnC,EAAO,IAiBX,OAbW,SAASnlC,EAAK8tB,GACvB,IAAI4V,EAAI/kC,EAAIsP,QAERy1B,GACFh/B,EAAO4I,YAAW,WAChBuV,EAAKgiB,SAASnB,GAAG,WACf1jC,GAAK,QAENu9B,GAASzP,EAAOyP,EAAQ,GAI/Bv9B,EAAK,GACEM,MAIT6hC,KAAM,WACJ,IAAItf,EAAOviB,KAEXuiB,EAAK4gB,oBAGL1Y,EAAM+C,KAAK,CACTzgB,QAAS,IACTqD,MAAO,WAQL,OANIyU,EAAUigB,OACZviB,EAAKqC,EAAE,SAAS9G,IAAI,UAAW,gBAGjCyE,EAAK0P,YAAc1P,EAAKqC,EAAE,SAASvF,QACnCkD,EAAK2P,aAAe3P,EAAKqC,EAAE,SAASqK,SAC7B1M,EAAK0P,aAAe1P,EAAK2P,aAAe,IAEjDrlB,QAAS,WAMP,GAJAid,EAAWrrB,KAAK8jB,GAIZA,EAAK+H,SAASgJ,MAAO,CACvB,IAAIyR,EAAUxiB,EAAKqC,EAAE,UAAUvF,MAAMkD,EAAK+Z,gBAAkB/Z,EAAK0P,aACjErN,EAAErkB,KAAK,IAAI4B,MAAMogB,EAAK+Z,kBAAkB,SAAUrgC,GAChD,IAAIi8B,EAAQ,IAAIrT,EAAUsT,QACtBlsB,EAAOsW,EAAKgV,QAAQt7B,GACxB2oB,EAAEsT,EAAM9I,WAAWtR,IAAI,CACrBjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM6C,EAAK0P,YAAch2B,IACxB4nB,QAAQtB,EAAKwP,QAAQ91B,GAAK2oB,EAAE6F,EAAMltB,OAAO,mBAAmBugB,IAAI,CACjEjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,EACNoY,MAAO,EACP8E,OAAQ,EACRjF,OAAQ,IACP,IAAItT,SAAS0gB,GAEZ94B,EAAKywB,OACPvN,EAAU+I,EAAM9I,WAGlB7M,EAAK2Q,UAAUK,OAAO90B,KAAKy5B,GAE3B,IAAIkB,EAAQ,IAAIvU,EAAUsT,QAC1BiB,EAAMmD,UAAW,EACjB3X,EAAEwU,EAAMhK,WAAWpqB,KAAK,QAAS,kBAAkB8Y,IAAI,CACrDjB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,EACNiY,OAAQ,EACRiG,WAAY,OACZ7gB,QAAS,SACRsH,SAAS6T,EAAM9I,WAElB7M,EAAK2Q,UAAUO,OAAOh1B,KAAK26B,MAE7B7W,EAAKwf,OAAOtrB,QAsBd,GAlBAgU,EAAM8C,KAAKhL,EAAKzlB,IAAI,YAEhBylB,EAAK+H,SAASqJ,UAChBpR,EAAKqR,UAAUW,eAIbhS,EAAK+H,SAASiT,WAChBhb,EAAK4f,QAEiC,kBAA3B5f,EAAK+H,SAASiT,WACvBhb,EAAKkP,UAAYlP,EAAK+H,SAASiT,UAGjChb,EAAKiP,UAAW,GAIdjP,EAAKyP,UASP,OARIzP,EAAK+H,SAASiT,UAChBhb,EAAKnW,QAAQyY,EAAUmgB,WAGS,kBAAvBziB,EAAK+H,SAASiD,MACvBhL,EAAKgL,KAAKhL,EAAK+H,SAASiD,OAM5BhL,EAAKyP,WAAY,EAEbnN,EAAUogB,SAEZpgB,EAAUogB,QAAQ3Y,QAAO,SAAUpvB,GAG7By3B,MAAMz3B,GACRkH,EAAO8gC,QAAQC,IAAI,GAEnB5iB,EAAKgL,KAAKrwB,EAAO4nB,GAAO,MAK9BvC,EAAKnW,QAAQyY,EAAUugB,OAEvB7iB,EAAK8H,MAAM3qB,KAAKtD,KAAKmmB,EAAMA,EAAK+H,UAEhC1F,EAAErkB,KAAKskB,EAAU3f,MAAMmgC,WAAW,SAAUppC,EAAGwD,GAC5B,mBAANA,GACTA,EAAGrD,KAAKmmB,EAAMA,EAAK+H,aAIvB/H,EAAK+H,SAAS5oB,OAAOtF,KAAKmmB,EAAMA,EAAK+H,UAIjC,eAAevlB,KAAKygB,IAASX,EAAUogB,QACzC1iB,EAAKgL,KAAK/H,EAAMV,GAAO,GACdvC,EAAKqP,MAAMrP,EAAK+H,SAASiD,OAClChL,EAAKgL,KAAKhL,EAAK+H,SAASiD,MAItBhL,EAAK+H,SAASiT,UAChBhb,EAAKnW,QAAQyY,EAAUmgB,OAG3BriC,MAAO,WACLkiB,EAAU6I,MAAM,kFAAoFnL,EAAK0P,YAAc,eAAiB1P,EAAK2P,aAAe,OAAO,OAgBzK3Z,KAAM,SAAc+sB,EAAQ/lC,EAAUgmC,GACpC,IAAIhjB,EAAOviB,KACPtD,EAAIsD,KAAKsqB,SA4Gb,OA1GAtqB,KAAK4xB,MAAQ,GAEb5xB,KAAK8xB,YAAc,GACnB9xB,KAAK4kB,EAAE,cAAclB,QAEG,oBAAbnkB,IACTgmC,EAAShmC,EACTA,EAAW,MAIb+lC,EAASA,GAAU5oC,EAAEwhC,WAErB3+B,EAAWA,GAAY7C,EAAEshC,aAEzBuH,EAASA,GAAU7oC,EAAEqhC,WAEjBnZ,EAAE1iB,cAAcojC,KAClBA,EAAS,CAACA,IAIR1gB,EAAExiB,QAAQkjC,GACRtlC,KAAKwlC,SAASF,GAChBtlC,KAAK4xB,MAAQ0T,EAEbzgB,EAAU6I,MAAM,uCAIlBnuB,GAAY,kBAEZqlB,EAAE0gB,GAAQ1gC,KAAKrF,GAAUgB,MAAK,SAAUtE,EAAGyE,GACzCA,EAAOkkB,EAAElkB,GACT,IAAIuL,EAAO,GACPgE,EAASvP,EAAKuP,SACdnI,EAAOmI,EAAOjL,KAAK,QACnB+pB,EAAM9e,EAAOjL,KAAK,OAElB8C,IAA6B,OAApBpH,EAAK,GAAG0E,UAAqB1E,EAAK+kC,SAAS,WAAald,EAAWzgB,GAC9EmE,EAAKywB,MAAQ50B,EACJA,GAAQpH,EAAK+kC,SAAS,UAC/Bx5B,EAAK+qB,OAASlvB,EAEdmE,EAAKisB,MAAQpwB,EAGXinB,IACF9iB,EAAKgsB,IAAMlJ,GAGb9iB,EAAKy5B,YAAcz1B,EAAOhE,KAAK,UAC/BA,EAAK05B,WAAa11B,EAAOhE,KAAK,SAC9BA,EAAK25B,WAAallC,EAAKsE,KAAK,SAC5BiH,EAAK45B,YAAcnlC,EAAKsE,KAAK,UAE7B4f,EAAErkB,KAAK,mFAAmFwD,MAAM,MAAM,SAAU9H,EAAGkiB,GAC7Gzd,EAAKuL,KAAKkS,KACZlS,EAAKkS,GAAOzd,EAAKuL,KAAKkS,GAAKvf,eAI3B8B,EAAKuL,KAAK,YACZA,EAAKy5B,YAAchlC,EAAKuL,KAAK,WAG3BvL,EAAKuL,KAAK,WACZA,EAAK05B,WAAajlC,EAAKuL,KAAK,UAGzBA,EAAKgsB,MACRhsB,EAAKgsB,IAAMhsB,EAAKisB,MAChBjsB,EAAK65B,UAAY75B,EAAKy5B,YACtBz5B,EAAK85B,SAAW95B,EAAK05B,YAKvBpjB,EAAKqP,MAAMnzB,KAAKmmB,EAAEljB,OAAO,CACvBglB,MAAOhmB,EAAKsE,KAAK,UAAY,GAC7BgvB,MAAOtzB,EAAKsE,KAAK,OACjBkzB,MAAOx3B,EAAKsE,KAAK,OACjBizB,IAAKv3B,EAAKsE,KAAK,OACfghC,YAAatlC,EAAKsE,KAAK,QAAU,GACjC6pB,KAAMnuB,EAAKsE,KAAK,YAChByf,SAAU/jB,EAAK5D,IAAI,IAElBmP,EAAMs5B,EAAO7kC,SAIK,mBAAdhE,EAAEuhC,SACXhZ,EAAWzjB,KAAKpF,KAAK4D,KAAK4xB,MAAOl1B,EAAEuhC,UACZ,UAAdvhC,EAAEuhC,UACXj+B,KAAK4xB,MAAMpwB,MAAK,WACd,OAAOmkB,EAAEiW,MAAMjW,EAAEnjB,UAAY,MAK7BxC,KAAKs8B,iBACPt8B,KAAKimC,YAAW,WACdjmC,KAAKoM,QAAQyY,EAAUuc,SAIpBphC,MAGTimC,WAAY,SAAoBzlC,GAC9B,IACIsN,EADAyU,EAAOviB,KAEPkF,GAAQ,EACRupB,EAAS,WACX,IAAI7hB,GAAW,EACfgY,EAAErkB,KAAKgiB,EAAKqP,OAAO,SAAU31B,EAAGgQ,GAC9B,GAAIA,EAAKi6B,QAEP,OADAt5B,GAAW,GACJ,KAIPA,IAAa1H,IACfA,GAAQ,EACR1E,EAASpE,KAAKmmB,KA+ElB,OA3EAqC,EAAErkB,KAAKP,KAAK4xB,OAAO,SAAU31B,EAAGgQ,GAqB9B,GApBA6B,EAAUyU,EAAKqP,MAAM31B,GAErB2oB,EAAErkB,KAAK,kBAAkBwD,MAAM,MAAM,SAAU9H,EAAGkiB,GAC5ClS,EAAKkS,KACPlS,EAAKkS,GAAO,IAAIlV,OAAOgD,EAAKkS,IAC5BlS,EAAKkS,GAAKya,OAAS3sB,EAAKkS,EAAM,UAC9BlS,EAAKkS,GAAK0a,MAAQ5sB,EAAKkS,EAAM,aAI7B,UAAWlS,KAAS,IACtB6B,EAAQkmB,MAAQ/nB,EAAKisB,OAIlBjsB,EAAKgsB,MACRnqB,EAAQmqB,IAAMhsB,EAAKisB,OAIjB,UAAWjsB,EAAM,CACnB,IAAIiJ,EAASqT,EAAWtc,EAAKywB,OAEzBxnB,IACFpH,EAAQkpB,OAAS,IAAI7O,EAAMjT,EAAOsT,SAAUtT,EAAOsS,IAAID,QAAU,WAE/D,GAA+C,UAA3CtpB,EAAQskB,EAAK+H,SAASpV,EAAOsT,WAAwB,CACvD,IAAI2d,EAAM,IACN9nC,EAAM,GASV,OARAumB,EAAErkB,KAAKgiB,EAAK+H,SAASpV,EAAOsT,WAAW,SAAUhrB,EAAK2gB,GACpD9f,EAAII,KAAKjB,EAAM,IAAM2gB,MAGA,WAAnBjJ,EAAOsT,WACTnqB,EAAM,CAAC,gBAAgBkI,OAAOlI,IAGzB8nC,EAAM9nC,EAAI4M,KAAK,KAGxB,MAAO,GAhBwD,GAoB5D6C,EAAQkmB,OAAUlmB,EAAQoqB,OAC7BtT,EAAErkB,KAAK,CAAC,QAAS,UAAU,SAAUtE,EAAG4D,GACtC,GAAY,SAARA,GAAoB0iB,EAAK+H,SAAS8V,YAAtC,CAKA,IAAI1D,EAAQ,IAAIvU,EAAMjT,EAAOsT,SAAUtT,EAAOsS,IAEzC1Z,EAAQjO,KACXiO,EAAQo4B,SAAU,EAClBxJ,EAAMpU,SAASzoB,EAAM,SAAUiO,EAASjO,GACtC,OAAO,SAAU+B,GACfkM,EAAQjO,GAAQ+B,EAEJ,SAAR/B,GAAoBiO,EAAQmqB,MAC9BnqB,EAAQmqB,IAAMnqB,EAAQoqB,cAGjBpqB,EAAQo4B,QACfzX,KATiB,CAWnB3gB,EAASjO,UAnBXiO,EAAQoqB,MAAQpT,UA0B5B2J,IACOzuB,MAQTomC,QAAS,WAeP,OAdApmC,KAAK4kB,EAAE,UAAU3Y,KAAK,WAAY,MAClCjM,KAAK4kB,EAAE,aAAahQ,IAAI,YACxB5U,KAAKlD,IAAI,UAAUonB,UAAYlkB,KAAKs9B,UAAU30B,KAC9C3I,KAAK0qB,aACLD,EAAMK,gBAAgBf,EAAY/pB,MAClCyqB,EAAMK,gBAAgBhB,EAAY9pB,MAClConB,EAAOc,MAAQ,QAEY7lB,IAAvBwiB,EAAU4I,UAA0B5I,EAAU4I,SAAS7tB,QACzDglB,EAAErkB,KAAKskB,EAAU4I,UAAU,SAAUxxB,EAAG63B,GAClCA,GAAG1vB,EAAOmJ,aAAaumB,MAIxB9zB,MAUTyB,OAAQ,WACN,IAAI8gB,EAAOviB,KACPyS,EAAOgY,EAAMG,MAAM/pB,WAQvB,OAPAuD,EAAO4I,YAAW,WAChBiY,EAAWxjB,OAAOb,MAAM2hB,EAAKqP,MAAOnf,GAEpC8P,EAAK0jB,YAAW,WACd1jB,EAAK4gB,yBAEN,GACI5gB,GAUT9jB,KAAM,WACJ,IAAI8jB,EAAOviB,KACPyS,EAAOgY,EAAMG,MAAM/pB,WAavB,OAXmB,GAAf4R,EAAK7S,QAAe6S,EAAK,GAAGrU,aAAe+D,QAC7CsQ,EAAOA,EAAK,IAGdrO,EAAO4I,YAAW,WAChBiY,EAAWxmB,KAAKmC,MAAM2hB,EAAKqP,MAAOnf,GAElC8P,EAAK0jB,YAAW,WACd1jB,EAAK4gB,kBAAkB1wB,QAExB,GACI8P,GAET8jB,WAAY,WACV,OAAOrmC,KAAKkzB,UAAUG,aAExBmS,SAAU,SAAkBv5B,GAE1B,OAAO,GAUTxO,KAAM,SAAcoC,EAAMJ,GAIxB,OAFAI,EAAOsnB,EAAYtnB,GACnBG,KAAK4kB,EAAE,aAAanJ,GAAG5b,EAAMG,KAAKsmC,MAAM7mC,IACjCO,MAQTumC,OAAQ,SAAgB1mC,GAGtB,OAFAA,EAAOsnB,EAAYtnB,GACnBG,KAAK4kB,EAAE,aAAahQ,IAAI/U,GACjBG,MAQToM,QAAS,SAAiBvM,GAQxB,OAPAA,EAAyB,WAAlB5B,EAAQ4B,GAAqB+kB,EAAEljB,OAAO7B,EAAM,CACjD2mC,MAAOxmC,OACJ,CACHH,KAAMsnB,EAAYtnB,GAClB2mC,MAAOxmC,MAETA,KAAK4kB,EAAE,aAAaxY,QAAQvM,GACrBG,MAeTymC,aAAc,SAAsB/lC,EAAMgd,EAAQoS,EAAM1C,GAGtD,OAFAptB,KAAKw5B,MAAM7sB,IAAI/L,MAAMZ,KAAKw5B,MAAO/O,EAAMG,MAAM/pB,YAEtCb,MAQT0mC,gBAAiB,SAAyBhmC,GAGxC,OAFAV,KAAKw5B,MAAM7iB,OAAO/V,MAAMZ,KAAKw5B,MAAO/O,EAAMG,MAAM/pB,YAEzCb,MAOT2mC,cAAe,WAGb,OAFA3mC,KAAKw5B,MAAMpM,OAEJptB,MAOT4mC,aAAc,WAGZ,OAFA5mC,KAAKw5B,MAAMM,UAEJ95B,MAQT6mC,gBAAiB,SAAyBrmC,GAGxC,OAFAR,KAAKupB,YAAYT,MAAMloB,MAAMZ,KAAMyqB,EAAMG,MAAM/pB,YAExCb,MAQTipB,eAAgB,SAAwBzoB,GAGtC,OAFAR,KAAKupB,YAAYP,KAAKpoB,MAAMZ,KAAMyqB,EAAMG,MAAM/pB,YAEvCb,MAQTgjC,iBAAkB,SAA0BxiC,GAG1C,OAFAR,KAAKupB,YAAYvpB,KAAKg5B,eAAiB,OAAS,SAASp4B,MAAMZ,KAAMyqB,EAAMG,MAAM/pB,YAE1Eb,MAaT8mC,YAAa,SAAqBpmC,EAAMxD,GAGtC,OAFA8C,KAAK80B,SAASr3B,KAAKmD,MAAMZ,KAAK80B,SAAUrK,EAAMG,MAAM/pB,YAE7Cb,MAWT+mC,cAAe,SAAuBrmC,EAAMxD,GAG1C,OAFA8C,KAAK80B,SAASe,OAAOj1B,MAAMZ,KAAK80B,SAAUrK,EAAMG,MAAM/pB,YAE/Cb,MASTgnC,eAAgB,SAAwBtmC,GAGtC,OAFAV,KAAK80B,SAASvH,KAAK3sB,MAAMZ,KAAK80B,SAAUrK,EAAMG,MAAM/pB,YAE7Cb,MAQTinC,aAAc,WAGZ,OAFAjnC,KAAKq6B,UAAU9M,KAAK3sB,MAAMZ,KAAKq6B,UAAW5P,EAAMG,MAAM/pB,YAE/Cb,MAOTknC,cAAe,WAGb,OAFAlnC,KAAKq6B,UAAUjN,KAAKxsB,MAAMZ,KAAKq6B,UAAW5P,EAAMG,MAAM/pB,YAE/Cb,MAOTmnC,aAAc,SAAsBhH,GAClC,OAAOvb,EAAEphB,QAAQ28B,EAAWngC,KAAKsqB,SAAS6V,UAAUp8B,MAAM,SAAW,GAOvEuzB,eAAgB,WACd,IAAIvvB,EAAS/H,KAAKqmC,aAElB,OAAOt+B,EAASA,EAAOmwB,MAAQpT,GAOjCsiB,eAAgB,WACd,OAAOpnC,KAAK8xB,YAAY9xB,KAAK0xB,SAASwG,OAASpT,GAajDsQ,iBAAkB,SAA0BppB,GAC1C,MAAO,CACL4kB,EAAG5kB,EAAE8N,MAAQ9Z,KAAK4kB,EAAE,aAAayiB,SAAS3nB,KAC1CmR,EAAG7kB,EAAE+N,MAAQ/Z,KAAK4kB,EAAE,aAAayiB,SAAS3R,MAS9C4R,OAAQ,SAAgBtZ,GACtB,IAAgC,IAA5BhuB,KAAKsqB,SAASyN,UAAlB,CAIA/J,EAAMpJ,EAAEoJ,GAAOhuB,KAAKs3B,kBAEpB,IAAI/U,EAAOviB,KACP4wB,EAAI5C,EAAI3O,QAAU,EAClBwR,EAAI7C,EAAIiB,SAAW,EACnBsY,EAAQjV,SAAStE,EAAIlQ,IAAI,QAAS,IAClC0pB,EAAQlV,SAAStE,EAAIlQ,IAAI,OAAQ,IACjC2pB,EAAOF,GAAS,EAChBG,EAAOF,GAAS,EAChBG,EAAQ,EACRC,EAAQ,EACR7/B,GAAS,EACT8/B,EAAKpd,EAAMqD,YACXvhB,EAAQ,EACR2oB,EAAO,EAEXrY,EAAW,SAAkBirB,EAAM34B,EAAK44B,GACtC,GAAID,EAAO,IACT5S,EAAOvP,EAAEiW,MAAMjW,EAAEtI,KAAY,EAARyqB,EAAWniB,EAAE8P,IAAI,EAAGtmB,KAErC5C,IAAU2oB,GAGZ,GAFA3oB,EAAQ2oB,EAEG,IAAPhP,EAEF8H,EAAI/d,SAAS,SAAW83B,IAAa,EAAR7S,OACxB,CACL,IAAIpX,EAAM,GACVA,EAAIiqB,EAAI9jC,eAAiBixB,EACzBlH,EAAIlQ,IAAIA,KAMhBkqB,EAAY,SAAmBh8B,GACzBye,EAAMqD,YAAc+Z,EAAK,KAI7B9/B,GAAS,EACT6oB,EAAIrO,EAAK6S,iBAAiBppB,GAAG4kB,EAC7BC,EAAItO,EAAK6S,iBAAiBppB,GAAG6kB,IAG/BqM,EAAO,SAAclxB,GACdjE,IAIL4/B,EAAQ3Z,EAAI3O,QAAUkD,EAAK0P,YAC3B2V,EAAQ5Z,EAAIiB,SAAW1M,EAAK2P,aAC5BqV,EAAQ3W,EAAIrO,EAAK0P,YAAc0V,GAAS,EACxCH,EAAQ3W,EAAItO,EAAK2P,aAAe0V,GAAS,EACzCH,IAASF,EAAQE,GAAQllB,EAAK+H,SAASmU,mBACvCiJ,IAASF,EAAQE,GAAQnlB,EAAK+H,SAASmU,mBACvC5hB,EAAS+qB,EAAOF,EAAM,OACtB7qB,EAAS8qB,EAAOF,EAAM,UAgBxB,OAZW,IAAPvhB,IACF8H,EAAI/d,SAAS2mB,WAAkB,EAAR8Q,GAAWO,YAAmB,EAARR,GAC7CzZ,EAAIlQ,IAAI,CACN4X,IAAK,EACLhW,KAAM,KAKV1f,KAAK4kB,EAAE,SAAShQ,IAAI,YAAaozB,GAAWvsB,GAAG,YAAausB,GAE5DhoC,KAAK2qB,SAAS,MAAQpI,EAAK8P,IAAK6K,EAAM,IAAI,GACnCl9B,OAUTsmC,MAAO,SAAe7mC,EAAI+mC,GACxB,MAAkB,oBAAP/mC,EACFmmB,GAGT4gB,EAAQA,GAASxmC,KACV,WACL,OAAOP,EAAGmB,MAAM4lC,EAAO/b,EAAMG,MAAM/pB,eAQvCqnC,aAAc,WACZ,OAAOloC,KAAKqqB,MAAM7tB,MAOpB2rC,UAAW,WAIT,OAFAnoC,KAAK4kB,EAAE,SAAShQ,IAAI,aACpB5U,KAAK0qB,WAAW,MAAQ1qB,KAAKqyB,KACtBryB,MAWTm7B,WAAY,SAAoB3T,GAC9B,IAAI4gB,EAAMpoC,KAAK6xB,KAIf,OAHAjN,EAAErkB,KAAKkqB,EAAMG,MAAM/pB,YAAY,SAAU5E,EAAGosC,GAC1CD,EAAIC,GAAa5d,EAAMltB,OAAO,YAAc8qC,MAEvCroC,MAiBT43B,eAAgB,SAAwBn3B,GAGtC,OAFAT,KAAK2yB,UAAUI,OAAOnyB,MAAMZ,KAAK2yB,UAAWlI,EAAMG,MAAM/pB,YAEjDb,MAOTq5B,eAAgB,WAGd,OAFAr5B,KAAK2yB,UAAUlP,OAAO7iB,MAAMZ,KAAK2yB,UAAWlI,EAAMG,MAAM/pB,YAEjDb,MAWT4jB,YAAa,SAAqB0kB,EAAUC,GAE1C,OADAvoC,KAAK4kB,EAAE0jB,GAAU3kB,OAAO3jB,KAAKlD,IAAIyrC,IAAYA,GACtCvoC,MAYTwoC,aAAc,SAAsBF,EAAUC,GAE5C,OADAvoC,KAAK4kB,EAAE0jB,GAAUzkB,QAAQ7jB,KAAKlD,IAAIyrC,IAAYA,GACvCvoC,MAST2W,OAAQ,SAAgBmf,GAEtB,OADA91B,KAAK4kB,EAAE6F,EAAMG,MAAM/pB,WAAWoK,KAAK,MAAM0L,SAClC3W,MAIT2jB,OAAQ,SAAgB1X,GACtB,IAAIhQ,EAAGqF,EAEP,IAAKrF,KAAKgQ,EACR,GAAIA,EAAKnO,eAAe7B,GACtB,GAAIgQ,EAAKhQ,GAAGmC,cAAgB+D,MAC1B,IAAKb,EAAI,EAAG2K,EAAKhQ,GAAGqF,GAAIA,IACtBtB,KAAK4jB,YAAY3nB,EAAGgQ,EAAKhQ,GAAGqF,SAG9BtB,KAAK4jB,YAAY3nB,EAAGgQ,EAAKhQ,IAK/B,OAAO+D,MAGTq2B,YAAa,SAAqB6B,EAAOv2B,GAKvC,GAJAu2B,EAAQA,GAASl4B,KAAKkzB,UAAUG,YAIhC,CAIA,IAAIzmB,EACA67B,EAAa,SAAoBza,GACnCpJ,EAAEoJ,EAAIoB,WAAWpgB,SAAS,UAAU8O,IAAI,CACtC4X,IAAK/P,EAAEtI,IAAI,EAAGoN,EAAM8B,WAAWyB,EAAIkK,MAAMrZ,MAAM6W,MAC/ChW,KAAMiG,EAAEtI,IAAI,EAAGoN,EAAM8B,WAAWyB,EAAIkK,MAAMrZ,MAAMa,OAChDL,MAAOoL,EAAM8B,WAAWyB,EAAIkK,MAAM7Y,OAClC4P,OAAQxE,EAAM8B,WAAWyB,EAAIkK,MAAMjJ,WAkCvC,OA9BAttB,EAAUijB,EAAEljB,OAAO,CACjB2d,MAAOrf,KAAKiyB,YACZhD,OAAQjvB,KAAKkyB,aACb8D,KAAMh2B,KAAKsqB,SAASyN,UACpB1a,IAAKrd,KAAKsqB,SAAS0U,cACnBvJ,IAAKz1B,KAAKsqB,SAAS2U,cACnBtf,OAAQ3f,KAAKsqB,SAASiU,YACtB1hB,SAAU7c,KAAKsqB,SAASoU,cACxB6D,YAAaviC,KAAKsqB,SAASqS,cAC1Bh7B,GAEC3B,KAAKsqB,SAASwU,cAA2C,IAA5B9+B,KAAKsqB,SAASyN,UACd,mBAApBp2B,EAAQiL,UACjBA,EAAWjL,EAAQiL,SAEnBjL,EAAQiL,SAAW,WACjBA,EAASxQ,KAAK87B,EAAOA,GACrBuQ,EAAWvQ,KAGbv2B,EAAQiL,SAAW67B,EAGrB7jB,EAAEsT,EAAM9I,WAAWpgB,SAAS,UAAU8O,IAAI,CACxC4X,IAAK,EACLhW,KAAM,IAIVwY,EAAMxB,MAAM/0B,GACL3B,OAQT+iC,eAAgB,WAGd,OAFA/iC,KAAK4zB,UAAUC,SAER7zB,MASTuxB,OAAQ,SAAgBmX,EAAU97B,GACT,mBAAZ87B,IACT97B,EAAW87B,EACXA,EAAW5jB,GAGb4jB,EAAW9jB,EAAEljB,OAAO,CAClB2d,MAAO,EACP4P,OAAQ,GACPyZ,GACH,IAAInmB,EAAOviB,KACPk5B,EAAal5B,KAAK4kB,EAAE,aAUxB,OATAA,EAAErkB,KAAKmoC,GAAU,SAAUrsC,EAAG8hB,GACvBA,IACH+a,EAAW78B,GAAG,QACdqsC,EAASrsC,GAAKkmB,EAAKmf,SAASrlC,OAGhCuoB,EAAErkB,KAAKmoC,GAAU,SAAUrsC,EAAG8hB,GAC5B+a,EAAW78B,GAAG8hB,MAETne,KAAKu2B,QAAQ3pB,IAUtB2pB,QAAS,SAAiBlX,EAAO4P,EAAQriB,GACvC,IAAI2V,EAAOviB,KA8CX,MA5CqB,oBAAVqf,IACTzS,EAAWyS,EACXA,EAAQyF,GAGE,WAEVvC,EAAK0P,YAAc5S,GAASkD,EAAKqC,EAAE,SAASvF,QAC5CkD,EAAK2P,aAAejD,GAAU1M,EAAKqC,EAAE,SAASqK,SAE1C1M,EAAK+H,SAASgJ,OAChB1O,EAAErkB,KAAKgiB,EAAK2Q,UAAUK,QAAQ,SAAUt3B,EAAG+xB,GACzCzL,EAAK8T,YAAYrI,GAEjBpJ,EAAEoJ,EAAIoB,WAAWtR,IAAI,OAAQyE,EAAK0P,YAAch2B,MAElDsmB,EAAKqC,EAAE,UAAU9G,IAAI,QAASyE,EAAK0P,YAAc1P,EAAK+Z,kBAGtD/Z,EAAK8T,cAGH9T,EAAK+H,SAASqJ,UAChBpR,EAAKwgB,iBAGKxgB,EAAK2Q,UAAUO,OAAOlR,EAAK2Q,UAAUnrB,SAG/Cwa,EAAK2Q,UAAUO,OAAOlR,EAAK2Q,UAAUnrB,QAAQ2uB,MAAM,CACjDrX,MAAOkD,EAAK0P,YACZhD,OAAQ1M,EAAK2P,aACbqQ,YAAahgB,EAAK+H,SAASqS,eAI/Bpa,EAAKnW,QAAQyY,EAAUwd,SAEC,oBAAbz1B,GACTA,EAASxQ,KAAKmmB,IAIZnmB,KAAKmmB,GACJviB,MAQT2oC,aAAc,WAOZ,OANA3oC,KAAKq2B,cAEDr2B,KAAKsqB,SAASkU,UAChBx+B,KAAKsnC,SAGAtnC,MAET4oC,SAAU,WACR,GAAI5oC,KAAKsqB,SAASyO,QAAS,CACzB,IAAIh7B,EACA9B,EAEA68B,EADAp7B,EAAIsC,KAAKwzB,UAGb,IACE,IAAKv3B,EAAI+D,KAAKsqB,SAASyO,QAAS98B,EAAI,EAAGA,IACrC8B,EAAI,IAAI8mB,EAAUsT,QAClBW,EAAQ94B,KAAKu3B,QAAQ75B,GACrBK,EAAEg7B,QAAQ/4B,KAAKg5B,gBAAkBF,EAAMb,IAAMa,EAAMb,IAAMa,EAAMZ,OAC/Dx6B,EAAIsC,KAAKwzB,QAAQ91B,GAEnB,MAAOsO,OAUbuhB,KAAM,SAAc3d,EAAOmgB,EAAQ8Y,GACjC,IAAIvV,EAAQtzB,KAAKsqB,SAASgJ,MAE1B,GAAKA,KAAUtzB,KAAK2xB,OAAO/xB,OAAS,IAAe,IAAVgQ,IAAoB5P,KAAKsqB,SAAS0F,OAAShwB,KAAK2xB,OAAOmX,SAAhG,CAQA,GAJAl5B,EAAQ+V,EAAEtI,IAAI,EAAGsI,EAAE8P,IAAInD,SAAS1iB,EAAO,IAAK5P,KAAKs8B,gBAAkB,IACnEvM,EAA2B,qBAAXA,IAA2BA,EAASngB,EAAQ5P,KAAKs4B,YACjEuQ,EAAWA,IAAY,KAENhkB,EAAUogB,QAA3B,CAaA,GAPIjlC,KAAK+hC,QAAUnyB,IAAU5P,KAAK0xB,UAChC1xB,KAAK+hC,OAAO5V,IAAOvc,EAAQ5P,KAAK+hC,OAAO1iB,MACvCrf,KAAK+hC,OAAOnyB,MAAQA,GAGtB5P,KAAK0xB,QAAU9hB,EAEX0jB,EAAO,CACT,IAAIrnB,EAAOjM,KAAKu3B,QAAQ3nB,GACpB2S,EAAOviB,KAEX,IAAKiM,EACH,OAGF,IAAIrK,EAAM5B,KAAKg5B,gBAAkB/sB,EAAKgsB,IAAMhsB,EAAKgsB,IAAMhsB,EAAKisB,OAASjsB,EAAK+qB,OACtEkB,EAAQl4B,KAAKkzB,UAAUK,OAAO3jB,GAC9BwoB,EAASF,EAAMG,SAASz2B,GACxBoyB,EAAQh0B,KAAK8xB,YAAYliB,GACzBshB,EAAQ,CACVkH,OAAQA,EACRxoB,MAAOA,EACPmgB,OAAQA,EACRyI,YAAaN,EAAMA,MACnBO,YAAazE,EAAMkE,MACnBQ,aAAczsB,GAEhBjM,KAAKoM,QAAQwY,EAAEljB,OAAOwvB,EAAO,CAC3BrxB,KAAMglB,EAAU0T,aAElBhW,EAAKqC,EAAE,aAAauU,YAAY,aAEhC,IAAIvsB,EAAW,WACb2V,EAAKwP,QAAQniB,GAAOsU,UAAY3B,EAAKgV,UAAUwR,OAAS,GACxDxmB,EAAKnW,QAAQwY,EAAEljB,OAAOwvB,EAAO,CAC3BrxB,KAAMglB,EAAU8T,cAGlBpW,EAAKymB,cAGPzmB,EAAKqmB,WAELxkC,EAAO4I,YAAW,WAEXkrB,EAAMhzB,OAAS0f,EAAEsT,EAAMA,OAAOlzB,KAAK,QAAUpD,GAehD2gB,EAAKnW,QAAQwY,EAAEljB,OAAOwvB,EAAO,CAC3BrxB,KAAMglB,EAAU2d,SAElB51B,MAjBIX,EAAK+qB,SAAW/qB,EAAKisB,QACvBA,EAAMqE,UAAW,GAGnBrE,EAAM3f,KAAK3W,GAAK,SAAUs2B,GACxBhH,EAAMsH,YAAcN,EAAMA,MAE1B3V,EAAK8T,YAAY6B,EAAOtrB,GAAUR,QAAQwY,EAAEljB,OAAOwvB,EAAO,CACxDrxB,KAAMglB,EAAU2d,SAGlB51B,UAQH,UAEHqY,EAAWxmB,KAAKrC,KAAK4D,KAAK2xB,OAAQ,CAChC/hB,MAAOA,EACPmgB,OAAQA,IAGL/vB,KAAK2xB,OAAOmX,SACf9oC,KAAKipC,QAIT,OAAOjpC,KAlFL6kB,EAAUogB,QAAQlwB,IAAInF,EAAMhR,cAqFhCqqC,MAAO,WAEL,IAAI1mB,EAAOviB,KACPgwB,EAAQhwB,KAAK2xB,OAAO,GACpB1lB,EAAOjM,KAAKu3B,QAAQvH,EAAMpgB,OAE9B,GAAK3D,EAAL,CAIA,IAAIrK,EAAM5B,KAAKg5B,gBAAkB/sB,EAAKgsB,IAAMhsB,EAAKgsB,IAAMhsB,EAAKisB,OAASjsB,EAAK+qB,OACtEjvB,EAAS/H,KAAKkzB,UAAUG,YACxBpkB,EAAOjP,KAAKkzB,UAAUM,UACtB4E,EAASnpB,EAAKopB,SAASz2B,GACvBoyB,EAAQh0B,KAAK8xB,YAAY9B,EAAMpgB,OAC/Bs5B,EAAe,WACjBtkB,EAAE3V,EAAKipB,OAAO9rB,QAAQ,YAGxBmW,EAAKqC,EAAE,aAAa0P,YAAY,WAAYroB,EAAKswB,UAAUpD,YAAY,aAEvE,IAAIgQ,EAAa,SAAUl9B,EAAMgD,EAAMlH,EAAQioB,EAAOgE,GACpD,OAAO,WAEL1E,EAAavnB,QAAS,EAEtB0iB,EAAMsD,cAAc9e,EAAKipB,MAAO3V,EAAK+H,SAAS8e,cAE9C7mB,EAAKwP,QAAQxP,EAAK2Q,UAAUnrB,QAAQmc,UAAY,GAEhDU,EAAE7c,EAAOqnB,WAAWtR,IAAI,CACtB6Z,OAAQ,EACRlZ,QAAS,IACR8O,OACH3I,EAAE7c,EAAOqnB,WAAWxqB,KAAK,+BAA+B+R,SACxDiO,EAAErC,EAAK2Q,UAAUO,OAAOlR,EAAK2Q,UAAUnrB,QAAQqnB,WAAWhC,OAC1DxI,EAAE3V,EAAKmgB,WAAWtR,IAAI,CACpB6Z,OAAQ,EACRjY,KAAM,EACNgW,IAAK,IACJnI,OAEHhL,EAAK2Q,UAAU7W,OAGXkG,EAAK+H,SAASkU,UAChBjc,EAAK+kB,OAAOr4B,EAAKipB,QAKfjsB,EAAK+qB,QAAU/qB,EAAKisB,OAASjsB,EAAK4iB,MAAQtM,EAAK+H,SAAS8P,UAAY7X,EAAK+H,SAASmT,YACpF7Y,EAAE3V,EAAKipB,OAAOpa,IAAI,CAChBurB,OAAQ,YACP5tB,GAAG,WAAW,SAAUzP,GAEzB,KAAsB,iBAAXA,EAAEgP,OAAqBhP,EAAEgP,MAAQ,GAA5C,CAKA,GAAI/O,EAAK+qB,OAAQ,CACXzU,EAAK+f,aACP/f,EAAK4f,QAGP,IAAI/I,EAAQ7W,EAAK2Q,UAAUO,OAAOlR,EAAK2Q,UAAUnrB,QAC7C+rB,EAAIvR,EAAK0P,YACT8B,EAAIxR,EAAK2P,aAqBb,OApBAtN,EAAEwU,EAAMhK,WAAWtR,IAAI,CACrBuB,MAAOyU,EACP7E,OAAQ8E,EACRtV,QAAS,IACR8O,OAAOrC,QAAQ,CAChBzM,QAAS,GACR,UACHra,EAAO4I,YAAW,WAChBosB,EAAM7gB,KAAKtM,EAAK+qB,QAAU/qB,EAAKywB,MAAQ,cAAgB,IAAK,CAC1Drd,MAAOyU,EACP7E,OAAQ8E,IACP,SAAUqF,GACX7W,EAAKqC,EAAE,aAAa+R,SAAS,aAC7ByC,EAAM1C,MAAM,CACVrX,MAAOkD,EAAK0P,YACZhD,OAAQ1M,EAAK2P,aACbqQ,YAAat2B,EAAKywB,MAAQna,EAAK+H,SAASqS,aAAe7X,SAG1D,KAKL,GAAIvC,EAAK+H,SAASmT,YAAc5Y,EAAUqH,MAMxC,OALI3J,EAAK+H,SAAS4U,oBAChB3c,EAAK4f,aAGP5f,EAAKtT,OAKHhD,EAAK4iB,KACHtM,EAAK+H,SAAS6U,WACV/6B,EAAO4wB,KAAK/oB,EAAK4iB,KAAM,UAE7BzqB,EAAOwB,SAASkC,KAAOmE,EAAK4iB,KAM5BtM,EAAK+H,SAAS8P,UAChB7X,EAAK0kB,mBAMX1kB,EAAKymB,aAGLzmB,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAU2d,MAChB5yB,MAAOogB,EAAMpgB,MACb4oB,YAAavpB,EAAKipB,MAClBO,YAAazE,EAAMkE,MACnBQ,aAAczsB,IAGhBgZ,EAAWtX,MAAMvR,KAAKmmB,EAAKoP,QAE3BpP,EAAKoP,OAAOmX,SAAU,EAElBvmB,EAAKoP,OAAO/xB,QACd2iB,EAAK0mB,SAnHM,CAsHfh9B,EAAMgD,EAAMlH,EAAQioB,EAAOgE,GAGzBh0B,KAAKsqB,SAASqJ,UAAY3zB,KAAKsqB,SAASkT,gBAC1Cx9B,KAAK4zB,UAAUc,OAAO1E,EAAMpgB,OAI9B2S,EAAKqmB,WAGLne,EAAM8C,KAAKte,EAAKmgB,WAChBngB,EAAKstB,SAAWtwB,EAAK+qB,SAAW/qB,EAAKisB,MAErCtT,EAAErC,EAAKuP,YAAY9B,EAAMpgB,OAAOwf,WAAWuH,SAAS,UAAUnmB,SAAS,WAAW2oB,YAAY,UAE9F5W,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAU0T,UAChBH,OAAQA,EACRxoB,MAAOogB,EAAMpgB,MACbmgB,OAAQC,EAAMD,OACdyI,YAAavpB,EAAKipB,MAClBO,YAAazE,EAAMkE,MACnBQ,aAAczsB,IAGhBsW,EAAKoP,OAAOmX,SAAU,EAEtB75B,EAAKsJ,KAAK3W,GAAK,SAAUqN,GAEvB,IAAI85B,EAAQnkB,EAAErC,EAAKwP,QAAQ,EAAIxP,EAAK2Q,UAAUnrB,SAASY,KAAKsD,EAAK88B,OAAS,IAAI3b,OAE9E7K,EAAK8T,YAAYpnB,EAAM,CACrBrC,SAAU,SAAkBqC,GAEtB,UAAWlH,GACb0iB,EAAMsD,cAAchmB,EAAOmwB,OAAO,GAGpCzN,EAAMsD,cAAc9e,EAAKipB,OAAO,GAGhC3V,EAAK4lB,YAEL5lB,EAAKkgB,QAAQzS,EAAMpgB,OACnB2S,EAAKuf,WAAW9R,EAAMpgB,OAElB3D,EAAK88B,QACPA,EAAMxb,QAEFthB,EAAK+qB,QAAU/qB,EAAKisB,OAASjsB,EAAK4iB,MAAQtM,EAAK+H,SAAS8P,UAAY7X,EAAK+H,SAASmT,YACpFsL,EAAMjrB,IAAI,SAAU,WAAWlJ,IAAI,WAAWya,QAAQ6Z,IAKtDj9B,EAAKywB,OAASzwB,EAAKisB,OACrB/I,EAAUlgB,EAAKmgB,WAGjB,IAAIjE,EAAa5I,EAAK+H,SAASa,WAa/B,GAXAvG,EAAErkB,KAAK,CACL+oC,QAA0B,OAAjBvhC,EAAOmwB,MAChBvH,MAAO9L,EAAUqH,MACjB1C,WAAYjH,EAAKyW,iBAChB,SAAUn5B,EAAMgE,GACjB,GAAIA,GAAO0e,EAAK+H,SAASzqB,EAAO,gBAAkBilB,EAEhD,OADAqG,EAAa5I,EAAK+H,SAASzqB,EAAO,eAC3B,KAIPsrB,KAAcmE,EAAaY,WAAY,EACzCiZ,QACK,CACL,IAAI3Z,EAAS,CACXvhB,KAAMlG,EAAOqnB,UACbngB,KAAMA,EAAKmgB,UACXW,OAAQC,EAAMD,OACd1C,MAAO9K,EAAK+H,SAAS2V,iBAAmB,KAE1C3Q,EAAavnB,QAAS,EAEtBunB,EAAa5vB,KAAKtD,KAAKmmB,EAAM4I,EAAYqE,EAAQ2Z,GAInD5mB,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAU8T,WAChBP,OAAQA,EACRxoB,MAAOogB,EAAMpgB,MACbmgB,OAAQC,EAAMD,OACdyI,YAAavpB,EAAKipB,MAClBO,YAAalW,EAAKuP,YAAY9B,EAAMpgB,OAAOsoB,MAC3CQ,aAAcnW,EAAKgV,QAAQvH,EAAMpgB,iBAY3C4jB,QAAS,SAAiB+V,GAExB,OADAA,EAAuB,kBAATA,EAAoBA,EAAOvpC,KAAKs4B,cAC9Bt4B,KAAKs8B,gBAAkB,EAAI,EAAIiN,EAAO,GAQxDpN,QAAS,SAAiBoN,GAExB,OAAgB,KADhBA,EAAuB,kBAATA,EAAoBA,EAAOvpC,KAAKs4B,YAC1Bt4B,KAAKs8B,gBAAkB,EAAIiN,EAAO,GAOxDt6B,KAAM,WAKJ,OAJIjP,KAAKs8B,gBAAkB,GACzBt8B,KAAKutB,KAAKvtB,KAAKwzB,WAAW,GAGrBxzB,MAOTiO,KAAM,WAKJ,OAJIjO,KAAKs8B,gBAAkB,GACzBt8B,KAAKutB,KAAKvtB,KAAKm8B,WAAW,GAGrBn8B,MAQTlD,IAAK,SAAa21B,GAChB,OAAOA,KAAUzyB,KAAK6xB,KAAO7xB,KAAK6xB,KAAKY,GAAU,MASnD8E,QAAS,SAAiB3nB,GACxB,OAAOA,KAAS5P,KAAK4xB,MAAQ5xB,KAAK4xB,MAAMhiB,GAAS5P,KAAK4xB,MAAM5xB,KAAK0xB,UAOnE4K,cAAe,WACb,OAAOt8B,KAAK4xB,MAAMhyB,QAOpB04B,SAAU,WACR,MAA+B,kBAAjBt4B,KAAK0xB,SAAuB1xB,KAAK0xB,SAOjD8X,eAAgB,WACd,OAAOxpC,KAAKkyB,cAOdrC,cAAe,WACb,OAAO7vB,KAAKiyB,aAQdtC,WAAY,SAAoBnyB,GAC9B,MAAsB,qBAARA,EAAsBwC,KAAKsqB,SAAWtqB,KAAKsqB,SAAS9sB,IAYpEisC,WAAY,SAAoBjsC,EAAKN,GAOnC,MANqB,WAAjBe,EAAQT,GACVonB,EAAEljB,OAAO1B,KAAKsqB,SAAU9sB,GAExBwC,KAAKsqB,SAAS9sB,GAAON,EAGhB8C,MAST0pC,KAAM,SAAczM,GAOlB,OANAj9B,KAAKwxB,UAAW,EAChBxxB,KAAKyxB,UAAYwL,GAASj9B,KAAKyxB,UAE/BzxB,KAAKgpC,aAELhpC,KAAKoM,QAAQyY,EAAUmgB,MAChBhlC,MAOTmiC,MAAO,WAGL,OAFAniC,KAAKwxB,UAAW,EAChBxxB,KAAKoM,QAAQyY,EAAU8kB,OAChB3pC,MAQT4pC,WAAY,SAAoB3M,GAC9B,OAAOj9B,KAAKwxB,SAAWxxB,KAAKmiC,QAAUniC,KAAK0pC,KAAKzM,IAOlDqF,UAAW,WACT,OAAOtiC,KAAKwxB,UAOdwH,aAAc,WACZ,OAAOh5B,KAAKupB,YAAYxhB,QAE1BihC,WAAY,WACV,IAAIzmB,EAAOviB,KACP6pC,EAAS,EACTC,EAAW,GACX1wB,EAAMqR,EAAMqD,YACZic,EAAW,OAAS/pC,KAAKqyB,IAE7B,GAAIryB,KAAKwxB,SAAU,CACjBxxB,KAAK0qB,WAAWqf,GAEhB,IAAItqC,EAAK,SAASA,IAGhB,IAFAoqC,EAASpf,EAAMqD,YAAc1U,IAEfmJ,EAAKkP,WAAalP,EAAKiP,SAGnC,OAFAjP,EAAKmI,WAAWqf,QAChBxnB,EAAKtT,OAIHsT,EAAKiP,WAEPjP,EAAKnW,QAAQ,CACXvM,KAAMglB,EAAUmlB,SAChBC,QAAStkB,EAAE5H,KAAK8rB,EAAStnB,EAAKkP,UAAY,KAC1CyY,QAASvkB,EAAEwO,MAAM0V,EAAS,KAC1BM,aAAcN,IAEhBtnB,EAAKoI,SAASof,EAAUtqC,EAAIqqC,KAIhCvnB,EAAKoI,SAASof,EAAUtqC,EAAIqqC,KAShCM,YAAa,SAAqBnN,GAEhC,OADAj9B,KAAKyxB,UAAYwL,EACVj9B,MAETqqC,SAAU,SAAkBlsB,GAE1B,OADAne,KAAK0xB,QAAUvT,EACRne,MAST8hC,WAAY,SAAoBlyB,GAS9B,GARqB,kBAAVA,EACTA,IAC0B,qBAAVA,IAChBA,EAAQ5P,KAAKs4B,WAAa,GAG5Bt4B,KAAKlD,IAAI,WAAWonB,UAAYtU,EAE5BsW,EAAI,CAEN,IAAI2c,EAAQ7iC,KAAK4kB,EAAE,WACfnG,EAAUokB,EAAM/kB,IAAI,WAEM,IAA1BwU,SAAS7T,EAAS,IACpBgM,EAAMoC,YAAYgW,EAAM,IAExB7iC,KAAK4kB,EAAE,WAAW9G,IAAI,UAAWW,GAIrC,OAAOze,MASTyiC,QAAS,SAAiB7yB,GACxB,IAAI2S,EAAOviB,KACPiM,EAAOjM,KAAKu3B,QAAQ3nB,GAUxB,OATAgV,EAAErkB,KAAK,CAAC,QAAS,gBAAgB,SAAUtE,EAAG4D,GAC5C,IAAIa,EAAO6hB,EAAKqC,EAAE,QAAU/kB,GAEtBoM,EAAKpM,GACTa,EAAKuL,EAAKpM,GAAMD,OAAS,OAAS,UAAU+I,KAAKsD,EAAKpM,IAEtDa,EAAKgjB,QAAQ0J,UAGVptB,MASTsqC,QAAS,SAAiB16B,GACxB,IACI3T,EADAsuC,EAAQ,oBAAoBxmC,MAAM,KAGtC,IAAK9H,EAAI,EAAGsuC,EAAMtuC,GAAIA,IACpB,GAAM+D,KAAKu3B,QAAQ3nB,GAAO26B,EAAMtuC,IAC9B,OAAO,EAIX,OAAO,GAETqD,OAAQ,SAAgB6mC,GACtB,IAAI5jB,EAAOviB,KACPI,EAAM,GACVwkB,EAAErkB,KAAK4lC,EAAIpiC,MAAM,MAAM,SAAU9H,EAAGw2B,GAClCA,EAAS7N,EAAE4lB,KAAK/X,GAEZlQ,EAAKzlB,IAAI21B,IACXryB,EAAI3B,KAAKg0B,MAGb,IAAIgY,EAAK7lB,EAAErC,EAAKzlB,IAAIsD,EAAIuN,UAIxB,OAHAiX,EAAErkB,KAAKH,GAAK,SAAUnE,EAAGw2B,GACvBgY,EAAKA,EAAG99B,IAAI4V,EAAKzlB,IAAI21B,OAEhBgY,GAUT7lB,EAAG,SAAWuhB,GACZ,OAAOnmC,KAAKV,OAAOsB,MAAMZ,KAAMyqB,EAAMG,MAAM/pB,cAK/C+jB,EAAErkB,KAAKsmB,GAAS,SAAU5qB,EAAG8qB,GAE3B,IAAIlnB,EAAO,IAAIkF,KAAKgiB,GAAMA,EAAGtkB,QAAQ,KAAM,IAAMskB,EACjDlC,EAAUkC,EAAG1a,eAAiB,YAAcxM,KAE9C+kB,EAAEljB,OAAOmjB,EAAW,CAElB6lB,IAAY,IAAPxkB,EACLykB,IAAY,IAAPzkB,EACL0kB,IAAY,IAAP1kB,EACL2kB,IAAY,IAAP3kB,EACLA,GAAIA,EACJ+F,OAAQ,SAASlnB,KAAKsgB,GACtBylB,OAAQ,SAAS/lC,KAAKsgB,GACtBoR,OAAQ,SAAS1xB,KAAKsgB,KAAS,SAAStgB,KAAKsgB,GAC7C6J,MAAOhJ,GAAM9iB,EAAI2nC,YAAiC,eAAnB3nC,EAAI2nC,WACnCvU,IAAK,MAAMzxB,KAAKugB,UAAU0lB,SAAS/mC,eACnC6gC,QAAS1gC,EAAOgnB,MAChB6f,OAAQ,SAASlmC,KAAKsgB,GACtBmW,KAAM,OAAOz2B,KAAKsgB,GAClB6lB,QAAS,UAAUnmC,KAAKsgB,GACxB6G,MAAO,iBAAkB9oB,GAAO0iB,IAmBlCjB,EAAUsmB,SAAW,SAAU9gB,GAExBA,EAAM7tB,MACTqoB,EAAU6I,MAAM,6BAIbrD,EAAMhrB,SAAWizB,SAA6B,GAApBzN,EAAUxlB,SAAgBizB,SAAyB,GAAhBjI,EAAMhrB,WACtEwlB,EAAU6I,MAAM,qCAAuCrD,EAAM7tB,KAAO,kBAAoB81B,SAA6B,GAApBzN,EAAUxlB,SAAgB,GAAK,aAAa,GAG/G,WAA5BpB,EAAQosB,EAAM4W,UAChB5W,EAAM4W,SAAW,GAEjB5W,EAAM4W,SAAWja,EAAeqD,EAAM4W,UAGxC,IACI3Z,EACA8jB,EAFAttB,GAAM,EA+DV,MA3DyB,kBAAduM,EAAMvM,KAEf8G,EAAE,QAAQrkB,MAAK,SAAUtE,EAAG4yB,GAG1B,IAFAvH,EAAM,IAAIvQ,OAAOsT,EAAMvM,MAEf/Y,KAAK8pB,EAAK/mB,MAMhB,OAJAgW,GAAM,EAENsM,EAAWC,IAEJ,KAINvM,GACH8G,GAAE,WAMA,IAAIymB,EAAa,GAEA,SAASC,IACxB1mB,EAAE,UAAUrkB,MAAK,SAAUtE,EAAGuyB,GAE5BlH,EAAM,IAAIvQ,OAAO,cAAgBsT,EAAM7tB,KAAKyH,cAAgB,OAC5DmnC,EAAO,IAAIr0B,OAAO,2BAA6BsT,EAAM7tB,KAAKyH,cAAgB,0CAEtEqjB,EAAIviB,KAAKypB,EAAO5sB,MAAQwpC,EAAKrmC,KAAKypB,EAAO5sB,QAE3Ckc,EAAM0Q,EAAO5sB,IAAIa,QAAQ,UAAW,IAAM4nB,EAAMvM,IAChD1Z,EAAO4I,YAAW,WAChByd,EAAMmE,QAAQ9Q,EAAK,kBAAoBuM,EAAM7tB,MAAM,WAEjD4tB,EAAWC,QAEZ,OAIFvM,IACCutB,IAAe,EACjBxmB,EAAU6I,MAAM,uBAEhBtpB,EAAO4I,WAAWs+B,EAAY,OAKpCA,OAKJlhB,EAAWC,GAGNA,GAaTxF,EAAU0mB,UAAY,SAAU3pC,EAAKD,GAEnC,IAAIijB,EAAE,UAAUtV,QAAO,WACrB,OAAOsV,EAAE5kB,MAAMgF,KAAK,QAAUpD,KAC7BhC,OAFH,CAMA,IACI0U,EADAkwB,GAAS,EAkBb,OAfA5f,EAAExgB,GAAQqX,GAAG,QAAQ,WACd+oB,IAEHlwB,EAAMlQ,EAAO4I,YAAW,WACjBw3B,GACH3f,EAAU6I,MAAM,0CAA4C9rB,EAAM,+CAA+C,KAElH,SAIP6oB,EAAM8D,WAAW3sB,GAAK,WACpB4iC,GAAS,EACTpgC,EAAOmJ,aAAa+G,MAEfuQ,IAYTA,EAAU/nB,IAAM,SAAU8S,GACxB,OAAMma,EAAWna,GACRma,EAAWna,GACQ,kBAAVA,EACTma,OAEPlF,EAAU6I,MAAM,iBAAmB9d,EAAQ,eAiB/CiV,EAAUqc,UAAY,SAAU1jC,EAAKN,GACnC,IAAIsuC,EAAO,GAaX,MAXkB,iBAAPhuC,GAAmBN,GAC5BsuC,EAAKhuC,GAAON,EACZM,EAAMguC,GAEN5mB,EAAEljB,OAAO8pC,EAAMhuC,GAGjBqnB,EAAUqc,UAAUv/B,QAAU6pC,EAC9B5mB,EAAErkB,KAAKskB,EAAU/nB,OAAO,SAAUb,EAAG8sB,GACnCA,EAAS0gB,WAAW+B,MAEf3mB,GAGTA,EAAUqc,UAAUv/B,QAAU,GAa9BkjB,EAAUpJ,GAAK,SAAU5b,EAAMW,GAC7B,GAAKX,EAAL,CAMA,IAAI4lB,EAAO5lB,GAFXW,EAAWA,GAAYolB,GAEIhnB,WAAW6D,QAAQ,MAAO,IAAMgoB,EAAMqD,YAcjE,OAZAlJ,EAAErkB,KAAKskB,EAAU/nB,OAAO,SAAUb,EAAG8sB,GACnCA,EAASqJ,OAAO3zB,KAAKgnB,GAErBsD,EAAStrB,KAAKoC,EAAMW,MAGtBqkB,EAAUpJ,GAAGwnB,MAAMxkC,KAAK,CACtBoB,KAAMA,EACNW,SAAUA,EACVilB,KAAMA,IAGDZ,IAGTA,EAAUpJ,GAAGwnB,MAAQ,GAcrBpe,EAAU4mB,IAAM,SAAUlsC,EAAUoC,GAQlC,OAPIijB,EAAE3lB,WAAW0C,KACfA,EAAU,CACRD,OAAQC,IAIZijB,EAAErlB,GAAY,aAAamsB,SAAS/pB,GAC7BkjB,GAgBTA,EAAU6mB,cAAgB,SAAUlvC,EAAMiD,GAExC,OADA6vB,EAAaY,QAAQ1zB,GAAQiD,EACtBolB,GAOTA,EAAU8mB,MAAQlhB,EAQlB5F,EAAU+mB,IAAM,WACd,IAAIn5B,EAAOgY,EAAMG,MAAM/pB,WAEvB,KAAI,YAAauD,MAAU,QAASA,EAAOynC,SASzC,OAAOznC,EAAO0nC,MAAMr5B,EAAKxH,KAAK,SAR9B,IACE,OAAO7G,EAAOynC,QAAQD,IAAIhrC,MAAMwD,EAAOynC,QAASp5B,GAChD,MAAOzG,GACP4Y,EAAErkB,KAAKkS,GAAM,WACXrO,EAAOynC,QAAQD,IAAI5rC,WAiB3B6kB,EAAU3f,MAAQ,SAAUzF,GAC1B,MAAiB,mBAANA,IAIXmlB,EAAErkB,KAAKupB,GAAY,SAAU7tB,EAAG8vC,GAC9BtsC,EAAGrD,KAAK2vC,EAASA,EAAQzhB,aAG3BzF,EAAU3f,MAAMmgC,UAAU5mC,KAAKgB,IAPtBolB,GAYXA,EAAU3f,MAAMmgC,UAAY,GAS5BxgB,EAAU6I,MAAQ,SAAU9qB,EAAKopC,GAC/B,IAAInsC,EAAOmsC,EAAQ,cAAgB,QAC/BluB,EAAM,CACRyiB,MAAO,OACP1jB,SAAU,WACV6Y,IAAK,EACLhW,KAAM,EACNiY,OAAQ,KAENsU,EAAO,SAAcrpC,GACvB,IAAI+F,EAAO,uDAAyDqjC,EAAQ,MAAQ,OAAS,OAASA,EAAQ,WAAansC,EAAO,cAAgB,IAAM+C,EAAM,SAC9JgiB,EAAErkB,KAAKwpB,GAAY,WACjB,IAAImiB,EAAOlsC,KAAK4kB,EAAE,UACd5iB,EAAShC,KAAK4kB,EAAE,UAEfsnB,EAAKtsC,SACRoC,EAAO8b,IAAI,WAAY,YACvBouB,EAAOlsC,KAAKm7B,WAAW,UAAUvX,YAAY,SAAU,UAAUgB,EAAE,UAAU9G,IAAIA,IAGnFouB,EAAKvoB,OAAOhb,MAGTohB,EAAWnqB,QACdglB,EAAE,SAAS9G,IAAI8G,EAAEljB,OAAOoc,EAAK,CAC3BjB,SAAU,WACR8G,OAAOhb,GAAM0b,SAASkC,IAAMC,OAKpC,GAAIrB,GAGF,GAFA8mB,EAAKrpC,GAEDopC,EACF,MAAM,IAAInpC,MAAMhD,EAAO,KAAO+C,QAG3B,GAAIopC,EAAO,CAChB,GAAIhiB,EACF,OAGFA,GAAY,EACZgiB,GAAQ,EACRC,EAAK,6BAKTpnB,EAAUxlB,QAAU6lB,EAEpBL,EAAUsnB,gBAAkB,WAC1B,OAAOvnB,EAAEnkB,IAAI0pB,GAAe,SAAUE,GACpC,OAAOA,EAAM7tB,SAejBqoB,EAAUunB,SAAW,SAAU/sC,EAASuD,GAOtC,OANAA,EAAMA,GAAO,2CAA6CvD,EAAU,kCAEhEwlB,EAAUxlB,QAAUA,GACtBwlB,EAAU6I,MAAM9qB,GAAK,GAGhBiiB,GAaTA,EAAUsT,QAAU,SAAU3Q,GAE5BxnB,KAAKwnB,GAAKA,GAAM,KAEhBxnB,KAAKk4B,MAAQ,KAEbl4B,KAAKovB,UAAY3E,EAAMltB,OAAO,kBAE9BqnB,EAAE5kB,KAAKovB,WAAWtR,IAAI,CACpB4Z,SAAU,SACV7a,SAAU,aAIZ7c,KAAKykB,SAAW,CACdpF,MAAO,EACP4P,OAAQ,GAGVjvB,KAAKkF,OAAQ,EAEblF,KAAKu8B,UAAW,GAGlB1X,EAAUsT,QAAQt6B,UAAY,CAE5B0O,MAAO,GAEPghB,KAAM,WACJ9C,EAAM8C,KAAKvtB,KAAKk4B,QAGlB9K,KAAM,WACJ3C,EAAMyC,QAAQltB,KAAKk4B,QAErBiF,MAAO,WACLn9B,KAAKk4B,MAAQ,MAQfG,SAAU,SAAkBz2B,GAC1B,QAAS5B,KAAKuM,MAAM3K,IAQtBm3B,QAAS,SAAiBn3B,GACxB,IAAIyqC,EAASznB,EAAE,IAAI0nB,OAAS7wB,GAAG,OAAQ,SAAU7Z,EAAK2K,GACpD,OAAO,WACLA,EAAM3K,GAAOA,GAFsB,CAIrCA,EAAK5B,KAAKuM,QAER3K,EAAIg3B,QACNyT,EAAOrnC,KAAK,SAAUpD,EAAIg3B,QAGxBh3B,EAAIi3B,OACNwT,EAAOrnC,KAAK,QAASpD,EAAIi3B,OAG3BwT,EAAOrnC,KAAK,MAAOpD,IAWrB2W,KAAM,SAAc3W,EAAKgjC,EAAMpkC,GAM7B,GALmB,mBAARokC,IACTpkC,EAAWokC,EACXA,EAAO,MAGL5kC,KAAKu8B,SAAU,CACjB,IAAI/U,EAAK,MAAO,IAAIrO,MAAOwV,UACvBqI,EAASh3B,KAAKk4B,MAAQtT,EAAE,WAAY,CACtChjB,IAAKA,EACL2qC,YAAa,EACb/kB,GAAIA,EACJglB,iBAAiB,EACjB1uB,IAAK,CACHhB,WAAY,YAEb,GAmBH,OAjBI8nB,GACFhgB,EAAEoS,GAAQlZ,IAAI8mB,GAGhBhgB,EAAE5kB,KAAKovB,WAAWxqB,KAAK,cAAc+R,SACrC3W,KAAKovB,UAAUxL,YAAY5jB,KAAKk4B,OAChCtT,EAAE,IAAM4C,GAAI/L,GAAG,OAAQ,SAAU8G,EAAM/hB,GACrC,OAAO,WACL4D,EAAO4I,YAAW,WAChB4X,EAAErC,EAAK2V,OAAOpa,IAAI,aAAc,WAET,mBAAZtd,GACTA,EAASpE,KAAKmmB,EAAMA,KAErB,KARgB,CAUrBviB,KAAMQ,IACDR,KAAKovB,UAGdpvB,KAAKk4B,MAAQ,IAAIoU,MAEbznB,EAAU8lB,KACZ/lB,EAAE5kB,KAAKk4B,OAAOpa,IAAI,SAAU,WAKzB+G,EAAUqB,IAAOrB,EAAUimB,QAAWjmB,EAAU4R,QACnD7R,EAAE5kB,KAAKk4B,OAAOpa,IAAI,kBAAmB,mBAGvC,IAAI2uB,GAAS,EACTC,GAAS,EAEbxT,EAAatU,EAAE5kB,KAAKovB,WAChBid,EAASznB,EAAE5kB,KAAKk4B,OAChByU,EAAU,WACPF,EAUCrnB,EACFR,EAAE5kB,MAAMgF,KAAK,MAAOogB,GAEpBP,EAAU6I,MAAM,oBAAsB9rB,IAZxC6qC,GAAS,EAETroC,EAAO4I,WAAW,SAAUkrB,EAAOt2B,GACjC,OAAO,WACLs2B,EAAMlzB,KAAK,MAAOpD,GAAOA,EAAIlD,QAAQ,MAAQ,EAAI,IAAM,KAAO+rB,EAAMqD,cAFtD,CAIhBlJ,EAAE5kB,MAAO4B,GAAM,MAWrB6sB,EAAS,SAAUlM,EAAM/hB,EAAUoB,GACjC,OAAO,WACL,IAyBaosB,EAzBTphB,EAAW,WACbgY,EAAE5kB,MAAM4U,IAAI,QAEZ2N,EAAKkC,SAAWmgB,GAAQ,CACtB3V,OAAQjvB,KAAKivB,OACb5P,MAAOrf,KAAKqf,OAGVwF,EAAU+nB,QACZ5sC,KAAK6e,MAAMguB,aAAe7sC,KAAK6e,MAAMiuB,gBAAkB,sBAGzD5T,EAAWvV,OAAO3jB,MAClBuiB,EAAKhW,MAAM3K,GAAOA,EAEK,mBAAZpB,GACT4D,EAAO4I,YAAW,WAChBxM,EAASpE,KAAKmmB,EAAMA,KACnB,IAMFviB,KAAKqf,OAAUrf,KAAKivB,OAqBvBriB,EAASxQ,KAAK4D,OApBHguB,EAkBRhuB,KAjBDyqB,EAAM+C,KAAK,CACTpd,MAAO,WACL,OAAO4d,EAAI3O,OAAS2O,EAAIiB,QAE1BpiB,QAAS,WACPD,EAASxQ,KAAK4xB,IAEhBrrB,MAAO,WACA+pC,EAIH7nB,EAAU6I,MAAM,8CAAgDM,EAAIpsB,IAAM,4BAA8BosB,EAAI3O,MAAQ,eAAiB2O,EAAIiB,OAAS,QAHlJrK,EAAE,IAAI0nB,OAAS7wB,GAAG,OAAQgT,GAAQzpB,KAAK,MAAOgpB,EAAIpsB,KAClD8qC,GAAS,IAKb3/B,QAAS,QA3CV,CAkDP/M,KAAMQ,EAAUoB,GAyBlB,OAtBAs3B,EAAWt0B,KAAK,cAAc+R,SAE9B01B,EAAOvuB,IAAI,UAAW,SAEtB2M,EAAM2C,KAAKptB,KAAKk4B,OAEhBtT,EAAErkB,KAAK,wCAAwCwD,MAAM,MAAM,SAAU9H,EAAGm/B,GACtEiR,EAAOvuB,IAAIsd,EAAM,MAAMr2B,KAAKq2B,GAAQ,IAAM,WAG5CiR,EAAO5wB,GAAG,OAAQgT,GAAQhT,GAAG,QAASkxB,GAElC/qC,EAAIg3B,QACNyT,EAAOrnC,KAAK,SAAUpD,EAAIg3B,QAGxBh3B,EAAIi3B,OACNwT,EAAOrnC,KAAK,QAASpD,EAAIi3B,OAG3BwT,EAAOrnC,KAAK,MAAOpD,GAEZ5B,KAAKovB,WAmBdsH,MAAO,SAAe/0B,GACpB,IAAI4gB,EAAOviB,KAeX,GAbA2B,EAAUijB,EAAEljB,OAAO,CACjB2d,MAAO,EACP4P,OAAQ,EACRwG,IAAK3Q,EACLzH,IAAKyH,EACLnF,OAAQ,EACR/S,SAAUgZ,EACV/I,SAAU,SACVmZ,MAAM,EACNkO,QAAQ,EACR3B,YAAazd,GACZnjB,GAEC3B,KAAKu8B,SAAU,CACjB,IAEIwQ,EACAC,EAHAxQ,EAAK76B,EAAQ0d,MACbod,EAAK96B,EAAQstB,OAIjB,GAAIttB,EAAQ4gC,YAAa,CACvB,IAAIxlC,EAAI4oB,EAAE8P,IAAI9zB,EAAQ4gC,YAAc/F,EAAI76B,EAAQ4gC,YAAc9F,GAE1D1/B,EAAI,GACNgwC,EAAKvQ,EAAKz/B,EACViwC,EAAKvQ,EAAK1/B,EACV6nB,EAAE5kB,KAAKk4B,OAAOpa,IAAI,CAChB4X,IAAK+G,EAAK,EAAIuQ,EAAK,EACnBttB,KAAM8c,EAAK,EAAIuQ,EAAK,EACpBlwB,SAAU,cAGZ+H,EAAE5kB,KAAKk4B,OAAOpa,IAAI,CAChB4X,IAAK,EACLhW,KAAM,IAKZkF,EAAE5kB,KAAKk4B,OAAO7Y,MAAM0tB,GAAMvQ,GAAIvN,OAAO+d,GAAMvQ,GAAIzP,WAAW,SAASA,WAAW,UAC9EpI,EAAE5kB,KAAKovB,WAAW/P,MAAMmd,GAAIvN,OAAOwN,GACnC96B,EAAQiL,SAASxQ,KAAKmmB,EAAMA,GAE5B,IACMviB,KAAKk4B,MAAMb,eACbzS,EAAE5kB,KAAKk4B,MAAMb,eAAejrB,QAAQ,UAEtC,MAAOJ,IAET,OAAOhM,KAAKovB,UAId,IAAKpvB,KAAKk4B,MACR,OAAOl4B,KAAKovB,UAId,IAAI/P,EACA4P,EAEAhjB,EADAitB,EAAatU,EAAErC,EAAK6M,WA4HxB,OAzHA3E,EAAM+C,KAAK,CACTpd,MAAO,WAGL,OAFAiP,EAAQ1d,EAAQ0d,OAAS6Z,EAAW7Z,SAAWoL,EAAM8B,WAAW2M,EAAWpb,IAAI,UAC/EmR,EAASttB,EAAQstB,QAAUiK,EAAWjK,UAAYxE,EAAM8B,WAAW2M,EAAWpb,IAAI,WAC3EuB,GAAS4P,GAElBpiB,QAAS,WAEP,IAAIogC,GAAY5tB,EAAyB,EAAjB1d,EAAQge,QAAc4C,EAAKkC,SAASpF,MACxD6tB,GAAaje,EAA0B,EAAjBttB,EAAQge,QAAc4C,EAAKkC,SAASwK,OAC1DwG,EAAM9P,EAAE8P,IAAIwX,EAAUC,GACtB7vB,EAAMsI,EAAEtI,IAAI4vB,EAAUC,GAStBxR,EARU,CACZ,KAAQre,EACR,MAAS4vB,EACT,OAAUC,EACV,MAASzX,EACT,UAAalT,EAAKkC,SAASpF,MAAQkD,EAAKkC,SAASwK,OAAS5R,EAAMoY,EAChE,SAAYlT,EAAKkC,SAASpF,MAAQkD,EAAKkC,SAASwK,OAAS5R,EAAMoY,GAE7C9zB,EAAQq0B,KAAKp3B,YAC7BuuC,EAAY,GAEZxrC,EAAQ0b,MACVqe,EAAQ/V,EAAE8P,IAAI9zB,EAAQ0b,IAAKqe,IAIzB/5B,EAAQ8zB,MACViG,EAAQ/V,EAAEtI,IAAI1b,EAAQ8zB,IAAKiG,IAG7B9W,EAAErkB,KAAK,CAAC,QAAS,WAAW,SAAUtE,EAAGI,GACvCuoB,EAAErC,EAAK2V,OAAO77B,GAAGkmB,EAAKlmB,GAAKkmB,EAAK2V,MAAM77B,GAAKspB,EAAEiW,MAAMrZ,EAAKkC,SAASpoB,GAAKq/B,OAExE9W,EAAErC,EAAK6M,WAAW/P,MAAMA,GAAO4P,OAAOA,GAElCttB,EAAQuiC,QAAUja,IACpBA,EAAQvpB,KAAK2e,MAAQkD,EAAKlD,MAC1B4K,EAAQvpB,KAAKuuB,OAAS1M,EAAK0M,OAC3Bke,EAAY5qB,EAAK2V,MAAMt2B,IAAM,IAAM2gB,EAAKlD,MAAQ,IAAMkD,EAAK0M,OAE3D1M,EAAK2V,MAAMt2B,IAAMqoB,EAAQ1d,MAAM4gC,IAAc,SAAU3vC,GACrDysB,EAAQzqB,QAAQ4tC,UAAU7qB,EAAK2V,MAAO,EAAG,EAAG3V,EAAKkC,SAASpF,MAAQqc,EAAOnZ,EAAKkC,SAASwK,OAASyM,GAEhG,IAIE,OAHAzvB,EAAOge,EAAQvpB,KAAK2sC,YACpBpjB,EAAQrqB,QAAUqM,EAAKrM,OACvBqqB,EAAQ1d,MAAM/O,GAAOyO,EACdA,EACP,MAAOD,GACP,OAAOuW,EAAK2V,MAAMt2B,KATuB,CAW3CurC,IAIJ,IAAIpF,EAAM,GACNuF,EAAM,GACNC,EAAc,SAAqBrwC,EAAOinC,EAASxkB,GACrD,IAAIzK,EAAS,EAEb,GAAI,KAAKnQ,KAAK7H,GAAQ,CACpB,IAAIswC,EAAMlb,SAASp1B,EAAO,IAAM,IAC5Bb,EAAIkmB,EAAK2V,MAAMiM,IAAYvf,EAAErC,EAAK2V,OAAOiM,KAC7CjvB,EAASyQ,EAAE5H,MAAU,EAAL1hB,EAASmxC,EAAM7tB,EAAS6tB,QAExCt4B,EAASuV,EAAM8B,WAAWrvB,GAG5B,OAAOgY,GAELu4B,EAAc,CAChB,IAAO,CACL/X,IAAK,GAEP,KAAQ,CACNhW,KAAM,GAER,MAAS,CACPA,KAAM,QAER,OAAU,CACRgW,IAAK,SAIT9Q,EAAErkB,KAAKoB,EAAQkb,SAAS5Y,cAAcF,MAAM,MAAM,SAAU9H,EAAGiB,GAC/C,WAAVA,IACFA,EAAQ,OAGV6qC,EAAI9rC,EAAI,MAAQ,QAAUiB,KAE5B0nB,EAAErkB,KAAKwnC,GAAK,SAAU9rC,EAAGiB,GACnBuwC,EAAY3vC,eAAeZ,IAC7B0nB,EAAEljB,OAAO4rC,EAAKG,EAAYvwC,OAG9B6qC,EAAMA,EAAIrS,IAAM9Q,EAAEljB,OAAOqmC,EAAKuF,GAAOA,EACrCvF,EAAMnjB,EAAEljB,OAAO,CACbg0B,IAAK,MACLhW,KAAM,OACLqoB,GAEHnjB,EAAErC,EAAK2V,OAAOpa,IAAI,CAChBjB,SAAU,WACV6Y,IAAK6X,EAAYxF,EAAIrS,IAAK,SAAUzG,GACpCvP,KAAM6tB,EAAYxF,EAAIroB,KAAM,QAASL,KAGvCkD,EAAKgL,OAELhL,EAAKrd,OAAQ,EACbvD,EAAQiL,SAASxQ,KAAKmmB,EAAMA,IAE9B5f,MAAO,WACLkiB,EAAU6I,MAAM,0BAA4BnL,EAAK2V,MAAMt2B,MAEzDmL,QAAS,MAEJ/M,OAIX4kB,EAAEljB,OAAOkjB,EAAE6H,OAAQ,CACjBf,SAAU,SAAkBlkB,EAAGrK,EAAGuwC,EAAGpxC,EAAGC,GACtC,OAAKY,GAAKZ,EAAI,GAAK,EACVD,EAAI,EAAIa,EAAIA,EAAIA,EAAIuwC,EAGtBpxC,EAAI,IAAMa,GAAK,GAAKA,EAAIA,EAAI,GAAKuwC,GAE1C/hB,WAAY,SAAoBnkB,EAAGrK,EAAGuwC,EAAGpxC,EAAGC,GAC1C,OAAOD,GAAKa,GAAKZ,GAAKY,EAAIuwC,GAE5B9hB,YAAa,SAAqBpkB,EAAGrK,EAAGuwC,EAAGpxC,EAAGC,GAC5C,OAAQD,GAAKa,GAAKZ,IAAMY,EAAI,GAAKuwC,KAIrC7oB,EAAUmd,OAAS,WACPrc,EAAE0L,IAAZ,IA0BMt0B,EAxBF4wC,EAAQ9oB,EAAU+nB,MAAQ,WAC5B,IACIe,EAEA3vC,EAHA8W,EAAK1R,EAAIqD,cAAc,KAEvBtJ,EAAI,CAAC,SAAU,IAAK,KAAM,MAAO,IAEjClB,EAAI,EACJmnC,EAAI,YAGR,IAFA7c,IAAM5d,KAAKmb,aAAahP,EAAI,MAErB3X,EAAElB,GAAIA,IACX+B,EAAIb,EAAElB,GAAKkB,EAAElB,GAAK,YAAcmnC,OAEZ/gC,IAAhByS,EAAG+J,MAAM7gB,KACX8W,EAAG+J,MAAM7gB,GAAK,2BACd2vC,EAAQ/oB,EAAE9P,GAAIgJ,IAAI3gB,EAAElB,GAAK,IAAMkB,EAAElB,GAAGgI,cAAgB,IAAMm/B,EAAIA,IAKlE,OADA7c,IAAM5d,KAAKoa,YAAYjO,QACNzS,IAAVsrC,GAAuBA,EAAM/tC,OAAS,GAAe,SAAV+tC,EAnBtB,GAuB1BC,GACE7wC,EAAI,wBACDqH,EAAOypC,uBAAyBzpC,EAAO,SAAWrH,IAAMqH,EAAO,MAAQrH,IAAMqH,EAAO,IAAMrH,IAAMqH,EAAO,KAAOrH,IAAM,SAAUyD,GACnI4D,EAAO4I,WAAWxM,EAAU,IAAO,MAInCwhC,EAAS,SAAgBthC,EAAMiB,GAgBjC,GAdA3B,KAAKulC,OAAS,CACZ1X,MAAO,EACPzB,SAAU,IACV6V,SAAU,aACVG,WAAY,aACZ3V,OAAQ,SAAgBmE,EAAGzzB,EAAGuwC,EAAGpxC,EAAGC,GAClC,OAAQD,IAAMa,EAAIA,EAAIZ,EAAI,GAAKY,EAAIA,EAAIA,EAAI,GAAKuwC,IAIpD1tC,KAAK8tC,QAAU,SAAUld,EAAGzzB,EAAGuwC,EAAGpxC,EAAGC,GACnC,OAAOD,IAAMa,EAAIA,EAAIZ,EAAI,GAAKY,EAAIA,EAAIA,EAAIA,EAAI,GAAKuwC,GAGhDhtC,EAAKsO,SAASpP,OAAnB,CAIA,IAAI2iB,EAAOviB,KAEX4kB,EAAEljB,OAAO1B,KAAKulC,OAAQ5jC,GACtB3B,KAAKU,KAAOA,EACZV,KAAK+tC,MAAQrtC,EAAKsO,SAAS,GAC3BhP,KAAKmsB,GAAKnsB,KAAK+nC,IAAM,EACrB/nC,KAAKguC,UAAW,EAChBhuC,KAAK6tB,MAAQ,GACb7tB,KAAK4P,MAAQ5P,KAAKulC,OAAO1X,MACzB7tB,KAAKiuC,KAAO,EACZjuC,KAAKysB,OAASzsB,KAAKulC,OAAO9Y,OAErBkhB,IACH3tC,KAAK+tC,MAAMlvB,MAAMhC,SAAW,WAC5B7c,KAAKU,KAAKme,MAAMhC,SAAW,YAI7B+H,EAAErkB,KAAK,CAAC,eAAgB,cAAe,aAAc,UAAU,SAAUtE,EAAGwD,GAC/D,IAAUyuC,EAArB3rB,EAAK9iB,IAAgByuC,EAInB3rB,EAAK9iB,GAHE,WACLyuC,EAAOttC,MAAM2hB,EAAM1hB,gBAKzBb,KAAKmuC,KAAO,WACV,IAAItvB,EAAQ0D,EAAKwrB,MAAMlvB,MAElB8uB,EAML9uB,EAAMguB,aAAehuB,EAAMiuB,gBAAkBjuB,EAAMuvB,UAAY,eAAiB7rB,EAAKwlB,IAAM,UAJzFlpB,EAAMa,KAAO6C,EAAKwlB,IAAM,MAS5BnjB,EAAElkB,GAAM+a,GAAG,aAAczb,KAAKquC,cAC9BzpB,EAAExgB,GAAQqX,GAAG,SAAUzb,KAAKyW,OAC5BmO,EAAExgB,GAAQqX,GAAG,oBAAqBzb,KAAKyW,OAEvCzW,KAAKyW,QAEL,SAAU63B,IACRV,EAAaU,GACb/rB,EAAK2a,KAAK9gC,KAAKmmB,GAFjB,KAoIF,OA9HAyf,EAAOnkC,UAAY,CACjBO,YAAa4jC,EACbvrB,MAAO,WACLzW,KAAKqf,MAAQuF,EAAE5kB,KAAKU,MAAM2e,QAC1Brf,KAAKJ,OAAS+lB,EAAE5H,KAAK6G,EAAE5kB,KAAK+tC,OAAO1uB,QAAUrf,KAAKqf,OAE/B,IAAfrf,KAAK4P,QACP5P,KAAK4P,MAAQ+V,EAAEtI,IAAI,EAAGsI,EAAE8P,IAAIz1B,KAAK4P,MAAO5P,KAAKJ,OAAS,IACtDI,KAAK+nC,IAAM/nC,KAAKmsB,IAAMnsB,KAAKqf,MAAQrf,KAAK4P,QAG5C2+B,YAAa,SAAqBxG,GAChC/nC,KAAK+nC,IAAMA,EACX/nC,KAAKmsB,GAAK4b,GAEZsG,aAAc,SAAsBriC,GAClC,IAAI2kB,EAAQ3kB,EAAEqM,cAAc0C,QAC5B/a,KAAK6tB,MAAQ,CACX/T,MAAO6W,EAAM,GAAG7W,MAChBC,MAAO4W,EAAM,GAAG5W,MAChBy0B,MAAO,IAAIr1B,MAEbnZ,KAAKyuC,YAAc,KACnBzuC,KAAKguC,UAAW,EAChBhuC,KAAK0uC,OAAS,EACd3pB,EAAKtJ,GAAG,YAAazb,KAAK2uC,aAC1B5pB,EAAKtJ,GAAG,WAAYzb,KAAK4uC,aAE3BD,YAAa,SAAqB3iC,GAChC,IAAI2kB,EAAQ3kB,EAAEqM,cAAc0C,QAExB4V,GAASA,EAAM/wB,OAAS,GAAKoM,EAAE0qB,OAAqB,IAAZ1qB,EAAE0qB,QAI9C12B,KAAK0uC,OAAS/d,EAAM,GAAG7W,MAAQ9Z,KAAK6tB,MAAM/T,MAEjB,OAArB9Z,KAAKyuC,cACPzuC,KAAKyuC,eAAiBzuC,KAAKyuC,aAAe9oB,EAAE0L,IAAIrxB,KAAK0uC,QAAU/oB,EAAE0L,IAAIV,EAAM,GAAG5W,MAAQ/Z,KAAK6tB,MAAM9T,SAI9F/Z,KAAKyuC,cAERziC,EAAEwJ,iBAEFxV,KAAK0uC,SAAW1uC,KAAK4P,OAAS5P,KAAK0uC,OAAS,GAAK1uC,KAAK4P,OAAS5P,KAAKJ,OAAS,GAAKI,KAAK0uC,OAAS,EAAI/oB,EAAE0L,IAAIrxB,KAAK0uC,QAAU1uC,KAAKqf,MAAQ,IAAM,EAC5Irf,KAAKmsB,GAAKnsB,KAAK0uC,OAAS1uC,KAAK4P,MAAQ5P,KAAKqf,OAG5CrT,EAAEsJ,oBAEJs5B,WAAY,SAAoB5iC,GAC9BhM,KAAKguC,UAAW,EAEhB,IAAIa,GAAgB,IAAI11B,KAASnZ,KAAK6tB,MAAM2gB,KAAO,KAAO7oB,EAAE0L,IAAIrxB,KAAK0uC,QAAU,IAAM/oB,EAAE0L,IAAIrxB,KAAK0uC,QAAU1uC,KAAKqf,MAAQ,EACnHyvB,GAAgB9uC,KAAK4P,OAAS5P,KAAK0uC,OAAS,GAAK1uC,KAAK4P,OAAS5P,KAAKJ,OAAS,GAAKI,KAAK0uC,OAAS,EAE/F1uC,KAAKyuC,aACRzuC,KAAKutB,KAAKvtB,KAAK4P,OAASi/B,IAAiBC,EAAe9uC,KAAK0uC,OAAS,EAAI,GAAK,EAAI,IAGrF3pB,EAAKnQ,IAAI,YAAa5U,KAAK2uC,aAC3B5pB,EAAKnQ,IAAI,WAAY5U,KAAK4uC,aAE5BrhB,KAAM,SAAc3d,GACdA,GAAS5P,KAAK4P,MAChB5P,KAAKulC,OAAOtD,SAAS7lC,KAAK4D,KAAM4P,GAEhC5P,KAAKmsB,IAAOvc,EAAQ5P,KAAKqf,OAG7B0vB,OAAQ,SAAgBn/B,GAClBA,GAAS5P,KAAK4P,QAChB5P,KAAK+nC,IAAM/nC,KAAKmsB,IAAOvc,EAAQ5P,KAAKqf,MACpCrf,KAAK4P,MAAQA,IAGjBstB,KAAM,WACJ,IAAItN,EAAW5vB,KAAKmsB,GAAKnsB,KAAK+nC,IAC1BiH,EAAS,EAOb,GALIhvC,KAAKqf,OAASuQ,IAChBof,EAASrpB,EAAEtI,IAAI,GAAKsI,EAAE8P,IAAI,IAAK9P,EAAE0L,IAAIzB,EAAW5vB,KAAKqf,UAInDrf,KAAKguC,UAAYroB,EAAE0L,IAAIzB,IAAa,EACtC5vB,KAAK+nC,IAAM/nC,KAAKmsB,GAChByD,EAAW,EAEP5vB,KAAKiuC,OAASjuC,KAAKguC,UACrBhuC,KAAKulC,OAAOnD,WAAWpiC,KAAK4P,OAG9B5P,KAAKiuC,KAAO,EACZjuC,KAAKysB,OAASzsB,KAAKulC,OAAO9Y,WACrB,CACAzsB,KAAKiuC,OAERjuC,KAAKiuC,KAAO,CACVpgB,MAAO7tB,KAAK+nC,IACZyG,MAAO,IAAIr1B,KACXyW,SAAUA,EACVof,OAAQA,EACRC,YAAajvC,KAAKmsB,KAKtB,IAAIwB,GAAW,IAAIxU,KAASnZ,KAAKiuC,KAAKO,KAClCpiB,EAAWpsB,KAAKulC,OAAOnZ,SAAWpsB,KAAKiuC,KAAKe,OAEhD,GAAIrhB,EAAUvB,GAAYpsB,KAAKiuC,KAAKgB,aAAejvC,KAAKmsB,GAGtD,OAFAnsB,KAAKiuC,KAAO,OACZjuC,KAAKysB,OAASzsB,KAAK8tC,SAKrB9tC,KAAK+nC,IAAM/nC,KAAKysB,OAAO,KAAMkB,EAAS3tB,KAAKiuC,KAAKpgB,MAAO7tB,KAAKiuC,KAAKre,SAAUxD,GAG7EpsB,KAAKmuC,SAGFnM,EAvOU,GA2OnBpd,EAAEnlB,GAAGisB,SAAW,SAAU/pB,GACxB,IAAIpC,EAAWS,KAAKT,SAEpB,OAAKqlB,EAAE5kB,MAAMJ,OAwBNI,KAAKO,MAAK,WAEXqkB,EAAE3Y,KAAKjM,KAAM,cACf4kB,EAAE3Y,KAAKjM,KAAM,YAAYomC,UACzBxhB,EAAE5kB,MAAM4E,KAAK,KAAKwoB,QAIpBxI,EAAE3Y,KAAKjM,KAAM,YAAY,IAAI6kB,GAAYnlB,KAAKM,KAAM2B,QA/BpDijB,GAAE,WACIA,EAAErlB,GAAUK,OAEdglB,EAAErlB,GAAUmsB,SAAS/pB,GAGrBkjB,EAAU8mB,MAAMne,KAAK,CACnBpd,MAAO,WACL,OAAOwU,EAAErlB,GAAUK,QAErBiN,QAAS,WACP+X,EAAErlB,GAAUmsB,SAAS/pB,IAEvBgB,MAAO,WACLkiB,EAAU6I,MAAM,qDAAuDnuB,EAAW,OAEpFwN,QAAS,SAIR/M,OAgBJ6kB,EAt+LIF,CAAQvgB,EAAQ9E,IACxB,2BAJL,CAWG8E,S,gBCpBH,UAAO,CAAC,YAIP,KAJiB,EAAF,SAAY/F,GAC1B,aAEA,OAAOA,EAAIK,SACZ,4B,gBCJD,UAAO,CAAC,YAIP,KAJwB,EAAF,SAAYC,GACjC,aAEA,OAAOA,EAAWb,gBACnB,4B,gBCJD,UAAO,CAAC,KAAU,MAAiB,KAAoB,WA4MtD,KA5M8E,EAAF,SAAYwB,EAAQF,EAAQH,EAAY0G,GACnH,aA0MA,OAzKArG,EAAOmL,UAAY,SAAU9I,GAG3BA,EAA6B,kBAAZA,EAlCnB,SAAuBA,GACrB,IAAIhE,EAAS,GAIb,OAHA2B,EAAOiB,KAAKoB,EAAQ+C,MAAMiB,IAAkB,IAAI,SAAU6B,EAAG0nC,GAC3DvxC,EAAOuxC,IAAQ,KAEVvxC,EA6BiCwxC,CAAcxtC,GAAWrC,EAAOoC,OAAO,GAAIC,GAEnF,IACAytC,EAEAC,EAEAC,EAEAC,EAEAt8B,EAAO,GAEP+c,EAAQ,GAERwf,GAAe,EAEfn8B,EAAO,WAOL,IALAk8B,EAAUA,GAAW5tC,EAAQ8tC,KAG7BH,EAASF,GAAS,EAEXpf,EAAMpwB,OAAQ4vC,GAAe,EAGlC,IAFAH,EAASrf,EAAMriB,UAEN6hC,EAAcv8B,EAAKrT,SAE4B,IAAlDqT,EAAKu8B,GAAa5uC,MAAMyuC,EAAO,GAAIA,EAAO,KAAiB1tC,EAAQ+tC,cAErEF,EAAcv8B,EAAKrT,OACnByvC,GAAS,GAMV1tC,EAAQ0tC,SACXA,GAAS,GAGXD,GAAS,EAELG,IAGAt8B,EADEo8B,EACK,GAEA,KAKb9sB,EAAO,CAEL5V,IAAK,WA0BH,OAzBIsG,IAEEo8B,IAAWD,IACbI,EAAcv8B,EAAKrT,OAAS,EAC5BowB,EAAMvxB,KAAK4wC,IAGb,SAAU1iC,EAAI8F,GACZnT,EAAOiB,KAAKkS,GAAM,SAAUjL,EAAG3D,GACzB5E,EAAW4E,GACRlC,EAAQguC,QAAWptB,EAAKnT,IAAIvL,IAC/BoP,EAAKxU,KAAKoF,GAEHA,GAAOA,EAAIjE,QAA0B,WAAhBR,EAAOyE,IAErC8I,EAAI9I,MARV,CAWGhD,WAECwuC,IAAWD,GACb/7B,KAIGrT,MAGT2W,OAAQ,WAYN,OAXArX,EAAOiB,KAAKM,WAAW,SAAU2G,EAAG3D,GAGlC,IAFA,IAAI+L,GAEIA,EAAQtQ,EAAOkE,QAAQK,EAAKoP,EAAMrD,KAAW,GACnDqD,EAAKxR,OAAOmO,EAAO,GAEfA,GAAS4/B,GACXA,OAICxvC,MAIToP,IAAK,SAAa3P,GAChB,OAAOA,EAAKH,EAAOkE,QAAQ/D,EAAIwT,IAAS,EAAIA,EAAKrT,OAAS,GAG5D8jB,MAAO,WAKL,OAJIzQ,IACFA,EAAO,IAGFjT,MAKTmT,QAAS,WAGP,OAFAo8B,EAAUvf,EAAQ,GAClB/c,EAAOo8B,EAAS,GACTrvC,MAETiY,SAAU,WACR,OAAQhF,GAKVG,KAAM,WAOJ,OANAm8B,EAAUvf,EAAQ,GAEbqf,GAAWD,IACdn8B,EAAOo8B,EAAS,IAGXrvC,MAET4vC,OAAQ,WACN,QAASL,GAGX/gC,SAAU,SAAkBhP,EAASiT,GAWnC,OAVK88B,IAEH98B,EAAO,CAACjT,GADRiT,EAAOA,GAAQ,IACO9R,MAAQ8R,EAAK9R,QAAU8R,GAC7Cud,EAAMvxB,KAAKgU,GAEN28B,GACH/7B,KAIGrT,MAGTqT,KAAM,WAEJ,OADAkP,EAAK/T,SAASxO,KAAMa,WACbb,MAGT6vC,MAAO,WACL,QAASP,IAIb,OAAO/sB,GAGFjjB,GACR,4B,gBC5MD,UAAO,CAAC,KAAU,KAAuB,MAAc,YAoItD,KApIsE,EAAF,SAAYA,EAAQ0U,GACvF,aAkIA,OAhIA1U,EAAOoC,OAAO,CACZsuB,MAAO,SAAetvB,EAAMb,EAAMoM,GAChC,IAAI+jB,EAEJ,GAAItvB,EAYF,OAXAb,GAAQA,GAAQ,MAAQ,QACxBmwB,EAAQhc,EAASlX,IAAI4D,EAAMb,GAEvBoM,KACG+jB,GAAS7tB,MAAMC,QAAQ6J,GAC1B+jB,EAAQhc,EAAS3O,OAAO3E,EAAMb,EAAMP,EAAOgE,UAAU2I,IAErD+jB,EAAMvxB,KAAKwN,IAIR+jB,GAAS,IAGpB8f,QAAS,SAAiBpvC,EAAMb,GAC9BA,EAAOA,GAAQ,KAEf,IAAImwB,EAAQ1wB,EAAO0wB,MAAMtvB,EAAMb,GAC3BkwC,EAAc/f,EAAMpwB,OACpBH,EAAKuwB,EAAMriB,QACXmR,EAAQxf,EAAO0wC,YAAYtvC,EAAMb,GAM1B,eAAPJ,IACFA,EAAKuwB,EAAMriB,QACXoiC,KAGEtwC,IAGW,OAATI,GACFmwB,EAAMhpB,QAAQ,qBAIT8X,EAAMuN,KACb5sB,EAAGrD,KAAKsE,GAnBC,WACTpB,EAAOwwC,QAAQpvC,EAAMb,KAkBDif,KAGjBixB,GAAejxB,GAClBA,EAAM4E,MAAMrQ,QAIhB28B,YAAa,SAAqBtvC,EAAMb,GACtC,IAAIrC,EAAMqC,EAAO,aACjB,OAAOmU,EAASlX,IAAI4D,EAAMlD,IAAQwW,EAAS3O,OAAO3E,EAAMlD,EAAK,CAC3DkmB,MAAOpkB,EAAOmL,UAAU,eAAekC,KAAI,WACzCqH,EAAS2C,OAAOjW,EAAM,CAACb,EAAO,QAASrC,YAK/C8B,EAAOG,GAAGiC,OAAO,CACfsuB,MAAO,SAAenwB,EAAMoM,GAC1B,IAAIgkC,EAAS,EAQb,MANoB,kBAATpwC,IACToM,EAAOpM,EACPA,EAAO,KACPowC,KAGEpvC,UAAUjB,OAASqwC,EACd3wC,EAAO0wB,MAAMhwB,KAAK,GAAIH,QAGfwC,IAAT4J,EAAqBjM,KAAOA,KAAKO,MAAK,WAC3C,IAAIyvB,EAAQ1wB,EAAO0wB,MAAMhwB,KAAMH,EAAMoM,GAErC3M,EAAO0wC,YAAYhwC,KAAMH,GAEZ,OAATA,GAA8B,eAAbmwB,EAAM,IACzB1wB,EAAOwwC,QAAQ9vC,KAAMH,OAI3BiwC,QAAS,SAAiBjwC,GACxB,OAAOG,KAAKO,MAAK,WACfjB,EAAOwwC,QAAQ9vC,KAAMH,OAGzBqwC,WAAY,SAAoBrwC,GAC9B,OAAOG,KAAKgwB,MAAMnwB,GAAQ,KAAM,KAIlC+L,QAAS,SAAiB/L,EAAM1B,GAC9B,IAAI6P,EACA60B,EAAQ,EACRsN,EAAQ7wC,EAAOiL,WACf6lC,EAAWpwC,KACX/D,EAAI+D,KAAKJ,OACTuR,EAAU,aACJ0xB,GACNsN,EAAM7hC,YAAY8hC,EAAU,CAACA,KAWjC,IAPoB,kBAATvwC,IACT1B,EAAM0B,EACNA,OAAOwC,GAGTxC,EAAOA,GAAQ,KAER5D,MACL+R,EAAMgG,EAASlX,IAAIszC,EAASn0C,GAAI4D,EAAO,gBAE5BmO,EAAI0V,QACbmf,IACA70B,EAAI0V,MAAM/W,IAAIwE,IAKlB,OADAA,IACOg/B,EAAMvkC,QAAQzN,MAGlBmB,GACR,4B,gBCpID,sBAAmD,OAAOrB,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAU,MAAoB,KAAkB,KAAoB,MAAiB,KAAuB,MAAuB,MAAgC,MAAmB,KAAuB,MAAkB,KAAe,MAAW,MAAc,MAAgB,MAAkB,MAAS,YAiqBzT,KAjqB6U,EAAF,SAAYmB,EAAQ0c,EAAW3X,EAAUpF,EAAYgd,EAAStW,EAAewW,EAAWk0B,EAAoB9zB,EAAWvI,EAAUs8B,GAC3c,aAEA,IAAIC,EACAC,EACAC,EAAW,yBACXC,EAAO,cAEX,SAASC,IACHH,KACsB,IAApBnsC,EAASusC,QAAoBxsC,OAAOypC,sBACtCzpC,OAAOypC,sBAAsB8C,GAE7BvsC,OAAO4I,WAAW2jC,EAAUrxC,EAAOuxC,GAAG/G,UAGxCxqC,EAAOuxC,GAAGC,QAKd,SAASC,IAIP,OAHA3sC,OAAO4I,YAAW,WAChBujC,OAAQluC,KAEHkuC,EAAQp3B,KAAKC,MAItB,SAAS43B,EAAMnxC,EAAMoxC,GACnB,IAAIj2B,EACA/e,EAAI,EACJi1C,EAAQ,CACVjiB,OAAQpvB,GAMV,IAFAoxC,EAAeA,EAAe,EAAI,EAE3Bh1C,EAAI,EAAGA,GAAK,EAAIg1C,EAErBC,EAAM,UADNl2B,EAAQmB,EAAUlgB,KACQi1C,EAAM,UAAYl2B,GAASnb,EAOvD,OAJIoxC,IACFC,EAAMzyB,QAAUyyB,EAAM7xB,MAAQxf,GAGzBqxC,EAGT,SAASC,EAAYj0C,EAAOk+B,EAAMgW,GAMhC,IALA,IAAIC,EACAvvB,GAAcwvB,EAAUC,SAASnW,IAAS,IAAI70B,OAAO+qC,EAAUC,SAAS,MACxE3hC,EAAQ,EACRhQ,EAASkiB,EAAWliB,OAEjBgQ,EAAQhQ,EAAQgQ,IACrB,GAAIyhC,EAAQvvB,EAAWlS,GAAOxT,KAAKg1C,EAAWhW,EAAMl+B,GAElD,OAAOm0C,EAoOb,SAASC,EAAU5wC,EAAM8wC,EAAY7vC,GACnC,IAAIuT,EACAu8B,EACA7hC,EAAQ,EACRhQ,EAAS0xC,EAAUlrC,WAAWxG,OAC9B0K,EAAWhL,EAAOiL,WAAWe,QAAO,kBAE/BwlC,EAAKpwC,QAEVowC,EAAO,WACT,GAAIW,EACF,OAAO,EAYT,IATA,IAAIC,EAAcnB,GAASQ,IACvBv9B,EAAYjR,KAAK8a,IAAI,EAAG+zB,EAAUO,UAAYP,EAAUhlB,SAAWslB,GAInEzH,EAAU,GADPz2B,EAAY49B,EAAUhlB,UAAY,GAErCxc,EAAQ,EACRhQ,EAASwxC,EAAUQ,OAAOhyC,OAEvBgQ,EAAQhQ,EAAQgQ,IACrBwhC,EAAUQ,OAAOhiC,GAAO67B,IAAIxB,GAK9B,OAFA3/B,EAASsI,WAAWlS,EAAM,CAAC0wC,EAAWnH,EAASz2B,IAE3Cy2B,EAAU,GAAKrqC,EACV4T,GAIJ5T,GACH0K,EAASsI,WAAWlS,EAAM,CAAC0wC,EAAW,EAAG,IAI3C9mC,EAASgE,YAAY5N,EAAM,CAAC0wC,KACrB,IAELA,EAAY9mC,EAASsB,QAAQ,CAC/BlL,KAAMA,EACNoY,MAAOxZ,EAAOoC,OAAO,GAAI8vC,GACzBhG,KAAMlsC,EAAOoC,QAAO,EAAM,CACxBmwC,cAAe,GACfplB,OAAQntB,EAAOmtB,OAAO/T,UACrB/W,GACHmwC,mBAAoBN,EACpBtqC,gBAAiBvF,EACjBgwC,UAAWpB,GAASQ,IACpB3kB,SAAUzqB,EAAQyqB,SAClBwlB,OAAQ,GACRT,YAAa,SAAqB/V,EAAM75B,GACtC,IAAI8vC,EAAQ/xC,EAAOyyC,MAAMrxC,EAAM0wC,EAAU5F,KAAMpQ,EAAM75B,EAAK6vC,EAAU5F,KAAKqG,cAAczW,IAASgW,EAAU5F,KAAK/e,QAE/G,OADA2kB,EAAUQ,OAAOnzC,KAAK4yC,GACfA,GAEThlB,KAAM,SAAc2lB,GAClB,IAAIpiC,EAAQ,EAGZhQ,EAASoyC,EAAUZ,EAAUQ,OAAOhyC,OAAS,EAE7C,GAAI6xC,EACF,OAAOzxC,KAKT,IAFAyxC,GAAU,EAEH7hC,EAAQhQ,EAAQgQ,IACrBwhC,EAAUQ,OAAOhiC,GAAO67B,IAAI,GAW9B,OAPIuG,GACF1nC,EAASsI,WAAWlS,EAAM,CAAC0wC,EAAW,EAAG,IACzC9mC,EAASgE,YAAY5N,EAAM,CAAC0wC,EAAWY,KAEvC1nC,EAASiE,WAAW7N,EAAM,CAAC0wC,EAAWY,IAGjChyC,QAGP8Y,EAAQs4B,EAAUt4B,MAItB,KA/HF,SAAoBA,EAAO+4B,GACzB,IAAIjiC,EAAOpT,EAAMiwB,EAAQvvB,EAAO4hB,EAEhC,IAAKlP,KAASkJ,EAiBZ,GAfA2T,EAASolB,EADTr1C,EAAOwf,EAAUpM,IAEjB1S,EAAQ4b,EAAMlJ,GAEVzN,MAAMC,QAAQlF,KAChBuvB,EAASvvB,EAAM,GACfA,EAAQ4b,EAAMlJ,GAAS1S,EAAM,IAG3B0S,IAAUpT,IACZsc,EAAMtc,GAAQU,SACP4b,EAAMlJ,KAGfkP,EAAQxf,EAAOkf,SAAShiB,KAEX,WAAYsiB,EAKvB,IAAKlP,KAJL1S,EAAQ4hB,EAAMkB,OAAO9iB,UACd4b,EAAMtc,GAGCU,EACN0S,KAASkJ,IACbA,EAAMlJ,GAAS1S,EAAM0S,GACrBiiC,EAAcjiC,GAAS6c,QAI3BolB,EAAcr1C,GAAQiwB,EA6F1BwlB,CAAWn5B,EAAOs4B,EAAU5F,KAAKqG,eAE1BjiC,EAAQhQ,EAAQgQ,IAGrB,GAFAsF,EAASo8B,EAAUlrC,WAAWwJ,GAAOxT,KAAKg1C,EAAW1wC,EAAMoY,EAAOs4B,EAAU5F,MAO1E,OAJIvsC,EAAWiW,EAAOmX,QACpB/sB,EAAO0wC,YAAYoB,EAAU1wC,KAAM0wC,EAAU5F,KAAKxb,OAAO3D,KAAOnX,EAAOmX,KAAK5uB,KAAKyX,IAG5EA,EAiBX,OAbA5V,EAAOmB,IAAIqY,EAAOq4B,EAAaC,GAE3BnyC,EAAWmyC,EAAU5F,KAAK3d,QAC5BujB,EAAU5F,KAAK3d,MAAMzxB,KAAKsE,EAAM0wC,GAIlCA,EAAUr/B,SAASq/B,EAAU5F,KAAKz5B,UAAUpG,KAAKylC,EAAU5F,KAAK7/B,KAAMylC,EAAU5F,KAAK5+B,UAAUE,KAAKskC,EAAU5F,KAAK1+B,MAAMxB,OAAO8lC,EAAU5F,KAAKlgC,QAC/IhM,EAAOuxC,GAAGzf,MAAM9xB,EAAOoC,OAAOovC,EAAM,CAClCpwC,KAAMA,EACNutC,KAAMmD,EACNphB,MAAOohB,EAAU5F,KAAKxb,SAEjBohB,EA6QT,OA1QA9xC,EAAOgyC,UAAYhyC,EAAOoC,OAAO4vC,EAAW,CAC1CC,SAAU,CACR,IAAK,CAAC,SAAUnW,EAAMl+B,GACpB,IAAIm0C,EAAQrxC,KAAKmxC,YAAY/V,EAAMl+B,GAEnC,OADAqf,EAAU80B,EAAM3wC,KAAM06B,EAAMnf,EAAQtX,KAAKzH,GAAQm0C,GAC1CA,KAGXa,QAAS,SAAiBp5B,EAAOtY,GAC3BvB,EAAW6Z,IACbtY,EAAWsY,EACXA,EAAQ,CAAC,MAETA,EAAQA,EAAMpU,MAAMiB,GAOtB,IAJA,IAAIy1B,EACAxrB,EAAQ,EACRhQ,EAASkZ,EAAMlZ,OAEZgQ,EAAQhQ,EAAQgQ,IACrBwrB,EAAOtiB,EAAMlJ,GACb0hC,EAAUC,SAASnW,GAAQkW,EAAUC,SAASnW,IAAS,GACvDkW,EAAUC,SAASnW,GAAMp0B,QAAQxG,IAGrC4F,WAAY,CA/Wd,SAA0B1F,EAAMoY,EAAO0yB,GACrC,IAAIpQ,EACAl+B,EACAi1C,EACArzB,EACAszB,EACAC,EACAC,EACAv1B,EACAw1B,EAAQ,UAAWz5B,GAAS,WAAYA,EACxCm1B,EAAOjuC,KACPub,EAAO,GACPsD,EAAQne,EAAKme,MACb+xB,EAASlwC,EAAKwD,UAAYmsC,EAAmB3vC,GAC7C8xC,EAAWx+B,EAASlX,IAAI4D,EAAM,UA8BlC,IAAK06B,KA5BAoQ,EAAKxb,QAGc,OAFtBlR,EAAQxf,EAAO0wC,YAAYtvC,EAAM,OAEvB+xC,WACR3zB,EAAM2zB,SAAW,EACjBL,EAAUtzB,EAAM4E,MAAMrQ,KAEtByL,EAAM4E,MAAMrQ,KAAO,WACZyL,EAAM2zB,UACTL,MAKNtzB,EAAM2zB,WACNxE,EAAK3iC,QAAO,WAEV2iC,EAAK3iC,QAAO,WACVwT,EAAM2zB,WAEDnzC,EAAO0wB,MAAMtvB,EAAM,MAAMd,QAC5Bkf,EAAM4E,MAAMrQ,cAOPyF,EAGX,GAFA5b,EAAQ4b,EAAMsiB,GAEVqV,EAAS1rC,KAAK7H,GAAQ,CAIxB,UAHO4b,EAAMsiB,GACb+W,EAASA,GAAoB,WAAVj1C,EAEfA,KAAW0zC,EAAS,OAAS,QAAS,CAGxC,GAAc,SAAV1zC,IAAoBs1C,QAA+BnwC,IAAnBmwC,EAASpX,GAG3C,SAFAwV,GAAS,EAMbr1B,EAAK6f,GAAQoX,GAAYA,EAASpX,IAAS97B,EAAOuf,MAAMne,EAAM06B,GAOlE,IAFAiX,GAAa/yC,EAAO2D,cAAc6V,MAEhBxZ,EAAO2D,cAAcsY,GAgEvC,IAAK6f,KA3DDmX,GAA2B,IAAlB7xC,EAAKwD,WAKhBsnC,EAAK9T,SAAW,CAAC7Y,EAAM6Y,SAAU7Y,EAAM6zB,UAAW7zB,EAAM8zB,WAIlC,OAFtBL,EAAiBE,GAAYA,EAASz1B,WAGpCu1B,EAAiBt+B,EAASlX,IAAI4D,EAAM,YAKtB,UAFhBqc,EAAUzd,EAAOwe,IAAIpd,EAAM,cAGrB4xC,EACFv1B,EAAUu1B,GAGVhC,EAAS,CAAC5vC,IAAO,GACjB4xC,EAAiB5xC,EAAKme,MAAM9B,SAAWu1B,EACvCv1B,EAAUzd,EAAOwe,IAAIpd,EAAM,WAC3B4vC,EAAS,CAAC5vC,OAKE,WAAZqc,GAAoC,iBAAZA,GAAgD,MAAlBu1B,IACtB,SAA9BhzC,EAAOwe,IAAIpd,EAAM,WAEd2xC,IACHpE,EAAKtiC,MAAK,WACRkT,EAAM9B,QAAUu1B,KAGI,MAAlBA,IACFv1B,EAAU8B,EAAM9B,QAChBu1B,EAA6B,SAAZv1B,EAAqB,GAAKA,IAI/C8B,EAAM9B,QAAU,iBAKlByuB,EAAK9T,WACP7Y,EAAM6Y,SAAW,SACjBuW,EAAK3iC,QAAO,WACVuT,EAAM6Y,SAAW8T,EAAK9T,SAAS,GAC/B7Y,EAAM6zB,UAAYlH,EAAK9T,SAAS,GAChC7Y,EAAM8zB,UAAYnH,EAAK9T,SAAS,OAKpC2a,GAAY,EAEC92B,EAEN82B,IACCG,EACE,WAAYA,IACd5B,EAAS4B,EAAS5B,QAGpB4B,EAAWx+B,EAAS3O,OAAO3E,EAAM,SAAU,CACzCqc,QAASu1B,IAKTH,IACFK,EAAS5B,QAAUA,GAIjBA,GACFN,EAAS,CAAC5vC,IAAO,GAKnButC,EAAKtiC,MAAK,WASR,IAAKyvB,KANAwV,GACHN,EAAS,CAAC5vC,IAGZsT,EAAS2C,OAAOjW,EAAM,UAET6a,EACXjc,EAAOuf,MAAMne,EAAM06B,EAAM7f,EAAK6f,QAMpCiX,EAAYlB,EAAYP,EAAS4B,EAASpX,GAAQ,EAAGA,EAAM6S,GAErD7S,KAAQoX,IACZA,EAASpX,GAAQiX,EAAUxkB,MAEvB+iB,IACFyB,EAAU9wC,IAAM8wC,EAAUxkB,MAC1BwkB,EAAUxkB,MAAQ,MA4LxB+kB,UAAW,SAAmBpyC,EAAUqjB,GAClCA,EACFytB,EAAUlrC,WAAWY,QAAQxG,GAE7B8wC,EAAUlrC,WAAW3H,KAAK+B,MAKhClB,EAAO+tB,MAAQ,SAAUA,EAAOZ,EAAQhtB,GACtC,IAAIozC,EAAMxlB,GAA4B,WAAnBpvB,EAAQovB,GAAsB/tB,EAAOoC,OAAO,GAAI2rB,GAAS,CAC1EzgB,SAAUnN,IAAOA,GAAMgtB,GAAUxtB,EAAWouB,IAAUA,EACtDjB,SAAUiB,EACVZ,OAAQhtB,GAAMgtB,GAAUA,IAAWxtB,EAAWwtB,IAAWA,GAiC3D,OA9BIntB,EAAOuxC,GAAGj8B,IACZi+B,EAAIzmB,SAAW,EAEa,kBAAjBymB,EAAIzmB,WACTymB,EAAIzmB,YAAY9sB,EAAOuxC,GAAGiC,OAC5BD,EAAIzmB,SAAW9sB,EAAOuxC,GAAGiC,OAAOD,EAAIzmB,UAEpCymB,EAAIzmB,SAAW9sB,EAAOuxC,GAAGiC,OAAOp6B,UAMrB,MAAbm6B,EAAI7iB,QAA+B,IAAd6iB,EAAI7iB,QAC3B6iB,EAAI7iB,MAAQ,MAId6iB,EAAIzV,IAAMyV,EAAIjmC,SAEdimC,EAAIjmC,SAAW,WACT3N,EAAW4zC,EAAIzV,MACjByV,EAAIzV,IAAIhhC,KAAK4D,MAGX6yC,EAAI7iB,OACN1wB,EAAOwwC,QAAQ9vC,KAAM6yC,EAAI7iB,QAItB6iB,GAGTvzC,EAAOG,GAAGiC,OAAO,CACfqxC,OAAQ,SAAgB1lB,EAAOlB,EAAIM,EAAQjsB,GAEzC,OAAOR,KAAKsP,OAAO+gC,GAAoBvyB,IAAI,UAAW,GAAGyP,OACxDhsB,MAAM2pB,QAAQ,CACbzM,QAAS0N,GACRkB,EAAOZ,EAAQjsB,IAEpB0qB,QAAS,SAAiBkQ,EAAM/N,EAAOZ,EAAQjsB,GAC7C,IAAIkjB,EAAQpkB,EAAO2D,cAAcm4B,GAC7B4X,EAAS1zC,EAAO+tB,MAAMA,EAAOZ,EAAQjsB,GACrCyyC,EAAc,WAEhB,IAAIhF,EAAOqD,EAAUtxC,KAAMV,EAAOoC,OAAO,GAAI05B,GAAO4X,IAEhDtvB,GAAS1P,EAASlX,IAAIkD,KAAM,YAC9BiuC,EAAK5hB,MAAK,IAKd,OADA4mB,EAAYC,OAASD,EACdvvB,IAA0B,IAAjBsvB,EAAOhjB,MAAkBhwB,KAAKO,KAAK0yC,GAAejzC,KAAKgwB,MAAMgjB,EAAOhjB,MAAOijB,IAE7F5mB,KAAM,SAAcxsB,EAAMqwC,EAAY8B,GACpC,IAAImB,EAAY,SAAmBr0B,GACjC,IAAIuN,EAAOvN,EAAMuN,YACVvN,EAAMuN,KACbA,EAAK2lB,IAaP,MAVoB,kBAATnyC,IACTmyC,EAAU9B,EACVA,EAAarwC,EACbA,OAAOwC,GAGL6tC,GACFlwC,KAAKgwB,MAAMnwB,GAAQ,KAAM,IAGpBG,KAAKO,MAAK,WACf,IAAIuvC,GAAU,EACVlgC,EAAgB,MAAR/P,GAAgBA,EAAO,aAC/BuzC,EAAS9zC,EAAO8zC,OAChBnnC,EAAO+H,EAASlX,IAAIkD,MAExB,GAAI4P,EACE3D,EAAK2D,IAAU3D,EAAK2D,GAAOyc,MAC7B8mB,EAAUlnC,EAAK2D,SAGjB,IAAKA,KAAS3D,EACRA,EAAK2D,IAAU3D,EAAK2D,GAAOyc,MAAQqkB,EAAK3rC,KAAK6K,IAC/CujC,EAAUlnC,EAAK2D,IAKrB,IAAKA,EAAQwjC,EAAOxzC,OAAQgQ,KACtBwjC,EAAOxjC,GAAOlP,OAASV,MAAiB,MAARH,GAAgBuzC,EAAOxjC,GAAOogB,QAAUnwB,IAC1EuzC,EAAOxjC,GAAOq+B,KAAK5hB,KAAK2lB,GACxBlC,GAAU,EACVsD,EAAO3xC,OAAOmO,EAAO,KAOrBkgC,GAAYkC,GACd1yC,EAAOwwC,QAAQ9vC,KAAMH,OAI3BqzC,OAAQ,SAAgBrzC,GAKtB,OAJa,IAATA,IACFA,EAAOA,GAAQ,MAGVG,KAAKO,MAAK,WACf,IAAIqP,EACA3D,EAAO+H,EAASlX,IAAIkD,MACpBgwB,EAAQ/jB,EAAKpM,EAAO,SACpBif,EAAQ7S,EAAKpM,EAAO,cACpBuzC,EAAS9zC,EAAO8zC,OAChBxzC,EAASowB,EAAQA,EAAMpwB,OAAS,EAWpC,IATAqM,EAAKinC,QAAS,EAEd5zC,EAAO0wB,MAAMhwB,KAAMH,EAAM,IAErBif,GAASA,EAAMuN,MACjBvN,EAAMuN,KAAKjwB,KAAK4D,MAAM,GAInB4P,EAAQwjC,EAAOxzC,OAAQgQ,KACtBwjC,EAAOxjC,GAAOlP,OAASV,MAAQozC,EAAOxjC,GAAOogB,QAAUnwB,IACzDuzC,EAAOxjC,GAAOq+B,KAAK5hB,MAAK,GACxB+mB,EAAO3xC,OAAOmO,EAAO,IAKzB,IAAKA,EAAQ,EAAGA,EAAQhQ,EAAQgQ,IAC1BogB,EAAMpgB,IAAUogB,EAAMpgB,GAAOsjC,QAC/BljB,EAAMpgB,GAAOsjC,OAAO92C,KAAK4D,aAKtBiM,EAAKinC,aAIlB5zC,EAAOiB,KAAK,CAAC,SAAU,OAAQ,SAAS,SAAUyD,EAAIxH,GACpD,IAAI62C,EAAQ/zC,EAAOG,GAAGjD,GAEtB8C,EAAOG,GAAGjD,GAAQ,SAAU6wB,EAAOZ,EAAQjsB,GACzC,OAAgB,MAAT6sB,GAAkC,mBAAVA,EAAsBgmB,EAAMzyC,MAAMZ,KAAMa,WAAab,KAAKkrB,QAAQ8lB,EAAMx0C,GAAM,GAAO6wB,EAAOZ,EAAQjsB,OAIvIlB,EAAOiB,KAAK,CACV+yC,UAAWtC,EAAM,QACjBuC,QAASvC,EAAM,QACfwC,YAAaxC,EAAM,UACnBlU,OAAQ,CACNre,QAAS,QAEX8c,QAAS,CACP9c,QAAS,QAEXg1B,WAAY,CACVh1B,QAAS,YAEV,SAAUjiB,EAAMsc,GACjBxZ,EAAOG,GAAGjD,GAAQ,SAAU6wB,EAAOZ,EAAQjsB,GACzC,OAAOR,KAAKkrB,QAAQpS,EAAOuU,EAAOZ,EAAQjsB,OAG9ClB,EAAO8zC,OAAS,GAEhB9zC,EAAOuxC,GAAGC,KAAO,WACf,IAAI1f,EACAn1B,EAAI,EACJm3C,EAAS9zC,EAAO8zC,OAGpB,IAFA7C,EAAQp3B,KAAKC,MAENnd,EAAIm3C,EAAOxzC,OAAQ3D,KACxBm1B,EAAQgiB,EAAOn3C,OAECm3C,EAAOn3C,KAAOm1B,GAC5BgiB,EAAO3xC,OAAOxF,IAAK,GAIlBm3C,EAAOxzC,QACVN,EAAOuxC,GAAGxkB,OAGZkkB,OAAQluC,GAGV/C,EAAOuxC,GAAGzf,MAAQ,SAAUA,GAC1B9xB,EAAO8zC,OAAO30C,KAAK2yB,GACnB9xB,EAAOuxC,GAAGhjB,SAGZvuB,EAAOuxC,GAAG/G,SAAW,GAErBxqC,EAAOuxC,GAAGhjB,MAAQ,WACZ2iB,IAIJA,GAAa,EACbG,MAGFrxC,EAAOuxC,GAAGxkB,KAAO,WACfmkB,EAAa,MAGflxC,EAAOuxC,GAAGiC,OAAS,CACjBY,KAAM,IACNC,KAAM,IAENj7B,SAAU,KAELpZ,GACR,4B,gBCnqBD,UAAO,CAAC,YAIP,KAJuB,EAAF,SAAYs0C,GAChC,aAEA,OAAO,IAAI78B,OAAO,iBAAmB68B,EAAO,cAAe,MAC5D,4B,gBCJD,WAIC,KAJD,aACE,aAEA,MAAO,CAAC,MAAO,QAAS,SAAU,SACnC,+B,gBCJD,WAIC,KAJD,aACE,aAEA,MAAO,yBACR,+B,gBCJD,UAAO,CAAC,YAIP,KAJ0B,EAAF,SAAYA,GACnC,aAEA,OAAO,IAAI78B,OAAO,KAAO68B,EAAO,kBAAmB,MACpD,4B,gBCJD,UAAO,CAAC,KAAW,KAAmB,MAA0B,YA2H/D,KA3HkF,EAAF,SAAYt0C,EAAQ+E,EAAUwP,EAAiB7U,GAC9H,aAyHA,OAvHA,WAGE,SAAS60C,IAEP,GAAK1tB,EAAL,CAIAiJ,EAAUvQ,MAAMwP,QAAU,+EAC1BlI,EAAItH,MAAMwP,QAAU,4HACpBxa,EAAgB+P,YAAYwL,GAAWxL,YAAYuC,GACnD,IAAI2tB,EAAW1vC,OAAOw/B,iBAAiBzd,GACvC4tB,EAAoC,OAAjBD,EAASpe,IAE5Bse,EAAoE,KAA5CC,EAAmBH,EAASt0B,YAGpD2G,EAAItH,MAAMiZ,MAAQ,MAClBoc,EAA2D,KAAvCD,EAAmBH,EAAShc,OAGhDqc,EAA8D,KAAvCF,EAAmBH,EAASz0B,OAKnD8G,EAAItH,MAAMhC,SAAW,WACrBu3B,EAA+D,KAA5CH,EAAmB9tB,EAAIkuB,YAAc,GACxDxgC,EAAgBkP,YAAYqM,GAG5BjJ,EAAM,MAGR,SAAS8tB,EAAmB9P,GAC1B,OAAO5hC,KAAKq5B,MAAMtd,WAAW6lB,IAG/B,IAAI4P,EACAI,EACAC,EACAF,EACAI,EACAN,EACA5kB,EAAY/qB,EAASoC,cAAc,OACnC0f,EAAM9hB,EAASoC,cAAc,OAE5B0f,EAAItH,QAMTsH,EAAItH,MAAM01B,eAAiB,cAC3BpuB,EAAI9C,WAAU,GAAMxE,MAAM01B,eAAiB,GAC3Cv1C,EAAQigB,gBAA+C,gBAA7BkH,EAAItH,MAAM01B,eACpCj1C,EAAOoC,OAAO1C,EAAS,CACrBif,kBAAmB,WAEjB,OADA41B,IACOM,GAETK,eAAgB,WAEd,OADAX,IACOK,GAETO,cAAe,WAEb,OADAZ,IACOE,GAETt0B,mBAAoB,WAElB,OADAo0B,IACOG,GAETz0B,cAAe,WAEb,OADAs0B,IACOO,GAWT/1B,qBAAsB,WACpB,IAAIq2B,EAAOC,EAAIC,EAASC,EA0BxB,OAxB+B,MAA3BP,IACFI,EAAQrwC,EAASoC,cAAc,SAC/BkuC,EAAKtwC,EAASoC,cAAc,MAC5BmuC,EAAUvwC,EAASoC,cAAc,OACjCiuC,EAAM71B,MAAMwP,QAAU,2DACtBsmB,EAAG91B,MAAMwP,QAAU,mBAInBsmB,EAAG91B,MAAMoQ,OAAS,MAClB2lB,EAAQ/1B,MAAMoQ,OAAS,MAOvB2lB,EAAQ/1B,MAAM9B,QAAU,QACxBlJ,EAAgB+P,YAAY8wB,GAAO9wB,YAAY+wB,GAAI/wB,YAAYgxB,GAC/DC,EAAUzwC,OAAOw/B,iBAAiB+Q,GAClCL,EAA0BhiB,SAASuiB,EAAQ5lB,OAAQ,IAAMqD,SAASuiB,EAAQC,eAAgB,IAAMxiB,SAASuiB,EAAQE,kBAAmB,MAAQJ,EAAGK,aAC/InhC,EAAgBkP,YAAY2xB,IAGvBJ,MAlHb,GAuHOt1C,GACR,4B,gBC3HD,UAAO,CAAC,KAAmB,YAuB1B,KAvB6C,EAAF,SAAYqF,EAAUrF,GAChE,aAEA,IACMi2C,EAEApC,EAgBN,OAlBMoC,EAAQ5wC,EAASoC,cAAc,SAE/BosC,EADSxuC,EAASoC,cAAc,UACnBmd,YAAYvf,EAASoC,cAAc,WACpDwuC,EAAMp1C,KAAO,WAGbb,EAAQk2C,QAA0B,KAAhBD,EAAM/3C,MAGxB8B,EAAQm2C,YAActC,EAAItrC,UAG1B0tC,EAAQ5wC,EAASoC,cAAc,UACzBvJ,MAAQ,IACd+3C,EAAMp1C,KAAO,QACbb,EAAQo2C,WAA6B,MAAhBH,EAAM/3C,MAGtB8B,GACR,4B,gBCvBD,UAAO,CAAC,WAUP,KAVgC,EAAF,SAAY2G,GACzC,aAQA,OALA,SAA0BzI,GAExB,OADaA,EAAMwH,MAAMiB,IAAkB,IAC7BsF,KAAK,OAItB,4B,gBCVD,sBAAmD,OAAOhN,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAW,KAAmB,KAAwB,MAA0B,MAAiB,KAAqB,MAAmB,YA0KhJ,KA1K6J,EAAF,SAAYmB,EAAQ+E,EAAU2P,EAAUD,EAAYlV,EAAQI,EAAYC,GAClO,aAEA,IAAIm2C,EAAc,kCACdC,EAA0B,SAAiCtpC,GAC7DA,EAAEsJ,mBAoKJ,OAjKAhW,EAAOoC,OAAOpC,EAAO+K,MAAO,CAC1B+B,QAAS,SAAiB/B,EAAO4B,EAAMvL,EAAM60C,GAC3C,IAAIt5C,EACAkT,EACAnB,EACAwnC,EACAC,EACAv/B,EACA3D,EACAmjC,EACAC,EAAY,CAACj1C,GAAQ2D,GACrBxE,EAAOhB,EAAOzC,KAAKiO,EAAO,QAAUA,EAAMxK,KAAOwK,EACjD0L,EAAalX,EAAOzC,KAAKiO,EAAO,aAAeA,EAAM2K,UAAUjR,MAAM,KAAO,GAGhF,GAFAoL,EAAMumC,EAAc1nC,EAAMtN,EAAOA,GAAQ2D,EAEnB,IAAlB3D,EAAKwD,UAAoC,IAAlBxD,EAAKwD,WAK5BmxC,EAAYtwC,KAAKlF,EAAOP,EAAO+K,MAAM8L,aAIrCtW,EAAKnB,QAAQ,MAAQ,IAEvBqX,EAAalW,EAAKkE,MAAM,KACxBlE,EAAOkW,EAAWpI,QAClBoI,EAAWvU,QAGbi0C,EAAS51C,EAAKnB,QAAQ,KAAO,GAAK,KAAOmB,GAEzCwK,EAAQA,EAAM/K,EAAOgD,SAAW+H,EAAQ,IAAI/K,EAAOmW,MAAM5V,EAAyB,WAAnB5B,EAAQoM,IAAuBA,IAExF+K,UAAYmgC,EAAe,EAAI,EACrClrC,EAAM2K,UAAYe,EAAW9K,KAAK,KAClCZ,EAAMqN,WAAarN,EAAM2K,UAAY,IAAI+B,OAAO,UAAYhB,EAAW9K,KAAK,iBAAmB,WAAa,KAE5GZ,EAAM6K,YAAS7S,EAEVgI,EAAMrI,SACTqI,EAAMrI,OAAStB,GAIjBuL,EAAe,MAARA,EAAe,CAAC5B,GAAS/K,EAAOgE,UAAU2I,EAAM,CAAC5B,IAExDkI,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAEnC01C,IAAgBhjC,EAAQnG,UAAiD,IAAtCmG,EAAQnG,QAAQxL,MAAMF,EAAMuL,IAApE,CAMA,IAAKspC,IAAiBhjC,EAAQiG,WAAatZ,EAASwB,GAAO,CAOzD,IANA80C,EAAajjC,EAAQ8C,cAAgBxV,EAEhCw1C,EAAYtwC,KAAKywC,EAAa31C,KACjCsP,EAAMA,EAAIQ,YAGLR,EAAKA,EAAMA,EAAIQ,WACpBgmC,EAAUl3C,KAAK0Q,GACfnB,EAAMmB,EAIJnB,KAAStN,EAAKoE,eAAiBT,IACjCsxC,EAAUl3C,KAAKuP,EAAI21B,aAAe31B,EAAI4nC,cAAgBxxC,QAO1D,IAFAnI,EAAI,GAEIkT,EAAMwmC,EAAU15C,QAAUoO,EAAMkN,wBACtCm+B,EAAcvmC,EACd9E,EAAMxK,KAAO5D,EAAI,EAAIu5C,EAAajjC,EAAQ8D,UAAYxW,GAEtDqW,GAAUlC,EAASlX,IAAIqS,EAAK,WAAaxS,OAAOY,OAAO,OAAO8M,EAAMxK,OAASmU,EAASlX,IAAIqS,EAAK,YAG7F+G,EAAOtV,MAAMuO,EAAKlD,IAIpBiK,EAASu/B,GAAUtmC,EAAIsmC,KAETv/B,EAAOtV,OAASmT,EAAW5E,KACvC9E,EAAM6K,OAASgB,EAAOtV,MAAMuO,EAAKlD,IAEZ,IAAjB5B,EAAM6K,QACR7K,EAAMmL,kBAyCZ,OApCAnL,EAAMxK,KAAOA,EAER01C,GAAiBlrC,EAAM0O,sBACpBxG,EAAQmG,WAA8D,IAAlDnG,EAAQmG,SAAS9X,MAAM+0C,EAAU1qB,MAAOhf,KAAoB8H,EAAWrT,IAG3F+0C,GAAUx2C,EAAWyB,EAAKb,MAAWX,EAASwB,MAEhDsN,EAAMtN,EAAK+0C,MAGT/0C,EAAK+0C,GAAU,MAIjBn2C,EAAO+K,MAAM8L,UAAYtW,EAErBwK,EAAMkN,wBACRm+B,EAAYh/B,iBAAiB7W,EAAMy1C,GAGrC50C,EAAKb,KAEDwK,EAAMkN,wBACRm+B,EAAY78B,oBAAoBhZ,EAAMy1C,GAGxCh2C,EAAO+K,MAAM8L,eAAY9T,EAErB2L,IACFtN,EAAK+0C,GAAUznC,IAMhB3D,EAAM6K,SAIf2gC,SAAU,SAAkBh2C,EAAMa,EAAM2J,GACtC,IAAI2B,EAAI1M,EAAOoC,OAAO,IAAIpC,EAAOmW,MAASpL,EAAO,CAC/CxK,KAAMA,EACNwZ,aAAa,IAEf/Z,EAAO+K,MAAM+B,QAAQJ,EAAG,KAAMtL,MAGlCpB,EAAOG,GAAGiC,OAAO,CACf0K,QAAS,SAAiBvM,EAAMoM,GAC9B,OAAOjM,KAAKO,MAAK,WACfjB,EAAO+K,MAAM+B,QAAQvM,EAAMoM,EAAMjM,UAGrC81C,eAAgB,SAAwBj2C,EAAMoM,GAC5C,IAAIvL,EAAOV,KAAK,GAEhB,GAAIU,EACF,OAAOpB,EAAO+K,MAAM+B,QAAQvM,EAAMoM,EAAMvL,GAAM,MAI7CpB,GACR,4B,gBC5KD,UAAO,CAAC,KAAU,KAAc,MAAgB,MAAe,MAAc,MAA4B,MAAgB,MAAU,MAAW,MAAiB,MAAgB,MAAW,MAAmB,MAAkB,MAA2B,MAAU,MAAS,MAAgC,MAAe,MAAU,MAAc,OAAiB,OAAgB,OAAe,MAAmB,MAAoB,MAAa,OAA8B,OAAY,OAAgB,OAAgB,OAAiB,aAIlhB,KAJuiB,EAAF,SAAYA,GAChjB,aAEA,OAAOA,GACR,4B,gBCJD,WAIC,KAJD,aACE,aAEA,OAAO3C,OAAOo5C,gBACf,+B,gBCJD,UAAO,CAAC,YAUP,KAViB,EAAF,SAAY13C,GAC1B,aAIA,OAAOA,EAAIG,KAAO,SAAUosB,GAC1B,OAAOvsB,EAAIG,KAAKpC,KAAKwuB,IACnB,SAAUA,GACZ,OAAOvsB,EAAIkI,OAAO3F,MAAM,GAAIgqB,KAE/B,4B,gBCVD,UAAO,CAAC,YAIP,KAJiB,EAAF,SAAYvsB,GAC1B,aAEA,OAAOA,EAAII,MACZ,4B,gBCJD,UAAO,CAAC,YAIP,KAJwB,EAAF,SAAYE,GACjC,aAEA,OAAOA,EAAWC,UACnB,4B,gBCJD,UAAO,CAAC,YAIP,KAJoB,EAAF,SAAYC,GAC7B,aAEA,OAAOA,EAAOD,UACf,4B,gBCJD,UAAO,CAAC,WAyCP,KAzC2B,EAAF,SAAYyF,GACpC,aAEA,IAAI2xC,EAA4B,CAC9Bn2C,MAAM,EACN+B,KAAK,EACLyB,OAAO,EACPof,UAAU,GAiCZ,OA9BA,SAAiBtf,EAAMgf,EAAM/e,GAE3B,IAAInH,EACAkiB,EACAqQ,GAHJprB,EAAMA,GAAOiB,GAGIoC,cAAc,UAG/B,GAFA+nB,EAAO9lB,KAAOvF,EAEVgf,EACF,IAAKlmB,KAAK+5C,GAWR73B,EAAMgE,EAAKlmB,IAAMkmB,EAAKhB,cAAgBgB,EAAKhB,aAAallB,KAGtDuyB,EAAOynB,aAAah6C,EAAGkiB,GAK7B/a,EAAIqjB,KAAK7C,YAAY4K,GAAQ7e,WAAWoT,YAAYyL,KAIvD,4B,gBCzCD,UAAO,CAAC,KAAc,WAIrB,KAJwC,EAAF,SAAYlvB,GACjD,aAEA,OAAOA,EAAOiX,KAAK7R,MAAM4R,cAC1B,4B,gBCJD,WAKC,KALD,aACE,aAGA,MAAO,mEACR,+B,gBCLD,UAAO,CAAC,KAAW,MAAkB,KAAqB,MAAuB,WAiFhF,KAjFgG,EAAF,SAAYhX,EAAQZ,EAASO,EAAY4P,GACtI,aAEA,SAASqnC,EAAO9F,EAAU+F,EAAWtc,GACnC,OAAI56B,EAAWk3C,GACN72C,EAAO4B,KAAKkvC,GAAU,SAAU1vC,EAAMzE,GAC3C,QAASk6C,EAAU/5C,KAAKsE,EAAMzE,EAAGyE,KAAUm5B,KAK3Csc,EAAUjyC,SACL5E,EAAO4B,KAAKkvC,GAAU,SAAU1vC,GACrC,OAAOA,IAASy1C,IAActc,KAKT,kBAAdsc,EACF72C,EAAO4B,KAAKkvC,GAAU,SAAU1vC,GACrC,OAAOhC,EAAQtC,KAAK+5C,EAAWz1C,IAAS,IAAMm5B,KAK3Cv6B,EAAOgQ,OAAO6mC,EAAW/F,EAAUvW,GAG5Cv6B,EAAOgQ,OAAS,SAAUiH,EAAMpW,EAAO05B,GACrC,IAAIn5B,EAAOP,EAAM,GAMjB,OAJI05B,IACFtjB,EAAO,QAAUA,EAAO,KAGL,IAAjBpW,EAAMP,QAAkC,IAAlBc,EAAKwD,SACtB5E,EAAOsF,KAAKiL,gBAAgBnP,EAAM6V,GAAQ,CAAC7V,GAAQ,GAGrDpB,EAAOsF,KAAKjB,QAAQ4S,EAAMjX,EAAO4B,KAAKf,GAAO,SAAUO,GAC5D,OAAyB,IAAlBA,EAAKwD,cAIhB5E,EAAOG,GAAGiC,OAAO,CACfkD,KAAM,SAAcrF,GAClB,IAAItD,EACAmE,EACAiB,EAAMrB,KAAKJ,OACX2iB,EAAOviB,KAEX,GAAwB,kBAAbT,EACT,OAAOS,KAAKE,UAAUZ,EAAOC,GAAU+P,QAAO,WAC5C,IAAKrT,EAAI,EAAGA,EAAIoF,EAAKpF,IACnB,GAAIqD,EAAOiQ,SAASgT,EAAKtmB,GAAI+D,MAC3B,OAAO,MAQf,IAFAI,EAAMJ,KAAKE,UAAU,IAEhBjE,EAAI,EAAGA,EAAIoF,EAAKpF,IACnBqD,EAAOsF,KAAKrF,EAAUgjB,EAAKtmB,GAAImE,GAGjC,OAAOiB,EAAM,EAAI/B,EAAOwQ,WAAW1P,GAAOA,GAE5CkP,OAAQ,SAAgB/P,GACtB,OAAOS,KAAKE,UAAUg2C,EAAOl2C,KAAMT,GAAY,IAAI,KAErDs6B,IAAK,SAAat6B,GAChB,OAAOS,KAAKE,UAAUg2C,EAAOl2C,KAAMT,GAAY,IAAI,KAErD62C,GAAI,SAAY72C,GACd,QAAS22C,EAAOl2C,KAEI,kBAAbT,GAAyBsP,EAAc9J,KAAKxF,GAAYD,EAAOC,GAAYA,GAAY,IAAI,GAAOK,WAG9G,4B,gBCjFD,UAAO,CAAC,KAAW,KAAmB,MAA0B,YA4D/D,KA5D+E,EAAF,SAAYN,EAAQ+E,GAChG,aAEA,IAAIgyC,EAAY/2C,EAAOiL,WAsCvB,SAASP,IACP3F,EAASwU,oBAAoB,mBAAoB7O,GACjD5F,OAAOyU,oBAAoB,OAAQ7O,GACnC1K,EAAO4F,QAvCT5F,EAAOG,GAAGyF,MAAQ,SAAUzF,GAO1B,OANA42C,EAAU/kC,KAAK7R,GAGd62C,OAAM,SAAU3zC,GACfrD,EAAOi3C,eAAe5zC,MAEjB3C,MAGTV,EAAOoC,OAAO,CAEZgB,SAAS,EAGT8zC,UAAW,EAEXtxC,MAAO,SAAesoB,KAEP,IAATA,IAAkBluB,EAAOk3C,UAAYl3C,EAAOoD,WAKhDpD,EAAOoD,SAAU,GAEJ,IAAT8qB,KAAmBluB,EAAOk3C,UAAY,GAK1CH,EAAU/nC,YAAYjK,EAAU,CAAC/E,QAGrCA,EAAO4F,MAAMoM,KAAO+kC,EAAU/kC,KAYF,aAAxBjN,EAAS0G,YAAqD,YAAxB1G,EAAS0G,aAA6B1G,EAASwP,gBAAgB4iC,SAEvGryC,OAAO4I,WAAW1N,EAAO4F,QAGzBb,EAASqS,iBAAiB,mBAAoB1M,GAE9C5F,OAAOsS,iBAAiB,OAAQ1M,KAEnC,4B,gBC5DD,UAAO,CAAC,KAAW,MAAqB,KAAwB,YAkI/D,KAlIoF,EAAF,SAAY1K,EAAQ0c,EAAWrW,EAAeoO,GAC/H,aAEA,SAAS5O,IACPnF,KAAKsC,QAAUhD,EAAOgD,QAAU6C,EAAKuxC,MA6HvC,OA1HAvxC,EAAKuxC,IAAM,EACXvxC,EAAKtH,UAAY,CACf0O,MAAO,SAAe4T,GAEpB,IAAIjjB,EAAQijB,EAAMngB,KAAKsC,SAuBvB,OArBKpF,IACHA,EAAQ,GAIJ6W,EAAWoM,KAGTA,EAAMjc,SACRic,EAAMngB,KAAKsC,SAAWpF,EAItBP,OAAOC,eAAeujB,EAAOngB,KAAKsC,QAAS,CACzCpF,MAAOA,EACPkb,cAAc,MAMflb,GAET6X,IAAK,SAAaoL,EAAOlU,EAAM/O,GAC7B,IAAIk+B,EACA7uB,EAAQvM,KAAKuM,MAAM4T,GAGvB,GAAoB,kBAATlU,EACTM,EAAMyP,EAAU/P,IAAS/O,OAGzB,IAAKk+B,KAAQnvB,EACXM,EAAMyP,EAAUof,IAASnvB,EAAKmvB,GAIlC,OAAO7uB,GAETzP,IAAK,SAAaqjB,EAAO3iB,GACvB,YAAe6E,IAAR7E,EAAoBwC,KAAKuM,MAAM4T,GACtCA,EAAMngB,KAAKsC,UAAY6d,EAAMngB,KAAKsC,SAAS0Z,EAAUxe,KAEvD6H,OAAQ,SAAgB8a,EAAO3iB,EAAKN,GAYlC,YAAYmF,IAAR7E,GAAqBA,GAAsB,kBAARA,QAA8B6E,IAAVnF,EAClD8C,KAAKlD,IAAIqjB,EAAO3iB,IASzBwC,KAAK+U,IAAIoL,EAAO3iB,EAAKN,QAGJmF,IAAVnF,EAAsBA,EAAQM,IAEvCmZ,OAAQ,SAAgBwJ,EAAO3iB,GAC7B,IAAIvB,EACAsQ,EAAQ4T,EAAMngB,KAAKsC,SAEvB,QAAcD,IAAVkK,EAAJ,CAIA,QAAYlK,IAAR7E,EAAmB,CAarBvB,GAREuB,EAHE2E,MAAMC,QAAQ5E,GAGVA,EAAIiD,IAAIub,IAEdxe,EAAMwe,EAAUxe,MAGH+O,EAAQ,CAAC/O,GAAOA,EAAIkH,MAAMiB,IAAkB,IAGnD/F,OAER,KAAO3D,YACEsQ,EAAM/O,EAAIvB,UAKToG,IAAR7E,GAAqB8B,EAAO2D,cAAcsJ,MAKxC4T,EAAMjc,SACRic,EAAMngB,KAAKsC,cAAWD,SAEf8d,EAAMngB,KAAKsC,YAIxBwU,QAAS,SAAiBqJ,GACxB,IAAI5T,EAAQ4T,EAAMngB,KAAKsC,SACvB,YAAiBD,IAAVkK,IAAwBjN,EAAO2D,cAAcsJ,KAGjDpH,GACR,4B,gBClID,UAAO,CAAC,YAIP,KAJmB,EAAF,SAAYA,GAC5B,aAEA,OAAO,IAAIA,GACZ,4B,gBCJD,WAIC,KAJD,aACE,aAEA,MAAO,sCAAsCmgC,QAC9C,+B,gBCJD,UAAO,CAAC,KAAc,YAqBrB,KApBE,EAAF,SAAYhmC,EAAQ8gB,GACnB,aAQA,OAAO,SAAU1f,EAAMoU,GAKrB,MAA8B,UAF9BpU,EAAOoU,GAAMpU,GAEDme,MAAM9B,SAA6C,KAAvBrc,EAAKme,MAAM9B,SAInDqD,EAAW1f,IAAyC,SAAhCpB,EAAOwe,IAAIpd,EAAM,aAExC,4B,gBCrBD,UAAO,CAAC,KAAW,YA4DlB,KA5DqC,EAAF,SAAYpB,EAAQ2c,GACtD,aA0DA,OAxDA,SAAmBvb,EAAM06B,EAAMub,EAAYtF,GACzC,IAAIuF,EACAlgB,EACAmgB,EAAgB,GAChBC,EAAezF,EAAQ,WACzB,OAAOA,EAAMliC,OACX,WACF,OAAO7P,EAAOwe,IAAIpd,EAAM06B,EAAM,KAE5BkO,EAAUwN,IACVC,EAAOJ,GAAcA,EAAW,KAAOr3C,EAAOqf,UAAUyc,GAAQ,GAAK,MAEzE4b,EAAgBt2C,EAAKwD,WAAa5E,EAAOqf,UAAUyc,IAAkB,OAAT2b,IAAkBzN,IAAYrtB,EAAQtX,KAAKrF,EAAOwe,IAAIpd,EAAM06B,IAExH,GAAI4b,GAAiBA,EAAc,KAAOD,EAAM,CAS9C,IANAzN,GAAoB,EAEpByN,EAAOA,GAAQC,EAAc,GAE7BA,GAAiB1N,GAAW,EAErBuN,KAGLv3C,EAAOuf,MAAMne,EAAM06B,EAAM4b,EAAgBD,IAEpC,EAAIrgB,IAAU,GAAKA,EAAQogB,IAAiBxN,GAAW,MAAS,IACnEuN,EAAgB,GAGlBG,GAAgCtgB,EAGlCsgB,GAAgC,EAChC13C,EAAOuf,MAAMne,EAAM06B,EAAM4b,EAAgBD,GAEzCJ,EAAaA,GAAc,GAe7B,OAZIA,IACFK,GAAiBA,IAAkB1N,GAAW,EAE9CsN,EAAWD,EAAW,GAAKK,GAAiBL,EAAW,GAAK,GAAKA,EAAW,IAAMA,EAAW,GAEzFtF,IACFA,EAAM0F,KAAOA,EACb1F,EAAMxjB,MAAQmpB,EACd3F,EAAM9vC,IAAMq1C,IAITA,IAIV,4B,gBC5DD,WAMC,KAND,aACE,aAIA,MAAO,kCACR,+B,gBCND,WAIC,KAJD,aACE,aAEA,MAAO,sCACR,+B,gBCJD,UAAO,CAAC,YAqBP,KArBqB,EAAF,SAAY53C,GAC9B,aAEA,IAAIyhB,EAAU,CAIZw2B,MAAO,CAAC,EAAG,UAAW,YACtBC,IAAK,CAAC,EAAG,oBAAqB,uBAC9BvC,GAAI,CAAC,EAAG,iBAAkB,oBAC1BwC,GAAI,CAAC,EAAG,qBAAsB,yBAC9Bz+B,SAAU,CAAC,EAAG,GAAI,KASpB,OAPA+H,EAAQ22B,MAAQ32B,EAAQ42B,MAAQ52B,EAAQ62B,SAAW72B,EAAQ82B,QAAU92B,EAAQw2B,MAC7Ex2B,EAAQ4jB,GAAK5jB,EAAQ02B,GAEhBn4C,EAAQw4C,SACX/2B,EAAQg3B,SAAWh3B,EAAQ+2B,OAAS,CAAC,EAAG,+BAAgC,cAGnE/2B,GACR,4B,gBCrBD,UAAO,CAAC,KAAmB,YA8B1B,KA9B6C,EAAF,SAAYpc,EAAUrF,GAChE,aAEA,IAEMmnB,EACA8uB,EAuBN,OAxBM9uB,EADW9hB,EAASqzC,yBACL9zB,YAAYvf,EAASoC,cAAc,SAClDwuC,EAAQ5wC,EAASoC,cAAc,UAK7BwvC,aAAa,OAAQ,SAC3BhB,EAAMgB,aAAa,UAAW,WAC9BhB,EAAMgB,aAAa,OAAQ,KAC3B9vB,EAAIvC,YAAYqxB,GAGhBj2C,EAAQsjB,WAAa6D,EAAI9C,WAAU,GAAMA,WAAU,GAAMs0B,UAAUh2B,QAGnEwE,EAAIjC,UAAY,yBAChBllB,EAAQukB,iBAAmB4C,EAAI9C,WAAU,GAAMs0B,UAAU/1B,aAIzDuE,EAAIjC,UAAY,oBAChBllB,EAAQw4C,SAAWrxB,EAAIwxB,UAGlB34C,GACR,4B,gBC9BD,UAAO,CAAC,KAAW,WAwBlB,KAxBuC,EAAF,SAAYM,EAAQ8F,GACxD,aAsBA,OApBA,SAAgB5F,EAASo4C,GAGvB,IAAIx3C,EAUJ,OAPEA,EAD0C,qBAAjCZ,EAAQ6mB,qBACX7mB,EAAQ6mB,qBAAqBuxB,GAAO,KACG,qBAA7Bp4C,EAAQq4C,iBAClBr4C,EAAQq4C,iBAAiBD,GAAO,KAEhC,QAGIv1C,IAARu1C,GAAqBA,GAAOxyC,EAAS5F,EAASo4C,GACzCt4C,EAAOe,MAAM,CAACb,GAAUY,GAG1BA,IAIV,4B,gBCxBD,UAAO,CAAC,WAaP,KAbgC,EAAF,SAAY4T,GACzC,aAWA,OATA,SAAuB7T,EAAO23C,GAI5B,IAHA,IAAI77C,EAAI,EACJC,EAAIiE,EAAMP,OAEP3D,EAAIC,EAAGD,IACZ+X,EAASe,IAAI5U,EAAMlE,GAAI,cAAe67C,GAAe9jC,EAASlX,IAAIg7C,EAAY77C,GAAI,iBAKvF,4B,gBCbD,UAAO,CAAC,KAAW,MAAkB,MAAsB,MAAkB,MAAqB,MAAa,MAAY,YA0F1H,KA1F8I,EAAF,SAAYqD,EAAQF,EAAQghB,EAAYG,EAAUC,EAAaC,EAASC,EAAQC,GAC3N,aAEA,IAAIo3B,EAAQ,YAsFZ,OApFA,SAAuB53C,EAAOX,EAASyiB,EAAS+1B,EAAWj2B,GAYzD,IAXA,IAAIrhB,EACAsN,EACA4pC,EACAK,EACAC,EACA52C,EACA0gB,EAAWxiB,EAAQk4C,yBACnB70B,EAAQ,GACR5mB,EAAI,EACJC,EAAIiE,EAAMP,OAEP3D,EAAIC,EAAGD,IAGZ,IAFAyE,EAAOP,EAAMlE,KAEQ,IAATyE,EAEV,GAAqB,WAAjBtB,EAAOsB,GAGTpB,EAAOe,MAAMwiB,EAAOniB,EAAKwD,SAAW,CAACxD,GAAQA,QACxC,GAAKq3C,EAAMhzC,KAAKrE,GAEhB,CASL,IARAsN,EAAMA,GAAOgU,EAAS4B,YAAYpkB,EAAQiH,cAAc,QAExDmxC,GAAOr3B,EAAS5b,KAAKjE,IAAS,CAAC,GAAI,KAAK,GAAGuD,cAC3Cg0C,EAAOx3B,EAAQm3B,IAAQn3B,EAAQ/H,SAC/B1K,EAAIkW,UAAY+zB,EAAK,GAAK34C,EAAO0jB,cAActiB,GAAQu3C,EAAK,GAE5D32C,EAAI22C,EAAK,GAEF32C,KACL0M,EAAMA,EAAI2pC,UAKZr4C,EAAOe,MAAMwiB,EAAO7U,EAAI4C,aAExB5C,EAAMgU,EAASvR,YAEXiS,YAAc,QApBlBG,EAAMpkB,KAAKe,EAAQ8uB,eAAe5tB,IA6BxC,IAHAshB,EAASU,YAAc,GACvBzmB,EAAI,EAEGyE,EAAOmiB,EAAM5mB,MAElB,GAAI+7C,GAAa14C,EAAOkE,QAAQ9C,EAAMs3C,IAAc,EAC9Cj2B,GACFA,EAAQtjB,KAAKiC,QAejB,GATAw3C,EAAW93B,EAAW1f,GAEtBsN,EAAM0S,EAAOsB,EAAS4B,YAAYljB,GAAO,UAErCw3C,GACFv3B,EAAc3S,GAIZiU,EAGF,IAFA3gB,EAAI,EAEGZ,EAAOsN,EAAI1M,MACZkf,EAAYzb,KAAKrE,EAAKb,MAAQ,KAChCoiB,EAAQxjB,KAAKiC,GAMrB,OAAOshB,IAIV,4B,gBC1FD,WAeC,KAfD,aACE,aAEA,OAAO,SAAUthB,GAIf,IAAIuZ,EAAOvZ,EAAKoE,cAAc6+B,YAM9B,OAJK1pB,GAASA,EAAKk+B,SACjBl+B,EAAO7V,QAGF6V,EAAK2pB,iBAAiBljC,KAEhC,+B,gBCfD,UAAO,CAAC,KAAW,MAAsB,MAAmB,MAAmB,MAAmB,YAkDjG,KAlD+G,EAAF,SAAYpB,EAAQ8gB,EAAYg4B,EAAWl8B,EAAWE,EAAWpd,GAC7K,aAgDA,OA9CA,SAAgB0B,EAAMlE,EAAMkiB,GAC1B,IAAIW,EACAg5B,EACAC,EACAl4C,EAKJye,EAAQne,EAAKme,MAgCb,OA/BAH,EAAWA,GAAYtC,EAAU1b,MAOnB,MAFZN,EAAMse,EAAS65B,iBAAiB/7C,IAASkiB,EAASliB,KAE/B4jB,EAAW1f,KAC5BN,EAAMd,EAAOuf,MAAMne,EAAMlE,KAQtBwC,EAAQw1C,kBAAoBt4B,EAAUnX,KAAK3E,IAAQg4C,EAAUrzC,KAAKvI,KAErE6iB,EAAQR,EAAMQ,MACdg5B,EAAWx5B,EAAMw5B,SACjBC,EAAWz5B,EAAMy5B,SAEjBz5B,EAAMw5B,SAAWx5B,EAAMy5B,SAAWz5B,EAAMQ,MAAQjf,EAChDA,EAAMse,EAASW,MAEfR,EAAMQ,MAAQA,EACdR,EAAMw5B,SAAWA,EACjBx5B,EAAMy5B,SAAWA,SAINj2C,IAARjC,EAEPA,EAAM,GAAKA,IAId,4B,gBClDD,WAqBC,KArBD,aACE,aAmBA,OAjBA,SAAsBo4C,EAAaC,GAEjC,MAAO,CACL37C,IAAK,WACH,IAAI07C,IAQJ,OAAQx4C,KAAKlD,IAAM27C,GAAQ73C,MAAMZ,KAAMa,kBAL9Bb,KAAKlD,QAWrB,+B,gBCrBD,UAAO,CAAC,KAAmB,WAqC1B,KArCsC,EAAF,SAAYuH,EAAU/E,GACzD,aAEA,IAAIo5C,EAAc,CAAC,SAAU,MAAO,MAChCC,EAAat0C,EAASoC,cAAc,OAAOoY,MAC3C+5B,EAAc,GA+BlB,OAdA,SAAuBp8C,GACrB,IAAIq8C,EAAQv5C,EAAOsf,SAASpiB,IAASo8C,EAAYp8C,GAEjD,OAAIq8C,IAIAr8C,KAAQm8C,EACHn8C,EAGFo8C,EAAYp8C,GA1BrB,SAAwBA,GAKtB,IAHA,IAAIs8C,EAAUt8C,EAAK,GAAG6P,cAAgB7P,EAAKmE,MAAM,GAC7C1E,EAAIy8C,EAAY94C,OAEb3D,KAGL,IAFAO,EAAOk8C,EAAYz8C,GAAK68C,KAEZH,EACV,OAAOn8C,EAiBgBu8C,CAAev8C,IAASA,KAItD,4B,gBCrCD,UAAO,CAAC,KAAW,MAAkB,MAAa,WA8GjD,KA9GiE,EAAF,SAAY8C,EAAQ+F,EAAQrG,GAC1F,aAEA,IAAIg6C,EAAa,sCACbC,EAAa,gBACjB35C,EAAOG,GAAGiC,OAAO,CACf05B,KAAM,SAAc5+B,EAAMU,GACxB,OAAOmI,EAAOrF,KAAMV,EAAO87B,KAAM5+B,EAAMU,EAAO2D,UAAUjB,OAAS,IAEnEs5C,WAAY,SAAoB18C,GAC9B,OAAOwD,KAAKO,MAAK,kBACRP,KAAKV,EAAO65C,QAAQ38C,IAASA,SAI1C8C,EAAOoC,OAAO,CACZ05B,KAAM,SAAc16B,EAAMlE,EAAMU,GAC9B,IAAIkD,EACA0e,EACAs6B,EAAQ14C,EAAKwD,SAEjB,GAAc,IAAVk1C,GAAyB,IAAVA,GAAyB,IAAVA,EAUlC,OANc,IAAVA,GAAgB95C,EAAOkkB,SAAS9iB,KAElClE,EAAO8C,EAAO65C,QAAQ38C,IAASA,EAC/BsiB,EAAQxf,EAAO+5C,UAAU78C,SAGb6F,IAAVnF,EACE4hB,GAAS,QAASA,QAAkDzc,KAAxCjC,EAAM0e,EAAM/J,IAAIrU,EAAMxD,EAAOV,IACpD4D,EAGFM,EAAKlE,GAAQU,EAGlB4hB,GAAS,QAASA,GAA2C,QAAjC1e,EAAM0e,EAAMhiB,IAAI4D,EAAMlE,IAC7C4D,EAGFM,EAAKlE,IAEd68C,UAAW,CACTC,SAAU,CACRx8C,IAAK,SAAa4D,GAMhB,IAAI64C,EAAWj6C,EAAOsF,KAAKI,KAAKtE,EAAM,YAEtC,OAAI64C,EACKjnB,SAASinB,EAAU,IAGxBP,EAAWj0C,KAAKrE,EAAK0E,WAAa6zC,EAAWl0C,KAAKrE,EAAK0E,WAAa1E,EAAKoH,KACpE,GAGD,KAIdqxC,QAAS,CACP,IAAO,UACP,MAAS,eAWRn6C,EAAQm2C,cACX71C,EAAO+5C,UAAU9xC,SAAW,CAC1BzK,IAAK,SAAa4D,GAEhB,IAAIuP,EAASvP,EAAKiP,WAMlB,OAJIM,GAAUA,EAAON,YACnBM,EAAON,WAAW6pC,cAGb,MAETzkC,IAAK,SAAarU,GAEhB,IAAIuP,EAASvP,EAAKiP,WAEdM,IACFA,EAAOupC,cAEHvpC,EAAON,YACTM,EAAON,WAAW6pC,kBAO5Bl6C,EAAOiB,KAAK,CAAC,WAAY,WAAY,YAAa,cAAe,cAAe,UAAW,UAAW,SAAU,cAAe,oBAAoB,WACjJjB,EAAO65C,QAAQn5C,KAAKiE,eAAiBjE,SAExC,4B,gBC9GD,WAMC,KAND,aACE,aAEA,MAAO,CACL8D,KAAMqV,KAAKC,QAEd,+B,gBCND,WAIC,KAJD,aACE,aAEA,MAAO,MACR,+B,gBCJD,UAAO,CAAC,WA4BP,KA5BmB,EAAF,SAAY9Z,GAC5B,aA0BA,OAxBAA,EAAO8J,SAAW,SAAU6C,GAC1B,IAAIrD,EAAK6wC,EAET,IAAKxtC,GAAwB,kBAATA,EAClB,OAAO,KAKT,IACErD,GAAM,IAAIxE,OAAOs1C,WAAYC,gBAAgB1tC,EAAM,YACnD,MAAOD,IAUT,OARAytC,EAAkB7wC,GAAOA,EAAIyd,qBAAqB,eAAe,GAE5Dzd,IAAO6wC,GACVn6C,EAAOqD,MAAM,iBAAmB82C,EAAkBn6C,EAAOmB,IAAIg5C,EAAgB7oC,YAAY,SAAUkE,GACjG,OAAOA,EAAG4N,eACTzX,KAAK,MAAQgB,IAGXrD,GAGFtJ,EAAO8J,UACf,4B,gBC5BD,sBAAmD,OAAOnL,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAU,MAAiB,MAAwB,KAAoB,KAAe,MAC9F,YAuGC,KAvGqB,EAAF,SAAYmB,EAAQF,EAAQ0U,EAAgB7U,GAC9D,aAEA,IAAI26C,EAAW,QACXC,EAAQ,SACRC,EAAkB,wCAClBC,EAAe,qCAEnB,SAASC,EAAYl6B,EAAQ3hB,EAAKgO,EAAaQ,GAC7C,IAAInQ,EAEJ,GAAI2F,MAAMC,QAAQjE,GAEhBmB,EAAOiB,KAAKpC,GAAK,SAAUlC,EAAG8U,GACxB5E,GAAeytC,EAAS70C,KAAK+a,GAE/BnT,EAAImT,EAAQ/O,GAGZipC,EAAYl6B,EAAS,KAAsB,WAAf7hB,EAAQ8S,IAAwB,MAALA,EAAY9U,EAAI,IAAM,IAAK8U,EAAG5E,EAAaQ,WAGjG,GAAKR,GAA+B,WAAhB/M,EAAOjB,GAOhCwO,EAAImT,EAAQ3hB,QALZ,IAAK3B,KAAQ2B,EACX67C,EAAYl6B,EAAS,IAAMtjB,EAAO,IAAK2B,EAAI3B,GAAO2P,EAAaQ,GA6ErE,OAnEArN,EAAO4M,MAAQ,SAAUk3B,EAAGj3B,GAC1B,IAAI2T,EACA9hB,EAAI,GACJ2O,EAAM,SAAanP,EAAKy8C,GAE1B,IAAI/8C,EAAQ+B,EAAWg7C,GAAmBA,IAAoBA,EAC9Dj8C,EAAEA,EAAE4B,QAAUs6C,mBAAmB18C,GAAO,IAAM08C,mBAA4B,MAATh9C,EAAgB,GAAKA,IAGxF,GAAS,MAALkmC,EACF,MAAO,GAIT,GAAIjhC,MAAMC,QAAQghC,IAAMA,EAAEtjC,SAAWR,EAAO4C,cAAckhC,GAExD9jC,EAAOiB,KAAK6iC,GAAG,WACbz2B,EAAI3M,KAAKxD,KAAMwD,KAAK9C,eAKtB,IAAK4iB,KAAUsjB,EACb4W,EAAYl6B,EAAQsjB,EAAEtjB,GAAS3T,EAAaQ,GAKhD,OAAO3O,EAAEiN,KAAK,MAGhB3L,EAAOG,GAAGiC,OAAO,CACfy4C,UAAW,WACT,OAAO76C,EAAO4M,MAAMlM,KAAKo6C,mBAE3BA,eAAgB,WACd,OAAOp6C,KAAKS,KAAI,WAEd,IAAI2vC,EAAW9wC,EAAO87B,KAAKp7B,KAAM,YACjC,OAAOowC,EAAW9wC,EAAOgE,UAAU8sC,GAAYpwC,QAC9CsP,QAAO,WACR,IAAIzP,EAAOG,KAAKH,KAEhB,OAAOG,KAAKxD,OAAS8C,EAAOU,MAAMo2C,GAAG,cAAgB2D,EAAah1C,KAAK/E,KAAKoF,YAAc00C,EAAgB/0C,KAAKlF,KAAUG,KAAK2hB,UAAY7N,EAAe/O,KAAKlF,OAC7JY,KAAI,SAAUuD,EAAItD,GACnB,IAAIyd,EAAM7e,EAAOU,MAAMme,MAEvB,OAAW,MAAPA,EACK,KAGLhc,MAAMC,QAAQ+b,GACT7e,EAAOmB,IAAI0d,GAAK,SAAUA,GAC/B,MAAO,CACL3hB,KAAMkE,EAAKlE,KACXU,MAAOihB,EAAI1b,QAAQo3C,EAAO,YAKzB,CACLr9C,KAAMkE,EAAKlE,KACXU,MAAOihB,EAAI1b,QAAQo3C,EAAO,YAE3B/8C,SAGAwC,GACR,4B,gBC1GD,UAAO,CAAC,KAAW,KAAmB,MAAoB,MAC1D,aAmDC,KAnDa,EAAF,SAAYA,EAAQ+E,EAAUC,EAAYsc,EAAe5hB,GACnE,aAiDA,OA5CAM,EAAOuF,UAAY,SAAUoH,EAAMzM,EAAS66C,GAC1C,MAAoB,kBAATpuC,EACF,IAGc,mBAAZzM,IACT66C,EAAc76C,EACdA,GAAU,GAKPA,IAGCR,EAAQs7C,qBAKV/Q,GAJA/pC,EAAU6E,EAASk2C,eAAeD,mBAAmB,KAItC7zC,cAAc,SACxBqB,KAAOzD,EAASuB,SAASkC,KAC9BtI,EAAQinB,KAAK7C,YAAY2lB,IAEzB/pC,EAAU6E,GAKd4d,GAAWo4B,GAAe,IAD1BG,EAASl2C,EAAWK,KAAKsH,IAIhB,CAACzM,EAAQiH,cAAc+zC,EAAO,MAGvCA,EAAS55B,EAAc,CAAC3U,GAAOzM,EAASyiB,GAEpCA,GAAWA,EAAQriB,QACrBN,EAAO2iB,GAAStL,SAGXrX,EAAOe,MAAM,GAAIm6C,EAAO5pC,cA/B/B,IAAI24B,EAAMiR,EAAQv4B,GAkCb3iB,EAAOuF,WACf,4B,cCpDD7I,EAAOD,QAAU,SAAUC,GAsBzB,OArBKA,EAAOy+C,kBACVz+C,EAAO0+C,UAAY,aAEnB1+C,EAAO2+C,MAAQ,GAEV3+C,EAAOgT,WAAUhT,EAAOgT,SAAW,IACxCrS,OAAOC,eAAeZ,EAAQ,SAAU,CACtCa,YAAY,EACZC,IAAK,WACH,OAAOd,EAAOE,KAGlBS,OAAOC,eAAeZ,EAAQ,KAAM,CAClCa,YAAY,EACZC,IAAK,WACH,OAAOd,EAAOC,KAGlBD,EAAOy+C,gBAAkB,GAGpBz+C,I,gBCtBT,UAAO,CAAC,YAIP,KAJwB,EAAF,SAAY8C,GACjC,aAEA,OAAOA,EAAW1C,KAAKO,SACxB,4B,gBCJD,UAAO,CAAC,KAAU,YAYjB,KAZoD,EAAF,SAAY2C,EAAQs7C,GACrE,aAEAt7C,EAAOsF,KAAOg2C,EACdt7C,EAAOiX,KAAOqkC,EAAOnrC,UAErBnQ,EAAOiX,KAAK,KAAOjX,EAAOiX,KAAKskC,QAC/Bv7C,EAAOwQ,WAAaxQ,EAAOqwC,OAASiL,EAAO9qC,WAC3CxQ,EAAOoJ,KAAOkyC,EAAOE,QACrBx7C,EAAOkkB,SAAWo3B,EAAOG,MACzBz7C,EAAOiQ,SAAWqrC,EAAOrrC,SACzBjQ,EAAO07C,eAAiBJ,EAAO/iB,QAChC,4B,gBCZD,OAUA,SAAWzzB,GACT,IAAInI,EACA+C,EACAi8C,EACAH,EACAC,EACAG,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJC,EACIn3C,EACAo3C,EACAC,EACAC,EACAC,EACAj4C,EACA4L,EAEJjN,EAAU,SAAW,EAAI,IAAI6W,KACzB0iC,EAAez3C,EAAOC,SACtBy3C,EAAU,EACVnwC,EAAO,EACPowC,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAyBH,KACzBI,EAAY,SAAmBhZ,EAAGsK,GAKpC,OAJItK,IAAMsK,IACR6N,GAAe,GAGV,GAGT18C,EAAS,GAAGf,eACRO,EAAM,GACN4sB,EAAM5sB,EAAI4sB,IACVoxB,EAAah+C,EAAII,KACjBA,EAAOJ,EAAII,KACXkC,EAAQtC,EAAIsC,MAGhBjC,EAAU,SAAiBuU,EAAMvS,GAI/B,IAHA,IAAIzE,EAAI,EACJoF,EAAM4R,EAAKrT,OAER3D,EAAIoF,EAAKpF,IACd,GAAIgX,EAAKhX,KAAOyE,EACd,OAAOzE,EAIX,OAAQ,GAENqgD,EAAW,6HAGfC,EAAa,sBAEbC,EAAa,oFAEbC,EAAa,2BAA4BD,EAAa,OAASD,EAC/D,gBAAkBA,EAElB,2DAA6DC,EAAa,OAASD,EAAa,OAC5F1B,EAAU,KAAO2B,EAAP,wFAGeC,EAHf,eAMdC,EAAc,IAAI3lC,OAAOwlC,EAAa,IAAK,KACvCI,EAAQ,IAAI5lC,OAAO,uEAAsE,KACzF6lC,EAAS,IAAI7lC,OAAO,8CACpB8lC,EAAe,IAAI9lC,OAAO,wEAC1B+lC,EAAW,IAAI/lC,OAAOwlC,EAAa,MACnCQ,EAAU,IAAIhmC,OAAO8jC,GACrBmC,EAAc,IAAIjmC,OAAO,IAAMylC,EAAa,KAC5CS,EAAY,CACd,GAAM,IAAIlmC,OAAO,MAAQylC,EAAa,KACtC,MAAS,IAAIzlC,OAAO,QAAUylC,EAAa,KAC3C,IAAO,IAAIzlC,OAAO,KAAOylC,EAAa,SACtC,KAAQ,IAAIzlC,OAAO,IAAM0lC,GACzB,OAAU,IAAI1lC,OAAO,IAAM8jC,GAC3B,MAAS,IAAI9jC,OAAO,4LAAyL,KAC7M,KAAQ,IAAIA,OAAO,OAASulC,EAAW,KAAM,KAG7C,aAAgB,IAAIvlC,OAAO,6IAA2I,MAEpKghC,EAAQ,SACRmF,GAAU,sCACVC,GAAU,SACVC,GAAU,yBAEd54C,GAAa,mCACT64C,GAAW,OAGfC,GAAY,IAAIvmC,OAAO,8DAA8D,KACjFwmC,GAAY,SAAmB1lB,EAAQ2lB,GACzC,IAAIC,EAAO,KAAO5lB,EAAOl3B,MAAM,GAAK,MACpC,OAAO68C,IAKPC,EAAO,EAAIx0C,OAAOy0C,aAAaD,EAAO,OAAWx0C,OAAOy0C,aAAaD,GAAQ,GAAK,MAAe,KAAPA,EAAe,SAI3GE,GAAa,sDACTC,GAAa,SAAoBnhB,EAAIohB,GACvC,OAAIA,EAES,OAAPphB,EACK,SAIFA,EAAG97B,MAAM,GAAI,GAAK,KAAO87B,EAAGqhB,WAAWrhB,EAAG78B,OAAS,GAAGhB,SAAS,IAAM,IAIvE,KAAO69B,GAMhBshB,GAAgB,WACdvC,KAEEwC,GAAqBC,IAAc,SAAUv9C,GAC/C,OAAyB,IAAlBA,EAAKuX,UAAqD,aAAhCvX,EAAK0E,SAASnB,gBAC9C,CACD0K,IAAK,aACLM,KAAM,WAIR,IACExQ,EAAKmC,MAAMvC,EAAMsC,EAAMvE,KAAKy/C,EAAajrC,YAAairC,EAAajrC,YAInEvS,EAAIw9C,EAAajrC,WAAWhR,QAAQsE,SACpC,MAAO8H,IACPvN,EAAO,CACLmC,MAAOvC,EAAIuB,OACX,SAAUoC,EAAQk8C,GAChB7B,EAAWz7C,MAAMoB,EAAQrB,EAAMvE,KAAK8hD,KAGtC,SAAUl8C,EAAQk8C,GAIhB,IAHA,IAAI58C,EAAIU,EAAOpC,OACX3D,EAAI,EAED+F,EAAOV,KAAO48C,EAAIjiD,OAEzB+F,EAAOpC,OAAS0B,EAAI,IAK1B,SAASs5C,GAAOr7C,EAAUC,EAAS+D,EAAS46C,GAC1C,IAAI9hD,EACAJ,EACAyE,EACA09C,EACA15C,EACA25C,EACAC,EACAC,EAAa/+C,GAAWA,EAAQsF,cAEpCZ,EAAW1E,EAAUA,EAAQ0E,SAAW,EAGxC,GAFAX,EAAUA,GAAW,GAEG,kBAAbhE,IAA0BA,GAAyB,IAAb2E,GAA+B,IAAbA,GAA+B,KAAbA,EACnF,OAAOX,EAIT,IAAK46C,IACH3C,EAAYh8C,GACZA,EAAUA,GAAW6E,EAEjBq3C,GAAgB,CAGlB,GAAiB,KAAbx3C,IAAoBQ,EAAQF,GAAWG,KAAKpF,IAE9C,GAAIlD,EAAIqI,EAAM,IAEZ,GAAiB,IAAbR,EAAgB,CAClB,KAAIxD,EAAOlB,EAAQyF,eAAe5I,IAShC,OAAOkH,EALP,GAAI7C,EAAK8mB,KAAOnrB,EAEd,OADAkH,EAAQ9E,KAAKiC,GACN6C,OAUX,GAAIg7C,IAAe79C,EAAO69C,EAAWt5C,eAAe5I,KAAOkT,EAAS/P,EAASkB,IAASA,EAAK8mB,KAAOnrB,EAEhG,OADAkH,EAAQ9E,KAAKiC,GACN6C,MAIN,IAAImB,EAAM,GAEf,OADAjG,EAAKmC,MAAM2C,EAAS/D,EAAQ6mB,qBAAqB9mB,IAC1CgE,EACF,IAAKlH,EAAIqI,EAAM,KAAO1F,EAAQw/C,wBAA0Bh/C,EAAQg/C,uBAErE,OADA//C,EAAKmC,MAAM2C,EAAS/D,EAAQg/C,uBAAuBniD,IAC5CkH,EAKX,GAAIvE,EAAQy/C,MAAQtC,EAAuB58C,EAAW,QAAUo8C,IAAcA,EAAU52C,KAAKxF,MAEhF,IAAb2E,GAAqD,WAAnC1E,EAAQ4F,SAASnB,eAA6B,CAU9D,GATAq6C,EAAc/+C,EACdg/C,EAAa/+C,EAQI,IAAb0E,IAAmB44C,EAAS/3C,KAAKxF,IAAas9C,EAAa93C,KAAKxF,IAAY,CAkB9E,KAhBAg/C,EAAalB,GAASt4C,KAAKxF,IAAam/C,GAAYl/C,EAAQmQ,aAAenQ,KAGxDA,GAAYR,EAAQwnC,SAEjC4X,EAAM5+C,EAAQ2hB,aAAa,OAC7Bi9B,EAAMA,EAAI37C,QAAQk7C,GAAYC,IAE9Bp+C,EAAQy2C,aAAa,KAAMmI,EAAM97C,IAMrCrG,GADAoiD,EAASnD,EAAS37C,IACPK,OAEJ3D,KACLoiD,EAAOpiD,IAAMmiD,EAAM,IAAMA,EAAM,UAAY,IAAMO,GAAWN,EAAOpiD,IAGrEqiD,EAAcD,EAAOpzC,KAAK,KAG5B,IAEE,OADAxM,EAAKmC,MAAM2C,EAASg7C,EAAW1G,iBAAiByG,IACzC/6C,EACP,MAAOq7C,GACPzC,EAAuB58C,GAAU,GACjC,QACI6+C,IAAQ97C,GACV9C,EAAQ6hB,gBAAgB,QAQlC,OAAO+5B,EAAO77C,EAASkD,QAAQk6C,EAAO,MAAOn9C,EAAS+D,EAAS46C,GAUjE,SAASnC,KACP,IAAIppB,EAAO,GAYX,OAVA,SAASrmB,EAAM/O,EAAKN,GAOlB,OALI01B,EAAKn0B,KAAKjB,EAAM,KAAOy9C,EAAK4D,oBAEvBtyC,EAAMqmB,EAAKjlB,SAGbpB,EAAM/O,EAAM,KAAON,GAW9B,SAAS4hD,GAAar/C,GAEpB,OADAA,EAAG6C,IAAW,EACP7C,EAQT,SAASs/C,GAAOt/C,GACd,IAAIqV,EAAKzQ,EAASoC,cAAc,YAEhC,IACE,QAAShH,EAAGqV,GACZ,MAAO9I,IACP,OAAO,EACP,QAEI8I,EAAGnF,YACLmF,EAAGnF,WAAWoT,YAAYjO,GAI5BA,EAAK,MAUT,SAASkqC,GAAU9N,EAAO5+B,GAIxB,IAHA,IAAIjU,EAAM6yC,EAAMntC,MAAM,KAClB9H,EAAIoC,EAAIuB,OAEL3D,KACLg/C,EAAKgE,WAAW5gD,EAAIpC,IAAMqW,EAW9B,SAAS4sC,GAAa9b,EAAGsK,GACvB,IAAIv+B,EAAMu+B,GAAKtK,EACX+b,EAAOhwC,GAAsB,IAAfi0B,EAAEl/B,UAAiC,IAAfwpC,EAAExpC,UAAkBk/B,EAAEgc,YAAc1R,EAAE0R,YAE5E,GAAID,EACF,OAAOA,EAIT,GAAIhwC,EACF,KAAOA,EAAMA,EAAI8U,aACf,GAAI9U,IAAQu+B,EACV,OAAQ,EAKd,OAAOtK,EAAI,GAAK,EAQlB,SAASic,GAAkBx/C,GACzB,OAAO,SAAUa,GAEf,MAAgB,UADLA,EAAK0E,SAASnB,eACEvD,EAAKb,OAASA,GAS7C,SAASy/C,GAAmBz/C,GAC1B,OAAO,SAAUa,GACf,IAAIlE,EAAOkE,EAAK0E,SAASnB,cACzB,OAAiB,UAATzH,GAA6B,WAATA,IAAsBkE,EAAKb,OAASA,GASpE,SAAS0/C,GAAqBtnC,GAE5B,OAAO,SAAUvX,GAIf,MAAI,SAAUA,EAQRA,EAAKiP,aAAgC,IAAlBjP,EAAKuX,SAEtB,UAAWvX,EACT,UAAWA,EAAKiP,WACXjP,EAAKiP,WAAWsI,WAAaA,EAE7BvX,EAAKuX,WAAaA,EAMtBvX,EAAK8+C,aAAevnC,GAG3BvX,EAAK8+C,cAAgBvnC,GAAY+lC,GAAmBt9C,KAAUuX,EAGzDvX,EAAKuX,WAAaA,EAGhB,UAAWvX,GACbA,EAAKuX,WAAaA,GAa/B,SAASwnC,GAAuBhgD,GAC9B,OAAOq/C,IAAa,SAAUY,GAE5B,OADAA,GAAYA,EACLZ,IAAa,SAAUX,EAAMx6C,GAKlC,IAJA,IAAIrC,EACAq+C,EAAelgD,EAAG,GAAI0+C,EAAKv+C,OAAQ8/C,GACnCzjD,EAAI0jD,EAAa//C,OAEd3D,KACDkiD,EAAK78C,EAAIq+C,EAAa1jD,MACxBkiD,EAAK78C,KAAOqC,EAAQrC,GAAK68C,EAAK78C,WAaxC,SAASo9C,GAAYl/C,GACnB,OAAOA,GAAmD,qBAAjCA,EAAQ6mB,sBAAwC7mB,EAi/B3E,IAAKvD,KA7+BL+C,EAAU47C,GAAO57C,QAAU,GAO3B+7C,EAAQH,GAAOG,MAAQ,SAAUr6C,GAC/B,IAAIsU,EAAYtU,GAAQA,EAAKk/C,aACzBnE,EAAU/6C,IAASA,EAAKoE,eAAiBpE,GAAMmT,gBAInD,OAAQkkC,EAAMhzC,KAAKiQ,GAAaymC,GAAWA,EAAQr2C,UAAY,SASjEo2C,EAAcZ,GAAOY,YAAc,SAAUr5B,GAC3C,IAAI09B,EACAC,EACA18C,EAAM+e,EAAOA,EAAKrd,eAAiBqd,EAAO05B,EAM9C,OAAIz4C,GAAOiB,GAA6B,IAAjBjB,EAAIc,UAAmBd,EAAIyQ,iBAMlD4nC,GADAp3C,EAAWjB,GACQyQ,gBACnB6nC,GAAkBX,EAAM12C,GAOpBw3C,GAAgBx3C,IAAay7C,EAAYz7C,EAASs/B,cAAgBmc,EAAUpqB,MAAQoqB,IAElFA,EAAUppC,iBACZopC,EAAUppC,iBAAiB,SAAUqnC,IAAe,GAC3C+B,EAAUC,aACnBD,EAAUC,YAAY,WAAYhC,KAStC/+C,EAAQwnC,MAAQuY,IAAO,SAAUjqC,GAE/B,OADA2mC,EAAQ73B,YAAY9O,GAAI8O,YAAYvf,EAASoC,cAAc,QACrB,qBAAxBqO,EAAG+iC,mBAAqC/iC,EAAG+iC,iBAAiB,uBAAuBj4C,UAQnGZ,EAAQy9C,WAAasC,IAAO,SAAUjqC,GAEpC,OADAA,EAAG+V,UAAY,KACP/V,EAAGqM,aAAa,gBAM1BniB,EAAQqnB,qBAAuB04B,IAAO,SAAUjqC,GAE9C,OADAA,EAAG8O,YAAYvf,EAAS27C,cAAc,MAC9BlrC,EAAGuR,qBAAqB,KAAKzmB,UAGvCZ,EAAQw/C,uBAAyBpB,GAAQr4C,KAAKV,EAASm6C,wBAKvDx/C,EAAQihD,QAAUlB,IAAO,SAAUjqC,GAEjC,OADA2mC,EAAQ73B,YAAY9O,GAAI0S,GAAKllB,GACrB+B,EAAS67C,oBAAsB77C,EAAS67C,kBAAkB59C,GAAS1C,UAGzEZ,EAAQihD,SACVhF,EAAK3rC,OAAW,GAAI,SAAUkY,GAC5B,IAAI24B,EAAS34B,EAAG/kB,QAAQ66C,GAAWC,IACnC,OAAO,SAAU78C,GACf,OAAOA,EAAKygB,aAAa,QAAUg/B,IAIvClF,EAAKr2C,KAAS,GAAI,SAAU4iB,EAAIhoB,GAC9B,GAAsC,qBAA3BA,EAAQyF,gBAAkCy2C,EAAgB,CACnE,IAAIh7C,EAAOlB,EAAQyF,eAAeuiB,GAClC,OAAO9mB,EAAO,CAACA,GAAQ,OAI3Bu6C,EAAK3rC,OAAW,GAAI,SAAUkY,GAC5B,IAAI24B,EAAS34B,EAAG/kB,QAAQ66C,GAAWC,IACnC,OAAO,SAAU78C,GACf,IAAIyhB,EAAwC,qBAA1BzhB,EAAK0/C,kBAAoC1/C,EAAK0/C,iBAAiB,MACjF,OAAOj+B,GAAQA,EAAKjlB,QAAUijD,IAMlClF,EAAKr2C,KAAS,GAAI,SAAU4iB,EAAIhoB,GAC9B,GAAsC,qBAA3BA,EAAQyF,gBAAkCy2C,EAAgB,CACnE,IAAIv5B,EACAlmB,EACAkE,EACAO,EAAOlB,EAAQyF,eAAeuiB,GAElC,GAAI9mB,EAAM,CAIR,IAFAyhB,EAAOzhB,EAAK0/C,iBAAiB,QAEjBj+B,EAAKjlB,QAAUsqB,EACzB,MAAO,CAAC9mB,GAOV,IAHAP,EAAQX,EAAQ0gD,kBAAkB14B,GAClCvrB,EAAI,EAEGyE,EAAOP,EAAMlE,MAGlB,IAFAkmB,EAAOzhB,EAAK0/C,iBAAiB,QAEjBj+B,EAAKjlB,QAAUsqB,EACzB,MAAO,CAAC9mB,GAKd,MAAO,MAMbu6C,EAAKr2C,KAAU,IAAI5F,EAAQqnB,qBAAuB,SAAUuxB,EAAKp4C,GAC/D,MAA4C,qBAAjCA,EAAQ6mB,qBACV7mB,EAAQ6mB,qBAAqBuxB,GAC3B54C,EAAQy/C,IACVj/C,EAAQq4C,iBAAiBD,QAD3B,GAGL,SAAUA,EAAKp4C,GACjB,IAAIkB,EACAsN,EAAM,GACN/R,EAAI,EAERsH,EAAU/D,EAAQ6mB,qBAAqBuxB,GAEvC,GAAY,MAARA,EAAa,CACf,KAAOl3C,EAAO6C,EAAQtH,MACE,IAAlByE,EAAKwD,UACP8J,EAAIvP,KAAKiC,GAIb,OAAOsN,EAGT,OAAOzK,GAGT03C,EAAKr2C,KAAY,MAAI5F,EAAQw/C,wBAA0B,SAAU3zB,EAAWrrB,GAC1E,GAA8C,qBAAnCA,EAAQg/C,wBAA0C9C,EAC3D,OAAOl8C,EAAQg/C,uBAAuB3zB,IAS1C+wB,EAAgB,GAMhBD,EAAY,IAER38C,EAAQy/C,IAAMrB,GAAQr4C,KAAKV,EAASwzC,qBAGtCkH,IAAO,SAAUjqC,GACf,IAAImgC,EAMJwG,EAAQ73B,YAAY9O,GAAIoP,UAAY,UAAY5hB,EAAZ,qBAAkDA,EAAlD,kEAKhCwS,EAAG+iC,iBAAiB,wBAAwBj4C,QAC9C+7C,EAAUl9C,KAAK,yCAKZqW,EAAG+iC,iBAAiB,cAAcj4C,QACrC+7C,EAAUl9C,KAAK,mCAAoC69C,EAAW,KAI3DxnC,EAAG+iC,iBAAiB,QAAUv1C,EAAU,MAAM1C,QACjD+7C,EAAUl9C,KAAK,OAQjBw2C,EAAQ5wC,EAASoC,cAAc,UACzBwvC,aAAa,OAAQ,IAC3BnhC,EAAG8O,YAAYqxB,GAEVngC,EAAG+iC,iBAAiB,aAAaj4C,QACpC+7C,EAAUl9C,KAAK,mFAMZqW,EAAG+iC,iBAAiB,YAAYj4C,QACnC+7C,EAAUl9C,KAAK,YAMZqW,EAAG+iC,iBAAiB,KAAOv1C,EAAU,MAAM1C,QAC9C+7C,EAAUl9C,KAAK,YAKjBqW,EAAG+iC,iBAAiB,QACpB8D,EAAUl9C,KAAK,kBAEjBsgD,IAAO,SAAUjqC,GACfA,EAAGoP,UAAY,oFAGf,IAAI+wB,EAAQ5wC,EAASoC,cAAc,SACnCwuC,EAAMgB,aAAa,OAAQ,UAC3BnhC,EAAG8O,YAAYqxB,GAAOgB,aAAa,OAAQ,KAGvCnhC,EAAG+iC,iBAAiB,YAAYj4C,QAClC+7C,EAAUl9C,KAAK,sCAK8B,IAA3CqW,EAAG+iC,iBAAiB,YAAYj4C,QAClC+7C,EAAUl9C,KAAK,WAAY,aAK7Bg9C,EAAQ73B,YAAY9O,GAAImD,UAAW,EAEa,IAA5CnD,EAAG+iC,iBAAiB,aAAaj4C,QACnC+7C,EAAUl9C,KAAK,WAAY,aAK7BqW,EAAG+iC,iBAAiB,QACpB8D,EAAUl9C,KAAK,aAIfO,EAAQ6Q,gBAAkButC,GAAQr4C,KAAKpB,EAAU83C,EAAQ93C,SAAW83C,EAAQ4E,uBAAyB5E,EAAQ6E,oBAAsB7E,EAAQ8E,kBAAoB9E,EAAQ+E,qBACzKzB,IAAO,SAAUjqC,GAGf9V,EAAQyhD,kBAAoB98C,EAAQvH,KAAK0Y,EAAI,KAG7CnR,EAAQvH,KAAK0Y,EAAI,aACjB8mC,EAAcn9C,KAAK,KAAMo8C,MAI7Bc,EAAYA,EAAU/7C,QAAU,IAAImX,OAAO4kC,EAAU1wC,KAAK,MAC1D2wC,EAAgBA,EAAch8C,QAAU,IAAImX,OAAO6kC,EAAc3wC,KAAK,MAItE40C,EAAazC,GAAQr4C,KAAK02C,EAAQiF,yBAIlCnxC,EAAWswC,GAAczC,GAAQr4C,KAAK02C,EAAQlsC,UAAY,SAAU6zB,EAAGsK,GACrE,IAAIiT,EAAuB,IAAfvd,EAAEl/B,SAAiBk/B,EAAEvvB,gBAAkBuvB,EAC/Cwd,EAAMlT,GAAKA,EAAE/9B,WACjB,OAAOyzB,IAAMwd,MAAUA,GAAwB,IAAjBA,EAAI18C,YAAmBy8C,EAAMpxC,SAAWoxC,EAAMpxC,SAASqxC,GAAOxd,EAAEsd,yBAA4D,GAAjCtd,EAAEsd,wBAAwBE,MACjJ,SAAUxd,EAAGsK,GACf,GAAIA,EACF,KAAOA,EAAIA,EAAE/9B,YACX,GAAI+9B,IAAMtK,EACR,OAAO,EAKb,OAAO,GAMTgZ,EAAYyD,EAAa,SAAUzc,EAAGsK,GAEpC,GAAItK,IAAMsK,EAER,OADA6N,GAAe,EACR,EAIT,IAAIsF,GAAWzd,EAAEsd,yBAA2BhT,EAAEgT,wBAE9C,OAAIG,IAYU,GAHdA,GAAWzd,EAAEt+B,eAAiBs+B,KAAOsK,EAAE5oC,eAAiB4oC,GAAKtK,EAAEsd,wBAAwBhT,GACvF,KAEoB1uC,EAAQ8hD,cAAgBpT,EAAEgT,wBAAwBtd,KAAOyd,EAMvEzd,GAAK/+B,GAAY++B,EAAEt+B,eAAiB+2C,GAAgBtsC,EAASssC,EAAczY,IACrE,EAONsK,GAAKrpC,GAAYqpC,EAAE5oC,eAAiB+2C,GAAgBtsC,EAASssC,EAAcnO,GACtE,EAIF4N,EAAY58C,EAAQ48C,EAAWlY,GAAK1kC,EAAQ48C,EAAW5N,GAAK,EAGpD,EAAVmT,GAAe,EAAI,IACxB,SAAUzd,EAAGsK,GAEf,GAAItK,IAAMsK,EAER,OADA6N,GAAe,EACR,EAGT,IAAIpsC,EACAlT,EAAI,EACJ8kD,EAAM3d,EAAEzzB,WACRixC,EAAMlT,EAAE/9B,WACRqxC,EAAK,CAAC5d,GACN6d,EAAK,CAACvT,GAEV,IAAKqT,IAAQH,EAMX,OAAOxd,GAAK/+B,GAAY,EAAIqpC,GAAKrpC,EAAW,EAE5C08C,GAAO,EAAIH,EAAM,EAAItF,EAAY58C,EAAQ48C,EAAWlY,GAAK1kC,EAAQ48C,EAAW5N,GAAK,EAC5E,GAAIqT,IAAQH,EACjB,OAAO1B,GAAa9b,EAAGsK,GAMzB,IAFAv+B,EAAMi0B,EAECj0B,EAAMA,EAAIQ,YACfqxC,EAAGh6C,QAAQmI,GAKb,IAFAA,EAAMu+B,EAECv+B,EAAMA,EAAIQ,YACfsxC,EAAGj6C,QAAQmI,GAIb,KAAO6xC,EAAG/kD,KAAOglD,EAAGhlD,IAClBA,IAGF,OAAOA,EACPijD,GAAa8B,EAAG/kD,GAAIglD,EAAGhlD,IAMvB+kD,EAAG/kD,IAAM4/C,GAAgB,EAAIoF,EAAGhlD,IAAM4/C,EAAe,EAErD,GAEKx3C,GAjZEA,GAoZXu2C,GAAOj3C,QAAU,SAAU4S,EAAM65B,GAC/B,OAAOwK,GAAOrkC,EAAM,KAAM,KAAM65B,IAGlCwK,GAAO/qC,gBAAkB,SAAUnP,EAAM6V,GAGvC,GAFAilC,EAAY96C,GAER1B,EAAQ6Q,iBAAmB6rC,IAAmBS,EAAuB5lC,EAAO,QAAUqlC,IAAkBA,EAAc72C,KAAKwR,OAAYolC,IAAcA,EAAU52C,KAAKwR,IACtK,IACE,IAAInW,EAAMuD,EAAQvH,KAAKsE,EAAM6V,GAE7B,GAAInW,GAAOpB,EAAQyhD,mBAEnB//C,EAAK2D,UAAuC,KAA3B3D,EAAK2D,SAASH,SAC7B,OAAO9D,EAET,MAAO4L,IACPmwC,EAAuB5lC,GAAM,GAIjC,OAAOqkC,GAAOrkC,EAAMlS,EAAU,KAAM,CAAC3D,IAAOd,OAAS,GAGvDg7C,GAAOrrC,SAAW,SAAU/P,EAASkB,GAUnC,OAJKlB,EAAQsF,eAAiBtF,IAAY6E,GACxCm3C,EAAYh8C,GAGP+P,EAAS/P,EAASkB,IAG3Bk6C,GAAO51C,KAAO,SAAUtE,EAAMlE,IAMvBkE,EAAKoE,eAAiBpE,IAAS2D,GAClCm3C,EAAY96C,GAGd,IAAIjB,EAAKw7C,EAAKgE,WAAWziD,EAAKyH,eAE9Bka,EAAM1e,GAAMZ,EAAOzC,KAAK6+C,EAAKgE,WAAYziD,EAAKyH,eAAiBxE,EAAGiB,EAAMlE,GAAOk/C,QAAkBr5C,EACjG,YAAeA,IAAR8b,EAAoBA,EAAMnf,EAAQy9C,aAAef,EAAiBh7C,EAAKygB,aAAa3kB,IAAS2hB,EAAMzd,EAAK0/C,iBAAiB5jD,KAAU2hB,EAAI+iC,UAAY/iC,EAAIjhB,MAAQ,MAGxK09C,GAAO/iB,OAAS,SAAUhgB,GACxB,OAAQA,EAAM,IAAIpV,QAAQk7C,GAAYC,KAGxChD,GAAOj4C,MAAQ,SAAUC,GACvB,MAAM,IAAIC,MAAM,0CAA4CD,IAQ9Dg4C,GAAO9qC,WAAa,SAAUvM,GAC5B,IAAI7C,EACAygD,EAAa,GACb7/C,EAAI,EACJrF,EAAI,EAMR,GAJAs/C,GAAgBv8C,EAAQoiD,iBACxB9F,GAAat8C,EAAQqiD,YAAc99C,EAAQ5C,MAAM,GACjD4C,EAAQ/B,KAAK46C,GAETb,EAAc,CAChB,KAAO76C,EAAO6C,EAAQtH,MAChByE,IAAS6C,EAAQtH,KACnBqF,EAAI6/C,EAAW1iD,KAAKxC,IAIxB,KAAOqF,KACLiC,EAAQ9B,OAAO0/C,EAAW7/C,GAAI,GAOlC,OADAg6C,EAAY,KACL/3C,GAQTu3C,EAAUF,GAAOE,QAAU,SAAUp6C,GACnC,IAAIyhB,EACA/hB,EAAM,GACNnE,EAAI,EACJiI,EAAWxD,EAAKwD,SAEpB,GAAKA,GAME,GAAiB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAiB,CAG9D,GAAgC,kBAArBxD,EAAKgiB,YACd,OAAOhiB,EAAKgiB,YAGZ,IAAKhiB,EAAOA,EAAK+P,WAAY/P,EAAMA,EAAOA,EAAKujB,YAC7C7jB,GAAO06C,EAAQp6C,QAGd,GAAiB,IAAbwD,GAA+B,IAAbA,EAC3B,OAAOxD,EAAK4gD,eAhBZ,KAAOn/B,EAAOzhB,EAAKzE,MAEjBmE,GAAO06C,EAAQ34B,GAkBnB,OAAO/hB,IAGT66C,EAAOL,GAAOnrC,UAAY,CAExBovC,YAAa,GACb0C,aAAczC,GACdp6C,MAAOu4C,EACPgC,WAAY,GACZr6C,KAAM,GACN48C,SAAU,CACR,IAAK,CACH7yC,IAAK,aACL7N,OAAO,GAET,IAAK,CACH6N,IAAK,cAEP,IAAK,CACHA,IAAK,kBACL7N,OAAO,GAET,IAAK,CACH6N,IAAK,oBAGT8yC,UAAW,CACT,KAAQ,SAAc/8C,GASpB,OARAA,EAAM,GAAKA,EAAM,GAAGjC,QAAQ66C,GAAWC,IAEvC74C,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAM,IAAIjC,QAAQ66C,GAAWC,IAEtD,OAAb74C,EAAM,KACRA,EAAM,GAAK,IAAMA,EAAM,GAAK,KAGvBA,EAAM/D,MAAM,EAAG,IAExB,MAAS,SAAe+D,GA2BtB,OAhBAA,EAAM,GAAKA,EAAM,GAAGT,cAES,QAAzBS,EAAM,GAAG/D,MAAM,EAAG,IAEf+D,EAAM,IACTk2C,GAAOj4C,MAAM+B,EAAM,IAKrBA,EAAM,KAAOA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAAK,GAAkB,SAAbA,EAAM,IAA8B,QAAbA,EAAM,KACvFA,EAAM,KAAOA,EAAM,GAAKA,EAAM,IAAmB,QAAbA,EAAM,KACjCA,EAAM,IACfk2C,GAAOj4C,MAAM+B,EAAM,IAGdA,GAET,OAAU,SAAgBA,GACxB,IAAIg9C,EACAC,GAAYj9C,EAAM,IAAMA,EAAM,GAElC,OAAIu4C,EAAiB,MAAEl4C,KAAKL,EAAM,IACzB,MAILA,EAAM,GACRA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAC1Bi9C,GAAY5E,EAAQh4C,KAAK48C,KACpCD,EAASxG,EAASyG,GAAU,MAC5BD,EAASC,EAASjjD,QAAQ,IAAKijD,EAAS/hD,OAAS8hD,GAAUC,EAAS/hD,UAElE8E,EAAM,GAAKA,EAAM,GAAG/D,MAAM,EAAG+gD,GAC7Bh9C,EAAM,GAAKi9C,EAAShhD,MAAM,EAAG+gD,IAIxBh9C,EAAM/D,MAAM,EAAG,MAG1B2O,OAAQ,CACN,IAAO,SAAasyC,GAClB,IAAIx8C,EAAWw8C,EAAiBn/C,QAAQ66C,GAAWC,IAAWt5C,cAC9D,MAA4B,MAArB29C,EAA2B,WAChC,OAAO,GACL,SAAUlhD,GACZ,OAAOA,EAAK0E,UAAY1E,EAAK0E,SAASnB,gBAAkBmB,IAG5D,MAAS,SAAeylB,GACtB,IAAIg3B,EAAU9F,EAAWlxB,EAAY,KACrC,OAAOg3B,IAAYA,EAAU,IAAI9qC,OAAO,0BAA2B8T,EAAY,IAAM0xB,EAAa,SAAWR,EAAWlxB,GAAW,SAAUnqB,GAC3I,OAAOmhD,EAAQ98C,KAA+B,kBAAnBrE,EAAKmqB,WAA0BnqB,EAAKmqB,WAA0C,qBAAtBnqB,EAAKygB,cAAgCzgB,EAAKygB,aAAa,UAAY,QAG1J,KAAQ,SAAc3kB,EAAMslD,EAAUvX,GACpC,OAAO,SAAU7pC,GACf,IAAIwU,EAAS0lC,GAAO51C,KAAKtE,EAAMlE,GAE/B,OAAc,MAAV0Y,EACkB,OAAb4sC,GAGJA,IAIL5sC,GAAU,GAGU,MAAb4sC,EAAmB5sC,IAAWq1B,EAAqB,OAAbuX,EAAoB5sC,IAAWq1B,EAAqB,OAAbuX,EAAoBvX,GAAmC,IAA1Br1B,EAAOxW,QAAQ6rC,GAA4B,OAAbuX,EAAoBvX,GAASr1B,EAAOxW,QAAQ6rC,IAAU,EAAiB,OAAbuX,EAAoBvX,GAASr1B,EAAOvU,OAAO4pC,EAAM3qC,UAAY2qC,EAAqB,OAAbuX,GAAqB,IAAM5sC,EAAOzS,QAAQi6C,EAAa,KAAO,KAAKh+C,QAAQ6rC,IAAU,EAAiB,OAAbuX,IAAoB5sC,IAAWq1B,GAASr1B,EAAOvU,MAAM,EAAG4pC,EAAM3qC,OAAS,KAAO2qC,EAAQ,QAIjc,MAAS,SAAe1qC,EAAMkiD,EAAMC,EAAWlhD,EAAOE,GACpD,IAAIihD,EAA8B,QAArBpiD,EAAKc,MAAM,EAAG,GACvBuhD,EAA6B,SAAnBriD,EAAKc,OAAO,GACtBwhD,EAAkB,YAATJ,EACb,OAAiB,IAAVjhD,GAAwB,IAATE,EACtB,SAAUN,GACR,QAASA,EAAKiP,YACZ,SAAUjP,EAAM0hD,EAAUx5C,GAC5B,IAAI2D,EACA81C,EACAC,EACAngC,EACAogC,EACA10B,EACAlf,EAAMszC,IAAWC,EAAU,cAAgB,kBAC3CjyC,EAASvP,EAAKiP,WACdnT,EAAO2lD,GAAUzhD,EAAK0E,SAASnB,cAC/Bu+C,GAAY55C,IAAQu5C,EACpBhD,GAAO,EAEX,GAAIlvC,EAAQ,CAEV,GAAIgyC,EAAQ,CACV,KAAOtzC,GAAK,CAGV,IAFAwT,EAAOzhB,EAEAyhB,EAAOA,EAAKxT,IACjB,GAAIwzC,EAAShgC,EAAK/c,SAASnB,gBAAkBzH,EAAyB,IAAlB2lB,EAAKje,SACvD,OAAO,EAKX2pB,EAAQlf,EAAe,SAAT9O,IAAoBguB,GAAS,cAG7C,OAAO,EAKT,GAFAA,EAAQ,CAACq0B,EAAUjyC,EAAOQ,WAAaR,EAAO0nC,WAE1CuK,GAAWM,GAab,IAHArD,GADAoD,GADAh2C,GADA81C,GAHAC,GADAngC,EAAOlS,GACW3N,KAAa6f,EAAK7f,GAAW,KAGtB6f,EAAKsgC,YAAcH,EAAWngC,EAAKsgC,UAAY,KACpD5iD,IAAS,IACX,KAAOi8C,GAAWvvC,EAAM,KACtBA,EAAM,GAC1B4V,EAAOogC,GAAatyC,EAAOW,WAAW2xC,GAE/BpgC,IAASogC,GAAapgC,GAAQA,EAAKxT,KAC1CwwC,EAAOoD,EAAY,IAAM10B,EAAM5C,OAE7B,GAAsB,IAAlB9I,EAAKje,YAAoBi7C,GAAQh9B,IAASzhB,EAAM,CAClD2hD,EAAYxiD,GAAQ,CAACi8C,EAASyG,EAAWpD,GACzC,YAmBJ,GAdIqD,IASFrD,EADAoD,GADAh2C,GADA81C,GAHAC,GADAngC,EAAOzhB,GACW4B,KAAa6f,EAAK7f,GAAW,KAGtB6f,EAAKsgC,YAAcH,EAAWngC,EAAKsgC,UAAY,KACpD5iD,IAAS,IACX,KAAOi8C,GAAWvvC,EAAM,KAM/B,IAAT4yC,EAEF,MAAOh9B,IAASogC,GAAapgC,GAAQA,EAAKxT,KAASwwC,EAAOoD,EAAY,IAAM10B,EAAM5C,UAC3Ek3B,EAAShgC,EAAK/c,SAASnB,gBAAkBzH,EAAyB,IAAlB2lB,EAAKje,cAAqBi7C,IAEzEqD,KAIFH,GAHAC,EAAangC,EAAK7f,KAAa6f,EAAK7f,GAAW,KAGtB6f,EAAKsgC,YAAcH,EAAWngC,EAAKsgC,UAAY,KAC5D5iD,GAAQ,CAACi8C,EAASqD,IAG5Bh9B,IAASzhB,MAUrB,OADAy+C,GAAQn+C,KACQF,GAASq+C,EAAOr+C,IAAU,GAAKq+C,EAAOr+C,GAAS,KAIrE,OAAU,SAAgB4hD,EAAQhD,GAKhC,IAAIjtC,EACAhT,EAAKw7C,EAAKJ,QAAQ6H,IAAWzH,EAAK0H,WAAWD,EAAOz+C,gBAAkB22C,GAAOj4C,MAAM,uBAAyB+/C,GAIhH,OAAIjjD,EAAG6C,GACE7C,EAAGigD,GAIRjgD,EAAGG,OAAS,GACd6S,EAAO,CAACiwC,EAAQA,EAAQ,GAAIhD,GACrBzE,EAAK0H,WAAW7kD,eAAe4kD,EAAOz+C,eAAiB66C,IAAa,SAAUX,EAAMx6C,GAKzF,IAJA,IAAIi/C,EACAlzC,EAAUjQ,EAAG0+C,EAAMuB,GACnBzjD,EAAIyT,EAAQ9P,OAET3D,KAELkiD,EADAyE,EAAMlkD,EAAQy/C,EAAMzuC,EAAQzT,OACd0H,EAAQi/C,GAAOlzC,EAAQzT,OAEpC,SAAUyE,GACb,OAAOjB,EAAGiB,EAAM,EAAG+R,KAIhBhT,IAGXo7C,QAAS,CAEP,IAAOiE,IAAa,SAAUv/C,GAI5B,IAAI01C,EAAQ,GACR1xC,EAAU,GACVs/C,EAAU1H,EAAQ57C,EAASkD,QAAQk6C,EAAO,OAC9C,OAAOkG,EAAQvgD,GAAWw8C,IAAa,SAAUX,EAAMx6C,EAASy+C,EAAUx5C,GAKxE,IAJA,IAAIlI,EACAoiD,EAAYD,EAAQ1E,EAAM,KAAMv1C,EAAK,IACrC3M,EAAIkiD,EAAKv+C,OAEN3D,MACDyE,EAAOoiD,EAAU7mD,MACnBkiD,EAAKliD,KAAO0H,EAAQ1H,GAAKyE,OAG1B,SAAUA,EAAM0hD,EAAUx5C,GAK7B,OAJAqsC,EAAM,GAAKv0C,EACXmiD,EAAQ5N,EAAO,KAAMrsC,EAAKrF,GAE1B0xC,EAAM,GAAK,MACH1xC,EAAQ0nB,UAGpB,IAAO6zB,IAAa,SAAUv/C,GAC5B,OAAO,SAAUmB,GACf,OAAOk6C,GAAOr7C,EAAUmB,GAAMd,OAAS,MAG3C,SAAYk/C,IAAa,SAAUp2C,GAEjC,OADAA,EAAOA,EAAKjG,QAAQ66C,GAAWC,IACxB,SAAU78C,GACf,OAAQA,EAAKgiB,aAAeo4B,EAAQp6C,IAAOhC,QAAQgK,IAAS,MAUhE,KAAQo2C,IAAa,SAAUiE,GAO7B,OALK/F,EAAYj4C,KAAKg+C,GAAQ,KAC5BnI,GAAOj4C,MAAM,qBAAuBogD,GAGtCA,EAAOA,EAAKtgD,QAAQ66C,GAAWC,IAAWt5C,cACnC,SAAUvD,GACf,IAAIsiD,EAEJ,GACE,GAAIA,EAAWtH,EAAiBh7C,EAAKqiD,KAAOriD,EAAKygB,aAAa,aAAezgB,EAAKygB,aAAa,QAE7F,OADA6hC,EAAWA,EAAS/+C,iBACA8+C,GAAyC,IAAjCC,EAAStkD,QAAQqkD,EAAO,YAE9CriD,EAAOA,EAAKiP,aAAiC,IAAlBjP,EAAKwD,UAE1C,OAAO,MAIX,OAAU,SAAgBxD,GACxB,IAAI+kB,EAAOrhB,EAAOwB,UAAYxB,EAAOwB,SAAS6f,KAC9C,OAAOA,GAAQA,EAAK9kB,MAAM,KAAOD,EAAK8mB,IAExC,KAAQ,SAAc9mB,GACpB,OAAOA,IAAS+6C,GAElB,MAAS,SAAe/6C,GACtB,OAAOA,IAAS2D,EAASgQ,iBAAmBhQ,EAAS4+C,UAAY5+C,EAAS4+C,gBAAkBviD,EAAKb,MAAQa,EAAKoH,OAASpH,EAAK44C,WAG9H,QAAWiG,IAAqB,GAChC,SAAYA,IAAqB,GACjC,QAAW,SAAiB7+C,GAG1B,IAAI0E,EAAW1E,EAAK0E,SAASnB,cAC7B,MAAoB,UAAbmB,KAA0B1E,EAAKihB,SAAwB,WAAbvc,KAA2B1E,EAAK6G,UAEnF,SAAY,SAAkB7G,GAQ5B,OALIA,EAAKiP,YAEPjP,EAAKiP,WAAW6pC,eAGO,IAAlB94C,EAAK6G,UAGd,MAAS,SAAe7G,GAKtB,IAAKA,EAAOA,EAAK+P,WAAY/P,EAAMA,EAAOA,EAAKujB,YAC7C,GAAIvjB,EAAKwD,SAAW,EAClB,OAAO,EAIX,OAAO,GAET,OAAU,SAAgBxD,GACxB,OAAQu6C,EAAKJ,QAAe,MAAEn6C,IAGhC,OAAU,SAAgBA,GACxB,OAAOy8C,GAAQp4C,KAAKrE,EAAK0E,WAE3B,MAAS,SAAe1E,GACtB,OAAOw8C,GAAQn4C,KAAKrE,EAAK0E,WAE3B,OAAU,SAAgB1E,GACxB,IAAIlE,EAAOkE,EAAK0E,SAASnB,cACzB,MAAgB,UAATzH,GAAkC,WAAdkE,EAAKb,MAA8B,WAATrD,GAEvD,KAAQ,SAAckE,GACpB,IAAIsE,EACJ,MAAuC,UAAhCtE,EAAK0E,SAASnB,eAA2C,SAAdvD,EAAKb,OAEjB,OAArCmF,EAAOtE,EAAKygB,aAAa,UAA2C,SAAvBnc,EAAKf,gBAGrD,MAASw7C,IAAuB,WAC9B,MAAO,CAAC,MAEV,KAAQA,IAAuB,SAAUyD,EAAetjD,GACtD,MAAO,CAACA,EAAS,MAEnB,GAAM6/C,IAAuB,SAAUyD,EAAetjD,EAAQ8/C,GAC5D,MAAO,CAACA,EAAW,EAAIA,EAAW9/C,EAAS8/C,MAE7C,KAAQD,IAAuB,SAAUE,EAAc//C,GAGrD,IAFA,IAAI3D,EAAI,EAEDA,EAAI2D,EAAQ3D,GAAK,EACtB0jD,EAAalhD,KAAKxC,GAGpB,OAAO0jD,KAET,IAAOF,IAAuB,SAAUE,EAAc//C,GAGpD,IAFA,IAAI3D,EAAI,EAEDA,EAAI2D,EAAQ3D,GAAK,EACtB0jD,EAAalhD,KAAKxC,GAGpB,OAAO0jD,KAET,GAAMF,IAAuB,SAAUE,EAAc//C,EAAQ8/C,GAG3D,IAFA,IAAIzjD,EAAIyjD,EAAW,EAAIA,EAAW9/C,EAAS8/C,EAAW9/C,EAASA,EAAS8/C,IAE/DzjD,GAAK,GACZ0jD,EAAalhD,KAAKxC,GAGpB,OAAO0jD,KAET,GAAMF,IAAuB,SAAUE,EAAc//C,EAAQ8/C,GAG3D,IAFA,IAAIzjD,EAAIyjD,EAAW,EAAIA,EAAW9/C,EAAS8/C,IAElCzjD,EAAI2D,GACX+/C,EAAalhD,KAAKxC,GAGpB,OAAO0jD,QAIR9E,QAAa,IAAII,EAAKJ,QAAY,GAE7B,CACRsI,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,UAAU,EACVprB,OAAO,GAEP+iB,EAAKJ,QAAQ5+C,GAAKojD,GAAkBpjD,GAGtC,IAAKA,IAAK,CACRsnD,QAAQ,EACRC,OAAO,GAEPvI,EAAKJ,QAAQ5+C,GAAKqjD,GAAmBrjD,GAIvC,SAAS0mD,MAuET,SAAShE,GAAW8E,GAKlB,IAJA,IAAIxnD,EAAI,EACJoF,EAAMoiD,EAAO7jD,OACbL,EAAW,GAERtD,EAAIoF,EAAKpF,IACdsD,GAAYkkD,EAAOxnD,GAAGiB,MAGxB,OAAOqC,EAGT,SAAS0+C,GAAc4E,EAASa,EAAYna,GAC1C,IAAI56B,EAAM+0C,EAAW/0C,IACjBg1C,EAAOD,EAAWz0C,KAClBzR,EAAMmmD,GAAQh1C,EACdi1C,EAAmBra,GAAgB,eAAR/rC,EAC3BqmD,EAAWl4C,IACf,OAAO+3C,EAAW5iD,MAClB,SAAUJ,EAAMlB,EAASoJ,GACvB,KAAOlI,EAAOA,EAAKiO,IACjB,GAAsB,IAAlBjO,EAAKwD,UAAkB0/C,EACzB,OAAOf,EAAQniD,EAAMlB,EAASoJ,GAIlC,OAAO,GAET,SAAUlI,EAAMlB,EAASoJ,GACvB,IAAIk7C,EACAzB,EACAC,EACAyB,EAAW,CAACjI,EAAS+H,GAEzB,GAAIj7C,GACF,KAAOlI,EAAOA,EAAKiO,IACjB,IAAsB,IAAlBjO,EAAKwD,UAAkB0/C,IACrBf,EAAQniD,EAAMlB,EAASoJ,GACzB,OAAO,OAKb,KAAOlI,EAAOA,EAAKiO,IACjB,GAAsB,IAAlBjO,EAAKwD,UAAkB0/C,EAMzB,GAFAvB,GAHAC,EAAa5hD,EAAK4B,KAAa5B,EAAK4B,GAAW,KAGtB5B,EAAK+hD,YAAcH,EAAW5hD,EAAK+hD,UAAY,IAEpEkB,GAAQA,IAASjjD,EAAK0E,SAASnB,cACjCvD,EAAOA,EAAKiO,IAAQjO,MACf,KAAKojD,EAAWzB,EAAY7kD,KAASsmD,EAAS,KAAOhI,GAAWgI,EAAS,KAAOD,EAErF,OAAOE,EAAS,GAAKD,EAAS,GAK9B,GAFAzB,EAAY7kD,GAAOumD,EAEfA,EAAS,GAAKlB,EAAQniD,EAAMlB,EAASoJ,GACvC,OAAO,EAOjB,OAAO,GAIX,SAASo7C,GAAeC,GACtB,OAAOA,EAASrkD,OAAS,EAAI,SAAUc,EAAMlB,EAASoJ,GAGpD,IAFA,IAAI3M,EAAIgoD,EAASrkD,OAEV3D,KACL,IAAKgoD,EAAShoD,GAAGyE,EAAMlB,EAASoJ,GAC9B,OAAO,EAIX,OAAO,GACLq7C,EAAS,GAcf,SAASC,GAASpB,EAAWriD,EAAK6O,EAAQ9P,EAASoJ,GAOjD,IANA,IAAIlI,EACAyjD,EAAe,GACfloD,EAAI,EACJoF,EAAMyhD,EAAUljD,OAChBwkD,EAAgB,MAAP3jD,EAENxE,EAAIoF,EAAKpF,KACVyE,EAAOoiD,EAAU7mD,MACdqT,IAAUA,EAAO5O,EAAMlB,EAASoJ,KACnCu7C,EAAa1lD,KAAKiC,GAEd0jD,GACF3jD,EAAIhC,KAAKxC,KAMjB,OAAOkoD,EAGT,SAASE,GAAW5C,EAAWliD,EAAUsjD,EAASyB,EAAYC,EAAYC,GASxE,OARIF,IAAeA,EAAWhiD,KAC5BgiD,EAAaD,GAAWC,IAGtBC,IAAeA,EAAWjiD,KAC5BiiD,EAAaF,GAAWE,EAAYC,IAG/B1F,IAAa,SAAUX,EAAM56C,EAAS/D,EAASoJ,GACpD,IAAIi8B,EACA5oC,EACAyE,EACA+jD,EAAS,GACTC,EAAU,GACVC,EAAcphD,EAAQ3D,OAE1BO,EAAQg+C,GAlDZ,SAA0B5+C,EAAUqlD,EAAUrhD,GAI5C,IAHA,IAAItH,EAAI,EACJoF,EAAMujD,EAAShlD,OAEZ3D,EAAIoF,EAAKpF,IACd2+C,GAAOr7C,EAAUqlD,EAAS3oD,GAAIsH,GAGhC,OAAOA,EA0CWshD,CAAiBtlD,GAAY,IAAKC,EAAQ0E,SAAW,CAAC1E,GAAWA,EAAS,IAE1FslD,GAAYrD,IAActD,GAAS5+C,EAA+DY,EAAnD+jD,GAAS/jD,EAAOskD,EAAQhD,EAAWjiD,EAASoJ,GACvFm8C,EAAalC,EACjB0B,IAAepG,EAAOsD,EAAYkD,GAAeL,GACjD,GACA/gD,EAAUuhD,EAOV,GALIjC,GACFA,EAAQiC,EAAWC,EAAYvlD,EAASoJ,GAItC07C,EAMF,IALAzf,EAAOqf,GAASa,EAAYL,GAC5BJ,EAAWzf,EAAM,GAAIrlC,EAASoJ,GAE9B3M,EAAI4oC,EAAKjlC,OAEF3D,MACDyE,EAAOmkC,EAAK5oC,MACd8oD,EAAWL,EAAQzoD,MAAQ6oD,EAAUJ,EAAQzoD,IAAMyE,IAKzD,GAAIy9C,GACF,GAAIoG,GAAc9C,EAAW,CAC3B,GAAI8C,EAAY,CAKd,IAHA1f,EAAO,GACP5oC,EAAI8oD,EAAWnlD,OAER3D,MACDyE,EAAOqkD,EAAW9oD,KAEpB4oC,EAAKpmC,KAAKqmD,EAAU7oD,GAAKyE,GAI7B6jD,EAAW,KAAMQ,EAAa,GAAIlgB,EAAMj8B,GAM1C,IAFA3M,EAAI8oD,EAAWnlD,OAER3D,MACAyE,EAAOqkD,EAAW9oD,MAAQ4oC,EAAO0f,EAAa7lD,EAAQy/C,EAAMz9C,GAAQ+jD,EAAOxoD,KAAO,IACrFkiD,EAAKtZ,KAAUthC,EAAQshC,GAAQnkC,UAMrCqkD,EAAab,GAASa,IAAexhD,EAAUwhD,EAAWtjD,OAAOkjD,EAAaI,EAAWnlD,QAAUmlD,GAE/FR,EACFA,EAAW,KAAMhhD,EAASwhD,EAAYn8C,GAEtCnK,EAAKmC,MAAM2C,EAASwhD,MAM5B,SAASC,GAAkBvB,GAsBzB,IArBA,IAAIwB,EACApC,EACAvhD,EACAD,EAAMoiD,EAAO7jD,OACbslD,EAAkBjK,EAAKuG,SAASiC,EAAO,GAAG5jD,MAC1CslD,EAAmBD,GAAmBjK,EAAKuG,SAAS,KACpDvlD,EAAIipD,EAAkB,EAAI,EAE9BE,EAAenH,IAAc,SAAUv9C,GACrC,OAAOA,IAASukD,IACfE,GAAkB,GACjBE,EAAkBpH,IAAc,SAAUv9C,GAC5C,OAAOhC,EAAQumD,EAAcvkD,IAAS,IACrCykD,GAAkB,GACjBlB,EAAW,CAAC,SAAUvjD,EAAMlB,EAASoJ,GACvC,IAAIxI,GAAO8kD,IAAoBt8C,GAAOpJ,IAAY67C,MAAuB4J,EAAezlD,GAAS0E,SAAWkhD,EAAa1kD,EAAMlB,EAASoJ,GAAOy8C,EAAgB3kD,EAAMlB,EAASoJ,IAG9K,OADAq8C,EAAe,KACR7kD,IAGFnE,EAAIoF,EAAKpF,IACd,GAAI4mD,EAAU5H,EAAKuG,SAASiC,EAAOxnD,GAAG4D,MACpCokD,EAAW,CAAChG,GAAc+F,GAAeC,GAAWpB,QAC/C,CAGL,IAFAA,EAAU5H,EAAK3rC,OAAOm0C,EAAOxnD,GAAG4D,MAAMe,MAAM,KAAM6iD,EAAOxnD,GAAG0H,UAEhDrB,GAAU,CAIpB,IAFAhB,IAAMrF,EAECqF,EAAID,IACL45C,EAAKuG,SAASiC,EAAOniD,GAAGzB,MADdyB,KAMhB,OAAO+iD,GAAWpoD,EAAI,GAAK+nD,GAAeC,GAAWhoD,EAAI,GAAK0iD,GAC9D8E,EAAO9iD,MAAM,EAAG1E,EAAI,GAAGsK,OAAO,CAC5BrJ,MAA8B,MAAvBumD,EAAOxnD,EAAI,GAAG4D,KAAe,IAAM,MACxC4C,QAAQk6C,EAAO,MAAOkG,EAAS5mD,EAAIqF,GAAK0jD,GAAkBvB,EAAO9iD,MAAM1E,EAAGqF,IAAKA,EAAID,GAAO2jD,GAAkBvB,EAASA,EAAO9iD,MAAMW,IAAKA,EAAID,GAAOs9C,GAAW8E,IAGnKQ,EAASxlD,KAAKokD,GAIlB,OAAOmB,GAAeC,GA7TxBtB,GAAW9kD,UAAYo9C,EAAKqK,QAAUrK,EAAKJ,QAC3CI,EAAK0H,WAAa,IAAIA,GAEtBzH,EAAWN,GAAOM,SAAW,SAAU37C,EAAUgmD,GAC/C,IAAI71C,EACAhL,EACA++C,EACA5jD,EACA2lD,EACAnH,EACAoH,EACArtB,EAAS6jB,EAAW18C,EAAW,KAEnC,GAAI64B,EACF,OAAOmtB,EAAY,EAAIntB,EAAOz3B,MAAM,GAOtC,IAJA6kD,EAAQjmD,EACR8+C,EAAS,GACToH,EAAaxK,EAAKwG,UAEX+D,GAAO,CAwBZ,IAAK3lD,KAtBA6P,KAAYhL,EAAQk4C,EAAOj4C,KAAK6gD,MAC/B9gD,IAEF8gD,EAAQA,EAAM7kD,MAAM+D,EAAM,GAAG9E,SAAW4lD,GAG1CnH,EAAO5/C,KAAKglD,EAAS,KAGvB/zC,GAAU,GAENhL,EAAQm4C,EAAal4C,KAAK6gD,MAC5B91C,EAAUhL,EAAMiJ,QAChB81C,EAAOhlD,KAAK,CACVvB,MAAOwS,EAEP7P,KAAM6E,EAAM,GAAGjC,QAAQk6C,EAAO,OAEhC6I,EAAQA,EAAM7kD,MAAM+O,EAAQ9P,SAIjBq7C,EAAK3rC,SACX5K,EAAQu4C,EAAUp9C,GAAM8E,KAAK6gD,KAAaC,EAAW5lD,MAAU6E,EAAQ+gD,EAAW5lD,GAAM6E,MAC3FgL,EAAUhL,EAAMiJ,QAChB81C,EAAOhlD,KAAK,CACVvB,MAAOwS,EACP7P,KAAMA,EACN8D,QAASe,IAEX8gD,EAAQA,EAAM7kD,MAAM+O,EAAQ9P,SAIhC,IAAK8P,EACH,MAOJ,OAAO61C,EAAYC,EAAM5lD,OAAS4lD,EAAQ5K,GAAOj4C,MAAMpD,GACvD08C,EAAW18C,EAAU8+C,GAAQ19C,MAAM,IAoXrCw6C,EAAUP,GAAOO,QAAU,SAAU57C,EAAUmF,GAG7C,IAAIzI,EACAypD,EAAc,GACdC,EAAkB,GAClBvtB,EAAS8jB,EAAc38C,EAAW,KAEtC,IAAK64B,EAAQ,CAQX,IANK1zB,IACHA,EAAQw2C,EAAS37C,IAGnBtD,EAAIyI,EAAM9E,OAEH3D,MACLm8B,EAAS4sB,GAAkBtgD,EAAMzI,KAEtBqG,GACTojD,EAAYjnD,KAAK25B,GAEjButB,EAAgBlnD,KAAK25B,IAKzBA,EAAS8jB,EAAc38C,EAjJ3B,SAAkComD,EAAiBD,GACjD,IAAIE,EAAQF,EAAY9lD,OAAS,EAC7BimD,EAAYF,EAAgB/lD,OAAS,EACrCkmD,EAAe,SAAsB3H,EAAM3+C,EAASoJ,EAAKrF,EAASwiD,GACpE,IAAIrlD,EACAY,EACAuhD,EACAmD,EAAe,EACf/pD,EAAI,IACJ6mD,EAAY3E,GAAQ,GACpB8H,EAAa,GACbC,EAAgB7K,EAEpBl7C,EAAQg+C,GAAQ0H,GAAa5K,EAAKr2C,KAAU,IAAE,IAAKmhD,GAEnDI,EAAgBrK,GAA4B,MAAjBoK,EAAwB,EAAI3jD,KAAKC,UAAY,GACpEnB,EAAMlB,EAAMP,OAahB,IAXImmD,IAKF1K,EAAmB77C,GAAW6E,GAAY7E,GAAWumD,GAMhD9pD,IAAMoF,GAA4B,OAApBX,EAAOP,EAAMlE,IAAaA,IAAK,CAClD,GAAI4pD,GAAanlD,EAAM,CAWrB,IAVAY,EAAI,EAKC9B,GAAWkB,EAAKoE,eAAiBT,IACpCm3C,EAAY96C,GACZkI,GAAO8yC,GAGFmH,EAAU8C,EAAgBrkD,MAC/B,GAAIuhD,EAAQniD,EAAMlB,GAAW6E,EAAUuE,GAAM,CAC3CrF,EAAQ9E,KAAKiC,GACb,MAIAqlD,IACFjK,EAAUqK,GAKVP,KAEEllD,GAAQmiD,GAAWniD,IACrBslD,IAIE7H,GACF2E,EAAUrkD,KAAKiC,IAerB,GARAslD,GAAgB/pD,EAQZ2pD,GAAS3pD,IAAM+pD,EAAc,CAG/B,IAFA1kD,EAAI,EAEGuhD,EAAU6C,EAAYpkD,MAC3BuhD,EAAQC,EAAWmD,EAAYzmD,EAASoJ,GAG1C,GAAIu1C,EAAM,CAER,GAAI6H,EAAe,EACjB,KAAO/pD,KACC6mD,EAAU7mD,IAAMgqD,EAAWhqD,KAC/BgqD,EAAWhqD,GAAKgvB,EAAI7uB,KAAKmH,IAM/B0iD,EAAa/B,GAAS+B,GAIxBxnD,EAAKmC,MAAM2C,EAAS0iD,GAEhBF,IAAc5H,GAAQ8H,EAAWrmD,OAAS,GAAKomD,EAAeN,EAAY9lD,OAAS,GACrFg7C,GAAO9qC,WAAWvM,GAUtB,OALIwiD,IACFjK,EAAUqK,EACV9K,EAAmB6K,GAGdpD,GAGT,OAAO8C,EAAQ9G,GAAagH,GAAgBA,EA8BTM,CAAyBT,EAAiBD,KAEpEnmD,SAAWA,EAGpB,OAAO64B,GAaTgjB,EAASR,GAAOQ,OAAS,SAAU77C,EAAUC,EAAS+D,EAAS46C,GAC7D,IAAIliD,EACAwnD,EACA4C,EACAxmD,EACA+E,EACA0hD,EAA+B,oBAAb/mD,GAA2BA,EAC7CmF,GAASy5C,GAAQjD,EAAS37C,EAAW+mD,EAAS/mD,UAAYA,GAI9D,GAHAgE,EAAUA,GAAW,GAGA,IAAjBmB,EAAM9E,OAAc,CAItB,IAFA6jD,EAAS/+C,EAAM,GAAKA,EAAM,GAAG/D,MAAM,IAExBf,OAAS,GAAkC,QAA5BymD,EAAQ5C,EAAO,IAAI5jD,MAAsC,IAArBL,EAAQ0E,UAAkBw3C,GAAkBT,EAAKuG,SAASiC,EAAO,GAAG5jD,MAAO,CAGvI,KAFAL,GAAWy7C,EAAKr2C,KAAS,GAAEyhD,EAAM1iD,QAAQ,GAAGlB,QAAQ66C,GAAWC,IAAY/9C,IAAY,IAAI,IAGzF,OAAO+D,EACE+iD,IACT9mD,EAAUA,EAAQmQ,YAGpBpQ,EAAWA,EAASoB,MAAM8iD,EAAO91C,QAAQzQ,MAAM0C,QAMjD,IAFA3D,EAAIghD,EAAwB,aAAEl4C,KAAKxF,GAAY,EAAIkkD,EAAO7jD,OAEnD3D,MACLoqD,EAAQ5C,EAAOxnD,IAEXg/C,EAAKuG,SAAS3hD,EAAOwmD,EAAMxmD,QAI/B,IAAI+E,EAAOq2C,EAAKr2C,KAAK/E,MAEfs+C,EAAOv5C,EAAKyhD,EAAM1iD,QAAQ,GAAGlB,QAAQ66C,GAAWC,IAAYF,GAASt4C,KAAK0+C,EAAO,GAAG5jD,OAAS6+C,GAAYl/C,EAAQmQ,aAAenQ,IAAU,CAK5I,GAHAikD,EAAOhiD,OAAOxF,EAAG,KACjBsD,EAAW4+C,EAAKv+C,QAAU++C,GAAW8E,IAInC,OADAhlD,EAAKmC,MAAM2C,EAAS46C,GACb56C,EAGT,OASR,OADC+iD,GAAYnL,EAAQ57C,EAAUmF,IAAQy5C,EAAM3+C,GAAUk8C,EAAgBn4C,GAAU/D,GAAW69C,GAASt4C,KAAKxF,IAAam/C,GAAYl/C,EAAQmQ,aAAenQ,GACnJ+D,GAKTvE,EAAQqiD,WAAa/+C,EAAQyB,MAAM,IAAIvC,KAAK46C,GAAWnxC,KAAK,MAAQ3I,EAGpEtD,EAAQoiD,mBAAqB7F,EAE7BC,IAGAx8C,EAAQ8hD,aAAe/B,IAAO,SAAUjqC,GAEtC,OAAwE,EAAjEA,EAAG4rC,wBAAwBr8C,EAASoC,cAAc,gBAKtDs4C,IAAO,SAAUjqC,GAEpB,OADAA,EAAGoP,UAAY,mBAC+B,MAAvCpP,EAAGrE,WAAW0Q,aAAa,YAElC69B,GAAU,0BAA0B,SAAUt+C,EAAMlE,EAAMu+C,GACxD,IAAKA,EACH,OAAOr6C,EAAKygB,aAAa3kB,EAA6B,SAAvBA,EAAKyH,cAA2B,EAAI,MAOpEjF,EAAQy9C,YAAesC,IAAO,SAAUjqC,GAG3C,OAFAA,EAAGoP,UAAY,WACfpP,EAAGrE,WAAWwlC,aAAa,QAAS,IACW,KAAxCnhC,EAAGrE,WAAW0Q,aAAa,aAElC69B,GAAU,SAAS,SAAUt+C,EAAM6lD,EAAOxL,GACxC,IAAKA,GAAyC,UAAhCr6C,EAAK0E,SAASnB,cAC1B,OAAOvD,EAAKkhB,gBAObm9B,IAAO,SAAUjqC,GACpB,OAAsC,MAA/BA,EAAGqM,aAAa,gBAEvB69B,GAAU1C,GAAU,SAAU57C,EAAMlE,EAAMu+C,GACxC,IAAI58B,EAEJ,IAAK48B,EACH,OAAsB,IAAfr6C,EAAKlE,GAAiBA,EAAKyH,eAAiBka,EAAMzd,EAAK0/C,iBAAiB5jD,KAAU2hB,EAAI+iC,UAAY/iC,EAAIjhB,MAAQ,QAM3H,IAAIspD,GAAUpiD,EAAOw2C,OAErBA,GAAO6L,WAAa,WAKlB,OAJIriD,EAAOw2C,SAAWA,KACpBx2C,EAAOw2C,OAAS4L,IAGX5L,SAMN,KAFD,aACE,OAAOA,IACR,8BAjlEL,CAwlEGx2C,S,gBClmEH,UAAO,CAAC,WAmBP,KAnBsB,EAAF,SAAY9E,GAC/B,aAEA,OAAO,SAAUoB,EAAMiO,EAAKyB,GAI1B,IAHA,IAAIV,EAAU,GACVg3C,OAAqBrkD,IAAV+N,GAEP1P,EAAOA,EAAKiO,KAA2B,IAAlBjO,EAAKwD,UAChC,GAAsB,IAAlBxD,EAAKwD,SAAgB,CACvB,GAAIwiD,GAAYpnD,EAAOoB,GAAM01C,GAAGhmC,GAC9B,MAGFV,EAAQjR,KAAKiC,GAIjB,OAAOgP,IAEV,4B,gBCnBD,WAcC,KAdD,aACE,aAEA,OAAO,SAAUhS,EAAGgD,GAGlB,IAFA,IAAIgP,EAAU,GAEPhS,EAAGA,EAAIA,EAAEumB,YACK,IAAfvmB,EAAEwG,UAAkBxG,IAAMgD,GAC5BgP,EAAQjR,KAAKf,GAIjB,OAAOgS,IAEV,+B,gBCdD,UAAO,CAAC,KAAW,YAalB,KAbkC,EAAF,SAAYpQ,GAC3C,aAGA,IAAIqnD,EAAc,yDAElBrnD,EAAOiL,SAASuI,cAAgB,SAAUnQ,EAAOikD,GAG3CxiD,OAAOynC,SAAWznC,OAAOynC,QAAQgb,MAAQlkD,GAASgkD,EAAY5hD,KAAKpC,EAAMnG,OAC3E4H,OAAOynC,QAAQgb,KAAK,8BAAgClkD,EAAMmkD,QAASnkD,EAAMikD,MAAOA,KAGrF,4B,gBCbD,UAAO,CAAC,WAQP,KARmB,EAAF,SAAYtnD,GAC5B,aAEAA,EAAOi3C,eAAiB,SAAU5zC,GAChCyB,OAAO4I,YAAW,WAChB,MAAMrK,OAGX,4B,gBCRD,sBAAmD,OAAO1E,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAU,MAAiB,MAAoB,KAAuB,YAqK7E,KArKqG,EAAF,SAAYmB,EAAQ+F,EAAQ2W,EAAWhI,EAAU6M,GACnJ,aAUA,IAAIkmC,EAAS,gCACTC,EAAa,SA2BjB,SAASC,EAASvmD,EAAMlD,EAAKyO,GAC3B,IAAIzP,EAGJ,QAAa6F,IAAT4J,GAAwC,IAAlBvL,EAAKwD,SAI7B,GAHA1H,EAAO,QAAUgB,EAAIiF,QAAQukD,EAAY,OAAO/iD,cAG5B,kBAFpBgI,EAAOvL,EAAKygB,aAAa3kB,IAEK,CAC5B,IACEyP,EAnCR,SAAiBA,GACf,MAAa,SAATA,GAIS,UAATA,IAIS,SAATA,EACK,KAILA,KAAUA,EAAO,IACXA,EAGN86C,EAAOhiD,KAAKkH,GACP/C,KAAKC,MAAM8C,GAGbA,GAaMsrB,CAAQtrB,GACf,MAAOD,IAGT6U,EAAS9L,IAAIrU,EAAMlD,EAAKyO,QAExBA,OAAO5J,EAIX,OAAO4J,EAyGT,OAtGA3M,EAAOoC,OAAO,CACZoV,QAAS,SAAiBpW,GACxB,OAAOmgB,EAAS/J,QAAQpW,IAASsT,EAAS8C,QAAQpW,IAEpDuL,KAAM,SAAcvL,EAAMlE,EAAMo1B,GAC9B,OAAO/Q,EAASxb,OAAO3E,EAAMlE,EAAMo1B,IAErCs1B,WAAY,SAAoBxmD,EAAMlE,GACpCqkB,EAASlK,OAAOjW,EAAMlE,IAIxBo1B,MAAO,SAAelxB,EAAMlE,EAAMyP,GAChC,OAAO+H,EAAS3O,OAAO3E,EAAMlE,EAAMyP,IAErCk7C,YAAa,SAAqBzmD,EAAMlE,GACtCwX,EAAS2C,OAAOjW,EAAMlE,MAG1B8C,EAAOG,GAAGiC,OAAO,CACfuK,KAAM,SAAczO,EAAKN,GACvB,IAAIjB,EACAO,EACAyP,EACAvL,EAAOV,KAAK,GACZkxC,EAAQxwC,GAAQA,EAAK+7C,WAEzB,QAAYp6C,IAAR7E,EAAmB,CACrB,GAAIwC,KAAKJ,SACPqM,EAAO4U,EAAS/jB,IAAI4D,GAEE,IAAlBA,EAAKwD,WAAmB8P,EAASlX,IAAI4D,EAAM,iBAAiB,CAG9D,IAFAzE,EAAIi1C,EAAMtxC,OAEH3D,KAGDi1C,EAAMj1C,IAGsB,KAF9BO,EAAO00C,EAAMj1C,GAAGO,MAEPkC,QAAQ,WACflC,EAAOwf,EAAUxf,EAAKmE,MAAM,IAC5BsmD,EAASvmD,EAAMlE,EAAMyP,EAAKzP,KAKhCwX,EAASe,IAAIrU,EAAM,gBAAgB,GAIvC,OAAOuL,EAIT,MAAqB,WAAjBhO,EAAQT,GACHwC,KAAKO,MAAK,WACfsgB,EAAS9L,IAAI/U,KAAMxC,MAIhB6H,EAAOrF,MAAM,SAAU9C,GAC5B,IAAI+O,EAMJ,GAAIvL,QAAkB2B,IAAVnF,EAKV,YAAamF,KAFb4J,EAAO4U,EAAS/jB,IAAI4D,EAAMlD,UAUb6E,KAFb4J,EAAOg7C,EAASvmD,EAAMlD,IALbyO,OAYT,EAIFjM,KAAKO,MAAK,WAERsgB,EAAS9L,IAAI/U,KAAMxC,EAAKN,QAEzB,KAAMA,EAAO2D,UAAUjB,OAAS,EAAG,MAAM,IAE9CsnD,WAAY,SAAoB1pD,GAC9B,OAAOwC,KAAKO,MAAK,WACfsgB,EAASlK,OAAO3W,KAAMxC,SAIrB8B,GACR,4B,gBCvKD,UAAO,CAAC,KAAW,MAAY,YAkB9B,KAjBE,EAAF,SAAYA,GACX,aAeA,OAZAA,EAAOG,GAAGw9B,MAAQ,SAAUuR,EAAM3uC,GAGhC,OAFA2uC,EAAOlvC,EAAOuxC,IAAKvxC,EAAOuxC,GAAGiC,OAAOtE,IAAgBA,EACpD3uC,EAAOA,GAAQ,KACRG,KAAKgwB,MAAMnwB,GAAM,SAAUoP,EAAM6P,GACtC,IAAI/R,EAAU3I,OAAO4I,WAAWiC,EAAMu/B,GAEtC1vB,EAAMuN,KAAO,WACXjoB,OAAOmJ,aAAaR,QAKnBzN,EAAOG,GAAGw9B,OAClB,4B,gBClBD,UAAO,CAAC,KAAW,KAAwB,YAmG1C,KAnG4E,EAAF,SAAY39B,EAAQ0U,EAAUq8B,GACvG,aAEA,IAAI+W,EAAoB,GAExB,SAASC,EAAkB3mD,GACzB,IAAImkC,EACAzhC,EAAM1C,EAAKoE,cACXM,EAAW1E,EAAK0E,SAChB2X,EAAUqqC,EAAkBhiD,GAEhC,OAAI2X,IAIJ8nB,EAAOzhC,EAAIojB,KAAK5C,YAAYxgB,EAAIqD,cAAcrB,IAC9C2X,EAAUzd,EAAOwe,IAAI+mB,EAAM,WAC3BA,EAAKl1B,WAAWoT,YAAY8hB,GAEZ,SAAZ9nB,IACFA,EAAU,SAGZqqC,EAAkBhiD,GAAY2X,EACvBA,GAGT,SAASuzB,EAASF,EAAU7iB,GAO1B,IANA,IAAIxQ,EACArc,EACA4mD,EAAS,GACT13C,EAAQ,EACRhQ,EAASwwC,EAASxwC,OAEfgQ,EAAQhQ,EAAQgQ,KACrBlP,EAAO0vC,EAASxgC,IAENiP,QAIV9B,EAAUrc,EAAKme,MAAM9B,QAEjBwQ,GAIc,SAAZxQ,IACFuqC,EAAO13C,GAASoE,EAASlX,IAAI4D,EAAM,YAAc,KAE5C4mD,EAAO13C,KACVlP,EAAKme,MAAM9B,QAAU,KAIE,KAAvBrc,EAAKme,MAAM9B,SAAkBszB,EAAmB3vC,KAClD4mD,EAAO13C,GAASy3C,EAAkB3mD,KAGpB,SAAZqc,IACFuqC,EAAO13C,GAAS,OAEhBoE,EAASe,IAAIrU,EAAM,UAAWqc,KAMpC,IAAKnN,EAAQ,EAAGA,EAAQhQ,EAAQgQ,IACT,MAAjB03C,EAAO13C,KACTwgC,EAASxgC,GAAOiP,MAAM9B,QAAUuqC,EAAO13C,IAI3C,OAAOwgC,EAwBT,OArBA9wC,EAAOG,GAAGiC,OAAO,CACf6rB,KAAM,WACJ,OAAO+iB,EAAStwC,MAAM,IAExBotB,KAAM,WACJ,OAAOkjB,EAAStwC,OAElBmyC,OAAQ,SAAgB/jC,GACtB,MAAqB,mBAAVA,EACFA,EAAQpO,KAAKutB,OAASvtB,KAAKotB,OAG7BptB,KAAKO,MAAK,WACX8vC,EAAmBrwC,MACrBV,EAAOU,MAAMutB,OAEbjuB,EAAOU,MAAMotB,aAKdkjB,GACR,4B,gBCnGD,WAqBC,KArBD,aACE,aAEA,OAAO,SAAU5vC,EAAMiB,EAASnB,GAC9B,IAAIJ,EACA5D,EACA4gC,EAAM,GAEV,IAAK5gC,KAAQmF,EACXy7B,EAAI5gC,GAAQkE,EAAKme,MAAMriB,GACvBkE,EAAKme,MAAMriB,GAAQmF,EAAQnF,GAK7B,IAAKA,KAFL4D,EAAMI,EAASpE,KAAKsE,GAEPiB,EACXjB,EAAKme,MAAMriB,GAAQ4gC,EAAI5gC,GAGzB,OAAO4D,IAEV,+B,gBCrBD,UAAO,CAAC,YAIP,KAJuB,EAAF,SAAY+b,GAChC,aAEA,OAAO,IAAIpF,OAAOoF,EAAUlR,KAAK,KAAM,MACxC,4B,gBCJD,UAAO,CAAC,KAAW,MAAwB,YAsG1C,KAtGqD,EAAF,SAAY3L,EAAQmd,GACtE,aAEA,SAASs1B,EAAMrxC,EAAMiB,EAASy5B,EAAM75B,EAAKkrB,GACvC,OAAO,IAAIslB,EAAMl0C,UAAU6B,KAAKgB,EAAMiB,EAASy5B,EAAM75B,EAAKkrB,GAG5DntB,EAAOyyC,MAAQA,EACfA,EAAMl0C,UAAY,CAChBO,YAAa2zC,EACbryC,KAAM,SAAcgB,EAAMiB,EAASy5B,EAAM75B,EAAKkrB,EAAQsqB,GACpD/2C,KAAKU,KAAOA,EACZV,KAAKo7B,KAAOA,EACZp7B,KAAKysB,OAASA,GAAUntB,EAAOmtB,OAAO/T,SACtC1Y,KAAK2B,QAAUA,EACf3B,KAAK6tB,MAAQ7tB,KAAKoZ,IAAMpZ,KAAKmP,MAC7BnP,KAAKuB,IAAMA,EACXvB,KAAK+2C,KAAOA,IAASz3C,EAAOqf,UAAUyc,GAAQ,GAAK,OAErDjsB,IAAK,WACH,IAAI2P,EAAQizB,EAAMsH,UAAUr5C,KAAKo7B,MACjC,OAAOtc,GAASA,EAAMhiB,IAAMgiB,EAAMhiB,IAAIkD,MAAQ+xC,EAAMsH,UAAU3gC,SAAS5b,IAAIkD,OAE7EyrC,IAAK,SAAaxB,GAChB,IAAIsd,EACAzoC,EAAQizB,EAAMsH,UAAUr5C,KAAKo7B,MAoBjC,OAlBIp7B,KAAK2B,QAAQyqB,SACfpsB,KAAK+nC,IAAMwf,EAAQjoD,EAAOmtB,OAAOzsB,KAAKysB,QAAQwd,EAASjqC,KAAK2B,QAAQyqB,SAAW6d,EAAS,EAAG,EAAGjqC,KAAK2B,QAAQyqB,UAE3GpsB,KAAK+nC,IAAMwf,EAAQtd,EAGrBjqC,KAAKoZ,KAAOpZ,KAAKuB,IAAMvB,KAAK6tB,OAAS05B,EAAQvnD,KAAK6tB,MAE9C7tB,KAAK2B,QAAQ6lD,MACfxnD,KAAK2B,QAAQ6lD,KAAKprD,KAAK4D,KAAKU,KAAMV,KAAKoZ,IAAKpZ,MAG1C8e,GAASA,EAAM/J,IACjB+J,EAAM/J,IAAI/U,MAEV+xC,EAAMsH,UAAU3gC,SAAS3D,IAAI/U,MAGxBA,OAGX+xC,EAAMl0C,UAAU6B,KAAK7B,UAAYk0C,EAAMl0C,UACvCk0C,EAAMsH,UAAY,CAChB3gC,SAAU,CACR5b,IAAK,SAAau0C,GAChB,IAAIn8B,EAGJ,OAA4B,IAAxBm8B,EAAM3wC,KAAKwD,UAA4C,MAA1BmtC,EAAM3wC,KAAK2wC,EAAMjW,OAAiD,MAAhCiW,EAAM3wC,KAAKme,MAAMwyB,EAAMjW,MACjFiW,EAAM3wC,KAAK2wC,EAAMjW,OAO1BlmB,EAAS5V,EAAOwe,IAAIuzB,EAAM3wC,KAAM2wC,EAAMjW,KAAM,MAEf,SAAXlmB,EAAwBA,EAAJ,GAExCH,IAAK,SAAas8B,GAIZ/xC,EAAOuxC,GAAG2W,KAAKnW,EAAMjW,MACvB97B,EAAOuxC,GAAG2W,KAAKnW,EAAMjW,MAAMiW,GACM,IAAxBA,EAAM3wC,KAAKwD,WAAmB5E,EAAOkf,SAAS6yB,EAAMjW,OAAwD,MAA/CiW,EAAM3wC,KAAKme,MAAMpC,EAAc40B,EAAMjW,OAG3GiW,EAAM3wC,KAAK2wC,EAAMjW,MAAQiW,EAAMj4B,IAF/B9Z,EAAOuf,MAAMwyB,EAAM3wC,KAAM2wC,EAAMjW,KAAMiW,EAAMj4B,IAAMi4B,EAAM0F,SAS/DhF,EAAMsH,UAAUziB,UAAYmb,EAAMsH,UAAUpR,WAAa,CACvDlzB,IAAK,SAAas8B,GACZA,EAAM3wC,KAAKwD,UAAYmtC,EAAM3wC,KAAKiP,aACpC0hC,EAAM3wC,KAAK2wC,EAAMjW,MAAQiW,EAAMj4B,OAIrC9Z,EAAOmtB,OAAS,CACdX,OAAQ,SAAgB/tB,GACtB,OAAOA,GAET0pD,MAAO,SAAe1pD,GACpB,MAAO,GAAMwE,KAAKmlD,IAAI3pD,EAAIwE,KAAKolD,IAAM,GAEvCjvC,SAAU,SAEZpZ,EAAOuxC,GAAKkB,EAAMl0C,UAAU6B,KAE5BJ,EAAOuxC,GAAG2W,KAAO,IAClB,4B,gBCtGD,UAAO,CAAC,KAAU,MAAqB,MAAqB,MAAwB,YAInF,KAJwG,EAAF,SAAYloD,GACjH,aAEA,OAAOA,GACR,4B,gBCJD,UAAO,CAAC,KAAW,MAAkB,KAAoB,MAAa,KAAwB,WAwH7F,KAxH6G,EAAF,SAAYA,EAAQ+F,EAAQD,EAAUpG,EAAS2G,GACzJ,aAEA,IAAIiiD,EACA3I,EAAa3/C,EAAOiX,KAAK0oC,WAC7B3/C,EAAOG,GAAGiC,OAAO,CACfsD,KAAM,SAAcxI,EAAMU,GACxB,OAAOmI,EAAOrF,KAAMV,EAAO0F,KAAMxI,EAAMU,EAAO2D,UAAUjB,OAAS,IAEnEotB,WAAY,SAAoBxwB,GAC9B,OAAOwD,KAAKO,MAAK,WACfjB,EAAO0tB,WAAWhtB,KAAMxD,SAI9B8C,EAAOoC,OAAO,CACZsD,KAAM,SAActE,EAAMlE,EAAMU,GAC9B,IAAIkD,EACA0e,EACAs6B,EAAQ14C,EAAKwD,SAEjB,GAAc,IAAVk1C,GAAyB,IAAVA,GAAyB,IAAVA,EAKlC,MAAiC,qBAAtB14C,EAAKygB,aACP7hB,EAAO87B,KAAK16B,EAAMlE,EAAMU,IAKnB,IAAVk8C,GAAgB95C,EAAOkkB,SAAS9iB,KAClCoe,EAAQxf,EAAOuoD,UAAUrrD,EAAKyH,iBAAmB3E,EAAOiX,KAAK7R,MAAMojD,KAAK/iD,KAAKvI,GAAQorD,OAAWvlD,SAGpFA,IAAVnF,EACY,OAAVA,OACFoC,EAAO0tB,WAAWtsB,EAAMlE,GAItBsiB,GAAS,QAASA,QAAkDzc,KAAxCjC,EAAM0e,EAAM/J,IAAIrU,EAAMxD,EAAOV,IACpD4D,GAGTM,EAAKu1C,aAAaz5C,EAAMU,EAAQ,IACzBA,GAGL4hB,GAAS,QAASA,GAA2C,QAAjC1e,EAAM0e,EAAMhiB,IAAI4D,EAAMlE,IAC7C4D,EAKK,OAFdA,EAAMd,EAAOsF,KAAKI,KAAKtE,EAAMlE,SAER6F,EAAYjC,IAEnCynD,UAAW,CACThoD,KAAM,CACJkV,IAAK,SAAarU,EAAMxD,GACtB,IAAK8B,EAAQo2C,YAAwB,UAAVl4C,GAAqBkI,EAAS1E,EAAM,SAAU,CACvE,IAAIyd,EAAMzd,EAAKxD,MAOf,OANAwD,EAAKu1C,aAAa,OAAQ/4C,GAEtBihB,IACFzd,EAAKxD,MAAQihB,GAGRjhB,MAKf8vB,WAAY,SAAoBtsB,EAAMxD,GACpC,IAAIV,EACAP,EAAI,EAGR8rD,EAAY7qD,GAASA,EAAMwH,MAAMiB,GAEjC,GAAIoiD,GAA+B,IAAlBrnD,EAAKwD,SACpB,KAAO1H,EAAOurD,EAAU9rD,MACtByE,EAAK2gB,gBAAgB7kB,MAM7BorD,EAAW,CACT7yC,IAAK,SAAarU,EAAMxD,EAAOV,GAQ7B,OAPc,IAAVU,EAEFoC,EAAO0tB,WAAWtsB,EAAMlE,GAExBkE,EAAKu1C,aAAaz5C,EAAMA,GAGnBA,IAGX8C,EAAOiB,KAAKjB,EAAOiX,KAAK7R,MAAMojD,KAAKxiB,OAAO5gC,MAAM,SAAS,SAAUV,EAAIxH,GACrE,IAAIC,EAASwiD,EAAWziD,IAAS8C,EAAOsF,KAAKI,KAE7Ci6C,EAAWziD,GAAQ,SAAUkE,EAAMlE,EAAMu+C,GACvC,IAAI36C,EACA8V,EACA8xC,EAAgBxrD,EAAKyH,cAUzB,OARK82C,IAEH7kC,EAAS+oC,EAAW+I,GACpB/I,EAAW+I,GAAiB5nD,EAC5BA,EAAmC,MAA7B3D,EAAOiE,EAAMlE,EAAMu+C,GAAiBiN,EAAgB,KAC1D/I,EAAW+I,GAAiB9xC,GAGvB9V,OAGZ,4B,gBCxHD,sBAAmD,OAAOnC,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAW,MAA4B,KAAqB,KAAwB,KAAwB,WAmLnH,KAnLoI,EAAF,SAAYmB,EAAQ2oD,EAAkBhpD,EAAY0G,EAAeqO,GAClM,aAEA,SAASk0C,EAASxnD,GAChB,OAAOA,EAAKygB,cAAgBzgB,EAAKygB,aAAa,UAAY,GAG5D,SAASgnC,EAAejrD,GACtB,OAAIiF,MAAMC,QAAQlF,GACTA,EAGY,kBAAVA,GACFA,EAAMwH,MAAMiB,IAGd,GAGTrG,EAAOG,GAAGiC,OAAO,CACfi1B,SAAU,SAAkBz5B,GAC1B,IAAIkrD,EACA1nD,EACAyO,EACAk5C,EACAC,EACAhnD,EACAinD,EACAtsD,EAAI,EAER,GAAIgD,EAAW/B,GACb,OAAO8C,KAAKO,MAAK,SAAUe,GACzBhC,EAAOU,MAAM22B,SAASz5B,EAAMd,KAAK4D,KAAMsB,EAAG4mD,EAASloD,WAMvD,IAFAooD,EAAUD,EAAejrD,IAEb0C,OACV,KAAOc,EAAOV,KAAK/D,MAIjB,GAHAosD,EAAWH,EAASxnD,GACpByO,EAAwB,IAAlBzO,EAAKwD,UAAkB,IAAM+jD,EAAiBI,GAAY,IAEvD,CAGP,IAFA/mD,EAAI,EAEGgnD,EAAQF,EAAQ9mD,MACjB6N,EAAIzQ,QAAQ,IAAM4pD,EAAQ,KAAO,IACnCn5C,GAAOm5C,EAAQ,KAOfD,KAFJE,EAAaN,EAAiB94C,KAG5BzO,EAAKu1C,aAAa,QAASsS,GAMnC,OAAOvoD,MAETm5B,YAAa,SAAqBj8B,GAChC,IAAIkrD,EACA1nD,EACAyO,EACAk5C,EACAC,EACAhnD,EACAinD,EACAtsD,EAAI,EAER,GAAIgD,EAAW/B,GACb,OAAO8C,KAAKO,MAAK,SAAUe,GACzBhC,EAAOU,MAAMm5B,YAAYj8B,EAAMd,KAAK4D,KAAMsB,EAAG4mD,EAASloD,WAI1D,IAAKa,UAAUjB,OACb,OAAOI,KAAKgF,KAAK,QAAS,IAK5B,IAFAojD,EAAUD,EAAejrD,IAEb0C,OACV,KAAOc,EAAOV,KAAK/D,MAKjB,GAJAosD,EAAWH,EAASxnD,GAEpByO,EAAwB,IAAlBzO,EAAKwD,UAAkB,IAAM+jD,EAAiBI,GAAY,IAEvD,CAGP,IAFA/mD,EAAI,EAEGgnD,EAAQF,EAAQ9mD,MAErB,KAAO6N,EAAIzQ,QAAQ,IAAM4pD,EAAQ,MAAQ,GACvCn5C,EAAMA,EAAI1M,QAAQ,IAAM6lD,EAAQ,IAAK,KAOrCD,KAFJE,EAAaN,EAAiB94C,KAG5BzO,EAAKu1C,aAAa,QAASsS,GAMnC,OAAOvoD,MAETs0B,YAAa,SAAqBp3B,EAAOsrD,GACvC,IAAI3oD,EAAO5B,EAAQf,GACfurD,EAAwB,WAAT5oD,GAAqBsC,MAAMC,QAAQlF,GAEtD,MAAwB,mBAAbsrD,GAA0BC,EAC5BD,EAAWxoD,KAAK22B,SAASz5B,GAAS8C,KAAKm5B,YAAYj8B,GAGxD+B,EAAW/B,GACN8C,KAAKO,MAAK,SAAUtE,GACzBqD,EAAOU,MAAMs0B,YAAYp3B,EAAMd,KAAK4D,KAAM/D,EAAGisD,EAASloD,MAAOwoD,GAAWA,MAIrExoD,KAAKO,MAAK,WACf,IAAIsqB,EAAW5uB,EAAGsmB,EAAMmmC,EAExB,GAAID,EAMF,IAJAxsD,EAAI,EACJsmB,EAAOjjB,EAAOU,MACd0oD,EAAaP,EAAejrD,GAErB2tB,EAAY69B,EAAWzsD,MAExBsmB,EAAKkjB,SAAS5a,GAChBtI,EAAK4W,YAAYtO,GAEjBtI,EAAKoU,SAAS9L,aAICxoB,IAAVnF,GAAgC,YAAT2C,KAChCgrB,EAAYq9B,EAASloD,QAInBgU,EAASe,IAAI/U,KAAM,gBAAiB6qB,GAOlC7qB,KAAKi2C,cACPj2C,KAAKi2C,aAAa,QAASprB,IAAuB,IAAV3tB,EAAkB,GAAK8W,EAASlX,IAAIkD,KAAM,kBAAoB,SAK9GylC,SAAU,SAAkBlmC,GAC1B,IAAIsrB,EACAnqB,EACAzE,EAAI,EAGR,IAFA4uB,EAAY,IAAMtrB,EAAW,IAEtBmB,EAAOV,KAAK/D,MACjB,GAAsB,IAAlByE,EAAKwD,WAAmB,IAAM+jD,EAAiBC,EAASxnD,IAAS,KAAKhC,QAAQmsB,IAAc,EAC9F,OAAO,EAIX,OAAO,MAGZ,4B,gBCrLD,UAAO,CAAC,KAAW,MAA4B,MAAa,KAAoB,KAAqB,WA+JpG,KA/JqH,EAAF,SAAYvrB,EAAQ2oD,EAAkBjpD,EAASoG,EAAUnG,GAC3K,aAEA,IAAI0pD,EAAU,MACdrpD,EAAOG,GAAGiC,OAAO,CACfyc,IAAK,SAAajhB,GAChB,IAAI4hB,EACA1e,EACAiiB,EACA3hB,EAAOV,KAAK,GAEhB,OAAKa,UAAUjB,QAqBfyiB,EAAkBpjB,EAAW/B,GACtB8C,KAAKO,MAAK,SAAUtE,GACzB,IAAIkiB,EAEkB,IAAlBne,KAAKkE,WAWE,OANTia,EADEkE,EACInlB,EAAMd,KAAK4D,KAAM/D,EAAGqD,EAAOU,MAAMme,OAEjCjhB,GAKNihB,EAAM,GACkB,kBAARA,EAChBA,GAAO,GACEhc,MAAMC,QAAQ+b,KACvBA,EAAM7e,EAAOmB,IAAI0d,GAAK,SAAUjhB,GAC9B,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,QAIxC4hB,EAAQxf,EAAOspD,SAAS5oD,KAAKH,OAASP,EAAOspD,SAAS5oD,KAAKoF,SAASnB,iBAEpD,QAAS6a,QAA4Czc,IAAlCyc,EAAM/J,IAAI/U,KAAMme,EAAK,WACtDne,KAAK9C,MAAQihB,QAhDXzd,GACFoe,EAAQxf,EAAOspD,SAASloD,EAAKb,OAASP,EAAOspD,SAASloD,EAAK0E,SAASnB,iBAEvD,QAAS6a,QAA8Czc,KAApCjC,EAAM0e,EAAMhiB,IAAI4D,EAAM,UAC7CN,EAKU,kBAFnBA,EAAMM,EAAKxD,OAGFkD,EAAIqC,QAAQkmD,EAAS,IAIhB,MAAPvoD,EAAc,GAAKA,OAG5B,KAoCNd,EAAOoC,OAAO,CACZknD,SAAU,CACRpR,OAAQ,CACN16C,IAAK,SAAa4D,GAChB,IAAIyd,EAAM7e,EAAOsF,KAAKI,KAAKtE,EAAM,SACjC,OAAc,MAAPyd,EAAcA,EAIrB8pC,EAAiB3oD,EAAOoJ,KAAKhI,MAGjC06C,OAAQ,CACNt+C,IAAK,SAAa4D,GAChB,IAAIxD,EACAs6C,EACAv7C,EACA0F,EAAUjB,EAAKiB,QACfiO,EAAQlP,EAAK84C,cACb9kC,EAAoB,eAAdhU,EAAKb,KACXynD,EAAS5yC,EAAM,KAAO,GACtB2I,EAAM3I,EAAM9E,EAAQ,EAAIjO,EAAQ/B,OASpC,IANE3D,EADE2T,EAAQ,EACNyN,EAEA3I,EAAM9E,EAAQ,EAIb3T,EAAIohB,EAAKphB,IAId,KAHAu7C,EAAS71C,EAAQ1F,IAGLsL,UAAYtL,IAAM2T,KAC7B4nC,EAAOv/B,YAAcu/B,EAAO7nC,WAAWsI,WAAa7S,EAASoyC,EAAO7nC,WAAY,aAAc,CAI7F,GAFAzS,EAAQoC,EAAOk4C,GAAQr5B,MAEnBzJ,EACF,OAAOxX,EAIToqD,EAAO7oD,KAAKvB,GAIhB,OAAOoqD,GAETvyC,IAAK,SAAarU,EAAMxD,GAOtB,IANA,IAAI2rD,EACArR,EACA71C,EAAUjB,EAAKiB,QACf2lD,EAAShoD,EAAOgE,UAAUpG,GAC1BjB,EAAI0F,EAAQ/B,OAET3D,OACLu7C,EAAS71C,EAAQ1F,IAGNsL,SAAWjI,EAAOkE,QAAQlE,EAAOspD,SAASpR,OAAO16C,IAAI06C,GAAS8P,IAAW,KAClFuB,GAAY,GAWhB,OAJKA,IACHnoD,EAAK84C,eAAiB,GAGjB8N,OAMfhoD,EAAOiB,KAAK,CAAC,QAAS,aAAa,WACjCjB,EAAOspD,SAAS5oD,MAAQ,CACtB+U,IAAK,SAAarU,EAAMxD,GACtB,GAAIiF,MAAMC,QAAQlF,GAChB,OAAOwD,EAAKihB,QAAUriB,EAAOkE,QAAQlE,EAAOoB,GAAMyd,MAAOjhB,IAAU,IAKpE8B,EAAQk2C,UACX51C,EAAOspD,SAAS5oD,MAAMlD,IAAM,SAAU4D,GACpC,OAAsC,OAA/BA,EAAKygB,aAAa,SAAoB,KAAOzgB,EAAKxD,YAIhE,4B,gBC/JD,UAAO,CAAC,KAAW,KAAwB,MAAa,MAAY,YAiDnE,KAjDiF,EAAF,SAAYoC,EAAQ0U,EAAUhV,GAC5G,aA+CA,OAtCKA,EAAQ8pD,SACXxpD,EAAOiB,KAAK,CACV0a,MAAO,UACPC,KAAM,aACL,SAAUK,EAAMnE,GAEjB,IAAI9E,EAAU,SAAiBjI,GAC7B/K,EAAO+K,MAAMwrC,SAASz+B,EAAK/M,EAAMrI,OAAQ1C,EAAO+K,MAAM+M,IAAI/M,KAG5D/K,EAAO+K,MAAMkI,QAAQ6E,GAAO,CAC1BX,MAAO,WAGL,IAAIrT,EAAMpD,KAAK8E,eAAiB9E,KAAKqE,UAAYrE,KAC7C+oD,EAAW/0C,EAAS3O,OAAOjC,EAAKgU,GAE/B2xC,GACH3lD,EAAIsT,iBAAiB6E,EAAMjJ,GAAS,GAGtC0B,EAAS3O,OAAOjC,EAAKgU,GAAM2xC,GAAY,GAAK,IAE9C/xC,SAAU,WACR,IAAI5T,EAAMpD,KAAK8E,eAAiB9E,KAAKqE,UAAYrE,KAC7C+oD,EAAW/0C,EAAS3O,OAAOjC,EAAKgU,GAAO,EAEtC2xC,EAIH/0C,EAAS3O,OAAOjC,EAAKgU,EAAK2xC,IAH1B3lD,EAAIyV,oBAAoB0C,EAAMjJ,GAAS,GACvC0B,EAAS2C,OAAOvT,EAAKgU,SASxB9X,GACR,4B,gBCjDD,UAAO,CAAC,YAKP,KAL0B,EAAF,SAAYN,GACnC,aAGA,OADAA,EAAQ8pD,QAAU,cAAe1kD,OAC1BpF,GACR,4B,gBCLD,UAAO,CAAC,YAyBP,KAzBmB,EAAF,SAAYM,GAC5B,aAuBA,OArBAA,EAAOkjB,SAAW,SAAUta,EAAKvG,EAASyB,GACxC,OAAO9D,EAAOmK,KAAK,CACjBvB,IAAKA,EAELrI,KAAM,MACNiH,SAAU,SACVyF,OAAO,EACPhE,OAAO,EACPF,QAAQ,EAIRW,WAAY,CACV,cAAe,cAEjBkF,WAAY,SAAoBb,GAC9B/N,EAAO4D,WAAWmK,EAAU1L,EAASyB,OAKpC9D,EAAOkjB,UACf,4B,gBCzBD,WAIC,KAJD,aACE,aAEA,OAAOpe,OAAOwB,UACf,+B,gBCJD,UAAO,CAAC,KAAU,KAAoB,KAAe,MACrD,YAiEC,KAhEE,EAAF,SAAYtG,EAAQL,GACnB,aA8DA,OA5DAK,EAAOG,GAAGiC,OAAO,CACfsnD,QAAS,SAAiBrgD,GACxB,IAAIsvC,EAyBJ,OAvBIj4C,KAAK,KACHf,EAAW0J,KACbA,EAAOA,EAAKvM,KAAK4D,KAAK,KAIxBi4C,EAAO34C,EAAOqJ,EAAM3I,KAAK,GAAG8E,eAAe/D,GAAG,GAAGgB,OAAM,GAEnD/B,KAAK,GAAG2P,YACVsoC,EAAKn0B,aAAa9jB,KAAK,IAGzBi4C,EAAKx3C,KAAI,WAGP,IAFA,IAAIC,EAAOV,KAEJU,EAAKuoD,mBACVvoD,EAAOA,EAAKuoD,kBAGd,OAAOvoD,KACNijB,OAAO3jB,OAGLA,MAETkpD,UAAW,SAAmBvgD,GAC5B,OAAI1J,EAAW0J,GACN3I,KAAKO,MAAK,SAAUtE,GACzBqD,EAAOU,MAAMkpD,UAAUvgD,EAAKvM,KAAK4D,KAAM/D,OAIpC+D,KAAKO,MAAK,WACf,IAAIgiB,EAAOjjB,EAAOU,MACd8I,EAAWyZ,EAAKzZ,WAEhBA,EAASlJ,OACXkJ,EAASkgD,QAAQrgD,GAEjB4Z,EAAKoB,OAAOhb,OAIlBsvC,KAAM,SAActvC,GAClB,IAAIwgD,EAAiBlqD,EAAW0J,GAChC,OAAO3I,KAAKO,MAAK,SAAUtE,GACzBqD,EAAOU,MAAMgpD,QAAQG,EAAiBxgD,EAAKvM,KAAK4D,KAAM/D,GAAK0M,OAG/DygD,OAAQ,SAAgB7pD,GAItB,OAHAS,KAAKiQ,OAAO1Q,GAAUs6B,IAAI,QAAQt5B,MAAK,WACrCjB,EAAOU,MAAMmkB,YAAYnkB,KAAK4Q,eAEzB5Q,QAGJV,GACR,4B,gBClED,UAAO,CAAC,KAAW,WAUlB,KAVkC,EAAF,SAAYA,GAC3C,aAEAA,EAAOiX,KAAKskC,QAAQjK,OAAS,SAAUlwC,GACrC,OAAQpB,EAAOiX,KAAKskC,QAAQwO,QAAQ3oD,IAGtCpB,EAAOiX,KAAKskC,QAAQwO,QAAU,SAAU3oD,GACtC,SAAUA,EAAK2zC,aAAe3zC,EAAKs0C,cAAgBt0C,EAAK6d,iBAAiB3e,UAE5E,4B,gBCVD,UAAO,CAAC,KAAW,MAAkB,YAqIpC,KArIgD,EAAF,SAAYN,EAAQN,GACjE,aAEAM,EAAOuI,aAAayhD,IAAM,WACxB,IACE,OAAO,IAAIllD,OAAOmlD,eAClB,MAAOv9C,MAGX,IAAIw9C,EAAmB,CAErBr2B,EAAG,IAGHs2B,KAAM,KAEJC,EAAepqD,EAAOuI,aAAayhD,MACvCtqD,EAAQ2qD,OAASD,GAAgB,oBAAqBA,EACtD1qD,EAAQyK,KAAOigD,IAAiBA,EAChCpqD,EAAOkK,eAAc,SAAU7H,GAC7B,IAAIioD,EAAWC,EAGf,GAAI7qD,EAAQ2qD,MAAQD,IAAiB/nD,EAAQmK,YAC3C,MAAO,CACLmB,KAAM,SAAcR,EAASG,GAC3B,IAAI3Q,EACAqtD,EAAM3nD,EAAQ2nD,MAGlB,GAFAA,EAAIt0B,KAAKrzB,EAAQ9B,KAAM8B,EAAQuG,IAAKvG,EAAQ4G,MAAO5G,EAAQmoD,SAAUnoD,EAAQ2hD,UAEzE3hD,EAAQooD,UACV,IAAK9tD,KAAK0F,EAAQooD,UAChBT,EAAIrtD,GAAK0F,EAAQooD,UAAU9tD,GAmB/B,IAAKA,KAdD0F,EAAQ0J,UAAYi+C,EAAIl+C,kBAC1Bk+C,EAAIl+C,iBAAiBzJ,EAAQ0J,UAQ1B1J,EAAQmK,aAAgBW,EAAQ,sBACnCA,EAAQ,oBAAsB,kBAItBA,EACR68C,EAAIn+C,iBAAiBlP,EAAGwQ,EAAQxQ,IAIlC2tD,EAAY,SAAkB/pD,GAC5B,OAAO,WACD+pD,IACFA,EAAYC,EAAgBP,EAAI76B,OAAS66B,EAAI3c,QAAU2c,EAAIU,QAAUV,EAAIW,UAAYX,EAAI56B,mBAAqB,KAEjG,UAAT7uB,EACFypD,EAAI99C,QACc,UAAT3L,EAIiB,kBAAfypD,EAAI/9C,OACbqB,EAAS,EAAG,SAEZA,EACA08C,EAAI/9C,OAAQ+9C,EAAI79C,YAGlBmB,EAAS48C,EAAiBF,EAAI/9C,SAAW+9C,EAAI/9C,OAAQ+9C,EAAI79C,WAGxB,UAAhC69C,EAAIY,cAAgB,SAAkD,kBAArBZ,EAAIa,aAA4B,CAChFC,OAAQd,EAAIj8C,UACV,CACF3E,KAAM4gD,EAAIa,cACTb,EAAIp+C,4BAOfo+C,EAAI76B,OAASm7B,IACbC,EAAgBP,EAAI3c,QAAU2c,EAAIW,UAAYL,EAAU,cAIpCvnD,IAAhBinD,EAAIU,QACNV,EAAIU,QAAUH,EAEdP,EAAI56B,mBAAqB,WAEA,IAAnB46B,EAAIv+C,YAKN3G,OAAO4I,YAAW,WACZ48C,GACFC,QAQVD,EAAYA,EAAU,SAEtB,IAEEN,EAAIr8C,KAAKtL,EAAQ2K,YAAc3K,EAAQsK,MAAQ,MAC/C,MAAOD,GAEP,GAAI49C,EACF,MAAM59C,IAIZR,MAAO,WACDo+C,GACFA,UAMX,4B,gBCrID,UAAO,CAAC,KAAW,KAAmB,YA+DrC,KA/DiD,EAAF,SAAYtqD,EAAQ+E,GAClE,aAEA/E,EAAOiK,eAAc,SAAUvL,GACzBA,EAAE8N,cACJ9N,EAAE8K,SAAS0lB,QAAS,MAIxBlvB,EAAO+J,UAAU,CACfZ,QAAS,CACP+lB,OAAQ,6FAEV1lB,SAAU,CACR0lB,OAAQ,2BAEVxlB,WAAY,CACV,cAAe,SAAoBN,GAEjC,OADApJ,EAAO4D,WAAWwF,GACXA,MAKbpJ,EAAOiK,cAAc,UAAU,SAAUvL,QACvBqE,IAAZrE,EAAEuO,QACJvO,EAAEuO,OAAQ,GAGRvO,EAAE8N,cACJ9N,EAAE6B,KAAO,UAIbP,EAAOkK,cAAc,UAAU,SAAUxL,GAGrC,IAAIwwB,EAAQo7B,EADd,GAAI5rD,EAAE8N,aAAe9N,EAAEqsD,YAGrB,MAAO,CACLp9C,KAAM,SAAczF,EAAGoF,GACrB4hB,EAASlvB,EAAO,YAAY0F,KAAKhH,EAAEqsD,aAAe,IAAIjvB,KAAK,CACzDkvB,QAAStsD,EAAEusD,cACX3oD,IAAK5D,EAAEkK,MACNuT,GAAG,aAAcmuC,EAAY,SAAkBY,GAChDh8B,EAAO7X,SACPizC,EAAY,KAERY,GACF59C,EAAsB,UAAb49C,EAAI3qD,KAAmB,IAAM,IAAK2qD,EAAI3qD,QAInDwE,EAASoiB,KAAK7C,YAAY4K,EAAO,KAEnChjB,MAAO,WACDo+C,GACFA,UAMX,4B,gBC/DD,UAAO,CAAC,KAAW,KAAqB,MAAe,MAAgB,YA6EtE,KA7EkF,EAAF,SAAYtqD,EAAQL,EAAYoE,EAAOwC,GACtH,aAEA,IAAI4kD,EAAe,GACfC,EAAS,oBAEbprD,EAAO+J,UAAU,CACfshD,MAAO,WACPC,cAAe,WACb,IAAIpqD,EAAWiqD,EAAax/B,OAAS3rB,EAAOgD,QAAU,IAAMe,EAAMS,OAElE,OADA9D,KAAKQ,IAAY,EACVA,KAIXlB,EAAOiK,cAAc,cAAc,SAAUvL,EAAG6sD,EAAkB1jD,GAChE,IAAI2jD,EACAC,EACAC,EACAC,GAAuB,IAAZjtD,EAAE2sD,QAAoBD,EAAO3lD,KAAK/G,EAAEkK,KAAO,MAA0B,kBAAXlK,EAAEiO,MAA4F,KAAtEjO,EAAEwK,aAAe,IAAI9J,QAAQ,sCAA8CgsD,EAAO3lD,KAAK/G,EAAEiO,OAAS,QAEnM,GAAIg/C,GAA+B,UAAnBjtD,EAAE+I,UAAU,GAqD1B,OAnDA+jD,EAAe9sD,EAAE4sD,cAAgB3rD,EAAWjB,EAAE4sD,eAAiB5sD,EAAE4sD,gBAAkB5sD,EAAE4sD,cAEjFK,EACFjtD,EAAEitD,GAAYjtD,EAAEitD,GAAUxoD,QAAQioD,EAAQ,KAAOI,IAC5B,IAAZ9sD,EAAE2sD,QACX3sD,EAAEkK,MAAQrC,EAAOd,KAAK/G,EAAEkK,KAAO,IAAM,KAAOlK,EAAE2sD,MAAQ,IAAMG,GAI9D9sD,EAAEgL,WAAW,eAAiB,WAK5B,OAJKgiD,GACH1rD,EAAOqD,MAAMmoD,EAAe,mBAGvBE,EAAkB,IAI3BhtD,EAAE+I,UAAU,GAAK,OAEjBgkD,EAAc3mD,OAAO0mD,GAErB1mD,OAAO0mD,GAAgB,WACrBE,EAAoBnqD,WAItBsG,EAAMmE,QAAO,gBAESjJ,IAAhB0oD,EACFzrD,EAAO8E,QAAQ80C,WAAW4R,GAE1B1mD,OAAO0mD,GAAgBC,EAIrB/sD,EAAE8sD,KAEJ9sD,EAAE4sD,cAAgBC,EAAiBD,cAEnCH,EAAahsD,KAAKqsD,IAIhBE,GAAqB/rD,EAAW8rD,IAClCA,EAAYC,EAAkB,IAGhCA,EAAoBD,OAAc1oD,KAG7B,aAGZ,4B,gBC7ED,sBAAmD,OAAOpE,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,GAEzU,EAAO,CAAC,KAAW,MAA4B,KAAqB,MAAqB,MAAW,MAAiB,MAAmB,WAuDvI,KAvDuJ,EAAF,SAAYmB,EAAQ2oD,EAAkBhpD,GAC1L,aAKAK,EAAOG,GAAG8Y,KAAO,SAAUrQ,EAAKsnB,EAAQhvB,GACtC,IAAIjB,EACAM,EACAwN,EACAkV,EAAOviB,KACP4U,EAAM1M,EAAIxJ,QAAQ,KA0CtB,OAxCIkW,GAAO,IACTrV,EAAW0oD,EAAiB//C,EAAIvH,MAAMiU,IACtC1M,EAAMA,EAAIvH,MAAM,EAAGiU,IAIjB3V,EAAWuwB,IAEbhvB,EAAWgvB,EACXA,OAASntB,GACAmtB,GAA8B,WAApBvxB,EAAQuxB,KAC3B3vB,EAAO,QAIL0iB,EAAK3iB,OAAS,GAChBN,EAAOmK,KAAK,CACVvB,IAAKA,EAILrI,KAAMA,GAAQ,MACdiH,SAAU,OACVmF,KAAMujB,IACL7jB,MAAK,SAAUw+C,GAEhB98C,EAAWxM,UACX0hB,EAAK5Z,KAAKpJ,EAEVD,EAAO,SAASqkB,OAAOrkB,EAAOuF,UAAUslD,IAAevlD,KAAKrF,GAC5D4qD,MAGC7+C,OAAO9K,GAAY,SAAU2G,EAAOoE,GACrCgX,EAAKhiB,MAAK,WACRC,EAASI,MAAMZ,KAAMqN,GAAY,CAAClG,EAAMgjD,aAAc5+C,EAAQpE,SAK7DnH,OAEV,4B,gBCzDD,UAAO,CAAC,KAAmB,YAc1B,KAd6C,EAAF,SAAYqE,EAAUrF,GAChE,aAM6B,IACvBwnB,EAKN,OANAxnB,EAAQs7C,qBACF9zB,EAAOniB,EAASk2C,eAAeD,mBAAmB,IAAI9zB,MACrDtC,UAAY,6BACiB,IAA3BsC,EAAK5V,WAAWhR,QAGlBZ,GACR,4B,gBCdD,UAAO,CAAC,KAAW,KAAe,YAQjC,KARgD,EAAF,SAAYM,GACzD,aAEAA,EAAOiX,KAAKskC,QAAQqQ,SAAW,SAAUxqD,GACvC,OAAOpB,EAAO4B,KAAK5B,EAAO8zC,QAAQ,SAAU3zC,GAC1C,OAAOiB,IAASjB,EAAGiB,QAClBd,SAEN,4B,gBCRD,UAAO,CAAC,KAAU,MAAiB,MAAyB,KAAoB,MAAuB,MAAgB,MAAsB,MAAiB,MAAkB,KAAe,MAAS,WA6MvM,KA5ME,EAAF,SAAYN,EAAQ+F,EAAQwO,EAAiB5U,EAAYid,EAAWI,EAAQE,EAAcxd,EAASE,GAClG,aA0MA,OAxMAI,EAAO+nC,OAAS,CACd8jB,UAAW,SAAmBzqD,EAAMiB,EAAS1F,GAC3C,IAAImvD,EACAC,EACAC,EACAC,EACAC,EACAC,EAEA5uC,EAAWvd,EAAOwe,IAAIpd,EAAM,YAC5BgrD,EAAUpsD,EAAOoB,GACjBoY,EAAQ,GAEK,WAAb+D,IACFnc,EAAKme,MAAMhC,SAAW,YAGxB2uC,EAAYE,EAAQrkB,SACpBikB,EAAYhsD,EAAOwe,IAAIpd,EAAM,OAC7B+qD,EAAansD,EAAOwe,IAAIpd,EAAM,SACI,aAAbmc,GAAwC,UAAbA,KAA0ByuC,EAAYG,GAAY/sD,QAAQ,SAAW,GAKnH6sD,GADAH,EAAcM,EAAQ7uC,YACD6Y,IACrB21B,EAAUD,EAAY1rC,OAEtB6rC,EAASjtC,WAAWgtC,IAAc,EAClCD,EAAU/sC,WAAWmtC,IAAe,GAGlCxsD,EAAW0C,KAEbA,EAAUA,EAAQvF,KAAKsE,EAAMzE,EAAGqD,EAAOoC,OAAO,GAAI8pD,KAGjC,MAAf7pD,EAAQ+zB,MACV5c,EAAM4c,IAAM/zB,EAAQ+zB,IAAM81B,EAAU91B,IAAM61B,GAGxB,MAAhB5pD,EAAQ+d,OACV5G,EAAM4G,KAAO/d,EAAQ+d,KAAO8rC,EAAU9rC,KAAO2rC,GAG3C,UAAW1pD,EACbA,EAAQgqD,MAAMvvD,KAAKsE,EAAMoY,GAEzB4yC,EAAQ5tC,IAAIhF,KAIlBxZ,EAAOG,GAAGiC,OAAO,CAEf2lC,OAAQ,SAAgB1lC,GAEtB,GAAId,UAAUjB,OACZ,YAAmByC,IAAZV,EAAwB3B,KAAOA,KAAKO,MAAK,SAAUtE,GACxDqD,EAAO+nC,OAAO8jB,UAAUnrD,KAAM2B,EAAS1F,MAI3C,IAAI2vD,EACAC,EACAnrD,EAAOV,KAAK,GAEhB,OAAKU,EAQAA,EAAK6d,iBAAiB3e,QAQ3BgsD,EAAOlrD,EAAK0e,wBACZysC,EAAMnrD,EAAKoE,cAAc6+B,YAClB,CACLjO,IAAKk2B,EAAKl2B,IAAMm2B,EAAIC,YACpBpsC,KAAMksC,EAAKlsC,KAAOmsC,EAAIE,cAXf,CACLr2B,IAAK,EACLhW,KAAM,QAXV,GAyBF7C,SAAU,WACR,GAAK7c,KAAK,GAAV,CAIA,IAAIgsD,EACA3kB,EACAjkC,EACA1C,EAAOV,KAAK,GACZisD,EAAe,CACjBv2B,IAAK,EACLhW,KAAM,GAGR,GAAqC,UAAjCpgB,EAAOwe,IAAIpd,EAAM,YAEnB2mC,EAAS3mC,EAAK0e,4BACT,CAOL,IANAioB,EAASrnC,KAAKqnC,SAGdjkC,EAAM1C,EAAKoE,cACXknD,EAAetrD,EAAKsrD,cAAgB5oD,EAAIyQ,gBAEjCm4C,IAAiBA,IAAiB5oD,EAAIojB,MAAQwlC,IAAiB5oD,EAAIyQ,kBAA6D,WAAzCvU,EAAOwe,IAAIkuC,EAAc,aACrHA,EAAeA,EAAar8C,WAG1Bq8C,GAAgBA,IAAiBtrD,GAAkC,IAA1BsrD,EAAa9nD,YAExD+nD,EAAe3sD,EAAO0sD,GAAc3kB,UACvB3R,KAAOp2B,EAAOwe,IAAIkuC,EAAc,kBAAkB,GAC/DC,EAAavsC,MAAQpgB,EAAOwe,IAAIkuC,EAAc,mBAAmB,IAKrE,MAAO,CACLt2B,IAAK2R,EAAO3R,IAAMu2B,EAAav2B,IAAMp2B,EAAOwe,IAAIpd,EAAM,aAAa,GACnEgf,KAAM2nB,EAAO3nB,KAAOusC,EAAavsC,KAAOpgB,EAAOwe,IAAIpd,EAAM,cAAc,MAa3EsrD,aAAc,WACZ,OAAOhsD,KAAKS,KAAI,WAGd,IAFA,IAAIurD,EAAehsD,KAAKgsD,aAEjBA,GAAyD,WAAzC1sD,EAAOwe,IAAIkuC,EAAc,aAC9CA,EAAeA,EAAaA,aAG9B,OAAOA,GAAgBn4C,QAK7BvU,EAAOiB,KAAK,CACV0nC,WAAY,cACZrR,UAAW,gBACV,SAAU/qB,EAAQuvB,GACnB,IAAI1F,EAAM,gBAAkB0F,EAE5B97B,EAAOG,GAAGoM,GAAU,SAAUsS,GAC5B,OAAO9Y,EAAOrF,MAAM,SAAUU,EAAMmL,EAAQsS,GAE1C,IAAI0tC,EAQJ,GANI3sD,EAASwB,GACXmrD,EAAMnrD,EACqB,IAAlBA,EAAKwD,WACd2nD,EAAMnrD,EAAKijC,kBAGDthC,IAAR8b,EACF,OAAO0tC,EAAMA,EAAIzwB,GAAQ16B,EAAKmL,GAG5BggD,EACFA,EAAIh1B,SAAUnB,EAAYm2B,EAAIE,YAAV5tC,EAAuBuX,EAAMvX,EAAM0tC,EAAIC,aAE3DprD,EAAKmL,GAAUsS,IAEhBtS,EAAQsS,EAAKtd,UAAUjB,YAS9BN,EAAOiB,KAAK,CAAC,MAAO,SAAS,SAAUyD,EAAIo3B,GACzC97B,EAAOkf,SAAS4c,GAAQ5e,EAAaxd,EAAQy1C,eAAe,SAAU/zC,EAAMge,GAC1E,GAAIA,EAGF,OAFAA,EAAWpC,EAAO5b,EAAM06B,GAEjBlf,EAAUnX,KAAK2Z,GAAYpf,EAAOoB,GAAMmc,WAAWue,GAAQ,KAAO1c,QAIxEpf,GACR,4B,gBC7MD,UAAO,CAAC,KAAU,MAAiB,MAAkB,YAwCpD,KAxC8D,EAAF,SAAYA,EAAQ+F,EAAQnG,GACvF,aAsCA,OApCAI,EAAOiB,KAAK,CACV2rD,OAAQ,SACRC,MAAO,UACN,SAAU3vD,EAAMqD,GACjBP,EAAOiB,KAAK,CACVqf,QAAS,QAAUpjB,EACnBmU,QAAS9Q,EACT,GAAI,QAAUrD,IACb,SAAU4vD,EAAcC,GAEzB/sD,EAAOG,GAAG4sD,GAAY,SAAU1sC,EAAQziB,GACtC,IAAIoI,EAAYzE,UAAUjB,SAAWwsD,GAAkC,mBAAXzsC,GACxD/B,EAAQwuC,KAA4B,IAAXzsC,IAA6B,IAAVziB,EAAiB,SAAW,UAC5E,OAAOmI,EAAOrF,MAAM,SAAUU,EAAMb,EAAM3C,GACxC,IAAIkG,EAEJ,OAAIlE,EAASwB,GAE0B,IAA9B2rD,EAAS3tD,QAAQ,SAAiBgC,EAAK,QAAUlE,GAAQkE,EAAK2D,SAASwP,gBAAgB,SAAWrX,GAIrF,IAAlBkE,EAAKwD,UACPd,EAAM1C,EAAKmT,gBAGJtR,KAAK8a,IAAI3c,EAAK8lB,KAAK,SAAWhqB,GAAO4G,EAAI,SAAW5G,GAAOkE,EAAK8lB,KAAK,SAAWhqB,GAAO4G,EAAI,SAAW5G,GAAO4G,EAAI,SAAW5G,UAGpH6F,IAAVnF,EACPoC,EAAOwe,IAAIpd,EAAMb,EAAM+d,GACvBte,EAAOuf,MAAMne,EAAMb,EAAM3C,EAAO0gB,KAC/B/d,EAAMyF,EAAYqa,OAAStd,EAAWiD,UAIxChG,GACR,4B,gBCxCD,UAAO,CAAC,KAAU,KAAmB,MAAoB,MAAiB,KAAoB,MAAkB,MAAe,OAAiC,aAmE/J,KAnEsL,EAAF,SAAYA,EAAQ8F,EAAU4W,EAAW5c,EAAQH,EAAYC,EAAUyB,GAC1P,aAGA,IAAIg8C,EAAQ,qCAKZr9C,EAAOgnC,MAAQ,SAAU7mC,EAAID,GAC3B,IAAIwO,EAAKyE,EAAM6zB,EAUf,GARuB,kBAAZ9mC,IACTwO,EAAMvO,EAAGD,GACTA,EAAUC,EACVA,EAAKuO,GAKF/O,EAAWQ,GAahB,OARAgT,EAAO9R,EAAMvE,KAAKyE,UAAW,IAE7BylC,EAAQ,WACN,OAAO7mC,EAAGmB,MAAMpB,GAAWQ,KAAMyS,EAAKlM,OAAO5F,EAAMvE,KAAKyE,eAIpDiD,KAAOrE,EAAGqE,KAAOrE,EAAGqE,MAAQxE,EAAOwE,OAClCwiC,GAGThnC,EAAOgtD,UAAY,SAAUC,GACvBA,EACFjtD,EAAOk3C,YAEPl3C,EAAO4F,OAAM,IAIjB5F,EAAO8C,QAAUD,MAAMC,QACvB9C,EAAOktD,UAAYtjD,KAAKC,MACxB7J,EAAO8F,SAAWA,EAClB9F,EAAOL,WAAaA,EACpBK,EAAOJ,SAAWA,EAClBI,EAAO0c,UAAYA,EACnB1c,EAAOO,KAAOT,EACdE,EAAO8Z,IAAMD,KAAKC,IAElB9Z,EAAOmtD,UAAY,SAAUtuD,GAI3B,IAAI0B,EAAOP,EAAOO,KAAK1B,GACvB,OAAiB,WAAT0B,GAA8B,WAATA,KAG5B80B,MAAMx2B,EAAMmgB,WAAWngB,KAG1BmB,EAAOkrC,KAAO,SAAU9hC,GACtB,OAAe,MAARA,EAAe,IAAMA,EAAO,IAAIjG,QAAQk6C,EAAO,MAEzD,4B,gBCnED,UAAO,CAAC,KAAW,MAAW,YAQ7B,KAR0C,EAAF,SAAYr9C,GACnD,aAEAA,EAAOiB,KAAK,CAAC,YAAa,WAAY,eAAgB,YAAa,cAAe,aAAa,SAAUyD,EAAInE,GAC3GP,EAAOG,GAAGI,GAAQ,SAAUJ,GAC1B,OAAOO,KAAKyb,GAAG5b,EAAMJ,QAG1B,4B,gBCRD,UAAO,CAAC,KAAW,MAAY,YA2B9B,KA3BmD,EAAF,SAAYH,GAC5D,aAEAA,EAAOG,GAAGiC,OAAO,CACfjE,KAAM,SAAcgX,EAAOxI,EAAMxM,GAC/B,OAAOO,KAAKyb,GAAGhH,EAAO,KAAMxI,EAAMxM,IAEpC8mC,OAAQ,SAAgB9xB,EAAOhV,GAC7B,OAAOO,KAAK4U,IAAIH,EAAO,KAAMhV,IAE/BitD,SAAU,SAAkBntD,EAAUkV,EAAOxI,EAAMxM,GACjD,OAAOO,KAAKyb,GAAGhH,EAAOlV,EAAU0M,EAAMxM,IAExCktD,WAAY,SAAoBptD,EAAUkV,EAAOhV,GAE/C,OAA4B,IAArBoB,UAAUjB,OAAeI,KAAK4U,IAAIrV,EAAU,MAAQS,KAAK4U,IAAIH,EAAOlV,GAAY,KAAME,IAE/Fm2B,MAAO,SAAeg3B,EAAQC,GAC5B,OAAO7sD,KAAKmb,WAAWyxC,GAAQxxC,WAAWyxC,GAASD,MAGvDttD,EAAOiB,KAAK,wLAAoMwD,MAAM,MAAM,SAAUC,EAAIxH,GAExO8C,EAAOG,GAAGjD,GAAQ,SAAUyP,EAAMxM,GAChC,OAAOoB,UAAUjB,OAAS,EAAII,KAAKyb,GAAGjf,EAAM,KAAMyP,EAAMxM,GAAMO,KAAKoM,QAAQ5P,QAGhF,4B,gBC3BD,UAAO,CAAC,WAkBP,KAlBmB,EAAF,SAAY8C,GAC5B,kBAeG,KAFoB,EAAF,WACjB,OAAOA,GACR,QAFD,EAAiB,OAEhB,cAEJ,4B,gBClBD,UAAO,CAAC,WA0BP,KA1BmB,EAAF,SAAYA,GAC5B,aAEA,IACAwtD,EAAU1oD,OAAO9E,OAEjBytD,EAAK3oD,OAAOwgB,EAEZtlB,EAAOmnD,WAAa,SAAUxkD,GAS5B,OARImC,OAAOwgB,IAAMtlB,IACf8E,OAAOwgB,EAAImoC,GAGT9qD,GAAQmC,OAAO9E,SAAWA,IAC5B8E,OAAO9E,OAASwtD,GAGXxtD,GAMe,qBAAb0tD,WACT5oD,OAAO9E,OAAS8E,OAAOwgB,EAAItlB,IAE9B,4B,iBC1BD,gCAAmD,OAAOrB,EAAU,mBAAqBjB,QAAU,iBAAmBA,OAAOkB,SAAW,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBnB,QAAUmB,EAAIC,cAAgBpB,QAAUmB,IAAQnB,OAAOa,UAAY,gBAAkBM,IAAgBA,IAezU,SAAWkK,EAAQsc,GACjB,aAEwE,WAArB1mB,EAAQjC,IAAqD,WAA5BiC,EAAQjC,EAAOD,SAQjGC,EAAOD,QAAUsM,EAAOhE,SAAWsgB,EAAQtc,GAAQ,GAAQ,SAAUyrB,GACnE,IAAKA,EAAEzvB,SACL,MAAM,IAAIxB,MAAM,4CAGlB,OAAO8hB,EAAQmP,IAGjBnP,EAAQtc,GAnBZ,CAsBqB,qBAAXjE,OAAyBA,OAASpE,MAAM,SAAUoE,EAAQ4oD,GAKlE,aAEA,IAAI3uD,EAAM,GACNC,EAAW3B,OAAOo5C,eAClBx3C,EAASF,EAAIsC,MACbnC,EAAOH,EAAIG,KAAO,SAAUosB,GAC9B,OAAOvsB,EAAIG,KAAKpC,KAAKwuB,IACnB,SAAUA,GACZ,OAAOvsB,EAAIkI,OAAO3F,MAAM,GAAIgqB,IAE1BnsB,EAAOJ,EAAII,KACXC,EAAUL,EAAIK,QACdC,EAAa,GACbC,EAAWD,EAAWC,SACtBC,EAASF,EAAWb,eACpBgB,EAAaD,EAAOD,SACpBG,EAAuBD,EAAW1C,KAAKO,QACvCqC,EAAU,GAEVC,EAAa,SAAoBd,GAQnC,MAAsB,oBAARA,GAA8C,kBAAjBA,EAAI+F,UAA6C,oBAAb/F,EAAIgG,MAGjFjF,EAAW,SAAkBf,GAC/B,OAAc,MAAPA,GAAeA,IAAQA,EAAIiG,QAGhCC,EAAWD,EAAOC,SAClB2xC,EAA4B,CAC9Bn2C,MAAM,EACN+B,KAAK,EACLyB,OAAO,EACPof,UAAU,GAGZ,SAAStjB,EAAQgE,EAAMgf,EAAM/e,GAE3B,IAAInH,EACAkiB,EACAqQ,GAHJprB,EAAMA,GAAOiB,GAGIoC,cAAc,UAG/B,GAFA+nB,EAAO9lB,KAAOvF,EAEVgf,EACF,IAAKlmB,KAAK+5C,GAWR73B,EAAMgE,EAAKlmB,IAAMkmB,EAAKhB,cAAgBgB,EAAKhB,aAAallB,KAGtDuyB,EAAOynB,aAAah6C,EAAGkiB,GAK7B/a,EAAIqjB,KAAK7C,YAAY4K,GAAQ7e,WAAWoT,YAAYyL,GAGtD,SAASpvB,EAAOjB,GACd,OAAW,MAAPA,EACKA,EAAM,GAIS,WAAjBF,EAAQE,IAAoC,oBAARA,EAAqBQ,EAAWC,EAASxC,KAAK+B,KAAS,SAAWF,EAAQE,GAOvH,IAAIkB,EAAU,QAEdC,EAAS,SAASA,EAAOC,EAAUC,GAGjC,OAAO,IAAIF,EAAOG,GAAGC,KAAKH,EAAUC,IAiTtC,SAASG,EAAYxB,GAKnB,IAAIyB,IAAWzB,GAAO,WAAYA,GAAOA,EAAIyB,OACzCC,EAAOT,EAAOjB,GAElB,OAAIc,EAAWd,KAAQe,EAASf,KAIhB,UAAT0B,GAA+B,IAAXD,GAAkC,kBAAXA,GAAuBA,EAAS,GAAKA,EAAS,KAAKzB,GA1TvGmB,EAAOG,GAAKH,EAAOzB,UAAY,CAE7BiC,OAAQT,EACRjB,YAAakB,EAEbM,OAAQ,EACRG,QAAS,WACP,OAAOxB,EAAOnC,KAAK4D,OAIrBlD,IAAK,SAAamD,GAEhB,OAAW,MAAPA,EACK1B,EAAOnC,KAAK4D,MAIdC,EAAM,EAAID,KAAKC,EAAMD,KAAKJ,QAAUI,KAAKC,IAIlDC,UAAW,SAAmBC,GAE5B,IAAIC,EAAMd,EAAOe,MAAML,KAAK5B,cAAe+B,GAI3C,OAFAC,EAAIE,WAAaN,KAEVI,GAGTG,KAAM,SAAcC,GAClB,OAAOlB,EAAOiB,KAAKP,KAAMQ,IAE3BC,IAAK,SAAaD,GAChB,OAAOR,KAAKE,UAAUZ,EAAOmB,IAAIT,MAAM,SAAUU,EAAMzE,GACrD,OAAOuE,EAASpE,KAAKsE,EAAMzE,EAAGyE,QAGlCC,MAAO,WACL,OAAOX,KAAKE,UAAU3B,EAAOqC,MAAMZ,KAAMa,aAE3CC,MAAO,WACL,OAAOd,KAAKe,GAAG,IAEjBC,KAAM,WACJ,OAAOhB,KAAKe,IAAI,IAElBE,KAAM,WACJ,OAAOjB,KAAKE,UAAUZ,EAAO4B,KAAKlB,MAAM,SAAUmB,EAAOlF,GACvD,OAAQA,EAAI,GAAK,OAGrBmF,IAAK,WACH,OAAOpB,KAAKE,UAAUZ,EAAO4B,KAAKlB,MAAM,SAAUmB,EAAOlF,GACvD,OAAOA,EAAI,OAGf8E,GAAI,SAAY9E,GACd,IAAIoF,EAAMrB,KAAKJ,OACX0B,GAAKrF,GAAKA,EAAI,EAAIoF,EAAM,GAC5B,OAAOrB,KAAKE,UAAUoB,GAAK,GAAKA,EAAID,EAAM,CAACrB,KAAKsB,IAAM,KAExDC,IAAK,WACH,OAAOvB,KAAKM,YAAcN,KAAK5B,eAIjCK,KAAMA,EACN+C,KAAMnD,EAAImD,KACVC,OAAQpD,EAAIoD,QAGdnC,EAAOoC,OAASpC,EAAOG,GAAGiC,OAAS,WACjC,IAAIC,EACAnF,EACAoF,EACAC,EACAC,EACAC,EACAC,EAASnB,UAAU,IAAM,GACzB5E,EAAI,EACJ2D,EAASiB,UAAUjB,OACnBqC,GAAO,EAoBX,IAlBsB,mBAAXD,IACTC,EAAOD,EAEPA,EAASnB,UAAU5E,IAAM,GACzBA,KAIsB,WAApBgC,EAAQ+D,IAAyB/C,EAAW+C,KAC9CA,EAAS,IAIP/F,IAAM2D,IACRoC,EAAShC,KACT/D,KAGKA,EAAI2D,EAAQ3D,IAEjB,GAAgC,OAA3B0F,EAAUd,UAAU5E,IAEvB,IAAKO,KAAQmF,EACXE,EAAOF,EAAQnF,GAGF,cAATA,GAAwBwF,IAAWH,IAKnCI,GAAQJ,IAASvC,EAAO4C,cAAcL,KAAUC,EAAcK,MAAMC,QAAQP,MAC9ED,EAAMI,EAAOxF,GAGXuF,EADED,IAAgBK,MAAMC,QAAQR,GACxB,GACEE,GAAgBxC,EAAO4C,cAAcN,GAGvCA,EAFA,GAKVE,GAAc,EAEdE,EAAOxF,GAAQ8C,EAAOoC,OAAOO,EAAMF,EAAOF,SACxBQ,IAATR,IACTG,EAAOxF,GAAQqF,IAOvB,OAAOG,GAGT1C,EAAOoC,OAAO,CAEZY,QAAS,UAAYjD,EAAUkD,KAAKC,UAAUC,QAAQ,MAAO,IAE7DC,SAAS,EACTC,MAAO,SAAeC,GACpB,MAAM,IAAIC,MAAMD,IAElBE,KAAM,aACNZ,cAAe,SAAuB/D,GACpC,IAAI4E,EAAOC,EAGX,SAAK7E,GAA8B,oBAAvBS,EAASxC,KAAK+B,QAI1B4E,EAAQzE,EAASH,KAQM,oBADvB6E,EAAOnE,EAAOzC,KAAK2G,EAAO,gBAAkBA,EAAM3E,cACbU,EAAW1C,KAAK4G,KAAUjE,IAEjEkE,cAAe,SAAuB9E,GACpC,IAAI3B,EAEJ,IAAKA,KAAQ2B,EACX,OAAO,EAGT,OAAO,GAIT+E,WAAY,SAAoBC,EAAMxB,EAASyB,GAC7CjE,EAAQgE,EAAM,CACZE,MAAO1B,GAAWA,EAAQ0B,OACzBD,IAEL7C,KAAM,SAAcpC,EAAKqC,GACvB,IAAIZ,EACA3D,EAAI,EAER,GAAI0D,EAAYxB,GAGd,IAFAyB,EAASzB,EAAIyB,OAEN3D,EAAI2D,IACgC,IAArCY,EAASpE,KAAK+B,EAAIlC,GAAIA,EAAGkC,EAAIlC,IADhBA,UAMnB,IAAKA,KAAKkC,EACR,IAAyC,IAArCqC,EAASpE,KAAK+B,EAAIlC,GAAIA,EAAGkC,EAAIlC,IAC/B,MAKN,OAAOkC,GAGTmF,UAAW,SAAmBjF,EAAKkF,GACjC,IAAInD,EAAMmD,GAAW,GAUrB,OARW,MAAPlF,IACEsB,EAAYhD,OAAO0B,IACrBiB,EAAOe,MAAMD,EAAoB,kBAAR/B,EAAmB,CAACA,GAAOA,GAEpDI,EAAKrC,KAAKgE,EAAK/B,IAIZ+B,GAEToD,QAAS,SAAiB9C,EAAMrC,EAAKpC,GACnC,OAAc,MAAPoC,GAAe,EAAIK,EAAQtC,KAAKiC,EAAKqC,EAAMzE,IAIpDoE,MAAO,SAAeS,EAAO2C,GAK3B,IAJA,IAAIpC,GAAOoC,EAAO7D,OACd0B,EAAI,EACJrF,EAAI6E,EAAMlB,OAEP0B,EAAID,EAAKC,IACdR,EAAM7E,KAAOwH,EAAOnC,GAItB,OADAR,EAAMlB,OAAS3D,EACR6E,GAETI,KAAM,SAAcf,EAAOK,EAAUkD,GAQnC,IAPA,IACIC,EAAU,GACV1H,EAAI,EACJ2D,EAASO,EAAMP,OACfgE,GAAkBF,EAGfzH,EAAI2D,EAAQ3D,KACEuE,EAASL,EAAMlE,GAAIA,KAEd2H,GACtBD,EAAQlF,KAAK0B,EAAMlE,IAIvB,OAAO0H,GAGTlD,IAAK,SAAaN,EAAOK,EAAUqD,GACjC,IAAIjE,EACA1C,EACAjB,EAAI,EACJmE,EAAM,GAEV,GAAIT,EAAYQ,GAGd,IAFAP,EAASO,EAAMP,OAER3D,EAAI2D,EAAQ3D,IAGJ,OAFbiB,EAAQsD,EAASL,EAAMlE,GAAIA,EAAG4H,KAG5BzD,EAAI3B,KAAKvB,QAKb,IAAKjB,KAAKkE,EAGK,OAFbjD,EAAQsD,EAASL,EAAMlE,GAAIA,EAAG4H,KAG5BzD,EAAI3B,KAAKvB,GAMf,OAAOsB,EAAK4B,IAGd0D,KAAM,EAGN9E,QAASA,IAGW,oBAAXhC,SACTsC,EAAOG,GAAGzC,OAAOkB,UAAYG,EAAIrB,OAAOkB,WAI1CoB,EAAOiB,KAAK,uEAAuEwD,MAAM,MAAM,SAAUC,EAAIxH,GAC3GmC,EAAW,WAAanC,EAAO,KAAOA,EAAKyH,iBAkB7C,IAAI22C,EAWJ,SAAUx2C,GACR,IAAInI,EACA+C,EACAi8C,EACAH,EACAC,EACAG,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJC,EACIn3C,EACAo3C,EACAC,EACAC,EACAC,EACAj4C,EACA4L,EAEJjN,EAAU,SAAW,EAAI,IAAI6W,KACzB0iC,EAAez3C,EAAOC,SACtBy3C,EAAU,EACVnwC,EAAO,EACPowC,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAyBH,KACzBI,EAAY,SAAmBhZ,EAAGsK,GAKpC,OAJItK,IAAMsK,IACR6N,GAAe,GAGV,GAGT18C,EAAS,GAAGf,eACRO,EAAM,GACN4sB,EAAM5sB,EAAI4sB,IACVoxB,EAAah+C,EAAII,KACjBA,EAAOJ,EAAII,KACXkC,EAAQtC,EAAIsC,MAGhBjC,EAAU,SAAiBuU,EAAMvS,GAI/B,IAHA,IAAIzE,EAAI,EACJoF,EAAM4R,EAAKrT,OAER3D,EAAIoF,EAAKpF,IACd,GAAIgX,EAAKhX,KAAOyE,EACd,OAAOzE,EAIX,OAAQ,GAENqgD,EAAW,6HAGfC,EAAa,sBAEbC,EAAa,oFAEbC,EAAa,2BAA4BD,EAAa,OAASD,EAC/D,gBAAkBA,EAElB,2DAA6DC,EAAa,OAASD,EAAa,OAC5F1B,EAAU,KAAO2B,EAAP,wFAGeC,EAHf,eAMdC,EAAc,IAAI3lC,OAAOwlC,EAAa,IAAK,KACvCI,EAAQ,IAAI5lC,OAAO,uEAAsE,KACzF6lC,EAAS,IAAI7lC,OAAO,8CACpB8lC,EAAe,IAAI9lC,OAAO,wEAC1B+lC,EAAW,IAAI/lC,OAAOwlC,EAAa,MACnCQ,EAAU,IAAIhmC,OAAO8jC,GACrBmC,EAAc,IAAIjmC,OAAO,IAAMylC,EAAa,KAC5CS,EAAY,CACd,GAAM,IAAIlmC,OAAO,MAAQylC,EAAa,KACtC,MAAS,IAAIzlC,OAAO,QAAUylC,EAAa,KAC3C,IAAO,IAAIzlC,OAAO,KAAOylC,EAAa,SACtC,KAAQ,IAAIzlC,OAAO,IAAM0lC,GACzB,OAAU,IAAI1lC,OAAO,IAAM8jC,GAC3B,MAAS,IAAI9jC,OAAO,4LAAyL,KAC7M,KAAQ,IAAIA,OAAO,OAASulC,EAAW,KAAM,KAG7C,aAAgB,IAAIvlC,OAAO,6IAA2I,MAEpKghC,EAAQ,SACRmF,EAAU,sCACVC,EAAU,SACVC,EAAU,yBAEd54C,EAAa,mCACT64C,GAAW,OAGfC,GAAY,IAAIvmC,OAAO,8DAA8D,KACjFwmC,GAAY,SAAmB1lB,EAAQ2lB,GACzC,IAAIC,EAAO,KAAO5lB,EAAOl3B,MAAM,GAAK,MACpC,OAAO68C,IAKPC,EAAO,EAAIx0C,OAAOy0C,aAAaD,EAAO,OAAWx0C,OAAOy0C,aAAaD,GAAQ,GAAK,MAAe,KAAPA,EAAe,SAI3GE,GAAa,sDACTC,GAAa,SAAoBnhB,EAAIohB,GACvC,OAAIA,EAES,OAAPphB,EACK,SAIFA,EAAG97B,MAAM,GAAI,GAAK,KAAO87B,EAAGqhB,WAAWrhB,EAAG78B,OAAS,GAAGhB,SAAS,IAAM,IAIvE,KAAO69B,GAMhBshB,GAAgB,WACdvC,KAEEwC,GAAqBC,IAAc,SAAUv9C,GAC/C,OAAyB,IAAlBA,EAAKuX,UAAqD,aAAhCvX,EAAK0E,SAASnB,gBAC9C,CACD0K,IAAK,aACLM,KAAM,WAIR,IACExQ,EAAKmC,MAAMvC,EAAMsC,EAAMvE,KAAKy/C,EAAajrC,YAAairC,EAAajrC,YAInEvS,EAAIw9C,EAAajrC,WAAWhR,QAAQsE,SACpC,MAAO8H,IACPvN,EAAO,CACLmC,MAAOvC,EAAIuB,OACX,SAAUoC,EAAQk8C,GAChB7B,EAAWz7C,MAAMoB,EAAQrB,EAAMvE,KAAK8hD,KAGtC,SAAUl8C,EAAQk8C,GAIhB,IAHA,IAAI58C,EAAIU,EAAOpC,OACX3D,EAAI,EAED+F,EAAOV,KAAO48C,EAAIjiD,OAEzB+F,EAAOpC,OAAS0B,EAAI,IAK1B,SAASs5C,GAAOr7C,EAAUC,EAAS+D,EAAS46C,GAC1C,IAAI9hD,EACAJ,EACAyE,EACA09C,EACA15C,EACA25C,EACAC,EACAC,EAAa/+C,GAAWA,EAAQsF,cAEpCZ,EAAW1E,EAAUA,EAAQ0E,SAAW,EAGxC,GAFAX,EAAUA,GAAW,GAEG,kBAAbhE,IAA0BA,GAAyB,IAAb2E,GAA+B,IAAbA,GAA+B,KAAbA,EACnF,OAAOX,EAIT,IAAK46C,IACH3C,EAAYh8C,GACZA,EAAUA,GAAW6E,EAEjBq3C,GAAgB,CAGlB,GAAiB,KAAbx3C,IAAoBQ,EAAQF,EAAWG,KAAKpF,IAE9C,GAAIlD,EAAIqI,EAAM,IAEZ,GAAiB,IAAbR,EAAgB,CAClB,KAAIxD,EAAOlB,EAAQyF,eAAe5I,IAShC,OAAOkH,EALP,GAAI7C,EAAK8mB,KAAOnrB,EAEd,OADAkH,EAAQ9E,KAAKiC,GACN6C,OAUX,GAAIg7C,IAAe79C,EAAO69C,EAAWt5C,eAAe5I,KAAOkT,EAAS/P,EAASkB,IAASA,EAAK8mB,KAAOnrB,EAEhG,OADAkH,EAAQ9E,KAAKiC,GACN6C,MAIN,IAAImB,EAAM,GAEf,OADAjG,EAAKmC,MAAM2C,EAAS/D,EAAQ6mB,qBAAqB9mB,IAC1CgE,EACF,IAAKlH,EAAIqI,EAAM,KAAO1F,EAAQw/C,wBAA0Bh/C,EAAQg/C,uBAErE,OADA//C,EAAKmC,MAAM2C,EAAS/D,EAAQg/C,uBAAuBniD,IAC5CkH,EAKX,GAAIvE,EAAQy/C,MAAQtC,EAAuB58C,EAAW,QAAUo8C,IAAcA,EAAU52C,KAAKxF,MAEhF,IAAb2E,GAAqD,WAAnC1E,EAAQ4F,SAASnB,eAA6B,CAU9D,GATAq6C,EAAc/+C,EACdg/C,EAAa/+C,EAQI,IAAb0E,IAAmB44C,EAAS/3C,KAAKxF,IAAas9C,EAAa93C,KAAKxF,IAAY,CAkB9E,KAhBAg/C,EAAalB,GAASt4C,KAAKxF,IAAam/C,GAAYl/C,EAAQmQ,aAAenQ,KAGxDA,GAAYR,EAAQwnC,SAEjC4X,EAAM5+C,EAAQ2hB,aAAa,OAC7Bi9B,EAAMA,EAAI37C,QAAQk7C,GAAYC,IAE9Bp+C,EAAQy2C,aAAa,KAAMmI,EAAM97C,IAMrCrG,GADAoiD,EAASnD,EAAS37C,IACPK,OAEJ3D,KACLoiD,EAAOpiD,IAAMmiD,EAAM,IAAMA,EAAM,UAAY,IAAMO,GAAWN,EAAOpiD,IAGrEqiD,EAAcD,EAAOpzC,KAAK,KAG5B,IAEE,OADAxM,EAAKmC,MAAM2C,EAASg7C,EAAW1G,iBAAiByG,IACzC/6C,EACP,MAAOq7C,GACPzC,EAAuB58C,GAAU,GACjC,QACI6+C,IAAQ97C,GACV9C,EAAQ6hB,gBAAgB,QAQlC,OAAO+5B,EAAO77C,EAASkD,QAAQk6C,EAAO,MAAOn9C,EAAS+D,EAAS46C,GAUjE,SAASnC,KACP,IAAIppB,EAAO,GAYX,OAVA,SAASrmB,EAAM/O,EAAKN,GAOlB,OALI01B,EAAKn0B,KAAKjB,EAAM,KAAOy9C,EAAK4D,oBAEvBtyC,EAAMqmB,EAAKjlB,SAGbpB,EAAM/O,EAAM,KAAON,GAW9B,SAAS4hD,GAAar/C,GAEpB,OADAA,EAAG6C,IAAW,EACP7C,EAQT,SAASs/C,GAAOt/C,GACd,IAAIqV,EAAKzQ,EAASoC,cAAc,YAEhC,IACE,QAAShH,EAAGqV,GACZ,MAAO9I,IACP,OAAO,EACP,QAEI8I,EAAGnF,YACLmF,EAAGnF,WAAWoT,YAAYjO,GAI5BA,EAAK,MAUT,SAASkqC,GAAU9N,EAAO5+B,GAIxB,IAHA,IAAIjU,EAAM6yC,EAAMntC,MAAM,KAClB9H,EAAIoC,EAAIuB,OAEL3D,KACLg/C,EAAKgE,WAAW5gD,EAAIpC,IAAMqW,EAW9B,SAAS4sC,GAAa9b,EAAGsK,GACvB,IAAIv+B,EAAMu+B,GAAKtK,EACX+b,EAAOhwC,GAAsB,IAAfi0B,EAAEl/B,UAAiC,IAAfwpC,EAAExpC,UAAkBk/B,EAAEgc,YAAc1R,EAAE0R,YAE5E,GAAID,EACF,OAAOA,EAIT,GAAIhwC,EACF,KAAOA,EAAMA,EAAI8U,aACf,GAAI9U,IAAQu+B,EACV,OAAQ,EAKd,OAAOtK,EAAI,GAAK,EAQlB,SAASic,GAAkBx/C,GACzB,OAAO,SAAUa,GAEf,MAAgB,UADLA,EAAK0E,SAASnB,eACEvD,EAAKb,OAASA,GAS7C,SAASy/C,GAAmBz/C,GAC1B,OAAO,SAAUa,GACf,IAAIlE,EAAOkE,EAAK0E,SAASnB,cACzB,OAAiB,UAATzH,GAA6B,WAATA,IAAsBkE,EAAKb,OAASA,GASpE,SAAS0/C,GAAqBtnC,GAE5B,OAAO,SAAUvX,GAIf,MAAI,SAAUA,EAQRA,EAAKiP,aAAgC,IAAlBjP,EAAKuX,SAEtB,UAAWvX,EACT,UAAWA,EAAKiP,WACXjP,EAAKiP,WAAWsI,WAAaA,EAE7BvX,EAAKuX,WAAaA,EAMtBvX,EAAK8+C,aAAevnC,GAG3BvX,EAAK8+C,cAAgBvnC,GAAY+lC,GAAmBt9C,KAAUuX,EAGzDvX,EAAKuX,WAAaA,EAGhB,UAAWvX,GACbA,EAAKuX,WAAaA,GAa/B,SAASwnC,GAAuBhgD,GAC9B,OAAOq/C,IAAa,SAAUY,GAE5B,OADAA,GAAYA,EACLZ,IAAa,SAAUX,EAAMx6C,GAKlC,IAJA,IAAIrC,EACAq+C,EAAelgD,EAAG,GAAI0+C,EAAKv+C,OAAQ8/C,GACnCzjD,EAAI0jD,EAAa//C,OAEd3D,KACDkiD,EAAK78C,EAAIq+C,EAAa1jD,MACxBkiD,EAAK78C,KAAOqC,EAAQrC,GAAK68C,EAAK78C,WAaxC,SAASo9C,GAAYl/C,GACnB,OAAOA,GAAmD,qBAAjCA,EAAQ6mB,sBAAwC7mB,EAi/B3E,IAAKvD,KA7+BL+C,EAAU47C,GAAO57C,QAAU,GAO3B+7C,EAAQH,GAAOG,MAAQ,SAAUr6C,GAC/B,IAAIsU,EAAYtU,GAAQA,EAAKk/C,aACzBnE,EAAU/6C,IAASA,EAAKoE,eAAiBpE,GAAMmT,gBAInD,OAAQkkC,EAAMhzC,KAAKiQ,GAAaymC,GAAWA,EAAQr2C,UAAY,SASjEo2C,EAAcZ,GAAOY,YAAc,SAAUr5B,GAC3C,IAAI09B,EACAC,EACA18C,EAAM+e,EAAOA,EAAKrd,eAAiBqd,EAAO05B,EAM9C,OAAIz4C,GAAOiB,GAA6B,IAAjBjB,EAAIc,UAAmBd,EAAIyQ,iBAMlD4nC,GADAp3C,EAAWjB,GACQyQ,gBACnB6nC,GAAkBX,EAAM12C,GAOpBw3C,GAAgBx3C,IAAay7C,EAAYz7C,EAASs/B,cAAgBmc,EAAUpqB,MAAQoqB,IAElFA,EAAUppC,iBACZopC,EAAUppC,iBAAiB,SAAUqnC,IAAe,GAC3C+B,EAAUC,aACnBD,EAAUC,YAAY,WAAYhC,KAStC/+C,EAAQwnC,MAAQuY,IAAO,SAAUjqC,GAE/B,OADA2mC,EAAQ73B,YAAY9O,GAAI8O,YAAYvf,EAASoC,cAAc,QACrB,qBAAxBqO,EAAG+iC,mBAAqC/iC,EAAG+iC,iBAAiB,uBAAuBj4C,UAQnGZ,EAAQy9C,WAAasC,IAAO,SAAUjqC,GAEpC,OADAA,EAAG+V,UAAY,KACP/V,EAAGqM,aAAa,gBAM1BniB,EAAQqnB,qBAAuB04B,IAAO,SAAUjqC,GAE9C,OADAA,EAAG8O,YAAYvf,EAAS27C,cAAc,MAC9BlrC,EAAGuR,qBAAqB,KAAKzmB,UAGvCZ,EAAQw/C,uBAAyBpB,EAAQr4C,KAAKV,EAASm6C,wBAKvDx/C,EAAQihD,QAAUlB,IAAO,SAAUjqC,GAEjC,OADA2mC,EAAQ73B,YAAY9O,GAAI0S,GAAKllB,GACrB+B,EAAS67C,oBAAsB77C,EAAS67C,kBAAkB59C,GAAS1C,UAGzEZ,EAAQihD,SACVhF,EAAK3rC,OAAW,GAAI,SAAUkY,GAC5B,IAAI24B,EAAS34B,EAAG/kB,QAAQ66C,GAAWC,IACnC,OAAO,SAAU78C,GACf,OAAOA,EAAKygB,aAAa,QAAUg/B,IAIvClF,EAAKr2C,KAAS,GAAI,SAAU4iB,EAAIhoB,GAC9B,GAAsC,qBAA3BA,EAAQyF,gBAAkCy2C,EAAgB,CACnE,IAAIh7C,EAAOlB,EAAQyF,eAAeuiB,GAClC,OAAO9mB,EAAO,CAACA,GAAQ,OAI3Bu6C,EAAK3rC,OAAW,GAAI,SAAUkY,GAC5B,IAAI24B,EAAS34B,EAAG/kB,QAAQ66C,GAAWC,IACnC,OAAO,SAAU78C,GACf,IAAIyhB,EAAwC,qBAA1BzhB,EAAK0/C,kBAAoC1/C,EAAK0/C,iBAAiB,MACjF,OAAOj+B,GAAQA,EAAKjlB,QAAUijD,IAMlClF,EAAKr2C,KAAS,GAAI,SAAU4iB,EAAIhoB,GAC9B,GAAsC,qBAA3BA,EAAQyF,gBAAkCy2C,EAAgB,CACnE,IAAIv5B,EACAlmB,EACAkE,EACAO,EAAOlB,EAAQyF,eAAeuiB,GAElC,GAAI9mB,EAAM,CAIR,IAFAyhB,EAAOzhB,EAAK0/C,iBAAiB,QAEjBj+B,EAAKjlB,QAAUsqB,EACzB,MAAO,CAAC9mB,GAOV,IAHAP,EAAQX,EAAQ0gD,kBAAkB14B,GAClCvrB,EAAI,EAEGyE,EAAOP,EAAMlE,MAGlB,IAFAkmB,EAAOzhB,EAAK0/C,iBAAiB,QAEjBj+B,EAAKjlB,QAAUsqB,EACzB,MAAO,CAAC9mB,GAKd,MAAO,MAMbu6C,EAAKr2C,KAAU,IAAI5F,EAAQqnB,qBAAuB,SAAUuxB,EAAKp4C,GAC/D,MAA4C,qBAAjCA,EAAQ6mB,qBACV7mB,EAAQ6mB,qBAAqBuxB,GAC3B54C,EAAQy/C,IACVj/C,EAAQq4C,iBAAiBD,QAD3B,GAGL,SAAUA,EAAKp4C,GACjB,IAAIkB,EACAsN,EAAM,GACN/R,EAAI,EAERsH,EAAU/D,EAAQ6mB,qBAAqBuxB,GAEvC,GAAY,MAARA,EAAa,CACf,KAAOl3C,EAAO6C,EAAQtH,MACE,IAAlByE,EAAKwD,UACP8J,EAAIvP,KAAKiC,GAIb,OAAOsN,EAGT,OAAOzK,GAGT03C,EAAKr2C,KAAY,MAAI5F,EAAQw/C,wBAA0B,SAAU3zB,EAAWrrB,GAC1E,GAA8C,qBAAnCA,EAAQg/C,wBAA0C9C,EAC3D,OAAOl8C,EAAQg/C,uBAAuB3zB,IAS1C+wB,EAAgB,GAMhBD,EAAY,IAER38C,EAAQy/C,IAAMrB,EAAQr4C,KAAKV,EAASwzC,qBAGtCkH,IAAO,SAAUjqC,GACf,IAAImgC,EAMJwG,EAAQ73B,YAAY9O,GAAIoP,UAAY,UAAY5hB,EAAZ,qBAAkDA,EAAlD,kEAKhCwS,EAAG+iC,iBAAiB,wBAAwBj4C,QAC9C+7C,EAAUl9C,KAAK,yCAKZqW,EAAG+iC,iBAAiB,cAAcj4C,QACrC+7C,EAAUl9C,KAAK,mCAAoC69C,EAAW,KAI3DxnC,EAAG+iC,iBAAiB,QAAUv1C,EAAU,MAAM1C,QACjD+7C,EAAUl9C,KAAK,OAQjBw2C,EAAQ5wC,EAASoC,cAAc,UACzBwvC,aAAa,OAAQ,IAC3BnhC,EAAG8O,YAAYqxB,GAEVngC,EAAG+iC,iBAAiB,aAAaj4C,QACpC+7C,EAAUl9C,KAAK,mFAMZqW,EAAG+iC,iBAAiB,YAAYj4C,QACnC+7C,EAAUl9C,KAAK,YAMZqW,EAAG+iC,iBAAiB,KAAOv1C,EAAU,MAAM1C,QAC9C+7C,EAAUl9C,KAAK,YAKjBqW,EAAG+iC,iBAAiB,QACpB8D,EAAUl9C,KAAK,kBAEjBsgD,IAAO,SAAUjqC,GACfA,EAAGoP,UAAY,oFAGf,IAAI+wB,EAAQ5wC,EAASoC,cAAc,SACnCwuC,EAAMgB,aAAa,OAAQ,UAC3BnhC,EAAG8O,YAAYqxB,GAAOgB,aAAa,OAAQ,KAGvCnhC,EAAG+iC,iBAAiB,YAAYj4C,QAClC+7C,EAAUl9C,KAAK,sCAK8B,IAA3CqW,EAAG+iC,iBAAiB,YAAYj4C,QAClC+7C,EAAUl9C,KAAK,WAAY,aAK7Bg9C,EAAQ73B,YAAY9O,GAAImD,UAAW,EAEa,IAA5CnD,EAAG+iC,iBAAiB,aAAaj4C,QACnC+7C,EAAUl9C,KAAK,WAAY,aAK7BqW,EAAG+iC,iBAAiB,QACpB8D,EAAUl9C,KAAK,aAIfO,EAAQ6Q,gBAAkButC,EAAQr4C,KAAKpB,EAAU83C,EAAQ93C,SAAW83C,EAAQ4E,uBAAyB5E,EAAQ6E,oBAAsB7E,EAAQ8E,kBAAoB9E,EAAQ+E,qBACzKzB,IAAO,SAAUjqC,GAGf9V,EAAQyhD,kBAAoB98C,EAAQvH,KAAK0Y,EAAI,KAG7CnR,EAAQvH,KAAK0Y,EAAI,aACjB8mC,EAAcn9C,KAAK,KAAMo8C,MAI7Bc,EAAYA,EAAU/7C,QAAU,IAAImX,OAAO4kC,EAAU1wC,KAAK,MAC1D2wC,EAAgBA,EAAch8C,QAAU,IAAImX,OAAO6kC,EAAc3wC,KAAK,MAItE40C,EAAazC,EAAQr4C,KAAK02C,EAAQiF,yBAIlCnxC,EAAWswC,GAAczC,EAAQr4C,KAAK02C,EAAQlsC,UAAY,SAAU6zB,EAAGsK,GACrE,IAAIiT,EAAuB,IAAfvd,EAAEl/B,SAAiBk/B,EAAEvvB,gBAAkBuvB,EAC/Cwd,EAAMlT,GAAKA,EAAE/9B,WACjB,OAAOyzB,IAAMwd,MAAUA,GAAwB,IAAjBA,EAAI18C,YAAmBy8C,EAAMpxC,SAAWoxC,EAAMpxC,SAASqxC,GAAOxd,EAAEsd,yBAA4D,GAAjCtd,EAAEsd,wBAAwBE,MACjJ,SAAUxd,EAAGsK,GACf,GAAIA,EACF,KAAOA,EAAIA,EAAE/9B,YACX,GAAI+9B,IAAMtK,EACR,OAAO,EAKb,OAAO,GAMTgZ,EAAYyD,EAAa,SAAUzc,EAAGsK,GAEpC,GAAItK,IAAMsK,EAER,OADA6N,GAAe,EACR,EAIT,IAAIsF,GAAWzd,EAAEsd,yBAA2BhT,EAAEgT,wBAE9C,OAAIG,IAYU,GAHdA,GAAWzd,EAAEt+B,eAAiBs+B,KAAOsK,EAAE5oC,eAAiB4oC,GAAKtK,EAAEsd,wBAAwBhT,GACvF,KAEoB1uC,EAAQ8hD,cAAgBpT,EAAEgT,wBAAwBtd,KAAOyd,EAMvEzd,GAAK/+B,GAAY++B,EAAEt+B,eAAiB+2C,GAAgBtsC,EAASssC,EAAczY,IACrE,EAONsK,GAAKrpC,GAAYqpC,EAAE5oC,eAAiB+2C,GAAgBtsC,EAASssC,EAAcnO,GACtE,EAIF4N,EAAY58C,EAAQ48C,EAAWlY,GAAK1kC,EAAQ48C,EAAW5N,GAAK,EAGpD,EAAVmT,GAAe,EAAI,IACxB,SAAUzd,EAAGsK,GAEf,GAAItK,IAAMsK,EAER,OADA6N,GAAe,EACR,EAGT,IAAIpsC,EACAlT,EAAI,EACJ8kD,EAAM3d,EAAEzzB,WACRixC,EAAMlT,EAAE/9B,WACRqxC,EAAK,CAAC5d,GACN6d,EAAK,CAACvT,GAEV,IAAKqT,IAAQH,EAMX,OAAOxd,GAAK/+B,GAAY,EAAIqpC,GAAKrpC,EAAW,EAE5C08C,GAAO,EAAIH,EAAM,EAAItF,EAAY58C,EAAQ48C,EAAWlY,GAAK1kC,EAAQ48C,EAAW5N,GAAK,EAC5E,GAAIqT,IAAQH,EACjB,OAAO1B,GAAa9b,EAAGsK,GAMzB,IAFAv+B,EAAMi0B,EAECj0B,EAAMA,EAAIQ,YACfqxC,EAAGh6C,QAAQmI,GAKb,IAFAA,EAAMu+B,EAECv+B,EAAMA,EAAIQ,YACfsxC,EAAGj6C,QAAQmI,GAIb,KAAO6xC,EAAG/kD,KAAOglD,EAAGhlD,IAClBA,IAGF,OAAOA,EACPijD,GAAa8B,EAAG/kD,GAAIglD,EAAGhlD,IAMvB+kD,EAAG/kD,IAAM4/C,GAAgB,EAAIoF,EAAGhlD,IAAM4/C,EAAe,EAErD,GAEKx3C,GAjZEA,GAoZXu2C,GAAOj3C,QAAU,SAAU4S,EAAM65B,GAC/B,OAAOwK,GAAOrkC,EAAM,KAAM,KAAM65B,IAGlCwK,GAAO/qC,gBAAkB,SAAUnP,EAAM6V,GAGvC,GAFAilC,EAAY96C,GAER1B,EAAQ6Q,iBAAmB6rC,IAAmBS,EAAuB5lC,EAAO,QAAUqlC,IAAkBA,EAAc72C,KAAKwR,OAAYolC,IAAcA,EAAU52C,KAAKwR,IACtK,IACE,IAAInW,EAAMuD,EAAQvH,KAAKsE,EAAM6V,GAE7B,GAAInW,GAAOpB,EAAQyhD,mBAEnB//C,EAAK2D,UAAuC,KAA3B3D,EAAK2D,SAASH,SAC7B,OAAO9D,EAET,MAAO4L,IACPmwC,EAAuB5lC,GAAM,GAIjC,OAAOqkC,GAAOrkC,EAAMlS,EAAU,KAAM,CAAC3D,IAAOd,OAAS,GAGvDg7C,GAAOrrC,SAAW,SAAU/P,EAASkB,GAUnC,OAJKlB,EAAQsF,eAAiBtF,IAAY6E,GACxCm3C,EAAYh8C,GAGP+P,EAAS/P,EAASkB,IAG3Bk6C,GAAO51C,KAAO,SAAUtE,EAAMlE,IAMvBkE,EAAKoE,eAAiBpE,IAAS2D,GAClCm3C,EAAY96C,GAGd,IAAIjB,EAAKw7C,EAAKgE,WAAWziD,EAAKyH,eAE9Bka,EAAM1e,GAAMZ,EAAOzC,KAAK6+C,EAAKgE,WAAYziD,EAAKyH,eAAiBxE,EAAGiB,EAAMlE,GAAOk/C,QAAkBr5C,EACjG,YAAeA,IAAR8b,EAAoBA,EAAMnf,EAAQy9C,aAAef,EAAiBh7C,EAAKygB,aAAa3kB,IAAS2hB,EAAMzd,EAAK0/C,iBAAiB5jD,KAAU2hB,EAAI+iC,UAAY/iC,EAAIjhB,MAAQ,MAGxK09C,GAAO/iB,OAAS,SAAUhgB,GACxB,OAAQA,EAAM,IAAIpV,QAAQk7C,GAAYC,KAGxChD,GAAOj4C,MAAQ,SAAUC,GACvB,MAAM,IAAIC,MAAM,0CAA4CD,IAQ9Dg4C,GAAO9qC,WAAa,SAAUvM,GAC5B,IAAI7C,EACAygD,EAAa,GACb7/C,EAAI,EACJrF,EAAI,EAMR,GAJAs/C,GAAgBv8C,EAAQoiD,iBACxB9F,GAAat8C,EAAQqiD,YAAc99C,EAAQ5C,MAAM,GACjD4C,EAAQ/B,KAAK46C,GAETb,EAAc,CAChB,KAAO76C,EAAO6C,EAAQtH,MAChByE,IAAS6C,EAAQtH,KACnBqF,EAAI6/C,EAAW1iD,KAAKxC,IAIxB,KAAOqF,KACLiC,EAAQ9B,OAAO0/C,EAAW7/C,GAAI,GAOlC,OADAg6C,EAAY,KACL/3C,GAQTu3C,EAAUF,GAAOE,QAAU,SAAUp6C,GACnC,IAAIyhB,EACA/hB,EAAM,GACNnE,EAAI,EACJiI,EAAWxD,EAAKwD,SAEpB,GAAKA,GAME,GAAiB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAiB,CAG9D,GAAgC,kBAArBxD,EAAKgiB,YACd,OAAOhiB,EAAKgiB,YAGZ,IAAKhiB,EAAOA,EAAK+P,WAAY/P,EAAMA,EAAOA,EAAKujB,YAC7C7jB,GAAO06C,EAAQp6C,QAGd,GAAiB,IAAbwD,GAA+B,IAAbA,EAC3B,OAAOxD,EAAK4gD,eAhBZ,KAAOn/B,EAAOzhB,EAAKzE,MAEjBmE,GAAO06C,EAAQ34B,GAkBnB,OAAO/hB,IAGT66C,EAAOL,GAAOnrC,UAAY,CAExBovC,YAAa,GACb0C,aAAczC,GACdp6C,MAAOu4C,EACPgC,WAAY,GACZr6C,KAAM,GACN48C,SAAU,CACR,IAAK,CACH7yC,IAAK,aACL7N,OAAO,GAET,IAAK,CACH6N,IAAK,cAEP,IAAK,CACHA,IAAK,kBACL7N,OAAO,GAET,IAAK,CACH6N,IAAK,oBAGT8yC,UAAW,CACT,KAAQ,SAAc/8C,GASpB,OARAA,EAAM,GAAKA,EAAM,GAAGjC,QAAQ66C,GAAWC,IAEvC74C,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAM,IAAIjC,QAAQ66C,GAAWC,IAEtD,OAAb74C,EAAM,KACRA,EAAM,GAAK,IAAMA,EAAM,GAAK,KAGvBA,EAAM/D,MAAM,EAAG,IAExB,MAAS,SAAe+D,GA2BtB,OAhBAA,EAAM,GAAKA,EAAM,GAAGT,cAES,QAAzBS,EAAM,GAAG/D,MAAM,EAAG,IAEf+D,EAAM,IACTk2C,GAAOj4C,MAAM+B,EAAM,IAKrBA,EAAM,KAAOA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAAK,GAAkB,SAAbA,EAAM,IAA8B,QAAbA,EAAM,KACvFA,EAAM,KAAOA,EAAM,GAAKA,EAAM,IAAmB,QAAbA,EAAM,KACjCA,EAAM,IACfk2C,GAAOj4C,MAAM+B,EAAM,IAGdA,GAET,OAAU,SAAgBA,GACxB,IAAIg9C,EACAC,GAAYj9C,EAAM,IAAMA,EAAM,GAElC,OAAIu4C,EAAiB,MAAEl4C,KAAKL,EAAM,IACzB,MAILA,EAAM,GACRA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAC1Bi9C,GAAY5E,EAAQh4C,KAAK48C,KACpCD,EAASxG,EAASyG,GAAU,MAC5BD,EAASC,EAASjjD,QAAQ,IAAKijD,EAAS/hD,OAAS8hD,GAAUC,EAAS/hD,UAElE8E,EAAM,GAAKA,EAAM,GAAG/D,MAAM,EAAG+gD,GAC7Bh9C,EAAM,GAAKi9C,EAAShhD,MAAM,EAAG+gD,IAIxBh9C,EAAM/D,MAAM,EAAG,MAG1B2O,OAAQ,CACN,IAAO,SAAasyC,GAClB,IAAIx8C,EAAWw8C,EAAiBn/C,QAAQ66C,GAAWC,IAAWt5C,cAC9D,MAA4B,MAArB29C,EAA2B,WAChC,OAAO,GACL,SAAUlhD,GACZ,OAAOA,EAAK0E,UAAY1E,EAAK0E,SAASnB,gBAAkBmB,IAG5D,MAAS,SAAeylB,GACtB,IAAIg3B,EAAU9F,EAAWlxB,EAAY,KACrC,OAAOg3B,IAAYA,EAAU,IAAI9qC,OAAO,0BAA2B8T,EAAY,IAAM0xB,EAAa,SAAWR,EAAWlxB,GAAW,SAAUnqB,GAC3I,OAAOmhD,EAAQ98C,KAA+B,kBAAnBrE,EAAKmqB,WAA0BnqB,EAAKmqB,WAA0C,qBAAtBnqB,EAAKygB,cAAgCzgB,EAAKygB,aAAa,UAAY,QAG1J,KAAQ,SAAc3kB,EAAMslD,EAAUvX,GACpC,OAAO,SAAU7pC,GACf,IAAIwU,EAAS0lC,GAAO51C,KAAKtE,EAAMlE,GAE/B,OAAc,MAAV0Y,EACkB,OAAb4sC,GAGJA,IAIL5sC,GAAU,GAGU,MAAb4sC,EAAmB5sC,IAAWq1B,EAAqB,OAAbuX,EAAoB5sC,IAAWq1B,EAAqB,OAAbuX,EAAoBvX,GAAmC,IAA1Br1B,EAAOxW,QAAQ6rC,GAA4B,OAAbuX,EAAoBvX,GAASr1B,EAAOxW,QAAQ6rC,IAAU,EAAiB,OAAbuX,EAAoBvX,GAASr1B,EAAOvU,OAAO4pC,EAAM3qC,UAAY2qC,EAAqB,OAAbuX,GAAqB,IAAM5sC,EAAOzS,QAAQi6C,EAAa,KAAO,KAAKh+C,QAAQ6rC,IAAU,EAAiB,OAAbuX,IAAoB5sC,IAAWq1B,GAASr1B,EAAOvU,MAAM,EAAG4pC,EAAM3qC,OAAS,KAAO2qC,EAAQ,QAIjc,MAAS,SAAe1qC,EAAMkiD,EAAMC,EAAWlhD,EAAOE,GACpD,IAAIihD,EAA8B,QAArBpiD,EAAKc,MAAM,EAAG,GACvBuhD,EAA6B,SAAnBriD,EAAKc,OAAO,GACtBwhD,EAAkB,YAATJ,EACb,OAAiB,IAAVjhD,GAAwB,IAATE,EACtB,SAAUN,GACR,QAASA,EAAKiP,YACZ,SAAUjP,EAAM0hD,EAAUx5C,GAC5B,IAAI2D,EACA81C,EACAC,EACAngC,EACAogC,EACA10B,EACAlf,EAAMszC,IAAWC,EAAU,cAAgB,kBAC3CjyC,EAASvP,EAAKiP,WACdnT,EAAO2lD,GAAUzhD,EAAK0E,SAASnB,cAC/Bu+C,GAAY55C,IAAQu5C,EACpBhD,GAAO,EAEX,GAAIlvC,EAAQ,CAEV,GAAIgyC,EAAQ,CACV,KAAOtzC,GAAK,CAGV,IAFAwT,EAAOzhB,EAEAyhB,EAAOA,EAAKxT,IACjB,GAAIwzC,EAAShgC,EAAK/c,SAASnB,gBAAkBzH,EAAyB,IAAlB2lB,EAAKje,SACvD,OAAO,EAKX2pB,EAAQlf,EAAe,SAAT9O,IAAoBguB,GAAS,cAG7C,OAAO,EAKT,GAFAA,EAAQ,CAACq0B,EAAUjyC,EAAOQ,WAAaR,EAAO0nC,WAE1CuK,GAAWM,GAab,IAHArD,GADAoD,GADAh2C,GADA81C,GAHAC,GADAngC,EAAOlS,GACW3N,KAAa6f,EAAK7f,GAAW,KAGtB6f,EAAKsgC,YAAcH,EAAWngC,EAAKsgC,UAAY,KACpD5iD,IAAS,IACX,KAAOi8C,GAAWvvC,EAAM,KACtBA,EAAM,GAC1B4V,EAAOogC,GAAatyC,EAAOW,WAAW2xC,GAE/BpgC,IAASogC,GAAapgC,GAAQA,EAAKxT,KAC1CwwC,EAAOoD,EAAY,IAAM10B,EAAM5C,OAE7B,GAAsB,IAAlB9I,EAAKje,YAAoBi7C,GAAQh9B,IAASzhB,EAAM,CAClD2hD,EAAYxiD,GAAQ,CAACi8C,EAASyG,EAAWpD,GACzC,YAmBJ,GAdIqD,IASFrD,EADAoD,GADAh2C,GADA81C,GAHAC,GADAngC,EAAOzhB,GACW4B,KAAa6f,EAAK7f,GAAW,KAGtB6f,EAAKsgC,YAAcH,EAAWngC,EAAKsgC,UAAY,KACpD5iD,IAAS,IACX,KAAOi8C,GAAWvvC,EAAM,KAM/B,IAAT4yC,EAEF,MAAOh9B,IAASogC,GAAapgC,GAAQA,EAAKxT,KAASwwC,EAAOoD,EAAY,IAAM10B,EAAM5C,UAC3Ek3B,EAAShgC,EAAK/c,SAASnB,gBAAkBzH,EAAyB,IAAlB2lB,EAAKje,cAAqBi7C,IAEzEqD,KAIFH,GAHAC,EAAangC,EAAK7f,KAAa6f,EAAK7f,GAAW,KAGtB6f,EAAKsgC,YAAcH,EAAWngC,EAAKsgC,UAAY,KAC5D5iD,GAAQ,CAACi8C,EAASqD,IAG5Bh9B,IAASzhB,MAUrB,OADAy+C,GAAQn+C,KACQF,GAASq+C,EAAOr+C,IAAU,GAAKq+C,EAAOr+C,GAAS,KAIrE,OAAU,SAAgB4hD,EAAQhD,GAKhC,IAAIjtC,EACAhT,EAAKw7C,EAAKJ,QAAQ6H,IAAWzH,EAAK0H,WAAWD,EAAOz+C,gBAAkB22C,GAAOj4C,MAAM,uBAAyB+/C,GAIhH,OAAIjjD,EAAG6C,GACE7C,EAAGigD,GAIRjgD,EAAGG,OAAS,GACd6S,EAAO,CAACiwC,EAAQA,EAAQ,GAAIhD,GACrBzE,EAAK0H,WAAW7kD,eAAe4kD,EAAOz+C,eAAiB66C,IAAa,SAAUX,EAAMx6C,GAKzF,IAJA,IAAIi/C,EACAlzC,EAAUjQ,EAAG0+C,EAAMuB,GACnBzjD,EAAIyT,EAAQ9P,OAET3D,KAELkiD,EADAyE,EAAMlkD,EAAQy/C,EAAMzuC,EAAQzT,OACd0H,EAAQi/C,GAAOlzC,EAAQzT,OAEpC,SAAUyE,GACb,OAAOjB,EAAGiB,EAAM,EAAG+R,KAIhBhT,IAGXo7C,QAAS,CAEP,IAAOiE,IAAa,SAAUv/C,GAI5B,IAAI01C,EAAQ,GACR1xC,EAAU,GACVs/C,EAAU1H,EAAQ57C,EAASkD,QAAQk6C,EAAO,OAC9C,OAAOkG,EAAQvgD,GAAWw8C,IAAa,SAAUX,EAAMx6C,EAASy+C,EAAUx5C,GAKxE,IAJA,IAAIlI,EACAoiD,EAAYD,EAAQ1E,EAAM,KAAMv1C,EAAK,IACrC3M,EAAIkiD,EAAKv+C,OAEN3D,MACDyE,EAAOoiD,EAAU7mD,MACnBkiD,EAAKliD,KAAO0H,EAAQ1H,GAAKyE,OAG1B,SAAUA,EAAM0hD,EAAUx5C,GAK7B,OAJAqsC,EAAM,GAAKv0C,EACXmiD,EAAQ5N,EAAO,KAAMrsC,EAAKrF,GAE1B0xC,EAAM,GAAK,MACH1xC,EAAQ0nB,UAGpB,IAAO6zB,IAAa,SAAUv/C,GAC5B,OAAO,SAAUmB,GACf,OAAOk6C,GAAOr7C,EAAUmB,GAAMd,OAAS,MAG3C,SAAYk/C,IAAa,SAAUp2C,GAEjC,OADAA,EAAOA,EAAKjG,QAAQ66C,GAAWC,IACxB,SAAU78C,GACf,OAAQA,EAAKgiB,aAAeo4B,EAAQp6C,IAAOhC,QAAQgK,IAAS,MAUhE,KAAQo2C,IAAa,SAAUiE,GAO7B,OALK/F,EAAYj4C,KAAKg+C,GAAQ,KAC5BnI,GAAOj4C,MAAM,qBAAuBogD,GAGtCA,EAAOA,EAAKtgD,QAAQ66C,GAAWC,IAAWt5C,cACnC,SAAUvD,GACf,IAAIsiD,EAEJ,GACE,GAAIA,EAAWtH,EAAiBh7C,EAAKqiD,KAAOriD,EAAKygB,aAAa,aAAezgB,EAAKygB,aAAa,QAE7F,OADA6hC,EAAWA,EAAS/+C,iBACA8+C,GAAyC,IAAjCC,EAAStkD,QAAQqkD,EAAO,YAE9CriD,EAAOA,EAAKiP,aAAiC,IAAlBjP,EAAKwD,UAE1C,OAAO,MAIX,OAAU,SAAgBxD,GACxB,IAAI+kB,EAAOrhB,EAAOwB,UAAYxB,EAAOwB,SAAS6f,KAC9C,OAAOA,GAAQA,EAAK9kB,MAAM,KAAOD,EAAK8mB,IAExC,KAAQ,SAAc9mB,GACpB,OAAOA,IAAS+6C,GAElB,MAAS,SAAe/6C,GACtB,OAAOA,IAAS2D,EAASgQ,iBAAmBhQ,EAAS4+C,UAAY5+C,EAAS4+C,gBAAkBviD,EAAKb,MAAQa,EAAKoH,OAASpH,EAAK44C,WAG9H,QAAWiG,IAAqB,GAChC,SAAYA,IAAqB,GACjC,QAAW,SAAiB7+C,GAG1B,IAAI0E,EAAW1E,EAAK0E,SAASnB,cAC7B,MAAoB,UAAbmB,KAA0B1E,EAAKihB,SAAwB,WAAbvc,KAA2B1E,EAAK6G,UAEnF,SAAY,SAAkB7G,GAQ5B,OALIA,EAAKiP,YAEPjP,EAAKiP,WAAW6pC,eAGO,IAAlB94C,EAAK6G,UAGd,MAAS,SAAe7G,GAKtB,IAAKA,EAAOA,EAAK+P,WAAY/P,EAAMA,EAAOA,EAAKujB,YAC7C,GAAIvjB,EAAKwD,SAAW,EAClB,OAAO,EAIX,OAAO,GAET,OAAU,SAAgBxD,GACxB,OAAQu6C,EAAKJ,QAAe,MAAEn6C,IAGhC,OAAU,SAAgBA,GACxB,OAAOy8C,EAAQp4C,KAAKrE,EAAK0E,WAE3B,MAAS,SAAe1E,GACtB,OAAOw8C,EAAQn4C,KAAKrE,EAAK0E,WAE3B,OAAU,SAAgB1E,GACxB,IAAIlE,EAAOkE,EAAK0E,SAASnB,cACzB,MAAgB,UAATzH,GAAkC,WAAdkE,EAAKb,MAA8B,WAATrD,GAEvD,KAAQ,SAAckE,GACpB,IAAIsE,EACJ,MAAuC,UAAhCtE,EAAK0E,SAASnB,eAA2C,SAAdvD,EAAKb,OAEjB,OAArCmF,EAAOtE,EAAKygB,aAAa,UAA2C,SAAvBnc,EAAKf,gBAGrD,MAASw7C,IAAuB,WAC9B,MAAO,CAAC,MAEV,KAAQA,IAAuB,SAAUyD,EAAetjD,GACtD,MAAO,CAACA,EAAS,MAEnB,GAAM6/C,IAAuB,SAAUyD,EAAetjD,EAAQ8/C,GAC5D,MAAO,CAACA,EAAW,EAAIA,EAAW9/C,EAAS8/C,MAE7C,KAAQD,IAAuB,SAAUE,EAAc//C,GAGrD,IAFA,IAAI3D,EAAI,EAEDA,EAAI2D,EAAQ3D,GAAK,EACtB0jD,EAAalhD,KAAKxC,GAGpB,OAAO0jD,KAET,IAAOF,IAAuB,SAAUE,EAAc//C,GAGpD,IAFA,IAAI3D,EAAI,EAEDA,EAAI2D,EAAQ3D,GAAK,EACtB0jD,EAAalhD,KAAKxC,GAGpB,OAAO0jD,KAET,GAAMF,IAAuB,SAAUE,EAAc//C,EAAQ8/C,GAG3D,IAFA,IAAIzjD,EAAIyjD,EAAW,EAAIA,EAAW9/C,EAAS8/C,EAAW9/C,EAASA,EAAS8/C,IAE/DzjD,GAAK,GACZ0jD,EAAalhD,KAAKxC,GAGpB,OAAO0jD,KAET,GAAMF,IAAuB,SAAUE,EAAc//C,EAAQ8/C,GAG3D,IAFA,IAAIzjD,EAAIyjD,EAAW,EAAIA,EAAW9/C,EAAS8/C,IAElCzjD,EAAI2D,GACX+/C,EAAalhD,KAAKxC,GAGpB,OAAO0jD,QAIR9E,QAAa,IAAII,EAAKJ,QAAY,GAE7B,CACRsI,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,UAAU,EACVprB,OAAO,GAEP+iB,EAAKJ,QAAQ5+C,GAAKojD,GAAkBpjD,GAGtC,IAAKA,IAAK,CACRsnD,QAAQ,EACRC,OAAO,GAEPvI,EAAKJ,QAAQ5+C,GAAKqjD,GAAmBrjD,GAIvC,SAAS0mD,MAuET,SAAShE,GAAW8E,GAKlB,IAJA,IAAIxnD,EAAI,EACJoF,EAAMoiD,EAAO7jD,OACbL,EAAW,GAERtD,EAAIoF,EAAKpF,IACdsD,GAAYkkD,EAAOxnD,GAAGiB,MAGxB,OAAOqC,EAGT,SAAS0+C,GAAc4E,EAASa,EAAYna,GAC1C,IAAI56B,EAAM+0C,EAAW/0C,IACjBg1C,EAAOD,EAAWz0C,KAClBzR,EAAMmmD,GAAQh1C,EACdi1C,EAAmBra,GAAgB,eAAR/rC,EAC3BqmD,EAAWl4C,IACf,OAAO+3C,EAAW5iD,MAClB,SAAUJ,EAAMlB,EAASoJ,GACvB,KAAOlI,EAAOA,EAAKiO,IACjB,GAAsB,IAAlBjO,EAAKwD,UAAkB0/C,EACzB,OAAOf,EAAQniD,EAAMlB,EAASoJ,GAIlC,OAAO,GAET,SAAUlI,EAAMlB,EAASoJ,GACvB,IAAIk7C,EACAzB,EACAC,EACAyB,EAAW,CAACjI,EAAS+H,GAEzB,GAAIj7C,GACF,KAAOlI,EAAOA,EAAKiO,IACjB,IAAsB,IAAlBjO,EAAKwD,UAAkB0/C,IACrBf,EAAQniD,EAAMlB,EAASoJ,GACzB,OAAO,OAKb,KAAOlI,EAAOA,EAAKiO,IACjB,GAAsB,IAAlBjO,EAAKwD,UAAkB0/C,EAMzB,GAFAvB,GAHAC,EAAa5hD,EAAK4B,KAAa5B,EAAK4B,GAAW,KAGtB5B,EAAK+hD,YAAcH,EAAW5hD,EAAK+hD,UAAY,IAEpEkB,GAAQA,IAASjjD,EAAK0E,SAASnB,cACjCvD,EAAOA,EAAKiO,IAAQjO,MACf,KAAKojD,EAAWzB,EAAY7kD,KAASsmD,EAAS,KAAOhI,GAAWgI,EAAS,KAAOD,EAErF,OAAOE,EAAS,GAAKD,EAAS,GAK9B,GAFAzB,EAAY7kD,GAAOumD,EAEfA,EAAS,GAAKlB,EAAQniD,EAAMlB,EAASoJ,GACvC,OAAO,EAOjB,OAAO,GAIX,SAASo7C,GAAeC,GACtB,OAAOA,EAASrkD,OAAS,EAAI,SAAUc,EAAMlB,EAASoJ,GAGpD,IAFA,IAAI3M,EAAIgoD,EAASrkD,OAEV3D,KACL,IAAKgoD,EAAShoD,GAAGyE,EAAMlB,EAASoJ,GAC9B,OAAO,EAIX,OAAO,GACLq7C,EAAS,GAcf,SAASC,GAASpB,EAAWriD,EAAK6O,EAAQ9P,EAASoJ,GAOjD,IANA,IAAIlI,EACAyjD,EAAe,GACfloD,EAAI,EACJoF,EAAMyhD,EAAUljD,OAChBwkD,EAAgB,MAAP3jD,EAENxE,EAAIoF,EAAKpF,KACVyE,EAAOoiD,EAAU7mD,MACdqT,IAAUA,EAAO5O,EAAMlB,EAASoJ,KACnCu7C,EAAa1lD,KAAKiC,GAEd0jD,GACF3jD,EAAIhC,KAAKxC,KAMjB,OAAOkoD,EAGT,SAASE,GAAW5C,EAAWliD,EAAUsjD,EAASyB,EAAYC,EAAYC,GASxE,OARIF,IAAeA,EAAWhiD,KAC5BgiD,EAAaD,GAAWC,IAGtBC,IAAeA,EAAWjiD,KAC5BiiD,EAAaF,GAAWE,EAAYC,IAG/B1F,IAAa,SAAUX,EAAM56C,EAAS/D,EAASoJ,GACpD,IAAIi8B,EACA5oC,EACAyE,EACA+jD,EAAS,GACTC,EAAU,GACVC,EAAcphD,EAAQ3D,OAE1BO,EAAQg+C,GAlDZ,SAA0B5+C,EAAUqlD,EAAUrhD,GAI5C,IAHA,IAAItH,EAAI,EACJoF,EAAMujD,EAAShlD,OAEZ3D,EAAIoF,EAAKpF,IACd2+C,GAAOr7C,EAAUqlD,EAAS3oD,GAAIsH,GAGhC,OAAOA,EA0CWshD,CAAiBtlD,GAAY,IAAKC,EAAQ0E,SAAW,CAAC1E,GAAWA,EAAS,IAE1FslD,GAAYrD,IAActD,GAAS5+C,EAA+DY,EAAnD+jD,GAAS/jD,EAAOskD,EAAQhD,EAAWjiD,EAASoJ,GACvFm8C,EAAalC,EACjB0B,IAAepG,EAAOsD,EAAYkD,GAAeL,GACjD,GACA/gD,EAAUuhD,EAOV,GALIjC,GACFA,EAAQiC,EAAWC,EAAYvlD,EAASoJ,GAItC07C,EAMF,IALAzf,EAAOqf,GAASa,EAAYL,GAC5BJ,EAAWzf,EAAM,GAAIrlC,EAASoJ,GAE9B3M,EAAI4oC,EAAKjlC,OAEF3D,MACDyE,EAAOmkC,EAAK5oC,MACd8oD,EAAWL,EAAQzoD,MAAQ6oD,EAAUJ,EAAQzoD,IAAMyE,IAKzD,GAAIy9C,GACF,GAAIoG,GAAc9C,EAAW,CAC3B,GAAI8C,EAAY,CAKd,IAHA1f,EAAO,GACP5oC,EAAI8oD,EAAWnlD,OAER3D,MACDyE,EAAOqkD,EAAW9oD,KAEpB4oC,EAAKpmC,KAAKqmD,EAAU7oD,GAAKyE,GAI7B6jD,EAAW,KAAMQ,EAAa,GAAIlgB,EAAMj8B,GAM1C,IAFA3M,EAAI8oD,EAAWnlD,OAER3D,MACAyE,EAAOqkD,EAAW9oD,MAAQ4oC,EAAO0f,EAAa7lD,EAAQy/C,EAAMz9C,GAAQ+jD,EAAOxoD,KAAO,IACrFkiD,EAAKtZ,KAAUthC,EAAQshC,GAAQnkC,UAMrCqkD,EAAab,GAASa,IAAexhD,EAAUwhD,EAAWtjD,OAAOkjD,EAAaI,EAAWnlD,QAAUmlD,GAE/FR,EACFA,EAAW,KAAMhhD,EAASwhD,EAAYn8C,GAEtCnK,EAAKmC,MAAM2C,EAASwhD,MAM5B,SAASC,GAAkBvB,GAsBzB,IArBA,IAAIwB,EACApC,EACAvhD,EACAD,EAAMoiD,EAAO7jD,OACbslD,EAAkBjK,EAAKuG,SAASiC,EAAO,GAAG5jD,MAC1CslD,EAAmBD,GAAmBjK,EAAKuG,SAAS,KACpDvlD,EAAIipD,EAAkB,EAAI,EAE9BE,EAAenH,IAAc,SAAUv9C,GACrC,OAAOA,IAASukD,IACfE,GAAkB,GACjBE,EAAkBpH,IAAc,SAAUv9C,GAC5C,OAAOhC,EAAQumD,EAAcvkD,IAAS,IACrCykD,GAAkB,GACjBlB,EAAW,CAAC,SAAUvjD,EAAMlB,EAASoJ,GACvC,IAAIxI,GAAO8kD,IAAoBt8C,GAAOpJ,IAAY67C,MAAuB4J,EAAezlD,GAAS0E,SAAWkhD,EAAa1kD,EAAMlB,EAASoJ,GAAOy8C,EAAgB3kD,EAAMlB,EAASoJ,IAG9K,OADAq8C,EAAe,KACR7kD,IAGFnE,EAAIoF,EAAKpF,IACd,GAAI4mD,EAAU5H,EAAKuG,SAASiC,EAAOxnD,GAAG4D,MACpCokD,EAAW,CAAChG,GAAc+F,GAAeC,GAAWpB,QAC/C,CAGL,IAFAA,EAAU5H,EAAK3rC,OAAOm0C,EAAOxnD,GAAG4D,MAAMe,MAAM,KAAM6iD,EAAOxnD,GAAG0H,UAEhDrB,GAAU,CAIpB,IAFAhB,IAAMrF,EAECqF,EAAID,IACL45C,EAAKuG,SAASiC,EAAOniD,GAAGzB,MADdyB,KAMhB,OAAO+iD,GAAWpoD,EAAI,GAAK+nD,GAAeC,GAAWhoD,EAAI,GAAK0iD,GAC9D8E,EAAO9iD,MAAM,EAAG1E,EAAI,GAAGsK,OAAO,CAC5BrJ,MAA8B,MAAvBumD,EAAOxnD,EAAI,GAAG4D,KAAe,IAAM,MACxC4C,QAAQk6C,EAAO,MAAOkG,EAAS5mD,EAAIqF,GAAK0jD,GAAkBvB,EAAO9iD,MAAM1E,EAAGqF,IAAKA,EAAID,GAAO2jD,GAAkBvB,EAASA,EAAO9iD,MAAMW,IAAKA,EAAID,GAAOs9C,GAAW8E,IAGnKQ,EAASxlD,KAAKokD,GAIlB,OAAOmB,GAAeC,GA2RxB,OAxlBAtB,GAAW9kD,UAAYo9C,EAAKqK,QAAUrK,EAAKJ,QAC3CI,EAAK0H,WAAa,IAAIA,GAEtBzH,EAAWN,GAAOM,SAAW,SAAU37C,EAAUgmD,GAC/C,IAAI71C,EACAhL,EACA++C,EACA5jD,EACA2lD,EACAnH,EACAoH,EACArtB,EAAS6jB,EAAW18C,EAAW,KAEnC,GAAI64B,EACF,OAAOmtB,EAAY,EAAIntB,EAAOz3B,MAAM,GAOtC,IAJA6kD,EAAQjmD,EACR8+C,EAAS,GACToH,EAAaxK,EAAKwG,UAEX+D,GAAO,CAwBZ,IAAK3lD,KAtBA6P,KAAYhL,EAAQk4C,EAAOj4C,KAAK6gD,MAC/B9gD,IAEF8gD,EAAQA,EAAM7kD,MAAM+D,EAAM,GAAG9E,SAAW4lD,GAG1CnH,EAAO5/C,KAAKglD,EAAS,KAGvB/zC,GAAU,GAENhL,EAAQm4C,EAAal4C,KAAK6gD,MAC5B91C,EAAUhL,EAAMiJ,QAChB81C,EAAOhlD,KAAK,CACVvB,MAAOwS,EAEP7P,KAAM6E,EAAM,GAAGjC,QAAQk6C,EAAO,OAEhC6I,EAAQA,EAAM7kD,MAAM+O,EAAQ9P,SAIjBq7C,EAAK3rC,SACX5K,EAAQu4C,EAAUp9C,GAAM8E,KAAK6gD,KAAaC,EAAW5lD,MAAU6E,EAAQ+gD,EAAW5lD,GAAM6E,MAC3FgL,EAAUhL,EAAMiJ,QAChB81C,EAAOhlD,KAAK,CACVvB,MAAOwS,EACP7P,KAAMA,EACN8D,QAASe,IAEX8gD,EAAQA,EAAM7kD,MAAM+O,EAAQ9P,SAIhC,IAAK8P,EACH,MAOJ,OAAO61C,EAAYC,EAAM5lD,OAAS4lD,EAAQ5K,GAAOj4C,MAAMpD,GACvD08C,EAAW18C,EAAU8+C,GAAQ19C,MAAM,IAoXrCw6C,EAAUP,GAAOO,QAAU,SAAU57C,EAAUmF,GAG7C,IAAIzI,EACAypD,EAAc,GACdC,EAAkB,GAClBvtB,EAAS8jB,EAAc38C,EAAW,KAEtC,IAAK64B,EAAQ,CAQX,IANK1zB,IACHA,EAAQw2C,EAAS37C,IAGnBtD,EAAIyI,EAAM9E,OAEH3D,MACLm8B,EAAS4sB,GAAkBtgD,EAAMzI,KAEtBqG,GACTojD,EAAYjnD,KAAK25B,GAEjButB,EAAgBlnD,KAAK25B,IAKzBA,EAAS8jB,EAAc38C,EAjJ3B,SAAkComD,EAAiBD,GACjD,IAAIE,EAAQF,EAAY9lD,OAAS,EAC7BimD,EAAYF,EAAgB/lD,OAAS,EACrCkmD,EAAe,SAAsB3H,EAAM3+C,EAASoJ,EAAKrF,EAASwiD,GACpE,IAAIrlD,EACAY,EACAuhD,EACAmD,EAAe,EACf/pD,EAAI,IACJ6mD,EAAY3E,GAAQ,GACpB8H,EAAa,GACbC,EAAgB7K,EAEpBl7C,EAAQg+C,GAAQ0H,GAAa5K,EAAKr2C,KAAU,IAAE,IAAKmhD,GAEnDI,EAAgBrK,GAA4B,MAAjBoK,EAAwB,EAAI3jD,KAAKC,UAAY,GACpEnB,EAAMlB,EAAMP,OAahB,IAXImmD,IAKF1K,EAAmB77C,GAAW6E,GAAY7E,GAAWumD,GAMhD9pD,IAAMoF,GAA4B,OAApBX,EAAOP,EAAMlE,IAAaA,IAAK,CAClD,GAAI4pD,GAAanlD,EAAM,CAWrB,IAVAY,EAAI,EAKC9B,GAAWkB,EAAKoE,eAAiBT,IACpCm3C,EAAY96C,GACZkI,GAAO8yC,GAGFmH,EAAU8C,EAAgBrkD,MAC/B,GAAIuhD,EAAQniD,EAAMlB,GAAW6E,EAAUuE,GAAM,CAC3CrF,EAAQ9E,KAAKiC,GACb,MAIAqlD,IACFjK,EAAUqK,GAKVP,KAEEllD,GAAQmiD,GAAWniD,IACrBslD,IAIE7H,GACF2E,EAAUrkD,KAAKiC,IAerB,GARAslD,GAAgB/pD,EAQZ2pD,GAAS3pD,IAAM+pD,EAAc,CAG/B,IAFA1kD,EAAI,EAEGuhD,EAAU6C,EAAYpkD,MAC3BuhD,EAAQC,EAAWmD,EAAYzmD,EAASoJ,GAG1C,GAAIu1C,EAAM,CAER,GAAI6H,EAAe,EACjB,KAAO/pD,KACC6mD,EAAU7mD,IAAMgqD,EAAWhqD,KAC/BgqD,EAAWhqD,GAAKgvB,EAAI7uB,KAAKmH,IAM/B0iD,EAAa/B,GAAS+B,GAIxBxnD,EAAKmC,MAAM2C,EAAS0iD,GAEhBF,IAAc5H,GAAQ8H,EAAWrmD,OAAS,GAAKomD,EAAeN,EAAY9lD,OAAS,GACrFg7C,GAAO9qC,WAAWvM,GAUtB,OALIwiD,IACFjK,EAAUqK,EACV9K,EAAmB6K,GAGdpD,GAGT,OAAO8C,EAAQ9G,GAAagH,GAAgBA,EA8BTM,CAAyBT,EAAiBD,KAEpEnmD,SAAWA,EAGpB,OAAO64B,GAaTgjB,EAASR,GAAOQ,OAAS,SAAU77C,EAAUC,EAAS+D,EAAS46C,GAC7D,IAAIliD,EACAwnD,EACA4C,EACAxmD,EACA+E,EACA0hD,EAA+B,oBAAb/mD,GAA2BA,EAC7CmF,GAASy5C,GAAQjD,EAAS37C,EAAW+mD,EAAS/mD,UAAYA,GAI9D,GAHAgE,EAAUA,GAAW,GAGA,IAAjBmB,EAAM9E,OAAc,CAItB,IAFA6jD,EAAS/+C,EAAM,GAAKA,EAAM,GAAG/D,MAAM,IAExBf,OAAS,GAAkC,QAA5BymD,EAAQ5C,EAAO,IAAI5jD,MAAsC,IAArBL,EAAQ0E,UAAkBw3C,GAAkBT,EAAKuG,SAASiC,EAAO,GAAG5jD,MAAO,CAGvI,KAFAL,GAAWy7C,EAAKr2C,KAAS,GAAEyhD,EAAM1iD,QAAQ,GAAGlB,QAAQ66C,GAAWC,IAAY/9C,IAAY,IAAI,IAGzF,OAAO+D,EACE+iD,IACT9mD,EAAUA,EAAQmQ,YAGpBpQ,EAAWA,EAASoB,MAAM8iD,EAAO91C,QAAQzQ,MAAM0C,QAMjD,IAFA3D,EAAIghD,EAAwB,aAAEl4C,KAAKxF,GAAY,EAAIkkD,EAAO7jD,OAEnD3D,MACLoqD,EAAQ5C,EAAOxnD,IAEXg/C,EAAKuG,SAAS3hD,EAAOwmD,EAAMxmD,QAI/B,IAAI+E,EAAOq2C,EAAKr2C,KAAK/E,MAEfs+C,EAAOv5C,EAAKyhD,EAAM1iD,QAAQ,GAAGlB,QAAQ66C,GAAWC,IAAYF,GAASt4C,KAAK0+C,EAAO,GAAG5jD,OAAS6+C,GAAYl/C,EAAQmQ,aAAenQ,IAAU,CAK5I,GAHAikD,EAAOhiD,OAAOxF,EAAG,KACjBsD,EAAW4+C,EAAKv+C,QAAU++C,GAAW8E,IAInC,OADAhlD,EAAKmC,MAAM2C,EAAS46C,GACb56C,EAGT,OASR,OADC+iD,GAAYnL,EAAQ57C,EAAUmF,IAAQy5C,EAAM3+C,GAAUk8C,EAAgBn4C,GAAU/D,GAAW69C,GAASt4C,KAAKxF,IAAam/C,GAAYl/C,EAAQmQ,aAAenQ,GACnJ+D,GAKTvE,EAAQqiD,WAAa/+C,EAAQyB,MAAM,IAAIvC,KAAK46C,GAAWnxC,KAAK,MAAQ3I,EAGpEtD,EAAQoiD,mBAAqB7F,EAE7BC,IAGAx8C,EAAQ8hD,aAAe/B,IAAO,SAAUjqC,GAEtC,OAAwE,EAAjEA,EAAG4rC,wBAAwBr8C,EAASoC,cAAc,gBAKtDs4C,IAAO,SAAUjqC,GAEpB,OADAA,EAAGoP,UAAY,mBAC+B,MAAvCpP,EAAGrE,WAAW0Q,aAAa,YAElC69B,GAAU,0BAA0B,SAAUt+C,EAAMlE,EAAMu+C,GACxD,IAAKA,EACH,OAAOr6C,EAAKygB,aAAa3kB,EAA6B,SAAvBA,EAAKyH,cAA2B,EAAI,MAOpEjF,EAAQy9C,YAAesC,IAAO,SAAUjqC,GAG3C,OAFAA,EAAGoP,UAAY,WACfpP,EAAGrE,WAAWwlC,aAAa,QAAS,IACW,KAAxCnhC,EAAGrE,WAAW0Q,aAAa,aAElC69B,GAAU,SAAS,SAAUt+C,EAAM6lD,EAAOxL,GACxC,IAAKA,GAAyC,UAAhCr6C,EAAK0E,SAASnB,cAC1B,OAAOvD,EAAKkhB,gBAObm9B,IAAO,SAAUjqC,GACpB,OAAsC,MAA/BA,EAAGqM,aAAa,gBAEvB69B,GAAU1C,GAAU,SAAU57C,EAAMlE,EAAMu+C,GACxC,IAAI58B,EAEJ,IAAK48B,EACH,OAAsB,IAAfr6C,EAAKlE,GAAiBA,EAAKyH,eAAiBka,EAAMzd,EAAK0/C,iBAAiB5jD,KAAU2hB,EAAI+iC,UAAY/iC,EAAIjhB,MAAQ,QAKpH09C,GAnkET,CAokEEx2C,GAEF9E,EAAOsF,KAAOg2C,GACdt7C,EAAOiX,KAAOqkC,EAAOnrC,WAET,KAAOnQ,EAAOiX,KAAKskC,QAC/Bv7C,EAAOwQ,WAAaxQ,EAAOqwC,OAASiL,EAAO9qC,WAC3CxQ,EAAOoJ,KAAOkyC,EAAOE,QACrBx7C,EAAOkkB,SAAWo3B,EAAOG,MACzBz7C,EAAOiQ,SAAWqrC,EAAOrrC,SACzBjQ,EAAO07C,eAAiBJ,EAAO/iB,OAE/B,IAAIlpB,EAAM,SAAajO,EAAMusD,EAAM78C,GAIjC,IAHA,IAAIV,EAAU,GACVg3C,OAAqBrkD,IAAV+N,GAEP1P,EAAOA,EAAKusD,KAA4B,IAAlBvsD,EAAKwD,UACjC,GAAsB,IAAlBxD,EAAKwD,SAAgB,CACvB,GAAIwiD,GAAYpnD,EAAOoB,GAAM01C,GAAGhmC,GAC9B,MAGFV,EAAQjR,KAAKiC,GAIjB,OAAOgP,GAGLd,EAAY,SAAkBlR,EAAGgD,GAGnC,IAFA,IAAIgP,EAAU,GAEPhS,EAAGA,EAAIA,EAAEumB,YACK,IAAfvmB,EAAEwG,UAAkBxG,IAAMgD,GAC5BgP,EAAQjR,KAAKf,GAIjB,OAAOgS,GAGLb,EAAgBvP,EAAOiX,KAAK7R,MAAM4R,aAEtC,SAASlR,EAAS1E,EAAMlE,GACtB,OAAOkE,EAAK0E,UAAY1E,EAAK0E,SAASnB,gBAAkBzH,EAAKyH,cAG/D,IAAIK,EAAa,kEAEjB,SAAS4xC,EAAO9F,EAAU+F,EAAWtc,GACnC,OAAI56B,EAAWk3C,GACN72C,EAAO4B,KAAKkvC,GAAU,SAAU1vC,EAAMzE,GAC3C,QAASk6C,EAAU/5C,KAAKsE,EAAMzE,EAAGyE,KAAUm5B,KAK3Csc,EAAUjyC,SACL5E,EAAO4B,KAAKkvC,GAAU,SAAU1vC,GACrC,OAAOA,IAASy1C,IAActc,KAKT,kBAAdsc,EACF72C,EAAO4B,KAAKkvC,GAAU,SAAU1vC,GACrC,OAAOhC,EAAQtC,KAAK+5C,EAAWz1C,IAAS,IAAMm5B,KAK3Cv6B,EAAOgQ,OAAO6mC,EAAW/F,EAAUvW,GAG5Cv6B,EAAOgQ,OAAS,SAAUiH,EAAMpW,EAAO05B,GACrC,IAAIn5B,EAAOP,EAAM,GAMjB,OAJI05B,IACFtjB,EAAO,QAAUA,EAAO,KAGL,IAAjBpW,EAAMP,QAAkC,IAAlBc,EAAKwD,SACtB5E,EAAOsF,KAAKiL,gBAAgBnP,EAAM6V,GAAQ,CAAC7V,GAAQ,GAGrDpB,EAAOsF,KAAKjB,QAAQ4S,EAAMjX,EAAO4B,KAAKf,GAAO,SAAUO,GAC5D,OAAyB,IAAlBA,EAAKwD,cAIhB5E,EAAOG,GAAGiC,OAAO,CACfkD,KAAM,SAAcrF,GAClB,IAAItD,EACAmE,EACAiB,EAAMrB,KAAKJ,OACX2iB,EAAOviB,KAEX,GAAwB,kBAAbT,EACT,OAAOS,KAAKE,UAAUZ,EAAOC,GAAU+P,QAAO,WAC5C,IAAKrT,EAAI,EAAGA,EAAIoF,EAAKpF,IACnB,GAAIqD,EAAOiQ,SAASgT,EAAKtmB,GAAI+D,MAC3B,OAAO,MAQf,IAFAI,EAAMJ,KAAKE,UAAU,IAEhBjE,EAAI,EAAGA,EAAIoF,EAAKpF,IACnBqD,EAAOsF,KAAKrF,EAAUgjB,EAAKtmB,GAAImE,GAGjC,OAAOiB,EAAM,EAAI/B,EAAOwQ,WAAW1P,GAAOA,GAE5CkP,OAAQ,SAAgB/P,GACtB,OAAOS,KAAKE,UAAUg2C,EAAOl2C,KAAMT,GAAY,IAAI,KAErDs6B,IAAK,SAAat6B,GAChB,OAAOS,KAAKE,UAAUg2C,EAAOl2C,KAAMT,GAAY,IAAI,KAErD62C,GAAI,SAAY72C,GACd,QAAS22C,EAAOl2C,KAEI,kBAAbT,GAAyBsP,EAAc9J,KAAKxF,GAAYD,EAAOC,GAAYA,GAAY,IAAI,GAAOK,UAK7G,IAAI2E,EAKJC,EAAa,uCACFlF,EAAOG,GAAGC,KAAO,SAAUH,EAAUC,EAASiF,GACvD,IAAIC,EAAOhE,EAEX,IAAKnB,EACH,OAAOS,KAOT,GAFAyE,EAAOA,GAAQF,EAES,kBAAbhF,EAAuB,CAShC,KANEmF,EAFkB,MAAhBnF,EAAS,IAAgD,MAAlCA,EAASA,EAASK,OAAS,IAAcL,EAASK,QAAU,EAE7E,CAAC,KAAML,EAAU,MAEjBiF,EAAWG,KAAKpF,MAIZmF,EAAM,IAAOlF,EAgCpB,OAAKA,GAAWA,EAAQM,QACrBN,GAAWiF,GAAMG,KAAKrF,GAGvBS,KAAK5B,YAAYoB,GAASoF,KAAKrF,GAlCtC,GAAImF,EAAM,GAAI,CAMZ,GALAlF,EAAUA,aAAmBF,EAASE,EAAQ,GAAKA,EAGnDF,EAAOe,MAAML,KAAMV,EAAOuF,UAAUH,EAAM,GAAIlF,GAAWA,EAAQ0E,SAAW1E,EAAQsF,eAAiBtF,EAAU6E,GAAU,IAErHC,EAAWS,KAAKL,EAAM,KAAOpF,EAAO4C,cAAc1C,GACpD,IAAKkF,KAASlF,EAERP,EAAWe,KAAK0E,IAClB1E,KAAK0E,GAAOlF,EAAQkF,IAEpB1E,KAAKgF,KAAKN,EAAOlF,EAAQkF,IAK/B,OAAO1E,KAUP,OARAU,EAAO2D,EAASY,eAAeP,EAAM,OAInC1E,KAAK,GAAKU,EACVV,KAAKJ,OAAS,GAGTI,KAUN,OAAIT,EAAS2E,UAClBlE,KAAK,GAAKT,EACVS,KAAKJ,OAAS,EACPI,MAEEf,EAAWM,QACE8C,IAAfoC,EAAKS,MAAsBT,EAAKS,MAAM3F,GAC7CA,EAASD,GAGJA,EAAOgE,UAAU/D,EAAUS,QAI/BnC,UAAYyB,EAAOG,GAExB8E,EAAajF,EAAO+E,GACpB,IAAIyK,EAAe,iCAEnBC,EAAmB,CACjBC,UAAU,EACVlG,UAAU,EACVmG,MAAM,EACNhB,MAAM,GA8DR,SAASiB,EAAQC,EAAKR,GACpB,MAAQQ,EAAMA,EAAIR,KAA0B,IAAjBQ,EAAIjL,WAE/B,OAAOiL,EA/DT7P,EAAOG,GAAGiC,OAAO,CACf0N,IAAK,SAAapN,GAChB,IAAIqN,EAAU/P,EAAO0C,EAAQhC,MACzB9D,EAAImT,EAAQzP,OAChB,OAAOI,KAAKsP,QAAO,WAGjB,IAFA,IAAIrT,EAAI,EAEDA,EAAIC,EAAGD,IACZ,GAAIqD,EAAOiQ,SAASvP,KAAMqP,EAAQpT,IAChC,OAAO,MAKfuT,QAAS,SAAiBC,EAAWjQ,GACnC,IAAI2P,EACAlT,EAAI,EACJC,EAAI8D,KAAKJ,OACT8P,EAAU,GACVL,EAA+B,kBAAdI,GAA0BnQ,EAAOmQ,GAEtD,IAAKZ,EAAc9J,KAAK0K,GACtB,KAAOxT,EAAIC,EAAGD,IACZ,IAAKkT,EAAMnP,KAAK/D,GAAIkT,GAAOA,IAAQ3P,EAAS2P,EAAMA,EAAIQ,WAEpD,GAAIR,EAAIjL,SAAW,KAAOmL,EAAUA,EAAQO,MAAMT,IAAQ,EACzC,IAAjBA,EAAIjL,UAAkB5E,EAAOsF,KAAKiL,gBAAgBV,EAAKM,IAAa,CAClEC,EAAQjR,KAAK0Q,GACb,MAMR,OAAOnP,KAAKE,UAAUwP,EAAQ9P,OAAS,EAAIN,EAAOwQ,WAAWJ,GAAWA,IAG1EE,MAAO,SAAelP,GAEpB,OAAKA,EAKe,kBAATA,EACFhC,EAAQtC,KAAKkD,EAAOoB,GAAOV,KAAK,IAIlCtB,EAAQtC,KAAK4D,KACpBU,EAAKZ,OAASY,EAAK,GAAKA,GAVfV,KAAK,IAAMA,KAAK,GAAG2P,WAAa3P,KAAKc,QAAQiP,UAAUnQ,QAAU,GAY5E+M,IAAK,SAAapN,EAAUC,GAC1B,OAAOQ,KAAKE,UAAUZ,EAAOwQ,WAAWxQ,EAAOe,MAAML,KAAKlD,MAAOwC,EAAOC,EAAUC,OAEpFwQ,QAAS,SAAiBzQ,GACxB,OAAOS,KAAK2M,IAAgB,MAAZpN,EAAmBS,KAAKM,WAAaN,KAAKM,WAAWgP,OAAO/P,OAUhFD,EAAOiB,KAAK,CACV0P,OAAQ,SAAgBvP,GACtB,IAAIuP,EAASvP,EAAKiP,WAClB,OAAOM,GAA8B,KAApBA,EAAO/L,SAAkB+L,EAAS,MAErDC,QAAS,SAAiBxP,GACxB,OAAOiO,EAAIjO,EAAM,eAEnByP,aAAc,SAAsBzP,EAAMsD,EAAIoM,GAC5C,OAAOzB,EAAIjO,EAAM,aAAc0P,IAEjCnB,KAAM,SAAcvO,GAClB,OAAOwO,EAAQxO,EAAM,gBAEvBuN,KAAM,SAAcvN,GAClB,OAAOwO,EAAQxO,EAAM,oBAEvB2P,QAAS,SAAiB3P,GACxB,OAAOiO,EAAIjO,EAAM,gBAEnBqP,QAAS,SAAiBrP,GACxB,OAAOiO,EAAIjO,EAAM,oBAEnB4P,UAAW,SAAmB5P,EAAMsD,EAAIoM,GACtC,OAAOzB,EAAIjO,EAAM,cAAe0P,IAElCG,UAAW,SAAmB7P,EAAMsD,EAAIoM,GACtC,OAAOzB,EAAIjO,EAAM,kBAAmB0P,IAEtCI,SAAU,SAAkB9P,GAC1B,OAAOkO,GAAWlO,EAAKiP,YAAc,IAAIc,WAAY/P,IAEvDsO,SAAU,SAAkBtO,GAC1B,OAAOkO,EAAUlO,EAAK+P,aAExB3H,SAAU,SAAkBpI,GAC1B,OAA4B,MAAxBA,EAAKgQ,iBAGTpS,EAASoC,EAAKgQ,iBACLhQ,EAAKgQ,iBAMVtL,EAAS1E,EAAM,cACjBA,EAAOA,EAAKiQ,SAAWjQ,GAGlBpB,EAAOe,MAAM,GAAIK,EAAKkQ,gBAE9B,SAAUpU,EAAMiD,GACjBH,EAAOG,GAAGjD,GAAQ,SAAU4T,EAAO7Q,GACjC,IAAImQ,EAAUpQ,EAAOmB,IAAIT,KAAMP,EAAI2Q,GAsBnC,MApBuB,UAAnB5T,EAAKmE,OAAO,KACdpB,EAAW6Q,GAGT7Q,GAAgC,kBAAbA,IACrBmQ,EAAUpQ,EAAOgQ,OAAO/P,EAAUmQ,IAGhC1P,KAAKJ,OAAS,IAEXmP,EAAiBvS,IACpB8C,EAAOwQ,WAAWJ,GAIhBZ,EAAa/J,KAAKvI,IACpBkT,EAAQmB,WAIL7Q,KAAKE,UAAUwP,OAG1B,IAAI/J,EAAgB,oBA0MpB,SAASmL,EAASC,GAChB,OAAOA,EAGT,SAASC,EAAQC,GACf,MAAMA,EAGR,SAASC,EAAWhU,EAAOiU,EAASC,EAAQC,GAC1C,IAAIxF,EAEJ,IAEM3O,GAAS+B,EAAW4M,EAAS3O,EAAM0O,SACrCC,EAAOzP,KAAKc,GAAOyO,KAAKwF,GAASrE,KAAKsE,GAC7BlU,GAAS+B,EAAW4M,EAAS3O,EAAMoU,MAC5CzF,EAAOzP,KAAKc,EAAOiU,EAASC,GAK5BD,EAAQvQ,WAAMyB,EAAW,CAACnF,GAAOyD,MAAM0Q,IAKzC,MAAOnU,GAGPkU,EAAOxQ,WAAMyB,EAAW,CAACnF,KAtM7BoC,EAAOmL,UAAY,SAAU9I,GAG3BA,EAA6B,kBAAZA,EAlCnB,SAAuBA,GACrB,IAAIhE,EAAS,GAIb,OAHA2B,EAAOiB,KAAKoB,EAAQ+C,MAAMiB,IAAkB,IAAI,SAAU6B,EAAG0nC,GAC3DvxC,EAAOuxC,IAAQ,KAEVvxC,EA6BiCwxC,CAAcxtC,GAAWrC,EAAOoC,OAAO,GAAIC,GAEnF,IACAytC,EAEAC,EAEAC,EAEAC,EAEAt8B,EAAO,GAEP+c,EAAQ,GAERwf,GAAe,EAEfn8B,EAAO,WAOL,IALAk8B,EAAUA,GAAW5tC,EAAQ8tC,KAG7BH,EAASF,GAAS,EAEXpf,EAAMpwB,OAAQ4vC,GAAe,EAGlC,IAFAH,EAASrf,EAAMriB,UAEN6hC,EAAcv8B,EAAKrT,SAE4B,IAAlDqT,EAAKu8B,GAAa5uC,MAAMyuC,EAAO,GAAIA,EAAO,KAAiB1tC,EAAQ+tC,cAErEF,EAAcv8B,EAAKrT,OACnByvC,GAAS,GAMV1tC,EAAQ0tC,SACXA,GAAS,GAGXD,GAAS,EAELG,IAGAt8B,EADEo8B,EACK,GAEA,KAKb9sB,EAAO,CAEL5V,IAAK,WA0BH,OAzBIsG,IAEEo8B,IAAWD,IACbI,EAAcv8B,EAAKrT,OAAS,EAC5BowB,EAAMvxB,KAAK4wC,IAGb,SAAU1iC,EAAI8F,GACZnT,EAAOiB,KAAKkS,GAAM,SAAUjL,EAAG3D,GACzB5E,EAAW4E,GACRlC,EAAQguC,QAAWptB,EAAKnT,IAAIvL,IAC/BoP,EAAKxU,KAAKoF,GAEHA,GAAOA,EAAIjE,QAA0B,WAAhBR,EAAOyE,IAErC8I,EAAI9I,MARV,CAWGhD,WAECwuC,IAAWD,GACb/7B,KAIGrT,MAGT2W,OAAQ,WAYN,OAXArX,EAAOiB,KAAKM,WAAW,SAAU2G,EAAG3D,GAGlC,IAFA,IAAI+L,GAEIA,EAAQtQ,EAAOkE,QAAQK,EAAKoP,EAAMrD,KAAW,GACnDqD,EAAKxR,OAAOmO,EAAO,GAEfA,GAAS4/B,GACXA,OAICxvC,MAIToP,IAAK,SAAa3P,GAChB,OAAOA,EAAKH,EAAOkE,QAAQ/D,EAAIwT,IAAS,EAAIA,EAAKrT,OAAS,GAG5D8jB,MAAO,WAKL,OAJIzQ,IACFA,EAAO,IAGFjT,MAKTmT,QAAS,WAGP,OAFAo8B,EAAUvf,EAAQ,GAClB/c,EAAOo8B,EAAS,GACTrvC,MAETiY,SAAU,WACR,OAAQhF,GAKVG,KAAM,WAOJ,OANAm8B,EAAUvf,EAAQ,GAEbqf,GAAWD,IACdn8B,EAAOo8B,EAAS,IAGXrvC,MAET4vC,OAAQ,WACN,QAASL,GAGX/gC,SAAU,SAAkBhP,EAASiT,GAWnC,OAVK88B,IAEH98B,EAAO,CAACjT,GADRiT,EAAOA,GAAQ,IACO9R,MAAQ8R,EAAK9R,QAAU8R,GAC7Cud,EAAMvxB,KAAKgU,GAEN28B,GACH/7B,KAIGrT,MAGTqT,KAAM,WAEJ,OADAkP,EAAK/T,SAASxO,KAAMa,WACbb,MAGT6vC,MAAO,WACL,QAASP,IAIb,OAAO/sB,GAoCTjjB,EAAOoC,OAAO,CACZ6I,SAAU,SAAkB1D,GAC1B,IAAI0K,EAAS,CAEb,CAAC,SAAU,WAAYjS,EAAOmL,UAAU,UAAWnL,EAAOmL,UAAU,UAAW,GAAI,CAAC,UAAW,OAAQnL,EAAOmL,UAAU,eAAgBnL,EAAOmL,UAAU,eAAgB,EAAG,YAAa,CAAC,SAAU,OAAQnL,EAAOmL,UAAU,eAAgBnL,EAAOmL,UAAU,eAAgB,EAAG,aAC7Q+G,EAAS,UACTC,EAAW,CACbrD,MAAO,WACL,OAAOoD,GAETlG,OAAQ,WAEN,OADAhB,EAASqB,KAAK9K,WAAWiM,KAAKjM,WACvBb,MAET,MAAS,SAAgBP,GACvB,OAAOgS,EAASH,KAAK,KAAM7R,IAG7BiS,KAAM,WAGJ,IAAIC,EAAM9Q,UACV,OAAOvB,EAAOiL,UAAS,SAAUqH,GAC/BtS,EAAOiB,KAAKgR,GAAQ,SAAUvN,EAAI6N,GAEhC,IAAIpS,EAAKR,EAAW0S,EAAIE,EAAM,MAAQF,EAAIE,EAAM,IAIhDvH,EAASuH,EAAM,KAAI,WACjB,IAAIC,EAAWrS,GAAMA,EAAGmB,MAAMZ,KAAMa,WAEhCiR,GAAY7S,EAAW6S,EAASlG,SAClCkG,EAASlG,UAAUmG,SAASH,EAASI,QAAQrG,KAAKiG,EAAST,SAASrE,KAAK8E,EAASR,QAElFQ,EAASC,EAAM,GAAK,QAAQ7R,KAAMP,EAAK,CAACqS,GAAYjR,iBAI1D8Q,EAAM,QACL/F,WAEL0F,KAAM,SAAcW,EAAaC,EAAYC,GAC3C,IAAIC,EAAW,EAEf,SAASjB,EAAQkB,EAAO/H,EAAUgI,EAASC,GACzC,OAAO,WACL,IAAIC,EAAOxS,KACPyS,EAAO5R,UACP6R,EAAa,WACf,IAAIZ,EAAUR,EAId,KAAIe,EAAQD,GAAZ,CAOA,IAHAN,EAAWQ,EAAQ1R,MAAM4R,EAAMC,MAGdnI,EAASsB,UACxB,MAAM,IAAI+G,UAAU,4BAOtBrB,EAAOQ,IAGe,WAAtB7T,EAAQ6T,IAA8C,oBAAbA,IAA4BA,EAASR,KAE1ErS,EAAWqS,GAETiB,EACFjB,EAAKlV,KAAK0V,EAAUX,EAAQiB,EAAU9H,EAAUwG,EAAUyB,GAAUpB,EAAQiB,EAAU9H,EAAU0G,EAASuB,KAGzGH,IACAd,EAAKlV,KAAK0V,EAAUX,EAAQiB,EAAU9H,EAAUwG,EAAUyB,GAAUpB,EAAQiB,EAAU9H,EAAU0G,EAASuB,GAAUpB,EAAQiB,EAAU9H,EAAUwG,EAAUxG,EAASsI,eAMhKN,IAAYxB,IACd0B,OAAOnQ,EACPoQ,EAAO,CAACX,KAKTS,GAAWjI,EAASgE,aAAakE,EAAMC,MAI5CI,EAAUN,EAAUG,EAAa,WAC/B,IACEA,IACA,MAAO1G,GACH1M,EAAOiL,SAASuI,eAClBxT,EAAOiL,SAASuI,cAAc9G,EAAG6G,EAAQE,YAMvCV,EAAQ,GAAKD,IAGXE,IAAYtB,IACdwB,OAAOnQ,EACPoQ,EAAO,CAACzG,IAGV1B,EAASiE,WAAWiE,EAAMC,MAS5BJ,EACFQ,KAIIvT,EAAOiL,SAASyI,eAClBH,EAAQE,WAAazT,EAAOiL,SAASyI,gBAGvC5O,EAAO4I,WAAW6F,KAKxB,OAAOvT,EAAOiL,UAAS,SAAUqH,GAE/BL,EAAO,GAAG,GAAG5E,IAAIwE,EAAQ,EAAGS,EAAU3S,EAAWkT,GAAcA,EAAarB,EAAUc,EAASgB,aAE/FrB,EAAO,GAAG,GAAG5E,IAAIwE,EAAQ,EAAGS,EAAU3S,EAAWgT,GAAeA,EAAcnB,IAE9ES,EAAO,GAAG,GAAG5E,IAAIwE,EAAQ,EAAGS,EAAU3S,EAAWiT,GAAcA,EAAalB,OAC3EpF,WAILA,QAAS,SAAiBzN,GACxB,OAAc,MAAPA,EAAcmB,EAAOoC,OAAOvD,EAAKsT,GAAYA,IAGpDnH,EAAW,GAkDf,OAhDAhL,EAAOiB,KAAKgR,GAAQ,SAAUtV,EAAG4V,GAC/B,IAAIoB,EAAOpB,EAAM,GACbqB,EAAcrB,EAAM,GAIxBJ,EAASI,EAAM,IAAMoB,EAAKtG,IAEtBuG,GACFD,EAAKtG,KAAI,WAGP6E,EAAS0B,IAGX3B,EAAO,EAAItV,GAAG,GAAGkX,QAEjB5B,EAAO,EAAItV,GAAG,GAAGkX,QACjB5B,EAAO,GAAG,GAAG6B,KACb7B,EAAO,GAAG,GAAG6B,MAMfH,EAAKtG,IAAIkF,EAAM,GAAGwB,MAIlB/I,EAASuH,EAAM,IAAM,WAEnB,OADAvH,EAASuH,EAAM,GAAK,QAAQ7R,OAASsK,OAAWjI,EAAYrC,KAAMa,WAC3Db,MAMTsK,EAASuH,EAAM,GAAK,QAAUoB,EAAKzE,YAGrCiD,EAAS7F,QAAQtB,GAGbzD,GACFA,EAAKzK,KAAKkO,EAAUA,GAIfA,GAGTgJ,KAAM,SAAcC,GAClB,IACAC,EAAY3S,UAAUjB,OAEtB3D,EAAIuX,EAEJC,EAAkBtR,MAAMlG,GACpByX,EAAgBnV,EAAOnC,KAAKyE,WAEhC8S,EAAUrU,EAAOiL,WAEjBqJ,EAAa,SAAoB3X,GAC/B,OAAO,SAAUiB,GACfuW,EAAgBxX,GAAK+D,KACrB0T,EAAczX,GAAK4E,UAAUjB,OAAS,EAAIrB,EAAOnC,KAAKyE,WAAa3D,IAE3DsW,GACNG,EAAQrF,YAAYmF,EAAiBC,KAM3C,GAAIF,GAAa,IACftC,EAAWqC,EAAaI,EAAQhI,KAAKiI,EAAW3X,IAAIkV,QAASwC,EAAQvC,QAASoC,GAEtD,YAApBG,EAAQvF,SAAyBnP,EAAWyU,EAAczX,IAAMyX,EAAczX,GAAGqV,OACnF,OAAOqC,EAAQrC,OAKnB,KAAOrV,KACLiV,EAAWwC,EAAczX,GAAI2X,EAAW3X,GAAI0X,EAAQvC,QAGtD,OAAOuC,EAAQ/H,aAKnB,IAAI+6C,EAAc,yDAElBrnD,EAAOiL,SAASuI,cAAgB,SAAUnQ,EAAOikD,GAG3CxiD,EAAOynC,SAAWznC,EAAOynC,QAAQgb,MAAQlkD,GAASgkD,EAAY5hD,KAAKpC,EAAMnG,OAC3E4H,EAAOynC,QAAQgb,KAAK,8BAAgClkD,EAAMmkD,QAASnkD,EAAMikD,MAAOA,IAIpFtnD,EAAOi3C,eAAiB,SAAU5zC,GAChCyB,EAAO4I,YAAW,WAChB,MAAMrK,MAKV,IAAI0zC,EAAY/2C,EAAOiL,WAsCvB,SAASP,IACP3F,EAASwU,oBAAoB,mBAAoB7O,GACjD5F,EAAOyU,oBAAoB,OAAQ7O,GACnC1K,EAAO4F,QAvCT5F,EAAOG,GAAGyF,MAAQ,SAAUzF,GAO1B,OANA42C,EAAU/kC,KAAK7R,GAGd62C,OAAM,SAAU3zC,GACfrD,EAAOi3C,eAAe5zC,MAEjB3C,MAGTV,EAAOoC,OAAO,CAEZgB,SAAS,EAGT8zC,UAAW,EAEXtxC,MAAO,SAAesoB,KAEP,IAATA,IAAkBluB,EAAOk3C,UAAYl3C,EAAOoD,WAKhDpD,EAAOoD,SAAU,GAEJ,IAAT8qB,KAAmBluB,EAAOk3C,UAAY,GAK1CH,EAAU/nC,YAAYjK,EAAU,CAAC/E,QAGrCA,EAAO4F,MAAMoM,KAAO+kC,EAAU/kC,KAYF,aAAxBjN,EAAS0G,YAAqD,YAAxB1G,EAAS0G,aAA6B1G,EAASwP,gBAAgB4iC,SAEvGryC,EAAO4I,WAAW1N,EAAO4F,QAGzBb,EAASqS,iBAAiB,mBAAoB1M,GAE9C5F,EAAOsS,iBAAiB,OAAQ1M,IAKlC,IAAI3E,EAAS,SAASA,EAAOlF,EAAOV,EAAIjC,EAAKN,EAAOoI,EAAWC,EAAUC,GACvE,IAAIvJ,EAAI,EACJoF,EAAMlB,EAAMP,OACZ6F,EAAc,MAAPjI,EAEX,GAAoB,WAAhB4B,EAAO5B,GAGT,IAAKvB,KAFLqJ,GAAY,EAEF9H,EACR6H,EAAOlF,EAAOV,EAAIxD,EAAGuB,EAAIvB,IAAI,EAAMsJ,EAAUC,QAG1C,QAAcnD,IAAVnF,IACToI,GAAY,EAEPrG,EAAW/B,KACdsI,GAAM,GAGJC,IAEED,GACF/F,EAAGrD,KAAK+D,EAAOjD,GACfuC,EAAK,OAELgG,EAAOhG,EAEPA,EAAK,SAAYiB,EAAMgF,EAAMxI,GAC3B,OAAOuI,EAAKrJ,KAAKkD,EAAOoB,GAAOxD,MAKjCuC,GACF,KAAOxD,EAAIoF,EAAKpF,IACdwD,EAAGU,EAAMlE,GAAIuB,EAAKgI,EAAMtI,EAAQA,EAAMd,KAAK+D,EAAMlE,GAAIA,EAAGwD,EAAGU,EAAMlE,GAAIuB,KAK3E,OAAI8H,EACKnF,EAILsF,EACKhG,EAAGrD,KAAK+D,GAGVkB,EAAM5B,EAAGU,EAAM,GAAI3C,GAAO+H,GAI/BmW,EAAY,QACZC,EAAa,YAEjB,SAASC,EAAWC,EAAMC,GACxB,OAAOA,EAAOzP,cAMhB,SAAS2P,EAAUD,GACjB,OAAOA,EAAOtZ,QAAQiZ,EAAW,OAAOjZ,QAAQkZ,EAAYC,GAG9D,IAAI7H,EAAa,SAAoBoM,GAOnC,OAA0B,IAAnBA,EAAMjc,UAAqC,IAAnBic,EAAMjc,YAAoBic,EAAMjc,UAGjE,SAASiB,IACPnF,KAAKsC,QAAUhD,EAAOgD,QAAU6C,EAAKuxC,MAGvCvxC,EAAKuxC,IAAM,EACXvxC,EAAKtH,UAAY,CACf0O,MAAO,SAAe4T,GAEpB,IAAIjjB,EAAQijB,EAAMngB,KAAKsC,SAuBvB,OArBKpF,IACHA,EAAQ,GAIJ6W,EAAWoM,KAGTA,EAAMjc,SACRic,EAAMngB,KAAKsC,SAAWpF,EAItBP,OAAOC,eAAeujB,EAAOngB,KAAKsC,QAAS,CACzCpF,MAAOA,EACPkb,cAAc,MAMflb,GAET6X,IAAK,SAAaoL,EAAOlU,EAAM/O,GAC7B,IAAIk+B,EACA7uB,EAAQvM,KAAKuM,MAAM4T,GAGvB,GAAoB,kBAATlU,EACTM,EAAMyP,EAAU/P,IAAS/O,OAGzB,IAAKk+B,KAAQnvB,EACXM,EAAMyP,EAAUof,IAASnvB,EAAKmvB,GAIlC,OAAO7uB,GAETzP,IAAK,SAAaqjB,EAAO3iB,GACvB,YAAe6E,IAAR7E,EAAoBwC,KAAKuM,MAAM4T,GACtCA,EAAMngB,KAAKsC,UAAY6d,EAAMngB,KAAKsC,SAAS0Z,EAAUxe,KAEvD6H,OAAQ,SAAgB8a,EAAO3iB,EAAKN,GAYlC,YAAYmF,IAAR7E,GAAqBA,GAAsB,kBAARA,QAA8B6E,IAAVnF,EAClD8C,KAAKlD,IAAIqjB,EAAO3iB,IASzBwC,KAAK+U,IAAIoL,EAAO3iB,EAAKN,QAGJmF,IAAVnF,EAAsBA,EAAQM,IAEvCmZ,OAAQ,SAAgBwJ,EAAO3iB,GAC7B,IAAIvB,EACAsQ,EAAQ4T,EAAMngB,KAAKsC,SAEvB,QAAcD,IAAVkK,EAAJ,CAIA,QAAYlK,IAAR7E,EAAmB,CAarBvB,GAREuB,EAHE2E,MAAMC,QAAQ5E,GAGVA,EAAIiD,IAAIub,IAEdxe,EAAMwe,EAAUxe,MAGH+O,EAAQ,CAAC/O,GAAOA,EAAIkH,MAAMiB,IAAkB,IAGnD/F,OAER,KAAO3D,YACEsQ,EAAM/O,EAAIvB,UAKToG,IAAR7E,GAAqB8B,EAAO2D,cAAcsJ,MAKxC4T,EAAMjc,SACRic,EAAMngB,KAAKsC,cAAWD,SAEf8d,EAAMngB,KAAKsC,YAIxBwU,QAAS,SAAiBqJ,GACxB,IAAI5T,EAAQ4T,EAAMngB,KAAKsC,SACvB,YAAiBD,IAAVkK,IAAwBjN,EAAO2D,cAAcsJ,KAGxD,IAAIyH,EAAW,IAAI7O,EACf0b,GAAW,IAAI1b,EAUf4hD,GAAS,gCACTC,GAAa,SA2BjB,SAASC,GAASvmD,EAAMlD,EAAKyO,GAC3B,IAAIzP,EAGJ,QAAa6F,IAAT4J,GAAwC,IAAlBvL,EAAKwD,SAI7B,GAHA1H,EAAO,QAAUgB,EAAIiF,QAAQukD,GAAY,OAAO/iD,cAG5B,kBAFpBgI,EAAOvL,EAAKygB,aAAa3kB,IAEK,CAC5B,IACEyP,EAnCR,SAAiBA,GACf,MAAa,SAATA,GAIS,UAATA,IAIS,SAATA,EACK,KAILA,KAAUA,EAAO,IACXA,EAGN86C,GAAOhiD,KAAKkH,GACP/C,KAAKC,MAAM8C,GAGbA,GAaMsrB,CAAQtrB,GACf,MAAOD,IAGT6U,GAAS9L,IAAIrU,EAAMlD,EAAKyO,QAExBA,OAAO5J,EAIX,OAAO4J,EAGT3M,EAAOoC,OAAO,CACZoV,QAAS,SAAiBpW,GACxB,OAAOmgB,GAAS/J,QAAQpW,IAASsT,EAAS8C,QAAQpW,IAEpDuL,KAAM,SAAcvL,EAAMlE,EAAMo1B,GAC9B,OAAO/Q,GAASxb,OAAO3E,EAAMlE,EAAMo1B,IAErCs1B,WAAY,SAAoBxmD,EAAMlE,GACpCqkB,GAASlK,OAAOjW,EAAMlE,IAIxBo1B,MAAO,SAAelxB,EAAMlE,EAAMyP,GAChC,OAAO+H,EAAS3O,OAAO3E,EAAMlE,EAAMyP,IAErCk7C,YAAa,SAAqBzmD,EAAMlE,GACtCwX,EAAS2C,OAAOjW,EAAMlE,MAG1B8C,EAAOG,GAAGiC,OAAO,CACfuK,KAAM,SAAczO,EAAKN,GACvB,IAAIjB,EACAO,EACAyP,EACAvL,EAAOV,KAAK,GACZkxC,EAAQxwC,GAAQA,EAAK+7C,WAEzB,QAAYp6C,IAAR7E,EAAmB,CACrB,GAAIwC,KAAKJ,SACPqM,EAAO4U,GAAS/jB,IAAI4D,GAEE,IAAlBA,EAAKwD,WAAmB8P,EAASlX,IAAI4D,EAAM,iBAAiB,CAG9D,IAFAzE,EAAIi1C,EAAMtxC,OAEH3D,KAGDi1C,EAAMj1C,IAGsB,KAF9BO,EAAO00C,EAAMj1C,GAAGO,MAEPkC,QAAQ,WACflC,EAAOwf,EAAUxf,EAAKmE,MAAM,IAC5BsmD,GAASvmD,EAAMlE,EAAMyP,EAAKzP,KAKhCwX,EAASe,IAAIrU,EAAM,gBAAgB,GAIvC,OAAOuL,EAIT,MAAqB,WAAjBhO,EAAQT,GACHwC,KAAKO,MAAK,WACfsgB,GAAS9L,IAAI/U,KAAMxC,MAIhB6H,EAAOrF,MAAM,SAAU9C,GAC5B,IAAI+O,EAMJ,GAAIvL,QAAkB2B,IAAVnF,EAKV,YAAamF,KAFb4J,EAAO4U,GAAS/jB,IAAI4D,EAAMlD,UAUb6E,KAFb4J,EAAOg7C,GAASvmD,EAAMlD,IALbyO,OAYT,EAIFjM,KAAKO,MAAK,WAERsgB,GAAS9L,IAAI/U,KAAMxC,EAAKN,QAEzB,KAAMA,EAAO2D,UAAUjB,OAAS,EAAG,MAAM,IAE9CsnD,WAAY,SAAoB1pD,GAC9B,OAAOwC,KAAKO,MAAK,WACfsgB,GAASlK,OAAO3W,KAAMxC,SAI5B8B,EAAOoC,OAAO,CACZsuB,MAAO,SAAetvB,EAAMb,EAAMoM,GAChC,IAAI+jB,EAEJ,GAAItvB,EAYF,OAXAb,GAAQA,GAAQ,MAAQ,QACxBmwB,EAAQhc,EAASlX,IAAI4D,EAAMb,GAEvBoM,KACG+jB,GAAS7tB,MAAMC,QAAQ6J,GAC1B+jB,EAAQhc,EAAS3O,OAAO3E,EAAMb,EAAMP,EAAOgE,UAAU2I,IAErD+jB,EAAMvxB,KAAKwN,IAIR+jB,GAAS,IAGpB8f,QAAS,SAAiBpvC,EAAMb,GAG9B,IAAImwB,EAAQ1wB,EAAO0wB,MAAMtvB,EAFzBb,EAAOA,GAAQ,MAGXkwC,EAAc/f,EAAMpwB,OACpBH,EAAKuwB,EAAMriB,QACXmR,EAAQxf,EAAO0wC,YAAYtvC,EAAMb,GAM1B,eAAPJ,IACFA,EAAKuwB,EAAMriB,QACXoiC,KAGEtwC,IAGW,OAATI,GACFmwB,EAAMhpB,QAAQ,qBAIT8X,EAAMuN,KACb5sB,EAAGrD,KAAKsE,GAnBC,WACTpB,EAAOwwC,QAAQpvC,EAAMb,KAkBDif,KAGjBixB,GAAejxB,GAClBA,EAAM4E,MAAMrQ,QAIhB28B,YAAa,SAAqBtvC,EAAMb,GACtC,IAAIrC,EAAMqC,EAAO,aACjB,OAAOmU,EAASlX,IAAI4D,EAAMlD,IAAQwW,EAAS3O,OAAO3E,EAAMlD,EAAK,CAC3DkmB,MAAOpkB,EAAOmL,UAAU,eAAekC,KAAI,WACzCqH,EAAS2C,OAAOjW,EAAM,CAACb,EAAO,QAASrC,YAK/C8B,EAAOG,GAAGiC,OAAO,CACfsuB,MAAO,SAAenwB,EAAMoM,GAC1B,IAAIgkC,EAAS,EAQb,MANoB,kBAATpwC,IACToM,EAAOpM,EACPA,EAAO,KACPowC,KAGEpvC,UAAUjB,OAASqwC,EACd3wC,EAAO0wB,MAAMhwB,KAAK,GAAIH,QAGfwC,IAAT4J,EAAqBjM,KAAOA,KAAKO,MAAK,WAC3C,IAAIyvB,EAAQ1wB,EAAO0wB,MAAMhwB,KAAMH,EAAMoM,GAErC3M,EAAO0wC,YAAYhwC,KAAMH,GAEZ,OAATA,GAA8B,eAAbmwB,EAAM,IACzB1wB,EAAOwwC,QAAQ9vC,KAAMH,OAI3BiwC,QAAS,SAAiBjwC,GACxB,OAAOG,KAAKO,MAAK,WACfjB,EAAOwwC,QAAQ9vC,KAAMH,OAGzBqwC,WAAY,SAAoBrwC,GAC9B,OAAOG,KAAKgwB,MAAMnwB,GAAQ,KAAM,KAIlC+L,QAAS,SAAiB/L,EAAM1B,GAC9B,IAAI6P,EACA60B,EAAQ,EACRsN,EAAQ7wC,EAAOiL,WACf6lC,EAAWpwC,KACX/D,EAAI+D,KAAKJ,OACTuR,EAAU,aACJ0xB,GACNsN,EAAM7hC,YAAY8hC,EAAU,CAACA,KAWjC,IAPoB,kBAATvwC,IACT1B,EAAM0B,EACNA,OAAOwC,GAGTxC,EAAOA,GAAQ,KAER5D,MACL+R,EAAMgG,EAASlX,IAAIszC,EAASn0C,GAAI4D,EAAO,gBAE5BmO,EAAI0V,QACbmf,IACA70B,EAAI0V,MAAM/W,IAAIwE,IAKlB,OADAA,IACOg/B,EAAMvkC,QAAQzN,MAGzB,IAAIy1C,GAAO,sCAAsCtO,OAC7CrpB,GAAU,IAAIlF,OAAO,iBAAmB68B,GAAO,cAAe,KAC9Dz3B,GAAY,CAAC,MAAO,QAAS,SAAU,QACvCtI,GAAkBxP,EAASwP,gBAE3BuM,GAAa,SAAoB1f,GACnC,OAAOpB,EAAOiQ,SAAS7O,EAAKoE,cAAepE,IAEzC2f,GAAW,CACbA,UAAU,GAQRxM,GAAgByM,cAClBF,GAAa,SAAoB1f,GAC/B,OAAOpB,EAAOiQ,SAAS7O,EAAKoE,cAAepE,IAASA,EAAK4f,YAAYD,MAAc3f,EAAKoE,gBAI5F,IAAIurC,GAAqB,SAA4B3vC,EAAMoU,GAKzD,MAA8B,UAF9BpU,EAAOoU,GAAMpU,GAEDme,MAAM9B,SAA6C,KAAvBrc,EAAKme,MAAM9B,SAInDqD,GAAW1f,IAAyC,SAAhCpB,EAAOwe,IAAIpd,EAAM,YAGvC,SAAS6b,GAAU7b,EAAM06B,EAAMub,EAAYtF,GACzC,IAAIuF,EACAlgB,EACAmgB,EAAgB,GAChBC,EAAezF,EAAQ,WACzB,OAAOA,EAAMliC,OACX,WACF,OAAO7P,EAAOwe,IAAIpd,EAAM06B,EAAM,KAE5BkO,EAAUwN,IACVC,EAAOJ,GAAcA,EAAW,KAAOr3C,EAAOqf,UAAUyc,GAAQ,GAAK,MAEzE4b,EAAgBt2C,EAAKwD,WAAa5E,EAAOqf,UAAUyc,IAAkB,OAAT2b,IAAkBzN,IAAYrtB,GAAQtX,KAAKrF,EAAOwe,IAAIpd,EAAM06B,IAExH,GAAI4b,GAAiBA,EAAc,KAAOD,EAAM,CAS9C,IANAzN,GAAoB,EAEpByN,EAAOA,GAAQC,EAAc,GAE7BA,GAAiB1N,GAAW,EAErBuN,KAGLv3C,EAAOuf,MAAMne,EAAM06B,EAAM4b,EAAgBD,IAEpC,EAAIrgB,IAAU,GAAKA,EAAQogB,IAAiBxN,GAAW,MAAS,IACnEuN,EAAgB,GAGlBG,GAAgCtgB,EAIlCp3B,EAAOuf,MAAMne,EAAM06B,GADnB4b,GAAgC,GACSD,GAEzCJ,EAAaA,GAAc,GAe7B,OAZIA,IACFK,GAAiBA,IAAkB1N,GAAW,EAE9CsN,EAAWD,EAAW,GAAKK,GAAiBL,EAAW,GAAK,GAAKA,EAAW,IAAMA,EAAW,GAEzFtF,IACFA,EAAM0F,KAAOA,EACb1F,EAAMxjB,MAAQmpB,EACd3F,EAAM9vC,IAAMq1C,IAITA,EAGT,IAAIwQ,GAAoB,GAExB,SAASC,GAAkB3mD,GACzB,IAAImkC,EACAzhC,EAAM1C,EAAKoE,cACXM,EAAW1E,EAAK0E,SAChB2X,EAAUqqC,GAAkBhiD,GAEhC,OAAI2X,IAIJ8nB,EAAOzhC,EAAIojB,KAAK5C,YAAYxgB,EAAIqD,cAAcrB,IAC9C2X,EAAUzd,EAAOwe,IAAI+mB,EAAM,WAC3BA,EAAKl1B,WAAWoT,YAAY8hB,GAEZ,SAAZ9nB,IACFA,EAAU,SAGZqqC,GAAkBhiD,GAAY2X,EACvBA,GAGT,SAASuzB,GAASF,EAAU7iB,GAO1B,IANA,IAAIxQ,EACArc,EACA4mD,EAAS,GACT13C,EAAQ,EACRhQ,EAASwwC,EAASxwC,OAEfgQ,EAAQhQ,EAAQgQ,KACrBlP,EAAO0vC,EAASxgC,IAENiP,QAIV9B,EAAUrc,EAAKme,MAAM9B,QAEjBwQ,GAIc,SAAZxQ,IACFuqC,EAAO13C,GAASoE,EAASlX,IAAI4D,EAAM,YAAc,KAE5C4mD,EAAO13C,KACVlP,EAAKme,MAAM9B,QAAU,KAIE,KAAvBrc,EAAKme,MAAM9B,SAAkBszB,GAAmB3vC,KAClD4mD,EAAO13C,GAASy3C,GAAkB3mD,KAGpB,SAAZqc,IACFuqC,EAAO13C,GAAS,OAEhBoE,EAASe,IAAIrU,EAAM,UAAWqc,KAMpC,IAAKnN,EAAQ,EAAGA,EAAQhQ,EAAQgQ,IACT,MAAjB03C,EAAO13C,KACTwgC,EAASxgC,GAAOiP,MAAM9B,QAAUuqC,EAAO13C,IAI3C,OAAOwgC,EAGT9wC,EAAOG,GAAGiC,OAAO,CACf6rB,KAAM,WACJ,OAAO+iB,GAAStwC,MAAM,IAExBotB,KAAM,WACJ,OAAOkjB,GAAStwC,OAElBmyC,OAAQ,SAAgB/jC,GACtB,MAAqB,mBAAVA,EACFA,EAAQpO,KAAKutB,OAASvtB,KAAKotB,OAG7BptB,KAAKO,MAAK,WACX8vC,GAAmBrwC,MACrBV,EAAOU,MAAMutB,OAEbjuB,EAAOU,MAAMotB,aAKrB,IAMMjH,GACA8uB,GAPFnhC,GAAiB,wBACjByM,GAAW,iCACXC,GAAc,qCAIZ2F,GADW9hB,EAASqzC,yBACL9zB,YAAYvf,EAASoC,cAAc,SAClDwuC,GAAQ5wC,EAASoC,cAAc,UAK7BwvC,aAAa,OAAQ,SAC3BhB,GAAMgB,aAAa,UAAW,WAC9BhB,GAAMgB,aAAa,OAAQ,KAC3B9vB,GAAIvC,YAAYqxB,IAGhBj2C,EAAQsjB,WAAa6D,GAAI9C,WAAU,GAAMA,WAAU,GAAMs0B,UAAUh2B,QAGnEwE,GAAIjC,UAAY,yBAChBllB,EAAQukB,iBAAmB4C,GAAI9C,WAAU,GAAMs0B,UAAU/1B,aAIzDuE,GAAIjC,UAAY,oBAChBllB,EAAQw4C,SAAWrxB,GAAIwxB,UAIzB,IAAIl3B,GAAU,CAIZw2B,MAAO,CAAC,EAAG,UAAW,YACtBC,IAAK,CAAC,EAAG,oBAAqB,uBAC9BvC,GAAI,CAAC,EAAG,iBAAkB,oBAC1BwC,GAAI,CAAC,EAAG,qBAAsB,yBAC9Bz+B,SAAU,CAAC,EAAG,GAAI,KASpB,SAASgI,GAAOlhB,EAASo4C,GAGvB,IAAIx3C,EAUJ,OAPEA,EAD0C,qBAAjCZ,EAAQ6mB,qBACX7mB,EAAQ6mB,qBAAqBuxB,GAAO,KACG,qBAA7Bp4C,EAAQq4C,iBAClBr4C,EAAQq4C,iBAAiBD,GAAO,KAEhC,QAGIv1C,IAARu1C,GAAqBA,GAAOxyC,EAAS5F,EAASo4C,GACzCt4C,EAAOe,MAAM,CAACb,GAAUY,GAG1BA,EAIT,SAASugB,GAAcxgB,EAAO23C,GAI5B,IAHA,IAAI77C,EAAI,EACJC,EAAIiE,EAAMP,OAEP3D,EAAIC,EAAGD,IACZ+X,EAASe,IAAI5U,EAAMlE,GAAI,cAAe67C,GAAe9jC,EAASlX,IAAIg7C,EAAY77C,GAAI,eAjCtFwkB,GAAQ22B,MAAQ32B,GAAQ42B,MAAQ52B,GAAQ62B,SAAW72B,GAAQ82B,QAAU92B,GAAQw2B,MAC7Ex2B,GAAQ4jB,GAAK5jB,GAAQ02B,GAEhBn4C,EAAQw4C,SACX/2B,GAAQg3B,SAAWh3B,GAAQ+2B,OAAS,CAAC,EAAG,+BAAgC,cAiC1E,IAAIO,GAAQ,YAEZ,SAASn3B,GAAczgB,EAAOX,EAASyiB,EAAS+1B,EAAWj2B,GAYzD,IAXA,IAAIrhB,EACAsN,EACA4pC,EACAK,EACAC,EACA52C,EACA0gB,EAAWxiB,EAAQk4C,yBACnB70B,EAAQ,GACR5mB,EAAI,EACJC,EAAIiE,EAAMP,OAEP3D,EAAIC,EAAGD,IAGZ,IAFAyE,EAAOP,EAAMlE,KAEQ,IAATyE,EAEV,GAAqB,WAAjBtB,EAAOsB,GAGTpB,EAAOe,MAAMwiB,EAAOniB,EAAKwD,SAAW,CAACxD,GAAQA,QACxC,GAAKq3C,GAAMhzC,KAAKrE,GAEhB,CASL,IARAsN,EAAMA,GAAOgU,EAAS4B,YAAYpkB,EAAQiH,cAAc,QAExDmxC,GAAOr3B,GAAS5b,KAAKjE,IAAS,CAAC,GAAI,KAAK,GAAGuD,cAC3Cg0C,EAAOx3B,GAAQm3B,IAAQn3B,GAAQ/H,SAC/B1K,EAAIkW,UAAY+zB,EAAK,GAAK34C,EAAO0jB,cAActiB,GAAQu3C,EAAK,GAE5D32C,EAAI22C,EAAK,GAEF32C,KACL0M,EAAMA,EAAI2pC,UAKZr4C,EAAOe,MAAMwiB,EAAO7U,EAAI4C,aAExB5C,EAAMgU,EAASvR,YAEXiS,YAAc,QApBlBG,EAAMpkB,KAAKe,EAAQ8uB,eAAe5tB,IA6BxC,IAHAshB,EAASU,YAAc,GACvBzmB,EAAI,EAEGyE,EAAOmiB,EAAM5mB,MAElB,GAAI+7C,GAAa14C,EAAOkE,QAAQ9C,EAAMs3C,IAAc,EAC9Cj2B,GACFA,EAAQtjB,KAAKiC,QAejB,GATAw3C,EAAW93B,GAAW1f,GAEtBsN,EAAM0S,GAAOsB,EAAS4B,YAAYljB,GAAO,UAErCw3C,GACFv3B,GAAc3S,GAIZiU,EAGF,IAFA3gB,EAAI,EAEGZ,EAAOsN,EAAI1M,MACZkf,GAAYzb,KAAKrE,EAAKb,MAAQ,KAChCoiB,EAAQxjB,KAAKiC,GAMrB,OAAOshB,EAGT,IAAI/N,GAAiB,sBAErB,SAASC,KACP,OAAO,EAGT,SAASC,KACP,OAAO,EAST,SAASC,GAAW1T,EAAMb,GACxB,OAAOa,IAMT,WACE,IACE,OAAO2D,EAASgQ,cAChB,MAAOC,KATOC,MAAkC,UAAT1U,GAY3C,SAAS2U,GAAI9T,EAAM+T,EAAOlV,EAAU0M,EAAMxM,EAAIiV,GAC5C,IAAIC,EAAQ9U,EAEZ,GAAuB,WAAnB5B,EAAQwW,GAAqB,CAQ/B,IAAK5U,IANmB,kBAAbN,IAET0M,EAAOA,GAAQ1M,EACfA,OAAW8C,GAGAoS,EACXD,GAAI9T,EAAMb,EAAMN,EAAU0M,EAAMwI,EAAM5U,GAAO6U,GAG/C,OAAOhU,EAoBT,GAjBY,MAARuL,GAAsB,MAANxM,GAElBA,EAAKF,EACL0M,EAAO1M,OAAW8C,GACH,MAAN5C,IACe,kBAAbF,GAETE,EAAKwM,EACLA,OAAO5J,IAGP5C,EAAKwM,EACLA,EAAO1M,EACPA,OAAW8C,KAIJ,IAAP5C,EACFA,EAAK0U,QACA,IAAK1U,EACV,OAAOiB,EAgBT,OAbY,IAARgU,IACFC,EAASlV,GAETA,EAAK,SAAY4K,GAGf,OADA/K,IAASsV,IAAIvK,GACNsK,EAAO/T,MAAMZ,KAAMa,aAIzBiD,KAAO6Q,EAAO7Q,OAAS6Q,EAAO7Q,KAAOxE,EAAOwE,SAG1CpD,EAAKH,MAAK,WACfjB,EAAO+K,MAAMsC,IAAI3M,KAAMyU,EAAOhV,EAAIwM,EAAM1M,MA4Y5C,SAASsV,GAAeC,EAAIjV,EAAMuU,GAE3BA,GASLJ,EAASe,IAAID,EAAIjV,GAAM,GACvBP,EAAO+K,MAAMsC,IAAImI,EAAIjV,EAAM,CACzBmV,WAAW,EACX1C,QAAS,SAAiBjI,GACxB,IAAI4K,EACAC,EACAC,EAAQnB,EAASlX,IAAIkD,KAAMH,GAE/B,GAAsB,EAAlBwK,EAAM+K,WAAiBpV,KAAKH,IAI9B,GAAKsV,EAAMvV,QAoCCN,EAAO+K,MAAMkI,QAAQ1S,IAAS,IAAIwV,cAC5ChL,EAAMiL,uBAlBN,GAfAH,EAAQ5W,EAAOnC,KAAKyE,WACpBmT,EAASe,IAAI/U,KAAMH,EAAMsV,GAIzBF,EAAWb,EAAWpU,KAAMH,GAC5BG,KAAKH,KAGDsV,KAFJD,EAASlB,EAASlX,IAAIkD,KAAMH,KAEJoV,EACtBjB,EAASe,IAAI/U,KAAMH,GAAM,GAEzBqV,EAAS,GAGPC,IAAUD,EASZ,OAPA7K,EAAMkL,2BACNlL,EAAMmL,iBAMCN,GAAUA,EAAOhY,WAanBiY,EAAMvV,SAEfoU,EAASe,IAAI/U,KAAMH,EAAM,CACvB3C,MAAOoC,EAAO+K,MAAM+B,QAEpB9M,EAAOoC,OAAOyT,EAAM,GAAI7V,EAAOmW,MAAM5X,WAAYsX,EAAMxU,MAAM,GAAIX,QAGnEqK,EAAMkL,qCArEqBlT,IAA3B2R,EAASlX,IAAIgY,EAAIjV,IACnBP,EAAO+K,MAAMsC,IAAImI,EAAIjV,EAAMqU,IAvYjC5U,EAAO+K,MAAQ,CACbhC,OAAQ,GACRsE,IAAK,SAAajM,EAAM+T,EAAOnC,EAASrG,EAAM1M,GAC5C,IAAImW,EACAC,EACA3H,EACA4H,EACAzY,EACA0Y,EACAtD,EACAuD,EACAjW,EACAkW,EACAC,EACAC,EAAWjC,EAASlX,IAAI4D,GAE5B,GAAKqT,EAAWrT,GAuChB,IAlCI4R,EAAQA,UAEVA,GADAoD,EAAcpD,GACQA,QACtB/S,EAAWmW,EAAYnW,UAKrBA,GACFD,EAAOsF,KAAKiL,gBAAgBgE,GAAiBtU,GAI1C+S,EAAQxO,OACXwO,EAAQxO,KAAOxE,EAAOwE,SAIlB8R,EAASK,EAASL,UACtBA,EAASK,EAASL,OAASjZ,OAAOY,OAAO,QAGrCoY,EAAcM,EAASC,UAC3BP,EAAcM,EAASC,OAAS,SAAUlK,GAGxC,OAAwC1M,EAAO+K,MAAM8L,YAAcnK,EAAEnM,KAAOP,EAAO+K,MAAM+L,SAASxV,MAAMF,EAAMG,gBAAawB,IAM/HlF,GADAsX,GAASA,GAAS,IAAI/P,MAAMiB,IAAkB,CAAC,KACrC/F,OAEHzC,KAEL0C,EAAOmW,GADPhI,EAAMiG,GAAetP,KAAK8P,EAAMtX,KAAO,IACjB,GACtB4Y,GAAc/H,EAAI,IAAM,IAAIjK,MAAM,KAAKvC,OAElC3B,IAKL0S,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAExCA,GAAQN,EAAWgT,EAAQ8C,aAAe9C,EAAQ8D,WAAaxW,EAE/D0S,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAExCgW,EAAYvW,EAAOoC,OAAO,CACxB7B,KAAMA,EACNmW,SAAUA,EACV/J,KAAMA,EACNqG,QAASA,EACTxO,KAAMwO,EAAQxO,KACdvE,SAAUA,EACV+W,aAAc/W,GAAYD,EAAOiX,KAAK7R,MAAM4R,aAAavR,KAAKxF,GAC9DyV,UAAWe,EAAW9K,KAAK,MAC1ByK,IAEGI,EAAWF,EAAO/V,OACtBiW,EAAWF,EAAO/V,GAAQ,IACjB2W,cAAgB,EAEpBjE,EAAQkE,QAAqE,IAA5DlE,EAAQkE,MAAMra,KAAKsE,EAAMuL,EAAM8J,EAAYJ,IAC3DjV,EAAKgW,kBACPhW,EAAKgW,iBAAiB7W,EAAM8V,IAK9BpD,EAAQ5F,MACV4F,EAAQ5F,IAAIvQ,KAAKsE,EAAMmV,GAElBA,EAAUvD,QAAQxO,OACrB+R,EAAUvD,QAAQxO,KAAOwO,EAAQxO,OAKjCvE,EACFuW,EAASrU,OAAOqU,EAASU,gBAAiB,EAAGX,GAE7CC,EAASrX,KAAKoX,GAIhBvW,EAAO+K,MAAMhC,OAAOxI,IAAQ,IAIhC8W,OAAQ,SAAgBjW,EAAM+T,EAAOnC,EAAS/S,EAAUqX,GACtD,IAAItV,EACAuV,EACA7I,EACA4H,EACAzY,EACA0Y,EACAtD,EACAuD,EACAjW,EACAkW,EACAC,EACAC,EAAWjC,EAAS8C,QAAQpW,IAASsT,EAASlX,IAAI4D,GAEtD,GAAKuV,IAAcL,EAASK,EAASL,QAArC,CAQA,IAFAzY,GADAsX,GAASA,GAAS,IAAI/P,MAAMiB,IAAkB,CAAC,KACrC/F,OAEHzC,KAKL,GAHA0C,EAAOmW,GADPhI,EAAMiG,GAAetP,KAAK8P,EAAMtX,KAAO,IACjB,GACtB4Y,GAAc/H,EAAI,IAAM,IAAIjK,MAAM,KAAKvC,OAElC3B,EAAL,CAeA,IAPA0S,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAExCiW,EAAWF,EADX/V,GAAQN,EAAWgT,EAAQ8C,aAAe9C,EAAQ8D,WAAaxW,IACpC,GAC3BmO,EAAMA,EAAI,IAAM,IAAI+I,OAAO,UAAYhB,EAAW9K,KAAK,iBAAmB,WAE1E4L,EAAYvV,EAAIwU,EAASlW,OAElB0B,KACLuU,EAAYC,EAASxU,IAEhBsV,GAAeZ,IAAaH,EAAUG,UAAe1D,GAAWA,EAAQxO,OAAS+R,EAAU/R,MAAWkK,IAAOA,EAAIjJ,KAAK8Q,EAAUb,YAAiBzV,GAAYA,IAAasW,EAAUtW,WAAyB,OAAbA,IAAqBsW,EAAUtW,YAClOuW,EAASrU,OAAOH,EAAG,GAEfuU,EAAUtW,UACZuW,EAASU,gBAGPjE,EAAQoE,QACVpE,EAAQoE,OAAOva,KAAKsE,EAAMmV,IAO5BgB,IAAcf,EAASlW,SACpB2S,EAAQyE,WAAyE,IAA7DzE,EAAQyE,SAAS5a,KAAKsE,EAAMqV,EAAYE,EAASC,SACxE5W,EAAO2X,YAAYvW,EAAMb,EAAMoW,EAASC,eAGnCN,EAAO/V,SArCd,IAAKA,KAAQ+V,EACXtW,EAAO+K,MAAMsM,OAAOjW,EAAMb,EAAO4U,EAAMtX,GAAImV,EAAS/S,GAAU,GAyChED,EAAO2D,cAAc2S,IACvB5B,EAAS2C,OAAOjW,EAAM,mBAG1B0V,SAAU,SAAkBc,GAC1B,IAAIjb,EACAqF,EACAlB,EACAsP,EACAmG,EACAsB,EACA1E,EAAO,IAAItQ,MAAMtB,UAAUjB,QAE/ByK,EAAQ/K,EAAO+K,MAAM+M,IAAIF,GACrBpB,GAAY9B,EAASlX,IAAIkD,KAAM,WAAarD,OAAOY,OAAO,OAAO8M,EAAMxK,OAAS,GAChF0S,EAAUjT,EAAO+K,MAAMkI,QAAQlI,EAAMxK,OAAS,GAIlD,IAFA4S,EAAK,GAAKpI,EAELpO,EAAI,EAAGA,EAAI4E,UAAUjB,OAAQ3D,IAChCwW,EAAKxW,GAAK4E,UAAU5E,GAKtB,GAFAoO,EAAMgN,eAAiBrX,MAEnBuS,EAAQ+E,cAAyD,IAA1C/E,EAAQ+E,YAAYlb,KAAK4D,KAAMqK,GAA1D,CASA,IAJA8M,EAAe7X,EAAO+K,MAAMyL,SAAS1Z,KAAK4D,KAAMqK,EAAOyL,GAEvD7Z,EAAI,GAEIyT,EAAUyH,EAAalb,QAAUoO,EAAMkN,wBAI7C,IAHAlN,EAAMmN,cAAgB9H,EAAQhP,KAC9BY,EAAI,GAEIuU,EAAYnG,EAAQoG,SAASxU,QAAU+I,EAAMoN,iCAG9CpN,EAAMqN,aAAsC,IAAxB7B,EAAUb,YAAuB3K,EAAMqN,WAAW3S,KAAK8Q,EAAUb,aACxF3K,EAAMwL,UAAYA,EAClBxL,EAAM4B,KAAO4J,EAAU5J,UAGX5J,KAFZjC,IAAQd,EAAO+K,MAAMkI,QAAQsD,EAAUG,WAAa,IAAIE,QAAUL,EAAUvD,SAAS1R,MAAM8O,EAAQhP,KAAM+R,MAG1E,KAAxBpI,EAAM6K,OAAS9U,KAClBiK,EAAMmL,iBACNnL,EAAMiL,oBAYhB,OAJI/C,EAAQoF,cACVpF,EAAQoF,aAAavb,KAAK4D,KAAMqK,GAG3BA,EAAM6K,SAEfY,SAAU,SAAkBzL,EAAOuN,GACjC,IAAI3b,EACA4Z,EACAgC,EACAC,EACAC,EACAZ,EAAe,GACfX,EAAgBoB,EAAUpB,cAC1BrH,EAAM9E,EAAMrI,OAEhB,GAAIwU,GAEJrH,EAAIjL,YAKa,UAAfmG,EAAMxK,MAAoBwK,EAAM2N,QAAU,GAC1C,KAAO7I,IAAQnP,KAAMmP,EAAMA,EAAIQ,YAAc3P,KAG3C,GAAqB,IAAjBmP,EAAIjL,WAAmC,UAAfmG,EAAMxK,OAAqC,IAAjBsP,EAAI8I,UAAoB,CAI5E,IAHAH,EAAkB,GAClBC,EAAmB,GAEd9b,EAAI,EAAGA,EAAIua,EAAeva,SAKCoG,IAA1B0V,EAFJF,GAFAhC,EAAY+B,EAAU3b,IAENsD,SAAW,OAGzBwY,EAAiBF,GAAOhC,EAAUS,aAAehX,EAAOuY,EAAK7X,MAAM4P,MAAMT,IAAQ,EAAI7P,EAAOsF,KAAKiT,EAAK7X,KAAM,KAAM,CAACmP,IAAMvP,QAGvHmY,EAAiBF,IACnBC,EAAgBrZ,KAAKoX,GAIrBiC,EAAgBlY,QAClBuX,EAAa1Y,KAAK,CAChBiC,KAAMyO,EACN2G,SAAUgC,IAiBpB,OATA3I,EAAMnP,KAEFwW,EAAgBoB,EAAUhY,QAC5BuX,EAAa1Y,KAAK,CAChBiC,KAAMyO,EACN2G,SAAU8B,EAAUjX,MAAM6V,KAIvBW,GAETe,QAAS,SAAiB1b,EAAM2b,GAC9Bxb,OAAOC,eAAe0C,EAAOmW,MAAM5X,UAAWrB,EAAM,CAClDK,YAAY,EACZub,cAAc,EACdtb,IAAKmC,EAAWkZ,GAAQ,WACtB,GAAInY,KAAKqY,cACP,OAAOF,EAAKnY,KAAKqY,gBAEjB,WACF,GAAIrY,KAAKqY,cACP,OAAOrY,KAAKqY,cAAc7b,IAG9BuY,IAAK,SAAa7X,GAChBP,OAAOC,eAAeoD,KAAMxD,EAAM,CAChCK,YAAY,EACZub,cAAc,EACdE,UAAU,EACVpb,MAAOA,QAKfka,IAAK,SAAaiB,GAChB,OAAOA,EAAc/Y,EAAOgD,SAAW+V,EAAgB,IAAI/Y,EAAOmW,MAAM4C,IAE1E9F,QAAS,CACPgG,KAAM,CAEJC,UAAU,GAEZC,MAAO,CAELhC,MAAO,SAAexK,GAGpB,IAAI6I,EAAK9U,MAAQiM,EAQjB,OANI6H,GAAe/O,KAAK+P,EAAGjV,OAASiV,EAAG2D,OAASrT,EAAS0P,EAAI,UAE3DD,GAAeC,EAAI,QAASZ,KAIvB,GAET9H,QAAS,SAAiBH,GAGxB,IAAI6I,EAAK9U,MAAQiM,EAOjB,OALI6H,GAAe/O,KAAK+P,EAAGjV,OAASiV,EAAG2D,OAASrT,EAAS0P,EAAI,UAC3DD,GAAeC,EAAI,UAId,GAIT4D,SAAU,SAAkBrO,GAC1B,IAAIrI,EAASqI,EAAMrI,OACnB,OAAO8R,GAAe/O,KAAK/C,EAAOnC,OAASmC,EAAOyW,OAASrT,EAASpD,EAAQ,UAAYgS,EAASlX,IAAIkF,EAAQ,UAAYoD,EAASpD,EAAQ,OAG9I2W,aAAc,CACZhB,aAAc,SAAsBtN,QAGbhI,IAAjBgI,EAAM6K,QAAwB7K,EAAMgO,gBACtChO,EAAMgO,cAAcO,YAAcvO,EAAM6K,YAwFlD5V,EAAO2X,YAAc,SAAUvW,EAAMb,EAAMqW,GAErCxV,EAAKmY,qBACPnY,EAAKmY,oBAAoBhZ,EAAMqW,KAInC5W,EAAOmW,MAAQ,SAAU7T,EAAKkX,GAE5B,KAAM9Y,gBAAgBV,EAAOmW,OAC3B,OAAO,IAAInW,EAAOmW,MAAM7T,EAAKkX,GAI3BlX,GAAOA,EAAI/B,MACbG,KAAKqY,cAAgBzW,EACrB5B,KAAKH,KAAO+B,EAAI/B,KAGhBG,KAAK+Y,mBAAqBnX,EAAIoX,uBAA6C3W,IAAzBT,EAAIoX,mBAClC,IAApBpX,EAAIgX,YAAwB1E,GAAaC,GAIzCnU,KAAKgC,OAASJ,EAAII,QAAkC,IAAxBJ,EAAII,OAAOkC,SAAiBtC,EAAII,OAAO2N,WAAa/N,EAAII,OACpFhC,KAAKwX,cAAgB5V,EAAI4V,cACzBxX,KAAKiZ,cAAgBrX,EAAIqX,eAEzBjZ,KAAKH,KAAO+B,EAIVkX,GACFxZ,EAAOoC,OAAO1B,KAAM8Y,GAItB9Y,KAAKkZ,UAAYtX,GAAOA,EAAIsX,WAAaC,KAAKC,MAE9CpZ,KAAKV,EAAOgD,UAAW,IAKZzE,UAAY,CACvBO,YAAakB,EAAOmW,MACpBsD,mBAAoB5E,GACpBoD,qBAAsBpD,GACtBsD,8BAA+BtD,GAC/BkF,aAAa,EACb7D,eAAgB,WACd,IAAIxJ,EAAIhM,KAAKqY,cACbrY,KAAK+Y,mBAAqB7E,GAEtBlI,IAAMhM,KAAKqZ,aACbrN,EAAEwJ,kBAGNF,gBAAiB,WACf,IAAItJ,EAAIhM,KAAKqY,cACbrY,KAAKuX,qBAAuBrD,GAExBlI,IAAMhM,KAAKqZ,aACbrN,EAAEsJ,mBAGNC,yBAA0B,WACxB,IAAIvJ,EAAIhM,KAAKqY,cACbrY,KAAKyX,8BAAgCvD,GAEjClI,IAAMhM,KAAKqZ,aACbrN,EAAEuJ,2BAGJvV,KAAKsV,oBAIThW,EAAOiB,KAAK,CACV+Y,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,gBAAgB,EAChBC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,UAAU,EACVC,MAAM,EACN,MAAQ,EACR9W,MAAM,EACN+W,UAAU,EACV1c,KAAK,EACL2c,SAAS,EACTnC,QAAQ,EACRoC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTC,OAAO,GACN1b,EAAO+K,MAAM6N,SAChB5Y,EAAOiB,KAAK,CACV0a,MAAO,UACPC,KAAM,aACL,SAAUrb,EAAMwV,GACjB/V,EAAO+K,MAAMkI,QAAQ1S,GAAQ,CAE3B4W,MAAO,WAML,OAFA5B,GAAe7U,KAAMH,EAAMuU,KAEpB,GAEThI,QAAS,WAIP,OAFAyI,GAAe7U,KAAMH,IAEd,GAIT6Y,SAAU,WACR,OAAO,GAETrD,aAAcA,MAWlB/V,EAAOiB,KAAK,CACV4a,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,eACb,SAAUC,EAAMnE,GACjB9X,EAAO+K,MAAMkI,QAAQgJ,GAAQ,CAC3BlG,aAAc+B,EACdf,SAAUe,EACVlB,OAAQ,SAAgB7L,GACtB,IAAIjK,EACA4B,EAAShC,KACTwb,EAAUnR,EAAM4O,cAChBpD,EAAYxL,EAAMwL,UAStB,OANK2F,IAAWA,IAAYxZ,GAAW1C,EAAOiQ,SAASvN,EAAQwZ,MAC7DnR,EAAMxK,KAAOgW,EAAUG,SACvB5V,EAAMyV,EAAUvD,QAAQ1R,MAAMZ,KAAMa,WACpCwJ,EAAMxK,KAAOuX,GAGRhX,OAIbd,EAAOG,GAAGiC,OAAO,CACf+Z,GAAI,SAAYhH,EAAOlV,EAAU0M,EAAMxM,GACrC,OAAO+U,GAAIxU,KAAMyU,EAAOlV,EAAU0M,EAAMxM,IAE1CiV,IAAK,SAAaD,EAAOlV,EAAU0M,EAAMxM,GACvC,OAAO+U,GAAIxU,KAAMyU,EAAOlV,EAAU0M,EAAMxM,EAAI,IAE9CmV,IAAK,SAAaH,EAAOlV,EAAUE,GACjC,IAAIoW,EAAWhW,EAEf,GAAI4U,GAASA,EAAMe,gBAAkBf,EAAMoB,UAIzC,OAFAA,EAAYpB,EAAMoB,UAClBvW,EAAOmV,EAAM4C,gBAAgBzC,IAAIiB,EAAUb,UAAYa,EAAUG,SAAW,IAAMH,EAAUb,UAAYa,EAAUG,SAAUH,EAAUtW,SAAUsW,EAAUvD,SACnJtS,KAGT,GAAuB,WAAnB/B,EAAQwW,GAAqB,CAE/B,IAAK5U,KAAQ4U,EACXzU,KAAK4U,IAAI/U,EAAMN,EAAUkV,EAAM5U,IAGjC,OAAOG,KAaT,OAViB,IAAbT,GAA0C,oBAAbA,IAE/BE,EAAKF,EACLA,OAAW8C,IAGF,IAAP5C,IACFA,EAAK0U,IAGAnU,KAAKO,MAAK,WACfjB,EAAO+K,MAAMsM,OAAO3W,KAAMyU,EAAOhV,EAAIF,SAI3C,IAGAuhB,GAAe,wBAEfC,GAAW,oCACPC,GAAe,2CAEnB,SAASC,GAAmBvgB,EAAMiQ,GAChC,OAAIvL,EAAS1E,EAAM,UAAY0E,EAA8B,KAArBuL,EAAQzM,SAAkByM,EAAUA,EAAQF,WAAY,OACvFnR,EAAOoB,GAAMsO,SAAS,SAAS,IAGjCtO,EAIT,SAASwgB,GAAcxgB,GAErB,OADAA,EAAKb,MAAsC,OAA9Ba,EAAKygB,aAAa,SAAoB,IAAMzgB,EAAKb,KACvDa,EAGT,SAAS0gB,GAAc1gB,GAOrB,MANsC,WAAjCA,EAAKb,MAAQ,IAAIc,MAAM,EAAG,GAC7BD,EAAKb,KAAOa,EAAKb,KAAKc,MAAM,GAE5BD,EAAK2gB,gBAAgB,QAGhB3gB,EAGT,SAAS4gB,GAAe1f,EAAK2f,GAC3B,IAAItlB,EAAGC,EAAG2D,EAAgB2hB,EAAUC,EAAU7L,EAE9C,GAAsB,IAAlB2L,EAAKrd,SAAT,CAKA,GAAI8P,EAAS8C,QAAQlV,KAEnBgU,EADW5B,EAASlX,IAAI8E,GACNgU,QAKhB,IAAK/V,KAFLmU,EAAS2C,OAAO4K,EAAM,iBAET3L,EACX,IAAK3Z,EAAI,EAAGC,EAAI0Z,EAAO/V,GAAMD,OAAQ3D,EAAIC,EAAGD,IAC1CqD,EAAO+K,MAAMsC,IAAI4U,EAAM1hB,EAAM+V,EAAO/V,GAAM5D,IAO9C4kB,GAAS/J,QAAQlV,KACnB4f,EAAWX,GAASxb,OAAOzD,GAC3B6f,EAAWniB,EAAOoC,OAAO,GAAI8f,GAC7BX,GAAS9L,IAAIwM,EAAME,KAKvB,SAASC,GAAS9f,EAAK2f,GACrB,IAAInc,EAAWmc,EAAKnc,SAASnB,cAEZ,UAAbmB,GAAwB0O,GAAe/O,KAAKnD,EAAI/B,MAClD0hB,EAAKI,QAAU/f,EAAI+f,QACG,UAAbvc,GAAqC,aAAbA,IACjCmc,EAAKK,aAAehgB,EAAIggB,cAI5B,SAASC,GAASC,EAAYrP,EAAMjS,EAAUuhB,GAE5CtP,EAAOjU,EAAKiU,GACZ,IAAIuP,EACAlhB,EACAmhB,EACAC,EACAC,EACA/e,EACAnH,EAAI,EACJC,EAAI4lB,EAAWliB,OACfwiB,EAAWlmB,EAAI,EACfgB,EAAQuV,EAAK,GACb4P,EAAkBpjB,EAAW/B,GAEjC,GAAImlB,GAAmBnmB,EAAI,GAAsB,kBAAVgB,IAAuB8B,EAAQsjB,YAAcvB,GAAShc,KAAK7H,GAChG,OAAO4kB,EAAWvhB,MAAK,SAAUqP,GAC/B,IAAI2S,EAAOT,EAAW/gB,GAAG6O,GAErByS,IACF5P,EAAK,GAAKvV,EAAMd,KAAK4D,KAAM4P,EAAO2S,EAAK5Z,SAGzCkZ,GAASU,EAAM9P,EAAMjS,EAAUuhB,MAInC,GAAI7lB,IAEF4E,GADAkhB,EAAWpB,GAAcnO,EAAMqP,EAAW,GAAGhd,eAAe,EAAOgd,EAAYC,IAC9DtR,WAEkB,IAA/BuR,EAASpR,WAAWhR,SACtBoiB,EAAWlhB,GAITA,GAASihB,GAAS,CAMpB,IAJAG,GADAD,EAAU3iB,EAAOmB,IAAIigB,GAAOsB,EAAU,UAAWd,KAC5BthB,OAId3D,EAAIC,EAAGD,IACZkmB,EAAOH,EAEH/lB,IAAMmmB,IACRD,EAAO7iB,EAAOyC,MAAMogB,GAAM,GAAM,GAE5BD,GAGF5iB,EAAOe,MAAM4hB,EAASvB,GAAOyB,EAAM,YAIvC3hB,EAASpE,KAAK0lB,EAAW7lB,GAAIkmB,EAAMlmB,GAGrC,GAAIimB,EAKF,IAJA9e,EAAM6e,EAAQA,EAAQriB,OAAS,GAAGkF,cAElCxF,EAAOmB,IAAIwhB,EAASb,IAEfnlB,EAAI,EAAGA,EAAIimB,EAAYjmB,IAC1BkmB,EAAOF,EAAQhmB,GAEXukB,GAAYzb,KAAKod,EAAKtiB,MAAQ,MAAQmU,EAAS3O,OAAO8c,EAAM,eAAiB7iB,EAAOiQ,SAASnM,EAAK+e,KAChGA,EAAKvgB,KAA2C,YAAnCugB,EAAKtiB,MAAQ,IAAIoE,cAE5B3E,EAAOkjB,WAAaL,EAAKM,UAC3BnjB,EAAOkjB,SAASL,EAAKvgB,IAAK,CACxByB,MAAO8e,EAAK9e,OAAS8e,EAAKhB,aAAa,UACtC/d,GAGLjE,EAAQgjB,EAAKO,YAAYjgB,QAAQue,GAAc,IAAKmB,EAAM/e,IAQtE,OAAO0e,EAGT,SAASa,GAAQjiB,EAAMnB,EAAUqjB,GAK/B,IAJA,IAAIT,EACAU,EAAQtjB,EAAWD,EAAOgQ,OAAO/P,EAAUmB,GAAQA,EACnDzE,EAAI,EAEoB,OAApBkmB,EAAOU,EAAM5mB,IAAaA,IAC3B2mB,GAA8B,IAAlBT,EAAKje,UACpB5E,EAAOwjB,UAAUpC,GAAOyB,IAGtBA,EAAKxS,aACHiT,GAAYxC,GAAW+B,IACzBxB,GAAcD,GAAOyB,EAAM,WAG7BA,EAAKxS,WAAWoT,YAAYZ,IAIhC,OAAOzhB,EAGTpB,EAAOoC,OAAO,CACZshB,cAAe,SAAuBra,GACpC,OAAOA,GAET5G,MAAO,SAAerB,EAAMuiB,EAAeC,GACzC,IAAIjnB,EACAC,EACAinB,EACAC,EACArhB,EAAQrB,EAAK2iB,WAAU,GACvBC,EAASlD,GAAW1f,GAExB,IAAK1B,EAAQukB,iBAAqC,IAAlB7iB,EAAKwD,UAAoC,KAAlBxD,EAAKwD,YAAqB5E,EAAOkkB,SAAS9iB,GAK/F,IAHA0iB,EAAe1C,GAAO3e,GAGjB9F,EAAI,EAAGC,GAFZinB,EAAczC,GAAOhgB,IAEOd,OAAQ3D,EAAIC,EAAGD,IACzCylB,GAASyB,EAAYlnB,GAAImnB,EAAannB,IAK1C,GAAIgnB,EACF,GAAIC,EAIF,IAHAC,EAAcA,GAAezC,GAAOhgB,GACpC0iB,EAAeA,GAAgB1C,GAAO3e,GAEjC9F,EAAI,EAAGC,EAAIinB,EAAYvjB,OAAQ3D,EAAIC,EAAGD,IACzCqlB,GAAe6B,EAAYlnB,GAAImnB,EAAannB,SAG9CqlB,GAAe5gB,EAAMqB,GAYzB,OAPAqhB,EAAe1C,GAAO3e,EAAO,WAEZnC,OAAS,GACxB+gB,GAAcyC,GAAeE,GAAU5C,GAAOhgB,EAAM,WAI/CqB,GAET+gB,UAAW,SAAmB3iB,GAO5B,IANA,IAAI8L,EACAvL,EACAb,EACA0S,EAAUjT,EAAO+K,MAAMkI,QACvBtW,EAAI,OAEqBoG,KAArB3B,EAAOP,EAAMlE,IAAmBA,IACtC,GAAI8X,EAAWrT,GAAO,CACpB,GAAIuL,EAAOvL,EAAKsT,EAAS1R,SAAU,CACjC,GAAI2J,EAAK2J,OACP,IAAK/V,KAAQoM,EAAK2J,OACZrD,EAAQ1S,GACVP,EAAO+K,MAAMsM,OAAOjW,EAAMb,GAE1BP,EAAO2X,YAAYvW,EAAMb,EAAMoM,EAAKiK,QAO1CxV,EAAKsT,EAAS1R,cAAWD,EAGvB3B,EAAKmgB,GAASve,WAGhB5B,EAAKmgB,GAASve,cAAWD,OAMnC/C,EAAOG,GAAGiC,OAAO,CACf+hB,OAAQ,SAAgBlkB,GACtB,OAAOojB,GAAQ3iB,KAAMT,GAAU,IAEjCoX,OAAQ,SAAgBpX,GACtB,OAAOojB,GAAQ3iB,KAAMT,IAEvBmJ,KAAM,SAAcxL,GAClB,OAAOmI,EAAOrF,MAAM,SAAU9C,GAC5B,YAAiBmF,IAAVnF,EAAsBoC,EAAOoJ,KAAK1I,MAAQA,KAAK0jB,QAAQnjB,MAAK,WAC3C,IAAlBP,KAAKkE,UAAoC,KAAlBlE,KAAKkE,UAAqC,IAAlBlE,KAAKkE,WACtDlE,KAAK0iB,YAAcxlB,QAGtB,KAAMA,EAAO2D,UAAUjB,SAE5B+jB,OAAQ,WACN,OAAO9B,GAAS7hB,KAAMa,WAAW,SAAUH,GACnB,IAAlBV,KAAKkE,UAAoC,KAAlBlE,KAAKkE,UAAqC,IAAlBlE,KAAKkE,UACzC+c,GAAmBjhB,KAAMU,GAC/BkjB,YAAYljB,OAIzBmjB,QAAS,WACP,OAAOhC,GAAS7hB,KAAMa,WAAW,SAAUH,GACzC,GAAsB,IAAlBV,KAAKkE,UAAoC,KAAlBlE,KAAKkE,UAAqC,IAAlBlE,KAAKkE,SAAgB,CACtE,IAAIlC,EAASif,GAAmBjhB,KAAMU,GACtCsB,EAAO8hB,aAAapjB,EAAMsB,EAAOyO,iBAIvCsT,OAAQ,WACN,OAAOlC,GAAS7hB,KAAMa,WAAW,SAAUH,GACrCV,KAAK2P,YACP3P,KAAK2P,WAAWmU,aAAapjB,EAAMV,UAIzCgkB,MAAO,WACL,OAAOnC,GAAS7hB,KAAMa,WAAW,SAAUH,GACrCV,KAAK2P,YACP3P,KAAK2P,WAAWmU,aAAapjB,EAAMV,KAAKikB,iBAI9CP,MAAO,WAIL,IAHA,IAAIhjB,EACAzE,EAAI,EAEmB,OAAnByE,EAAOV,KAAK/D,IAAaA,IACT,IAAlByE,EAAKwD,WAEP5E,EAAOwjB,UAAUpC,GAAOhgB,GAAM,IAE9BA,EAAKgiB,YAAc,IAIvB,OAAO1iB,MAET+B,MAAO,SAAekhB,EAAeC,GAGnC,OAFAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EACzDljB,KAAKS,KAAI,WACd,OAAOnB,EAAOyC,MAAM/B,KAAMijB,EAAeC,OAG7Cva,KAAM,SAAczL,GAClB,OAAOmI,EAAOrF,MAAM,SAAU9C,GAC5B,IAAIwD,EAAOV,KAAK,IAAM,GAClB/D,EAAI,EACJC,EAAI8D,KAAKJ,OAEb,QAAcyC,IAAVnF,GAAyC,IAAlBwD,EAAKwD,SAC9B,OAAOxD,EAAKwjB,UAId,GAAqB,kBAAVhnB,IAAuB4jB,GAAa/b,KAAK7H,KAAWujB,IAASF,GAAS5b,KAAKzH,IAAU,CAAC,GAAI,KAAK,GAAG+G,eAAgB,CAC3H/G,EAAQoC,EAAO0jB,cAAc9lB,GAE7B,IACE,KAAOjB,EAAIC,EAAGD,IAGU,KAFtByE,EAAOV,KAAK/D,IAAM,IAETiI,WACP5E,EAAOwjB,UAAUpC,GAAOhgB,GAAM,IAC9BA,EAAKwjB,UAAYhnB,GAIrBwD,EAAO,EACP,MAAOsL,KAGPtL,GACFV,KAAK0jB,QAAQC,OAAOzmB,KAErB,KAAMA,EAAO2D,UAAUjB,SAE5BukB,YAAa,WACX,IAAIpC,EAAU,GAEd,OAAOF,GAAS7hB,KAAMa,WAAW,SAAUH,GACzC,IAAIuP,EAASjQ,KAAK2P,WAEdrQ,EAAOkE,QAAQxD,KAAM+hB,GAAW,IAClCziB,EAAOwjB,UAAUpC,GAAO1gB,OAEpBiQ,GACFA,EAAOmU,aAAa1jB,EAAMV,SAI7B+hB,MAGPziB,EAAOiB,KAAK,CACV8jB,SAAU,SACVC,UAAW,UACXR,aAAc,SACdS,YAAa,QACbC,WAAY,gBACX,SAAUhoB,EAAMioB,GACjBnlB,EAAOG,GAAGjD,GAAQ,SAAU+C,GAO1B,IANA,IAAIY,EACAC,EAAM,GACNskB,EAASplB,EAAOC,GAChByB,EAAO0jB,EAAO9kB,OAAS,EACvB3D,EAAI,EAEDA,GAAK+E,EAAM/E,IAChBkE,EAAQlE,IAAM+E,EAAOhB,KAAOA,KAAK+B,OAAM,GACvCzC,EAAOolB,EAAOzoB,IAAIwoB,GAAUtkB,GAG5B1B,EAAKmC,MAAMR,EAAKD,EAAMrD,OAGxB,OAAOkD,KAAKE,UAAUE,OAG1B,IAAI8b,GAAY,IAAInF,OAAO,KAAO68B,GAAO,kBAAmB,KAExDx3B,GAAY,SAAmB1b,GAIjC,IAAIuZ,EAAOvZ,EAAKoE,cAAc6+B,YAM9B,OAJK1pB,GAASA,EAAKk+B,SACjBl+B,EAAO7V,GAGF6V,EAAK2pB,iBAAiBljC,IAG3B2b,GAAO,SAAc3b,EAAMiB,EAASnB,GACtC,IAAIJ,EACA5D,EACA4gC,EAAM,GAEV,IAAK5gC,KAAQmF,EACXy7B,EAAI5gC,GAAQkE,EAAKme,MAAMriB,GACvBkE,EAAKme,MAAMriB,GAAQmF,EAAQnF,GAK7B,IAAKA,KAFL4D,EAAMI,EAASpE,KAAKsE,GAEPiB,EACXjB,EAAKme,MAAMriB,GAAQ4gC,EAAI5gC,GAGzB,OAAO4D,GAGLg4C,GAAY,IAAIrhC,OAAOoF,GAAUlR,KAAK,KAAM,KAyHhD,SAASqR,GAAO5b,EAAMlE,EAAMkiB,GAC1B,IAAIW,EACAg5B,EACAC,EACAl4C,EAKJye,EAAQne,EAAKme,MAgCb,OA/BAH,EAAWA,GAAYtC,GAAU1b,MAOnB,MAFZN,EAAMse,EAAS65B,iBAAiB/7C,IAASkiB,EAASliB,KAE/B4jB,GAAW1f,KAC5BN,EAAMd,EAAOuf,MAAMne,EAAMlE,KAQtBwC,EAAQw1C,kBAAoBt4B,GAAUnX,KAAK3E,IAAQg4C,GAAUrzC,KAAKvI,KAErE6iB,EAAQR,EAAMQ,MACdg5B,EAAWx5B,EAAMw5B,SACjBC,EAAWz5B,EAAMy5B,SAEjBz5B,EAAMw5B,SAAWx5B,EAAMy5B,SAAWz5B,EAAMQ,MAAQjf,EAChDA,EAAMse,EAASW,MAEfR,EAAMQ,MAAQA,EACdR,EAAMw5B,SAAWA,EACjBx5B,EAAMy5B,SAAWA,SAINj2C,IAARjC,EAEPA,EAAM,GAAKA,EAGb,SAASoc,GAAag8B,EAAaC,GAEjC,MAAO,CACL37C,IAAK,WACH,IAAI07C,IAQJ,OAAQx4C,KAAKlD,IAAM27C,GAAQ73C,MAAMZ,KAAMa,kBAL9Bb,KAAKlD,OA5KpB,WAGE,SAAS+2C,IAEP,GAAK1tB,EAAL,CAIAiJ,EAAUvQ,MAAMwP,QAAU,+EAC1BlI,EAAItH,MAAMwP,QAAU,4HACpBxa,GAAgB+P,YAAYwL,GAAWxL,YAAYuC,GACnD,IAAI2tB,EAAW1vC,EAAOw/B,iBAAiBzd,GACvC4tB,EAAoC,OAAjBD,EAASpe,IAE5Bse,EAAoE,KAA5CC,EAAmBH,EAASt0B,YAGpD2G,EAAItH,MAAMiZ,MAAQ,MAClBoc,EAA2D,KAAvCD,EAAmBH,EAAShc,OAGhDqc,EAA8D,KAAvCF,EAAmBH,EAASz0B,OAKnD8G,EAAItH,MAAMhC,SAAW,WACrBu3B,EAA+D,KAA5CH,EAAmB9tB,EAAIkuB,YAAc,GACxDxgC,GAAgBkP,YAAYqM,GAG5BjJ,EAAM,MAGR,SAAS8tB,EAAmB9P,GAC1B,OAAO5hC,KAAKq5B,MAAMtd,WAAW6lB,IAG/B,IAAI4P,EACAI,EACAC,EACAF,EACAI,EACAN,EACA5kB,EAAY/qB,EAASoC,cAAc,OACnC0f,EAAM9hB,EAASoC,cAAc,OAE5B0f,EAAItH,QAMTsH,EAAItH,MAAM01B,eAAiB,cAC3BpuB,EAAI9C,WAAU,GAAMxE,MAAM01B,eAAiB,GAC3Cv1C,EAAQigB,gBAA+C,gBAA7BkH,EAAItH,MAAM01B,eACpCj1C,EAAOoC,OAAO1C,EAAS,CACrBif,kBAAmB,WAEjB,OADA41B,IACOM,GAETK,eAAgB,WAEd,OADAX,IACOK,GAETO,cAAe,WAEb,OADAZ,IACOE,GAETt0B,mBAAoB,WAElB,OADAo0B,IACOG,GAETz0B,cAAe,WAEb,OADAs0B,IACOO,GAWT/1B,qBAAsB,WACpB,IAAIq2B,EAAOC,EAAIC,EAASC,EA0BxB,OAxB+B,MAA3BP,IACFI,EAAQrwC,EAASoC,cAAc,SAC/BkuC,EAAKtwC,EAASoC,cAAc,MAC5BmuC,EAAUvwC,EAASoC,cAAc,OACjCiuC,EAAM71B,MAAMwP,QAAU,2DACtBsmB,EAAG91B,MAAMwP,QAAU,mBAInBsmB,EAAG91B,MAAMoQ,OAAS,MAClB2lB,EAAQ/1B,MAAMoQ,OAAS,MAOvB2lB,EAAQ/1B,MAAM9B,QAAU,QACxBlJ,GAAgB+P,YAAY8wB,GAAO9wB,YAAY+wB,GAAI/wB,YAAYgxB,GAC/DC,EAAUzwC,EAAOw/B,iBAAiB+Q,GAClCL,EAA0BhiB,SAASuiB,EAAQ5lB,OAAQ,IAAMqD,SAASuiB,EAAQC,eAAgB,IAAMxiB,SAASuiB,EAAQE,kBAAmB,MAAQJ,EAAGK,aAC/InhC,GAAgBkP,YAAY2xB,IAGvBJ,MAlHb,GAsLA,IAAIoE,GAAc,CAAC,SAAU,MAAO,MAChCC,GAAat0C,EAASoC,cAAc,OAAOoY,MAC3C+5B,GAAc,GAiBlB,SAASn8B,GAAcjgB,GACrB,IAAIq8C,EAAQv5C,EAAOsf,SAASpiB,IAASo8C,GAAYp8C,GAEjD,OAAIq8C,IAIAr8C,KAAQm8C,GACHn8C,EAGFo8C,GAAYp8C,GA1BrB,SAAwBA,GAKtB,IAHA,IAAIs8C,EAAUt8C,EAAK,GAAG6P,cAAgB7P,EAAKmE,MAAM,GAC7C1E,EAAIy8C,GAAY94C,OAEb3D,KAGL,IAFAO,EAAOk8C,GAAYz8C,GAAK68C,KAEZH,GACV,OAAOn8C,EAiBgBu8C,CAAev8C,IAASA,GAGrD,IAGAkgB,GAAe,4BACXC,GAAc,MACdC,GAAU,CACZC,SAAU,WACVC,WAAY,SACZC,QAAS,SAEPC,GAAqB,CACvBC,cAAe,IACfC,WAAY,OAGd,SAASC,GAAkBhc,EAAOjE,EAAOkgB,GAGvC,IAAIzZ,EAAUsY,GAAQtX,KAAKzH,GAC3B,OAAOyG,EACPpB,KAAK8a,IAAI,EAAG1Z,EAAQ,IAAMyZ,GAAY,KAAOzZ,EAAQ,IAAM,MAAQzG,EAGrE,SAASogB,GAAmB5c,EAAM6c,EAAWC,EAAKC,EAAaC,EAAQC,GACrE,IAAI1hB,EAAkB,UAAdshB,EAAwB,EAAI,EAChCK,EAAQ,EACRC,EAAQ,EAEZ,GAAIL,KAASC,EAAc,SAAW,WACpC,OAAO,EAGT,KAAOxhB,EAAI,EAAGA,GAAK,EAEL,WAARuhB,IACFK,GAASve,EAAOwe,IAAIpd,EAAM8c,EAAMrB,GAAUlgB,IAAI,EAAMyhB,IAIjDD,GAaS,YAARD,IACFK,GAASve,EAAOwe,IAAIpd,EAAM,UAAYyb,GAAUlgB,IAAI,EAAMyhB,IAIhD,WAARF,IACFK,GAASve,EAAOwe,IAAIpd,EAAM,SAAWyb,GAAUlgB,GAAK,SAAS,EAAMyhB,MAjBrEG,GAASve,EAAOwe,IAAIpd,EAAM,UAAYyb,GAAUlgB,IAAI,EAAMyhB,GAE9C,YAARF,EACFK,GAASve,EAAOwe,IAAIpd,EAAM,SAAWyb,GAAUlgB,GAAK,SAAS,EAAMyhB,GAEnEE,GAASte,EAAOwe,IAAIpd,EAAM,SAAWyb,GAAUlgB,GAAK,SAAS,EAAMyhB,IA0BzE,OARKD,GAAeE,GAAe,IAGjCE,GAAStb,KAAK8a,IAAI,EAAG9a,KAAKwb,KAAKrd,EAAK,SAAW6c,EAAU,GAAGlR,cAAgBkR,EAAU5c,MAAM,IAAMgd,EAAcE,EAAQD,EAAQ,MAE1H,GAGDC,EAGT,SAASG,GAAiBtd,EAAM6c,EAAWK,GAEzC,IAAIF,EAAStB,GAAU1b,GAInB+c,IADeze,EAAQif,qBAAuBL,IACoC,eAAjDte,EAAOwe,IAAIpd,EAAM,aAAa,EAAOgd,GACtEQ,EAAmBT,EACnBU,EAAM7B,GAAO5b,EAAM6c,EAAWG,GAC9BU,EAAa,SAAWb,EAAU,GAAGlR,cAAgBkR,EAAU5c,MAAM,GAGzE,GAAIub,GAAUnX,KAAKoZ,GAAM,CACvB,IAAKP,EACH,OAAOO,EAGTA,EAAM,OA8BR,QAxBMnf,EAAQif,qBAAuBR,IAIpCze,EAAQqf,wBAA0BjZ,EAAS1E,EAAM,OAE1C,SAARyd,IAECG,WAAWH,IAAuD,WAA/C7e,EAAOwe,IAAIpd,EAAM,WAAW,EAAOgd,KACvDhd,EAAK6d,iBAAiB3e,SACpB6d,EAA+D,eAAjDne,EAAOwe,IAAIpd,EAAM,aAAa,EAAOgd,IAInDQ,EAAmBE,KAAc1d,KAG/Byd,EAAMzd,EAAK0d,MAKfD,EAAMG,WAAWH,IAAQ,GAEZb,GAAmB5c,EAAM6c,EAAWK,IAAUH,EAAc,SAAW,WAAYS,EAAkBR,EAClHS,GAAO,KA2PT,SAAS4zB,GAAMrxC,EAAMiB,EAASy5B,EAAM75B,EAAKkrB,GACvC,OAAO,IAAIslB,GAAMl0C,UAAU6B,KAAKgB,EAAMiB,EAASy5B,EAAM75B,EAAKkrB,GAzP5DntB,EAAOoC,OAAO,CAGZ8c,SAAU,CACRC,QAAS,CACP3hB,IAAK,SAAa4D,EAAMge,GACtB,GAAIA,EAAU,CAEZ,IAAIte,EAAMkc,GAAO5b,EAAM,WACvB,MAAe,KAARN,EAAa,IAAMA,MAMlCue,UAAW,CACT,yBAA2B,EAC3B,aAAe,EACf,aAAe,EACf,UAAY,EACZ,YAAc,EACd,YAAc,EACd,UAAY,EACZ,YAAc,EACd,eAAiB,EACjB,iBAAmB,EACnB,SAAW,EACX,YAAc,EACd,cAAgB,EAChB,YAAc,EACd,SAAW,EACX,OAAS,EACT,SAAW,EACX,QAAU,EACV,QAAU,EACV,MAAQ,GAIVC,SAAU,GAEVC,MAAO,SAAene,EAAMlE,EAAMU,EAAO0gB,GAEvC,GAAKld,GAA0B,IAAlBA,EAAKwD,UAAoC,IAAlBxD,EAAKwD,UAAmBxD,EAAKme,MAAjE,CAKA,IAAIze,EACAP,EACAif,EACAC,EAAW/C,EAAUxf,GACrBwiB,EAAerC,GAAY5X,KAAKvI,GAChCqiB,EAAQne,EAAKme,MAWjB,GAPKG,IACHxiB,EAAOigB,GAAcsC,IAIvBD,EAAQxf,EAAOkf,SAAShiB,IAAS8C,EAAOkf,SAASO,QAEnC1c,IAAVnF,EAoCF,OAAI4hB,GAAS,QAASA,QAAmDzc,KAAzCjC,EAAM0e,EAAMhiB,IAAI4D,GAAM,EAAOkd,IACpDxd,EAIFye,EAAMriB,GAtCA,YAFbqD,EAAO5B,EAAQf,MAEWkD,EAAM6b,GAAQtX,KAAKzH,KAAWkD,EAAI,KAC1DlD,EAAQqf,GAAU7b,EAAMlE,EAAM4D,GAE9BP,EAAO,UAII,MAAT3C,GAAiBA,IAAUA,IAOlB,WAAT2C,GAAsBmf,IACxB9hB,GAASkD,GAAOA,EAAI,KAAOd,EAAOqf,UAAUI,GAAY,GAAK,OAI1D/f,EAAQigB,iBAA6B,KAAV/hB,GAA+C,IAA/BV,EAAKkC,QAAQ,gBAC3DmgB,EAAMriB,GAAQ,WAIXsiB,GAAW,QAASA,QAAsDzc,KAA3CnF,EAAQ4hB,EAAM/J,IAAIrU,EAAMxD,EAAO0gB,MAC7DoB,EACFH,EAAMK,YAAY1iB,EAAMU,GAExB2hB,EAAMriB,GAAQU,MAatB4gB,IAAK,SAAapd,EAAMlE,EAAMohB,EAAOF,GACnC,IAAIS,EACAle,EACA6e,EACAC,EAAW/C,EAAUxf,GA2BzB,OA1BmBmgB,GAAY5X,KAAKvI,KAKlCA,EAAOigB,GAAcsC,KAIvBD,EAAQxf,EAAOkf,SAAShiB,IAAS8C,EAAOkf,SAASO,KAEpC,QAASD,IACpBX,EAAMW,EAAMhiB,IAAI4D,GAAM,EAAMkd,SAIlBvb,IAAR8b,IACFA,EAAM7B,GAAO5b,EAAMlE,EAAMkhB,IAIf,WAARS,GAAoB3hB,KAAQwgB,KAC9BmB,EAAMnB,GAAmBxgB,IAIb,KAAVohB,GAAgBA,GAClB3d,EAAMqe,WAAWH,IACA,IAAVP,GAAkBuB,SAASlf,GAAOA,GAAO,EAAIke,GAG/CA,KAGX7e,EAAOiB,KAAK,CAAC,SAAU,UAAU,SAAUyD,EAAIuZ,GAC7Cje,EAAOkf,SAASjB,GAAa,CAC3BzgB,IAAK,SAAa4D,EAAMge,EAAUd,GAChC,GAAIc,EAGF,OAAOhC,GAAa3X,KAAKzF,EAAOwe,IAAIpd,EAAM,aAMzCA,EAAK6d,iBAAiB3e,QAAWc,EAAK0e,wBAAwBC,MAE1DrB,GAAiBtd,EAAM6c,EAAWK,GAFiCvB,GAAK3b,EAAMkc,IAAS,WAC1F,OAAOoB,GAAiBtd,EAAM6c,EAAWK,OAI/C7I,IAAK,SAAarU,EAAMxD,EAAO0gB,GAC7B,IAAIja,EACA+Z,EAAStB,GAAU1b,GAGvB4e,GAAsBtgB,EAAQugB,iBAAuC,aAApB7B,EAAOb,SAGpDY,GADc6B,GAAsB1B,IAC8C,eAAjDte,EAAOwe,IAAIpd,EAAM,aAAa,EAAOgd,GACtEN,EAAWQ,EAAQN,GAAmB5c,EAAM6c,EAAWK,EAAOH,EAAaC,GAAU,EAazF,OAVID,GAAe6B,IACjBlC,GAAY7a,KAAKwb,KAAKrd,EAAK,SAAW6c,EAAU,GAAGlR,cAAgBkR,EAAU5c,MAAM,IAAM2d,WAAWZ,EAAOH,IAAcD,GAAmB5c,EAAM6c,EAAW,UAAU,EAAOG,GAAU,KAItLN,IAAazZ,EAAUsY,GAAQtX,KAAKzH,KAAoC,QAAxByG,EAAQ,IAAM,QAChEjD,EAAKme,MAAMtB,GAAargB,EACxBA,EAAQoC,EAAOwe,IAAIpd,EAAM6c,IAGpBJ,GAAkBzc,EAAMxD,EAAOkgB,QAI5C9d,EAAOkf,SAASgB,WAAahD,GAAaxd,EAAQygB,oBAAoB,SAAU/e,EAAMge,GACpF,GAAIA,EACF,OAAQJ,WAAWhC,GAAO5b,EAAM,gBAAkBA,EAAK0e,wBAAwBM,KAAOrD,GAAK3b,EAAM,CAC/F8e,WAAY,IACX,WACD,OAAO9e,EAAK0e,wBAAwBM,SAChC,QAIVpgB,EAAOiB,KAAK,CACVof,OAAQ,GACRC,QAAS,GACTC,OAAQ,UACP,SAAUC,EAAQC,GACnBzgB,EAAOkf,SAASsB,EAASC,GAAU,CACjCC,OAAQ,SAAgB9iB,GAMtB,IALA,IAAIjB,EAAI,EACJgkB,EAAW,GAEfC,EAAyB,kBAAVhjB,EAAqBA,EAAM6G,MAAM,KAAO,CAAC7G,GAEjDjB,EAAI,EAAGA,IACZgkB,EAASH,EAAS3D,GAAUlgB,GAAK8jB,GAAUG,EAAMjkB,IAAMikB,EAAMjkB,EAAI,IAAMikB,EAAM,GAG/E,OAAOD,IAII,WAAXH,IACFxgB,EAAOkf,SAASsB,EAASC,GAAQhL,IAAMoI,OAG3C7d,EAAOG,GAAGiC,OAAO,CACfoc,IAAK,SAAathB,EAAMU,GACtB,OAAOmI,EAAOrF,MAAM,SAAUU,EAAMlE,EAAMU,GACxC,IAAIwgB,EACArc,EACAZ,EAAM,GACNxE,EAAI,EAER,GAAIkG,MAAMC,QAAQ5F,GAAO,CAIvB,IAHAkhB,EAAStB,GAAU1b,GACnBW,EAAM7E,EAAKoD,OAEJ3D,EAAIoF,EAAKpF,IACdwE,EAAIjE,EAAKP,IAAMqD,EAAOwe,IAAIpd,EAAMlE,EAAKP,IAAI,EAAOyhB,GAGlD,OAAOjd,EAGT,YAAiB4B,IAAVnF,EAAsBoC,EAAOuf,MAAMne,EAAMlE,EAAMU,GAASoC,EAAOwe,IAAIpd,EAAMlE,KAC/EA,EAAMU,EAAO2D,UAAUjB,OAAS,MAQvCN,EAAOyyC,MAAQA,GACfA,GAAMl0C,UAAY,CAChBO,YAAa2zC,GACbryC,KAAM,SAAcgB,EAAMiB,EAASy5B,EAAM75B,EAAKkrB,EAAQsqB,GACpD/2C,KAAKU,KAAOA,EACZV,KAAKo7B,KAAOA,EACZp7B,KAAKysB,OAASA,GAAUntB,EAAOmtB,OAAO/T,SACtC1Y,KAAK2B,QAAUA,EACf3B,KAAK6tB,MAAQ7tB,KAAKoZ,IAAMpZ,KAAKmP,MAC7BnP,KAAKuB,IAAMA,EACXvB,KAAK+2C,KAAOA,IAASz3C,EAAOqf,UAAUyc,GAAQ,GAAK,OAErDjsB,IAAK,WACH,IAAI2P,EAAQizB,GAAMsH,UAAUr5C,KAAKo7B,MACjC,OAAOtc,GAASA,EAAMhiB,IAAMgiB,EAAMhiB,IAAIkD,MAAQ+xC,GAAMsH,UAAU3gC,SAAS5b,IAAIkD,OAE7EyrC,IAAK,SAAaxB,GAChB,IAAIsd,EACAzoC,EAAQizB,GAAMsH,UAAUr5C,KAAKo7B,MAoBjC,OAlBIp7B,KAAK2B,QAAQyqB,SACfpsB,KAAK+nC,IAAMwf,EAAQjoD,EAAOmtB,OAAOzsB,KAAKysB,QAAQwd,EAASjqC,KAAK2B,QAAQyqB,SAAW6d,EAAS,EAAG,EAAGjqC,KAAK2B,QAAQyqB,UAE3GpsB,KAAK+nC,IAAMwf,EAAQtd,EAGrBjqC,KAAKoZ,KAAOpZ,KAAKuB,IAAMvB,KAAK6tB,OAAS05B,EAAQvnD,KAAK6tB,MAE9C7tB,KAAK2B,QAAQ6lD,MACfxnD,KAAK2B,QAAQ6lD,KAAKprD,KAAK4D,KAAKU,KAAMV,KAAKoZ,IAAKpZ,MAG1C8e,GAASA,EAAM/J,IACjB+J,EAAM/J,IAAI/U,MAEV+xC,GAAMsH,UAAU3gC,SAAS3D,IAAI/U,MAGxBA,OAGX+xC,GAAMl0C,UAAU6B,KAAK7B,UAAYk0C,GAAMl0C,UACvCk0C,GAAMsH,UAAY,CAChB3gC,SAAU,CACR5b,IAAK,SAAau0C,GAChB,IAAIn8B,EAGJ,OAA4B,IAAxBm8B,EAAM3wC,KAAKwD,UAA4C,MAA1BmtC,EAAM3wC,KAAK2wC,EAAMjW,OAAiD,MAAhCiW,EAAM3wC,KAAKme,MAAMwyB,EAAMjW,MACjFiW,EAAM3wC,KAAK2wC,EAAMjW,OAO1BlmB,EAAS5V,EAAOwe,IAAIuzB,EAAM3wC,KAAM2wC,EAAMjW,KAAM,MAEf,SAAXlmB,EAAwBA,EAAJ,GAExCH,IAAK,SAAas8B,GAIZ/xC,EAAOuxC,GAAG2W,KAAKnW,EAAMjW,MACvB97B,EAAOuxC,GAAG2W,KAAKnW,EAAMjW,MAAMiW,GACM,IAAxBA,EAAM3wC,KAAKwD,WAAmB5E,EAAOkf,SAAS6yB,EAAMjW,OAAwD,MAA/CiW,EAAM3wC,KAAKme,MAAMpC,GAAc40B,EAAMjW,OAG3GiW,EAAM3wC,KAAK2wC,EAAMjW,MAAQiW,EAAMj4B,IAF/B9Z,EAAOuf,MAAMwyB,EAAM3wC,KAAM2wC,EAAMjW,KAAMiW,EAAMj4B,IAAMi4B,EAAM0F,SAS/DhF,GAAMsH,UAAUziB,UAAYmb,GAAMsH,UAAUpR,WAAa,CACvDlzB,IAAK,SAAas8B,GACZA,EAAM3wC,KAAKwD,UAAYmtC,EAAM3wC,KAAKiP,aACpC0hC,EAAM3wC,KAAK2wC,EAAMjW,MAAQiW,EAAMj4B,OAIrC9Z,EAAOmtB,OAAS,CACdX,OAAQ,SAAgB/tB,GACtB,OAAOA,GAET0pD,MAAO,SAAe1pD,GACpB,MAAO,GAAMwE,KAAKmlD,IAAI3pD,EAAIwE,KAAKolD,IAAM,GAEvCjvC,SAAU,UAEZpZ,EAAOuxC,GAAKkB,GAAMl0C,UAAU6B,MAElB8nD,KAAO,GACjB,IAAIjX,GACAC,GACAC,GAAW,yBACXC,GAAO,cAEX,SAASC,KACHH,MACsB,IAApBnsC,EAASusC,QAAoBxsC,EAAOypC,sBACtCzpC,EAAOypC,sBAAsB8C,IAE7BvsC,EAAO4I,WAAW2jC,GAAUrxC,EAAOuxC,GAAG/G,UAGxCxqC,EAAOuxC,GAAGC,QAKd,SAASC,KAIP,OAHA3sC,EAAO4I,YAAW,WAChBujC,QAAQluC,KAEHkuC,GAAQp3B,KAAKC,MAItB,SAAS43B,GAAMnxC,EAAMoxC,GACnB,IAAIj2B,EACA/e,EAAI,EACJi1C,EAAQ,CACVjiB,OAAQpvB,GAMV,IAFAoxC,EAAeA,EAAe,EAAI,EAE3Bh1C,EAAI,EAAGA,GAAK,EAAIg1C,EAErBC,EAAM,UADNl2B,EAAQmB,GAAUlgB,KACQi1C,EAAM,UAAYl2B,GAASnb,EAOvD,OAJIoxC,IACFC,EAAMzyB,QAAUyyB,EAAM7xB,MAAQxf,GAGzBqxC,EAGT,SAASC,GAAYj0C,EAAOk+B,EAAMgW,GAMhC,IALA,IAAIC,EACAvvB,GAAcwvB,GAAUC,SAASnW,IAAS,IAAI70B,OAAO+qC,GAAUC,SAAS,MACxE3hC,EAAQ,EACRhQ,EAASkiB,EAAWliB,OAEjBgQ,EAAQhQ,EAAQgQ,IACrB,GAAIyhC,EAAQvvB,EAAWlS,GAAOxT,KAAKg1C,EAAWhW,EAAMl+B,GAElD,OAAOm0C,EAoOb,SAASC,GAAU5wC,EAAM8wC,EAAY7vC,GACnC,IAAIuT,EACAu8B,EACA7hC,EAAQ,EACRhQ,EAAS0xC,GAAUlrC,WAAWxG,OAC9B0K,EAAWhL,EAAOiL,WAAWe,QAAO,kBAE/BwlC,EAAKpwC,QAEVowC,EAAO,WACT,GAAIW,EACF,OAAO,EAYT,IATA,IAAIC,EAAcnB,IAASQ,KACvBv9B,EAAYjR,KAAK8a,IAAI,EAAG+zB,EAAUO,UAAYP,EAAUhlB,SAAWslB,GAInEzH,EAAU,GADPz2B,EAAY49B,EAAUhlB,UAAY,GAErCxc,EAAQ,EACRhQ,EAASwxC,EAAUQ,OAAOhyC,OAEvBgQ,EAAQhQ,EAAQgQ,IACrBwhC,EAAUQ,OAAOhiC,GAAO67B,IAAIxB,GAK9B,OAFA3/B,EAASsI,WAAWlS,EAAM,CAAC0wC,EAAWnH,EAASz2B,IAE3Cy2B,EAAU,GAAKrqC,EACV4T,GAIJ5T,GACH0K,EAASsI,WAAWlS,EAAM,CAAC0wC,EAAW,EAAG,IAI3C9mC,EAASgE,YAAY5N,EAAM,CAAC0wC,KACrB,IAELA,EAAY9mC,EAASsB,QAAQ,CAC/BlL,KAAMA,EACNoY,MAAOxZ,EAAOoC,OAAO,GAAI8vC,GACzBhG,KAAMlsC,EAAOoC,QAAO,EAAM,CACxBmwC,cAAe,GACfplB,OAAQntB,EAAOmtB,OAAO/T,UACrB/W,GACHmwC,mBAAoBN,EACpBtqC,gBAAiBvF,EACjBgwC,UAAWpB,IAASQ,KACpB3kB,SAAUzqB,EAAQyqB,SAClBwlB,OAAQ,GACRT,YAAa,SAAqB/V,EAAM75B,GACtC,IAAI8vC,EAAQ/xC,EAAOyyC,MAAMrxC,EAAM0wC,EAAU5F,KAAMpQ,EAAM75B,EAAK6vC,EAAU5F,KAAKqG,cAAczW,IAASgW,EAAU5F,KAAK/e,QAE/G,OADA2kB,EAAUQ,OAAOnzC,KAAK4yC,GACfA,GAEThlB,KAAM,SAAc2lB,GAClB,IAAIpiC,EAAQ,EAGZhQ,EAASoyC,EAAUZ,EAAUQ,OAAOhyC,OAAS,EAE7C,GAAI6xC,EACF,OAAOzxC,KAKT,IAFAyxC,GAAU,EAEH7hC,EAAQhQ,EAAQgQ,IACrBwhC,EAAUQ,OAAOhiC,GAAO67B,IAAI,GAW9B,OAPIuG,GACF1nC,EAASsI,WAAWlS,EAAM,CAAC0wC,EAAW,EAAG,IACzC9mC,EAASgE,YAAY5N,EAAM,CAAC0wC,EAAWY,KAEvC1nC,EAASiE,WAAW7N,EAAM,CAAC0wC,EAAWY,IAGjChyC,QAGP8Y,EAAQs4B,EAAUt4B,MAItB,KA/HF,SAAoBA,EAAO+4B,GACzB,IAAIjiC,EAAOpT,EAAMiwB,EAAQvvB,EAAO4hB,EAEhC,IAAKlP,KAASkJ,EAiBZ,GAfA2T,EAASolB,EADTr1C,EAAOwf,EAAUpM,IAEjB1S,EAAQ4b,EAAMlJ,GAEVzN,MAAMC,QAAQlF,KAChBuvB,EAASvvB,EAAM,GACfA,EAAQ4b,EAAMlJ,GAAS1S,EAAM,IAG3B0S,IAAUpT,IACZsc,EAAMtc,GAAQU,SACP4b,EAAMlJ,KAGfkP,EAAQxf,EAAOkf,SAAShiB,KAEX,WAAYsiB,EAKvB,IAAKlP,KAJL1S,EAAQ4hB,EAAMkB,OAAO9iB,UACd4b,EAAMtc,GAGCU,EACN0S,KAASkJ,IACbA,EAAMlJ,GAAS1S,EAAM0S,GACrBiiC,EAAcjiC,GAAS6c,QAI3BolB,EAAcr1C,GAAQiwB,EA6F1BwlB,CAAWn5B,EAAOs4B,EAAU5F,KAAKqG,eAE1BjiC,EAAQhQ,EAAQgQ,IAGrB,GAFAsF,EAASo8B,GAAUlrC,WAAWwJ,GAAOxT,KAAKg1C,EAAW1wC,EAAMoY,EAAOs4B,EAAU5F,MAO1E,OAJIvsC,EAAWiW,EAAOmX,QACpB/sB,EAAO0wC,YAAYoB,EAAU1wC,KAAM0wC,EAAU5F,KAAKxb,OAAO3D,KAAOnX,EAAOmX,KAAK5uB,KAAKyX,IAG5EA,EAiBX,OAbA5V,EAAOmB,IAAIqY,EAAOq4B,GAAaC,GAE3BnyC,EAAWmyC,EAAU5F,KAAK3d,QAC5BujB,EAAU5F,KAAK3d,MAAMzxB,KAAKsE,EAAM0wC,GAIlCA,EAAUr/B,SAASq/B,EAAU5F,KAAKz5B,UAAUpG,KAAKylC,EAAU5F,KAAK7/B,KAAMylC,EAAU5F,KAAK5+B,UAAUE,KAAKskC,EAAU5F,KAAK1+B,MAAMxB,OAAO8lC,EAAU5F,KAAKlgC,QAC/IhM,EAAOuxC,GAAGzf,MAAM9xB,EAAOoC,OAAOovC,EAAM,CAClCpwC,KAAMA,EACNutC,KAAMmD,EACNphB,MAAOohB,EAAU5F,KAAKxb,SAEjBohB,EAGT9xC,EAAOgyC,UAAYhyC,EAAOoC,OAAO4vC,GAAW,CAC1CC,SAAU,CACR,IAAK,CAAC,SAAUnW,EAAMl+B,GACpB,IAAIm0C,EAAQrxC,KAAKmxC,YAAY/V,EAAMl+B,GAEnC,OADAqf,GAAU80B,EAAM3wC,KAAM06B,EAAMnf,GAAQtX,KAAKzH,GAAQm0C,GAC1CA,KAGXa,QAAS,SAAiBp5B,EAAOtY,GAC3BvB,EAAW6Z,IACbtY,EAAWsY,EACXA,EAAQ,CAAC,MAETA,EAAQA,EAAMpU,MAAMiB,GAOtB,IAJA,IAAIy1B,EACAxrB,EAAQ,EACRhQ,EAASkZ,EAAMlZ,OAEZgQ,EAAQhQ,EAAQgQ,IACrBwrB,EAAOtiB,EAAMlJ,GACb0hC,GAAUC,SAASnW,GAAQkW,GAAUC,SAASnW,IAAS,GACvDkW,GAAUC,SAASnW,GAAMp0B,QAAQxG,IAGrC4F,WAAY,CA/Wd,SAA0B1F,EAAMoY,EAAO0yB,GACrC,IAAIpQ,EACAl+B,EACAi1C,EACArzB,EACAszB,EACAC,EACAC,EACAv1B,EACAw1B,EAAQ,UAAWz5B,GAAS,WAAYA,EACxCm1B,EAAOjuC,KACPub,EAAO,GACPsD,EAAQne,EAAKme,MACb+xB,EAASlwC,EAAKwD,UAAYmsC,GAAmB3vC,GAC7C8xC,EAAWx+B,EAASlX,IAAI4D,EAAM,UA8BlC,IAAK06B,KA5BAoQ,EAAKxb,QAGc,OAFtBlR,EAAQxf,EAAO0wC,YAAYtvC,EAAM,OAEvB+xC,WACR3zB,EAAM2zB,SAAW,EACjBL,EAAUtzB,EAAM4E,MAAMrQ,KAEtByL,EAAM4E,MAAMrQ,KAAO,WACZyL,EAAM2zB,UACTL,MAKNtzB,EAAM2zB,WACNxE,EAAK3iC,QAAO,WAEV2iC,EAAK3iC,QAAO,WACVwT,EAAM2zB,WAEDnzC,EAAO0wB,MAAMtvB,EAAM,MAAMd,QAC5Bkf,EAAM4E,MAAMrQ,cAOPyF,EAGX,GAFA5b,EAAQ4b,EAAMsiB,GAEVqV,GAAS1rC,KAAK7H,GAAQ,CAIxB,UAHO4b,EAAMsiB,GACb+W,EAASA,GAAoB,WAAVj1C,EAEfA,KAAW0zC,EAAS,OAAS,QAAS,CAGxC,GAAc,SAAV1zC,IAAoBs1C,QAA+BnwC,IAAnBmwC,EAASpX,GAG3C,SAFAwV,GAAS,EAMbr1B,EAAK6f,GAAQoX,GAAYA,EAASpX,IAAS97B,EAAOuf,MAAMne,EAAM06B,GAOlE,IAFAiX,GAAa/yC,EAAO2D,cAAc6V,MAEhBxZ,EAAO2D,cAAcsY,GAgEvC,IAAK6f,KA3DDmX,GAA2B,IAAlB7xC,EAAKwD,WAKhBsnC,EAAK9T,SAAW,CAAC7Y,EAAM6Y,SAAU7Y,EAAM6zB,UAAW7zB,EAAM8zB,WAIlC,OAFtBL,EAAiBE,GAAYA,EAASz1B,WAGpCu1B,EAAiBt+B,EAASlX,IAAI4D,EAAM,YAKtB,UAFhBqc,EAAUzd,EAAOwe,IAAIpd,EAAM,cAGrB4xC,EACFv1B,EAAUu1B,GAGVhC,GAAS,CAAC5vC,IAAO,GACjB4xC,EAAiB5xC,EAAKme,MAAM9B,SAAWu1B,EACvCv1B,EAAUzd,EAAOwe,IAAIpd,EAAM,WAC3B4vC,GAAS,CAAC5vC,OAKE,WAAZqc,GAAoC,iBAAZA,GAAgD,MAAlBu1B,IACtB,SAA9BhzC,EAAOwe,IAAIpd,EAAM,WAEd2xC,IACHpE,EAAKtiC,MAAK,WACRkT,EAAM9B,QAAUu1B,KAGI,MAAlBA,IACFv1B,EAAU8B,EAAM9B,QAChBu1B,EAA6B,SAAZv1B,EAAqB,GAAKA,IAI/C8B,EAAM9B,QAAU,iBAKlByuB,EAAK9T,WACP7Y,EAAM6Y,SAAW,SACjBuW,EAAK3iC,QAAO,WACVuT,EAAM6Y,SAAW8T,EAAK9T,SAAS,GAC/B7Y,EAAM6zB,UAAYlH,EAAK9T,SAAS,GAChC7Y,EAAM8zB,UAAYnH,EAAK9T,SAAS,OAKpC2a,GAAY,EAEC92B,EAEN82B,IACCG,EACE,WAAYA,IACd5B,EAAS4B,EAAS5B,QAGpB4B,EAAWx+B,EAAS3O,OAAO3E,EAAM,SAAU,CACzCqc,QAASu1B,IAKTH,IACFK,EAAS5B,QAAUA,GAIjBA,GACFN,GAAS,CAAC5vC,IAAO,GAKnButC,EAAKtiC,MAAK,WASR,IAAKyvB,KANAwV,GACHN,GAAS,CAAC5vC,IAGZsT,EAAS2C,OAAOjW,EAAM,UAET6a,EACXjc,EAAOuf,MAAMne,EAAM06B,EAAM7f,EAAK6f,QAMpCiX,EAAYlB,GAAYP,EAAS4B,EAASpX,GAAQ,EAAGA,EAAM6S,GAErD7S,KAAQoX,IACZA,EAASpX,GAAQiX,EAAUxkB,MAEvB+iB,IACFyB,EAAU9wC,IAAM8wC,EAAUxkB,MAC1BwkB,EAAUxkB,MAAQ,MA4LxB+kB,UAAW,SAAmBpyC,EAAUqjB,GAClCA,EACFytB,GAAUlrC,WAAWY,QAAQxG,GAE7B8wC,GAAUlrC,WAAW3H,KAAK+B,MAKhClB,EAAO+tB,MAAQ,SAAUA,EAAOZ,EAAQhtB,GACtC,IAAIozC,EAAMxlB,GAA4B,WAAnBpvB,EAAQovB,GAAsB/tB,EAAOoC,OAAO,GAAI2rB,GAAS,CAC1EzgB,SAAUnN,IAAOA,GAAMgtB,GAAUxtB,EAAWouB,IAAUA,EACtDjB,SAAUiB,EACVZ,OAAQhtB,GAAMgtB,GAAUA,IAAWxtB,EAAWwtB,IAAWA,GAiC3D,OA9BIntB,EAAOuxC,GAAGj8B,IACZi+B,EAAIzmB,SAAW,EAEa,kBAAjBymB,EAAIzmB,WACTymB,EAAIzmB,YAAY9sB,EAAOuxC,GAAGiC,OAC5BD,EAAIzmB,SAAW9sB,EAAOuxC,GAAGiC,OAAOD,EAAIzmB,UAEpCymB,EAAIzmB,SAAW9sB,EAAOuxC,GAAGiC,OAAOp6B,UAMrB,MAAbm6B,EAAI7iB,QAA+B,IAAd6iB,EAAI7iB,QAC3B6iB,EAAI7iB,MAAQ,MAId6iB,EAAIzV,IAAMyV,EAAIjmC,SAEdimC,EAAIjmC,SAAW,WACT3N,EAAW4zC,EAAIzV,MACjByV,EAAIzV,IAAIhhC,KAAK4D,MAGX6yC,EAAI7iB,OACN1wB,EAAOwwC,QAAQ9vC,KAAM6yC,EAAI7iB,QAItB6iB,GAGTvzC,EAAOG,GAAGiC,OAAO,CACfqxC,OAAQ,SAAgB1lB,EAAOlB,EAAIM,EAAQjsB,GAEzC,OAAOR,KAAKsP,OAAO+gC,IAAoBvyB,IAAI,UAAW,GAAGyP,OACxDhsB,MAAM2pB,QAAQ,CACbzM,QAAS0N,GACRkB,EAAOZ,EAAQjsB,IAEpB0qB,QAAS,SAAiBkQ,EAAM/N,EAAOZ,EAAQjsB,GAC7C,IAAIkjB,EAAQpkB,EAAO2D,cAAcm4B,GAC7B4X,EAAS1zC,EAAO+tB,MAAMA,EAAOZ,EAAQjsB,GACrCyyC,EAAc,WAEhB,IAAIhF,EAAOqD,GAAUtxC,KAAMV,EAAOoC,OAAO,GAAI05B,GAAO4X,IAEhDtvB,GAAS1P,EAASlX,IAAIkD,KAAM,YAC9BiuC,EAAK5hB,MAAK,IAKd,OADA4mB,EAAYC,OAASD,EACdvvB,IAA0B,IAAjBsvB,EAAOhjB,MAAkBhwB,KAAKO,KAAK0yC,GAAejzC,KAAKgwB,MAAMgjB,EAAOhjB,MAAOijB,IAE7F5mB,KAAM,SAAcxsB,EAAMqwC,EAAY8B,GACpC,IAAImB,EAAY,SAAmBr0B,GACjC,IAAIuN,EAAOvN,EAAMuN,YACVvN,EAAMuN,KACbA,EAAK2lB,IAaP,MAVoB,kBAATnyC,IACTmyC,EAAU9B,EACVA,EAAarwC,EACbA,OAAOwC,GAGL6tC,GACFlwC,KAAKgwB,MAAMnwB,GAAQ,KAAM,IAGpBG,KAAKO,MAAK,WACf,IAAIuvC,GAAU,EACVlgC,EAAgB,MAAR/P,GAAgBA,EAAO,aAC/BuzC,EAAS9zC,EAAO8zC,OAChBnnC,EAAO+H,EAASlX,IAAIkD,MAExB,GAAI4P,EACE3D,EAAK2D,IAAU3D,EAAK2D,GAAOyc,MAC7B8mB,EAAUlnC,EAAK2D,SAGjB,IAAKA,KAAS3D,EACRA,EAAK2D,IAAU3D,EAAK2D,GAAOyc,MAAQqkB,GAAK3rC,KAAK6K,IAC/CujC,EAAUlnC,EAAK2D,IAKrB,IAAKA,EAAQwjC,EAAOxzC,OAAQgQ,KACtBwjC,EAAOxjC,GAAOlP,OAASV,MAAiB,MAARH,GAAgBuzC,EAAOxjC,GAAOogB,QAAUnwB,IAC1EuzC,EAAOxjC,GAAOq+B,KAAK5hB,KAAK2lB,GACxBlC,GAAU,EACVsD,EAAO3xC,OAAOmO,EAAO,KAOrBkgC,GAAYkC,GACd1yC,EAAOwwC,QAAQ9vC,KAAMH,OAI3BqzC,OAAQ,SAAgBrzC,GAKtB,OAJa,IAATA,IACFA,EAAOA,GAAQ,MAGVG,KAAKO,MAAK,WACf,IAAIqP,EACA3D,EAAO+H,EAASlX,IAAIkD,MACpBgwB,EAAQ/jB,EAAKpM,EAAO,SACpBif,EAAQ7S,EAAKpM,EAAO,cACpBuzC,EAAS9zC,EAAO8zC,OAChBxzC,EAASowB,EAAQA,EAAMpwB,OAAS,EAWpC,IATAqM,EAAKinC,QAAS,EAEd5zC,EAAO0wB,MAAMhwB,KAAMH,EAAM,IAErBif,GAASA,EAAMuN,MACjBvN,EAAMuN,KAAKjwB,KAAK4D,MAAM,GAInB4P,EAAQwjC,EAAOxzC,OAAQgQ,KACtBwjC,EAAOxjC,GAAOlP,OAASV,MAAQozC,EAAOxjC,GAAOogB,QAAUnwB,IACzDuzC,EAAOxjC,GAAOq+B,KAAK5hB,MAAK,GACxB+mB,EAAO3xC,OAAOmO,EAAO,IAKzB,IAAKA,EAAQ,EAAGA,EAAQhQ,EAAQgQ,IAC1BogB,EAAMpgB,IAAUogB,EAAMpgB,GAAOsjC,QAC/BljB,EAAMpgB,GAAOsjC,OAAO92C,KAAK4D,aAKtBiM,EAAKinC,aAIlB5zC,EAAOiB,KAAK,CAAC,SAAU,OAAQ,SAAS,SAAUyD,EAAIxH,GACpD,IAAI62C,EAAQ/zC,EAAOG,GAAGjD,GAEtB8C,EAAOG,GAAGjD,GAAQ,SAAU6wB,EAAOZ,EAAQjsB,GACzC,OAAgB,MAAT6sB,GAAkC,mBAAVA,EAAsBgmB,EAAMzyC,MAAMZ,KAAMa,WAAab,KAAKkrB,QAAQ8lB,GAAMx0C,GAAM,GAAO6wB,EAAOZ,EAAQjsB,OAIvIlB,EAAOiB,KAAK,CACV+yC,UAAWtC,GAAM,QACjBuC,QAASvC,GAAM,QACfwC,YAAaxC,GAAM,UACnBlU,OAAQ,CACNre,QAAS,QAEX8c,QAAS,CACP9c,QAAS,QAEXg1B,WAAY,CACVh1B,QAAS,YAEV,SAAUjiB,EAAMsc,GACjBxZ,EAAOG,GAAGjD,GAAQ,SAAU6wB,EAAOZ,EAAQjsB,GACzC,OAAOR,KAAKkrB,QAAQpS,EAAOuU,EAAOZ,EAAQjsB,OAG9ClB,EAAO8zC,OAAS,GAEhB9zC,EAAOuxC,GAAGC,KAAO,WACf,IAAI1f,EACAn1B,EAAI,EACJm3C,EAAS9zC,EAAO8zC,OAGpB,IAFA7C,GAAQp3B,KAAKC,MAENnd,EAAIm3C,EAAOxzC,OAAQ3D,KACxBm1B,EAAQgiB,EAAOn3C,OAECm3C,EAAOn3C,KAAOm1B,GAC5BgiB,EAAO3xC,OAAOxF,IAAK,GAIlBm3C,EAAOxzC,QACVN,EAAOuxC,GAAGxkB,OAGZkkB,QAAQluC,GAGV/C,EAAOuxC,GAAGzf,MAAQ,SAAUA,GAC1B9xB,EAAO8zC,OAAO30C,KAAK2yB,GACnB9xB,EAAOuxC,GAAGhjB,SAGZvuB,EAAOuxC,GAAG/G,SAAW,GAErBxqC,EAAOuxC,GAAGhjB,MAAQ,WACZ2iB,KAIJA,IAAa,EACbG,OAGFrxC,EAAOuxC,GAAGxkB,KAAO,WACfmkB,GAAa,MAGflxC,EAAOuxC,GAAGiC,OAAS,CACjBY,KAAM,IACNC,KAAM,IAENj7B,SAAU,KAIZpZ,EAAOG,GAAGw9B,MAAQ,SAAUuR,EAAM3uC,GAGhC,OAFA2uC,EAAOlvC,EAAOuxC,IAAKvxC,EAAOuxC,GAAGiC,OAAOtE,IAAgBA,EACpD3uC,EAAOA,GAAQ,KACRG,KAAKgwB,MAAMnwB,GAAM,SAAUoP,EAAM6P,GACtC,IAAI/R,EAAU3I,EAAO4I,WAAWiC,EAAMu/B,GAEtC1vB,EAAMuN,KAAO,WACXjoB,EAAOmJ,aAAaR,QAK1B,WACE,IAAIkoC,EAAQ5wC,EAASoC,cAAc,SAE/BosC,EADSxuC,EAASoC,cAAc,UACnBmd,YAAYvf,EAASoC,cAAc,WACpDwuC,EAAMp1C,KAAO,WAGbb,EAAQk2C,QAA0B,KAAhBD,EAAM/3C,MAGxB8B,EAAQm2C,YAActC,EAAItrC,UAG1B0tC,EAAQ5wC,EAASoC,cAAc,UACzBvJ,MAAQ,IACd+3C,EAAMp1C,KAAO,QACbb,EAAQo2C,WAA6B,MAAhBH,EAAM/3C,MAhB7B,GAmBA,IAAI0qD,GACA3I,GAAa3/C,EAAOiX,KAAK0oC,WAC7B3/C,EAAOG,GAAGiC,OAAO,CACfsD,KAAM,SAAcxI,EAAMU,GACxB,OAAOmI,EAAOrF,KAAMV,EAAO0F,KAAMxI,EAAMU,EAAO2D,UAAUjB,OAAS,IAEnEotB,WAAY,SAAoBxwB,GAC9B,OAAOwD,KAAKO,MAAK,WACfjB,EAAO0tB,WAAWhtB,KAAMxD,SAI9B8C,EAAOoC,OAAO,CACZsD,KAAM,SAActE,EAAMlE,EAAMU,GAC9B,IAAIkD,EACA0e,EACAs6B,EAAQ14C,EAAKwD,SAEjB,GAAc,IAAVk1C,GAAyB,IAAVA,GAAyB,IAAVA,EAKlC,MAAiC,qBAAtB14C,EAAKygB,aACP7hB,EAAO87B,KAAK16B,EAAMlE,EAAMU,IAKnB,IAAVk8C,GAAgB95C,EAAOkkB,SAAS9iB,KAClCoe,EAAQxf,EAAOuoD,UAAUrrD,EAAKyH,iBAAmB3E,EAAOiX,KAAK7R,MAAMojD,KAAK/iD,KAAKvI,GAAQorD,QAAWvlD,SAGpFA,IAAVnF,EACY,OAAVA,OACFoC,EAAO0tB,WAAWtsB,EAAMlE,GAItBsiB,GAAS,QAASA,QAAkDzc,KAAxCjC,EAAM0e,EAAM/J,IAAIrU,EAAMxD,EAAOV,IACpD4D,GAGTM,EAAKu1C,aAAaz5C,EAAMU,EAAQ,IACzBA,GAGL4hB,GAAS,QAASA,GAA2C,QAAjC1e,EAAM0e,EAAMhiB,IAAI4D,EAAMlE,IAC7C4D,EAKK,OAFdA,EAAMd,EAAOsF,KAAKI,KAAKtE,EAAMlE,SAER6F,EAAYjC,IAEnCynD,UAAW,CACThoD,KAAM,CACJkV,IAAK,SAAarU,EAAMxD,GACtB,IAAK8B,EAAQo2C,YAAwB,UAAVl4C,GAAqBkI,EAAS1E,EAAM,SAAU,CACvE,IAAIyd,EAAMzd,EAAKxD,MAOf,OANAwD,EAAKu1C,aAAa,OAAQ/4C,GAEtBihB,IACFzd,EAAKxD,MAAQihB,GAGRjhB,MAKf8vB,WAAY,SAAoBtsB,EAAMxD,GACpC,IAAIV,EACAP,EAAI,EAGR8rD,EAAY7qD,GAASA,EAAMwH,MAAMiB,GAEjC,GAAIoiD,GAA+B,IAAlBrnD,EAAKwD,SACpB,KAAO1H,EAAOurD,EAAU9rD,MACtByE,EAAK2gB,gBAAgB7kB,MAM7BorD,GAAW,CACT7yC,IAAK,SAAarU,EAAMxD,EAAOV,GAQ7B,OAPc,IAAVU,EAEFoC,EAAO0tB,WAAWtsB,EAAMlE,GAExBkE,EAAKu1C,aAAaz5C,EAAMA,GAGnBA,IAGX8C,EAAOiB,KAAKjB,EAAOiX,KAAK7R,MAAMojD,KAAKxiB,OAAO5gC,MAAM,SAAS,SAAUV,EAAIxH,GACrE,IAAIC,EAASwiD,GAAWziD,IAAS8C,EAAOsF,KAAKI,KAE7Ci6C,GAAWziD,GAAQ,SAAUkE,EAAMlE,EAAMu+C,GACvC,IAAI36C,EACA8V,EACA8xC,EAAgBxrD,EAAKyH,cAUzB,OARK82C,IAEH7kC,EAAS+oC,GAAW+I,GACpB/I,GAAW+I,GAAiB5nD,EAC5BA,EAAmC,MAA7B3D,EAAOiE,EAAMlE,EAAMu+C,GAAiBiN,EAAgB,KAC1D/I,GAAW+I,GAAiB9xC,GAGvB9V,MAGX,IAAI44C,GAAa,sCACbC,GAAa,gBA4GjB,SAASgP,GAAiB/qD,GAExB,OADaA,EAAMwH,MAAMiB,IAAkB,IAC7BsF,KAAK,KAGrB,SAASi9C,GAASxnD,GAChB,OAAOA,EAAKygB,cAAgBzgB,EAAKygB,aAAa,UAAY,GAG5D,SAASgnC,GAAejrD,GACtB,OAAIiF,MAAMC,QAAQlF,GACTA,EAGY,kBAAVA,GACFA,EAAMwH,MAAMiB,IAGd,GA7HTrG,EAAOG,GAAGiC,OAAO,CACf05B,KAAM,SAAc5+B,EAAMU,GACxB,OAAOmI,EAAOrF,KAAMV,EAAO87B,KAAM5+B,EAAMU,EAAO2D,UAAUjB,OAAS,IAEnEs5C,WAAY,SAAoB18C,GAC9B,OAAOwD,KAAKO,MAAK,kBACRP,KAAKV,EAAO65C,QAAQ38C,IAASA,SAI1C8C,EAAOoC,OAAO,CACZ05B,KAAM,SAAc16B,EAAMlE,EAAMU,GAC9B,IAAIkD,EACA0e,EACAs6B,EAAQ14C,EAAKwD,SAEjB,GAAc,IAAVk1C,GAAyB,IAAVA,GAAyB,IAAVA,EAUlC,OANc,IAAVA,GAAgB95C,EAAOkkB,SAAS9iB,KAElClE,EAAO8C,EAAO65C,QAAQ38C,IAASA,EAC/BsiB,EAAQxf,EAAO+5C,UAAU78C,SAGb6F,IAAVnF,EACE4hB,GAAS,QAASA,QAAkDzc,KAAxCjC,EAAM0e,EAAM/J,IAAIrU,EAAMxD,EAAOV,IACpD4D,EAGFM,EAAKlE,GAAQU,EAGlB4hB,GAAS,QAASA,GAA2C,QAAjC1e,EAAM0e,EAAMhiB,IAAI4D,EAAMlE,IAC7C4D,EAGFM,EAAKlE,IAEd68C,UAAW,CACTC,SAAU,CACRx8C,IAAK,SAAa4D,GAMhB,IAAI64C,EAAWj6C,EAAOsF,KAAKI,KAAKtE,EAAM,YAEtC,OAAI64C,EACKjnB,SAASinB,EAAU,IAGxBP,GAAWj0C,KAAKrE,EAAK0E,WAAa6zC,GAAWl0C,KAAKrE,EAAK0E,WAAa1E,EAAKoH,KACpE,GAGD,KAIdqxC,QAAS,CACP,IAAO,UACP,MAAS,eAWRn6C,EAAQm2C,cACX71C,EAAO+5C,UAAU9xC,SAAW,CAC1BzK,IAAK,SAAa4D,GAEhB,IAAIuP,EAASvP,EAAKiP,WAMlB,OAJIM,GAAUA,EAAON,YACnBM,EAAON,WAAW6pC,cAGb,MAETzkC,IAAK,SAAarU,GAEhB,IAAIuP,EAASvP,EAAKiP,WAEdM,IACFA,EAAOupC,cAEHvpC,EAAON,YACTM,EAAON,WAAW6pC,kBAO5Bl6C,EAAOiB,KAAK,CAAC,WAAY,WAAY,YAAa,cAAe,cAAe,UAAW,UAAW,SAAU,cAAe,oBAAoB,WACjJjB,EAAO65C,QAAQn5C,KAAKiE,eAAiBjE,QAyBvCV,EAAOG,GAAGiC,OAAO,CACfi1B,SAAU,SAAkBz5B,GAC1B,IAAIkrD,EACA1nD,EACAyO,EACAk5C,EACAC,EACAhnD,EACAinD,EACAtsD,EAAI,EAER,GAAIgD,EAAW/B,GACb,OAAO8C,KAAKO,MAAK,SAAUe,GACzBhC,EAAOU,MAAM22B,SAASz5B,EAAMd,KAAK4D,KAAMsB,EAAG4mD,GAASloD,WAMvD,IAFAooD,EAAUD,GAAejrD,IAEb0C,OACV,KAAOc,EAAOV,KAAK/D,MAIjB,GAHAosD,EAAWH,GAASxnD,GACpByO,EAAwB,IAAlBzO,EAAKwD,UAAkB,IAAM+jD,GAAiBI,GAAY,IAEvD,CAGP,IAFA/mD,EAAI,EAEGgnD,EAAQF,EAAQ9mD,MACjB6N,EAAIzQ,QAAQ,IAAM4pD,EAAQ,KAAO,IACnCn5C,GAAOm5C,EAAQ,KAOfD,KAFJE,EAAaN,GAAiB94C,KAG5BzO,EAAKu1C,aAAa,QAASsS,GAMnC,OAAOvoD,MAETm5B,YAAa,SAAqBj8B,GAChC,IAAIkrD,EACA1nD,EACAyO,EACAk5C,EACAC,EACAhnD,EACAinD,EACAtsD,EAAI,EAER,GAAIgD,EAAW/B,GACb,OAAO8C,KAAKO,MAAK,SAAUe,GACzBhC,EAAOU,MAAMm5B,YAAYj8B,EAAMd,KAAK4D,KAAMsB,EAAG4mD,GAASloD,WAI1D,IAAKa,UAAUjB,OACb,OAAOI,KAAKgF,KAAK,QAAS,IAK5B,IAFAojD,EAAUD,GAAejrD,IAEb0C,OACV,KAAOc,EAAOV,KAAK/D,MAKjB,GAJAosD,EAAWH,GAASxnD,GAEpByO,EAAwB,IAAlBzO,EAAKwD,UAAkB,IAAM+jD,GAAiBI,GAAY,IAEvD,CAGP,IAFA/mD,EAAI,EAEGgnD,EAAQF,EAAQ9mD,MAErB,KAAO6N,EAAIzQ,QAAQ,IAAM4pD,EAAQ,MAAQ,GACvCn5C,EAAMA,EAAI1M,QAAQ,IAAM6lD,EAAQ,IAAK,KAOrCD,KAFJE,EAAaN,GAAiB94C,KAG5BzO,EAAKu1C,aAAa,QAASsS,GAMnC,OAAOvoD,MAETs0B,YAAa,SAAqBp3B,EAAOsrD,GACvC,IAAI3oD,EAAO5B,EAAQf,GACfurD,EAAwB,WAAT5oD,GAAqBsC,MAAMC,QAAQlF,GAEtD,MAAwB,mBAAbsrD,GAA0BC,EAC5BD,EAAWxoD,KAAK22B,SAASz5B,GAAS8C,KAAKm5B,YAAYj8B,GAGxD+B,EAAW/B,GACN8C,KAAKO,MAAK,SAAUtE,GACzBqD,EAAOU,MAAMs0B,YAAYp3B,EAAMd,KAAK4D,KAAM/D,EAAGisD,GAASloD,MAAOwoD,GAAWA,MAIrExoD,KAAKO,MAAK,WACf,IAAIsqB,EAAW5uB,EAAGsmB,EAAMmmC,EAExB,GAAID,EAMF,IAJAxsD,EAAI,EACJsmB,EAAOjjB,EAAOU,MACd0oD,EAAaP,GAAejrD,GAErB2tB,EAAY69B,EAAWzsD,MAExBsmB,EAAKkjB,SAAS5a,GAChBtI,EAAK4W,YAAYtO,GAEjBtI,EAAKoU,SAAS9L,aAICxoB,IAAVnF,GAAgC,YAAT2C,KAChCgrB,EAAYq9B,GAASloD,QAInBgU,EAASe,IAAI/U,KAAM,gBAAiB6qB,GAOlC7qB,KAAKi2C,cACPj2C,KAAKi2C,aAAa,QAASprB,IAAuB,IAAV3tB,EAAkB,GAAK8W,EAASlX,IAAIkD,KAAM,kBAAoB,SAK9GylC,SAAU,SAAkBlmC,GAC1B,IAAIsrB,EACAnqB,EACAzE,EAAI,EAGR,IAFA4uB,EAAY,IAAMtrB,EAAW,IAEtBmB,EAAOV,KAAK/D,MACjB,GAAsB,IAAlByE,EAAKwD,WAAmB,IAAM+jD,GAAiBC,GAASxnD,IAAS,KAAKhC,QAAQmsB,IAAc,EAC9F,OAAO,EAIX,OAAO,KAGX,IAAI89B,GAAU,MACdrpD,EAAOG,GAAGiC,OAAO,CACfyc,IAAK,SAAajhB,GAChB,IAAI4hB,EACA1e,EACAiiB,EACA3hB,EAAOV,KAAK,GAEhB,OAAKa,UAAUjB,QAqBfyiB,EAAkBpjB,EAAW/B,GACtB8C,KAAKO,MAAK,SAAUtE,GACzB,IAAIkiB,EAEkB,IAAlBne,KAAKkE,WAWE,OANTia,EADEkE,EACInlB,EAAMd,KAAK4D,KAAM/D,EAAGqD,EAAOU,MAAMme,OAEjCjhB,GAKNihB,EAAM,GACkB,kBAARA,EAChBA,GAAO,GACEhc,MAAMC,QAAQ+b,KACvBA,EAAM7e,EAAOmB,IAAI0d,GAAK,SAAUjhB,GAC9B,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,QAIxC4hB,EAAQxf,EAAOspD,SAAS5oD,KAAKH,OAASP,EAAOspD,SAAS5oD,KAAKoF,SAASnB,iBAEpD,QAAS6a,QAA4Czc,IAAlCyc,EAAM/J,IAAI/U,KAAMme,EAAK,WACtDne,KAAK9C,MAAQihB,QAhDXzd,GACFoe,EAAQxf,EAAOspD,SAASloD,EAAKb,OAASP,EAAOspD,SAASloD,EAAK0E,SAASnB,iBAEvD,QAAS6a,QAA8Czc,KAApCjC,EAAM0e,EAAMhiB,IAAI4D,EAAM,UAC7CN,EAKU,kBAFnBA,EAAMM,EAAKxD,OAGFkD,EAAIqC,QAAQkmD,GAAS,IAIhB,MAAPvoD,EAAc,GAAKA,OAG5B,KAoCNd,EAAOoC,OAAO,CACZknD,SAAU,CACRpR,OAAQ,CACN16C,IAAK,SAAa4D,GAChB,IAAIyd,EAAM7e,EAAOsF,KAAKI,KAAKtE,EAAM,SACjC,OAAc,MAAPyd,EAAcA,EAIrB8pC,GAAiB3oD,EAAOoJ,KAAKhI,MAGjC06C,OAAQ,CACNt+C,IAAK,SAAa4D,GAChB,IAAIxD,EACAs6C,EACAv7C,EACA0F,EAAUjB,EAAKiB,QACfiO,EAAQlP,EAAK84C,cACb9kC,EAAoB,eAAdhU,EAAKb,KACXynD,EAAS5yC,EAAM,KAAO,GACtB2I,EAAM3I,EAAM9E,EAAQ,EAAIjO,EAAQ/B,OASpC,IANE3D,EADE2T,EAAQ,EACNyN,EAEA3I,EAAM9E,EAAQ,EAIb3T,EAAIohB,EAAKphB,IAId,KAHAu7C,EAAS71C,EAAQ1F,IAGLsL,UAAYtL,IAAM2T,KAC7B4nC,EAAOv/B,YAAcu/B,EAAO7nC,WAAWsI,WAAa7S,EAASoyC,EAAO7nC,WAAY,aAAc,CAI7F,GAFAzS,EAAQoC,EAAOk4C,GAAQr5B,MAEnBzJ,EACF,OAAOxX,EAIToqD,EAAO7oD,KAAKvB,GAIhB,OAAOoqD,GAETvyC,IAAK,SAAarU,EAAMxD,GAOtB,IANA,IAAI2rD,EACArR,EACA71C,EAAUjB,EAAKiB,QACf2lD,EAAShoD,EAAOgE,UAAUpG,GAC1BjB,EAAI0F,EAAQ/B,OAET3D,OACLu7C,EAAS71C,EAAQ1F,IAGNsL,SAAWjI,EAAOkE,QAAQlE,EAAOspD,SAASpR,OAAO16C,IAAI06C,GAAS8P,IAAW,KAClFuB,GAAY,GAWhB,OAJKA,IACHnoD,EAAK84C,eAAiB,GAGjB8N,OAMfhoD,EAAOiB,KAAK,CAAC,QAAS,aAAa,WACjCjB,EAAOspD,SAAS5oD,MAAQ,CACtB+U,IAAK,SAAarU,EAAMxD,GACtB,GAAIiF,MAAMC,QAAQlF,GAChB,OAAOwD,EAAKihB,QAAUriB,EAAOkE,QAAQlE,EAAOoB,GAAMyd,MAAOjhB,IAAU,IAKpE8B,EAAQk2C,UACX51C,EAAOspD,SAAS5oD,MAAMlD,IAAM,SAAU4D,GACpC,OAAsC,OAA/BA,EAAKygB,aAAa,SAAoB,KAAOzgB,EAAKxD,WAK/D8B,EAAQ8pD,QAAU,cAAe1kD,EAEjC,IAAIixC,GAAc,kCACdC,GAA0B,SAAiCtpC,GAC7DA,EAAEsJ,mBAGJhW,EAAOoC,OAAOpC,EAAO+K,MAAO,CAC1B+B,QAAS,SAAiB/B,EAAO4B,EAAMvL,EAAM60C,GAC3C,IAAIt5C,EACAkT,EACAnB,EACAwnC,EACAC,EACAv/B,EACA3D,EACAmjC,EACAC,EAAY,CAACj1C,GAAQ2D,GACrBxE,EAAOhB,EAAOzC,KAAKiO,EAAO,QAAUA,EAAMxK,KAAOwK,EACjD0L,EAAalX,EAAOzC,KAAKiO,EAAO,aAAeA,EAAM2K,UAAUjR,MAAM,KAAO,GAGhF,GAFAoL,EAAMumC,EAAc1nC,EAAMtN,EAAOA,GAAQ2D,EAEnB,IAAlB3D,EAAKwD,UAAoC,IAAlBxD,EAAKwD,WAK5BmxC,GAAYtwC,KAAKlF,EAAOP,EAAO+K,MAAM8L,aAIrCtW,EAAKnB,QAAQ,MAAQ,IAEvBqX,EAAalW,EAAKkE,MAAM,KACxBlE,EAAOkW,EAAWpI,QAClBoI,EAAWvU,QAGbi0C,EAAS51C,EAAKnB,QAAQ,KAAO,GAAK,KAAOmB,GAEzCwK,EAAQA,EAAM/K,EAAOgD,SAAW+H,EAAQ,IAAI/K,EAAOmW,MAAM5V,EAAyB,WAAnB5B,EAAQoM,IAAuBA,IAExF+K,UAAYmgC,EAAe,EAAI,EACrClrC,EAAM2K,UAAYe,EAAW9K,KAAK,KAClCZ,EAAMqN,WAAarN,EAAM2K,UAAY,IAAI+B,OAAO,UAAYhB,EAAW9K,KAAK,iBAAmB,WAAa,KAE5GZ,EAAM6K,YAAS7S,EAEVgI,EAAMrI,SACTqI,EAAMrI,OAAStB,GAIjBuL,EAAe,MAARA,EAAe,CAAC5B,GAAS/K,EAAOgE,UAAU2I,EAAM,CAAC5B,IAExDkI,EAAUjT,EAAO+K,MAAMkI,QAAQ1S,IAAS,GAEnC01C,IAAgBhjC,EAAQnG,UAAiD,IAAtCmG,EAAQnG,QAAQxL,MAAMF,EAAMuL,IAApE,CAMA,IAAKspC,IAAiBhjC,EAAQiG,WAAatZ,EAASwB,GAAO,CAOzD,IANA80C,EAAajjC,EAAQ8C,cAAgBxV,EAEhCw1C,GAAYtwC,KAAKywC,EAAa31C,KACjCsP,EAAMA,EAAIQ,YAGLR,EAAKA,EAAMA,EAAIQ,WACpBgmC,EAAUl3C,KAAK0Q,GACfnB,EAAMmB,EAIJnB,KAAStN,EAAKoE,eAAiBT,IACjCsxC,EAAUl3C,KAAKuP,EAAI21B,aAAe31B,EAAI4nC,cAAgBxxC,GAO1D,IAFAnI,EAAI,GAEIkT,EAAMwmC,EAAU15C,QAAUoO,EAAMkN,wBACtCm+B,EAAcvmC,EACd9E,EAAMxK,KAAO5D,EAAI,EAAIu5C,EAAajjC,EAAQ8D,UAAYxW,GAEtDqW,GAAUlC,EAASlX,IAAIqS,EAAK,WAAaxS,OAAOY,OAAO,OAAO8M,EAAMxK,OAASmU,EAASlX,IAAIqS,EAAK,YAG7F+G,EAAOtV,MAAMuO,EAAKlD,IAIpBiK,EAASu/B,GAAUtmC,EAAIsmC,KAETv/B,EAAOtV,OAASmT,EAAW5E,KACvC9E,EAAM6K,OAASgB,EAAOtV,MAAMuO,EAAKlD,IAEZ,IAAjB5B,EAAM6K,QACR7K,EAAMmL,kBAyCZ,OApCAnL,EAAMxK,KAAOA,EAER01C,GAAiBlrC,EAAM0O,sBACpBxG,EAAQmG,WAA8D,IAAlDnG,EAAQmG,SAAS9X,MAAM+0C,EAAU1qB,MAAOhf,KAAoB8H,EAAWrT,IAG3F+0C,GAAUx2C,EAAWyB,EAAKb,MAAWX,EAASwB,MAEhDsN,EAAMtN,EAAK+0C,MAGT/0C,EAAK+0C,GAAU,MAIjBn2C,EAAO+K,MAAM8L,UAAYtW,EAErBwK,EAAMkN,wBACRm+B,EAAYh/B,iBAAiB7W,EAAMy1C,IAGrC50C,EAAKb,KAEDwK,EAAMkN,wBACRm+B,EAAY78B,oBAAoBhZ,EAAMy1C,IAGxCh2C,EAAO+K,MAAM8L,eAAY9T,EAErB2L,IACFtN,EAAK+0C,GAAUznC,IAMhB3D,EAAM6K,SAIf2gC,SAAU,SAAkBh2C,EAAMa,EAAM2J,GACtC,IAAI2B,EAAI1M,EAAOoC,OAAO,IAAIpC,EAAOmW,MAASpL,EAAO,CAC/CxK,KAAMA,EACNwZ,aAAa,IAEf/Z,EAAO+K,MAAM+B,QAAQJ,EAAG,KAAMtL,MAGlCpB,EAAOG,GAAGiC,OAAO,CACf0K,QAAS,SAAiBvM,EAAMoM,GAC9B,OAAOjM,KAAKO,MAAK,WACfjB,EAAO+K,MAAM+B,QAAQvM,EAAMoM,EAAMjM,UAGrC81C,eAAgB,SAAwBj2C,EAAMoM,GAC5C,IAAIvL,EAAOV,KAAK,GAEhB,GAAIU,EACF,OAAOpB,EAAO+K,MAAM+B,QAAQvM,EAAMoM,EAAMvL,GAAM,MAY/C1B,EAAQ8pD,SACXxpD,EAAOiB,KAAK,CACV0a,MAAO,UACPC,KAAM,aACL,SAAUK,EAAMnE,GAEjB,IAAI9E,EAAU,SAAiBjI,GAC7B/K,EAAO+K,MAAMwrC,SAASz+B,EAAK/M,EAAMrI,OAAQ1C,EAAO+K,MAAM+M,IAAI/M,KAG5D/K,EAAO+K,MAAMkI,QAAQ6E,GAAO,CAC1BX,MAAO,WAGL,IAAIrT,EAAMpD,KAAK8E,eAAiB9E,KAAKqE,UAAYrE,KAC7C+oD,EAAW/0C,EAAS3O,OAAOjC,EAAKgU,GAE/B2xC,GACH3lD,EAAIsT,iBAAiB6E,EAAMjJ,GAAS,GAGtC0B,EAAS3O,OAAOjC,EAAKgU,GAAM2xC,GAAY,GAAK,IAE9C/xC,SAAU,WACR,IAAI5T,EAAMpD,KAAK8E,eAAiB9E,KAAKqE,UAAYrE,KAC7C+oD,EAAW/0C,EAAS3O,OAAOjC,EAAKgU,GAAO,EAEtC2xC,EAIH/0C,EAAS3O,OAAOjC,EAAKgU,EAAK2xC,IAH1B3lD,EAAIyV,oBAAoB0C,EAAMjJ,GAAS,GACvC0B,EAAS2C,OAAOvT,EAAKgU,SAS/B,IAAIxR,GAAWxB,EAAOwB,SAClBvC,GAAQ,CACVS,KAAMqV,KAAKC,OAETvT,GAAS,KAEbvG,EAAO8J,SAAW,SAAU6C,GAC1B,IAAIrD,EAAK6wC,EAET,IAAKxtC,GAAwB,kBAATA,EAClB,OAAO,KAKT,IACErD,GAAM,IAAIxE,EAAOs1C,WAAYC,gBAAgB1tC,EAAM,YACnD,MAAOD,IAUT,OARAytC,EAAkB7wC,GAAOA,EAAIyd,qBAAqB,eAAe,GAE5Dzd,IAAO6wC,GACVn6C,EAAOqD,MAAM,iBAAmB82C,EAAkBn6C,EAAOmB,IAAIg5C,EAAgB7oC,YAAY,SAAUkE,GACjG,OAAOA,EAAG4N,eACTzX,KAAK,MAAQgB,IAGXrD,GAGT,IAAIgxC,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,qCAEnB,SAASC,GAAYl6B,EAAQ3hB,EAAKgO,EAAaQ,GAC7C,IAAInQ,EAEJ,GAAI2F,MAAMC,QAAQjE,GAEhBmB,EAAOiB,KAAKpC,GAAK,SAAUlC,EAAG8U,GACxB5E,GAAeytC,GAAS70C,KAAK+a,GAE/BnT,EAAImT,EAAQ/O,GAGZipC,GAAYl6B,EAAS,KAAsB,WAAf7hB,EAAQ8S,IAAwB,MAALA,EAAY9U,EAAI,IAAM,IAAK8U,EAAG5E,EAAaQ,WAGjG,GAAKR,GAA+B,WAAhB/M,EAAOjB,GAOhCwO,EAAImT,EAAQ3hB,QALZ,IAAK3B,KAAQ2B,EACX67C,GAAYl6B,EAAS,IAAMtjB,EAAO,IAAK2B,EAAI3B,GAAO2P,EAAaQ,GAUrErN,EAAO4M,MAAQ,SAAUk3B,EAAGj3B,GAC1B,IAAI2T,EACA9hB,EAAI,GACJ2O,EAAM,SAAanP,EAAKy8C,GAE1B,IAAI/8C,EAAQ+B,EAAWg7C,GAAmBA,IAAoBA,EAC9Dj8C,EAAEA,EAAE4B,QAAUs6C,mBAAmB18C,GAAO,IAAM08C,mBAA4B,MAATh9C,EAAgB,GAAKA,IAGxF,GAAS,MAALkmC,EACF,MAAO,GAIT,GAAIjhC,MAAMC,QAAQghC,IAAMA,EAAEtjC,SAAWR,EAAO4C,cAAckhC,GAExD9jC,EAAOiB,KAAK6iC,GAAG,WACbz2B,EAAI3M,KAAKxD,KAAMwD,KAAK9C,eAKtB,IAAK4iB,KAAUsjB,EACb4W,GAAYl6B,EAAQsjB,EAAEtjB,GAAS3T,EAAaQ,GAKhD,OAAO3O,EAAEiN,KAAK,MAGhB3L,EAAOG,GAAGiC,OAAO,CACfy4C,UAAW,WACT,OAAO76C,EAAO4M,MAAMlM,KAAKo6C,mBAE3BA,eAAgB,WACd,OAAOp6C,KAAKS,KAAI,WAEd,IAAI2vC,EAAW9wC,EAAO87B,KAAKp7B,KAAM,YACjC,OAAOowC,EAAW9wC,EAAOgE,UAAU8sC,GAAYpwC,QAC9CsP,QAAO,WACR,IAAIzP,EAAOG,KAAKH,KAEhB,OAAOG,KAAKxD,OAAS8C,EAAOU,MAAMo2C,GAAG,cAAgB2D,GAAah1C,KAAK/E,KAAKoF,YAAc00C,GAAgB/0C,KAAKlF,KAAUG,KAAK2hB,UAAY7N,GAAe/O,KAAKlF,OAC7JY,KAAI,SAAUuD,EAAItD,GACnB,IAAIyd,EAAM7e,EAAOU,MAAMme,MAEvB,OAAW,MAAPA,EACK,KAGLhc,MAAMC,QAAQ+b,GACT7e,EAAOmB,IAAI0d,GAAK,SAAUA,GAC/B,MAAO,CACL3hB,KAAMkE,EAAKlE,KACXU,MAAOihB,EAAI1b,QAAQo3C,GAAO,YAKzB,CACLr9C,KAAMkE,EAAKlE,KACXU,MAAOihB,EAAI1b,QAAQo3C,GAAO,YAE3B/8C,SAGP,IAAIgJ,GAAM,OACNC,GAAQ,OACRC,GAAa,gBACbC,GAAW,6BAGXC,GAAa,iBACbC,GAAY,QAWhBC,GAAa,GAObC,GAAa,GAEbC,GAAW,KAAKC,OAAO,KAEvBC,GAAenC,EAASoC,cAAc,KAGtC,SAASC,GAA4BC,GAEnC,OAAO,SAAUC,EAAoBC,GACD,kBAAvBD,IACTC,EAAOD,EACPA,EAAqB,KAGvB,IAAIE,EACA7K,EAAI,EACJ8K,EAAYH,EAAmB3C,cAAcS,MAAMiB,IAAkB,GAEzE,GAAI1G,EAAW4H,GAEb,KAAOC,EAAWC,EAAU9K,MAEN,MAAhB6K,EAAS,IACXA,EAAWA,EAASnG,MAAM,IAAM,KAC/BgG,EAAUG,GAAYH,EAAUG,IAAa,IAAIE,QAAQH,KAEzDF,EAAUG,GAAYH,EAAUG,IAAa,IAAIrI,KAAKoI,IAQjE,SAASI,GAA8BN,EAAWhF,EAASuF,EAAiBC,GAC1E,IAAIC,EAAY,GACZC,EAAmBV,IAAcN,GAErC,SAASiB,EAAQR,GACf,IAAIS,EAaJ,OAZAH,EAAUN,IAAY,EACtBxH,EAAOiB,KAAKoG,EAAUG,IAAa,IAAI,SAAUU,EAAGC,GAClD,IAAIC,EAAsBD,EAAmB9F,EAASuF,EAAiBC,GAEvE,MAAmC,kBAAxBO,GAAqCL,GAAqBD,EAAUM,GAIpEL,IACAE,EAAWG,QADf,GAHL/F,EAAQoF,UAAUC,QAAQU,GAC1BJ,EAAQI,IACD,MAKJH,EAGT,OAAOD,EAAQ3F,EAAQoF,UAAU,MAAQK,EAAU,MAAQE,EAAQ,KAMrE,SAASK,GAAW3F,EAAQJ,GAC1B,IAAIpE,EACAyE,EACA2F,EAActI,EAAOuI,aAAaD,aAAe,GAErD,IAAKpK,KAAOoE,OACOS,IAAbT,EAAIpE,MACLoK,EAAYpK,GAAOwE,EAASC,IAASA,EAAO,KAAKzE,GAAOoE,EAAIpE,IAQjE,OAJIyE,GACF3C,EAAOoC,QAAO,EAAMM,EAAQC,GAGvBD,EAxETwE,GAAasB,KAAOlC,GAASkC,KAuO7BxI,EAAOoC,OAAO,CAEZqG,OAAQ,EAERC,aAAc,GACdC,KAAM,GACNJ,aAAc,CACZK,IAAKtC,GAASkC,KACdjI,KAAM,MACNsI,QAzQa,4DAyQWpD,KAAKa,GAASwC,UACtCC,QAAQ,EACRC,aAAa,EACbC,OAAO,EACPC,YAAa,mDAabC,QAAS,CACP,IAAKnC,GACLoC,KAAM,aACNC,KAAM,YACNC,IAAK,4BACLC,KAAM,qCAERC,SAAU,CACRF,IAAK,UACLD,KAAM,SACNE,KAAM,YAERE,eAAgB,CACdH,IAAK,cACLF,KAAM,eACNG,KAAM,gBAIRG,WAAY,CAEV,SAAUC,OAEV,aAAa,EAEb,YAAaC,KAAKC,MAElB,WAAY7J,EAAO8J,UAMrBxB,YAAa,CACXM,KAAK,EACL1I,SAAS,IAMb6J,UAAW,SAAmBrH,EAAQsH,GACpC,OAAOA,EACP3B,GAAWA,GAAW3F,EAAQ1C,EAAOuI,cAAeyB,GACpD3B,GAAWrI,EAAOuI,aAAc7F,IAElCuH,cAAe7C,GAA4BN,IAC3CoD,cAAe9C,GAA4BL,IAE3CoD,KAAM,SAAcvB,EAAKvG,GAEF,WAAjB1D,EAAQiK,KACVvG,EAAUuG,EACVA,OAAM7F,GAMR,IAAIqH,EAEJC,EAEAC,EACIC,EAEJC,EAEAC,EAEAC,EAEAC,EAEAhO,EAEAiO,EAEAlM,EAAIsB,EAAO+J,UAAU,GArBrB1H,EAAUA,GAAW,IAuBrBwI,EAAkBnM,EAAEwB,SAAWxB,EAE/BoM,EAAqBpM,EAAEwB,UAAY2K,EAAgBjG,UAAYiG,EAAgBrK,QAAUR,EAAO6K,GAAmB7K,EAAO+K,MAE1HC,EAAWhL,EAAOiL,WACdC,EAAmBlL,EAAOmL,UAAU,eAExCC,EAAc1M,EAAE2M,YAAc,GAE9BC,EAAiB,GACbC,EAAsB,GAE1BC,EAAW,WAEX3D,EAAQ,CACN4D,WAAY,EAEZC,kBAAmB,SAA2BxN,GAC5C,IAAIkH,EAEJ,GAAIsF,EAAW,CACb,IAAKH,EAGH,IAFAA,EAAkB,GAEXnF,EAAQuB,GAAStB,KAAKiF,IAC3BC,EAAgBnF,EAAM,GAAGT,cAAgB,MAAQ4F,EAAgBnF,EAAM,GAAGT,cAAgB,MAAQ,IAAIsC,OAAO7B,EAAM,IAIvHA,EAAQmF,EAAgBrM,EAAIyG,cAAgB,KAG9C,OAAgB,MAATS,EAAgB,KAAOA,EAAMuG,KAAK,OAG3CC,sBAAuB,WACrB,OAAOlB,EAAYJ,EAAwB,MAG7CuB,iBAAkB,SAA0B3O,EAAMU,GAMhD,OALiB,MAAb8M,IACFxN,EAAOqO,EAAoBrO,EAAKyH,eAAiB4G,EAAoBrO,EAAKyH,gBAAkBzH,EAC5FoO,EAAepO,GAAQU,GAGlB8C,MAGToL,iBAAkB,SAA0BvL,GAK1C,OAJiB,MAAbmK,IACFhM,EAAEqN,SAAWxL,GAGRG,MAGT2K,WAAY,SAAoBlK,GAC9B,IAAI0C,EAEJ,GAAI1C,EACF,GAAIuJ,EAEF7C,EAAMmE,OAAO7K,EAAI0G,EAAMoE,cAGvB,IAAKpI,KAAQ1C,EACXiK,EAAYvH,GAAQ,CAACuH,EAAYvH,GAAO1C,EAAI0C,IAKlD,OAAOnD,MAGTwL,MAAO,SAAeC,GACpB,IAAIC,EAAYD,GAAcX,EAO9B,OALIpB,GACFA,EAAU8B,MAAME,GAGlBC,EAAK,EAAGD,GACD1L,OAeX,GAVAsK,EAASsB,QAAQzE,GAIjBnJ,EAAEkK,MAAQA,GAAOlK,EAAEkK,KAAOtC,GAASkC,MAAQ,IAAIrF,QAAQ0D,GAAWP,GAASwC,SAAW,MAEtFpK,EAAE6B,KAAO8B,EAAQkK,QAAUlK,EAAQ9B,MAAQ7B,EAAE6N,QAAU7N,EAAE6B,KAEzD7B,EAAE+I,WAAa/I,EAAE8I,UAAY,KAAK7C,cAAcS,MAAMiB,IAAkB,CAAC,IAEpD,MAAjB3H,EAAE8N,YAAqB,CACzB/B,EAAY1F,EAASoC,cAAc,KAInC,IACEsD,EAAUjC,KAAO9J,EAAEkK,IAGnB6B,EAAUjC,KAAOiC,EAAUjC,KAC3B9J,EAAE8N,YAActF,GAAa4B,SAAW,KAAO5B,GAAauF,OAAShC,EAAU3B,SAAW,KAAO2B,EAAUgC,KAC3G,MAAOC,GAGPhO,EAAE8N,aAAc,GAYpB,GAPI9N,EAAEiO,MAAQjO,EAAEsK,aAAiC,kBAAXtK,EAAEiO,OACtCjO,EAAEiO,KAAO3M,EAAO4M,MAAMlO,EAAEiO,KAAMjO,EAAEmO,cAIlClF,GAA8Bb,GAAYpI,EAAG2D,EAASwF,GAElD6C,EACF,OAAO7C,EA6DT,IAAKlL,KAxDLgO,EAAc3K,EAAO+K,OAASrM,EAAEqK,SAEO,IAApB/I,EAAOyI,UACxBzI,EAAO+K,MAAM+B,QAAQ,aAIvBpO,EAAE6B,KAAO7B,EAAE6B,KAAKwM,cAEhBrO,EAAEsO,YAAcpG,GAAWnB,KAAK/G,EAAE6B,MAIlC8J,EAAW3L,EAAEkK,IAAIzF,QAAQsD,GAAO,IAE3B/H,EAAEsO,WAkBItO,EAAEiO,MAAQjO,EAAEsK,aAAsF,KAAtEtK,EAAEwK,aAAe,IAAI9J,QAAQ,uCAClEV,EAAEiO,KAAOjO,EAAEiO,KAAKxJ,QAAQqD,GAAK,OAjB7BoE,EAAWlM,EAAEkK,IAAIvH,MAAMgJ,EAAS/J,QAE5B5B,EAAEiO,OAASjO,EAAEsK,aAAiC,kBAAXtK,EAAEiO,QACvCtC,IAAa9D,GAAOd,KAAK4E,GAAY,IAAM,KAAO3L,EAAEiO,YAE7CjO,EAAEiO,OAIK,IAAZjO,EAAEuO,QACJ5C,EAAWA,EAASlH,QAAQuD,GAAY,MACxCkE,GAAYrE,GAAOd,KAAK4E,GAAY,IAAM,KAAO,KAAOtG,GAAMS,OAASoG,GAIzElM,EAAEkK,IAAMyB,EAAWO,GAMjBlM,EAAEwO,aACAlN,EAAO0I,aAAa2B,IACtBxC,EAAMgE,iBAAiB,oBAAqB7L,EAAO0I,aAAa2B,IAG9DrK,EAAO2I,KAAK0B,IACdxC,EAAMgE,iBAAiB,gBAAiB7L,EAAO2I,KAAK0B,MAKpD3L,EAAEiO,MAAQjO,EAAEsO,aAAgC,IAAlBtO,EAAEwK,aAAyB7G,EAAQ6G,cAC/DrB,EAAMgE,iBAAiB,eAAgBnN,EAAEwK,aAI3CrB,EAAMgE,iBAAiB,SAAUnN,EAAE+I,UAAU,IAAM/I,EAAEyK,QAAQzK,EAAE+I,UAAU,IAAM/I,EAAEyK,QAAQzK,EAAE+I,UAAU,KAA0B,MAAnB/I,EAAE+I,UAAU,GAAa,KAAOT,GAAW,WAAa,IAAMtI,EAAEyK,QAAQ,MAE1KzK,EAAEyO,QACVtF,EAAMgE,iBAAiBlP,EAAG+B,EAAEyO,QAAQxQ,IAItC,GAAI+B,EAAE0O,cAAgE,IAAjD1O,EAAE0O,WAAWtQ,KAAK+N,EAAiBhD,EAAOnJ,IAAgBgM,GAE7E,OAAO7C,EAAMqE,QAYf,GARAV,EAAW,QAEXN,EAAiBmC,IAAI3O,EAAE4O,UACvBzF,EAAMwE,KAAK3N,EAAE6O,SACb1F,EAAM2F,KAAK9O,EAAE2E,OAEb+G,EAAYzC,GAA8BZ,GAAYrI,EAAG2D,EAASwF,GAI3D,CAQL,GAPAA,EAAM4D,WAAa,EAEfd,GACFG,EAAmBgC,QAAQ,WAAY,CAACjF,EAAOnJ,IAI7CgM,EACF,OAAO7C,EAILnJ,EAAEuK,OAASvK,EAAE+O,QAAU,IACzBjD,EAAe1F,EAAO4I,YAAW,WAC/B7F,EAAMqE,MAAM,aACXxN,EAAE+O,UAGP,IACE/C,GAAY,EACZN,EAAUuD,KAAKrC,EAAgBe,GAC/B,MAAOK,GAEP,GAAIhC,EACF,MAAMgC,EAIRL,GAAM,EAAGK,SA9BXL,GAAM,EAAG,gBAmCX,SAASA,EAAKJ,EAAQ2B,EAAkBC,EAAWV,GACjD,IAAIW,EACAP,EACAlK,EACA0K,EACAC,EACA7B,EAAayB,EAEblD,IAIJA,GAAY,EAERF,GACF1F,EAAOmJ,aAAazD,GAKtBJ,OAAYrH,EAEZuH,EAAwB6C,GAAW,GAEnCtF,EAAM4D,WAAaQ,EAAS,EAAI,EAAI,EAEpC6B,EAAY7B,GAAU,KAAOA,EAAS,KAAkB,MAAXA,EAEzC4B,IACFE,EA9gBR,SAA6BrP,EAAGmJ,EAAOgG,GAQrC,IAPA,IAAIK,EACA3N,EACA4N,EACAC,EACA5E,EAAW9K,EAAE8K,SACb/B,EAAY/I,EAAE+I,UAEM,MAAjBA,EAAU,IACfA,EAAU4G,aAECtL,IAAPmL,IACFA,EAAKxP,EAAEqN,UAAYlE,EAAM6D,kBAAkB,iBAK/C,GAAIwC,EACF,IAAK3N,KAAQiJ,EACX,GAAIA,EAASjJ,IAASiJ,EAASjJ,GAAMkF,KAAKyI,GAAK,CAC7CzG,EAAUC,QAAQnH,GAClB,MAMN,GAAIkH,EAAU,KAAMoG,EAClBM,EAAgB1G,EAAU,OACrB,CAEL,IAAKlH,KAAQsN,EAAW,CACtB,IAAKpG,EAAU,IAAM/I,EAAEgL,WAAWnJ,EAAO,IAAMkH,EAAU,IAAK,CAC5D0G,EAAgB5N,EAChB,MAGG6N,IACHA,EAAgB7N,GAKpB4N,EAAgBA,GAAiBC,EAMnC,GAAID,EAKF,OAJIA,IAAkB1G,EAAU,IAC9BA,EAAUC,QAAQyG,GAGbN,EAAUM,GAwdFG,CAAoB5P,EAAGmJ,EAAOgG,KAItCC,GAAa9N,EAAOkE,QAAQ,SAAUxF,EAAE+I,YAAc,GAAKzH,EAAOkE,QAAQ,OAAQxF,EAAE+I,WAAa,IACpG/I,EAAEgL,WAAW,eAAiB,cAIhCqE,EAzdN,SAAqBrP,EAAGqP,EAAUlG,EAAOiG,GACvC,IAAIS,EACAC,EACAC,EACAC,EACAC,EACAjF,EAAa,GAEjBjC,EAAY/I,EAAE+I,UAAUpG,QAExB,GAAIoG,EAAU,GACZ,IAAKgH,KAAQ/P,EAAEgL,WACbA,EAAW+E,EAAK9J,eAAiBjG,EAAEgL,WAAW+E,GAMlD,IAFAD,EAAU/G,EAAU4G,QAEbG,GAaL,GAZI9P,EAAE+K,eAAe+E,KACnB3G,EAAMnJ,EAAE+K,eAAe+E,IAAYT,IAIhCY,GAAQb,GAAapP,EAAEkQ,aAC1Bb,EAAWrP,EAAEkQ,WAAWb,EAAUrP,EAAE8I,WAGtCmH,EAAOH,EACPA,EAAU/G,EAAU4G,QAIlB,GAAgB,MAAZG,EACFA,EAAUG,OACL,GAAa,MAATA,GAAgBA,IAASH,EAAS,CAI3C,KAFAC,EAAO/E,EAAWiF,EAAO,IAAMH,IAAY9E,EAAW,KAAO8E,IAG3D,IAAKD,KAAS7E,EAIZ,IAFAgF,EAAMH,EAAM9J,MAAM,MAEV,KAAO+J,IAEbC,EAAO/E,EAAWiF,EAAO,IAAMD,EAAI,KAAOhF,EAAW,KAAOgF,EAAI,KAEtD,EAEK,IAATD,EACFA,EAAO/E,EAAW6E,IACa,IAAtB7E,EAAW6E,KACpBC,EAAUE,EAAI,GACdjH,EAAUC,QAAQgH,EAAI,KAGxB,MAOR,IAAa,IAATD,EAEF,GAAIA,GAAQ/P,EAAEmQ,OACZd,EAAWU,EAAKV,QAEhB,IACEA,EAAWU,EAAKV,GAChB,MAAOrB,GACP,MAAO,CACLoC,MAAO,cACPzL,MAAOoL,EAAO/B,EAAI,sBAAwBiC,EAAO,OAASH,IASxE,MAAO,CACLM,MAAO,UACPnC,KAAMoB,GAoYOgB,CAAYrQ,EAAGqP,EAAUlG,EAAOiG,GAEvCA,GAEEpP,EAAEwO,cACJc,EAAWnG,EAAM6D,kBAAkB,oBAGjC1L,EAAO0I,aAAa2B,GAAY2D,IAGlCA,EAAWnG,EAAM6D,kBAAkB,WAGjC1L,EAAO2I,KAAK0B,GAAY2D,IAKb,MAAX/B,GAA6B,SAAXvN,EAAE6B,KACtB4L,EAAa,YACO,MAAXF,EACTE,EAAa,eAEbA,EAAa4B,EAASe,MACtBvB,EAAUQ,EAASpB,KAEnBmB,IADAzK,EAAQ0K,EAAS1K,UAKnBA,EAAQ8I,GAEJF,GAAWE,IACbA,EAAa,QAETF,EAAS,IACXA,EAAS,KAMfpE,EAAMoE,OAASA,EACfpE,EAAMsE,YAAcyB,GAAoBzB,GAAc,GAElD2B,EACF9C,EAASgE,YAAYnE,EAAiB,CAAC0C,EAASpB,EAAYtE,IAE5DmD,EAASiE,WAAWpE,EAAiB,CAAChD,EAAOsE,EAAY9I,IAI3DwE,EAAMwD,WAAWD,GACjBA,OAAcrI,EAEV4H,GACFG,EAAmBgC,QAAQgB,EAAY,cAAgB,YAAa,CAACjG,EAAOnJ,EAAGoP,EAAYP,EAAUlK,IAIvG6H,EAAiBgE,SAASrE,EAAiB,CAAChD,EAAOsE,IAE/CxB,IACFG,EAAmBgC,QAAQ,eAAgB,CAACjF,EAAOnJ,MAE3CsB,EAAOyI,QACbzI,EAAO+K,MAAM+B,QAAQ,cAK3B,OAAOjF,GAETsH,QAAS,SAAiBvG,EAAK+D,EAAMzL,GACnC,OAAOlB,EAAOxC,IAAIoL,EAAK+D,EAAMzL,EAAU,SAEzCkO,UAAW,SAAmBxG,EAAK1H,GACjC,OAAOlB,EAAOxC,IAAIoL,OAAK7F,EAAW7B,EAAU,aAGhDlB,EAAOiB,KAAK,CAAC,MAAO,SAAS,SAAUyD,EAAI6H,GACzCvM,EAAOuM,GAAU,SAAU3D,EAAK+D,EAAMzL,EAAUX,GAS9C,OAPIZ,EAAWgN,KACbpM,EAAOA,GAAQW,EACfA,EAAWyL,EACXA,OAAO5J,GAIF/C,EAAOmK,KAAKnK,EAAOoC,OAAO,CAC/BwG,IAAKA,EACLrI,KAAMgM,EACN/E,SAAUjH,EACVoM,KAAMA,EACNY,QAASrM,GACRlB,EAAO4C,cAAcgG,IAAQA,QAGpC5I,EAAOiK,eAAc,SAAUvL,GAC7B,IAAI/B,EAEJ,IAAKA,KAAK+B,EAAEyO,QACc,iBAApBxQ,EAAEgI,gBACJjG,EAAEwK,YAAcxK,EAAEyO,QAAQxQ,IAAM,OAKtCqD,EAAOkjB,SAAW,SAAUta,EAAKvG,EAASyB,GACxC,OAAO9D,EAAOmK,KAAK,CACjBvB,IAAKA,EAELrI,KAAM,MACNiH,SAAU,SACVyF,OAAO,EACPhE,OAAO,EACPF,QAAQ,EAIRW,WAAY,CACV,cAAe,cAEjBkF,WAAY,SAAoBb,GAC9B/N,EAAO4D,WAAWmK,EAAU1L,EAASyB,OAK3C9D,EAAOG,GAAGiC,OAAO,CACfsnD,QAAS,SAAiBrgD,GACxB,IAAIsvC,EAyBJ,OAvBIj4C,KAAK,KACHf,EAAW0J,KACbA,EAAOA,EAAKvM,KAAK4D,KAAK,KAIxBi4C,EAAO34C,EAAOqJ,EAAM3I,KAAK,GAAG8E,eAAe/D,GAAG,GAAGgB,OAAM,GAEnD/B,KAAK,GAAG2P,YACVsoC,EAAKn0B,aAAa9jB,KAAK,IAGzBi4C,EAAKx3C,KAAI,WAGP,IAFA,IAAIC,EAAOV,KAEJU,EAAKuoD,mBACVvoD,EAAOA,EAAKuoD,kBAGd,OAAOvoD,KACNijB,OAAO3jB,OAGLA,MAETkpD,UAAW,SAAmBvgD,GAC5B,OAAI1J,EAAW0J,GACN3I,KAAKO,MAAK,SAAUtE,GACzBqD,EAAOU,MAAMkpD,UAAUvgD,EAAKvM,KAAK4D,KAAM/D,OAIpC+D,KAAKO,MAAK,WACf,IAAIgiB,EAAOjjB,EAAOU,MACd8I,EAAWyZ,EAAKzZ,WAEhBA,EAASlJ,OACXkJ,EAASkgD,QAAQrgD,GAEjB4Z,EAAKoB,OAAOhb,OAIlBsvC,KAAM,SAActvC,GAClB,IAAIwgD,EAAiBlqD,EAAW0J,GAChC,OAAO3I,KAAKO,MAAK,SAAUtE,GACzBqD,EAAOU,MAAMgpD,QAAQG,EAAiBxgD,EAAKvM,KAAK4D,KAAM/D,GAAK0M,OAG/DygD,OAAQ,SAAgB7pD,GAItB,OAHAS,KAAKiQ,OAAO1Q,GAAUs6B,IAAI,QAAQt5B,MAAK,WACrCjB,EAAOU,MAAMmkB,YAAYnkB,KAAK4Q,eAEzB5Q,QAIXV,EAAOiX,KAAKskC,QAAQjK,OAAS,SAAUlwC,GACrC,OAAQpB,EAAOiX,KAAKskC,QAAQwO,QAAQ3oD,IAGtCpB,EAAOiX,KAAKskC,QAAQwO,QAAU,SAAU3oD,GACtC,SAAUA,EAAK2zC,aAAe3zC,EAAKs0C,cAAgBt0C,EAAK6d,iBAAiB3e,SAG3EN,EAAOuI,aAAayhD,IAAM,WACxB,IACE,OAAO,IAAIllD,EAAOmlD,eAClB,MAAOv9C,MAGX,IAAIw9C,GAAmB,CAErBr2B,EAAG,IAGHs2B,KAAM,KAEJC,GAAepqD,EAAOuI,aAAayhD,MACvCtqD,EAAQ2qD,OAASD,IAAgB,oBAAqBA,GACtD1qD,EAAQyK,KAAOigD,KAAiBA,GAChCpqD,EAAOkK,eAAc,SAAU7H,GAC7B,IAAIioD,EAAWC,EAGf,GAAI7qD,EAAQ2qD,MAAQD,KAAiB/nD,EAAQmK,YAC3C,MAAO,CACLmB,KAAM,SAAcR,EAASG,GAC3B,IAAI3Q,EACAqtD,EAAM3nD,EAAQ2nD,MAGlB,GAFAA,EAAIt0B,KAAKrzB,EAAQ9B,KAAM8B,EAAQuG,IAAKvG,EAAQ4G,MAAO5G,EAAQmoD,SAAUnoD,EAAQ2hD,UAEzE3hD,EAAQooD,UACV,IAAK9tD,KAAK0F,EAAQooD,UAChBT,EAAIrtD,GAAK0F,EAAQooD,UAAU9tD,GAmB/B,IAAKA,KAdD0F,EAAQ0J,UAAYi+C,EAAIl+C,kBAC1Bk+C,EAAIl+C,iBAAiBzJ,EAAQ0J,UAQ1B1J,EAAQmK,aAAgBW,EAAQ,sBACnCA,EAAQ,oBAAsB,kBAItBA,EACR68C,EAAIn+C,iBAAiBlP,EAAGwQ,EAAQxQ,IAIlC2tD,EAAY,SAAkB/pD,GAC5B,OAAO,WACD+pD,IACFA,EAAYC,EAAgBP,EAAI76B,OAAS66B,EAAI3c,QAAU2c,EAAIU,QAAUV,EAAIW,UAAYX,EAAI56B,mBAAqB,KAEjG,UAAT7uB,EACFypD,EAAI99C,QACc,UAAT3L,EAIiB,kBAAfypD,EAAI/9C,OACbqB,EAAS,EAAG,SAEZA,EACA08C,EAAI/9C,OAAQ+9C,EAAI79C,YAGlBmB,EAAS48C,GAAiBF,EAAI/9C,SAAW+9C,EAAI/9C,OAAQ+9C,EAAI79C,WAGxB,UAAhC69C,EAAIY,cAAgB,SAAkD,kBAArBZ,EAAIa,aAA4B,CAChFC,OAAQd,EAAIj8C,UACV,CACF3E,KAAM4gD,EAAIa,cACTb,EAAIp+C,4BAOfo+C,EAAI76B,OAASm7B,IACbC,EAAgBP,EAAI3c,QAAU2c,EAAIW,UAAYL,EAAU,cAIpCvnD,IAAhBinD,EAAIU,QACNV,EAAIU,QAAUH,EAEdP,EAAI56B,mBAAqB,WAEA,IAAnB46B,EAAIv+C,YAKN3G,EAAO4I,YAAW,WACZ48C,GACFC,QAQVD,EAAYA,EAAU,SAEtB,IAEEN,EAAIr8C,KAAKtL,EAAQ2K,YAAc3K,EAAQsK,MAAQ,MAC/C,MAAOD,GAEP,GAAI49C,EACF,MAAM59C,IAIZR,MAAO,WACDo+C,GACFA,SAOVtqD,EAAOiK,eAAc,SAAUvL,GACzBA,EAAE8N,cACJ9N,EAAE8K,SAAS0lB,QAAS,MAIxBlvB,EAAO+J,UAAU,CACfZ,QAAS,CACP+lB,OAAQ,6FAEV1lB,SAAU,CACR0lB,OAAQ,2BAEVxlB,WAAY,CACV,cAAe,SAAoBN,GAEjC,OADApJ,EAAO4D,WAAWwF,GACXA,MAKbpJ,EAAOiK,cAAc,UAAU,SAAUvL,QACvBqE,IAAZrE,EAAEuO,QACJvO,EAAEuO,OAAQ,GAGRvO,EAAE8N,cACJ9N,EAAE6B,KAAO,UAIbP,EAAOkK,cAAc,UAAU,SAAUxL,GAGrC,IAAIwwB,EAAQ0+B,EADd,GAAIlvD,EAAE8N,aAAe9N,EAAEqsD,YAGrB,MAAO,CACLp9C,KAAM,SAAczF,EAAGoF,GACrB4hB,EAASlvB,EAAO,YAAY0F,KAAKhH,EAAEqsD,aAAe,IAAIjvB,KAAK,CACzDkvB,QAAStsD,EAAEusD,cACX3oD,IAAK5D,EAAEkK,MACNuT,GAAG,aAAcyxC,EAAa,SAAkB1C,GACjDh8B,EAAO7X,SACPu2C,EAAa,KAET1C,GACF59C,EAAsB,UAAb49C,EAAI3qD,KAAmB,IAAM,IAAK2qD,EAAI3qD,QAInDwE,EAASoiB,KAAK7C,YAAY4K,EAAO,KAEnChjB,MAAO,WACD0hD,GACFA,SAMV,IAgFM1mC,GAhFFikC,GAAe,GACfC,GAAS,oBAEbprD,EAAO+J,UAAU,CACfshD,MAAO,WACPC,cAAe,WACb,IAAIpqD,EAAWiqD,GAAax/B,OAAS3rB,EAAOgD,QAAU,IAAMe,GAAMS,OAElE,OADA9D,KAAKQ,IAAY,EACVA,KAIXlB,EAAOiK,cAAc,cAAc,SAAUvL,EAAG6sD,EAAkB1jD,GAChE,IAAI2jD,EACAC,EACAC,EACAC,GAAuB,IAAZjtD,EAAE2sD,QAAoBD,GAAO3lD,KAAK/G,EAAEkK,KAAO,MAA0B,kBAAXlK,EAAEiO,MAA4F,KAAtEjO,EAAEwK,aAAe,IAAI9J,QAAQ,sCAA8CgsD,GAAO3lD,KAAK/G,EAAEiO,OAAS,QAEnM,GAAIg/C,GAA+B,UAAnBjtD,EAAE+I,UAAU,GAqD1B,OAnDA+jD,EAAe9sD,EAAE4sD,cAAgB3rD,EAAWjB,EAAE4sD,eAAiB5sD,EAAE4sD,gBAAkB5sD,EAAE4sD,cAEjFK,EACFjtD,EAAEitD,GAAYjtD,EAAEitD,GAAUxoD,QAAQioD,GAAQ,KAAOI,IAC5B,IAAZ9sD,EAAE2sD,QACX3sD,EAAEkK,MAAQrC,GAAOd,KAAK/G,EAAEkK,KAAO,IAAM,KAAOlK,EAAE2sD,MAAQ,IAAMG,GAI9D9sD,EAAEgL,WAAW,eAAiB,WAK5B,OAJKgiD,GACH1rD,EAAOqD,MAAMmoD,EAAe,mBAGvBE,EAAkB,IAI3BhtD,EAAE+I,UAAU,GAAK,OAEjBgkD,EAAc3mD,EAAO0mD,GAErB1mD,EAAO0mD,GAAgB,WACrBE,EAAoBnqD,WAItBsG,EAAMmE,QAAO,gBAESjJ,IAAhB0oD,EACFzrD,EAAO8E,GAAQ80C,WAAW4R,GAE1B1mD,EAAO0mD,GAAgBC,EAIrB/sD,EAAE8sD,KAEJ9sD,EAAE4sD,cAAgBC,EAAiBD,cAEnCH,GAAahsD,KAAKqsD,IAIhBE,GAAqB/rD,EAAW8rD,IAClCA,EAAYC,EAAkB,IAGhCA,EAAoBD,OAAc1oD,KAG7B,YAQXrD,EAAQs7C,qBACF9zB,GAAOniB,EAASk2C,eAAeD,mBAAmB,IAAI9zB,MACrDtC,UAAY,6BACiB,IAA3BsC,GAAK5V,WAAWhR,QAOzBN,EAAOuF,UAAY,SAAUoH,EAAMzM,EAAS66C,GAC1C,MAAoB,kBAATpuC,EACF,IAGc,mBAAZzM,IACT66C,EAAc76C,EACdA,GAAU,GAKPA,IAGCR,EAAQs7C,qBAKV/Q,GAJA/pC,EAAU6E,EAASk2C,eAAeD,mBAAmB,KAItC7zC,cAAc,SACxBqB,KAAOzD,EAASuB,SAASkC,KAC9BtI,EAAQinB,KAAK7C,YAAY2lB,IAEzB/pC,EAAU6E,GAKd4d,GAAWo4B,GAAe,IAD1BG,EAASl2C,EAAWK,KAAKsH,IAIhB,CAACzM,EAAQiH,cAAc+zC,EAAO,MAGvCA,EAAS55B,GAAc,CAAC3U,GAAOzM,EAASyiB,GAEpCA,GAAWA,EAAQriB,QACrBN,EAAO2iB,GAAStL,SAGXrX,EAAOe,MAAM,GAAIm6C,EAAO5pC,cA/B/B,IAAI24B,EAAMiR,EAAQv4B,GAsCpB3iB,EAAOG,GAAG8Y,KAAO,SAAUrQ,EAAKsnB,EAAQhvB,GACtC,IAAIjB,EACAM,EACAwN,EACAkV,EAAOviB,KACP4U,EAAM1M,EAAIxJ,QAAQ,KA0CtB,OAxCIkW,GAAO,IACTrV,EAAW0oD,GAAiB//C,EAAIvH,MAAMiU,IACtC1M,EAAMA,EAAIvH,MAAM,EAAGiU,IAIjB3V,EAAWuwB,IAEbhvB,EAAWgvB,EACXA,OAASntB,GACAmtB,GAA8B,WAApBvxB,EAAQuxB,KAC3B3vB,EAAO,QAIL0iB,EAAK3iB,OAAS,GAChBN,EAAOmK,KAAK,CACVvB,IAAKA,EAILrI,KAAMA,GAAQ,MACdiH,SAAU,OACVmF,KAAMujB,IACL7jB,MAAK,SAAUw+C,GAEhB98C,EAAWxM,UACX0hB,EAAK5Z,KAAKpJ,EAEVD,EAAO,SAASqkB,OAAOrkB,EAAOuF,UAAUslD,IAAevlD,KAAKrF,GAC5D4qD,MAGC7+C,OAAO9K,GAAY,SAAU2G,EAAOoE,GACrCgX,EAAKhiB,MAAK,WACRC,EAASI,MAAMZ,KAAMqN,GAAY,CAAClG,EAAMgjD,aAAc5+C,EAAQpE,SAK7DnH,MAGTV,EAAOiX,KAAKskC,QAAQqQ,SAAW,SAAUxqD,GACvC,OAAOpB,EAAO4B,KAAK5B,EAAO8zC,QAAQ,SAAU3zC,GAC1C,OAAOiB,IAASjB,EAAGiB,QAClBd,QAGLN,EAAO+nC,OAAS,CACd8jB,UAAW,SAAmBzqD,EAAMiB,EAAS1F,GAC3C,IAAImvD,EACAC,EACAC,EACAC,EACAC,EACAC,EAEA5uC,EAAWvd,EAAOwe,IAAIpd,EAAM,YAC5BgrD,EAAUpsD,EAAOoB,GACjBoY,EAAQ,GAEK,WAAb+D,IACFnc,EAAKme,MAAMhC,SAAW,YAGxB2uC,EAAYE,EAAQrkB,SACpBikB,EAAYhsD,EAAOwe,IAAIpd,EAAM,OAC7B+qD,EAAansD,EAAOwe,IAAIpd,EAAM,SACI,aAAbmc,GAAwC,UAAbA,KAA0ByuC,EAAYG,GAAY/sD,QAAQ,SAAW,GAKnH6sD,GADAH,EAAcM,EAAQ7uC,YACD6Y,IACrB21B,EAAUD,EAAY1rC,OAEtB6rC,EAASjtC,WAAWgtC,IAAc,EAClCD,EAAU/sC,WAAWmtC,IAAe,GAGlCxsD,EAAW0C,KAEbA,EAAUA,EAAQvF,KAAKsE,EAAMzE,EAAGqD,EAAOoC,OAAO,GAAI8pD,KAGjC,MAAf7pD,EAAQ+zB,MACV5c,EAAM4c,IAAM/zB,EAAQ+zB,IAAM81B,EAAU91B,IAAM61B,GAGxB,MAAhB5pD,EAAQ+d,OACV5G,EAAM4G,KAAO/d,EAAQ+d,KAAO8rC,EAAU9rC,KAAO2rC,GAG3C,UAAW1pD,EACbA,EAAQgqD,MAAMvvD,KAAKsE,EAAMoY,GAEzB4yC,EAAQ5tC,IAAIhF,KAIlBxZ,EAAOG,GAAGiC,OAAO,CAEf2lC,OAAQ,SAAgB1lC,GAEtB,GAAId,UAAUjB,OACZ,YAAmByC,IAAZV,EAAwB3B,KAAOA,KAAKO,MAAK,SAAUtE,GACxDqD,EAAO+nC,OAAO8jB,UAAUnrD,KAAM2B,EAAS1F,MAI3C,IAAI2vD,EACAC,EACAnrD,EAAOV,KAAK,GAEhB,OAAKU,EAQAA,EAAK6d,iBAAiB3e,QAQ3BgsD,EAAOlrD,EAAK0e,wBACZysC,EAAMnrD,EAAKoE,cAAc6+B,YAClB,CACLjO,IAAKk2B,EAAKl2B,IAAMm2B,EAAIC,YACpBpsC,KAAMksC,EAAKlsC,KAAOmsC,EAAIE,cAXf,CACLr2B,IAAK,EACLhW,KAAM,QAXV,GAyBF7C,SAAU,WACR,GAAK7c,KAAK,GAAV,CAIA,IAAIgsD,EACA3kB,EACAjkC,EACA1C,EAAOV,KAAK,GACZisD,EAAe,CACjBv2B,IAAK,EACLhW,KAAM,GAGR,GAAqC,UAAjCpgB,EAAOwe,IAAIpd,EAAM,YAEnB2mC,EAAS3mC,EAAK0e,4BACT,CAOL,IANAioB,EAASrnC,KAAKqnC,SAGdjkC,EAAM1C,EAAKoE,cACXknD,EAAetrD,EAAKsrD,cAAgB5oD,EAAIyQ,gBAEjCm4C,IAAiBA,IAAiB5oD,EAAIojB,MAAQwlC,IAAiB5oD,EAAIyQ,kBAA6D,WAAzCvU,EAAOwe,IAAIkuC,EAAc,aACrHA,EAAeA,EAAar8C,WAG1Bq8C,GAAgBA,IAAiBtrD,GAAkC,IAA1BsrD,EAAa9nD,YAExD+nD,EAAe3sD,EAAO0sD,GAAc3kB,UACvB3R,KAAOp2B,EAAOwe,IAAIkuC,EAAc,kBAAkB,GAC/DC,EAAavsC,MAAQpgB,EAAOwe,IAAIkuC,EAAc,mBAAmB,IAKrE,MAAO,CACLt2B,IAAK2R,EAAO3R,IAAMu2B,EAAav2B,IAAMp2B,EAAOwe,IAAIpd,EAAM,aAAa,GACnEgf,KAAM2nB,EAAO3nB,KAAOusC,EAAavsC,KAAOpgB,EAAOwe,IAAIpd,EAAM,cAAc,MAa3EsrD,aAAc,WACZ,OAAOhsD,KAAKS,KAAI,WAGd,IAFA,IAAIurD,EAAehsD,KAAKgsD,aAEjBA,GAAyD,WAAzC1sD,EAAOwe,IAAIkuC,EAAc,aAC9CA,EAAeA,EAAaA,aAG9B,OAAOA,GAAgBn4C,SAK7BvU,EAAOiB,KAAK,CACV0nC,WAAY,cACZrR,UAAW,gBACV,SAAU/qB,EAAQuvB,GACnB,IAAI1F,EAAM,gBAAkB0F,EAE5B97B,EAAOG,GAAGoM,GAAU,SAAUsS,GAC5B,OAAO9Y,EAAOrF,MAAM,SAAUU,EAAMmL,EAAQsS,GAE1C,IAAI0tC,EAQJ,GANI3sD,EAASwB,GACXmrD,EAAMnrD,EACqB,IAAlBA,EAAKwD,WACd2nD,EAAMnrD,EAAKijC,kBAGDthC,IAAR8b,EACF,OAAO0tC,EAAMA,EAAIzwB,GAAQ16B,EAAKmL,GAG5BggD,EACFA,EAAIh1B,SAAUnB,EAAYm2B,EAAIE,YAAV5tC,EAAuBuX,EAAMvX,EAAM0tC,EAAIC,aAE3DprD,EAAKmL,GAAUsS,IAEhBtS,EAAQsS,EAAKtd,UAAUjB,YAS9BN,EAAOiB,KAAK,CAAC,MAAO,SAAS,SAAUyD,EAAIo3B,GACzC97B,EAAOkf,SAAS4c,GAAQ5e,GAAaxd,EAAQy1C,eAAe,SAAU/zC,EAAMge,GAC1E,GAAIA,EAGF,OAFAA,EAAWpC,GAAO5b,EAAM06B,GAEjBlf,GAAUnX,KAAK2Z,GAAYpf,EAAOoB,GAAMmc,WAAWue,GAAQ,KAAO1c,QAK/Epf,EAAOiB,KAAK,CACV2rD,OAAQ,SACRC,MAAO,UACN,SAAU3vD,EAAMqD,GACjBP,EAAOiB,KAAK,CACVqf,QAAS,QAAUpjB,EACnBmU,QAAS9Q,EACT,GAAI,QAAUrD,IACb,SAAU4vD,EAAcC,GAEzB/sD,EAAOG,GAAG4sD,GAAY,SAAU1sC,EAAQziB,GACtC,IAAIoI,EAAYzE,UAAUjB,SAAWwsD,GAAkC,mBAAXzsC,GACxD/B,EAAQwuC,KAA4B,IAAXzsC,IAA6B,IAAVziB,EAAiB,SAAW,UAC5E,OAAOmI,EAAOrF,MAAM,SAAUU,EAAMb,EAAM3C,GACxC,IAAIkG,EAEJ,OAAIlE,EAASwB,GAE0B,IAA9B2rD,EAAS3tD,QAAQ,SAAiBgC,EAAK,QAAUlE,GAAQkE,EAAK2D,SAASwP,gBAAgB,SAAWrX,GAIrF,IAAlBkE,EAAKwD,UACPd,EAAM1C,EAAKmT,gBAGJtR,KAAK8a,IAAI3c,EAAK8lB,KAAK,SAAWhqB,GAAO4G,EAAI,SAAW5G,GAAOkE,EAAK8lB,KAAK,SAAWhqB,GAAO4G,EAAI,SAAW5G,GAAO4G,EAAI,SAAW5G,UAGpH6F,IAAVnF,EACPoC,EAAOwe,IAAIpd,EAAMb,EAAM+d,GACvBte,EAAOuf,MAAMne,EAAMb,EAAM3C,EAAO0gB,KAC/B/d,EAAMyF,EAAYqa,OAAStd,EAAWiD,UAI/ChG,EAAOiB,KAAK,CAAC,YAAa,WAAY,eAAgB,YAAa,cAAe,aAAa,SAAUyD,EAAInE,GAC3GP,EAAOG,GAAGI,GAAQ,SAAUJ,GAC1B,OAAOO,KAAKyb,GAAG5b,EAAMJ,OAGzBH,EAAOG,GAAGiC,OAAO,CACfjE,KAAM,SAAcgX,EAAOxI,EAAMxM,GAC/B,OAAOO,KAAKyb,GAAGhH,EAAO,KAAMxI,EAAMxM,IAEpC8mC,OAAQ,SAAgB9xB,EAAOhV,GAC7B,OAAOO,KAAK4U,IAAIH,EAAO,KAAMhV,IAE/BitD,SAAU,SAAkBntD,EAAUkV,EAAOxI,EAAMxM,GACjD,OAAOO,KAAKyb,GAAGhH,EAAOlV,EAAU0M,EAAMxM,IAExCktD,WAAY,SAAoBptD,EAAUkV,EAAOhV,GAE/C,OAA4B,IAArBoB,UAAUjB,OAAeI,KAAK4U,IAAIrV,EAAU,MAAQS,KAAK4U,IAAIH,EAAOlV,GAAY,KAAME,IAE/Fm2B,MAAO,SAAeg3B,EAAQC,GAC5B,OAAO7sD,KAAKmb,WAAWyxC,GAAQxxC,WAAWyxC,GAASD,MAGvDttD,EAAOiB,KAAK,wLAAoMwD,MAAM,MAAM,SAAUC,EAAIxH,GAExO8C,EAAOG,GAAGjD,GAAQ,SAAUyP,EAAMxM,GAChC,OAAOoB,UAAUjB,OAAS,EAAII,KAAKyb,GAAGjf,EAAM,KAAMyP,EAAMxM,GAAMO,KAAKoM,QAAQ5P,OAK/E,IAAImgD,GAAQ,qCAKZr9C,EAAOgnC,MAAQ,SAAU7mC,EAAID,GAC3B,IAAIwO,EAAKyE,EAAM6zB,EAUf,GARuB,kBAAZ9mC,IACTwO,EAAMvO,EAAGD,GACTA,EAAUC,EACVA,EAAKuO,GAKF/O,EAAWQ,GAahB,OARAgT,EAAOlU,EAAOnC,KAAKyE,UAAW,IAE9BylC,EAAQ,WACN,OAAO7mC,EAAGmB,MAAMpB,GAAWQ,KAAMyS,EAAKlM,OAAOhI,EAAOnC,KAAKyE,eAIrDiD,KAAOrE,EAAGqE,KAAOrE,EAAGqE,MAAQxE,EAAOwE,OAClCwiC,GAGThnC,EAAOgtD,UAAY,SAAUC,GACvBA,EACFjtD,EAAOk3C,YAEPl3C,EAAO4F,OAAM,IAIjB5F,EAAO8C,QAAUD,MAAMC,QACvB9C,EAAOktD,UAAYtjD,KAAKC,MACxB7J,EAAO8F,SAAWA,EAClB9F,EAAOL,WAAaA,EACpBK,EAAOJ,SAAWA,EAClBI,EAAO0c,UAAYA,EACnB1c,EAAOO,KAAOT,EACdE,EAAO8Z,IAAMD,KAAKC,IAElB9Z,EAAOmtD,UAAY,SAAUtuD,GAI3B,IAAI0B,EAAOP,EAAOO,KAAK1B,GACvB,OAAiB,WAAT0B,GAA8B,WAATA,KAG5B80B,MAAMx2B,EAAMmgB,WAAWngB,KAG1BmB,EAAOkrC,KAAO,SAAU9hC,GACtB,OAAe,MAARA,EAAe,IAAMA,EAAO,IAAIjG,QAAQk6C,GAAO,UAiBrD,KAFoB,EAAF,WACjB,OAAOr9C,GACR,QAFgB,OAEhB,aAGH,IACAwtD,GAAU1oD,EAAO9E,OAEjBytD,GAAK3oD,EAAOwgB,EAqBZ,OAnBAtlB,EAAOmnD,WAAa,SAAUxkD,GAS5B,OARImC,EAAOwgB,IAAMtlB,IACf8E,EAAOwgB,EAAImoC,IAGT9qD,GAAQmC,EAAO9E,SAAWA,IAC5B8E,EAAO9E,OAASwtD,IAGXxtD,GAMe,qBAAb0tD,IACT5oD,EAAO9E,OAAS8E,EAAOwgB,EAAItlB,GAGtBA,O,kDCrvST,wCACA6tD,EAAQ,IAGRvoC,EAAEvgB,UAAUoX,GAAG,mBAAmB,YAGjC,WACC2xC,IAAS7hB,UAAU,gGAKnB6hB,IAAS3hB,IAAI,oBAAqB,CACjCpsB,MAAOuF,EAAExgB,QAAQib,QACjB4P,OAA8B,EAArBrK,EAAExgB,QAAQ6qB,SACnB1B,MAAM,EACNkQ,WAAW,EACX/7B,OAAQ,WAEP,IAAIqqC,EAAU/rC,KACd+rC,EAAQxe,KAXM,GAad3I,EAAEvgB,UAAUgpD,OAAM,SAAUrhD,GACb,eAAVA,EAAExO,IACLuuC,EAAQ98B,OACY,cAAVjD,EAAExO,KACZuuC,EAAQ99B,aAtBZq/C,GA6BDlpD,OAAO9E,OAASslB,EAChBxgB,OAAOgpD,SAAWA,Q,kECnCnB","file":"js/priozernui_project-fb8ebca27d9b79eccf59.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 133);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\ndefine([\"./var/arr\", \"./var/getProto\", \"./var/slice\", \"./var/flat\", \"./var/push\", \"./var/indexOf\", \"./var/class2type\", \"./var/toString\", \"./var/hasOwn\", \"./var/fnToString\", \"./var/ObjectFunctionString\", \"./var/support\", \"./var/isFunction\", \"./var/isWindow\", \"./core/DOMEval\", \"./core/toType\"], function (arr, getProto, _slice, flat, push, indexOf, class2type, toString, hasOwn, fnToString, ObjectFunctionString, support, isFunction, isWindow, DOMEval, toType) {\n \"use strict\";\n\n var version = \"3.6.0\",\n // Define a local copy of jQuery\n jQuery = function jQuery(selector, context) {\n // The jQuery object is actually just the init constructor 'enhanced'\n // Need init if jQuery is called (just allow error to be thrown if not included)\n return new jQuery.fn.init(selector, context);\n };\n\n jQuery.fn = jQuery.prototype = {\n // The current version of jQuery being used\n jquery: version,\n constructor: jQuery,\n // The default length of a jQuery object is 0\n length: 0,\n toArray: function toArray() {\n return _slice.call(this);\n },\n // Get the Nth element in the matched element set OR\n // Get the whole matched element set as a clean array\n get: function get(num) {\n // Return all the elements in a clean array\n if (num == null) {\n return _slice.call(this);\n } // Return just the one element from the set\n\n\n return num < 0 ? this[num + this.length] : this[num];\n },\n // Take an array of elements and push it onto the stack\n // (returning the new matched element set)\n pushStack: function pushStack(elems) {\n // Build a new jQuery matched element set\n var ret = jQuery.merge(this.constructor(), elems); // Add the old object onto the stack (as a reference)\n\n ret.prevObject = this; // Return the newly-formed element set\n\n return ret;\n },\n // Execute a callback for every element in the matched set.\n each: function each(callback) {\n return jQuery.each(this, callback);\n },\n map: function map(callback) {\n return this.pushStack(jQuery.map(this, function (elem, i) {\n return callback.call(elem, i, elem);\n }));\n },\n slice: function slice() {\n return this.pushStack(_slice.apply(this, arguments));\n },\n first: function first() {\n return this.eq(0);\n },\n last: function last() {\n return this.eq(-1);\n },\n even: function even() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return (i + 1) % 2;\n }));\n },\n odd: function odd() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return i % 2;\n }));\n },\n eq: function eq(i) {\n var len = this.length,\n j = +i + (i < 0 ? len : 0);\n return this.pushStack(j >= 0 && j < len ? [this[j]] : []);\n },\n end: function end() {\n return this.prevObject || this.constructor();\n },\n // For internal use only.\n // Behaves like an Array's method, not like a jQuery method.\n push: push,\n sort: arr.sort,\n splice: arr.splice\n };\n\n jQuery.extend = jQuery.fn.extend = function () {\n var options,\n name,\n src,\n copy,\n copyIsArray,\n clone,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length,\n deep = false; // Handle a deep copy situation\n\n if (typeof target === \"boolean\") {\n deep = target; // Skip the boolean and the target\n\n target = arguments[i] || {};\n i++;\n } // Handle case when target is a string or something (possible in deep copy)\n\n\n if (_typeof(target) !== \"object\" && !isFunction(target)) {\n target = {};\n } // Extend jQuery itself if only one argument is passed\n\n\n if (i === length) {\n target = this;\n i--;\n }\n\n for (; i < length; i++) {\n // Only deal with non-null/undefined values\n if ((options = arguments[i]) != null) {\n // Extend the base object\n for (name in options) {\n copy = options[name]; // Prevent Object.prototype pollution\n // Prevent never-ending loop\n\n if (name === \"__proto__\" || target === copy) {\n continue;\n } // Recurse if we're merging plain objects or arrays\n\n\n if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {\n src = target[name]; // Ensure proper type for the source value\n\n if (copyIsArray && !Array.isArray(src)) {\n clone = [];\n } else if (!copyIsArray && !jQuery.isPlainObject(src)) {\n clone = {};\n } else {\n clone = src;\n }\n\n copyIsArray = false; // Never move original objects, clone them\n\n target[name] = jQuery.extend(deep, clone, copy); // Don't bring in undefined values\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n };\n\n jQuery.extend({\n // Unique for each copy of jQuery on the page\n expando: \"jQuery\" + (version + Math.random()).replace(/\\D/g, \"\"),\n // Assume jQuery is ready without the ready module\n isReady: true,\n error: function error(msg) {\n throw new Error(msg);\n },\n noop: function noop() {},\n isPlainObject: function isPlainObject(obj) {\n var proto, Ctor; // Detect obvious negatives\n // Use toString instead of jQuery.type to catch host objects\n\n if (!obj || toString.call(obj) !== \"[object Object]\") {\n return false;\n }\n\n proto = getProto(obj); // Objects with no prototype (e.g., `Object.create( null )`) are plain\n\n if (!proto) {\n return true;\n } // Objects with prototype are plain iff they were constructed by a global Object function\n\n\n Ctor = hasOwn.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && fnToString.call(Ctor) === ObjectFunctionString;\n },\n isEmptyObject: function isEmptyObject(obj) {\n var name;\n\n for (name in obj) {\n return false;\n }\n\n return true;\n },\n // Evaluates a script in a provided context; falls back to the global one\n // if not specified.\n globalEval: function globalEval(code, options, doc) {\n DOMEval(code, {\n nonce: options && options.nonce\n }, doc);\n },\n each: function each(obj, callback) {\n var length,\n i = 0;\n\n if (isArrayLike(obj)) {\n length = obj.length;\n\n for (; i < length; i++) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n } else {\n for (i in obj) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n }\n\n return obj;\n },\n // results is for internal usage only\n makeArray: function makeArray(arr, results) {\n var ret = results || [];\n\n if (arr != null) {\n if (isArrayLike(Object(arr))) {\n jQuery.merge(ret, typeof arr === \"string\" ? [arr] : arr);\n } else {\n push.call(ret, arr);\n }\n }\n\n return ret;\n },\n inArray: function inArray(elem, arr, i) {\n return arr == null ? -1 : indexOf.call(arr, elem, i);\n },\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n merge: function merge(first, second) {\n var len = +second.length,\n j = 0,\n i = first.length;\n\n for (; j < len; j++) {\n first[i++] = second[j];\n }\n\n first.length = i;\n return first;\n },\n grep: function grep(elems, callback, invert) {\n var callbackInverse,\n matches = [],\n i = 0,\n length = elems.length,\n callbackExpect = !invert; // Go through the array, only saving the items\n // that pass the validator function\n\n for (; i < length; i++) {\n callbackInverse = !callback(elems[i], i);\n\n if (callbackInverse !== callbackExpect) {\n matches.push(elems[i]);\n }\n }\n\n return matches;\n },\n // arg is for internal usage only\n map: function map(elems, callback, arg) {\n var length,\n value,\n i = 0,\n ret = []; // Go through the array, translating each of the items to their new values\n\n if (isArrayLike(elems)) {\n length = elems.length;\n\n for (; i < length; i++) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n } // Go through every key on the object,\n\n } else {\n for (i in elems) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n }\n } // Flatten any nested arrays\n\n\n return flat(ret);\n },\n // A global GUID counter for objects\n guid: 1,\n // jQuery.support is not used in Core but other projects attach their\n // properties to it so it needs to exist.\n support: support\n });\n\n if (typeof Symbol === \"function\") {\n jQuery.fn[Symbol.iterator] = arr[Symbol.iterator];\n } // Populate the class2type map\n\n\n jQuery.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function (_i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n\n function isArrayLike(obj) {\n // Support: real iOS 8.2 only (not reproducible in simulator)\n // `in` check used to prevent JIT error (gh-2145)\n // hasOwn isn't used here due to false negatives\n // regarding Nodelist length in IE\n var length = !!obj && \"length\" in obj && obj.length,\n type = toType(obj);\n\n if (isFunction(obj) || isWindow(obj)) {\n return false;\n }\n\n return type === \"array\" || length === 0 || typeof length === \"number\" && length > 0 && length - 1 in obj;\n }\n\n return jQuery;\n});","define(function () {\n \"use strict\";\n\n return function isFunction(obj) {\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n // Plus for old WebKit, typeof returns \"function\" for HTML collections\n // (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\" && typeof obj.item !== \"function\";\n };\n});","define(function () {\n \"use strict\";\n\n return window.document;\n});","define([\"./selector-sizzle\"], function () {\n \"use strict\";\n});","// Initialize a jQuery object\ndefine([\"../core\", \"../var/document\", \"../var/isFunction\", \"./var/rsingleTag\", \"../traversing/findFilter\"], function (jQuery, document, isFunction, rsingleTag) {\n \"use strict\"; // A central reference to the root jQuery(document)\n\n var rootjQuery,\n // A simple way to check for HTML strings\n // Prioritize #id over to avoid XSS via location.hash (#9521)\n // Strict HTML recognition (#11290: must start with <)\n // Shortcut simple #id case for speed\n rquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n init = jQuery.fn.init = function (selector, context, root) {\n var match, elem; // HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\n if (!selector) {\n return this;\n } // Method init() accepts an alternate rootjQuery\n // so migrate can support jQuery.sub (gh-2101)\n\n\n root = root || rootjQuery; // Handle HTML strings\n\n if (typeof selector === \"string\") {\n if (selector[0] === \"<\" && selector[selector.length - 1] === \">\" && selector.length >= 3) {\n // Assume that strings that start and end with <> are HTML and skip the regex check\n match = [null, selector, null];\n } else {\n match = rquickExpr.exec(selector);\n } // Match html or make sure no context is specified for #id\n\n\n if (match && (match[1] || !context)) {\n // HANDLE: $(html) -> $(array)\n if (match[1]) {\n context = context instanceof jQuery ? context[0] : context; // Option to run scripts is true for back-compat\n // Intentionally let the error be thrown if parseHTML is not present\n\n jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true)); // HANDLE: $(html, props)\n\n if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {\n for (match in context) {\n // Properties of context are called as methods if possible\n if (isFunction(this[match])) {\n this[match](context[match]); // ...and otherwise set as attributes\n } else {\n this.attr(match, context[match]);\n }\n }\n }\n\n return this; // HANDLE: $(#id)\n } else {\n elem = document.getElementById(match[2]);\n\n if (elem) {\n // Inject the element directly into the jQuery object\n this[0] = elem;\n this.length = 1;\n }\n\n return this;\n } // HANDLE: $(expr, $(...))\n\n } else if (!context || context.jquery) {\n return (context || root).find(selector); // HANDLE: $(expr, context)\n // (which is just equivalent to: $(context).find(expr)\n } else {\n return this.constructor(context).find(selector);\n } // HANDLE: $(DOMElement)\n\n } else if (selector.nodeType) {\n this[0] = selector;\n this.length = 1;\n return this; // HANDLE: $(function)\n // Shortcut for document ready\n } else if (isFunction(selector)) {\n return root.ready !== undefined ? root.ready(selector) : // Execute immediately if ready is not present\n selector(jQuery);\n }\n\n return jQuery.makeArray(selector, this);\n }; // Give the init function the jQuery prototype for later instantiation\n\n\n init.prototype = jQuery.fn; // Initialize central reference\n\n rootjQuery = jQuery(document);\n return init;\n});","define([\"../Data\"], function (Data) {\n \"use strict\";\n\n return new Data();\n});","define(function () {\n \"use strict\";\n\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n }\n\n return nodeName;\n});","define(function () {\n \"use strict\"; // Only count HTML whitespace\n // Other whitespace should count in values\n // https://infra.spec.whatwg.org/#ascii-whitespace\n\n return /[^\\x20\\t\\r\\n\\f]+/g;\n});","define(function () {\n \"use strict\"; // All support tests are defined in their respective modules.\n\n return {};\n});","define([\"../core\", \"../core/toType\", \"../var/isFunction\"], function (jQuery, toType, isFunction) {\n \"use strict\"; // Multifunctional method to get and set values of a collection\n // The value/s can optionally be executed if it's a function\n\n var access = function access(elems, fn, key, value, chainable, emptyGet, raw) {\n var i = 0,\n len = elems.length,\n bulk = key == null; // Sets many values\n\n if (toType(key) === \"object\") {\n chainable = true;\n\n for (i in key) {\n access(elems, fn, i, key[i], true, emptyGet, raw);\n } // Sets one value\n\n } else if (value !== undefined) {\n chainable = true;\n\n if (!isFunction(value)) {\n raw = true;\n }\n\n if (bulk) {\n // Bulk operations run against the entire set\n if (raw) {\n fn.call(elems, value);\n fn = null; // ...except when executing function values\n } else {\n bulk = fn;\n\n fn = function fn(elem, _key, value) {\n return bulk.call(jQuery(elem), value);\n };\n }\n }\n\n if (fn) {\n for (; i < len; i++) {\n fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));\n }\n }\n }\n\n if (chainable) {\n return elems;\n } // Gets\n\n\n if (bulk) {\n return fn.call(elems);\n }\n\n return len ? fn(elems[0], key) : emptyGet;\n };\n\n return access;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine([\"./core\", \"./var/document\", \"./var/isFunction\", \"./var/rnothtmlwhite\", \"./ajax/var/location\", \"./ajax/var/nonce\", \"./ajax/var/rquery\", \"./core/init\", \"./core/parseXML\", \"./event/trigger\", \"./deferred\", \"./serialize\" // jQuery.param\n], function (jQuery, document, isFunction, rnothtmlwhite, location, nonce, rquery) {\n \"use strict\";\n\n var r20 = /%20/g,\n rhash = /#.*$/,\n rantiCache = /([?&])_=[^&]*/,\n rheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n // #7653, #8125, #8152: local protocol detection\n rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n rnoContent = /^(?:GET|HEAD)$/,\n rprotocol = /^\\/\\//,\n\n /* Prefilters\n * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n * 2) These are called:\n * - BEFORE asking for a transport\n * - AFTER param serialization (s.data is a string if s.processData is true)\n * 3) key is the dataType\n * 4) the catchall symbol \"*\" can be used\n * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n */\n prefilters = {},\n\n /* Transports bindings\n * 1) key is the dataType\n * 2) the catchall symbol \"*\" can be used\n * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n */\n transports = {},\n // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n allTypes = \"*/\".concat(\"*\"),\n // Anchor tag for parsing the document origin\n originAnchor = document.createElement(\"a\");\n originAnchor.href = location.href; // Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\n\n function addToPrefiltersOrTransports(structure) {\n // dataTypeExpression is optional and defaults to \"*\"\n return function (dataTypeExpression, func) {\n if (typeof dataTypeExpression !== \"string\") {\n func = dataTypeExpression;\n dataTypeExpression = \"*\";\n }\n\n var dataType,\n i = 0,\n dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || [];\n\n if (isFunction(func)) {\n // For each dataType in the dataTypeExpression\n while (dataType = dataTypes[i++]) {\n // Prepend if requested\n if (dataType[0] === \"+\") {\n dataType = dataType.slice(1) || \"*\";\n (structure[dataType] = structure[dataType] || []).unshift(func); // Otherwise append\n } else {\n (structure[dataType] = structure[dataType] || []).push(func);\n }\n }\n }\n };\n } // Base inspection function for prefilters and transports\n\n\n function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) {\n var inspected = {},\n seekingTransport = structure === transports;\n\n function inspect(dataType) {\n var selected;\n inspected[dataType] = true;\n jQuery.each(structure[dataType] || [], function (_, prefilterOrFactory) {\n var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR);\n\n if (typeof dataTypeOrTransport === \"string\" && !seekingTransport && !inspected[dataTypeOrTransport]) {\n options.dataTypes.unshift(dataTypeOrTransport);\n inspect(dataTypeOrTransport);\n return false;\n } else if (seekingTransport) {\n return !(selected = dataTypeOrTransport);\n }\n });\n return selected;\n }\n\n return inspect(options.dataTypes[0]) || !inspected[\"*\"] && inspect(\"*\");\n } // A special extend for ajax options\n // that takes \"flat\" options (not to be deep extended)\n // Fixes #9887\n\n\n function ajaxExtend(target, src) {\n var key,\n deep,\n flatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n for (key in src) {\n if (src[key] !== undefined) {\n (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key];\n }\n }\n\n if (deep) {\n jQuery.extend(true, target, deep);\n }\n\n return target;\n }\n /* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\n\n\n function ajaxHandleResponses(s, jqXHR, responses) {\n var ct,\n type,\n finalDataType,\n firstDataType,\n contents = s.contents,\n dataTypes = s.dataTypes; // Remove auto dataType and get content-type in the process\n\n while (dataTypes[0] === \"*\") {\n dataTypes.shift();\n\n if (ct === undefined) {\n ct = s.mimeType || jqXHR.getResponseHeader(\"Content-Type\");\n }\n } // Check if we're dealing with a known content-type\n\n\n if (ct) {\n for (type in contents) {\n if (contents[type] && contents[type].test(ct)) {\n dataTypes.unshift(type);\n break;\n }\n }\n } // Check to see if we have a response for the expected dataType\n\n\n if (dataTypes[0] in responses) {\n finalDataType = dataTypes[0];\n } else {\n // Try convertible dataTypes\n for (type in responses) {\n if (!dataTypes[0] || s.converters[type + \" \" + dataTypes[0]]) {\n finalDataType = type;\n break;\n }\n\n if (!firstDataType) {\n firstDataType = type;\n }\n } // Or just use first one\n\n\n finalDataType = finalDataType || firstDataType;\n } // If we found a dataType\n // We add the dataType to the list if needed\n // and return the corresponding response\n\n\n if (finalDataType) {\n if (finalDataType !== dataTypes[0]) {\n dataTypes.unshift(finalDataType);\n }\n\n return responses[finalDataType];\n }\n }\n /* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\n\n\n function ajaxConvert(s, response, jqXHR, isSuccess) {\n var conv2,\n current,\n conv,\n tmp,\n prev,\n converters = {},\n // Work with a copy of dataTypes in case we need to modify it for conversion\n dataTypes = s.dataTypes.slice(); // Create converters map with lowercased keys\n\n if (dataTypes[1]) {\n for (conv in s.converters) {\n converters[conv.toLowerCase()] = s.converters[conv];\n }\n }\n\n current = dataTypes.shift(); // Convert to each sequential dataType\n\n while (current) {\n if (s.responseFields[current]) {\n jqXHR[s.responseFields[current]] = response;\n } // Apply the dataFilter if provided\n\n\n if (!prev && isSuccess && s.dataFilter) {\n response = s.dataFilter(response, s.dataType);\n }\n\n prev = current;\n current = dataTypes.shift();\n\n if (current) {\n // There's only work to do if current dataType is non-auto\n if (current === \"*\") {\n current = prev; // Convert response if prev dataType is non-auto and differs from current\n } else if (prev !== \"*\" && prev !== current) {\n // Seek a direct converter\n conv = converters[prev + \" \" + current] || converters[\"* \" + current]; // If none found, seek a pair\n\n if (!conv) {\n for (conv2 in converters) {\n // If conv2 outputs current\n tmp = conv2.split(\" \");\n\n if (tmp[1] === current) {\n // If prev can be converted to accepted input\n conv = converters[prev + \" \" + tmp[0]] || converters[\"* \" + tmp[0]];\n\n if (conv) {\n // Condense equivalence converters\n if (conv === true) {\n conv = converters[conv2]; // Otherwise, insert the intermediate dataType\n } else if (converters[conv2] !== true) {\n current = tmp[0];\n dataTypes.unshift(tmp[1]);\n }\n\n break;\n }\n }\n }\n } // Apply converter (if not an equivalence)\n\n\n if (conv !== true) {\n // Unless errors are allowed to bubble, catch and return them\n if (conv && s.throws) {\n response = conv(response);\n } else {\n try {\n response = conv(response);\n } catch (e) {\n return {\n state: \"parsererror\",\n error: conv ? e : \"No conversion from \" + prev + \" to \" + current\n };\n }\n }\n }\n }\n }\n }\n\n return {\n state: \"success\",\n data: response\n };\n }\n\n jQuery.extend({\n // Counter for holding the number of active queries\n active: 0,\n // Last-Modified header cache for next request\n lastModified: {},\n etag: {},\n ajaxSettings: {\n url: location.href,\n type: \"GET\",\n isLocal: rlocalProtocol.test(location.protocol),\n global: true,\n processData: true,\n async: true,\n contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n /*\n timeout: 0,\n data: null,\n dataType: null,\n username: null,\n password: null,\n cache: null,\n throws: false,\n traditional: false,\n headers: {},\n */\n accepts: {\n \"*\": allTypes,\n text: \"text/plain\",\n html: \"text/html\",\n xml: \"application/xml, text/xml\",\n json: \"application/json, text/javascript\"\n },\n contents: {\n xml: /\\bxml\\b/,\n html: /\\bhtml/,\n json: /\\bjson\\b/\n },\n responseFields: {\n xml: \"responseXML\",\n text: \"responseText\",\n json: \"responseJSON\"\n },\n // Data converters\n // Keys separate source (or catchall \"*\") and destination types with a single space\n converters: {\n // Convert anything to text\n \"* text\": String,\n // Text to html (true = no transformation)\n \"text html\": true,\n // Evaluate text as a json expression\n \"text json\": JSON.parse,\n // Parse text as xml\n \"text xml\": jQuery.parseXML\n },\n // For options that shouldn't be deep extended:\n // you can add your own custom options here if\n // and when you create one that shouldn't be\n // deep extended (see ajaxExtend)\n flatOptions: {\n url: true,\n context: true\n }\n },\n // Creates a full fledged settings object into target\n // with both ajaxSettings and settings fields.\n // If target is omitted, writes into ajaxSettings.\n ajaxSetup: function ajaxSetup(target, settings) {\n return settings ? // Building a settings object\n ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) : // Extending ajaxSettings\n ajaxExtend(jQuery.ajaxSettings, target);\n },\n ajaxPrefilter: addToPrefiltersOrTransports(prefilters),\n ajaxTransport: addToPrefiltersOrTransports(transports),\n // Main method\n ajax: function ajax(url, options) {\n // If url is an object, simulate pre-1.5 signature\n if (_typeof(url) === \"object\") {\n options = url;\n url = undefined;\n } // Force options to be an object\n\n\n options = options || {};\n\n var transport,\n // URL without anti-cache param\n cacheURL,\n // Response headers\n responseHeadersString,\n responseHeaders,\n // timeout handle\n timeoutTimer,\n // Url cleanup var\n urlAnchor,\n // Request state (becomes false upon send and true upon completion)\n completed,\n // To know if global events are to be dispatched\n fireGlobals,\n // Loop variable\n i,\n // uncached part of the url\n uncached,\n // Create the final options object\n s = jQuery.ajaxSetup({}, options),\n // Callbacks context\n callbackContext = s.context || s,\n // Context for global events is callbackContext if it is a DOM node or jQuery collection\n globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event,\n // Deferreds\n deferred = jQuery.Deferred(),\n completeDeferred = jQuery.Callbacks(\"once memory\"),\n // Status-dependent callbacks\n _statusCode = s.statusCode || {},\n // Headers (they are sent all at once)\n requestHeaders = {},\n requestHeadersNames = {},\n // Default abort message\n strAbort = \"canceled\",\n // Fake xhr\n jqXHR = {\n readyState: 0,\n // Builds headers hashtable if needed\n getResponseHeader: function getResponseHeader(key) {\n var match;\n\n if (completed) {\n if (!responseHeaders) {\n responseHeaders = {};\n\n while (match = rheaders.exec(responseHeadersString)) {\n responseHeaders[match[1].toLowerCase() + \" \"] = (responseHeaders[match[1].toLowerCase() + \" \"] || []).concat(match[2]);\n }\n }\n\n match = responseHeaders[key.toLowerCase() + \" \"];\n }\n\n return match == null ? null : match.join(\", \");\n },\n // Raw string\n getAllResponseHeaders: function getAllResponseHeaders() {\n return completed ? responseHeadersString : null;\n },\n // Caches the header\n setRequestHeader: function setRequestHeader(name, value) {\n if (completed == null) {\n name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name;\n requestHeaders[name] = value;\n }\n\n return this;\n },\n // Overrides response content-type header\n overrideMimeType: function overrideMimeType(type) {\n if (completed == null) {\n s.mimeType = type;\n }\n\n return this;\n },\n // Status-dependent callbacks\n statusCode: function statusCode(map) {\n var code;\n\n if (map) {\n if (completed) {\n // Execute the appropriate callbacks\n jqXHR.always(map[jqXHR.status]);\n } else {\n // Lazy-add the new callbacks in a way that preserves old ones\n for (code in map) {\n _statusCode[code] = [_statusCode[code], map[code]];\n }\n }\n }\n\n return this;\n },\n // Cancel the request\n abort: function abort(statusText) {\n var finalText = statusText || strAbort;\n\n if (transport) {\n transport.abort(finalText);\n }\n\n done(0, finalText);\n return this;\n }\n }; // Attach deferreds\n\n\n deferred.promise(jqXHR); // Add protocol if not provided (prefilters might expect it)\n // Handle falsy url in the settings object (#10093: consistency with old signature)\n // We also use the url parameter if available\n\n s.url = ((url || s.url || location.href) + \"\").replace(rprotocol, location.protocol + \"//\"); // Alias method option to type as per ticket #12004\n\n s.type = options.method || options.type || s.method || s.type; // Extract dataTypes list\n\n s.dataTypes = (s.dataType || \"*\").toLowerCase().match(rnothtmlwhite) || [\"\"]; // A cross-domain request is in order when the origin doesn't match the current origin.\n\n if (s.crossDomain == null) {\n urlAnchor = document.createElement(\"a\"); // Support: IE <=8 - 11, Edge 12 - 15\n // IE throws exception on accessing the href property if url is malformed,\n // e.g. http://example.com:80x/\n\n try {\n urlAnchor.href = s.url; // Support: IE <=8 - 11 only\n // Anchor's host property isn't correctly set when s.url is relative\n\n urlAnchor.href = urlAnchor.href;\n s.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host;\n } catch (e) {\n // If there is an error parsing the URL, assume it is crossDomain,\n // it can be rejected by the transport if it is invalid\n s.crossDomain = true;\n }\n } // Convert data if not already a string\n\n\n if (s.data && s.processData && typeof s.data !== \"string\") {\n s.data = jQuery.param(s.data, s.traditional);\n } // Apply prefilters\n\n\n inspectPrefiltersOrTransports(prefilters, s, options, jqXHR); // If request was aborted inside a prefilter, stop there\n\n if (completed) {\n return jqXHR;\n } // We can fire global events as of now if asked to\n // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\n\n fireGlobals = jQuery.event && s.global; // Watch for a new set of requests\n\n if (fireGlobals && jQuery.active++ === 0) {\n jQuery.event.trigger(\"ajaxStart\");\n } // Uppercase the type\n\n\n s.type = s.type.toUpperCase(); // Determine if request has content\n\n s.hasContent = !rnoContent.test(s.type); // Save the URL in case we're toying with the If-Modified-Since\n // and/or If-None-Match header later on\n // Remove hash to simplify url manipulation\n\n cacheURL = s.url.replace(rhash, \"\"); // More options handling for requests with no content\n\n if (!s.hasContent) {\n // Remember the hash so we can put it back\n uncached = s.url.slice(cacheURL.length); // If data is available and should be processed, append data to url\n\n if (s.data && (s.processData || typeof s.data === \"string\")) {\n cacheURL += (rquery.test(cacheURL) ? \"&\" : \"?\") + s.data; // #9682: remove data so that it's not used in an eventual retry\n\n delete s.data;\n } // Add or update anti-cache param if needed\n\n\n if (s.cache === false) {\n cacheURL = cacheURL.replace(rantiCache, \"$1\");\n uncached = (rquery.test(cacheURL) ? \"&\" : \"?\") + \"_=\" + nonce.guid++ + uncached;\n } // Put hash and anti-cache on the URL that will be requested (gh-1732)\n\n\n s.url = cacheURL + uncached; // Change '%20' to '+' if this is encoded form body content (gh-2658)\n } else if (s.data && s.processData && (s.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") === 0) {\n s.data = s.data.replace(r20, \"+\");\n } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\n\n if (s.ifModified) {\n if (jQuery.lastModified[cacheURL]) {\n jqXHR.setRequestHeader(\"If-Modified-Since\", jQuery.lastModified[cacheURL]);\n }\n\n if (jQuery.etag[cacheURL]) {\n jqXHR.setRequestHeader(\"If-None-Match\", jQuery.etag[cacheURL]);\n }\n } // Set the correct header, if data is being sent\n\n\n if (s.data && s.hasContent && s.contentType !== false || options.contentType) {\n jqXHR.setRequestHeader(\"Content-Type\", s.contentType);\n } // Set the Accepts header for the server, depending on the dataType\n\n\n jqXHR.setRequestHeader(\"Accept\", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\") : s.accepts[\"*\"]); // Check for headers option\n\n for (i in s.headers) {\n jqXHR.setRequestHeader(i, s.headers[i]);\n } // Allow custom headers/mimetypes and early abort\n\n\n if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) {\n // Abort if not done already and return\n return jqXHR.abort();\n } // Aborting is no longer a cancellation\n\n\n strAbort = \"abort\"; // Install callbacks on deferreds\n\n completeDeferred.add(s.complete);\n jqXHR.done(s.success);\n jqXHR.fail(s.error); // Get transport\n\n transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR); // If no transport, we auto-abort\n\n if (!transport) {\n done(-1, \"No Transport\");\n } else {\n jqXHR.readyState = 1; // Send global event\n\n if (fireGlobals) {\n globalEventContext.trigger(\"ajaxSend\", [jqXHR, s]);\n } // If request was aborted inside ajaxSend, stop there\n\n\n if (completed) {\n return jqXHR;\n } // Timeout\n\n\n if (s.async && s.timeout > 0) {\n timeoutTimer = window.setTimeout(function () {\n jqXHR.abort(\"timeout\");\n }, s.timeout);\n }\n\n try {\n completed = false;\n transport.send(requestHeaders, done);\n } catch (e) {\n // Rethrow post-completion exceptions\n if (completed) {\n throw e;\n } // Propagate others as results\n\n\n done(-1, e);\n }\n } // Callback for when everything is done\n\n\n function done(status, nativeStatusText, responses, headers) {\n var isSuccess,\n success,\n error,\n response,\n modified,\n statusText = nativeStatusText; // Ignore repeat invocations\n\n if (completed) {\n return;\n }\n\n completed = true; // Clear timeout if it exists\n\n if (timeoutTimer) {\n window.clearTimeout(timeoutTimer);\n } // Dereference transport for early garbage collection\n // (no matter how long the jqXHR object will be used)\n\n\n transport = undefined; // Cache response headers\n\n responseHeadersString = headers || \"\"; // Set readyState\n\n jqXHR.readyState = status > 0 ? 4 : 0; // Determine if successful\n\n isSuccess = status >= 200 && status < 300 || status === 304; // Get response data\n\n if (responses) {\n response = ajaxHandleResponses(s, jqXHR, responses);\n } // Use a noop converter for missing script but not if jsonp\n\n\n if (!isSuccess && jQuery.inArray(\"script\", s.dataTypes) > -1 && jQuery.inArray(\"json\", s.dataTypes) < 0) {\n s.converters[\"text script\"] = function () {};\n } // Convert no matter what (that way responseXXX fields are always set)\n\n\n response = ajaxConvert(s, response, jqXHR, isSuccess); // If successful, handle type chaining\n\n if (isSuccess) {\n // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n if (s.ifModified) {\n modified = jqXHR.getResponseHeader(\"Last-Modified\");\n\n if (modified) {\n jQuery.lastModified[cacheURL] = modified;\n }\n\n modified = jqXHR.getResponseHeader(\"etag\");\n\n if (modified) {\n jQuery.etag[cacheURL] = modified;\n }\n } // if no content\n\n\n if (status === 204 || s.type === \"HEAD\") {\n statusText = \"nocontent\"; // if not modified\n } else if (status === 304) {\n statusText = \"notmodified\"; // If we have data, let's convert it\n } else {\n statusText = response.state;\n success = response.data;\n error = response.error;\n isSuccess = !error;\n }\n } else {\n // Extract error from statusText and normalize for non-aborts\n error = statusText;\n\n if (status || !statusText) {\n statusText = \"error\";\n\n if (status < 0) {\n status = 0;\n }\n }\n } // Set data for the fake xhr object\n\n\n jqXHR.status = status;\n jqXHR.statusText = (nativeStatusText || statusText) + \"\"; // Success/Error\n\n if (isSuccess) {\n deferred.resolveWith(callbackContext, [success, statusText, jqXHR]);\n } else {\n deferred.rejectWith(callbackContext, [jqXHR, statusText, error]);\n } // Status-dependent callbacks\n\n\n jqXHR.statusCode(_statusCode);\n _statusCode = undefined;\n\n if (fireGlobals) {\n globalEventContext.trigger(isSuccess ? \"ajaxSuccess\" : \"ajaxError\", [jqXHR, s, isSuccess ? success : error]);\n } // Complete\n\n\n completeDeferred.fireWith(callbackContext, [jqXHR, statusText]);\n\n if (fireGlobals) {\n globalEventContext.trigger(\"ajaxComplete\", [jqXHR, s]); // Handle the global AJAX counter\n\n if (! --jQuery.active) {\n jQuery.event.trigger(\"ajaxStop\");\n }\n }\n }\n\n return jqXHR;\n },\n getJSON: function getJSON(url, data, callback) {\n return jQuery.get(url, data, callback, \"json\");\n },\n getScript: function getScript(url, callback) {\n return jQuery.get(url, undefined, callback, \"script\");\n }\n });\n jQuery.each([\"get\", \"post\"], function (_i, method) {\n jQuery[method] = function (url, data, callback, type) {\n // Shift arguments if data argument was omitted\n if (isFunction(data)) {\n type = type || callback;\n callback = data;\n data = undefined;\n } // The url can be an options object (which then must have .url)\n\n\n return jQuery.ajax(jQuery.extend({\n url: url,\n type: method,\n dataType: type,\n data: data,\n success: callback\n }, jQuery.isPlainObject(url) && url));\n };\n });\n jQuery.ajaxPrefilter(function (s) {\n var i;\n\n for (i in s.headers) {\n if (i.toLowerCase() === \"content-type\") {\n s.contentType = s.headers[i] || \"\";\n }\n }\n });\n return jQuery;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine([\"../var/class2type\", \"../var/toString\"], function (class2type, toString) {\n \"use strict\";\n\n function toType(obj) {\n if (obj == null) {\n return obj + \"\";\n } // Support: Android <=2.3 only (functionish RegExp)\n\n\n return _typeof(obj) === \"object\" || typeof obj === \"function\" ? class2type[toString.call(obj)] || \"object\" : _typeof(obj);\n }\n\n return toType;\n});","define([\"./core\", \"./var/getProto\", \"./var/indexOf\", \"./traversing/var/dir\", \"./traversing/var/siblings\", \"./traversing/var/rneedsContext\", \"./core/nodeName\", \"./core/init\", \"./traversing/findFilter\", \"./selector\"], function (jQuery, getProto, indexOf, dir, _siblings, rneedsContext, nodeName) {\n \"use strict\";\n\n var rparentsprev = /^(?:parents|prev(?:Until|All))/,\n // Methods guaranteed to produce a unique set when starting from a unique set\n guaranteedUnique = {\n children: true,\n contents: true,\n next: true,\n prev: true\n };\n jQuery.fn.extend({\n has: function has(target) {\n var targets = jQuery(target, this),\n l = targets.length;\n return this.filter(function () {\n var i = 0;\n\n for (; i < l; i++) {\n if (jQuery.contains(this, targets[i])) {\n return true;\n }\n }\n });\n },\n closest: function closest(selectors, context) {\n var cur,\n i = 0,\n l = this.length,\n matched = [],\n targets = typeof selectors !== \"string\" && jQuery(selectors); // Positional selectors never match, since there's no _selection_ context\n\n if (!rneedsContext.test(selectors)) {\n for (; i < l; i++) {\n for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) {\n // Always skip document fragments\n if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : // Don't pass non-elements to Sizzle\n cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) {\n matched.push(cur);\n break;\n }\n }\n }\n }\n\n return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched);\n },\n // Determine the position of an element within the set\n index: function index(elem) {\n // No argument, return index in parent\n if (!elem) {\n return this[0] && this[0].parentNode ? this.first().prevAll().length : -1;\n } // Index in selector\n\n\n if (typeof elem === \"string\") {\n return indexOf.call(jQuery(elem), this[0]);\n } // Locate the position of the desired element\n\n\n return indexOf.call(this, // If it receives a jQuery object, the first element is used\n elem.jquery ? elem[0] : elem);\n },\n add: function add(selector, context) {\n return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))));\n },\n addBack: function addBack(selector) {\n return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector));\n }\n });\n\n function sibling(cur, dir) {\n while ((cur = cur[dir]) && cur.nodeType !== 1) {}\n\n return cur;\n }\n\n jQuery.each({\n parent: function parent(elem) {\n var parent = elem.parentNode;\n return parent && parent.nodeType !== 11 ? parent : null;\n },\n parents: function parents(elem) {\n return dir(elem, \"parentNode\");\n },\n parentsUntil: function parentsUntil(elem, _i, until) {\n return dir(elem, \"parentNode\", until);\n },\n next: function next(elem) {\n return sibling(elem, \"nextSibling\");\n },\n prev: function prev(elem) {\n return sibling(elem, \"previousSibling\");\n },\n nextAll: function nextAll(elem) {\n return dir(elem, \"nextSibling\");\n },\n prevAll: function prevAll(elem) {\n return dir(elem, \"previousSibling\");\n },\n nextUntil: function nextUntil(elem, _i, until) {\n return dir(elem, \"nextSibling\", until);\n },\n prevUntil: function prevUntil(elem, _i, until) {\n return dir(elem, \"previousSibling\", until);\n },\n siblings: function siblings(elem) {\n return _siblings((elem.parentNode || {}).firstChild, elem);\n },\n children: function children(elem) {\n return _siblings(elem.firstChild);\n },\n contents: function contents(elem) {\n if (elem.contentDocument != null && // Support: IE 11+\n // elements with no `data` attribute has an object\n // `contentDocument` with a `null` prototype.\n getProto(elem.contentDocument)) {\n return elem.contentDocument;\n } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don't support it.\n\n\n if (nodeName(elem, \"template\")) {\n elem = elem.content || elem;\n }\n\n return jQuery.merge([], elem.childNodes);\n }\n }, function (name, fn) {\n jQuery.fn[name] = function (until, selector) {\n var matched = jQuery.map(this, fn, until);\n\n if (name.slice(-5) !== \"Until\") {\n selector = until;\n }\n\n if (selector && typeof selector === \"string\") {\n matched = jQuery.filter(selector, matched);\n }\n\n if (this.length > 1) {\n // Remove duplicates\n if (!guaranteedUnique[name]) {\n jQuery.uniqueSort(matched);\n } // Reverse order for parents* and prev-derivatives\n\n\n if (rparentsprev.test(name)) {\n matched.reverse();\n }\n }\n\n return this.pushStack(matched);\n };\n });\n return jQuery;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine([\"./core\", \"./var/isFunction\", \"./var/slice\", \"./callbacks\"], function (jQuery, isFunction, slice) {\n \"use strict\";\n\n function Identity(v) {\n return v;\n }\n\n function Thrower(ex) {\n throw ex;\n }\n\n function adoptValue(value, resolve, reject, noValue) {\n var method;\n\n try {\n // Check for promise aspect first to privilege synchronous behavior\n if (value && isFunction(method = value.promise)) {\n method.call(value).done(resolve).fail(reject); // Other thenables\n } else if (value && isFunction(method = value.then)) {\n method.call(value, resolve, reject); // Other non-thenables\n } else {\n // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n // * false: [ value ].slice( 0 ) => resolve( value )\n // * true: [ value ].slice( 1 ) => resolve()\n resolve.apply(undefined, [value].slice(noValue));\n } // For Promises/A+, convert exceptions into rejections\n // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n // Deferred#then to conditionally suppress rejection.\n\n } catch (value) {\n // Support: Android 4.0 only\n // Strict mode functions invoked without .call/.apply get global-object context\n reject.apply(undefined, [value]);\n }\n }\n\n jQuery.extend({\n Deferred: function Deferred(func) {\n var tuples = [// action, add listener, callbacks,\n // ... .then handlers, argument index, [final state]\n [\"notify\", \"progress\", jQuery.Callbacks(\"memory\"), jQuery.Callbacks(\"memory\"), 2], [\"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 0, \"resolved\"], [\"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 1, \"rejected\"]],\n _state = \"pending\",\n _promise = {\n state: function state() {\n return _state;\n },\n always: function always() {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n \"catch\": function _catch(fn) {\n return _promise.then(null, fn);\n },\n // Keep pipe for back-compat\n pipe: function\n /* fnDone, fnFail, fnProgress */\n pipe() {\n var fns = arguments;\n return jQuery.Deferred(function (newDefer) {\n jQuery.each(tuples, function (_i, tuple) {\n // Map tuples (progress, done, fail) to arguments (done, fail, progress)\n var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]]; // deferred.progress(function() { bind to newDefer or newDefer.notify })\n // deferred.done(function() { bind to newDefer or newDefer.resolve })\n // deferred.fail(function() { bind to newDefer or newDefer.reject })\n\n deferred[tuple[1]](function () {\n var returned = fn && fn.apply(this, arguments);\n\n if (returned && isFunction(returned.promise)) {\n returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);\n } else {\n newDefer[tuple[0] + \"With\"](this, fn ? [returned] : arguments);\n }\n });\n });\n fns = null;\n }).promise();\n },\n then: function then(onFulfilled, onRejected, onProgress) {\n var maxDepth = 0;\n\n function resolve(depth, deferred, handler, special) {\n return function () {\n var that = this,\n args = arguments,\n mightThrow = function mightThrow() {\n var returned, then; // Support: Promises/A+ section 2.3.3.3.3\n // https://promisesaplus.com/#point-59\n // Ignore double-resolution attempts\n\n if (depth < maxDepth) {\n return;\n }\n\n returned = handler.apply(that, args); // Support: Promises/A+ section 2.3.1\n // https://promisesaplus.com/#point-48\n\n if (returned === deferred.promise()) {\n throw new TypeError(\"Thenable self-resolution\");\n } // Support: Promises/A+ sections 2.3.3.1, 3.5\n // https://promisesaplus.com/#point-54\n // https://promisesaplus.com/#point-75\n // Retrieve `then` only once\n\n\n then = returned && ( // Support: Promises/A+ section 2.3.4\n // https://promisesaplus.com/#point-64\n // Only check objects and functions for thenability\n _typeof(returned) === \"object\" || typeof returned === \"function\") && returned.then; // Handle a returned thenable\n\n if (isFunction(then)) {\n // Special processors (notify) just wait for resolution\n if (special) {\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special)); // Normal processors (resolve) also hook into progress\n } else {\n // ...and disregard older resolution values\n maxDepth++;\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith));\n } // Handle all other returned values\n\n } else {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Identity) {\n that = undefined;\n args = [returned];\n } // Process the value(s)\n // Default process is resolve\n\n\n (special || deferred.resolveWith)(that, args);\n }\n },\n // Only normal processors (resolve) catch and reject exceptions\n process = special ? mightThrow : function () {\n try {\n mightThrow();\n } catch (e) {\n if (jQuery.Deferred.exceptionHook) {\n jQuery.Deferred.exceptionHook(e, process.stackTrace);\n } // Support: Promises/A+ section 2.3.3.3.4.1\n // https://promisesaplus.com/#point-61\n // Ignore post-resolution exceptions\n\n\n if (depth + 1 >= maxDepth) {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Thrower) {\n that = undefined;\n args = [e];\n }\n\n deferred.rejectWith(that, args);\n }\n }\n }; // Support: Promises/A+ section 2.3.3.3.1\n // https://promisesaplus.com/#point-57\n // Re-resolve promises immediately to dodge false rejection from\n // subsequent errors\n\n\n if (depth) {\n process();\n } else {\n // Call an optional hook to record the stack, in case of exception\n // since it's otherwise lost when execution goes async\n if (jQuery.Deferred.getStackHook) {\n process.stackTrace = jQuery.Deferred.getStackHook();\n }\n\n window.setTimeout(process);\n }\n };\n }\n\n return jQuery.Deferred(function (newDefer) {\n // progress_handlers.add( ... )\n tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)); // fulfilled_handlers.add( ... )\n\n tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)); // rejected_handlers.add( ... )\n\n tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower));\n }).promise();\n },\n // Get a promise for this deferred\n // If obj is provided, the promise aspect is added to the object\n promise: function promise(obj) {\n return obj != null ? jQuery.extend(obj, _promise) : _promise;\n }\n },\n deferred = {}; // Add list-specific methods\n\n jQuery.each(tuples, function (i, tuple) {\n var list = tuple[2],\n stateString = tuple[5]; // promise.progress = list.add\n // promise.done = list.add\n // promise.fail = list.add\n\n _promise[tuple[1]] = list.add; // Handle state\n\n if (stateString) {\n list.add(function () {\n // state = \"resolved\" (i.e., fulfilled)\n // state = \"rejected\"\n _state = stateString;\n }, // rejected_callbacks.disable\n // fulfilled_callbacks.disable\n tuples[3 - i][2].disable, // rejected_handlers.disable\n // fulfilled_handlers.disable\n tuples[3 - i][3].disable, // progress_callbacks.lock\n tuples[0][2].lock, // progress_handlers.lock\n tuples[0][3].lock);\n } // progress_handlers.fire\n // fulfilled_handlers.fire\n // rejected_handlers.fire\n\n\n list.add(tuple[3].fire); // deferred.notify = function() { deferred.notifyWith(...) }\n // deferred.resolve = function() { deferred.resolveWith(...) }\n // deferred.reject = function() { deferred.rejectWith(...) }\n\n deferred[tuple[0]] = function () {\n deferred[tuple[0] + \"With\"](this === deferred ? undefined : this, arguments);\n return this;\n }; // deferred.notifyWith = list.fireWith\n // deferred.resolveWith = list.fireWith\n // deferred.rejectWith = list.fireWith\n\n\n deferred[tuple[0] + \"With\"] = list.fireWith;\n }); // Make the deferred a promise\n\n _promise.promise(deferred); // Call given func if any\n\n\n if (func) {\n func.call(deferred, deferred);\n } // All done!\n\n\n return deferred;\n },\n // Deferred helper\n when: function when(singleValue) {\n var // count of uncompleted subordinates\n remaining = arguments.length,\n // count of unprocessed arguments\n i = remaining,\n // subordinate fulfillment data\n resolveContexts = Array(i),\n resolveValues = slice.call(arguments),\n // the primary Deferred\n primary = jQuery.Deferred(),\n // subordinate callback factory\n updateFunc = function updateFunc(i) {\n return function (value) {\n resolveContexts[i] = this;\n resolveValues[i] = arguments.length > 1 ? slice.call(arguments) : value;\n\n if (! --remaining) {\n primary.resolveWith(resolveContexts, resolveValues);\n }\n };\n }; // Single- and empty arguments are adopted like Promise.resolve\n\n\n if (remaining <= 1) {\n adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining); // Use .then() to unwrap secondary thenables (cf. gh-3000)\n\n if (primary.state() === \"pending\" || isFunction(resolveValues[i] && resolveValues[i].then)) {\n return primary.then();\n }\n } // Multiple arguments are aggregated like Promise.all array elements\n\n\n while (i--) {\n adoptValue(resolveValues[i], updateFunc(i), primary.reject);\n }\n\n return primary.promise();\n }\n });\n return jQuery;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine([\"./core\", \"./var/document\", \"./var/documentElement\", \"./var/isFunction\", \"./var/rnothtmlwhite\", \"./var/rcheckableType\", \"./var/slice\", \"./data/var/acceptData\", \"./data/var/dataPriv\", \"./core/nodeName\", \"./core/init\", \"./selector\"], function (jQuery, document, documentElement, isFunction, rnothtmlwhite, rcheckableType, slice, acceptData, dataPriv, nodeName) {\n \"use strict\";\n\n var rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n } // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous, except when they are no-op.\n // So expect focus to be synchronous when the element is already active,\n // and blur to be synchronous when the element is not already active.\n // (focus and blur are always synchronous in other supported browsers,\n // this just defines when we can count on it).\n\n\n function expectSync(elem, type) {\n return elem === safeActiveElement() === (type === \"focus\");\n } // Support: IE <=9 only\n // Accessing document.activeElement can throw unexpectedly\n // https://bugs.jquery.com/ticket/13393\n\n\n function safeActiveElement() {\n try {\n return document.activeElement;\n } catch (err) {}\n }\n\n function _on(elem, types, selector, data, fn, one) {\n var origFn, type; // Types can be a map of types/handlers\n\n if (_typeof(types) === \"object\") {\n // ( types-Object, selector, data )\n if (typeof selector !== \"string\") {\n // ( types-Object, data )\n data = data || selector;\n selector = undefined;\n }\n\n for (type in types) {\n _on(elem, type, selector, data, types[type], one);\n }\n\n return elem;\n }\n\n if (data == null && fn == null) {\n // ( types, fn )\n fn = selector;\n data = selector = undefined;\n } else if (fn == null) {\n if (typeof selector === \"string\") {\n // ( types, selector, fn )\n fn = data;\n data = undefined;\n } else {\n // ( types, data, fn )\n fn = data;\n data = selector;\n selector = undefined;\n }\n }\n\n if (fn === false) {\n fn = returnFalse;\n } else if (!fn) {\n return elem;\n }\n\n if (one === 1) {\n origFn = fn;\n\n fn = function fn(event) {\n // Can use an empty set, since event contains the info\n jQuery().off(event);\n return origFn.apply(this, arguments);\n }; // Use same guid so caller can remove using origFn\n\n\n fn.guid = origFn.guid || (origFn.guid = jQuery.guid++);\n }\n\n return elem.each(function () {\n jQuery.event.add(this, types, fn, data, selector);\n });\n }\n /*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\n\n\n jQuery.event = {\n global: {},\n add: function add(elem, types, handler, data, selector) {\n var handleObjIn,\n eventHandle,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.get(elem); // Only attach events to objects that accept data\n\n if (!acceptData(elem)) {\n return;\n } // Caller can pass in an object of custom data in lieu of the handler\n\n\n if (handler.handler) {\n handleObjIn = handler;\n handler = handleObjIn.handler;\n selector = handleObjIn.selector;\n } // Ensure that invalid selectors throw exceptions at attach time\n // Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\n\n if (selector) {\n jQuery.find.matchesSelector(documentElement, selector);\n } // Make sure that the handler has a unique ID, used to find/remove it later\n\n\n if (!handler.guid) {\n handler.guid = jQuery.guid++;\n } // Init the element's event structure and main handler, if this is the first\n\n\n if (!(events = elemData.events)) {\n events = elemData.events = Object.create(null);\n }\n\n if (!(eventHandle = elemData.handle)) {\n eventHandle = elemData.handle = function (e) {\n // Discard the second event of a jQuery.event.trigger() and\n // when an event is called after a page has unloaded\n return typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined;\n };\n } // Handle multiple events separated by a space\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // There *must* be a type, no attaching namespace-only handlers\n\n if (!type) {\n continue;\n } // If event changes its type, use the special event handlers for the changed type\n\n\n special = jQuery.event.special[type] || {}; // If selector defined, determine special event api type, otherwise given type\n\n type = (selector ? special.delegateType : special.bindType) || type; // Update special based on newly reset type\n\n special = jQuery.event.special[type] || {}; // handleObj is passed to all event handlers\n\n handleObj = jQuery.extend({\n type: type,\n origType: origType,\n data: data,\n handler: handler,\n guid: handler.guid,\n selector: selector,\n needsContext: selector && jQuery.expr.match.needsContext.test(selector),\n namespace: namespaces.join(\".\")\n }, handleObjIn); // Init the event handler queue if we're the first\n\n if (!(handlers = events[type])) {\n handlers = events[type] = [];\n handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false\n\n if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) {\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle);\n }\n }\n }\n\n if (special.add) {\n special.add.call(elem, handleObj);\n\n if (!handleObj.handler.guid) {\n handleObj.handler.guid = handler.guid;\n }\n } // Add to the element's handler list, delegates in front\n\n\n if (selector) {\n handlers.splice(handlers.delegateCount++, 0, handleObj);\n } else {\n handlers.push(handleObj);\n } // Keep track of which events have ever been used, for event optimization\n\n\n jQuery.event.global[type] = true;\n }\n },\n // Detach an event or set of events from an element\n remove: function remove(elem, types, handler, selector, mappedTypes) {\n var j,\n origCount,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.hasData(elem) && dataPriv.get(elem);\n\n if (!elemData || !(events = elemData.events)) {\n return;\n } // Once for each type.namespace in types; type may be omitted\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // Unbind all events (on this namespace, if provided) for the element\n\n if (!type) {\n for (type in events) {\n jQuery.event.remove(elem, type + types[t], handler, selector, true);\n }\n\n continue;\n }\n\n special = jQuery.event.special[type] || {};\n type = (selector ? special.delegateType : special.bindType) || type;\n handlers = events[type] || [];\n tmp = tmp[2] && new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\"); // Remove matching events\n\n origCount = j = handlers.length;\n\n while (j--) {\n handleObj = handlers[j];\n\n if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector)) {\n handlers.splice(j, 1);\n\n if (handleObj.selector) {\n handlers.delegateCount--;\n }\n\n if (special.remove) {\n special.remove.call(elem, handleObj);\n }\n }\n } // Remove generic event handler if we removed something and no more handlers exist\n // (avoids potential for endless recursion during removal of special event handlers)\n\n\n if (origCount && !handlers.length) {\n if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) {\n jQuery.removeEvent(elem, type, elemData.handle);\n }\n\n delete events[type];\n }\n } // Remove data and the expando if it's no longer used\n\n\n if (jQuery.isEmptyObject(events)) {\n dataPriv.remove(elem, \"handle events\");\n }\n },\n dispatch: function dispatch(nativeEvent) {\n var i,\n j,\n ret,\n matched,\n handleObj,\n handlerQueue,\n args = new Array(arguments.length),\n // Make a writable jQuery.Event from the native event object\n event = jQuery.event.fix(nativeEvent),\n handlers = (dataPriv.get(this, \"events\") || Object.create(null))[event.type] || [],\n special = jQuery.event.special[event.type] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event\n\n args[0] = event;\n\n for (i = 1; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired\n\n if (special.preDispatch && special.preDispatch.call(this, event) === false) {\n return;\n } // Determine handlers\n\n\n handlerQueue = jQuery.event.handlers.call(this, event, handlers); // Run delegates first; they may want to stop propagation beneath us\n\n i = 0;\n\n while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) {\n event.currentTarget = matched.elem;\n j = 0;\n\n while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) {\n // If the event is namespaced, then each handler is only invoked if it is\n // specially universal or its namespaces are a superset of the event's.\n if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) {\n event.handleObj = handleObj;\n event.data = handleObj.data;\n ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args);\n\n if (ret !== undefined) {\n if ((event.result = ret) === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n } // Call the postDispatch hook for the mapped type\n\n\n if (special.postDispatch) {\n special.postDispatch.call(this, event);\n }\n\n return event.result;\n },\n handlers: function handlers(event, _handlers) {\n var i,\n handleObj,\n sel,\n matchedHandlers,\n matchedSelectors,\n handlerQueue = [],\n delegateCount = _handlers.delegateCount,\n cur = event.target; // Find delegate handlers\n\n if (delegateCount && // Support: IE <=9\n // Black-hole SVG instance trees (trac-13180)\n cur.nodeType && // Support: Firefox <=42\n // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n // Support: IE 11 only\n // ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n !(event.type === \"click\" && event.button >= 1)) {\n for (; cur !== this; cur = cur.parentNode || this) {\n // Don't check non-elements (#13208)\n // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n if (cur.nodeType === 1 && !(event.type === \"click\" && cur.disabled === true)) {\n matchedHandlers = [];\n matchedSelectors = {};\n\n for (i = 0; i < delegateCount; i++) {\n handleObj = _handlers[i]; // Don't conflict with Object.prototype properties (#13203)\n\n sel = handleObj.selector + \" \";\n\n if (matchedSelectors[sel] === undefined) {\n matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length;\n }\n\n if (matchedSelectors[sel]) {\n matchedHandlers.push(handleObj);\n }\n }\n\n if (matchedHandlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: matchedHandlers\n });\n }\n }\n }\n } // Add the remaining (directly-bound) handlers\n\n\n cur = this;\n\n if (delegateCount < _handlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: _handlers.slice(delegateCount)\n });\n }\n\n return handlerQueue;\n },\n addProp: function addProp(name, hook) {\n Object.defineProperty(jQuery.Event.prototype, name, {\n enumerable: true,\n configurable: true,\n get: isFunction(hook) ? function () {\n if (this.originalEvent) {\n return hook(this.originalEvent);\n }\n } : function () {\n if (this.originalEvent) {\n return this.originalEvent[name];\n }\n },\n set: function set(value) {\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: value\n });\n }\n });\n },\n fix: function fix(originalEvent) {\n return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent);\n },\n special: {\n load: {\n // Prevent triggered image.load events from bubbling to window.load\n noBubble: true\n },\n click: {\n // Utilize native event to ensure correct state for checkable inputs\n setup: function setup(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Claim the first handler\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n // dataPriv.set( el, \"click\", ... )\n leverageNative(el, \"click\", returnTrue);\n } // Return false to allow normal processing in the caller\n\n\n return false;\n },\n trigger: function trigger(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Force setup before triggering a click\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n leverageNative(el, \"click\");\n } // Return non-false to allow normal event-path propagation\n\n\n return true;\n },\n // For cross-browser consistency, suppress native .click() on links\n // Also prevent it if we're currently inside a leveraged native-event stack\n _default: function _default(event) {\n var target = event.target;\n return rcheckableType.test(target.type) && target.click && nodeName(target, \"input\") && dataPriv.get(target, \"click\") || nodeName(target, \"a\");\n }\n },\n beforeunload: {\n postDispatch: function postDispatch(event) {\n // Support: Firefox 20+\n // Firefox doesn't alert if the returnValue field is not set.\n if (event.result !== undefined && event.originalEvent) {\n event.originalEvent.returnValue = event.result;\n }\n }\n }\n }\n }; // Ensure the presence of an event listener that handles manually-triggered\n // synthetic events by interrupting progress until reinvoked in response to\n // *native* events that it fires directly, ensuring that state changes have\n // already occurred before other listeners are invoked.\n\n function leverageNative(el, type, expectSync) {\n // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n if (!expectSync) {\n if (dataPriv.get(el, type) === undefined) {\n jQuery.event.add(el, type, returnTrue);\n }\n\n return;\n } // Register the controller as a special universal handler for all event namespaces\n\n\n dataPriv.set(el, type, false);\n jQuery.event.add(el, type, {\n namespace: false,\n handler: function handler(event) {\n var notAsync,\n result,\n saved = dataPriv.get(this, type);\n\n if (event.isTrigger & 1 && this[type]) {\n // Interrupt processing of the outer synthetic .trigger()ed event\n // Saved data should be false in such cases, but might be a leftover capture object\n // from an async native handler (gh-4350)\n if (!saved.length) {\n // Store arguments for use when handling the inner native event\n // There will always be at least one argument (an event object), so this array\n // will not be confused with a leftover capture object.\n saved = slice.call(arguments);\n dataPriv.set(this, type, saved); // Trigger the native event and capture its result\n // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous\n\n notAsync = expectSync(this, type);\n this[type]();\n result = dataPriv.get(this, type);\n\n if (saved !== result || notAsync) {\n dataPriv.set(this, type, false);\n } else {\n result = {};\n }\n\n if (saved !== result) {\n // Cancel the outer synthetic event\n event.stopImmediatePropagation();\n event.preventDefault(); // Support: Chrome 86+\n // In Chrome, if an element having a focusout handler is blurred by\n // clicking outside of it, it invokes the handler synchronously. If\n // that handler calls `.remove()` on the element, the data is cleared,\n // leaving `result` undefined. We need to guard against this.\n\n return result && result.value;\n } // If this is an inner synthetic event for an event with a bubbling surrogate\n // (focus or blur), assume that the surrogate already propagated from triggering the\n // native event and prevent that from happening again here.\n // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n // bubbling surrogate propagates *after* the non-bubbling base), but that seems\n // less bad than duplication.\n\n } else if ((jQuery.event.special[type] || {}).delegateType) {\n event.stopPropagation();\n } // If this is a native event triggered above, everything is now in order\n // Fire an inner synthetic event with the original arguments\n\n } else if (saved.length) {\n // ...and capture the result\n dataPriv.set(this, type, {\n value: jQuery.event.trigger( // Support: IE <=9 - 11+\n // Extend with the prototype to reset the above stopImmediatePropagation()\n jQuery.extend(saved[0], jQuery.Event.prototype), saved.slice(1), this)\n }); // Abort handling of the native event\n\n event.stopImmediatePropagation();\n }\n }\n });\n }\n\n jQuery.removeEvent = function (elem, type, handle) {\n // This \"if\" is needed for plain objects\n if (elem.removeEventListener) {\n elem.removeEventListener(type, handle);\n }\n };\n\n jQuery.Event = function (src, props) {\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof jQuery.Event)) {\n return new jQuery.Event(src, props);\n } // Event object\n\n\n if (src && src.type) {\n this.originalEvent = src;\n this.type = src.type; // Events bubbling up the document may have been marked as prevented\n // by a handler lower down the tree; reflect the correct value.\n\n this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only\n src.returnValue === false ? returnTrue : returnFalse; // Create target properties\n // Support: Safari <=6 - 7 only\n // Target should not be a text node (#504, #13143)\n\n this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target;\n this.currentTarget = src.currentTarget;\n this.relatedTarget = src.relatedTarget; // Event type\n } else {\n this.type = src;\n } // Put explicitly provided properties onto the event object\n\n\n if (props) {\n jQuery.extend(this, props);\n } // Create a timestamp if incoming event doesn't have one\n\n\n this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed\n\n this[jQuery.expando] = true;\n }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\n\n\n jQuery.Event.prototype = {\n constructor: jQuery.Event,\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse,\n isSimulated: false,\n preventDefault: function preventDefault() {\n var e = this.originalEvent;\n this.isDefaultPrevented = returnTrue;\n\n if (e && !this.isSimulated) {\n e.preventDefault();\n }\n },\n stopPropagation: function stopPropagation() {\n var e = this.originalEvent;\n this.isPropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopPropagation();\n }\n },\n stopImmediatePropagation: function stopImmediatePropagation() {\n var e = this.originalEvent;\n this.isImmediatePropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopImmediatePropagation();\n }\n\n this.stopPropagation();\n }\n }; // Includes all common event props including KeyEvent and MouseEvent specific props\n\n jQuery.each({\n altKey: true,\n bubbles: true,\n cancelable: true,\n changedTouches: true,\n ctrlKey: true,\n detail: true,\n eventPhase: true,\n metaKey: true,\n pageX: true,\n pageY: true,\n shiftKey: true,\n view: true,\n \"char\": true,\n code: true,\n charCode: true,\n key: true,\n keyCode: true,\n button: true,\n buttons: true,\n clientX: true,\n clientY: true,\n offsetX: true,\n offsetY: true,\n pointerId: true,\n pointerType: true,\n screenX: true,\n screenY: true,\n targetTouches: true,\n toElement: true,\n touches: true,\n which: true\n }, jQuery.event.addProp);\n jQuery.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function (type, delegateType) {\n jQuery.event.special[type] = {\n // Utilize native event if possible so blur/focus sequence is correct\n setup: function setup() {\n // Claim the first handler\n // dataPriv.set( this, \"focus\", ... )\n // dataPriv.set( this, \"blur\", ... )\n leverageNative(this, type, expectSync); // Return false to allow normal processing in the caller\n\n return false;\n },\n trigger: function trigger() {\n // Force setup before trigger\n leverageNative(this, type); // Return non-false to allow normal event-path propagation\n\n return true;\n },\n // Suppress native focus or blur as it's already being fired\n // in leverageNative.\n _default: function _default() {\n return true;\n },\n delegateType: delegateType\n };\n }); // Create mouseenter/leave events using mouseover/out and event-time checks\n // so that event delegation works in jQuery.\n // Do the same for pointerenter/pointerleave and pointerover/pointerout\n //\n // Support: Safari 7 only\n // Safari sends mouseenter too often; see:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n // for the description of the bug (it existed in older Chrome versions as well).\n\n jQuery.each({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\",\n pointerenter: \"pointerover\",\n pointerleave: \"pointerout\"\n }, function (orig, fix) {\n jQuery.event.special[orig] = {\n delegateType: fix,\n bindType: fix,\n handle: function handle(event) {\n var ret,\n target = this,\n related = event.relatedTarget,\n handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target.\n // NB: No relatedTarget if the mouse left/entered the browser window\n\n if (!related || related !== target && !jQuery.contains(target, related)) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply(this, arguments);\n event.type = fix;\n }\n\n return ret;\n }\n };\n });\n jQuery.fn.extend({\n on: function on(types, selector, data, fn) {\n return _on(this, types, selector, data, fn);\n },\n one: function one(types, selector, data, fn) {\n return _on(this, types, selector, data, fn, 1);\n },\n off: function off(types, selector, fn) {\n var handleObj, type;\n\n if (types && types.preventDefault && types.handleObj) {\n // ( event ) dispatched jQuery.Event\n handleObj = types.handleObj;\n jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler);\n return this;\n }\n\n if (_typeof(types) === \"object\") {\n // ( types-object [, selector] )\n for (type in types) {\n this.off(type, selector, types[type]);\n }\n\n return this;\n }\n\n if (selector === false || typeof selector === \"function\") {\n // ( types [, fn] )\n fn = selector;\n selector = undefined;\n }\n\n if (fn === false) {\n fn = returnFalse;\n }\n\n return this.each(function () {\n jQuery.event.remove(this, types, fn, selector);\n });\n }\n });\n return jQuery;\n});","define(function () {\n \"use strict\";\n\n return [];\n});","define(function () {\n \"use strict\";\n\n return function isWindow(obj) {\n return obj != null && obj === obj.window;\n };\n});","define([], function () {\n \"use strict\"; // Matches dashed string for camelizing\n\n var rmsPrefix = /^-ms-/,\n rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace()\n\n function fcamelCase(_all, letter) {\n return letter.toUpperCase();\n } // Convert dashed to camelCase; used by the css and data modules\n // Support: IE <=9 - 11, Edge 12 - 15\n // Microsoft forgot to hump their vendor prefix (#9572)\n\n\n function camelCase(string) {\n return string.replace(rmsPrefix, \"ms-\").replace(rdashAlpha, fcamelCase);\n }\n\n return camelCase;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\ndefine([\"./core\", \"./core/access\", \"./core/camelCase\", \"./core/nodeName\", \"./var/rcssNum\", \"./css/var/rnumnonpx\", \"./css/var/cssExpand\", \"./css/var/getStyles\", \"./css/var/swap\", \"./css/curCSS\", \"./css/adjustCSS\", \"./css/addGetHookIf\", \"./css/support\", \"./css/finalPropName\", \"./core/init\", \"./core/ready\", \"./selector\" // contains\n], function (jQuery, access, camelCase, nodeName, rcssNum, rnumnonpx, cssExpand, getStyles, swap, curCSS, adjustCSS, addGetHookIf, support, finalPropName) {\n \"use strict\";\n\n var // Swappable if display is none or starts with table\n // except \"table\", \"table-cell\", or \"table-caption\"\n // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n rdisplayswap = /^(none|table(?!-c[ea]).+)/,\n rcustomProp = /^--/,\n cssShow = {\n position: \"absolute\",\n visibility: \"hidden\",\n display: \"block\"\n },\n cssNormalTransform = {\n letterSpacing: \"0\",\n fontWeight: \"400\"\n };\n\n function setPositiveNumber(_elem, value, subtract) {\n // Any relative (+/-) values have already been\n // normalized at this point\n var matches = rcssNum.exec(value);\n return matches ? // Guard against undefined \"subtract\", e.g., when used as in cssHooks\n Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || \"px\") : value;\n }\n\n function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) {\n var i = dimension === \"width\" ? 1 : 0,\n extra = 0,\n delta = 0; // Adjustment may not be necessary\n\n if (box === (isBorderBox ? \"border\" : \"content\")) {\n return 0;\n }\n\n for (; i < 4; i += 2) {\n // Both box models exclude margin\n if (box === \"margin\") {\n delta += jQuery.css(elem, box + cssExpand[i], true, styles);\n } // If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\n\n if (!isBorderBox) {\n // Add padding\n delta += jQuery.css(elem, \"padding\" + cssExpand[i], true, styles); // For \"border\" or \"margin\", add border\n\n if (box !== \"padding\") {\n delta += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles); // But still keep track of it otherwise\n } else {\n extra += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n } // If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n // \"padding\" or \"margin\"\n\n } else {\n // For \"content\", subtract padding\n if (box === \"content\") {\n delta -= jQuery.css(elem, \"padding\" + cssExpand[i], true, styles);\n } // For \"content\" or \"padding\", subtract border\n\n\n if (box !== \"margin\") {\n delta -= jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n }\n }\n } // Account for positive content-box scroll gutter when requested by providing computedVal\n\n\n if (!isBorderBox && computedVal >= 0) {\n // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n // Assuming integer scroll gutter, subtract the rest and round down\n delta += Math.max(0, Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n // Use an explicit zero to avoid NaN (gh-3964)\n )) || 0;\n }\n\n return delta;\n }\n\n function getWidthOrHeight(elem, dimension, extra) {\n // Start with computed style\n var styles = getStyles(elem),\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n // Fake content-box until we know it's needed to know the true value.\n boxSizingNeeded = !support.boxSizingReliable() || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\",\n valueIsBorderBox = isBorderBox,\n val = curCSS(elem, dimension, styles),\n offsetProp = \"offset\" + dimension[0].toUpperCase() + dimension.slice(1); // Support: Firefox <=54\n // Return a confounding non-pixel value or feign ignorance, as appropriate.\n\n if (rnumnonpx.test(val)) {\n if (!extra) {\n return val;\n }\n\n val = \"auto\";\n } // Support: IE 9 - 11 only\n // Use offsetWidth/offsetHeight for when box sizing is unreliable.\n // In those cases, the computed value can be trusted to be border-box.\n\n\n if ((!support.boxSizingReliable() && isBorderBox || // Support: IE 10 - 11+, Edge 15 - 18+\n // IE/Edge misreport `getComputedStyle` of table rows with width/height\n // set in CSS while `offset*` properties report correct values.\n // Interestingly, in some cases IE 9 doesn't suffer from this issue.\n !support.reliableTrDimensions() && nodeName(elem, \"tr\") || // Fall back to offsetWidth/offsetHeight when value is \"auto\"\n // This happens for inline elements with no explicit setting (gh-3571)\n val === \"auto\" || // Support: Android <=4.1 - 4.3 only\n // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n !parseFloat(val) && jQuery.css(elem, \"display\", false, styles) === \"inline\") && // Make sure the element is visible & connected\n elem.getClientRects().length) {\n isBorderBox = jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\"; // Where available, offsetWidth/offsetHeight approximate border box dimensions.\n // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n // retrieved value as a content box dimension.\n\n valueIsBorderBox = offsetProp in elem;\n\n if (valueIsBorderBox) {\n val = elem[offsetProp];\n }\n } // Normalize \"\" and auto\n\n\n val = parseFloat(val) || 0; // Adjust for the element's box model\n\n return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? \"border\" : \"content\"), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589)\n val) + \"px\";\n }\n\n jQuery.extend({\n // Add in style property hooks for overriding the default\n // behavior of getting and setting a style property\n cssHooks: {\n opacity: {\n get: function get(elem, computed) {\n if (computed) {\n // We should always get a number back from opacity\n var ret = curCSS(elem, \"opacity\");\n return ret === \"\" ? \"1\" : ret;\n }\n }\n }\n },\n // Don't automatically add \"px\" to these possibly-unitless properties\n cssNumber: {\n \"animationIterationCount\": true,\n \"columnCount\": true,\n \"fillOpacity\": true,\n \"flexGrow\": true,\n \"flexShrink\": true,\n \"fontWeight\": true,\n \"gridArea\": true,\n \"gridColumn\": true,\n \"gridColumnEnd\": true,\n \"gridColumnStart\": true,\n \"gridRow\": true,\n \"gridRowEnd\": true,\n \"gridRowStart\": true,\n \"lineHeight\": true,\n \"opacity\": true,\n \"order\": true,\n \"orphans\": true,\n \"widows\": true,\n \"zIndex\": true,\n \"zoom\": true\n },\n // Add in properties whose names you wish to fix before\n // setting or getting the value\n cssProps: {},\n // Get and set the style property on a DOM Node\n style: function style(elem, name, value, extra) {\n // Don't set styles on text and comment nodes\n if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) {\n return;\n } // Make sure that we're working with the right name\n\n\n var ret,\n type,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name),\n style = elem.style; // Make sure that we're working with the right name. We don't\n // want to query the value if it is a CSS custom property\n // since they are user-defined.\n\n if (!isCustomProp) {\n name = finalPropName(origName);\n } // Gets hook for the prefixed version, then unprefixed version\n\n\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // Check if we're setting a value\n\n if (value !== undefined) {\n type = _typeof(value); // Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\n if (type === \"string\" && (ret = rcssNum.exec(value)) && ret[1]) {\n value = adjustCSS(elem, name, ret); // Fixes bug #9237\n\n type = \"number\";\n } // Make sure that null and NaN values aren't set (#7116)\n\n\n if (value == null || value !== value) {\n return;\n } // If a number was passed in, add the unit (except for certain CSS properties)\n // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n // \"px\" to a few hardcoded values.\n\n\n if (type === \"number\" && !isCustomProp) {\n value += ret && ret[3] || (jQuery.cssNumber[origName] ? \"\" : \"px\");\n } // background-* props affect original clone's values\n\n\n if (!support.clearCloneStyle && value === \"\" && name.indexOf(\"background\") === 0) {\n style[name] = \"inherit\";\n } // If a hook was provided, use that value, otherwise just set the specified value\n\n\n if (!hooks || !(\"set\" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) {\n if (isCustomProp) {\n style.setProperty(name, value);\n } else {\n style[name] = value;\n }\n }\n } else {\n // If a hook was provided get the non-computed value from there\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) {\n return ret;\n } // Otherwise just get the value from the style object\n\n\n return style[name];\n }\n },\n css: function css(elem, name, extra, styles) {\n var val,\n num,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name); // Make sure that we're working with the right name. We don't\n // want to modify the value if it is a CSS custom property\n // since they are user-defined.\n\n if (!isCustomProp) {\n name = finalPropName(origName);\n } // Try prefixed name followed by the unprefixed name\n\n\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // If a hook was provided get the computed value from there\n\n if (hooks && \"get\" in hooks) {\n val = hooks.get(elem, true, extra);\n } // Otherwise, if a way to get the computed value exists, use that\n\n\n if (val === undefined) {\n val = curCSS(elem, name, styles);\n } // Convert \"normal\" to computed value\n\n\n if (val === \"normal\" && name in cssNormalTransform) {\n val = cssNormalTransform[name];\n } // Make numeric if forced or a qualifier was provided and val looks numeric\n\n\n if (extra === \"\" || extra) {\n num = parseFloat(val);\n return extra === true || isFinite(num) ? num || 0 : val;\n }\n\n return val;\n }\n });\n jQuery.each([\"height\", \"width\"], function (_i, dimension) {\n jQuery.cssHooks[dimension] = {\n get: function get(elem, computed, extra) {\n if (computed) {\n // Certain elements can have dimension info if we invisibly show them\n // but it must have a current display style that would benefit\n return rdisplayswap.test(jQuery.css(elem, \"display\")) && ( // Support: Safari 8+\n // Table columns in Safari have non-zero offsetWidth & zero\n // getBoundingClientRect().width unless display is changed.\n // Support: IE <=11 only\n // Running getBoundingClientRect on a disconnected node\n // in IE throws an error.\n !elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function () {\n return getWidthOrHeight(elem, dimension, extra);\n }) : getWidthOrHeight(elem, dimension, extra);\n }\n },\n set: function set(elem, value, extra) {\n var matches,\n styles = getStyles(elem),\n // Only read styles.position if the test has a chance to fail\n // to avoid forcing a reflow.\n scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === \"absolute\",\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n boxSizingNeeded = scrollboxSizeBuggy || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\",\n subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0; // Account for unreliable border-box dimensions by comparing offset* to computed and\n // faking a content-box to get border and padding (gh-3699)\n\n if (isBorderBox && scrollboxSizeBuggy) {\n subtract -= Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, \"border\", false, styles) - 0.5);\n } // Convert to pixels if value adjustment is needed\n\n\n if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || \"px\") !== \"px\") {\n elem.style[dimension] = value;\n value = jQuery.css(elem, dimension);\n }\n\n return setPositiveNumber(elem, value, subtract);\n }\n };\n });\n jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function (elem, computed) {\n if (computed) {\n return (parseFloat(curCSS(elem, \"marginLeft\")) || elem.getBoundingClientRect().left - swap(elem, {\n marginLeft: 0\n }, function () {\n return elem.getBoundingClientRect().left;\n })) + \"px\";\n }\n }); // These hooks are used by animate to expand properties\n\n jQuery.each({\n margin: \"\",\n padding: \"\",\n border: \"Width\"\n }, function (prefix, suffix) {\n jQuery.cssHooks[prefix + suffix] = {\n expand: function expand(value) {\n var i = 0,\n expanded = {},\n // Assumes a single number if not a string\n parts = typeof value === \"string\" ? value.split(\" \") : [value];\n\n for (; i < 4; i++) {\n expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0];\n }\n\n return expanded;\n }\n };\n\n if (prefix !== \"margin\") {\n jQuery.cssHooks[prefix + suffix].set = setPositiveNumber;\n }\n });\n jQuery.fn.extend({\n css: function css(name, value) {\n return access(this, function (elem, name, value) {\n var styles,\n len,\n map = {},\n i = 0;\n\n if (Array.isArray(name)) {\n styles = getStyles(elem);\n len = name.length;\n\n for (; i < len; i++) {\n map[name[i]] = jQuery.css(elem, name[i], false, styles);\n }\n\n return map;\n }\n\n return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name);\n }, name, value, arguments.length > 1);\n }\n });\n return jQuery;\n});","define([\"./arr\"], function (arr) {\n \"use strict\";\n\n return arr.slice;\n});","define(function () {\n \"use strict\"; // [[Class]] -> type pairs\n\n return {};\n});","define(function () {\n \"use strict\";\n /**\n * Determines whether an object can have data\n */\n\n return function (owner) {\n // Accepts only:\n // - Node\n // - Node.ELEMENT_NODE\n // - Node.DOCUMENT_NODE\n // - Object\n // - Any\n return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType;\n };\n});","define([\"../core\", \"../var/documentElement\", \"../selector\" // jQuery.contains\n], function (jQuery, documentElement) {\n \"use strict\";\n\n var isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem);\n },\n composed = {\n composed: true\n }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n // Check attachment across shadow DOM boundaries when possible (gh-3504)\n // Support: iOS 10.0-10.2 only\n // Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n // leading to errors. We need to check for `getRootNode`.\n\n\n if (documentElement.getRootNode) {\n isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument;\n };\n }\n\n return isAttached;\n});","define([\"./document\"], function (document) {\n \"use strict\";\n\n return document.documentElement;\n});","define([\"./core\", \"./core/isAttached\", \"./var/flat\", \"./var/isFunction\", \"./var/push\", \"./var/rcheckableType\", \"./core/access\", \"./manipulation/var/rtagName\", \"./manipulation/var/rscriptType\", \"./manipulation/wrapMap\", \"./manipulation/getAll\", \"./manipulation/setGlobalEval\", \"./manipulation/buildFragment\", \"./manipulation/support\", \"./data/var/dataPriv\", \"./data/var/dataUser\", \"./data/var/acceptData\", \"./core/DOMEval\", \"./core/nodeName\", \"./core/init\", \"./traversing\", \"./selector\", \"./event\"], function (jQuery, isAttached, flat, isFunction, push, rcheckableType, access, rtagName, rscriptType, wrapMap, getAll, setGlobalEval, buildFragment, support, dataPriv, dataUser, acceptData, DOMEval, nodeName) {\n \"use strict\";\n\n var // Support: IE <=10 - 11, Edge 12 - 13 only\n // In IE/Edge using regex groups here causes severe slowdowns.\n // See https://connect.microsoft.com/IE/feedback/details/1736512/\n rnoInnerhtml = /\\s*$/g; // Prefer a tbody over its parent table for containing new rows\n\n function manipulationTarget(elem, content) {\n if (nodeName(elem, \"table\") && nodeName(content.nodeType !== 11 ? content : content.firstChild, \"tr\")) {\n return jQuery(elem).children(\"tbody\")[0] || elem;\n }\n\n return elem;\n } // Replace/restore the type attribute of script elements for safe DOM manipulation\n\n\n function disableScript(elem) {\n elem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n return elem;\n }\n\n function restoreScript(elem) {\n if ((elem.type || \"\").slice(0, 5) === \"true/\") {\n elem.type = elem.type.slice(5);\n } else {\n elem.removeAttribute(\"type\");\n }\n\n return elem;\n }\n\n function cloneCopyEvent(src, dest) {\n var i, l, type, pdataOld, udataOld, udataCur, events;\n\n if (dest.nodeType !== 1) {\n return;\n } // 1. Copy private data: events, handlers, etc.\n\n\n if (dataPriv.hasData(src)) {\n pdataOld = dataPriv.get(src);\n events = pdataOld.events;\n\n if (events) {\n dataPriv.remove(dest, \"handle events\");\n\n for (type in events) {\n for (i = 0, l = events[type].length; i < l; i++) {\n jQuery.event.add(dest, type, events[type][i]);\n }\n }\n }\n } // 2. Copy user data\n\n\n if (dataUser.hasData(src)) {\n udataOld = dataUser.access(src);\n udataCur = jQuery.extend({}, udataOld);\n dataUser.set(dest, udataCur);\n }\n } // Fix IE bugs, see support tests\n\n\n function fixInput(src, dest) {\n var nodeName = dest.nodeName.toLowerCase(); // Fails to persist the checked state of a cloned checkbox or radio button.\n\n if (nodeName === \"input\" && rcheckableType.test(src.type)) {\n dest.checked = src.checked; // Fails to return the selected option to the default selected state when cloning options\n } else if (nodeName === \"input\" || nodeName === \"textarea\") {\n dest.defaultValue = src.defaultValue;\n }\n }\n\n function domManip(collection, args, callback, ignored) {\n // Flatten any nested arrays\n args = flat(args);\n var fragment,\n first,\n scripts,\n hasScripts,\n node,\n doc,\n i = 0,\n l = collection.length,\n iNoClone = l - 1,\n value = args[0],\n valueIsFunction = isFunction(value); // We can't cloneNode fragments that contain checked, in WebKit\n\n if (valueIsFunction || l > 1 && typeof value === \"string\" && !support.checkClone && rchecked.test(value)) {\n return collection.each(function (index) {\n var self = collection.eq(index);\n\n if (valueIsFunction) {\n args[0] = value.call(this, index, self.html());\n }\n\n domManip(self, args, callback, ignored);\n });\n }\n\n if (l) {\n fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored);\n first = fragment.firstChild;\n\n if (fragment.childNodes.length === 1) {\n fragment = first;\n } // Require either new content or an interest in ignored elements to invoke the callback\n\n\n if (first || ignored) {\n scripts = jQuery.map(getAll(fragment, \"script\"), disableScript);\n hasScripts = scripts.length; // Use the original fragment for the last item\n // instead of the first because it can end up\n // being emptied incorrectly in certain situations (#8070).\n\n for (; i < l; i++) {\n node = fragment;\n\n if (i !== iNoClone) {\n node = jQuery.clone(node, true, true); // Keep references to cloned scripts for later restoration\n\n if (hasScripts) {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(scripts, getAll(node, \"script\"));\n }\n }\n\n callback.call(collection[i], node, i);\n }\n\n if (hasScripts) {\n doc = scripts[scripts.length - 1].ownerDocument; // Reenable scripts\n\n jQuery.map(scripts, restoreScript); // Evaluate executable scripts on first document insertion\n\n for (i = 0; i < hasScripts; i++) {\n node = scripts[i];\n\n if (rscriptType.test(node.type || \"\") && !dataPriv.access(node, \"globalEval\") && jQuery.contains(doc, node)) {\n if (node.src && (node.type || \"\").toLowerCase() !== \"module\") {\n // Optional AJAX dependency, but won't run scripts if not present\n if (jQuery._evalUrl && !node.noModule) {\n jQuery._evalUrl(node.src, {\n nonce: node.nonce || node.getAttribute(\"nonce\")\n }, doc);\n }\n } else {\n DOMEval(node.textContent.replace(rcleanScript, \"\"), node, doc);\n }\n }\n }\n }\n }\n }\n\n return collection;\n }\n\n function _remove(elem, selector, keepData) {\n var node,\n nodes = selector ? jQuery.filter(selector, elem) : elem,\n i = 0;\n\n for (; (node = nodes[i]) != null; i++) {\n if (!keepData && node.nodeType === 1) {\n jQuery.cleanData(getAll(node));\n }\n\n if (node.parentNode) {\n if (keepData && isAttached(node)) {\n setGlobalEval(getAll(node, \"script\"));\n }\n\n node.parentNode.removeChild(node);\n }\n }\n\n return elem;\n }\n\n jQuery.extend({\n htmlPrefilter: function htmlPrefilter(html) {\n return html;\n },\n clone: function clone(elem, dataAndEvents, deepDataAndEvents) {\n var i,\n l,\n srcElements,\n destElements,\n clone = elem.cloneNode(true),\n inPage = isAttached(elem); // Fix IE cloning issues\n\n if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) {\n // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n destElements = getAll(clone);\n srcElements = getAll(elem);\n\n for (i = 0, l = srcElements.length; i < l; i++) {\n fixInput(srcElements[i], destElements[i]);\n }\n } // Copy the events from the original to the clone\n\n\n if (dataAndEvents) {\n if (deepDataAndEvents) {\n srcElements = srcElements || getAll(elem);\n destElements = destElements || getAll(clone);\n\n for (i = 0, l = srcElements.length; i < l; i++) {\n cloneCopyEvent(srcElements[i], destElements[i]);\n }\n } else {\n cloneCopyEvent(elem, clone);\n }\n } // Preserve script evaluation history\n\n\n destElements = getAll(clone, \"script\");\n\n if (destElements.length > 0) {\n setGlobalEval(destElements, !inPage && getAll(elem, \"script\"));\n } // Return the cloned set\n\n\n return clone;\n },\n cleanData: function cleanData(elems) {\n var data,\n elem,\n type,\n special = jQuery.event.special,\n i = 0;\n\n for (; (elem = elems[i]) !== undefined; i++) {\n if (acceptData(elem)) {\n if (data = elem[dataPriv.expando]) {\n if (data.events) {\n for (type in data.events) {\n if (special[type]) {\n jQuery.event.remove(elem, type); // This is a shortcut to avoid jQuery.event.remove's overhead\n } else {\n jQuery.removeEvent(elem, type, data.handle);\n }\n }\n } // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n\n\n elem[dataPriv.expando] = undefined;\n }\n\n if (elem[dataUser.expando]) {\n // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n elem[dataUser.expando] = undefined;\n }\n }\n }\n }\n });\n jQuery.fn.extend({\n detach: function detach(selector) {\n return _remove(this, selector, true);\n },\n remove: function remove(selector) {\n return _remove(this, selector);\n },\n text: function text(value) {\n return access(this, function (value) {\n return value === undefined ? jQuery.text(this) : this.empty().each(function () {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n this.textContent = value;\n }\n });\n }, null, value, arguments.length);\n },\n append: function append() {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.appendChild(elem);\n }\n });\n },\n prepend: function prepend() {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.insertBefore(elem, target.firstChild);\n }\n });\n },\n before: function before() {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this);\n }\n });\n },\n after: function after() {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this.nextSibling);\n }\n });\n },\n empty: function empty() {\n var elem,\n i = 0;\n\n for (; (elem = this[i]) != null; i++) {\n if (elem.nodeType === 1) {\n // Prevent memory leaks\n jQuery.cleanData(getAll(elem, false)); // Remove any remaining nodes\n\n elem.textContent = \"\";\n }\n }\n\n return this;\n },\n clone: function clone(dataAndEvents, deepDataAndEvents) {\n dataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n return this.map(function () {\n return jQuery.clone(this, dataAndEvents, deepDataAndEvents);\n });\n },\n html: function html(value) {\n return access(this, function (value) {\n var elem = this[0] || {},\n i = 0,\n l = this.length;\n\n if (value === undefined && elem.nodeType === 1) {\n return elem.innerHTML;\n } // See if we can take a shortcut and just use innerHTML\n\n\n if (typeof value === \"string\" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || [\"\", \"\"])[1].toLowerCase()]) {\n value = jQuery.htmlPrefilter(value);\n\n try {\n for (; i < l; i++) {\n elem = this[i] || {}; // Remove element nodes and prevent memory leaks\n\n if (elem.nodeType === 1) {\n jQuery.cleanData(getAll(elem, false));\n elem.innerHTML = value;\n }\n }\n\n elem = 0; // If using innerHTML throws an exception, use the fallback method\n } catch (e) {}\n }\n\n if (elem) {\n this.empty().append(value);\n }\n }, null, value, arguments.length);\n },\n replaceWith: function replaceWith() {\n var ignored = []; // Make the changes, replacing each non-ignored context element with the new content\n\n return domManip(this, arguments, function (elem) {\n var parent = this.parentNode;\n\n if (jQuery.inArray(this, ignored) < 0) {\n jQuery.cleanData(getAll(this));\n\n if (parent) {\n parent.replaceChild(elem, this);\n }\n } // Force callback invocation\n\n }, ignored);\n }\n });\n jQuery.each({\n appendTo: \"append\",\n prependTo: \"prepend\",\n insertBefore: \"before\",\n insertAfter: \"after\",\n replaceAll: \"replaceWith\"\n }, function (name, original) {\n jQuery.fn[name] = function (selector) {\n var elems,\n ret = [],\n insert = jQuery(selector),\n last = insert.length - 1,\n i = 0;\n\n for (; i <= last; i++) {\n elems = i === last ? this : this.clone(true);\n jQuery(insert[i])[original](elems); // Support: Android <=4.0 only, PhantomJS 1 only\n // .get() because push.apply(_, arraylike) throws on ancient WebKit\n\n push.apply(ret, elems.get());\n }\n\n return this.pushStack(ret);\n };\n });\n return jQuery;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/**\n * Galleria v1.6.1\n *\n * Copyright (c) 2010 - 2019 worse is better UG\n * Licensed under the MIT license\n *\n */\n(function (window, factory) {\n if (typeof define == 'function' && define.amd) {\n define(['jquery'], function (jQuery) {\n return factory(window, jQuery);\n });\n } else if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) == 'object' && module.exports) {\n module.exports = factory(window, require('jquery'));\n } else {\n // browser global\n window.Galleria = factory(window, window.jQuery);\n }\n})(window, function factory(window, $, _Galleria, undef) {\n /*global jQuery, navigator, Image, module, define */\n // some references\n var doc = window.document,\n $doc = $(doc),\n $win = $(window),\n jQuery = $,\n // native prototypes\n protoArray = Array.prototype,\n // internal constants\n VERSION = 1.61,\n DEBUG = true,\n TIMEOUT = 30000,\n DUMMY = false,\n NAV = navigator.userAgent.toLowerCase(),\n HASH = window.location.hash.replace(/#\\//, ''),\n PROT = window.location.protocol == \"file:\" ? \"http:\" : window.location.protocol,\n M = Math,\n F = function F() {},\n FALSE = function FALSE() {\n return false;\n },\n MOBILE = !(window.screen.width > 1279 && window.devicePixelRatio == 1 || // there are not so many mobile devices with more than 1280px and pixelRatio equal to 1 (i.e. retina displays are equal to 2...)\n window.screen.width > 1000 && window.innerWidth < window.screen.width * .9 // this checks in the end if a user is using a resized browser window which is not common on mobile devices\n ),\n IE = function () {\n var v = 3,\n div = doc.createElement('div'),\n all = div.getElementsByTagName('i');\n\n do {\n div.innerHTML = '';\n } while (all[0]);\n\n return v > 4 ? v : doc.documentMode || undef;\n }(),\n DOM = function DOM() {\n return {\n html: doc.documentElement,\n body: doc.body,\n head: doc.getElementsByTagName('head')[0],\n title: doc.title\n };\n },\n IFRAME = window.parent !== window.self,\n // list of Galleria events\n _eventlist = 'data ready thumbnail loadstart loadfinish image play pause progress ' + 'fullscreen_enter fullscreen_exit idle_enter idle_exit rescale ' + 'lightbox_open lightbox_close lightbox_image',\n _events = function () {\n var evs = [];\n $.each(_eventlist.split(' '), function (i, ev) {\n evs.push(ev); // legacy events\n\n if (/_/.test(ev)) {\n evs.push(ev.replace(/_/g, ''));\n }\n });\n return evs;\n }(),\n // legacy options\n // allows the old my_setting syntax and converts it to camel case\n _legacyOptions = function _legacyOptions(options) {\n var n;\n\n if (_typeof(options) !== 'object') {\n // return whatever it was...\n return options;\n }\n\n $.each(options, function (key, value) {\n if (/^[a-z]+_/.test(key)) {\n n = '';\n $.each(key.split('_'), function (i, k) {\n n += i > 0 ? k.substr(0, 1).toUpperCase() + k.substr(1) : k;\n });\n options[n] = value;\n delete options[key];\n }\n });\n return options;\n },\n _patchEvent = function _patchEvent(type) {\n // allow 'image' instead of Galleria.IMAGE\n if ($.inArray(type, _events) > -1) {\n return _Galleria[type.toUpperCase()];\n }\n\n return type;\n },\n // video providers\n _video = {\n youtube: {\n reg: /https?:\\/\\/(?:[a-zA_Z]{2,3}.)?(?:youtube\\.com\\/watch\\?)((?:[\\w\\d\\-\\_\\=]+&(?:amp;)?)*v(?:<[A-Z]+>)?=([0-9a-zA-Z\\-\\_]+))/i,\n embed: function embed() {\n return PROT + '//www.youtube.com/embed/' + this.id;\n },\n get_thumb: function get_thumb(data) {\n return PROT + '//img.youtube.com/vi/' + this.id + '/default.jpg';\n },\n get_image: function get_image(data) {\n return PROT + '//img.youtube.com/vi/' + this.id + '/maxresdefault.jpg';\n }\n },\n vimeo: {\n reg: /https?:\\/\\/(?:www\\.)?(vimeo\\.com)\\/(?:hd#)?([0-9]+)/i,\n embed: function embed() {\n return PROT + '//player.vimeo.com/video/' + this.id;\n },\n getUrl: function getUrl() {\n return PROT + '//vimeo.com/api/v2/video/' + this.id + '.json?callback=?';\n },\n get_thumb: function get_thumb(data) {\n return data[0].thumbnail_medium;\n },\n get_image: function get_image(data) {\n return data[0].thumbnail_large;\n }\n },\n dailymotion: {\n reg: /https?:\\/\\/(?:www\\.)?(dailymotion\\.com)\\/video\\/([^_]+)/,\n embed: function embed() {\n return PROT + '//www.dailymotion.com/embed/video/' + this.id;\n },\n getUrl: function getUrl() {\n return 'https://api.dailymotion.com/video/' + this.id + '?fields=thumbnail_240_url,thumbnail_720_url&callback=?';\n },\n get_thumb: function get_thumb(data) {\n return data.thumbnail_240_url;\n },\n get_image: function get_image(data) {\n return data.thumbnail_720_url;\n }\n },\n _inst: []\n },\n Video = function Video(type, id) {\n for (var i = 0; i < _video._inst.length; i++) {\n if (_video._inst[i].id === id && _video._inst[i].type == type) {\n return _video._inst[i];\n }\n }\n\n this.type = type;\n this.id = id;\n this.readys = [];\n\n _video._inst.push(this);\n\n var self = this;\n $.extend(this, _video[type]);\n\n _videoThumbs = function _videoThumbs(data) {\n self.data = data;\n $.each(self.readys, function (i, fn) {\n fn(self.data);\n });\n self.readys = [];\n };\n\n if (this.hasOwnProperty('getUrl')) {\n $.getJSON(this.getUrl(), _videoThumbs);\n } else {\n window.setTimeout(_videoThumbs, 400);\n }\n\n this.getMedia = function (type, callback, fail) {\n fail = fail || F;\n var self = this;\n\n var success = function success(data) {\n callback(self['get_' + type](data));\n };\n\n try {\n if (self.data) {\n success(self.data);\n } else {\n self.readys.push(success);\n }\n } catch (e) {\n fail();\n }\n };\n },\n // utility for testing the video URL and getting the video ID\n _videoTest = function _videoTest(url) {\n var match;\n\n for (var v in _video) {\n match = url && _video[v].reg && url.match(_video[v].reg);\n\n if (match && match.length) {\n return {\n id: match[2],\n provider: v\n };\n }\n }\n\n return false;\n },\n // native fullscreen handler\n _nativeFullscreen = {\n support: function () {\n var html = DOM().html;\n return !IFRAME && (html.requestFullscreen || html.msRequestFullscreen || html.mozRequestFullScreen || html.webkitRequestFullScreen);\n }(),\n callback: F,\n enter: function enter(instance, callback, elem) {\n this.instance = instance;\n this.callback = callback || F;\n elem = elem || DOM().html;\n\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.msRequestFullscreen) {\n elem.msRequestFullscreen();\n } else if (elem.mozRequestFullScreen) {\n elem.mozRequestFullScreen();\n } else if (elem.webkitRequestFullScreen) {\n elem.webkitRequestFullScreen();\n }\n },\n exit: function exit(callback) {\n this.callback = callback || F;\n\n if (doc.exitFullscreen) {\n doc.exitFullscreen();\n } else if (doc.msExitFullscreen) {\n doc.msExitFullscreen();\n } else if (doc.mozCancelFullScreen) {\n doc.mozCancelFullScreen();\n } else if (doc.webkitCancelFullScreen) {\n doc.webkitCancelFullScreen();\n }\n },\n instance: null,\n listen: function listen() {\n if (!this.support) {\n return;\n }\n\n var handler = function handler() {\n if (!_nativeFullscreen.instance) {\n return;\n }\n\n var fs = _nativeFullscreen.instance._fullscreen;\n\n if (doc.fullscreen || doc.mozFullScreen || doc.webkitIsFullScreen || doc.msFullscreenElement && doc.msFullscreenElement !== null) {\n fs._enter(_nativeFullscreen.callback);\n } else {\n fs._exit(_nativeFullscreen.callback);\n }\n };\n\n doc.addEventListener('fullscreenchange', handler, false);\n doc.addEventListener('MSFullscreenChange', handler, false);\n doc.addEventListener('mozfullscreenchange', handler, false);\n doc.addEventListener('webkitfullscreenchange', handler, false);\n }\n },\n // the internal gallery holder\n _galleries = [],\n // the internal instance holder\n _instances = [],\n // flag for errors\n _hasError = false,\n // canvas holder\n _canvas = false,\n // instance pool, holds the galleries until themeLoad is triggered\n _pool = [],\n // Run galleries from theme trigger\n _loadedThemes = [],\n _themeLoad = function _themeLoad(theme) {\n _loadedThemes.push(theme); // run the instances we have in the pool\n // and apply the last theme if not specified\n\n\n $.each(_pool, function (i, instance) {\n if (instance._options.theme == theme.name || !instance._initialized && !instance._options.theme) {\n instance.theme = theme;\n\n instance._init.call(instance);\n }\n });\n },\n // the Utils singleton\n Utils = function () {\n return {\n // legacy support for clearTimer\n clearTimer: function clearTimer(id) {\n $.each(_Galleria.get(), function () {\n this.clearTimer(id);\n });\n },\n // legacy support for addTimer\n addTimer: function addTimer(id) {\n $.each(_Galleria.get(), function () {\n this.addTimer(id);\n });\n },\n array: function array(obj) {\n return protoArray.slice.call(obj, 0);\n },\n create: function create(className, nodeName) {\n nodeName = nodeName || 'div';\n var elem = doc.createElement(nodeName);\n elem.className = className;\n return elem;\n },\n removeFromArray: function removeFromArray(arr, elem) {\n $.each(arr, function (i, el) {\n if (el == elem) {\n arr.splice(i, 1);\n return false;\n }\n });\n return arr;\n },\n getScriptPath: function getScriptPath(src) {\n // the currently executing script is always the last\n src = src || $('script:last').attr('src');\n var slices = src.split('/');\n\n if (slices.length == 1) {\n return '';\n }\n\n slices.pop();\n return slices.join('/') + '/';\n },\n // CSS3 transitions, added in 1.2.4\n animate: function () {\n // detect transition\n var transition = function (style) {\n var props = 'transition WebkitTransition MozTransition OTransition'.split(' '),\n i; // disable css3 animations in opera until stable\n\n if (window.opera) {\n return false;\n }\n\n for (i = 0; props[i]; i++) {\n if (typeof style[props[i]] !== 'undefined') {\n return props[i];\n }\n }\n\n return false;\n }((doc.body || doc.documentElement).style); // map transitionend event\n\n\n var endEvent = {\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd',\n WebkitTransition: 'webkitTransitionEnd',\n transition: 'transitionend'\n }[transition]; // map bezier easing conversions\n\n var easings = {\n _default: [0.25, 0.1, 0.25, 1],\n galleria: [0.645, 0.045, 0.355, 1],\n galleriaIn: [0.55, 0.085, 0.68, 0.53],\n galleriaOut: [0.25, 0.46, 0.45, 0.94],\n ease: [0.25, 0, 0.25, 1],\n linear: [0.25, 0.25, 0.75, 0.75],\n 'ease-in': [0.42, 0, 1, 1],\n 'ease-out': [0, 0, 0.58, 1],\n 'ease-in-out': [0.42, 0, 0.58, 1]\n }; // function for setting transition css for all browsers\n\n var setStyle = function setStyle(elem, value, suffix) {\n var css = {};\n suffix = suffix || 'transition';\n $.each('webkit moz ms o'.split(' '), function () {\n css['-' + this + '-' + suffix] = value;\n });\n elem.css(css);\n }; // clear styles\n\n\n var clearStyle = function clearStyle(elem) {\n setStyle(elem, 'none', 'transition');\n\n if (_Galleria.WEBKIT && _Galleria.TOUCH) {\n setStyle(elem, 'translate3d(0,0,0)', 'transform');\n\n if (elem.data('revert')) {\n elem.css(elem.data('revert'));\n elem.data('revert', null);\n }\n }\n }; // various variables\n\n\n var change, strings, easing, syntax, revert, form, css; // the actual animation method\n\n return function (elem, to, options) {\n // extend defaults\n options = $.extend({\n duration: 400,\n complete: F,\n stop: false\n }, options); // cache jQuery instance\n\n elem = $(elem);\n\n if (!options.duration) {\n elem.css(to);\n options.complete.call(elem[0]);\n return;\n } // fallback to jQuery's animate if transition is not supported\n\n\n if (!transition) {\n elem.animate(to, options);\n return;\n } // stop\n\n\n if (options.stop) {\n // clear the animation\n elem.off(endEvent);\n clearStyle(elem);\n } // see if there is a change\n\n\n change = false;\n $.each(to, function (key, val) {\n css = elem.css(key);\n\n if (Utils.parseValue(css) != Utils.parseValue(val)) {\n change = true;\n } // also add computed styles for FF\n\n\n elem.css(key, css);\n });\n\n if (!change) {\n window.setTimeout(function () {\n options.complete.call(elem[0]);\n }, options.duration);\n return;\n } // the css strings to be applied\n\n\n strings = []; // the easing bezier\n\n easing = options.easing in easings ? easings[options.easing] : easings._default; // the syntax\n\n syntax = ' ' + options.duration + 'ms' + ' cubic-bezier(' + easing.join(',') + ')'; // add a tiny timeout so that the browsers catches any css changes before animating\n\n window.setTimeout(function (elem, endEvent, to, syntax) {\n return function () {\n // attach the end event\n elem.one(endEvent, function (elem) {\n return function () {\n // clear the animation\n clearStyle(elem); // run the complete method\n\n options.complete.call(elem[0]);\n };\n }(elem)); // do the webkit translate3d for better performance on iOS\n\n if (_Galleria.WEBKIT && _Galleria.TOUCH) {\n revert = {};\n form = [0, 0, 0];\n $.each(['left', 'top'], function (i, m) {\n if (m in to) {\n form[i] = Utils.parseValue(to[m]) - Utils.parseValue(elem.css(m)) + 'px';\n revert[m] = to[m];\n delete to[m];\n }\n });\n\n if (form[0] || form[1]) {\n elem.data('revert', revert);\n strings.push('-webkit-transform' + syntax); // 3d animate\n\n setStyle(elem, 'translate3d(' + form.join(',') + ')', 'transform');\n }\n } // push the animation props\n\n\n $.each(to, function (p, val) {\n strings.push(p + syntax);\n }); // set the animation styles\n\n setStyle(elem, strings.join(',')); // animate\n\n elem.css(to);\n };\n }(elem, endEvent, to, syntax), 2);\n };\n }(),\n removeAlpha: function removeAlpha(elem) {\n if (elem instanceof jQuery) {\n elem = elem[0];\n }\n\n if (IE < 9 && elem) {\n var style = elem.style,\n currentStyle = elem.currentStyle,\n filter = currentStyle && currentStyle.filter || style.filter || \"\";\n\n if (/alpha/.test(filter)) {\n style.filter = filter.replace(/alpha\\([^)]*\\)/i, '');\n }\n }\n },\n forceStyles: function forceStyles(elem, styles) {\n elem = $(elem);\n\n if (elem.attr('style')) {\n elem.data('styles', elem.attr('style')).removeAttr('style');\n }\n\n elem.css(styles);\n },\n revertStyles: function revertStyles() {\n $.each(Utils.array(arguments), function (i, elem) {\n elem = $(elem);\n elem.removeAttr('style');\n elem.attr('style', ''); // \"fixes\" webkit bug\n\n if (elem.data('styles')) {\n elem.attr('style', elem.data('styles')).data('styles', null);\n }\n });\n },\n moveOut: function moveOut(elem) {\n Utils.forceStyles(elem, {\n position: 'absolute',\n left: -10000\n });\n },\n moveIn: function moveIn() {\n Utils.revertStyles.apply(Utils, Utils.array(arguments));\n },\n hide: function hide(elem, speed, callback) {\n callback = callback || F;\n var $elem = $(elem);\n elem = $elem[0]; // save the value if not exist\n\n if (!$elem.data('opacity')) {\n $elem.data('opacity', $elem.css('opacity'));\n } // always hide\n\n\n var style = {\n opacity: 0\n };\n\n if (speed) {\n var complete = IE < 9 && elem ? function () {\n Utils.removeAlpha(elem);\n elem.style.visibility = 'hidden';\n callback.call(elem);\n } : callback;\n Utils.animate(elem, style, {\n duration: speed,\n complete: complete,\n stop: true\n });\n } else {\n if (IE < 9 && elem) {\n Utils.removeAlpha(elem);\n elem.style.visibility = 'hidden';\n } else {\n $elem.css(style);\n }\n }\n },\n show: function show(elem, speed, callback) {\n callback = callback || F;\n var $elem = $(elem);\n elem = $elem[0]; // bring back saved opacity\n\n var saved = parseFloat($elem.data('opacity')) || 1,\n style = {\n opacity: saved\n }; // animate or toggle\n\n if (speed) {\n if (IE < 9) {\n $elem.css('opacity', 0);\n elem.style.visibility = 'visible';\n }\n\n var complete = IE < 9 && elem ? function () {\n if (style.opacity == 1) {\n Utils.removeAlpha(elem);\n }\n\n callback.call(elem);\n } : callback;\n Utils.animate(elem, style, {\n duration: speed,\n complete: complete,\n stop: true\n });\n } else {\n if (IE < 9 && style.opacity == 1 && elem) {\n Utils.removeAlpha(elem);\n elem.style.visibility = 'visible';\n } else {\n $elem.css(style);\n }\n }\n },\n wait: function wait(options) {\n _Galleria._waiters = _Galleria._waiters || [];\n options = $.extend({\n until: FALSE,\n success: F,\n error: function error() {\n _Galleria.raise('Could not complete wait function.');\n },\n timeout: 3000\n }, options);\n\n var start = Utils.timestamp(),\n elapsed,\n now,\n tid,\n fn = function fn() {\n now = Utils.timestamp();\n elapsed = now - start;\n Utils.removeFromArray(_Galleria._waiters, tid);\n\n if (options.until(elapsed)) {\n options.success();\n return false;\n }\n\n if (typeof options.timeout == 'number' && now >= start + options.timeout) {\n options.error();\n return false;\n }\n\n _Galleria._waiters.push(tid = window.setTimeout(fn, 10));\n };\n\n _Galleria._waiters.push(tid = window.setTimeout(fn, 10));\n },\n toggleQuality: function toggleQuality(img, force) {\n if (IE !== 7 && IE !== 8 || !img || img.nodeName.toUpperCase() != 'IMG') {\n return;\n }\n\n if (typeof force === 'undefined') {\n force = img.style.msInterpolationMode === 'nearest-neighbor';\n }\n\n img.style.msInterpolationMode = force ? 'bicubic' : 'nearest-neighbor';\n },\n insertStyleTag: function insertStyleTag(styles, id) {\n if (id && $('#' + id).length) {\n return;\n }\n\n var style = doc.createElement('style');\n\n if (id) {\n style.id = id;\n }\n\n DOM().head.appendChild(style);\n\n if (style.styleSheet) {\n // IE\n style.styleSheet.cssText = styles;\n } else {\n var cssText = doc.createTextNode(styles);\n style.appendChild(cssText);\n }\n },\n // a loadscript method that works for local scripts\n loadScript: function loadScript(url, callback) {\n var done = false,\n script = $('').attr({\n src: url,\n async: true\n }).get(0); // Attach handlers for all browsers\n\n script.onload = script.onreadystatechange = function () {\n if (!done && (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete')) {\n done = true; // Handle memory leak in IE\n\n script.onload = script.onreadystatechange = null;\n\n if (typeof callback === 'function') {\n callback.call(this, this);\n }\n }\n };\n\n DOM().head.appendChild(script);\n },\n // parse anything into a number\n parseValue: function parseValue(val) {\n if (typeof val === 'number') {\n return val;\n } else if (typeof val === 'string') {\n var arr = val.match(/\\-?\\d|\\./g);\n return arr && arr.constructor === Array ? arr.join('') * 1 : 0;\n } else {\n return 0;\n }\n },\n // timestamp abstraction\n timestamp: function timestamp() {\n return new Date().getTime();\n },\n loadCSS: function loadCSS(href, id, callback) {\n var link, length; // look for manual css\n\n $('link[rel=stylesheet]').each(function () {\n if (new RegExp(href).test(this.href)) {\n link = this;\n return false;\n }\n });\n\n if (typeof id === 'function') {\n callback = id;\n id = undef;\n }\n\n callback = callback || F; // dirty\n // if already present, return\n\n if (link) {\n callback.call(link, link);\n return link;\n } // save the length of stylesheets to check against\n\n\n length = doc.styleSheets.length; // check for existing id\n\n if ($('#' + id).length) {\n $('#' + id).attr('href', href);\n length--;\n } else {\n link = $('').attr({\n rel: 'stylesheet',\n href: href,\n id: id\n }).get(0);\n var styles = $('link[rel=\"stylesheet\"], style');\n\n if (styles.length) {\n styles.get(0).parentNode.insertBefore(link, styles[0]);\n } else {\n DOM().head.appendChild(link);\n }\n\n if (IE && length >= 31) {\n _Galleria.raise('You have reached the browser stylesheet limit (31)', true);\n\n return;\n }\n }\n\n if (typeof callback === 'function') {\n // First check for dummy element (new in 1.2.8)\n var $loader = $('').attr('id', 'galleria-loader').hide().appendTo(DOM().body);\n Utils.wait({\n until: function until() {\n return $loader.height() > 0;\n },\n success: function success() {\n $loader.remove();\n callback.call(link, link);\n },\n error: function error() {\n $loader.remove(); // If failed, tell the dev to download the latest theme\n\n _Galleria.raise('Theme CSS could not load after 20 sec. ' + (_Galleria.QUIRK ? 'Your browser is in Quirks Mode, please add a correct doctype.' : 'Please download the latest theme.'), true);\n },\n timeout: 5000\n });\n }\n\n return link;\n }\n };\n }(),\n // play icon\n _playIcon = function _playIcon(container) {\n var css = '.galleria-videoicon{width:60px;height:60px;position:absolute;top:50%;left:50%;z-index:1;' + 'margin:-30px 0 0 -30px;cursor:pointer;background:#000;background:rgba(0,0,0,.8);border-radius:3px;-webkit-transition:all 150ms}' + '.galleria-videoicon i{width:0px;height:0px;border-style:solid;border-width:10px 0 10px 16px;display:block;' + 'border-color:transparent transparent transparent #ffffff;margin:20px 0 0 22px}.galleria-image:hover .galleria-videoicon{background:#000}';\n Utils.insertStyleTag(css, 'galleria-videoicon');\n return $(Utils.create('galleria-videoicon')).html('').appendTo(container).click(function () {\n $(this).siblings('img').mouseup();\n });\n },\n // the transitions holder\n _transitions = function () {\n var _slide = function _slide(params, complete, fade, door) {\n var easing = this.getOptions('easing'),\n distance = this.getStageWidth(),\n from = {\n left: distance * (params.rewind ? -1 : 1)\n },\n to = {\n left: 0\n };\n\n if (fade) {\n from.opacity = 0;\n to.opacity = 1;\n } else {\n from.opacity = 1;\n }\n\n $(params.next).css(from);\n Utils.animate(params.next, to, {\n duration: params.speed,\n complete: function (elems) {\n return function () {\n complete();\n elems.css({\n left: 0\n });\n };\n }($(params.next).add(params.prev)),\n queue: false,\n easing: easing\n });\n\n if (door) {\n params.rewind = !params.rewind;\n }\n\n if (params.prev) {\n from = {\n left: 0\n };\n to = {\n left: distance * (params.rewind ? 1 : -1)\n };\n\n if (fade) {\n from.opacity = 1;\n to.opacity = 0;\n }\n\n $(params.prev).css(from);\n Utils.animate(params.prev, to, {\n duration: params.speed,\n queue: false,\n easing: easing,\n complete: function complete() {\n $(this).css('opacity', 0);\n }\n });\n }\n };\n\n return {\n active: false,\n init: function init(effect, params, complete) {\n if (_transitions.effects.hasOwnProperty(effect)) {\n _transitions.effects[effect].call(this, params, complete);\n }\n },\n effects: {\n fade: function fade(params, complete) {\n $(params.next).css({\n opacity: 0,\n left: 0\n });\n Utils.animate(params.next, {\n opacity: 1\n }, {\n duration: params.speed,\n complete: complete\n });\n\n if (params.prev) {\n $(params.prev).css('opacity', 1).show();\n Utils.animate(params.prev, {\n opacity: 0\n }, {\n duration: params.speed\n });\n }\n },\n flash: function flash(params, _complete) {\n $(params.next).css({\n opacity: 0,\n left: 0\n });\n\n if (params.prev) {\n Utils.animate(params.prev, {\n opacity: 0\n }, {\n duration: params.speed / 2,\n complete: function complete() {\n Utils.animate(params.next, {\n opacity: 1\n }, {\n duration: params.speed,\n complete: _complete\n });\n }\n });\n } else {\n Utils.animate(params.next, {\n opacity: 1\n }, {\n duration: params.speed,\n complete: _complete\n });\n }\n },\n pulse: function pulse(params, complete) {\n if (params.prev) {\n $(params.prev).hide();\n }\n\n $(params.next).css({\n opacity: 0,\n left: 0\n }).show();\n Utils.animate(params.next, {\n opacity: 1\n }, {\n duration: params.speed,\n complete: complete\n });\n },\n slide: function slide(params, complete) {\n _slide.apply(this, Utils.array(arguments));\n },\n fadeslide: function fadeslide(params, complete) {\n _slide.apply(this, Utils.array(arguments).concat([true]));\n },\n doorslide: function doorslide(params, complete) {\n _slide.apply(this, Utils.array(arguments).concat([false, true]));\n }\n }\n };\n }(); // listen to fullscreen\n\n\n _nativeFullscreen.listen(); // create special click:fast event for fast touch interaction\n\n\n $.event.special['click:fast'] = {\n propagate: true,\n add: function add(handleObj) {\n var getCoords = function getCoords(e) {\n if (e.touches && e.touches.length) {\n var touch = e.touches[0];\n return {\n x: touch.pageX,\n y: touch.pageY\n };\n }\n };\n\n var def = {\n touched: false,\n touchdown: false,\n coords: {\n x: 0,\n y: 0\n },\n evObj: {}\n };\n $(this).data({\n clickstate: def,\n timer: 0\n }).on('touchstart.fast', function (e) {\n window.clearTimeout($(this).data('timer'));\n $(this).data('clickstate', {\n touched: true,\n touchdown: true,\n coords: getCoords(e.originalEvent),\n evObj: e\n });\n }).on('touchmove.fast', function (e) {\n var coords = getCoords(e.originalEvent),\n state = $(this).data('clickstate'),\n distance = Math.max(Math.abs(state.coords.x - coords.x), Math.abs(state.coords.y - coords.y));\n\n if (distance > 6) {\n $(this).data('clickstate', $.extend(state, {\n touchdown: false\n }));\n }\n }).on('touchend.fast', function (e) {\n var $this = $(this),\n state = $this.data('clickstate');\n\n if (state.touchdown) {\n handleObj.handler.call(this, e);\n }\n\n $this.data('timer', window.setTimeout(function () {\n $this.data('clickstate', def);\n }, 400));\n }).on('click.fast', function (e) {\n var state = $(this).data('clickstate');\n\n if (state.touched) {\n return false;\n }\n\n $(this).data('clickstate', def);\n handleObj.handler.call(this, e);\n });\n },\n remove: function remove() {\n $(this).off('touchstart.fast touchmove.fast touchend.fast click.fast');\n }\n }; // trigger resize on orientationchange (IOS7)\n\n $win.on('orientationchange', function () {\n $(this).resize();\n });\n /**\n The main Galleria class\n \n @class\n @constructor\n \n @example var gallery = new Galleria();\n \n @author http://wib.io\n \n @requires jQuery\n \n */\n\n _Galleria = function Galleria() {\n var self = this; // internal options\n\n this._options = {}; // flag for controlling play/pause\n\n this._playing = false; // internal interval for slideshow\n\n this._playtime = 5000; // internal variable for the currently active image\n\n this._active = null; // the internal queue, arrayified\n\n this._queue = {\n length: 0\n }; // the internal data array\n\n this._data = []; // the internal dom collection\n\n this._dom = {}; // the internal thumbnails array\n\n this._thumbnails = []; // the internal layers array\n\n this._layers = []; // internal init flag\n\n this._initialized = false; // internal firstrun flag\n\n this._firstrun = false; // global stagewidth/height\n\n this._stageWidth = 0;\n this._stageHeight = 0; // target holder\n\n this._target = undef; // bind hashes\n\n this._binds = []; // instance id\n\n this._id = parseInt(M.random() * 10000, 10); // add some elements\n\n var divs = 'container stage images image-nav image-nav-left image-nav-right ' + 'info info-text info-title info-description ' + 'thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right ' + 'loader counter tooltip',\n spans = 'current total';\n $.each(divs.split(' '), function (i, elemId) {\n self._dom[elemId] = Utils.create('galleria-' + elemId);\n });\n $.each(spans.split(' '), function (i, elemId) {\n self._dom[elemId] = Utils.create('galleria-' + elemId, 'span');\n }); // the internal keyboard object\n // keeps reference of the keybinds and provides helper methods for binding keys\n\n var keyboard = this._keyboard = {\n keys: {\n 'UP': 38,\n 'DOWN': 40,\n 'LEFT': 37,\n 'RIGHT': 39,\n 'RETURN': 13,\n 'ESCAPE': 27,\n 'BACKSPACE': 8,\n 'SPACE': 32\n },\n map: {},\n bound: false,\n press: function press(e) {\n var key = e.keyCode || e.which;\n\n if (key in keyboard.map && typeof keyboard.map[key] === 'function') {\n keyboard.map[key].call(self, e);\n }\n },\n attach: function attach(map) {\n var key, up;\n\n for (key in map) {\n if (map.hasOwnProperty(key)) {\n up = key.toUpperCase();\n\n if (up in keyboard.keys) {\n keyboard.map[keyboard.keys[up]] = map[key];\n } else {\n keyboard.map[up] = map[key];\n }\n }\n }\n\n if (!keyboard.bound) {\n keyboard.bound = true;\n $doc.on('keydown', keyboard.press);\n }\n },\n detach: function detach() {\n keyboard.bound = false;\n keyboard.map = {};\n $doc.off('keydown', keyboard.press);\n }\n }; // internal controls for keeping track of active / inactive images\n\n var controls = this._controls = {\n 0: undef,\n 1: undef,\n active: 0,\n swap: function swap() {\n controls.active = controls.active ? 0 : 1;\n },\n getActive: function getActive() {\n return self._options.swipe ? controls.slides[self._active] : controls[controls.active];\n },\n getNext: function getNext() {\n return self._options.swipe ? controls.slides[self.getNext(self._active)] : controls[1 - controls.active];\n },\n slides: [],\n frames: [],\n layers: []\n }; // internal carousel object\n\n var carousel = this._carousel = {\n // shortcuts\n next: self.$('thumb-nav-right'),\n prev: self.$('thumb-nav-left'),\n // cache the width\n width: 0,\n // track the current position\n current: 0,\n // cache max value\n max: 0,\n // save all hooks for each width in an array\n hooks: [],\n // update the carousel\n // you can run this method anytime, f.ex on window.resize\n update: function update() {\n var w = 0,\n h = 0,\n hooks = [0];\n $.each(self._thumbnails, function (i, thumb) {\n if (thumb.ready) {\n w += thumb.outerWidth || $(thumb.container).outerWidth(true); // Due to a bug in jquery, outerwidth() returns the floor of the actual outerwidth,\n // if the browser is zoom to a value other than 100%. height() returns the floating point value.\n\n var containerWidth = $(thumb.container).width();\n w += containerWidth - M.floor(containerWidth);\n hooks[i + 1] = w;\n h = M.max(h, thumb.outerHeight || $(thumb.container).outerHeight(true));\n }\n });\n self.$('thumbnails').css({\n width: w,\n height: h\n });\n carousel.max = w;\n carousel.hooks = hooks;\n carousel.width = self.$('thumbnails-list').width();\n carousel.setClasses();\n self.$('thumbnails-container').toggleClass('galleria-carousel', w > carousel.width); // one extra calculation\n\n carousel.width = self.$('thumbnails-list').width(); // todo: fix so the carousel moves to the left\n },\n bindControls: function bindControls() {\n var i;\n carousel.next.on('click:fast', function (e) {\n e.preventDefault();\n\n if (self._options.carouselSteps === 'auto') {\n for (i = carousel.current; i < carousel.hooks.length; i++) {\n if (carousel.hooks[i] - carousel.hooks[carousel.current] > carousel.width) {\n carousel.set(i - 2);\n break;\n }\n }\n } else {\n carousel.set(carousel.current + self._options.carouselSteps);\n }\n });\n carousel.prev.on('click:fast', function (e) {\n e.preventDefault();\n\n if (self._options.carouselSteps === 'auto') {\n for (i = carousel.current; i >= 0; i--) {\n if (carousel.hooks[carousel.current] - carousel.hooks[i] > carousel.width) {\n carousel.set(i + 2);\n break;\n } else if (i === 0) {\n carousel.set(0);\n break;\n }\n }\n } else {\n carousel.set(carousel.current - self._options.carouselSteps);\n }\n });\n },\n // calculate and set positions\n set: function set(i) {\n i = M.max(i, 0);\n\n while (carousel.hooks[i - 1] + carousel.width >= carousel.max && i >= 0) {\n i--;\n }\n\n carousel.current = i;\n carousel.animate();\n },\n // get the last position\n getLast: function getLast(i) {\n return (i || carousel.current) - 1;\n },\n // follow the active image\n follow: function follow(i) {\n //don't follow if position fits\n if (i === 0 || i === carousel.hooks.length - 2) {\n carousel.set(i);\n return;\n } // calculate last position\n\n\n var last = carousel.current;\n\n while (carousel.hooks[last] - carousel.hooks[carousel.current] < carousel.width && last <= carousel.hooks.length) {\n last++;\n } // set position\n\n\n if (i - 1 < carousel.current) {\n carousel.set(i - 1);\n } else if (i + 2 > last) {\n carousel.set(i - last + carousel.current + 2);\n }\n },\n // helper for setting disabled classes\n setClasses: function setClasses() {\n carousel.prev.toggleClass('disabled', !carousel.current);\n carousel.next.toggleClass('disabled', carousel.hooks[carousel.current] + carousel.width >= carousel.max);\n },\n // the animation method\n animate: function animate(to) {\n carousel.setClasses();\n var num = carousel.hooks[carousel.current] * -1;\n\n if (isNaN(num)) {\n return;\n } // FF 24 bug\n\n\n self.$('thumbnails').css('left', function () {\n return $(this).css('left');\n });\n Utils.animate(self.get('thumbnails'), {\n left: num\n }, {\n duration: self._options.carouselSpeed,\n easing: self._options.easing,\n queue: false\n });\n }\n }; // tooltip control\n // added in 1.2\n\n var tooltip = this._tooltip = {\n initialized: false,\n open: false,\n timer: 'tooltip' + self._id,\n swapTimer: 'swap' + self._id,\n init: function init() {\n tooltip.initialized = true;\n var css = '.galleria-tooltip{padding:3px 8px;max-width:50%;background:#ffe;color:#000;z-index:3;position:absolute;font-size:11px;line-height:1.3;' + 'opacity:0;box-shadow:0 0 2px rgba(0,0,0,.4);-moz-box-shadow:0 0 2px rgba(0,0,0,.4);-webkit-box-shadow:0 0 2px rgba(0,0,0,.4);}';\n Utils.insertStyleTag(css, 'galleria-tooltip');\n self.$('tooltip').css({\n opacity: 0.8,\n visibility: 'visible',\n display: 'none'\n });\n },\n // move handler\n move: function move(e) {\n var mouseX = self.getMousePosition(e).x,\n mouseY = self.getMousePosition(e).y,\n $elem = self.$('tooltip'),\n x = mouseX,\n y = mouseY,\n height = $elem.outerHeight(true) + 1,\n width = $elem.outerWidth(true),\n limitY = height + 15;\n var maxX = self.$('container').width() - width - 2,\n maxY = self.$('container').height() - height - 2;\n\n if (!isNaN(x) && !isNaN(y)) {\n x += 10;\n y -= height + 8;\n x = M.max(0, M.min(maxX, x));\n y = M.max(0, M.min(maxY, y));\n\n if (mouseY < limitY) {\n y = limitY;\n }\n\n $elem.css({\n left: x,\n top: y\n });\n }\n },\n // bind elements to the tooltip\n // you can bind multiple elementIDs using { elemID : function } or { elemID : string }\n // you can also bind single DOM elements using bind(elem, string)\n bind: function bind(elem, value) {\n // todo: revise if alternative tooltip is needed for mobile devices\n if (_Galleria.TOUCH) {\n return;\n }\n\n if (!tooltip.initialized) {\n tooltip.init();\n }\n\n var mouseout = function mouseout() {\n self.$('container').off('mousemove', tooltip.move);\n self.clearTimer(tooltip.timer);\n self.$('tooltip').stop().animate({\n opacity: 0\n }, 200, function () {\n self.$('tooltip').hide();\n self.addTimer(tooltip.swapTimer, function () {\n tooltip.open = false;\n }, 1000);\n });\n };\n\n var hover = function hover(elem, value) {\n tooltip.define(elem, value);\n $(elem).hover(function () {\n self.clearTimer(tooltip.swapTimer);\n self.$('container').off('mousemove', tooltip.move).on('mousemove', tooltip.move).trigger('mousemove');\n tooltip.show(elem);\n self.addTimer(tooltip.timer, function () {\n self.$('tooltip').stop().show().animate({\n opacity: 1\n });\n tooltip.open = true;\n }, tooltip.open ? 0 : 500);\n }, mouseout).click(mouseout);\n };\n\n if (typeof value === 'string') {\n hover(elem in self._dom ? self.get(elem) : elem, value);\n } else {\n // asume elemID here\n $.each(elem, function (elemID, val) {\n hover(self.get(elemID), val);\n });\n }\n },\n show: function show(elem) {\n elem = $(elem in self._dom ? self.get(elem) : elem);\n\n var text = elem.data('tt'),\n mouseup = function mouseup(e) {\n // attach a tiny settimeout to make sure the new tooltip is filled\n window.setTimeout(function (ev) {\n return function () {\n tooltip.move(ev);\n };\n }(e), 10);\n elem.off('mouseup', mouseup);\n };\n\n text = typeof text === 'function' ? text() : text;\n\n if (!text) {\n return;\n }\n\n self.$('tooltip').html(text.replace(/\\s/, ' ')); // trigger mousemove on mouseup in case of click\n\n elem.on('mouseup', mouseup);\n },\n define: function define(elem, value) {\n // we store functions, not strings\n if (typeof value !== 'function') {\n var s = value;\n\n value = function value() {\n return s;\n };\n }\n\n elem = $(elem in self._dom ? self.get(elem) : elem).data('tt', value);\n tooltip.show(elem);\n }\n }; // internal fullscreen control\n\n var fullscreen = this._fullscreen = {\n scrolled: 0,\n crop: undef,\n active: false,\n prev: $(),\n beforeEnter: function beforeEnter(fn) {\n fn();\n },\n beforeExit: function beforeExit(fn) {\n fn();\n },\n keymap: self._keyboard.map,\n parseCallback: function parseCallback(callback, enter) {\n return _transitions.active ? function () {\n if (typeof callback == 'function') {\n callback.call(self);\n }\n\n var active = self._controls.getActive(),\n next = self._controls.getNext();\n\n self._scaleImage(next);\n\n self._scaleImage(active);\n\n if (enter && self._options.trueFullscreen) {\n // Firefox bug, revise later\n $(active.container).add(next.container).trigger('transitionend');\n }\n } : callback;\n },\n enter: function enter(callback) {\n fullscreen.beforeEnter(function () {\n callback = fullscreen.parseCallback(callback, true);\n\n if (self._options.trueFullscreen && _nativeFullscreen.support) {\n // do some stuff prior animation for wmoother transitions\n fullscreen.active = true;\n Utils.forceStyles(self.get('container'), {\n width: '100%',\n height: '100%'\n });\n self.rescale();\n\n if (_Galleria.MAC) {\n if (!(_Galleria.SAFARI && /version\\/[1-5]/.test(NAV))) {\n self.$('container').css('opacity', 0).addClass('fullscreen');\n window.setTimeout(function () {\n fullscreen.scale();\n self.$('container').css('opacity', 1);\n }, 50);\n } else {\n self.$('stage').css('opacity', 0);\n window.setTimeout(function () {\n fullscreen.scale();\n self.$('stage').css('opacity', 1);\n }, 4);\n }\n } else {\n self.$('container').addClass('fullscreen');\n }\n\n $win.resize(fullscreen.scale);\n\n _nativeFullscreen.enter(self, callback, self.get('container'));\n } else {\n fullscreen.scrolled = $win.scrollTop();\n\n if (!_Galleria.TOUCH) {\n window.scrollTo(0, 0);\n }\n\n fullscreen._enter(callback);\n }\n });\n },\n _enter: function _enter(callback) {\n fullscreen.active = true;\n\n if (IFRAME) {\n fullscreen.iframe = function () {\n var elem,\n refer = doc.referrer,\n test = doc.createElement('a'),\n loc = window.location;\n test.href = refer;\n\n if (test.protocol != loc.protocol || test.hostname != loc.hostname || test.port != loc.port) {\n _Galleria.raise('Parent fullscreen not available. Iframe protocol, domains and ports must match.');\n\n return false;\n }\n\n fullscreen.pd = window.parent.document;\n $(fullscreen.pd).find('iframe').each(function () {\n var idoc = this.contentDocument || this.contentWindow.document;\n\n if (idoc === doc) {\n elem = this;\n return false;\n }\n });\n return elem;\n }();\n } // hide the image until rescale is complete\n\n\n Utils.hide(self.getActiveImage());\n\n if (IFRAME && fullscreen.iframe) {\n fullscreen.iframe.scrolled = $(window.parent).scrollTop();\n window.parent.scrollTo(0, 0);\n }\n\n var data = self.getData(),\n options = self._options,\n inBrowser = !self._options.trueFullscreen || !_nativeFullscreen.support,\n htmlbody = {\n height: '100%',\n overflow: 'hidden',\n margin: 0,\n padding: 0\n };\n\n if (inBrowser) {\n self.$('container').addClass('fullscreen');\n fullscreen.prev = self.$('container').prev();\n\n if (!fullscreen.prev.length) {\n fullscreen.parent = self.$('container').parent();\n } // move\n\n\n self.$('container').appendTo('body'); // begin styleforce\n\n Utils.forceStyles(self.get('container'), {\n position: _Galleria.TOUCH ? 'absolute' : 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 10000\n });\n Utils.forceStyles(DOM().html, htmlbody);\n Utils.forceStyles(DOM().body, htmlbody);\n }\n\n if (IFRAME && fullscreen.iframe) {\n Utils.forceStyles(fullscreen.pd.documentElement, htmlbody);\n Utils.forceStyles(fullscreen.pd.body, htmlbody);\n Utils.forceStyles(fullscreen.iframe, $.extend(htmlbody, {\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n position: 'fixed',\n zIndex: 10000,\n border: 'none'\n }));\n } // temporarily attach some keys\n // save the old ones first in a cloned object\n\n\n fullscreen.keymap = $.extend({}, self._keyboard.map);\n self.attachKeyboard({\n escape: self.exitFullscreen,\n right: self.next,\n left: self.prev\n }); // temporarily save the crop\n\n fullscreen.crop = options.imageCrop; // set fullscreen options\n\n if (options.fullscreenCrop != undef) {\n options.imageCrop = options.fullscreenCrop;\n } // swap to big image if it's different from the display image\n\n\n if (data && data.big && data.image !== data.big) {\n var big = new _Galleria.Picture(),\n cached = big.isCached(data.big),\n index = self.getIndex(),\n thumb = self._thumbnails[index];\n self.trigger({\n type: _Galleria.LOADSTART,\n cached: cached,\n rewind: false,\n index: index,\n imageTarget: self.getActiveImage(),\n thumbTarget: thumb,\n galleriaData: data\n });\n big.load(data.big, function (big) {\n self._scaleImage(big, {\n complete: function complete(big) {\n self.trigger({\n type: _Galleria.LOADFINISH,\n cached: cached,\n index: index,\n rewind: false,\n imageTarget: big.image,\n thumbTarget: thumb\n });\n\n var image = self._controls.getActive().image;\n\n if (image) {\n $(image).width(big.image.width).height(big.image.height).attr('style', $(big.image).attr('style'));\n\n if (big.image.src.srcset) {\n $(image).attr('srcset', big.image.src.srcset);\n }\n\n if (big.image.src.sizes) {\n $(image).attr('sizes', big.image.src.sizes);\n }\n\n $(image).attr('src', big.image.src);\n }\n }\n });\n });\n var n = self.getNext(index),\n p = new _Galleria.Picture(),\n ndata = self.getData(n);\n p.preload(self.isFullscreen() && ndata.big ? ndata.big : ndata.image);\n } // init the first rescale and attach callbacks\n\n\n self.rescale(function () {\n self.addTimer(false, function () {\n // show the image after 50 ms\n if (inBrowser) {\n Utils.show(self.getActiveImage());\n }\n\n if (typeof callback === 'function') {\n callback.call(self);\n }\n\n self.rescale();\n }, 100);\n self.trigger(_Galleria.FULLSCREEN_ENTER);\n });\n\n if (!inBrowser) {\n Utils.show(self.getActiveImage());\n } else {\n $win.resize(fullscreen.scale);\n }\n },\n scale: function scale() {\n self.rescale();\n },\n exit: function exit(callback) {\n fullscreen.beforeExit(function () {\n callback = fullscreen.parseCallback(callback);\n\n if (self._options.trueFullscreen && _nativeFullscreen.support) {\n _nativeFullscreen.exit(callback);\n } else {\n fullscreen._exit(callback);\n }\n });\n },\n _exit: function _exit(callback) {\n fullscreen.active = false;\n var inBrowser = !self._options.trueFullscreen || !_nativeFullscreen.support,\n $container = self.$('container').removeClass('fullscreen'); // move back\n\n if (fullscreen.parent) {\n fullscreen.parent.prepend($container);\n } else {\n $container.insertAfter(fullscreen.prev);\n }\n\n if (inBrowser) {\n Utils.hide(self.getActiveImage()); // revert all styles\n\n Utils.revertStyles(self.get('container'), DOM().html, DOM().body); // scroll back\n\n if (!_Galleria.TOUCH) {\n window.scrollTo(0, fullscreen.scrolled);\n } // reload iframe src manually\n\n\n var frame = self._controls.frames[self._controls.active];\n\n if (frame && frame.image) {\n frame.image.src = frame.image.src;\n }\n }\n\n if (IFRAME && fullscreen.iframe) {\n Utils.revertStyles(fullscreen.pd.documentElement, fullscreen.pd.body, fullscreen.iframe);\n\n if (fullscreen.iframe.scrolled) {\n window.parent.scrollTo(0, fullscreen.iframe.scrolled);\n }\n } // detach all keyboard events and apply the old keymap\n\n\n self.detachKeyboard();\n self.attachKeyboard(fullscreen.keymap); // bring back cached options\n\n self._options.imageCrop = fullscreen.crop; // return to original image\n\n var big = self.getData().big,\n image = self._controls.getActive().image;\n\n if (!self.getData().iframe && image && big && big == image.src) {\n window.setTimeout(function (src) {\n return function () {\n image.src = src;\n };\n }(self.getData().image), 1);\n }\n\n self.rescale(function () {\n self.addTimer(false, function () {\n // show the image after 50 ms\n if (inBrowser) {\n Utils.show(self.getActiveImage());\n }\n\n if (typeof callback === 'function') {\n callback.call(self);\n }\n\n $win.trigger('resize');\n }, 50);\n self.trigger(_Galleria.FULLSCREEN_EXIT);\n });\n $win.off('resize', fullscreen.scale);\n }\n }; // the internal idle object for controlling idle states\n\n var idle = this._idle = {\n trunk: [],\n bound: false,\n active: false,\n add: function add(elem, to, from, hide) {\n if (!elem || _Galleria.TOUCH) {\n return;\n }\n\n if (!idle.bound) {\n idle.addEvent();\n }\n\n elem = $(elem);\n\n if (typeof from == 'boolean') {\n hide = from;\n from = {};\n }\n\n from = from || {};\n var extract = {},\n style;\n\n for (style in to) {\n if (to.hasOwnProperty(style)) {\n extract[style] = elem.css(style);\n }\n }\n\n elem.data('idle', {\n from: $.extend(extract, from),\n to: to,\n complete: true,\n busy: false\n });\n\n if (!hide) {\n idle.addTimer();\n } else {\n elem.css(to);\n }\n\n idle.trunk.push(elem);\n },\n remove: function remove(elem) {\n elem = $(elem);\n $.each(idle.trunk, function (i, el) {\n if (el && el.length && !el.not(elem).length) {\n elem.css(elem.data('idle').from);\n idle.trunk.splice(i, 1);\n }\n });\n\n if (!idle.trunk.length) {\n idle.removeEvent();\n self.clearTimer(idle.timer);\n }\n },\n addEvent: function addEvent() {\n idle.bound = true;\n self.$('container').on('mousemove click', idle.showAll);\n\n if (self._options.idleMode == 'hover') {\n self.$('container').on('mouseleave', idle.hide);\n }\n },\n removeEvent: function removeEvent() {\n idle.bound = false;\n self.$('container').on('mousemove click', idle.showAll);\n\n if (self._options.idleMode == 'hover') {\n self.$('container').off('mouseleave', idle.hide);\n }\n },\n addTimer: function addTimer() {\n if (self._options.idleMode == 'hover') {\n return;\n }\n\n self.addTimer('idle', function () {\n idle.hide();\n }, self._options.idleTime);\n },\n hide: function hide() {\n if (!self._options.idleMode || self.getIndex() === false) {\n return;\n }\n\n self.trigger(_Galleria.IDLE_ENTER);\n var len = idle.trunk.length;\n $.each(idle.trunk, function (i, elem) {\n var data = elem.data('idle');\n\n if (!data) {\n return;\n }\n\n elem.data('idle').complete = false;\n Utils.animate(elem, data.to, {\n duration: self._options.idleSpeed,\n complete: function complete() {\n if (i == len - 1) {\n idle.active = false;\n }\n }\n });\n });\n },\n showAll: function showAll() {\n self.clearTimer('idle');\n $.each(idle.trunk, function (i, elem) {\n idle.show(elem);\n });\n },\n show: function show(elem) {\n var data = elem.data('idle');\n\n if (!idle.active || !data.busy && !data.complete) {\n data.busy = true;\n self.trigger(_Galleria.IDLE_EXIT);\n self.clearTimer('idle');\n Utils.animate(elem, data.from, {\n duration: self._options.idleSpeed / 2,\n complete: function complete() {\n idle.active = true;\n $(elem).data('idle').busy = false;\n $(elem).data('idle').complete = true;\n }\n });\n }\n\n idle.addTimer();\n }\n }; // internal lightbox object\n // creates a predesigned lightbox for simple popups of images in galleria\n\n var lightbox = this._lightbox = {\n width: 0,\n height: 0,\n initialized: false,\n active: null,\n image: null,\n elems: {},\n keymap: false,\n init: function init() {\n if (lightbox.initialized) {\n return;\n }\n\n lightbox.initialized = true; // create some elements to work with\n\n var elems = 'overlay box content shadow title info close prevholder prev nextholder next counter image',\n el = {},\n op = self._options,\n css = '',\n abs = 'position:absolute;',\n prefix = 'lightbox-',\n cssMap = {\n overlay: 'position:fixed;display:none;opacity:' + op.overlayOpacity + ';filter:alpha(opacity=' + op.overlayOpacity * 100 + ');top:0;left:0;width:100%;height:100%;background:' + op.overlayBackground + ';z-index:99990',\n box: 'position:fixed;display:none;width:400px;height:400px;top:50%;left:50%;margin-top:-200px;margin-left:-200px;z-index:99991',\n shadow: abs + 'background:#000;width:100%;height:100%;',\n content: abs + 'background-color:#fff;top:10px;left:10px;right:10px;bottom:10px;overflow:hidden',\n info: abs + 'bottom:10px;left:10px;right:10px;color:#444;font:11px/13px arial,sans-serif;height:13px',\n close: abs + 'top:10px;right:10px;height:20px;width:20px;background:#fff;text-align:center;cursor:pointer;color:#444;font:16px/22px arial,sans-serif;z-index:99999',\n image: abs + 'top:10px;left:10px;right:10px;bottom:30px;overflow:hidden;display:block;',\n prevholder: abs + 'width:50%;top:0;bottom:40px;cursor:pointer;',\n nextholder: abs + 'width:50%;top:0;bottom:40px;right:-1px;cursor:pointer;',\n prev: abs + 'top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;left:20px;display:none;text-align:center;color:#000;font:bold 16px/36px arial,sans-serif',\n next: abs + 'top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;right:20px;left:auto;display:none;font:bold 16px/36px arial,sans-serif;text-align:center;color:#000',\n title: 'float:left',\n counter: 'float:right;margin-left:8px;'\n },\n hover = function hover(elem) {\n return elem.hover(function () {\n $(this).css('color', '#bbb');\n }, function () {\n $(this).css('color', '#444');\n });\n },\n appends = {}; // fix for navigation hovers transparent background event \"feature\"\n\n\n var exs = '';\n\n if (IE > 7) {\n exs = IE < 9 ? 'background:#000;filter:alpha(opacity=0);' : 'background:rgba(0,0,0,0);';\n } else {\n exs = 'z-index:99999';\n }\n\n cssMap.nextholder += exs;\n cssMap.prevholder += exs; // create and insert CSS\n\n $.each(cssMap, function (key, value) {\n css += '.galleria-' + prefix + key + '{' + value + '}';\n });\n css += '.galleria-' + prefix + 'box.iframe .galleria-' + prefix + 'prevholder,' + '.galleria-' + prefix + 'box.iframe .galleria-' + prefix + 'nextholder{' + 'width:100px;height:100px;top:50%;margin-top:-70px}';\n Utils.insertStyleTag(css, 'galleria-lightbox'); // create the elements\n\n $.each(elems.split(' '), function (i, elemId) {\n self.addElement('lightbox-' + elemId);\n el[elemId] = lightbox.elems[elemId] = self.get('lightbox-' + elemId);\n }); // initiate the image\n\n lightbox.image = new _Galleria.Picture(); // append the elements\n\n $.each({\n box: 'shadow content close prevholder nextholder',\n info: 'title counter',\n content: 'info image',\n prevholder: 'prev',\n nextholder: 'next'\n }, function (key, val) {\n var arr = [];\n $.each(val.split(' '), function (i, prop) {\n arr.push(prefix + prop);\n });\n appends[prefix + key] = arr;\n });\n self.append(appends);\n $(el.image).append(lightbox.image.container);\n $(DOM().body).append(el.overlay, el.box); // add the prev/next nav and bind some controls\n\n hover($(el.close).on('click:fast', lightbox.hide).html('×'));\n $.each(['Prev', 'Next'], function (i, dir) {\n var $d = $(el[dir.toLowerCase()]).html(/v/.test(dir) ? '‹ ' : ' ›'),\n $e = $(el[dir.toLowerCase() + 'holder']);\n $e.on('click:fast', function () {\n lightbox['show' + dir]();\n }); // IE7 and touch devices will simply show the nav\n\n if (IE < 8 || _Galleria.TOUCH) {\n $d.show();\n return;\n }\n\n $e.hover(function () {\n $d.show();\n }, function (e) {\n $d.stop().fadeOut(200);\n });\n });\n $(el.overlay).on('click:fast', lightbox.hide); // the lightbox animation is slow on ipad\n\n if (_Galleria.IPAD) {\n self._options.lightboxTransitionSpeed = 0;\n }\n },\n rescale: function rescale(event) {\n // calculate\n var width = M.min($win.width() - 40, lightbox.width),\n height = M.min($win.height() - 60, lightbox.height),\n ratio = M.min(width / lightbox.width, height / lightbox.height),\n destWidth = M.round(lightbox.width * ratio) + 40,\n destHeight = M.round(lightbox.height * ratio) + 60,\n to = {\n width: destWidth,\n height: destHeight,\n 'margin-top': M.ceil(destHeight / 2) * -1,\n 'margin-left': M.ceil(destWidth / 2) * -1\n }; // if rescale event, don't animate\n\n if (event) {\n $(lightbox.elems.box).css(to);\n } else {\n $(lightbox.elems.box).animate(to, {\n duration: self._options.lightboxTransitionSpeed,\n easing: self._options.easing,\n complete: function complete() {\n var image = lightbox.image,\n speed = self._options.lightboxFadeSpeed;\n self.trigger({\n type: _Galleria.LIGHTBOX_IMAGE,\n imageTarget: image.image\n });\n $(image.container).show();\n $(image.image).animate({\n opacity: 1\n }, speed);\n Utils.show(lightbox.elems.info, speed);\n }\n });\n }\n },\n hide: function hide() {\n // remove the image\n lightbox.image.image = null;\n $win.off('resize', lightbox.rescale);\n $(lightbox.elems.box).hide().find('iframe').remove();\n Utils.hide(lightbox.elems.info);\n self.detachKeyboard();\n self.attachKeyboard(lightbox.keymap);\n lightbox.keymap = false;\n Utils.hide(lightbox.elems.overlay, 200, function () {\n $(this).hide().css('opacity', self._options.overlayOpacity);\n self.trigger(_Galleria.LIGHTBOX_CLOSE);\n });\n },\n showNext: function showNext() {\n lightbox.show(self.getNext(lightbox.active));\n },\n showPrev: function showPrev() {\n lightbox.show(self.getPrev(lightbox.active));\n },\n show: function show(index) {\n lightbox.active = index = typeof index === 'number' ? index : self.getIndex() || 0;\n\n if (!lightbox.initialized) {\n lightbox.init();\n } // trigger the event\n\n\n self.trigger(_Galleria.LIGHTBOX_OPEN); // temporarily attach some keys\n // save the old ones first in a cloned object\n\n if (!lightbox.keymap) {\n lightbox.keymap = $.extend({}, self._keyboard.map);\n self.attachKeyboard({\n escape: lightbox.hide,\n right: lightbox.showNext,\n left: lightbox.showPrev\n });\n }\n\n $win.off('resize', lightbox.rescale);\n var data = self.getData(index),\n total = self.getDataLength(),\n n = self.getNext(index),\n ndata,\n p,\n i;\n Utils.hide(lightbox.elems.info);\n\n try {\n for (i = self._options.preload; i > 0; i--) {\n p = new _Galleria.Picture();\n ndata = self.getData(n);\n p.preload(ndata.big ? ndata.big : ndata.image);\n n = self.getNext(n);\n }\n } catch (e) {}\n\n lightbox.image.isIframe = data.iframe && !data.image;\n $(lightbox.elems.box).toggleClass('iframe', lightbox.image.isIframe);\n $(lightbox.image.container).find('.galleria-videoicon').remove();\n lightbox.image.load(data.big || data.image || data.iframe, function (image) {\n if (image.isIframe) {\n var cw = $(window).width(),\n ch = $(window).height();\n\n if (image.video && self._options.maxVideoSize) {\n var r = M.min(self._options.maxVideoSize / cw, self._options.maxVideoSize / ch);\n\n if (r < 1) {\n cw *= r;\n ch *= r;\n }\n }\n\n lightbox.width = cw;\n lightbox.height = ch;\n } else {\n lightbox.width = image.original.width;\n lightbox.height = image.original.height;\n }\n\n $(image.image).css({\n width: image.isIframe ? '100%' : '100.1%',\n height: image.isIframe ? '100%' : '100.1%',\n top: 0,\n bottom: 0,\n zIndex: 99998,\n opacity: 0,\n visibility: 'visible'\n }).parent().height('100%');\n lightbox.elems.title.innerHTML = data.title || '';\n lightbox.elems.counter.innerHTML = index + 1 + ' / ' + total;\n $win.resize(lightbox.rescale);\n lightbox.rescale();\n\n if (data.image && data.iframe) {\n $(lightbox.elems.box).addClass('iframe');\n\n if (data.video) {\n var $icon = _playIcon(image.container).hide();\n\n window.setTimeout(function () {\n $icon.fadeIn(200);\n }, 200);\n }\n\n $(image.image).css('cursor', 'pointer').mouseup(function (data, image) {\n return function (e) {\n $(lightbox.image.container).find('.galleria-videoicon').remove();\n e.preventDefault();\n image.isIframe = true;\n image.load(data.iframe + (data.video ? '&autoplay=1' : ''), {\n width: '100%',\n height: IE < 8 ? $(lightbox.image.container).height() : '100%'\n });\n };\n }(data, image));\n }\n });\n $(lightbox.elems.overlay).show().css('visibility', 'visible');\n $(lightbox.elems.box).show();\n }\n }; // the internal timeouts object\n // provides helper methods for controlling timeouts\n\n var _timer = this._timer = {\n trunk: {},\n add: function add(id, _fn, delay, loop) {\n id = id || new Date().getTime();\n loop = loop || false;\n this.clear(id);\n\n if (loop) {\n var old = _fn;\n\n _fn = function fn() {\n old();\n\n _timer.add(id, _fn, delay);\n };\n }\n\n this.trunk[id] = window.setTimeout(_fn, delay);\n },\n clear: function clear(id) {\n var del = function del(i) {\n window.clearTimeout(this.trunk[i]);\n delete this.trunk[i];\n },\n i;\n\n if (!!id && id in this.trunk) {\n del.call(this, id);\n } else if (typeof id === 'undefined') {\n for (i in this.trunk) {\n if (this.trunk.hasOwnProperty(i)) {\n del.call(this, i);\n }\n }\n }\n }\n };\n\n return this;\n }; // end Galleria constructor\n\n\n _Galleria.prototype = {\n // bring back the constructor reference\n constructor: _Galleria,\n\n /**\n Use this function to initialize the gallery and start loading.\n Should only be called once per instance.\n @param {HTMLElement} target The target element\n @param {Object} options The gallery options\n @returns Instance\n */\n init: function init(target, options) {\n options = _legacyOptions(options); // save the original ingredients\n\n this._original = {\n target: target,\n options: options,\n data: null\n }; // save the target here\n\n this._target = this._dom.target = target.nodeName ? target : $(target).get(0); // save the original content for destruction\n\n this._original.html = this._target.innerHTML; // push the instance\n\n _instances.push(this); // raise error if no target is detected\n\n\n if (!this._target) {\n _Galleria.raise('Target not found', true);\n\n return;\n } // apply options\n\n\n this._options = {\n autoplay: false,\n carousel: true,\n carouselFollow: true,\n // legacy, deprecate at 1.3\n carouselSpeed: 400,\n carouselSteps: 'auto',\n clicknext: false,\n dailymotion: {\n foreground: '%23EEEEEE',\n highlight: '%235BCEC5',\n background: '%23222222',\n logo: 0,\n hideInfos: 1\n },\n dataConfig: function dataConfig(elem) {\n return {};\n },\n dataSelector: 'img',\n dataSort: false,\n dataSource: this._target,\n debug: undef,\n dummy: undef,\n // 1.2.5\n easing: 'galleria',\n extend: function extend(options) {},\n fullscreenCrop: undef,\n // 1.2.5\n fullscreenDoubleTap: true,\n // 1.2.4 toggles fullscreen on double-tap for touch devices\n fullscreenTransition: undef,\n // 1.2.6\n height: 0,\n idleMode: true,\n // 1.2.4 toggles idleMode\n idleTime: 3000,\n idleSpeed: 200,\n imageCrop: false,\n imageMargin: 0,\n imagePan: false,\n imagePanSmoothness: 12,\n imagePosition: '50%',\n imageTimeout: undef,\n // 1.2.5\n initialTransition: undef,\n // 1.2.4, replaces transitionInitial\n keepSource: false,\n layerFollow: true,\n // 1.2.5\n lightbox: false,\n // 1.2.3\n lightboxFadeSpeed: 200,\n lightboxTransitionSpeed: 200,\n linkSourceImages: true,\n maxScaleRatio: undef,\n maxVideoSize: undef,\n // 1.2.9\n minScaleRatio: undef,\n // deprecated in 1.2.9\n overlayOpacity: 0.85,\n overlayBackground: '#0b0b0b',\n pauseOnInteraction: true,\n popupLinks: false,\n preload: 2,\n queue: true,\n responsive: true,\n show: 0,\n showInfo: true,\n showCounter: true,\n showImagenav: true,\n swipe: 'auto',\n // 1.2.4 -> revised in 1.3 -> changed type in 1.3.5\n theme: null,\n thumbCrop: true,\n thumbEventType: 'click:fast',\n thumbMargin: 0,\n thumbQuality: 'auto',\n thumbDisplayOrder: true,\n // 1.2.8\n thumbPosition: '50%',\n // 1.3\n thumbnails: true,\n touchTransition: undef,\n // 1.2.6\n transition: 'fade',\n transitionInitial: undef,\n // legacy, deprecate in 1.3. Use initialTransition instead.\n transitionSpeed: 400,\n trueFullscreen: true,\n // 1.2.7\n useCanvas: false,\n // 1.2.4\n variation: '',\n // 1.3.2\n videoPoster: true,\n // 1.3\n vimeo: {\n title: 0,\n byline: 0,\n portrait: 0,\n color: 'aaaaaa'\n },\n wait: 5000,\n // 1.2.7\n width: 'auto',\n youtube: {\n modestbranding: 1,\n autohide: 1,\n color: 'white',\n hd: 1,\n rel: 0,\n showinfo: 0\n }\n }; // legacy support for transitionInitial\n\n this._options.initialTransition = this._options.initialTransition || this._options.transitionInitial;\n\n if (options) {\n // turn off debug\n if (options.debug === false) {\n DEBUG = false;\n } // set timeout\n\n\n if (typeof options.imageTimeout === 'number') {\n TIMEOUT = options.imageTimeout;\n } // set dummy\n\n\n if (typeof options.dummy === 'string') {\n DUMMY = options.dummy;\n } // set theme\n\n\n if (typeof options.theme == 'string') {\n this._options.theme = options.theme;\n }\n } // hide all content\n\n\n $(this._target).children().hide(); // Warn for quirks mode\n\n if (_Galleria.QUIRK) {\n _Galleria.raise('Your page is in Quirks mode, Galleria may not render correctly. Please validate your HTML and add a correct doctype.');\n } // now we just have to wait for the theme...\n // first check if it has already loaded\n\n\n if (_loadedThemes.length) {\n if (this._options.theme) {\n for (var i = 0; i < _loadedThemes.length; i++) {\n if (this._options.theme === _loadedThemes[i].name) {\n this.theme = _loadedThemes[i];\n break;\n }\n }\n } else {\n // if no theme sepcified, apply the first loaded theme\n this.theme = _loadedThemes[0];\n }\n }\n\n if (_typeof(this.theme) == 'object') {\n this._init();\n } else {\n // if no theme is loaded yet, push the instance into a pool and run it when the theme is ready\n _pool.push(this);\n }\n\n return this;\n },\n // this method should only be called once per instance\n // for manipulation of data, use the .load method\n _init: function _init() {\n var self = this,\n options = this._options;\n\n if (this._initialized) {\n _Galleria.raise('Init failed: Gallery instance already initialized.');\n\n return this;\n }\n\n this._initialized = true;\n\n if (!this.theme) {\n _Galleria.raise('Init failed: No theme found.', true);\n\n return this;\n } // merge the theme & caller options\n\n\n $.extend(true, options, this.theme.defaults, this._original.options, _Galleria.configure.options); // internally we use boolean for swipe\n\n options.swipe = function (s) {\n if (s == 'enforced') {\n return true;\n } // legacy patch\n\n\n if (s === false || s == 'disabled') {\n return false;\n }\n\n return !!_Galleria.TOUCH;\n }(options.swipe); // disable options that arent compatible with swipe\n\n\n if (options.swipe) {\n options.clicknext = false;\n options.imagePan = false;\n } // check for canvas support\n\n\n (function (can) {\n if (!('getContext' in can)) {\n can = null;\n return;\n }\n\n _canvas = _canvas || {\n elem: can,\n context: can.getContext('2d'),\n cache: {},\n length: 0\n };\n })(doc.createElement('canvas')); // bind the gallery to run when data is ready\n\n\n this.bind(_Galleria.DATA, function () {\n // remove big if total pixels are less than 1024 (most phones)\n if (window.screen && window.screen.width && Array.prototype.forEach) {\n this._data.forEach(function (data) {\n var density = 'devicePixelRatio' in window ? window.devicePixelRatio : 1,\n m = M.max(window.screen.width, window.screen.height);\n\n if (m * density < 1024) {\n data.big = data.image;\n }\n });\n } // save the new data\n\n\n this._original.data = this._data; // lets show the counter here\n\n this.get('total').innerHTML = this.getDataLength(); // cache the container\n\n var $container = this.$('container'); // set ratio if height is < 2\n\n if (self._options.height < 2) {\n self._userRatio = self._ratio = self._options.height;\n } // the gallery is ready, let's just wait for the css\n\n\n var num = {\n width: 0,\n height: 0\n };\n\n var testHeight = function testHeight() {\n return self.$('stage').height();\n }; // check container and thumbnail height\n\n\n Utils.wait({\n until: function until() {\n // keep trying to get the value\n num = self._getWH();\n $container.width(num.width).height(num.height);\n return testHeight() && num.width && num.height > 50;\n },\n success: function success() {\n self._width = num.width;\n self._height = num.height;\n self._ratio = self._ratio || num.height / num.width; // for some strange reason, webkit needs a single setTimeout to play ball\n\n if (_Galleria.WEBKIT) {\n window.setTimeout(function () {\n self._run();\n }, 1);\n } else {\n self._run();\n }\n },\n error: function error() {\n // Height was probably not set, raise hard errors\n if (testHeight()) {\n _Galleria.raise('Could not extract sufficient width/height of the gallery container. Traced measures: width:' + num.width + 'px, height: ' + num.height + 'px.', true);\n } else {\n _Galleria.raise('Could not extract a stage height from the CSS. Traced height: ' + testHeight() + 'px.', true);\n }\n },\n timeout: typeof this._options.wait == 'number' ? this._options.wait : false\n });\n }); // build the gallery frame\n\n this.append({\n 'info-text': ['info-title', 'info-description'],\n 'info': ['info-text'],\n 'image-nav': ['image-nav-right', 'image-nav-left'],\n 'stage': ['images', 'loader', 'counter', 'image-nav'],\n 'thumbnails-list': ['thumbnails'],\n 'thumbnails-container': ['thumb-nav-left', 'thumbnails-list', 'thumb-nav-right'],\n 'container': ['stage', 'thumbnails-container', 'info', 'tooltip']\n });\n Utils.hide(this.$('counter').append(this.get('current'), doc.createTextNode(' / '), this.get('total')));\n this.setCounter('–');\n Utils.hide(self.get('tooltip')); // add a notouch class on the container to prevent unwanted :hovers on touch devices\n\n this.$('container').addClass([_Galleria.TOUCH ? 'touch' : 'notouch', this._options.variation, 'galleria-theme-' + this.theme.name].join(' ')); // add images to the controls\n\n if (!this._options.swipe) {\n $.each(new Array(2), function (i) {\n // create a new Picture instance\n var image = new _Galleria.Picture(); // apply some styles, create & prepend overlay\n\n $(image.container).css({\n position: 'absolute',\n top: 0,\n left: 0\n }).prepend(self._layers[i] = $(Utils.create('galleria-layer')).css({\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 2\n })[0]); // append the image\n\n self.$('images').append(image.container); // reload the controls\n\n self._controls[i] = image; // build a frame\n\n var frame = new _Galleria.Picture();\n frame.isIframe = true;\n $(frame.container).attr('class', 'galleria-frame').css({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 4,\n background: '#000',\n display: 'none'\n }).appendTo(image.container);\n self._controls.frames[i] = frame;\n });\n } // some forced generic styling\n\n\n this.$('images').css({\n position: 'relative',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%'\n });\n\n if (options.swipe) {\n this.$('images').css({\n position: 'absolute',\n top: 0,\n left: 0,\n width: 0,\n height: '100%'\n });\n this.finger = new _Galleria.Finger(this.get('stage'), {\n onchange: function onchange(page) {\n self.pause().show(page);\n },\n oncomplete: function oncomplete(page) {\n var index = M.max(0, M.min(parseInt(page, 10), self.getDataLength() - 1)),\n data = self.getData(index);\n $(self._thumbnails[index].container).addClass('active').siblings('.active').removeClass('active');\n\n if (!data) {\n return;\n } // remove video iframes\n\n\n self.$('images').find('.galleria-frame').css('opacity', 0).hide().find('iframe').remove();\n\n if (self._options.carousel && self._options.carouselFollow) {\n self._carousel.follow(index);\n }\n }\n });\n this.bind(_Galleria.RESCALE, function () {\n this.finger.setup();\n });\n this.$('stage').on('click', function (e) {\n var data = self.getData();\n\n if (!data) {\n return;\n }\n\n if (data.iframe) {\n if (self.isPlaying()) {\n self.pause();\n }\n\n var frame = self._controls.frames[self._active],\n w = self._stageWidth,\n h = self._stageHeight;\n\n if ($(frame.container).find('iframe').length) {\n return;\n }\n\n $(frame.container).css({\n width: w,\n height: h,\n opacity: 0\n }).show().animate({\n opacity: 1\n }, 200);\n window.setTimeout(function () {\n frame.load(data.iframe + (data.video ? '&autoplay=1' : ''), {\n width: w,\n height: h\n }, function (frame) {\n self.$('container').addClass('videoplay');\n frame.scale({\n width: self._stageWidth,\n height: self._stageHeight,\n iframelimit: data.video ? self._options.maxVideoSize : undef\n });\n });\n }, 100);\n return;\n }\n\n if (data.link) {\n if (self._options.popupLinks) {\n var win = window.open(data.link, '_blank');\n } else {\n window.location.href = data.link;\n }\n\n return;\n }\n });\n this.bind(_Galleria.IMAGE, function (e) {\n self.setCounter(e.index);\n self.setInfo(e.index);\n var next = this.getNext(),\n prev = this.getPrev();\n var preloads = [prev, next];\n preloads.push(this.getNext(next), this.getPrev(prev), self._controls.slides.length - 1);\n var filtered = [];\n $.each(preloads, function (i, val) {\n if ($.inArray(val, filtered) == -1) {\n filtered.push(val);\n }\n });\n $.each(filtered, function (i, loadme) {\n var d = self.getData(loadme),\n img = self._controls.slides[loadme],\n src = self.isFullscreen() && d.big ? d.big : d.image || d.iframe;\n\n if (d.iframe && !d.image) {\n img.isIframe = true;\n }\n\n if (!img.ready) {\n self._controls.slides[loadme].load(src, function (img) {\n if (!img.isIframe) {\n $(img.image).css('visibility', 'hidden');\n }\n\n self._scaleImage(img, {\n complete: function complete(img) {\n if (!img.isIframe) {\n $(img.image).css({\n opacity: 0,\n visibility: 'visible'\n }).animate({\n opacity: 1\n }, 200);\n }\n }\n });\n });\n }\n });\n });\n }\n\n this.$('thumbnails, thumbnails-list').css({\n overflow: 'hidden',\n position: 'relative'\n }); // bind image navigation arrows\n\n this.$('image-nav-right, image-nav-left').on('click:fast', function (e) {\n // pause if options is set\n if (options.pauseOnInteraction) {\n self.pause();\n } // navigate\n\n\n var fn = /right/.test(this.className) ? 'next' : 'prev';\n self[fn]();\n }).on('click', function (e) {\n e.preventDefault(); // tune the clicknext option\n\n if (options.clicknext || options.swipe) {\n e.stopPropagation();\n }\n }); // hide controls if chosen to\n\n $.each(['info', 'counter', 'image-nav'], function (i, el) {\n if (options['show' + el.substr(0, 1).toUpperCase() + el.substr(1).replace(/-/, '')] === false) {\n Utils.moveOut(self.get(el.toLowerCase()));\n }\n }); // load up target content\n\n this.load(); // now it's usually safe to remove the content\n // IE will never stop loading if we remove it, so let's keep it hidden for IE (it's usually fast enough anyway)\n\n if (!options.keepSource && !IE) {\n this._target.innerHTML = '';\n } // re-append the errors, if they happened before clearing\n\n\n if (this.get('errors')) {\n this.appendChild('target', 'errors');\n } // append the gallery frame\n\n\n this.appendChild('target', 'container'); // parse the carousel on each thumb load\n\n if (options.carousel) {\n var count = 0,\n show = options.show;\n this.bind(_Galleria.THUMBNAIL, function () {\n this.updateCarousel();\n\n if (++count == this.getDataLength() && typeof show == 'number' && show > 0) {\n this._carousel.follow(show);\n }\n });\n } // bind window resize for responsiveness\n\n\n if (options.responsive) {\n $win.on('resize', function () {\n if (!self.isFullscreen()) {\n self.resize();\n }\n });\n } // double-tap/click fullscreen toggle\n\n\n if (options.fullscreenDoubleTap) {\n this.$('stage').on('touchstart', function () {\n var last,\n cx,\n cy,\n lx,\n ly,\n now,\n getData = function getData(e) {\n return e.originalEvent.touches ? e.originalEvent.touches[0] : e;\n };\n\n self.$('stage').on('touchmove', function () {\n last = 0;\n });\n return function (e) {\n if (/(-left|-right)/.test(e.target.className)) {\n return;\n }\n\n now = Utils.timestamp();\n cx = getData(e).pageX;\n cy = getData(e).pageY;\n\n if (e.originalEvent.touches.length < 2 && now - last < 300 && cx - lx < 20 && cy - ly < 20) {\n self.toggleFullscreen();\n e.preventDefault();\n return;\n }\n\n last = now;\n lx = cx;\n ly = cy;\n };\n }());\n } // bind the ons\n\n\n $.each(_Galleria.on.binds, function (i, bind) {\n // check if already bound\n if ($.inArray(bind.hash, self._binds) == -1) {\n self.bind(bind.type, bind.callback);\n }\n });\n return this;\n },\n addTimer: function addTimer() {\n this._timer.add.apply(this._timer, Utils.array(arguments));\n\n return this;\n },\n clearTimer: function clearTimer() {\n this._timer.clear.apply(this._timer, Utils.array(arguments));\n\n return this;\n },\n // parse width & height from CSS or options\n _getWH: function _getWH() {\n var $container = this.$('container'),\n $target = this.$('target'),\n self = this,\n num = {},\n arr;\n $.each(['width', 'height'], function (i, m) {\n // first check if options is set\n if (self._options[m] && typeof self._options[m] === 'number') {\n num[m] = self._options[m];\n } else {\n arr = [Utils.parseValue($container.css(m)), // the container css height\n Utils.parseValue($target.css(m)), // the target css height\n $container[m](), // the container jQuery method\n $target[m]() // the target jQuery method\n ]; // if first time, include the min-width & min-height\n\n if (!self['_' + m]) {\n arr.splice(arr.length, Utils.parseValue($container.css('min-' + m)), Utils.parseValue($target.css('min-' + m)));\n } // else extract the measures from different sources and grab the highest value\n\n\n num[m] = M.max.apply(M, arr);\n }\n }); // allow setting a height ratio instead of exact value\n // useful when doing responsive galleries\n\n if (self._userRatio) {\n num.height = num.width * self._userRatio;\n }\n\n return num;\n },\n // Creates the thumbnails and carousel\n // can be used at any time, f.ex when the data object is manipulated\n // push is an optional argument with pushed images\n _createThumbnails: function _createThumbnails(push) {\n this.get('total').innerHTML = this.getDataLength();\n\n var src,\n thumb,\n data,\n $container,\n self = this,\n o = this._options,\n i = push ? this._data.length - push.length : 0,\n chunk = i,\n thumbchunk = [],\n loadindex = 0,\n gif = IE < 8 ? 'http://upload.wikimedia.org/wikipedia/commons/c/c0/Blank.gif' : 'data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw%3D%3D',\n // get previously active thumbnail, if exists\n active = function () {\n var a = self.$('thumbnails').find('.active');\n\n if (!a.length) {\n return false;\n }\n\n return a.find('img').attr('src');\n }(),\n // cache the thumbnail option\n optval = typeof o.thumbnails === 'string' ? o.thumbnails.toLowerCase() : null,\n // move some data into the instance\n // for some reason, jQuery cant handle css(property) when zooming in FF, breaking the gallery\n // so we resort to getComputedStyle for browsers who support it\n getStyle = function getStyle(prop) {\n return doc.defaultView && doc.defaultView.getComputedStyle ? doc.defaultView.getComputedStyle(thumb.container, null)[prop] : $container.css(prop);\n },\n fake = function fake(image, index, container) {\n return function () {\n $(container).append(image);\n self.trigger({\n type: _Galleria.THUMBNAIL,\n thumbTarget: image,\n index: index,\n galleriaData: self.getData(index)\n });\n };\n },\n onThumbEvent = function onThumbEvent(e) {\n // pause if option is set\n if (o.pauseOnInteraction) {\n self.pause();\n } // extract the index from the data\n\n\n var index = $(e.currentTarget).data('index');\n\n if (self.getIndex() !== index) {\n self.show(index);\n }\n\n e.preventDefault();\n },\n thumbComplete = function thumbComplete(thumb, callback) {\n $(thumb.container).css('visibility', 'visible');\n self.trigger({\n type: _Galleria.THUMBNAIL,\n thumbTarget: thumb.image,\n index: thumb.data.order,\n galleriaData: self.getData(thumb.data.order)\n });\n\n if (typeof callback == 'function') {\n callback.call(self, thumb);\n }\n },\n onThumbLoad = function onThumbLoad(thumb, callback) {\n // scale when ready\n thumb.scale({\n width: thumb.data.width,\n height: thumb.data.height,\n crop: o.thumbCrop,\n margin: o.thumbMargin,\n canvas: o.useCanvas,\n position: o.thumbPosition,\n complete: function complete(thumb) {\n // shrink thumbnails to fit\n var top = ['left', 'top'],\n arr = ['Width', 'Height'],\n m,\n css,\n data = self.getData(thumb.index); // calculate shrinked positions\n\n $.each(arr, function (i, measure) {\n m = measure.toLowerCase();\n\n if (o.thumbCrop !== true || o.thumbCrop === m) {\n css = {};\n css[m] = thumb[m];\n $(thumb.container).css(css);\n css = {};\n css[top[i]] = 0;\n $(thumb.image).css(css);\n } // cache outer measures\n\n\n thumb['outer' + measure] = $(thumb.container)['outer' + measure](true);\n }); // set high quality if downscale is moderate\n\n Utils.toggleQuality(thumb.image, o.thumbQuality === true || o.thumbQuality === 'auto' && thumb.original.width < thumb.width * 3);\n\n if (o.thumbDisplayOrder && !thumb.lazy) {\n $.each(thumbchunk, function (i, th) {\n if (i === loadindex && th.ready && !th.displayed) {\n loadindex++;\n th.displayed = true;\n thumbComplete(th, callback);\n return;\n }\n });\n } else {\n thumbComplete(thumb, callback);\n }\n }\n });\n };\n\n if (!push) {\n this._thumbnails = [];\n this.$('thumbnails').empty();\n } // loop through data and create thumbnails\n\n\n for (; this._data[i]; i++) {\n data = this._data[i]; // get source from thumb or image\n\n src = data.thumb || data.image;\n\n if ((o.thumbnails === true || optval == 'lazy') && (data.thumb || data.image)) {\n // add a new Picture instance\n thumb = new _Galleria.Picture(i); // save the index\n\n thumb.index = i; // flag displayed\n\n thumb.displayed = false; // flag lazy\n\n thumb.lazy = false; // flag video\n\n thumb.video = false; // append the thumbnail\n\n this.$('thumbnails').append(thumb.container); // cache the container\n\n $container = $(thumb.container); // hide it\n\n $container.css('visibility', 'hidden');\n thumb.data = {\n width: Utils.parseValue(getStyle('width')),\n height: Utils.parseValue(getStyle('height')),\n order: i,\n src: src\n }; // grab & reset size for smoother thumbnail loads\n\n if (o.thumbCrop !== true) {\n $container.css({\n width: 'auto',\n height: 'auto'\n });\n } else {\n $container.css({\n width: thumb.data.width,\n height: thumb.data.height\n });\n } // load the thumbnail\n\n\n if (optval == 'lazy') {\n $container.addClass('lazy');\n thumb.lazy = true;\n thumb.load(gif, {\n height: thumb.data.height,\n width: thumb.data.width\n });\n } else {\n thumb.load(src, onThumbLoad);\n } // preload all images here\n\n\n if (o.preload === 'all') {\n thumb.preload(data.image);\n } // create empty spans if thumbnails is set to 'empty'\n\n } else if (data.iframe && optval !== null || optval === 'empty' || optval === 'numbers') {\n thumb = {\n container: Utils.create('galleria-image'),\n image: Utils.create('img', 'span'),\n ready: true,\n data: {\n order: i\n }\n }; // create numbered thumbnails\n\n if (optval === 'numbers') {\n $(thumb.image).text(i + 1);\n }\n\n if (data.iframe) {\n $(thumb.image).addClass('iframe');\n }\n\n this.$('thumbnails').append(thumb.container); // we need to \"fake\" a loading delay before we append and trigger\n // 50+ should be enough\n\n window.setTimeout(fake(thumb.image, i, thumb.container), 50 + i * 20); // create null object to silent errors\n } else {\n thumb = {\n container: null,\n image: null\n };\n } // add events for thumbnails\n // you can control the event type using thumb_event_type\n // we'll add the same event to the source if it's kept\n\n\n $(thumb.container).add(o.keepSource && o.linkSourceImages ? data.original : null).data('index', i).on(o.thumbEventType, onThumbEvent).data('thumbload', onThumbLoad);\n\n if (active === src) {\n $(thumb.container).addClass('active');\n }\n\n this._thumbnails.push(thumb);\n }\n\n thumbchunk = this._thumbnails.slice(chunk);\n return this;\n },\n\n /**\n Lazy-loads thumbnails.\n You can call this method to load lazy thumbnails at run time\n @param {Array|Number} index Index or array of indexes of thumbnails to be loaded\n @param {Function} complete Callback that is called when all lazy thumbnails have been loaded\n @returns Instance\n */\n lazyLoad: function lazyLoad(index, complete) {\n var arr = index.constructor == Array ? index : [index],\n self = this,\n loaded = 0;\n $.each(arr, function (i, ind) {\n if (ind > self._thumbnails.length - 1) {\n return;\n }\n\n var thumb = self._thumbnails[ind],\n data = thumb.data,\n callback = function callback() {\n if (++loaded == arr.length && typeof complete == 'function') {\n complete.call(self);\n }\n },\n thumbload = $(thumb.container).data('thumbload');\n\n if (thumbload) {\n if (thumb.video) {\n thumbload.call(self, thumb, callback);\n } else {\n thumb.load(data.src, function (thumb) {\n thumbload.call(self, thumb, callback);\n });\n }\n }\n });\n return this;\n },\n\n /**\n Lazy-loads thumbnails in chunks.\n This method automatcally chops up the loading process of many thumbnails into chunks\n @param {Number} size Size of each chunk to be loaded\n @param {Number} [delay] Delay between each loads\n @returns Instance\n */\n lazyLoadChunks: function lazyLoadChunks(size, delay) {\n var len = this.getDataLength(),\n i = 0,\n n = 0,\n arr = [],\n temp = [],\n self = this;\n delay = delay || 0;\n\n for (; i < len; i++) {\n temp.push(i);\n\n if (++n == size || i == len - 1) {\n arr.push(temp);\n n = 0;\n temp = [];\n }\n }\n\n var init = function init(wait) {\n var a = arr.shift();\n\n if (a) {\n window.setTimeout(function () {\n self.lazyLoad(a, function () {\n init(true);\n });\n }, delay && wait ? delay : 0);\n }\n };\n\n init(false);\n return this;\n },\n // the internal _run method should be called after loading data into galleria\n // makes sure the gallery has proper measurements before postrun & ready\n _run: function _run() {\n var self = this;\n\n self._createThumbnails(); // make sure we have a stageHeight && stageWidth\n\n\n Utils.wait({\n timeout: 10000,\n until: function until() {\n // Opera crap\n if (_Galleria.OPERA) {\n self.$('stage').css('display', 'inline-block');\n }\n\n self._stageWidth = self.$('stage').width();\n self._stageHeight = self.$('stage').height();\n return self._stageWidth && self._stageHeight > 50; // what is an acceptable height?\n },\n success: function success() {\n // save the instance\n _galleries.push(self); // postrun some stuff after the gallery is ready\n // create the touch slider\n\n\n if (self._options.swipe) {\n var $images = self.$('images').width(self.getDataLength() * self._stageWidth);\n $.each(new Array(self.getDataLength()), function (i) {\n var image = new _Galleria.Picture(),\n data = self.getData(i);\n $(image.container).css({\n position: 'absolute',\n top: 0,\n left: self._stageWidth * i\n }).prepend(self._layers[i] = $(Utils.create('galleria-layer')).css({\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 2\n })[0]).appendTo($images);\n\n if (data.video) {\n _playIcon(image.container);\n }\n\n self._controls.slides.push(image);\n\n var frame = new _Galleria.Picture();\n frame.isIframe = true;\n $(frame.container).attr('class', 'galleria-frame').css({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 4,\n background: '#000',\n display: 'none'\n }).appendTo(image.container);\n\n self._controls.frames.push(frame);\n });\n self.finger.setup();\n } // show counter\n\n\n Utils.show(self.get('counter')); // bind carousel nav\n\n if (self._options.carousel) {\n self._carousel.bindControls();\n } // start autoplay\n\n\n if (self._options.autoplay) {\n self.pause();\n\n if (typeof self._options.autoplay === 'number') {\n self._playtime = self._options.autoplay;\n }\n\n self._playing = true;\n } // if second load, just do the show and return\n\n\n if (self._firstrun) {\n if (self._options.autoplay) {\n self.trigger(_Galleria.PLAY);\n }\n\n if (typeof self._options.show === 'number') {\n self.show(self._options.show);\n }\n\n return;\n }\n\n self._firstrun = true; // initialize the History plugin\n\n if (_Galleria.History) {\n // bind the show method\n _Galleria.History.change(function (value) {\n // if ID is NaN, the user pressed back from the first image\n // return to previous address\n if (isNaN(value)) {\n window.history.go(-1); // else show the image\n } else {\n self.show(value, undef, true);\n }\n });\n }\n\n self.trigger(_Galleria.READY); // call the theme init method\n\n self.theme.init.call(self, self._options); // Trigger Galleria.ready\n\n $.each(_Galleria.ready.callbacks, function (i, fn) {\n if (typeof fn == 'function') {\n fn.call(self, self._options);\n }\n }); // call the extend option\n\n self._options.extend.call(self, self._options); // show the initial image\n // first test for permalinks in history\n\n\n if (/^[0-9]{1,4}$/.test(HASH) && _Galleria.History) {\n self.show(HASH, undef, true);\n } else if (self._data[self._options.show]) {\n self.show(self._options.show);\n } // play trigger\n\n\n if (self._options.autoplay) {\n self.trigger(_Galleria.PLAY);\n }\n },\n error: function error() {\n _Galleria.raise('Stage width or height is too small to show the gallery. Traced measures: width:' + self._stageWidth + 'px, height: ' + self._stageHeight + 'px.', true);\n }\n });\n },\n\n /**\n Loads data into the gallery.\n You can call this method on an existing gallery to reload the gallery with new data.\n @param {Array|string} [source] Optional JSON array of data or selector of where to find data in the document.\n Defaults to the Galleria target or dataSource option.\n @param {string} [selector] Optional element selector of what elements to parse.\n Defaults to 'img'.\n @param {Function} [config] Optional function to modify the data extraction proceedure from the selector.\n See the dataConfig option for more information.\n @returns Instance\n */\n load: function load(source, selector, config) {\n var self = this,\n o = this._options; // empty the data array\n\n this._data = []; // empty the thumbnails\n\n this._thumbnails = [];\n this.$('thumbnails').empty(); // shorten the arguments\n\n if (typeof selector === 'function') {\n config = selector;\n selector = null;\n } // use the source set by target\n\n\n source = source || o.dataSource; // use selector set by option\n\n selector = selector || o.dataSelector; // use the dataConfig set by option\n\n config = config || o.dataConfig; // if source is a true object, make it into an array\n\n if ($.isPlainObject(source)) {\n source = [source];\n } // check if the data is an array already\n\n\n if ($.isArray(source)) {\n if (this.validate(source)) {\n this._data = source;\n } else {\n _Galleria.raise('Load failed: JSON Array not valid.');\n }\n } else {\n // add .video and .iframe to the selector (1.2.7)\n selector += ',.video,.iframe'; // loop through images and set data\n\n $(source).find(selector).each(function (i, elem) {\n elem = $(elem);\n var data = {},\n parent = elem.parent(),\n href = parent.attr('href'),\n rel = parent.attr('rel');\n\n if (href && (elem[0].nodeName == 'IMG' || elem.hasClass('video')) && _videoTest(href)) {\n data.video = href;\n } else if (href && elem.hasClass('iframe')) {\n data.iframe = href;\n } else {\n data.image = href;\n }\n\n if (rel) {\n data.big = rel;\n }\n\n data.imagesrcset = parent.data('srcset');\n data.imagesizes = parent.data('sizes');\n data.thumbsizes = elem.attr('sizes');\n data.thumbsrcset = elem.attr('srcset'); // alternative extraction from HTML5 data attribute\n\n $.each('big bigsrcset bigsizes title description link layer image imagesrcset imagesizes'.split(' '), function (i, val) {\n if (elem.data(val)) {\n data[val] = elem.data(val).toString();\n }\n });\n\n if (elem.data('srcset')) {\n data.imagesrcset = elem.data('srcset');\n }\n\n if (elem.data('sizes')) {\n data.imagesizes = elem.data('sizes');\n }\n\n if (!data.big) {\n data.big = data.image;\n data.bigsrcset = data.imagesrcset;\n data.bigsizes = data.imagesizes;\n } // mix default extractions with the hrefs and config\n // and push it into the data array\n\n\n self._data.push($.extend({\n title: elem.attr('title') || '',\n thumb: elem.attr('src'),\n image: elem.attr('src'),\n big: elem.attr('src'),\n description: elem.attr('alt') || '',\n link: elem.attr('longdesc'),\n original: elem.get(0) // saved as a reference\n\n }, data, config(elem)));\n });\n }\n\n if (typeof o.dataSort == 'function') {\n protoArray.sort.call(this._data, o.dataSort);\n } else if (o.dataSort == 'random') {\n this._data.sort(function () {\n return M.round(M.random()) - 0.5;\n });\n } // trigger the DATA event and return\n\n\n if (this.getDataLength()) {\n this._parseData(function () {\n this.trigger(_Galleria.DATA);\n });\n }\n\n return this;\n },\n // make sure the data works properly\n _parseData: function _parseData(callback) {\n var self = this,\n current,\n ready = false,\n onload = function onload() {\n var complete = true;\n $.each(self._data, function (i, data) {\n if (data.loading) {\n complete = false;\n return false;\n }\n });\n\n if (complete && !ready) {\n ready = true;\n callback.call(self);\n }\n };\n\n $.each(this._data, function (i, data) {\n current = self._data[i]; // q&d hack to attach srcset & sizes to src\n\n $.each('big image thumb'.split(' '), function (i, val) {\n if (data[val]) {\n data[val] = new String(data[val]);\n data[val].srcset = data[val + 'srcset'];\n data[val].sizes = data[val + 'sizes'];\n }\n }); // copy image as thumb if no thumb exists\n\n if ('thumb' in data === false) {\n current.thumb = data.image;\n } // copy image as big image if no biggie exists\n\n\n if (!data.big) {\n current.big = data.image;\n } // parse video\n\n\n if ('video' in data) {\n var result = _videoTest(data.video);\n\n if (result) {\n current.iframe = new Video(result.provider, result.id).embed() + function () {\n // add options\n if (_typeof(self._options[result.provider]) == 'object') {\n var str = '?',\n arr = [];\n $.each(self._options[result.provider], function (key, val) {\n arr.push(key + '=' + val);\n }); // small youtube specifics, perhaps move to _video later\n\n if (result.provider == 'youtube') {\n arr = ['wmode=opaque'].concat(arr);\n }\n\n return str + arr.join('&');\n }\n\n return '';\n }(); // pre-fetch video providers media\n\n\n if (!current.thumb || !current.image) {\n $.each(['thumb', 'image'], function (i, type) {\n if (type == 'image' && !self._options.videoPoster) {\n current.image = undef;\n return;\n }\n\n var video = new Video(result.provider, result.id);\n\n if (!current[type]) {\n current.loading = true;\n video.getMedia(type, function (current, type) {\n return function (src) {\n current[type] = src;\n\n if (type == 'image' && !current.big) {\n current.big = current.image;\n }\n\n delete current.loading;\n onload();\n };\n }(current, type));\n }\n });\n }\n }\n }\n });\n onload();\n return this;\n },\n\n /**\n Destroy the Galleria instance and recover the original content\n @example this.destroy();\n @returns Instance\n */\n destroy: function destroy() {\n this.$('target').data('galleria', null);\n this.$('container').off('galleria');\n this.get('target').innerHTML = this._original.html;\n this.clearTimer();\n Utils.removeFromArray(_instances, this);\n Utils.removeFromArray(_galleries, this);\n _video._inst = [];\n\n if (_Galleria._waiters !== undefined && _Galleria._waiters.length) {\n $.each(_Galleria._waiters, function (i, w) {\n if (w) window.clearTimeout(w);\n });\n }\n\n return this;\n },\n\n /**\n Adds and/or removes images from the gallery\n Works just like Array.splice\n https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice\n @example this.splice( 2, 4 ); // removes 4 images after the second image\n @returns Instance\n */\n splice: function splice() {\n var self = this,\n args = Utils.array(arguments);\n window.setTimeout(function () {\n protoArray.splice.apply(self._data, args);\n\n self._parseData(function () {\n self._createThumbnails();\n });\n }, 2);\n return self;\n },\n\n /**\n Append images to the gallery\n Works just like Array.push\n https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push\n @example this.push({ image: 'image1.jpg' }); // appends the image to the gallery\n @returns Instance\n */\n push: function push() {\n var self = this,\n args = Utils.array(arguments);\n\n if (args.length == 1 && args[0].constructor == Array) {\n args = args[0];\n }\n\n window.setTimeout(function () {\n protoArray.push.apply(self._data, args);\n\n self._parseData(function () {\n self._createThumbnails(args);\n });\n }, 2);\n return self;\n },\n _getActive: function _getActive() {\n return this._controls.getActive();\n },\n validate: function validate(data) {\n // todo: validate a custom data array\n return true;\n },\n\n /**\n Bind any event to Galleria\n @param {string} type The Event type to listen for\n @param {Function} fn The function to execute when the event is triggered\n @example this.bind( 'image', function() { Galleria.log('image shown') });\n @returns Instance\n */\n bind: function bind(type, fn) {\n // allow 'image' instead of Galleria.IMAGE\n type = _patchEvent(type);\n this.$('container').on(type, this.proxy(fn));\n return this;\n },\n\n /**\n Unbind any event to Galleria\n @param {string} type The Event type to forget\n @returns Instance\n */\n unbind: function unbind(type) {\n type = _patchEvent(type);\n this.$('container').off(type);\n return this;\n },\n\n /**\n Manually trigger a Galleria event\n @param {string} type The Event to trigger\n @returns Instance\n */\n trigger: function trigger(type) {\n type = _typeof(type) === 'object' ? $.extend(type, {\n scope: this\n }) : {\n type: _patchEvent(type),\n scope: this\n };\n this.$('container').trigger(type);\n return this;\n },\n\n /**\n Assign an \"idle state\" to any element.\n The idle state will be applied after a certain amount of idle time\n Useful to hide f.ex navigation when the gallery is inactive\n @param {HTMLElement|string} elem The Dom node or selector to apply the idle state to\n @param {Object} styles the CSS styles to apply when in idle mode\n @param {Object} [from] the CSS styles to apply when in normal\n @param {Boolean} [hide] set to true if you want to hide it first\n @example addIdleState( this.get('image-nav'), { opacity: 0 });\n @example addIdleState( '.galleria-image-nav', { top: -200 }, true);\n @returns Instance\n */\n addIdleState: function addIdleState(elem, styles, from, hide) {\n this._idle.add.apply(this._idle, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Removes any idle state previously set using addIdleState()\n @param {HTMLElement|string} elem The Dom node or selector to remove the idle state from.\n @returns Instance\n */\n removeIdleState: function removeIdleState(elem) {\n this._idle.remove.apply(this._idle, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Force Galleria to enter idle mode.\n @returns Instance\n */\n enterIdleMode: function enterIdleMode() {\n this._idle.hide();\n\n return this;\n },\n\n /**\n Force Galleria to exit idle mode.\n @returns Instance\n */\n exitIdleMode: function exitIdleMode() {\n this._idle.showAll();\n\n return this;\n },\n\n /**\n Enter FullScreen mode\n @param {Function} callback the function to be executed when the fullscreen mode is fully applied.\n @returns Instance\n */\n enterFullscreen: function enterFullscreen(callback) {\n this._fullscreen.enter.apply(this, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Exits FullScreen mode\n @param {Function} callback the function to be executed when the fullscreen mode is fully applied.\n @returns Instance\n */\n exitFullscreen: function exitFullscreen(callback) {\n this._fullscreen.exit.apply(this, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Toggle FullScreen mode\n @param {Function} callback the function to be executed when the fullscreen mode is fully applied or removed.\n @returns Instance\n */\n toggleFullscreen: function toggleFullscreen(callback) {\n this._fullscreen[this.isFullscreen() ? 'exit' : 'enter'].apply(this, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Adds a tooltip to any element.\n You can also call this method with an object as argument with elemID:value pairs to apply tooltips to (see examples)\n @param {HTMLElement} elem The DOM Node to attach the event to\n @param {string|Function} value The tooltip message. Can also be a function that returns a string.\n @example this.bindTooltip( this.get('thumbnails'), 'My thumbnails');\n @example this.bindTooltip( this.get('thumbnails'), function() { return 'My thumbs' });\n @example this.bindTooltip( { image_nav: 'Navigation' });\n @returns Instance\n */\n bindTooltip: function bindTooltip(elem, value) {\n this._tooltip.bind.apply(this._tooltip, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Note: this method is deprecated. Use refreshTooltip() instead.\n Redefine a tooltip.\n Use this if you want to re-apply a tooltip value to an already bound tooltip element.\n @param {HTMLElement} elem The DOM Node to attach the event to\n @param {string|Function} value The tooltip message. Can also be a function that returns a string.\n @returns Instance\n */\n defineTooltip: function defineTooltip(elem, value) {\n this._tooltip.define.apply(this._tooltip, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Refresh a tooltip value.\n Use this if you want to change the tooltip value at runtime, f.ex if you have a play/pause toggle.\n @param {HTMLElement} elem The DOM Node that has a tooltip that should be refreshed\n @returns Instance\n */\n refreshTooltip: function refreshTooltip(elem) {\n this._tooltip.show.apply(this._tooltip, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Open a pre-designed lightbox with the currently active image.\n You can control some visuals using gallery options.\n @returns Instance\n */\n openLightbox: function openLightbox() {\n this._lightbox.show.apply(this._lightbox, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Close the lightbox.\n @returns Instance\n */\n closeLightbox: function closeLightbox() {\n this._lightbox.hide.apply(this._lightbox, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Check if a variation exists\n @returns {Boolean} If the variation has been applied\n */\n hasVariation: function hasVariation(variation) {\n return $.inArray(variation, this._options.variation.split(/\\s+/)) > -1;\n },\n\n /**\n Get the currently active image element.\n @returns {HTMLElement} The image element\n */\n getActiveImage: function getActiveImage() {\n var active = this._getActive();\n\n return active ? active.image : undef;\n },\n\n /**\n Get the currently active thumbnail element.\n @returns {HTMLElement} The thumbnail element\n */\n getActiveThumb: function getActiveThumb() {\n return this._thumbnails[this._active].image || undef;\n },\n\n /**\n Get the mouse position relative to the gallery container\n @param e The mouse event\n @example\n var gallery = this;\n $(document).mousemove(function(e) {\n console.log( gallery.getMousePosition(e).x );\n });\n @returns {Object} Object with x & y of the relative mouse postion\n */\n getMousePosition: function getMousePosition(e) {\n return {\n x: e.pageX - this.$('container').offset().left,\n y: e.pageY - this.$('container').offset().top\n };\n },\n\n /**\n Adds a panning effect to the image\n @param [img] The optional image element. If not specified it takes the currently active image\n @returns Instance\n */\n addPan: function addPan(img) {\n if (this._options.imageCrop === false) {\n return;\n }\n\n img = $(img || this.getActiveImage()); // define some variables and methods\n\n var self = this,\n x = img.width() / 2,\n y = img.height() / 2,\n destX = parseInt(img.css('left'), 10),\n destY = parseInt(img.css('top'), 10),\n curX = destX || 0,\n curY = destY || 0,\n distX = 0,\n distY = 0,\n active = false,\n ts = Utils.timestamp(),\n cache = 0,\n move = 0,\n // positions the image\n position = function position(dist, cur, pos) {\n if (dist > 0) {\n move = M.round(M.max(dist * -1, M.min(0, cur)));\n\n if (cache !== move) {\n cache = move;\n\n if (IE === 8) {\n // scroll is faster for IE\n img.parent()['scroll' + pos](move * -1);\n } else {\n var css = {};\n css[pos.toLowerCase()] = move;\n img.css(css);\n }\n }\n }\n },\n // calculates mouse position after 50ms\n calculate = function calculate(e) {\n if (Utils.timestamp() - ts < 50) {\n return;\n }\n\n active = true;\n x = self.getMousePosition(e).x;\n y = self.getMousePosition(e).y;\n },\n // the main loop to check\n loop = function loop(e) {\n if (!active) {\n return;\n }\n\n distX = img.width() - self._stageWidth;\n distY = img.height() - self._stageHeight;\n destX = x / self._stageWidth * distX * -1;\n destY = y / self._stageHeight * distY * -1;\n curX += (destX - curX) / self._options.imagePanSmoothness;\n curY += (destY - curY) / self._options.imagePanSmoothness;\n position(distY, curY, 'Top');\n position(distX, curX, 'Left');\n }; // we need to use scroll in IE8 to speed things up\n\n\n if (IE === 8) {\n img.parent().scrollTop(curY * -1).scrollLeft(curX * -1);\n img.css({\n top: 0,\n left: 0\n });\n } // unbind and bind event\n\n\n this.$('stage').off('mousemove', calculate).on('mousemove', calculate); // loop the loop\n\n this.addTimer('pan' + self._id, loop, 50, true);\n return this;\n },\n\n /**\n Brings the scope into any callback\n @param fn The callback to bring the scope into\n @param [scope] Optional scope to bring\n @example $('#fullscreen').click( this.proxy(function() { this.enterFullscreen(); }) )\n @returns {Function} Return the callback with the gallery scope\n */\n proxy: function proxy(fn, scope) {\n if (typeof fn !== 'function') {\n return F;\n }\n\n scope = scope || this;\n return function () {\n return fn.apply(scope, Utils.array(arguments));\n };\n },\n\n /**\n Tells you the theme name of the gallery\n @returns {String} theme name\n */\n getThemeName: function getThemeName() {\n return this.theme.name;\n },\n\n /**\n Removes the panning effect set by addPan()\n @returns Instance\n */\n removePan: function removePan() {\n // todo: doublecheck IE8\n this.$('stage').off('mousemove');\n this.clearTimer('pan' + this._id);\n return this;\n },\n\n /**\n Adds an element to the Galleria DOM array.\n When you add an element here, you can access it using element ID in many API calls\n @param {string} id The element ID you wish to use. You can add many elements by adding more arguments.\n @example addElement('mybutton');\n @example addElement('mybutton','mylink');\n @returns Instance\n */\n addElement: function addElement(id) {\n var dom = this._dom;\n $.each(Utils.array(arguments), function (i, blueprint) {\n dom[blueprint] = Utils.create('galleria-' + blueprint);\n });\n return this;\n },\n\n /**\n Attach keyboard events to Galleria\n @param {Object} map The map object of events.\n Possible keys are 'UP', 'DOWN', 'LEFT', 'RIGHT', 'RETURN', 'ESCAPE', 'BACKSPACE', and 'SPACE'.\n @example\n this.attachKeyboard({\n right: this.next,\n left: this.prev,\n up: function() {\n console.log( 'up key pressed' )\n }\n });\n @returns Instance\n */\n attachKeyboard: function attachKeyboard(map) {\n this._keyboard.attach.apply(this._keyboard, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Detach all keyboard events to Galleria\n @returns Instance\n */\n detachKeyboard: function detachKeyboard() {\n this._keyboard.detach.apply(this._keyboard, Utils.array(arguments));\n\n return this;\n },\n\n /**\n Fast helper for appending galleria elements that you added using addElement()\n @param {string} parentID The parent element ID where the element will be appended\n @param {string} childID the element ID that should be appended\n @example this.addElement('myElement');\n this.appendChild( 'info', 'myElement' );\n @returns Instance\n */\n appendChild: function appendChild(parentID, childID) {\n this.$(parentID).append(this.get(childID) || childID);\n return this;\n },\n\n /**\n Fast helper for prepending galleria elements that you added using addElement()\n @param {string} parentID The parent element ID where the element will be prepended\n @param {string} childID the element ID that should be prepended\n @example\n this.addElement('myElement');\n this.prependChild( 'info', 'myElement' );\n @returns Instance\n */\n prependChild: function prependChild(parentID, childID) {\n this.$(parentID).prepend(this.get(childID) || childID);\n return this;\n },\n\n /**\n Remove an element by blueprint\n @param {string} elemID The element to be removed.\n You can remove multiple elements by adding arguments.\n @returns Instance\n */\n remove: function remove(elemID) {\n this.$(Utils.array(arguments).join(',')).remove();\n return this;\n },\n // a fast helper for building dom structures\n // leave this out of the API for now\n append: function append(data) {\n var i, j;\n\n for (i in data) {\n if (data.hasOwnProperty(i)) {\n if (data[i].constructor === Array) {\n for (j = 0; data[i][j]; j++) {\n this.appendChild(i, data[i][j]);\n }\n } else {\n this.appendChild(i, data[i]);\n }\n }\n }\n\n return this;\n },\n // an internal helper for scaling according to options\n _scaleImage: function _scaleImage(image, options) {\n image = image || this._controls.getActive(); // janpub (JH) fix:\n // image might be unselected yet\n // e.g. when external logics rescales the gallery on window resize events\n\n if (!image) {\n return;\n }\n\n var complete,\n scaleLayer = function scaleLayer(img) {\n $(img.container).children(':first').css({\n top: M.max(0, Utils.parseValue(img.image.style.top)),\n left: M.max(0, Utils.parseValue(img.image.style.left)),\n width: Utils.parseValue(img.image.width),\n height: Utils.parseValue(img.image.height)\n });\n };\n\n options = $.extend({\n width: this._stageWidth,\n height: this._stageHeight,\n crop: this._options.imageCrop,\n max: this._options.maxScaleRatio,\n min: this._options.minScaleRatio,\n margin: this._options.imageMargin,\n position: this._options.imagePosition,\n iframelimit: this._options.maxVideoSize\n }, options);\n\n if (this._options.layerFollow && this._options.imageCrop !== true) {\n if (typeof options.complete == 'function') {\n complete = options.complete;\n\n options.complete = function () {\n complete.call(image, image);\n scaleLayer(image);\n };\n } else {\n options.complete = scaleLayer;\n }\n } else {\n $(image.container).children(':first').css({\n top: 0,\n left: 0\n });\n }\n\n image.scale(options);\n return this;\n },\n\n /**\n Updates the carousel,\n useful if you resize the gallery and want to re-check if the carousel nav is needed.\n @returns Instance\n */\n updateCarousel: function updateCarousel() {\n this._carousel.update();\n\n return this;\n },\n\n /**\n Resize the entire gallery container\n @param {Object} [measures] Optional object with width/height specified\n @param {Function} [complete] The callback to be called when the scaling is complete\n @returns Instance\n */\n resize: function resize(measures, complete) {\n if (typeof measures == 'function') {\n complete = measures;\n measures = undef;\n }\n\n measures = $.extend({\n width: 0,\n height: 0\n }, measures);\n var self = this,\n $container = this.$('container');\n $.each(measures, function (m, val) {\n if (!val) {\n $container[m]('auto');\n measures[m] = self._getWH()[m];\n }\n });\n $.each(measures, function (m, val) {\n $container[m](val);\n });\n return this.rescale(complete);\n },\n\n /**\n Rescales the gallery\n @param {number} width The target width\n @param {number} height The target height\n @param {Function} complete The callback to be called when the scaling is complete\n @returns Instance\n */\n rescale: function rescale(width, height, complete) {\n var self = this; // allow rescale(fn)\n\n if (typeof width === 'function') {\n complete = width;\n width = undef;\n }\n\n var scale = function scale() {\n // set stagewidth\n self._stageWidth = width || self.$('stage').width();\n self._stageHeight = height || self.$('stage').height();\n\n if (self._options.swipe) {\n $.each(self._controls.slides, function (i, img) {\n self._scaleImage(img);\n\n $(img.container).css('left', self._stageWidth * i);\n });\n self.$('images').css('width', self._stageWidth * self.getDataLength());\n } else {\n // scale the active image\n self._scaleImage();\n }\n\n if (self._options.carousel) {\n self.updateCarousel();\n }\n\n var frame = self._controls.frames[self._controls.active];\n\n if (frame) {\n self._controls.frames[self._controls.active].scale({\n width: self._stageWidth,\n height: self._stageHeight,\n iframelimit: self._options.maxVideoSize\n });\n }\n\n self.trigger(_Galleria.RESCALE);\n\n if (typeof complete === 'function') {\n complete.call(self);\n }\n };\n\n scale.call(self);\n return this;\n },\n\n /**\n Refreshes the gallery.\n Useful if you change image options at runtime and want to apply the changes to the active image.\n @returns Instance\n */\n refreshImage: function refreshImage() {\n this._scaleImage();\n\n if (this._options.imagePan) {\n this.addPan();\n }\n\n return this;\n },\n _preload: function _preload() {\n if (this._options.preload) {\n var p,\n i,\n n = this.getNext(),\n ndata;\n\n try {\n for (i = this._options.preload; i > 0; i--) {\n p = new _Galleria.Picture();\n ndata = this.getData(n);\n p.preload(this.isFullscreen() && ndata.big ? ndata.big : ndata.image);\n n = this.getNext(n);\n }\n } catch (e) {}\n }\n },\n\n /**\n Shows an image by index\n @param {number|boolean} index The index to show\n @param {Boolean} rewind A boolean that should be true if you want the transition to go back\n @returns Instance\n */\n show: function show(index, rewind, _history) {\n var swipe = this._options.swipe; // do nothing queue is long || index is false || queue is false and transition is in progress\n\n if (!swipe && (this._queue.length > 3 || index === false || !this._options.queue && this._queue.stalled)) {\n return;\n }\n\n index = M.max(0, M.min(parseInt(index, 10), this.getDataLength() - 1));\n rewind = typeof rewind !== 'undefined' ? !!rewind : index < this.getIndex();\n _history = _history || false; // do the history thing and return\n\n if (!_history && _Galleria.History) {\n _Galleria.History.set(index.toString());\n\n return;\n }\n\n if (this.finger && index !== this._active) {\n this.finger.to = -(index * this.finger.width);\n this.finger.index = index;\n }\n\n this._active = index; // we do things a bit simpler in swipe:\n\n if (swipe) {\n var data = this.getData(index),\n self = this;\n\n if (!data) {\n return;\n }\n\n var src = this.isFullscreen() && data.big ? data.big : data.image || data.iframe,\n image = this._controls.slides[index],\n cached = image.isCached(src),\n thumb = this._thumbnails[index];\n var evObj = {\n cached: cached,\n index: index,\n rewind: rewind,\n imageTarget: image.image,\n thumbTarget: thumb.image,\n galleriaData: data\n };\n this.trigger($.extend(evObj, {\n type: _Galleria.LOADSTART\n }));\n self.$('container').removeClass('videoplay');\n\n var complete = function complete() {\n self._layers[index].innerHTML = self.getData().layer || '';\n self.trigger($.extend(evObj, {\n type: _Galleria.LOADFINISH\n }));\n\n self._playCheck();\n };\n\n self._preload();\n\n window.setTimeout(function () {\n // load if not ready\n if (!image.ready || $(image.image).attr('src') != src) {\n if (data.iframe && !data.image) {\n image.isIframe = true;\n }\n\n image.load(src, function (image) {\n evObj.imageTarget = image.image;\n\n self._scaleImage(image, complete).trigger($.extend(evObj, {\n type: _Galleria.IMAGE\n }));\n\n complete();\n });\n } else {\n self.trigger($.extend(evObj, {\n type: _Galleria.IMAGE\n }));\n complete();\n }\n }, 100);\n } else {\n protoArray.push.call(this._queue, {\n index: index,\n rewind: rewind\n });\n\n if (!this._queue.stalled) {\n this._show();\n }\n }\n\n return this;\n },\n // the internal _show method does the actual showing\n _show: function _show() {\n // shortcuts\n var self = this,\n queue = this._queue[0],\n data = this.getData(queue.index);\n\n if (!data) {\n return;\n }\n\n var src = this.isFullscreen() && data.big ? data.big : data.image || data.iframe,\n active = this._controls.getActive(),\n next = this._controls.getNext(),\n cached = next.isCached(src),\n thumb = this._thumbnails[queue.index],\n mousetrigger = function mousetrigger() {\n $(next.image).trigger('mouseup');\n };\n\n self.$('container').toggleClass('iframe', !!data.isIframe).removeClass('videoplay'); // to be fired when loading & transition is complete:\n\n var _complete2 = function (data, next, active, queue, thumb) {\n return function () {\n var win;\n _transitions.active = false; // optimize quality\n\n Utils.toggleQuality(next.image, self._options.imageQuality); // remove old layer\n\n self._layers[self._controls.active].innerHTML = ''; // swap\n\n $(active.container).css({\n zIndex: 0,\n opacity: 0\n }).show();\n $(active.container).find('iframe, .galleria-videoicon').remove();\n $(self._controls.frames[self._controls.active].container).hide();\n $(next.container).css({\n zIndex: 1,\n left: 0,\n top: 0\n }).show();\n\n self._controls.swap(); // add pan according to option\n\n\n if (self._options.imagePan) {\n self.addPan(next.image);\n } // make the image clickable\n // order of precedence: iframe, link, lightbox, clicknext\n\n\n if (data.iframe && data.image || data.link || self._options.lightbox || self._options.clicknext) {\n $(next.image).css({\n cursor: 'pointer'\n }).on('mouseup', function (e) {\n // non-left click\n if (typeof e.which == 'number' && e.which > 1) {\n return;\n } // iframe / video\n\n\n if (data.iframe) {\n if (self.isPlaying()) {\n self.pause();\n }\n\n var frame = self._controls.frames[self._controls.active],\n w = self._stageWidth,\n h = self._stageHeight;\n $(frame.container).css({\n width: w,\n height: h,\n opacity: 0\n }).show().animate({\n opacity: 1\n }, 200);\n window.setTimeout(function () {\n frame.load(data.iframe + (data.video ? '&autoplay=1' : ''), {\n width: w,\n height: h\n }, function (frame) {\n self.$('container').addClass('videoplay');\n frame.scale({\n width: self._stageWidth,\n height: self._stageHeight,\n iframelimit: data.video ? self._options.maxVideoSize : undef\n });\n });\n }, 100);\n return;\n } // clicknext\n\n\n if (self._options.clicknext && !_Galleria.TOUCH) {\n if (self._options.pauseOnInteraction) {\n self.pause();\n }\n\n self.next();\n return;\n } // popup link\n\n\n if (data.link) {\n if (self._options.popupLinks) {\n win = window.open(data.link, '_blank');\n } else {\n window.location.href = data.link;\n }\n\n return;\n }\n\n if (self._options.lightbox) {\n self.openLightbox();\n }\n });\n } // check if we are playing\n\n\n self._playCheck(); // trigger IMAGE event\n\n\n self.trigger({\n type: _Galleria.IMAGE,\n index: queue.index,\n imageTarget: next.image,\n thumbTarget: thumb.image,\n galleriaData: data\n }); // remove the queued image\n\n protoArray.shift.call(self._queue); // remove stalled\n\n self._queue.stalled = false; // if we still have images in the queue, show it\n\n if (self._queue.length) {\n self._show();\n }\n };\n }(data, next, active, queue, thumb); // let the carousel follow\n\n\n if (this._options.carousel && this._options.carouselFollow) {\n this._carousel.follow(queue.index);\n } // preload images\n\n\n self._preload(); // show the next image, just in case\n\n\n Utils.show(next.container);\n next.isIframe = data.iframe && !data.image; // add active classes\n\n $(self._thumbnails[queue.index].container).addClass('active').siblings('.active').removeClass('active'); // trigger the LOADSTART event\n\n self.trigger({\n type: _Galleria.LOADSTART,\n cached: cached,\n index: queue.index,\n rewind: queue.rewind,\n imageTarget: next.image,\n thumbTarget: thumb.image,\n galleriaData: data\n }); // stall the queue\n\n self._queue.stalled = true; // begin loading the next image\n\n next.load(src, function (next) {\n // add layer HTML\n var layer = $(self._layers[1 - self._controls.active]).html(data.layer || '').hide();\n\n self._scaleImage(next, {\n complete: function complete(next) {\n // toggle low quality for IE\n if ('image' in active) {\n Utils.toggleQuality(active.image, false);\n }\n\n Utils.toggleQuality(next.image, false); // remove the image panning, if applied\n // TODO: rethink if this is necessary\n\n self.removePan(); // set the captions and counter\n\n self.setInfo(queue.index);\n self.setCounter(queue.index); // show the layer now\n\n if (data.layer) {\n layer.show(); // inherit click events set on image\n\n if (data.iframe && data.image || data.link || self._options.lightbox || self._options.clicknext) {\n layer.css('cursor', 'pointer').off('mouseup').mouseup(mousetrigger);\n }\n } // add play icon\n\n\n if (data.video && data.image) {\n _playIcon(next.container);\n }\n\n var transition = self._options.transition; // can JavaScript loop through objects in order? yes.\n\n $.each({\n initial: active.image === null,\n touch: _Galleria.TOUCH,\n fullscreen: self.isFullscreen()\n }, function (type, arg) {\n if (arg && self._options[type + 'Transition'] !== undef) {\n transition = self._options[type + 'Transition'];\n return false;\n }\n }); // validate the transition\n\n if (transition in _transitions.effects === false) {\n _complete2();\n } else {\n var params = {\n prev: active.container,\n next: next.container,\n rewind: queue.rewind,\n speed: self._options.transitionSpeed || 400\n };\n _transitions.active = true; // call the transition function and send some stuff\n\n _transitions.init.call(self, transition, params, _complete2);\n } // trigger the LOADFINISH event\n\n\n self.trigger({\n type: _Galleria.LOADFINISH,\n cached: cached,\n index: queue.index,\n rewind: queue.rewind,\n imageTarget: next.image,\n thumbTarget: self._thumbnails[queue.index].image,\n galleriaData: self.getData(queue.index)\n });\n }\n });\n });\n },\n\n /**\n Gets the next index\n @param {number} [base] Optional starting point\n @returns {number} the next index, or the first if you are at the first (looping)\n */\n getNext: function getNext(base) {\n base = typeof base === 'number' ? base : this.getIndex();\n return base === this.getDataLength() - 1 ? 0 : base + 1;\n },\n\n /**\n Gets the previous index\n @param {number} [base] Optional starting point\n @returns {number} the previous index, or the last if you are at the first (looping)\n */\n getPrev: function getPrev(base) {\n base = typeof base === 'number' ? base : this.getIndex();\n return base === 0 ? this.getDataLength() - 1 : base - 1;\n },\n\n /**\n Shows the next image in line\n @returns Instance\n */\n next: function next() {\n if (this.getDataLength() > 1) {\n this.show(this.getNext(), false);\n }\n\n return this;\n },\n\n /**\n Shows the previous image in line\n @returns Instance\n */\n prev: function prev() {\n if (this.getDataLength() > 1) {\n this.show(this.getPrev(), true);\n }\n\n return this;\n },\n\n /**\n Retrieve a DOM element by element ID\n @param {string} elemId The delement ID to fetch\n @returns {HTMLElement} The elements DOM node or null if not found.\n */\n get: function get(elemId) {\n return elemId in this._dom ? this._dom[elemId] : null;\n },\n\n /**\n Retrieve a data object\n @param {number} index The data index to retrieve.\n If no index specified it will take the currently active image\n @returns {Object} The data object\n */\n getData: function getData(index) {\n return index in this._data ? this._data[index] : this._data[this._active];\n },\n\n /**\n Retrieve the number of data items\n @returns {number} The data length\n */\n getDataLength: function getDataLength() {\n return this._data.length;\n },\n\n /**\n Retrieve the currently active index\n @returns {number|boolean} The active index or false if none found\n */\n getIndex: function getIndex() {\n return typeof this._active === 'number' ? this._active : false;\n },\n\n /**\n Retrieve the stage height\n @returns {number} The stage height\n */\n getStageHeight: function getStageHeight() {\n return this._stageHeight;\n },\n\n /**\n Retrieve the stage width\n @returns {number} The stage width\n */\n getStageWidth: function getStageWidth() {\n return this._stageWidth;\n },\n\n /**\n Retrieve the option\n @param {string} key The option key to retrieve. If no key specified it will return all options in an object.\n @returns option or options\n */\n getOptions: function getOptions(key) {\n return typeof key === 'undefined' ? this._options : this._options[key];\n },\n\n /**\n Set options to the instance.\n You can set options using a key & value argument or a single object argument (see examples)\n @param {string} key The option key\n @param {string} value the the options value\n @example setOptions( 'autoplay', true )\n @example setOptions({ autoplay: true });\n @returns Instance\n */\n setOptions: function setOptions(key, value) {\n if (_typeof(key) === 'object') {\n $.extend(this._options, key);\n } else {\n this._options[key] = value;\n }\n\n return this;\n },\n\n /**\n Starts playing the slideshow\n @param {number} delay Sets the slideshow interval in milliseconds.\n If you set it once, you can just call play() and get the same interval the next time.\n @returns Instance\n */\n play: function play(delay) {\n this._playing = true;\n this._playtime = delay || this._playtime;\n\n this._playCheck();\n\n this.trigger(_Galleria.PLAY);\n return this;\n },\n\n /**\n Stops the slideshow if currently playing\n @returns Instance\n */\n pause: function pause() {\n this._playing = false;\n this.trigger(_Galleria.PAUSE);\n return this;\n },\n\n /**\n Toggle between play and pause events.\n @param {number} delay Sets the slideshow interval in milliseconds.\n @returns Instance\n */\n playToggle: function playToggle(delay) {\n return this._playing ? this.pause() : this.play(delay);\n },\n\n /**\n Checks if the gallery is currently playing\n @returns {Boolean}\n */\n isPlaying: function isPlaying() {\n return this._playing;\n },\n\n /**\n Checks if the gallery is currently in fullscreen mode\n @returns {Boolean}\n */\n isFullscreen: function isFullscreen() {\n return this._fullscreen.active;\n },\n _playCheck: function _playCheck() {\n var self = this,\n played = 0,\n interval = 20,\n now = Utils.timestamp(),\n timer_id = 'play' + this._id;\n\n if (this._playing) {\n this.clearTimer(timer_id);\n\n var fn = function fn() {\n played = Utils.timestamp() - now;\n\n if (played >= self._playtime && self._playing) {\n self.clearTimer(timer_id);\n self.next();\n return;\n }\n\n if (self._playing) {\n // trigger the PROGRESS event\n self.trigger({\n type: _Galleria.PROGRESS,\n percent: M.ceil(played / self._playtime * 100),\n seconds: M.floor(played / 1000),\n milliseconds: played\n });\n self.addTimer(timer_id, fn, interval);\n }\n };\n\n self.addTimer(timer_id, fn, interval);\n }\n },\n\n /**\n Modify the slideshow delay\n @param {number} delay the number of milliseconds between slides,\n @returns Instance\n */\n setPlaytime: function setPlaytime(delay) {\n this._playtime = delay;\n return this;\n },\n setIndex: function setIndex(val) {\n this._active = val;\n return this;\n },\n\n /**\n Manually modify the counter\n @param {number} [index] Optional data index to fectch,\n if no index found it assumes the currently active index\n @returns Instance\n */\n setCounter: function setCounter(index) {\n if (typeof index === 'number') {\n index++;\n } else if (typeof index === 'undefined') {\n index = this.getIndex() + 1;\n }\n\n this.get('current').innerHTML = index;\n\n if (IE) {\n // weird IE bug\n var count = this.$('counter'),\n opacity = count.css('opacity');\n\n if (parseInt(opacity, 10) === 1) {\n Utils.removeAlpha(count[0]);\n } else {\n this.$('counter').css('opacity', opacity);\n }\n }\n\n return this;\n },\n\n /**\n Manually set captions\n @param {number} [index] Optional data index to fectch and apply as caption,\n if no index found it assumes the currently active index\n @returns Instance\n */\n setInfo: function setInfo(index) {\n var self = this,\n data = this.getData(index);\n $.each(['title', 'description'], function (i, type) {\n var elem = self.$('info-' + type);\n\n if (!!data[type]) {\n elem[data[type].length ? 'show' : 'hide']().html(data[type]);\n } else {\n elem.empty().hide();\n }\n });\n return this;\n },\n\n /**\n Checks if the data contains any captions\n @param {number} [index] Optional data index to fectch,\n if no index found it assumes the currently active index.\n @returns {boolean}\n */\n hasInfo: function hasInfo(index) {\n var check = 'title description'.split(' '),\n i;\n\n for (i = 0; check[i]; i++) {\n if (!!this.getData(index)[check[i]]) {\n return true;\n }\n }\n\n return false;\n },\n jQuery: function jQuery(str) {\n var self = this,\n ret = [];\n $.each(str.split(','), function (i, elemId) {\n elemId = $.trim(elemId);\n\n if (self.get(elemId)) {\n ret.push(elemId);\n }\n });\n var jQ = $(self.get(ret.shift()));\n $.each(ret, function (i, elemId) {\n jQ = jQ.add(self.get(elemId));\n });\n return jQ;\n },\n\n /**\n Converts element IDs into a jQuery collection\n You can call for multiple IDs separated with commas.\n @param {string} str One or more element IDs (comma-separated)\n @returns jQuery\n @example this.$('info,container').hide();\n */\n $: function $(str) {\n return this.jQuery.apply(this, Utils.array(arguments));\n }\n }; // End of Galleria prototype\n // Add events as static variables\n\n $.each(_events, function (i, ev) {\n // legacy events\n var type = /_/.test(ev) ? ev.replace(/_/g, '') : ev;\n _Galleria[ev.toUpperCase()] = 'galleria.' + type;\n });\n $.extend(_Galleria, {\n // Browser helpers\n IE9: IE === 9,\n IE8: IE === 8,\n IE7: IE === 7,\n IE6: IE === 6,\n IE: IE,\n WEBKIT: /webkit/.test(NAV),\n CHROME: /chrome/.test(NAV),\n SAFARI: /safari/.test(NAV) && !/chrome/.test(NAV),\n QUIRK: IE && doc.compatMode && doc.compatMode === \"BackCompat\",\n MAC: /mac/.test(navigator.platform.toLowerCase()),\n OPERA: !!window.opera,\n IPHONE: /iphone/.test(NAV),\n IPAD: /ipad/.test(NAV),\n ANDROID: /android/.test(NAV),\n TOUCH: 'ontouchstart' in doc && MOBILE // rule out false positives on Win10\n\n }); // Galleria static methods\n\n /**\n Adds a theme that you can use for your Gallery\n \n @param {Object} theme Object that should contain all your theme settings.\n
    \n
  • name - name of the theme
  • \n
  • author - name of the author
  • \n
  • css - css file name (not path)
  • \n
  • defaults - default options to apply, including theme-specific options
  • \n
  • init - the init function
  • \n
\n \n @returns {Object} theme\n */\n\n _Galleria.addTheme = function (theme) {\n // make sure we have a name\n if (!theme.name) {\n _Galleria.raise('No theme name specified');\n } // make sure it's compatible\n\n\n if (!theme.version || parseInt(_Galleria.version * 10) > parseInt(theme.version * 10)) {\n _Galleria.raise('This version of Galleria requires ' + theme.name + ' theme version ' + parseInt(_Galleria.version * 10) / 10 + ' or later', true);\n }\n\n if (_typeof(theme.defaults) !== 'object') {\n theme.defaults = {};\n } else {\n theme.defaults = _legacyOptions(theme.defaults);\n }\n\n var css = false,\n reg,\n reg2;\n\n if (typeof theme.css === 'string') {\n // look for manually added CSS\n $('link').each(function (i, link) {\n reg = new RegExp(theme.css);\n\n if (reg.test(link.href)) {\n // we found the css\n css = true; // the themeload trigger\n\n _themeLoad(theme);\n\n return false;\n }\n }); // else look for the absolute path and load the CSS dynamic\n\n if (!css) {\n $(function () {\n // Try to determine the css-path from the theme script.\n // In IE8/9, the script-dom-element seems to be not present\n // at once, if galleria itself is inserted into the dom\n // dynamically. We therefore try multiple times before raising\n // an error.\n var retryCount = 0;\n\n var tryLoadCss = function tryLoadCss() {\n $('script').each(function (i, script) {\n // look for the theme script\n reg = new RegExp('galleria\\\\.' + theme.name.toLowerCase() + '\\\\.');\n reg2 = new RegExp('galleria\\\\.io\\\\/theme\\\\/' + theme.name.toLowerCase() + '\\\\/(\\\\d*\\\\.*)?(\\\\d*\\\\.*)?(\\\\d*\\\\/)?js');\n\n if (reg.test(script.src) || reg2.test(script.src)) {\n // we have a match\n css = script.src.replace(/[^\\/]*$/, '') + theme.css;\n window.setTimeout(function () {\n Utils.loadCSS(css, 'galleria-theme-' + theme.name, function () {\n // run galleries with this theme\n _themeLoad(theme);\n });\n }, 1);\n }\n });\n\n if (!css) {\n if (retryCount++ > 5) {\n _Galleria.raise('No theme CSS loaded');\n } else {\n window.setTimeout(tryLoadCss, 500);\n }\n }\n };\n\n tryLoadCss();\n });\n }\n } else {\n // pass\n _themeLoad(theme);\n }\n\n return theme;\n };\n /**\n loadTheme loads a theme js file and attaches a load event to Galleria\n \n @param {string} src The relative path to the theme source file\n \n @param {Object} [options] Optional options you want to apply\n \n @returns Galleria\n */\n\n\n _Galleria.loadTheme = function (src, options) {\n // Don't load if theme is already loaded\n if ($('script').filter(function () {\n return $(this).attr('src') == src;\n }).length) {\n return;\n }\n\n var loaded = false,\n err; // start listening for the timeout onload\n\n $(window).on('load', function () {\n if (!loaded) {\n // give it another 20 seconds\n err = window.setTimeout(function () {\n if (!loaded) {\n _Galleria.raise(\"Galleria had problems loading theme at \" + src + \". Please check theme path or load manually.\", true);\n }\n }, 20000);\n }\n }); // load the theme\n\n Utils.loadScript(src, function () {\n loaded = true;\n window.clearTimeout(err);\n });\n return _Galleria;\n };\n /**\n Retrieves a Galleria instance.\n \n @param {number} [index] Optional index to retrieve.\n If no index is supplied, the method will return all instances in an array.\n \n @returns Instance or Array of instances\n */\n\n\n _Galleria.get = function (index) {\n if (!!_instances[index]) {\n return _instances[index];\n } else if (typeof index !== 'number') {\n return _instances;\n } else {\n _Galleria.raise('Gallery index ' + index + ' not found');\n }\n };\n /**\n \n Configure Galleria options via a static function.\n The options will be applied to all instances\n \n @param {string|object} key The options to apply or a key\n \n @param [value] If key is a string, this is the value\n \n @returns Galleria\n \n */\n\n\n _Galleria.configure = function (key, value) {\n var opts = {};\n\n if (typeof key == 'string' && value) {\n opts[key] = value;\n key = opts;\n } else {\n $.extend(opts, key);\n }\n\n _Galleria.configure.options = opts;\n $.each(_Galleria.get(), function (i, instance) {\n instance.setOptions(opts);\n });\n return _Galleria;\n };\n\n _Galleria.configure.options = {};\n /**\n \n Bind a Galleria event to the gallery\n \n @param {string} type A string representing the galleria event\n \n @param {function} callback The function that should run when the event is triggered\n \n @returns Galleria\n \n */\n\n _Galleria.on = function (type, callback) {\n if (!type) {\n return;\n }\n\n callback = callback || F; // hash the bind\n\n var hash = type + callback.toString().replace(/\\s/g, '') + Utils.timestamp(); // for existing instances\n\n $.each(_Galleria.get(), function (i, instance) {\n instance._binds.push(hash);\n\n instance.bind(type, callback);\n }); // for future instances\n\n _Galleria.on.binds.push({\n type: type,\n callback: callback,\n hash: hash\n });\n\n return _Galleria;\n };\n\n _Galleria.on.binds = [];\n /**\n \n Run Galleria\n Alias for $(selector).galleria(options)\n \n @param {string} selector A selector of element(s) to intialize galleria to\n \n @param {object} options The options to apply\n \n @returns Galleria\n \n */\n\n _Galleria.run = function (selector, options) {\n if ($.isFunction(options)) {\n options = {\n extend: options\n };\n }\n\n $(selector || '#galleria').galleria(options);\n return _Galleria;\n };\n /**\n Creates a transition to be used in your gallery\n \n @param {string} name The name of the transition that you will use as an option\n \n @param {Function} fn The function to be executed in the transition.\n The function contains two arguments, params and complete.\n Use the params Object to integrate the transition, and then call complete when you are done.\n \n @returns Galleria\n \n */\n\n\n _Galleria.addTransition = function (name, fn) {\n _transitions.effects[name] = fn;\n return _Galleria;\n };\n /**\n The Galleria utilites\n */\n\n\n _Galleria.utils = Utils;\n /**\n A helper metod for cross-browser logging.\n It uses the console log if available otherwise it falls back to alert\n \n @example Galleria.log(\"hello\", document.body, [1,2,3]);\n */\n\n _Galleria.log = function () {\n var args = Utils.array(arguments);\n\n if ('console' in window && 'log' in window.console) {\n try {\n return window.console.log.apply(window.console, args);\n } catch (e) {\n $.each(args, function () {\n window.console.log(this);\n });\n }\n } else {\n return window.alert(args.join('
'));\n }\n };\n /**\n A ready method for adding callbacks when a gallery is ready\n Each method is call before the extend option for every instance\n \n @param {function} callback The function to call\n \n @returns Galleria\n */\n\n\n _Galleria.ready = function (fn) {\n if (typeof fn != 'function') {\n return _Galleria;\n }\n\n $.each(_galleries, function (i, gallery) {\n fn.call(gallery, gallery._options);\n });\n\n _Galleria.ready.callbacks.push(fn);\n\n return _Galleria;\n };\n\n _Galleria.ready.callbacks = [];\n /**\n Method for raising errors\n \n @param {string} msg The message to throw\n \n @param {boolean} [fatal] Set this to true to override debug settings and display a fatal error\n */\n\n _Galleria.raise = function (msg, fatal) {\n var type = fatal ? 'Fatal error' : 'Error',\n css = {\n color: '#fff',\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 100000\n },\n echo = function echo(msg) {\n var html = '
' + (fatal ? '' + type + ': ' : '') + msg + '
';\n $.each(_instances, function () {\n var cont = this.$('errors'),\n target = this.$('target');\n\n if (!cont.length) {\n target.css('position', 'relative');\n cont = this.addElement('errors').appendChild('target', 'errors').$('errors').css(css);\n }\n\n cont.append(html);\n });\n\n if (!_instances.length) {\n $('
').css($.extend(css, {\n position: 'fixed'\n })).append(html).appendTo(DOM().body);\n }\n }; // if debug is on, display errors and throw exception if fatal\n\n\n if (DEBUG) {\n echo(msg);\n\n if (fatal) {\n throw new Error(type + ': ' + msg);\n } // else just echo a silent generic error if fatal\n\n } else if (fatal) {\n if (_hasError) {\n return;\n }\n\n _hasError = true;\n fatal = false;\n echo('Gallery could not load.');\n }\n }; // Add the version\n\n\n _Galleria.version = VERSION;\n\n _Galleria.getLoadedThemes = function () {\n return $.map(_loadedThemes, function (theme) {\n return theme.name;\n });\n };\n /**\n A method for checking what version of Galleria the user has installed and throws a readable error if the user needs to upgrade.\n Useful when building plugins that requires a certain version to function.\n \n @param {number} version The minimum version required\n \n @param {string} [msg] Optional message to display. If not specified, Galleria will throw a generic error.\n \n @returns Galleria\n */\n\n\n _Galleria.requires = function (version, msg) {\n msg = msg || 'You need to upgrade Galleria to version ' + version + ' to use one or more components.';\n\n if (_Galleria.version < version) {\n _Galleria.raise(msg, true);\n }\n\n return _Galleria;\n };\n /**\n Adds preload, cache, scale and crop functionality\n \n @constructor\n \n @requires jQuery\n \n @param {number} [id] Optional id to keep track of instances\n */\n\n\n _Galleria.Picture = function (id) {\n // save the id\n this.id = id || null; // the image should be null until loaded\n\n this.image = null; // Create a new container\n\n this.container = Utils.create('galleria-image'); // add container styles\n\n $(this.container).css({\n overflow: 'hidden',\n position: 'relative' // for IE Standards mode\n\n }); // saves the original measurements\n\n this.original = {\n width: 0,\n height: 0\n }; // flag when the image is ready\n\n this.ready = false; // flag for iframe Picture\n\n this.isIframe = false;\n };\n\n _Galleria.Picture.prototype = {\n // the inherited cache object\n cache: {},\n // show the image on stage\n show: function show() {\n Utils.show(this.image);\n },\n // hide the image\n hide: function hide() {\n Utils.moveOut(this.image);\n },\n clear: function clear() {\n this.image = null;\n },\n\n /**\n Checks if an image is in cache\n @param {string} src The image source path, ex '/path/to/img.jpg'\n @returns {boolean}\n */\n isCached: function isCached(src) {\n return !!this.cache[src];\n },\n\n /**\n Preloads an image into the cache\n @param {string} src The image source path, ex '/path/to/img.jpg'\n @returns Galleria.Picture\n */\n preload: function preload(src) {\n var $image = $(new Image()).on('load', function (src, cache) {\n return function () {\n cache[src] = src;\n };\n }(src, this.cache)); // due to a bug in safari, need to set srcset first\n\n if (src.srcset) {\n $image.attr('srcset', src.srcset);\n }\n\n if (src.sizes) {\n $image.attr('sizes', src.sizes);\n }\n\n $image.attr('src', src);\n },\n\n /**\n Loads an image and call the callback when ready.\n Will also add the image to cache.\n @param {string} src The image source path, ex '/path/to/img.jpg'\n @param {Object} [size] The forced size of the image, defined as an object { width: xx, height:xx }\n @param {Function} callback The function to be executed when the image is loaded & scaled\n @returns The image container (jQuery object)\n */\n load: function load(src, size, callback) {\n if (typeof size == 'function') {\n callback = size;\n size = null;\n }\n\n if (this.isIframe) {\n var id = 'if' + new Date().getTime();\n var iframe = this.image = $('