{"version":3,"sources":["webpack:///./src/views/living/Living.vue?d75f","webpack:///./node_modules/vant/es/utils/deep-clone.js","webpack:///./node_modules/vant/es/slider/index.js","webpack:///./node_modules/vant/es/badge/index.js","webpack:///./src/views/living/components/Header.vue?b28f","webpack:///./src/views/living/components/Header.vue?7bb7","webpack:///./src/views/living/components/Header.vue?61f9","webpack:///./src/views/living/components/Header.vue","webpack:///./src/views/living/components/Comment.vue?d473","webpack:///./node_modules/vant/es/tag/index.js","webpack:///./src/components/AutoScroll.vue?b38f","webpack:///./src/components/AutoScroll.vue?9420","webpack:///./src/components/AutoScroll.vue?fee3","webpack:///./src/components/AutoScroll.vue","webpack:///./src/views/living/Mixins.ts","webpack:///./src/views/living/components/CommentPop.vue?76f1","webpack:///./node_modules/vant/es/skeleton/index.js","webpack:///./src/views/living/components/liveroom/LiveComment.vue?b686","webpack:///./src/views/living/components/liveroom/LiveReplyComment.vue?4236","webpack:///./src/views/living/components/liveroom/LiveReplyComment.vue?887d","webpack:///./src/views/living/components/liveroom/LiveReplyComment.vue?cc4b","webpack:///./src/views/living/components/liveroom/LiveReplyComment.vue","webpack:///./src/api/portrait.ts","webpack:///./src/views/living/components/liveroom/LiveComment.vue?e60c","webpack:///./src/views/living/components/liveroom/LiveComment.vue?cfb9","webpack:///./src/views/living/components/liveroom/LiveComment.vue","webpack:///./src/views/living/components/chatroom/ChatComment.vue?3bbd","webpack:///./src/views/living/components/chatroom/ChatComment.vue?9a2a","webpack:///./src/views/living/components/chatroom/ChatComment.vue?c896","webpack:///./src/views/living/components/chatroom/ChatComment.vue","webpack:///./src/views/living/components/CommentPop.vue?ed27","webpack:///./src/views/living/components/CommentPop.vue?e43f","webpack:///./src/views/living/components/CommentPop.vue","webpack:///./src/views/living/components/Comment.vue?2b22","webpack:///./src/views/living/components/Comment.vue?293a","webpack:///./src/views/living/components/Comment.vue","webpack:///./src/views/living/components/LiveHeader.vue?8df3","webpack:///./src/views/living/components/LiveHeader.vue?c031","webpack:///./src/views/living/components/LiveHeader.vue?0077","webpack:///./src/views/living/components/LiveHeader.vue","webpack:///./src/views/living/Living.vue?0364","webpack:///./src/views/living/Living.vue?9f16","webpack:///./src/views/living/Living.vue","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/utils/stream.js","webpack:///./src/views/living/components/CommentPop.vue?c2ed","webpack:///./node_modules/videojs-contrib-hls/node_modules/pkcs7/lib/unpad.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/codec-utils.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/videojs-vtt.js/lib/vttregion.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/video.js/dist/video.cjs.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/flv/index.js","webpack:///./node_modules/videojs-contrib-hls/es5/reload-source-on-error.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/videojs-vtt.js/lib/vtt.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/m3u8-parser/es5/index.js","webpack:///./src/assets/portrait/play-btn.png","webpack:///./node_modules/videojs-contrib-hls/node_modules/mux.js/lib/mp4/probe.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/aes-decrypter/es5/decrypter.js","webpack:///./node_modules/tsml/tsml.js","webpack:///./src/views/living/components/Comment.vue?e596","webpack:///./node_modules/videojs-contrib-hls/es5/media-groups.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/virtual-source-buffer.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/mp4/transmuxer.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/videojs-vtt.js/lib/vttregion.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/data/silence.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/mux.js/lib/m2ts/timestamp-rollover-stream.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/mux.js/lib/utils/stream.js","webpack:///./node_modules/videojs-contrib-hls/es5/xhr.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/video.js/node_modules/global/document.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/video.js/node_modules/global/document.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/videojs-vtt.js/lib/vtt.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/remove-cues-from-track.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/pkcs7/lib/pkcs7.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/mux.js/lib/tools/ts-inspector.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./node_modules/videojs-contrib-hls/es5/vtt-segment-loader.js","webpack:///./src/views/living/components/chatroom/ChatComment.vue?ea14","webpack:///./node_modules/videojs-contrib-hls/es5/config.js","webpack:///./node_modules/videojs-contrib-hls/es5/playlist-selectors.js","webpack:///./src/components/AutoScroll.vue?74de","webpack:///./node_modules/vant/es/pull-refresh/index.js","webpack:///./node_modules/dayjs/dayjs.min.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/transmuxer-worker.js","webpack:///./src/assets/portrait/praise.png","webpack:///./node_modules/videojs-contrib-hls/es5/util/codecs.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/m2ts/stream-types.js","webpack:///./node_modules/parse-headers/parse-headers.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/mux.js/lib/m2ts/stream-types.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/flash-source-buffer.js","webpack:///./src/views/living/components/liveroom/LiveComment.vue?4291","webpack:///./src/assets/image sync ^\\.\\/直播间icon(.*选中)@2x\\.png$","webpack:///./node_modules/videojs-contrib-hls/node_modules/pkcs7/lib/pad.js","webpack:///./node_modules/videojs-contrib-hls/es5/resolve-url.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/videojs-vtt.js/lib/vttcue.js","webpack:///./node_modules/videojs-contrib-hls/es5/source-updater.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/flv/tag-list.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/m2ts/m2ts.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/flv/coalesce-stream.js","webpack:///./src/views/living/components/Header.vue?2197","webpack:///./node_modules/videojs-contrib-hls/node_modules/m3u8-parser/es5/line-stream.js","webpack:///./node_modules/webwackify/index.js","webpack:///./node_modules/vant/es/mixins/field.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/utils/clock.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/videojs-contrib-media-sources.js","webpack:///./node_modules/videojs-contrib-hls/es5/media-segment-request.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/videojs-vtt.js/lib/browser-index.js","webpack:///./src/assets/image sync ^\\.\\/聊天室icon(.*选中)@2x\\.png$","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/videojs-contrib-hls/es5/playlist-loader.js","webpack:///./node_modules/videojs-contrib-hls/es5/master-playlist-controller.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/flash-media-source.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/create-text-tracks-if-necessary.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/m2ts/timestamp-rollover-stream.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/m2ts/metadata-stream.js","webpack:///./src/assets/portrait/gift.png","webpack:///./node_modules/videojs-contrib-media-sources/es5/html-media-source.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/m3u8-parser/es5/stream.js","webpack:///./node_modules/videojs-contrib-hls/es5/videojs-contrib-hls.js","webpack:///./node_modules/videojs-contrib-hls/es5/decrypter-worker.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/mp4/mp4-generator.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/video.js/node_modules/global/window.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/flash-transmuxer-worker.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/codecs/adts.js","webpack:///./src/views/living/components/liveroom/LiveReplyComment.vue?c3a0","webpack:///./node_modules/videojs-contrib-hls/node_modules/mux.js/lib/m2ts/probe.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/aac/index.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/utils/exp-golomb.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/aes-decrypter/es5/index.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/add-text-track-data.js","webpack:///./src/assets/portrait/money.png","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/flv/transmuxer.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/videojs-vtt.js/lib/browser-index.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/flv/flv-header.js","webpack:///./node_modules/videojs-contrib-hls/es5/sync-controller.js","webpack:///./src/views/living/Living.vue?6722","webpack:///./src/assets/portrait/more.png","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/flv/flv-tag.js","webpack:///./node_modules/videojs-contrib-hls/es5/ranges.js","webpack:///./node_modules/videojs-contrib-hls/es5/playlist.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/mux.js/lib/aac/probe.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/m2ts/caption-stream.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/aes-decrypter/es5/async-stream.js","webpack:///./node_modules/videojs-contrib-hls/es5/rendition-mixin.js","webpack:///./node_modules/videojs-contrib-media-sources/es5/flash-constants.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/video.js/dist/video.cjs.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/aes-decrypter/es5/stream.js","webpack:///./node_modules/xhr/node_modules/global/window.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/videojs-vtt.js/lib/vttcue.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/video.js/node_modules/global/window.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/codecs/h264.js","webpack:///./node_modules/videojs-contrib-hls/es5/ad-cue-tags.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/aes-decrypter/es5/aes.js","webpack:///./src/assets/poster.jpeg","webpack:///./node_modules/xhr/index.js","webpack:///./node_modules/videojs-contrib-hls/es5/bin-utils.js","webpack:///./src/assets/portrait/点赞.png","webpack:///./node_modules/videojs-contrib-hls/node_modules/m3u8-parser/es5/parser.js","webpack:///./node_modules/videojs-contrib-hls/es5/playback-watcher.js","webpack:///./node_modules/videojs-contrib-hls/es5/segment-loader.js","webpack:///./node_modules/videojs-contrib-hls/node_modules/m3u8-parser/es5/parse-stream.js","webpack:///./node_modules/videojs-contrib-media-sources/node_modules/mux.js/lib/mp4/index.js","webpack:///./src/views/living/components/LiveHeader.vue?6e28"],"names":["_vm","this","_h","$createElement","_c","_self","staticClass","isOpenApp","shareInfo","appId","attrs","on","close","_e","liveDetail","_b","ref","staticStyle","bannerImg","videoOptions","poster","$event","isPause","$attrs","bannerVideo","isM3u8","style","background","height","footerHeight","opacity","onPlay","status","_v","liveInfo","redPocketNumber","directives","name","rawName","value","floatShow","floatInfo","groupIcon","expression","floatClick","model","callback","$$v","showFloatList","_l","float","key","id","linkUrl","linkIcon","_s","linkContent","onChange","vProgress","type","indexOf","_k","keyCode","onCommentSend","isGift","staticRenderFns","deepClone","obj","Array","isArray","map","item","to","Object","keys","forEach","_createNamespace","create","createComponent","bem","isSameValue","newValue","oldValue","JSON","stringify","mixins","props","disabled","Boolean","vertical","range","barHeight","Number","String","buttonSize","activeColor","inactiveColor","min","default","max","step","data","dragStatus","computed","scope","buttonStyle","size","width","created","updateValue","mounted","bindTouchEvent","$refs","wrapper0","wrapper1","wrapper","methods","onTouchStart","event","touchStart","currentValue","startValue","format","onTouchMove","$emit","touchMove","rect","$el","getBoundingClientRect","delta","deltaY","deltaX","total","diff","index","onTouchEnd","onClick","stopPropagation","clientY","top","clientX","left","_this$value","right","middle","handleOverlap","reverse","end","Math","round","render","_wrapperStyle","_barStyle","_this","h","arguments","mainAxis","crossAxis","wrapperStyle","calcMainAxis","calcOffset","barStyle","transition","renderButton","i","isNumber","getClassName","getRefName","e","slots","dot","color","content","tag","hasContent","$scopedSlots","renderContent","renderBadge","fixed","isShow","shareBg","shareLogo","appName","openApp","shareClose","window","ZWY_CLOUD","isOpenInApp","app","document","getElementById","position","getShareInfo","then","res","schemeUrl","location","href","downloadUrl","Params","newsId","sourceId","sourceType","url","shareUrl","test","navigator","userAgent","replace","setTimeout","component","onCommentClick","isShowLiveRoom","host","informationId","compereName","isShowChat","userComments","user","replyId","isHost","showWin","Tag","ctx","_style","mark","plain","textColor","borderColor","classes","CloseIcon","closeable","isTouchEnd","_t","rootEl","aniExcuting","io","splitThreshold","bufferLenth","pauseScroll","onIntersectionObserver","doUserAnimate","withThrottle","bind","$nextTick","calculateNotInView","requstAnimationId","requestAnimationFrame","reachBottom","isReachBottom","clientHeight","cancelAnimationFrame","scrollTop","lastTimeScrollTop","intervalId","setInterval","clearInterval","IntersectionObserver","entries","entry","isIntersecting","boundingClientRect","bottom","list","length","unobserve","target","delComment","root","childEl","children","observe","splice","el","wrapHeight","threshold","h1","scrollHeight","h2","required","from","_show","active","scopedSlots","_u","fn","detail","liveRoomIcon","proxy","chatIcon","DEFAULT_ROW_WIDTH","DEFAULT_LAST_ROW_WIDTH","Skeleton","loading","Title","title","titleWidth","Rows","rowWidth","getRowWidth","row","push","Avatar","avatar","avatarSize","avatarShape","animate","onRefresh","refreshing","finish","onLoad","liveRoomList","live","class","video","videoImg","getLiveCommentImages","imageHyperLink","hyperLink","openNews","img","includes","images","createTime","timeFormat","praiseCount","newsUrls","news","commentDtoList","replyList","slice","showMore","reply","replyUserUrl","nickname","components","VanImage","infoClassifyId","get","params","post","livePage","lastReplyId","lastId","lastSortNo","lastCreateTime","image","getLiveRoom","time","upTime","unix","nowTime","Date","now","toFixed","$route","query","code","last","sortNo","fail","message","catch","err","finally","initData","LiveReplyComment","List","PullRefresh","chatRoomList","chat","praise","imageUrl","chatPage","getChatRoom","VanButton","Popup","Tabs","Tab","LiveComment","ChatComment","hostIds","hostList","result","find","userId","getHosts","comment","hostComments","classifyList","Swipe","SwipeItem","Icon","AutoScroll","CommentPop","showDetail","hideDetailViewCount","prefix","appIdFromUA","isShowViewNum","viewCount","onlineTime","synopsis","$store","state","0","1","2","vDuration","vPlayer","controls","autoplay","page","isExcute","linkView","html","getElementsByTagName","maxWidth","margin","body","addViewCount","footer","offsetHeight","getLiveDetail","getFloatList","getLiveShareInfo","solveKeyboardSqueezeScreen","liveHeader","getElementsByClassName","getCount","initVideo","commit","getAppConfig","getLiveInfo","querySelector","muted","appConfig","liveMute","frequency","autoRefreshFrequency","assign","$forceUpdate","classifyId","doPolling","immediate","wait","liveShare","setShareConfig","shareTitle","icon","shareImgUrl","cb","timer","stop","is","adverInfoList","targetTime","currentTime","play","pause","vw","innerWidth","vh","innerHeight","viewport","setAttribute","$video","duration","ElVideoName","history","pushState","URL","addEventListener","endsWith","DownloadHeader","LiveHeader","Comment","Slider","Badge","ActionSheet","AppPrompt","Stream","init","listeners","listener","concat","off","trigger","callbacks","args","call","apply","dispose","prototype","pipe","destination","flushSource","flush","module","exports","padded","subarray","byteLength","defineProperty","isAudioCodec","codec","isVideoCodec","parseContentType","object","parameters","trim","split","shift","parameter","pair","_name","translateLegacyCodecs","codecs","orig","profile","avcLevel","profileHex","toString","avcLevelHex","scrollSetting","findScrollSetting","scroll","toLowerCase","isValidPercentValue","VTTRegion","_width","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll","defineProperties","enumerable","set","Error","TypeError","setting","SyntaxError","_interopDefault","ex","tsml","safeParseTuple","xhr","vtt","version","USER_AGENT","webkitVersionMap","exec","appleWebkitVersion","parseFloat","pop","IS_IPAD","IS_IPHONE","IS_IPOD","IS_IOS","IOS_VERSION","match","IS_ANDROID","ANDROID_VERSION","major","minor","IS_OLD_ANDROID","IS_NATIVE_ANDROID","IS_FIREFOX","IS_EDGE","IS_CHROME","CHROME_VERSION","IS_IE8","IE_VERSION","IS_SAFARI","IS_ANY_SAFARI","TOUCH_ENABLED","isReal","maxTouchPoints","DocumentTouch","BACKGROUND_SIZE_SUPPORTED","createElement","browser","freeze","_typeof","Symbol","iterator","constructor","classCallCheck","instance","Constructor","inherits","subClass","superClass","writable","configurable","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","taggedTemplateLiteralLoose","strings","raw","isObject","each","reduce","initial","undefined","accum","_len","sources","_key","source","isPlain","LogByTypeFactory","log","level","lvl","levels","lvlRegExp","RegExp","unshift","toUpperCase","console","info","a","x","join","createLogger$1","logByType","createLogger","subname","all","debug","warn","error","DEFAULT","hasOwnProperty","filter","fname","historyItem","clear","disable","enable","_len2","_key2","_len3","_key3","_len4","_key4","computedStyle","prop","getComputedStyle","cs","currentStyle","_templateObject","isNonBlankString","str","throwIfWhitespace","classRegExp","className","isEl","nodeType","isInFrame","parent","createQuerier","method","selector","context","createEl","tagName","properties","attributes","getOwnPropertyNames","propName","val","textContent","attrName","appendContent","text","innerText","prependTo","child","firstChild","insertBefore","appendChild","hasClass","element","classToCheck","classList","contains","addClass","classToAdd","add","removeClass","classToRemove","remove","c","toggleClass","classToToggle","predicate","has","setAttributes","attrValue","removeAttribute","getAttributes","knownBooleans","attrVal","getAttribute","attribute","blockTextSelection","focus","onselectstart","unblockTextSelection","parentNode","k","findPosition","box","docEl","documentElement","clientLeft","scrollLeft","pageXOffset","clientTop","pageYOffset","getPointerPosition","boxW","offsetWidth","boxH","boxY","boxX","pageY","pageX","changedTouches","y","isTextNode","emptyEl","removeChild","normalizeContent","createTextNode","node","insertContent","isSingleLeftClick","button","buttons","$","$$","Dom","_guid","newGUID","elData","elIdAttr","getTime","getData","hasData","removeData","_cleanUpEvents","elem","handlers","removeEventListener","dispatcher","detachEvent","_handleMultipleEvents","types","fixEvent","returnTrue","returnFalse","isPropagationStopped","old","preventDefault","srcElement","relatedTarget","fromElement","toElement","returnValue","defaultPrevented","cancelBubble","stopImmediatePropagation","isImmediatePropagationStopped","doc","which","charCode","_supportsPassive","opts","passiveEvents","guid","hash","handlersCopy","m","n","options","passive","attachEvent","removeType","t","elemData","ownerDocument","bubbles","targetData","one","func","Events","_windowLoaded","videojs$2","autoSetup","vids","audios","divs","mediaEls","_i","_i2","_e2","_i3","_e3","mediaEl","autoSetupTimeout","player","vjs","readyState","createStyleElement","setTextContent","styleSheet","cssText","uid","bound","throttle","throttled","debounce","timeout","cancel","clearTimeout","debounced","_later","EventTarget","allowedEvents_","ael","dispatchEvent","isEvented","eventBusEl_","every","isValidEventType","validateTarget","nodeName","validateEventType","validateListener","normalizeListenArgs","isTargetingSelf","listen","EventedMixin","_normalizeListenArgs","removeListenerOnDispose","removeRemoverOnTargetDispose","_this2","_normalizeListenArgs2","largs","targetOrType","typeOrListener","evented","eventBusKey","StatefulMixin","setState","stateUpdates","changes","stateful","defaultState","handleStateChanged","toTitleCase","string","charAt","titleCaseEquals","str1","str2","mergeOptions","Component","ready","player_","options_","id_","name_","el_","children_","childIndex_","childNameIndex_","initChildren","reportTouchActivity","enableTouchActivity","localize","tokens","defaultValue","language","languages","primaryCode","primaryLang","localizedString","ret","contentEl","contentEl_","getChildById","getChild","addChild","componentName","componentClassName","componentClass","ComponentClass","getComponent","childNodes","refNode","childFound","compEl","parentOptions","handleAdd","playerOptions","newChild","workingChildren","Tech","some","wchild","isTech","buildCSSClass","sync","isReady_","readyQueue_","triggerReady","readyQueue","show","hide","lockShowing","unlockShowing","num","skipListeners","dimension","dimensions","widthOrHeight","pxIndex","parseInt","currentDimension","computedWidthOrHeight","getPropertyValue","rule","currentDimensions","currentWidth","currentHeight","blur","emitTapEvents","firstTouch","tapMovementThreshold","touchTimeThreshold","couldBeTap","touches","xdiff","ydiff","touchDistance","sqrt","noTap","touchTime","reportUserActivity","report","touchHolding","touchEnd","timeoutId","disposeFn","interval","_this3","_this4","supportsRaf_","registerComponent","ComponentToRegister","isComp","isPrototypeOf","reason","components_","Player","players","playerNames","pname","rangeCheck","fnName","maxIndex","getRange","valueIndex","ranges","rangeIndex","createTimeRangesObj","start","createTimeRanges","bufferedPercent","buffered","bufferedDuration","FullscreenApi","apiMap","specApi","browserApi","MediaError","defaultMessages","errorTypes","3","4","5","errNum","isPromise","silencePromise","trackToJson_","track","acc","cues","cue","startTime","endTime","textTracksToJson","tech","trackEls","trackObjs","tracks","trackEl","json","src","textTracks","jsonToTextTracks","addedTrack","addRemoteTextTrack","addCue","textTrackConverter","MODAL_CLASS_NAME","ESC","ModalDialog","_Component","opened_","hasBeenOpened_","hasBeenFilled_","uncloseable","role","descEl_","description","tabIndex","label","previouslyActiveEl_","handleKeyPress","desc","open","fillAlways","fill","wasPlaying_","paused","pauseOnOpen","hadControls_","conditionalFocus_","opened","conditionalBlur_","temporary","closeable_","temp","controlText","fillWith","parentEl","nextSiblingEl","nextSibling","empty","closeButton","content_","activeEl","activeElement","playerEl","handleKeyDown","focusableEls","focusableEls_","focusIndex","shiftKey","allChildren","querySelectorAll","HTMLAnchorElement","HTMLAreaElement","hasAttribute","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","HTMLButtonElement","HTMLIFrameElement","HTMLObjectElement","HTMLEmbedElement","TrackList","_EventTarget","_ret","tracks_","addTrack","removeTrack","rtrack","l","getTrackById","change","addtrack","removetrack","disableOthers","enabled","AudioTrackList","_TrackList","_prop","changing_","disableOthers$1","selected","VideoTrackList","TextTrackList","nonLanguageTextTrackKind","kind","HtmlTrackElementList","trackElements","trackElements_","addTrackElement_","trackElement","getTrackElementByTrack_","trackElement_","removeTrackElement_","TextTrackCueList","setCues_","length_","oldLength","cues_","defineProp","getCueById","VideoTrackKind","alternative","captions","main","sign","subtitles","commentary","AudioTrackKind","TextTrackKind","descriptions","chapters","metadata","TextTrackMode","hidden","showing","Track","trackProps","_loop","parseUrl","addToBody","protocol","div","innerHTML","details","getAbsoluteURL","getFileExtension","path","splitPathRe","pathParts","isCrossOrigin","winLoc","urlInfo","srcProtocol","crossOrigin","Url","parseCues","srcContent","parser","WebVTT","Parser","vttjs","StringDecoder","errors","oncue","onparsingerror","onflush","parse","groupCollapsed","groupEnd","loadTrack","uri","cors","response","responseBody","loaded_","tech_","loadHandler","TextTrack","_Track","settings","srclang","mode","default_","tt","activeCues_","activeCues","changed","timeupdateHandler","newMode","ct","originalCue","VTTCue","originalCue_","removeCue","_removeCue","cuechange","AudioTrack","newEnabled","VideoTrack","newSelected","NONE","LOADING","LOADED","ERROR","HTMLTrackElement","load","NORMAL","audio","ListClass","TrackClass","capitalName","getterName","privateName","REMOTE","remoteText","remoteTextEl","ALL","createTrackHelper","names","hasStarted_","featuresProgressEvents","manualProgressOn","featuresTimeupdateEvents","manualTimeUpdatesOn","nativeCaptions","nativeTextTracks","featuresNativeTextTracks","emulateTextTracks","autoRemoteTextTracks_","initTrackListeners","nativeControlsForTouch","triggerSourceset","onDurationChange","manualProgress","trackProgress","manualProgressOff","stopTrackingProgress","progressInterval","numBufferedPercent","bufferedPercent_","duration_","manualTimeUpdates","trackCurrentTime","stopTrackingCurrentTime","manualTimeUpdatesOff","currentTimeInterval","manuallyTriggered","clearTracks","removeRemoteTextTrack","cleanupAutoTextTracks","reset","error_","played","setCurrentTime","trackListChanges","addWebVttScript_","_this5","script","onload","onerror","_this6","remoteTracks","remoteTextTracks","handleAddTrack","handleRemoveTrack","updateDisplay","textTracksChanges","addTextTrack","createRemoteTextTrack","_this7","manualCleanup","htmlTrackElement","remoteTextTrackEls","getVideoPlaybackQuality","setPoster","playsinline","setPlaysinline","canPlayType","canPlaySource","srcObj","registerTech","techs_","defaultTechOrder_","getTech","videojs","featuresVolumeControl","featuresMuteControl","featuresFullscreenResize","featuresPlaybackRate","featuresSourceset","withSourceHandlers","_Tech","registerSourceHandler","handler","sourceHandlers","can","selectSourceHandler","canHandleSource","sh","deferrable","originalFn","sourceHandler_","setSource","nativeSourceHandler","disposeSourceHandler","currentSource_","handleSource","middlewares","middlewareInstances","TERMINATOR","use","middleware","next","setSourceHelper","setTech","mw","get$1","reduceRight","middlewareIterator","set$1","arg","mediate","callMethod","middlewareValue","terminated","executeRight","allowedGetters","seekable","allowedSetters","allowedMediators","mws","clearCacheForPlayer","getOrCreateFactory","mwFactory","_mws$i","mwf","mwi","lastRun","mwrest","_src","MimetypesKind","opus","ogv","mp4","mov","m4v","mkv","mp3","aac","oga","m3u8","getMimetype","ext","mimetype","findMimetype","cache_","matchingSources","s","filterSource","newsrc","srcobj","fixSource","MediaLoader","j","techOrder","techName","isSupported","loadTech_","ClickableComponent","tabIndex_","createControlTextEl","controlTextEl_","controlText_","localizedText","nonIconControl","enabled_","handleClick","handleFocus","handleBlur","PosterImage","_ClickableComponent","update","fallbackImg_","setSrc","backgroundImage","darkGray","lightGray","fontMap","monospace","sansSerif","serif","monospaceSansSerif","monospaceSerif","proportionalSansSerif","proportionalSerif","casual","smallcaps","constructColor","hex","tryUpdateStyle","TextTrackDisplay","updateDisplayHandler","toggleDisplay","preselectTrack","modes","trackList","userPref","selectedLanguage","firstDesc","firstCaptions","preferredTrack","clearDisplay","processCues","descriptionsTrack","captionsSubtitlesTrack","updateForTrack","textTrackSettings","overrides","getValues","cueDiv","displayState","textOpacity","backgroundColor","backgroundOpacity","windowColor","windowOpacity","edgeStyle","textShadow","fontPercent","fontSize","fontFamily","fontVariant","LoadingSpinner","isAudio","playerType","dir","Button","BigPlayButton","_Button","mouseused_","handleMouseDown","playPromise","playToggle","playFocus","CloseButton","PlayToggle","handlePlay","handlePause","handleEnded","handleSeeked","defaultImplementation","seconds","guide","floor","gm","gh","isNaN","Infinity","implementation","setFormatTime","customImplementation","resetFormatTime","formatTime","TimeDisplay","throttledUpdateContent","updateContent","plainName","labelText_","updateTextNode_","textNode_","formattedTime_","formatTime_","updateFormattedTime_","formattedTime","CurrentTimeDisplay","_TimeDisplay","scrubbing","getCache","DurationDisplay","TimeDivider","RemainingTimeDisplay","remainingTimeDisplay","remainingTime","LiveDisplay","updateShowing","bar","barName","playerEvent","handleMouseMove","handleMouseUp","progress","getPercent","percentage","calculateDistance","stepBack","stepForward","bool","vertical_","LoadProgressBar","partEls_","bufferedEnd","percentify","percent","part","TimeTooltip","seekBarRect","seekBarPoint","tooltipRect","playerRect","seekBarPointPx","spaceLeftOfPoint","spaceRightOfPoint","pullTooltipBy","PlayProgressBar","rafId_","timeTooltip","MouseTimeDisplay","STEP_SECONDS","UPDATE_REFRESH_INTERVAL","SeekBar","_Slider","setEventHandlers_","updateInterval","update_","getCurrentTime_","videoWasPlaying","newTime","mouseTimeDisplay","handleAction","ProgressControl","throttledHandleMouseSeek","handleMouseSeek","seekBar","seekBarEl","FullscreenToggle","handleFullscreenChange","fullscreenEnabled","isFullscreen","exitFullscreen","requestFullscreen","checkVolumeSupport","VolumeLevel","VolumeBar","updateLastVolume_","updateARIAAttributes","checkMuted","volume","ariaValue","volumeAsPercentage_","volumeBeforeDrag","lastVolume_","VolumeControl","volumeBar","throttledHandleMouseMove","orientationClass","checkMuteSupport","MuteToggle","vol","lastVolume","volumeToSet","updateIcon_","updateControlText_","soundOff","VolumePanel","inline","volumeControl","volumePanelState_","sliderActive_","sliderInactive_","muteToggle","Menu","menuButton_","menuButton","focusedChild_","addItem","unpressButton","contentElType","append","stepChild","haveTitle","MenuButton","buttonClass","handleSubmenuKeyPress","menu","createMenu","buttonPressed_","items","hideThreshold_","createItems","buildWrapperCSSClass","menuButtonClass","pressButton","TrackButton","_MenuButton","updateHandler","MenuItem","selectable","isSelected_","multiSelectable","_selected","TextTrackMenuItem","_MenuItem","changeHandler","handleTracksChange","selectedLanguageChangeHandler","handleSelectedLanguageChange","onchange","Event","createEvent","initEvent","kinds","shouldBeSelected","OffTextTrackMenuItem","_TextTrackMenuItem","allHidden","TextTrackButton","_TrackButton","TrackMenuItem","label_","kinds_","kind_","ChaptersTrackMenuItem","ChaptersButton","_TextTrackButton","track_","setTrack","findChaptersTrack","updateHandler_","remoteTextTrackEl","_remoteTextTrackEl","getMenuCaption","mi","DescriptionsButton","SubtitlesButton","CaptionSettingsMenuItem","CaptionsButton","SubsCapsMenuItem","SubsCapsButton","language_","AudioTrackMenuItem","audioTracks","AudioTrackButton","PlaybackRateMenuItem","rate","playbackRate","PlaybackRateMenuButton","updateVisibility","updateLabel","labelEl_","rates","playbackRates","currentRate","newRate","playbackRateSupported","Spacer","CustomControlSpacer","_Spacer","ControlBar","ErrorDisplay","_ModalDialog","LOCAL_STORAGE_KEY","COLOR_BLACK","COLOR_BLUE","COLOR_CYAN","COLOR_GREEN","COLOR_MAGENTA","COLOR_RED","COLOR_WHITE","COLOR_YELLOW","OPACITY_OPAQUE","OPACITY_SEMI","OPACITY_TRANS","selectConfigs","v","parseOptionValue","getSelectedOptionValue","selectedIndex","setSelectedOption","TextTrackSettings","endDialog","setDefaults","persistTextTrackSettings","saveSettings","config","restoreSettings","createElSelect_","legendId","selectLabelledbyIds","o","optionId","createElFgColor_","createElBgColor_","createElWinColor_","createElColors_","createElFont_","createElControls_","defaultsDescription","setValues","values","localStorage","getItem","setItem","removeItem","ttDisplay","controlBar","subsCapsBtn","subsCapsButton","ccBtn","captionsButton","ResizeManager","RESIZE_OBSERVER_AVAILABLE","ResizeObserver","loadListener_","resizeObserver_","debouncedHandler_","resizeHandler","contentWindow","disconnect","resizeObserver","sourcesetLoad","srcUrls","innerHTMLDescriptorPolyfill","cloneNode","dummy","docFrag","createDocumentFragment","Element","getDescriptor","priority","descriptor","getOwnPropertyDescriptor","getInnerHTMLDescriptor","HTMLMediaElement","firstSourceWatch","resetSourceWatch_","innerDescriptor","appendWrapper","appendFn","retval","srcDescriptorPolyfill","getSrcDescriptor","setupSourceset","resetSourceset_","srcDescriptor","oldSetAttribute","oldLoad","currentSrc","_templateObject$2","Html5","crossoriginTracks","initNetworkState_","handleLateInit_","enableSourceset","setupSourcesetHandling_","hasChildNodes","nodes","nodesLength","removeNodes","proxyNativeTracks_","restoreMetadataTracksInIOSNativePlayer_","setControls","proxyWebkitFullscreen_","disposeMediaElement","metadataTracksPreFullscreenState","takeMetadataTrackSnapshot","storedMode","restoreTrackMode","storedTrack","elTracks","techTracks","currentTarget","removeOldTracks","removeTracks","found","eventName","playerElIngest","movingMediaElementInDOM","clone","tagAttributes","techId","playerId","preload","settingsAttrs","attr","networkState","loadstartFired","setLoadstartFired","triggerLoadstart","eventsToTrigger","checkProgress","NaN","endFn","beginFn","webkitPresentationMode","supportsFullScreen","webkitEnterFullScreen","enterFullScreen","HAVE_METADATA","exitFullScreen","webkitExitFullScreen","resetMediaElement","videoPlaybackQuality","webkitDroppedFrameCount","webkitDecodedFrameCount","droppedVideoFrames","totalVideoFrames","performance","creationTime","timing","navigationStart","TEST_VID","canControlVolume","canMuteVolume","canControlPlaybackRate","canOverrideAttributes","noop","supportsNativeTextTracks","supportsNativeVideoTracks","videoTracks","supportsNativeAudioTracks","featuresNativeVideoTracks","featuresNativeAudioTracks","mpegurlRE","mp4RE","patchCanPlayType","unpatchCanPlayType","r","_templateObject$1","TECH_EVENTS_RETRIGGER","TECH_EVENTS_QUEUE","canplay","canplaythrough","playing","seeked","BREAKPOINT_ORDER","BREAKPOINT_CLASSES","substring","DEFAULT_BREAKPOINTS","tiny","xsmall","small","medium","large","xlarge","huge","getTagSettings","closest","isPosterFromTech_","queuedCallbacks_","userActive_","languagesToLower","name$$1","languages_","poster_","controls_","scrubbing_","lastPlaybackRate","defaultPlaybackRate","playerOptionsCopy","plugins","middleware_","flexNotSupported_","majorVersion","userActive","listenForUserActivity_","handleFullscreenChange_","handleStageClick_","breakpoints","responsive","changingSrc_","playWaitingForReady_","playOnLoadstart_","styleEl_","playerElIngest_","divEmbed","tabindex","VIDEOJS_NO_DYNAMIC_STYLE","defaultsStyleEl","head","fill_","fluid_","fluid","aspectRatio","links","linkEl","_dimension","privDimension","updateStyleEl_","parsedVal","ratio","aspectRatio_","idClass","videoWidth","videoHeight","ratioParts","ratioMultiplier","width_","height_","_height","techEl","unloadTech_","titleTechName","camelTechName","techName_","techOptions","loop","techCanOverridePoster","TechClass","handleTechReady_","textTracksJson_","eventObj","seeking","handleTechLoadStart_","handleTechSourceset_","handleTechWaiting_","handleTechEnded_","handleTechSeeking_","handleTechPlay_","handleTechFirstPlay_","handleTechPause_","handleTechDurationChange_","handleTechFullscreenChange_","handleTechError_","handleTechPosterChange_","handleTechTextData_","handleTechRateChange_","usingNativeControls","techGet_","addTechControlsListeners_","safety","removeTechControlsListeners_","handleTechClick_","handleTechTouchStart_","handleTechTouchMove_","handleTechTouchEnd_","handleTechTap_","techCall_","hasStarted","manualAutoplay_","previouslyMuted","promise","updateSourceCaches_","sourceElSources","sourceEls","matchingSourceEls","sourceObj","updateSourceCaches","playerSrc","currentSource","eventSrc","lastSource_","updateCache","techSrc","techGet","request","queued","handleTechCanPlay_","handleTechCanPlayThrough_","handleTechPlaying_","handleTechSeeked_","starttime","userWasActive","PromiseClass","Promise","resolve","play_","_this8","isScrubbing","percentAsDecimal","_muted","defaultMuted","_defaultMuted","isFS","isFullscreen_","fsApi","fullscreenchange","documentFullscreenChange","fullscreenElement","enterFullWindow","exitFullWindow","isFullWindow","docOrigOverflow","overflow","fullWindowOnEscKey","selectSource","_this9","techs","_ref","findFirstPassingTechSourcePair","outerArray","innerArray","tester","outerChoice","innerChoice","foundSourceAndTech","flip","b","finder","_ref2","sourceOrder","_this10","middlewareSource","src_","notSupportedMessage","_this11","sourceTech","currentSources","currentType","techAutoplay","newPoster","usingNativeControls_","errorDisplay","userActivity_","mouseInProgress","lastMoveX","lastMoveY","handleActivity","screenX","screenY","inactivityTimeout","isAudio_","_ref3","_ref3$track","toJSON","createModal","_this12","modal","updateCurrentBreakpoint_","currentBreakpoint","candidateBreakpoint","breakpoints_","breakpoint_","removeCurrentBreakpoint_","currentBreakpointClass","_breakpoints","responsive_","current","baseOptions","tagOptions","dataSetup","_safeParseTuple","childName","html5","flash","userLanguage","BASE_PLUGIN_NAME","PLUGIN_CACHE_KEY","pluginStorage","pluginExists","getPlugin","markPluginAsActive","triggerSetupEvent","before","createBasicPlugin","plugin","basicPluginWrapper","createPluginFactory","PluginSubClass","Function","getEventHash","Plugin","VERSION","isBasic","p","registerPlugin","deregisterPlugin","getPlugins","getPluginVersion","usingPlugin","hasPlugin","_inherits","super_","extendFn","subClassMethods","HTMLVideoElement","normalizeId","getPlayer","hooks","hookFunction","PlayerComponent","hooks_","hook","hookOnce","original","removeHook","getPlayers","nId","_tag","_player","getAllPlayers","comp","writeable","extend","addLanguage","_mergeOptions","createTimeRange","dom","Transmuxer","getFlvHeader","_interopRequireDefault","__esModule","_videoJs","_videoJs2","defaultOptions","errorInterval","getSource","IWillNotUseThisInPlugins","initPlugin","lastCalled","seekTo","localOptions","loadedMetadataHandler","errorHandler","cleanupEvents","reinitPlugin","newOptions","reloadSourceOnError","_objCreate","F","ParsingError","errorData","parseTimeStamp","input","computeSeconds","f","Settings","parseOptions","keyValueDelim","groupDelim","groups","kv","parseCue","regionList","oInput","consumeTimeStamp","ts","Errors","BadTimeStamp","consumeCueSettings","region","alt","vals","vals0","integer","line","lineAlign","snapToLines","align","positionAlign","skipWhitespace","substr","BadSignature","dflt","defaultKey","ESCAPE","TAG_NAME","u","ruby","rt","lang","TAG_ANNOTATION","NEEDS_PARENT","parseContent","nextToken","consume","unescape1","unescape","shouldAdd","localName","annotation","rootDiv","tagStack","createProcessingInstruction","strongRTLRanges","isStrongRTLChar","currentRange","determineBidi","nodeStack","pushNodes","nextTextNode","charCodeAt","computeLinePos","textTrackList","mediaElement","count","StyleBox","CueStyleBox","styleOptions","isIE8","styles","display","writingMode","unicodeBidi","applyStyles","textAlign","font","whiteSpace","direction","stylesunicodeBidi","textPos","formatStyle","move","BoxPosition","lh","offsetTop","rects","getClientRects","lineHeight","moveBoxToLinePosition","styleBox","containerBox","boxPositions","findBestPosition","axis","bestPosition","specifiedPosition","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","boxPosition","linePos","maxPosition","initialAxis","abs","ceil","calculatedPercentage","toCSSCompatValues","unit","toMove","overlaps","b2","boxes","container","intersectArea","reference","getSimpleBoxPosition","decode","decodeURIComponent","encodeURIComponent","convertCueToDOMTree","cuetext","FONT_SIZE_PERCENT","FONT_STYLE","CUE_BACKGROUND_PADDING","overlay","paddedOverlay","shouldCompute","hasBeenReset","decoder","buffer","TextDecoder","reportOrThrowError","collectNextLine","pos","parseRegion","xy","anchor","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","onregion","parseTimestampMap","ontimestampmap","parseHeader","stream","alreadyCollectedLine","hasSubstring","_lineStream","_lineStream2","_parseStream","_parseStream2","_parser","_parser2","LineStream","ParseStream","findBox","parseType","timescale","subresults","results","fromCharCode","traks","trak","tkhd","mdhd","fragment","trafs","baseTimes","traf","tfhd","scale","baseTime","tfdt","pow","isFinite","_createClass","protoProps","staticProps","_classCallCheck","_aes","_aes2","_asyncStream","_asyncStream2","_pkcs7","ntoh","word","decrypt","encrypted","initVector","encrypted32","Int32Array","byteOffset","decipher","decrypted","Uint8Array","decrypted32","init0","init1","init2","init3","encrypted0","encrypted1","encrypted2","encrypted3","wordIx","Decrypter","done","STEP","asyncStream_","decryptChunk_","Uint32Array","unpad","bytes","clean","sa","_playlistLoader","_playlistLoader2","audioTrackKind_","characteristics","stopLoaders","segmentLoader","mediaType","abort","activePlaylistLoader","startLoaders","playlistLoader","onGroupChanged","_settings$segmentLoaders","segmentLoaders","mainSegmentLoader","mediaTypes","activeTrack","activeGroup","previousActiveLoader","resyncLoader","resetEverything","onTrackChanged","_settings$segmentLoaders2","onError","AUDIO","blacklistCurrentPlaylist","group","defaultTrack","trackId","SUBTITLES","setupListeners","requestOptions","media","playlist","endList","initialize","hls","mediaGroups","master","_settings$mediaTypes$type","groupId","variantLabel","resolvedUri","_settings$mediaTypes$type2","forced","_settings$mediaTypes$type3","instreamId","masterPlaylistLoader","variants","setupMediaGroups","audioGroup","onAudioTrackChanged","createMediaTypes","_get","_x","_x2","_x3","_again","property","receiver","getter","getPrototypeOf","_createTextTracksIfNecessary","_createTextTracksIfNecessary2","_removeCuesFromTrack","_removeCuesFromTrack2","_addTextTrackData","_webwackify","_webwackify2","_transmuxerWorker","_transmuxerWorker2","_codecUtils","resolveTransmuxWorker","makeWrappedSourceBuffer","mediaSource","mimeType","sourceBuffer","addSourceBuffer","updating","realBuffer_","gopsSafeToAlignWith","mapping","currentTimePts","pts","updateGopBuffer","gops","removeGopBuffer","startPts","endPts","updatedBuffer","VirtualSourceBuffer","_videojs$EventTarget","timestampOffset_","pendingBuffers_","bufferUpdating_","mediaSource_","codecs_","audioCodec_","videoCodec_","audioDisabled_","appendAudioInitSegment_","gopBuffer_","timeMapping_","safeAppend_","remux","alignGopsAtEnd","transmuxer_","postMessage","action","onmessage","data_","done_","appendGopInfo_","timestampOffset","videoBuffer_","audioBuffer_","appendWindowStart","arity","extents","videoBuffered","audioBuffered","sort","segment","initSegment","processPendingSegments_","codecProperty","nativeMediaSource_","shouldTrigger","appendStart","gopsToAlignWith","gopInfo","metadataTrack_","inbandTextTracks_","sortedSegments","segments","segmentObj","createRealSourceBuffers_","triggerUpdateend","concatAndAppendSegments_","addTextTrackData","destinationBuffer","offset","tempBuffer","appendBuffer","originalError","VideoSegmentStream","AudioSegmentStream","CoalesceStream","createDefaultSample","isLikelyAacData","collectDtsInfo","clearDtsInfo","calculateTrackBaseMediaDecodeTime","arrayEquals","sumFrameByteLengths","m2ts","AdtsStream","H264Stream","AacStream","coneOfSilence","clock","AUDIO_PROPERTIES","VIDEO_PROPERTIES","ONE_SECOND_IN_TS","flags","isLeading","dependsOn","isDependedOn","hasRedundancy","degradationPriority","array","currentObj","sum","adtsFrames","sequenceNumber","earliestAllowedDts","audioAppendStartTs","videoBaseMediaDecodeTime","setEarliestDts","earliestDts","timelineStartInfo","baseMediaDecodeTime","setVideoBaseMediaDecodeTime","setAudioAppendStart","timestamp","frames","moof","mdat","trimAdtsFramesByEarliestDts_","prefixWithSilence_","samples","generateSampleTable_","concatenateFrameData_","baseMediaDecodeTimeTs","silentFrame","frameDuration","audioGapDuration","audioFillFrameCount","audioFillDuration","audioTsToVideoTs","samplerate","videoTsToAudioTs","minSegmentDts","currentFrame","dts","minSegmentPts","dataOffset","pps","nalUnits","minPTS","gopCache_","nalUnit","nalUnitType","sps","gopForFusion","resetStream_","groupNalsIntoFrames_","groupFramesIntoGops_","keyFrame","getGopForFusion_","nalCount","extendFirstKeyFrame_","alignedGops","alignGopsAtEnd_","alignGopsAtStart_","gop","concatenateNalData_","dtsDistance","nearestGopObj","currentGop","currentGopObj","halfSecond","allowableOverlap","nearestDistance","currentNal","baseDataOffset","sample","compositionTimeOffset","nalsByteLength","numberOfNals","totalByteLength","view","DataView","setUint32","alignIndex","gopIndex","alignEndIndex","matchFound","trimIndex","alignGopsWith","newGopsToAlignWith","maxSegmentPts","maxSegmentDts","timeSinceStartOfTimeline","metadataStream","numberOfTracks","remuxTracks","pendingTracks","videoTrack","pendingBoxes","pendingCaptions","pendingMetadata","pendingBytes","emittedTracks","output","audioTrack","caption","id3","captionStreams","timelineStartPts","cueTime","dispatchType","hasFlushed","transmuxPipeline_","setupAacPipeline","pipeline","MetadataStream","aacStream","audioTimestampRolloverStream","TimestampRolloverStream","timedMetadataTimestampRolloverStream","adtsStream","coalesceStream","headOfPipeline","frame","setTimestamp","timeStamp","audioSegmentStream","setupTsPipeline","packetStream","TransportPacketStream","parseStream","TransportParseStream","elementaryStream","ElementaryStream","videoTimestampRolloverStream","h264Stream","captionStream","CaptionStream","videoSegmentStream","setBaseMediaDecodeTime","discontinuity","isAac","resetCaptions","highPrefix","lowPrefix","zeroFill","makeTable","metaTable","arr","96000","88200","64000","48000","44100","32000","24000","16000","12000","11025","8000","MAX_TS","RO_THRESH","handleRollover","lastDTS","referenceDTS","type_","xhrFactory","XhrFunction","beforeRequest","Hls","reqResponse","responseTime","roundTripTime","requestTime","bytesReceived","bandwidth","timedout","aborted","statusCode","responseText","originalAbort","doccy","minDoc","topLevel","removeCuesFromTrack","pad","StreamTypes","probe","PES_TIMESCALE","MP2T_PACKET_LENGTH","SYNC_BYTE","parsePsi_","pmt","packet","startIndex","endIndex","pid","parsePat","table","parsePmt","parseAudioPes_","pesType","pusi","parsed","endLoop","parsePesType","parsePayloadUnitStartIndicator","parsePesTime","parseVideoPes_","pes","firstKeyFrame","videoPacketContainsKeyFrame","adjustTimestamp_","segmentInfo","baseTimestamp","audioBaseTimestamp","dtsTime","ptsTime","videoBaseTimestamp","inspectAac_","audioCount","sampleRate","frameSize","byteIndex","parseId3TagSize","parseAacTimestamp","parseAdtsSize","parseSampleRate","audioTimescale","inspectTs_","H264_STREAM_TYPE","ADTS_STREAM_TYPE","inspect","isAacData","_x4","_x5","_segmentLoader","_segmentLoader2","_globalWindow","_globalWindow2","_videojsContribMediaSourcesEs5RemoveCuesFromTrackJs","_videojsContribMediaSourcesEs5RemoveCuesFromTrackJs2","_binUtils","VTT_LINE_TERMINATORS","char","uintToString","uintArray","VTTSegmentLoader","_SegmentLoader","subtitlesTrack_","initSegmentId","storedMap","initSegments_","combinedByteLength","combinedSegment","byterange","playlist_","monitorBuffer_","_track","couldBeginLoading_","init_","syncPoint_","syncController_","getSyncPoint","currentTimeline_","currentTime_","checkBuffer_","buffered_","mediaIndex","hasPlayed_","skipEmptySegments_","timestampOffsetForTimeline","timeline","checkTimestampOffset","loadSegment_","generateSegmentInfo_","startOfSegment","isSyncRequest","pendingSegment_","handleSegment_","requested","parseVTTCues_","updateTimeMapping_","timelines","mediaSecondsLoaded","handleUpdateEnd_","decodeBytesToString","timestampmap","MPEGTS","LOCAL","mapData","segmentData","mappingObj","syncInfo","firstStart","lastStart","mediaSequence","GOAL_BUFFER_LENGTH","MAX_GOAL_BUFFER_LENGTH","GOAL_BUFFER_LENGTH_RATE","BANDWIDTH_VARIANCE","BUFFER_LOW_WATER_LINE","MAX_BUFFER_LOW_WATER_LINE","BUFFER_LOW_WATER_LINE_RATE","_config","_config2","_playlist","_playlist2","_utilCodecsJs","safeGetComputedStyle","stableSort","sortFn","newArray","cmp","comparePlaylistBandwidth","leftBandwidth","rightBandwidth","BANDWIDTH","MAX_VALUE","comparePlaylistResolution","leftWidth","rightWidth","RESOLUTION","simpleSelector","playerBandwidth","playerWidth","playerHeight","sortedPlaylistReps","playlists","rep","isIncompatible","enabledPlaylistReps","isEnabled","isDisabled","bandwidthPlaylistReps","highestRemainingBandwidthRep","bandwidthBestRep","haveResolution","resolutionBestRepList","resolutionBestRep","resolutionPlusOneList","resolutionPlusOneSmallest","resolutionPlusOneRep","chosenRep","lastBandwidthSelector","systemBandwidth","movingAverageBandwidthSelector","decay","average","minRebufferMaxBandwidthSelector","segmentDuration","timeUntilRebuffer","currentTimeline","syncController","compatiblePlaylists","enabledPlaylists","bandwidthPlaylists","rebufferingEstimates","syncPoint","numRequests","requestTimeEstimate","estimateSegmentRequestTime","rebufferingImpact","noRebufferingPlaylists","estimate","lowestBitrateCompatibleVariantSelector","playlistsWithVideo","parseCodecs","CODECS","videoCodec","DEFAULT_HEAD_HEIGHT","TEXT_STATUS","successText","pullingText","loosingText","loadingText","pullDistance","successDuration","animationDuration","headHeight","distance","touchable","headStyle","watch","setStatus","showSuccessTip","scrollEl","checkPullStart","ceiling","ease","isLoading","genStatus","slot","trackStyle","transitionDuration","transform","d","M","weekdays","months","g","z","utcOffset","date","year","month","w","D","ms","Q","_","S","O","locale","$L","utc","$u","$x","$offset","$d","UTC","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","valueOf","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","toISOString","toUTCString","$i","isDayjs","en","Ls","_muxJsLibMp4","_muxJsLibMp42","wireTransmuxerEvents","transmuxer","initArray","typedArray","MessageHandlers","TransmuxerWorker","messageHandlers","codecCount","videoObjectTypeIndicator","audioProfile","METADATA_STREAM_TYPE","headers","headersArr","_muxJsLibFlv","_muxJsLibFlv2","_flashTransmuxerWorker","_flashTransmuxerWorker2","_flashConstants","_flashConstants2","resolveFlashTransmuxWorker","scheduleTick","TIME_BETWEEN_CHUNKS","generateRandomString","random","toDecimalPlaces","places","FlashSourceBuffer","encodedHeader","chunkSize_","BYTES_PER_CHUNK","buffer_","bufferSize_","basePtsOffset_","audioBufferEnd_","videoBufferEnd_","btoa","safePlayerId","flashEncodedHeaderName_","flashEncodedDataName_","swfObj","vjs_appendChunkReady","receiveBuffer_","vjs_discontinuity","vjs_getProperty","onHlsReset","onHlsReset_","terminate","vjs_abort","flvBytes","convertTagsToData_","processBuffer_","chunkSize","chunk","binary","b64str","segmentByteLength","videoTargetPts","videoTags","tags","audioTags","firstVideoTag","firstAudioTag","currentIndex","currentTag","metaDataTag","nextTag","filteredVideoTags","audioTargetPts","filteredAudioTags","getOrderedTags_","fudgeFactor","adjustedTime","vjs_adjustCurrentTime","webpackContext","req","webpackContextResolve","__webpack_require__","PADDING","plaintext","padding","_urlToolkit","_urlToolkit2","resolveUrl","baseURL","relativeURL","buildAbsoluteURL","autoKeyword","directionSetting","alignSetting","findDirectionSetting","findAlignSetting","cobj","baseObj","_id","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","getCueAsHTML","SourceUpdater","createSourceBuffer","sourceBuffer_","onUpdateendCallback_","pendingCallback","pendingCallback_","runCallback_","callbacks_","processedAppend_","queueCallback_","TagList","m2tsStreamTypes","bytesInBuffer","everything","parsePsi","packetsWaitingForPmt","programMapTable","payload","psi","payloadUnitStartIndicator","pat","section_number","last_section_number","pmtPid","sectionLength","tableEnd","programInfoLength","streamType","processPes_","STREAM_TYPES","h264","adts","timedMetadata","parsePes","ptsDtsFlags","packetLength","dataAlignmentIndicator","flushStream","forceFlush","packetData","packetFlushable","PAT_PID","Cea608Stream","processedTracks","_stream","_stream2","_possibleConstructorReturn","_Stream","nextNewline","bundleFn","cache","webpack","webpackBootstrapFn","modules","installedModules","moduleId","entryModule","bundleWithBrowserify","fnModuleKey","cacheKeys","cacheKey","cacheExports","fnModuleCache","entryKey","entryCache","bundleWithWebpack","fnModuleId","sourceStrings","devMode","sKey","modulesString","fnModuleExports","fnSourceString","mappedSourceStrings","blob","Blob","webkitURL","mozURL","msURL","workerUrl","createObjectURL","worker","Worker","objectURL","FieldMixin","inject","vanField","field","resetValidation","validateWithTrigger","secondsToVideoTs","secondsToAudioTs","videoTsToSeconds","audioTsToSeconds","_flashMediaSource","_flashMediaSource2","_htmlMediaSource","_htmlMediaSource2","urlCount","defaults","mediaSources","msObjectURL","swfId","supportsNativeMediaSources","MediaSource","isTypeSupported","objectUrlPrefix","url_","REQUEST_ERRORS","FAILURE","TIMEOUT","ABORTED","byterangeStr","byterangeStart","byterangeEnd","segmentXhrHeaders","Range","abortAll","activeXhrs","getRequestStats","getProgressStats","progressEvent","stats","loaded","handleErrors","handleKeyResponse","finishProcessingFn","errorObj","getUint32","handleInitSegmentResponse","handleSegmentResponse","encryptedBytes","decryptSegment","decrypter","doneFn","decryptionHandler","requestId","createTransferableMessage","iv","getMostImportantError","prev","waitForCompletion","endOfAllRequests","worstError","handleProgress","progressFn","firstBytesReceivedAt","mediaSegmentRequest","xhrOptions","decryptionWorker","keyRequestOptions","responseType","keyRequestCallback","keyXhr","initSegmentOptions","initSegmentRequestCallback","initSegmentXhr","segmentRequestOptions","segmentRequestCallback","segmentXhr","cueShim","regionShim","nativeVTTCue","nativeVTTRegion","shim","restore","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","$endsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","endPosition","len","search","_resolveUrl","_resolveUrl2","_m3u8Parser","_m3u8Parser2","updateSegments","resolveSegmentUris","baseUri","updateMaster","mergedPlaylist","setupMediaPlaylists","resolveMediaGroupUris","groupKey","labelKey","mediaProperties","refreshDelay","lastSegment","delay","targetDuration","PlaylistLoader","srcUrl","hls_","withCredentials","handleManifestRedirects","playlistRequestError","haveMetadata","startingState","manifest","media_","mediaUpdateTimeout","stopRequest","oldRequest","onreadystatechange","mediaChange","resolveManifestRedirect","responseURL","started","isFinalRendition","_playlistJs","_vttSegmentLoader","_vttSegmentLoader2","_ranges","_ranges2","_adCueTags","_adCueTags2","_syncController","_syncController2","_videojsContribMediaSourcesEs5CodecUtils","_decrypterWorker","_decrypterWorker2","_mediaGroups","ABORT_EARLY_BLACKLIST_SECONDS","defaultCodecs","loaderStats","sumLoaderStat","stat","audioSegmentLoader_","mainSegmentLoader_","resolveDecrypterWorker","mapLegacyAvcCodecs_","codecString","makeMimeTypeString","getContainerType","getCodecs","mediaAttributes","mimeTypesForPlaylist_","containerType","codecInfo","isMuxed","isMaat","codecStrings","justAudio","justVideo","bothVideoAudio","MasterPlaylistController","externHls","useCueTags","blacklistDuration","enableLowInitialPlaylist","mode_","useCueTags_","cueTagsTrack_","inBandMetadataTrackDispatchType","requestOptions_","mediaTypes_","handleSourceOpen_","seekable_","segmentMetadataTrack_","decrypter_","segmentLoaderSettings","hasPlayed","goalBufferLength","masterPlaylistLoader_","setupMasterPlaylistLoaderListeners_","segmentMetadataTrack","loaderType","subtitleSegmentLoader_","setupSegmentLoaderListeners_","requestTimeout","isLowestEnabledRendition","triggerPresenceUsage_","setupSourceBuffers_","endOfStream","setupFirstPlay","updatedPlaylist","selectedMedia","selectInitialPlaylist","selectPlaylist","initialMedia_","updateAdCues_","updateDuration","addSeekableRange","addSeekableRange_","onDurationchange","playlistOutdated","stuckAtPlaylistEnd_","defaultDemuxed","audioGroupKeys","mediaGroup","Playlist","isAes","isFmp4","nextPlaylist","currentPlaylist","forwardBuffer","bufferLowWaterLine","onSyncInfoUpdate_","onEndOfStream","resetLoader","ended","_ret3","isEndOfStream","ended_","expired","getExpiredTime","absolutePlaylistEnd","playlistEnd","SAFE_TIME_DELTA","excludeUntil","findRange","mainSeekable","audioSeekable","oldDuration","newDuration","setDuration","mimeTypes","excludeIncompatibleVariants_","variant","variantCodecs","updateAdCues","_globalDocument","_globalDocument2","_flashSourceBuffer","_flashSourceBuffer2","FlashMediaSource","sourceBuffers","vjs_load","parsedType","vjs_endOfStream","vjs_setProperty","createTextTracksIfNecessary","percentEncode","parseUtf8","parseIso88591","parseSyncSafeInteger","tagParsers","TXXX","WXXX","PRIV","owner","privateData","tagSize","bufferSize","frameStart","frameHeader","_virtualSourceBuffer","_virtualSourceBuffer2","HtmlMediaSource","activeSourceBuffers_","updateActiveSourceBuffers_","disableCombined","disableAudioOnly","onPlayerMediachange_","onHlsSegmentTimeMapping_","durationOfVideo","sourcebuffer","_x6","_xhr","_xhr2","_aesDecrypter","_binUtils2","_videojsContribMediaSources","_masterPlaylistController","_renditionMixin","_renditionMixin2","_playbackWatcher","_playbackWatcher2","_reloadSourceOnError","_reloadSourceOnError2","_playlistSelectorsJs","AsyncStream","utils","STANDARD_PLAYLIST_SELECTOR","INITIAL_PLAYLIST_SELECTOR","INITIAL_BANDWIDTH","handleHlsMediaChange","qualityLevels","newPlaylist","selectedIndex_","handleHlsLoadedMetadata","representations","addQualityLevel","supportsNativeHls","canPlay","canItPlay","HlsHandler","source_","ignoreNextSeekingEvent_","setOptions_","overrideNative","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","masterPlaylistController_","fastQualityChange_","pauseLoading","option","playbackWatcher_","throughput","invBandwidth","invThroughput","systemBitrate","mediaRequests","mediaRequests_","mediaRequestsAborted","mediaRequestsAborted_","mediaRequestsTimedout","mediaRequestsTimedout_","mediaRequestsErrored","mediaRequestsErrored_","mediaTransferDuration","mediaTransferDuration_","mediaBytesTransferred","mediaBytesTransferred_","mediaSecondsLoaded_","setupQualityLevels_","qualityLevels_","HlsSourceHandler","flashTech","DecrypterWorker","dinf","esds","ftyp","mfhd","minf","moov","mvex","mvhd","mdia","hdlr","sdtp","stbl","stsd","trex","trun","MAJOR_BRAND","MINOR_VERSION","AVC1_BRAND","VIDEO_HDLR","AUDIO_HDLR","HDLR_TYPES","VMHD","SMHD","DREF","STCO","STSC","STSZ","STTS","UINT32_MAX","avc1","avcC","btrt","dref","mp4a","smhd","stco","stsc","stsz","stts","styp","vmhd","audioobjecttype","samplingfrequencyindex","channelcount","trackFragments","videoSample","audioSample","sequenceParameterSets","pictureParameterSets","profileIdc","profileCompatibility","levelIdc","samplesize","trackFragmentHeader","trackFragmentDecodeTime","trackFragmentRun","sampleDependencyTable","upperWordBaseMediaDecodeTime","lowerWordBaseMediaDecodeTime","audioTrun","videoTrun","trunHeader","durationPresent","sizePresent","flagsPresent","paddingValue","isNonSyncSample","fileType","movie","win","global","FlashTransmuxerWorker","ADTS_SAMPLING_FREQUENCIES","frameLength","protectionSkipBytes","frameEnd","oldBuffer","sampleCount","adtsFrameDuration","frameNum","parsePid","parseAdaptionField","payloadOffset","parseNalUnitType","nalType","frameBuffer","frameI","frameSyncPoint","foundKeyFrame","header","returnSize","footerPresent","lowThree","highTwo","bytesLeft","tempLength","ExpGolomb","workingData","workingBytesAvailable","workingWord","workingBitsAvailable","bitsAvailable","loadWord","workingBytes","availableBytes","skipBits","skipBytes","readBits","bits","valu","skipLeadingZeros","leadingZeroCount","skipUnsignedExpGolomb","skipExpGolomb","readUnsignedExpGolomb","clz","readExpGolomb","readBoolean","readUnsignedByte","_decrypter","deprecateOldCue","dur","sourceHandler","captionArray","metadataArray","Cue","WebKitDataCue","videoDuration","cuesArray","cuesGroupedByStartTime","timeSlot","sortedStartTimes","idx","cueGroup","nextTime","collectTimelineInfo","extraDataTag","FlvTag","METADATA_TAG","writeMetaDataDouble","VIDEO_TAG","writeByte","writeShort","writeBytes","oldExtraData","videoKeyFrames","extraData","adtsFrame","lastMetaPts","writeMetaDataTags","AUDIO_TAG","finalize","writeMetaDataBoolean","setUint16","onVideoKeyFrame","h264Frame","finishFrame","newMetadata","metaTag","extraTag","endNalUnit","startNalUnit","metadataLength","headBytes","setUint8","_muxJsLibMp4Probe","_muxJsLibMp4Probe2","_muxJsLibToolsTsInspectorJs","syncPointStrategies","run","segmentIndex","datetimeToDisplayTime","dateTimeObject","playlistTime","playlistStart","lastDistance","discontinuityStarts","discontinuitySequence","discontinuitySync","discontinuities","SyncController","inspectCache_","logger_","syncPoints","runStrategies_","selectSyncPoint_","sumDurations","strategy","bestSyncPoint","bestDistance","bestStrategy","newDistance","oldPlaylist","mediaSequenceDiff","lastRemovedSegment","playlistTimestamp","timingInfo","probeMp4Segment_","probeTsSegment_","calculateSegmentTimeMapping_","saveDiscontinuitySyncInfo_","timescales","timeInfo","segmentStartTime","segmentEndTime","containsVideo","containsAudio","accuracy","mediaIndexDiff","adHoc","bufferStartSize","prepareWrite","flv","minLength","widthBytes","heightBytes","videocodecidBytes","byte","short","negIndex","nalUnitSize","nalContainer","nalStart","nalLength","setFloat64","dtsDelta","frameTime","isAudioFrame","isVideoFrame","isMetaData","isKeyFrame","_slicedToArray","sliceIterator","_arr","_n","_d","TIME_FUDGE_FACTOR","clamp","filterRanges","timeRanges","findNextRange","findGaps","findSoleUncommonTimeRangesEnd","edges","overlapsCurrentEnd","span","bufferIntersection","bufferA","bufferB","calculateBufferedPercent","adjustedRange","referenceRange","referenceDuration","adjustedDuration","bufferMissingFromAdjusted","adjustedIntersection","referenceIntersection","adjustedOverlap","referenceOverlap","getSegmentBufferedPercent","endOfSegment","originalSegmentRange","adjustedSegmentRange","printableRange","strArr","backwardDuration","endSequence","precise","forwardDuration","intervalDuration","backward","forward","totalDuration","durations","safeLiveIndex","distanceFromEnd","safeDistance","useSafeLiveEnd","seekableStart","seekableEnd","isWholeNumber","roundSignificantDigit","increment","numDecimalDigits","ceilLeastSignificantDigit","floorLeastSignificantDigit","getMediaInfoForTime","numSegments","isBlacklisted","blacklisted","currentBandwidth","USER_DATA_REGISTERED_ITU_T_T35","RBSP_TRAILING_BITS","parseSei","payloadType","payloadSize","parseUserData","sei","parseCaptionPackets","userData","ccData","captionPackets_","ccStreams_","cc","escapedRBSP","latestDts_","ignoreNextEqualDts_","presortIndex","dispatchCea608Packet","activeCea608Channel_","ccStream","setsChannel1Active","setsChannel2Active","CHARACTER_TRANSLATION","getCharFromCode","BOTTOM_ROW","ROWS","createDisplayBuffer","dataChannel","field_","dataChannel_","setConstants","swap","char0","char1","lastControlCode_","PADDING_","RESUME_CAPTION_LOADING_","END_OF_CAPTION_","clearFormatting","flushDisplayed","displayed_","nonDisplayed_","startPts_","ROLL_UP_2_ROWS_","topRow_","ROLL_UP_3_ROWS_","ROLL_UP_4_ROWS_","CARRIAGE_RETURN_","shiftRowsUp_","BACKSPACE_","ERASE_DISPLAYED_MEMORY_","ERASE_NON_DISPLAYED_MEMORY_","RESUME_DIRECT_CAPTIONING_","isSpecialCharacter","column_","isExtCharacter","row_","isMidRowCode","addFormatting","isOffsetControlCode","isPAC","formatting_","isColorPAC","isNormalChar","BASE_","EXT_","CONTROL_","OFFSET_","popOn","baseRow","rollUp","paintOn","jobs","timeout_","processJob_","job","enableFunction","loader","playlistUri","changePlaylistFn","incompatible","currentlyEnabled","Representation","hlsHandler","fastChangeFunction","resolution","renditionSelectionMixin","flashConstants","NalByteStream","PROFILES_WITH_OPTIONAL_SPS_DATA","swapBuffer","100","110","122","244","44","83","86","118","128","138","139","134","currentPts","currentDts","discardEmulationPreventionBytes","readSequenceParameterSet","skipScalingList","nalByteStream","expGolombDecoder","deltaScale","lastScale","nextScale","newLength","newData","emulationPreventionBytesPositions","sourceIndex","chromaFormatIdc","picOrderCntType","numRefFramesInPicOrderCntCycle","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","scalingListCount","sarRatio","aspectRatioIdc","frameCropLeftOffset","frameCropRightOffset","frameCropTopOffset","frameCropBottomOffset","sarScale","findAdCue","mediaTime","adStartTime","adEndTime","cueOut","adOffset","adTotal","_segment$cueOutCont$split$map","cueOutCont","_segment$cueOutCont$split$map2","precompute","tables","encTable","decTable","sbox","sboxInv","xInv","th","x2","x4","x8","tEnc","tDec","aesTables","AES","_tables","tmp","encKey","decKey","keyLen","rcon","out","a2","c2","nInnerRounds","kIndex","table0","table1","table2","table3","isFunction","parseHeaders","xtend","forEachArray","isEmpty","initParams","createXHR","_createXHR","called","readystatechange","loadFunc","getBody","getXml","isJson","errorFunc","evt","timeoutTimer","failureResponse","useXDR","rawRequest","getAllResponseHeaders","XDomainRequest","XMLHttpRequest","onprogress","onabort","ontimeout","username","password","setRequestHeader","beforeSend","send","responseXML","firefoxBugTakenEffect","textRange","formatHexString","formatAsciiString","transferable","ArrayBuffer","isView","hexDump","ascii","tagDump","textRanges","_extends","lineStream","uris","currentUri","currentMap","defaultMediaGroups","allowCache","rendition","allowed","endlist","inf","METHOD","URI","IV","number","playlistType","TYPE","NAME","mediaGroupType","autoselect","AUTOSELECT","LANGUAGE","CHARACTERISTICS","FORCED","dateTimeString","targetduration","totalduration","cueIn","tagType","timerCancelEvents","PlaybackWatcher","consecutiveUpdates","lastRecordedTime","timer_","checkCurrentTimeTimeout_","canPlayHandler","monitorCurrentTime_","waitingHandler","techWaiting_","cancelTimerHandler","cancelTimer_","fixesBadSeeksHandler","fixesBadSeeks_","checkCurrentTime_","waiting_","afterSeekableWindow_","beforeSeekableWindow_","livePoint","nextRange","videoUnderflow_","difference","skipTheGap_","gap","gapFromVideoUnderflow_","scheduledCurrentTime","gaps","_sourceUpdater","_sourceUpdater2","_mediaSegmentRequest","_playlistSelectors","CHECK_BUFFER_DELAY","detectEndOfStream","appendedLastSegment","finite","illegalMediaSwitch","startingMedia","newSegmentMedia","safeBackBufferTrimTime","removeToTime","SegmentLoader","roundTrip","resetStats_","seeking_","loaderType_","startingMedia_","goalBufferLength_","checkBufferTimeout_","mimeType_","sourceUpdater_","xhrOptions_","activeInitSegmentId_","fetchAtBuffer_","abort_","abortRequests","_error","setDateTimeMapping","saveExpiredSegmentInfo","_mimeType","monitorBufferTick_","fillBuffer_","lastBufferedEnd","bufferedTime","getSyncSegmentCandidate_","mediaSourceInfo","segmentIndexArray","measuredBandwidth","requestTimeRemaining","switchCandidate","timeSavedBySwitching","minimumTimeSaving","simpleSegment","abortRequestEarly_","trimBackBuffer_","createSimplifiedSegmentObj_","handleProgress_","segmentRequestFinished_","processSegmentResponse_","probeSegmentInfo","illegalMediaSwitchError","timelineMapping","mappingForTimeline","initId","isWalkingForward","recordThroughput_","addSegmentMetadataCue_","segmentProcessingTime","segmentProcessingThroughput","attributeSeparator","keyvalue","parseAttributes","BYTERANGE","_attributes$BYTERANGE","_attributes$BYTERANGE2","generator"],"mappings":"yHAAA,IAAI,EAAS,WAAa,IAAIA,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,UAAU,CAAEN,EAAIO,WAAaP,EAAIQ,WAAaR,EAAIS,MAAOL,EAAG,YAAY,CAACE,YAAY,SAASI,MAAM,CAAC,UAAYV,EAAIQ,UAAU,MAAQR,EAAIS,OAAOE,GAAG,CAAC,MAAQX,EAAIY,SAASZ,EAAIa,KAAMb,EAAIc,WAAgB,MAAEV,EAAG,aAAa,CAACM,MAAM,CAAC,OAASV,EAAIc,cAAcd,EAAIa,KAAMb,EAAIc,WAAsB,YAAEV,EAAG,QAAQJ,EAAIe,GAAG,CAACC,IAAI,aAAaV,YAAY,gCAAgCW,YAAY,CAAC,MAAQ,QAAQ,OAAS,OAAO,aAAa,WAAWP,MAAM,CAAC,GAAK,aAAa,uBAAuB,KAAK,uBAAuB,WAAW,SAAW,GAAG,UAAW,EAAM,QAAU,OAAO,OAASV,EAAIc,WAAWI,WAAalB,EAAImB,aAAaC,OAAO,aAAc,EAAK,mBAAoB,GAAMT,GAAG,CAAC,MAAQ,SAASU,GAAQrB,EAAIsB,SAAU,KAAQ,QAAQtB,EAAIuB,QAAO,GAAO,CAACnB,EAAG,SAAS,CAACM,MAAM,CAAC,IAAMV,EAAIc,WAAWU,YAAY,KAAOxB,EAAIyB,OAAS,wBAA0B,iBAAkBzB,EAAIc,WAAoB,UAAEV,EAAG,MAAM,CAACE,YAAY,iBAAiBoB,MAAM,CAAGC,WAAa,OAAU3B,EAAIc,WAAoB,UAAI,OAAUd,EAAIa,KAAMb,EAAIc,WAAsB,YAAEV,EAAG,MAAM,CAACE,YAAY,WAAWoB,MAAM,CACjrCE,OAAS,eAAiB5B,EAAI6B,aAAe,MAC7CC,QAAS9B,EAAIsB,QAAU,EAAI,GAC1BX,GAAG,CAAC,MAAQX,EAAI+B,SAAS,CAA2B,GAAzB/B,EAAIc,WAAWkB,OAAa5B,EAAG,MAAM,CAACM,MAAM,CAAC,IAAM,EAAQ,QAAsC,IAAM,MAAMN,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACM,MAAM,CAAC,IAAM,EAAQ,QAAsC,IAAM,MAAMN,EAAG,IAAI,CAACJ,EAAIiC,GAAG,WAAW7B,EAAG,IAAI,CAACJ,EAAIiC,GAAG,gBAAgBjC,EAAIa,KAAKT,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAACY,IAAI,UAAUL,GAAG,CAAC,eAAeX,EAAI+B,UAAU3B,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAAEN,EAAIkC,SAAwB,gBAAE9B,EAAG,QAAQ,CAACM,MAAM,CAAC,QAAUV,EAAIkC,SAASC,iBAAmB,IAAI,CAAC/B,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAW5B,MAAM,CAAC,IAAM,EAAQ,QAAmC,IAAM,UAAUV,EAAIa,KAAKT,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOvC,EAAIwC,WAAaxC,EAAIyC,UAAUC,UAAWC,WAAW,qCAAqCrC,YAAY,gBAAgB,CAAEN,EAAIyC,UAAmB,UAAErC,EAAG,MAAM,CAACa,YAAY,CAAC,gBAAgB,OAAOP,MAAM,CAAC,IAAMV,EAAIyC,UAAUC,UAAU,IAAM,MAAM/B,GAAG,CAAC,MAAQX,EAAI4C,cAAc5C,EAAIa,KAAKT,EAAG,MAAM,CAACE,YAAY,qBAAqBI,MAAM,CAAC,IAAM,EAAQ,QAAgC,IAAM,MAAMC,GAAG,CAAC,MAAQ,SAASU,GAAQrB,EAAIwC,WAAY,SAAa,IAAI,GAAGpC,EAAG,cAAc,CAACM,MAAM,CAAC,OAAQ,GAAOmC,MAAM,CAACN,MAAOvC,EAAiB,cAAE8C,SAAS,SAAUC,GAAM/C,EAAIgD,cAAcD,GAAKJ,WAAW,kBAAkB,CAACvC,EAAG,MAAM,CAACE,YAAY,wBAAwBN,EAAIiD,GAAIjD,EAAIyC,UAAuB,eAAE,SAASS,GAAO,OAAO9C,EAAG,IAAI,CAAC+C,IAAID,EAAME,GAAGnC,YAAY,CAAC,QAAU,OAAO,kBAAkB,SAAS,cAAc,SAAS,QAAU,SAAS,gBAAgB,oBAAoB,MAAQ,WAAWP,MAAM,CAAC,KAAOwC,EAAMG,UAAU,CAACjD,EAAG,WAAW,CAACM,MAAM,CAAC,MAAQ,QAAQ,OAAS,QAAQ,IAAMwC,EAAMI,YAAYlD,EAAG,OAAO,CAACa,YAAY,CAAC,cAAc,WAAW,CAACjB,EAAIiC,GAAGjC,EAAIuD,GAAGL,EAAMM,iBAAiB,MAAK,KAAKpD,EAAG,MAAM,CAACY,IAAI,SAASV,YAAY,mBAAmB,EAAGN,EAAIyB,QAAYzB,EAAIc,WAAWU,YAAapB,EAAG,SAAS,CAACM,MAAM,CAAC,cAAc,OAAO,eAAe,WAAWC,GAAG,CAAC,OAASX,EAAIyD,UAAUZ,MAAM,CAACN,MAAOvC,EAAa,UAAE8C,SAAS,SAAUC,GAAM/C,EAAI0D,UAAUX,GAAKJ,WAAW,eAAe3C,EAAIa,KAAKT,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,QAAQ,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAW5B,MAAM,CAAC,KAAO,OAAO,YAAc,WAAWC,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAIA,EAAOsC,KAAKC,QAAQ,QAAQ5D,EAAI6D,GAAGxC,EAAOyC,QAAQ,QAAQ,GAAGzC,EAAO8B,IAAI,SAAkB,KAAcnD,EAAI+D,cAAc1C,OAAYjB,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAWrB,YAAY,CAAC,MAAQ,UAAU,OAAS,WAAWP,MAAM,CAAC,IAAM,EAAQ,QAAoC,IAAM,QAAmC,IAA1BV,EAAIc,WAAWkD,OAAc5D,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAWrB,YAAY,CAAC,MAAQ,UAAU,OAAS,WAAWP,MAAM,CAAC,IAAM,EAAQ,QAAkC,IAAM,QAAQV,EAAIa,KAAKT,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAWrB,YAAY,CAAC,MAAQ,UAAU,OAAS,WAAWP,MAAM,CAAC,IAAM,EAAQ,QAAkC,IAAM,aAAa,IAAI,IACzhGuD,EAAkB,G,kPCHf,SAASC,EAAUC,GACxB,IAAK,eAAMA,GACT,OAAOA,EAGT,GAAIC,MAAMC,QAAQF,GAChB,OAAOA,EAAIG,KAAI,SAAUC,GACvB,OAAOL,EAAUK,MAIrB,GAAmB,kBAARJ,EAAkB,CAC3B,IAAIK,EAAK,GAIT,OAHAC,OAAOC,KAAKP,GAAKQ,SAAQ,SAAUxB,GACjCqB,EAAGrB,GAAOe,EAAUC,EAAIhB,OAEnBqB,EAGT,OAAOL,E,oDCbLS,EAAmB,OAAAC,EAAA,MAAgB,UACnCC,EAAkBF,EAAiB,GACnCG,EAAMH,EAAiB,GAEvBI,EAAc,SAAqBC,EAAUC,GAC/C,OAAOC,KAAKC,UAAUH,KAAcE,KAAKC,UAAUF,IAGtC,EAAAJ,EAAA,CACbO,OAAQ,CAAC,OAAY,QACrBC,MAAO,CACLC,SAAUC,QACVC,SAAUD,QACVE,MAAOF,QACPG,UAAW,CAACC,OAAQC,QACpBC,WAAY,CAACF,OAAQC,QACrBE,YAAaF,OACbG,cAAeH,OACfI,IAAK,CACHtC,KAAM,CAACiC,OAAQC,QACfK,QAAS,GAEXC,IAAK,CACHxC,KAAM,CAACiC,OAAQC,QACfK,QAAS,KAEXE,KAAM,CACJzC,KAAM,CAACiC,OAAQC,QACfK,QAAS,GAEX3D,MAAO,CACLoB,KAAM,CAACiC,OAAQxB,OACf8B,QAAS,IAGbG,KAAM,WACJ,MAAO,CACLC,WAAY,KAGhBC,SAAU,CACRC,MAAO,WACL,OAAOvG,KAAKkG,IAAMlG,KAAKgG,KAEzBQ,YAAa,WACX,GAAIxG,KAAK6F,WAAY,CACnB,IAAIY,EAAO,eAAQzG,KAAK6F,YACxB,MAAO,CACLa,MAAOD,EACP9E,OAAQ8E,MAKhBE,QAAS,WAEP3G,KAAK4G,YAAY5G,KAAKsC,QAExBuE,QAAS,WACH7G,KAAKyF,OACPzF,KAAK8G,eAAe9G,KAAK+G,MAAMC,UAC/BhH,KAAK8G,eAAe9G,KAAK+G,MAAME,WAE/BjH,KAAK8G,eAAe9G,KAAK+G,MAAMG,UAGnCC,QAAS,CACPC,aAAc,SAAsBC,GAC9BrH,KAAKsF,WAITtF,KAAKsH,WAAWD,GAChBrH,KAAKuH,aAAevH,KAAKsC,MAErBtC,KAAKyF,MACPzF,KAAKwH,WAAaxH,KAAKsC,MAAM+B,IAAIrE,KAAKyH,QAEtCzH,KAAKwH,WAAaxH,KAAKyH,OAAOzH,KAAKsC,OAGrCtC,KAAKqG,WAAa,UAEpBqB,YAAa,SAAqBL,GAChC,IAAIrH,KAAKsF,SAAT,CAIwB,UAApBtF,KAAKqG,YACPrG,KAAK2H,MAAM,cAGb,eAAeN,GAAO,GACtBrH,KAAK4H,UAAUP,GACfrH,KAAKqG,WAAa,UAClB,IAAIwB,EAAO7H,KAAK8H,IAAIC,wBAChBC,EAAQhI,KAAKwF,SAAWxF,KAAKiI,OAASjI,KAAKkI,OAC3CC,EAAQnI,KAAKwF,SAAWqC,EAAKlG,OAASkG,EAAKnB,MAC3C0B,EAAOJ,EAAQG,EAAQnI,KAAKuG,MAE5BvG,KAAKyF,MACPzF,KAAKuH,aAAavH,KAAKqI,OAASrI,KAAKwH,WAAWxH,KAAKqI,OAASD,EAE9DpI,KAAKuH,aAAevH,KAAKwH,WAAaY,EAGxCpI,KAAK4G,YAAY5G,KAAKuH,gBAExBe,WAAY,WACNtI,KAAKsF,WAIe,YAApBtF,KAAKqG,aACPrG,KAAK4G,YAAY5G,KAAKuH,cAAc,GACpCvH,KAAK2H,MAAM,aAGb3H,KAAKqG,WAAa,KAEpBkC,QAAS,SAAiBlB,GAExB,GADAA,EAAMmB,mBACFxI,KAAKsF,SAAT,CACA,IAAIuC,EAAO7H,KAAK8H,IAAIC,wBAChBC,EAAQhI,KAAKwF,SAAW6B,EAAMoB,QAAUZ,EAAKa,IAAMrB,EAAMsB,QAAUd,EAAKe,KACxET,EAAQnI,KAAKwF,SAAWqC,EAAKlG,OAASkG,EAAKnB,MAC3CpE,GAAStC,KAAKgG,IAAMgC,EAAQG,EAAQnI,KAAKuG,MAE7C,GAAIvG,KAAKyF,MAAO,CACd,IAAIoD,EAAc7I,KAAKsC,MACnBsG,EAAOC,EAAY,GACnBC,EAAQD,EAAY,GACpBE,GAAUH,EAAOE,GAAS,EAE1BxG,GAASyG,EACXH,EAAOtG,EAEPwG,EAAQxG,EAGVA,EAAQ,CAACsG,EAAME,GAGjB9I,KAAKwH,WAAaxH,KAAKsC,MACvBtC,KAAK4G,YAAYtE,GAAO,KAG1B0G,cAAe,SAAuB1G,GACpC,OAAIA,EAAM,GAAKA,EAAM,IACnBA,EAAQ2B,EAAU3B,GACXA,EAAM2G,WAGR3G,GAETsE,YAAa,SAAqBtE,EAAO4G,GAErC5G,EADEtC,KAAKyF,MACCzF,KAAKgJ,cAAc1G,GAAO+B,IAAIrE,KAAKyH,QAEnCzH,KAAKyH,OAAOnF,GAGjByC,EAAYzC,EAAOtC,KAAKsC,QAC3BtC,KAAK2H,MAAM,QAASrF,GAGlB4G,IAAQnE,EAAYzC,EAAOtC,KAAKwH,aAClCxH,KAAK2H,MAAM,SAAUrF,IAGzBmF,OAAQ,SAAgBnF,GACtB,IAAI0D,GAAOhG,KAAKgG,IACZE,GAAOlG,KAAKkG,IACZC,GAAQnG,KAAKmG,KACjB7D,EAAQ,eAAMA,EAAO0D,EAAKE,GAC1B,IAAIkC,EAAOe,KAAKC,OAAO9G,EAAQ0D,GAAOG,GAAQA,EAC9C,OAAO,eAAUH,EAAKoC,KAG1BiB,OAAQ,WACN,IAAIC,EAEAC,EADAC,EAAQxJ,KAGRyJ,EAAIC,UAAU,GACdlE,EAAWxF,KAAKwF,SAChBmE,EAAWnE,EAAW,SAAW,QACjCoE,EAAYpE,EAAW,QAAU,SACjCqE,GAAgBP,EAAgB,CAClC5H,WAAY1B,KAAK+F,eAChBuD,EAAcM,GAAa,eAAQ5J,KAAK0F,WAAY4D,GAEnDQ,EAAe,WACjB,IAAIxH,EAAQkH,EAAMlH,MACd0D,EAAMwD,EAAMxD,IACZP,EAAQ+D,EAAM/D,MACdc,EAAQiD,EAAMjD,MAElB,OAAId,EAC6B,KAAvBnD,EAAM,GAAKA,EAAM,IAAYiE,EAAQ,IAGxB,KAAfjE,EAAQ0D,GAAaO,EAAQ,KAInCwD,EAAa,WACf,IAAIzH,EAAQkH,EAAMlH,MACd0D,EAAMwD,EAAMxD,IACZP,EAAQ+D,EAAM/D,MACdc,EAAQiD,EAAMjD,MAElB,OAAId,EACwB,KAAlBnD,EAAM,GAAK0D,GAAaO,EAAQ,IAGnC,MAGLyD,GAAYT,EAAY,GAAIA,EAAUI,GAAYG,IAAgBP,EAAUX,KAAO5I,KAAKwF,SAAW,KAAOuE,IAAcR,EAAUb,IAAM1I,KAAKwF,SAAWuE,IAAe,KAAMR,EAAU7H,WAAa1B,KAAK8F,YAAayD,GAEtNvJ,KAAKqG,aACP2D,EAASC,WAAa,QAGxB,IAAIC,EAAe,SAAsBC,GACvC,IAAI9F,EAAM,CAAC,OAAQ,SACf+F,EAAwB,kBAAND,EAElBE,EAAe,WACjB,OAAID,EACK,kBAAoB/F,EAAI8F,GAG1B,kBAGLG,EAAa,WACf,OAAIF,EACK,UAAYD,EAGd,WAGT,OAAOV,EAAE,MAAO,CACd,IAAOa,IACP,MAAS,CACP,KAAQ,SACR,SAAYd,EAAMlE,UAAY,EAAI,EAClC,gBAAiBkE,EAAMxD,IACvB,gBAAiBwD,EAAMlH,MACvB,gBAAiBkH,EAAMtD,IACvB,mBAAoBsD,EAAMhE,SAAW,WAAa,cAEpD,MAASV,EAAIuF,KACb,GAAM,CACJ,WAAc,WACRD,IAEFZ,EAAMnB,MAAQ8B,IAGlB,MAAS,SAAeI,GACtB,OAAOA,EAAE/B,qBAGZ,CAACgB,EAAMgB,MAAM,WAAaf,EAAE,MAAO,CACpC,MAAS3E,EAAI,UACb,MAAS0E,EAAMhD,iBAInB,OAAOiD,EAAE,MAAO,CACd,MAASI,EACT,MAAS/E,EAAI,CACXQ,SAAUtF,KAAKsF,SACfE,SAAUA,IAEZ,GAAM,CACJ,MAASxF,KAAKuI,UAEf,CAACkB,EAAE,MAAO,CACX,MAAS3E,EAAI,OACb,MAASkF,GACR,CAAChK,KAAKyF,MAAQ,CAACyE,EAAa,GAAIA,EAAa,IAAMA,W,YCjStD,EAAmB,OAAAtF,EAAA,MAAgB,SACnC,EAAkB,EAAiB,GACnC,EAAM,EAAiB,GAEZ,IAAgB,CAC7BS,MAAO,CACLoF,IAAKlF,QACLW,IAAK,CAACP,OAAQC,QACd8E,MAAO9E,OACP+E,QAAS,CAAChF,OAAQC,QAClBgF,IAAK,CACHlH,KAAMkC,OACNK,QAAS,QAGbkB,QAAS,CACP0D,WAAY,WACV,SAAU7K,KAAK8K,aAAaH,SAAW,eAAM3K,KAAK2K,UAA6B,KAAjB3K,KAAK2K,UAErEI,cAAe,WACb,IAAIN,EAAMzK,KAAKyK,IACXvE,EAAMlG,KAAKkG,IACXyE,EAAU3K,KAAK2K,QAEnB,IAAKF,GAAOzK,KAAK6K,aACf,OAAI7K,KAAK8K,aAAaH,QACb3K,KAAK8K,aAAaH,UAGvB,eAAMzE,IAAQ,eAAUyE,KAAaA,EAAUzE,EAC1CA,EAAM,IAGRyE,GAGXK,YAAa,WACX,IAAIvB,EAAIzJ,KAAKE,eAEb,GAAIF,KAAK6K,cAAgB7K,KAAKyK,IAC5B,OAAOhB,EAAE,MAAO,CACd,MAAS,EAAI,CACXgB,IAAKzK,KAAKyK,IACVQ,QAASjL,KAAK8K,aAAa7E,UAE7B,MAAS,CACPvE,WAAY1B,KAAK0K,QAElB,CAAC1K,KAAK+K,oBAIf1B,OAAQ,WACN,IAAII,EAAIC,UAAU,GAElB,GAAI1J,KAAK8K,aAAa7E,QAAS,CAC7B,IAAI2E,EAAM5K,KAAK4K,IACf,OAAOnB,EAAEmB,EAAK,CACZ,MAAS,EAAI,YACZ,CAAC5K,KAAK8K,aAAa7E,UAAWjG,KAAKgL,gBAGxC,OAAOhL,KAAKgL,iB,wBCjEZ,G,UAAS,WAAa,IAAIjL,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAImL,QAAUnL,EAAIQ,WAAaR,EAAIQ,UAAU4K,QAAShL,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,KAAKI,MAAM,CAAC,IAAMV,EAAIQ,UAAU4K,WAAWhL,EAAG,MAAM,CAACE,YAAY,OAAOI,MAAM,CAAC,IAAMV,EAAIQ,UAAU6K,aAAajL,EAAG,MAAM,CAACE,YAAY,WAAW,CAACN,EAAIiC,GAAG,MAAMjC,EAAIuD,GAAGvD,EAAIQ,UAAU8K,SAAS,UAAUlL,EAAG,MAAM,CAACE,YAAY,SAASK,GAAG,CAAC,MAAQX,EAAIuL,UAAU,CAACvL,EAAIiC,GAAG,WAAW7B,EAAG,MAAM,CAACE,YAAY,QAAQI,MAAM,CAAC,IAAMV,EAAIQ,UAAUgL,YAAY7K,GAAG,CAAC,MAAQX,EAAIY,WAAWZ,EAAIa,OACjkB,EAAkB,G,4CCcD,EAArB,yG,0BAOU,EAAAL,UAA6B,GAE7B,EAAA2K,QAAS,EATnB,2DAWS,WACL,GAAIM,QAAUA,OAAOC,WAAaD,OAAOC,UAAUC,cACjD1L,KAAKkL,QAAS,MACT,CACLlL,KAAKkL,QAAS,EACd,IAAMS,EAAMC,SAASC,eAAe,OACpCF,EAAIlK,MAAME,OAAS,+BACnBgK,EAAIlK,MAAMiF,MAAQ,OAClBiF,EAAIlK,MAAMqK,SAAW,WACrBH,EAAIlK,MAAMiH,IAAM,OAElB,OAAIqD,eAAeC,MAAK,SAAAC,GACtB,EAAK1L,UAAY0L,EAAI7F,UAvB3B,sCA4BIpG,KAAKW,UA5BT,8BAgCI,IAAMgL,EAAMC,SAASC,eAAe,OACpCF,EAAIlK,MAAME,OAAS,OACnBgK,EAAIlK,MAAMiH,IAAM,GAChB1I,KAAKkL,QAAS,IAnClB,gCAuCI,IAAM3K,EAAYP,KAAKO,UACvB,IAAKA,EAAU2L,UACb,OAAQC,SAASC,KAAO7L,EAAU8L,YAEpC,IAAMC,EAAS,CACbnJ,GAAInD,KAAKuM,QAAU,GACnBC,SAAUxM,KAAKuM,QAAU,GACzBE,WAAY,IACZC,IAAKP,SAASC,KACdO,SAAUR,SAASC,MAEjB,0BAA0BQ,KAAKC,UAAUC,WAC3CX,SAASC,KAAT,UAAmB7L,EAAU2L,UAA7B,yBAAuDlM,KAAKQ,MAA5D,oBAA6E8L,EAAOnJ,GAApF,uBAAqGmJ,EAAOnJ,GAA5G,iCAAuImJ,EAAOI,IAA9I,uBAAgKJ,EAAOK,UAC9J,aAAaC,KAAKC,UAAUC,YACrCX,SAASC,KACP7L,EAAU2L,UAAUa,QAAQ,UAAW,IAAIA,QAAQ,OAAQ,OAC3D,MADA,kBAEW7H,KAAKC,UAAUmH,IAC5BU,YAAW,WACTb,SAASC,KAAO7L,EAAU8L,cACzB,MAEHF,SAASC,KAAO7L,EAAU8L,gBA7DhC,GAAoC,QAElC,gBADC,kB,6BAID,gBADC,kB,4BAJkB,EAAM,gBAD1B,QACoB,WCfgZ,I,wBCQjaY,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,QCnBX,EAAS,WAAa,IAAIlN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,oBAAoBK,GAAG,CAAC,MAAQX,EAAImN,iBAAiB,CAAmC,GAAjCnN,EAAIc,WAAWsM,eAAqBhN,EAAG,MAAM,CAACY,IAAI,eAAeV,YAAY,gBAAgB,CAACF,EAAG,QAAQ,CAACa,YAAY,CAAC,aAAa,SAAS,aAAa,UAAUP,MAAM,CAAC,SAAW,IAAK,mBAAkB,EAAM,MAAO,EAAM,WAAY,IAAQV,EAAIiD,GAAIjD,EAAgB,cAAE,SAASqN,GAAM,OAAOjN,EAAG,YAAY,CAAC+C,IAAIkK,EAAKC,eAAe,CAAClN,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,GAAG,KAAO,YAAY,CAACV,EAAIiC,GAAG,SAAS7B,EAAG,OAAO,CAACa,YAAY,CAAC,MAAQ,MAAM,cAAc,WAAW,CAACjB,EAAIiC,GAAGjC,EAAIuD,GAAG8J,EAAKE,aAAa,OAAOnN,EAAG,OAAO,CAACJ,EAAIiC,GAAGjC,EAAIuD,GAAG8J,EAAKzC,aAAa,UAAS,IAAI,GAAG5K,EAAIa,KAAmC,GAA7Bb,EAAIc,WAAW0M,WAAiBpN,EAAG,aAAa,CAACY,IAAI,cAAcN,MAAM,CAAC,OAAS,qBAAqBmC,MAAM,CAACN,MAAOvC,EAAgB,aAAE8C,SAAS,SAAUC,GAAM/C,EAAIyN,aAAa1K,GAAKJ,WAAW,iBAAiB3C,EAAIiD,GAAIjD,EAAgB,cAAE,SAAS0N,GAAM,OAAOtN,EAAG,MAAM,CAAC+C,IAAIuK,EAAKC,QAAQrN,YAAY,wBAAwB,CAACF,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,OAAO,CAACsB,MAAM,CACvuCiJ,MAA4B,QAArB3K,EAAI4N,OAAOF,GAAkB,UAAY,YAC9C,CAAC1N,EAAIiC,GAAGjC,EAAIuD,GAAGvD,EAAI4N,OAAOF,IAAO,OAAOtN,EAAG,OAAO,CAACJ,EAAIiC,GAAGjC,EAAIuD,GAAGmK,EAAK9C,mBAAkB,GAAG5K,EAAIa,MAAM,GAAqC,GAAjCb,EAAIc,WAAWsM,gBAAoD,GAA7BpN,EAAIc,WAAW0M,WAAiBpN,EAAG,aAAa,CAACM,MAAM,CAAC,OAASV,EAAIc,YAAY+B,MAAM,CAACN,MAAOvC,EAAW,QAAE8C,SAAS,SAAUC,GAAM/C,EAAI6N,QAAQ9K,GAAKJ,WAAW,aAAa3C,EAAIa,MAAM,IACnV,EAAkB,G,mECIlB,EAAmB,OAAAgE,EAAA,MAAgB,OACnC,EAAkB,EAAiB,GACnC,EAAM,EAAiB,GAE3B,SAASiJ,GAAIpE,EAAGpE,EAAOmF,EAAOsD,GAC5B,IAAIC,EAEArK,EAAO2B,EAAM3B,KACbsK,EAAO3I,EAAM2I,KACbC,EAAQ5I,EAAM4I,MACdvD,EAAQrF,EAAMqF,MACdtB,EAAQ/D,EAAM+D,MACd3C,EAAOpB,EAAMoB,KACbyH,EAAY7I,EAAM6I,UAClBhL,EAAM+K,EAAQ,QAAU,kBACxBxM,GAASsM,EAAS,GAAIA,EAAO7K,GAAOwH,EAAOqD,GAE3CE,GACFxM,EAAMiJ,MAAQwD,GAAaxD,EAC3BjJ,EAAM0M,YAAczD,IAEpBjJ,EAAMiJ,MAAQwD,EACdzM,EAAMC,WAAagJ,GAGrB,IAAI0D,EAAU,CACZJ,KAAMA,EACNC,MAAOA,EACP7E,MAAOA,GAGL3C,IACF2H,EAAQ3H,GAAQA,GAGlB,IAAI4H,EAAYhJ,EAAMiJ,WAAa7E,EAAE,OAAM,CACzC,MAAS,CACP,KAAQ,SAEV,MAAS,EAAI,SACb,GAAM,CACJ,MAAS,SAAepC,GACtBA,EAAMmB,kBACN,eAAKsF,EAAK,aAIhB,OAAOrE,EAAE,aAAc,CACrB,MAAS,CACP,KAAQpE,EAAMiJ,UAAY,WAAa,OAExC,CAAC7E,EAAE,OAAQ,IAAe,CAAC,CAC5B,IAAO,UACP,MAAShI,EACT,MAAS,EAAI,CAAC2M,EAAS1K,KACtB,eAAQoK,GAAK,KAAS,CAAkB,MAAjBtD,EAAMvE,aAAkB,EAASuE,EAAMvE,UAAWoI,MAG9ER,GAAIxI,MAAQ,CACVoB,KAAMb,OACNoI,KAAMzI,QACNmF,MAAO9E,OACPqI,MAAO1I,QACP6D,MAAO7D,QACP2I,UAAWtI,OACX0I,UAAW/I,QACX7B,KAAM,CACJA,KAAMkC,OACNK,QAAS,YAGE,SAAgB4H,I,0BC9E3B,GAAS,WAAa,IAAI9N,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACY,IAAI,cAAcV,YAAY,cAAcoB,MAAM,CAAGE,OAAQ5B,EAAI4B,QAAUjB,GAAG,CAAC,WAAaX,EAAIqH,aAAa,SAAW,SAAShG,GAAQrB,EAAIwO,YAAa,KAAQ,CAACxO,EAAIyO,GAAG,YAAY,IAC5R,GAAkB,G,aCeD,GAArB,yG,0BAQE,EAAAC,OAA6B,KAE7B,EAAAC,aAAc,EAEd,EAAAC,GAAkC,KAElC,EAAAC,eAAiB,GAEjB,EAAAC,YAAc,GAEd,EAAAC,aAAc,EAEd,EAAAP,YAAa,EApBf,2DAuBIvO,KAAKyO,OAASzO,KAAK+G,MAAM,eACzB/G,KAAK+O,yBACL/O,KAAKgP,kBAzBT,qMA+BUC,EAAe,gBAASjP,KAAKgP,cAAcE,KAAKlP,MAAO,KAC7DA,KAAKmP,WAAU,WACb,EAAKC,qBACLH,OAlCN,6IAuCgB9L,GAAW,WACvB,IAAInD,KAAK0O,aAAgB1O,KAAKyO,SAAUzO,KAAK8O,YAA7C,CACA9O,KAAK0O,aAAc,EACnB,IAAMW,EAA4BC,uBAAsB,WACtD,IAAMC,EAAc,EAAKC,cACvB,EAAKf,OACL,EAAKA,OAAQgB,cAEVF,GAOH,EAAKb,aAAc,EACnBvL,GAAMuM,qBAAqBvM,IAP3B6J,YAAW,WACT,EAAK0B,aAAc,EACnB,EAAKD,OAAQkB,WAAa,EAC1B,EAAKX,cAAcK,YAnD7B,qCA4Dc,WAEVrP,KAAK8O,aAAc,EACnB,IAAIc,EAAoB,EAElBC,EAAaC,aAAY,WAAK,MACgB,EAA9CF,KAAiB,UAAK,EAAKnB,cAAV,aAAK,EAAakB,WACrCC,EAAiB,UAAG,EAAKnB,cAAR,aAAG,EAAakB,WAEjCI,cAAcF,GACd,EAAKf,aAAc,EACnB9B,YAAW,YACJ,EAAK0B,aAAe,EAAKH,YAC5B,EAAKS,sBAIV,OA7EP,+CAiFwB,YAChBhP,KAAK2O,IAAO3O,KAAKyO,SACrBzO,KAAK2O,GAAK,IAAIqB,sBACZ,SAAAC,GACEA,EAAQvL,SAAQ,SAAAwL,IAGXA,EAAMC,gBACPD,EAAME,mBAAmBC,OAAS,KAClC,EAAKC,KAAKC,OAAS,MAGnB,EAAK5B,GAAI6B,UAAUN,EAAMO,QAOzB,EAAKtB,WAAU,WACb,EAAKuB,WAAW,EAAK9B,eAAiB,EAAKC,sBAKnD,CAAE8B,KAAM3Q,KAAKyO,YA1GnB,2CA+GoB,WAChB,GAAKzO,KAAKyO,QAAWzO,KAAK2O,GAA1B,CACA,IAAMiC,EAAU5Q,KAAKyO,OAAOoC,SAC5B,eAAID,GAASlM,SAAQ,SAACJ,EAAM+D,GACZ,IAAVA,GAAeA,EAAQ,EAAKuG,iBAAmB,GACjD,EAAKD,GAAImC,QAAQxM,SApHzB,mCAyHoB,IAAP4E,EAAO,uDAAD,EACf,GAAIA,EAAM,EACRlJ,KAAKsQ,KAAKS,OAAO,EAAG7H,OADtB,CADgB,IAKRqH,EAAWvQ,KAAKsQ,KAAhBC,OACJA,EAAS,KACXvQ,KAAKsQ,KAAKS,OAAO,EAAG,OAhI1B,oCAqIgBC,EAAiBC,GAAiC,IAAbC,EAAa,uDAAD,EACvDC,EAAKH,EAAGI,aAAeJ,EAAGrB,UAC9B0B,EAAKJ,EAAaC,EACpB,OAAOC,GAAME,MAxIjB,GAAwC,QAGtC,gBADC,eAAU,QAAS,SAAU,CAAE3N,KAAMS,MAAO8B,QAAS,M,4BAItD,gBADC,eAAK,CAAEvC,KAAMkC,OAAQ0L,UAAU,K,8BAyBhC,gBADC,eAAM,S,mCAON,MApCkB,GAAU,gBAD9B,QACoB,cChBgX,MCQjY,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QChBF,GAAb,qIAAgC,QAG9B,gBADC,eAAe,e,kCAKhB,gBADC,eAAe,CAAEC,KAAM,WAAYtL,QAAS,gB,gCCT/C,IAAI,GAAS,WAAa,IAAIlG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACM,MAAM,CAAC,SAAW,SAAS,OAAQ,EAAK,eAAc,GAAMC,GAAG,CAAC,KAAO,SAASU,GAAQrB,EAAIsJ,QAAS,GAAM,OAAS,SAASjI,GAAQrB,EAAIsJ,QAAS,IAAQzG,MAAM,CAACN,MAAOvC,EAAS,MAAE8C,SAAS,SAAUC,GAAM/C,EAAIyR,MAAM1O,GAAKJ,WAAW,UAAU,CAACvC,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,OAAO,CAACM,MAAM,CAAC,MAAQ,UAAU,OAAS,IAAImC,MAAM,CAACN,MAAOvC,EAAU,OAAE8C,SAAS,SAAUC,GAAM/C,EAAI0R,OAAO3O,GAAKJ,WAAW,WAAW,CAAmC,GAAjC3C,EAAIc,WAAWsM,eAAqBhN,EAAG,MAAM,CAACuR,YAAY3R,EAAI4R,GAAG,CAAC,CAACzO,IAAI,QAAQ0O,GAAG,WAAW,MAAO,CAACzR,EAAG,MAAM,CAACa,YAAY,CAAC,QAAU,OAAO,cAAc,WAAW,CAACb,EAAG,MAAM,CAACa,YAAY,CAAC,MAAQ,SAAS,OAAS,WAAWP,MAAM,CAAC,IAAMV,EAAI8R,OAAOC,aACtvB/R,EAAI8R,OAAOC,aACX,UAAS,cAAmD,IAAf/R,EAAI0R,OAAe,GAAK,KAAO,cAAe,IAAM,MAAMtR,EAAG,OAAO,CAACa,YAAY,CAAC,cAAc,SAAS,YAAY,UAAU,CAACjB,EAAIiC,GAAG,aAAa+P,OAAM,IAAO,MAAK,EAAM,aAAa,CAAEhS,EAAU,OAAEI,EAAG,eAAeJ,EAAIa,MAAM,GAAGb,EAAIa,KAAmC,GAA7Bb,EAAIc,WAAW0M,WAAiBpN,EAAG,MAAM,CAACuR,YAAY3R,EAAI4R,GAAG,CAAC,CAACzO,IAAI,QAAQ0O,GAAG,WAAW,MAAO,CAACzR,EAAG,MAAM,CAACa,YAAY,CAAC,QAAU,OAAO,cAAc,WAAW,CAACb,EAAG,MAAM,CAACa,YAAY,CAAC,MAAQ,SAAS,OAAS,WAAWP,MAAM,CAAC,IAAMV,EAAI8R,OAAOG,SACphBjS,EAAI8R,OAAOG,SACX,UAAS,cAAmD,IAAfjS,EAAI0R,OAAe,GAAK,KAAO,cAAe,IAAM,MAAMtR,EAAG,OAAO,CAACa,YAAY,CAAC,cAAc,SAAS,YAAY,UAAU,CAACjB,EAAIiC,GAAG,aAAa+P,OAAM,IAAO,MAAK,EAAM,aAAa,CAAEhS,EAAU,OAAEI,EAAG,eAAeJ,EAAIa,MAAM,GAAGb,EAAIa,MAAM,IAAI,MACjT,GAAkB,G,oDCAlB,GAAmB,OAAAgE,EAAA,MAAgB,YACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GAEvBqN,GAAoB,OACpBC,GAAyB,MAE7B,SAASC,GAAS1I,EAAGpE,EAAOmF,EAAOsD,GACjC,IAAKzI,EAAM+M,QACT,OAAO5H,EAAMvE,SAAWuE,EAAMvE,UAGhC,SAASoM,IACP,GAAIhN,EAAMiN,MACR,OAAO7I,EAAE,KAAM,CACb,MAAS,GAAI,SACb,MAAS,CACP/C,MAAO,eAAQrB,EAAMkN,eAM7B,SAASC,IACP,IAAIA,EAAO,GACPC,EAAWpN,EAAMoN,SAErB,SAASC,EAAYrK,GACnB,OAAIoK,IAAaR,IAAqB5J,KAAWhD,EAAMsN,IAAM,EACpDT,GAGL/N,MAAMC,QAAQqO,GACTA,EAASpK,GAGXoK,EAGT,IAAK,IAAItI,EAAI,EAAGA,EAAI9E,EAAMsN,IAAKxI,IAC7BqI,EAAKI,KAAKnJ,EAAE,MAAO,CACjB,MAAS,GAAI,OACb,MAAS,CACP/C,MAAO,eAAQgM,EAAYvI,QAKjC,OAAOqI,EAGT,SAASK,IACP,GAAIxN,EAAMyN,OAAQ,CAChB,IAAIrM,EAAO,eAAQpB,EAAM0N,YACzB,OAAOtJ,EAAE,MAAO,CACd,MAAS,GAAI,SAAUpE,EAAM2N,aAC7B,MAAS,CACPtM,MAAOD,EACP9E,OAAQ8E,MAMhB,OAAOgD,EAAE,MAAO,IAAe,CAAC,CAC9B,MAAS,GAAI,CACXwJ,QAAS5N,EAAM4N,QACf7J,MAAO/D,EAAM+D,SAEd,eAAQ0E,KAAQ,CAAC+E,IAAUpJ,EAAE,MAAO,CACrC,MAAS,GAAI,YACZ,CAAC4I,IAASG,QAGfL,GAAS9M,MAAQ,CACfiN,MAAO/M,QACP6D,MAAO7D,QACPuN,OAAQvN,QACRgN,WAAY,CAAC5M,OAAQC,QACrBmN,WAAY,CAACpN,OAAQC,QACrB+M,IAAK,CACHjP,KAAM,CAACiC,OAAQC,QACfK,QAAS,GAEXmM,QAAS,CACP1O,KAAM6B,QACNU,SAAS,GAEXgN,QAAS,CACPvP,KAAM6B,QACNU,SAAS,GAEX+M,YAAa,CACXtP,KAAMkC,OACNK,QAAS,SAEXwM,SAAU,CACR/O,KAAM,CAACiC,OAAQC,OAAQzB,OACvB8B,QAASgM,KAGE,UAAgBE,IC1G3B,GAAS,WAAa,IAAIpS,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,cAAc,CAACO,GAAG,CAAC,QAAUX,EAAImT,WAAWtQ,MAAM,CAACN,MAAOvC,EAAc,WAAE8C,SAAS,SAAUC,GAAM/C,EAAIoT,WAAWrQ,GAAKJ,WAAW,eAAe,CAACvC,EAAG,OAAO,CAACM,MAAM,CAAC,SAAWV,EAAIqT,OAAO,mBAAkB,EAAM,gBAAgB,SAAS1S,GAAG,CAAC,KAAOX,EAAIsT,QAAQzQ,MAAM,CAACN,MAAOvC,EAAW,QAAE8C,SAAS,SAAUC,GAAM/C,EAAIqS,QAAQtP,GAAKJ,WAAW,YAAY,CAAE3C,EAAIqS,UAAYrS,EAAIuT,aAAa/C,OAAQpQ,EAAG,WAAW,CAACM,MAAM,CAAC,MAAQ,GAAG,OAAS,GAAG,IAAM,KAAKV,EAAIa,KAAKb,EAAIiD,GAAIjD,EAAgB,cAAE,SAASwT,GAAM,OAAOpT,EAAG,MAAM,CAAC+C,IAAIqQ,EAAKpQ,GAAGqQ,MAAM,CAAC,CAAE,iBAAiB,GAAS,iBAAiB,CAACrT,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,WAAW,CAACM,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,OAAS,KAAK,IAAM8S,EAAKT,UAAU3S,EAAG,MAAM,CAACA,EAAG,MAAM,CAACM,MAAM,CAAC,KAAO,UAAU,MAAQ,GAAG,MAAQ,KAAK,CAACV,EAAIiC,GAAG,UAAU,IAAI,GAAG7B,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,MAAM,CAACE,YAAY,YAAY,CAACN,EAAIiC,GAAGjC,EAAIuD,GAAGiQ,EAAKjG,gBAAgBnN,EAAG,UAAU,CAAEoT,EAAU,MAAEpT,EAAG,QAAQ,CAACE,YAAY,gBAAgBI,MAAM,CAAC,IAAM8S,EAAKE,MAAM,OAASF,EAAKG,SAAS,uBAAuB,KAAK,YAAc,OAAO,qBAAqB,OAAO,SAAW,GAAG,QAAU,cAAc3T,EAAIa,KAAgD,IAA1Cb,EAAI4T,qBAAqBJ,GAAMhD,OAAcpQ,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,WAAW,CAACgC,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYC,MAC54CiR,EAAKK,eAAe,GAAGC,UACnB,KACA9T,EAAI4T,qBAAqBJ,GAAM,GACnC7Q,WAAW,4JAA4J1B,YAAY,CAAC,MAAQ,QAAQP,MAAM,CAAC,IAAMV,EAAI4T,qBAAqBJ,GAAM,GAAG,OAAS,WAAW7S,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOrB,EAAI+T,SAAS,CACtTxB,MAAO,GACP5F,IAAK6G,EAAKK,eAAe,GAAGC,iBACtB,GAAG1T,EAAG,MAAM,CAACE,YAAY,gBAAgBN,EAAIiD,GAAIjD,EAAI4T,qBAAqBJ,IAAO,SAASQ,EAAI1L,GAAO,OAAOlI,EAAG,MAAM,CAAC+C,IAAImF,EAAMhI,YAAY,oBAAoBoB,MAAO,CAAC,EAAG,EAAG,GAAGuS,SAAS3L,GAAS,eAAiB,IAAK,CAAClI,EAAG,WAAW,CAACgC,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYC,MAAM,CACrS2R,OAAQV,EAAKK,eAAevL,GAAOwL,UAC/B,KACA9T,EAAI4T,qBAAqBJ,GAC7BlL,MAAOA,GACN3F,WAAW,2MAA2M1B,YAAY,CAAC,MAAQ,OAAO,OAAS,UAAUP,MAAM,CAAC,IAAM,QAAQ,IAAMsT,EAAI,OAAS,WAAWrT,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOrB,EAAI+T,SAAS,CACxWxB,MAAO,GACP5F,IAAK6G,EAAKK,eAAevL,GAAOwL,iBAC1B,MAAK,GAAG1T,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAIiC,GAAGjC,EAAIuD,GAAGiQ,EAAK5I,cAAcxK,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,MAAM,CAACa,YAAY,CAAC,YAAY,YAAY,CAACb,EAAG,OAAO,CAACa,YAAY,CAAC,eAAe,WAAW,CAACjB,EAAIiC,GAAGjC,EAAIuD,GAAGiQ,EAAKW,WAAanU,EAAIoU,WAAWZ,EAAKW,YAAc,QAAQ/T,EAAG,OAAO,CAACJ,EAAIiC,GAAG,UAAU7B,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACN,EAAIiC,GAAG,IAAIjC,EAAIuD,GAAGiQ,EAAKa,aAAe,GAAG,OAAOjU,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAWrB,YAAY,CAAC,MAAQ,QAAQ,OAAS,UAAUP,MAAM,CAAC,IAAM,EAAQ,QAAsC,IAAM,YAAa8S,EAAKc,UAAYd,EAAKc,SAAS9D,OAAQpQ,EAAG,MAAM,CAACE,YAAY,gBAAgBN,EAAIiD,GAAIuQ,EAAa,UAAE,SAASe,EAAKjM,GAAO,OAAOlI,EAAG,MAAM,CAAC+C,IAAImF,EAAMhI,YAAY,oBAAoBoB,MAAM,CAAG,aAAwB,IAAV4G,EAAc,EAAI,WAAa3H,GAAG,CAAC,MAAQ,WAAc,OAAOX,EAAI+T,SAASQ,MAAW,CAACnU,EAAG,MAAM,CAACa,YAAY,CAAC,MAAQ,UAAU,OAAS,WAAWP,MAAM,CAAC,IAAM,EAAQ,QAAsC,IAAM,MAAMN,EAAG,IAAI,CAACJ,EAAIiC,GAAGjC,EAAIuD,GAAGgR,EAAKhC,eAAc,GAAGvS,EAAIa,KAAM2S,EAAKgB,gBAAkBhB,EAAKgB,eAAehE,OAAQpQ,EAAG,mBAAmB,CAACM,MAAM,CAAC,aAAa8S,EAAKgB,kBAAkBxU,EAAIa,MAAM,SAAQ,IAAI,IAAI,IAC3xC,GAAkB,G,qEChBlB,GAAS,WAAa,IAAIb,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACN,EAAIiD,GAAIjD,EAAIyU,UAAUC,MAAM,EAAG1U,EAAI2U,SAAW,IAAO,IAAI,SAASC,GAAO,OAAOxU,EAAG,MAAM,CAAC+C,IAAIyR,EAAMxR,GAAG9C,YAAY,sBAAsB,CAACF,EAAG,WAAW,CAACa,YAAY,CAAC,SAAW,WAAW,IAAM,OAAOP,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,OAAS,KAAK,IAAMkU,EAAMC,gBAAgBzU,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,OAAO,CAACa,YAAY,CAAC,MAAQ,YAAY,CAACjB,EAAIiC,GAAGjC,EAAIuD,GAAGqR,EAAME,UAAU,OAAO1U,EAAG,OAAO,CAACJ,EAAIiC,GAAGjC,EAAIuD,GAAGqR,EAAMhK,eAAe,MAAM5K,EAAIyU,UAAUjE,OAAS,EAAGpQ,EAAG,MAAM,CAACE,YAAY,mBAAmBK,GAAG,CAAC,MAAQ,SAASU,GAAQrB,EAAI2U,UAAY3U,EAAI2U,YAAY,CAAC3U,EAAIiC,GAAG,IAAIjC,EAAIuD,GAAGvD,EAAI2U,SAAW,OAAS,UAAU,OAAO3U,EAAIa,MAAM,IAC/wB,GAAkB,GCmCD,GAArB,yG,0BAKE,EAAA8T,UAAW,EALb,YAA8C,QAE5C,gBADC,eAAK,CAAEhR,KAAMS,MAAO8B,QAAS,iBAAM,O,iCADjB,GAAgB,gBAHpC,eAAU,CACT6O,WAAY,CAAEC,SAAA,WAEK,cCpC4a,MCQ7b,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,kCCNT,G,4GAOUC,GACZ,OAAO,QAAMC,IAAN,uBAA0BD,EAA1B,Y,kCAQGE,GAOV,OAAO,QAAMC,KAAN,8CACFD,M,kCAcKA,GASV,OAAO,QAAMC,KAAK,uBAAX,gBACL3U,MAAOR,KAAKQ,OACT0U,M,kCAUKA,GAKV,OAAO,QAAMD,IAAI,uBAAwB,CACvCC,OAAQ,gBACN1U,MAAOR,KAAKQ,OACT0U,O,mCAMIF,GACX,OAAO,QAAMG,KAAN,sBAAkC,CAAEH,qB,+BAOpCA,GACP,OAAO,QAAMG,KAAK,mBAAoB,CACpC3U,MAAOR,KAAKQ,MACZwU,uB,KAlFJ,gBADC,S,6BAwFY,WAAI,GCuEE,GAArB,yG,0BAEE,EAAA1B,aAAgC,GAEhC,EAAAH,YAAa,EAEb,EAAAf,SAAU,EACV,EAAAgB,QAAS,EAGT,EAAAgC,SAAW,CACTC,YAAa,GACbC,OAAQ,GACRC,WAAY,GACZC,eAAgB,IAIlB,EAAAd,UAAW,EAlBb,sEAoBuBpQ,GACnB,OAAQA,EAAKsP,gBAAkB,IAAIvP,KAAI,SAAA+B,GAAI,OAAIA,EAAKqP,UAAU,KArBlE,gCAyBIzV,KAAK0V,gBAzBT,iCA6BI1V,KAAKsT,aAAe,GACpBtT,KAAKoT,QAAS,EACdpT,KAAKoV,SAAW,CACdC,YAAa,GACbC,OAAQ,GACRC,WAAY,GACZC,eAAgB,MAnCtB,iCAwCaG,GACT,IAAKA,EAAM,MAAO,GAClB,IAAMC,EAA8B,IAArB,KAAMD,GAAME,OACzBC,EAAUC,KAAKC,MAEjB,OAAIF,EAAUF,EAAS,QACd,KAAMD,GAAMlO,OAAO,oBACjBqO,EAAUF,GAAU,OACpBE,EAAUF,GAAU,IAAO,IAAIK,QAAQ,GAAK,MAC5CH,EAAUF,GAAU,QACpBE,EAAUF,GAAU,IAAO,GAAK,IAAIK,QAAQ,GAAK,MAEnD,KAAMN,GAAMlO,OAAO,iBApDhC,oNA0DW,GACJiO,YADI,gBAEHV,eAAgBhV,KAAKkW,OAAOC,MAAMhT,IAC/BnD,KAAKoV,WAETpJ,MAAK,SAAAC,GACJ,GAAiB,IAAbA,EAAImK,KAAY,OAElB,IADA,IAAK9C,cAAaV,KAAlB,uBAA2B3G,EAAI7F,MAAQ,MAClC6F,EAAI7F,KAGP,OAFA,EAAKgN,QAAS,OACd,EAAKhB,SAAU,GAGjB,GAAInG,EAAI7F,KAAKmK,OAAQ,CACnB,IAAM8F,EAAOpK,EAAI7F,KAAK,GACtB,EAAKgP,SAASE,OAASe,EAAKlT,GAAK,GACjC,EAAKiS,SAASI,eAAiBa,EAAKnC,WACpC,EAAKkB,SAASG,WAAac,EAAKC,OAAS,GAEvCrK,EAAI7F,KAAKmK,OAAS,GACpB,EAAK6C,QAAS,EAEd,EAAKA,QAAS,OAGhB,OAAMmD,KAAKtK,EAAIuK,YAGlBC,OAAM,SAAAC,GAEL,OAAMH,KAAK,iBAEZI,SAAQ,WACP,EAAKvE,SAAU,MA3FvB,wIAgGWkC,GACP,gBAAQA,EAAK5H,OAjGjB,+BAuGI1M,KAAK0V,gBAvGT,kCA2GW,WACP1I,WAAU,wCAAC,qGACT,EAAK4J,WADI,SAEH,EAAKlB,cAFF,OAGT,EAAKvC,YAAa,EAHT,2CAIR,SAhHP,GAAyC,QAApB,GAAW,gBAH/B,eAAU,CACT2B,WAAY,CAAEC,SAAA,OAAUlH,IAAA,GAAKgJ,iBAAA,GAAkBC,KAAA,QAAM3E,SAAA,GAAU4E,YAAA,YAE5C,cC7Kua,MCQxb,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIhX,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,cAAc,CAACO,GAAG,CAAC,QAAUX,EAAImT,WAAWtQ,MAAM,CAACN,MAAOvC,EAAc,WAAE8C,SAAS,SAAUC,GAAM/C,EAAIoT,WAAWrQ,GAAKJ,WAAW,eAAe,CAACvC,EAAG,OAAO,CAACM,MAAM,CAAC,SAAWV,EAAIqT,OAAO,mBAAkB,EAAM,gBAAgB,SAAS1S,GAAG,CAAC,KAAOX,EAAIsT,QAAQzQ,MAAM,CAACN,MAAOvC,EAAW,QAAE8C,SAAS,SAAUC,GAAM/C,EAAIqS,QAAQtP,GAAKJ,WAAW,YAAY,CAAE3C,EAAIqS,UAAYrS,EAAIiX,aAAazG,OAAQpQ,EAAG,WAAW,CAACM,MAAM,CAAC,MAAQ,GAAG,OAAS,GAAG,IAAM,KAAKV,EAAIa,KAAKb,EAAIiD,GAAIjD,EAAgB,cAAE,SAASkX,EAAK5O,GAAO,OAAOlI,EAAG,MAAM,CAAC+C,IAAImF,EAAMhI,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,WAAW,CAACM,MAAM,CAAC,MAAQ,GAAG,MAAQ,KAAK,OAAS,KAAK,IAAMwW,EAAKrC,gBAAgBzU,EAAG,OAAO,CAACE,YAAY,YAAY,CAACN,EAAIiC,GAAGjC,EAAIuD,GAAG2T,EAAKpC,cAAc,GAAG1U,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACN,EAAIiC,GAAGjC,EAAIuD,GAAG2T,EAAKC,WAAW/W,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAWrB,YAAY,CAAC,MAAQ,QAAQ,OAAS,UAAUP,MAAM,CAAC,IAAM,EAAQ,QAAsC,IAAM,YAAYN,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAAE4W,EAAa,SAAE9W,EAAG,WAAW,CAACgC,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYC,MAAO2U,EAAa,SAAEvU,WAAW,kBAAkB1B,YAAY,CAAC,MAAQ,OAAO,gBAAgB,WAAWP,MAAM,CAAC,OAAS,UAAU,IAAMwW,EAAKE,YAAYpX,EAAIa,KAAKT,EAAG,IAAI,CAACJ,EAAIiC,GAAGjC,EAAIuD,GAAG2T,EAAKtM,YAAasM,EAAc,UAAE9W,EAAG,MAAM,CAACE,YAAY,iBAAiBN,EAAIiD,GAAIiU,EAAc,WAAE,SAAStC,EAAMtM,GAAO,OAAOlI,EAAG,MAAM,CAAC+C,IAAImF,EAAMhI,YAAY,sBAAsB,CAACF,EAAG,OAAO,CAACa,YAAY,CAAC,MAAQ,YAAY,CAACjB,EAAIiC,GAAGjC,EAAIuD,GAAGqR,EAAMlH,MAAM,OAAOtN,EAAG,OAAO,CAACJ,EAAIiC,GAAGjC,EAAIuD,GAAGqR,EAAMhK,iBAAgB,GAAG5K,EAAIa,MAAM,SAAQ,IAAI,GAAGT,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,QAAQ,CAACM,MAAM,CAAC,KAAO,OAAO,YAAc,eAAeN,EAAG,YAAY,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,WAAWrB,YAAY,CAAC,MAAQ,UAAU,OAAS,WAAWP,MAAM,CAAC,KAAO,SAAS,MAAQ,KAAK,CAACN,EAAG,OAAO,CAACa,YAAY,CAAC,YAAY,UAAU,cAAc,WAAW,CAACjB,EAAIiC,GAAG,WAAW,IAAI,IACtrE,GAAkB,G,aCkGD,GAArB,yG,0BAEE,EAAAgV,aAAgC,GAEhC,EAAA7D,YAAa,EAEb,EAAAf,SAAU,EACV,EAAAgB,QAAS,EAET,EAAAgE,SAAW,CACT5B,eAAgB,GAChBH,YAAa,IAXjB,2DAeIrV,KAAKqX,gBAfT,iCAmBIrX,KAAKgX,aAAe,GACpBhX,KAAKoT,QAAS,EACdpT,KAAKoX,SAAW,CACd5B,eAAgB,GAChBH,YAAa,MAvBnB,oNA6BW,GACJgC,YADI,gBAEHrC,eAAgBhV,KAAKkW,OAAOC,MAAMhT,IAC/BnD,KAAKoX,WAETpL,MAAK,SAAAC,GACJ,GAAiB,IAAbA,EAAImK,KAAY,OAElB,IADA,IAAKY,cAAapE,KAAlB,uBAA2B3G,EAAI7F,MAAQ,KACjC6F,EAAI7F,MAAQ6F,EAAI7F,KAAKmK,OAAQ,CACjC,IAAM8F,EAAOpK,EAAI7F,KAAK,GACtB,EAAKgR,SAAS/B,YAAcgB,EAAKlT,GAAK,GACtC,EAAKiU,SAAS5B,eAAiBa,EAAKnC,WAElCjI,EAAI7F,KAAKmK,OAAS,GACpB,EAAK6C,QAAS,EAEd,EAAKA,QAAS,OAGhB,OAAMmD,KAAKtK,EAAIuK,YAGlBC,OAAM,SAAAC,GAEL,OAAMH,KAAK,iBAEZI,SAAQ,WACP,EAAKvE,SAAU,MAxDvB,wIA6DIpS,KAAKqX,gBA7DT,kCAgEW,WACPrK,WAAU,wCAAC,qGACT,EAAK4J,WADI,SAEH,EAAKS,cAFF,OAGT,EAAKlE,YAAa,EAHT,2CAIR,SArEP,GAAyC,QAApB,GAAW,gBAT/B,eAAU,CACT2B,WAAY,CACVC,SAAA,OACA+B,KAAA,QACA3E,SAAA,GACA4E,YAAA,QACAO,UAAA,YAGiB,cCnGua,MCQxb,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCwDM,GAArB,yG,0BAOE,EAAAjO,QAAS,EAET,EAAAoI,OAAS,EATX,YAAwC,IAEtC,gBADC,eAAU,OAAQ,SAAU,CAAE/N,KAAM6B,W,6BAIrC,gBADC,eAAK,CAAE7B,KAAMc,OAAQyB,QAAS,gB,8BAJZ,GAAU,gBAX9B,eAAU,CACT6O,WAAY,CACVyC,MAAA,QACAC,KAAA,QACAC,IAAA,QACAX,KAAA,QACAY,YAAA,GACAC,YAAA,GACAxF,SAAA,OAGiB,cC3EoZ,MCQra,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCiEM,GAArB,yG,0BAEE,EAAAvE,SAAU,EAEV,EAAAgK,QAAoB,GAGpB,EAAAC,SAA2B,GAP7B,wDAmBSpK,GACL,IAAMqK,EAAS9X,KAAK6X,SAASE,MAAK,SAAAtO,GAAC,OAAIA,EAAEtG,GAAK,IAAMsK,EAAKuK,UACzD,OAAOF,EAAS,MAAQrK,EAAKrL,OArBjC,iCAyBU,WACN,GAAI6V,SAASjY,KAAKkW,OAAOC,MAAMhT,IAAc6I,MAAK,SAAAC,GAC/B,IAAbA,EAAImK,OACN,EAAKyB,SAAW5L,EAAI7F,MAAQ,SA5BpC,gCAkCIpG,KAAKiY,aAlCT,iCA6CaC,GACT,IAAMzJ,EAAUzO,KAAK+G,MAAM,eAAuBe,IAClD9H,KAAKwN,aAAaoF,KAAKsF,GAEvBzJ,EAAOkB,UAAYlB,EAAO2C,eAjD9B,uCAsDQpR,KAAKwN,aAAa+C,QAAUvQ,KAAKmY,aAAa5H,OAChDvQ,KAAK4N,SAAU,EAEf5N,KAAK2H,MAAM,kBAzDjB,mCAWI,OAAO3H,KAAKiC,SAASuS,WAAa,KAXtC,mCAgBI,OAAOxU,KAAKiC,SAASmW,cAAgB,OAhBzC,GAAqC,IA6CnC,gBADC,S,0BAMA,MAlDkB,GAAO,gBAV3B,eAAU,CACTtD,WAAY,CACVjH,IAAA,GACAwK,MAAA,QACAC,UAAA,QACAC,KAAA,OACAC,WAAA,GACAC,WAAA,OAGiB,cCpFiZ,MCQla,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAI1Y,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,sBAAsBK,GAAG,CAAC,MAAQ,SAASU,GAAQrB,EAAI2Y,YAAa,KAAQ,CAACvY,EAAG,IAAI,CAACJ,EAAIiC,GAAGjC,EAAIuD,GAAGvD,EAAI4Y,qBAAqB5Y,EAAIuD,GAAGvD,EAAI6Y,QAAQ,MAAM7Y,EAAIuD,GAAGvD,EAAI8R,OAAOS,UAAUnS,EAAG,OAAO,CAACa,YAAY,CAAC,cAAc,UAAUP,MAAM,CAAC,KAAOV,EAAI2Y,WAAa,WAAa,iBAAiB,GAAuB,GAAnB3Y,EAAI8Y,YAAkB1Y,EAAG,MAAM,CAA8B,GAA5BJ,EAAI8R,OAAOiH,cAAoB3Y,EAAG,MAAM,CAACqT,MAAM,CAC1iB,aACA,iBACCzT,EAAI4Y,qBAAuB,SAC3B,CAAC5Y,EAAIiC,GAAG,IAAIjC,EAAIuD,GAAGvD,EAAI8R,OAAOkH,WAAW,SAAShZ,EAAIa,OAAOb,EAAIa,OAAOT,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,OAAQvC,EAAI2Y,YAA6B,SAAf3Y,EAAI6Y,OAAmBlW,WAAW,qCAAqCrC,YAAY,4BAA4B,CAACN,EAAIiC,GAAG,SAASjC,EAAIuD,GAAGvD,EAAI8R,OAAOmH,YAAc,KAAK,OAAO7Y,EAAG,MAAM,CAACgC,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOvC,EAAc,WAAE2C,WAAW,eAAerC,YAAY,QAAQ,CAACF,EAAG,IAAI,CAACE,YAAY,SAAS,CAACN,EAAIiC,GAAG,IAAIjC,EAAIuD,GAAGvD,EAAI8R,OAAOoH,UAAU,OAAO9Y,EAAG,MAAM,CAACO,GAAG,CAAC,MAAQ,SAASU,GAAQrB,EAAI2Y,YAAa,KAAS,CAAC3Y,EAAIiC,GAAG,QAAQ7B,EAAG,OAAO,CAACa,YAAY,CAAC,cAAc,UAAUP,MAAM,CAAC,KAAO,eAAe,QAC7qB,GAAkB,GC0CD,I,UAArB,yG,0BAIE,EAAAiY,YAAa,EAJf,qEAOI,OAAO1Y,KAAKkZ,OAAOC,MAAMR,sBAP7B,kCAWI,OAAO3Y,KAAKkZ,OAAOC,MAAMN,cAX7B,gCAeI,IAAME,EAAYpT,OAAO3F,KAAK6R,OAAOkH,WACrC,OAAOA,EAAY,IACfA,IACEA,GAAa,GAAK,KAAO9C,QAAQ,GAAK,MAlBhD,6BAsBI,IAAM5R,EAAM,CACV+U,EAAG,OACHC,EAAG,OACHC,EAAG,QAGL,OAAOjV,EAAIrE,KAAK6R,OAAO9P,QAAU,OA5BrC,GAAwC,SAEtC,gBADC,eAAK,CAAE2B,KAAMc,OAAQyB,QAAS,gB,8BADZ,GAAU,gBAH9B,eAAU,CACT6O,WAAY,CAAEyD,KAAA,WAEK,cC/CoZ,MCQra,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,4DCoLM,GAArB,yG,0BAGE,EAAA1X,WAAiC,GACjC,EAAAL,MAAuB,KAGvB,EAAAyB,SAAsB,CACpBuS,UAAW,GACX4D,aAAc,IAIhB,EAAAmB,UAAY,EAGZ,EAAA9V,UAAY,EAEZ,EAAA+V,QAAwC,KAExC,EAAA5X,aAAe,EAEf,EAAAP,SAAU,EAEV,EAAAH,aAA6C,CAC3CuY,UAAU,EACVC,UAAU,EACVvY,OAAQ,EAAQ,SAGlB,EAAAwY,KAA6D,GAE7D,EAAAnX,UAAuB,GAEvB,EAAAD,WAAY,EAEZ,EAAAQ,eAAgB,EAEhB,EAAA6W,UAAW,EAEX,EAAArZ,UAA+B,KAC/B,EAAAD,WAAY,EAzCd,iEAkDI,kBACA,oBAnDJ,gCAsDI,IAAMuZ,EAAWjO,SAASC,eAAe,YACzCgO,EAASpY,MAAME,OAAS,QAExB,IAAMmY,EAAOlO,SAASmO,qBAAqB,QAAQ,GACnDD,EAAKrY,MAAMuY,SAAW,QACtBF,EAAKrY,MAAMwY,OAAS,QACpB,IAAMC,EAAOtO,SAASmO,qBAAqB,QAAQ,GACnDG,EAAKzY,MAAMuY,SAAW,QACtBE,EAAKzY,MAAMwY,OAAS,QACpBja,KAAKM,WAAa,QAAOoL,cACzBE,SAAS0G,MAAQ,OASZ,QAAO5G,eACV1L,KAAKma,eAEPna,KAAK4B,aAAgB5B,KAAK+G,MAAMqT,OAAuBC,aACvDra,KAAKsa,gBACLta,KAAKua,eACLva,KAAKwa,mBACLxa,KAAKya,+BAhFT,8BAmFI,IAAMC,EAAa9O,SAAS+O,uBAC1B,eACA,GACFD,EAAWjZ,MAAMiH,IAAM,WAtF3B,qCA6FI,OAAQkS,WAAW5O,MAAK,iBA7F5B,6LAkGI,GACGsO,cAActa,KAAKkW,OAAOC,MAAMhT,IAChC6I,MAAK,SAAAC,GACa,IAAbA,EAAImK,MACN,EAAKvV,WAAaoL,EAAI7F,KACtB,gBAAY,CAAEkO,KAAM,EAAKzT,WAAY4L,WAAY,SACjD,gBAAW,CAAE6H,KAAM,EAAKzT,WAAY4L,WAAY,SAChDR,EAAI7F,KAAKnF,YAAc,EAAKC,aAAaC,OAAS8K,EAAI7F,KAAKnF,WAG3D,EAAKkO,WAAU,WACb,EAAK0L,eAEP,EAAK3B,OAAO4B,OAAO,YAAa,CAC9BjJ,OAAQ5F,EAAI7F,KACZ5F,MAAOyL,EAAI7F,KAAK5F,QAElB,EAAKA,MAAQyL,EAAI7F,KAAK5F,MACtB,EAAKua,eACL,EAAKC,cACL,EAAKjP,gBAEL,OAAMwK,KAAKtK,EAAIuK,YAGlBC,OAAM,WACL,OAAMF,KAAK,gBA5HnB,uMAiIqBnQ,GAjIrB,2FAkIQA,EAlIR,gBAmIMpG,KAAKO,UAAY6F,EACjBpG,KAAKkZ,OAAO4B,OAAO,YAAa,CAC9BzO,YAAajG,EAAKiG,cArI1B,sCAwI2B,OAAQN,eAxInC,OAwIY+L,EAxIZ,OAyI0B,IAAhBA,EAAO1B,OACTpW,KAAKO,UAAYuX,EAAO1R,KACxBpG,KAAKkZ,OAAO4B,OAAO,YAAa,CAC9BzO,YAAayL,EAAO1R,KAAKiG,eA5InC,uTAkJyB,OAAQ0O,eAlJjC,UAkJUjD,EAlJV,QAmJQA,EAnJR,iBAoJe3N,EAAI,EApJnB,YAoJsBA,EAAI2N,EAAOvH,QApJjC,oBAqJYuH,EAAO3N,GAAG3J,OAASR,KAAKQ,MArJpC,wBAsJgBiT,EAAQ7H,SAASqP,cAAc,SACjCxH,IACFA,EAAMyH,MAAQ3V,QAAO,UAACuS,EAAO3N,GAAGgR,UAAUC,gBAArB,QAAiC,IAExDpb,KAAKkZ,OAAO4B,OAAO,YAAa,CAC9BnC,oBAAqBb,EAAO3N,GAAGgR,UAAUxC,sBA3JrD,6BAoJyCxO,IApJzC,uTAqKSnK,KAAKa,WAAWL,MArKzB,iDAsKI,GACGwa,YADH,gBAEIxa,MAAOR,KAAKa,WAAWL,MACvBiM,WAAYzM,KAAKa,WAAW4L,YAAc,IAC1CD,SAAUxM,KAAKkW,OAAOC,MAAMhT,IACzBnD,KAAK2Z,OAET3N,MAAK,SAAAC,GACJ,GAAiB,IAAbA,EAAImK,KAAY,CAClB,IAAKnK,EAAI7F,KAAM,OACf,IAS+B,EAIG,EAb5BiV,EAA4C,IAAhCpP,EAAI7F,KAAKkV,qBAS3B,GARA9W,OAAOC,KAAKwH,EAAI7F,MAAM1B,SAAQ,SAAAxB,GACvB,CAAC,YAAa,gBAAgB8Q,SAAS9Q,IAC1CsB,OAAO+W,OAAO,EAAKtZ,SAAnBuC,OAAA,OAAAA,CAAA,GACGtB,EAAM+I,EAAI7F,KAAKlD,QAItB,EAAKsY,eACDvP,EAAI7F,KAAKoO,UAAUjE,QACrB,IAAKtO,SAASuS,WAAU5B,KAAxB,uBAAgC3G,EAAI7F,KAAKoO,YACzC,EAAKmF,KAAKtE,YAAcpJ,EAAI7F,KAAKoO,UAAU,GAAGrR,GAEhD,GAAI8I,EAAI7F,KAAKgS,aAAa7H,OAGxB,EAAKtO,SAASmW,aAAarH,OACzB,MACIsK,GAAa,KAAQ,OAE3B,IAAKpZ,SAASmW,cAAaxF,KAA3B,uBAAmC3G,EAAI7F,KAAKgS,eAC5C,EAAKuB,KAAK8B,WAAaxP,EAAI7F,KAAKgS,aAAa,GAAGjV,IAGjD,EAAKyW,UACJ,EAAK8B,UAAU,EAAKV,YAAa,CAC/BW,WAAW,EACXC,KAAMP,GAAa,MAEvB,EAAKzB,UAAW,MA7M1B,wSAoNQ,QAAOlO,cApNf,gCAqN2B,OAAQmQ,UAAU7b,KAAKkW,OAAOC,MAAMhT,IArN/D,OAqNY2U,EArNZ,OAsNM,QAAOgE,eAAe,CACpB3Y,GAAInD,KAAKkW,OAAOC,MAAMhT,GAAK,GAC3BmP,MAAOwF,EAAO1R,KAAK2V,WACnBpR,QAASmN,EAAO1R,KAAK6S,SACrB+C,KAAMlE,EAAO1R,KAAK6V,YAClBvP,IAAKoL,EAAO1R,KAAKuG,SACjBF,WAAYqL,EAAO1R,KAAKqG,WAAa,KA5N7C,yIAmOIyP,EAnOJ,EA6OIC,GAAc,WARZR,EAQY,EARZA,UAQY,IAPZC,YAOY,MAPL,IAOK,EANZQ,EAMY,EANZA,MAQGD,GAASR,GACZ,OAAAU,GAAA,MAAWH,IAAOA,IAEpBC,EAAQnP,YAAW,WACjB,OAAAqP,GAAA,MAAWH,IAAOA,IAClB,EAAKR,UAAUQ,EAAI,CAAEP,YAAWC,OAAMQ,QAAQD,KAC7CP,GAEH,OAAAS,GAAA,MAAWD,IAASA,EAAKD,KAvP7B,qCA2Pc,WACV,GAAI5B,aAAava,KAAKkW,OAAOC,MAAMhT,IAAc6I,MAAK,SAAAC,GACnC,IAAbA,EAAImK,KACN,EAAK5T,UAAYyJ,EAAI7F,MAAQ,CAAEkW,cAAe,GAAI7Z,UAAW,IAE7D,OAAM8T,KAAKtK,EAAIuK,cAhQvB,mCAuQQxW,KAAKwC,UAAU8Z,cAAc/L,OAAS,EACxCvQ,KAAK+C,eAAgB,EAErBoJ,SAASC,KAAOpM,KAAKwC,UAAU8Z,cAAc,GAAGlZ,UA1QtD,+BA+QWmZ,GACgB,IAAnBvc,KAAKuZ,WAAoBvZ,KAAKwZ,SAClCxZ,KAAKwZ,QAAQgD,YAAaD,EAAa,IAAOvc,KAAKuZ,aAjRvD,sCAsRIpN,SAASC,KAAT,wDAAiEpM,KAAKkZ,OAAOC,MAAM3Y,SAtRvF,+BA0RQ,eACHR,KAAKqB,QAAN,UAAwCrB,KAAKwZ,eAA7C,OAAwC,EAAciD,OAAtD,UAAgBzc,KAAKwZ,eAArB,OAAgB,EAAckD,QAC9B1P,YAAW,WACT,EAAK3L,SAAW,EAAKA,UACpB,OA9RP,mDAmSI2L,YAAW,WACT,IAAM2P,EAAKnR,OAAOoR,WAChBC,EAAKrR,OAAOsR,YACZC,EAAWnR,SAASqP,cAAc,uBAEpC8B,EAASC,aACP,UACA,UAAYH,EAAK,aAAeF,EAAK,8BA1S7C,kCAgTW,WACP3c,KAAKqB,SAAU,EAEf,IAAMmI,EAAQxJ,KACdA,KAAKwZ,QAAUxZ,KAAKid,OAAO,aAAcjd,KAAKkB,cAAc,WACrD,EAAKsY,UAEV,EAAKA,QAAQ9Y,GAAG,cAAc,WAC5B8I,EAAMnI,SAAU,EAChB,IAAMmb,EAAcxc,KAAKwc,cACvBU,EAAWld,KAAKkd,WAClB1T,EAAM2F,WAAU,WAEd3F,EAAM+P,UAAY2D,EAClB1T,EAAM/F,UAAa+Y,EAAcU,EAAY,UAIjD,EAAK1D,QAAQ9Y,GAAG,SAAS,WACvB8I,EAAMnI,SAAU,SAGpB2L,YAAW,WACT,gBAAY,CACVsH,KAAM,EAAKzT,WACX4L,WAAY,OACZ0Q,YAAa,kBAEd,OA5UP,oCAoVIC,QAAQC,UAAU,KAAM,GAAIzR,SAAS0R,KACrC9R,OAAO+R,iBAAiB,YAAY,WAClCH,QAAQC,UAAU,KAAM,GAAIzR,SAAS0R,UAtV3C,oCA2VItd,KAAK8B,WA3VT,6BA0CY,YACR,OACE,UAAA9B,KAAKa,kBAAL,mBAAiBU,mBAAjB,eAA8Bic,SAAS,UAAvC,UACAxd,KAAKa,kBADL,iBACA,EAAiBU,mBADjB,aACA,EAA8Bic,SAAS,aA7C7C,GAAoC,QAGlC,gBADC,eAAgB,e,kCAKjB,gBADC,eAAgB,a,gCAOjB,gBADC,S,iCAID,gBADC,S,iCAoUD,gBADC,S,2BAMA,MAxVkB,GAAM,gBAZ1B,eAAU,CACT1I,WAAY,CACV2I,eAAA,EACAC,WAAA,GACAC,QAAA,GACAC,OAAA,EACAC,MAAA,EACAC,YAAA,OACA/I,SAAA,OACAgJ,aAAA,SAGiB,cCvM8X,MCQ/Y,I,UAAY,eACd,GACA,EACA/Z,GACA,EACA,KACA,WACA,OAIa,gB,6CCRf,IAAIga,EAAS,WACXhe,KAAKie,KAAO,WACV,IAAIC,EAAY,GAOhBle,KAAKU,GAAK,SAASgD,EAAMya,GAClBD,EAAUxa,KACbwa,EAAUxa,GAAQ,IAEpBwa,EAAUxa,GAAQwa,EAAUxa,GAAM0a,OAAOD,IAQ3Cne,KAAKqe,IAAM,SAAS3a,EAAMya,GACxB,IAAI9V,EACJ,QAAK6V,EAAUxa,KAGf2E,EAAQ6V,EAAUxa,GAAMC,QAAQwa,GAChCD,EAAUxa,GAAQwa,EAAUxa,GAAM+Q,QAClCyJ,EAAUxa,GAAMqN,OAAO1I,EAAO,GACvBA,GAAS,IAOlBrI,KAAKse,QAAU,SAAS5a,GACtB,IAAI6a,EAAWpU,EAAGoG,EAAQiO,EAE1B,GADAD,EAAYL,EAAUxa,GACjB6a,EAOL,GAAyB,IAArB7U,UAAU6G,OAEZ,IADAA,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGsU,KAAKze,KAAM0J,UAAU,QAE/B,CAGL,IAFA8U,EAAO,GACPrU,EAAIT,UAAU6G,OACTpG,EAAI,EAAGA,EAAIT,UAAU6G,SAAUpG,EAClCqU,EAAK5L,KAAKlJ,UAAUS,IAGtB,IADAoG,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGuU,MAAM1e,KAAMwe,KAO/Bxe,KAAK2e,QAAU,WACbT,EAAY,MAclBF,EAAOY,UAAUC,KAAO,SAASC,GAS/B,OARA9e,KAAKU,GAAG,QAAQ,SAAS0F,GACvB0Y,EAAYlM,KAAKxM,MAGnBpG,KAAKU,GAAG,QAAQ,SAASqe,GACvBD,EAAYE,MAAMD,MAGbD,GAOTd,EAAOY,UAAUhM,KAAO,SAASxM,GAC/BpG,KAAKse,QAAQ,OAAQlY,IAGvB4X,EAAOY,UAAUI,MAAQ,SAASD,GAChC/e,KAAKse,QAAQ,OAAQS,IAGvBE,EAAOC,QAAUlB,G,oCCpHjB,W,oCCgBAiB,EAAOC,QAAU,SAAeC,GAC9B,OAAOA,EAAOC,SAAS,EAAGD,EAAOE,WAAaF,EAAOA,EAAOE,WAAa,M,oCCJ3E7a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAET,IAAIid,EAAe,SAAsBC,GACvC,MAAQ,iBAAiB5S,KAAK4S,IAW5BC,EAAe,SAAsBD,GACvC,MAAQ,kBAAkB5S,KAAK4S,IAY7BE,EAAmB,SAA0Bhc,GAC/C,IAAIic,EAAS,CAAEjc,KAAM,GAAIkc,WAAY,IACjCA,EAAalc,EAAKmc,OAAOC,MAAM,KAenC,OAZAH,EAAOjc,KAAOkc,EAAWG,QAAQF,OACjCD,EAAWlb,SAAQ,SAAUsb,GAC3B,IAAIC,EAAOD,EAAUH,OAAOC,MAAM,KAElC,GAAIG,EAAK1P,OAAS,EAAG,CACnB,IAAI2P,EAAQD,EAAK,GAAGlT,QAAQ,KAAM,IAAI8S,OAClCvd,EAAQ2d,EAAK,GAAGlT,QAAQ,KAAM,IAAI8S,OAEtCF,EAAOC,WAAWM,GAAS5d,MAIxBqd,GAWLQ,EAAwB,SAA+BC,GACzD,OAAOA,EAAO/b,KAAI,SAAUmb,GAC1B,OAAOA,EAAMzS,QAAQ,uBAAuB,SAAUsT,EAAMC,EAASC,GACnE,IAAIC,GAAc,KAAO7a,OAAO2a,GAASG,SAAS,KAAKhM,OAAO,GAC1DiM,GAAe,KAAO/a,OAAO4a,GAAUE,SAAS,KAAKhM,OAAO,GAEhE,MAAO,QAAU+L,EAAa,KAAOE,SAK3CxB,EAAQ,WAAa,CACnBK,aAAcA,EACdG,iBAAkBA,EAClBD,aAAcA,EACdU,sBAAuBA,GAEzBlB,EAAOC,QAAUA,EAAQ,Y,mBCtEzB,IAAIyB,EAAgB,CAClB,IAAI,EACJ,IAAM,GAGR,SAASC,EAAkBte,GACzB,GAAqB,kBAAVA,EACT,OAAO,EAET,IAAIue,EAASF,EAAcre,EAAMwe,eACjC,QAAOD,GAASve,EAAMwe,cAGxB,SAASC,EAAoBze,GAC3B,MAAwB,kBAAVA,GAAuBA,GAAS,GAAKA,GAAS,IAI9D,SAAS0e,IACP,IAAIC,EAAS,IACTC,EAAS,EACTC,EAAiB,EACjBC,EAAiB,IACjBC,EAAmB,EACnBC,EAAmB,IACnBC,EAAU,GAEd/c,OAAOgd,iBAAiBxhB,KAAM,CAC5B,MAAS,CACPyhB,YAAY,EACZxM,IAAK,WACH,OAAOgM,GAETS,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,oCAElBV,EAAS3e,IAGb,MAAS,CACPmf,YAAY,EACZxM,IAAK,WACH,OAAOiM,GAETQ,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,EACT,MAAM,IAAIsf,UAAU,kCAEtBV,EAAS5e,IAGb,cAAiB,CACfmf,YAAY,EACZxM,IAAK,WACH,OAAOmM,GAETM,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,4CAElBP,EAAiB9e,IAGrB,cAAiB,CACfmf,YAAY,EACZxM,IAAK,WACH,OAAOkM,GAETO,IAAK,SAASpf,GACZ,IAAIye,EAAoBze,GACtB,MAAM,IAAIqf,MAAM,4CAElBR,EAAiB7e,IAGrB,gBAAmB,CACjBmf,YAAY,EACZxM,IAAK,WACH,OAAOqM,GAETI,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,8CAElBL,EAAmBhf,IAGvB,gBAAmB,CACjBmf,YAAY,EACZxM,IAAK,WACH,OAAOoM,GAETK,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,8CAElBN,EAAmB/e,IAGvB,OAAU,CACRmf,YAAY,EACZxM,IAAK,WACH,OAAOsM,GAETG,IAAK,SAASpf,GACZ,IAAIuf,EAAUjB,EAAkBte,GAEhC,IAAgB,IAAZuf,EACF,MAAM,IAAIC,YAAY,+CAExBP,EAAUM,MAMlB5C,EAAOC,QAAU8B,G;;;;;;;;;;;;ACzHjB,SAASe,EAAiBC,GAAM,OAAQA,GAAqB,kBAAPA,GAAoB,YAAaA,EAAMA,EAAG,WAAaA,EAE7G,IAAIxW,EAASuW,EAAgB,EAAQ,SACjCnW,EAAWmW,EAAgB,EAAQ,SACnCE,EAAOF,EAAgB,EAAQ,SAC/BG,EAAiBH,EAAgB,EAAQ,SACzCI,EAAMJ,EAAgB,EAAQ,SAC9BK,EAAML,EAAgB,EAAQ,SAE9BM,EAAU,SAMVC,EAAa9W,EAAOqB,WAAarB,EAAOqB,UAAUC,WAAa,GAC/DyV,EAAmB,yBAAyBC,KAAKF,GACjDG,EAAqBF,EAAmBG,WAAWH,EAAiBI,OAAS,KAS7EC,EAAU,QAAQhW,KAAK0V,GAKvBO,EAAY,UAAUjW,KAAK0V,KAAgBM,EAC3CE,EAAU,QAAQlW,KAAK0V,GACvBS,EAASF,GAAaD,GAAWE,EAEjCE,EAAc,WAChB,IAAIC,EAAQX,EAAWW,MAAM,cAE7B,OAAIA,GAASA,EAAM,GACVA,EAAM,GAER,KANS,GASdC,EAAa,WAAWtW,KAAK0V,GAC7Ba,EAAkB,WAGpB,IAAIF,EAAQX,EAAWW,MAAM,0CAE7B,IAAKA,EACH,OAAO,KAGT,IAAIG,EAAQH,EAAM,IAAMP,WAAWO,EAAM,IACrCI,EAAQJ,EAAM,IAAMP,WAAWO,EAAM,IAEzC,OAAIG,GAASC,EACJX,WAAWO,EAAM,GAAK,IAAMA,EAAM,IAChCG,GAGJ,KAjBa,GAqBlBE,EAAiBJ,GAAc,UAAUtW,KAAK0V,IAAea,EAAkB,IAC/EI,EAAoBL,GAAcC,EAAkB,GAAKV,EAAqB,IAE9Ee,EAAa,WAAW5W,KAAK0V,GAC7BmB,EAAU,QAAQ7W,KAAK0V,GACvBoB,GAAaD,IAAY,UAAU7W,KAAK0V,IAAe,SAAS1V,KAAK0V,IACrEqB,EAAiB,WACnB,IAAIV,EAAQX,EAAWW,MAAM,yBAE7B,OAAIA,GAASA,EAAM,GACVP,WAAWO,EAAM,IAEnB,KANY,GAQjBW,EAAS,aAAahX,KAAK0V,GAC3BuB,EAAa,WACf,IAAI/L,EAAS,kBAAkB0K,KAAKF,GAChCD,EAAUvK,GAAU4K,WAAW5K,EAAO,IAO1C,OALKuK,GAAW,gBAAgBzV,KAAK0V,IAAe,UAAU1V,KAAK0V,KAEjED,EAAU,IAGLA,EATQ,GAYbyB,EAAY,UAAUlX,KAAK0V,KAAgBoB,IAAcR,IAAeO,EACxEM,GAAiBD,GAAaf,KAAYW,EAE1CM,EAAgBC,OAAa,iBAAkBzY,GAAUA,EAAOqB,UAAUqX,gBAAkB1Y,EAAO2Y,eAAiB3Y,EAAOI,oBAAoBJ,EAAO2Y,eAEtJC,EAA4BH,MAAY,mBAAoBzY,EAAOI,SAASyY,cAAc,SAAS5iB,MAEnG6iB,GAAW9f,OAAO+f,QAAU/f,QAAQ,CACvCoe,QAASA,EACTC,UAAWA,EACXC,QAASA,EACTC,OAAQA,EACRC,YAAaA,EACbE,WAAYA,EACZC,gBAAiBA,EACjBG,eAAgBA,EAChBC,kBAAmBA,EACnBC,WAAYA,EACZC,QAASA,EACTC,UAAWA,EACXC,eAAgBA,EAChBC,OAAQA,EACRC,WAAYA,EACZC,UAAWA,EACXC,cAAeA,EACfC,cAAeA,EACfI,0BAA2BA,IAGxBI,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUxgB,GAC5F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAyB,oBAAXugB,QAAyBvgB,EAAIygB,cAAgBF,QAAUvgB,IAAQugB,OAAO7F,UAAY,gBAAkB1a,GAavH0gB,EAAiB,SAAUC,EAAUC,GACvC,KAAMD,aAAoBC,GACxB,MAAM,IAAIlD,UAAU,sCAcpBmD,EAAW,SAAUC,EAAUC,GACjC,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrD,UAAU,kEAAoEqD,GAG1FD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CACrE+F,YAAa,CACXriB,MAAO0iB,EACPvD,YAAY,EACZyD,UAAU,EACVC,cAAc,KAGdF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,IAazGK,EAA4B,SAAUC,EAAM9G,GAC9C,IAAK8G,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAO/G,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B8G,EAAP9G,GAaxEgH,EAA6B,SAAUC,EAASC,GAElD,OADAD,EAAQC,IAAMA,EACPD,GAiCLjF,EAAWjc,OAAOoa,UAAU6B,SAc5Bhc,EAAO,SAAckb,GACvB,OAAOiG,EAASjG,GAAUnb,OAAOC,KAAKkb,GAAU,IAYlD,SAASkG,EAAKlG,EAAQ/N,GACpBnN,EAAKkb,GAAQjb,SAAQ,SAAUxB,GAC7B,OAAO0O,EAAG+N,EAAOzc,GAAMA,MAqB3B,SAAS4iB,EAAOnG,EAAQ/N,GACtB,IAAImU,EAAUrc,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,EAElF,OAAOjF,EAAKkb,GAAQmG,QAAO,SAAUG,EAAO/iB,GAC1C,OAAO0O,EAAGqU,EAAOtG,EAAOzc,GAAMA,KAC7B6iB,GAUL,SAASxK,EAAO9K,GACd,IAAK,IAAIyV,EAAOxc,UAAU6G,OAAQ4V,EAAUhiB,MAAM+hB,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IACjGD,EAAQC,EAAO,GAAK1c,UAAU0c,GAGhC,OAAI5hB,OAAO+W,OACF/W,OAAO+W,OAAOmD,MAAMla,OAAQ,CAACiM,GAAQ2N,OAAO+H,KAGrDA,EAAQzhB,SAAQ,SAAU2hB,GACnBA,GAILR,EAAKQ,GAAQ,SAAU/jB,EAAOY,GAC5BuN,EAAOvN,GAAOZ,QAIXmO,GAaT,SAASmV,EAAStjB,GAChB,QAASA,GAA2E,YAAhD,qBAAVA,EAAwB,YAAckiB,EAAQliB,IAU1E,SAASgkB,EAAQhkB,GACf,OAAOsjB,EAAStjB,IAAmC,oBAAzBme,EAAShC,KAAKnc,IAAgCA,EAAMqiB,cAAgBngB,OAQhG,IAAI4Y,EAAU,GAYVmJ,EAAmB,SAA0BnkB,EAAMokB,GACrD,OAAO,SAAU9iB,EAAM+iB,EAAOjI,EAAMrZ,GAClC,IAAIuhB,EAAMF,EAAIG,OAAOF,GACjBG,EAAY,IAAIC,OAAO,KAAOH,EAAM,MAkBxC,GAhBa,QAAThjB,GAGF8a,EAAKsI,QAAQpjB,EAAKqjB,cAAgB,KAIpCvI,EAAKsI,QAAQ1kB,EAAO,KAGhBgb,GACFA,EAAQxK,KAAK,GAAGwL,OAAOI,IAKpBhT,EAAOwb,QAAZ,CAOA,IAAIpV,EAAKpG,EAAOwb,QAAQtjB,GAEnBkO,GAAe,UAATlO,IAGTkO,EAAKpG,EAAOwb,QAAQC,MAAQzb,EAAOwb,QAAQR,KAKxC5U,GAAO8U,GAAQE,EAAUha,KAAKlJ,KAM/ByB,IACFqZ,EAAOA,EAAKna,KAAI,SAAU6iB,GACxB,GAAItB,EAASsB,IAAM/iB,MAAMC,QAAQ8iB,GAC/B,IACE,OAAOhiB,KAAKC,UAAU+hB,GACtB,MAAOC,GACP,OAAOvhB,OAAOshB,GAMlB,OAAOthB,OAAOshB,MACbE,KAAK,MAKLxV,EAAG8M,MAGN9M,EAAGzN,MAAMC,QAAQoa,GAAQ,QAAU,QAAQhT,EAAOwb,QAASxI,GAF3D5M,EAAG4M,OAOT,SAAS6I,EAAejlB,GAEtB,IAAIqkB,EAAQ,OAGRa,OAAY,EAuBZd,EAAM,SAASA,IAGjB,IAFA,IAAIrhB,EAAYqhB,EAAIrhB,WAAa0e,GAAcA,EAAa,GAEnDqC,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzBkB,EAAU,MAAOb,EAAOjI,EAAMrZ,IA+KhC,OA3KAmiB,EAAYf,EAAiBnkB,EAAMokB,GAenCA,EAAIe,aAAe,SAAUC,GAC3B,OAAOH,EAAejlB,EAAO,KAAOolB,IAsBtChB,EAAIG,OAAS,CACXc,IAAK,uBACLpJ,IAAK,GACLqJ,MAAO,uBACPT,KAAM,iBACNU,KAAM,aACNC,MAAO,QACPC,QAASpB,GAeXD,EAAIC,MAAQ,SAAUC,GACpB,GAAmB,kBAARA,EAAkB,CAC3B,IAAKF,EAAIG,OAAOmB,eAAepB,GAC7B,MAAM,IAAI/E,MAAM,IAAM+E,EAAM,8BAE9BD,EAAQC,EAEV,OAAOD,GAYTD,EAAIpJ,QAAU,WACZ,OAAOA,EAAU,GAAGgB,OAAOhB,GAAW,IAYxCoJ,EAAIpJ,QAAQ2K,OAAS,SAAUC,GAC7B,OAAQ5K,GAAW,IAAI2K,QAAO,SAAUE,GAEtC,OAAO,IAAIpB,OAAO,KAAOmB,EAAQ,MAAMpb,KAAKqb,EAAY,QAQ5DzB,EAAIpJ,QAAQ8K,MAAQ,WACd9K,IACFA,EAAQ7M,OAAS,IAOrBiW,EAAIpJ,QAAQ+K,QAAU,WACJ,OAAZ/K,IACFA,EAAQ7M,OAAS,EACjB6M,EAAU,OAOdoJ,EAAIpJ,QAAQgL,OAAS,WACH,OAAZhL,IACFA,EAAU,KAUdoJ,EAAIoB,MAAQ,WACV,IAAK,IAAIS,EAAQ3e,UAAU6G,OAAQiO,EAAOra,MAAMkkB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChF9J,EAAK8J,GAAS5e,UAAU4e,GAG1B,OAAOhB,EAAU,QAASb,EAAOjI,IASnCgI,EAAImB,KAAO,WACT,IAAK,IAAIY,EAAQ7e,UAAU6G,OAAQiO,EAAOra,MAAMokB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFhK,EAAKgK,GAAS9e,UAAU8e,GAG1B,OAAOlB,EAAU,OAAQb,EAAOjI,IAUlCgI,EAAIkB,MAAQ,WACV,IAAK,IAAIe,EAAQ/e,UAAU6G,OAAQiO,EAAOra,MAAMskB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFlK,EAAKkK,GAAShf,UAAUgf,GAG1B,OAAOpB,EAAU,QAASb,EAAOjI,IAG5BgI,EAOT,IAAIA,EAAMa,EAAe,WACrBE,EAAef,EAAIe,aAwBvB,SAASoB,EAAc3X,EAAI4X,GACzB,IAAK5X,IAAO4X,EACV,MAAO,GAGT,GAAuC,oBAA5Bpd,EAAOqd,iBAAiC,CACjD,IAAIC,EAAKtd,EAAOqd,iBAAiB7X,GAEjC,OAAO8X,EAAKA,EAAGF,GAAQ,GAGzB,OAAO5X,EAAG+X,aAAaH,IAAS,GAGlC,IAAII,EAAkBvD,EAA2B,CAAC,4MAA6M,OAAQ,KAAM,CAAC,4MAA6M,OAAQ,MAiBne,SAASwD,EAAiBC,GACxB,MAAsB,kBAARA,GAAoB,KAAKtc,KAAKsc,GAc9C,SAASC,GAAkBD,GACzB,GAAI,KAAKtc,KAAKsc,GACZ,MAAM,IAAIvH,MAAM,2CAcpB,SAASyH,GAAYC,GACnB,OAAO,IAAIxC,OAAO,UAAYwC,EAAY,WAQ5C,SAASpF,KACP,OAGErY,IAAaJ,EAAOI,UAIc,qBAA3BA,EAASyY,cAcpB,SAASiF,GAAKhnB,GACZ,OAAOsjB,EAAStjB,IAA6B,IAAnBA,EAAMinB,SASlC,SAASC,KAIP,IACE,OAAOhe,EAAOie,SAAWje,EAAO+Z,KAChC,MAAO4B,GACP,OAAO,GAaX,SAASuC,GAAcC,GACrB,OAAO,SAAUC,EAAUC,GACzB,IAAKZ,EAAiBW,GACpB,OAAOhe,EAAS+d,GAAQ,MAEtBV,EAAiBY,KACnBA,EAAUje,EAASqP,cAAc4O,IAGnC,IAAI/b,EAAMwb,GAAKO,GAAWA,EAAUje,EAEpC,OAAOkC,EAAI6b,IAAW7b,EAAI6b,GAAQC,IAsBtC,SAASE,KACP,IAAIC,EAAUrgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,MAC9EsgB,EAAatgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFiB,EAAUjB,UAAU,GAEpBsH,EAAKpF,EAASyY,cAAc0F,GA6BhC,OA3BAvlB,OAAO0lB,oBAAoBF,GAAYtlB,SAAQ,SAAUylB,GACvD,IAAIC,EAAMJ,EAAWG,IAKc,IAA/BA,EAASxmB,QAAQ,UAAgC,SAAbwmB,GAAoC,SAAbA,GAC7D3D,EAAImB,KAAK1F,EAAK+G,EAAiBmB,EAAUC,IACzCpZ,EAAGgM,aAAamN,EAAUC,IAIJ,gBAAbD,EACTE,GAAYrZ,EAAIoZ,GAEhBpZ,EAAGmZ,GAAYC,KAInB5lB,OAAO0lB,oBAAoBD,GAAYvlB,SAAQ,SAAU4lB,GACvDtZ,EAAGgM,aAAasN,EAAUL,EAAWK,OAGnC3f,GACF4f,GAAcvZ,EAAIrG,GAGbqG,EAeT,SAASqZ,GAAYrZ,EAAIwZ,GAMvB,MAL8B,qBAAnBxZ,EAAGqZ,YACZrZ,EAAGyZ,UAAYD,EAEfxZ,EAAGqZ,YAAcG,EAEZxZ,EAYT,SAAS0Z,GAAUC,EAAOlB,GACpBA,EAAOmB,WACTnB,EAAOoB,aAAaF,EAAOlB,EAAOmB,YAElCnB,EAAOqB,YAAYH,GAoBvB,SAASI,GAASC,EAASC,GAEzB,OADA9B,GAAkB8B,GACdD,EAAQE,UACHF,EAAQE,UAAUC,SAASF,GAE7B7B,GAAY6B,GAAcre,KAAKoe,EAAQ3B,WAehD,SAAS+B,GAASJ,EAASK,GAUzB,OATIL,EAAQE,UACVF,EAAQE,UAAUI,IAAID,GAIZN,GAASC,EAASK,KAC5BL,EAAQ3B,WAAa2B,EAAQ3B,UAAY,IAAMgC,GAAYxL,QAGtDmL,EAeT,SAASO,GAAYP,EAASQ,GAU5B,OATIR,EAAQE,UACVF,EAAQE,UAAUO,OAAOD,IAEzBrC,GAAkBqC,GAClBR,EAAQ3B,UAAY2B,EAAQ3B,UAAUvJ,MAAM,OAAOiI,QAAO,SAAU2D,GAClE,OAAOA,IAAMF,KACZpE,KAAK,MAGH4D,EAmCT,SAASW,GAAYX,EAASY,EAAeC,GAK3C,IAAIC,EAAMf,GAASC,EAASY,GAY5B,GAVyB,oBAAdC,IACTA,EAAYA,EAAUb,EAASY,IAGR,mBAAdC,IACTA,GAAaC,GAKXD,IAAcC,EAUlB,OANID,EACFT,GAASJ,EAASY,GAElBL,GAAYP,EAASY,GAGhBZ,EAYT,SAASe,GAAc/a,EAAIiZ,GACzBzlB,OAAO0lB,oBAAoBD,GAAYvlB,SAAQ,SAAU4lB,GACvD,IAAI0B,EAAY/B,EAAWK,GAET,OAAd0B,GAA2C,qBAAdA,IAA2C,IAAdA,EAC5Dhb,EAAGib,gBAAgB3B,GAEnBtZ,EAAGgM,aAAasN,GAAwB,IAAd0B,EAAqB,GAAKA,MAiB1D,SAASE,GAActhB,GACrB,IAAI1G,EAAM,GAKNioB,EAAgB,kEAEpB,GAAIvhB,GAAOA,EAAIqf,YAAcrf,EAAIqf,WAAW1Z,OAAS,EAGnD,IAFA,IAAI9P,EAAQmK,EAAIqf,WAEP9f,EAAI1J,EAAM8P,OAAS,EAAGpG,GAAK,EAAGA,IAAK,CAC1C,IAAImgB,EAAW7pB,EAAM0J,GAAG/H,KACpBgqB,EAAU3rB,EAAM0J,GAAG7H,MAIM,mBAAlBsI,EAAI0f,KAA4E,IAAjD6B,EAAcxoB,QAAQ,IAAM2mB,EAAW,OAI/E8B,EAAsB,OAAZA,GAGZloB,EAAIomB,GAAY8B,EAIpB,OAAOloB,EAeT,SAASmoB,GAAarb,EAAIsb,GACxB,OAAOtb,EAAGqb,aAAaC,GAezB,SAAStP,GAAahM,EAAIsb,EAAWhqB,GACnC0O,EAAGgM,aAAasP,EAAWhqB,GAY7B,SAAS2pB,GAAgBjb,EAAIsb,GAC3Btb,EAAGib,gBAAgBK,GAMrB,SAASC,KACP3gB,EAASsO,KAAKsS,QACd5gB,EAAS6gB,cAAgB,WACvB,OAAO,GAOX,SAASC,KACP9gB,EAAS6gB,cAAgB,WACvB,OAAO,GAuBX,SAAS1kB,GAAsBiJ,GAC7B,GAAIA,GAAMA,EAAGjJ,uBAAyBiJ,EAAG2b,WAAY,CACnD,IAAI9kB,EAAOmJ,EAAGjJ,wBACV+P,EAAS,GAgBb,MAdA,CAAC,SAAU,SAAU,OAAQ,QAAS,MAAO,SAASpT,SAAQ,SAAUkoB,QACtD5G,IAAZne,EAAK+kB,KACP9U,EAAO8U,GAAK/kB,EAAK+kB,OAIhB9U,EAAOnW,SACVmW,EAAOnW,OAAS+gB,WAAWiG,EAAc3X,EAAI,YAG1C8G,EAAOpR,QACVoR,EAAOpR,MAAQgc,WAAWiG,EAAc3X,EAAI,WAGvC8G,GA6BX,SAAS+U,GAAa7b,GACpB,IAAI8b,OAAM,EAMV,GAJI9b,EAAGjJ,uBAAyBiJ,EAAG2b,aACjCG,EAAM9b,EAAGjJ,0BAGN+kB,EACH,MAAO,CACLlkB,KAAM,EACNF,IAAK,GAIT,IAAIqkB,EAAQnhB,EAASohB,gBACjB9S,EAAOtO,EAASsO,KAEhB+S,EAAaF,EAAME,YAAc/S,EAAK+S,YAAc,EACpDC,EAAa1hB,EAAO2hB,aAAejT,EAAKgT,WACxCtkB,EAAOkkB,EAAIlkB,KAAOskB,EAAaD,EAE/BG,EAAYL,EAAMK,WAAalT,EAAKkT,WAAa,EACjDzd,EAAYnE,EAAO6hB,aAAenT,EAAKvK,UACvCjH,EAAMokB,EAAIpkB,IAAMiH,EAAYyd,EAGhC,MAAO,CACLxkB,KAAMO,KAAKC,MAAMR,GACjBF,IAAKS,KAAKC,MAAMV,IA+BpB,SAAS4kB,GAAmBtc,EAAI3J,GAC9B,IAAIyE,EAAW,GACXghB,EAAMD,GAAa7b,GACnBuc,EAAOvc,EAAGwc,YACVC,EAAOzc,EAAGqJ,aAEVqT,EAAOZ,EAAIpkB,IACXilB,EAAOb,EAAIlkB,KACXglB,EAAQvmB,EAAMumB,MACdC,EAAQxmB,EAAMwmB,MAUlB,OARIxmB,EAAMymB,iBACRD,EAAQxmB,EAAMymB,eAAe,GAAGD,MAChCD,EAAQvmB,EAAMymB,eAAe,GAAGF,OAGlC9hB,EAASiiB,EAAI5kB,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAI,GAAI0nB,EAAOE,EAAQH,GAAQA,IAC7D3hB,EAASqb,EAAIhe,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAI,GAAI6nB,EAAQF,GAAQJ,IAE/CzhB,EAaT,SAASkiB,GAAW1rB,GAClB,OAAOsjB,EAAStjB,IAA6B,IAAnBA,EAAMinB,SAYlC,SAAS0E,GAAQjd,GACf,MAAOA,EAAG4Z,WACR5Z,EAAGkd,YAAYld,EAAG4Z,YAEpB,OAAO5Z,EAwBT,SAASmd,GAAiBxjB,GAUxB,MANuB,oBAAZA,IACTA,EAAUA,MAKJxG,MAAMC,QAAQuG,GAAWA,EAAU,CAACA,IAAUtG,KAAI,SAAU/B,GAQlE,MAJqB,oBAAVA,IACTA,EAAQA,KAGNgnB,GAAKhnB,IAAU0rB,GAAW1rB,GACrBA,EAGY,kBAAVA,GAAsB,KAAKsK,KAAKtK,GAClCsJ,EAASwiB,eAAe9rB,QADjC,KAGCylB,QAAO,SAAUzlB,GAClB,OAAOA,KAiBX,SAASioB,GAAcvZ,EAAIrG,GAIzB,OAHAwjB,GAAiBxjB,GAASjG,SAAQ,SAAU2pB,GAC1C,OAAOrd,EAAG8Z,YAAYuD,MAEjBrd,EAiBT,SAASsd,GAActd,EAAIrG,GACzB,OAAO4f,GAAc0D,GAAQjd,GAAKrG,GAapC,SAAS4jB,GAAkBlnB,GAKzB,YAAqB2e,IAAjB3e,EAAMmnB,aAA0CxI,IAAlB3e,EAAMonB,UAgBnB,IAAjBpnB,EAAMmnB,aAAkCxI,IAAlB3e,EAAMonB,UAOb,IAAf5K,GAMiB,IAAjBxc,EAAMmnB,QAAkC,IAAlBnnB,EAAMonB,UA4BlC,IAAIC,GAAIhF,GAAc,iBAmBlBiF,GAAKjF,GAAc,oBAInBkF,IAAOpqB,OAAO+f,QAAU/f,QAAQ,CACnCyf,OAAQA,GACRqF,KAAMA,GACNE,UAAWA,GACXM,SAAUA,GACVO,YAAaA,GACbK,UAAWA,GACXK,SAAUA,GACVK,SAAUA,GACVG,YAAaA,GACbI,YAAaA,GACbI,cAAeA,GACfG,cAAeA,GACfG,aAAcA,GACdrP,aAAcA,GACdiP,gBAAiBA,GACjBM,mBAAoBA,GACpBG,qBAAsBA,GACtB3kB,sBAAuBA,GACvB8kB,aAAcA,GACdS,mBAAoBA,GACpBU,WAAYA,GACZC,QAASA,GACTE,iBAAkBA,GAClB5D,cAAeA,GACf+D,cAAeA,GACfC,kBAAmBA,GACnBG,EAAGA,GACHC,GAAIA,KAYDE,GAAQ,EAQZ,SAASC,KACP,OAAOD,KAiBT,IAAIE,GAAS,GASTC,GAAW,SAAU,IAAIjZ,MAAOkZ,UAWpC,SAASC,GAAQle,GACf,IAAI7N,EAAK6N,EAAGge,IAUZ,OARK7rB,IACHA,EAAK6N,EAAGge,IAAYF,MAGjBC,GAAO5rB,KACV4rB,GAAO5rB,GAAM,IAGR4rB,GAAO5rB,GAahB,SAASgsB,GAAQne,GACf,IAAI7N,EAAK6N,EAAGge,IAEZ,QAAK7rB,KAIIqB,OAAO0lB,oBAAoB6E,GAAO5rB,IAAKoN,OASlD,SAAS6e,GAAWpe,GAClB,IAAI7N,EAAK6N,EAAGge,IAEZ,GAAK7rB,EAAL,QAKO4rB,GAAO5rB,GAGd,WACS6N,EAAGge,IACV,MAAOzkB,GACHyG,EAAGib,gBACLjb,EAAGib,gBAAgB+C,IAGnBhe,EAAGge,IAAY,OAuBrB,SAASK,GAAeC,EAAM5rB,GAC5B,IAAI0C,EAAO8oB,GAAQI,GAGgB,IAA/BlpB,EAAKmpB,SAAS7rB,GAAM6M,gBACfnK,EAAKmpB,SAAS7rB,GAKjB4rB,EAAKE,oBACPF,EAAKE,oBAAoB9rB,EAAM0C,EAAKqpB,YAAY,GACvCH,EAAKI,aACdJ,EAAKI,YAAY,KAAOhsB,EAAM0C,EAAKqpB,aAKnCjrB,OAAO0lB,oBAAoB9jB,EAAKmpB,UAAUhf,QAAU,WAC/CnK,EAAKmpB,gBACLnpB,EAAKqpB,kBACLrpB,EAAKd,UAIkC,IAA5Cd,OAAO0lB,oBAAoB9jB,GAAMmK,QACnC6e,GAAWE,GAmBf,SAASK,GAAsB/d,EAAI0d,EAAMM,EAAO/sB,GAC9C+sB,EAAMlrB,SAAQ,SAAUhB,GAEtBkO,EAAG0d,EAAM5rB,EAAMb,MAanB,SAASgtB,GAASxoB,GAEhB,SAASyoB,IACP,OAAO,EAGT,SAASC,IACP,OAAO,EAQT,IAAK1oB,IAAUA,EAAM2oB,qBAAsB,CACzC,IAAIC,EAAM5oB,GAASmE,EAAOnE,MAQ1B,IAAK,IAAInE,KANTmE,EAAQ,GAMQ4oB,EAIF,WAAR/sB,GAA4B,WAARA,GAA4B,gBAARA,GAAiC,oBAARA,GAAqC,oBAARA,IAGlF,gBAARA,GAAyB+sB,EAAIC,iBACjC7oB,EAAMnE,GAAO+sB,EAAI/sB,KAmDvB,GA7CKmE,EAAMoJ,SACTpJ,EAAMoJ,OAASpJ,EAAM8oB,YAAcvkB,GAIhCvE,EAAM+oB,gBACT/oB,EAAM+oB,cAAgB/oB,EAAMgpB,cAAgBhpB,EAAMoJ,OAASpJ,EAAMipB,UAAYjpB,EAAMgpB,aAIrFhpB,EAAM6oB,eAAiB,WACjBD,EAAIC,gBACND,EAAIC,iBAEN7oB,EAAMkpB,aAAc,EACpBN,EAAIM,aAAc,EAClBlpB,EAAMmpB,kBAAmB,GAG3BnpB,EAAMmpB,kBAAmB,EAGzBnpB,EAAMmB,gBAAkB,WAClBynB,EAAIznB,iBACNynB,EAAIznB,kBAENnB,EAAMopB,cAAe,EACrBR,EAAIQ,cAAe,EACnBppB,EAAM2oB,qBAAuBF,GAG/BzoB,EAAM2oB,qBAAuBD,EAG7B1oB,EAAMqpB,yBAA2B,WAC3BT,EAAIS,0BACNT,EAAIS,2BAENrpB,EAAMspB,8BAAgCb,EACtCzoB,EAAMmB,mBAGRnB,EAAMspB,8BAAgCZ,EAGhB,OAAlB1oB,EAAMsB,cAAsCqd,IAAlB3e,EAAMsB,QAAuB,CACzD,IAAIioB,EAAMhlB,EAASohB,gBACf9S,EAAOtO,EAASsO,KAEpB7S,EAAMwmB,MAAQxmB,EAAMsB,SAAWioB,GAAOA,EAAI1D,YAAchT,GAAQA,EAAKgT,YAAc,IAAM0D,GAAOA,EAAI3D,YAAc/S,GAAQA,EAAK+S,YAAc,GAC7I5lB,EAAMumB,MAAQvmB,EAAMoB,SAAWmoB,GAAOA,EAAIjhB,WAAauK,GAAQA,EAAKvK,WAAa,IAAMihB,GAAOA,EAAIxD,WAAalT,GAAQA,EAAKkT,WAAa,GAI3I/lB,EAAMwpB,MAAQxpB,EAAMypB,UAAYzpB,EAAMxD,QAIjB,OAAjBwD,EAAMmnB,aAAoCxI,IAAjB3e,EAAMmnB,SAKjCnnB,EAAMmnB,OAAwB,EAAfnnB,EAAMmnB,OAAa,EAAmB,EAAfnnB,EAAMmnB,OAAa,EAAmB,EAAfnnB,EAAMmnB,OAAa,EAAI,GAMxF,OAAOnnB,EAMT,IAAI0pB,IAAmB,GAEvB,WACE,IACE,IAAIC,EAAOxsB,OAAO8a,eAAe,GAAI,UAAW,CAC9CrK,IAAK,WACH8b,IAAmB,KAIvBvlB,EAAO+R,iBAAiB,OAAQ,KAAMyT,GACtCxlB,EAAOgkB,oBAAoB,OAAQ,KAAMwB,GACzC,MAAOzmB,MAVX,GAkBA,IAAI0mB,GAAgB,CAAC,aAAc,aAiBnC,SAASvwB,GAAG4uB,EAAM5rB,EAAMkO,GACtB,GAAIzN,MAAMC,QAAQV,GAChB,OAAOisB,GAAsBjvB,GAAI4uB,EAAM5rB,EAAMkO,GAG/C,IAAIxL,EAAO8oB,GAAQI,GAiDnB,GA9CKlpB,EAAKmpB,WACRnpB,EAAKmpB,SAAW,IAGbnpB,EAAKmpB,SAAS7rB,KACjB0C,EAAKmpB,SAAS7rB,GAAQ,IAGnBkO,EAAGsf,OACNtf,EAAGsf,KAAOpC,MAGZ1oB,EAAKmpB,SAAS7rB,GAAMkP,KAAKhB,GAEpBxL,EAAKqpB,aACRrpB,EAAKd,UAAW,EAEhBc,EAAKqpB,WAAa,SAAUpoB,EAAO8pB,GAEjC,IAAI/qB,EAAKd,SAAT,CAIA+B,EAAQwoB,GAASxoB,GAEjB,IAAIkoB,EAAWnpB,EAAKmpB,SAASloB,EAAM3D,MAEnC,GAAI6rB,EAIF,IAFA,IAAI6B,EAAe7B,EAAS9a,MAAM,GAEzB4c,EAAI,EAAGC,EAAIF,EAAa7gB,OAAQ8gB,EAAIC,EAAGD,IAAK,CACnD,GAAIhqB,EAAMspB,gCACR,MAEA,IACES,EAAaC,GAAG5S,KAAK6Q,EAAMjoB,EAAO8pB,GAClC,MAAO5mB,GACPic,EAAIoB,MAAMrd,QAQa,IAA/BnE,EAAKmpB,SAAS7rB,GAAM6M,OACtB,GAAI+e,EAAK/R,iBAAkB,CACzB,IAAIgU,GAAU,EAEVR,IAAoBE,GAActtB,QAAQD,IAAS,IACrD6tB,EAAU,CAAEC,SAAS,IAEvBlC,EAAK/R,iBAAiB7Z,EAAM0C,EAAKqpB,WAAY8B,QACpCjC,EAAKmC,aACdnC,EAAKmC,YAAY,KAAO/tB,EAAM0C,EAAKqpB,YAkBzC,SAASpR,GAAIiR,EAAM5rB,EAAMkO,GAEvB,GAAKud,GAAQG,GAAb,CAIA,IAAIlpB,EAAO8oB,GAAQI,GAGnB,GAAKlpB,EAAKmpB,SAAV,CAIA,GAAIprB,MAAMC,QAAQV,GAChB,OAAOisB,GAAsBtR,GAAKiR,EAAM5rB,EAAMkO,GAIhD,IAAI8f,EAAa,SAAoB1gB,EAAI2gB,GACvCvrB,EAAKmpB,SAASoC,GAAK,GACnBtC,GAAere,EAAI2gB,IAIrB,QAAa3L,IAATtiB,EAAJ,CASA,IAAI6rB,EAAWnpB,EAAKmpB,SAAS7rB,GAG7B,GAAK6rB,EAKL,GAAK3d,EAAL,CAMA,GAAIA,EAAGsf,KACL,IAAK,IAAII,EAAI,EAAGA,EAAI/B,EAAShf,OAAQ+gB,IAC/B/B,EAAS+B,GAAGJ,OAAStf,EAAGsf,MAC1B3B,EAASxe,OAAOugB,IAAK,GAK3BjC,GAAeC,EAAM5rB,QAbnBguB,EAAWpC,EAAM5rB,QAjBjB,IAAK,IAAIiuB,KAAKvrB,EAAKmpB,SACb/qB,OAAOoa,UAAUkJ,eAAerJ,KAAKrY,EAAKmpB,UAAY,GAAIoC,IAC5DD,EAAWpC,EAAMqC,KA+CzB,SAASrT,GAAQgR,EAAMjoB,EAAO8pB,GAI5B,IAAIS,EAAWzC,GAAQG,GAAQJ,GAAQI,GAAQ,GAC3C7F,EAAS6F,EAAK3C,YAAc2C,EAAKuC,cAqBrC,GAhBqB,kBAAVxqB,EACTA,EAAQ,CAAE3D,KAAM2D,EAAOoJ,OAAQ6e,GACrBjoB,EAAMoJ,SAChBpJ,EAAMoJ,OAAS6e,GAIjBjoB,EAAQwoB,GAASxoB,GAGbuqB,EAASnC,YACXmC,EAASnC,WAAWhR,KAAK6Q,EAAMjoB,EAAO8pB,GAKpC1H,IAAWpiB,EAAM2oB,yBAA4C,IAAlB3oB,EAAMyqB,QACnDxT,GAAQG,KAAK,KAAMgL,EAAQpiB,EAAO8pB,QAG7B,IAAK1H,IAAWpiB,EAAMmpB,iBAAkB,CAC7C,IAAIuB,EAAa7C,GAAQ7nB,EAAMoJ,QAG3BpJ,EAAMoJ,OAAOpJ,EAAM3D,QAErBquB,EAAWzsB,UAAW,EAEkB,oBAA7B+B,EAAMoJ,OAAOpJ,EAAM3D,OAC5B2D,EAAMoJ,OAAOpJ,EAAM3D,QAGrBquB,EAAWzsB,UAAW,GAK1B,OAAQ+B,EAAMmpB,iBAehB,SAASwB,GAAI1C,EAAM5rB,EAAMkO,GACvB,GAAIzN,MAAMC,QAAQV,GAChB,OAAOisB,GAAsBqC,GAAK1C,EAAM5rB,EAAMkO,GAEhD,IAAIqgB,EAAO,SAASA,IAClB5T,GAAIiR,EAAM5rB,EAAMuuB,GAChBrgB,EAAG8M,MAAM1e,KAAM0J,YAIjBuoB,EAAKf,KAAOtf,EAAGsf,KAAOtf,EAAGsf,MAAQpC,KACjCpuB,GAAG4uB,EAAM5rB,EAAMuuB,GAGjB,IAAIC,IAAU1tB,OAAO+f,QAAU/f,QAAQ,CACtCqrB,SAAUA,GACVnvB,GAAIA,GACJ2d,IAAKA,GACLC,QAASA,GACT0T,IAAKA,KASFG,IAAgB,EAChBC,QAAY,EAKZC,GAAY,WAGd,GAAKpO,OAA4C,IAAhCmO,GAAUb,QAAQc,UAAnC,CAWA,IAAIC,EAAO1mB,EAASmO,qBAAqB,SACrCwY,EAAS3mB,EAASmO,qBAAqB,SACvCyY,EAAO5mB,EAASmO,qBAAqB,YACrC0Y,EAAW,GAEf,GAAIH,GAAQA,EAAK/hB,OAAS,EACxB,IAAK,IAAIpG,EAAI,EAAGI,EAAI+nB,EAAK/hB,OAAQpG,EAAII,EAAGJ,IACtCsoB,EAAS7f,KAAK0f,EAAKnoB,IAIvB,GAAIooB,GAAUA,EAAOhiB,OAAS,EAC5B,IAAK,IAAImiB,EAAK,EAAG9xB,EAAK2xB,EAAOhiB,OAAQmiB,EAAK9xB,EAAI8xB,IAC5CD,EAAS7f,KAAK2f,EAAOG,IAIzB,GAAIF,GAAQA,EAAKjiB,OAAS,EACxB,IAAK,IAAIoiB,EAAM,EAAGC,EAAMJ,EAAKjiB,OAAQoiB,EAAMC,EAAKD,IAC9CF,EAAS7f,KAAK4f,EAAKG,IAKvB,GAAIF,GAAYA,EAASliB,OAAS,EAEhC,IAAK,IAAIsiB,EAAM,EAAGC,EAAML,EAASliB,OAAQsiB,EAAMC,EAAKD,IAAO,CACzD,IAAIE,EAAUN,EAASI,GAKvB,IAAIE,IAAWA,EAAQ1G,aAehB,CACL2G,GAAiB,GACjB,MAdA,QAAuBhN,IAAnB+M,EAAQE,OAAsB,CAChC,IAAI1B,EAAUwB,EAAQ1G,aAAa,cAInB,OAAZkF,GAEFa,GAAUW,SAYRZ,IACVa,GAAiB,KAcrB,SAASA,GAAiBpX,EAAMsX,GAC1BA,IACFd,GAAYc,GAGd1nB,EAAOwB,WAAWqlB,GAAWzW,GAG3BqI,MAAoC,aAAxBrY,EAASunB,WACvBhB,IAAgB,EAOhBH,GAAIxmB,EAAQ,QAAQ,WAClB2mB,IAAgB,KAiBpB,IAAIiB,GAAqB,SAA4B/J,GACnD,IAAI5nB,EAAQmK,EAASyY,cAAc,SAInC,OAFA5iB,EAAM4nB,UAAYA,EAEX5nB,GAYL4xB,GAAiB,SAAwBriB,EAAIrG,GAC3CqG,EAAGsiB,WACLtiB,EAAGsiB,WAAWC,QAAU5oB,EAExBqG,EAAGqZ,YAAc1f,GAwBjBuE,GAAO,SAAc2a,EAASjY,EAAI4hB,GAE/B5hB,EAAGsf,OACNtf,EAAGsf,KAAOpC,MAIZ,IAAI2E,EAAQ,WACV,OAAO7hB,EAAG8M,MAAMmL,EAASngB,YAW3B,OAFA+pB,EAAMvC,KAAOsC,EAAMA,EAAM,IAAM5hB,EAAGsf,KAAOtf,EAAGsf,KAErCuC,GAeLC,GAAW,SAAkB9hB,EAAIgK,GACnC,IAAIvF,EAAON,KAAKC,MAEZ2d,EAAY,WACd,IAAI3d,EAAMD,KAAKC,MAEXA,EAAMK,GAAQuF,IAChBhK,EAAG8M,WAAMsH,EAAWtc,WACpB2M,EAAOL,IAIX,OAAO2d,GA4BLC,GAAW,SAAkB3B,EAAMrW,EAAMD,GAC3C,IAAIkO,EAAUngB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK8B,EAE9EqoB,OAAU,EAEVC,EAAS,WACXjK,EAAQkK,aAAaF,GACrBA,EAAU,MAIRG,EAAY,WACd,IAAIzO,EAAOvlB,KACPwe,EAAO9U,UAEPuqB,EAAS,WACXJ,EAAU,KACVI,EAAS,KACJtY,GACHsW,EAAKvT,MAAM6G,EAAM/G,KAIhBqV,GAAWlY,GACdsW,EAAKvT,MAAM6G,EAAM/G,GAGnBqL,EAAQkK,aAAaF,GACrBA,EAAUhK,EAAQ7c,WAAWinB,EAAQrY,IAMvC,OAFAoY,EAAUF,OAASA,EAEZE,GAcLE,GAAc,aA+BlBA,GAAYtV,UAAUuV,eAAiB,GAYvCD,GAAYtV,UAAUle,GAAK,SAAUgD,EAAMkO,GAGzC,IAAIwiB,EAAMp0B,KAAKud,iBAEfvd,KAAKud,iBAAmB,aACxB7c,GAAGV,KAAM0D,EAAMkO,GACf5R,KAAKud,iBAAmB6W,GAU1BF,GAAYtV,UAAUrB,iBAAmB2W,GAAYtV,UAAUle,GAa/DwzB,GAAYtV,UAAUP,IAAM,SAAU3a,EAAMkO,GAC1CyM,GAAIre,KAAM0D,EAAMkO,IAUlBsiB,GAAYtV,UAAU4Q,oBAAsB0E,GAAYtV,UAAUP,IAalE6V,GAAYtV,UAAUoT,IAAM,SAAUtuB,EAAMkO,GAG1C,IAAIwiB,EAAMp0B,KAAKud,iBAEfvd,KAAKud,iBAAmB,aACxByU,GAAIhyB,KAAM0D,EAAMkO,GAChB5R,KAAKud,iBAAmB6W,GAmB1BF,GAAYtV,UAAUN,QAAU,SAAUjX,GACxC,IAAI3D,EAAO2D,EAAM3D,MAAQ2D,EAEJ,kBAAVA,IACTA,EAAQ,CAAE3D,KAAMA,IAElB2D,EAAQwoB,GAASxoB,GAEbrH,KAAKm0B,eAAezwB,IAAS1D,KAAK,KAAO0D,IAC3C1D,KAAK,KAAO0D,GAAM2D,GAGpBiX,GAAQte,KAAMqH,IAUhB6sB,GAAYtV,UAAUyV,cAAgBH,GAAYtV,UAAUN,QAe5D,IAAIgW,GAAY,SAAmB3U,GACjC,OAAOA,aAAkBuU,MAAiBvU,EAAO4U,aAAe,CAAC,KAAM,MAAO,MAAO,WAAWC,OAAM,SAAU5H,GAC9G,MAA4B,oBAAdjN,EAAOiN,OAcrB6H,GAAmB,SAA0B/wB,GAC/C,MAGkB,kBAATA,GAAqB,KAAKkJ,KAAKlJ,IAASS,MAAMC,QAAQV,MAAWA,EAAK6M,QAc7EmkB,GAAiB,SAAwBjkB,GAC3C,IAAKA,EAAOkkB,WAAaL,GAAU7jB,GACjC,MAAM,IAAIkR,MAAM,0DAchBiT,GAAoB,SAA2BlxB,GACjD,IAAK+wB,GAAiB/wB,GACpB,MAAM,IAAIie,MAAM,6DAchBkT,GAAmB,SAA0B1W,GAC/C,GAAwB,oBAAbA,EACT,MAAM,IAAIwD,MAAM,0CAmBhBmT,GAAsB,SAA6BvP,EAAM/G,GAI3D,IAAIuW,EAAkBvW,EAAKjO,OAAS,GAAKiO,EAAK,KAAO+G,GAAQ/G,EAAK,KAAO+G,EAAKgP,YAC1E9jB,OAAS,EACT/M,OAAO,EACPya,OAAW,EAyBf,OAvBI4W,GACFtkB,EAAS8U,EAAKgP,YAIV/V,EAAKjO,QAAU,GACjBiO,EAAKuB,QAGPrc,EAAO8a,EAAK,GACZL,EAAWK,EAAK,KAEhB/N,EAAS+N,EAAK,GACd9a,EAAO8a,EAAK,GACZL,EAAWK,EAAK,IAGlBkW,GAAejkB,GACfmkB,GAAkBlxB,GAClBmxB,GAAiB1W,GAEjBA,EAAWjP,GAAKqW,EAAMpH,GAEf,CAAE4W,gBAAiBA,EAAiBtkB,OAAQA,EAAQ/M,KAAMA,EAAMya,SAAUA,IAoB/E6W,GAAS,SAAgBvkB,EAAQkZ,EAAQjmB,EAAMya,GACjDuW,GAAejkB,GAEXA,EAAOkkB,SACTzC,GAAOvI,GAAQlZ,EAAQ/M,EAAMya,GAE7B1N,EAAOkZ,GAAQjmB,EAAMya,IAUrB8W,GAAe,CAyBjBv0B,GAAI,WAGF,IAFA,IAAI8I,EAAQxJ,KAEHkmB,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB,IAAI8O,EAAuBJ,GAAoB90B,KAAMwe,GACjDuW,EAAkBG,EAAqBH,gBACvCtkB,EAASykB,EAAqBzkB,OAC9B/M,EAAOwxB,EAAqBxxB,KAC5Bya,EAAW+W,EAAqB/W,SAKpC,GAHA6W,GAAOvkB,EAAQ,KAAM/M,EAAMya,IAGtB4W,EAAiB,CAGpB,IAAII,EAA0B,WAC5B,OAAO3rB,EAAM6U,IAAI5N,EAAQ/M,EAAMya,IAKjCgX,EAAwBjE,KAAO/S,EAAS+S,KAKxC,IAAIkE,EAA+B,WACjC,OAAO5rB,EAAM6U,IAAI,UAAW8W,IAK9BC,EAA6BlE,KAAO/S,EAAS+S,KAE7C8D,GAAOh1B,KAAM,KAAM,UAAWm1B,GAC9BH,GAAOvkB,EAAQ,KAAM,UAAW2kB,KA4BpCpD,IAAK,WAGH,IAFA,IAAIqD,EAASr1B,KAEJqoB,EAAQ3e,UAAU6G,OAAQiO,EAAOra,MAAMkkB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChF9J,EAAK8J,GAAS5e,UAAU4e,GAG1B,IAAIgN,EAAwBR,GAAoB90B,KAAMwe,GAClDuW,EAAkBO,EAAsBP,gBACxCtkB,EAAS6kB,EAAsB7kB,OAC/B/M,EAAO4xB,EAAsB5xB,KAC7Bya,EAAWmX,EAAsBnX,SAKrC,GAAI4W,EACFC,GAAOvkB,EAAQ,MAAO/M,EAAMya,OAGvB,CACL,IAAIjX,EAAU,SAASA,IACrB,IAAK,IAAIqhB,EAAQ7e,UAAU6G,OAAQglB,EAAQpxB,MAAMokB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACjF+M,EAAM/M,GAAS9e,UAAU8e,GAG3B6M,EAAOhX,IAAI5N,EAAQ/M,EAAMwD,GACzBiX,EAASO,MAAM,KAAM6W,IAKvBruB,EAAQgqB,KAAO/S,EAAS+S,KACxB8D,GAAOvkB,EAAQ,MAAO/M,EAAMwD,KAwBhCmX,IAAK,SAAgBmX,EAAcC,EAAgBtX,GAGjD,IAAKqX,GAAgBf,GAAiBe,GACpCnX,GAAIre,KAAKu0B,YAAaiB,EAAcC,OAG/B,CACL,IAAIhlB,EAAS+kB,EACT9xB,EAAO+xB,EAGXf,GAAejkB,GACfmkB,GAAkBlxB,GAClBmxB,GAAiB1W,GAGjBA,EAAWjP,GAAKlP,KAAMme,GAItBne,KAAKqe,IAAI,UAAWF,GAEhB1N,EAAOkkB,UACTtW,GAAI5N,EAAQ/M,EAAMya,GAClBE,GAAI5N,EAAQ,UAAW0N,IACdmW,GAAU7jB,KACnBA,EAAO4N,IAAI3a,EAAMya,GACjB1N,EAAO4N,IAAI,UAAWF,MAkB5BG,QAAS,SAAoBjX,EAAO8pB,GAClC,OAAO7S,GAAQte,KAAKu0B,YAAaltB,EAAO8pB,KAqB5C,SAASuE,GAAQjlB,GACf,IAAI8gB,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9EisB,EAAcpE,EAAQoE,YAI1B,GAAIA,EAAa,CACf,IAAKllB,EAAOklB,GAAahB,SACvB,MAAM,IAAIhT,MAAM,oBAAsBgU,EAAc,mCAEtDllB,EAAO8jB,YAAc9jB,EAAOklB,QAE5BllB,EAAO8jB,YAAczK,GAAS,OAAQ,CAAET,UAAW,kBAarD,OAVA9N,EAAO9K,EAAQwkB,IAGfxkB,EAAO/P,GAAG,WAAW,WACnB+P,EAAO4N,MACP7S,EAAOwB,YAAW,WAChByD,EAAO8jB,YAAc,OACpB,MAGE9jB,EAaT,IAAImlB,GAAgB,CAQlBzc,MAAO,GAeP0c,SAAU,SAAkBC,GAC1B,IAAItsB,EAAQxJ,KAGgB,oBAAjB81B,IACTA,EAAeA,KAGjB,IAAIC,OAAU,EAuCd,OArCAlQ,EAAKiQ,GAAc,SAAUxzB,EAAOY,GAI9BsG,EAAM2P,MAAMjW,KAASZ,IACvByzB,EAAUA,GAAW,GACrBA,EAAQ7yB,GAAO,CACbqO,KAAM/H,EAAM2P,MAAMjW,GAClBqB,GAAIjC,IAIRkH,EAAM2P,MAAMjW,GAAOZ,KAMjByzB,GAAWzB,GAAUt0B,OAavBA,KAAKse,QAAQ,CACXyX,QAASA,EACTryB,KAAM,iBAIHqyB,IAsBX,SAASC,GAASvlB,EAAQwlB,GAYxB,OAXA1a,EAAO9K,EAAQmlB,IAIfnlB,EAAO0I,MAAQoC,EAAO,GAAI9K,EAAO0I,MAAO8c,GAGC,oBAA9BxlB,EAAOylB,oBAAqC5B,GAAU7jB,IAC/DA,EAAO/P,GAAG,eAAgB+P,EAAOylB,oBAG5BzlB,EAiBT,SAAS0lB,GAAYC,GACnB,MAAsB,kBAAXA,EACFA,EAGFA,EAAOC,OAAO,GAAGtP,cAAgBqP,EAAO3hB,MAAM,GAevD,SAAS6hB,GAAgBC,EAAMC,GAC7B,OAAOL,GAAYI,KAAUJ,GAAYK,GAiB3C,SAASC,KAGP,IAFA,IAAI3e,EAAS,GAEJoO,EAAOxc,UAAU6G,OAAQ4V,EAAUhiB,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC9ED,EAAQC,GAAQ1c,UAAU0c,GAsB5B,OAnBAD,EAAQzhB,SAAQ,SAAU2hB,GACnBA,GAILR,EAAKQ,GAAQ,SAAU/jB,EAAOY,GACvBojB,EAAQhkB,IAKRgkB,EAAQxO,EAAO5U,MAClB4U,EAAO5U,GAAO,IAGhB4U,EAAO5U,GAAOuzB,GAAa3e,EAAO5U,GAAMZ,IARtCwV,EAAO5U,GAAOZ,QAYbwV,EAiBT,IAAI4e,GAAY,WA2Bd,SAASA,EAAUzD,EAAQ1B,EAASoF,GAqBlC,GApBA/R,EAAe5kB,KAAM02B,IAIhBzD,GAAUjzB,KAAKyc,KAClBzc,KAAK42B,QAAU3D,EAASjzB,KAExBA,KAAK42B,QAAU3D,EAIjBjzB,KAAK62B,SAAWJ,GAAa,GAAIz2B,KAAK62B,UAGtCtF,EAAUvxB,KAAK62B,SAAWJ,GAAaz2B,KAAK62B,SAAUtF,GAGtDvxB,KAAK82B,IAAMvF,EAAQpuB,IAAMouB,EAAQvgB,IAAMugB,EAAQvgB,GAAG7N,IAG7CnD,KAAK82B,IAAK,CAEb,IAAI3zB,EAAK8vB,GAAUA,EAAO9vB,IAAM8vB,EAAO9vB,MAAQ,YAE/CnD,KAAK82B,IAAM3zB,EAAK,cAAgB2rB,KAGlC9uB,KAAK+2B,MAAQxF,EAAQnvB,MAAQ,KAGzBmvB,EAAQvgB,GACVhR,KAAKg3B,IAAMzF,EAAQvgB,IACW,IAArBugB,EAAQzH,WACjB9pB,KAAKg3B,IAAMh3B,KAAK8pB,aAIM,IAApByH,EAAQmE,SAEVA,GAAQ11B,KAAM,CAAE21B,YAAa31B,KAAKg3B,IAAM,MAAQ,OAElDhB,GAASh2B,KAAMA,KAAK2kB,YAAYsR,cAEhCj2B,KAAKi3B,UAAY,GACjBj3B,KAAKk3B,YAAc,GACnBl3B,KAAKm3B,gBAAkB,IAGM,IAAzB5F,EAAQ6F,cACVp3B,KAAKo3B,eAGPp3B,KAAK22B,MAAMA,IAIyB,IAAhCpF,EAAQ8F,qBACVr3B,KAAKs3B,sBA+gDT,OApgDAZ,EAAU9X,UAAUD,QAAU,WAe5B,GAHA3e,KAAKse,QAAQ,CAAE5a,KAAM,UAAWouB,SAAS,IAGrC9xB,KAAKi3B,UACP,IAAK,IAAI9sB,EAAInK,KAAKi3B,UAAU1mB,OAAS,EAAGpG,GAAK,EAAGA,IAC1CnK,KAAKi3B,UAAU9sB,GAAGwU,SACpB3e,KAAKi3B,UAAU9sB,GAAGwU,UAMxB3e,KAAKi3B,UAAY,KACjBj3B,KAAKk3B,YAAc,KACnBl3B,KAAKm3B,gBAAkB,KAEnBn3B,KAAKg3B,MAEHh3B,KAAKg3B,IAAIrK,YACX3sB,KAAKg3B,IAAIrK,WAAWuB,YAAYluB,KAAKg3B,KAGvC5H,GAAWpvB,KAAKg3B,KAChBh3B,KAAKg3B,IAAM,MAIbh3B,KAAK42B,QAAU,MAWjBF,EAAU9X,UAAUqU,OAAS,WAC3B,OAAOjzB,KAAK42B,SAkBdF,EAAU9X,UAAU2S,QAAU,SAAiBrtB,GAG7C,OAFAsiB,EAAImB,KAAK,kFAEJzjB,GAILlE,KAAK62B,SAAWJ,GAAaz2B,KAAK62B,SAAU3yB,GACrClE,KAAK62B,UAJH72B,KAAK62B,UAehBH,EAAU9X,UAAU5N,GAAK,WACvB,OAAOhR,KAAKg3B,KAoBdN,EAAU9X,UAAUkL,SAAW,SAAqBC,EAASC,EAAYC,GACvE,OAAOH,GAASC,EAASC,EAAYC,IA2CvCyM,EAAU9X,UAAU2Y,SAAW,SAAkBnB,EAAQoB,GACvD,IAAIC,EAAe/tB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK0sB,EAEnFhgB,EAAOpW,KAAK42B,QAAQc,UAAY13B,KAAK42B,QAAQc,WAC7CC,EAAY33B,KAAK42B,QAAQe,WAAa33B,KAAK42B,QAAQe,YACnDD,EAAWC,GAAaA,EAAUvhB,GAClCwhB,EAAcxhB,GAAQA,EAAK0J,MAAM,KAAK,GACtC+X,EAAcF,GAAaA,EAAUC,GAErCE,EAAkBL,EAqBtB,OAnBIC,GAAYA,EAAStB,GACvB0B,EAAkBJ,EAAStB,GAClByB,GAAeA,EAAYzB,KACpC0B,EAAkBD,EAAYzB,IAG5BoB,IACFM,EAAkBA,EAAgB/qB,QAAQ,cAAc,SAAUkW,EAAO5a,GACvE,IAAI/F,EAAQk1B,EAAOnvB,EAAQ,GACvB0vB,EAAMz1B,EAMV,MAJqB,qBAAVA,IACTy1B,EAAM9U,GAGD8U,MAIJD,GAYTpB,EAAU9X,UAAUoZ,UAAY,WAC9B,OAAOh4B,KAAKi4B,YAAcj4B,KAAKg3B,KAWjCN,EAAU9X,UAAUzb,GAAK,WACvB,OAAOnD,KAAK82B,KAYdJ,EAAU9X,UAAUxc,KAAO,WACzB,OAAOpC,KAAK+2B,OAWdL,EAAU9X,UAAU/N,SAAW,WAC7B,OAAO7Q,KAAKi3B,WAcdP,EAAU9X,UAAUsZ,aAAe,SAAsB/0B,GACvD,OAAOnD,KAAKk3B,YAAY/zB,IAc1BuzB,EAAU9X,UAAUuZ,SAAW,SAAkB/1B,GAC/C,GAAKA,EAML,OAFAA,EAAO+zB,GAAY/zB,GAEZpC,KAAKm3B,gBAAgB/0B,IAuB9Bs0B,EAAU9X,UAAUwZ,SAAW,SAAkBzN,GAC/C,IAAI4G,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9ErB,EAAQqB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK1J,KAAKi3B,UAAU1mB,OAE3FtD,OAAY,EACZorB,OAAgB,EAGpB,GAAqB,kBAAV1N,EAAoB,CAC7B0N,EAAgBlC,GAAYxL,GAE5B,IAAI2N,EAAqB/G,EAAQgH,gBAAkBF,EAGnD9G,EAAQnvB,KAAOi2B,EAIf,IAAIG,EAAiB9B,EAAU+B,aAAaH,GAE5C,IAAKE,EACH,MAAM,IAAI7W,MAAM,aAAe2W,EAAqB,mBAOtD,GAA8B,oBAAnBE,EACT,OAAO,KAGTvrB,EAAY,IAAIurB,EAAex4B,KAAK42B,SAAW52B,KAAMuxB,QAIrDtkB,EAAY0d,EAmBd,GAhBA3qB,KAAKi3B,UAAUlmB,OAAO1I,EAAO,EAAG4E,GAEJ,oBAAjBA,EAAU9J,KACnBnD,KAAKk3B,YAAYjqB,EAAU9J,MAAQ8J,GAKrCorB,EAAgBA,GAAiBprB,EAAU7K,MAAQ+zB,GAAYlpB,EAAU7K,QAErEi2B,IACFr4B,KAAKm3B,gBAAgBkB,GAAiBprB,GAKZ,oBAAjBA,EAAU+D,IAAqB/D,EAAU+D,KAAM,CACxD,IAAI0nB,EAAa14B,KAAKg4B,YAAYnnB,SAC9B8nB,EAAUD,EAAWrwB,IAAU,KAEnCrI,KAAKg4B,YAAYnN,aAAa5d,EAAU+D,KAAM2nB,GAIhD,OAAO1rB,GAYTypB,EAAU9X,UAAUsP,YAAc,SAAqBjhB,GAKrD,GAJyB,kBAAdA,IACTA,EAAYjN,KAAKm4B,SAASlrB,IAGvBA,GAAcjN,KAAKi3B,UAAxB,CAMA,IAFA,IAAI2B,GAAa,EAERzuB,EAAInK,KAAKi3B,UAAU1mB,OAAS,EAAGpG,GAAK,EAAGA,IAC9C,GAAInK,KAAKi3B,UAAU9sB,KAAO8C,EAAW,CACnC2rB,GAAa,EACb54B,KAAKi3B,UAAUlmB,OAAO5G,EAAG,GACzB,MAIJ,GAAKyuB,EAAL,CAIA54B,KAAKk3B,YAAYjqB,EAAU9J,MAAQ,KACnCnD,KAAKm3B,gBAAgBlqB,EAAU7K,QAAU,KAEzC,IAAIy2B,EAAS5rB,EAAU+D,KAEnB6nB,GAAUA,EAAOlM,aAAe3sB,KAAKg4B,aACvCh4B,KAAKg4B,YAAY9J,YAAYjhB,EAAU+D,SAS3C0lB,EAAU9X,UAAUwY,aAAe,WACjC,IAAI5tB,EAAQxJ,KAER6Q,EAAW7Q,KAAK62B,SAAShmB,SAE7B,GAAIA,EAAU,CAEZ,IAAIioB,EAAgB94B,KAAK62B,SAErBkC,EAAY,SAAmBpO,GACjC,IAAIvoB,EAAOuoB,EAAMvoB,KACb4uB,EAAOrG,EAAMqG,KAWjB,QAN4BhL,IAAxB8S,EAAc12B,KAChB4uB,EAAO8H,EAAc12B,KAKV,IAAT4uB,EAAJ,EAMa,IAATA,IACFA,EAAO,IAMTA,EAAKgI,cAAgBxvB,EAAMqtB,SAASmC,cAMpC,IAAIC,EAAWzvB,EAAM4uB,SAASh2B,EAAM4uB,GAEhCiI,IACFzvB,EAAMpH,GAAQ62B,KAKdC,OAAkB,EAClBC,EAAOzC,EAAU+B,aAAa,QAGhCS,EADE/0B,MAAMC,QAAQyM,GACEA,EAEArM,OAAOC,KAAKoM,GAGhCqoB,EAGC9a,OAAO5Z,OAAOC,KAAKzE,KAAK62B,UAAU9O,QAAO,SAAU4C,GAClD,OAAQuO,EAAgBE,MAAK,SAAUC,GACrC,MAAsB,kBAAXA,EACF1O,IAAU0O,EAEZ1O,IAAU0O,EAAOj3B,YAExBiC,KAAI,SAAUsmB,GAChB,IAAIvoB,OAAO,EACP4uB,OAAO,EAUX,MARqB,kBAAVrG,GACTvoB,EAAOuoB,EACPqG,EAAOngB,EAASzO,IAASoH,EAAMqtB,SAASz0B,IAAS,KAEjDA,EAAOuoB,EAAMvoB,KACb4uB,EAAOrG,GAGF,CAAEvoB,KAAMA,EAAM4uB,KAAMA,MAC1BjJ,QAAO,SAAU4C,GAIlB,IAAIe,EAAIgL,EAAU+B,aAAa9N,EAAMqG,KAAKuH,gBAAkBpC,GAAYxL,EAAMvoB,OAE9E,OAAOspB,IAAMyN,EAAKG,OAAO5N,MACxBhnB,QAAQq0B,KAcfrC,EAAU9X,UAAU2a,cAAgB,WAGlC,MAAO,IAaT7C,EAAU9X,UAAU+X,MAAQ,SAAe/kB,GACzC,IAAI4nB,EAAO9vB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,IAAmBA,UAAU,GAE1E,GAAKkI,EAIL,OAAK5R,KAAKy5B,cAMND,EACF5nB,EAAG6M,KAAKze,MAGRA,KAAKgN,WAAW4E,EAAI,KATpB5R,KAAK05B,YAAc15B,KAAK05B,aAAe,QACvC15B,KAAK05B,YAAY9mB,KAAKhB,KAmB1B8kB,EAAU9X,UAAU+a,aAAe,WACjC35B,KAAKy5B,UAAW,EAGhBz5B,KAAKgN,YAAW,WACd,IAAI4sB,EAAa55B,KAAK05B,YAGtB15B,KAAK05B,YAAc,GAEfE,GAAcA,EAAWrpB,OAAS,GACpCqpB,EAAWl1B,SAAQ,SAAUkN,GAC3BA,EAAG6M,KAAKze,QACPA,MAULA,KAAKse,QAAQ,WACZ,IAuBLoY,EAAU9X,UAAU8P,EAAI,SAAc9E,EAAUC,GAC9C,OAAO6E,GAAE9E,EAAUC,GAAW7pB,KAAKg4B,cAuBrCtB,EAAU9X,UAAU+P,GAAK,SAAe/E,EAAUC,GAChD,OAAO8E,GAAG/E,EAAUC,GAAW7pB,KAAKg4B,cAetCtB,EAAU9X,UAAUmM,SAAW,SAAqBE,GAClD,OAAOF,GAAS/qB,KAAKg3B,IAAK/L,IAW5ByL,EAAU9X,UAAUwM,SAAW,SAAqBC,GAClDD,GAASprB,KAAKg3B,IAAK3L,IAWrBqL,EAAU9X,UAAU2M,YAAc,SAAwBC,GACxDD,GAAYvrB,KAAKg3B,IAAKxL,IAgBxBkL,EAAU9X,UAAU+M,YAAc,SAAwBC,EAAeC,GACvEF,GAAY3rB,KAAKg3B,IAAKpL,EAAeC,IASvC6K,EAAU9X,UAAUib,KAAO,WACzB75B,KAAKurB,YAAY,eASnBmL,EAAU9X,UAAUkb,KAAO,WACzB95B,KAAKorB,SAAS,eAWhBsL,EAAU9X,UAAUmb,YAAc,WAChC/5B,KAAKorB,SAAS,qBAWhBsL,EAAU9X,UAAUob,cAAgB,WAClCh6B,KAAKurB,YAAY,qBAoBnBmL,EAAU9X,UAAUyN,aAAe,SAAyBC,GAC1D,OAAOD,GAAarsB,KAAKg3B,IAAK1K,IAgBhCoK,EAAU9X,UAAU5B,aAAe,SAAyBsP,EAAWhqB,GACrE0a,GAAahd,KAAKg3B,IAAK1K,EAAWhqB,IAapCo0B,EAAU9X,UAAUqN,gBAAkB,SAA4BK,GAChEL,GAAgBjsB,KAAKg3B,IAAK1K,IAmB5BoK,EAAU9X,UAAUlY,MAAQ,SAAeuzB,EAAKC,GAC9C,OAAOl6B,KAAKm6B,UAAU,QAASF,EAAKC,IAmBtCxD,EAAU9X,UAAUjd,OAAS,SAAgBs4B,EAAKC,GAChD,OAAOl6B,KAAKm6B,UAAU,SAAUF,EAAKC,IAcvCxD,EAAU9X,UAAUwb,WAAa,SAAoB1zB,EAAO/E,GAE1D3B,KAAK0G,MAAMA,GAAO,GAClB1G,KAAK2B,OAAOA,IAiCd+0B,EAAU9X,UAAUub,UAAY,SAAmBE,EAAeJ,EAAKC,GACrE,QAAYlU,IAARiU,EA0BF,OAxBY,OAARA,GAAgBA,IAAQA,IAC1BA,EAAM,IAIyB,KAA5B,GAAKA,GAAKt2B,QAAQ,OAA6C,KAA7B,GAAKs2B,GAAKt2B,QAAQ,MACvD3D,KAAKg3B,IAAIv1B,MAAM44B,GAAiBJ,EAEhCj6B,KAAKg3B,IAAIv1B,MAAM44B,GADE,SAARJ,EACuB,GAEAA,EAAM,UAInCC,GAOHl6B,KAAKse,QAAQ,oBAQjB,IAAKte,KAAKg3B,IACR,OAAO,EAIT,IAAI5M,EAAMpqB,KAAKg3B,IAAIv1B,MAAM44B,GACrBC,EAAUlQ,EAAIzmB,QAAQ,MAE1B,OAAiB,IAAb22B,EAEKC,SAASnQ,EAAI3V,MAAM,EAAG6lB,GAAU,IAMlCC,SAASv6B,KAAKg3B,IAAI,SAAWb,GAAYkE,IAAiB,KAiBnE3D,EAAU9X,UAAU4b,iBAAmB,SAA0BH,GAC/D,IAAII,EAAwB,EAE5B,GAAsB,UAAlBJ,GAA+C,WAAlBA,EAC/B,MAAM,IAAI1Y,MAAM,uDAGlB,GAAuC,oBAA5BnW,EAAOqd,iBAAiC,CACjD,IAAIF,EAAgBnd,EAAOqd,iBAAiB7oB,KAAKg3B,KAEjDyD,EAAwB9R,EAAc+R,iBAAiBL,IAAkB1R,EAAc0R,GASzF,GALAI,EAAwB/X,WAAW+X,GAKL,IAA1BA,EAA6B,CAC/B,IAAIE,EAAO,SAAWxE,GAAYkE,GAElCI,EAAwBz6B,KAAKg3B,IAAI2D,GAGnC,OAAOF,GA2BT/D,EAAU9X,UAAUgc,kBAAoB,WACtC,MAAO,CACLl0B,MAAO1G,KAAKw6B,iBAAiB,SAC7B74B,OAAQ3B,KAAKw6B,iBAAiB,YAclC9D,EAAU9X,UAAUic,aAAe,WACjC,OAAO76B,KAAKw6B,iBAAiB,UAa/B9D,EAAU9X,UAAUkc,cAAgB,WAClC,OAAO96B,KAAKw6B,iBAAiB,WAQ/B9D,EAAU9X,UAAU4N,MAAQ,WAC1BxsB,KAAKg3B,IAAIxK,SAQXkK,EAAU9X,UAAUmc,KAAO,WACzB/6B,KAAKg3B,IAAI+D,QAkBXrE,EAAU9X,UAAUoc,cAAgB,WAElC,IAAI1zB,EAAa,EACb2zB,EAAa,KAKbC,EAAuB,GAGvBC,EAAqB,IAErBC,OAAa,EAEjBp7B,KAAKU,GAAG,cAAc,SAAU2G,GAED,IAAzBA,EAAMg0B,QAAQ9qB,SAEhB0qB,EAAa,CACXpN,MAAOxmB,EAAMg0B,QAAQ,GAAGxN,MACxBD,MAAOvmB,EAAMg0B,QAAQ,GAAGzN,OAG1BtmB,GAAa,IAAIyO,MAAOkZ,UAExBmM,GAAa,MAIjBp7B,KAAKU,GAAG,aAAa,SAAU2G,GAE7B,GAAIA,EAAMg0B,QAAQ9qB,OAAS,EACzB6qB,GAAa,OACR,GAAIH,EAAY,CAGrB,IAAIK,EAAQj0B,EAAMg0B,QAAQ,GAAGxN,MAAQoN,EAAWpN,MAC5C0N,EAAQl0B,EAAMg0B,QAAQ,GAAGzN,MAAQqN,EAAWrN,MAC5C4N,EAAgBryB,KAAKsyB,KAAKH,EAAQA,EAAQC,EAAQA,GAElDC,EAAgBN,IAClBE,GAAa,OAKnB,IAAIM,EAAQ,WACVN,GAAa,GAIfp7B,KAAKU,GAAG,aAAcg7B,GACtB17B,KAAKU,GAAG,cAAeg7B,GAIvB17B,KAAKU,GAAG,YAAY,SAAU2G,GAG5B,GAFA4zB,EAAa,MAEM,IAAfG,EAAqB,CAEvB,IAAIO,GAAY,IAAI5lB,MAAOkZ,UAAY3nB,EAGnCq0B,EAAYR,IAEd9zB,EAAM6oB,iBAONlwB,KAAKse,QAAQ,aAkCrBoY,EAAU9X,UAAU0Y,oBAAsB,WAExC,GAAKt3B,KAAKizB,UAAajzB,KAAKizB,SAAS2I,mBAArC,CAKA,IAAIC,EAAS3sB,GAAKlP,KAAKizB,SAAUjzB,KAAKizB,SAAS2I,oBAE3CE,OAAe,EAEnB97B,KAAKU,GAAG,cAAc,WACpBm7B,IAIA77B,KAAK+P,cAAc+rB,GAEnBA,EAAe97B,KAAK8P,YAAY+rB,EAAQ,QAG1C,IAAIE,EAAW,SAAkB10B,GAC/Bw0B,IAEA77B,KAAK+P,cAAc+rB,IAGrB97B,KAAKU,GAAG,YAAam7B,GACrB77B,KAAKU,GAAG,WAAYq7B,GACpB/7B,KAAKU,GAAG,cAAeq7B,KAsCzBrF,EAAU9X,UAAU5R,WAAa,SAAoB4E,EAAIiiB,GACvD,IAIImI,EAAWC,EAJX5G,EAASr1B,KAqBb,OAfA4R,EAAK1C,GAAKlP,KAAM4R,GAEhBoqB,EAAYxwB,EAAOwB,YAAW,WAC5BqoB,EAAOhX,IAAI,UAAW4d,GACtBrqB,MACCiiB,GAEHoI,EAAY,WACV,OAAO5G,EAAOtB,aAAaiI,IAG7BC,EAAU/K,KAAO,eAAiB8K,EAElCh8B,KAAKU,GAAG,UAAWu7B,GAEZD,GAoBTtF,EAAU9X,UAAUmV,aAAe,SAAsBiI,GACvDxwB,EAAOuoB,aAAaiI,GAEpB,IAAIC,EAAY,aAMhB,OAJAA,EAAU/K,KAAO,eAAiB8K,EAElCh8B,KAAKqe,IAAI,UAAW4d,GAEbD,GAyBTtF,EAAU9X,UAAU9O,YAAc,SAAqB8B,EAAIsqB,GACzD,IAAIC,EAASn8B,KAEb4R,EAAK1C,GAAKlP,KAAM4R,GAEhB,IAAI/B,EAAarE,EAAOsE,YAAY8B,EAAIsqB,GAEpCD,EAAY,WACd,OAAOE,EAAOpsB,cAAcF,IAO9B,OAJAosB,EAAU/K,KAAO,gBAAkBrhB,EAEnC7P,KAAKU,GAAG,UAAWu7B,GAEZpsB,GAoBT6mB,EAAU9X,UAAU7O,cAAgB,SAAuBF,GACzDrE,EAAOuE,cAAcF,GAErB,IAAIosB,EAAY,aAMhB,OAJAA,EAAU/K,KAAO,gBAAkBrhB,EAEnC7P,KAAKqe,IAAI,UAAW4d,GAEbpsB,GA8BT6mB,EAAU9X,UAAUtP,sBAAwB,SAA+BsC,GACzE,IAIIzO,EAAI84B,EAJJG,EAASp8B,KAMb,OAAIA,KAAKq8B,cACPzqB,EAAK1C,GAAKlP,KAAM4R,GAEhBzO,EAAKqI,EAAO8D,uBAAsB,WAChC8sB,EAAO/d,IAAI,UAAW4d,GACtBrqB,OAGFqqB,EAAY,WACV,OAAOG,EAAO1sB,qBAAqBvM,IAGrC84B,EAAU/K,KAAO,WAAa/tB,EAC9BnD,KAAKU,GAAG,UAAWu7B,GAEZ94B,GAIFnD,KAAKgN,WAAW4E,EAAI,IAAO,KAqBpC8kB,EAAU9X,UAAUlP,qBAAuB,SAA8BvM,GACvE,GAAInD,KAAKq8B,aAAc,CACrB7wB,EAAOkE,qBAAqBvM,GAE5B,IAAI84B,EAAY,aAMhB,OAJAA,EAAU/K,KAAO,WAAa/tB,EAE9BnD,KAAKqe,IAAI,UAAW4d,GAEb94B,EAIT,OAAOnD,KAAK+zB,aAAa5wB,IAwB3BuzB,EAAU4F,kBAAoB,SAA2Bl6B,EAAMm6B,GAC7D,GAAoB,kBAATn6B,IAAsBA,EAC/B,MAAM,IAAIuf,MAAM,4BAA8Bvf,EAAO,kCAGvD,IAAI+2B,EAAOzC,EAAU+B,aAAa,QAG9Ba,EAASH,GAAQA,EAAKG,OAAOiD,GAC7BC,EAAS9F,IAAc6F,GAAuB7F,EAAU9X,UAAU6d,cAAcF,EAAoB3d,WAExG,GAAI0a,IAAWkD,EAAQ,CACrB,IAAIE,OAAS,EAQb,MALEA,EADEpD,EACO,qDAEA,+BAGL,IAAI3X,MAAM,uBAAyBvf,EAAO,MAAQs6B,EAAS,KAGnEt6B,EAAO+zB,GAAY/zB,GAEds0B,EAAUiG,cACbjG,EAAUiG,YAAc,IAG1B,IAAIC,EAASlG,EAAU+B,aAAa,UAEpC,GAAa,WAATr2B,GAAqBw6B,GAAUA,EAAOC,QAAS,CACjD,IAAIA,EAAUD,EAAOC,QACjBC,EAAct4B,OAAOC,KAAKo4B,GAM9B,GAAIA,GAAWC,EAAYvsB,OAAS,GAAKusB,EAAYz4B,KAAI,SAAU04B,GACjE,OAAOF,EAAQE,MACdvI,MAAMjvB,SACP,MAAM,IAAIoc,MAAM,oEAMpB,OAFA+U,EAAUiG,YAAYv6B,GAAQm6B,EAEvBA,GAmBT7F,EAAU+B,aAAe,SAAsBr2B,GAC7C,GAAKA,EAML,OAFAA,EAAO+zB,GAAY/zB,GAEfs0B,EAAUiG,aAAejG,EAAUiG,YAAYv6B,GAC1Cs0B,EAAUiG,YAAYv6B,QAD/B,GAKKs0B,EApmDO,GAwqDhB,SAASsG,GAAWC,EAAQ50B,EAAO60B,GACjC,GAAqB,kBAAV70B,GAAsBA,EAAQ,GAAKA,EAAQ60B,EACpD,MAAM,IAAIvb,MAAM,sBAAyBsb,EAAS,0CAA+C50B,EAAQ,wCAA0C60B,EAAW,MA2BlK,SAASC,GAASF,EAAQG,EAAYC,EAAQC,GAE5C,OADAN,GAAWC,EAAQK,EAAYD,EAAO9sB,OAAS,GACxC8sB,EAAOC,GAAYF,GAS5B,SAASG,GAAoBF,GAC3B,YAAerX,IAAXqX,GAA0C,IAAlBA,EAAO9sB,OAC1B,CACLA,OAAQ,EACRitB,MAAO,WACL,MAAM,IAAI7b,MAAM,oCAElBzY,IAAK,WACH,MAAM,IAAIyY,MAAM,qCAIf,CACLpR,OAAQ8sB,EAAO9sB,OACfitB,MAAOL,GAASjuB,KAAK,KAAM,QAAS,EAAGmuB,GACvCn0B,IAAKi0B,GAASjuB,KAAK,KAAM,MAAO,EAAGmuB,IAevC,SAASI,GAAiBD,EAAOt0B,GAC/B,OAAI/E,MAAMC,QAAQo5B,GACTD,GAAoBC,QACRxX,IAAVwX,QAA+BxX,IAAR9c,EACzBq0B,KAEFA,GAAoB,CAAC,CAACC,EAAOt0B,KAmBtC,SAASw0B,GAAgBC,EAAUzgB,GACjC,IAAI0gB,EAAmB,EACnBJ,OAAQ,EACRt0B,OAAM,EAEV,IAAKgU,EACH,OAAO,EAGJygB,GAAaA,EAASptB,SACzBotB,EAAWF,GAAiB,EAAG,IAGjC,IAAK,IAAItzB,EAAI,EAAGA,EAAIwzB,EAASptB,OAAQpG,IACnCqzB,EAAQG,EAASH,MAAMrzB,GACvBjB,EAAMy0B,EAASz0B,IAAIiB,GAGfjB,EAAMgU,IACRhU,EAAMgU,GAGR0gB,GAAoB10B,EAAMs0B,EAG5B,OAAOI,EAAmB1gB,EA/K5BwZ,GAAU9X,UAAUyd,aAAuD,oBAAjC7wB,EAAO8D,uBAA+E,oBAAhC9D,EAAOkE,qBAEvGgnB,GAAU4F,kBAAkB,YAAa5F,IA6MzC,IAjBA,IAAImH,GAAgB,GAGhBC,GAAS,CAAC,CAAC,oBAAqB,iBAAkB,oBAAqB,oBAAqB,mBAAoB,mBAEpH,CAAC,0BAA2B,uBAAwB,0BAA2B,0BAA2B,yBAA0B,yBAEpI,CAAC,0BAA2B,yBAA0B,iCAAkC,yBAA0B,yBAA0B,yBAE5I,CAAC,uBAAwB,sBAAuB,uBAAwB,uBAAwB,sBAAuB,sBAEvH,CAAC,sBAAuB,mBAAoB,sBAAuB,sBAAuB,qBAAsB,sBAE5GC,GAAUD,GAAO,GACjBE,QAAa,EAGR7zB,GAAI,EAAGA,GAAI2zB,GAAOvtB,OAAQpG,KAEjC,GAAI2zB,GAAO3zB,IAAG,KAAMyB,EAAU,CAC5BoyB,GAAaF,GAAO3zB,IACpB,MAKJ,GAAI6zB,GACF,IAAK,IAAItL,GAAK,EAAGA,GAAKsL,GAAWztB,OAAQmiB,KACvCmL,GAAcE,GAAQrL,KAAOsL,GAAWtL,IAwB5C,SAASuL,GAAW37B,GAIlB,GAAIA,aAAiB27B,GACnB,OAAO37B,EAGY,kBAAVA,EACTtC,KAAKoW,KAAO9T,EACc,kBAAVA,EAEhBtC,KAAKwW,QAAUlU,EACNsjB,EAAStjB,KAIQ,kBAAfA,EAAM8T,OACfpW,KAAKoW,KAAO9T,EAAM8T,MAGpBmF,EAAOvb,KAAMsC,IAGVtC,KAAKwW,UACRxW,KAAKwW,QAAUynB,GAAWC,gBAAgBl+B,KAAKoW,OAAS,IAS5D6nB,GAAWrf,UAAUxI,KAAO,EAQ5B6nB,GAAWrf,UAAUpI,QAAU,GAW/BynB,GAAWrf,UAAU7c,OAAS,KAe9Bk8B,GAAWE,WAAa,CAAC,mBAAoB,oBAAqB,oBAAqB,mBAAoB,8BAA+B,uBAQ1IF,GAAWC,gBAAkB,CAC3B7kB,EAAG,iCACHC,EAAG,8DACH8kB,EAAG,8HACHC,EAAG,qHACHC,EAAG,qEAKL,IAAK,IAAIC,GAAS,EAAGA,GAASN,GAAWE,WAAW5tB,OAAQguB,KAC1DN,GAAWA,GAAWE,WAAWI,KAAWA,GAE5CN,GAAWrf,UAAUqf,GAAWE,WAAWI,KAAWA,GAYxD,SAASC,GAAUl8B,GACjB,YAAiB0jB,IAAV1jB,GAAiC,OAAVA,GAAwC,oBAAfA,EAAM0J,KAY/D,SAASyyB,GAAen8B,GAClBk8B,GAAUl8B,IACZA,EAAM0J,KAAK,MAAM,SAAUzB,OAsB/B,IAAIm0B,GAAe,SAAsBC,GACvC,IAAI5G,EAAM,CAAC,OAAQ,QAAS,WAAY,KAAM,kCAAmC,OAAQ,OAAOjS,QAAO,SAAU8Y,EAAKhW,EAAMze,GAM1H,OAJIw0B,EAAM/V,KACRgW,EAAIhW,GAAQ+V,EAAM/V,IAGbgW,IACN,CACDC,KAAMF,EAAME,MAAQ16B,MAAMya,UAAUva,IAAIoa,KAAKkgB,EAAME,MAAM,SAAUC,GACjE,MAAO,CACLC,UAAWD,EAAIC,UACfC,QAASF,EAAIE,QACbxU,KAAMsU,EAAItU,KACVrnB,GAAI27B,EAAI37B,SAKd,OAAO40B,GAeLkH,GAAmB,SAA0BC,GAE/C,IAAIC,EAAWD,EAAKvQ,GAAG,SAEnByQ,EAAYj7B,MAAMya,UAAUva,IAAIoa,KAAK0gB,GAAU,SAAUxN,GAC3D,OAAOA,EAAEgN,SAEPU,EAASl7B,MAAMya,UAAUva,IAAIoa,KAAK0gB,GAAU,SAAUG,GACxD,IAAIC,EAAOb,GAAaY,EAAQX,OAKhC,OAHIW,EAAQE,MACVD,EAAKC,IAAMF,EAAQE,KAEdD,KAGT,OAAOF,EAAOjhB,OAAOja,MAAMya,UAAUmJ,OAAOtJ,KAAKygB,EAAKO,cAAc,SAAUd,GAC5E,OAAqC,IAA9BS,EAAUz7B,QAAQg7B,MACxBt6B,IAAIq6B,MAcLgB,GAAmB,SAA0BH,EAAML,GAWrD,OAVAK,EAAK76B,SAAQ,SAAUi6B,GACrB,IAAIgB,EAAaT,EAAKU,mBAAmBjB,GAAOA,OAE3CA,EAAMa,KAAOb,EAAME,MACtBF,EAAME,KAAKn6B,SAAQ,SAAUo6B,GAC3B,OAAOa,EAAWE,OAAOf,SAKxBI,EAAKO,cAGVK,GAAqB,CAAEb,iBAAkBA,GAAkBS,iBAAkBA,GAAkBhB,aAAcA,IAK7GqB,GAAmB,mBACnBC,GAAM,GAYNC,GAAc,SAAUC,GAmC1B,SAASD,EAAYhN,EAAQ1B,GAC3B3M,EAAe5kB,KAAMigC,GAErB,IAAIz2B,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAwB1E,OAtBA/nB,EAAM22B,QAAU32B,EAAM42B,eAAiB52B,EAAM62B,gBAAiB,EAE9D72B,EAAM8E,WAAW9E,EAAMqtB,SAASyJ,aAChC92B,EAAMmB,QAAQnB,EAAMqtB,SAASlsB,SAK7BnB,EAAMyuB,WAAanO,GAAS,MAAO,CACjCT,UAAW0W,GAAmB,YAC7B,CACDQ,KAAM,aAGR/2B,EAAMg3B,QAAU1W,GAAS,IAAK,CAC5BT,UAAW0W,GAAmB,gCAC9B58B,GAAIqG,EAAMwH,KAAKqb,aAAa,sBAG9BhC,GAAY7gB,EAAMg3B,QAASh3B,EAAMi3B,eACjCj3B,EAAMwtB,IAAIlM,YAAYthB,EAAMg3B,SAC5Bh3B,EAAMwtB,IAAIlM,YAAYthB,EAAMyuB,YACrBzuB,EAidT,OA9gBAub,EAASkb,EAAaC,GAwEtBD,EAAYrhB,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAWrpB,KAAKu5B,gBAChBmH,UAAW,GACV,CACD,mBAAoB1gC,KAAKmD,KAAO,eAChC,cAAe,OACf,aAAcnD,KAAK2gC,QACnB,KAAQ,YAIZV,EAAYrhB,UAAUD,QAAU,WAC9B3e,KAAKi4B,WAAa,KAClBj4B,KAAKwgC,QAAU,KACfxgC,KAAK4gC,oBAAsB,KAE3BV,EAAWthB,UAAUD,QAAQF,KAAKze,OAWpCigC,EAAYrhB,UAAU2a,cAAgB,WACpC,OAAOwG,GAAmB,eAAiBG,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAcrFigC,EAAYrhB,UAAUiiB,eAAiB,SAAwBt2B,GACzDA,EAAEsmB,QAAUmP,IAAOhgC,KAAKsO,aAC1BtO,KAAKW,SAYTs/B,EAAYrhB,UAAU+hB,MAAQ,WAC5B,OAAO3gC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAAS,iBAY9CV,EAAYrhB,UAAU6hB,YAAc,WAClC,IAAIK,EAAO9gC,KAAK62B,SAAS4J,aAAezgC,KAAKu3B,SAAS,2BAOtD,OAJIv3B,KAAKsO,cACPwyB,GAAQ,IAAM9gC,KAAKu3B,SAAS,wFAGvBuJ,GAWTb,EAAYrhB,UAAUmiB,KAAO,WAC3B,IAAK/gC,KAAKmgC,QAAS,CACjB,IAAIlN,EAASjzB,KAAKizB,SAQlBjzB,KAAKse,QAAQ,mBACbte,KAAKmgC,SAAU,GAIXngC,KAAK62B,SAASmK,aAAehhC,KAAKogC,iBAAmBpgC,KAAKqgC,iBAC5DrgC,KAAKihC,OAKPjhC,KAAKkhC,aAAejO,EAAOkO,SAEvBnhC,KAAK62B,SAASuK,aAAephC,KAAKkhC,aACpCjO,EAAOvW,QAGL1c,KAAKsO,aACPtO,KAAKU,GAAGV,KAAKg3B,IAAInF,cAAe,UAAW3iB,GAAKlP,KAAMA,KAAK6gC,iBAI7D7gC,KAAKqhC,aAAepO,EAAOxZ,WAC3BwZ,EAAOxZ,UAAS,GAEhBzZ,KAAK65B,OACL75B,KAAKshC,oBACLthC,KAAKgR,KAAKgM,aAAa,cAAe,SAQtChd,KAAKse,QAAQ,aACbte,KAAKogC,gBAAiB,IAe1BH,EAAYrhB,UAAU2iB,OAAS,SAAgBj/B,GAI7C,MAHqB,mBAAVA,GACTtC,KAAKsC,EAAQ,OAAS,WAEjBtC,KAAKmgC,SAYdF,EAAYrhB,UAAUje,MAAQ,WAC5B,GAAKX,KAAKmgC,QAAV,CAGA,IAAIlN,EAASjzB,KAAKizB,SAQlBjzB,KAAKse,QAAQ,oBACbte,KAAKmgC,SAAU,EAEXngC,KAAKkhC,aAAelhC,KAAK62B,SAASuK,aACpCnO,EAAOxW,OAGLzc,KAAKsO,aACPtO,KAAKqe,IAAIre,KAAKg3B,IAAInF,cAAe,UAAW3iB,GAAKlP,KAAMA,KAAK6gC,iBAG1D7gC,KAAKqhC,cACPpO,EAAOxZ,UAAS,GAGlBzZ,KAAK85B,OACL95B,KAAKgR,KAAKgM,aAAa,cAAe,QAQtChd,KAAKse,QAAQ,cACbte,KAAKwhC,mBAEDxhC,KAAK62B,SAAS4K,WAChBzhC,KAAK2e,YAeTshB,EAAYrhB,UAAUtQ,UAAY,SAAmBhM,GACnD,GAAqB,mBAAVA,EAAqB,CAC9B,IAAIgM,EAAYtO,KAAK0hC,aAAep/B,EAChC3B,EAAQX,KAAKm4B,SAAS,eAG1B,GAAI7pB,IAAc3N,EAAO,CAIvB,IAAIghC,EAAO3hC,KAAKi4B,WAEhBj4B,KAAKi4B,WAAaj4B,KAAKg3B,IACvBr2B,EAAQX,KAAKo4B,SAAS,cAAe,CAAEwJ,YAAa,uBACpD5hC,KAAKi4B,WAAa0J,EAClB3hC,KAAKU,GAAGC,EAAO,QAASX,KAAKW,QAI1B2N,GAAa3N,IAChBX,KAAKqe,IAAI1d,EAAO,QAASX,KAAKW,OAC9BX,KAAKkuB,YAAYvtB,GACjBA,EAAMge,WAGV,OAAO3e,KAAK0hC,YASdzB,EAAYrhB,UAAUqiB,KAAO,WAC3BjhC,KAAK6hC,SAAS7hC,KAAK2K,YAerBs1B,EAAYrhB,UAAUijB,SAAW,SAAkBl3B,GACjD,IAAIqtB,EAAYh4B,KAAKg4B,YACjB8J,EAAW9J,EAAUrL,WACrBoV,EAAgB/J,EAAUgK,YAQ9BhiC,KAAKse,QAAQ,mBACbte,KAAKqgC,gBAAiB,EAItByB,EAAS5T,YAAY8J,GACrBh4B,KAAKiiC,QACL3T,GAAc0J,EAAWrtB,GAOzB3K,KAAKse,QAAQ,aAGTyjB,EACFD,EAASjX,aAAamN,EAAW+J,GAEjCD,EAAShX,YAAYkN,GAIvB,IAAIkK,EAAcliC,KAAKm4B,SAAS,eAE5B+J,GACFJ,EAAShX,YAAYoX,EAAYlL,MAYrCiJ,EAAYrhB,UAAUqjB,MAAQ,WAO5BjiC,KAAKse,QAAQ,oBACb2P,GAAQjuB,KAAKg4B,aAQbh4B,KAAKse,QAAQ,eAoBf2hB,EAAYrhB,UAAUjU,QAAU,SAAiBrI,GAI/C,MAHqB,qBAAVA,IACTtC,KAAKmiC,SAAW7/B,GAEXtC,KAAKmiC,UAUdlC,EAAYrhB,UAAU0iB,kBAAoB,WACxC,IAAIc,EAAWx2B,EAASy2B,cACpBC,EAAWtiC,KAAK42B,QAAQI,IAE5Bh3B,KAAK4gC,oBAAsB,MAEvB0B,EAASnX,SAASiX,IAAaE,IAAaF,KAC9CpiC,KAAK4gC,oBAAsBwB,EAE3BpiC,KAAKwsB,QAELxsB,KAAKU,GAAGkL,EAAU,UAAW5L,KAAKuiC,iBAWtCtC,EAAYrhB,UAAU4iB,iBAAmB,WACnCxhC,KAAK4gC,sBACP5gC,KAAK4gC,oBAAoBpU,QACzBxsB,KAAK4gC,oBAAsB,MAG7B5gC,KAAKqe,IAAIzS,EAAU,UAAW5L,KAAKuiC,gBAUrCtC,EAAYrhB,UAAU2jB,cAAgB,SAAuBl7B,GAE3D,GAAoB,IAAhBA,EAAMwpB,MAAV,CAQA,IAJA,IAAI2R,EAAexiC,KAAKyiC,gBACpBL,EAAWpiC,KAAKg3B,IAAI/b,cAAc,UAClCynB,OAAa,EAERv4B,EAAI,EAAGA,EAAIq4B,EAAajyB,OAAQpG,IACvC,GAAIi4B,IAAaI,EAAar4B,GAAI,CAChCu4B,EAAav4B,EACb,MAIAyB,EAASy2B,gBAAkBriC,KAAKg3B,MAClC0L,EAAa,GAGXr7B,EAAMs7B,UAA2B,IAAfD,GACpBF,EAAaA,EAAajyB,OAAS,GAAGic,QACtCnlB,EAAM6oB,kBACI7oB,EAAMs7B,UAAYD,IAAeF,EAAajyB,OAAS,IACjEiyB,EAAa,GAAGhW,QAChBnlB,EAAM6oB,oBAWV+P,EAAYrhB,UAAU6jB,cAAgB,WACpC,IAAIG,EAAc5iC,KAAKg3B,IAAI6L,iBAAiB,KAE5C,OAAO1+B,MAAMya,UAAUmJ,OAAOtJ,KAAKmkB,GAAa,SAAUjY,GACxD,OAAQA,aAAiBnf,EAAOs3B,mBAAqBnY,aAAiBnf,EAAOu3B,kBAAoBpY,EAAMqY,aAAa,UAAYrY,aAAiBnf,EAAOy3B,kBAAoBtY,aAAiBnf,EAAO03B,mBAAqBvY,aAAiBnf,EAAO23B,qBAAuBxY,aAAiBnf,EAAO43B,qBAAuBzY,EAAMqY,aAAa,aAAerY,aAAiBnf,EAAO63B,mBAAqB1Y,aAAiBnf,EAAO83B,mBAAqB3Y,aAAiBnf,EAAO+3B,kBAAoB5Y,EAAMqY,aAAa,cAAmD,IAApCrY,EAAM0B,aAAa,aAAsB1B,EAAMqY,aAAa,uBAI1jB/C,EA/gBS,CAghBhBvJ,IAUFuJ,GAAYrhB,UAAUiY,SAAW,CAC/BuK,aAAa,EACbK,WAAW,GAGb/K,GAAU4F,kBAAkB,cAAe2D,IAY3C,IAAIuD,GAAY,SAAUC,GAcxB,SAASD,IACP,IAEIE,EAFArE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAI7E4G,EAAO5G,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,KAC/Ekb,EAAe5kB,KAAMwjC,GAErB,IAAIh6B,EAAQ8b,EAA0BtlB,KAAMyjC,EAAahlB,KAAKze,OAE9D,IAAKsQ,IACHA,EAAO9G,EACHoa,GAEF,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,EAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,EAAU5kB,UAAUgK,IAMzCtY,EAAKqzB,QAAU,GAQfn/B,OAAO8a,eAAehP,EAAM,SAAU,CACpC2E,IAAK,WACH,OAAOjV,KAAK2jC,QAAQpzB,UAIxB,IAAK,IAAIpG,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IACjCmG,EAAKszB,SAASvE,EAAOl1B,IAKvB,OAAOu5B,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GA+GvD,OAtKA3e,EAASye,EAAWC,GAoEpBD,EAAU5kB,UAAUglB,SAAW,SAAkBjF,GAC/C,IAAIt2B,EAAQrI,KAAK2jC,QAAQpzB,OAEnB,GAAKlI,KAASrI,MAClBwE,OAAO8a,eAAetf,KAAMqI,EAAO,CACjC4M,IAAK,WACH,OAAOjV,KAAK2jC,QAAQt7B,OAMW,IAAjCrI,KAAK2jC,QAAQhgC,QAAQg7B,KACvB3+B,KAAK2jC,QAAQ/wB,KAAK+rB,GASlB3+B,KAAKse,QAAQ,CACXqgB,MAAOA,EACPj7B,KAAM,eAeZ8/B,EAAU5kB,UAAUilB,YAAc,SAAqBC,GAGrD,IAFA,IAAInF,OAAQ,EAEHx0B,EAAI,EAAG45B,EAAI/jC,KAAKuQ,OAAQpG,EAAI45B,EAAG55B,IACtC,GAAInK,KAAKmK,KAAO25B,EAAQ,CACtBnF,EAAQ3+B,KAAKmK,GACTw0B,EAAMtgB,KACRsgB,EAAMtgB,MAGRre,KAAK2jC,QAAQ5yB,OAAO5G,EAAG,GAEvB,MAICw0B,GAYL3+B,KAAKse,QAAQ,CACXqgB,MAAOA,EACPj7B,KAAM,iBAcV8/B,EAAU5kB,UAAUolB,aAAe,SAAsB7gC,GAGvD,IAFA,IAAI2U,EAAS,KAEJ3N,EAAI,EAAG45B,EAAI/jC,KAAKuQ,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC3C,IAAIw0B,EAAQ3+B,KAAKmK,GAEjB,GAAIw0B,EAAMx7B,KAAOA,EAAI,CACnB2U,EAAS6mB,EACT,OAIJ,OAAO7mB,GAGF0rB,EAvKO,CAwKdtP,IAwBF,IAAK,IAAI7sB,MAPTm8B,GAAU5kB,UAAUuV,eAAiB,CACnC8P,OAAQ,SACRC,SAAU,WACVC,YAAa,eAIGX,GAAU5kB,UAAUuV,eACpCqP,GAAU5kB,UAAU,KAAOvX,IAAS,KAkBtC,IAAI+8B,GAAgB,SAAuB9zB,EAAMquB,GAC/C,IAAK,IAAIx0B,EAAI,EAAGA,EAAImG,EAAKC,OAAQpG,IAC1B3F,OAAOC,KAAK6L,EAAKnG,IAAIoG,QAAUouB,EAAMx7B,KAAOmN,EAAKnG,GAAGhH,KAIzDmN,EAAKnG,GAAGk6B,SAAU,IAWlBC,GAAiB,SAAUC,GAS7B,SAASD,IACP,IAAI96B,EAAOk6B,EAEPrE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFkb,EAAe5kB,KAAMskC,GAMrB,IAJA,IAAIh0B,OAAO,EAIFnG,EAAIk1B,EAAO9uB,OAAS,EAAGpG,GAAK,EAAGA,IACtC,GAAIk1B,EAAOl1B,GAAGk6B,QAAS,CACrBD,GAAc/E,EAAQA,EAAOl1B,IAC7B,MAMJ,GAAIyZ,EAAQ,CAEV,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,GAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,GAAU5kB,UAAUgK,IAGrC,IAAK,IAAI4b,KAASF,EAAe1lB,UACjB,gBAAV4lB,IACFl0B,EAAKk0B,GAASF,EAAe1lB,UAAU4lB,IAQ7C,OAHQh7B,EAAQ8b,EAA0BtlB,KAAMukC,EAAW9lB,KAAKze,KAAMq/B,EAAQ/uB,IAA9EA,EAAsF9G,EACtF8G,EAAKm0B,WAAY,EAEVf,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GA4CvD,OAxFA3e,EAASuf,EAAgBC,GAyDzBD,EAAe1lB,UAAUglB,SAAW,SAAkBjF,GACpD,IAAItJ,EAASr1B,KAET2+B,EAAM0F,SACRD,GAAcpkC,KAAM2+B,GAGtB4F,EAAW3lB,UAAUglB,SAASnlB,KAAKze,KAAM2+B,GAEpCA,EAAMphB,kBAQXohB,EAAMphB,iBAAiB,iBAAiB,WAIlC8X,EAAOoP,YAGXpP,EAAOoP,WAAY,EACnBL,GAAc/O,EAAQsJ,GACtBtJ,EAAOoP,WAAY,EACnBpP,EAAO/W,QAAQ,eAIZgmB,EAzFY,CA0FnBd,IAgBEkB,GAAkB,SAAuBp0B,EAAMquB,GACjD,IAAK,IAAIx0B,EAAI,EAAGA,EAAImG,EAAKC,OAAQpG,IAC1B3F,OAAOC,KAAK6L,EAAKnG,IAAIoG,QAAUouB,EAAMx7B,KAAOmN,EAAKnG,GAAGhH,KAIzDmN,EAAKnG,GAAGw6B,UAAW,IAWnBC,GAAiB,SAAUL,GAS7B,SAASK,IACP,IAAIp7B,EAAOk6B,EAEPrE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFkb,EAAe5kB,KAAM4kC,GAMrB,IAJA,IAAIt0B,OAAO,EAIFnG,EAAIk1B,EAAO9uB,OAAS,EAAGpG,GAAK,EAAGA,IACtC,GAAIk1B,EAAOl1B,GAAGw6B,SAAU,CACtBD,GAAgBrF,EAAQA,EAAOl1B,IAC/B,MAMJ,GAAIyZ,EAAQ,CAEV,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,GAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,GAAU5kB,UAAUgK,IAGrC,IAAK,IAAI4b,KAASI,EAAehmB,UACjB,gBAAV4lB,IACFl0B,EAAKk0B,GAASI,EAAehmB,UAAU4lB,IAwB7C,OAnBQh7B,EAAQ8b,EAA0BtlB,KAAMukC,EAAW9lB,KAAKze,KAAMq/B,EAAQ/uB,IAA9EA,EAAsF9G,EACtF8G,EAAKm0B,WAAY,EAMjBjgC,OAAO8a,eAAehP,EAAM,gBAAiB,CAC3C2E,IAAK,WACH,IAAK,IAAIyd,EAAK,EAAGA,EAAK1yB,KAAKuQ,OAAQmiB,IACjC,GAAI1yB,KAAK0yB,GAAIiS,SACX,OAAOjS,EAGX,OAAQ,GAEVhR,IAAK,eAGAgiB,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GAyCvD,OArGA3e,EAAS6f,EAAgBL,GAyEzBK,EAAehmB,UAAUglB,SAAW,SAAkBjF,GACpD,IAAItJ,EAASr1B,KAET2+B,EAAMgG,UACRD,GAAgB1kC,KAAM2+B,GAGxB4F,EAAW3lB,UAAUglB,SAASnlB,KAAKze,KAAM2+B,GAEpCA,EAAMphB,kBAQXohB,EAAMphB,iBAAiB,kBAAkB,WACnC8X,EAAOoP,YAGXpP,EAAOoP,WAAY,EACnBC,GAAgBrP,EAAQsJ,GACxBtJ,EAAOoP,WAAY,EACnBpP,EAAO/W,QAAQ,eAIZsmB,EAtGY,CAuGnBpB,IAYEqB,GAAgB,SAAUN,GAS5B,SAASM,IACP,IAAIr7B,EAAOk6B,EAEPrE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFkb,EAAe5kB,KAAM6kC,GAErB,IAAIv0B,OAAO,EAIX,GAAIsT,EAAQ,CAEV,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,GAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,GAAU5kB,UAAUgK,IAGrC,IAAK,IAAI4b,KAASK,EAAcjmB,UAChB,gBAAV4lB,IACFl0B,EAAKk0B,GAASK,EAAcjmB,UAAU4lB,IAM5C,OADQh7B,EAAQ8b,EAA0BtlB,KAAMukC,EAAW9lB,KAAKze,KAAMq/B,EAAQ/uB,IAA9EA,EAAsF9G,EAC/Ek6B,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GAiCvD,OAlEA3e,EAAS8f,EAAeN,GA8CxBM,EAAcjmB,UAAUglB,SAAW,SAAkBjF,GACnD4F,EAAW3lB,UAAUglB,SAASnlB,KAAKze,KAAM2+B,GAMzCA,EAAMphB,iBAAiB,aAAcrO,GAAKlP,MAAM,WAC9CA,KAAKse,QAAQ,cAGf,IAAIwmB,EAA2B,CAAC,WAAY,aAEU,IAAlDA,EAAyBnhC,QAAQg7B,EAAMoG,OACzCpG,EAAMphB,iBAAiB,aAAcrO,GAAKlP,MAAM,WAC9CA,KAAKse,QAAQ,+BAKZumB,EAnEW,CAoElBrB,IAUEwB,GAAuB,WAQzB,SAASA,IACP,IAAIC,EAAgBv7B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACxFkb,EAAe5kB,KAAMglC,GAErB,IAAI10B,EAAOtQ,KAEX,GAAI4jB,EAGF,IAAK,IAAIgF,KAFTtY,EAAO1E,EAASyY,cAAc,UAEb2gB,EAAqBpmB,UACvB,gBAATgK,IACFtY,EAAKsY,GAAQoc,EAAqBpmB,UAAUgK,IAKlDtY,EAAK40B,eAAiB,GAQtB1gC,OAAO8a,eAAehP,EAAM,SAAU,CACpC2E,IAAK,WACH,OAAOjV,KAAKklC,eAAe30B,UAI/B,IAAK,IAAIpG,EAAI,EAAGoG,EAAS00B,EAAc10B,OAAQpG,EAAIoG,EAAQpG,IACzDmG,EAAK60B,iBAAiBF,EAAc96B,IAGtC,GAAIyZ,EACF,OAAOtT,EA+EX,OAjEA00B,EAAqBpmB,UAAUumB,iBAAmB,SAA0BC,GAC1E,IAAI/8B,EAAQrI,KAAKklC,eAAe30B,OAE1B,GAAKlI,KAASrI,MAClBwE,OAAO8a,eAAetf,KAAMqI,EAAO,CACjC4M,IAAK,WACH,OAAOjV,KAAKklC,eAAe78B,OAMkB,IAA/CrI,KAAKklC,eAAevhC,QAAQyhC,IAC9BplC,KAAKklC,eAAetyB,KAAKwyB,IAkB7BJ,EAAqBpmB,UAAUymB,wBAA0B,SAAiC1G,GAGxF,IAFA,IAAI2G,OAAgB,EAEXn7B,EAAI,EAAGoG,EAASvQ,KAAKklC,eAAe30B,OAAQpG,EAAIoG,EAAQpG,IAC/D,GAAIw0B,IAAU3+B,KAAKklC,eAAe/6B,GAAGw0B,MAAO,CAC1C2G,EAAgBtlC,KAAKklC,eAAe/6B,GAEpC,MAIJ,OAAOm7B,GAaTN,EAAqBpmB,UAAU2mB,oBAAsB,SAA6BH,GAChF,IAAK,IAAIj7B,EAAI,EAAGoG,EAASvQ,KAAKklC,eAAe30B,OAAQpG,EAAIoG,EAAQpG,IAC/D,GAAIi7B,IAAiBplC,KAAKklC,eAAe/6B,GAAI,CAC3CnK,KAAKklC,eAAen0B,OAAO5G,EAAG,GAE9B,QAKC66B,EA1HkB,GAwJvBQ,GAAmB,WAQrB,SAASA,EAAiB3G,GACxBja,EAAe5kB,KAAMwlC,GAErB,IAAIl1B,EAAOtQ,KAEX,GAAI4jB,EAGF,IAAK,IAAIgF,KAFTtY,EAAO1E,EAASyY,cAAc,UAEbmhB,EAAiB5mB,UACnB,gBAATgK,IACFtY,EAAKsY,GAAQ4c,EAAiB5mB,UAAUgK,IAmB9C,GAdA4c,EAAiB5mB,UAAU6mB,SAAShnB,KAAKnO,EAAMuuB,GAQ/Cr6B,OAAO8a,eAAehP,EAAM,SAAU,CACpC2E,IAAK,WACH,OAAOjV,KAAK0lC,WAIZ9hB,EACF,OAAOtT,EAoEX,OArDAk1B,EAAiB5mB,UAAU6mB,SAAW,SAAkB5G,GACtD,IAAI8G,EAAY3lC,KAAKuQ,QAAU,EAC3BpG,EAAI,EACJ45B,EAAIlF,EAAKtuB,OAEbvQ,KAAK4lC,MAAQ/G,EACb7+B,KAAK0lC,QAAU7G,EAAKtuB,OAEpB,IAAIs1B,EAAa,SAAoBx9B,GAC7B,GAAKA,KAASrI,MAClBwE,OAAO8a,eAAetf,KAAM,GAAKqI,EAAO,CACtC4M,IAAK,WACH,OAAOjV,KAAK4lC,MAAMv9B,OAM1B,GAAIs9B,EAAY5B,EAGd,IAFA55B,EAAIw7B,EAEGx7B,EAAI45B,EAAG55B,IACZ07B,EAAWpnB,KAAKze,KAAMmK,IAgB5Bq7B,EAAiB5mB,UAAUknB,WAAa,SAAoB3iC,GAG1D,IAFA,IAAI2U,EAAS,KAEJ3N,EAAI,EAAG45B,EAAI/jC,KAAKuQ,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC3C,IAAI20B,EAAM9+B,KAAKmK,GAEf,GAAI20B,EAAI37B,KAAOA,EAAI,CACjB2U,EAASgnB,EACT,OAIJ,OAAOhnB,GAGF0tB,EA1Gc,GAwHnBO,GAAiB,CACnBC,YAAa,cACbC,SAAU,WACVC,KAAM,OACNC,KAAM,OACNC,UAAW,YACXC,WAAY,cAUVC,GAAiB,CACnB,YAAe,cACf,aAAgB,eAChB,KAAQ,OACR,YAAa,YACb,YAAe,cACf,WAAc,cAUZC,GAAgB,CAClBH,UAAW,YACXH,SAAU,WACVO,aAAc,eACdC,SAAU,WACVC,SAAU,YAURC,GAAgB,CAClBrhC,SAAU,WACVshC,OAAQ,SACRC,QAAS,WAiBPC,GAAQ,SAAUrD,GAuBpB,SAASqD,IACP,IAAIpD,EAEAnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM8mC,GAErB,IAAIt9B,EAAQ8b,EAA0BtlB,KAAMyjC,EAAahlB,KAAKze,OAE1D2+B,EAAQn1B,EAEZ,GAAIoa,EAEF,IAAK,IAAIgF,KADT+V,EAAQ/yB,EAASyY,cAAc,UACdyiB,EAAMloB,UACR,gBAATgK,IACF+V,EAAM/V,GAAQke,EAAMloB,UAAUgK,IAKpC,IAAIme,EAAa,CACf5jC,GAAIouB,EAAQpuB,IAAM,aAAe2rB,KACjCiW,KAAMxT,EAAQwT,MAAQ,GACtBpE,MAAOpP,EAAQoP,OAAS,GACxBjJ,SAAUnG,EAAQmG,UAAY,IAwC5BsP,EAAQ,SAAe9jC,GACzBsB,OAAO8a,eAAeqf,EAAOz7B,EAAK,CAChC+R,IAAK,WACH,OAAO8xB,EAAW7jC,IAEpBwe,IAAK,gBAIT,IAAK,IAAIxe,KAAO6jC,EACdC,EAAM9jC,GAGR,OAAOwgC,EAAO/E,EAAOrZ,EAA0B9b,EAAOk6B,GAGxD,OArGA3e,EAAS+hB,EAAOrD,GAqGTqD,EAtGG,CAuGV5S,IAwCE+S,GAAW,SAAkBv6B,GAC/B,IAAIrH,EAAQ,CAAC,WAAY,WAAY,OAAQ,WAAY,SAAU,OAAQ,QAGvE6hB,EAAItb,EAASyY,cAAc,KAE/B6C,EAAE9a,KAAOM,EAKT,IAAIw6B,EAAuB,KAAXhgB,EAAE9Z,MAA8B,UAAf8Z,EAAEigB,SAC/BC,OAAM,EAENF,IACFE,EAAMx7B,EAASyY,cAAc,OAC7B+iB,EAAIC,UAAY,YAAc36B,EAAM,SACpCwa,EAAIkgB,EAAIxc,WAERwc,EAAIpqB,aAAa,QAAS,oCAC1BpR,EAASsO,KAAK4Q,YAAYsc,IAQ5B,IAFA,IAAIE,EAAU,GAELn9B,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAChCm9B,EAAQjiC,EAAM8E,IAAM+c,EAAE7hB,EAAM8E,IAqB9B,MAhByB,UAArBm9B,EAAQH,WACVG,EAAQl6B,KAAOk6B,EAAQl6B,KAAKL,QAAQ,OAAQ,KAGrB,WAArBu6B,EAAQH,WACVG,EAAQl6B,KAAOk6B,EAAQl6B,KAAKL,QAAQ,QAAS,KAG1Cu6B,EAAQH,WACXG,EAAQH,SAAW37B,EAAOW,SAASg7B,UAGjCD,GACFt7B,EAASsO,KAAKgU,YAAYkZ,GAGrBE,GAeLC,GAAiB,SAAwB76B,GAE3C,IAAKA,EAAIuW,MAAM,gBAAiB,CAE9B,IAAImkB,EAAMx7B,EAASyY,cAAc,OAEjC+iB,EAAIC,UAAY,YAAc36B,EAAM,UACpCA,EAAM06B,EAAIxc,WAAWxe,KAGvB,OAAOM,GAcL86B,GAAmB,SAA0BC,GAC/C,GAAoB,kBAATA,EAAmB,CAC5B,IAAIC,EAAc,0EACdC,EAAYD,EAAYllB,KAAKilB,GAEjC,GAAIE,EACF,OAAOA,EAAUhlB,MAAM7B,cAI3B,MAAO,IAYL8mB,GAAgB,SAAuBl7B,GACzC,IAAIm7B,EAASr8B,EAAOW,SAChB27B,EAAUb,GAASv6B,GAGnBq7B,EAAmC,MAArBD,EAAQX,SAAmBU,EAAOV,SAAWW,EAAQX,SAInEa,EAAcD,EAAcD,EAAQ16B,OAASy6B,EAAOV,SAAWU,EAAOz6B,KAE1E,OAAO46B,GAGLC,IAAOzjC,OAAO+f,QAAU/f,QAAQ,CACnCyiC,SAAUA,GACVM,eAAgBA,GAChBC,iBAAkBA,GAClBI,cAAeA,KAiBZM,GAAY,SAAmBC,EAAYxJ,GAC7C,IAAIyJ,EAAS,IAAI58B,EAAO68B,OAAOC,OAAO98B,EAAQA,EAAO+8B,MAAO/8B,EAAO68B,OAAOG,iBACtEC,EAAS,GAEbL,EAAOM,MAAQ,SAAU5J,GACvBH,EAAMkB,OAAOf,IAGfsJ,EAAOO,eAAiB,SAAU/gB,GAChC6gB,EAAO71B,KAAKgV,IAGdwgB,EAAOQ,QAAU,WACfjK,EAAMrgB,QAAQ,CACZ5a,KAAM,aACN+M,OAAQkuB,KAIZyJ,EAAOS,MAAMV,GACTM,EAAOl4B,OAAS,IACd/E,EAAOwb,SAAWxb,EAAOwb,QAAQ8hB,gBACnCt9B,EAAOwb,QAAQ8hB,eAAe,iCAAmCnK,EAAMa,KAEzEiJ,EAAO/jC,SAAQ,SAAUkjB,GACvB,OAAOpB,EAAIoB,MAAMA,MAEfpc,EAAOwb,SAAWxb,EAAOwb,QAAQ+hB,UACnCv9B,EAAOwb,QAAQ+hB,YAInBX,EAAOppB,SAcLgqB,GAAY,SAAmBxJ,EAAKb,GACtC,IAAI3N,EAAO,CACTiY,IAAKzJ,GAEHwI,EAAcJ,GAAcpI,GAE5BwI,IACFhX,EAAKkY,KAAOlB,GAGd7lB,EAAI6O,EAAM9hB,GAAKlP,MAAM,SAAU0W,EAAKyyB,EAAUC,GAC5C,GAAI1yB,EACF,OAAO8P,EAAIoB,MAAMlR,EAAKyyB,GAOxB,GAJAxK,EAAM0K,SAAU,EAIa,oBAAlB79B,EAAO68B,QAChB,GAAI1J,EAAM2K,MAAO,CACf,IAAIC,EAAc,WAChB,OAAOrB,GAAUkB,EAAczK,IAGjCA,EAAM2K,MAAM5oC,GAAG,cAAe6oC,GAC9B5K,EAAM2K,MAAM5oC,GAAG,cAAc,WAC3B8lB,EAAIoB,MAAM,oDAAsD+W,EAAMa,KACtEb,EAAM2K,MAAMjrB,IAAI,cAAekrB,YAInCrB,GAAUkB,EAAczK,QAY1B6K,GAAY,SAAUC,GAqCxB,SAASD,IACP,IAAIhgC,EAAOk6B,EAEPnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAGlF,GAFAkb,EAAe5kB,KAAMwpC,IAEhBjY,EAAQ2N,KACX,MAAM,IAAIvd,MAAM,4BAGlB,IAAI+nB,EAAWjT,GAAalF,EAAS,CACnCwT,KAAMwB,GAAchV,EAAQwT,OAAS,YACrCrN,SAAUnG,EAAQmG,UAAYnG,EAAQoY,SAAW,KAE/CC,EAAOjD,GAAc+C,EAASE,OAAS,WACvCC,EAAWH,EAAS,WAEF,aAAlBA,EAAS3E,MAAyC,aAAlB2E,EAAS3E,OAC3C6E,EAAO,UAIT,IAAIE,GAAMtgC,EAAQ8b,EAA0BtlB,KAAMypC,EAAOhrB,KAAKze,KAAM0pC,IAAYlgC,GAIhF,GAFAsgC,EAAGR,MAAQI,EAASxK,KAEhBtb,EACF,IAAK,IAAIgF,KAAQ4gB,EAAU5qB,UACZ,gBAATgK,IACFkhB,EAAGlhB,GAAQ4gB,EAAU5qB,UAAUgK,IAKrCkhB,EAAGlE,MAAQ,GACXkE,EAAGC,YAAc,GAEjB,IAAIlL,EAAO,IAAI2G,GAAiBsE,EAAGlE,OAC/BoE,EAAa,IAAIxE,GAAiBsE,EAAGC,aACrCE,GAAU,EACVC,EAAoBh7B,GAAK46B,GAAI,WAM/B9pC,KAAKgqC,WAAahqC,KAAKgqC,WACnBC,IACFjqC,KAAKse,QAAQ,aACb2rB,GAAU,MAgJd,MA5Ia,aAATL,GACFE,EAAGR,MAAM3S,OAAM,WACbmT,EAAGR,MAAM5oC,GAAG,aAAcwpC,MACzB,GAYL1lC,OAAO8a,eAAewqB,EAAI,UAAW,CACnC70B,IAAK,WACH,OAAO40B,GAETnoB,IAAK,eAYPld,OAAO8a,eAAewqB,EAAI,OAAQ,CAChC70B,IAAK,WACH,OAAO20B,GAETloB,IAAK,SAAgByoB,GACnB,IAAI9U,EAASr1B,KAER2mC,GAAcwD,KAGnBP,EAAOO,EACM,aAATP,EAEF5pC,KAAKspC,MAAM3S,OAAM,WACftB,EAAOiU,MAAM5oC,GAAG,aAAcwpC,MAC7B,GAEHlqC,KAAKspC,MAAMjrB,IAAI,aAAc6rB,GAW/BlqC,KAAKse,QAAQ,kBAUjB9Z,OAAO8a,eAAewqB,EAAI,OAAQ,CAChC70B,IAAK,WACH,OAAKjV,KAAKqpC,QAIHxK,EAHE,MAKXnd,IAAK,eASPld,OAAO8a,eAAewqB,EAAI,aAAc,CACtC70B,IAAK,WACH,IAAKjV,KAAKqpC,QACR,OAAO,KAIT,GAAyB,IAArBrpC,KAAK6+B,KAAKtuB,OACZ,OAAOy5B,EAMT,IAHA,IAAII,EAAKpqC,KAAKspC,MAAM9sB,cAChB/K,EAAS,GAEJtH,EAAI,EAAG45B,EAAI/jC,KAAK6+B,KAAKtuB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAChD,IAAI20B,EAAM9+B,KAAK6+B,KAAK10B,IAEhB20B,EAAIC,WAAaqL,GAAMtL,EAAIE,SAAWoL,GAE/BtL,EAAIC,YAAcD,EAAIE,SAAWF,EAAIC,WAAaqL,GAAMtL,EAAIC,UAAY,IAAOqL,IADxF34B,EAAOmB,KAAKksB,GAQhB,GAFAmL,GAAU,EAENx4B,EAAOlB,SAAWvQ,KAAK+pC,YAAYx5B,OACrC05B,GAAU,OAEV,IAAK,IAAIvX,EAAK,EAAGA,EAAKjhB,EAAOlB,OAAQmiB,KACW,IAA1C1yB,KAAK+pC,YAAYpmC,QAAQ8N,EAAOihB,MAClCuX,GAAU,GAQhB,OAHAjqC,KAAK+pC,YAAct4B,EACnBu4B,EAAWvE,SAASzlC,KAAK+pC,aAElBC,GAKTtoB,IAAK,eAGHgoB,EAASlK,KACXsK,EAAGtK,IAAMkK,EAASlK,IAClBwJ,GAAUU,EAASlK,IAAKsK,IAExBA,EAAGT,SAAU,EAGR3F,EAAOoG,EAAIxkB,EAA0B9b,EAAOk6B,GA8DrD,OAnSA3e,EAASykB,EAAWC,GAgPpBD,EAAU5qB,UAAUihB,OAAS,SAAgBwK,GAC3C,IAAIvL,EAAMuL,EAEV,GAAI7+B,EAAO+8B,SAAW8B,aAAuB7+B,EAAO+8B,MAAM+B,QAAS,CAGjE,IAAK,IAAI1hB,KAFTkW,EAAM,IAAItzB,EAAO+8B,MAAM+B,OAAOD,EAAYtL,UAAWsL,EAAYrL,QAASqL,EAAY7f,MAErE6f,EACTzhB,KAAQkW,IACZA,EAAIlW,GAAQyhB,EAAYzhB,IAK5BkW,EAAI37B,GAAKknC,EAAYlnC,GACrB27B,EAAIyL,aAAeF,EAKrB,IAFA,IAAIhL,EAASr/B,KAAKspC,MAAM7J,aAEft1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAC7Bk1B,EAAOl1B,KAAOnK,MAChBq/B,EAAOl1B,GAAGqgC,UAAU1L,GAIxB9+B,KAAK4lC,MAAMhzB,KAAKksB,GAChB9+B,KAAK6+B,KAAK4G,SAASzlC,KAAK4lC,QAW1B4D,EAAU5qB,UAAU4rB,UAAY,SAAmBC,GACjD,IAAItgC,EAAInK,KAAK4lC,MAAMr1B,OAEnB,MAAOpG,IAAK,CACV,IAAI20B,EAAM9+B,KAAK4lC,MAAMz7B,GAErB,GAAI20B,IAAQ2L,GAAc3L,EAAIyL,cAAgBzL,EAAIyL,eAAiBE,EAAY,CAC7EzqC,KAAK4lC,MAAM70B,OAAO5G,EAAG,GACrBnK,KAAK6+B,KAAK4G,SAASzlC,KAAK4lC,OACxB,SAKC4D,EApSO,CAqSd1C,IAOF0C,GAAU5qB,UAAUuV,eAAiB,CACnCuW,UAAW,aAWb,IAAIC,GAAa,SAAUlB,GAyBzB,SAASkB,IACP,IAAInhC,EAAOk6B,EAEPnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM2qC,GAErB,IAAIjB,EAAWjT,GAAalF,EAAS,CACnCwT,KAAMuB,GAAe/U,EAAQwT,OAAS,KAIpCpG,GAASn1B,EAAQ8b,EAA0BtlB,KAAMypC,EAAOhrB,KAAKze,KAAM0pC,IAAYlgC,GAC/E66B,GAAU,EAEd,GAAIzgB,EACF,IAAK,IAAIgF,KAAQ+hB,EAAW/rB,UACb,gBAATgK,IACF+V,EAAM/V,GAAQ+hB,EAAW/rB,UAAUgK,IA8CzC,OAjCApkB,OAAO8a,eAAeqf,EAAO,UAAW,CACtC1pB,IAAK,WACH,OAAOovB,GAET3iB,IAAK,SAAgBkpB,GAEO,mBAAfA,GAA4BA,IAAevG,IAGtDA,EAAUuG,EAYV5qC,KAAKse,QAAQ,qBAOborB,EAASrF,UACX1F,EAAM0F,QAAUqF,EAASrF,SAE3B1F,EAAM0K,SAAU,EAET3F,EAAO/E,EAAOrZ,EAA0B9b,EAAOk6B,GAGxD,OA1FA3e,EAAS4lB,EAAYlB,GA0FdkB,EA3FQ,CA4Ff7D,IASE+D,GAAa,SAAUpB,GAwBzB,SAASoB,IACP,IAAIrhC,EAAOk6B,EAEPnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM6qC,GAErB,IAAInB,EAAWjT,GAAalF,EAAS,CACnCwT,KAAMgB,GAAexU,EAAQwT,OAAS,KAKpCpG,GAASn1B,EAAQ8b,EAA0BtlB,KAAMypC,EAAOhrB,KAAKze,KAAM0pC,IAAYlgC,GAC/Em7B,GAAW,EAEf,GAAI/gB,EACF,IAAK,IAAIgF,KAAQiiB,EAAWjsB,UACb,gBAATgK,IACF+V,EAAM/V,GAAQiiB,EAAWjsB,UAAUgK,IA8CzC,OAhCApkB,OAAO8a,eAAeqf,EAAO,WAAY,CACvC1pB,IAAK,WACH,OAAO0vB,GAETjjB,IAAK,SAAgBopB,GAEQ,mBAAhBA,GAA6BA,IAAgBnG,IAGxDA,EAAWmG,EAYX9qC,KAAKse,QAAQ,sBAOborB,EAAS/E,WACXhG,EAAMgG,SAAW+E,EAAS/E,UAGrBjB,EAAO/E,EAAOrZ,EAA0B9b,EAAOk6B,GAGxD,OA1FA3e,EAAS8lB,EAAYpB,GA0FdoB,EA3FQ,CA4Ff/D,IAWEiE,GAAO,EACPC,GAAU,EACVC,GAAS,EACTC,GAAQ,EASRC,GAAmB,SAAU1H,GAqC/B,SAAS0H,IACP,IAAI5Z,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAMmrC,GAErB,IAAI3hC,EAAQ8b,EAA0BtlB,KAAMyjC,EAAahlB,KAAKze,OAE1DmzB,OAAa,EACbiS,EAAe57B,EAEnB,GAAIoa,EAGF,IAAK,IAAIgF,KAFTwc,EAAex5B,EAASyY,cAAc,UAErB8mB,EAAiBvsB,UACnB,gBAATgK,IACFwc,EAAaxc,GAAQuiB,EAAiBvsB,UAAUgK,IAKtD,IAiDM8a,EAjDF/E,EAAQ,IAAI6K,GAAUjY,GAgD1B,OA9CA6T,EAAaL,KAAOpG,EAAMoG,KAC1BK,EAAa5F,IAAMb,EAAMa,IACzB4F,EAAauE,QAAUhL,EAAMjH,SAC7B0N,EAAazE,MAAQhC,EAAMgC,MAC3ByE,EAAa,WAAazG,EAAM,WAQhCn6B,OAAO8a,eAAe8lB,EAAc,aAAc,CAChDnwB,IAAK,WACH,OAAOke,KAWX3uB,OAAO8a,eAAe8lB,EAAc,QAAS,CAC3CnwB,IAAK,WACH,OAAO0pB,KAIXxL,EAAa4X,GAMbpM,EAAMphB,iBAAiB,cAAc,WACnC4V,EAAa8X,GAEb7F,EAAa9mB,QAAQ,CACnB5a,KAAM,OACN+M,OAAQ20B,OAIRxhB,GAGK8f,EAAO0B,EAAc9f,EAA0B9b,EAAOk6B,IAExDl6B,EAGT,OA/GAub,EAASomB,EAAkB1H,GA+GpB0H,EAhHc,CAiHrBjX,IAEFiX,GAAiBvsB,UAAUuV,eAAiB,CAC1CiX,KAAM,QAGRD,GAAiBJ,KAAOA,GACxBI,GAAiBH,QAAUA,GAC3BG,GAAiBF,OAASA,GAC1BE,GAAiBD,MAAQA,GAOzB,IAAIG,GAAS,CACXC,MAAO,CACLC,UAAWjH,GACXkH,WAAYb,GACZc,YAAa,SAEfh4B,MAAO,CACL83B,UAAW3G,GACX4G,WAAYX,GACZY,YAAa,SAEfjhB,KAAM,CACJ+gB,UAAW1G,GACX2G,WAAYhC,GACZiC,YAAa,SAIjBjnC,OAAOC,KAAK4mC,IAAQ3mC,SAAQ,SAAUhB,GACpC2nC,GAAO3nC,GAAMgoC,WAAahoC,EAAO,SACjC2nC,GAAO3nC,GAAMioC,YAAcjoC,EAAO,aAGpC,IAAIkoC,GAAS,CACXC,WAAY,CACVN,UAAW1G,GACX2G,WAAYhC,GACZiC,YAAa,aACbC,WAAY,mBACZC,YAAa,qBAEfG,aAAc,CACZP,UAAWvG,GACXwG,WAAYL,GACZM,YAAa,qBACbC,WAAY,qBACZC,YAAa,wBAIbI,GAAMtV,GAAa4U,GAAQO,IAgD/B,SAASI,GAAkBzmB,EAAMwf,EAAMpE,EAAOjJ,GAC5C,IAAInG,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE9E21B,EAAS9Z,EAAKka,aAElBlO,EAAQwT,KAAOA,EAEXpE,IACFpP,EAAQoP,MAAQA,GAEdjJ,IACFnG,EAAQmG,SAAWA,GAErBnG,EAAQ2N,KAAO3Z,EAEf,IAAIoZ,EAAQ,IAAIoN,GAAIvhB,KAAKghB,WAAWja,GAIpC,OAFA8N,EAAOuE,SAASjF,GAETA,EAjETiN,GAAOK,MAAQznC,OAAOC,KAAKmnC,IAC3BP,GAAOY,MAAQznC,OAAOC,KAAK4mC,IAC3BU,GAAIE,MAAQ,GAAG7tB,OAAOwtB,GAAOK,OAAO7tB,OAAOitB,GAAOY,OAyElD,IAAI9S,GAAO,SAAU+G,GAYnB,SAAS/G,IACP,IAAI5H,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9EitB,EAAQjtB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,aAChFkb,EAAe5kB,KAAMm5B,GAIrB5H,EAAQ8F,qBAAsB,EAI9B,IAAI7tB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAM,KAAMuxB,EAASoF,IAwDjF,OAtDAntB,EAAM0iC,aAAc,EACpB1iC,EAAM9I,GAAG,WAAW,WAClBV,KAAKksC,aAAc,KAErB1iC,EAAM9I,GAAG,aAAa,WACpBV,KAAKksC,aAAc,KAGrBH,GAAIE,MAAMvnC,SAAQ,SAAUtC,GAC1B,IAAIiD,EAAQ0mC,GAAI3pC,GAEZmvB,GAAWA,EAAQlsB,EAAMqmC,cAC3BliC,EAAMnE,EAAMsmC,aAAepa,EAAQlsB,EAAMqmC,gBAKxCliC,EAAM2iC,wBACT3iC,EAAM4iC,mBAIH5iC,EAAM6iC,0BACT7iC,EAAM8iC,sBAGR,CAAC,OAAQ,QAAS,SAAS5nC,SAAQ,SAAUi6B,IACE,IAAzCpN,EAAQ,SAAWoN,EAAQ,YAC7Bn1B,EAAM,iBAAmBm1B,EAAQ,WAAY,OAIlB,IAA3BpN,EAAQgb,iBAAyD,IAA7Bhb,EAAQib,iBAC9ChjC,EAAMijC,0BAA2B,GACG,IAA3Blb,EAAQgb,iBAAwD,IAA7Bhb,EAAQib,mBACpDhjC,EAAMijC,0BAA2B,GAG9BjjC,EAAMijC,0BACTjjC,EAAMkjC,oBAGRljC,EAAMmjC,sBAAwB,IAAIZ,GAAIvhB,KAAK+gB,UAE3C/hC,EAAMojC,qBAGDrb,EAAQsb,wBACXrjC,EAAMwxB,gBAGJxxB,EAAMmb,cACRnb,EAAMutB,MAAQvtB,EAAMmb,YAAYviB,MAAQ,gBAEnCoH,EAs1BT,OAp6BAub,EAASoU,EAAM+G,GA0Ff/G,EAAKva,UAAUkuB,iBAAmB,SAA0BtN,GAC1D,IAAInK,EAASr1B,KAERA,KAAKy5B,UAGRz5B,KAAKgyB,IAAI,SAAS,WAChB,OAAOqD,EAAOroB,YAAW,WACvB,OAAOqoB,EAAOyX,iBAAiBtN,KAC9B,MAYPx/B,KAAKse,QAAQ,CACXkhB,IAAKA,EACL97B,KAAM,eAcVy1B,EAAKva,UAAUwtB,iBAAmB,WAChCpsC,KAAKU,GAAG,iBAAkBV,KAAK+sC,kBAE/B/sC,KAAKgtC,gBAAiB,EAGtBhtC,KAAKgyB,IAAI,QAAShyB,KAAKitC,gBASzB9T,EAAKva,UAAUsuB,kBAAoB,WACjCltC,KAAKgtC,gBAAiB,EACtBhtC,KAAKmtC,uBAELntC,KAAKqe,IAAI,iBAAkBre,KAAK+sC,mBAkBlC5T,EAAKva,UAAUquB,cAAgB,SAAuB5lC,GACpDrH,KAAKmtC,uBACLntC,KAAKotC,iBAAmBptC,KAAK8P,YAAYZ,GAAKlP,MAAM,WAGlD,IAAIqtC,EAAqBrtC,KAAK09B,kBAE1B19B,KAAKstC,mBAAqBD,GAO5BrtC,KAAKse,QAAQ,YAGfte,KAAKstC,iBAAmBD,EAEG,IAAvBA,GACFrtC,KAAKmtC,0BAEL,MAcNhU,EAAKva,UAAUmuB,iBAAmB,SAA0B1lC,GAC1DrH,KAAKutC,UAAYvtC,KAAKkd,YAWxBic,EAAKva,UAAU+e,SAAW,WACxB,OAAOF,GAAiB,EAAG,IAa7BtE,EAAKva,UAAU8e,gBAAkB,WAC/B,OAAOA,GAAgB19B,KAAK29B,WAAY39B,KAAKutC,YAW/CpU,EAAKva,UAAUuuB,qBAAuB,WACpCntC,KAAK+P,cAAc/P,KAAKotC,mBAU1BjU,EAAKva,UAAU0tB,oBAAsB,WACnCtsC,KAAKwtC,mBAAoB,EAEzBxtC,KAAKU,GAAG,OAAQV,KAAKytC,kBACrBztC,KAAKU,GAAG,QAASV,KAAK0tC,0BASxBvU,EAAKva,UAAU+uB,qBAAuB,WACpC3tC,KAAKwtC,mBAAoB,EACzBxtC,KAAK0tC,0BACL1tC,KAAKqe,IAAI,OAAQre,KAAKytC,kBACtBztC,KAAKqe,IAAI,QAASre,KAAK0tC,0BAYzBvU,EAAKva,UAAU6uB,iBAAmB,WAC5BztC,KAAK4tC,qBACP5tC,KAAK0tC,0BAEP1tC,KAAK4tC,oBAAsB5tC,KAAK8P,aAAY,WAO1C9P,KAAKse,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,MAGnE,MAWL1U,EAAKva,UAAU8uB,wBAA0B,WACvC1tC,KAAK+P,cAAc/P,KAAK4tC,qBAIxB5tC,KAAKse,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,KAWtE1U,EAAKva,UAAUD,QAAU,WAGvB3e,KAAK8tC,YAAYzC,GAAOY,OAGpBjsC,KAAKgtC,gBACPhtC,KAAKktC,oBAGHltC,KAAKwtC,mBACPxtC,KAAK2tC,uBAGPzN,EAAWthB,UAAUD,QAAQF,KAAKze,OAepCm5B,EAAKva,UAAUkvB,YAAc,SAAqBle,GAChD,IAAIuM,EAASn8B,KAEb4vB,EAAQ,GAAGxR,OAAOwR,GAElBA,EAAMlrB,SAAQ,SAAUhB,GACtB,IAAI4M,EAAO6rB,EAAOz4B,EAAO,aAAe,GACpCyG,EAAImG,EAAKC,OAEb,MAAOpG,IAAK,CACV,IAAIw0B,EAAQruB,EAAKnG,GAEJ,SAATzG,GACFy4B,EAAO4R,sBAAsBpP,GAE/BruB,EAAKuzB,YAAYlF,QAWvBxF,EAAKva,UAAUovB,sBAAwB,WACrC,IAAI19B,EAAOtQ,KAAK2sC,uBAAyB,GACrCxiC,EAAImG,EAAKC,OAEb,MAAOpG,IAAK,CACV,IAAIw0B,EAAQruB,EAAKnG,GAEjBnK,KAAK+tC,sBAAsBpP,KAW/BxF,EAAKva,UAAUqvB,MAAQ,aAavB9U,EAAKva,UAAUgJ,MAAQ,SAAelR,GAKpC,YAJYsP,IAARtP,IACF1W,KAAKkuC,OAAS,IAAIjQ,GAAWvnB,GAC7B1W,KAAKse,QAAQ,UAERte,KAAKkuC,QAed/U,EAAKva,UAAUuvB,OAAS,WACtB,OAAInuC,KAAKksC,YACAzO,GAAiB,EAAG,GAEtBA,MAWTtE,EAAKva,UAAUwvB,eAAiB,WAE1BpuC,KAAKwtC,mBAOPxtC,KAAKse,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,KAgBxE1U,EAAKva,UAAUguB,mBAAqB,WAClC,IAAIxQ,EAASp8B,KAsBbqrC,GAAOY,MAAMvnC,SAAQ,SAAUtC,GAC7B,IAAIiD,EAAQgmC,GAAOjpC,GACfisC,EAAmB,WACrBjS,EAAO9d,QAAQlc,EAAO,gBAGpBi9B,EAASjD,EAAO/2B,EAAMqmC,cAE1BrM,EAAO9hB,iBAAiB,cAAe8wB,GACvChP,EAAO9hB,iBAAiB,WAAY8wB,GAEpCjS,EAAO17B,GAAG,WAAW,WACnB2+B,EAAO7P,oBAAoB,cAAe6e,GAC1ChP,EAAO7P,oBAAoB,WAAY6e,UAa7ClV,EAAKva,UAAU0vB,iBAAmB,WAChC,IAAIC,EAASvuC,KAEb,IAAIwL,EAAO68B,OAOX,GAAIz8B,EAASsO,KAAKiR,SAASnrB,KAAKgR,MAAO,CAKrC,IAAKhR,KAAK62B,SAAS,WAAavQ,EAAQlE,IAAQ5d,OAAOC,KAAK2d,GAAK7R,OAAS,EAExE,YADAvQ,KAAKse,QAAQ,eAMf,IAAIkwB,EAAS5iC,EAASyY,cAAc,UAEpCmqB,EAAOhP,IAAMx/B,KAAK62B,SAAS,WAAa,iDACxC2X,EAAOC,OAAS,WAOdF,EAAOjwB,QAAQ,gBAEjBkwB,EAAOE,QAAU,WAOfH,EAAOjwB,QAAQ,eAEjBte,KAAKU,GAAG,WAAW,WACjB8tC,EAAOC,OAAS,KAChBD,EAAOE,QAAU,QAInBljC,EAAO68B,QAAS,EAChBroC,KAAKgR,KAAK2b,WAAW7B,YAAY0jB,QAEjCxuC,KAAK22B,MAAM32B,KAAKsuC,mBAUpBnV,EAAKva,UAAU8tB,kBAAoB,WACjC,IAAIiC,EAAS3uC,KAETq/B,EAASr/B,KAAKy/B,aACdmP,EAAe5uC,KAAK6uC,mBACpBC,EAAiB,SAAwBvkC,GAC3C,OAAO80B,EAAOuE,SAASr5B,EAAEo0B,QAEvBoQ,EAAoB,SAA2BxkC,GACjD,OAAO80B,EAAOwE,YAAYt5B,EAAEo0B,QAG9BiQ,EAAaluC,GAAG,WAAYouC,GAC5BF,EAAaluC,GAAG,cAAequC,GAE/B/uC,KAAKsuC,mBAEL,IAAIU,EAAgB,WAClB,OAAOL,EAAOrwB,QAAQ,oBAGpB2wB,EAAoB,WACtBD,IAEA,IAAK,IAAI7kC,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnBw0B,EAAMnP,oBAAoB,YAAawf,GACpB,YAAfrQ,EAAMiL,MACRjL,EAAMphB,iBAAiB,YAAayxB,KAK1CC,IACA5P,EAAO9hB,iBAAiB,SAAU0xB,GAClC5P,EAAO9hB,iBAAiB,WAAY0xB,GACpC5P,EAAO9hB,iBAAiB,cAAe0xB,GAEvCjvC,KAAKU,GAAG,WAAW,WACjBkuC,EAAavwB,IAAI,WAAYywB,GAC7BF,EAAavwB,IAAI,cAAe0wB,GAChC1P,EAAO7P,oBAAoB,SAAUyf,GACrC5P,EAAO7P,oBAAoB,WAAYyf,GACvC5P,EAAO7P,oBAAoB,cAAeyf,GAE1C,IAAK,IAAI9kC,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnBw0B,EAAMnP,oBAAoB,YAAawf,QAsB7C7V,EAAKva,UAAUswB,aAAe,SAAsBnK,EAAMpE,EAAOjJ,GAC/D,IAAKqN,EACH,MAAM,IAAIpjB,MAAM,mDAGlB,OAAOqqB,GAAkBhsC,KAAM+kC,EAAMpE,EAAOjJ,IA0B9CyB,EAAKva,UAAUuwB,sBAAwB,SAA+B5d,GACpE,IAAIoN,EAAQlI,GAAalF,EAAS,CAChC2N,KAAMl/B,OAGR,OAAO,IAAI4rC,GAAOE,aAAaN,WAAW7M,IAyB5CxF,EAAKva,UAAUghB,mBAAqB,WAClC,IAAIwP,EAASpvC,KAETuxB,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9E2lC,EAAgB3lC,UAAU,GAE1B4lC,EAAmBtvC,KAAKmvC,sBAAsB5d,GAmBlD,OAjBsB,IAAlB8d,IAA4C,IAAlBA,IAE5B7oB,EAAImB,KAAK,oKACT0nB,GAAgB,GAIlBrvC,KAAKuvC,qBAAqBpK,iBAAiBmK,GAC3CtvC,KAAK6uC,mBAAmBjL,SAAS0L,EAAiB3Q,QAE5B,IAAlB0Q,GAEFrvC,KAAK22B,OAAM,WACT,OAAOyY,EAAOzC,sBAAsB/I,SAAS0L,EAAiB3Q,UAI3D2Q,GAWTnW,EAAKva,UAAUmvB,sBAAwB,SAA+BpP,GACpE,IAAIyG,EAAeplC,KAAKuvC,qBAAqBlK,wBAAwB1G,GAGrE3+B,KAAKuvC,qBAAqBhK,oBAAoBH,GAC9CplC,KAAK6uC,mBAAmBhL,YAAYlF,GACpC3+B,KAAK2sC,sBAAsB9I,YAAYlF,IAgBzCxF,EAAKva,UAAU4wB,wBAA0B,WACvC,MAAO,IAUTrW,EAAKva,UAAU6wB,UAAY,aAS3BtW,EAAKva,UAAU8wB,YAAc,aAS7BvW,EAAKva,UAAU+wB,eAAiB,aAoBhCxW,EAAKva,UAAUgxB,YAAc,WAC3B,MAAO,IAeTzW,EAAKyW,YAAc,WACjB,MAAO,IAaTzW,EAAK0W,cAAgB,SAAuBC,EAAQve,GAClD,OAAO4H,EAAKyW,YAAYE,EAAOpsC,OAiBjCy1B,EAAKG,OAAS,SAAgBrsB,GAC5B,OAAOA,EAAU2R,qBAAqBua,GAAQlsB,aAAqBksB,GAAQlsB,IAAcksB,GAc3FA,EAAK4W,aAAe,SAAsB3tC,EAAM88B,GAK9C,GAJK/F,EAAK6W,SACR7W,EAAK6W,OAAS,KAGX7W,EAAKG,OAAO4F,GACf,MAAM,IAAIvd,MAAM,QAAUvf,EAAO,mBAGnC,IAAK+2B,EAAKyW,YACR,MAAM,IAAIjuB,MAAM,uDAElB,IAAKwX,EAAK0W,cACR,MAAM,IAAIluB,MAAM,yDAUlB,OAPAvf,EAAO+zB,GAAY/zB,GAEnB+2B,EAAK6W,OAAO5tC,GAAQ88B,EACP,SAAT98B,GAEF+2B,EAAK8W,kBAAkBr9B,KAAKxQ,GAEvB88B,GAcT/F,EAAK+W,QAAU,SAAiB9tC,GAC9B,GAAKA,EAML,OAFAA,EAAO+zB,GAAY/zB,GAEf+2B,EAAK6W,QAAU7W,EAAK6W,OAAO5tC,GACtB+2B,EAAK6W,OAAO5tC,GAGjBoJ,GAAUA,EAAO2kC,SAAW3kC,EAAO2kC,QAAQ/tC,IAC7CokB,EAAImB,KAAK,OAASvlB,EAAO,6GAClBoJ,EAAO2kC,QAAQ/tC,SAFxB,GAMK+2B,EAr6BE,CAs6BTzC,IAqCFqV,GAAIE,MAAMvnC,SAAQ,SAAUtC,GAC1B,IAAIiD,EAAQ0mC,GAAI3pC,GAEhB+2B,GAAKva,UAAUvZ,EAAMqmC,YAAc,WAEjC,OADA1rC,KAAKqF,EAAMsmC,aAAe3rC,KAAKqF,EAAMsmC,cAAgB,IAAItmC,EAAMkmC,UACxDvrC,KAAKqF,EAAMsmC,iBAkCtBxS,GAAKva,UAAUwxB,uBAAwB,EAQvCjX,GAAKva,UAAUyxB,qBAAsB,EASrClX,GAAKva,UAAU0xB,0BAA2B,EAW1CnX,GAAKva,UAAU2xB,sBAAuB,EAUtCpX,GAAKva,UAAUutB,wBAAyB,EAYxChT,GAAKva,UAAU4xB,mBAAoB,EAUnCrX,GAAKva,UAAUytB,0BAA2B,EAS1ClT,GAAKva,UAAU6tB,0BAA2B,EAc1CtT,GAAKsX,mBAAqB,SAAUC,GAWlCA,EAAMC,sBAAwB,SAAUC,EAASvoC,GAC/C,IAAIknB,EAAWmhB,EAAMG,eAEhBthB,IACHA,EAAWmhB,EAAMG,eAAiB,SAGtB7qB,IAAV3d,IAEFA,EAAQknB,EAAShf,QAGnBgf,EAASxe,OAAO1I,EAAO,EAAGuoC,IAa5BF,EAAMd,YAAc,SAAUlsC,GAI5B,IAHA,IAAI6rB,EAAWmhB,EAAMG,gBAAkB,GACnCC,OAAM,EAED3mC,EAAI,EAAGA,EAAIolB,EAAShf,OAAQpG,IAGnC,GAFA2mC,EAAMvhB,EAASplB,GAAGylC,YAAYlsC,GAE1BotC,EACF,OAAOA,EAIX,MAAO,IAkBTJ,EAAMK,oBAAsB,SAAU1qB,EAAQkL,GAI5C,IAHA,IAAIhC,EAAWmhB,EAAMG,gBAAkB,GACnCC,OAAM,EAED3mC,EAAI,EAAGA,EAAIolB,EAAShf,OAAQpG,IAGnC,GAFA2mC,EAAMvhB,EAASplB,GAAG6mC,gBAAgB3qB,EAAQkL,GAEtCuf,EACF,OAAOvhB,EAASplB,GAIpB,OAAO,MAeTumC,EAAMb,cAAgB,SAAUC,EAAQve,GACtC,IAAI0f,EAAKP,EAAMK,oBAAoBjB,EAAQve,GAE3C,OAAI0f,EACKA,EAAGD,gBAAgBlB,EAAQve,GAG7B,IAOT,IAAI2f,EAAa,CAAC,WAAY,UAAW,YAgBzCA,EAAWxsC,SAAQ,SAAUu4B,GAC3B,IAAIkU,EAAanxC,KAAKi9B,GAEI,oBAAfkU,IAIXnxC,KAAKi9B,GAAU,WACb,OAAIj9B,KAAKoxC,gBAAkBpxC,KAAKoxC,eAAenU,GACtCj9B,KAAKoxC,eAAenU,GAAQve,MAAM1e,KAAKoxC,eAAgB1nC,WAEzDynC,EAAWzyB,MAAM1e,KAAM0J,eAE/BgnC,EAAM9xB,WAUT8xB,EAAM9xB,UAAUyyB,UAAY,SAAUhrB,GACpC,IAAI4qB,EAAKP,EAAMK,oBAAoB1qB,EAAQrmB,KAAK62B,UAE3Coa,IAGCP,EAAMY,oBACRL,EAAKP,EAAMY,oBAEX9qB,EAAIoB,MAAM,mDAKd5nB,KAAKuxC,uBACLvxC,KAAKqe,IAAI,UAAWre,KAAKuxC,sBAErBN,IAAOP,EAAMY,sBACftxC,KAAKwxC,eAAiBnrB,GAGxBrmB,KAAKoxC,eAAiBH,EAAGQ,aAAaprB,EAAQrmB,KAAMA,KAAK62B,UACzD72B,KAAKU,GAAG,UAAWV,KAAKuxC,uBAQ1Bb,EAAM9xB,UAAU2yB,qBAAuB,WAIjCvxC,KAAKwxC,iBACPxxC,KAAK8tC,YAAY,CAAC,QAAS,UAC3B9tC,KAAKwxC,eAAiB,MAIxBxxC,KAAKguC,wBAEDhuC,KAAKoxC,iBAEHpxC,KAAKoxC,eAAezyB,SACtB3e,KAAKoxC,eAAezyB,UAGtB3e,KAAKoxC,eAAiB,QAO5B1a,GAAU4F,kBAAkB,OAAQnD,IACpCA,GAAK4W,aAAa,OAAQ5W,IAO1BA,GAAK8W,kBAAoB,GAEzB,IAAIyB,GAAc,GACdC,GAAsB,GAEtBC,GAAa,GAEjB,SAASC,GAAInuC,EAAMouC,GACjBJ,GAAYhuC,GAAQguC,GAAYhuC,IAAS,GACzCguC,GAAYhuC,GAAMkP,KAAKk/B,GAKzB,SAAST,GAAUpe,EAAQuM,EAAKuS,GAC9B9e,EAAOjmB,YAAW,WAChB,OAAOglC,GAAgBxS,EAAKkS,GAAYlS,EAAI97B,MAAOquC,EAAM9e,KACxD,GAGL,SAASgf,GAAQH,EAAY5S,GAC3B4S,EAAWptC,SAAQ,SAAUwtC,GAC3B,OAAOA,EAAGD,SAAWC,EAAGD,QAAQ/S,MAQpC,SAASiT,GAAML,EAAY5S,EAAMvV,GAC/B,OAAOmoB,EAAWM,YAAYC,GAAmB1oB,GAASuV,EAAKvV,MAOjE,SAAS2oB,GAAMR,EAAY5S,EAAMvV,EAAQ4oB,GACvC,OAAOrT,EAAKvV,GAAQmoB,EAAWhsB,OAAOusB,GAAmB1oB,GAAS4oB,IASpE,SAASC,GAAQV,EAAY5S,EAAMvV,GACjC,IAAI4oB,EAAM7oC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,KAE1E+oC,EAAa,OAAStc,GAAYxM,GAClC+oB,EAAkBZ,EAAWhsB,OAAOusB,GAAmBI,GAAaF,GACpEI,EAAaD,IAAoBd,GACjCrhB,EAAcoiB,EAAa,KAAOzT,EAAKvV,GAAQ+oB,GAInD,OAFAE,GAAad,EAAYnoB,EAAQ4G,EAAaoiB,GAEvCpiB,EAGT,IAAIsiB,GAAiB,CACnBlV,SAAU,EACVnhB,YAAa,EACbU,SAAU,EACV41B,SAAU,EACV3E,OAAQ,EACRhN,OAAQ,GAGN4R,GAAiB,CACnB3E,eAAgB,GAGd4E,GAAmB,CACrBv2B,KAAM,EACNC,MAAO,GAGT,SAAS21B,GAAmB1oB,GAC1B,OAAO,SAAUrnB,EAAO4vC,GAEtB,OAAI5vC,IAAUsvC,GACLA,GAGLM,EAAGvoB,GACEuoB,EAAGvoB,GAAQrnB,GAGbA,GAIX,SAASswC,GAAaK,EAAKtpB,EAAQrnB,EAAOqwC,GACxC,IAAK,IAAIxoC,EAAI8oC,EAAI1iC,OAAS,EAAGpG,GAAK,EAAGA,IAAK,CACxC,IAAI+nC,EAAKe,EAAI9oC,GAET+nC,EAAGvoB,IACLuoB,EAAGvoB,GAAQgpB,EAAYrwC,IAK7B,SAAS4wC,GAAoBjgB,GAC3B0e,GAAoB1e,EAAO9vB,MAAQ,KAQrC,SAASgwC,GAAmBlgB,EAAQmgB,GAClC,IAAIH,EAAMtB,GAAoB1e,EAAO9vB,MACjC+uC,EAAK,KAET,QAAYlsB,IAARitB,GAA6B,OAARA,EAGvB,OAFAf,EAAKkB,EAAUngB,GACf0e,GAAoB1e,EAAO9vB,MAAQ,CAAC,CAACiwC,EAAWlB,IACzCA,EAGT,IAAK,IAAI/nC,EAAI,EAAGA,EAAI8oC,EAAI1iC,OAAQpG,IAAK,CACnC,IAAIkpC,EAASJ,EAAI9oC,GACbmpC,EAAMD,EAAO,GACbE,EAAMF,EAAO,GAGbC,IAAQF,IAIZlB,EAAKqB,GAQP,OALW,OAAPrB,IACFA,EAAKkB,EAAUngB,GACfggB,EAAIrgC,KAAK,CAACwgC,EAAWlB,KAGhBA,EAGT,SAASF,KACP,IAAIxS,EAAM91B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC1EooC,EAAapoC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFqoC,EAAOroC,UAAU,GACjBupB,EAASvpB,UAAU,GACnBk1B,EAAMl1B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC1E8pC,EAAU9pC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,IAAmBA,UAAU,GACzE0pC,EAAYtB,EAAW,GACvB2B,EAAS3B,EAAWr9B,MAAM,GAI9B,GAAyB,kBAAd2+B,EACTpB,GAAgBxS,EAAKkS,GAAY0B,GAAYrB,EAAM9e,EAAQ2L,EAAK4U,QAI3D,GAAIJ,EAAW,CACpB,IAAIlB,EAAKiB,GAAmBlgB,EAAQmgB,GAGpC,IAAKlB,EAAGb,UAEN,OADAzS,EAAIhsB,KAAKs/B,GACFF,GAAgBxS,EAAKiU,EAAQ1B,EAAM9e,EAAQ2L,EAAK4U,GAGzDtB,EAAGb,UAAU91B,EAAO,GAAIikB,IAAM,SAAU9oB,EAAKg9B,GAI3C,GAAIh9B,EACF,OAAOs7B,GAAgBxS,EAAKiU,EAAQ1B,EAAM9e,EAAQ2L,EAAK4U,GAIzD5U,EAAIhsB,KAAKs/B,GAITF,GAAgB0B,EAAMlU,EAAI97B,OAASgwC,EAAKhwC,KAAO+vC,EAAS/B,GAAYgC,EAAKhwC,MAAOquC,EAAM9e,EAAQ2L,EAAK4U,WAE5FC,EAAOljC,OAChByhC,GAAgBxS,EAAKiU,EAAQ1B,EAAM9e,EAAQ2L,EAAK4U,GACvCA,EACTzB,EAAKvS,EAAKZ,GAEVoT,GAAgBxS,EAAKkS,GAAY,KAAMK,EAAM9e,EAAQ2L,GAAK,GAW9D,IAAI+U,GAAgB,CAClBC,KAAM,YACNC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,IAAK,mBACLC,IAAK,aACLC,IAAK,YACLC,IAAK,YACLC,KAAM,yBAYJC,GAAc,WAChB,IAAI9U,EAAM91B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE1E6qC,EAAM/M,GAAiBhI,GACvBgV,EAAWb,GAAcY,EAAIzzB,eAEjC,OAAO0zB,GAAY,IAgBjBC,GAAe,SAAsBxhB,EAAQuM,GAC/C,IAAKA,EACH,MAAO,GAIT,GAAIvM,EAAOyhB,OAAOruB,OAAOmZ,MAAQA,GAAOvM,EAAOyhB,OAAOruB,OAAO3iB,KAC3D,OAAOuvB,EAAOyhB,OAAOruB,OAAO3iB,KAI9B,IAAIixC,EAAkB1hB,EAAOyhB,OAAOvuB,QAAQ4B,QAAO,SAAU6sB,GAC3D,OAAOA,EAAEpV,MAAQA,KAGnB,GAAImV,EAAgBpkC,OAClB,OAAOokC,EAAgB,GAAGjxC,KAM5B,IAFA,IAAIyiB,EAAU8M,EAAOtE,GAAG,UAEfxkB,EAAI,EAAGA,EAAIgc,EAAQ5V,OAAQpG,IAAK,CACvC,IAAIyqC,EAAIzuB,EAAQhc,GAEhB,GAAIyqC,EAAElxC,MAAQkxC,EAAEpV,KAAOoV,EAAEpV,MAAQA,EAC/B,OAAOoV,EAAElxC,KAKb,OAAO4wC,GAAY9U,IAmBjBqV,GAAe,SAASA,EAAarV,GAEvC,GAAIr7B,MAAMC,QAAQo7B,GAAM,CACtB,IAAIsV,EAAS,GAEbtV,EAAI96B,SAAQ,SAAUqwC,GACpBA,EAASF,EAAaE,GAElB5wC,MAAMC,QAAQ2wC,GAChBD,EAASA,EAAO12B,OAAO22B,GACdnvB,EAASmvB,IAClBD,EAAOliC,KAAKmiC,MAIhBvV,EAAMsV,OAGNtV,EAFwB,kBAARA,GAAoBA,EAAI3f,OAElC,CAACm1B,GAAU,CAAExV,IAAKA,KACf5Z,EAAS4Z,IAA2B,kBAAZA,EAAIA,KAAoBA,EAAIA,KAAOA,EAAIA,IAAI3f,OAEtE,CAACm1B,GAAUxV,IAGX,GAGR,OAAOA,GAWT,SAASwV,GAAUxV,GACjB,IAAIgV,EAAWF,GAAY9U,EAAIA,KAM/B,OAJKA,EAAI97B,MAAQ8wC,IACfhV,EAAI97B,KAAO8wC,GAGNhV,EAaT,IAAIyV,GAAc,SAAU/U,GAe1B,SAAS+U,EAAYhiB,EAAQ1B,EAASoF,GACpC/R,EAAe5kB,KAAMi1C,GAGrB,IAAIpe,EAAWJ,GAAa,CAAE3M,UAAU,GAASyH,GAK7C/nB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ4D,EAAUF,IAEpF,GAAKpF,EAAQyH,cAAc7S,SAAoD,IAAzCoL,EAAQyH,cAAc7S,QAAQ5V,OAsBlE0iB,EAAOuM,IAAIjO,EAAQyH,cAAc7S,cArBjC,IAAK,IAAIhc,EAAI,EAAG+qC,EAAI3jB,EAAQyH,cAAcmc,UAAWhrC,EAAI+qC,EAAE3kC,OAAQpG,IAAK,CACtE,IAAIirC,EAAWjf,GAAY+e,EAAE/qC,IACzB+0B,EAAO/F,GAAK+W,QAAQkF,GASxB,GALKA,IACHlW,EAAOxI,GAAU+B,aAAa2c,IAI5BlW,GAAQA,EAAKmW,cAAe,CAC9BpiB,EAAOqiB,UAAUF,GACjB,OAUN,OAAO5rC,EAGT,OApDAub,EAASkwB,EAAa/U,GAoDf+U,EArDS,CAsDhBve,IAEFA,GAAU4F,kBAAkB,cAAe2Y,IAY3C,IAAIM,GAAqB,SAAUrV,GAYjC,SAASqV,EAAmBtiB,EAAQ1B,GAClC3M,EAAe5kB,KAAMu1C,GAErB,IAAI/rC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAK1E,OAHA/nB,EAAMwxB,gBAENxxB,EAAM4e,SACC5e,EAoPT,OAvQAub,EAASwwB,EAAoBrV,GAuC7BqV,EAAmB32B,UAAUkL,SAAW,WACtC,IAAIlf,EAAMlB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,MAC1ErE,EAAQqE,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5EugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAErFrE,EAAQkW,EAAO,CACb8rB,UAAW,gEACXhe,UAAWrpB,KAAKu5B,gBAChBmH,SAAU,GACTr7B,GAES,WAARuF,GACF4b,EAAIoB,MAAM,yDAA2Dhd,EAAM,4CAI7Eqf,EAAa1O,EAAO,CAClBglB,KAAM,UACLtW,GAEHjqB,KAAKw1C,UAAYnwC,EAAMq7B,SAEvB,IAAI1vB,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM4K,EAAKvF,EAAO4kB,GAI9D,OAFAjqB,KAAKy1C,oBAAoBzkC,GAElBA,GAGTukC,EAAmB32B,UAAUD,QAAU,WAErC3e,KAAK01C,eAAiB,KAEtBxV,EAAWthB,UAAUD,QAAQF,KAAKze,OAcpCu1C,EAAmB32B,UAAU62B,oBAAsB,SAA6BzkC,GAc9E,OAbAhR,KAAK01C,eAAiB5rB,GAAS,OAAQ,CACrCT,UAAW,oBACV,CAED,YAAa,WAGXrY,GACFA,EAAG8Z,YAAY9qB,KAAK01C,gBAGtB11C,KAAK4hC,YAAY5hC,KAAK21C,aAAc3kC,GAE7BhR,KAAK01C,gBAiBdH,EAAmB32B,UAAUgjB,YAAc,SAAqBpX,GAC9D,IAAIxZ,EAAKtH,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK1J,KAAKgR,KAElF,QAAagV,IAATwE,EACF,OAAOxqB,KAAK21C,cAAgB,YAG9B,IAAIC,EAAgB51C,KAAKu3B,SAAS/M,GAElCxqB,KAAK21C,aAAenrB,EACpBH,GAAYrqB,KAAK01C,eAAgBE,GAC5B51C,KAAK61C,gBAER7kC,EAAGgM,aAAa,QAAS44B,IAY7BL,EAAmB32B,UAAU2a,cAAgB,WAC3C,MAAO,0BAA4B2G,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAQ7Eu1C,EAAmB32B,UAAUwJ,OAAS,WAC/BpoB,KAAK81C,WACR91C,KAAK81C,UAAW,EAChB91C,KAAKurB,YAAY,gBACjBvrB,KAAKg3B,IAAIha,aAAa,gBAAiB,SACT,qBAAnBhd,KAAKw1C,WACdx1C,KAAKg3B,IAAIha,aAAa,WAAYhd,KAAKw1C,WAEzCx1C,KAAKU,GAAG,CAAC,MAAO,SAAUV,KAAK+1C,aAC/B/1C,KAAKU,GAAG,QAASV,KAAKg2C,aACtBh2C,KAAKU,GAAG,OAAQV,KAAKi2C,cASzBV,EAAmB32B,UAAUuJ,QAAU,WACrCnoB,KAAK81C,UAAW,EAChB91C,KAAKorB,SAAS,gBACdprB,KAAKg3B,IAAIha,aAAa,gBAAiB,QACT,qBAAnBhd,KAAKw1C,WACdx1C,KAAKg3B,IAAI/K,gBAAgB,YAE3BjsB,KAAKqe,IAAI,CAAC,MAAO,SAAUre,KAAK+1C,aAChC/1C,KAAKqe,IAAI,QAASre,KAAKg2C,aACvBh2C,KAAKqe,IAAI,OAAQre,KAAKi2C,aA2BxBV,EAAmB32B,UAAUm3B,YAAc,SAAqB1uC,KAchEkuC,EAAmB32B,UAAUo3B,YAAc,SAAqB3uC,GAC9D3G,GAAGkL,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAc1C0U,EAAmB32B,UAAUiiB,eAAiB,SAAwBx5B,GAGhD,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKse,QAAQ,UACJ4hB,EAAWthB,UAAUiiB,gBAG9BX,EAAWthB,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAenDkuC,EAAmB32B,UAAUq3B,WAAa,SAAoB5uC,GAC5DgX,GAAIzS,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAGpC0U,EAxQgB,CAyQvB7e,IAEFA,GAAU4F,kBAAkB,qBAAsBiZ,IAWlD,IAAIW,GAAc,SAAUC,GAY1B,SAASD,EAAYjjB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMk2C,GAErB,IAAI1sC,EAAQ8b,EAA0BtlB,KAAMm2C,EAAoB13B,KAAKze,KAAMizB,EAAQ1B,IAInF,OAFA/nB,EAAM4sC,SACNnjB,EAAOvyB,GAAG,eAAgBwO,GAAK1F,EAAOA,EAAM4sC,SACrC5sC,EAmHT,OArIAub,EAASmxB,EAAaC,GA0BtBD,EAAYt3B,UAAUD,QAAU,WAC9B3e,KAAKizB,SAAS5U,IAAI,eAAgBre,KAAKo2C,QACvCD,EAAoBv3B,UAAUD,QAAQF,KAAKze,OAW7Ck2C,EAAYt3B,UAAUkL,SAAW,WAC/B,IAAI9Y,EAAK8Y,GAAS,MAAO,CACvBT,UAAW,aAGXqX,UAAW,IAYb,OALKtc,IACHpkB,KAAKq2C,aAAevsB,GAAS,OAC7B9Y,EAAG8Z,YAAY9qB,KAAKq2C,eAGfrlC,GAaTklC,EAAYt3B,UAAUw3B,OAAS,SAAgB/uC,GAC7C,IAAIqF,EAAM1M,KAAKizB,SAAS9xB,SAExBnB,KAAKs2C,OAAO5pC,GAIRA,EACF1M,KAAK65B,OAEL75B,KAAK85B,QAYToc,EAAYt3B,UAAU03B,OAAS,SAAgB5pC,GAC7C,GAAI1M,KAAKq2C,aACPr2C,KAAKq2C,aAAa7W,IAAM9yB,MACnB,CACL,IAAI6pC,EAAkB,GAIlB7pC,IACF6pC,EAAkB,QAAU7pC,EAAM,MAGpC1M,KAAKg3B,IAAIv1B,MAAM80C,gBAAkBA,IAiBrCL,EAAYt3B,UAAUm3B,YAAc,SAAqB1uC,GAElDrH,KAAK42B,QAAQnd,aAIdzZ,KAAK42B,QAAQuK,SACf1C,GAAez+B,KAAK42B,QAAQna,QAE5Bzc,KAAK42B,QAAQla,UAIVw5B,EAtIS,CAuIhBX,IAEF7e,GAAU4F,kBAAkB,cAAe4Z,IAK3C,IAAIM,GAAW,OACXC,GAAY,OACZC,GAAU,CACZC,UAAW,YACXC,UAAW,aACXC,MAAO,QACPC,mBAAoB,6CACpBC,eAAgB,2BAChBC,sBAAuB,aACvBC,kBAAmB,QACnBC,OAAQ,mCACR1I,OAAQ,8BACR2I,UAAW,0DAeb,SAASC,GAAe1sC,EAAO7I,GAC7B,IAAIw1C,OAAM,EAEV,GAAqB,IAAjB3sC,EAAM6F,OAER8mC,EAAM3sC,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,OAC9D,IAAqB,IAAjBA,EAAM6F,OAIf,MAAM,IAAIoR,MAAM,gCAAkCjX,EAAQ,gDAF1D2sC,EAAM3sC,EAAM+J,MAAM,GAIpB,MAAO,QAAU8lB,SAAS8c,EAAI5iC,MAAM,EAAG,GAAI,IAAM,IAAM8lB,SAAS8c,EAAI5iC,MAAM,EAAG,GAAI,IAAM,IAAM8lB,SAAS8c,EAAI5iC,MAAM,EAAG,GAAI,IAAM,IAAM5S,EAAU,IAkB/I,SAASy1C,GAAetmC,EAAIvP,EAAOk5B,GACjC,IACE3pB,EAAGvP,MAAMA,GAASk5B,EAClB,MAAOpwB,GAGP,QAUJ,IAAIgtC,GAAmB,SAAUrX,GAe/B,SAASqX,EAAiBtkB,EAAQ1B,EAASoF,GACzC/R,EAAe5kB,KAAMu3C,GAErB,IAAI/tC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAE/E6gB,EAAuBtoC,GAAK1F,EAAOA,EAAMwlC,eAkC7C,OAhCA/b,EAAOvyB,GAAG,YAAawO,GAAK1F,EAAOA,EAAMiuC,gBACzCxkB,EAAOvyB,GAAG,kBAAmB82C,GAC7BvkB,EAAOvyB,GAAG,YAAawO,GAAK1F,EAAOA,EAAMkuC,iBAMzCzkB,EAAO0D,MAAMznB,GAAK1F,GAAO,WACvB,GAAIypB,EAAOqW,OAASrW,EAAOqW,MAAMmD,yBAC/BzsC,KAAK85B,WADP,CAKA7G,EAAOvyB,GAAG,mBAAoB82C,GAC9BvkB,EAAOvyB,GAAG,eAAgB82C,GAEtBhsC,EAAO+R,kBACT/R,EAAO+R,iBAAiB,oBAAqBi6B,GAE/CvkB,EAAOvyB,GAAG,WAAW,WACnB,OAAO8K,EAAOgkB,oBAAoB,oBAAqBgoB,MAKzD,IAFA,IAAInY,EAASr/B,KAAK62B,SAASmC,cAAcqG,QAAU,GAE1Cl1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IACjCnK,KAAK42B,QAAQgJ,mBAAmBP,EAAOl1B,IAAI,GAG7CnK,KAAK03C,sBAEAluC,EAgPT,OArSAub,EAASwyB,EAAkBrX,GAmE3BqX,EAAiB34B,UAAU84B,eAAiB,WAQ1C,IAPA,IAAIC,EAAQ,CAAE1R,SAAU,EAAGG,UAAW,GAClCwR,EAAY53C,KAAK42B,QAAQ6I,aACzBoY,EAAW73C,KAAK42B,QAAQ8d,OAAOoD,iBAC/BC,OAAY,EACZC,OAAgB,EAChBC,OAAiB,EAEZ9tC,EAAI,EAAGA,EAAIytC,EAAUrnC,OAAQpG,IAAK,CACzC,IAAIw0B,EAAQiZ,EAAUztC,GAElB0tC,GAAYA,EAASxT,SAAWwT,EAASngB,WAAaiH,EAAMjH,SAE1DiH,EAAMoG,OAAS8S,EAAS9S,KAC1BkT,EAAiBtZ,EAEPsZ,IACVA,EAAiBtZ,GAIVkZ,IAAaA,EAASxT,SAC/B4T,EAAiB,KACjBF,EAAY,KACZC,EAAgB,MACPrZ,EAAM,aACI,iBAAfA,EAAMoG,MAA4BgT,EAE3BpZ,EAAMoG,QAAQ4S,IAAUK,IACjCA,EAAgBrZ,GAFhBoZ,EAAYpZ,GAWdsZ,EACFA,EAAerO,KAAO,UACboO,EACTA,EAAcpO,KAAO,UACZmO,IACTA,EAAUnO,KAAO,YAcrB2N,EAAiB34B,UAAU64B,cAAgB,WACrCz3C,KAAK42B,QAAQ0S,OAAStpC,KAAK42B,QAAQ0S,MAAMmD,yBAC3CzsC,KAAK85B,OAEL95B,KAAK65B,QAYT0d,EAAiB34B,UAAUkL,SAAW,WACpC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,0BACV,CACD,YAAa,MACb,cAAe,UASnBkuB,EAAiB34B,UAAUs5B,aAAe,WACX,oBAAlB1sC,EAAO68B,QAChB78B,EAAO68B,OAAO8P,YAAY3sC,EAAQ,GAAIxL,KAAKg3B,MAa/CugB,EAAiB34B,UAAUowB,cAAgB,WACzC,IAAI3P,EAASr/B,KAAK42B,QAAQ6I,aAE1Bz/B,KAAKk4C,eAML,IAAIE,EAAoB,KACpBC,EAAyB,KACzBluC,EAAIk1B,EAAO9uB,OAEf,MAAOpG,IAAK,CACV,IAAIw0B,EAAQU,EAAOl1B,GAEA,YAAfw0B,EAAMiL,OACW,iBAAfjL,EAAMoG,KACRqT,EAAoBzZ,EAEpB0Z,EAAyB1Z,GAK3B0Z,GACqC,QAAnCr4C,KAAKqsB,aAAa,cACpBrsB,KAAKgd,aAAa,YAAa,OAEjChd,KAAKs4C,eAAeD,IACXD,IAC8B,cAAnCp4C,KAAKqsB,aAAa,cACpBrsB,KAAKgd,aAAa,YAAa,aAEjChd,KAAKs4C,eAAeF,KAYxBb,EAAiB34B,UAAU05B,eAAiB,SAAwB3Z,GAClE,GAA6B,oBAAlBnzB,EAAO68B,QAA0B1J,EAAMqL,WAAlD,CAMA,IAFA,IAAInL,EAAO,GAEFnM,EAAK,EAAGA,EAAKiM,EAAMqL,WAAWz5B,OAAQmiB,IAC7CmM,EAAKjsB,KAAK+rB,EAAMqL,WAAWtX,IAK7B,GAFAlnB,EAAO68B,OAAO8P,YAAY3sC,EAAQqzB,EAAM7+B,KAAKg3B,KAExCh3B,KAAK42B,QAAQ2hB,kBAAlB,CAIA,IAAIC,EAAYx4C,KAAK42B,QAAQ2hB,kBAAkBE,YAE3CtuC,EAAI00B,EAAKtuB,OAEb,MAAOpG,IAAK,CACV,IAAI20B,EAAMD,EAAK10B,GAEf,GAAK20B,EAAL,CAIA,IAAI4Z,EAAS5Z,EAAI6Z,aAgCjB,GA9BIH,EAAU9tC,QACZguC,EAAO9tB,WAAWnpB,MAAMiJ,MAAQ8tC,EAAU9tC,OAExC8tC,EAAUI,aACZtB,GAAeoB,EAAO9tB,WAAY,QAASwsB,GAAeoB,EAAU9tC,OAAS,OAAQ8tC,EAAUI,cAE7FJ,EAAUK,kBACZH,EAAO9tB,WAAWnpB,MAAMo3C,gBAAkBL,EAAUK,iBAElDL,EAAUM,mBACZxB,GAAeoB,EAAO9tB,WAAY,kBAAmBwsB,GAAeoB,EAAUK,iBAAmB,OAAQL,EAAUM,oBAEjHN,EAAUO,cACRP,EAAUQ,cACZ1B,GAAeoB,EAAQ,kBAAmBtB,GAAeoB,EAAUO,YAAaP,EAAUQ,gBAE1FN,EAAOj3C,MAAMo3C,gBAAkBL,EAAUO,aAGzCP,EAAUS,YACgB,eAAxBT,EAAUS,UACZP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,eAAiB1C,GAAW,iBAAmBA,GAAW,iBAAmBA,GACjF,WAAxBgC,EAAUS,UACnBP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,WAAa1C,GAAW,aAAeA,GAAW,aAAeA,GACrE,cAAxBgC,EAAUS,UACnBP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,WAAazC,GAAY,WAAaA,GAAY,eAAiBD,GAAW,YAAcA,GAChG,YAAxBgC,EAAUS,YACnBP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,WAAa1C,GAAW,aAAeA,GAAW,aAAeA,GAAW,aAAeA,KAGhIgC,EAAUW,aAAyC,IAA1BX,EAAUW,YAAmB,CACxD,IAAIC,EAAW5tC,EAAOkX,WAAWg2B,EAAOj3C,MAAM23C,UAE9CV,EAAOj3C,MAAM23C,SAAWA,EAAWZ,EAAUW,YAAc,KAC3DT,EAAOj3C,MAAME,OAAS,OACtB+2C,EAAOj3C,MAAMiH,IAAM,OACnBgwC,EAAOj3C,MAAM4O,OAAS,MAEpBmoC,EAAUa,YAAuC,YAAzBb,EAAUa,aACP,eAAzBb,EAAUa,WACZX,EAAO9tB,WAAWnpB,MAAM63C,YAAc,aAEtCZ,EAAO9tB,WAAWnpB,MAAM43C,WAAa3C,GAAQ8B,EAAUa,kBAMxD9B,EAtSc,CAuSrB7gB,IAEFA,GAAU4F,kBAAkB,mBAAoBib,IAWhD,IAAIgC,GAAiB,SAAUrZ,GAG7B,SAASqZ,IAEP,OADA30B,EAAe5kB,KAAMu5C,GACdj0B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YA2BhE,OA/BAqb,EAASw0B,EAAgBrZ,GAazBqZ,EAAe36B,UAAUkL,SAAW,WAClC,IAAI0vB,EAAUx5C,KAAK42B,QAAQ4iB,UACvBC,EAAaz5C,KAAKu3B,SAASiiB,EAAU,eAAiB,gBACtD5X,EAAc9X,GAAS,OAAQ,CACjCT,UAAW,mBACXge,UAAWrnC,KAAKu3B,SAAS,kBAAmB,CAACkiB,MAG3CzoC,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDqpB,UAAW,sBACXqwB,IAAK,QAKP,OAFA1oC,EAAG8Z,YAAY8W,GAER5wB,GAGFuoC,EAhCY,CAiCnB7iB,IAEFA,GAAU4F,kBAAkB,iBAAkBid,IAW9C,IAAII,GAAS,SAAUxD,GAGrB,SAASwD,IAEP,OADA/0B,EAAe5kB,KAAM25C,GACdr0B,EAA0BtlB,KAAMm2C,EAAoBz3B,MAAM1e,KAAM0J,YAqHzE,OAzHAqb,EAAS40B,EAAQxD,GAuBjBwD,EAAO/6B,UAAUkL,SAAW,SAAkBlf,GAC5C,IAAIvF,EAAQqE,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5EugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAErFkB,EAAM,SAENvF,EAAQkW,EAAO,CACb8rB,UAAW,gEACXhe,UAAWrpB,KAAKu5B,iBACfl0B,GAGH4kB,EAAa1O,EAAO,CAGlB7X,KAAM,UACLumB,GAEH,IAAIjZ,EAAK0lB,GAAU9X,UAAUkL,SAASrL,KAAKze,KAAM4K,EAAKvF,EAAO4kB,GAI7D,OAFAjqB,KAAKy1C,oBAAoBzkC,GAElBA,GAqBT2oC,EAAO/6B,UAAUwZ,SAAW,SAAkBzN,GAC5C,IAAI4G,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE9E2f,EAAYrpB,KAAK2kB,YAAYviB,KAKjC,OAHAokB,EAAImB,KAAK,+DAAiE0B,EAAY,yDAG/EqN,GAAU9X,UAAUwZ,SAAS3Z,KAAKze,KAAM2qB,EAAO4G,IASxDooB,EAAO/6B,UAAUwJ,OAAS,WACxB+tB,EAAoBv3B,UAAUwJ,OAAO3J,KAAKze,MAC1CA,KAAKg3B,IAAI/K,gBAAgB,aAS3B0tB,EAAO/6B,UAAUuJ,QAAU,WACzBguB,EAAoBv3B,UAAUuJ,QAAQ1J,KAAKze,MAC3CA,KAAKg3B,IAAIha,aAAa,WAAY,aAcpC28B,EAAO/6B,UAAUiiB,eAAiB,SAAwBx5B,GAGpC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAKhCslB,EAAoBv3B,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAGnDsyC,EA1HI,CA2HXpE,IAEF7e,GAAU4F,kBAAkB,SAAUqd,IAYtC,IAAIC,GAAgB,SAAUC,GAG5B,SAASD,EAAc3mB,EAAQ1B,GAC7B3M,EAAe5kB,KAAM45C,GAErB,IAAIpwC,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAKvE,OAHA/nB,EAAMswC,YAAa,EAEnBtwC,EAAM9I,GAAG,YAAa8I,EAAMuwC,iBACrBvwC,EAkET,OA5EAub,EAAS60B,EAAeC,GAqBxBD,EAAch7B,UAAU2a,cAAgB,WACtC,MAAO,uBAgBTqgB,EAAch7B,UAAUm3B,YAAc,SAAqB1uC,GACzD,IAAI2yC,EAAch6C,KAAK42B,QAAQna,OAG/B,GAAIzc,KAAK85C,YAAczyC,EAAMsB,SAAWtB,EAAMoB,QAC5Cg2B,GAAeub,OADjB,CAKA,IAAI99B,EAAKlc,KAAK42B,QAAQuB,SAAS,cAC3B8hB,EAAa/9B,GAAMA,EAAGic,SAAS,cAEnC,GAAK8hB,EAAL,CAKA,IAAIC,EAAY,WACd,OAAOD,EAAWztB,SAGhBgS,GAAUwb,GACZA,EAAYhuC,KAAKkuC,GAAW,eAE5Bl6C,KAAKgN,WAAWktC,EAAW,QAX3Bl6C,KAAK42B,QAAQpK,UAejBotB,EAAch7B,UAAUiiB,eAAiB,SAAwBx5B,GAC/DrH,KAAK85C,YAAa,EAElBD,EAAQj7B,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAG9CuyC,EAAch7B,UAAUm7B,gBAAkB,SAAyB1yC,GACjErH,KAAK85C,YAAa,GAGbF,EA7EW,CA8ElBD,IAUFC,GAAch7B,UAAU+2B,aAAe,aAEvCjf,GAAU4F,kBAAkB,gBAAiBsd,IAY7C,IAAIO,GAAc,SAAUN,GAY1B,SAASM,EAAYlnB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMm6C,GAErB,IAAI3wC,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAGvE,OADA/nB,EAAMo4B,YAAYrQ,GAAWA,EAAQqQ,aAAep4B,EAAM+tB,SAAS,UAC5D/tB,EA6CT,OA9DAub,EAASo1B,EAAaN,GA4BtBM,EAAYv7B,UAAU2a,cAAgB,WACpC,MAAO,oBAAsBsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAkBpEm6C,EAAYv7B,UAAUm3B,YAAc,SAAqB1uC,GAYvDrH,KAAKse,QAAQ,CAAE5a,KAAM,QAASouB,SAAS,KAGlCqoB,EA/DS,CAgEhBR,IAEFjjB,GAAU4F,kBAAkB,cAAe6d,IAW3C,IAAIC,GAAa,SAAUP,GAYzB,SAASO,EAAWnnB,EAAQ1B,GAC1B3M,EAAe5kB,KAAMo6C,GAErB,IAAI5wC,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAKvE,OAHA/nB,EAAM9I,GAAGuyB,EAAQ,OAAQzpB,EAAM6wC,YAC/B7wC,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM8wC,aAChC9wC,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM+wC,aACzB/wC,EAgHT,OAnIAub,EAASq1B,EAAYP,GA8BrBO,EAAWx7B,UAAU2a,cAAgB,WACnC,MAAO,oBAAsBsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAgBpEo6C,EAAWx7B,UAAUm3B,YAAc,SAAqB1uC,GAClDrH,KAAK42B,QAAQuK,SACfnhC,KAAK42B,QAAQna,OAEbzc,KAAK42B,QAAQla,SAejB09B,EAAWx7B,UAAU47B,aAAe,SAAsBnzC,GACxDrH,KAAKurB,YAAY,aAEbvrB,KAAK42B,QAAQuK,SACfnhC,KAAKs6C,YAAYjzC,GAEjBrH,KAAKq6C,WAAWhzC,IAcpB+yC,EAAWx7B,UAAUy7B,WAAa,SAAoBhzC,GACpDrH,KAAKurB,YAAY,aACjBvrB,KAAKurB,YAAY,cACjBvrB,KAAKorB,SAAS,eAEdprB,KAAK4hC,YAAY,UAanBwY,EAAWx7B,UAAU07B,YAAc,SAAqBjzC,GACtDrH,KAAKurB,YAAY,eACjBvrB,KAAKorB,SAAS,cAEdprB,KAAK4hC,YAAY,SAanBwY,EAAWx7B,UAAU27B,YAAc,SAAqBlzC,GACtDrH,KAAKurB,YAAY,eACjBvrB,KAAKorB,SAAS,aAEdprB,KAAK4hC,YAAY,UAGjB5hC,KAAKgyB,IAAIhyB,KAAK42B,QAAS,SAAU52B,KAAKw6C,eAGjCJ,EApIQ,CAqIfT,IAUFS,GAAWx7B,UAAU+2B,aAAe,OAEpCjf,GAAU4F,kBAAkB,aAAc8d,IAoB1C,IAAIK,GAAwB,SAA+BC,EAASC,GAClED,EAAUA,EAAU,EAAI,EAAIA,EAC5B,IAAI9F,EAAIzrC,KAAKyxC,MAAMF,EAAU,IACzBrpB,EAAIloB,KAAKyxC,MAAMF,EAAU,GAAK,IAC9BjxC,EAAIN,KAAKyxC,MAAMF,EAAU,MACzBG,EAAK1xC,KAAKyxC,MAAMD,EAAQ,GAAK,IAC7BG,EAAK3xC,KAAKyxC,MAAMD,EAAQ,MAmB5B,OAhBII,MAAML,IAAYA,IAAYM,OAGhCvxC,EAAI4nB,EAAIujB,EAAI,KAIdnrC,EAAIA,EAAI,GAAKqxC,EAAK,EAAIrxC,EAAI,IAAM,GAIhC4nB,IAAM5nB,GAAKoxC,GAAM,KAAOxpB,EAAI,GAAK,IAAMA,EAAIA,GAAK,IAGhDujB,EAAIA,EAAI,GAAK,IAAMA,EAAIA,EAEhBnrC,EAAI4nB,EAAIujB,GAGbqG,GAAiBR,GASrB,SAASS,GAAcC,GACrBF,GAAiBE,EAMnB,SAASC,KACPH,GAAiBR,GAGnB,IAAIY,GAAa,SAAUX,GACzB,IAAIC,EAAQjxC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAKgxC,EAEhF,OAAOO,GAAeP,EAASC,IAY7BW,GAAc,SAAUpb,GAY1B,SAASob,EAAYroB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMs7C,GAErB,IAAI9xC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAI1E,OAFA/nB,EAAM+xC,uBAAyB7nB,GAASxkB,GAAK1F,EAAOA,EAAMgyC,eAAgB,IAC1EhyC,EAAM9I,GAAGuyB,EAAQ,aAAczpB,EAAM+xC,wBAC9B/xC,EA8GT,OAhIAub,EAASu2B,EAAapb,GA6BtBob,EAAY18B,UAAUkL,SAAW,SAAqB2xB,GACpD,IAAIpyB,EAAYrpB,KAAKu5B,gBACjBvoB,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDqpB,UAAWA,EAAY,gCACvBge,UAAW,kCAAoCrnC,KAAKu3B,SAASv3B,KAAK07C,YAAc,aAYlF,OATA17C,KAAKi4B,WAAanO,GAAS,OAAQ,CACjCT,UAAWA,EAAY,YACtB,CAED,YAAa,QAGfrpB,KAAK27C,kBACL3qC,EAAG8Z,YAAY9qB,KAAKi4B,YACbjnB,GAGTsqC,EAAY18B,UAAUD,QAAU,WAC9B3e,KAAKi4B,WAAa,KAClBj4B,KAAK47C,UAAY,KAEjB1b,EAAWthB,UAAUD,QAAQF,KAAKze,OAWpCs7C,EAAY18B,UAAU+8B,gBAAkB,WACtC,GAAK37C,KAAKi4B,WAAV,CAIA,MAAOj4B,KAAKi4B,WAAWrN,WACrB5qB,KAAKi4B,WAAW/J,YAAYluB,KAAKi4B,WAAWrN,YAG9C5qB,KAAK47C,UAAYhwC,EAASwiB,eAAepuB,KAAK67C,gBAAkB77C,KAAK87C,YAAY,IACjF97C,KAAKi4B,WAAWnN,YAAY9qB,KAAK47C,aAgBnCN,EAAY18B,UAAUk9B,YAAc,SAAqBnmC,GACvD,OAAO0lC,GAAW1lC,IAcpB2lC,EAAY18B,UAAUm9B,qBAAuB,SAA8BpmC,GACzE,IAAIqmC,EAAgBh8C,KAAK87C,YAAYnmC,GAEjCqmC,IAAkBh8C,KAAK67C,iBAI3B77C,KAAK67C,eAAiBG,EACtBh8C,KAAKsP,sBAAsBtP,KAAK27C,mBAclCL,EAAY18B,UAAU48B,cAAgB,SAAuBn0C,KAEtDi0C,EAjIS,CAkIhB5kB,IAUF4kB,GAAY18B,UAAU88B,WAAa,OAUnCJ,GAAY18B,UAAU+2B,aAAe,OAErCjf,GAAU4F,kBAAkB,cAAegf,IAW3C,IAAIW,GAAqB,SAAUC,GAYjC,SAASD,EAAmBhpB,EAAQ1B,GAClC3M,EAAe5kB,KAAMi8C,GAErB,IAAIzyC,EAAQ8b,EAA0BtlB,KAAMk8C,EAAaz9B,KAAKze,KAAMizB,EAAQ1B,IAG5E,OADA/nB,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM+wC,aACzB/wC,EAmDT,OApEAub,EAASk3B,EAAoBC,GA4B7BD,EAAmBr9B,UAAU2a,cAAgB,WAC3C,MAAO,oBAaT0iB,EAAmBr9B,UAAU48B,cAAgB,SAAuBn0C,GAElE,IAAIsO,EAAO3V,KAAK42B,QAAQulB,YAAcn8C,KAAK42B,QAAQwlB,WAAW5/B,YAAcxc,KAAK42B,QAAQpa,cAEzFxc,KAAK+7C,qBAAqBpmC,IAe5BsmC,EAAmBr9B,UAAU27B,YAAc,SAAqBlzC,GACzDrH,KAAK42B,QAAQ1Z,YAGlBld,KAAK+7C,qBAAqB/7C,KAAK42B,QAAQ1Z,aAGlC++B,EArEgB,CAsEvBX,IAUFW,GAAmBr9B,UAAU88B,WAAa,eAU1CO,GAAmBr9B,UAAU+2B,aAAe,eAE5Cjf,GAAU4F,kBAAkB,qBAAsB2f,IAWlD,IAAII,GAAkB,SAAUH,GAY9B,SAASG,EAAgBppB,EAAQ1B,GAC/B3M,EAAe5kB,KAAMq8C,GAKrB,IAAI7yC,EAAQ8b,EAA0BtlB,KAAMk8C,EAAaz9B,KAAKze,KAAMizB,EAAQ1B,IAQ5E,OANA/nB,EAAM9I,GAAGuyB,EAAQ,iBAAkBzpB,EAAMgyC,eAKzChyC,EAAM9I,GAAGuyB,EAAQ,iBAAkBzpB,EAAM+xC,wBAClC/xC,EAqCT,OA9DAub,EAASs3B,EAAiBH,GAoC1BG,EAAgBz9B,UAAU2a,cAAgB,WACxC,MAAO,gBAgBT8iB,EAAgBz9B,UAAU48B,cAAgB,SAAuBn0C,GAC/D,IAAI6V,EAAWld,KAAK42B,QAAQ1Z,WAExBA,GAAYld,KAAKutC,YAAcrwB,IACjCld,KAAKutC,UAAYrwB,EACjBld,KAAK+7C,qBAAqB7+B,KAIvBm/B,EA/Da,CAgEpBf,IAUFe,GAAgBz9B,UAAU88B,WAAa,WAUvCW,GAAgBz9B,UAAU+2B,aAAe,WAEzCjf,GAAU4F,kBAAkB,kBAAmB+f,IAY/C,IAAIC,GAAc,SAAUpc,GAG1B,SAASoc,IAEP,OADA13B,EAAe5kB,KAAMs8C,GACdh3B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAgBhE,OApBAqb,EAASu3B,EAAapc,GAatBoc,EAAY19B,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,oCACXge,UAAW,+BAIRiV,EArBS,CAsBhB5lB,IAEFA,GAAU4F,kBAAkB,cAAeggB,IAW3C,IAAIC,GAAuB,SAAUL,GAYnC,SAASK,EAAqBtpB,EAAQ1B,GACpC3M,EAAe5kB,KAAMu8C,GAErB,IAAI/yC,EAAQ8b,EAA0BtlB,KAAMk8C,EAAaz9B,KAAKze,KAAMizB,EAAQ1B,IAI5E,OAFA/nB,EAAM9I,GAAGuyB,EAAQ,iBAAkBzpB,EAAM+xC,wBACzC/xC,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM+wC,aACzB/wC,EA6ET,OA/FAub,EAASw3B,EAAsBL,GA6B/BK,EAAqB39B,UAAU2a,cAAgB,WAC7C,MAAO,sBAgBTgjB,EAAqB39B,UAAUk9B,YAAc,SAAqBnmC,GAEhE,MAAO,IAAMumC,EAAat9B,UAAUk9B,YAAYr9B,KAAKze,KAAM2V,IAc7D4mC,EAAqB39B,UAAU48B,cAAgB,SAAuBn0C,GAC/DrH,KAAK42B,QAAQ1Z,aAMdld,KAAK42B,QAAQ4lB,qBACfx8C,KAAK+7C,qBAAqB/7C,KAAK42B,QAAQ4lB,wBAEvCx8C,KAAK+7C,qBAAqB/7C,KAAK42B,QAAQ6lB,mBAgB3CF,EAAqB39B,UAAU27B,YAAc,SAAqBlzC,GAC3DrH,KAAK42B,QAAQ1Z,YAGlBld,KAAK+7C,qBAAqB,IAGrBQ,EAhGkB,CAiGzBjB,IAUFiB,GAAqB39B,UAAU88B,WAAa,iBAU5Ca,GAAqB39B,UAAU+2B,aAAe,iBAE9Cjf,GAAU4F,kBAAkB,uBAAwBigB,IAapD,IAAIG,GAAc,SAAUxc,GAY1B,SAASwc,EAAYzpB,EAAQ1B,GAC3B3M,EAAe5kB,KAAM08C,GAErB,IAAIlzC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAI1E,OAFA/nB,EAAMmzC,gBACNnzC,EAAM9I,GAAG8I,EAAMypB,SAAU,iBAAkBzpB,EAAMmzC,eAC1CnzC,EAoDT,OAtEAub,EAAS23B,EAAaxc,GA6BtBwc,EAAY99B,UAAUkL,SAAW,WAC/B,IAAI9Y,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDqpB,UAAW,iCAWb,OARArpB,KAAKi4B,WAAanO,GAAS,MAAO,CAChCT,UAAW,mBACXge,UAAW,kCAAoCrnC,KAAKu3B,SAAS,eAAiB,WAAgBv3B,KAAKu3B,SAAS,SAC3G,CACD,YAAa,QAGfvmB,EAAG8Z,YAAY9qB,KAAKi4B,YACbjnB,GAGT0rC,EAAY99B,UAAUD,QAAU,WAC9B3e,KAAKi4B,WAAa,KAElBiI,EAAWthB,UAAUD,QAAQF,KAAKze,OAcpC08C,EAAY99B,UAAU+9B,cAAgB,SAAuBt1C,GACvDrH,KAAKizB,SAAS/V,aAAe89B,IAC/Bh7C,KAAK65B,OAEL75B,KAAK85B,QAIF4iB,EAvES,CAwEhBhmB,IAEFA,GAAU4F,kBAAkB,cAAeogB,IAY3C,IAAI9+B,GAAS,SAAUsiB,GAYrB,SAAStiB,EAAOqV,EAAQ1B,GACtB3M,EAAe5kB,KAAM4d,GAGrB,IAAIpU,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAQ1E,OANA/nB,EAAMozC,IAAMpzC,EAAM2uB,SAAS3uB,EAAMqtB,SAASgmB,SAG1CrzC,EAAMhE,WAAWgE,EAAMqtB,SAASrxB,UAEhCgE,EAAM4e,SACC5e,EAmXT,OA1YAub,EAASnH,EAAQsiB,GAkCjBtiB,EAAOgB,UAAUylB,QAAU,WACzB,OAAOrkC,KAAK81C,UAQdl4B,EAAOgB,UAAUwJ,OAAS,WACpBpoB,KAAKqkC,YAITrkC,KAAKU,GAAG,YAAaV,KAAK+5C,iBAC1B/5C,KAAKU,GAAG,aAAcV,KAAK+5C,iBAC3B/5C,KAAKU,GAAG,QAASV,KAAKg2C,aACtBh2C,KAAKU,GAAG,OAAQV,KAAKi2C,YACrBj2C,KAAKU,GAAG,QAASV,KAAK+1C,aAEtB/1C,KAAKU,GAAGV,KAAK42B,QAAS,kBAAmB52B,KAAKo2C,QAE1Cp2C,KAAK88C,aACP98C,KAAKU,GAAGV,KAAK42B,QAAS52B,KAAK88C,YAAa98C,KAAKo2C,QAG/Cp2C,KAAKurB,YAAY,YACjBvrB,KAAKgd,aAAa,WAAY,GAE9Bhd,KAAK81C,UAAW,IAQlBl4B,EAAOgB,UAAUuJ,QAAU,WACzB,GAAKnoB,KAAKqkC,UAAV,CAGA,IAAIzT,EAAM5wB,KAAK48C,IAAI5lB,IAAInF,cAEvB7xB,KAAKqe,IAAI,YAAare,KAAK+5C,iBAC3B/5C,KAAKqe,IAAI,aAAcre,KAAK+5C,iBAC5B/5C,KAAKqe,IAAI,QAASre,KAAKg2C,aACvBh2C,KAAKqe,IAAI,OAAQre,KAAKi2C,YACtBj2C,KAAKqe,IAAI,QAASre,KAAK+1C,aACvB/1C,KAAKqe,IAAIre,KAAK42B,QAAS,kBAAmB52B,KAAKo2C,QAC/Cp2C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,eAC/Bh9C,KAAKisB,gBAAgB,YAErBjsB,KAAKorB,SAAS,YAEVprB,KAAK88C,aACP98C,KAAKqe,IAAIre,KAAK42B,QAAS52B,KAAK88C,YAAa98C,KAAKo2C,QAEhDp2C,KAAK81C,UAAW,IAoBlBl4B,EAAOgB,UAAUkL,SAAW,SAAqBpmB,GAC/C,IAAI2B,EAAQqE,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5EugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAgBrF,OAbArE,EAAMgkB,UAAYhkB,EAAMgkB,UAAY,cACpChkB,EAAQkW,EAAO,CACbmlB,SAAU,GACTr7B,GAEH4kB,EAAa1O,EAAO,CAClB,KAAQ,SACR,gBAAiB,EACjB,gBAAiB,EACjB,gBAAiB,IACjB,SAAY,GACX0O,GAEIiW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM0D,EAAM2B,EAAO4kB,IAe/DrM,EAAOgB,UAAUm7B,gBAAkB,SAAyB1yC,GAC1D,IAAIupB,EAAM5wB,KAAK48C,IAAI5lB,IAAInF,cAEJ,cAAfxqB,EAAM3D,MACR2D,EAAM6oB,iBAMW,eAAf7oB,EAAM3D,MAA0BggB,GAClCrc,EAAM6oB,iBAER3D,KAEAvsB,KAAKorB,SAAS,eAOdprB,KAAKse,QAAQ,gBAEbte,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAK+8C,iBAC/B/8C,KAAKU,GAAGkwB,EAAK,UAAW5wB,KAAKg9C,eAC7Bh9C,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAK+8C,iBAC/B/8C,KAAKU,GAAGkwB,EAAK,WAAY5wB,KAAKg9C,eAE9Bh9C,KAAK+8C,gBAAgB11C,IAkBvBuW,EAAOgB,UAAUm+B,gBAAkB,SAAyB11C,KAc5DuW,EAAOgB,UAAUo+B,cAAgB,WAC/B,IAAIpsB,EAAM5wB,KAAK48C,IAAI5lB,IAAInF,cAEvBnF,KAEA1sB,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,kBAEbte,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,eAE/Bh9C,KAAKo2C,UAYPx4B,EAAOgB,UAAUw3B,OAAS,WAKxB,GAAKp2C,KAAKg3B,IAAV,CAQA,IAAIimB,EAAWj9C,KAAKk9C,aAChBN,EAAM58C,KAAK48C,IAGf,GAAKA,EAAL,EAKwB,kBAAbK,GAAyBA,IAAaA,GAAYA,EAAW,GAAKA,IAAajC,OACxFiC,EAAW,GAIb,IAAIE,GAAyB,IAAXF,GAAgBhnC,QAAQ,GAAK,IAC3CxU,EAAQm7C,EAAI5rC,KAAKvP,MASrB,OANIzB,KAAKwF,WACP/D,EAAME,OAASw7C,EAEf17C,EAAMiF,MAAQy2C,EAGTF,KAgBTr/B,EAAOgB,UAAUw+B,kBAAoB,SAA2B/1C,GAC9D,IAAIyE,EAAWwhB,GAAmBttB,KAAKg3B,IAAK3vB,GAE5C,OAAIrH,KAAKwF,WACAsG,EAASiiB,EAEXjiB,EAASqb,GAalBvJ,EAAOgB,UAAUo3B,YAAc,WAC7Bh2C,KAAKU,GAAGV,KAAK48C,IAAI5lB,IAAInF,cAAe,UAAW7xB,KAAK6gC,iBAetDjjB,EAAOgB,UAAUiiB,eAAiB,SAAwBx5B,GAEpC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKq9C,YAGoB,KAAhBh2C,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,QACrCxpB,EAAM6oB,iBACNlwB,KAAKs9C,gBAaT1/B,EAAOgB,UAAUq3B,WAAa,WAC5Bj2C,KAAKqe,IAAIre,KAAK48C,IAAI5lB,IAAInF,cAAe,UAAW7xB,KAAK6gC,iBAYvDjjB,EAAOgB,UAAUm3B,YAAc,SAAqB1uC,GAClDA,EAAMqpB,2BACNrpB,EAAM6oB,kBAgBRtS,EAAOgB,UAAUpZ,SAAW,SAAkB+3C,GAC5C,QAAav3B,IAATu3B,EACF,OAAOv9C,KAAKw9C,YAAa,EAG3Bx9C,KAAKw9C,YAAcD,EAEfv9C,KAAKw9C,UACPx9C,KAAKorB,SAAS,uBAEdprB,KAAKorB,SAAS,0BAIXxN,EA3YI,CA4YX8Y,IAEFA,GAAU4F,kBAAkB,SAAU1e,IAWtC,IAAI6/B,GAAkB,SAAUvd,GAY9B,SAASud,EAAgBxqB,EAAQ1B,GAC/B3M,EAAe5kB,KAAMy9C,GAErB,IAAIj0C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAI1E,OAFA/nB,EAAMk0C,SAAW,GACjBl0C,EAAM9I,GAAGuyB,EAAQ,WAAYzpB,EAAM4sC,QAC5B5sC,EA0ET,OA5FAub,EAAS04B,EAAiBvd,GA6B1Bud,EAAgB7+B,UAAUkL,SAAW,WACnC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,oBACXge,UAAW,wCAA0CrnC,KAAKu3B,SAAS,UAAY,wBAInFkmB,EAAgB7+B,UAAUD,QAAU,WAClC3e,KAAK09C,SAAW,KAEhBxd,EAAWthB,UAAUD,QAAQF,KAAKze,OAapCy9C,EAAgB7+B,UAAUw3B,OAAS,SAAgB/uC,GACjD,IAAIs2B,EAAW39B,KAAK42B,QAAQ+G,WACxBzgB,EAAWld,KAAK42B,QAAQ1Z,WACxBygC,EAAc39C,KAAK42B,QAAQ+mB,cAC3B9sC,EAAW7Q,KAAK09C,SAGhBE,EAAa,SAAoBjoC,EAAMzM,GAEzC,IAAI20C,EAAUloC,EAAOzM,GAAO,EAE5B,OAAsC,KAA9B20C,GAAW,EAAI,EAAIA,GAAiB,KAI9C79C,KAAKg3B,IAAIv1B,MAAMiF,MAAQk3C,EAAWD,EAAazgC,GAG/C,IAAK,IAAI/S,EAAI,EAAGA,EAAIwzB,EAASptB,OAAQpG,IAAK,CACxC,IAAIqzB,EAAQG,EAASH,MAAMrzB,GACvBjB,EAAMy0B,EAASz0B,IAAIiB,GACnB2zC,EAAOjtC,EAAS1G,GAEf2zC,IACHA,EAAO99C,KAAKg3B,IAAIlM,YAAYhB,MAC5BjZ,EAAS1G,GAAK2zC,GAIhBA,EAAKr8C,MAAMmH,KAAOg1C,EAAWpgB,EAAOmgB,GACpCG,EAAKr8C,MAAMiF,MAAQk3C,EAAW10C,EAAMs0B,EAAOmgB,GAI7C,IAAK,IAAIjrB,EAAK7hB,EAASN,OAAQmiB,EAAKiL,EAASptB,OAAQmiB,IACnD1yB,KAAKg3B,IAAI9I,YAAYrd,EAAS6hB,EAAK,IAErC7hB,EAASN,OAASotB,EAASptB,QAGtBktC,EA7Fa,CA8FpB/mB,IAEFA,GAAU4F,kBAAkB,kBAAmBmhB,IAW/C,IAAIM,GAAc,SAAU7d,GAG1B,SAAS6d,IAEP,OADAn5B,EAAe5kB,KAAM+9C,GACdz4B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YA2EhE,OA/EAqb,EAASg5B,EAAa7d,GAatB6d,EAAYn/B,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,sBAgBf00B,EAAYn/B,UAAUw3B,OAAS,SAAgB4H,EAAaC,EAActzC,GACxE,IAAIuzC,EAAcn2C,GAAsB/H,KAAKg3B,KACzCmnB,EAAap2C,GAAsB/H,KAAK42B,QAAQ5lB,MAChDotC,EAAiBJ,EAAYt3C,MAAQu3C,EAIzC,GAAKE,GAAeD,EAApB,CAQA,IAAIG,EAAmBL,EAAYp1C,KAAOu1C,EAAWv1C,KAAOw1C,EAMxDE,EAAoBN,EAAYt3C,MAAQ03C,GAAkBD,EAAWr1C,MAAQk1C,EAAYl1C,OAIzFy1C,EAAgBL,EAAYx3C,MAAQ,EAIpC23C,EAAmBE,EACrBA,GAAiBA,EAAgBF,EACxBC,EAAoBC,IAC7BA,EAAgBD,GAMdC,EAAgB,EAClBA,EAAgB,EACPA,EAAgBL,EAAYx3C,QACrC63C,EAAgBL,EAAYx3C,OAG9B1G,KAAKg3B,IAAIv1B,MAAMqH,MAAQ,IAAMy1C,EAAgB,KAC7Cl0B,GAAYrqB,KAAKg3B,IAAKrsB,KAGjBozC,EAhFS,CAiFhBrnB,IAEFA,GAAU4F,kBAAkB,cAAeyhB,IAY3C,IAAIS,GAAkB,SAAUte,GAG9B,SAASse,IAEP,OADA55B,EAAe5kB,KAAMw+C,GACdl5B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAiDhE,OArDAqb,EAASy5B,EAAiBte,GAa1Bse,EAAgB5/B,UAAUkL,SAAW,WACnC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,mCACXge,UAAW,wCAA0CrnC,KAAKu3B,SAAS,YAAc,wBAiBrFinB,EAAgB5/B,UAAUw3B,OAAS,SAAgB4H,EAAaC,GAC9D,IAAI5oB,EAASr1B,KAGTA,KAAKy+C,QACPz+C,KAAK0P,qBAAqB1P,KAAKy+C,QAGjCz+C,KAAKy+C,OAASz+C,KAAKsP,uBAAsB,WACvC,IAAIqG,EAAO0f,EAAOuB,QAAQulB,YAAc9mB,EAAOuB,QAAQwlB,WAAW5/B,YAAc6Y,EAAOuB,QAAQpa,cAE3F7R,EAAU0wC,GAAW1lC,EAAM0f,EAAOuB,QAAQ1Z,YAC1CwhC,EAAcrpB,EAAO8C,SAAS,eAE9BumB,GACFA,EAAYtI,OAAO4H,EAAaC,EAActzC,OAK7C6zC,EAtDa,CAuDpB9nB,IAUF8nB,GAAgB5/B,UAAUiY,SAAW,CACnChmB,SAAU,IAINgT,KAAcA,EAAa,IAAOd,GAAWG,GACjDs7B,GAAgB5/B,UAAUiY,SAAShmB,SAAS+B,KAAK,eAGnD8jB,GAAU4F,kBAAkB,kBAAmBkiB,IAc/C,IAAIG,GAAmB,SAAUze,GAY/B,SAASye,EAAiB1rB,EAAQ1B,GAChC3M,EAAe5kB,KAAM2+C,GAErB,IAAIn1C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAG1E,OADA/nB,EAAM4sC,OAAS1iB,GAASxkB,GAAK1F,EAAOA,EAAM4sC,QAAS,IAC5C5sC,EA+CT,OAhEAub,EAAS45B,EAAkBze,GA4B3Bye,EAAiB//B,UAAUkL,SAAW,WACpC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,uBAiBfs1B,EAAiB//B,UAAUw3B,OAAS,SAAgB4H,EAAaC,GAC/D,IAAI5oB,EAASr1B,KAGTA,KAAKy+C,QACPz+C,KAAK0P,qBAAqB1P,KAAKy+C,QAGjCz+C,KAAKy+C,OAASz+C,KAAKsP,uBAAsB,WACvC,IAAI4N,EAAWmY,EAAOuB,QAAQ1Z,WAC1BvS,EAAU0wC,GAAW4C,EAAe/gC,EAAUA,GAElDmY,EAAO2B,IAAIv1B,MAAMmH,KAAOo1C,EAAYt3C,MAAQu3C,EAAe,KAC3D5oB,EAAO8C,SAAS,eAAeie,OAAO4H,EAAaC,EAActzC,OAI9Dg0C,EAjEc,CAkErBjoB,IAUFioB,GAAiB//B,UAAUiY,SAAW,CACpChmB,SAAU,CAAC,gBAGb6lB,GAAU4F,kBAAkB,mBAAoBqiB,IAMhD,IAAIC,GAAe,EAGfC,GAA0B,GAS1BC,GAAU,SAAUC,GAYtB,SAASD,EAAQ7rB,EAAQ1B,GACvB3M,EAAe5kB,KAAM8+C,GAErB,IAAIt1C,EAAQ8b,EAA0BtlB,KAAM++C,EAAQtgC,KAAKze,KAAMizB,EAAQ1B,IAGvE,OADA/nB,EAAMw1C,oBACCx1C,EAuTT,OAxUAub,EAAS+5B,EAASC,GA2BlBD,EAAQlgC,UAAUogC,kBAAoB,WACpC,IAAI3pB,EAASr1B,KAEbA,KAAKo2C,OAAS1iB,GAASxkB,GAAKlP,KAAMA,KAAKo2C,QAASyI,IAEhD7+C,KAAKU,GAAGV,KAAK42B,QAAS,aAAc52B,KAAKo2C,QACzCp2C,KAAKU,GAAGV,KAAK42B,QAAS,QAAS52B,KAAKu6C,aAIpCv6C,KAAKi/C,eAAiB,KAEtBj/C,KAAKU,GAAGV,KAAK42B,QAAS,CAAC,YAAY,WACjCvB,EAAOtlB,cAAcslB,EAAO4pB,gBAE5B5pB,EAAO4pB,eAAiB5pB,EAAOvlB,aAAY,WACzCulB,EAAO/lB,uBAAsB,WAC3B+lB,EAAO+gB,cAERyI,OAGL7+C,KAAKU,GAAGV,KAAK42B,QAAS,CAAC,QAAS,QAAS,YAAY,WACnDvB,EAAOtlB,cAAcslB,EAAO4pB,mBAG9Bj/C,KAAKU,GAAGV,KAAK42B,QAAS,CAAC,aAAc,SAAU52B,KAAKo2C,SAWtD0I,EAAQlgC,UAAUkL,SAAW,WAC3B,OAAOi1B,EAAQngC,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CAClDqpB,UAAW,uBACV,CACD,aAAcrpB,KAAKu3B,SAAS,mBAkBhCunB,EAAQlgC,UAAUsgC,QAAU,SAAiB1iC,EAAaqhC,GACxD,IAAI3gC,EAAWld,KAAK42B,QAAQ1Z,WAG5Bld,KAAKg3B,IAAIha,aAAa,iBAA4B,IAAV6gC,GAAe5nC,QAAQ,IAG/DjW,KAAKg3B,IAAIha,aAAa,iBAAkBhd,KAAKu3B,SAAS,oDAAqD,CAAC8jB,GAAW7+B,EAAaU,GAAWm+B,GAAWn+B,EAAUA,IAAY,eAGhLld,KAAK48C,IAAIxG,OAAOruC,GAAsB/H,KAAKg3B,KAAM6mB,IAgBnDiB,EAAQlgC,UAAUw3B,OAAS,SAAgB/uC,GACzC,IAAIw2C,EAAUkB,EAAQngC,UAAUw3B,OAAO33B,KAAKze,MAG5C,OADAA,KAAKk/C,QAAQl/C,KAAKm/C,kBAAmBtB,GAC9BA,GAcTiB,EAAQlgC,UAAUugC,gBAAkB,WAClC,OAAOn/C,KAAK42B,QAAQulB,YAAcn8C,KAAK42B,QAAQwlB,WAAW5/B,YAAcxc,KAAK42B,QAAQpa,eAcvFsiC,EAAQlgC,UAAU27B,YAAc,SAAqBlzC,GACnDrH,KAAKk/C,QAAQl/C,KAAK42B,QAAQ1Z,WAAY,IAWxC4hC,EAAQlgC,UAAUs+B,WAAa,WAC7B,IAAIW,EAAU79C,KAAKm/C,kBAAoBn/C,KAAK42B,QAAQ1Z,WAEpD,OAAO2gC,GAAW,EAAI,EAAIA,GAa5BiB,EAAQlgC,UAAUm7B,gBAAkB,SAAyB1yC,GACtDknB,GAAkBlnB,KAKvBA,EAAMmB,kBACNxI,KAAK42B,QAAQulB,WAAU,GAEvBn8C,KAAKo/C,iBAAmBp/C,KAAK42B,QAAQuK,SACrCnhC,KAAK42B,QAAQla,QAEbqiC,EAAQngC,UAAUm7B,gBAAgBt7B,KAAKze,KAAMqH,KAa/Cy3C,EAAQlgC,UAAUm+B,gBAAkB,SAAyB11C,GAC3D,GAAKknB,GAAkBlnB,GAAvB,CAIA,IAAIg4C,EAAUr/C,KAAKo9C,kBAAkB/1C,GAASrH,KAAK42B,QAAQ1Z,WAGvDmiC,IAAYr/C,KAAK42B,QAAQ1Z,aAC3BmiC,GAAoB,IAItBr/C,KAAK42B,QAAQpa,YAAY6iC,KAG3BP,EAAQlgC,UAAUwJ,OAAS,WACzB22B,EAAQngC,UAAUwJ,OAAO3J,KAAKze,MAC9B,IAAIs/C,EAAmBt/C,KAAKm4B,SAAS,oBAEhCmnB,GAILA,EAAiBzlB,QAGnBilB,EAAQlgC,UAAUuJ,QAAU,WAC1B42B,EAAQngC,UAAUuJ,QAAQ1J,KAAKze,MAC/B,IAAIs/C,EAAmBt/C,KAAKm4B,SAAS,oBAEhCmnB,GAILA,EAAiBxlB,QAanBglB,EAAQlgC,UAAUo+B,cAAgB,SAAuB31C,GACvD03C,EAAQngC,UAAUo+B,cAAcv+B,KAAKze,KAAMqH,GAGvCA,GACFA,EAAMmB,kBAERxI,KAAK42B,QAAQulB,WAAU,GASvBn8C,KAAK42B,QAAQtY,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,IACxE7tC,KAAKo/C,iBACP3gB,GAAez+B,KAAK42B,QAAQna,SAShCqiC,EAAQlgC,UAAU0+B,YAAc,WAC9Bt9C,KAAK42B,QAAQpa,YAAYxc,KAAK42B,QAAQpa,cAAgBoiC,KAQxDE,EAAQlgC,UAAUy+B,SAAW,WAC3Br9C,KAAK42B,QAAQpa,YAAYxc,KAAK42B,QAAQpa,cAAgBoiC,KAaxDE,EAAQlgC,UAAU2gC,aAAe,SAAsBl4C,GACjDrH,KAAK42B,QAAQuK,SACfnhC,KAAK42B,QAAQna,OAEbzc,KAAK42B,QAAQla,SAejBoiC,EAAQlgC,UAAUiiB,eAAiB,SAAwBx5B,GAGrC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKu/C,aAAal4C,IACT03C,EAAQngC,UAAUiiB,gBAG3Bke,EAAQngC,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAIzCy3C,EAzUK,CA0UZlhC,IAUFkhC,GAAQlgC,UAAUiY,SAAW,CAC3BhmB,SAAU,CAAC,kBAAmB,mBAC9BgsC,QAAS,mBAILh5B,KAAcA,EAAa,IAAOd,GAAWG,GACjD47B,GAAQlgC,UAAUiY,SAAShmB,SAASE,OAAO,EAAG,EAAG,oBAQnD+tC,GAAQlgC,UAAUk+B,YAAc,aAEhCpmB,GAAU4F,kBAAkB,UAAWwiB,IAYvC,IAAIU,GAAkB,SAAUtf,GAY9B,SAASsf,EAAgBvsB,EAAQ1B,GAC/B3M,EAAe5kB,KAAMw/C,GAErB,IAAIh2C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAM1E,OAJA/nB,EAAMuzC,gBAAkBrpB,GAASxkB,GAAK1F,EAAOA,EAAMuzC,iBAAkB,IACrEvzC,EAAMi2C,yBAA2B/rB,GAASxkB,GAAK1F,EAAOA,EAAMk2C,iBAAkB,IAE9El2C,EAAM4e,SACC5e,EA4LT,OAhNAub,EAASy6B,EAAiBtf,GA+B1Bsf,EAAgB5gC,UAAUkL,SAAW,WACnC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,sCAefm2B,EAAgB5gC,UAAUm+B,gBAAkB,SAAyB11C,GACnE,IAAIs4C,EAAU3/C,KAAKm4B,SAAS,WAE5B,GAAIwnB,EAAS,CACX,IAAIL,EAAmBK,EAAQxnB,SAAS,oBACpCynB,EAAYD,EAAQ3uC,KACpBgtC,EAAcj2C,GAAsB63C,GACpC3B,EAAe3wB,GAAmBsyB,EAAWv4C,GAAO8f,EAKpD82B,EAAe,EACjBA,EAAe,EACNA,EAAe,IACxBA,EAAe,GAGbqB,GACFA,EAAiBlJ,OAAO4H,EAAaC,KA2B3CuB,EAAgB5gC,UAAU8gC,gBAAkB,SAAyBr4C,GACnE,IAAIs4C,EAAU3/C,KAAKm4B,SAAS,WAExBwnB,GACFA,EAAQ5C,gBAAgB11C,IAY5Bm4C,EAAgB5gC,UAAUylB,QAAU,WAClC,OAAOrkC,KAAK81C,UAQd0J,EAAgB5gC,UAAUuJ,QAAU,WAClCnoB,KAAK6Q,WAAWnM,SAAQ,SAAUimB,GAChC,OAAOA,EAAMxC,SAAWwC,EAAMxC,aAG3BnoB,KAAKqkC,YAIVrkC,KAAKqe,IAAI,CAAC,YAAa,cAAere,KAAK+5C,iBAC3C/5C,KAAKqe,IAAIre,KAAKg3B,IAAK,YAAah3B,KAAK+8C,iBACrC/8C,KAAKg9C,gBAELh9C,KAAKorB,SAAS,YAEdprB,KAAK81C,UAAW,IAQlB0J,EAAgB5gC,UAAUwJ,OAAS,WACjCpoB,KAAK6Q,WAAWnM,SAAQ,SAAUimB,GAChC,OAAOA,EAAMvC,QAAUuC,EAAMvC,YAG3BpoB,KAAKqkC,YAITrkC,KAAKU,GAAG,CAAC,YAAa,cAAeV,KAAK+5C,iBAC1C/5C,KAAKU,GAAGV,KAAKg3B,IAAK,YAAah3B,KAAK+8C,iBACpC/8C,KAAKurB,YAAY,YAEjBvrB,KAAK81C,UAAW,IAclB0J,EAAgB5gC,UAAUm7B,gBAAkB,SAAyB1yC,GACnE,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cACf8tB,EAAU3/C,KAAKm4B,SAAS,WAExBwnB,GACFA,EAAQ5F,gBAAgB1yC,GAG1BrH,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKy/C,0BAC/Bz/C,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKy/C,0BAC/Bz/C,KAAKU,GAAGkwB,EAAK,UAAW5wB,KAAKg9C,eAC7Bh9C,KAAKU,GAAGkwB,EAAK,WAAY5wB,KAAKg9C,gBAchCwC,EAAgB5gC,UAAUo+B,cAAgB,SAAuB31C,GAC/D,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cACf8tB,EAAU3/C,KAAKm4B,SAAS,WAExBwnB,GACFA,EAAQ3C,cAAc31C,GAGxBrH,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKy/C,0BAChCz/C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKy/C,0BAChCz/C,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,gBAG1BwC,EAjNa,CAkNpB9oB,IAUF8oB,GAAgB5gC,UAAUiY,SAAW,CACnChmB,SAAU,CAAC,YAGb6lB,GAAU4F,kBAAkB,kBAAmBkjB,IAW/C,IAAIK,GAAmB,SAAUhG,GAY/B,SAASgG,EAAiB5sB,EAAQ1B,GAChC3M,EAAe5kB,KAAM6/C,GAErB,IAAIr2C,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAOvE,OALA/nB,EAAM9I,GAAGuyB,EAAQ,mBAAoBzpB,EAAMs2C,yBAEO,IAA9Cl0C,EAASiyB,GAAckiB,oBACzBv2C,EAAM2e,UAED3e,EAuDT,OA5EAub,EAAS86B,EAAkBhG,GAgC3BgG,EAAiBjhC,UAAU2a,cAAgB,WACzC,MAAO,0BAA4BsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAc1E6/C,EAAiBjhC,UAAUkhC,uBAAyB,SAAgCz4C,GAC9ErH,KAAK42B,QAAQopB,eACfhgD,KAAK4hC,YAAY,kBAEjB5hC,KAAK4hC,YAAY,eAiBrBie,EAAiBjhC,UAAUm3B,YAAc,SAAqB1uC,GACvDrH,KAAK42B,QAAQopB,eAGhBhgD,KAAK42B,QAAQqpB,iBAFbjgD,KAAK42B,QAAQspB,qBAMVL,EA7Ec,CA8ErBlG,IAUFkG,GAAiBjhC,UAAU+2B,aAAe,aAE1Cjf,GAAU4F,kBAAkB,mBAAoBujB,IAchD,IAAIM,GAAqB,SAA4B56B,EAAM0N,GAErDA,EAAOqW,QAAUrW,EAAOqW,MAAM8G,uBAChC7qB,EAAK6F,SAAS,cAGhB7F,EAAK7kB,GAAGuyB,EAAQ,aAAa,WACtBA,EAAOqW,MAAM8G,sBAGhB7qB,EAAKgG,YAAY,cAFjBhG,EAAK6F,SAAS,kBAgBhBg1B,GAAc,SAAUlgB,GAG1B,SAASkgB,IAEP,OADAx7B,EAAe5kB,KAAMogD,GACd96B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAgBhE,OApBAqb,EAASq7B,EAAalgB,GAatBkgB,EAAYxhC,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,mBACXge,UAAW,4CAIR+Y,EArBS,CAsBhB1pB,IAEFA,GAAU4F,kBAAkB,cAAe8jB,IAY3C,IAAIC,GAAY,SAAUtB,GAYxB,SAASsB,EAAUptB,EAAQ1B,GACzB3M,EAAe5kB,KAAMqgD,GAErB,IAAI72C,EAAQ8b,EAA0BtlB,KAAM++C,EAAQtgC,KAAKze,KAAMizB,EAAQ1B,IAOvE,OALA/nB,EAAM9I,GAAG,eAAgB8I,EAAM82C,mBAC/B92C,EAAM9I,GAAGuyB,EAAQ,eAAgBzpB,EAAM+2C,sBACvCttB,EAAO0D,OAAM,WACX,OAAOntB,EAAM+2C,0BAER/2C,EAyJT,OA9KAub,EAASs7B,EAAWtB,GAgCpBsB,EAAUzhC,UAAUkL,SAAW,WAC7B,OAAOi1B,EAAQngC,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CAClDqpB,UAAW,iCACV,CACD,aAAcrpB,KAAKu3B,SAAS,gBAC5B,YAAa,YAcjB8oB,EAAUzhC,UAAUm7B,gBAAkB,SAAyB1yC,GACxDknB,GAAkBlnB,IAIvB03C,EAAQngC,UAAUm7B,gBAAgBt7B,KAAKze,KAAMqH,IAa/Cg5C,EAAUzhC,UAAUm+B,gBAAkB,SAAyB11C,GACxDknB,GAAkBlnB,KAIvBrH,KAAKwgD,aACLxgD,KAAK42B,QAAQ6pB,OAAOzgD,KAAKo9C,kBAAkB/1C,MAQ7Cg5C,EAAUzhC,UAAU4hC,WAAa,WAC3BxgD,KAAK42B,QAAQ1b,SACflb,KAAK42B,QAAQ1b,OAAM,IAYvBmlC,EAAUzhC,UAAUs+B,WAAa,WAC/B,OAAIl9C,KAAK42B,QAAQ1b,QACR,EAEFlb,KAAK42B,QAAQ6pB,UAQtBJ,EAAUzhC,UAAU0+B,YAAc,WAChCt9C,KAAKwgD,aACLxgD,KAAK42B,QAAQ6pB,OAAOzgD,KAAK42B,QAAQ6pB,SAAW,KAQ9CJ,EAAUzhC,UAAUy+B,SAAW,WAC7Br9C,KAAKwgD,aACLxgD,KAAK42B,QAAQ6pB,OAAOzgD,KAAK42B,QAAQ6pB,SAAW,KAa9CJ,EAAUzhC,UAAU2hC,qBAAuB,SAA8Bl5C,GACvE,IAAIq5C,EAAY1gD,KAAK42B,QAAQ1b,QAAU,EAAIlb,KAAK2gD,sBAEhD3gD,KAAKg3B,IAAIha,aAAa,gBAAiB0jC,GACvC1gD,KAAKg3B,IAAIha,aAAa,iBAAkB0jC,EAAY,MAUtDL,EAAUzhC,UAAU+hC,oBAAsB,WACxC,OAAOx3C,KAAKC,MAA8B,IAAxBpJ,KAAK42B,QAAQ6pB,WAajCJ,EAAUzhC,UAAU0hC,kBAAoB,WACtC,IAAIjrB,EAASr1B,KAET4gD,EAAmB5gD,KAAK42B,QAAQ6pB,SAEpCzgD,KAAKgyB,IAAI,kBAAkB,WACO,IAA5BqD,EAAOuB,QAAQ6pB,UACjBprB,EAAOuB,QAAQiqB,YAAYD,OAK1BP,EA/KO,CAgLdziC,IAUFyiC,GAAUzhC,UAAUiY,SAAW,CAC7BhmB,SAAU,CAAC,eACXgsC,QAAS,eAQXwD,GAAUzhC,UAAUk+B,YAAc,eAElCpmB,GAAU4F,kBAAkB,YAAa+jB,IAYzC,IAAIS,GAAgB,SAAU5gB,GAY5B,SAAS4gB,EAAc7tB,GACrB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM8gD,GAErBvvB,EAAQ/rB,SAAW+rB,EAAQ/rB,WAAY,GAIN,qBAAtB+rB,EAAQwvB,WAA6Bz6B,EAAQiL,EAAQwvB,cAC9DxvB,EAAQwvB,UAAYxvB,EAAQwvB,WAAa,GACzCxvB,EAAQwvB,UAAUv7C,SAAW+rB,EAAQ/rB,UAIvC,IAAIgE,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAsB1E,OApBA4uB,GAAmB32C,EAAOypB,GAE1BzpB,EAAMw3C,yBAA2BttB,GAASxkB,GAAK1F,EAAOA,EAAMuzC,iBAAkB,IAE9EvzC,EAAM9I,GAAG,YAAa8I,EAAMuwC,iBAC5BvwC,EAAM9I,GAAG,aAAc8I,EAAMuwC,iBAI7BvwC,EAAM9I,GAAG8I,EAAMu3C,UAAW,CAAC,QAAS,iBAAiB,WACnDv3C,EAAMu3C,UAAU31B,SAAS,qBACzB5hB,EAAM4hB,SAAS,qBACf5hB,EAAM8U,QAAQ,mBAGhB9U,EAAM9I,GAAG8I,EAAMu3C,UAAW,CAAC,OAAQ,mBAAmB,WACpDv3C,EAAMu3C,UAAUx1B,YAAY,qBAC5B/hB,EAAM+hB,YAAY,qBAClB/hB,EAAM8U,QAAQ,qBAET9U,EA8ET,OA7HAub,EAAS+7B,EAAe5gB,GA0DxB4gB,EAAcliC,UAAUkL,SAAW,WACjC,IAAIm3B,EAAmB,wBAMvB,OAJIjhD,KAAK62B,SAASrxB,WAChBy7C,EAAmB,uBAGd/gB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,kCAAoC43B,KAenDH,EAAcliC,UAAUm7B,gBAAkB,SAAyB1yC,GACjE,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cAEnB7xB,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKghD,0BAC/BhhD,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKghD,0BAC/BhhD,KAAKU,GAAGkwB,EAAK,UAAW5wB,KAAKg9C,eAC7Bh9C,KAAKU,GAAGkwB,EAAK,WAAY5wB,KAAKg9C,gBAchC8D,EAAcliC,UAAUo+B,cAAgB,SAAuB31C,GAC7D,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cAEnB7xB,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKghD,0BAChChhD,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKghD,0BAChChhD,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,gBAcjC8D,EAAcliC,UAAUm+B,gBAAkB,SAAyB11C,GACjErH,KAAK+gD,UAAUhE,gBAAgB11C,IAG1By5C,EA9HW,CA+HlBpqB,IAUFoqB,GAAcliC,UAAUiY,SAAW,CACjChmB,SAAU,CAAC,cAGb6lB,GAAU4F,kBAAkB,gBAAiBwkB,IAc7C,IAAII,GAAmB,SAA0B37B,EAAM0N,GAEjDA,EAAOqW,QAAUrW,EAAOqW,MAAM+G,qBAChC9qB,EAAK6F,SAAS,cAGhB7F,EAAK7kB,GAAGuyB,EAAQ,aAAa,WACtBA,EAAOqW,MAAM+G,oBAGhB9qB,EAAKgG,YAAY,cAFjBhG,EAAK6F,SAAS,kBAgBhB+1B,GAAa,SAAUtH,GAYzB,SAASsH,EAAWluB,EAAQ1B,GAC1B3M,EAAe5kB,KAAMmhD,GAGrB,IAAI33C,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAKvE,OAHA2vB,GAAiB13C,EAAOypB,GAExBzpB,EAAM9I,GAAGuyB,EAAQ,CAAC,YAAa,gBAAiBzpB,EAAM4sC,QAC/C5sC,EAqHT,OAzIAub,EAASo8B,EAAYtH,GA+BrBsH,EAAWviC,UAAU2a,cAAgB,WACnC,MAAO,oBAAsBsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAgBpEmhD,EAAWviC,UAAUm3B,YAAc,SAAqB1uC,GACtD,IAAI+5C,EAAMphD,KAAK42B,QAAQ6pB,SACnBY,EAAarhD,KAAK42B,QAAQiqB,cAE9B,GAAY,IAARO,EAAW,CACb,IAAIE,EAAcD,EAAa,GAAM,GAAMA,EAE3CrhD,KAAK42B,QAAQ6pB,OAAOa,GACpBthD,KAAK42B,QAAQ1b,OAAM,QAEnBlb,KAAK42B,QAAQ1b,OAAMlb,KAAK42B,QAAQ1b,UAiBpCimC,EAAWviC,UAAUw3B,OAAS,SAAgB/uC,GAC5CrH,KAAKuhD,cACLvhD,KAAKwhD,sBAgBPL,EAAWviC,UAAU2iC,YAAc,WACjC,IAAIH,EAAMphD,KAAK42B,QAAQ6pB,SACnBh6B,EAAQ,EAKR1D,GACF/iB,KAAK42B,QAAQ1b,MAAMlb,KAAK42B,QAAQ0S,MAAMtS,IAAI9b,OAGhC,IAARkmC,GAAaphD,KAAK42B,QAAQ1b,QAC5BuL,EAAQ,EACC26B,EAAM,IACf36B,EAAQ,EACC26B,EAAM,MACf36B,EAAQ,GAIV,IAAK,IAAItc,EAAI,EAAGA,EAAI,EAAGA,IACrBohB,GAAYvrB,KAAKg3B,IAAK,WAAa7sB,GAErCihB,GAASprB,KAAKg3B,IAAK,WAAavQ,IAYlC06B,EAAWviC,UAAU4iC,mBAAqB,WACxC,IAAIC,EAAWzhD,KAAK42B,QAAQ1b,SAAqC,IAA1Blb,KAAK42B,QAAQ6pB,SAChDj2B,EAAOi3B,EAAW,SAAW,OAE7BzhD,KAAK4hC,gBAAkBpX,GACzBxqB,KAAK4hC,YAAYpX,IAId22B,EA1IQ,CA2IfxH,IAUFwH,GAAWviC,UAAU+2B,aAAe,OAEpCjf,GAAU4F,kBAAkB,aAAc6kB,IAa1C,IAAIO,GAAc,SAAUxhB,GAY1B,SAASwhB,EAAYzuB,GACnB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM0hD,GAES,qBAAnBnwB,EAAQowB,OACjBpwB,EAAQowB,OAASpwB,EAAQowB,OAEzBpwB,EAAQowB,QAAS,GAKkB,qBAA1BpwB,EAAQqwB,eAAiCt7B,EAAQiL,EAAQqwB,kBAClErwB,EAAQqwB,cAAgBrwB,EAAQqwB,eAAiB,GACjDrwB,EAAQqwB,cAAcp8C,UAAY+rB,EAAQowB,QAG5C,IAAIn4C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAS1E,OAPA/nB,EAAM9I,GAAGuyB,EAAQ,CAAC,aAAczpB,EAAMq4C,mBAItCr4C,EAAM9I,GAAG8I,EAAMo4C,cAAe,CAAC,gBAAiBp4C,EAAMs4C,eAEtDt4C,EAAM9I,GAAG8I,EAAMo4C,cAAe,CAAC,kBAAmBp4C,EAAMu4C,iBACjDv4C,EAsET,OA3GAub,EAAS28B,EAAaxhB,GAgDtBwhB,EAAY9iC,UAAUkjC,cAAgB,WACpC9hD,KAAKorB,SAAS,sBAWhBs2B,EAAY9iC,UAAUmjC,gBAAkB,WACtC/hD,KAAKurB,YAAY,sBAYnBm2B,EAAY9iC,UAAUijC,kBAAoB,WAGpC7hD,KAAK4hD,cAAc72B,SAAS,eAAiB/qB,KAAKgiD,WAAWj3B,SAAS,eACxE/qB,KAAKorB,SAAS,cAKZprB,KAAK4hD,cAAc72B,SAAS,gBAAkB/qB,KAAKgiD,WAAWj3B,SAAS,eACzE/qB,KAAKorB,SAAS,yBAYlBs2B,EAAY9iC,UAAUkL,SAAW,WAC/B,IAAIm3B,EAAmB,8BAMvB,OAJKjhD,KAAK62B,SAAS8qB,SACjBV,EAAmB,6BAGd/gB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,gCAAkC43B,KAI1CS,EA5GS,CA6GhBhrB,IAUFgrB,GAAY9iC,UAAUiY,SAAW,CAC/BhmB,SAAU,CAAC,aAAc,kBAG3B6lB,GAAU4F,kBAAkB,cAAeolB,IAY3C,IAAIO,GAAO,SAAU/hB,GAanB,SAAS+hB,EAAKhvB,EAAQ1B,GACpB3M,EAAe5kB,KAAMiiD,GAErB,IAAIz4C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAS1E,OAPIA,IACF/nB,EAAM04C,YAAc3wB,EAAQ4wB,YAG9B34C,EAAM44C,eAAiB,EAEvB54C,EAAM9I,GAAG,UAAW8I,EAAMq3B,gBACnBr3B,EAsJT,OA9KAub,EAASk9B,EAAM/hB,GAoCf+hB,EAAKrjC,UAAUyjC,QAAU,SAAiBp1C,GACxCjN,KAAKo4B,SAASnrB,GACdA,EAAUvM,GAAG,QAASwO,GAAKlP,MAAM,SAAUqH,GAErCrH,KAAKkiD,cACPliD,KAAKkiD,YAAYI,gBAIQ,4BAArBr1C,EAAU7K,QACZpC,KAAKkiD,YAAY11B,cAczBy1B,EAAKrjC,UAAUkL,SAAW,WACxB,IAAIy4B,EAAgBviD,KAAK62B,SAAS0rB,eAAiB,KAEnDviD,KAAKi4B,WAAanO,GAASy4B,EAAe,CACxCl5B,UAAW,qBAGbrpB,KAAKi4B,WAAWjb,aAAa,OAAQ,QAErC,IAAIhM,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDwiD,OAAQxiD,KAAKi4B,WACb5O,UAAW,aAYb,OATArY,EAAG8Z,YAAY9qB,KAAKi4B,YAIpBv3B,GAAGsQ,EAAI,SAAS,SAAU3J,GACxBA,EAAM6oB,iBACN7oB,EAAMqpB,8BAGD1f,GAGTixC,EAAKrjC,UAAUD,QAAU,WACvB3e,KAAKi4B,WAAa,KAElBiI,EAAWthB,UAAUD,QAAQF,KAAKze,OAapCiiD,EAAKrjC,UAAUiiB,eAAiB,SAAwBx5B,GAElC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKs9C,eAGoB,KAAhBj2C,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,QACrCxpB,EAAM6oB,iBACNlwB,KAAKq9C,aAST4E,EAAKrjC,UAAU0+B,YAAc,WAC3B,IAAImF,EAAY,OAEWz8B,IAAvBhmB,KAAKoiD,gBACPK,EAAYziD,KAAKoiD,cAAgB,GAEnCpiD,KAAKwsB,MAAMi2B,IAQbR,EAAKrjC,UAAUy+B,SAAW,WACxB,IAAIoF,EAAY,OAEWz8B,IAAvBhmB,KAAKoiD,gBACPK,EAAYziD,KAAKoiD,cAAgB,GAEnCpiD,KAAKwsB,MAAMi2B,IAWbR,EAAKrjC,UAAU4N,MAAQ,WACrB,IAAIloB,EAAOoF,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,EAE3EmH,EAAW7Q,KAAK6Q,WAAW4D,QAC3BiuC,EAAY7xC,EAASN,QAAUM,EAAS,GAAGwY,WAAa,iBAAiBzc,KAAKiE,EAAS,GAAGwY,WAE1Fq5B,GACF7xC,EAASkP,QAGPlP,EAASN,OAAS,IAChBjM,EAAO,EACTA,EAAO,EACEA,GAAQuM,EAASN,SAC1BjM,EAAOuM,EAASN,OAAS,GAG3BvQ,KAAKoiD,cAAgB99C,EAErBuM,EAASvM,GAAM0yB,IAAIxK,UAIhBy1B,EA/KE,CAgLTvrB,IAEFA,GAAU4F,kBAAkB,OAAQ2lB,IAWpC,IAAIU,GAAa,SAAUziB,GAYzB,SAASyiB,EAAW1vB,GAClB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM2iD,GAErB,IAAIn5C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAE1E/nB,EAAM04C,YAAc,IAAIvI,GAAO1mB,EAAQ1B,GAEvC/nB,EAAM04C,YAAYtgB,YAAYp4B,EAAMmsC,cACpCnsC,EAAM04C,YAAYlrB,IAAIha,aAAa,gBAAiB,QAGpD,IAAI4lC,EAAcjJ,GAAO/6B,UAAU2a,gBAiBnC,OAfA/vB,EAAM04C,YAAYlrB,IAAI3N,UAAY7f,EAAM+vB,gBAAkB,IAAMqpB,EAChEp5C,EAAM04C,YAAY32B,YAAY,eAE9B/hB,EAAM4uB,SAAS5uB,EAAM04C,aAErB14C,EAAM4sC,SAEN5sC,EAAMssC,UAAW,EAEjBtsC,EAAM9I,GAAG8I,EAAM04C,YAAa,MAAO14C,EAAMusC,aACzCvsC,EAAM9I,GAAG8I,EAAM04C,YAAa,QAAS14C,EAAMusC,aAC3CvsC,EAAM9I,GAAG8I,EAAM04C,YAAa,QAAS14C,EAAMwsC,aAC3CxsC,EAAM9I,GAAG8I,EAAM04C,YAAa,OAAQ14C,EAAMysC,YAE1CzsC,EAAM9I,GAAG,UAAW8I,EAAMq5C,uBACnBr5C,EAmXT,OA3ZAub,EAAS49B,EAAYziB,GAgDrByiB,EAAW/jC,UAAUw3B,OAAS,WAC5B,IAAI0M,EAAO9iD,KAAK+iD,aAEZ/iD,KAAK8iD,OACP9iD,KAAK8iD,KAAKnkC,UACV3e,KAAKkuB,YAAYluB,KAAK8iD,OAGxB9iD,KAAK8iD,KAAOA,EACZ9iD,KAAKo4B,SAAS0qB,GAQd9iD,KAAKgjD,gBAAiB,EACtBhjD,KAAKkiD,YAAYlrB,IAAIha,aAAa,gBAAiB,SAE/Chd,KAAKijD,OAASjjD,KAAKijD,MAAM1yC,QAAUvQ,KAAKkjD,eAC1CljD,KAAK85B,OAEL95B,KAAK65B,QAYT8oB,EAAW/jC,UAAUmkC,WAAa,WAChC,IAAID,EAAO,IAAIb,GAAKjiD,KAAK42B,QAAS,CAAEurB,WAAYniD,OAahD,GAHAA,KAAKkjD,eAAiB,EAGlBljD,KAAK62B,SAASvkB,MAAO,CACvB,IAAIA,EAAQwX,GAAS,KAAM,CACzBT,UAAW,iBACXge,UAAWlR,GAAYn2B,KAAK62B,SAASvkB,OACrCouB,UAAW,IAGb1gC,KAAKkjD,gBAAkB,EAEvBJ,EAAK7rB,UAAUnQ,QAAQxU,GACvBoY,GAAUpY,EAAOwwC,EAAK9qB,aAKxB,GAFAh4B,KAAKijD,MAAQjjD,KAAKmjD,cAEdnjD,KAAKijD,MAEP,IAAK,IAAI94C,EAAI,EAAGA,EAAInK,KAAKijD,MAAM1yC,OAAQpG,IACrC24C,EAAKT,QAAQriD,KAAKijD,MAAM94C,IAI5B,OAAO24C,GAUTH,EAAW/jC,UAAUukC,YAAc,aAUnCR,EAAW/jC,UAAUkL,SAAW,WAC9B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAWrpB,KAAKojD,wBACf,KAWLT,EAAW/jC,UAAUwkC,qBAAuB,WAC1C,IAAIC,EAAkB,mBAGO,IAAzBrjD,KAAK62B,SAAS8qB,OAChB0B,GAAmB,UAEnBA,GAAmB,SAIrB,IAAIT,EAAcjJ,GAAO/6B,UAAU2a,gBAEnC,MAAO,mBAAqB8pB,EAAkB,IAAMT,EAAc,IAAM1iB,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAWlH2iD,EAAW/jC,UAAU2a,cAAgB,WACnC,IAAI8pB,EAAkB,kBAStB,OAN6B,IAAzBrjD,KAAK62B,SAAS8qB,OAChB0B,GAAmB,UAEnBA,GAAmB,SAGd,mBAAqBA,EAAkB,IAAMnjB,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAmB9F2iD,EAAW/jC,UAAUgjB,YAAc,SAAqBpX,GACtD,IAAIxZ,EAAKtH,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK1J,KAAKkiD,YAAYlxC,KAE9F,OAAOhR,KAAKkiD,YAAYtgB,YAAYpX,EAAMxZ,IAgB5C2xC,EAAW/jC,UAAUm3B,YAAc,SAAqB1uC,GAKtDrH,KAAKgyB,IAAIhyB,KAAK8iD,KAAK9qB,YAAa,aAAc9oB,GAAKlP,MAAM,SAAUuK,GACjEvK,KAAKsiD,gBACLtiD,KAAKg3B,IAAI+D,WAEP/6B,KAAKgjD,eACPhjD,KAAKsiD,gBAELtiD,KAAKsjD,eASTX,EAAW/jC,UAAU4N,MAAQ,WAC3BxsB,KAAKkiD,YAAY11B,SAQnBm2B,EAAW/jC,UAAUmc,KAAO,WAC1B/6B,KAAKkiD,YAAYnnB,QAenB4nB,EAAW/jC,UAAUo3B,YAAc,WACjCt1C,GAAGkL,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAc1C8hB,EAAW/jC,UAAUq3B,WAAa,WAChC53B,GAAIzS,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAc3C8hB,EAAW/jC,UAAUiiB,eAAiB,SAAwBx5B,GAGxC,KAAhBA,EAAMwpB,OAAgC,IAAhBxpB,EAAMwpB,OAC1B7wB,KAAKgjD,gBACPhjD,KAAKsiD,gBAGa,IAAhBj7C,EAAMwpB,QACRxpB,EAAM6oB,iBAENlwB,KAAKkiD,YAAYlrB,IAAIxK,UAGE,KAAhBnlB,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAChC7wB,KAAKgjD,iBACRhjD,KAAKsjD,cACLj8C,EAAM6oB,mBAgBZyyB,EAAW/jC,UAAUikC,sBAAwB,SAA+Bx7C,GAGtD,KAAhBA,EAAMwpB,OAAgC,IAAhBxpB,EAAMwpB,QAC1B7wB,KAAKgjD,gBACPhjD,KAAKsiD,gBAGa,IAAhBj7C,EAAMwpB,QACRxpB,EAAM6oB,iBAENlwB,KAAKkiD,YAAYlrB,IAAIxK,WAU3Bm2B,EAAW/jC,UAAU0kC,YAAc,WACjC,GAAItjD,KAAK81C,SAAU,CAOjB,GANA91C,KAAKgjD,gBAAiB,EACtBhjD,KAAK8iD,KAAK/oB,cACV/5B,KAAKkiD,YAAYlrB,IAAIha,aAAa,gBAAiB,QAI/C+F,GAAUyG,KAEZ,OAGFxpB,KAAK8iD,KAAKt2B,UASdm2B,EAAW/jC,UAAU0jC,cAAgB,WAC/BtiD,KAAK81C,WACP91C,KAAKgjD,gBAAiB,EACtBhjD,KAAK8iD,KAAK9oB,gBACVh6B,KAAKkiD,YAAYlrB,IAAIha,aAAa,gBAAiB,WASvD2lC,EAAW/jC,UAAUuJ,QAAU,WAC7BnoB,KAAKsiD,gBAELtiD,KAAK81C,UAAW,EAChB91C,KAAKorB,SAAS,gBAEdprB,KAAKkiD,YAAY/5B,WAQnBw6B,EAAW/jC,UAAUwJ,OAAS,WAC5BpoB,KAAK81C,UAAW,EAChB91C,KAAKurB,YAAY,gBAEjBvrB,KAAKkiD,YAAY95B,UAGZu6B,EA5ZQ,CA6ZfjsB,IAEFA,GAAU4F,kBAAkB,aAAcqmB,IAW1C,IAAIY,GAAc,SAAUC,GAY1B,SAASD,EAAYtwB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMujD,GAErB,IAAIlkB,EAAS9N,EAAQ8N,OAEjB71B,EAAQ8b,EAA0BtlB,KAAMwjD,EAAY/kC,KAAKze,KAAMizB,EAAQ1B,IAM3E,GAJI/nB,EAAMy5C,MAAM1yC,QAAU,GACxB/G,EAAMswB,QAGHuF,EACH,OAAO/Z,EAA0B9b,GAGnC,IAAIi6C,EAAgBv0C,GAAK1F,EAAOA,EAAM4sC,QAUtC,OARA/W,EAAO9hB,iBAAiB,cAAekmC,GACvCpkB,EAAO9hB,iBAAiB,WAAYkmC,GACpCj6C,EAAMotB,QAAQl2B,GAAG,QAAS+iD,GAE1Bj6C,EAAMotB,QAAQl2B,GAAG,WAAW,WAC1B2+B,EAAO7P,oBAAoB,cAAei0B,GAC1CpkB,EAAO7P,oBAAoB,WAAYi0B,MAElCj6C,EAGT,OAvCAub,EAASw+B,EAAaC,GAuCfD,EAxCS,CAyChBZ,IAEFjsB,GAAU4F,kBAAkB,cAAeinB,IAW3C,IAAIG,GAAW,SAAUvN,GAavB,SAASuN,EAASzwB,EAAQ1B,GACxB3M,EAAe5kB,KAAM0jD,GAErB,IAAIl6C,EAAQ8b,EAA0BtlB,KAAMm2C,EAAoB13B,KAAKze,KAAMizB,EAAQ1B,IAiBnF,OAfA/nB,EAAMm6C,WAAapyB,EAAQoyB,WAC3Bn6C,EAAMo6C,YAAcryB,EAAQoT,WAAY,EACxCn7B,EAAMq6C,gBAAkBtyB,EAAQsyB,gBAEhCr6C,EAAMm7B,SAASn7B,EAAMo6C,aAEjBp6C,EAAMm6C,WACJn6C,EAAMq6C,gBACRr6C,EAAMwtB,IAAIha,aAAa,OAAQ,oBAE/BxT,EAAMwtB,IAAIha,aAAa,OAAQ,iBAGjCxT,EAAMwtB,IAAIha,aAAa,OAAQ,YAE1BxT,EA2ET,OA3GAub,EAAS2+B,EAAUvN,GAoDnBuN,EAAS9kC,UAAUkL,SAAW,SAAkBpmB,EAAM2B,EAAO5E,GAI3D,OAFAT,KAAK61C,gBAAiB,EAEfM,EAAoBv3B,UAAUkL,SAASrL,KAAKze,KAAM,KAAMub,EAAO,CACpE8N,UAAW,gBACXge,UAAW,oCAAsCrnC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAAS,UACtFD,UAAW,GACVr7B,GAAQ5E,IAgBbijD,EAAS9kC,UAAUm3B,YAAc,SAAqB1uC,GACpDrH,KAAK2kC,UAAS,IAWhB+e,EAAS9kC,UAAU+lB,SAAW,SAAkBmf,GAC1C9jD,KAAK2jD,aACHG,GACF9jD,KAAKorB,SAAS,gBACdprB,KAAKg3B,IAAIha,aAAa,eAAgB,QAGtChd,KAAK4hC,YAAY,cACjB5hC,KAAK4jD,aAAc,IAEnB5jD,KAAKurB,YAAY,gBACjBvrB,KAAKg3B,IAAIha,aAAa,eAAgB,SAEtChd,KAAK4hC,YAAY,IACjB5hC,KAAK4jD,aAAc,KAKlBF,EA5GM,CA6GbnO,IAEF7e,GAAU4F,kBAAkB,WAAYonB,IAWxC,IAAIK,GAAoB,SAAUC,GAYhC,SAASD,EAAkB9wB,EAAQ1B,GACjC3M,EAAe5kB,KAAM+jD,GAErB,IAAIplB,EAAQpN,EAAQoN,MAChBU,EAASpM,EAAOwM,aAGpBlO,EAAQoP,MAAQhC,EAAMgC,OAAShC,EAAMjH,UAAY,UACjDnG,EAAQoT,SAA0B,YAAfhG,EAAMiL,KAEzB,IAAIpgC,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAEzE/nB,EAAMm1B,MAAQA,EACd,IAAIslB,EAAgB,WAClB,IAAK,IAAI/9B,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB5c,EAAM06C,mBAAmBxlC,MAAMlV,EAAOgV,IAEpC2lC,EAAgC,WAClC,IAAK,IAAI97B,EAAQ3e,UAAU6G,OAAQiO,EAAOra,MAAMkkB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChF9J,EAAK8J,GAAS5e,UAAU4e,GAG1B9e,EAAM46C,6BAA6B1lC,MAAMlV,EAAOgV,IAkBlD,GAfAyU,EAAOvyB,GAAG,CAAC,YAAa,mBAAoBujD,GAC5C5kB,EAAO9hB,iBAAiB,SAAU0mC,GAClC5kB,EAAO9hB,iBAAiB,yBAA0B4mC,GAClD36C,EAAM9I,GAAG,WAAW,WAClBuyB,EAAO5U,IAAI,CAAC,YAAa,mBAAoB4lC,GAC7C5kB,EAAO7P,oBAAoB,SAAUy0B,GACrC5kB,EAAO7P,oBAAoB,yBAA0B20B,WAS/Bn+B,IAApBqZ,EAAOglB,SAAwB,CACjC,IAAIh9C,OAAQ,EAEZmC,EAAM9I,GAAG,CAAC,MAAO,UAAU,WACzB,GAA8B,WAA1B8jB,EAAQhZ,EAAO84C,OAEjB,IACEj9C,EAAQ,IAAImE,EAAO84C,MAAM,UACzB,MAAO5tC,IAKNrP,IACHA,EAAQuE,EAAS24C,YAAY,SAC7Bl9C,EAAMm9C,UAAU,UAAU,GAAM,IAGlCnlB,EAAOhL,cAAchtB,MAMzB,OADAmC,EAAM06C,qBACC16C,EAwFT,OAtKAub,EAASg/B,EAAmBC,GA8F5BD,EAAkBnlC,UAAUm3B,YAAc,SAAqB1uC,GAC7D,IAAI09B,EAAO/kC,KAAK2+B,MAAMoG,KAClB0f,EAAQzkD,KAAK2+B,MAAM8lB,MACnBplB,EAASr/B,KAAK42B,QAAQ6I,aAQ1B,GANKglB,IACHA,EAAQ,CAAC1f,IAGXif,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,KAAMqH,GAEtCg4B,EAIL,IAAK,IAAIl1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEfw0B,IAAU3+B,KAAK2+B,OAAS8lB,EAAM9gD,QAAQg7B,EAAMoG,OAAS,EACpC,YAAfpG,EAAMiL,OACRjL,EAAMiL,KAAO,WAES,aAAfjL,EAAMiL,OACfjL,EAAMiL,KAAO,cAenBma,EAAkBnlC,UAAUslC,mBAAqB,SAA4B78C,GAC3E,IAAIq9C,EAAuC,YAApB1kD,KAAK2+B,MAAMiL,KAI9B8a,IAAqB1kD,KAAK4jD,aAC5B5jD,KAAK2kC,SAAS+f,IAIlBX,EAAkBnlC,UAAUwlC,6BAA+B,SAAsC/8C,GAC/F,GAAwB,YAApBrH,KAAK2+B,MAAMiL,KAAoB,CACjC,IAAIkO,EAAmB93C,KAAK42B,QAAQ8d,OAAOoD,iBAG3C,GAAIA,GAAoBA,EAAiBzT,SAAWyT,EAAiBpgB,WAAa13B,KAAK2+B,MAAMjH,UAAYogB,EAAiB/S,OAAS/kC,KAAK2+B,MAAMoG,KAC5I,OAGF/kC,KAAK42B,QAAQ8d,OAAOoD,iBAAmB,CACrCzT,SAAS,EACT3M,SAAU13B,KAAK2+B,MAAMjH,SACrBqN,KAAM/kC,KAAK2+B,MAAMoG,QAKvBgf,EAAkBnlC,UAAUD,QAAU,WAEpC3e,KAAK2+B,MAAQ,KAEbqlB,EAAUplC,UAAUD,QAAQF,KAAKze,OAG5B+jD,EAvKe,CAwKtBL,IAEFhtB,GAAU4F,kBAAkB,oBAAqBynB,IAWjD,IAAIY,GAAuB,SAAUC,GAYnC,SAASD,EAAqB1xB,EAAQ1B,GA4BpC,OA3BA3M,EAAe5kB,KAAM2kD,GAIrBpzB,EAAQoN,MAAQ,CACd1L,OAAQA,EACR8R,KAAMxT,EAAQwT,KACd0f,MAAOlzB,EAAQkzB,MACf,SAAW,EACX7a,KAAM,YAGHrY,EAAQkzB,QACXlzB,EAAQkzB,MAAQ,CAAClzB,EAAQwT,OAGvBxT,EAAQoP,MACVpP,EAAQoN,MAAMgC,MAAQpP,EAAQoP,MAE9BpP,EAAQoN,MAAMgC,MAAQpP,EAAQkzB,MAAMr9B,KAAK,SAAW,OAItDmK,EAAQoyB,YAAa,EAErBpyB,EAAQsyB,iBAAkB,EAEnBv+B,EAA0BtlB,KAAM4kD,EAAmBnmC,KAAKze,KAAMizB,EAAQ1B,IAmD/E,OA1FAxM,EAAS4/B,EAAsBC,GAkD/BD,EAAqB/lC,UAAUslC,mBAAqB,SAA4B78C,GAI9E,IAHA,IAAIg4B,EAASr/B,KAAKizB,SAASwM,aACvBilB,GAAmB,EAEdv6C,EAAI,EAAG45B,EAAI1E,EAAO9uB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC7C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAInK,KAAK62B,SAAS4tB,MAAM9gD,QAAQg7B,EAAMoG,OAAS,GAAoB,YAAfpG,EAAMiL,KAAoB,CAC5E8a,GAAmB,EACnB,OAMAA,IAAqB1kD,KAAK4jD,aAC5B5jD,KAAK2kC,SAAS+f,IAIlBC,EAAqB/lC,UAAUwlC,6BAA+B,SAAsC/8C,GAIlG,IAHA,IAAIg4B,EAASr/B,KAAKizB,SAASwM,aACvBolB,GAAY,EAEP16C,EAAI,EAAG45B,EAAI1E,EAAO9uB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC7C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAI,CAAC,WAAY,eAAgB,aAAaxG,QAAQg7B,EAAMoG,OAAS,GAAoB,YAAfpG,EAAMiL,KAAoB,CAClGib,GAAY,EACZ,OAIAA,IACF7kD,KAAK42B,QAAQ8d,OAAOoD,iBAAmB,CACrCzT,SAAS,KAKRsgB,EA3FkB,CA4FzBZ,IAEFrtB,GAAU4F,kBAAkB,uBAAwBqoB,IAWpD,IAAIG,GAAkB,SAAUC,GAY9B,SAASD,EAAgB7xB,GACvB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAKlF,OAJAkb,EAAe5kB,KAAM8kD,GAErBvzB,EAAQ8N,OAASpM,EAAOwM,aAEjBna,EAA0BtlB,KAAM+kD,EAAatmC,KAAKze,KAAMizB,EAAQ1B,IA+DzE,OAhFAxM,EAAS+/B,EAAiBC,GA+B1BD,EAAgBlmC,UAAUukC,YAAc,WACtC,IAAIF,EAAQv5C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5Es7C,EAAgBt7C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAKq6C,GAKpFpjB,OAAQ,EAER3gC,KAAKilD,SACPtkB,EAAQ3gC,KAAKilD,OAAS,QAGxBhC,EAAMrwC,KAAK,IAAI+xC,GAAqB3kD,KAAK42B,QAAS,CAChD6tB,MAAOzkD,KAAKklD,OACZngB,KAAM/kC,KAAKmlD,MACXxkB,MAAOA,KAGT3gC,KAAKkjD,gBAAkB,EAEvB,IAAI7jB,EAASr/B,KAAK42B,QAAQ6I,aAErBt7B,MAAMC,QAAQpE,KAAKklD,UACtBllD,KAAKklD,OAAS,CAACllD,KAAKmlD,QAGtB,IAAK,IAAIh7C,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAGnB,GAAInK,KAAKklD,OAAOvhD,QAAQg7B,EAAMoG,OAAS,EAAG,CAExC,IAAIzgC,EAAO,IAAI0gD,EAAchlD,KAAK42B,QAAS,CACzC+H,MAAOA,EAEPglB,YAAY,EAEZE,iBAAiB,IAGnBv/C,EAAK8mB,SAAS,OAASuT,EAAMoG,KAAO,cACpCke,EAAMrwC,KAAKtO,IAIf,OAAO2+C,GAGF6B,EAjFa,CAkFpBvB,IAEF7sB,GAAU4F,kBAAkB,kBAAmBwoB,IAW/C,IAAIM,GAAwB,SAAUpB,GAYpC,SAASoB,EAAsBnyB,EAAQ1B,GACrC3M,EAAe5kB,KAAMolD,GAErB,IAAIzmB,EAAQpN,EAAQoN,MAChBG,EAAMvN,EAAQuN,IACdtiB,EAAcyW,EAAOzW,cAGzB+U,EAAQoyB,YAAa,EACrBpyB,EAAQsyB,iBAAkB,EAC1BtyB,EAAQoP,MAAQ7B,EAAItU,KACpB+G,EAAQoT,SAAW7F,EAAIC,WAAaviB,GAAeA,EAAcsiB,EAAIE,QAErE,IAAIx1B,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAKzE,OAHA/nB,EAAMm1B,MAAQA,EACdn1B,EAAMs1B,IAAMA,EACZH,EAAMphB,iBAAiB,YAAarO,GAAK1F,EAAOA,EAAM4sC,SAC/C5sC,EAwCT,OArEAub,EAASqgC,EAAuBpB,GA6ChCoB,EAAsBxmC,UAAUm3B,YAAc,SAAqB1uC,GACjE28C,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,MACrCA,KAAK42B,QAAQpa,YAAYxc,KAAK8+B,IAAIC,WAClC/+B,KAAKo2C,OAAOp2C,KAAK8+B,IAAIC,YAavBqmB,EAAsBxmC,UAAUw3B,OAAS,SAAgB/uC,GACvD,IAAIy3B,EAAM9+B,KAAK8+B,IACXtiB,EAAcxc,KAAK42B,QAAQpa,cAG/Bxc,KAAK2kC,SAAS7F,EAAIC,WAAaviB,GAAeA,EAAcsiB,EAAIE,UAG3DomB,EAtEmB,CAuE1B1B,IAEFhtB,GAAU4F,kBAAkB,wBAAyB8oB,IAarD,IAAIC,GAAiB,SAAUC,GAe7B,SAASD,EAAepyB,EAAQ1B,EAASoF,GAEvC,OADA/R,EAAe5kB,KAAMqlD,GACd//B,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAkKtF,OAlLA5R,EAASsgC,EAAgBC,GA2BzBD,EAAezmC,UAAU2a,cAAgB,WACvC,MAAO,uBAAyB+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGhFqlD,EAAezmC,UAAUwkC,qBAAuB,WAC9C,MAAO,uBAAyBkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAevFqlD,EAAezmC,UAAUw3B,OAAS,SAAgB/uC,GAC3CrH,KAAKulD,UAAUl+C,GAAyB,aAAfA,EAAM3D,MAAsC,gBAAf2D,EAAM3D,OAC/D1D,KAAKwlD,SAASxlD,KAAKylD,qBAErBH,EAAiB1mC,UAAUw3B,OAAO33B,KAAKze,OAYzCqlD,EAAezmC,UAAU4mC,SAAW,SAAkB7mB,GACpD,GAAI3+B,KAAKulD,SAAW5mB,EAApB,CASA,GALK3+B,KAAK0lD,iBACR1lD,KAAK0lD,eAAiB1lD,KAAKo2C,OAAOlnC,KAAKlP,OAIrCA,KAAKulD,OAAQ,CACf,IAAII,EAAoB3lD,KAAK42B,QAAQ2Y,qBAAqBlK,wBAAwBrlC,KAAKulD,QAEnFI,GACFA,EAAkBn2B,oBAAoB,OAAQxvB,KAAK0lD,gBAGrD1lD,KAAKulD,OAAS,KAMhB,GAHAvlD,KAAKulD,OAAS5mB,EAGV3+B,KAAKulD,OAAQ,CACfvlD,KAAKulD,OAAO3b,KAAO,SAEnB,IAAIgc,EAAqB5lD,KAAK42B,QAAQ2Y,qBAAqBlK,wBAAwBrlC,KAAKulD,QAEpFK,GACFA,EAAmBroC,iBAAiB,OAAQvd,KAAK0lD,mBAavDL,EAAezmC,UAAU6mC,kBAAoB,WAG3C,IAFA,IAAIpmB,EAASr/B,KAAK42B,QAAQ6I,cAAgB,GAEjCt1B,EAAIk1B,EAAO9uB,OAAS,EAAGpG,GAAK,EAAGA,IAAK,CAE3C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAIw0B,EAAMoG,OAAS/kC,KAAKmlD,MACtB,OAAOxmB,IAcb0mB,EAAezmC,UAAUinC,eAAiB,WACxC,OAAI7lD,KAAKulD,QAAUvlD,KAAKulD,OAAO5kB,MACtB3gC,KAAKulD,OAAO5kB,MAEd3gC,KAAKu3B,SAASpB,GAAYn2B,KAAKmlD,SAWxCE,EAAezmC,UAAUmkC,WAAa,WAEpC,OADA/iD,KAAK62B,SAASvkB,MAAQtS,KAAK6lD,iBACpBP,EAAiB1mC,UAAUmkC,WAAWtkC,KAAKze,OAWpDqlD,EAAezmC,UAAUukC,YAAc,WACrC,IAAIF,EAAQ,GAEZ,IAAKjjD,KAAKulD,OACR,OAAOtC,EAGT,IAAIpkB,EAAO7+B,KAAKulD,OAAO1mB,KAEvB,IAAKA,EACH,OAAOokB,EAGT,IAAK,IAAI94C,EAAI,EAAG45B,EAAIlF,EAAKtuB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC3C,IAAI20B,EAAMD,EAAK10B,GACX27C,EAAK,IAAIV,GAAsBplD,KAAK42B,QAAS,CAAE+H,MAAO3+B,KAAKulD,OAAQzmB,IAAKA,IAE5EmkB,EAAMrwC,KAAKkzC,GAGb,OAAO7C,GAGFoC,EAnLY,CAoLnBP,IAUFO,GAAezmC,UAAUumC,MAAQ,WAQjCE,GAAezmC,UAAU+2B,aAAe,WAExCjf,GAAU4F,kBAAkB,iBAAkB+oB,IAW9C,IAAIU,GAAqB,SAAUT,GAejC,SAASS,EAAmB9yB,EAAQ1B,EAASoF,GAC3C/R,EAAe5kB,KAAM+lD,GAErB,IAAIv8C,EAAQ8b,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAErF0I,EAASpM,EAAOwM,aAChBwkB,EAAgB/0C,GAAK1F,EAAOA,EAAM06C,oBAMtC,OAJA7kB,EAAO9hB,iBAAiB,SAAU0mC,GAClCz6C,EAAM9I,GAAG,WAAW,WAClB2+B,EAAO7P,oBAAoB,SAAUy0B,MAEhCz6C,EAmDT,OA7EAub,EAASghC,EAAoBT,GAuC7BS,EAAmBnnC,UAAUslC,mBAAqB,SAA4B78C,GAK5E,IAJA,IAAIg4B,EAASr/B,KAAKizB,SAASwM,aACvBn6B,GAAW,EAGN6E,EAAI,EAAG45B,EAAI1E,EAAO9uB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC7C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAIw0B,EAAMoG,OAAS/kC,KAAKmlD,OAAwB,YAAfxmB,EAAMiL,KAAoB,CACzDtkC,GAAW,EACX,OAKAA,EACFtF,KAAKmoB,UAELnoB,KAAKooB,UAYT29B,EAAmBnnC,UAAU2a,cAAgB,WAC3C,MAAO,2BAA6B+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGpF+lD,EAAmBnnC,UAAUwkC,qBAAuB,WAClD,MAAO,2BAA6BkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAGpF+lD,EA9EgB,CA+EvBjB,IAUFiB,GAAmBnnC,UAAUumC,MAAQ,eAQrCY,GAAmBnnC,UAAU+2B,aAAe,eAE5Cjf,GAAU4F,kBAAkB,qBAAsBypB,IAWlD,IAAIC,GAAkB,SAAUV,GAe9B,SAASU,EAAgB/yB,EAAQ1B,EAASoF,GAExC,OADA/R,EAAe5kB,KAAMgmD,GACd1gC,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAmBtF,OAnCA5R,EAASihC,EAAiBV,GA2B1BU,EAAgBpnC,UAAU2a,cAAgB,WACxC,MAAO,wBAA0B+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGjFgmD,EAAgBpnC,UAAUwkC,qBAAuB,WAC/C,MAAO,wBAA0BkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAGjFgmD,EApCa,CAqCpBlB,IAUFkB,GAAgBpnC,UAAUumC,MAAQ,YAQlCa,GAAgBpnC,UAAU+2B,aAAe,YAEzCjf,GAAU4F,kBAAkB,kBAAmB0pB,IAW/C,IAAIC,GAA0B,SAAUrB,GAYtC,SAASqB,EAAwBhzB,EAAQ1B,GACvC3M,EAAe5kB,KAAMimD,GAErB10B,EAAQoN,MAAQ,CACd1L,OAAQA,EACR8R,KAAMxT,EAAQwT,KACdpE,MAAOpP,EAAQwT,KAAO,YACtB4e,YAAY,EACZ,SAAW,EACX/Z,KAAM,YAIRrY,EAAQoyB,YAAa,EAErBpyB,EAAQnvB,KAAO,0BAEf,IAAIoH,EAAQ8b,EAA0BtlB,KAAM4kD,EAAmBnmC,KAAKze,KAAMizB,EAAQ1B,IAIlF,OAFA/nB,EAAM4hB,SAAS,0BACf5hB,EAAMo4B,YAAY,WAAarQ,EAAQwT,KAAO,oBACvCv7B,EAoBT,OApDAub,EAASkhC,EAAyBrB,GAgDlCqB,EAAwBrnC,UAAUm3B,YAAc,SAAqB1uC,GACnErH,KAAKizB,SAASkF,SAAS,qBAAqB4I,QAGvCklB,EArDqB,CAsD5BlC,IAEFrtB,GAAU4F,kBAAkB,0BAA2B2pB,IAWvD,IAAIC,GAAiB,SAAUZ,GAe7B,SAASY,EAAejzB,EAAQ1B,EAASoF,GAEvC,OADA/R,EAAe5kB,KAAMkmD,GACd5gC,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAuCtF,OAvDA5R,EAASmhC,EAAgBZ,GA2BzBY,EAAetnC,UAAU2a,cAAgB,WACvC,MAAO,uBAAyB+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGhFkmD,EAAetnC,UAAUwkC,qBAAuB,WAC9C,MAAO,uBAAyBkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAWvFkmD,EAAetnC,UAAUukC,YAAc,WACrC,IAAIF,EAAQ,GAQZ,OANMjjD,KAAKizB,SAASqW,OAAStpC,KAAKizB,SAASqW,MAAMmD,2BAA6BzsC,KAAKizB,SAASkF,SAAS,uBACnG8qB,EAAMrwC,KAAK,IAAIqzC,GAAwBjmD,KAAK42B,QAAS,CAAEmO,KAAM/kC,KAAKmlD,SAElEnlD,KAAKkjD,gBAAkB,GAGlBoC,EAAiB1mC,UAAUukC,YAAY1kC,KAAKze,KAAMijD,IAGpDiD,EAxDY,CAyDnBpB,IAUFoB,GAAetnC,UAAUumC,MAAQ,WAQjCe,GAAetnC,UAAU+2B,aAAe,WAExCjf,GAAU4F,kBAAkB,iBAAkB4pB,IAY9C,IAAIC,GAAmB,SAAUvB,GAG/B,SAASuB,IAEP,OADAvhC,EAAe5kB,KAAMmmD,GACd7gC,EAA0BtlB,KAAM4kD,EAAmBlmC,MAAM1e,KAAM0J,YAmBxE,OAvBAqb,EAASohC,EAAkBvB,GAO3BuB,EAAiBvnC,UAAUkL,SAAW,SAAkBpmB,EAAM2B,EAAO5E,GACnE,IAAI4mC,EAAY,oCAAsCrnC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAEjD,aAA7B3gC,KAAK62B,SAAS8H,MAAMoG,OACtBsC,GAAa,oHAAsHrnC,KAAKu3B,SAAS,YAAc,mBAGjK8P,GAAa,UAEb,IAAIr2B,EAAK4zC,EAAmBhmC,UAAUkL,SAASrL,KAAKze,KAAM0D,EAAM6X,EAAO,CACrE8rB,UAAWA,GACVhiC,GAAQ5E,GAEX,OAAOuQ,GAGFm1C,EAxBc,CAyBrBpC,IAEFrtB,GAAU4F,kBAAkB,mBAAoB6pB,IAWhD,IAAIC,GAAiB,SAAUd,GAG7B,SAASc,EAAenzB,GACtB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAMomD,GAIrB,IAAI58C,EAAQ8b,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,IAOhF,OALA/nB,EAAMy7C,OAAS,YACX,CAAC,KAAM,QAAS,QAAS,SAASthD,QAAQ6F,EAAMotB,QAAQyvB,YAAc,IACxE78C,EAAMy7C,OAAS,YAEjBz7C,EAAM04C,YAAYtgB,YAAYzL,GAAY3sB,EAAMy7C,SACzCz7C,EAwCT,OAvDAub,EAASqhC,EAAgBd,GA0BzBc,EAAexnC,UAAU2a,cAAgB,WACvC,MAAO,wBAA0B+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGjFomD,EAAexnC,UAAUwkC,qBAAuB,WAC9C,MAAO,wBAA0BkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAWxFomD,EAAexnC,UAAUukC,YAAc,WACrC,IAAIF,EAAQ,GASZ,OAPMjjD,KAAKizB,SAASqW,OAAStpC,KAAKizB,SAASqW,MAAMmD,2BAA6BzsC,KAAKizB,SAASkF,SAAS,uBACnG8qB,EAAMrwC,KAAK,IAAIqzC,GAAwBjmD,KAAK42B,QAAS,CAAEmO,KAAM/kC,KAAKilD,UAElEjlD,KAAKkjD,gBAAkB,GAGzBD,EAAQqC,EAAiB1mC,UAAUukC,YAAY1kC,KAAKze,KAAMijD,EAAOkD,IAC1DlD,GAGFmD,EAxDY,CAyDnBtB,IAUFsB,GAAexnC,UAAUsmC,OAAS,CAAC,WAAY,aAS/CkB,GAAexnC,UAAU+2B,aAAe,YAExCjf,GAAU4F,kBAAkB,iBAAkB8pB,IAW9C,IAAIE,GAAqB,SAAUtC,GAYjC,SAASsC,EAAmBrzB,EAAQ1B,GAClC3M,EAAe5kB,KAAMsmD,GAErB,IAAI3nB,EAAQpN,EAAQoN,MAChBU,EAASpM,EAAOszB,cAGpBh1B,EAAQoP,MAAQhC,EAAMgC,OAAShC,EAAMjH,UAAY,UACjDnG,EAAQoT,SAAWhG,EAAM0F,QAEzB,IAAI76B,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAEzE/nB,EAAMm1B,MAAQA,EAEdn1B,EAAM4hB,SAAS,OAASuT,EAAMoG,KAAO,cAErC,IAAIkf,EAAgB,WAClB,IAAK,IAAI/9B,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB5c,EAAM06C,mBAAmBxlC,MAAMlV,EAAOgV,IAOxC,OAJA6gB,EAAO9hB,iBAAiB,SAAU0mC,GAClCz6C,EAAM9I,GAAG,WAAW,WAClB2+B,EAAO7P,oBAAoB,SAAUy0B,MAEhCz6C,EA0DT,OAjGAub,EAASuhC,EAAoBtC,GA0C7BsC,EAAmB1nC,UAAUkL,SAAW,SAAkBpmB,EAAM2B,EAAO5E,GACrE,IAAI4mC,EAAY,oCAAsCrnC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAEjD,cAA7B3gC,KAAK62B,SAAS8H,MAAMoG,OACtBsC,GAAa,oHAAsHrnC,KAAKu3B,SAAS,gBAAkB,mBAGrK8P,GAAa,UAEb,IAAIr2B,EAAKgzC,EAAUplC,UAAUkL,SAASrL,KAAKze,KAAM0D,EAAM6X,EAAO,CAC5D8rB,UAAWA,GACVhiC,GAAQ5E,GAEX,OAAOuQ,GAgBTs1C,EAAmB1nC,UAAUm3B,YAAc,SAAqB1uC,GAC9D,IAAIg4B,EAASr/B,KAAK42B,QAAQ2vB,cAE1BvC,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,KAAMqH,GAE3C,IAAK,IAAI8C,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnBw0B,EAAM0F,QAAU1F,IAAU3+B,KAAK2+B,QAcnC2nB,EAAmB1nC,UAAUslC,mBAAqB,SAA4B78C,GAC5ErH,KAAK2kC,SAAS3kC,KAAK2+B,MAAM0F,UAGpBiiB,EAlGgB,CAmGvB5C,IAEFhtB,GAAU4F,kBAAkB,qBAAsBgqB,IAWlD,IAAIE,GAAmB,SAAUzB,GAY/B,SAASyB,EAAiBvzB,GACxB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAKlF,OAJAkb,EAAe5kB,KAAMwmD,GAErBj1B,EAAQ8N,OAASpM,EAAOszB,cAEjBjhC,EAA0BtlB,KAAM+kD,EAAatmC,KAAKze,KAAMizB,EAAQ1B,IAqDzE,OAtEAxM,EAASyhC,EAAkBzB,GA4B3ByB,EAAiB5nC,UAAU2a,cAAgB,WACzC,MAAO,oBAAsBwrB,EAAanmC,UAAU2a,cAAc9a,KAAKze,OAGzEwmD,EAAiB5nC,UAAUwkC,qBAAuB,WAChD,MAAO,oBAAsB2B,EAAanmC,UAAUwkC,qBAAqB3kC,KAAKze,OAchFwmD,EAAiB5nC,UAAUukC,YAAc,WACvC,IAAIF,EAAQv5C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAGhF1J,KAAKkjD,eAAiB,EAItB,IAFA,IAAI7jB,EAASr/B,KAAK42B,QAAQ2vB,cAEjBp8C,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnB84C,EAAMrwC,KAAK,IAAI0zC,GAAmBtmD,KAAK42B,QAAS,CAC9C+H,MAAOA,EAEPglB,YAAY,EAEZE,iBAAiB,KAIrB,OAAOZ,GAGFuD,EAvEc,CAwErBjD,IAUFiD,GAAiB5nC,UAAU+2B,aAAe,cAC1Cjf,GAAU4F,kBAAkB,mBAAoBkqB,IAWhD,IAAIC,GAAuB,SAAUzC,GAYnC,SAASyC,EAAqBxzB,EAAQ1B,GACpC3M,EAAe5kB,KAAMymD,GAErB,IAAI9lB,EAAQpP,EAAQm1B,KAChBA,EAAOhkC,WAAWie,EAAO,IAG7BpP,EAAQoP,MAAQA,EAChBpP,EAAQoT,SAAoB,IAAT+hB,EACnBn1B,EAAQoyB,YAAa,EACrBpyB,EAAQsyB,iBAAkB,EAE1B,IAAIr6C,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAMzE,OAJA/nB,EAAMm3B,MAAQA,EACdn3B,EAAMk9C,KAAOA,EAEbl9C,EAAM9I,GAAGuyB,EAAQ,aAAczpB,EAAM4sC,QAC9B5sC,EAmCT,OAhEAub,EAAS0hC,EAAsBzC,GA6C/ByC,EAAqB7nC,UAAUm3B,YAAc,SAAqB1uC,GAChE28C,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,MACrCA,KAAKizB,SAAS0zB,aAAa3mD,KAAK0mD,OAalCD,EAAqB7nC,UAAUw3B,OAAS,SAAgB/uC,GACtDrH,KAAK2kC,SAAS3kC,KAAKizB,SAAS0zB,iBAAmB3mD,KAAK0mD,OAG/CD,EAjEkB,CAkEzB/C,IAUF+C,GAAqB7nC,UAAU2jC,cAAgB,SAE/C7rB,GAAU4F,kBAAkB,uBAAwBmqB,IAWpD,IAAIG,GAAyB,SAAUpD,GAYrC,SAASoD,EAAuB3zB,EAAQ1B,GACtC3M,EAAe5kB,KAAM4mD,GAErB,IAAIp9C,EAAQ8b,EAA0BtlB,KAAMwjD,EAAY/kC,KAAKze,KAAMizB,EAAQ1B,IAO3E,OALA/nB,EAAMq9C,mBACNr9C,EAAMs9C,cAENt9C,EAAM9I,GAAGuyB,EAAQ,YAAazpB,EAAMq9C,kBACpCr9C,EAAM9I,GAAGuyB,EAAQ,aAAczpB,EAAMs9C,aAC9Bt9C,EAsKT,OA3LAub,EAAS6hC,EAAwBpD,GAgCjCoD,EAAuBhoC,UAAUkL,SAAW,WAC1C,IAAI9Y,EAAKwyC,EAAY5kC,UAAUkL,SAASrL,KAAKze,MAS7C,OAPAA,KAAK+mD,SAAWj9B,GAAS,MAAO,CAC9BT,UAAW,0BACXge,UAAW,OAGbr2B,EAAG8Z,YAAY9qB,KAAK+mD,UAEb/1C,GAGT41C,EAAuBhoC,UAAUD,QAAU,WACzC3e,KAAK+mD,SAAW,KAEhBvD,EAAY5kC,UAAUD,QAAQF,KAAKze,OAWrC4mD,EAAuBhoC,UAAU2a,cAAgB,WAC/C,MAAO,qBAAuBiqB,EAAY5kC,UAAU2a,cAAc9a,KAAKze,OAGzE4mD,EAAuBhoC,UAAUwkC,qBAAuB,WACtD,MAAO,qBAAuBI,EAAY5kC,UAAUwkC,qBAAqB3kC,KAAKze,OAWhF4mD,EAAuBhoC,UAAUmkC,WAAa,WAC5C,IAAID,EAAO,IAAIb,GAAKjiD,KAAKizB,UACrB+zB,EAAQhnD,KAAKinD,gBAEjB,GAAID,EACF,IAAK,IAAI78C,EAAI68C,EAAMz2C,OAAS,EAAGpG,GAAK,EAAGA,IACrC24C,EAAK1qB,SAAS,IAAIquB,GAAqBzmD,KAAKizB,SAAU,CAAEyzB,KAAMM,EAAM78C,GAAK,OAI7E,OAAO24C,GAQT8D,EAAuBhoC,UAAU2hC,qBAAuB,WAEtDvgD,KAAKgR,KAAKgM,aAAa,gBAAiBhd,KAAKizB,SAAS0zB,iBAgBxDC,EAAuBhoC,UAAUm3B,YAAc,SAAqB1uC,GAQlE,IANA,IAAI6/C,EAAclnD,KAAKizB,SAAS0zB,eAC5BK,EAAQhnD,KAAKinD,gBAGbE,EAAUH,EAAM,GAEX78C,EAAI,EAAGA,EAAI68C,EAAMz2C,OAAQpG,IAChC,GAAI68C,EAAM78C,GAAK+8C,EAAa,CAC1BC,EAAUH,EAAM78C,GAChB,MAGJnK,KAAKizB,SAAS0zB,aAAaQ,IAW7BP,EAAuBhoC,UAAUqoC,cAAgB,WAC/C,OAAOjnD,KAAK62B,SAASowB,eAAiBjnD,KAAK62B,SAASmC,eAAiBh5B,KAAK62B,SAASmC,cAAciuB,eAYnGL,EAAuBhoC,UAAUwoC,sBAAwB,WACvD,OAAOpnD,KAAKizB,SAASqW,OAAStpC,KAAKizB,SAASqW,MAAMiH,sBAAwBvwC,KAAKinD,iBAAmBjnD,KAAKinD,gBAAgB12C,OAAS,GAalIq2C,EAAuBhoC,UAAUioC,iBAAmB,SAA0Bx/C,GACxErH,KAAKonD,wBACPpnD,KAAKurB,YAAY,cAEjBvrB,KAAKorB,SAAS,eAclBw7B,EAAuBhoC,UAAUkoC,YAAc,SAAqBz/C,GAC9DrH,KAAKonD,0BACPpnD,KAAK+mD,SAAS1f,UAAYrnC,KAAKizB,SAAS0zB,eAAiB,MAItDC,EA5LoB,CA6L3BjE,IAUFiE,GAAuBhoC,UAAU+2B,aAAe,gBAEhDjf,GAAU4F,kBAAkB,yBAA0BsqB,IAYtD,IAAIS,GAAS,SAAUnnB,GAGrB,SAASmnB,IAEP,OADAziC,EAAe5kB,KAAMqnD,GACd/hC,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YA2BhE,OA/BAqb,EAASsiC,EAAQnnB,GAajBmnB,EAAOzoC,UAAU2a,cAAgB,WAC/B,MAAO,cAAgB2G,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAWjEqnD,EAAOzoC,UAAUkL,SAAW,WAC1B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAWrpB,KAAKu5B,mBAIb8tB,EAhCI,CAiCX3wB,IAEFA,GAAU4F,kBAAkB,SAAU+qB,IAWtC,IAAIC,GAAsB,SAAUC,GAGlC,SAASD,IAEP,OADA1iC,EAAe5kB,KAAMsnD,GACdhiC,EAA0BtlB,KAAMunD,EAAQ7oC,MAAM1e,KAAM0J,YAgC7D,OApCAqb,EAASuiC,EAAqBC,GAa9BD,EAAoB1oC,UAAU2a,cAAgB,WAC5C,MAAO,6BAA+BguB,EAAQ3oC,UAAU2a,cAAc9a,KAAKze,OAW7EsnD,EAAoB1oC,UAAUkL,SAAW,WACvC,IAAI9Y,EAAKu2C,EAAQ3oC,UAAUkL,SAASrL,KAAKze,KAAM,CAC7CqpB,UAAWrpB,KAAKu5B,kBAMlB,OADAvoB,EAAGq2B,UAAY,IACRr2B,GAGFs2C,EArCiB,CAsCxBD,IAEF3wB,GAAU4F,kBAAkB,sBAAuBgrB,IAYnD,IAAIE,GAAa,SAAUtnB,GAGzB,SAASsnB,IAEP,OADA5iC,EAAe5kB,KAAMwnD,GACdliC,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAgBhE,OApBAqb,EAASyiC,EAAYtnB,GAarBsnB,EAAW5oC,UAAUkL,SAAW,WAC9B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,kBACXqwB,IAAK,SAIF8N,EArBQ,CAsBf9wB,IAUF8wB,GAAW5oC,UAAUiY,SAAW,CAC9BhmB,SAAU,CAAC,aAAc,cAAe,qBAAsB,cAAe,kBAAmB,kBAAmB,cAAe,uBAAwB,sBAAuB,yBAA0B,iBAAkB,qBAAsB,iBAAkB,mBAAoB,qBAG3R6lB,GAAU4F,kBAAkB,aAAckrB,IAY1C,IAAIC,GAAe,SAAUC,GAY3B,SAASD,EAAax0B,EAAQ1B,GAC5B3M,EAAe5kB,KAAMynD,GAErB,IAAIj+C,EAAQ8b,EAA0BtlB,KAAM0nD,EAAajpC,KAAKze,KAAMizB,EAAQ1B,IAG5E,OADA/nB,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAMu3B,MACzBv3B,EA+BT,OAhDAub,EAAS0iC,EAAcC,GA8BvBD,EAAa7oC,UAAU2a,cAAgB,WACrC,MAAO,qBAAuBmuB,EAAa9oC,UAAU2a,cAAc9a,KAAKze,OAW1EynD,EAAa7oC,UAAUjU,QAAU,WAC/B,IAAIid,EAAQ5nB,KAAKizB,SAASrL,QAE1B,OAAOA,EAAQ5nB,KAAKu3B,SAAS3P,EAAMpR,SAAW,IAGzCixC,EAjDU,CAkDjBxnB,IASFwnB,GAAa7oC,UAAUiY,SAAWJ,GAAawJ,GAAYrhB,UAAUiY,SAAU,CAC7EuK,aAAa,EACbJ,YAAY,EACZS,WAAW,EACXnB,aAAa,IAGf5J,GAAU4F,kBAAkB,eAAgBmrB,IAK5C,IAAIE,GAAoB,0BAEpBC,GAAc,CAAC,OAAQ,SACvBC,GAAa,CAAC,OAAQ,QACtBC,GAAa,CAAC,OAAQ,QACtBC,GAAc,CAAC,OAAQ,SACvBC,GAAgB,CAAC,OAAQ,WACzBC,GAAY,CAAC,OAAQ,OACrBC,GAAc,CAAC,OAAQ,SACvBC,GAAe,CAAC,OAAQ,UAExBC,GAAiB,CAAC,IAAK,UACvBC,GAAe,CAAC,MAAO,oBACvBC,GAAgB,CAAC,IAAK,eAatBC,GAAgB,CAClB1P,gBAAiB,CACfjvB,SAAU,yBACVzmB,GAAI,+BACJw9B,MAAO,QACPpP,QAAS,CAACq2B,GAAaM,GAAaD,GAAWF,GAAaF,GAAYM,GAAcH,GAAeF,KAGvGhP,kBAAmB,CACjBlvB,SAAU,2BACVzmB,GAAI,iCACJw9B,MAAO,eACPpP,QAAS,CAAC62B,GAAgBC,GAAcC,KAG1C59C,MAAO,CACLkf,SAAU,yBACVzmB,GAAI,+BACJw9B,MAAO,QACPpP,QAAS,CAAC22B,GAAaN,GAAaK,GAAWF,GAAaF,GAAYM,GAAcH,GAAeF,KAGvG7O,UAAW,CACTrvB,SAAU,2BACVzmB,GAAI,KACJw9B,MAAO,kBACPpP,QAAS,CAAC,CAAC,OAAQ,QAAS,CAAC,SAAU,UAAW,CAAC,YAAa,aAAc,CAAC,UAAW,WAAY,CAAC,aAAc,gBAGvH8nB,WAAY,CACVzvB,SAAU,4BACVzmB,GAAI,0BACJw9B,MAAO,cACPpP,QAAS,CAAC,CAAC,wBAAyB,2BAA4B,CAAC,qBAAsB,wBAAyB,CAAC,oBAAqB,sBAAuB,CAAC,iBAAkB,mBAAoB,CAAC,SAAU,UAAW,CAAC,SAAU,UAAW,CAAC,aAAc,gBAGjQ4nB,YAAa,CACXvvB,SAAU,6BACVzmB,GAAI,wBACJw9B,MAAO,YACPpP,QAAS,CAAC,CAAC,OAAQ,OAAQ,CAAC,OAAQ,OAAQ,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,SACjK,QAAW,EACX6W,OAAQ,SAAgBogB,GACtB,MAAa,SAANA,EAAe,KAAO7iD,OAAO6iD,KAIxC5P,YAAa,CACXhvB,SAAU,6BACVzmB,GAAI,iCACJw9B,MAAO,eACPpP,QAAS,CAAC62B,GAAgBC,KAI5BtP,YAAa,CACXnvB,SAAU,6BACVzmB,GAAI,2BACJw9B,MAAO,SAITqY,cAAe,CACbpvB,SAAU,+BACVzmB,GAAI,6BACJw9B,MAAO,eACPpP,QAAS,CAAC+2B,GAAeD,GAAcD,MAsB3C,SAASK,GAAiBnmD,EAAO8lC,GAK/B,GAJIA,IACF9lC,EAAQ8lC,EAAO9lC,IAGbA,GAAmB,SAAVA,EACX,OAAOA,EAoBX,SAASomD,GAAuB13C,EAAIo3B,GAClC,IAAI9lC,EAAQ0O,EAAGugB,QAAQvgB,EAAGugB,QAAQo3B,eAAermD,MAEjD,OAAOmmD,GAAiBnmD,EAAO8lC,GAkBjC,SAASwgB,GAAkB53C,EAAI1O,EAAO8lC,GACpC,GAAK9lC,EAIL,IAAK,IAAI6H,EAAI,EAAGA,EAAI6G,EAAGugB,QAAQhhB,OAAQpG,IACrC,GAAIs+C,GAAiBz3C,EAAGugB,QAAQpnB,GAAG7H,MAAO8lC,KAAY9lC,EAAO,CAC3D0O,EAAG23C,cAAgBx+C,EACnB,OAzENo+C,GAAcxP,YAAYxnB,QAAUg3B,GAAc1P,gBAAgBtnB,QAoFlE,IAAIs3B,GAAoB,SAAUnB,GAYhC,SAASmB,EAAkB51B,EAAQ1B,GACjC3M,EAAe5kB,KAAM6oD,GAErBt3B,EAAQkQ,WAAY,EAEpB,IAAIj4B,EAAQ8b,EAA0BtlB,KAAM0nD,EAAajpC,KAAKze,KAAMizB,EAAQ1B,IAsC5E,OApCA/nB,EAAMwlC,cAAgB9/B,GAAK1F,EAAOA,EAAMwlC,eAGxCxlC,EAAMy3B,OACNz3B,EAAM42B,eAAiB52B,EAAM62B,gBAAiB,EAE9C72B,EAAMs/C,UAAYh/B,GAAS,IAAK,CAC9BT,UAAW,mBACXgB,YAAa7gB,EAAM+tB,SAAS,2BAE9B/tB,EAAMwH,KAAK8Z,YAAYthB,EAAMs/C,WAE7Bt/C,EAAMu/C,mBAGmC/iC,IAArCuL,EAAQy3B,2BACVx/C,EAAMqtB,SAASmyB,yBAA2Bx/C,EAAMqtB,SAASmC,cAAcgwB,0BAGzEx/C,EAAM9I,GAAG8I,EAAMklB,EAAE,oBAAqB,SAAS,WAC7CllB,EAAMy/C,eACNz/C,EAAM7I,WAGR6I,EAAM9I,GAAG8I,EAAMklB,EAAE,uBAAwB,SAAS,WAChDllB,EAAMu/C,cACNv/C,EAAMwlC,mBAGRnpB,EAAK0iC,IAAe,SAAUW,GAC5B1/C,EAAM9I,GAAG8I,EAAMklB,EAAEw6B,EAAOt/B,UAAW,SAAUpgB,EAAMwlC,kBAGjDxlC,EAAMqtB,SAASmyB,0BACjBx/C,EAAM2/C,kBAED3/C,EA8RT,OApVAub,EAAS8jC,EAAmBnB,GAyD5BmB,EAAkBjqC,UAAUD,QAAU,WACpC3e,KAAK8oD,UAAY,KAEjBpB,EAAa9oC,UAAUD,QAAQF,KAAKze,OAgBtC6oD,EAAkBjqC,UAAUwqC,gBAAkB,SAAyBlmD,GACrE,IAAImyB,EAASr1B,KAETqpD,EAAW3/C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC/EhG,EAAOgG,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,QAE3Ew/C,EAASX,GAAcrlD,GACvBC,EAAK+lD,EAAO/lD,GAAG4J,QAAQ,KAAM/M,KAAK82B,KAClCwyB,EAAsB,CAACD,EAAUlmD,GAAIikB,KAAK,KAAKvH,OAEnD,MAAO,CAAC,IAAMnc,EAAO,QAAUP,EAAK,aAAwB,UAATO,EAAmB,YAAc,IAAM,KAAM1D,KAAKu3B,SAAS2xB,EAAOvoB,OAAQ,KAAOj9B,EAAO,IAAK,4BAA8B4lD,EAAsB,MAAMlrC,OAAO8qC,EAAO33B,QAAQltB,KAAI,SAAUklD,GAC5O,IAAIC,EAAWrmD,EAAK,IAAMomD,EAAE,GAAGx8C,QAAQ,OAAQ,IAE/C,MAAO,CAAC,eAAiBy8C,EAAW,YAAcD,EAAE,GAAK,KAAM,oBAAsBD,EAAsB,IAAME,EAAW,KAAMn0B,EAAOkC,SAASgyB,EAAE,IAAK,aAAaniC,KAAK,QACzKhJ,OAAO,aAAagJ,KAAK,KAa/ByhC,EAAkBjqC,UAAU6qC,iBAAmB,WAC7C,IAAIJ,EAAW,wBAA0BrpD,KAAK82B,IAE9C,MAAO,CAAC,oDAAqD,eAAiBuyB,EAAW,KAAMrpD,KAAKu3B,SAAS,QAAS,YAAav3B,KAAKopD,gBAAgB,QAASC,GAAW,8CAA+CrpD,KAAKopD,gBAAgB,cAAeC,GAAW,UAAW,eAAejiC,KAAK,KAa3SyhC,EAAkBjqC,UAAU8qC,iBAAmB,WAC7C,IAAIL,EAAW,uBAAyBrpD,KAAK82B,IAE7C,MAAO,CAAC,oDAAqD,eAAiBuyB,EAAW,KAAMrpD,KAAKu3B,SAAS,cAAe,YAAav3B,KAAKopD,gBAAgB,kBAAmBC,GAAW,4CAA6CrpD,KAAKopD,gBAAgB,oBAAqBC,GAAW,UAAW,eAAejiC,KAAK,KAa/TyhC,EAAkBjqC,UAAU+qC,kBAAoB,WAC9C,IAAIN,EAAW,mBAAqBrpD,KAAK82B,IAEzC,MAAO,CAAC,wDAAyD,eAAiBuyB,EAAW,KAAMrpD,KAAKu3B,SAAS,UAAW,YAAav3B,KAAKopD,gBAAgB,cAAeC,GAAW,gDAAiDrpD,KAAKopD,gBAAgB,gBAAiBC,GAAW,UAAW,eAAejiC,KAAK,KAa3TyhC,EAAkBjqC,UAAUgrC,gBAAkB,WAC5C,OAAO9/B,GAAS,MAAO,CACrBT,UAAW,4BACXge,UAAW,CAACrnC,KAAKypD,mBAAoBzpD,KAAK0pD,mBAAoB1pD,KAAK2pD,qBAAqBviC,KAAK,OAcjGyhC,EAAkBjqC,UAAUirC,cAAgB,WAC1C,OAAO//B,GAAS,MAAO,CACrBT,UAAW,0BACXge,UAAW,CAAC,wDAAyDrnC,KAAKopD,gBAAgB,cAAe,GAAI,UAAW,cAAe,sDAAuDppD,KAAKopD,gBAAgB,YAAa,GAAI,UAAW,cAAe,uDAAwDppD,KAAKopD,gBAAgB,aAAc,GAAI,UAAW,eAAehiC,KAAK,OAchYyhC,EAAkBjqC,UAAUkrC,kBAAoB,WAC9C,IAAIC,EAAsB/pD,KAAKu3B,SAAS,8CAExC,OAAOzN,GAAS,MAAO,CACrBT,UAAW,8BACXge,UAAW,CAAC,2DAA6D0iB,EAAsB,KAAM/pD,KAAKu3B,SAAS,SAAU,mCAAqCwyB,EAAsB,UAAW,YAAa,iDAAmD/pD,KAAKu3B,SAAS,QAAU,aAAanQ,KAAK,OAIjTyhC,EAAkBjqC,UAAUjU,QAAU,WACpC,MAAO,CAAC3K,KAAK4pD,kBAAmB5pD,KAAK6pD,gBAAiB7pD,KAAK8pD,sBAG7DjB,EAAkBjqC,UAAU+hB,MAAQ,WAClC,OAAO3gC,KAAKu3B,SAAS,4BAGvBsxB,EAAkBjqC,UAAU6hB,YAAc,WACxC,OAAOzgC,KAAKu3B,SAAS,yEAGvBsxB,EAAkBjqC,UAAU2a,cAAgB,WAC1C,OAAOmuB,EAAa9oC,UAAU2a,cAAc9a,KAAKze,MAAQ,4BAW3D6oD,EAAkBjqC,UAAU65B,UAAY,WACtC,IAAItc,EAASn8B,KAEb,OAAO8lB,EAAOyiC,IAAe,SAAUtiC,EAAOijC,EAAQhmD,GACpD,IAAIZ,EAAQomD,GAAuBvsB,EAAOzN,EAAEw6B,EAAOt/B,UAAWs/B,EAAO9gB,QAMrE,YAJcpiB,IAAV1jB,IACF2jB,EAAM/iB,GAAOZ,GAGR2jB,IACN,KAWL4iC,EAAkBjqC,UAAUorC,UAAY,SAAmBC,GACzD,IAAI7tB,EAASp8B,KAEb6lB,EAAK0iC,IAAe,SAAUW,EAAQhmD,GACpC0lD,GAAkBxsB,EAAO1N,EAAEw6B,EAAOt/B,UAAWqgC,EAAO/mD,GAAMgmD,EAAO9gB,YASrEygB,EAAkBjqC,UAAUmqC,YAAc,WACxC,IAAIxa,EAASvuC,KAEb6lB,EAAK0iC,IAAe,SAAUW,GAC5B,IAAI7gD,EAAQ6gD,EAAOphC,eAAe,WAAaohC,EAAO,WAAa,EAEnE3a,EAAO7f,EAAEw6B,EAAOt/B,UAAU++B,cAAgBtgD,MAS9CwgD,EAAkBjqC,UAAUuqC,gBAAkB,WAC5C,IAAIc,OAAS,EAEb,IACEA,EAAS/kD,KAAK2jC,MAAMr9B,EAAO0+C,aAAaC,QAAQxC,KAChD,MAAOjxC,GACP8P,EAAImB,KAAKjR,GAGPuzC,GACFjqD,KAAKgqD,UAAUC,IASnBpB,EAAkBjqC,UAAUqqC,aAAe,WACzC,GAAKjpD,KAAK62B,SAASmyB,yBAAnB,CAIA,IAAIiB,EAASjqD,KAAKy4C,YAElB,IACMj0C,OAAOC,KAAKwlD,GAAQ15C,OACtB/E,EAAO0+C,aAAaE,QAAQzC,GAAmBziD,KAAKC,UAAU8kD,IAE9Dz+C,EAAO0+C,aAAaG,WAAW1C,IAEjC,MAAOjxC,GACP8P,EAAImB,KAAKjR,MASbmyC,EAAkBjqC,UAAUowB,cAAgB,WAC1C,IAAIsb,EAAYtqD,KAAK42B,QAAQuB,SAAS,oBAElCmyB,GACFA,EAAUtb,iBAWd6Z,EAAkBjqC,UAAU4iB,iBAAmB,WAC7CxhC,KAAK4gC,oBAAsB,KAC3B5gC,KAAKqe,IAAIzS,EAAU,UAAW5L,KAAKuiC,eAEnC,IAAIrmB,EAAKlc,KAAK42B,QAAQ2zB,WAClBC,EAActuC,GAAMA,EAAGuuC,eACvBC,EAAQxuC,GAAMA,EAAGyuC,eAEjBH,EACFA,EAAYh+B,QACHk+B,GACTA,EAAMl+B,SAIHq8B,EArVe,CAsVtB5oB,IAEFvJ,GAAU4F,kBAAkB,oBAAqBusB,IAsBjD,IAAI+B,GAAgB,SAAU1qB,GAgB5B,SAAS0qB,EAAc33B,EAAQ1B,GAC7B3M,EAAe5kB,KAAM4qD,GAErB,IAAIC,EAA4Bt5B,EAAQu5B,gBAAkBt/C,EAAOs/C,eAGlC,OAA3Bv5B,EAAQu5B,iBACVD,GAA4B,GAI9B,IAAIh0B,EAAWJ,GAAa,CAAE3M,UAAW+gC,GAA6Bt5B,GAElE/nB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ4D,IAuB1E,OArBArtB,EAAMshD,eAAiBv5B,EAAQu5B,gBAAkBt/C,EAAOs/C,eACxDthD,EAAMuhD,cAAgB,KACtBvhD,EAAMwhD,gBAAkB,KACxBxhD,EAAMyhD,kBAAoBr3B,IAAS,WACjCpqB,EAAM0hD,kBACL,KAAK,EAAO1hD,GAEXqhD,GACFrhD,EAAMwhD,gBAAkB,IAAIxhD,EAAMshD,eAAethD,EAAMyhD,mBACvDzhD,EAAMwhD,gBAAgBl6C,QAAQmiB,EAAOjiB,QAErCxH,EAAMuhD,cAAgB,WACfvhD,EAAMwtB,KAAQxtB,EAAMwtB,IAAIm0B,eAI7BzqD,GAAG8I,EAAMwtB,IAAIm0B,cAAe,SAAU3hD,EAAMyhD,oBAG9CzhD,EAAMwoB,IAAI,OAAQxoB,EAAMuhD,gBAEnBvhD,EA0DT,OA7GAub,EAAS6lC,EAAe1qB,GAsDxB0qB,EAAchsC,UAAUkL,SAAW,WACjC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,SAAU,CACxDqpB,UAAW,wBAWfuhC,EAAchsC,UAAUssC,cAAgB,WASjClrD,KAAK42B,SAAY52B,KAAK42B,QAAQtY,SAInCte,KAAK42B,QAAQtY,QAAQ,iBAGvBssC,EAAchsC,UAAUD,QAAU,WAC5B3e,KAAKirD,mBACPjrD,KAAKirD,kBAAkBn3B,SAGrB9zB,KAAKgrD,kBACHhrD,KAAK42B,QAAQ5lB,MACfhR,KAAKgrD,gBAAgBx6C,UAAUxQ,KAAK42B,QAAQ5lB,MAE9ChR,KAAKgrD,gBAAgBI,cAGnBprD,KAAKg3B,KAAOh3B,KAAKg3B,IAAIm0B,eACvB9sC,GAAIre,KAAKg3B,IAAIm0B,cAAe,SAAUnrD,KAAKirD,mBAGzCjrD,KAAK+qD,eACP/qD,KAAKqe,IAAI,OAAQre,KAAK+qD,eAGxB/qD,KAAK8qD,eAAiB,KACtB9qD,KAAKqrD,eAAiB,KACtBrrD,KAAKirD,kBAAoB,KACzBjrD,KAAK+qD,cAAgB,MAGhBH,EA9GW,CA+GlBl0B,IAEFA,GAAU4F,kBAAkB,gBAAiBsuB,IAe7C,IAAIU,GAAgB,SAAuBpsB,GACzC,IAAIluB,EAAKkuB,EAAKluB,KAGd,GAAIA,EAAGgyB,aAAa,OAElB,OADA9D,EAAK4N,iBAAiB97B,EAAGwuB,MAClB,EAeT,IAAIrZ,EAAU+Y,EAAKvQ,GAAG,UAClB48B,EAAU,GACV/rB,EAAM,GAGV,IAAKrZ,EAAQ5V,OACX,OAAO,EAIT,IAAK,IAAIpG,EAAI,EAAGA,EAAIgc,EAAQ5V,OAAQpG,IAAK,CACvC,IAAIuC,EAAMyZ,EAAQhc,GAAGq1B,IAEjB9yB,IAAiC,IAA1B6+C,EAAQ5nD,QAAQ+I,IACzB6+C,EAAQ34C,KAAKlG,GAKjB,QAAK6+C,EAAQh7C,SAMU,IAAnBg7C,EAAQh7C,SACVivB,EAAM+rB,EAAQ,IAGhBrsB,EAAK4N,iBAAiBtN,IACf,IAOLgsB,GAA8B,GAE7B5nC,IACH4nC,GAA8BhnD,OAAO8a,eAAe,GAAI,YAAa,CACnErK,IAAK,WACH,OAAOjV,KAAKyrD,WAAU,GAAMpkB,WAE9B3lB,IAAK,SAAa8mC,GAEhB,IAAIkD,EAAQ9/C,EAASyY,cAAcrkB,KAAK20B,SAAS7T,eAGjD4qC,EAAMrkB,UAAYmhB,EAGlB,IAAImD,EAAU//C,EAASggD,yBAIvB,MAAOF,EAAMhzB,WAAWnoB,OACtBo7C,EAAQ7gC,YAAY4gC,EAAMhzB,WAAW,IAWvC,OAPA14B,KAAKyqB,UAAY,GAIjBjf,EAAOqgD,QAAQjtC,UAAUkM,YAAYrM,KAAKze,KAAM2rD,GAGzC3rD,KAAKqnC,cAQlB,IAAIykB,GAAgB,SAAuBC,EAAUnjC,GAGnD,IAFA,IAAIojC,EAAa,GAER7hD,EAAI,EAAGA,EAAI4hD,EAASx7C,OAAQpG,IAGnC,GAFA6hD,EAAaxnD,OAAOynD,yBAAyBF,EAAS5hD,GAAIye,GAEtDojC,GAAcA,EAAWtqC,KAAOsqC,EAAW/2C,IAC7C,MAOJ,OAHA+2C,EAAWvqC,YAAa,EACxBuqC,EAAW7mC,cAAe,EAEnB6mC,GAGLE,GAAyB,SAAgChtB,GAC3D,OAAO4sB,GAAc,CAAC5sB,EAAKluB,KAAMxF,EAAO2gD,iBAAiBvtC,UAAWpT,EAAOqgD,QAAQjtC,UAAW4sC,IAA8B,cAqB1HY,GAAmB,SAA0BltB,GAC/C,IAAIluB,EAAKkuB,EAAKluB,KAGd,IAAIA,EAAGq7C,kBAAP,CAIA,IAAIp8B,EAAM,GACNq8B,EAAkBJ,GAAuBhtB,GACzCqtB,EAAgB,SAAuBC,GACzC,OAAO,WACL,IAAK,IAAItmC,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB,IAAIqmC,EAASD,EAAS9tC,MAAM1N,EAAIwN,GAIhC,OAFA8sC,GAAcpsB,GAEPutB,IAIX,CAAC,SAAU,cAAe,sBAAsB/nD,SAAQ,SAAUkoB,GAC3D5b,EAAG4b,KAKRqD,EAAIrD,GAAK5b,EAAG4b,GAIZ5b,EAAG4b,GAAK2/B,EAAct8B,EAAIrD,QAG5BpoB,OAAO8a,eAAetO,EAAI,YAAaylB,GAAa61B,EAAiB,CACnE5qC,IAAK6qC,EAAcD,EAAgB5qC,QAGrC1Q,EAAGq7C,kBAAoB,WACrBr7C,EAAGq7C,kBAAoB,KACvB7nD,OAAOC,KAAKwrB,GAAKvrB,SAAQ,SAAUkoB,GACjC5b,EAAG4b,GAAKqD,EAAIrD,MAGdpoB,OAAO8a,eAAetO,EAAI,YAAas7C,IAIzCptB,EAAKlN,IAAI,YAAahhB,EAAGq7C,qBAQvBK,GAAwB,GAEvB9oC,IACH8oC,GAAwBloD,OAAO8a,eAAe,GAAI,MAAO,CACvDrK,IAAK,WACH,OAAIjV,KAAKgjC,aAAa,OACbuE,GAAe/7B,EAAOqgD,QAAQjtC,UAAUyN,aAAa5N,KAAKze,KAAM,QAGlE,IAET0hB,IAAK,SAAa8mC,GAGhB,OAFAh9C,EAAOqgD,QAAQjtC,UAAU5B,aAAayB,KAAKze,KAAM,MAAOwoD,GAEjDA,MAKb,IAAImE,GAAmB,SAA0BztB,GAC/C,OAAO4sB,GAAc,CAAC5sB,EAAKluB,KAAMxF,EAAO2gD,iBAAiBvtC,UAAW8tC,IAAwB,QAkB1FE,GAAiB,SAAwB1tB,GAC3C,GAAKA,EAAKsR,kBAAV,CAIA,IAAIx/B,EAAKkuB,EAAKluB,KAGd,IAAIA,EAAG67C,gBAAP,CAIA,IAAIC,EAAgBH,GAAiBztB,GACjC6tB,EAAkB/7C,EAAGgM,aACrBgwC,EAAUh8C,EAAGo6B,KAEjB5mC,OAAO8a,eAAetO,EAAI,MAAOylB,GAAaq2B,EAAe,CAC3DprC,IAAK,SAAa8mC,GAChB,IAAIiE,EAASK,EAAcprC,IAAIjD,KAAKzN,EAAIw3C,GAKxC,OAFAtpB,EAAK4N,iBAAiB97B,EAAGwuB,KAElBitB,MAIXz7C,EAAGgM,aAAe,SAAUsU,EAAGk3B,GAC7B,IAAIiE,EAASM,EAAgBtuC,KAAKzN,EAAIsgB,EAAGk3B,GAMzC,MAJI,OAAO57C,KAAK0kB,IACd4N,EAAK4N,iBAAiB97B,EAAGwuB,KAGpBitB,GAGTz7C,EAAGo6B,KAAO,WACR,IAAIqhB,EAASO,EAAQvuC,KAAKzN,GAW1B,OALKs6C,GAAcpsB,KACjBA,EAAK4N,iBAAiB,IACtBsf,GAAiBltB,IAGZutB,GAGLz7C,EAAGi8C,WACL/tB,EAAK4N,iBAAiB97B,EAAGi8C,YACf3B,GAAcpsB,IACxBktB,GAAiBltB,GAGnBluB,EAAG67C,gBAAkB,WACnB77C,EAAG67C,gBAAkB,KACrB77C,EAAGo6B,KAAO4hB,EACVh8C,EAAGgM,aAAe+vC,EAClBvoD,OAAO8a,eAAetO,EAAI,MAAO87C,GAC7B97C,EAAGq7C,mBACLr7C,EAAGq7C,wBAKLa,GAAoBznC,EAA2B,CAAC,sJAAwJ,CAAC,uJAYzM0nC,GAAQ,SAAUzc,GAYpB,SAASyc,EAAM57B,EAASoF,GACtB/R,EAAe5kB,KAAMmtD,GAErB,IAAI3jD,EAAQ8b,EAA0BtlB,KAAM0wC,EAAMjyB,KAAKze,KAAMuxB,EAASoF,IAElEtQ,EAASkL,EAAQlL,OACjB+mC,GAAoB,EAiBxB,GAXI/mC,IAAW7c,EAAMwtB,IAAIi2B,aAAe5mC,EAAOmZ,KAAOjO,EAAQ3mB,KAAyC,IAAlC2mB,EAAQ3mB,IAAIyiD,mBAC/E7jD,EAAM6nC,UAAUhrB,GAEhB7c,EAAM8jD,gBAAgB9jD,EAAMwtB,KAI1BzF,EAAQg8B,iBACV/jD,EAAMgkD,0BAGJhkD,EAAMwtB,IAAIy2B,gBAAiB,CAE7B,IAAIC,EAAQlkD,EAAMwtB,IAAI0B,WAClBi1B,EAAcD,EAAMn9C,OACpBq9C,EAAc,GAElB,MAAOD,IAAe,CACpB,IAAIt/B,EAAOq/B,EAAMC,GACbh5B,EAAWtG,EAAKsG,SAAS7T,cAEZ,UAAb6T,IACGnrB,EAAMijC,0BAQTjjC,EAAM+lC,qBAAqBpK,iBAAiB9W,GAC5C7kB,EAAMqlC,mBAAmBjL,SAASvV,EAAKsQ,OACvCn1B,EAAMi2B,aAAamE,SAASvV,EAAKsQ,OAC5ByuB,GAAsB5jD,EAAMwtB,IAAIgM,aAAa,iBAAkB4E,GAAcvZ,EAAKmR,OACrF4tB,GAAoB,IAPtBQ,EAAYh7C,KAAKyb,IAavB,IAAK,IAAIlkB,EAAI,EAAGA,EAAIyjD,EAAYr9C,OAAQpG,IACtCX,EAAMwtB,IAAI9I,YAAY0/B,EAAYzjD,IAyBtC,OArBAX,EAAMqkD,qBACFrkD,EAAMijC,0BAA4B2gB,GACpC5mC,EAAImB,KAAK1F,EAAKirC,KAIhB1jD,EAAMskD,2CAMD9pC,GAAiBnB,GAAaU,KAAyD,IAAnCgO,EAAQsb,wBAC/DrjC,EAAMukD,aAAY,GAKpBvkD,EAAMwkD,yBAENxkD,EAAMmwB,eACCnwB,EAguBT,OAzzBAub,EAASooC,EAAOzc,GAiGhByc,EAAMvuC,UAAUD,QAAU,WACpB3e,KAAKg3B,KAAOh3B,KAAKg3B,IAAI61B,iBACvB7sD,KAAKg3B,IAAI61B,kBAEXM,EAAMc,oBAAoBjuD,KAAKg3B,KAC/Bh3B,KAAK62B,SAAW,KAGhB6Z,EAAM9xB,UAAUD,QAAQF,KAAKze,OAS/BmtD,EAAMvuC,UAAU4uC,wBAA0B,WACxCZ,GAAe5sD,OAajBmtD,EAAMvuC,UAAUkvC,wCAA0C,WACxD,IAAIruB,EAAaz/B,KAAKy/B,aAClByuB,OAAmC,EAGnCC,EAA4B,WAC9BD,EAAmC,GAEnC,IAAK,IAAI/jD,EAAI,EAAGA,EAAIs1B,EAAWlvB,OAAQpG,IAAK,CAC1C,IAAIw0B,EAAQc,EAAWt1B,GAEJ,aAAfw0B,EAAMoG,MACRmpB,EAAiCt7C,KAAK,CACpC+rB,MAAOA,EACPyvB,WAAYzvB,EAAMiL,SAQ1BukB,IACA1uB,EAAWliB,iBAAiB,SAAU4wC,GAEtCnuD,KAAKU,GAAG,WAAW,WACjB,OAAO++B,EAAWjQ,oBAAoB,SAAU2+B,MAGlD,IAAIE,EAAmB,SAASA,IAC9B,IAAK,IAAIlkD,EAAI,EAAGA,EAAI+jD,EAAiC39C,OAAQpG,IAAK,CAChE,IAAImkD,EAAcJ,EAAiC/jD,GAEpB,aAA3BmkD,EAAY3vB,MAAMiL,MAAuB0kB,EAAY3vB,MAAMiL,OAAS0kB,EAAYF,aAClFE,EAAY3vB,MAAMiL,KAAO0kB,EAAYF,YAIzC3uB,EAAWjQ,oBAAoB,SAAU6+B,IAK3CruD,KAAKU,GAAG,yBAAyB,WAC/B++B,EAAWjQ,oBAAoB,SAAU2+B,GAGzC1uB,EAAWjQ,oBAAoB,SAAU6+B,GACzC5uB,EAAWliB,iBAAiB,SAAU8wC,MAIxCruD,KAAKU,GAAG,uBAAuB,WAE7B++B,EAAWjQ,oBAAoB,SAAU2+B,GACzC1uB,EAAWliB,iBAAiB,SAAU4wC,GAGtC1uB,EAAWjQ,oBAAoB,SAAU6+B,OAY7ClB,EAAMvuC,UAAUivC,mBAAqB,WACnC,IAAIx4B,EAASr1B,KAEbqrC,GAAOY,MAAMvnC,SAAQ,SAAUtC,GAC7B,IAAIiD,EAAQgmC,GAAOjpC,GACfmsD,EAAWl5B,EAAOrkB,KAAK3L,EAAMqmC,YAC7B8iB,EAAan5B,EAAOhwB,EAAMqmC,cAE9B,GAAKrW,EAAO,iBAAmBhwB,EAAMomC,YAAc,WAAc8iB,GAAaA,EAAShxC,iBAAvF,CAGA,IAAIW,EAAY,CACd+lB,OAAQ,SAAgB15B,GACtBikD,EAAWlwC,QAAQ,CACjB5a,KAAM,SACN+M,OAAQ+9C,EACRC,cAAeD,EACfr+B,WAAYq+B,KAGhBtqB,SAAU,SAAkB35B,GAC1BikD,EAAW5qB,SAASr5B,EAAEo0B,QAExBwF,YAAa,SAAqB55B,GAChCikD,EAAW3qB,YAAYt5B,EAAEo0B,SAGzB+vB,EAAkB,WAGpB,IAFA,IAAIC,EAAe,GAEVxkD,EAAI,EAAGA,EAAIqkD,EAAWj+C,OAAQpG,IAAK,CAG1C,IAFA,IAAIykD,GAAQ,EAEH1Z,EAAI,EAAGA,EAAIqZ,EAASh+C,OAAQ2kC,IACnC,GAAIqZ,EAASrZ,KAAOsZ,EAAWrkD,GAAI,CACjCykD,GAAQ,EACR,MAICA,GACHD,EAAa/7C,KAAK47C,EAAWrkD,IAIjC,MAAOwkD,EAAap+C,OAClBi+C,EAAW3qB,YAAY8qB,EAAa5uC,UAIxCvb,OAAOC,KAAKyZ,GAAWxZ,SAAQ,SAAUmqD,GACvC,IAAI1wC,EAAWD,EAAU2wC,GAEzBN,EAAShxC,iBAAiBsxC,EAAW1wC,GACrCkX,EAAO30B,GAAG,WAAW,SAAU6J,GAC7B,OAAOgkD,EAAS/+B,oBAAoBq/B,EAAW1wC,SAKnDkX,EAAO30B,GAAG,YAAaguD,GACvBr5B,EAAO30B,GAAG,WAAW,SAAU6J,GAC7B,OAAO8qB,EAAOhX,IAAI,YAAaqwC,WAarCvB,EAAMvuC,UAAUkL,SAAW,WACzB,IAAI9Y,EAAKhR,KAAK62B,SAASjsB,IAMvB,IAAKoG,IAAQhR,KAAK62B,SAASi4B,iBAAkB9uD,KAAK+uD,wBAA0B,CAG1E,GAAI/9C,EAAI,CACN,IAAIg+C,EAAQh+C,EAAGy6C,WAAU,GAErBz6C,EAAG2b,YACL3b,EAAG2b,WAAW9B,aAAamkC,EAAOh+C,GAEpCm8C,EAAMc,oBAAoBj9C,GAC1BA,EAAKg+C,MACA,CACLh+C,EAAKpF,EAASyY,cAAc,SAG5B,IAAI4qC,EAAgBjvD,KAAK62B,SAASjsB,KAAOshB,GAAclsB,KAAK62B,SAASjsB,KACjEqf,EAAawM,GAAa,GAAIw4B,GAE7BjrC,IAA0D,IAAzChkB,KAAK62B,SAASgW,+BAC3B5iB,EAAWxQ,SAGpBsS,GAAc/a,EAAIuK,EAAO0O,EAAY,CACnC9mB,GAAInD,KAAK62B,SAASq4B,OAClB,MAAS,cAIbl+C,EAAGm+C,SAAWnvD,KAAK62B,SAASs4B,SAGO,qBAA1BnvD,KAAK62B,SAASu4B,SACvBpyC,GAAahM,EAAI,UAAWhR,KAAK62B,SAASu4B,SAQ5C,IAFA,IAAIC,EAAgB,CAAC,OAAQ,QAAS,cAAe,YAE5CllD,EAAI,EAAGA,EAAIklD,EAAc9+C,OAAQpG,IAAK,CAC7C,IAAImlD,EAAOD,EAAcllD,GACrB7H,EAAQtC,KAAK62B,SAASy4B,GAEL,qBAAVhtD,IACLA,EACF0a,GAAahM,EAAIs+C,EAAMA,GAEvBrjC,GAAgBjb,EAAIs+C,GAEtBt+C,EAAGs+C,GAAQhtD,GAIf,OAAO0O,GAkBTm8C,EAAMvuC,UAAU0uC,gBAAkB,SAAyBt8C,GACzD,GAAwB,IAApBA,EAAGu+C,cAA0C,IAApBv+C,EAAGu+C,aAAhC,CAMA,GAAsB,IAAlBv+C,EAAGmiB,WAAkB,CAWvB,IAAIq8B,GAAiB,EACjBC,EAAoB,WACtBD,GAAiB,GAGnBxvD,KAAKU,GAAG,YAAa+uD,GAErB,IAAIC,EAAmB,WAGhBF,GACHxvD,KAAKse,QAAQ,cAgBjB,OAZAte,KAAKU,GAAG,iBAAkBgvD,QAE1B1vD,KAAK22B,OAAM,WACT32B,KAAKqe,IAAI,YAAaoxC,GACtBzvD,KAAKqe,IAAI,iBAAkBqxC,GAEtBF,GAEHxvD,KAAKse,QAAQ,gBAWnB,IAAIqxC,EAAkB,CAAC,aAGvBA,EAAgB/8C,KAAK,kBAGjB5B,EAAGmiB,YAAc,GACnBw8B,EAAgB/8C,KAAK,cAInB5B,EAAGmiB,YAAc,GACnBw8B,EAAgB/8C,KAAK,WAInB5B,EAAGmiB,YAAc,GACnBw8B,EAAgB/8C,KAAK,kBAIvB5S,KAAK22B,OAAM,WACTg5B,EAAgBjrD,SAAQ,SAAUhB,GAChC1D,KAAKse,QAAQ5a,KACZ1D,WAYPmtD,EAAMvuC,UAAUwvB,eAAiB,SAAwBsM,GACvD,IACE16C,KAAKg3B,IAAIxa,YAAck+B,EACvB,MAAOnwC,GACPic,EAAIjc,EAAG,oCAaX4iD,EAAMvuC,UAAU1B,SAAW,WACzB,IAAIif,EAASn8B,KAMb,GAAIA,KAAKg3B,IAAI9Z,WAAa89B,KAAY93B,GAAcQ,GAAsC,IAAzB1jB,KAAKg3B,IAAIxa,YAAmB,CAG3F,IAAIozC,EAAgB,SAASA,IACvBzzB,EAAOnF,IAAIxa,YAAc,IAEvB2f,EAAOnF,IAAI9Z,WAAa89B,KAC1B7e,EAAO7d,QAAQ,kBAEjB6d,EAAO9d,IAAI,aAAcuxC,KAK7B,OADA5vD,KAAKU,GAAG,aAAckvD,GACfC,IAET,OAAO7vD,KAAKg3B,IAAI9Z,UAAY2yC,KAW9B1C,EAAMvuC,UAAUlY,MAAQ,WACtB,OAAO1G,KAAKg3B,IAAIxJ,aAWlB2/B,EAAMvuC,UAAUjd,OAAS,WACvB,OAAO3B,KAAKg3B,IAAI3c,cAelB8yC,EAAMvuC,UAAUovC,uBAAyB,WACvC,IAAI5xB,EAASp8B,KAEb,GAAM,+BAAgCA,KAAKg3B,IAA3C,CAIA,IAAI84B,EAAQ,WACV9vD,KAAKse,QAAQ,mBAAoB,CAAE0hC,cAAc,KAG/C+P,EAAU,WACR,2BAA4B/vD,KAAKg3B,KAA2C,uBAApCh3B,KAAKg3B,IAAIg5B,yBACnDhwD,KAAKgyB,IAAI,sBAAuB89B,GAEhC9vD,KAAKse,QAAQ,mBAAoB,CAAE0hC,cAAc,MAIrDhgD,KAAKU,GAAG,wBAAyBqvD,GACjC/vD,KAAKU,GAAG,WAAW,WACjB07B,EAAO/d,IAAI,wBAAyB0xC,GACpC3zB,EAAO/d,IAAI,sBAAuByxC,QAatC3C,EAAMvuC,UAAUqxC,mBAAqB,WACnC,GAA8C,oBAAnCjwD,KAAKg3B,IAAIk5B,sBAAsC,CACxD,IAAIpjD,EAAYtB,EAAOqB,WAAarB,EAAOqB,UAAUC,WAAa,GAGlE,GAAI,UAAUF,KAAKE,KAAe,uBAAuBF,KAAKE,GAC5D,OAAO,EAGX,OAAO,GAQTqgD,EAAMvuC,UAAUuxC,gBAAkB,WAChC,IAAI18C,EAAQzT,KAAKg3B,IAEbvjB,EAAM0tB,QAAU1tB,EAAM87C,cAAgB97C,EAAM28C,eAG9CpwD,KAAKg3B,IAAIva,OAITzc,KAAKgN,YAAW,WACdyG,EAAMiJ,QACNjJ,EAAMy8C,0BACL,IAEHz8C,EAAMy8C,yBASV/C,EAAMvuC,UAAUyxC,eAAiB,WAC/BrwD,KAAKg3B,IAAIs5B,wBAkBXnD,EAAMvuC,UAAU4gB,IAAM,SAAakU,GACjC,QAAa1tB,IAAT0tB,EACF,OAAO1zC,KAAKg3B,IAAIwI,IAIlBx/B,KAAKs2C,OAAO5C,IASdyZ,EAAMvuC,UAAUqvB,MAAQ,WACtBkf,EAAMoD,kBAAkBvwD,KAAKg3B,MAa/Bm2B,EAAMvuC,UAAUquC,WAAa,WAC3B,OAAIjtD,KAAKwxC,eACAxxC,KAAKwxC,eAAehS,IAEtBx/B,KAAKg3B,IAAIi2B,YAWlBE,EAAMvuC,UAAUmvC,YAAc,SAAqB3jC,GACjDpqB,KAAKg3B,IAAIvd,WAAa2Q,GAoBxB+iC,EAAMvuC,UAAUswB,aAAe,SAAsBnK,EAAMpE,EAAOjJ,GAChE,OAAK13B,KAAKysC,yBAIHzsC,KAAKg3B,IAAIkY,aAAanK,EAAMpE,EAAOjJ,GAHjCgZ,EAAM9xB,UAAUswB,aAAazwB,KAAKze,KAAM+kC,EAAMpE,EAAOjJ,IAoChEy1B,EAAMvuC,UAAUuwB,sBAAwB,SAA+B5d,GACrE,IAAKvxB,KAAKysC,yBACR,OAAOiE,EAAM9xB,UAAUuwB,sBAAsB1wB,KAAKze,KAAMuxB,GAE1D,IAAI+d,EAAmB1jC,EAASyY,cAAc,SAqB9C,OAnBIkN,EAAQwT,OACVuK,EAAiBvK,KAAOxT,EAAQwT,MAE9BxT,EAAQoP,QACV2O,EAAiB3O,MAAQpP,EAAQoP,QAE/BpP,EAAQmG,UAAYnG,EAAQoY,WAC9B2F,EAAiB3F,QAAUpY,EAAQmG,UAAYnG,EAAQoY,SAErDpY,EAAQ,aACV+d,EAAiB,WAAa/d,EAAQ,YAEpCA,EAAQpuB,KACVmsC,EAAiBnsC,GAAKouB,EAAQpuB,IAE5BouB,EAAQiO,MACV8P,EAAiB9P,IAAMjO,EAAQiO,KAG1B8P,GAiBT6d,EAAMvuC,UAAUghB,mBAAqB,SAA4BrO,EAAS8d,GACxE,IAAIC,EAAmBoB,EAAM9xB,UAAUghB,mBAAmBnhB,KAAKze,KAAMuxB,EAAS8d,GAM9E,OAJIrvC,KAAKysC,0BACPzsC,KAAKgR,KAAK8Z,YAAYwkB,GAGjBA,GAWT6d,EAAMvuC,UAAUmvB,sBAAwB,SAA+BpP,GAGrE,GAFA+R,EAAM9xB,UAAUmvB,sBAAsBtvB,KAAKze,KAAM2+B,GAE7C3+B,KAAKysC,yBAA0B,CACjC,IAAIpN,EAASr/B,KAAK2uB,GAAG,SAEjBxkB,EAAIk1B,EAAO9uB,OAEf,MAAOpG,IACDw0B,IAAUU,EAAOl1B,IAAMw0B,IAAUU,EAAOl1B,GAAGw0B,OAC7C3+B,KAAKgR,KAAKkd,YAAYmR,EAAOl1B,MAiBrCgjD,EAAMvuC,UAAU4wB,wBAA0B,WACxC,GAAiD,oBAAtCxvC,KAAKgR,KAAKw+B,wBACnB,OAAOxvC,KAAKgR,KAAKw+B,0BAGnB,IAAIghB,EAAuB,GAa3B,MAXiD,qBAAtCxwD,KAAKgR,KAAKy/C,yBAAwF,qBAAtCzwD,KAAKgR,KAAK0/C,0BAC/EF,EAAqBG,mBAAqB3wD,KAAKgR,KAAKy/C,wBACpDD,EAAqBI,iBAAmB5wD,KAAKgR,KAAK0/C,yBAGhDllD,EAAOqlD,aAAiD,oBAA3BrlD,EAAOqlD,YAAY76C,IAClDw6C,EAAqBM,aAAetlD,EAAOqlD,YAAY76C,MAC9CxK,EAAOqlD,aAAerlD,EAAOqlD,YAAYE,QAA+D,kBAA9CvlD,EAAOqlD,YAAYE,OAAOC,kBAC7FR,EAAqBM,aAAetlD,EAAOuK,KAAKC,MAAQxK,EAAOqlD,YAAYE,OAAOC,iBAG7ER,GAGFrD,EA1zBG,CA2zBVh0B,IAIF,GAAIlV,KAAU,CASZkpC,GAAM8D,SAAWrlD,EAASyY,cAAc,SACxC,IAAIsa,GAAQ/yB,EAASyY,cAAc,SAEnCsa,GAAMoG,KAAO,WACbpG,GAAMgL,QAAU,KAChBhL,GAAMgC,MAAQ,UACdwsB,GAAM8D,SAASnmC,YAAY6T,IAU7BwuB,GAAM9X,YAAc,WAElB,IACE8X,GAAM8D,SAASxQ,OAAS,GACxB,MAAOl2C,GACP,OAAO,EAGT,SAAU4iD,GAAM8D,WAAY9D,GAAM8D,SAASrhB,cAU7Cud,GAAMvd,YAAc,SAAUlsC,GAC5B,OAAOypD,GAAM8D,SAASrhB,YAAYlsC,IAWpCypD,GAAMtd,cAAgB,SAAUC,EAAQve,GACtC,OAAO47B,GAAMvd,YAAYE,EAAOpsC,OAYlCypD,GAAM+D,iBAAmB,WAEvB,IACE,IAAIzQ,EAAS0M,GAAM8D,SAASxQ,OAG5B,OADA0M,GAAM8D,SAASxQ,OAASA,EAAS,EAAI,GAC9BA,IAAW0M,GAAM8D,SAASxQ,OACjC,MAAOl2C,GACP,OAAO,IAaX4iD,GAAMgE,cAAgB,WACpB,IACE,IAAIj2C,EAAQiyC,GAAM8D,SAAS/1C,MAU3B,OANAiyC,GAAM8D,SAAS/1C,OAASA,EACpBiyC,GAAM8D,SAAS/1C,MACjB8B,GAAamwC,GAAM8D,SAAU,QAAS,SAEtChlC,GAAgBkhC,GAAM8D,SAAU,QAAS,SAEpC/1C,IAAUiyC,GAAM8D,SAAS/1C,MAChC,MAAO3Q,GACP,OAAO,IAWX4iD,GAAMiE,uBAAyB,WAG7B,GAAIluC,GAAcQ,GAAaC,EAAiB,GAC9C,OAAO,EAGT,IACE,IAAIgjC,EAAewG,GAAM8D,SAAStK,aAGlC,OADAwG,GAAM8D,SAAStK,aAAeA,EAAe,EAAI,GAC1CA,IAAiBwG,GAAM8D,SAAStK,aACvC,MAAOp8C,GACP,OAAO,IAYX4iD,GAAMkE,sBAAwB,WAC5B,GAAIztC,EACF,OAAO,EAIT,IACE,IAAI0tC,EAAO,aAEX9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,MAAO,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IAChF9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,MAAO,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IAChF9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,YAAa,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IACtF9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,YAAa,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IACtF,MAAO/mD,GACP,OAAO,EAGT,OAAO,GAUT4iD,GAAMoE,yBAA2B,WAC/B,OAAOxtC,GAAiBhB,GAAUW,GAUpCypC,GAAMqE,0BAA4B,WAChC,SAAUrE,GAAM8D,WAAY9D,GAAM8D,SAASQ,cAU7CtE,GAAMuE,0BAA4B,WAChC,SAAUvE,GAAM8D,WAAY9D,GAAM8D,SAAS1K,cAS7C4G,GAAMj7B,OAAS,CAAC,YAAa,UAAW,QAAS,QAAS,UAAW,UAAW,iBAAkB,aAAc,UAAW,iBAAkB,UAAW,UAAW,UAAW,SAAU,QAAS,iBAAkB,aAAc,WAAY,OAAQ,QAAS,aAAc,SAAU,gBAQtRi7B,GAAMvuC,UAAUwxB,sBAAwB+c,GAAM+D,mBAQ9C/D,GAAMvuC,UAAUyxB,oBAAsB8c,GAAMgE,gBAW5ChE,GAAMvuC,UAAU2xB,qBAAuB4c,GAAMiE,yBAQ7CjE,GAAMvuC,UAAU4xB,kBAAoB2c,GAAMkE,wBAU1ClE,GAAMvuC,UAAUmwC,yBAA2BhsC,EAW3CoqC,GAAMvuC,UAAU0xB,0BAA2B,EAS3C6c,GAAMvuC,UAAUutB,wBAAyB,EAQzCghB,GAAMvuC,UAAUytB,0BAA2B,EAQ3C8gB,GAAMvuC,UAAU6tB,yBAA2B0gB,GAAMoE,2BAQjDpE,GAAMvuC,UAAU+yC,0BAA4BxE,GAAMqE,4BAQlDrE,GAAMvuC,UAAUgzC,0BAA4BzE,GAAMuE,4BAGlD,IAAI9hB,GAAcud,GAAM8D,UAAY9D,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YACrEiiB,GAAY,4CACZC,GAAQ,eAEZ3E,GAAM4E,iBAAmB,WAInB5uC,GAAmB,IAAQK,IAAeE,EAC5CypC,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAAc,SAAUlsC,GAC3D,OAAIA,GAAQmuD,GAAUjlD,KAAKlJ,GAClB,QAEFksC,GAAYnxB,KAAKze,KAAM0D,IAIvB4f,IACT6pC,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAAc,SAAUlsC,GAC3D,OAAIA,GAAQouD,GAAMllD,KAAKlJ,GACd,QAEFksC,GAAYnxB,KAAKze,KAAM0D,MAKpCypD,GAAM6E,mBAAqB,WACzB,IAAIC,EAAI9E,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAG7C,OADAud,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAAcA,GAC5CqiB,GAIT9E,GAAM4E,mBAEN5E,GAAMc,oBAAsB,SAAUj9C,GACpC,GAAKA,EAAL,CAIIA,EAAG2b,YACL3b,EAAG2b,WAAWuB,YAAYld,GAI5B,MAAOA,EAAGy8C,gBACRz8C,EAAGkd,YAAYld,EAAG4Z,YAKpB5Z,EAAGib,gBAAgB,OAII,oBAAZjb,EAAGo6B,MAEZ,WACE,IACEp6B,EAAGo6B,OACH,MAAO7gC,KAHX,KAUJ4iD,GAAMoD,kBAAoB,SAAUv/C,GAClC,GAAKA,EAAL,CAIA,IAAImV,EAAUnV,EAAG6xB,iBAAiB,UAC9B14B,EAAIgc,EAAQ5V,OAEhB,MAAOpG,IACL6G,EAAGkd,YAAY/H,EAAQhc,IAKzB6G,EAAGib,gBAAgB,OAEI,oBAAZjb,EAAGo6B,MAEZ,WACE,IACEp6B,EAAGo6B,OACH,MAAO7gC,KAHX,KAcJ,CAaA,QAgBA,eAcA,WAcA,WAiBA,OAeA,eAAe7F,SAAQ,SAAUkkB,GAC/BukC,GAAMvuC,UAAUgK,GAAQ,WACtB,OAAO5oB,KAAKg3B,IAAIpO,IAAS5oB,KAAKg3B,IAAIgM,aAAapa,OAQnD,CAYA,QAaA,eAaA,WAgBA,OAcA,eAAelkB,SAAQ,SAAUkkB,GAC/BukC,GAAMvuC,UAAU,MAAQuX,GAAYvN,IAAS,SAAU4/B,GACrDxoD,KAAKg3B,IAAIpO,GAAQ4/B,EAEbA,EACFxoD,KAAKg3B,IAAIha,aAAa4L,EAAMA,GAE5B5oB,KAAKg3B,IAAI/K,gBAAgBrD,OAU/B,CAWA,SAYA,cAaA,WAaA,SAaA,SAmBA,UAcA,QAcA,UAaA,WAcA,QAeA,eAkBA,sBAaA,SAiBA,eAmBA,aAaA,aAaA,eAAelkB,SAAQ,SAAUkkB,GAC/BukC,GAAMvuC,UAAUgK,GAAQ,WACtB,OAAO5oB,KAAKg3B,IAAIpO,OAQpB,CAYA,SAYA,MAaA,SAmBA,UAeA,eAkBA,uBAAuBlkB,SAAQ,SAAUkkB,GACvCukC,GAAMvuC,UAAU,MAAQuX,GAAYvN,IAAS,SAAU4/B,GACrDxoD,KAAKg3B,IAAIpO,GAAQ4/B,MAOrB,CAQA,QASA,OASA,QAAQ9jD,SAAQ,SAAUkkB,GACxBukC,GAAMvuC,UAAUgK,GAAQ,WACtB,OAAO5oB,KAAKg3B,IAAIpO,SAIpBuQ,GAAKsX,mBAAmB0c,IAWxBA,GAAM7b,oBAAsB,GAW5B6b,GAAM7b,oBAAoB1B,YAAc,SAAUlsC,GAGhD,IACE,OAAOypD,GAAM8D,SAASrhB,YAAYlsC,GAClC,MAAO6G,GACP,MAAO,KAgBX4iD,GAAM7b,oBAAoBN,gBAAkB,SAAU3qB,EAAQkL,GAG5D,GAAIlL,EAAO3iB,KACT,OAAOypD,GAAM7b,oBAAoB1B,YAAYvpB,EAAO3iB,MAG/C,GAAI2iB,EAAOmZ,IAAK,CACrB,IAAI+U,EAAM/M,GAAiBnhB,EAAOmZ,KAElC,OAAO2tB,GAAM7b,oBAAoB1B,YAAY,SAAW2E,GAG1D,MAAO,IAeT4Y,GAAM7b,oBAAoBG,aAAe,SAAUprB,EAAQ6Y,EAAM3N,GAC/D2N,EAAKoX,OAAOjwB,EAAOmZ,MAMrB2tB,GAAM7b,oBAAoB3yB,QAAU,aAGpCwuC,GAAMxc,sBAAsBwc,GAAM7b,qBAElCnY,GAAK4W,aAAa,QAASod,IAE3B,IAAI+E,GAAoBzsC,EAA2B,CAAC,8KAAgL,CAAC,+KAYjO0sC,GAAwB,CAe5B,WAgBA,QAgBA,UAgBA,UAeA,UAgBA,iBAgBA,aAgBA,aAgBA,SAgBA,eAgBA,mBAKIC,GAAoB,CACtBC,QAAS,UACTC,eAAgB,iBAChBC,QAAS,UACTC,OAAQ,UAGNC,GAAmB,CAAC,OAAQ,SAAU,QAAS,SAAU,QAAS,SAAU,QAE5EC,GAAqB,GASzBD,GAAiB/tD,SAAQ,SAAUkoB,GACjC,IAAI47B,EAAoB,MAAhB57B,EAAEyJ,OAAO,GAAa,KAAOzJ,EAAE+lC,UAAU,GAAK/lC,EAEtD8lC,GAAmB9lC,GAAK,cAAgB47B,KAG1C,IAAIoK,GAAsB,CACxBC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,MAAO,KACPC,OAAQ,KACRC,KAAMnY,KAcJpe,GAAS,SAAUsD,GAerB,SAAStD,EAAOhyB,EAAK2mB,EAASoF,GA4B5B,GA3BA/R,EAAe5kB,KAAM48B,GAGrBhyB,EAAIzH,GAAKyH,EAAIzH,IAAMouB,EAAQpuB,IAAM,aAAe2rB,KAOhDyC,EAAUhW,EAAOqhB,EAAOw2B,eAAexoD,GAAM2mB,GAI7CA,EAAQ6F,cAAe,EAGvB7F,EAAQzH,UAAW,EAGnByH,EAAQmE,SAAU,EAIlBnE,EAAQ8F,qBAAsB,GAGzB9F,EAAQmG,SACX,GAA2B,oBAAhB9sB,EAAIyoD,QAAwB,CACrC,IAAIA,EAAUzoD,EAAIyoD,QAAQ,UAEtBA,GAAWA,EAAQhnC,eACrBkF,EAAQmG,SAAW27B,EAAQhnC,aAAa,aAErC,CACL,IAAIrB,EAAUpgB,EAEd,MAAOogB,GAAgC,IAArBA,EAAQzB,SAAgB,CACxC,GAAI2C,GAAclB,GAASlD,eAAe,QAAS,CACjDyJ,EAAQmG,SAAW1M,EAAQqB,aAAa,QACxC,MAEFrB,EAAUA,EAAQ2B,YAQxB,IAAInjB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAM,KAAMuxB,EAASoF,IAsBjF,GApBAntB,EAAMgd,IAAMe,EAAa/d,EAAMstB,KAG/BttB,EAAM8pD,mBAAoB,EAI1B9pD,EAAM+pD,iBAAmB,GAGzB/pD,EAAMiwB,UAAW,EAGjBjwB,EAAM0iC,aAAc,EAGpB1iC,EAAMgqD,aAAc,GAIfhqD,EAAMqtB,WAAartB,EAAMqtB,SAASse,YAAc3rC,EAAMqtB,SAASse,UAAU5kC,OAC5E,MAAM,IAAIoR,MAAM,2HAalB,GATAnY,EAAMoB,IAAMA,EAGZpB,EAAMylD,cAAgBrkD,GAAOshB,GAActhB,GAG3CpB,EAAMkuB,SAASluB,EAAMqtB,SAASa,UAG1BnG,EAAQoG,UAAW,CAErB,IAAI87B,EAAmB,GAEvBjvD,OAAO0lB,oBAAoBqH,EAAQoG,WAAWjzB,SAAQ,SAAUgvD,GAC9DD,EAAiBC,EAAQ5yC,eAAiByQ,EAAQoG,UAAU+7B,MAE9DlqD,EAAMmqD,WAAaF,OAEnBjqD,EAAMmqD,WAAa/2B,EAAOhe,UAAUiY,SAASc,UAI/CnuB,EAAMkrC,OAAS,GAGflrC,EAAMoqD,QAAUriC,EAAQpwB,QAAU,GAGlCqI,EAAMqqD,YAActiC,EAAQ9X,SAG5BjQ,EAAMkrC,OAAO2M,WAAa,EAK1Bz2C,EAAI6O,UAAW,EACf7O,EAAIqhB,gBAAgB,YAGhBrhB,EAAIo4B,aAAa,YACnBx5B,EAAMqtB,SAASnd,UAAW,EAI1BlQ,EAAMkQ,SAASlQ,EAAMqtB,SAASnd,UAShClQ,EAAMsqD,YAAa,EAEnBtqD,EAAMwtB,IAAMxtB,EAAMsgB,WAGlBtgB,EAAMkrC,OAAOqf,iBAAmBvqD,EAAMwqD,sBAGtCt+B,GAAQlsB,EAAO,CAAEmsB,YAAa,QAM9B,IAAIs+B,EAAoBx9B,GAAajtB,EAAMqtB,UAG3C,GAAItF,EAAQ2iC,QAAS,CACnB,IAAIA,EAAU3iC,EAAQ2iC,QAEtB1vD,OAAOC,KAAKyvD,GAASxvD,SAAQ,SAAUgvD,GACrC,GAA6B,oBAAlB1zD,KAAK0zD,GAGd,MAAM,IAAI/xC,MAAM,WAAa+xC,EAAU,oBAFvC1zD,KAAK0zD,GAASQ,EAAQR,MAIvBlqD,GAGLA,EAAMqtB,SAASmC,cAAgBi7B,EAE/BzqD,EAAM2qD,YAAc,GAEpB3qD,EAAM4tB,eAGN5tB,EAAMgwC,QAAuC,UAA/B5uC,EAAI+pB,SAAS7T,eAIvBtX,EAAMiQ,WACRjQ,EAAM4hB,SAAS,wBAEf5hB,EAAM4hB,SAAS,yBAIjB5hB,EAAMwtB,IAAIha,aAAa,OAAQ,UAC3BxT,EAAMgwC,UACRhwC,EAAMwtB,IAAIha,aAAa,aAAcxT,EAAM+tB,SAAS,iBAEpD/tB,EAAMwtB,IAAIha,aAAa,aAAcxT,EAAM+tB,SAAS,iBAGlD/tB,EAAMgwC,WACRhwC,EAAM4hB,SAAS,aAGb5hB,EAAM4qD,qBACR5qD,EAAM4hB,SAAS,eAUZrI,GACHvZ,EAAM4hB,SAAS,oBAIjBwR,EAAOC,QAAQrzB,EAAMstB,KAAOttB,EAG5B,IAAI6qD,EAAehyC,EAAQvC,MAAM,KAAK,GAmBtC,OAjBAtW,EAAM4hB,SAAS,QAAUipC,GAIzB7qD,EAAM8qD,YAAW,GACjB9qD,EAAMoyB,qBAENpyB,EAAMwoB,IAAI,OAAQxoB,EAAM+qD,wBACxB/qD,EAAM9I,GAAG,mBAAoB8I,EAAMgrD,yBACnChrD,EAAM9I,GAAG,aAAc8I,EAAMirD,mBAE7BjrD,EAAMkrD,YAAYlrD,EAAMqtB,SAAS69B,aACjClrD,EAAMmrD,WAAWnrD,EAAMqtB,SAAS89B,YAEhCnrD,EAAMorD,cAAe,EACrBprD,EAAMqrD,sBAAuB,EAC7BrrD,EAAMsrD,iBAAmB,KAClBtrD,EAkmHT,OAp1HAub,EAAS6X,EAAQsD,GA+PjBtD,EAAOhe,UAAUD,QAAU,WAOzB3e,KAAKse,QAAQ,WAEbte,KAAKqe,IAAI,WAELre,KAAK+0D,UAAY/0D,KAAK+0D,SAASpoC,aACjC3sB,KAAK+0D,SAASpoC,WAAWuB,YAAYluB,KAAK+0D,UAC1C/0D,KAAK+0D,SAAW,MAIlBn4B,EAAOC,QAAQ78B,KAAK82B,KAAO,KAEvB92B,KAAK4K,KAAO5K,KAAK4K,IAAIqoB,SACvBjzB,KAAK4K,IAAIqoB,OAAS,MAGhBjzB,KAAKg3B,KAAOh3B,KAAKg3B,IAAI/D,SACvBjzB,KAAKg3B,IAAI/D,OAAS,MAGhBjzB,KAAKspC,QACPtpC,KAAKspC,MAAM3qB,UACX3e,KAAKszD,mBAAoB,EACzBtzD,KAAK4zD,QAAU,IAGb5zD,KAAKg1D,kBACPh1D,KAAKg1D,gBAAkB,MAGrBh1D,KAAK4K,MACP5K,KAAK4K,IAAM,MAGbsoC,GAAoBlzC,MAGpBkgC,EAAWthB,UAAUD,QAAQF,KAAKze,OAWpC48B,EAAOhe,UAAUkL,SAAW,WAC1B,IAAIlf,EAAM5K,KAAK4K,IACXoG,OAAK,EACL89C,EAAiB9uD,KAAKg1D,gBAAkBpqD,EAAI+hB,YAAc/hB,EAAI+hB,WAAWqW,cAAgBp4B,EAAI+hB,WAAWqW,aAAa,mBACrHiyB,EAA8C,aAAnCj1D,KAAK4K,IAAImf,QAAQjJ,cAE5BguC,EACF99C,EAAKhR,KAAKg3B,IAAMpsB,EAAI+hB,WACVsoC,IACVjkD,EAAKhR,KAAKg3B,IAAMkJ,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,QAK3D,IAAIS,EAAQyrB,GAActhB,GAE1B,GAAIqqD,EAAU,CACZjkD,EAAKhR,KAAKg3B,IAAMpsB,EAChBA,EAAM5K,KAAK4K,IAAMgB,EAASyY,cAAc,SACxC,MAAOrT,EAAGH,SAASN,OACjB3F,EAAIkgB,YAAY9Z,EAAG4Z,YAGhBG,GAAS/Z,EAAI,aAChBoa,GAASpa,EAAI,YAGfA,EAAG8Z,YAAYlgB,GAEfkkD,EAAiB9uD,KAAKg1D,gBAAkBhkD,EAKxC,CAAC,WAAY,WAAY,cAAe,eAAgB,sBAAuB,OAAQ,QAAS,eAAgB,MAAO,UAAUtM,SAAQ,SAAUkkB,GACzH,qBAAb5X,EAAG4X,KACZhe,EAAIge,GAAQ5X,EAAG4X,OA8DrB,GAxDAhe,EAAIoS,aAAa,WAAY,MAC7Bvc,EAAMy0D,SAAW,KAMbrxC,IACFjZ,EAAIoS,aAAa,OAAQ,eACzBvc,EAAM8/B,KAAO,eAIf31B,EAAIqhB,gBAAgB,SACpBrhB,EAAIqhB,gBAAgB,UAEhB,UAAWxrB,UACNA,EAAMiG,MAEX,WAAYjG,UACPA,EAAMkB,OAGf6C,OAAO0lB,oBAAoBzpB,GAAOiE,SAAQ,SAAU4qD,GAGrC,UAATA,GACFt+C,EAAGqY,WAAa,IAAM5oB,EAAM6uD,GAExB2F,IACFrqD,EAAIye,WAAa,IAAM5oB,EAAM6uD,MAG/Bt+C,EAAGgM,aAAasyC,EAAM7uD,EAAM6uD,IAExB2F,GACFrqD,EAAIoS,aAAasyC,EAAM7uD,EAAM6uD,QAQnC1kD,EAAIukD,SAAWvkD,EAAIzH,GACnByH,EAAIzH,IAAM,aACVyH,EAAIye,UAAY,WAGhBze,EAAIqoB,OAASjiB,EAAGiiB,OAASjzB,KAEzBA,KAAKorB,SAAS,eAK0B,IAApC5f,EAAO2pD,yBAAmC,CAC5Cn1D,KAAK+0D,SAAW3hC,GAAmB,yBACnC,IAAIgiC,EAAkB1mC,GAAE,wBACpB2mC,EAAO3mC,GAAE,QAEb2mC,EAAKxqC,aAAa7qB,KAAK+0D,SAAUK,EAAkBA,EAAgBpzB,YAAcqzB,EAAKzqC,YAGxF5qB,KAAKs1D,OAAQ,EACbt1D,KAAKu1D,QAAS,EAGdv1D,KAAK0G,MAAM1G,KAAK62B,SAASnwB,OACzB1G,KAAK2B,OAAO3B,KAAK62B,SAASl1B,QAC1B3B,KAAKihC,KAAKjhC,KAAK62B,SAASoK,MACxBjhC,KAAKw1D,MAAMx1D,KAAK62B,SAAS2+B,OACzBx1D,KAAKy1D,YAAYz1D,KAAK62B,SAAS4+B,aAK/B,IAFA,IAAIC,EAAQ9qD,EAAImP,qBAAqB,KAE5B5P,EAAI,EAAGA,EAAIurD,EAAMnlD,OAAQpG,IAAK,CACrC,IAAIwrD,EAASD,EAAMpxD,KAAK6F,GAExBihB,GAASuqC,EAAQ,cACjBA,EAAO34C,aAAa,SAAU,UA0BhC,OArBApS,EAAIyiD,kBAAoBziD,EAAI2kD,aAGxB3kD,EAAI+hB,aAAemiC,GACrBlkD,EAAI+hB,WAAW9B,aAAa7Z,EAAIpG,GAQlC8f,GAAU9f,EAAKoG,GACfhR,KAAKi3B,UAAUnQ,QAAQlc,GAIvB5K,KAAKg3B,IAAIha,aAAa,OAAQhd,KAAKqmD,WAEnCrmD,KAAKg3B,IAAMhmB,EAEJA,GAeT4rB,EAAOhe,UAAUlY,MAAQ,SAAepE,GACtC,OAAOtC,KAAKm6B,UAAU,QAAS73B,IAejCs6B,EAAOhe,UAAUjd,OAAS,SAAgBW,GACxC,OAAOtC,KAAKm6B,UAAU,SAAU73B,IAmBlCs6B,EAAOhe,UAAUub,UAAY,SAAmBy7B,EAAYtzD,GAC1D,IAAIuzD,EAAgBD,EAAa,IAEjC,QAAc5vC,IAAV1jB,EACF,OAAOtC,KAAK61D,IAAkB,EAGhC,GAAc,KAAVvzD,EAIF,OAFAtC,KAAK61D,QAAiB7vC,OACtBhmB,KAAK81D,iBAIP,IAAIC,EAAYrzC,WAAWpgB,GAEvBy4C,MAAMgb,GACRvvC,EAAIoB,MAAM,mBAAqBtlB,EAAQ,sBAAwBszD,IAIjE51D,KAAK61D,GAAiBE,EACtB/1D,KAAK81D,mBAmBPl5B,EAAOhe,UAAU42C,MAAQ,SAAejY,GACtC,QAAav3B,IAATu3B,EACF,QAASv9C,KAAKu1D,OAGhBv1D,KAAKu1D,SAAWhY,EAEZA,GACFv9C,KAAKorB,SAAS,aACdprB,KAAKihC,MAAK,IAEVjhC,KAAKurB,YAAY,aAGnBvrB,KAAK81D,kBAmBPl5B,EAAOhe,UAAUqiB,KAAO,SAAcsc,GACpC,QAAav3B,IAATu3B,EACF,QAASv9C,KAAKs1D,MAGhBt1D,KAAKs1D,QAAU/X,EAEXA,GACFv9C,KAAKorB,SAAS,YACdprB,KAAKw1D,OAAM,IAEXx1D,KAAKurB,YAAY,aA0BrBqR,EAAOhe,UAAU62C,YAAc,SAAqBO,GAClD,QAAchwC,IAAVgwC,EACF,OAAOh2D,KAAKi2D,aAId,IAAK,aAAarpD,KAAKopD,GACrB,MAAM,IAAIr0C,MAAM,kGAElB3hB,KAAKi2D,aAAeD,EAIpBh2D,KAAKw1D,OAAM,GAEXx1D,KAAK81D,kBAWPl5B,EAAOhe,UAAUk3C,eAAiB,WAChC,IAAwC,IAApCtqD,EAAO2pD,yBAAX,CAiBA,IAAIzuD,OAAQ,EACR/E,OAAS,EACT8zD,OAAc,EACdS,OAAU,EAKZT,OAFwBzvC,IAAtBhmB,KAAKi2D,cAAoD,SAAtBj2D,KAAKi2D,aAE5Bj2D,KAAKi2D,aACVj2D,KAAKm2D,aAAe,EAEfn2D,KAAKm2D,aAAe,IAAMn2D,KAAKo2D,cAG/B,OAIhB,IAAIC,EAAaZ,EAAY31C,MAAM,KAC/Bw2C,EAAkBD,EAAW,GAAKA,EAAW,GAI/C3vD,OAFkBsf,IAAhBhmB,KAAKu2D,OAECv2D,KAAKu2D,YACavwC,IAAjBhmB,KAAKw2D,QAENx2D,KAAKw2D,QAAUF,EAGft2D,KAAKm2D,cAAgB,IAK7Bx0D,OAFmBqkB,IAAjBhmB,KAAKw2D,QAEEx2D,KAAKw2D,QAGL9vD,EAAQ4vD,EAKjBJ,EADE,aAAatpD,KAAK5M,KAAKmD,MACf,cAAgBnD,KAAKmD,KAErBnD,KAAKmD,KAAO,cAIxBnD,KAAKorB,SAAS8qC,GAEd7iC,GAAerzB,KAAK+0D,SAAU,YAAcmB,EAAU,sBAAwBxvD,EAAQ,wBAA0B/E,EAAS,0BAA4Bu0D,EAAU,sCAA0D,IAAlBI,EAAwB,yBAnE/N,CACE,IAAIr1C,EAAgC,kBAAhBjhB,KAAKu2D,OAAsBv2D,KAAKu2D,OAASv2D,KAAK62B,SAASnwB,MACvE+vD,EAAkC,kBAAjBz2D,KAAKw2D,QAAuBx2D,KAAKw2D,QAAUx2D,KAAK62B,SAASl1B,OAC1E+0D,EAAS12D,KAAKspC,OAAStpC,KAAKspC,MAAMt4B,KAElC0lD,IACEz1C,GAAU,IACZy1C,EAAOhwD,MAAQua,GAEbw1C,GAAW,IACbC,EAAO/0D,OAAS80D,MA0ExB75B,EAAOhe,UAAU02B,UAAY,SAAmBF,EAAU/uB,GACxD,IAAIgP,EAASr1B,KAGTA,KAAKspC,OACPtpC,KAAK22D,cAGP,IAAIC,EAAgBzgC,GAAYif,GAC5ByhB,EAAgBzhB,EAAS/e,OAAO,GAAGvV,cAAgBs0B,EAAS3gC,MAAM,GAGhD,UAAlBmiD,GAA6B52D,KAAK4K,MACpCuuB,GAAK+W,QAAQ,SAAS+d,oBAAoBjuD,KAAK4K,KAC/C5K,KAAK4K,IAAIqoB,OAAS,KAClBjzB,KAAK4K,IAAM,MAGb5K,KAAK82D,UAAYF,EAGjB52D,KAAKy5B,UAAW,EAIhB,IAAI/f,EAAsC,kBAApB1Z,KAAK0Z,YAAkC1Z,KAAK0Z,WAG9Dq9C,EAAc,CAChB1wC,OAAQA,EACR3M,SAAUA,EACV,uBAA0B1Z,KAAK62B,SAASgW,uBACxC,SAAY7sC,KAAKmD,KACjB,OAAUnD,KAAKmD,KAAO,IAAM0zD,EAAgB,OAC5C,YAAe72D,KAAK62B,SAAS6Y,YAC7B,QAAW1vC,KAAK62B,SAASu4B,QACzB,KAAQpvD,KAAK62B,SAASmgC,KACtB,MAASh3D,KAAK62B,SAAS3b,MACvB,OAAUlb,KAAKmB,SACf,SAAYnB,KAAK03B,WACjB,eAAkB13B,KAAKg1D,kBAAmB,EAC1C,SAAUh1D,KAAK62B,SAAS,UACxB,oBAAuB72B,KAAK62B,SAASogC,sBACrC,gBAAmBj3D,KAAK62B,SAAS02B,iBAGnCxhB,GAAIE,MAAMvnC,SAAQ,SAAUgvD,GAC1B,IAAIruD,EAAQ0mC,GAAI2nB,GAEhBqD,EAAY1xD,EAAMqmC,YAAcrW,EAAOhwB,EAAMsmC,gBAG/CpwB,EAAOw7C,EAAa/2D,KAAK62B,SAAS+/B,IAClCr7C,EAAOw7C,EAAa/2D,KAAK62B,SAASggC,IAClCt7C,EAAOw7C,EAAa/2D,KAAK62B,SAASue,EAASt0B,gBAEvC9gB,KAAK4K,MACPmsD,EAAYnsD,IAAM5K,KAAK4K,KAGrByb,GAAUA,EAAOmZ,MAAQx/B,KAAK00C,OAAOlV,KAAOx/B,KAAK00C,OAAOl4B,YAAc,IACxEu6C,EAAYh4B,UAAY/+B,KAAK00C,OAAOl4B,aAItC,IAAI06C,EAAY/9B,GAAK+W,QAAQkF,GAE7B,IAAK8hB,EACH,MAAM,IAAIv1C,MAAM,kBAAqBi1C,EAAgB,cAAkBA,EAAgB,wDAGzF52D,KAAKspC,MAAQ,IAAI4tB,EAAUH,GAG3B/2D,KAAKspC,MAAM3S,MAAMznB,GAAKlP,KAAMA,KAAKm3D,mBAAmB,GAEpDr3B,GAAmBJ,iBAAiB1/B,KAAKo3D,iBAAmB,GAAIp3D,KAAKspC,OAGrE6oB,GAAsBztD,SAAQ,SAAU2C,GACtCguB,EAAO30B,GAAG20B,EAAOiU,MAAOjiC,EAAOguB,EAAO,aAAec,GAAY9uB,GAAS,SAG5E7C,OAAOC,KAAK2tD,IAAmB1tD,SAAQ,SAAU2C,GAC/CguB,EAAO30B,GAAG20B,EAAOiU,MAAOjiC,GAAO,SAAUgwD,GACH,IAAhChiC,EAAOiU,MAAMqd,gBAAwBtxB,EAAOiU,MAAMguB,UACpDjiC,EAAOk+B,iBAAiB3gD,KAAK,CAC3B/P,SAAUwyB,EAAO,aAAe+8B,GAAkB/qD,GAAS,KAAK6H,KAAKmmB,GACrEhuB,MAAOgwD,IAIXhiC,EAAO,aAAe+8B,GAAkB/qD,GAAS,KAAKgwD,SAI1Dr3D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAKu3D,sBACtCv3D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAKw3D,sBACtCx3D,KAAKU,GAAGV,KAAKspC,MAAO,UAAWtpC,KAAKy3D,oBACpCz3D,KAAKU,GAAGV,KAAKspC,MAAO,QAAStpC,KAAK03D,kBAClC13D,KAAKU,GAAGV,KAAKspC,MAAO,UAAWtpC,KAAK23D,oBACpC33D,KAAKU,GAAGV,KAAKspC,MAAO,OAAQtpC,KAAK43D,iBACjC53D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAK63D,sBACtC73D,KAAKU,GAAGV,KAAKspC,MAAO,QAAStpC,KAAK83D,kBAClC93D,KAAKU,GAAGV,KAAKspC,MAAO,iBAAkBtpC,KAAK+3D,2BAC3C/3D,KAAKU,GAAGV,KAAKspC,MAAO,mBAAoBtpC,KAAKg4D,6BAC7Ch4D,KAAKU,GAAGV,KAAKspC,MAAO,QAAStpC,KAAKi4D,kBAClCj4D,KAAKU,GAAGV,KAAKspC,MAAO,iBAAkBtpC,KAAK81D,gBAC3C91D,KAAKU,GAAGV,KAAKspC,MAAO,eAAgBtpC,KAAKk4D,yBACzCl4D,KAAKU,GAAGV,KAAKspC,MAAO,WAAYtpC,KAAKm4D,qBACrCn4D,KAAKU,GAAGV,KAAKspC,MAAO,aAActpC,KAAKo4D,uBAEvCp4D,KAAKq4D,oBAAoBr4D,KAAKs4D,SAAS,aAEnCt4D,KAAKyZ,aAAezZ,KAAKq4D,uBAC3Br4D,KAAKu4D,4BAKHv4D,KAAKspC,MAAMt4B,KAAK2b,aAAe3sB,KAAKgR,MAA2B,UAAlB4lD,GAA8B52D,KAAK4K,KAClF8f,GAAU1qB,KAAKspC,MAAMt4B,KAAMhR,KAAKgR,MAI9BhR,KAAK4K,MACP5K,KAAK4K,IAAIqoB,OAAS,KAClBjzB,KAAK4K,IAAM,OAWfgyB,EAAOhe,UAAU+3C,YAAc,WAC7B,IAAIx6B,EAASn8B,KAGb+rC,GAAIE,MAAMvnC,SAAQ,SAAUgvD,GAC1B,IAAIruD,EAAQ0mC,GAAI2nB,GAEhBv3B,EAAO92B,EAAMsmC,aAAexP,EAAO92B,EAAMqmC,iBAE3C1rC,KAAKo3D,gBAAkBt3B,GAAmBb,iBAAiBj/B,KAAKspC,OAEhEtpC,KAAKy5B,UAAW,EAEhBz5B,KAAKspC,MAAM3qB,UAEX3e,KAAKspC,OAAQ,EAETtpC,KAAKszD,oBACPtzD,KAAK4zD,QAAU,GACf5zD,KAAKse,QAAQ,iBAGfte,KAAKszD,mBAAoB,GAgB3B12B,EAAOhe,UAAUsgB,KAAO,SAAcs5B,GAKpC,YAJexyC,IAAXwyC,GACFhyC,EAAImB,KAAK1F,EAAKiwC,KAGTlyD,KAAKspC,OA0Bd1M,EAAOhe,UAAU25C,0BAA4B,WAE3Cv4D,KAAKy4D,+BAMLz4D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAK04D,kBAKtC14D,KAAKU,GAAGV,KAAKspC,MAAO,aAActpC,KAAK24D,uBACvC34D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAK44D,sBACtC54D,KAAKU,GAAGV,KAAKspC,MAAO,WAAYtpC,KAAK64D,qBAIrC74D,KAAKU,GAAGV,KAAKspC,MAAO,MAAOtpC,KAAK84D,iBAWlCl8B,EAAOhe,UAAU65C,6BAA+B,WAG9Cz4D,KAAKqe,IAAIre,KAAKspC,MAAO,MAAOtpC,KAAK84D,gBACjC94D,KAAKqe,IAAIre,KAAKspC,MAAO,aAActpC,KAAK24D,uBACxC34D,KAAKqe,IAAIre,KAAKspC,MAAO,YAAatpC,KAAK44D,sBACvC54D,KAAKqe,IAAIre,KAAKspC,MAAO,WAAYtpC,KAAK64D,qBACtC74D,KAAKqe,IAAIre,KAAKspC,MAAO,YAAatpC,KAAK04D,mBAUzC97B,EAAOhe,UAAUu4C,iBAAmB,WAkBlC,GAjBAn3D,KAAK25B,eAGD35B,KAAK00C,OAAO+L,QACdzgD,KAAK+4D,UAAU,YAAa/4D,KAAK00C,OAAO+L,QAI1CzgD,KAAKk4D,0BAGLl4D,KAAK+3D,6BAMA/3D,KAAKw/B,OAASx/B,KAAKitD,eAAiBjtD,KAAK4K,KAAO5K,KAAK62B,SAASnd,UAAY1Z,KAAKmhC,SAClF,WAESnhC,KAAK4K,IAAIzJ,OAChB,MAAOoJ,GACPic,EAAI,8CAA+Cjc,KAiBzDqyB,EAAOhe,UAAU24C,qBAAuB,WAGtCv3D,KAAKurB,YAAY,aACjBvrB,KAAKurB,YAAY,eAGjBvrB,KAAK4nB,MAAM,MAKN5nB,KAAKmhC,UAWRnhC,KAAKg5D,YAAW,GAChBh5D,KAAKse,QAAQ,eALbte,KAAKse,QAAQ,aACbte,KAAKse,QAAQ,cASfte,KAAKi5D,gBAAgBj5D,KAAK0Z,aAW5BkjB,EAAOhe,UAAUq6C,gBAAkB,SAAyBv1D,GAC1D,IAAI04B,EAASp8B,KAEb,GAAKA,KAAKspC,OAAyB,kBAAT5lC,EAA1B,CAIA,IAAIwX,EAAQ,WACV,IAAIg+C,EAAkB98B,EAAOlhB,QAE7BkhB,EAAOlhB,OAAM,GAEb,IAAI8+B,EAAc5d,EAAO3f,OAEzB,GAAKu9B,GAAgBA,EAAYhuC,MAASguC,EAAY,SAItD,OAAOA,EAAY,UAAS,SAAUzvC,GAEpC6xB,EAAOlhB,MAAMg+C,OAIbC,OAAU,EAgBd,GAda,QAATz1D,GACFy1D,EAAUn5D,KAAKyc,OAEX08C,GAAWA,EAAQntD,MAAQmtD,EAAQ,UACrCA,EAAQ,UAAS,WACf,OAAOj+C,QAIXi+C,EADkB,UAATz1D,EACCwX,IAEAlb,KAAKyc,OAGZ08C,GAAYA,EAAQntD,MAASmtD,EAAQ,SAI1C,OAAOA,EAAQntD,MAAK,WAClBowB,EAAO9d,QAAQ,CAAE5a,KAAM,mBAAoBgW,SAAUhW,OACpD,UAAS,SAAU6G,GACpB6xB,EAAO9d,QAAQ,CAAE5a,KAAM,mBAAoBgW,SAAUhW,SAiBzDk5B,EAAOhe,UAAUw6C,oBAAsB,WACrC,IAAItpB,EAASpmC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAG7E81B,EAAMsQ,EACNpsC,EAAO,GAEQ,kBAAR87B,IACTA,EAAMsQ,EAAOtQ,IACb97B,EAAOosC,EAAOpsC,MAKhB1D,KAAK00C,OAAOruB,OAASrmB,KAAK00C,OAAOruB,QAAU,GAC3CrmB,KAAK00C,OAAOvuB,QAAUnmB,KAAK00C,OAAOvuB,SAAW,GAGzCqZ,IAAQ97B,IACVA,EAAO+wC,GAAaz0C,KAAMw/B,IAI5Bx/B,KAAK00C,OAAOruB,OAASoQ,GAAa,GAAIqZ,EAAQ,CAAEtQ,IAAKA,EAAK97B,KAAMA,IAShE,IAPA,IAAIixC,EAAkB30C,KAAK00C,OAAOvuB,QAAQ4B,QAAO,SAAU6sB,GACzD,OAAOA,EAAEpV,KAAOoV,EAAEpV,MAAQA,KAExB65B,EAAkB,GAClBC,EAAYt5D,KAAK2uB,GAAG,UACpB4qC,EAAoB,GAEfpvD,EAAI,EAAGA,EAAImvD,EAAU/oD,OAAQpG,IAAK,CACzC,IAAIqvD,EAAYttC,GAAcotC,EAAUnvD,IAExCkvD,EAAgBzmD,KAAK4mD,GAEjBA,EAAUh6B,KAAOg6B,EAAUh6B,MAAQA,GACrC+5B,EAAkB3mD,KAAK4mD,EAAUh6B,KAMjC+5B,EAAkBhpD,SAAWokC,EAAgBpkC,OAC/CvQ,KAAK00C,OAAOvuB,QAAUkzC,EAGZ1kB,EAAgBpkC,SAC1BvQ,KAAK00C,OAAOvuB,QAAU,CAACnmB,KAAK00C,OAAOruB,SAIrCrmB,KAAK00C,OAAOlV,IAAMA,GAwCpB5C,EAAOhe,UAAU44C,qBAAuB,SAA8BnwD,GACpE,IAAIknC,EAASvuC,KAIb,IAAKA,KAAK40D,aAAc,CACtB,IAAI6E,EAAqB,SAA4Bj6B,GACnD,OAAO+O,EAAO6qB,oBAAoB55B,IAEhCk6B,EAAY15D,KAAK25D,gBAAgBn6B,IACjCo6B,EAAWvyD,EAAMm4B,IAoBrB,GAjBIk6B,IAAc,SAAS9sD,KAAK8sD,IAAc,SAAS9sD,KAAKgtD,MAIrD55D,KAAK65D,aAAe75D,KAAK65D,YAAY36B,OAAS06B,GAAY55D,KAAK65D,YAAY5mC,SAAWymC,KACzFD,EAAqB,cAMzBA,EAAmBG,IAMdvyD,EAAMm4B,IAAK,CACd,IAAIs6B,EAAc,SAASA,EAAYvvD,GACrC,GAAe,cAAXA,EAAE7G,KAAsB,CAC1B,IAAIq2D,EAAUxrB,EAAOyrB,QAAQ,cAE7BzrB,EAAOsrB,YAAY36B,KAAO66B,EAC1BxrB,EAAO6qB,oBAAoBW,GAG7BxrB,EAAOjF,MAAMjrB,IAAI,CAAC,YAAa,aAAcy7C,IAG/C95D,KAAKspC,MAAMtX,IAAI,CAAC,YAAa,aAAc8nC,IAG/C95D,KAAK65D,YAAc,CAAE5mC,OAAQjzB,KAAK25D,gBAAgBn6B,IAAKN,KAAM73B,EAAMm4B,KAEnEx/B,KAAKse,QAAQ,CACXkhB,IAAKn4B,EAAMm4B,IACX97B,KAAM,eAkBVk5B,EAAOhe,UAAUo6C,WAAa,SAAoBiB,GAChD,QAAgBj0C,IAAZi0C,EAEF,OAAOj6D,KAAKksC,YAGV+tB,IAAYj6D,KAAKksC,cAIrBlsC,KAAKksC,YAAc+tB,EAEfj6D,KAAKksC,aACPlsC,KAAKorB,SAAS,mBACdprB,KAAKse,QAAQ,cAEbte,KAAKurB,YAAY,qBAcrBqR,EAAOhe,UAAUg5C,gBAAkB,WACjC53D,KAAKurB,YAAY,aACjBvrB,KAAKurB,YAAY,cACjBvrB,KAAKorB,SAAS,eAGdprB,KAAKg5D,YAAW,GAQhBh5D,KAAKse,QAAQ,SAgBfse,EAAOhe,UAAUw5C,sBAAwB,WACnCp4D,KAAKspC,MAAMqd,eAAiB,GAAsC,IAAjC3mD,KAAK00C,OAAOqf,mBAC/C/zD,KAAKuzD,iBAAiB7uD,SAAQ,SAAUw1D,GACtC,OAAOA,EAAOr3D,SAASq3D,EAAO7yD,UAEhCrH,KAAKuzD,iBAAmB,IAE1BvzD,KAAK00C,OAAOqf,iBAAmB/zD,KAAKspC,MAAMqd,eAO1C3mD,KAAKse,QAAQ,eAYfse,EAAOhe,UAAU64C,mBAAqB,WACpC,IAAI9oB,EAAS3uC,KAEbA,KAAKorB,SAAS,eAOdprB,KAAKse,QAAQ,WACbte,KAAKgyB,IAAI,cAAc,WACrB,OAAO2c,EAAOpjB,YAAY,mBAc9BqR,EAAOhe,UAAUu7C,mBAAqB,WACpCn6D,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,YAYfse,EAAOhe,UAAUw7C,0BAA4B,WAC3Cp6D,KAAKurB,YAAY,eAQjBvrB,KAAKse,QAAQ,mBAYfse,EAAOhe,UAAUy7C,mBAAqB,WACpCr6D,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,YAYfse,EAAOhe,UAAU+4C,mBAAqB,WACpC33D,KAAKorB,SAAS,eAOdprB,KAAKse,QAAQ,YAYfse,EAAOhe,UAAU07C,kBAAoB,WACnCt6D,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,WAcfse,EAAOhe,UAAUi5C,qBAAuB,WAGlC73D,KAAK62B,SAAS0jC,YAChB/zC,EAAImB,KAAK,0EACT3nB,KAAKwc,YAAYxc,KAAK62B,SAAS0jC,YAGjCv6D,KAAKorB,SAAS,mBAUdprB,KAAKse,QAAQ,cAYfse,EAAOhe,UAAUk5C,iBAAmB,WAClC93D,KAAKurB,YAAY,eACjBvrB,KAAKorB,SAAS,cAOdprB,KAAKse,QAAQ,UAYfse,EAAOhe,UAAU84C,iBAAmB,WAClC13D,KAAKorB,SAAS,aACVprB,KAAK62B,SAASmgC,MAChBh3D,KAAKwc,YAAY,GACjBxc,KAAKyc,QACKzc,KAAKmhC,UACfnhC,KAAK0c,QASP1c,KAAKse,QAAQ,UAWfse,EAAOhe,UAAUm5C,0BAA4B,WAC3C/3D,KAAKkd,SAASld,KAAKs4D,SAAS,cAc9B17B,EAAOhe,UAAU85C,iBAAmB,SAA0BrxD,GACvDknB,GAAkBlnB,IAMlBrH,KAAK6zD,YAIN7zD,KAAKmhC,SACP1C,GAAez+B,KAAKyc,QAEpBzc,KAAK0c,UAaTkgB,EAAOhe,UAAUk6C,eAAiB,WAChC94D,KAAKs0D,YAAYt0D,KAAKs0D,eAWxB13B,EAAOhe,UAAU+5C,sBAAwB,WACvC34D,KAAKw6D,cAAgBx6D,KAAKs0D,cAW5B13B,EAAOhe,UAAUg6C,qBAAuB,WAClC54D,KAAKw6D,eACPx6D,KAAK47B,sBAgBTgB,EAAOhe,UAAUi6C,oBAAsB,SAA6BxxD,GAElEA,EAAM6oB,kBAWR0M,EAAOhe,UAAU41C,wBAA0B,WACrCx0D,KAAKggD,eACPhgD,KAAKorB,SAAS,kBAEdprB,KAAKurB,YAAY,mBAarBqR,EAAOhe,UAAU61C,kBAAoB,WACnCz0D,KAAK47B,sBAkBPgB,EAAOhe,UAAUo5C,4BAA8B,SAAqC3wD,EAAOjB,GACrFA,GACFpG,KAAKggD,aAAa55C,EAAK45C,cAQzBhgD,KAAKse,QAAQ,qBAWfse,EAAOhe,UAAUq5C,iBAAmB,WAClC,IAAIrwC,EAAQ5nB,KAAKspC,MAAM1hB,QAEvB5nB,KAAK4nB,MAAMA,IAYbgV,EAAOhe,UAAUu5C,oBAAsB,WACrC,IAAI/xD,EAAO,KAEPsD,UAAU6G,OAAS,IACrBnK,EAAOsD,UAAU,IASnB1J,KAAKse,QAAQ,WAAYlY,IAW3Bw2B,EAAOhe,UAAUw9B,SAAW,WAC1B,OAAOp8C,KAAK00C,QAgBd9X,EAAOhe,UAAUm6C,UAAY,SAAmBpvC,EAAQ4oB,GAGtDvyC,KAAK22B,OAAM,WACT,GAAIhN,KAAUopB,GACZ,OAAOT,GAAMtyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,EAAQ4oB,GAC9C,GAAI5oB,KAAUqpB,GACnB,OAAOR,GAAQxyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,EAAQ4oB,GAGvD,IACMvyC,KAAKspC,OACPtpC,KAAKspC,MAAM3f,GAAQ4oB,GAErB,MAAOhoC,GAEP,MADAic,EAAIjc,GACEA,MAEP,IAgBLqyB,EAAOhe,UAAU05C,SAAW,SAAkB3uC,GAC5C,GAAK3pB,KAAKspC,OAAUtpC,KAAKspC,MAAM7P,SAA/B,CAIA,GAAI9P,KAAUkpB,GACZ,OAAOV,GAAMnyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,GACtC,GAAIA,KAAUqpB,GACnB,OAAOR,GAAQxyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,GAM/C,IACE,OAAO3pB,KAAKspC,MAAM3f,KAClB,MAAOpf,GAGP,QAA2Byb,IAAvBhmB,KAAKspC,MAAM3f,GAEb,MADAnD,EAAI,aAAemD,EAAS,2BAA6B3pB,KAAK82D,UAAY,wBAAyBvsD,GAC7FA,EAIR,GAAe,cAAXA,EAAEnI,KAGJ,MAFAokB,EAAI,aAAemD,EAAS,mBAAqB3pB,KAAK82D,UAAY,gCAAiCvsD,GACnGvK,KAAKspC,MAAM7P,UAAW,EAChBlvB,EAKR,MADAic,EAAIjc,GACEA,KAgBVqyB,EAAOhe,UAAUnC,KAAO,WACtB,IAAI2yB,EAASpvC,KAETy6D,EAAez6D,KAAK62B,SAAS6jC,SAAWlvD,EAAOkvD,QAEnD,OAAID,EACK,IAAIA,GAAa,SAAUE,GAChCvrB,EAAOwrB,MAAMD,MAIV36D,KAAK46D,SAcdh+B,EAAOhe,UAAUg8C,MAAQ,WACvB,IAAIC,EAAS76D,KAET6C,EAAW6G,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK+0B,GAWnF,GAPIz+B,KAAK80D,kBACP90D,KAAKqe,IAAI,YAAare,KAAK80D,kBAMxB90D,KAAKy5B,SAcH,KAAKz5B,KAAK40D,eAAiB50D,KAAKw/B,OAASx/B,KAAKitD,cAEnD,YADApqD,EAAS7C,KAAKs4D,SAAS,SAWvBt4D,KAAK80D,iBAAmB,WACtB+F,EAAO/F,iBAAmB,KAC1BjyD,EAASg4D,EAAOp+C,SAGlBzc,KAAKgyB,IAAI,YAAahyB,KAAK80D,sBA/BT,CAGlB,GAAI90D,KAAK60D,qBACP,OAGF70D,KAAK60D,sBAAuB,EAC5B70D,KAAK22B,OAAM,WACTkkC,EAAOhG,sBAAuB,EAC9BhyD,EAASg4D,EAAOp+C,aAiCtBmgB,EAAOhe,UAAUlC,MAAQ,WACvB1c,KAAK+4D,UAAU,UAYjBn8B,EAAOhe,UAAUuiB,OAAS,WAExB,OAAmC,IAA5BnhC,KAAKs4D,SAAS,WAavB17B,EAAOhe,UAAUuvB,OAAS,WACxB,OAAOnuC,KAAKs4D,SAAS,WAAa76B,GAAiB,EAAG,IAgBxDb,EAAOhe,UAAUu9B,UAAY,SAAmB2e,GAC9C,GAA2B,qBAAhBA,EACT,OAAO96D,KAAK8zD,WAEd9zD,KAAK8zD,aAAegH,EAEhBA,EACF96D,KAAKorB,SAAS,iBAEdprB,KAAKurB,YAAY,kBAerBqR,EAAOhe,UAAUpC,YAAc,SAAqBk+B,GAClD,MAAuB,qBAAZA,GACLA,EAAU,IACZA,EAAU,QAEZ16C,KAAK+4D,UAAU,iBAAkBre,KAUnC16C,KAAK00C,OAAOl4B,YAAcxc,KAAKs4D,SAAS,gBAAkB,EACnDt4D,KAAK00C,OAAOl4B,cAqBrBogB,EAAOhe,UAAU1B,SAAW,SAAkBw9B,GAC5C,QAAgB10B,IAAZ00B,EAEF,YAAgC10B,IAAzBhmB,KAAK00C,OAAOx3B,SAAyBld,KAAK00C,OAAOx3B,SAAW2yC,IAGrEnV,EAAUh4B,WAAWg4B,GAGjBA,EAAU,IACZA,EAAUM,KAGRN,IAAY16C,KAAK00C,OAAOx3B,WAE1Bld,KAAK00C,OAAOx3B,SAAWw9B,EAEnBA,IAAYM,IACdh7C,KAAKorB,SAAS,YAEdprB,KAAKurB,YAAY,YAMnBvrB,KAAKse,QAAQ,oBAajBse,EAAOhe,UAAU69B,cAAgB,WAC/B,OAAOz8C,KAAKkd,WAAald,KAAKwc,eAYhCogB,EAAOhe,UAAU49B,qBAAuB,WACtC,OAAOrzC,KAAKyxC,MAAM56C,KAAKkd,YAAc/T,KAAKyxC,MAAM56C,KAAKwc,gBAkBvDogB,EAAOhe,UAAU+e,SAAW,WAC1B,IAAIA,EAAW39B,KAAKs4D,SAAS,YAM7B,OAJK36B,GAAaA,EAASptB,SACzBotB,EAAWF,GAAiB,EAAG,IAG1BE,GAaTf,EAAOhe,UAAU8e,gBAAkB,WACjC,OAAOA,GAAgB19B,KAAK29B,WAAY39B,KAAKkd,aAY/C0f,EAAOhe,UAAU++B,YAAc,WAC7B,IAAIhgB,EAAW39B,KAAK29B,WAChBzgB,EAAWld,KAAKkd,WAChBhU,EAAMy0B,EAASz0B,IAAIy0B,EAASptB,OAAS,GAMzC,OAJIrH,EAAMgU,IACRhU,EAAMgU,GAGDhU,GAiBT0zB,EAAOhe,UAAU6hC,OAAS,SAAgBsa,GACxC,IAAI3Z,OAAM,EAEV,YAAyBp7B,IAArB+0C,GAEF3Z,EAAMj4C,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAI,EAAG0c,WAAWq4C,KACzC/6D,KAAK00C,OAAO+L,OAASW,EACrBphD,KAAK+4D,UAAU,YAAa3X,QAExBA,EAAM,GACRphD,KAAK6gD,YAAYO,MAOrBA,EAAM1+B,WAAW1iB,KAAKs4D,SAAS,WACxBvd,MAAMqG,GAAO,EAAIA,IAgB1BxkB,EAAOhe,UAAU1D,MAAQ,SAAe8/C,GACtC,QAAeh1C,IAAXg1C,EAIJ,OAAOh7D,KAAKs4D,SAAS,WAAY,EAH/Bt4D,KAAK+4D,UAAU,WAAYiC,IAkC/Bp+B,EAAOhe,UAAUq8C,aAAe,SAAsBC,GACpD,YAAsBl1C,IAAlBk1C,EACKl7D,KAAK+4D,UAAU,kBAAmBmC,GAEpCl7D,KAAKs4D,SAAS,kBAAmB,GAmB1C17B,EAAOhe,UAAUiiC,YAAc,SAAqBka,GAClD,QAAyB/0C,IAArB+0C,GAAuD,IAArBA,EAItC,OAAO/6D,KAAK00C,OAAO2M,WAHjBrhD,KAAK00C,OAAO2M,WAAa0Z,GAe7Bn+B,EAAOhe,UAAUqxC,mBAAqB,WACpC,OAAOjwD,KAAKs4D,SAAS,wBAAyB,GAoBhD17B,EAAOhe,UAAUohC,aAAe,SAAsBmb,GACpD,QAAan1C,IAATm1C,EAIJ,QAASn7D,KAAKo7D,cAHZp7D,KAAKo7D,gBAAkBD,GAmB3Bv+B,EAAOhe,UAAUshC,kBAAoB,WACnC,IAAImb,EAAQx9B,GAEZ79B,KAAKggD,cAAa,GAEdqb,EAAMnb,mBASRx/C,GAAGkL,EAAUyvD,EAAMC,iBAAkBpsD,GAAKlP,MAAM,SAASu7D,EAAyBhxD,GAChFvK,KAAKggD,aAAap0C,EAASyvD,EAAMG,qBAGL,IAAxBx7D,KAAKggD,gBACP3hC,GAAIzS,EAAUyvD,EAAMC,iBAAkBC,GAMxCv7D,KAAKse,QAAQ,wBAGfte,KAAKg3B,IAAIqkC,EAAMnb,sBACNlgD,KAAKspC,MAAM2mB,qBAGpBjwD,KAAK+4D,UAAU,oBAIf/4D,KAAKy7D,kBAKLz7D,KAAKse,QAAQ,sBAWjBse,EAAOhe,UAAUqhC,eAAiB,WAChC,IAAIob,EAAQx9B,GAEZ79B,KAAKggD,cAAa,GAGdqb,EAAMnb,kBACRt0C,EAASyvD,EAAMpb,kBACNjgD,KAAKspC,MAAM2mB,qBACpBjwD,KAAK+4D,UAAU,mBAEf/4D,KAAK07D,iBAKL17D,KAAKse,QAAQ,sBAYjBse,EAAOhe,UAAU68C,gBAAkB,WACjCz7D,KAAK27D,cAAe,EAGpB37D,KAAK47D,gBAAkBhwD,EAASohB,gBAAgBvrB,MAAMo6D,SAGtDn7D,GAAGkL,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK87D,qBAGxClwD,EAASohB,gBAAgBvrB,MAAMo6D,SAAW,SAG1CzwC,GAASxf,EAASsO,KAAM,mBAMxBla,KAAKse,QAAQ,oBAYfse,EAAOhe,UAAUk9C,mBAAqB,SAA4Bz0D,GAC1C,KAAlBA,EAAMxD,WACoB,IAAxB7D,KAAKggD,eACPhgD,KAAKigD,iBAELjgD,KAAK07D,mBAYX9+B,EAAOhe,UAAU88C,eAAiB,WAChC17D,KAAK27D,cAAe,EACpBt9C,GAAIzS,EAAU,UAAW5L,KAAK87D,oBAG9BlwD,EAASohB,gBAAgBvrB,MAAMo6D,SAAW77D,KAAK47D,gBAG/CrwC,GAAY3f,EAASsO,KAAM,mBAQ3Bla,KAAKse,QAAQ,mBAgBfse,EAAOhe,UAAUgxB,YAAc,SAAqBlsC,GAIlD,IAHA,IAAIotC,OAAM,EAGD3mC,EAAI,EAAG+qC,EAAIl1C,KAAK62B,SAASse,UAAWhrC,EAAI+qC,EAAE3kC,OAAQpG,IAAK,CAC9D,IAAIirC,EAAWF,EAAE/qC,GACb+0B,EAAO/F,GAAK+W,QAAQkF,GASxB,GALKlW,IACHA,EAAOxI,GAAU+B,aAAa2c,IAI3BlW,GAML,GAAIA,EAAKmW,gBACPvE,EAAM5R,EAAK0Q,YAAYlsC,GAEnBotC,GACF,OAAOA,OATTtqB,EAAIoB,MAAM,QAAUwtB,EAAW,qEAcnC,MAAO,IAgBTxY,EAAOhe,UAAUm9C,aAAe,SAAsB51C,GACpD,IAAI61C,EAASh8D,KAITi8D,EAAQj8D,KAAK62B,SAASse,UAAU9wC,KAAI,SAAU+wC,GAChD,MAAO,CAACA,EAAUjc,GAAK+W,QAAQkF,OAC9BrtB,QAAO,SAAUm0C,GAClB,IAAI9mB,EAAW8mB,EAAK,GAChBh9B,EAAOg9B,EAAK,GAGhB,OAAIh9B,EAEKA,EAAKmW,eAGd7uB,EAAIoB,MAAM,QAAUwtB,EAAW,sEACxB,MAML+mB,EAAiC,SAAwCC,EAAYC,EAAYC,GACnG,IAAI1N,OAAQ,EAYZ,OAVAwN,EAAWhjC,MAAK,SAAUmjC,GACxB,OAAOF,EAAWjjC,MAAK,SAAUojC,GAG/B,GAFA5N,EAAQ0N,EAAOC,EAAaC,GAExB5N,EACF,OAAO,QAKNA,GAGL6N,OAAqB,EACrBC,EAAO,SAAc9qD,GACvB,OAAO,SAAUsV,EAAGy1C,GAClB,OAAO/qD,EAAG+qD,EAAGz1C,KAGb01C,EAAS,SAAgBC,EAAOx2C,GAClC,IAAI+uB,EAAWynB,EAAM,GACjB39B,EAAO29B,EAAM,GAEjB,GAAI39B,EAAK2Q,cAAcxpB,EAAQ21C,EAAOnlC,SAASue,EAASt0B,gBACtD,MAAO,CAAEuF,OAAQA,EAAQ6Y,KAAMkW,IAcnC,OANEqnB,EAFEz8D,KAAK62B,SAASimC,YAEKX,EAA+Bh2C,EAAS81C,EAAOS,EAAKE,IAGpDT,EAA+BF,EAAO91C,EAASy2C,GAG/DH,IAAsB,GAoB/B7/B,EAAOhe,UAAU4gB,IAAM,SAAanZ,GAClC,IAAI02C,EAAU/8D,KAGd,GAAsB,qBAAXqmB,EACT,OAAOrmB,KAAK00C,OAAOlV,KAAO,GAI5B,IAAIrZ,EAAU0uB,GAAaxuB,GAKtBF,EAAQ5V,QAQbvQ,KAAK40D,cAAe,EAEpB50D,KAAK00C,OAAOvuB,QAAUA,EACtBnmB,KAAKo5D,oBAAoBjzC,EAAQ,IAGjCkrB,GAAUrxC,KAAMmmB,EAAQ,IAAI,SAAU62C,EAAkB/pB,GACtD8pB,EAAQ5I,YAAclhB,EAItB8pB,EAAQroB,OAAOvuB,QAAUA,EACzB42C,EAAQ3D,oBAAoB4D,GAE5B,IAAItmD,EAAMqmD,EAAQE,KAAKD,GAEvB,GAAItmD,EACF,OAAIyP,EAAQ5V,OAAS,EACZwsD,EAAQv9B,IAAIrZ,EAAQ1R,MAAM,KAGnCsoD,EAAQnI,cAAe,EAGvBmI,EAAQ/vD,YAAW,WACjBhN,KAAK4nB,MAAM,CAAExR,KAAM,EAAGI,QAASxW,KAAKu3B,SAASv3B,KAAK62B,SAASqmC,yBAC1D,QAIHH,EAAQpjC,gBAKVsY,GAAQgB,EAAK8pB,EAAQzzB,WA1CrBtpC,KAAKgN,YAAW,WACdhN,KAAK4nB,MAAM,CAAExR,KAAM,EAAGI,QAASxW,KAAKu3B,SAASv3B,KAAK62B,SAASqmC,yBAC1D,IA2DPtgC,EAAOhe,UAAUq+C,KAAO,SAAc52C,GACpC,IAAI82C,EAAUn9D,KAEVo9D,EAAap9D,KAAK+7D,aAAa,CAAC11C,IAEpC,OAAK+2C,IAIA9mC,GAAgB8mC,EAAWl+B,KAAMl/B,KAAK82D,YAY3C92D,KAAK22B,OAAM,WAML32B,KAAKspC,MAAM3kB,YAAY/F,UAAUkJ,eAAe,aAClD9nB,KAAK+4D,UAAU,YAAa1yC,GAE5BrmB,KAAK+4D,UAAU,MAAO1yC,EAAOmZ,KAG/Bx/B,KAAK40D,cAAe,KACnB,IAEI,IA1BL50D,KAAK40D,cAAe,EAEpB50D,KAAKs1C,UAAU8nB,EAAWl+B,KAAMk+B,EAAW/2C,QAC3CrmB,KAAKspC,MAAM3S,OAAM,WACfwmC,EAAQvI,cAAe,MAElB,KA4BXh4B,EAAOhe,UAAUwsB,KAAO,WACtBprC,KAAK+4D,UAAU,SAUjBn8B,EAAOhe,UAAUqvB,MAAQ,WACnBjuC,KAAKspC,OACPtpC,KAAKspC,MAAMwE,YAAY,QAEzB9tC,KAAKs1C,UAAUt1C,KAAK62B,SAASse,UAAU,GAAI,MAC3Cn1C,KAAK+4D,UAAU,UAWjBn8B,EAAOhe,UAAUy+C,eAAiB,WAChC,IAAIh3C,EAASrmB,KAAK25D,gBACdxzC,EAAU,GAOd,OAJmC,IAA/B3hB,OAAOC,KAAK4hB,GAAQ9V,QACtB4V,EAAQvT,KAAKyT,GAGRrmB,KAAK00C,OAAOvuB,SAAWA,GAWhCyW,EAAOhe,UAAU+6C,cAAgB,WAC/B,OAAO35D,KAAK00C,OAAOruB,QAAU,IAY/BuW,EAAOhe,UAAUquC,WAAa,WAC5B,OAAOjtD,KAAK25D,iBAAmB35D,KAAK25D,gBAAgBn6B,KAAO,IAa7D5C,EAAOhe,UAAU0+C,YAAc,WAC7B,OAAOt9D,KAAK25D,iBAAmB35D,KAAK25D,gBAAgBj2D,MAAQ,IAe9Dk5B,EAAOhe,UAAUwwC,QAAU,SAAiB9sD,GAC1C,YAAc0jB,IAAV1jB,GACFtC,KAAK+4D,UAAU,aAAcz2D,QAC7BtC,KAAK62B,SAASu4B,QAAU9sD,IAGnBtC,KAAKs4D,SAAS,YAqBvB17B,EAAOhe,UAAUlF,SAAW,SAAkBpX,GAE5C,QAAc0jB,IAAV1jB,EACF,OAAOtC,KAAK62B,SAASnd,WAAY,EAGnC,IAAI6jD,OAAe,EAGE,kBAAVj7D,GAAsB,mBAAmBsK,KAAKtK,IACvDtC,KAAK62B,SAASnd,SAAWpX,EACzBtC,KAAKi5D,gBAAgB32D,GACrBi7D,GAAe,GASfv9D,KAAK62B,SAASnd,WALJpX,EAQZi7D,EAAeA,GAAgBv9D,KAAK62B,SAASnd,SAMzC1Z,KAAKspC,OACPtpC,KAAK+4D,UAAU,cAAewE,IAsBlC3gC,EAAOhe,UAAU8wB,YAAc,SAAqBptC,GAClD,YAAc0jB,IAAV1jB,GACFtC,KAAK+4D,UAAU,iBAAkBz2D,GACjCtC,KAAK62B,SAAS6Y,YAAcptC,EACrBtC,MAEFA,KAAKs4D,SAAS,gBAevB17B,EAAOhe,UAAUo4C,KAAO,SAAc10D,GACpC,YAAc0jB,IAAV1jB,GACFtC,KAAK+4D,UAAU,UAAWz2D,QAC1BtC,KAAK62B,SAASmgC,KAAO10D,IAGhBtC,KAAKs4D,SAAS,SAgBvB17B,EAAOhe,UAAUzd,OAAS,SAAgBq+B,GACxC,QAAYxZ,IAARwZ,EACF,OAAOx/B,KAAK4zD,QAKTp0B,IACHA,EAAM,IAGJA,IAAQx/B,KAAK4zD,UAKjB5zD,KAAK4zD,QAAUp0B,EAGfx/B,KAAK+4D,UAAU,YAAav5B,GAE5Bx/B,KAAKszD,mBAAoB,EASzBtzD,KAAKse,QAAQ,kBAiBfse,EAAOhe,UAAUs5C,wBAA0B,WACzC,KAAMl4D,KAAK4zD,SAAW5zD,KAAK62B,SAASogC,wBAA0Bj3D,KAAKspC,OAAStpC,KAAKspC,MAAMnoC,OAAQ,CAC7F,IAAIq8D,EAAYx9D,KAAKspC,MAAMnoC,UAAY,GAEnCq8D,IAAcx9D,KAAK4zD,UACrB5zD,KAAK4zD,QAAU4J,EACfx9D,KAAKszD,mBAAoB,EAGzBtzD,KAAKse,QAAQ,mBAmBnBse,EAAOhe,UAAUnF,SAAW,SAAkB8jC,GAC5C,QAAav3B,IAATu3B,EACF,QAASv9C,KAAK6zD,UAGhBtW,IAASA,EAGLv9C,KAAK6zD,YAActW,IAIvBv9C,KAAK6zD,UAAYtW,EAEbv9C,KAAKq4D,uBACPr4D,KAAK+4D,UAAU,cAAexb,GAG5Bv9C,KAAK6zD,WACP7zD,KAAKurB,YAAY,yBACjBvrB,KAAKorB,SAAS,wBAKdprB,KAAKse,QAAQ,mBACRte,KAAKq4D,uBACRr4D,KAAKu4D,8BAGPv4D,KAAKurB,YAAY,wBACjBvrB,KAAKorB,SAAS,yBAKdprB,KAAKse,QAAQ,oBACRte,KAAKq4D,uBACRr4D,KAAKy4D,kCAwBX77B,EAAOhe,UAAUy5C,oBAAsB,SAA6B9a,GAClE,QAAav3B,IAATu3B,EACF,QAASv9C,KAAKy9D,qBAGhBlgB,IAASA,EAGLv9C,KAAKy9D,uBAAyBlgB,IAIlCv9C,KAAKy9D,qBAAuBlgB,EAExBv9C,KAAKy9D,sBACPz9D,KAAKorB,SAAS,6BAQdprB,KAAKse,QAAQ,yBAEbte,KAAKurB,YAAY,6BAQjBvrB,KAAKse,QAAQ,0BAkBjBse,EAAOhe,UAAUgJ,MAAQ,SAAelR,GACtC,YAAYsP,IAARtP,EACK1W,KAAKkuC,QAAU,KAIZ,OAARx3B,GACF1W,KAAKkuC,OAASx3B,EACd1W,KAAKurB,YAAY,kBACbvrB,KAAK09D,cACP19D,KAAK09D,aAAa/8D,WAKtBX,KAAKkuC,OAAS,IAAIjQ,GAAWvnB,GAG7B1W,KAAKorB,SAAS,aAId5E,EAAIoB,MAAM,SAAW5nB,KAAKkuC,OAAO93B,KAAO,IAAM6nB,GAAWE,WAAWn+B,KAAKkuC,OAAO93B,MAAQ,IAAKpW,KAAKkuC,OAAO13B,QAASxW,KAAKkuC,aAMvHluC,KAAKse,QAAQ,WAafse,EAAOhe,UAAUgd,mBAAqB,SAA4Bv0B,GAChErH,KAAK29D,eAAgB,GAkBvB/gC,EAAOhe,UAAU01C,WAAa,SAAoB/W,GAChD,QAAav3B,IAATu3B,EACF,OAAOv9C,KAAKwzD,YAKd,GAFAjW,IAASA,EAELA,IAASv9C,KAAKwzD,YAAlB,CAMA,GAFAxzD,KAAKwzD,YAAcjW,EAEfv9C,KAAKwzD,YASP,OARAxzD,KAAK29D,eAAgB,EACrB39D,KAAKurB,YAAY,qBACjBvrB,KAAKorB,SAAS,wBAKdprB,KAAKse,QAAQ,cAYXte,KAAKspC,OACPtpC,KAAKspC,MAAMtX,IAAI,aAAa,SAAUznB,GACpCA,EAAE/B,kBACF+B,EAAE2lB,oBAINlwB,KAAK29D,eAAgB,EACrB39D,KAAKurB,YAAY,mBACjBvrB,KAAKorB,SAAS,qBAKdprB,KAAKse,QAAQ,kBAUfse,EAAOhe,UAAU21C,uBAAyB,WACxC,IAAIqJ,OAAkB,EAClBC,OAAY,EACZC,OAAY,EACZC,EAAiB7uD,GAAKlP,KAAMA,KAAK47B,oBAEjCmhB,EAAkB,SAAyBxyC,GAGzCA,EAAEyzD,UAAYH,GAAatzD,EAAE0zD,UAAYH,IAC3CD,EAAYtzD,EAAEyzD,QACdF,EAAYvzD,EAAE0zD,QACdF,MAIAhkB,EAAkB,WACpBgkB,IAIA/9D,KAAK+P,cAAc6tD,GAInBA,EAAkB59D,KAAK8P,YAAYiuD,EAAgB,MAGjD/gB,EAAgB,SAAuB31C,GACzC02D,IAEA/9D,KAAK+P,cAAc6tD,IAIrB59D,KAAKU,GAAG,YAAaq5C,GACrB/5C,KAAKU,GAAG,YAAaq8C,GACrB/8C,KAAKU,GAAG,UAAWs8C,GAInBh9C,KAAKU,GAAG,UAAWq9D,GACnB/9D,KAAKU,GAAG,QAASq9D,GAOjB,IAAIG,OAAoB,EAExBl+D,KAAK8P,aAAY,WAEf,GAAK9P,KAAK29D,cAAV,CAKA39D,KAAK29D,eAAgB,EAGrB39D,KAAKs0D,YAAW,GAGhBt0D,KAAK+zB,aAAamqC,GAElB,IAAIrqC,EAAU7zB,KAAK62B,SAASqnC,kBAExBrqC,GAAW,IAMfqqC,EAAoBl+D,KAAKgN,YAAW,WAI7BhN,KAAK29D,eACR39D,KAAKs0D,YAAW,KAEjBzgC,OACF,MAkBL+I,EAAOhe,UAAU+nC,aAAe,SAAsBD,GACpD,QAAa1gC,IAAT0gC,EAOJ,OAAI1mD,KAAKspC,OAAStpC,KAAKspC,MAAMiH,qBACpBvwC,KAAK00C,OAAOqf,kBAAoB/zD,KAAKs4D,SAAS,gBAEhD,EAPLt4D,KAAK+4D,UAAU,kBAAmBrS,IA2BtC9pB,EAAOhe,UAAUo1C,oBAAsB,SAA6BtN,GAClE,YAAa1gC,IAAT0gC,EACK1mD,KAAK+4D,UAAU,yBAA0BrS,GAG9C1mD,KAAKspC,OAAStpC,KAAKspC,MAAMiH,qBACpBvwC,KAAKs4D,SAAS,uBAEhB,GAeT17B,EAAOhe,UAAU46B,QAAU,SAAiB+D,GAC1C,QAAav3B,IAATu3B,EAKJ,QAASv9C,KAAKm+D,SAJZn+D,KAAKm+D,WAAa5gB,GA8BtB3gB,EAAOhe,UAAUswB,aAAe,SAAsBnK,EAAMpE,EAAOjJ,GACjE,GAAI13B,KAAKspC,MACP,OAAOtpC,KAAKspC,MAAM4F,aAAanK,EAAMpE,EAAOjJ,IAyBhDkF,EAAOhe,UAAUghB,mBAAqB,SAA4BrO,EAAS8d,GACzE,GAAIrvC,KAAKspC,MACP,OAAOtpC,KAAKspC,MAAM1J,mBAAmBrO,EAAS8d,IAgBlDzS,EAAOhe,UAAUmvB,sBAAwB,WACvC,IAAIqwB,EAAQ10D,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5E20D,EAAcD,EAAMz/B,MACpBA,OAAwB3Y,IAAhBq4C,EAA4B30D,UAAU,GAAK20D,EAKvD,GAAIr+D,KAAKspC,MACP,OAAOtpC,KAAKspC,MAAMyE,sBAAsBpP,IAgB5C/B,EAAOhe,UAAU4wB,wBAA0B,WACzC,OAAOxvC,KAAKs4D,SAAS,4BAWvB17B,EAAOhe,UAAUu3C,WAAa,WAC5B,OAAOn2D,KAAKspC,OAAStpC,KAAKspC,MAAM6sB,YAAcn2D,KAAKspC,MAAM6sB,cAAgB,GAW3Ev5B,EAAOhe,UAAUw3C,YAAc,WAC7B,OAAOp2D,KAAKspC,OAAStpC,KAAKspC,MAAM8sB,aAAep2D,KAAKspC,MAAM8sB,eAAiB,GAiB7Ex5B,EAAOhe,UAAU8Y,SAAW,SAAkBthB,GAC5C,QAAa4P,IAAT5P,EACF,OAAOpW,KAAKqmD,UAGdrmD,KAAKqmD,UAAYzgD,OAAOwQ,GAAM0K,eAahC8b,EAAOhe,UAAU+Y,UAAY,WAC3B,OAAOlB,GAAamG,EAAOhe,UAAUiY,SAASc,UAAW33B,KAAK2zD,aAYhE/2B,EAAOhe,UAAU0/C,OAAS,WACxB,IAAI/sC,EAAUkF,GAAaz2B,KAAK62B,UAC5BwI,EAAS9N,EAAQ8N,OAErB9N,EAAQ8N,OAAS,GAEjB,IAAK,IAAIl1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAGnBw0B,EAAQlI,GAAakI,GACrBA,EAAM1L,YAASjN,EACfuL,EAAQ8N,OAAOl1B,GAAKw0B,EAGtB,OAAOpN,GAqBTqL,EAAOhe,UAAU2/C,YAAc,SAAqB5zD,EAAS4mB,GAC3D,IAAIitC,EAAUx+D,KAEduxB,EAAUA,GAAW,GACrBA,EAAQ5mB,QAAUA,GAAW,GAE7B,IAAI8zD,EAAQ,IAAIx+B,GAAYjgC,KAAMuxB,GAQlC,OANAvxB,KAAKo4B,SAASqmC,GACdA,EAAM/9D,GAAG,WAAW,WAClB89D,EAAQtwC,YAAYuwC,MAGtBA,EAAM19B,OACC09B,GAUT7hC,EAAOhe,UAAU8/C,yBAA2B,WAC1C,GAAK1+D,KAAK20D,aAOV,IAHA,IAAIgK,EAAoB3+D,KAAK2+D,oBACzB9jC,EAAe76B,KAAK66B,eAEf1wB,EAAI,EAAGA,EAAIsoD,GAAiBliD,OAAQpG,IAAK,CAChD,IAAIy0D,EAAsBnM,GAAiBtoD,GACvC6P,EAAWha,KAAK6+D,aAAaD,GAEjC,GAAI/jC,GAAgB7gB,EAAU,CAG5B,GAAI2kD,IAAsBC,EACxB,OAIED,GACF3+D,KAAKurB,YAAYmnC,GAAmBiM,IAGtC3+D,KAAKorB,SAASsnC,GAAmBkM,IACjC5+D,KAAK8+D,YAAcF,EACnB,SAYNhiC,EAAOhe,UAAUmgD,yBAA2B,WAC1C,IAAI11C,EAAYrpB,KAAKg/D,yBAErBh/D,KAAK8+D,YAAc,GAEfz1C,GACFrpB,KAAKurB,YAAYlC,IA0CrBuT,EAAOhe,UAAU81C,YAAc,SAAqBuK,GAGlD,YAAqBj5C,IAAjBi5C,IAIJj/D,KAAK8+D,YAAc,GACnB9+D,KAAK6+D,aAAetjD,EAAO,GAAIq3C,GAAqBqM,GAIpDj/D,KAAK0+D,4BARInjD,EAAOvb,KAAK6+D,eA4BvBjiC,EAAOhe,UAAU+1C,WAAa,SAAoBryD,GAGhD,QAAc0jB,IAAV1jB,EACF,OAAOtC,KAAKk/D,YAGd58D,EAAQiD,QAAQjD,GAChB,IAAI68D,EAAUn/D,KAAKk/D,YAGnB,OAAI58D,IAAU68D,GAKdn/D,KAAKk/D,YAAc58D,EAIfA,GACFtC,KAAKU,GAAG,eAAgBV,KAAK0+D,0BAC7B1+D,KAAK0+D,6BAIL1+D,KAAKqe,IAAI,eAAgBre,KAAK0+D,0BAC9B1+D,KAAK++D,4BAGAz8D,QAnBP,GA+BFs6B,EAAOhe,UAAU+/C,kBAAoB,WACnC,OAAO3+D,KAAK8+D,aAadliC,EAAOhe,UAAUogD,uBAAyB,WACxC,OAAOtM,GAAmB1yD,KAAK8+D,cAAgB,IAejDliC,EAAOw2B,eAAiB,SAAwBxoD,GAC9C,IAAIw0D,EAAc,CAChBj5C,QAAS,GACTkZ,OAAQ,IAGNggC,EAAanzC,GAActhB,GAC3B00D,EAAYD,EAAW,cAU3B,GARIt0C,GAASngB,EAAK,cAChBy0D,EAAWp+B,MAAO,GAEhBlW,GAASngB,EAAK,eAChBy0D,EAAW7J,OAAQ,GAIH,OAAd8J,EAAoB,CAGtB,IAAIC,EAAkBr9C,EAAeo9C,GAAa,MAC9C5oD,EAAM6oD,EAAgB,GACtBn5D,EAAOm5D,EAAgB,GAEvB7oD,GACF8P,EAAIoB,MAAMlR,GAEZ6E,EAAO8jD,EAAYj5D,GAMrB,GAHAmV,EAAO6jD,EAAaC,GAGhBz0D,EAAI6iD,gBAGN,IAFA,IAAI58C,EAAWjG,EAAI8tB,WAEVvuB,EAAI,EAAG+qC,EAAIrkC,EAASN,OAAQpG,EAAI+qC,EAAG/qC,IAAK,CAC/C,IAAIwgB,EAAQ9Z,EAAS1G,GAEjBq1D,EAAY70C,EAAMgK,SAAS7T,cAEb,WAAd0+C,EACFJ,EAAYj5C,QAAQvT,KAAKsZ,GAAcvB,IAChB,UAAd60C,GACTJ,EAAY//B,OAAOzsB,KAAKsZ,GAAcvB,IAK5C,OAAOy0C,GAYTxiC,EAAOhe,UAAUw1C,kBAAoB,WACnC,IAAI9kC,EAAO1jB,EAASyY,cAAc,KAIlC,QAAS,cAAeiL,EAAK7tB,OAAS,oBAAqB6tB,EAAK7tB,OAAS,iBAAkB6tB,EAAK7tB,OAAS,gBAAiB6tB,EAAK7tB,OAE/H,gBAAiB6tB,EAAK7tB,QAGjBm7B,EAr1HI,CAs1HXlG,IAmDFqV,GAAIE,MAAMvnC,SAAQ,SAAUgvD,GAC1B,IAAIruD,EAAQ0mC,GAAI2nB,GAEhB92B,GAAOhe,UAAUvZ,EAAMqmC,YAAc,WACnC,OAAI1rC,KAAKspC,MACAtpC,KAAKspC,MAAMjkC,EAAMqmC,eAK1B1rC,KAAKqF,EAAMsmC,aAAe3rC,KAAKqF,EAAMsmC,cAAgB,IAAItmC,EAAMkmC,UACxDvrC,KAAKqF,EAAMsmC,kBAStB/O,GAAOC,QAAU,GAEjB,IAAIhwB,GAAYrB,EAAOqB,UAUvB+vB,GAAOhe,UAAUiY,SAAW,CAE1Bse,UAAWhc,GAAK8W,kBAEhBwvB,MAAO,GACPC,MAAO,GAGPxB,kBAAmB,IAGnBjX,cAAe,GAKfp2C,SAAU,CAAC,cAAe,cAAe,mBAAoB,iBAAkB,gBAAiB,aAAc,eAAgB,qBAE9H6mB,SAAU7qB,KAAcA,GAAU8qB,WAAa9qB,GAAU8qB,UAAU,IAAM9qB,GAAU8yD,cAAgB9yD,GAAU6qB,WAAa,KAG1HC,UAAW,GAGXulC,oBAAqB,iDAErBxI,YAAa,GACbC,YAAY,GAGT/wC,GACHgZ,GAAOhe,UAAUiY,SAAShmB,SAAS+B,KAAK,iBAG1C,CAOA,QAOA,UAQA,WAqBA,eAwBA,cAAclO,SAAQ,SAAUkN,GAC9BgrB,GAAOhe,UAAUhN,GAAM,WACrB,OAAO5R,KAAKs4D,SAAS1mD,OAIzBugD,GAAsBztD,SAAQ,SAAU2C,GACtCu1B,GAAOhe,UAAU,aAAeuX,GAAY9uB,GAAS,KAAO,WAC1D,OAAOrH,KAAKse,QAAQjX,OA8DxBqvB,GAAU4F,kBAAkB,SAAUM,IAYtC,IAAIgjC,GAAmB,SASnBC,GAAmB,iBAQnBC,GAAgB,GAYhBC,GAAe,SAAsB39D,GACvC,OAAO09D,GAAch4C,eAAe1lB,IAalC49D,GAAY,SAAmB59D,GACjC,OAAO29D,GAAa39D,GAAQ09D,GAAc19D,QAAQ4jB,GAehDi6C,GAAqB,SAA4BhtC,EAAQ7wB,GAC3D6wB,EAAO4sC,IAAoB5sC,EAAO4sC,KAAqB,GACvD5sC,EAAO4sC,IAAkBz9D,IAAQ,GAiB/B89D,GAAoB,SAA2BjtC,EAAQ9B,EAAMgvC,GAC/D,IAAItR,GAAasR,EAAS,SAAW,IAAM,cAE3CltC,EAAO3U,QAAQuwC,EAAW19B,GAC1B8B,EAAO3U,QAAQuwC,EAAY,IAAM19B,EAAK/uB,KAAM+uB,IAiB1CivC,GAAoB,SAA2Bh+D,EAAMi+D,GACvD,IAAIC,EAAqB,WAQvBJ,GAAkBlgE,KAAM,CAAEoC,KAAMA,EAAMi+D,OAAQA,EAAQx7C,SAAU,OAAQ,GAExE,IAAIA,EAAWw7C,EAAO3hD,MAAM1e,KAAM0J,WAKlC,OAHAu2D,GAAmBjgE,KAAMoC,GACzB89D,GAAkBlgE,KAAM,CAAEoC,KAAMA,EAAMi+D,OAAQA,EAAQx7C,SAAUA,IAEzDA,GAOT,OAJArgB,OAAOC,KAAK47D,GAAQ37D,SAAQ,SAAUkkB,GACpC03C,EAAmB13C,GAAQy3C,EAAOz3C,MAG7B03C,GAmBLC,GAAsB,SAA6Bn+D,EAAMo+D,GAM3D,OAFAA,EAAe5hD,UAAUxc,KAAOA,EAEzB,WACL89D,GAAkBlgE,KAAM,CAAEoC,KAAMA,EAAMi+D,OAAQG,EAAgB37C,SAAU,OAAQ,GAEhF,IAAK,IAAIqB,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB,IAAIvB,EAAW,IAAK47C,SAAS7hD,UAAU1P,KAAKwP,MAAM8hD,EAAgB,CAAC,MAAMpiD,OAAO,CAACpe,MAAMoe,OAAOI,MAS9F,OANAxe,KAAKoC,GAAQ,WACX,OAAOyiB,GAGTq7C,GAAkBlgE,KAAM6kB,EAAS67C,gBAE1B77C,IAmBP87C,GAAS,WAUX,SAASA,EAAO1tC,GAGd,GAFArO,EAAe5kB,KAAM2gE,GAEjB3gE,KAAK2kB,cAAgBg8C,EACvB,MAAM,IAAIh/C,MAAM,0DAGlB3hB,KAAKizB,OAASA,EAIdyC,GAAQ11B,aACDA,KAAKse,QAEZ0X,GAASh2B,KAAMA,KAAK2kB,YAAYsR,cAChCgqC,GAAmBhtC,EAAQjzB,KAAKoC,MAIhCpC,KAAK2e,QAAUzP,GAAKlP,KAAMA,KAAK2e,SAG/BsU,EAAOvyB,GAAG,UAAWV,KAAK2e,SA+O5B,OAvOAgiD,EAAO/hD,UAAUyD,QAAU,WACzB,OAAOriB,KAAK2kB,YAAYi8C,SAiB1BD,EAAO/hD,UAAU8hD,aAAe,WAC9B,IAAIvvC,EAAOznB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAK/E,OAHAynB,EAAK/uB,KAAOpC,KAAKoC,KACjB+uB,EAAKkvC,OAASrgE,KAAK2kB,YACnBwM,EAAKtM,SAAW7kB,KACTmxB,GAmBTwvC,EAAO/hD,UAAUN,QAAU,SAAoBjX,GAC7C,IAAI8pB,EAAOznB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE/E,OAAO4U,GAAQte,KAAKu0B,YAAaltB,EAAOrH,KAAK0gE,aAAavvC,KAiB5DwvC,EAAO/hD,UAAUsX,mBAAqB,SAA4B3rB,KAYlEo2D,EAAO/hD,UAAUD,QAAU,WACzB,IAAIvc,EAAOpC,KAAKoC,KACZ6wB,EAASjzB,KAAKizB,OASlBjzB,KAAKse,QAAQ,WACbte,KAAKqe,MACL4U,EAAO5U,IAAI,UAAWre,KAAK2e,SAK3BsU,EAAO4sC,IAAkBz9D,IAAQ,EACjCpC,KAAKizB,OAASjzB,KAAKmZ,MAAQ,KAI3B8Z,EAAO7wB,GAAQm+D,GAAoBn+D,EAAM09D,GAAc19D,KAezDu+D,EAAOE,QAAU,SAAiBR,GAChC,IAAIS,EAAsB,kBAAXT,EAAsBL,GAAUK,GAAUA,EAEzD,MAAoB,oBAANS,IAAqBH,EAAO/hD,UAAU6d,cAAcqkC,EAAEliD,YAoBtE+hD,EAAOI,eAAiB,SAAwB3+D,EAAMi+D,GACpD,GAAoB,kBAATj+D,EACT,MAAM,IAAIuf,MAAM,yBAA2Bvf,EAAO,6BAA+C,qBAATA,EAAuB,YAAcoiB,EAAQpiB,IAAS,KAGhJ,GAAI29D,GAAa39D,GACfokB,EAAImB,KAAK,mBAAqBvlB,EAAO,wEAChC,GAAIw6B,GAAOhe,UAAUkJ,eAAe1lB,GACzC,MAAM,IAAIuf,MAAM,yBAA2Bvf,EAAO,0DAGpD,GAAsB,oBAAXi+D,EACT,MAAM,IAAI1+C,MAAM,uBAAyBvf,EAAO,+BAAmD,qBAAXi+D,EAAyB,YAAc77C,EAAQ67C,IAAW,KAepJ,OAZAP,GAAc19D,GAAQi+D,EAIlBj+D,IAASw9D,KACPe,EAAOE,QAAQR,GACjBzjC,GAAOhe,UAAUxc,GAAQg+D,GAAkBh+D,EAAMi+D,GAEjDzjC,GAAOhe,UAAUxc,GAAQm+D,GAAoBn+D,EAAMi+D,IAIhDA,GAWTM,EAAOK,iBAAmB,SAA0B5+D,GAClD,GAAIA,IAASw9D,GACX,MAAM,IAAIj+C,MAAM,mCAEdo+C,GAAa39D,YACR09D,GAAc19D,UACdw6B,GAAOhe,UAAUxc,KAiB5Bu+D,EAAOM,WAAa,WAClB,IAAIh1B,EAAQviC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAKlF,OAAOC,KAAKq7D,IAExFhoD,OAAS,EAWb,OATAm0B,EAAMvnC,SAAQ,SAAUtC,GACtB,IAAIi+D,EAASL,GAAU59D,GAEnBi+D,IACFvoD,EAASA,GAAU,GACnBA,EAAO1V,GAAQi+D,MAIZvoD,GAcT6oD,EAAOO,iBAAmB,SAA0B9+D,GAClD,IAAIi+D,EAASL,GAAU59D,GAEvB,OAAOi+D,GAAUA,EAAOO,SAAW,IAG9BD,EA/QI,GAgSbA,GAAOX,UAAYA,GAOnBW,GAAOf,iBAAmBA,GAE1Be,GAAOI,eAAenB,GAAkBe,IAOxC/jC,GAAOhe,UAAUuiD,YAAc,SAAU/+D,GACvC,QAASpC,KAAK6/D,MAAsD,IAAjC7/D,KAAK6/D,IAAkBz9D,IAQ5Dw6B,GAAOhe,UAAUwiD,UAAY,SAAUh/D,GACrC,QAAS29D,GAAa39D,IAkExB,IAAIi/D,GAAY,SAAmBr8C,EAAUC,GAC3C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrD,UAAU,4DAAoF,qBAAfqD,EAA6B,YAAcT,EAAQS,KAG9ID,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CACrE+F,YAAa,CACXriB,MAAO0iB,EACPvD,YAAY,EACZyD,UAAU,EACVC,cAAc,KAIdF,IAEFD,EAASs8C,OAASr8C,IAoBlBs8C,GAAW,SAAkBt8C,GAC/B,IAAIu8C,EAAkB93D,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAEtFsb,EAAW,WACbC,EAAWvG,MAAM1e,KAAM0J,YAGrBvC,EAAU,GAcd,IAAK,IAAI/E,IAZiF,YAA1D,qBAApBo/D,EAAkC,YAAch9C,EAAQg9C,KAC9DA,EAAgB78C,cAAgBngB,OAAOoa,UAAU+F,cACnDK,EAAWw8C,EAAgB78C,aAE7Bxd,EAAUq6D,GAC0B,oBAApBA,IAChBx8C,EAAWw8C,GAGbH,GAAUr8C,EAAUC,GAGH9d,EACXA,EAAQ2gB,eAAe1lB,KACzB4iB,EAASpG,UAAUxc,GAAQ+E,EAAQ/E,IAIvC,OAAO4iB,GASuB,qBAArBy8C,kBAAoCx9C,OAC7CrY,EAASyY,cAAc,SACvBzY,EAASyY,cAAc,SACvBzY,EAASyY,cAAc,SACvBzY,EAASyY,cAAc,aAYzB,IAAIq9C,GAAc,SAAqBv+D,GACrC,OAA2B,IAApBA,EAAGQ,QAAQ,KAAaR,EAAGsR,MAAM,GAAKtR,GAoB/C,SAASgtC,GAAQhtC,EAAIouB,EAASoF,GAC5B,IAAI1D,EAASkd,GAAQwxB,UAAUx+D,GAE/B,GAAI8vB,EAOF,OANI1B,GACF/K,EAAImB,KAAK,WAAaxkB,EAAK,0DAEzBwzB,GACF1D,EAAO0D,MAAMA,GAER1D,EAGT,IAAIjiB,EAAmB,kBAAP7N,EAAkBurB,GAAE,IAAMgzC,GAAYv+D,IAAOA,EAE7D,IAAKmmB,GAAKtY,GACR,MAAM,IAAI4Q,UAAU,sDAGjBhW,EAASsO,KAAKiR,SAASna,IAC1BwV,EAAImB,KAAK,mDAGX4J,EAAUA,GAAW,GAErB4e,GAAQyxB,MAAM,eAAel9D,SAAQ,SAAUm9D,GAC7C,IAAI7wC,EAAO6wC,EAAa7wD,EAAIylB,GAAalF,IAEpC3L,EAASoL,KAAS7sB,MAAMC,QAAQ4sB,GAKrCO,EAAUkF,GAAalF,EAASP,GAJ9BxK,EAAIoB,MAAM,mDASd,IAAIk6C,EAAkBprC,GAAU+B,aAAa,UAQ7C,OANAxF,EAAS,IAAI6uC,EAAgB9wD,EAAIugB,EAASoF,GAE1CwZ,GAAQyxB,MAAM,SAASl9D,SAAQ,SAAUm9D,GACvC,OAAOA,EAAa5uC,MAGfA,EAyFT,GAlFAkd,GAAQ4xB,OAAS,GAejB5xB,GAAQyxB,MAAQ,SAAUl+D,EAAMkO,GAK9B,OAJAu+B,GAAQ4xB,OAAOr+D,GAAQysC,GAAQ4xB,OAAOr+D,IAAS,GAC3CkO,IACFu+B,GAAQ4xB,OAAOr+D,GAAQysC,GAAQ4xB,OAAOr+D,GAAM0a,OAAOxM,IAE9Cu+B,GAAQ4xB,OAAOr+D,IAYxBysC,GAAQ6xB,KAAO,SAAUt+D,EAAMkO,GAC7Bu+B,GAAQyxB,MAAMl+D,EAAMkO,IAYtBu+B,GAAQ8xB,SAAW,SAAUv+D,EAAMkO,GACjCu+B,GAAQyxB,MAAMl+D,EAAM,GAAG0a,OAAOxM,GAAIvN,KAAI,SAAU69D,GAC9C,IAAIh7D,EAAU,SAASA,IAErB,OADAipC,GAAQgyB,WAAWz+D,EAAMwD,GAClBg7D,EAASxjD,WAAMsH,EAAWtc,YAGnC,OAAOxC,OAgBXipC,GAAQgyB,WAAa,SAAUz+D,EAAMkO,GACnC,IAAIvJ,EAAQ8nC,GAAQyxB,MAAMl+D,GAAMC,QAAQiO,GAExC,QAAIvJ,IAAU,KAId8nC,GAAQ4xB,OAAOr+D,GAAQysC,GAAQ4xB,OAAOr+D,GAAM+Q,QAC5C07B,GAAQ4xB,OAAOr+D,GAAMqN,OAAO1I,EAAO,IAE5B,KAI+B,IAApCmD,EAAO2pD,0BAAqClxC,KAAU,CACxD,IAAIxiB,GAAQitB,GAAE,wBAEd,IAAKjtB,GAAO,CACVA,GAAQ2xB,GAAmB,uBAC3B,IAAIiiC,GAAO3mC,GAAE,QAET2mC,IACFA,GAAKxqC,aAAappB,GAAO4zD,GAAKzqC,YAEhCyI,GAAe5xB,GAAO,kJAO1BuxB,GAAiB,EAAGmd,IAOpBA,GAAQywB,QAAUv+C,EAQlB8tB,GAAQ5e,QAAUqL,GAAOhe,UAAUiY,SAQnCsZ,GAAQiyB,WAAa,WACnB,OAAOxlC,GAAOC,SAiBhBsT,GAAQwxB,UAAY,SAAUx+D,GAC5B,IAAI05B,EAAUD,GAAOC,QACjBjyB,OAAM,EAEV,GAAkB,kBAAPzH,EAAiB,CAC1B,IAAIk/D,EAAMX,GAAYv+D,GAClB8vB,EAAS4J,EAAQwlC,GAErB,GAAIpvC,EACF,OAAOA,EAGTroB,EAAM8jB,GAAE,IAAM2zC,QAEdz3D,EAAMzH,EAGR,GAAImmB,GAAK1e,GAAM,CACb,IAAI03D,EAAO13D,EACP23D,EAAUD,EAAKrvC,OACfk8B,EAAWmT,EAAKnT,SAKpB,GAAIoT,GAAW1lC,EAAQsyB,GACrB,OAAOoT,GAAW1lC,EAAQsyB,KAchChf,GAAQqyB,cAAgB,WACtB,OAIEh+D,OAAOC,KAAKm4B,GAAOC,SAASx4B,KAAI,SAAUuoB,GACxC,OAAOgQ,GAAOC,QAAQjQ,MACrB7E,OAAOxiB,UAUd4qC,GAAQtT,QAAUD,GAAOC,QAOzBsT,GAAQ1X,aAAe/B,GAAU+B,aAmBjC0X,GAAQ7T,kBAAoB,SAAUo3B,EAAS+O,GACzCtpC,GAAKG,OAAOmpC,IACdj8C,EAAImB,KAAK,OAAS+rC,EAAU,+GAG9Bh9B,GAAU4F,kBAAkB7d,KAAKiY,GAAWg9B,EAAS+O,IAQvDtyB,GAAQD,QAAU/W,GAAK+W,QAQvBC,GAAQJ,aAAe5W,GAAK4W,aAQ5BI,GAAQ0B,IAAMA,IAWTjuB,GAAUpf,OAAO8a,gBACpB9a,OAAO8a,eAAe6wB,GAAS,aAAc,CAC3C7tC,MAAO,GACPogE,WAAW,EACXjhD,YAAY,IAGdjd,OAAO8a,eAAe6wB,GAAQ2B,WAAY,aAAc,CACtDxvC,MAAOsvC,GACP8wB,WAAW,EACXjhD,YAAY,KAGd0uB,GAAQ2B,WAAa,CAAEF,WAAYA,IASrCzB,GAAQ7rB,QAAUA,EAUlB6rB,GAAQnsB,cAAgBA,EAQxBmsB,GAAQwyB,OAASpB,GAUjBpxB,GAAQ1Z,aAAeA,GAUvB0Z,GAAQjhC,KAAOA,GAoBfihC,GAAQ4wB,eAAiBJ,GAAOI,eAchC5wB,GAAQ6wB,iBAAmBL,GAAOK,iBAclC7wB,GAAQkwB,OAAS,SAAU3M,EAAS2M,GAElC,OADA75C,EAAImB,KAAK,wEACFg5C,GAAOI,eAAerN,EAAS2M,IAcxClwB,GAAQ8wB,WAAaN,GAAOM,WAW5B9wB,GAAQ6vB,UAAYW,GAAOX,UAW3B7vB,GAAQ+wB,iBAAmBP,GAAOO,iBAelC/wB,GAAQyyB,YAAc,SAAUxsD,EAAMhQ,GACpC,IAAIy8D,EAMJ,OAJAzsD,GAAQ,GAAKA,GAAM0K,cAEnBqvB,GAAQ5e,QAAQoG,UAAYlB,GAAa0Z,GAAQ5e,QAAQoG,WAAYkrC,EAAgB,GAAIA,EAAczsD,GAAQhQ,EAAMy8D,IAE9G1yB,GAAQ5e,QAAQoG,UAAUvhB,IAQnC+5B,GAAQ3pB,IAAMA,EACd2pB,GAAQ5oB,aAAeA,EAUvB4oB,GAAQ2yB,gBAAkB3yB,GAAQ1S,iBAAmBA,GASrD0S,GAAQkL,WAAaA,GAarBlL,GAAQ+K,cAAgBA,GASxB/K,GAAQiL,gBAAkBA,GAQ1BjL,GAAQlJ,SAAWA,GAOnBkJ,GAAQvI,cAAgBA,GAOxBuI,GAAQjc,YAAcA,GAUtBic,GAAQzvC,GAAKA,GAObyvC,GAAQne,IAAMA,GAOdme,GAAQ9xB,IAAMA,GAOd8xB,GAAQ7xB,QAAUA,GAalB6xB,GAAQhuB,IAAMA,EAOdguB,GAAQ3G,UAAYA,GAQpB2G,GAAQxF,WAAaA,GAQrBwF,GAAQtF,WAAaA,GA4HrB,CAAC,OAAQ,aAAc,WAAY,WAAY,WAAY,cAAe,cAAe,gBAAiB,gBAAiB,UAAW,gBAAiB,iBAAiBnmC,SAAQ,SAAUkoB,GACxLujB,GAAQvjB,GAAK,WAEX,OADApG,EAAImB,KAAK,WAAaiF,EAAI,qCAAuCA,EAAI,cAC9DgC,GAAIhC,GAAGlO,MAAM,KAAMhV,eAc9BymC,GAAQxnB,cAAgBA,EAMxBwnB,GAAQ4yB,IAAMn0C,GAMduhB,GAAQzjC,IAAMu7B,GAEdhpB,EAAOC,QAAUixB,I,qBCvvxBjBlxB,EAAOC,QAAU,CACftU,IAAK,EAAQ,QACbo4D,WAAY,EAAQ,QACpBC,aAAc,EAAQ,W,oCCGxB,SAASC,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI8gE,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnCE,EAAiB,CACnBC,cAAe,GACfC,UAAW,SAAmBzxB,GAC5B,IAAI7S,EAAOl/B,KAAKk/B,KAAK,CAAEukC,0BAA0B,IAC7CjK,EAAYt6B,EAAKsS,eAErB,OAAOO,EAAKynB,KAWZkK,EAAa,SAASA,EAAWzwC,EAAQ1B,GAC3C,IAAIoyC,EAAa,EACbC,EAAS,EACTC,EAAeR,EAAU,WAAW5sC,aAAa6sC,EAAgB/xC,GAErE0B,EAAO0D,OAAM,WACX1D,EAAO3U,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,oCASxC,IAAI0hE,EAAwB,WACtBF,GACF3wC,EAAOzW,YAAYonD,IAUnBvyB,EAAY,SAAmBmoB,GACf,OAAdA,QAAoCxzC,IAAdwzC,IAG1BoK,EAAS3wC,EAAO/V,aAAe89B,KAAY/nB,EAAOzW,eAAiB,EAEnEyW,EAAOjB,IAAI,iBAAkB8xC,GAE7B7wC,EAAOuM,IAAIg6B,GACXvmC,EAAO3U,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,qBACtC6wB,EAAOxW,SASLsnD,EAAe,WAGjB,GAAIhuD,KAAKC,MAAQ2tD,EAA0C,IAA7BE,EAAaN,cACzCtwC,EAAO3U,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,kCADxC,CAKA,GAAKyhE,EAAaL,WAA+C,oBAA3BK,EAAaL,UAMnD,OAFAG,EAAa5tD,KAAKC,MAEX6tD,EAAaL,UAAU/kD,KAAKwU,EAAQoe,GALzCgyB,EAAU,WAAW78C,IAAIoB,MAAM,2EAa/Bo8C,EAAgB,SAASA,IAC3B/wC,EAAO5U,IAAI,iBAAkBylD,GAC7B7wC,EAAO5U,IAAI,QAAS0lD,GACpB9wC,EAAO5U,IAAI,UAAW2lD,IASpBC,EAAe,SAAsBC,GACvCF,IACAN,EAAWzwC,EAAQixC,IAGrBjxC,EAAOvyB,GAAG,QAASqjE,GACnB9wC,EAAOvyB,GAAG,UAAWsjE,GAIrB/wC,EAAOkxC,oBAAsBF,GAS3BE,EAAsB,SAA6B5yC,GACrDmyC,EAAW1jE,KAAMuxB,IAGnBrS,EAAQ,WAAailD,EACrBllD,EAAOC,QAAUA,EAAQ,Y,qBCnHzB,IAAIklD,EAAa5/D,OAAOI,QAAU,WAChC,SAASy/D,KACT,OAAO,SAAS9a,GACd,GAAyB,IAArB7/C,UAAU6G,OACZ,MAAM,IAAIoR,MAAM,kDAGlB,OADA0iD,EAAEzlD,UAAY2qC,EACP,IAAI8a,GAPmB,GAelC,SAASC,EAAaC,EAAW/tD,GAC/BxW,KAAKoC,KAAO,eACZpC,KAAKoW,KAAOmuD,EAAUnuD,KACtBpW,KAAKwW,QAAUA,GAAW+tD,EAAU/tD,QAkBtC,SAASguD,EAAeC,GAEtB,SAASC,EAAej7D,EAAG4nB,EAAGujB,EAAG+vB,GAC/B,OAAiB,MAAL,EAAJl7D,GAA0B,IAAL,EAAJ4nB,IAAmB,EAAJujB,IAAc,EAAJ+vB,GAAS,IAG7D,IAAItzC,EAAIozC,EAAMxhD,MAAM,oCACpB,OAAKoO,EAIDA,EAAE,GAEGqzC,EAAerzC,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAGtkB,QAAQ,IAAK,IAAKskB,EAAE,IAClDA,EAAE,GAAK,GAGTqzC,EAAerzC,EAAE,GAAIA,EAAE,GAAI,EAAIA,EAAE,IAGjCqzC,EAAe,EAAGrzC,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAZhC,KAkBX,SAASuzC,IACP5kE,KAAKiqD,OAASma,EAAW,MAwD3B,SAASS,EAAaJ,EAAO5hE,EAAUiiE,EAAeC,GACpD,IAAIC,EAASD,EAAaN,EAAM3kD,MAAMilD,GAAc,CAACN,GACrD,IAAK,IAAIt6D,KAAK66D,EACZ,GAAyB,kBAAdA,EAAO76D,GAAlB,CAGA,IAAI86D,EAAKD,EAAO76D,GAAG2V,MAAMglD,GACzB,GAAkB,IAAdG,EAAG10D,OAAP,CAGA,IAAIqc,EAAIq4C,EAAG,GACPzc,EAAIyc,EAAG,GACXpiE,EAAS+pB,EAAG47B,KAIhB,SAAS0c,EAAST,EAAO3lC,EAAKqmC,GAE5B,IAAIC,EAASX,EAEb,SAASY,IACP,IAAIC,EAAKd,EAAeC,GACxB,GAAW,OAAPa,EACF,MAAM,IAAIhB,EAAaA,EAAaiB,OAAOC,aACrB,wBAA0BJ,GAIlD,OADAX,EAAQA,EAAM13D,QAAQ,iBAAkB,IACjCu4D,EAIT,SAASG,EAAmBhB,EAAO3lC,GACjC,IAAI4K,EAAW,IAAIk7B,EAEnBC,EAAaJ,GAAO,SAAU73C,EAAG47B,GAC/B,OAAQ57B,GACR,IAAK,SAEH,IAAK,IAAIziB,EAAIg7D,EAAW50D,OAAS,EAAGpG,GAAK,EAAGA,IAC1C,GAAIg7D,EAAWh7D,GAAGhH,KAAOqlD,EAAG,CAC1B9e,EAAShoB,IAAIkL,EAAGu4C,EAAWh7D,GAAGu7D,QAC9B,MAGJ,MACF,IAAK,WACHh8B,EAASi8B,IAAI/4C,EAAG47B,EAAG,CAAC,KAAM,OAC1B,MACF,IAAK,OACH,IAAIod,EAAOpd,EAAE1oC,MAAM,KACf+lD,EAAQD,EAAK,GACjBl8B,EAASo8B,QAAQl5C,EAAGi5C,GACpBn8B,EAASmU,QAAQjxB,EAAGi5C,IAASn8B,EAAShoB,IAAI,eAAe,GACzDgoB,EAASi8B,IAAI/4C,EAAGi5C,EAAO,CAAC,SACJ,IAAhBD,EAAKr1D,QACPm5B,EAASi8B,IAAI,YAAaC,EAAK,GAAI,CAAC,QAAS,SAAU,QAEzD,MACF,IAAK,WACHA,EAAOpd,EAAE1oC,MAAM,KACf4pB,EAASmU,QAAQjxB,EAAGg5C,EAAK,IACL,IAAhBA,EAAKr1D,QACPm5B,EAASi8B,IAAI,gBAAiBC,EAAK,GAAI,CAAC,QAAS,SAAU,QAE7D,MACF,IAAK,OACHl8B,EAASmU,QAAQjxB,EAAG47B,GACpB,MACF,IAAK,QACH9e,EAASi8B,IAAI/4C,EAAG47B,EAAG,CAAC,QAAS,SAAU,MAAO,OAAQ,UACtD,SAED,IAAK,MAGR1pB,EAAI4mC,OAASh8B,EAASz0B,IAAI,SAAU,MACpC6pB,EAAIt5B,SAAWkkC,EAASz0B,IAAI,WAAY,IACxC6pB,EAAIinC,KAAOr8B,EAASz0B,IAAI,OAAQ,QAChC6pB,EAAIknC,UAAYt8B,EAASz0B,IAAI,YAAa,SAC1C6pB,EAAImnC,YAAcv8B,EAASz0B,IAAI,eAAe,GAC9C6pB,EAAIr4B,KAAOijC,EAASz0B,IAAI,OAAQ,KAChC6pB,EAAIonC,MAAQx8B,EAASz0B,IAAI,QAAS,UAClC6pB,EAAIhzB,SAAW49B,EAASz0B,IAAI,WAAY,CACtCuoB,MAAO,EACP50B,KAAM,EACNG,OAAQ,GACRG,IAAK,IACLJ,MAAO,KACNg2B,EAAIonC,OACPpnC,EAAIqnC,cAAgBz8B,EAASz0B,IAAI,gBAAiB,CAChDuoB,MAAO,QACP50B,KAAM,QACNG,OAAQ,SACRG,IAAK,MACLJ,MAAO,OACNg2B,EAAIonC,OAGT,SAASE,IACP3B,EAAQA,EAAM13D,QAAQ,OAAQ,IAOhC,GAHAq5D,IACAtnC,EAAIC,UAAYsmC,IAChBe,IAC2B,WAAvB3B,EAAM4B,OAAO,EAAG,GAClB,MAAM,IAAI/B,EAAaA,EAAaiB,OAAOC,aACpB,qEACAJ,GAEzBX,EAAQA,EAAM4B,OAAO,GACrBD,IACAtnC,EAAIE,QAAUqmC,IAGde,IACAX,EAAmBhB,EAAO3lC,GAzN5BwlC,EAAa1lD,UAAYwlD,EAAWziD,MAAM/C,WAC1C0lD,EAAa1lD,UAAU+F,YAAc2/C,EAGrCA,EAAaiB,OAAS,CACpBe,aAAc,CACZlwD,KAAM,EACNI,QAAS,+BAEXgvD,aAAc,CACZpvD,KAAM,EACNI,QAAS,0BAmCbouD,EAAShmD,UAAY,CAEnB8C,IAAK,SAASkL,EAAG47B,GACVxoD,KAAKiV,IAAI2X,IAAY,KAAN47B,IAClBxoD,KAAKiqD,OAAOr9B,GAAK47B,IAQrBvzC,IAAK,SAAS2X,EAAG25C,EAAMC,GACrB,OAAIA,EACKxmE,KAAK8rB,IAAIc,GAAK5sB,KAAKiqD,OAAOr9B,GAAK25C,EAAKC,GAEtCxmE,KAAK8rB,IAAIc,GAAK5sB,KAAKiqD,OAAOr9B,GAAK25C,GAGxCz6C,IAAK,SAASc,GACZ,OAAOA,KAAK5sB,KAAKiqD,QAGnB0b,IAAK,SAAS/4C,EAAG47B,EAAGthC,GAClB,IAAK,IAAIoK,EAAI,EAAGA,EAAIpK,EAAE3W,SAAU+gB,EAC9B,GAAIk3B,IAAMthC,EAAEoK,GAAI,CACdtxB,KAAK0hB,IAAIkL,EAAG47B,GACZ,QAKNsd,QAAS,SAASl5C,EAAG47B,GACf,UAAU57C,KAAK47C,IACjBxoD,KAAK0hB,IAAIkL,EAAG2N,SAASiuB,EAAG,MAI5B3K,QAAS,SAASjxB,EAAG47B,GAEnB,SAASA,EAAEvlC,MAAM,8BACfulC,EAAI9lC,WAAW8lC,GACXA,GAAK,GAAKA,GAAK,QACjBxoD,KAAK0hB,IAAIkL,EAAG47B,IACL,KAkIf,IAAIie,EAAS,CACX,QAAS,IACT,OAAQ,IACR,OAAQ,IACR,QAAS,IACT,QAAS,IACT,SAAU,KAGRC,EAAW,CACbh7C,EAAG,OACHvhB,EAAG,IACHwyD,EAAG,IACHgK,EAAG,IACHC,KAAM,OACNC,GAAI,KACJre,EAAG,OACHse,KAAM,QAGJC,EAAiB,CACnBve,EAAG,QACHse,KAAM,QAGJE,EAAe,CACjBH,GAAI,QAIN,SAASI,EAAaz7D,EAAQi5D,GAC5B,SAASyC,IAEP,IAAKzC,EACH,OAAO,KAIT,SAAS0C,EAAQrvD,GAEf,OADA2sD,EAAQA,EAAM4B,OAAOvuD,EAAOvH,QACrBuH,EAGT,IAAIuZ,EAAIozC,EAAMxhD,MAAM,uBAGpB,OAAOkkD,EAAQ91C,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAIjC,SAAS+1C,EAAU78D,GACjB,OAAOk8D,EAAOl8D,GAEhB,SAAS88D,EAASzyB,GAChB,MAAQvjB,EAAIujB,EAAE3xB,MAAM,8BAClB2xB,EAAIA,EAAE7nC,QAAQskB,EAAE,GAAI+1C,GAEtB,OAAOxyB,EAGT,SAAS0yB,EAAUnI,EAASn0C,GAC1B,OAAQg8C,EAAah8C,EAAQu8C,YACtBP,EAAah8C,EAAQu8C,aAAepI,EAAQoI,UAIrD,SAASljD,EAAc3gB,EAAM8jE,GAC3B,IAAIz9C,EAAU28C,EAAShjE,GACvB,IAAKqmB,EACH,OAAO,KAET,IAAIiB,EAAUxf,EAAOI,SAASyY,cAAc0F,GAC5CiB,EAAQu8C,UAAYx9C,EACpB,IAAI3nB,EAAO2kE,EAAerjE,GAI1B,OAHItB,GAAQolE,IACVx8C,EAAQ5oB,GAAQolE,EAAW3nD,QAEtBmL,EAGT,IAEI2G,EAFA81C,EAAUj8D,EAAOI,SAASyY,cAAc,OACxC86C,EAAUsI,EAEVC,EAAW,GAEf,MAA6B,QAArB/1C,EAAIu1C,KACV,GAAa,MAATv1C,EAAE,GA+CNwtC,EAAQr0C,YAAYtf,EAAOI,SAASwiB,eAAei5C,EAAS11C,SA/C5D,CACE,GAAa,MAATA,EAAE,GAAY,CAEZ+1C,EAASn3D,QACTm3D,EAASA,EAASn3D,OAAS,KAAOohB,EAAE00C,OAAO,GAAGt5D,QAAQ,IAAK,MAC7D26D,EAAS/kD,MACTw8C,EAAUA,EAAQxyC,YAGpB,SAEF,IACI0B,EADAi3C,EAAKd,EAAe7yC,EAAE00C,OAAO,EAAG10C,EAAEphB,OAAS,IAE/C,GAAI+0D,EAAI,CAENj3C,EAAO7iB,EAAOI,SAAS+7D,4BAA4B,YAAarC,GAChEnG,EAAQr0C,YAAYuD,GACpB,SAEF,IAAIgD,EAAIM,EAAE1O,MAAM,oDAEhB,IAAKoO,EACH,SAIF,GADAhD,EAAOhK,EAAcgN,EAAE,GAAIA,EAAE,KACxBhD,EACH,SAIF,IAAKi5C,EAAUnI,EAAS9wC,GACtB,SAGEgD,EAAE,KACJhD,EAAKhF,UAAYgI,EAAE,GAAGg1C,OAAO,GAAGt5D,QAAQ,IAAK,MAI/C26D,EAAS90D,KAAKye,EAAE,IAChB8tC,EAAQr0C,YAAYuD,GACpB8wC,EAAU9wC,EAQd,OAAOo5C,EAQT,IAAIG,EAAkB,CAAC,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAC9E,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAQ,MACzD,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAC/D,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAC/D,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAC/D,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAS,OAAU,CAAC,MAAS,OAClE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,QAAU,UAExE,SAASC,EAAgB/2C,GACvB,IAAK,IAAI3mB,EAAI,EAAGA,EAAIy9D,EAAgBr3D,OAAQpG,IAAK,CAC/C,IAAI29D,EAAeF,EAAgBz9D,GACnC,GAAI2mB,GAAYg3C,EAAa,IAAMh3C,GAAYg3C,EAAa,GAC1D,OAAO,EAIX,OAAO,EAGT,SAASC,EAAcrvB,GACrB,IAEI5nB,EAFAk3C,EAAY,GACZx9C,EAAO,GAGX,IAAKkuB,IAAWA,EAAOhgB,WACrB,MAAO,MAGT,SAASuvC,EAAUD,EAAW35C,GAC5B,IAAK,IAAIlkB,EAAIkkB,EAAKqK,WAAWnoB,OAAS,EAAGpG,GAAK,EAAGA,IAC/C69D,EAAUp1D,KAAKyb,EAAKqK,WAAWvuB,IAInC,SAAS+9D,EAAaF,GACpB,IAAKA,IAAcA,EAAUz3D,OAC3B,OAAO,KAGT,IAAI8d,EAAO25C,EAAUrlD,MACjB6H,EAAO6D,EAAKhE,aAAegE,EAAK5D,UACpC,GAAID,EAAM,CAGR,IAAI6G,EAAI7G,EAAKvH,MAAM,cACnB,OAAIoO,GACF22C,EAAUz3D,OAAS,EACZ8gB,EAAE,IAEJ7G,EAET,MAAqB,SAAjB6D,EAAKtE,QACAm+C,EAAaF,GAElB35C,EAAKqK,YACPuvC,EAAUD,EAAW35C,GACd65C,EAAaF,SAFtB,EAMFC,EAAUD,EAAWtvB,GACrB,MAAQluB,EAAO09C,EAAaF,GAC1B,IAAK,IAAI79D,EAAI,EAAGA,EAAIqgB,EAAKja,OAAQpG,IAE/B,GADA2mB,EAAWtG,EAAK29C,WAAWh+D,GACvB09D,EAAgB/2C,GAClB,MAAO,MAIb,MAAO,MAGT,SAASs3C,EAAetpC,GACtB,GAAwB,kBAAbA,EAAIinC,OACVjnC,EAAImnC,aAAgBnnC,EAAIinC,MAAQ,GAAKjnC,EAAIinC,MAAQ,KACpD,OAAOjnC,EAAIinC,KAEb,IAAKjnC,EAAIH,QAAUG,EAAIH,MAAM0pC,gBACxBvpC,EAAIH,MAAM0pC,cAAcC,aAC3B,OAAQ,EAKV,IAHA,IAAI3pC,EAAQG,EAAIH,MACZiZ,EAAYjZ,EAAM0pC,cAClBE,EAAQ,EACHp+D,EAAI,EAAGA,EAAIytC,EAAUrnC,QAAUqnC,EAAUztC,KAAOw0B,EAAOx0B,IACpC,YAAtBytC,EAAUztC,GAAGy/B,MACf2+B,IAGJ,OAAkB,IAATA,EAGX,SAASC,KAoBT,SAASC,EAAYj9D,EAAQszB,EAAK4pC,GAChC,IAAIC,EAAQ,aAAe/7D,KAAKC,UAAUC,WACtCpC,EAAQ,yBACRmuC,EAAkB,qBAElB8vB,IACFj+D,EAAQ,qBACRmuC,EAAkB,gBAGpB2vB,EAAS/pD,KAAKze,MACdA,KAAK8+B,IAAMA,EAIX9+B,KAAK04C,OAASuuB,EAAaz7D,EAAQszB,EAAItU,MACvC,IAAIo+C,EAAS,CACXl+D,MAAOA,EACPmuC,gBAAiBA,EACjB/sC,SAAU,WACVlD,KAAM,EACNE,MAAO,EACPJ,IAAK,EACL2H,OAAQ,EACRw4D,QAAS,UAGNF,IACHC,EAAOE,YAA+B,KAAjBhqC,EAAIt5B,SAAkB,gBACiB,OAAjBs5B,EAAIt5B,SAAoB,cACA,cACnEojE,EAAOG,YAAc,aAEvB/oE,KAAKgpE,YAAYJ,EAAQ5oE,KAAK04C,QAK9B14C,KAAKonC,IAAM57B,EAAOI,SAASyY,cAAc,OACzCukD,EAAS,CACPK,UAAyB,WAAdnqC,EAAIonC,MAAqB,SAAWpnC,EAAIonC,MACnDgD,KAAMR,EAAaQ,KACnBC,WAAY,WACZr9D,SAAU,YAGP68D,IACHC,EAAOQ,UAAYrB,EAAc/nE,KAAK04C,QACtCkwB,EAAOE,YAA+B,KAAjBhqC,EAAIt5B,SAAkB,gBACiB,OAAjBs5B,EAAIt5B,SAAoB,cACA,cACnE6jE,kBAAqB,aAGvBrpE,KAAKgpE,YAAYJ,GAEjB5oE,KAAKonC,IAAItc,YAAY9qB,KAAK04C,QAK1B,IAAI4wB,EAAU,EACd,OAAQxqC,EAAIqnC,eACZ,IAAK,QACHmD,EAAUxqC,EAAIhzB,SACd,MACF,IAAK,SACHw9D,EAAUxqC,EAAIhzB,SAAYgzB,EAAIr4B,KAAO,EACrC,MACF,IAAK,MACH6iE,EAAUxqC,EAAIhzB,SAAWgzB,EAAIr4B,KAC7B,MAMmB,KAAjBq4B,EAAIt5B,SACNxF,KAAKgpE,YAAY,CACfpgE,KAAO5I,KAAKupE,YAAYD,EAAS,KACjC5iE,MAAO1G,KAAKupE,YAAYzqC,EAAIr4B,KAAM,OAMpCzG,KAAKgpE,YAAY,CACftgE,IAAK1I,KAAKupE,YAAYD,EAAS,KAC/B3nE,OAAQ3B,KAAKupE,YAAYzqC,EAAIr4B,KAAM,OAIvCzG,KAAKwpE,KAAO,SAAS18C,GACnB9sB,KAAKgpE,YAAY,CACftgE,IAAK1I,KAAKupE,YAAYz8C,EAAIpkB,IAAK,MAC/B2H,OAAQrQ,KAAKupE,YAAYz8C,EAAIzc,OAAQ,MACrCzH,KAAM5I,KAAKupE,YAAYz8C,EAAIlkB,KAAM,MACjCE,MAAO9I,KAAKupE,YAAYz8C,EAAIhkB,MAAO,MACnCnH,OAAQ3B,KAAKupE,YAAYz8C,EAAInrB,OAAQ,MACrC+E,MAAO1G,KAAKupE,YAAYz8C,EAAIpmB,MAAO,SAUzC,SAAS+iE,EAAYvlE,GACnB,IAMIwlE,EAAI/nE,EAAQ+E,EAAOgC,EANnBigE,EAAQ,aAAe/7D,KAAKC,UAAUC,WAO1C,GAAI5I,EAAIkjC,IAAK,CACXzlC,EAASuC,EAAIkjC,IAAI/sB,aACjB3T,EAAQxC,EAAIkjC,IAAI5Z,YAChB9kB,EAAMxE,EAAIkjC,IAAIuiC,UAEd,IAAIC,GAASA,EAAQ1lE,EAAIkjC,IAAI1O,cAAgBkxC,EAAQA,EAAM,KAC/CA,EAAMC,gBAAkBD,EAAMC,iBAC1C3lE,EAAMA,EAAIkjC,IAAIr/B,wBAKd2hE,EAAKE,EAAQzgE,KAAKjD,IAAK0jE,EAAM,IAAMA,EAAM,GAAGjoE,QAAW,EAAGuC,EAAIvC,OAASioE,EAAMr5D,QAChE,EAGfvQ,KAAK4I,KAAO1E,EAAI0E,KAChB5I,KAAK8I,MAAQ5E,EAAI4E,MACjB9I,KAAK0I,IAAMxE,EAAIwE,KAAOA,EACtB1I,KAAK2B,OAASuC,EAAIvC,QAAUA,EAC5B3B,KAAKqQ,OAASnM,EAAImM,QAAW3H,GAAOxE,EAAIvC,QAAUA,GAClD3B,KAAK0G,MAAQxC,EAAIwC,OAASA,EAC1B1G,KAAK8pE,gBAAoB9jD,IAAP0jD,EAAmBA,EAAKxlE,EAAI4lE,WAE1CnB,IAAU3oE,KAAK8pE,aACjB9pE,KAAK8pE,WAAa,IAuHtB,SAASC,EAAsBv+D,EAAQw+D,EAAUC,EAAcC,GAO7D,SAASC,EAAiBxN,EAAGyN,GAK3B,IAJA,IAAIC,EACAC,EAAoB,IAAIb,EAAY9M,GACpCxf,EAAa,EAERhzC,EAAI,EAAGA,EAAIigE,EAAK75D,OAAQpG,IAAK,CACpC,MAAOwyD,EAAE4N,qBAAqBN,EAAcG,EAAKjgE,KACzCwyD,EAAE6N,OAAOP,IAAiBtN,EAAE8N,YAAYP,GAC9CvN,EAAE6M,KAAKY,EAAKjgE,IAId,GAAIwyD,EAAE6N,OAAOP,GACX,OAAOtN,EAET,IAAImE,EAAInE,EAAE+N,oBAAoBT,GAG1B9sB,EAAa2jB,IACfuJ,EAAe,IAAIZ,EAAY9M,GAC/Bxf,EAAa2jB,GAGfnE,EAAI,IAAI8M,EAAYa,GAEtB,OAAOD,GAAgBC,EAGzB,IAAIK,EAAc,IAAIlB,EAAYO,GAC9BlrC,EAAMkrC,EAASlrC,IACf8rC,EAAUxC,EAAetpC,GACzBsrC,EAAO,GAGX,GAAItrC,EAAImnC,YAAa,CACnB,IAAIx/D,EACJ,OAAQq4B,EAAIt5B,UACZ,IAAK,GACH4kE,EAAO,CAAE,KAAM,MACf3jE,EAAO,SACP,MACF,IAAK,KACH2jE,EAAO,CAAE,KAAM,MACf3jE,EAAO,QACP,MACF,IAAK,KACH2jE,EAAO,CAAE,KAAM,MACf3jE,EAAO,QACP,MAGF,IAAIN,EAAOwkE,EAAYb,WACnBh+D,EAAW3F,EAAOgD,KAAKC,MAAMwhE,GAC7BC,EAAcZ,EAAaxjE,GAAQN,EACnC2kE,EAAcV,EAAK,GAKnBjhE,KAAK4hE,IAAIj/D,GAAY++D,IACvB/+D,EAAWA,EAAW,GAAK,EAAI,EAC/BA,GAAY3C,KAAK6hE,KAAKH,EAAc1kE,GAAQA,GAO1CykE,EAAU,IACZ9+D,GAA6B,KAAjBgzB,EAAIt5B,SAAkBykE,EAAatoE,OAASsoE,EAAavjE,MACrE0jE,EAAOA,EAAKnhE,WAKd0hE,EAAYnB,KAAKsB,EAAah/D,OAEzB,CAEL,IAAIm/D,EAAwBN,EAAYb,WAAaG,EAAatoE,OAAU,IAE5E,OAAQm9B,EAAIknC,WACZ,IAAK,SACH4E,GAAYK,EAAuB,EACnC,MACF,IAAK,MACHL,GAAWK,EACX,MAIF,OAAQnsC,EAAIt5B,UACZ,IAAK,GACHwkE,EAAShB,YAAY,CACnBtgE,IAAKshE,EAAST,YAAYqB,EAAS,OAErC,MACF,IAAK,KACHZ,EAAShB,YAAY,CACnBpgE,KAAMohE,EAAST,YAAYqB,EAAS,OAEtC,MACF,IAAK,KACHZ,EAAShB,YAAY,CACnBlgE,MAAOkhE,EAAST,YAAYqB,EAAS,OAEvC,MAGFR,EAAO,CAAE,KAAM,KAAM,KAAM,MAI3BO,EAAc,IAAIlB,EAAYO,GAGhC,IAAIK,EAAeF,EAAiBQ,EAAaP,GACjDJ,EAASR,KAAKa,EAAaa,kBAAkBjB,IAG/C,SAAS5hC,KAnZTmgC,EAAS5pD,UAAUoqD,YAAc,SAASJ,EAAQxhC,GAEhD,IAAK,IAAIxe,KADTwe,EAAMA,GAAOpnC,KAAKonC,IACDwhC,EACXA,EAAO9gD,eAAec,KACxBwe,EAAI3lC,MAAMmnB,GAAQggD,EAAOhgD,KAK/B4/C,EAAS5pD,UAAU2qD,YAAc,SAASn/C,EAAK+gD,GAC7C,OAAe,IAAR/gD,EAAY,EAAIA,EAAM+gD,GA4G/B1C,EAAY7pD,UAAYwlD,EAAWoE,EAAS5pD,WAC5C6pD,EAAY7pD,UAAU+F,YAAc8jD,EA6CpCgB,EAAY7qD,UAAU4qD,KAAO,SAASY,EAAMgB,GAE1C,OADAA,OAAoBplD,IAAXolD,EAAuBA,EAASprE,KAAK8pE,WACtCM,GACR,IAAK,KACHpqE,KAAK4I,MAAQwiE,EACbprE,KAAK8I,OAASsiE,EACd,MACF,IAAK,KACHprE,KAAK4I,MAAQwiE,EACbprE,KAAK8I,OAASsiE,EACd,MACF,IAAK,KACHprE,KAAK0I,KAAO0iE,EACZprE,KAAKqQ,QAAU+6D,EACf,MACF,IAAK,KACHprE,KAAK0I,KAAO0iE,EACZprE,KAAKqQ,QAAU+6D,EACf,QAKJ3B,EAAY7qD,UAAUysD,SAAW,SAASC,GACxC,OAAOtrE,KAAK4I,KAAO0iE,EAAGxiE,OACf9I,KAAK8I,MAAQwiE,EAAG1iE,MAChB5I,KAAK0I,IAAM4iE,EAAGj7D,QACdrQ,KAAKqQ,OAASi7D,EAAG5iE,KAI1B+gE,EAAY7qD,UAAU6rD,YAAc,SAASc,GAC3C,IAAK,IAAIphE,EAAI,EAAGA,EAAIohE,EAAMh7D,OAAQpG,IAChC,GAAInK,KAAKqrE,SAASE,EAAMphE,IACtB,OAAO,EAGX,OAAO,GAITs/D,EAAY7qD,UAAU4rD,OAAS,SAASgB,GACtC,OAAOxrE,KAAK0I,KAAO8iE,EAAU9iE,KACtB1I,KAAKqQ,QAAUm7D,EAAUn7D,QACzBrQ,KAAK4I,MAAQ4iE,EAAU5iE,MACvB5I,KAAK8I,OAAS0iE,EAAU1iE,OAOjC2gE,EAAY7qD,UAAU2rD,qBAAuB,SAASiB,EAAWpB,GAC/D,OAAQA,GACR,IAAK,KACH,OAAOpqE,KAAK4I,KAAO4iE,EAAU5iE,KAC/B,IAAK,KACH,OAAO5I,KAAK8I,MAAQ0iE,EAAU1iE,MAChC,IAAK,KACH,OAAO9I,KAAK0I,IAAM8iE,EAAU9iE,IAC9B,IAAK,KACH,OAAO1I,KAAKqQ,OAASm7D,EAAUn7D,SAMnCo5D,EAAY7qD,UAAU8rD,oBAAsB,SAASY,GACnD,IAAInkD,EAAIhe,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAIhG,KAAK8I,MAAOwiE,EAAGxiE,OAASK,KAAKjD,IAAIlG,KAAK4I,KAAM0iE,EAAG1iE,OACxEmlB,EAAI5kB,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAIhG,KAAKqQ,OAAQi7D,EAAGj7D,QAAUlH,KAAKjD,IAAIlG,KAAK0I,IAAK4iE,EAAG5iE,MACzE+iE,EAAgBtkD,EAAI4G,EACxB,OAAO09C,GAAiBzrE,KAAK2B,OAAS3B,KAAK0G,QAO7C+iE,EAAY7qD,UAAUssD,kBAAoB,SAASQ,GACjD,MAAO,CACLhjE,IAAK1I,KAAK0I,IAAMgjE,EAAUhjE,IAC1B2H,OAAQq7D,EAAUr7D,OAASrQ,KAAKqQ,OAChCzH,KAAM5I,KAAK4I,KAAO8iE,EAAU9iE,KAC5BE,MAAO4iE,EAAU5iE,MAAQ9I,KAAK8I,MAC9BnH,OAAQ3B,KAAK2B,OACb+E,MAAO1G,KAAK0G,QAMhB+iE,EAAYkC,qBAAuB,SAASznE,GAC1C,IAAIvC,EAASuC,EAAIkjC,IAAMljC,EAAIkjC,IAAI/sB,aAAenW,EAAI6lB,QAAU7lB,EAAImW,aAAe,EAC3E3T,EAAQxC,EAAIkjC,IAAMljC,EAAIkjC,IAAI5Z,YAActpB,EAAI6lB,QAAU7lB,EAAIspB,YAAc,EACxE9kB,EAAMxE,EAAIkjC,IAAMljC,EAAIkjC,IAAIuiC,UAAYzlE,EAAI6lB,QAAU7lB,EAAIylE,UAAY,EAEtEzlE,EAAMA,EAAIkjC,IAAMljC,EAAIkjC,IAAIr/B,wBACV7D,EAAI6lB,QAAU7lB,EAAI6D,wBAA0B7D,EAC1D,IAAI6zB,EAAM,CACRnvB,KAAM1E,EAAI0E,KACVE,MAAO5E,EAAI4E,MACXJ,IAAKxE,EAAIwE,KAAOA,EAChB/G,OAAQuC,EAAIvC,QAAUA,EACtB0O,OAAQnM,EAAImM,QAAW3H,GAAOxE,EAAIvC,QAAUA,GAC5C+E,MAAOxC,EAAIwC,OAASA,GAEtB,OAAOqxB,GA0ITsQ,EAAOG,cAAgB,WACrB,MAAO,CACLojC,OAAQ,SAASxlE,GACf,IAAKA,EACH,MAAO,GAET,GAAoB,kBAATA,EACT,MAAM,IAAIub,MAAM,iCAElB,OAAOkqD,mBAAmBC,mBAAmB1lE,OAKnDiiC,EAAO0jC,oBAAsB,SAASvgE,EAAQwgE,GAC5C,OAAKxgE,GAAWwgE,EAGT/E,EAAaz7D,EAAQwgE,GAFnB,MAKX,IAAIC,EAAoB,IACpBC,EAAa,aACbC,EAAyB,OAK7B9jC,EAAO8P,YAAc,SAAS3sC,EAAQqzB,EAAMutC,GAC1C,IAAK5gE,IAAWqzB,IAASutC,EACvB,OAAO,KAIT,MAAOA,EAAQxhD,WACbwhD,EAAQl+C,YAAYk+C,EAAQxhD,YAG9B,IAAIyhD,EAAgB7gE,EAAOI,SAASyY,cAAc,OAYlD,SAASioD,EAAcztC,GACrB,IAAK,IAAI10B,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAC/B,GAAI00B,EAAK10B,GAAGoiE,eAAiB1tC,EAAK10B,GAAGwuC,aACnC,OAAO,EAGX,OAAO,EAIT,GArBA0zB,EAAc5qE,MAAMqK,SAAW,WAC/BugE,EAAc5qE,MAAMmH,KAAO,IAC3ByjE,EAAc5qE,MAAMqH,MAAQ,IAC5BujE,EAAc5qE,MAAMiH,IAAM,IAC1B2jE,EAAc5qE,MAAM4O,OAAS,IAC7Bg8D,EAAc5qE,MAAMwY,OAASkyD,EAC7BC,EAAQthD,YAAYuhD,GAefC,EAAcztC,GAAnB,CAOA,IAAIqrC,EAAe,GACfD,EAAeR,EAAYkC,qBAAqBU,GAChDjzB,EAAWjwC,KAAKC,MAAM6gE,EAAatoE,OAASsqE,EAAoB,KAAO,IACvEvD,EAAe,CACjBQ,KAAM9vB,EAAW,MAAQ8yB,IAG3B,WAGE,IAFA,IAAIlC,EAAUlrC,EAEL30B,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAC/B20B,EAAMD,EAAK10B,GAGX6/D,EAAW,IAAIvB,EAAYj9D,EAAQszB,EAAK4pC,GACxC2D,EAAcvhD,YAAYk/C,EAAS5iC,KAGnC2iC,EAAsBv+D,EAAQw+D,EAAUC,EAAcC,GAItDprC,EAAI6Z,aAAeqxB,EAAS5iC,IAE5B8iC,EAAat3D,KAAK62D,EAAYkC,qBAAqB3B,KAjBvD,QAbE,IAAK,IAAI7/D,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAC/BkiE,EAAcvhD,YAAY+T,EAAK10B,GAAGwuC,eAkCxCtQ,EAAOC,OAAS,SAAS98B,EAAQ+8B,EAAOikC,GACjCA,IACHA,EAAUjkC,EACVA,EAAQ,IAELA,IACHA,EAAQ,IAGVvoC,KAAKwL,OAASA,EACdxL,KAAKuoC,MAAQA,EACbvoC,KAAKmZ,MAAQ,UACbnZ,KAAKysE,OAAS,GACdzsE,KAAKwsE,QAAUA,GAAW,IAAIE,YAAY,QAC1C1sE,KAAKmlE,WAAa,IAGpB98B,EAAOC,OAAO1pB,UAAY,CAGxB+tD,mBAAoB,SAASpiE,GAC3B,KAAIA,aAAa+5D,GAGf,MAAM/5D,EAFNvK,KAAK2oC,gBAAkB3oC,KAAK2oC,eAAep+B,IAK/Cs+B,MAAO,SAAUziC,GACf,IAAImf,EAAOvlB,KAUX,SAAS4sE,IACP,IAAIH,EAASlnD,EAAKknD,OACdI,EAAM,EACV,MAAOA,EAAMJ,EAAOl8D,QAA0B,OAAhBk8D,EAAOI,IAAiC,OAAhBJ,EAAOI,KACzDA,EAEJ,IAAI9G,EAAO0G,EAAOpG,OAAO,EAAGwG,GAS5B,MAPoB,OAAhBJ,EAAOI,MACPA,EAEgB,OAAhBJ,EAAOI,MACPA,EAEJtnD,EAAKknD,OAASA,EAAOpG,OAAOwG,GACrB9G,EAIT,SAAS+G,EAAYrI,GACnB,IAAI/6B,EAAW,IAAIk7B,EAsCnB,GApCAC,EAAaJ,GAAO,SAAU73C,EAAG47B,GAC/B,OAAQ57B,GACR,IAAK,KACH8c,EAAShoB,IAAIkL,EAAG47B,GAChB,MACF,IAAK,QACH9e,EAASmU,QAAQjxB,EAAG47B,GACpB,MACF,IAAK,QACH9e,EAASo8B,QAAQl5C,EAAG47B,GACpB,MACF,IAAK,eACL,IAAK,iBACH,IAAIukB,EAAKvkB,EAAE1oC,MAAM,KACjB,GAAkB,IAAditD,EAAGx8D,OACL,MAIF,IAAIy8D,EAAS,IAAIpI,EAGjB,GAFAoI,EAAOnvB,QAAQ,IAAKkvB,EAAG,IACvBC,EAAOnvB,QAAQ,IAAKkvB,EAAG,KAClBC,EAAOlhD,IAAI,OAASkhD,EAAOlhD,IAAI,KAClC,MAEF4d,EAAShoB,IAAIkL,EAAI,IAAKogD,EAAO/3D,IAAI,MACjCy0B,EAAShoB,IAAIkL,EAAI,IAAKogD,EAAO/3D,IAAI,MACjC,MACF,IAAK,SACHy0B,EAASi8B,IAAI/4C,EAAG47B,EAAG,CAAC,OACpB,SAED,IAAK,MAIJ9e,EAAS5d,IAAI,MAAO,CACtB,IAAI45C,EAAS,IAAKngD,EAAKgjB,MAAMvnB,WAAauE,EAAK/Z,OAAOwV,WACtD0kD,EAAOh/D,MAAQgjC,EAASz0B,IAAI,QAAS,KACrCywD,EAAOuH,MAAQvjC,EAASz0B,IAAI,QAAS,GACrCywD,EAAOwH,cAAgBxjC,EAASz0B,IAAI,gBAAiB,GACrDywD,EAAOyH,cAAgBzjC,EAASz0B,IAAI,gBAAiB,KACrDywD,EAAO0H,gBAAkB1jC,EAASz0B,IAAI,kBAAmB,GACzDywD,EAAO2H,gBAAkB3jC,EAASz0B,IAAI,kBAAmB,KACzDywD,EAAO7kD,OAAS6oB,EAASz0B,IAAI,SAAU,IAEvCsQ,EAAK+nD,UAAY/nD,EAAK+nD,SAAS5H,GAG/BngD,EAAK4/C,WAAWvyD,KAAK,CACnBzP,GAAIumC,EAASz0B,IAAI,MACjBywD,OAAQA,KAQd,SAAS6H,EAAkB9I,GACzB,IAAI/6B,EAAW,IAAIk7B,EAEnBC,EAAaJ,GAAO,SAAS73C,EAAG47B,GAC9B,OAAO57B,GACP,IAAK,QACH8c,EAASo8B,QAAQl5C,EAAI,IAAK47B,GAC1B,MACF,IAAK,OACH9e,EAAShoB,IAAIkL,EAAI,IAAK43C,EAAehc,IACrC,SAED,SAAU,KAEbjjC,EAAKioD,gBAAkBjoD,EAAKioD,eAAe,CACzC,OAAU9jC,EAASz0B,IAAI,UACvB,MAASy0B,EAASz0B,IAAI,WAK1B,SAASw4D,EAAYhJ,GACfA,EAAMxhD,MAAM,mBAEd4hD,EAAaJ,GAAO,SAAS73C,EAAG47B,GAC9B,OAAO57B,GACP,IAAK,kBACH2gD,EAAkB/kB,GAClB,SAED,KAEHqc,EAAaJ,GAAO,SAAU73C,EAAG47B,GAC/B,OAAQ57B,GACR,IAAK,SAEHkgD,EAAYtkB,GACZ,SAED,KA7HHpiD,IAEFmf,EAAKknD,QAAUlnD,EAAKinD,QAAQZ,OAAOxlE,EAAM,CAACsnE,QAAQ,KAiIpD,IACE,IAAI3H,EACJ,GAAmB,YAAfxgD,EAAKpM,MAAqB,CAE5B,IAAK,UAAUvM,KAAK2Y,EAAKknD,QACvB,OAAOzsE,KAGT+lE,EAAO6G,IAEP,IAAIv7C,EAAI00C,EAAK9iD,MAAM,sBACnB,IAAKoO,IAAMA,EAAE,GACX,MAAM,IAAIizC,EAAaA,EAAaiB,OAAOe,cAG7C/gD,EAAKpM,MAAQ,SAGf,IAAIw0D,GAAuB,EAC3B,MAAOpoD,EAAKknD,OAAQ,CAElB,IAAK,UAAU7/D,KAAK2Y,EAAKknD,QACvB,OAAOzsE,KAST,OANK2tE,EAGHA,GAAuB,EAFvB5H,EAAO6G,IAKDrnD,EAAKpM,OACb,IAAK,SAEC,IAAIvM,KAAKm5D,GACX0H,EAAY1H,GACFA,IAEVxgD,EAAKpM,MAAQ,MAEf,SACF,IAAK,OAEE4sD,IACHxgD,EAAKpM,MAAQ,MAEf,SACF,IAAK,KAEH,GAAI,iBAAiBvM,KAAKm5D,GAAO,CAC/BxgD,EAAKpM,MAAQ,OACb,MAGF,IAAK4sD,EACH,SAKF,GAHAxgD,EAAKuZ,IAAM,IAAKvZ,EAAKgjB,MAAM+B,QAAU/kB,EAAK/Z,OAAO8+B,QAAQ,EAAG,EAAG,IAC/D/kB,EAAKpM,MAAQ,OAEgB,IAAzB4sD,EAAKpiE,QAAQ,UAAe,CAC9B4hB,EAAKuZ,IAAI37B,GAAK4iE,EACd,SAIJ,IAAK,MAEH,IACEb,EAASa,EAAMxgD,EAAKuZ,IAAKvZ,EAAK4/C,YAC9B,MAAO56D,GACPgb,EAAKonD,mBAAmBpiE,GAExBgb,EAAKuZ,IAAM,KACXvZ,EAAKpM,MAAQ,SACb,SAEFoM,EAAKpM,MAAQ,UACb,SACF,IAAK,UACH,IAAIy0D,GAAwC,IAAzB7H,EAAKpiE,QAAQ,UAKhC,IAAKoiE,GAAQ6H,IAAiBD,GAAuB,GAAO,CAE1DpoD,EAAKmjB,OAASnjB,EAAKmjB,MAAMnjB,EAAKuZ,KAC9BvZ,EAAKuZ,IAAM,KACXvZ,EAAKpM,MAAQ,KACb,SAEEoM,EAAKuZ,IAAItU,OACXjF,EAAKuZ,IAAItU,MAAQ,MAEnBjF,EAAKuZ,IAAItU,MAAQu7C,EACjB,SACF,IAAK,SAEEA,IACHxgD,EAAKpM,MAAQ,MAEf,WAGJ,MAAO5O,GACPgb,EAAKonD,mBAAmBpiE,GAGL,YAAfgb,EAAKpM,OAAuBoM,EAAKuZ,KAAOvZ,EAAKmjB,OAC/CnjB,EAAKmjB,MAAMnjB,EAAKuZ,KAElBvZ,EAAKuZ,IAAM,KAGXvZ,EAAKpM,MAAuB,YAAfoM,EAAKpM,MAAsB,YAAc,SAExD,OAAOnZ,MAETgf,MAAO,WACL,IAAIuG,EAAOvlB,KACX,IAWE,GATAulB,EAAKknD,QAAUlnD,EAAKinD,QAAQZ,UAExBrmD,EAAKuZ,KAAsB,WAAfvZ,EAAKpM,SACnBoM,EAAKknD,QAAU,OACflnD,EAAKsjB,SAKY,YAAftjB,EAAKpM,MACP,MAAM,IAAImrD,EAAaA,EAAaiB,OAAOe,cAE7C,MAAM/7D,GACNgb,EAAKonD,mBAAmBpiE,GAG1B,OADAgb,EAAKqjB,SAAWrjB,EAAKqjB,UACd5oC,OAIXif,EAAOC,QAAUmpB,G,2DC9yCjB,IAAIwlC,EAAc,EAAQ,QAEtBC,EAAe5K,EAAuB2K,GAEtCE,EAAe,EAAQ,QAEvBC,EAAgB9K,EAAuB6K,GAEvCE,EAAU,EAAQ,QAElBC,EAAWhL,EAAuB+K,GAEtC,SAAS/K,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF+a,EAAOC,QAAU,CACfivD,WAAYL,EAAa,WACzBM,YAAaJ,EAAc,WAC3B1lC,OAAQ4lC,EAAS,a,uBCnBnBjvD,EAAOC,QAAU,IAA0B,6B,oCCU3C,IAAImvD,EAASC,EAAWC,EAAWxvC,EAGnCsvC,EAAU,SAASjoE,EAAMqhC,GACvB,IACIt9B,EAAG1D,EAAM/C,EAAMwF,EAAKslE,EADpBC,EAAU,GAGd,IAAKhnC,EAAKl3B,OAER,OAAO,KAGT,IAAKpG,EAAI,EAAGA,EAAI/D,EAAKiZ,YACnB5Y,EAAQL,EAAK+D,IAAU,GACvB1D,GAAQL,EAAK+D,EAAI,IAAM,GACvB1D,GAAQL,EAAK+D,EAAI,IAAM,EACvB1D,GAAQL,EAAK+D,EAAI,GAEjBzG,EAAO4qE,EAAUloE,EAAKgZ,SAASjV,EAAI,EAAGA,EAAI,IAE1CjB,EAAMzC,EAAO,EAAI0D,EAAI1D,EAAOL,EAAKiZ,WAE7B3b,IAAS+jC,EAAK,KACI,IAAhBA,EAAKl3B,OAGPk+D,EAAQ77D,KAAKxM,EAAKgZ,SAASjV,EAAI,EAAGjB,KAGlCslE,EAAaH,EAAQjoE,EAAKgZ,SAASjV,EAAI,EAAGjB,GAAMu+B,EAAKhzB,MAAM,IACvD+5D,EAAWj+D,SACbk+D,EAAUA,EAAQrwD,OAAOowD,MAI/BrkE,EAAIjB,EAIN,OAAOulE,GAQTH,EAAY,SAAS7B,GACnB,IAAI30D,EAAS,GAKb,OAJAA,GAAUlS,OAAO8oE,aAAajC,EAAO,IACrC30D,GAAUlS,OAAO8oE,aAAajC,EAAO,IACrC30D,GAAUlS,OAAO8oE,aAAajC,EAAO,IACrC30D,GAAUlS,OAAO8oE,aAAajC,EAAO,IAC9B30D,GAqBTy2D,EAAY,SAAStwD,GACnB,IACEnG,EAAS,GACT62D,EAAQN,EAAQpwD,EAAM,CAAC,OAAQ,SAGjC,OAAO0wD,EAAM7oD,QAAO,SAAShO,EAAQ82D,GACnC,IAAIC,EAAMxsD,EAASha,EAAOlF,EAAI2rE,EAG9B,OADAD,EAAOR,EAAQO,EAAM,CAAC,SAAS,GAC1BC,GAGLxsD,EAAUwsD,EAAK,GACfxmE,EAAoB,IAAZga,EAAgB,GAAK,GAC7Blf,EAAK0rE,EAAKxmE,IAAc,GACnBwmE,EAAKxmE,EAAQ,IAAM,GACnBwmE,EAAKxmE,EAAQ,IAAO,EACpBwmE,EAAKxmE,EAAQ,GAElBymE,EAAOT,EAAQO,EAAM,CAAC,OAAQ,SAAS,GAClCE,GAGLzsD,EAAUysD,EAAK,GACfzmE,EAAoB,IAAZga,EAAgB,GAAK,GAC7BvK,EAAO3U,GAAM2rE,EAAKzmE,IAAc,GACnBymE,EAAKzmE,EAAQ,IAAM,GACnBymE,EAAKzmE,EAAQ,IAAO,EACpBymE,EAAKzmE,EAAQ,GACnByP,GARE,MAXA,OAoBRA,IAmBLinB,EAAY,SAASwvC,EAAWQ,GAC9B,IAAIC,EAAOC,EAAWn3D,EA6CtB,OA1CAk3D,EAAQX,EAAQU,EAAU,CAAC,OAAQ,SAGnCE,EAAY,GAAG7wD,OAAOM,MAAM,GAAIswD,EAAM3qE,KAAI,SAAS6qE,GACjD,OAAOb,EAAQa,EAAM,CAAC,SAAS7qE,KAAI,SAAS8qE,GAC1C,IAAIhsE,EAAIisE,EAAOC,EA+Bf,OA5BAlsE,EAAKgsE,EAAK,IAAM,GACXA,EAAK,IAAM,GACXA,EAAK,IAAM,EACXA,EAAK,GAEVC,EAAQb,EAAUprE,IAAO,IAGzBksE,EAAWhB,EAAQa,EAAM,CAAC,SAAS7qE,KAAI,SAASirE,GAC9C,IAAIjtD,EAASvK,EAcb,OAZAuK,EAAUitD,EAAK,GACfx3D,EAASw3D,EAAK,IAAM,GACXA,EAAK,IAAM,GACXA,EAAK,IAAO,EACZA,EAAK,GACG,IAAbjtD,IACFvK,GAAU3O,KAAKomE,IAAI,EAAG,IACtBz3D,GAAUw3D,EAAK,IAAO,GACZA,EAAK,IAAO,GACZA,EAAK,KAAQ,EACbA,EAAK,KAEVx3D,KACN,GACHu3D,EAAWA,GAAYr0B,IAGhBq0B,EAAWD,SAKtBt3D,EAAS3O,KAAKnD,IAAI0Y,MAAM,KAAMuwD,GACvBO,SAAS13D,GAAUA,EAAS,GAGrCmH,EAAOC,QAAU,CACfovD,UAAWA,EACXC,UAAWA,EACXxvC,UAAWA,I,oCCjLbv6B,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEnB,SAASo+C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,IAAIiuD,EAAO,EAAQ,QAEfC,EAAQ5M,EAAuB2M,GAE/BE,EAAe,EAAQ,QAEvBC,EAAgB9M,EAAuB6M,GAEvCE,EAAS,EAAQ,QAMjBC,EAAO,SAAcC,GACvB,OAAOA,GAAQ,IAAa,MAAPA,IAAkB,GAAY,SAAPA,IAAoB,EAAIA,IAAS,IAgB3EC,EAAU,SAAiBC,EAAWntE,EAAKotE,GAE7C,IAAIC,EAAc,IAAIC,WAAWH,EAAU5D,OAAQ4D,EAAUI,WAAYJ,EAAUhxD,YAAc,GAE7FqxD,EAAW,IAAIZ,EAAM,WAAW3rE,MAAMya,UAAUnK,MAAMgK,KAAKvb,IAG3DytE,EAAY,IAAIC,WAAWP,EAAUhxD,YACrCwxD,EAAc,IAAIL,WAAWG,EAAUlE,QAIvCqE,OAAQ9qD,EACR+qD,OAAQ/qD,EACRgrD,OAAQhrD,EACRirD,OAAQjrD,EACRkrD,OAAalrD,EACbmrD,OAAanrD,EACborD,OAAaprD,EACbqrD,OAAarrD,EAGbsrD,OAAStrD,EAWb,IAPA8qD,EAAQR,EAAW,GACnBS,EAAQT,EAAW,GACnBU,EAAQV,EAAW,GACnBW,EAAQX,EAAW,GAIdgB,EAAS,EAAGA,EAASf,EAAYhgE,OAAQ+gE,GAAU,EAGtDJ,EAAahB,EAAKK,EAAYe,IAC9BH,EAAajB,EAAKK,EAAYe,EAAS,IACvCF,EAAalB,EAAKK,EAAYe,EAAS,IACvCD,EAAanB,EAAKK,EAAYe,EAAS,IAGvCZ,EAASN,QAAQc,EAAYC,EAAYC,EAAYC,EAAYR,EAAaS,GAI9ET,EAAYS,GAAUpB,EAAKW,EAAYS,GAAUR,GACjDD,EAAYS,EAAS,GAAKpB,EAAKW,EAAYS,EAAS,GAAKP,GACzDF,EAAYS,EAAS,GAAKpB,EAAKW,EAAYS,EAAS,GAAKN,GACzDH,EAAYS,EAAS,GAAKpB,EAAKW,EAAYS,EAAS,GAAKL,GAGzDH,EAAQI,EACRH,EAAQI,EACRH,EAAQI,EACRH,EAAQI,EAGV,OAAOV,GAGTzxD,EAAQkxD,QAAUA,EAalB,IAAImB,EAAY,WACd,SAASA,EAAUlB,EAAWntE,EAAKotE,EAAYkB,GAC7C5B,EAAgB5vE,KAAMuxE,GAEtB,IAAIprE,EAAOorE,EAAUE,KACjBlB,EAAc,IAAIC,WAAWH,EAAU5D,QACvCkE,EAAY,IAAIC,WAAWP,EAAUhxD,YACrClV,EAAI,EAMR,IAJAnK,KAAK0xE,aAAe,IAAI1B,EAAc,WAGtChwE,KAAK0xE,aAAa9+D,KAAK5S,KAAK2xE,cAAcpB,EAAYnxD,SAASjV,EAAGA,EAAIhE,GAAOjD,EAAKotE,EAAYK,IACzFxmE,EAAIhE,EAAMgE,EAAIomE,EAAYhgE,OAAQpG,GAAKhE,EAC1CmqE,EAAa,IAAIsB,YAAY,CAAC1B,EAAKK,EAAYpmE,EAAI,IAAK+lE,EAAKK,EAAYpmE,EAAI,IAAK+lE,EAAKK,EAAYpmE,EAAI,IAAK+lE,EAAKK,EAAYpmE,EAAI,MACjInK,KAAK0xE,aAAa9+D,KAAK5S,KAAK2xE,cAAcpB,EAAYnxD,SAASjV,EAAGA,EAAIhE,GAAOjD,EAAKotE,EAAYK,IAGhG3wE,KAAK0xE,aAAa9+D,MAAK,WAErB4+D,EAAK,MAAM,EAAIvB,EAAO4B,OAAOlB,OA+BjC,OArBAlB,EAAa8B,EAAW,CAAC,CACvBruE,IAAK,gBAKLZ,MAAO,SAAuB+tE,EAAWntE,EAAKotE,EAAYK,GACxD,OAAO,WACL,IAAImB,EAAQ1B,EAAQC,EAAWntE,EAAKotE,GAEpCK,EAAUjvD,IAAIowD,EAAOzB,EAAUI,gBAGjC,CAAC,CACHvtE,IAAK,OACL+R,IAAK,WAEH,OAAO,SAIJs8D,EAnDO,GAsDhBryD,EAAQqyD,UAAYA,EACpBryD,EAAQ,WAAa,CACnBqyD,UAAWA,EACXnB,QAASA,I,qBCrLX,SAAS2B,EAAOn9B,GACd,OAAOA,EAAE7nC,QAAQ,YAAa,IAIhCkS,EAAOC,QAAU,SAAe8yD,GAI9B,IAHA,IAAIp9B,EAAI,GACJzqC,EAAI,EAEDA,EAAIT,UAAU6G,OAAQpG,IAC3ByqC,GAAKm9B,EAAMC,EAAG7nE,KAAOT,UAAUS,EAAI,IAAM,IAE3C,OAAOyqC,I,kCCZT,W,oCCMA,SAASsuB,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI8gE,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC6O,EAAkB,EAAQ,QAE1BC,EAAmBhP,EAAuB+O,GAE1C3gB,EAAO,aAOP6gB,EAAkB,SAAyBnoD,GAC7C,IAAI+a,EAAO/a,EAAW,WAAa,OAAS,cAM5C,OAJIA,EAAWooD,iBAAmBpoD,EAAWooD,gBAAgBzuE,QAAQ,yCAA2C,IAC9GohC,EAAO,aAGFA,GAYLstC,EAAc,SAAqBC,EAAeC,GACpDD,EAAcE,QACdF,EAAc51D,QAEV61D,GAAaA,EAAUE,uBACzBF,EAAUE,qBAAqB/1D,QAC/B61D,EAAUE,qBAAuB,OAIrCvzD,EAAQmzD,YAAcA,EAUtB,IAAIK,EAAe,SAAsBC,EAAgBJ,GAGvDA,EAAUE,qBAAuBE,EACjCA,EAAevnC,QAGjBlsB,EAAQwzD,aAAeA,EAgBvB,IAAIE,EAAiB,SAAwBlvE,EAAMgmC,GACjD,OAAO,WACL,IAAImpC,EAA2BnpC,EAASopC,eACpCR,EAAgBO,EAAyBnvE,GACzCqvE,EAAoBF,EAAyB3sC,KAC7CqsC,EAAY7oC,EAASspC,WAAWtvE,GAEhCuvE,EAAcV,EAAUU,cACxBC,EAAcX,EAAUW,YAAYD,GACpCE,EAAuBZ,EAAUE,qBAErCJ,EAAYC,EAAeC,GAEtBW,IAKAA,EAAYP,gBAYjBL,EAAcc,eAEdV,EAAaQ,EAAYP,eAAgBJ,IAbnCY,GAKFJ,EAAkBM,qBAY1Bn0D,EAAQ0zD,eAAiBA,EAezB,IAAIU,EAAiB,SAAwB5vE,EAAMgmC,GACjD,OAAO,WACL,IAAI6pC,EAA4B7pC,EAASopC,eACrCR,EAAgBiB,EAA0B7vE,GAC1CqvE,EAAoBQ,EAA0BrtC,KAC9CqsC,EAAY7oC,EAASspC,WAAWtvE,GAEhCuvE,EAAcV,EAAUU,cACxBC,EAAcX,EAAUW,YAAYD,GACpCE,EAAuBZ,EAAUE,qBAErCJ,EAAYC,EAAeC,GAEtBW,IAKAA,EAAYP,eAQbQ,IAAyBD,EAAYP,gBAQrCL,EAAc3zC,OAEhB2zC,EAAc3zC,MAAMs0C,GAItBX,EAAce,kBAEdX,EAAaQ,EAAYP,eAAgBJ,IAZvCG,EAAaQ,EAAYP,eAAgBJ,GARzCQ,EAAkBM,qBAwBxBn0D,EAAQo0D,eAAiBA,EACzB,IAAIE,EAAU,CAcZC,MAAO,SAAe/vE,EAAMgmC,GAC1B,OAAO,WACL,IAAI4oC,EAAgB5oC,EAASopC,eAAepvE,GACxC6uE,EAAY7oC,EAASspC,WAAWtvE,GAChCgwE,EAA2BhqC,EAASgqC,yBAExCrB,EAAYC,EAAeC,GAG3B,IAAIU,EAAcV,EAAUU,cACxBC,EAAcX,EAAUW,cACxB/vE,GAAM+vE,EAAYnrD,QAAO,SAAU4rD,GACrC,OAAOA,EAAM,cACZ,IAAMT,EAAY,IAAI/vE,GACrBywE,EAAerB,EAAUlzC,OAAOl8B,GAEpC,GAAI8vE,IAAgBW,EAApB,CAWA,IAAK,IAAIC,KAFTxQ,EAAU,WAAW78C,IAAImB,KAAK,oFAEV4qD,EAAUlzC,OAC5BkzC,EAAUlzC,OAAOw0C,GAASxvC,QAAUkuC,EAAUlzC,OAAOw0C,KAAaD,EAGpErB,EAAUe,sBAZRI,EAAyB,CACvBl9D,QAAS,2DA0BjBs9D,UAAW,SAAmBpwE,EAAMgmC,GAClC,OAAO,WACL,IAAI4oC,EAAgB5oC,EAASopC,eAAepvE,GACxC6uE,EAAY7oC,EAASspC,WAAWtvE,GAEpC2/D,EAAU,WAAW78C,IAAImB,KAAK,4EAE9B0qD,EAAYC,EAAeC,GAE3B,IAAI5zC,EAAQ4zC,EAAUU,cAElBt0C,IACFA,EAAMiL,KAAO,YAGf2oC,EAAUe,oBAKhBp0D,EAAQs0D,QAAUA,EAClB,IAAIO,EAAiB,CAYnBN,MAAO,SAAe/vE,EAAMivE,EAAgBjpC,GAC1C,GAAKipC,EAAL,CAKA,IAAIzzC,EAAOwK,EAASxK,KAChB80C,EAAiBtqC,EAASsqC,eAC1B1B,EAAgB5oC,EAASopC,eAAepvE,GAE5CivE,EAAejyE,GAAG,kBAAkB,WAClC,IAAIuzE,EAAQtB,EAAesB,QAE3B3B,EAAc4B,SAASD,EAAOD,KAIzB90C,EAAKiC,UAAY8yC,EAAME,SAA8B,SAAnBj1C,EAAKkwB,YAC1CkjB,EAAclnC,UAIlBunC,EAAejyE,GAAG,kBAAkB,WAClC4xE,EAAc4B,SAASvB,EAAesB,QAASD,GAG1C90C,EAAKiC,UACRmxC,EAAclnC,UAIlBunC,EAAejyE,GAAG,QAAS8yE,EAAQ9vE,GAAMA,EAAMgmC,MAajDoqC,UAAW,SAAmBpwE,EAAMivE,EAAgBjpC,GAClD,IAAIxK,EAAOwK,EAASxK,KAChB80C,EAAiBtqC,EAASsqC,eAC1B1B,EAAgB5oC,EAASopC,eAAepvE,GACxC6uE,EAAY7oC,EAASspC,WAAWtvE,GAEpCivE,EAAejyE,GAAG,kBAAkB,WAClC,IAAIuzE,EAAQtB,EAAesB,QAE3B3B,EAAc4B,SAASD,EAAOD,GAC9B1B,EAAc3zC,MAAM4zC,EAAUU,iBAIzB/zC,EAAKiC,UAAY8yC,EAAME,SAA8B,SAAnBj1C,EAAKkwB,YAC1CkjB,EAAclnC,UAIlBunC,EAAejyE,GAAG,kBAAkB,WAClC4xE,EAAc4B,SAASvB,EAAesB,QAASD,GAG1C90C,EAAKiC,UACRmxC,EAAclnC,UAIlBunC,EAAejyE,GAAG,QAAS8yE,EAAQ9vE,GAAMA,EAAMgmC,MAInDxqB,EAAQ60D,eAAiBA,EACzB,IAAIK,EAAa,CAUf,MAAS,SAAe1wE,EAAMgmC,GAC5B,IAAIE,EAAOF,EAASE,KAChByqC,EAAM3qC,EAAS2qC,IACf/B,EAAgB5oC,EAASopC,eAAepvE,GACxCswE,EAAiBtqC,EAASsqC,eAC1BM,EAAc5qC,EAAS6qC,OAAOD,YAC9BE,EAA4B9qC,EAASspC,WAAWtvE,GAChDshE,EAASwP,EAA0BxP,OACnC3lC,EAASm1C,EAA0Bn1C,OASvC,IAAK,IAAIo1C,KAJJH,EAAY5wE,IAAmD,IAA1Cc,OAAOC,KAAK6vE,EAAY5wE,IAAO6M,QAAyB,UAATq5B,IACvE0qC,EAAY5wE,GAAQ,CAAEwiC,KAAM,CAAE,QAAW,CAAE,SAAW,MAGpCouC,EAAY5wE,GAK9B,IAAK,IAAIgxE,KAJJ1P,EAAOyP,KACVzP,EAAOyP,GAAW,IAGKH,EAAY5wE,GAAM+wE,GAAU,CACnD,IAAIzqD,EAAasqD,EAAY5wE,GAAM+wE,GAASC,GACxC/B,OAAiB3sD,EAgBrB,GAbE2sD,EADE3oD,EAAW2qD,YACI,IAAIzC,EAAiB,WAAWloD,EAAW2qD,YAAaN,EAAKL,GAI7D,KAGnBhqD,EAAaq5C,EAAU,WAAW5sC,aAAa,CAAEtzB,GAAIuxE,EAAc/B,eAAgBA,GAAkB3oD,GAErG+pD,EAAerwE,GAAMA,EAAMsmB,EAAW2oD,eAAgBjpC,GAEtDs7B,EAAOyP,GAAS7hE,KAAKoX,GAEe,qBAAzBqV,EAAOq1C,GAA+B,CAC/C,IAAI/1C,EAAQ,IAAI0kC,EAAU,WAAW14B,WAAW,CAC9CxnC,GAAIuxE,EACJ3vC,KAAMotC,EAAgBnoD,GACtBqa,SAAS,EACT3M,SAAU1N,EAAW0N,SACrB,QAAW1N,EAAW,WACtB2W,MAAO+zC,IAGTr1C,EAAOq1C,GAAgB/1C,GAM7B2zC,EAAc5xE,GAAG,QAAS8yE,EAAQ9vE,GAAMA,EAAMgmC,KAWhD,UAAa,SAAmBhmC,EAAMgmC,GACpC,IAAIxK,EAAOwK,EAASxK,KAChBm1C,EAAM3qC,EAAS2qC,IACf/B,EAAgB5oC,EAASopC,eAAepvE,GACxCswE,EAAiBtqC,EAASsqC,eAC1BM,EAAc5qC,EAAS6qC,OAAOD,YAC9BM,EAA6BlrC,EAASspC,WAAWtvE,GACjDshE,EAAS4P,EAA2B5P,OACpC3lC,EAASu1C,EAA2Bv1C,OAExC,IAAK,IAAIo1C,KAAWH,EAAY5wE,GAK9B,IAAK,IAAIgxE,KAJJ1P,EAAOyP,KACVzP,EAAOyP,GAAW,IAGKH,EAAY5wE,GAAM+wE,GACzC,IAAIH,EAAY5wE,GAAM+wE,GAASC,GAAcG,OAA7C,CAYA,IAAI7qD,EAAasqD,EAAY5wE,GAAM+wE,GAASC,GAW5C,GATA1qD,EAAaq5C,EAAU,WAAW5sC,aAAa,CAC7CtzB,GAAIuxE,EACJ/B,eAAgB,IAAIT,EAAiB,WAAWloD,EAAW2qD,YAAaN,EAAKL,IAC5EhqD,GAEH+pD,EAAerwE,GAAMA,EAAMsmB,EAAW2oD,eAAgBjpC,GAEtDs7B,EAAOyP,GAAS7hE,KAAKoX,GAEe,qBAAzBqV,EAAOq1C,GAA+B,CAC/C,IAAI/1C,EAAQO,EAAKU,mBAAmB,CAClCz8B,GAAIuxE,EACJ3vC,KAAM,YACNV,SAAS,EACT3M,SAAU1N,EAAW0N,SACrBiJ,MAAO+zC,IACN,GAAO/1C,MAEVU,EAAOq1C,GAAgB/1C,GAM7B2zC,EAAc5xE,GAAG,QAAS8yE,EAAQ9vE,GAAMA,EAAMgmC,KAWhD,kBAAmB,SAAwBhmC,EAAMgmC,GAC/C,IAAIxK,EAAOwK,EAASxK,KAChBo1C,EAAc5qC,EAAS6qC,OAAOD,YAC9BQ,EAA6BprC,EAASspC,WAAWtvE,GACjDshE,EAAS8P,EAA2B9P,OACpC3lC,EAASy1C,EAA2Bz1C,OAExC,IAAK,IAAIo1C,KAAWH,EAAY5wE,GAK9B,IAAK,IAAIgxE,KAJJ1P,EAAOyP,KACVzP,EAAOyP,GAAW,IAGKH,EAAY5wE,GAAM+wE,GAAU,CACnD,IAAIzqD,EAAasqD,EAAY5wE,GAAM+wE,GAASC,GAI5C,GAAK1qD,EAAW+qD,WAAW9xD,MAAM,UAMjC+hD,EAAOyP,GAAS7hE,KAAKywD,EAAU,WAAW5sC,aAAa,CAAEtzB,GAAIuxE,GAAgB1qD,IAEzC,qBAAzBqV,EAAOq1C,IAA+B,CAC/C,IAAI/1C,EAAQO,EAAKU,mBAAmB,CAClCz8B,GAAI6mB,EAAW+qD,WACfhwC,KAAM,WACNV,SAAS,EACT3M,SAAU1N,EAAW0N,SACrBiJ,MAAO+zC,IACN,GAAO/1C,MAEVU,EAAOq1C,GAAgB/1C,MAOjCzf,EAAQk1D,WAAaA,EAerB,IAAIlB,EAAc,SAAqBxvE,EAAMgmC,GAC3C,OAAO,SAAU/K,GACf,IAAIq2C,EAAuBtrC,EAASsrC,qBAChChQ,EAASt7B,EAASspC,WAAWtvE,GAAMshE,OAEnCiP,EAAQe,EAAqBf,QAEjC,IAAKA,EACH,OAAO,KAGT,IAAIgB,EAAW,KAQf,OANIhB,EAAMhqD,WAAWvmB,KACnBuxE,EAAWjQ,EAAOiP,EAAMhqD,WAAWvmB,KAGrCuxE,EAAWA,GAAYjQ,EAAO9+B,KAET,qBAAVvH,EACFs2C,EAGK,OAAVt2C,EAGK,KAGFs2C,EAASltD,QAAO,SAAU1iB,GAC/B,OAAOA,EAAMlC,KAAOw7B,EAAMx7B,MACzB,IAAM,OAIb+b,EAAQg0D,YAAcA,EACtB,IAAID,EAAc,CAahBQ,MAAO,SAAe/vE,EAAMgmC,GAC1B,OAAO,WACL,IAAIrK,EAASqK,EAASspC,WAAWtvE,GAAM27B,OAEvC,IAAK,IAAIl8B,KAAMk8B,EACb,GAAIA,EAAOl8B,GAAIkhC,QACb,OAAOhF,EAAOl8B,GAIlB,OAAO,OAeX2wE,UAAW,SAAmBpwE,EAAMgmC,GAClC,OAAO,WACL,IAAIrK,EAASqK,EAASspC,WAAWtvE,GAAM27B,OAEvC,IAAK,IAAIl8B,KAAMk8B,EACb,GAAwB,YAApBA,EAAOl8B,GAAIymC,KACb,OAAOvK,EAAOl8B,GAIlB,OAAO,QAKb+b,EAAQ+zD,YAAcA,EA+BtB,IAAIiC,EAAmB,SAA0BxrC,GAC/C,CAAC,QAAS,YAAa,mBAAmBhlC,SAAQ,SAAUhB,GAC1D0wE,EAAW1wE,GAAMA,EAAMgmC,MAGzB,IAAIspC,EAAatpC,EAASspC,WACtBgC,EAAuBtrC,EAASsrC,qBAChC91C,EAAOwK,EAASxK,KAChBm1C,EAAM3qC,EAAS2qC,IAGnB,CAAC,QAAS,aAAa3vE,SAAQ,SAAUhB,GACvCsvE,EAAWtvE,GAAMwvE,YAAcA,EAAYxvE,EAAMgmC,GACjDspC,EAAWtvE,GAAMuvE,YAAcA,EAAYvvE,GAAMA,EAAMgmC,GACvDspC,EAAWtvE,GAAMkvE,eAAiBA,EAAelvE,EAAMgmC,GACvDspC,EAAWtvE,GAAM4vE,eAAiBA,EAAe5vE,EAAMgmC,MAKzD,IAAIyrC,EAAanC,EAAWS,MAAMP,cAC9BuB,GAAWU,EAAWptD,QAAO,SAAU4rD,GACzC,OAAOA,EAAM,cACZ,IAAMwB,EAAW,IAAIhyE,GAExB6vE,EAAWS,MAAMp0C,OAAOo1C,GAASpwC,SAAU,EAC3C2uC,EAAWS,MAAMH,iBAEjB0B,EAAqBt0E,GAAG,eAAe,WACrC,CAAC,QAAS,aAAagE,SAAQ,SAAUhB,GACvC,OAAOsvE,EAAWtvE,GAAMkvE,uBAK5B,IAAIwC,EAAsB,WACxBpC,EAAWS,MAAMH,iBACjBp0C,EAAK5gB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,sBActC,IAAK,IAAIe,KAXT+7B,EAAKqnB,cAAchpC,iBAAiB,SAAU63D,GAC9Cl2C,EAAK2P,mBAAmBtxB,iBAAiB,SAAUy1D,EAAWc,UAAUR,gBAExEe,EAAI3zE,GAAG,WAAW,WAChBw+B,EAAKqnB,cAAc/2B,oBAAoB,SAAU4lD,GACjDl2C,EAAK2P,mBAAmBrf,oBAAoB,SAAUwjD,EAAWc,UAAUR,mBAI7Ep0C,EAAK4O,YAAY,SAEFklC,EAAWS,MAAMp0C,OAC9BH,EAAKqnB,cAAc3iB,SAASovC,EAAWS,MAAMp0C,OAAOl8B,KAIxD+b,EAAQg2D,iBAAmBA,EAS3B,IAAIG,EAAmB,WACrB,IAAIrC,EAAa,GAcjB,MAZA,CAAC,QAAS,YAAa,mBAAmBtuE,SAAQ,SAAUhB,GAC1DsvE,EAAWtvE,GAAQ,CACjBshE,OAAQ,GACR3lC,OAAQ,GACRozC,qBAAsB,KACtBS,YAAa5hB,EACb2hB,YAAa3hB,EACbshB,eAAgBthB,EAChBgiB,eAAgBhiB,MAIb0hB,GAET9zD,EAAQm2D,iBAAmBA,G,oCC5uB3B7wE,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaC,EAAIC,EAAKC,GAAO,IAAIC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS41D,EAAII,EAAWH,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAA/V,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B8rD,EAAK9rD,EAAQ+rD,EAAMG,EAAUF,EAAMG,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE5c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAIm+C,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC2S,EAA+B,EAAQ,QAEvCC,EAAgC9S,EAAuB6S,GAEvDE,EAAuB,EAAQ,QAE/BC,EAAwBhT,EAAuB+S,GAE/CE,EAAoB,EAAQ,QAE5BC,EAAc,EAAQ,QAEtBC,EAAenT,EAAuBkT,GAEtCE,EAAoB,EAAQ,QAE5BC,EAAqBrT,EAAuBoT,GAE5CE,EAAc,EAAQ,QAEtBC,EAAwB,WAC1B,IAAI3+D,OAASkO,EAEb,IACElO,EAAwB,OACxB,MAAOvN,IAIT,OAAOuN,GAOL4+D,EAA0B,SAAiCC,EAAaC,GAC1E,IAAIC,EAAeF,EAAYG,gBAAgBF,GAC3C1vE,EAAU1C,OAAOI,OAAO,MAE5BsC,EAAQ6vE,UAAW,EACnB7vE,EAAQ8vE,YAAcH,EAEtB,IAAI7vC,EAAQ,SAAU9jC,GACa,oBAAtB2zE,EAAa3zE,GACtBgE,EAAQhE,GAAO,WACb,OAAO2zE,EAAa3zE,GAAKwb,MAAMm4D,EAAcntE,YAEd,qBAAjBxC,EAAQhE,IACxBsB,OAAO8a,eAAepY,EAAShE,EAAK,CAClC+R,IAAK,WACH,OAAO4hE,EAAa3zE,IAEtBwe,IAAK,SAAa8mC,GAChB,OAAOquB,EAAa3zE,GAAOslD,MAMnC,IAAK,IAAItlD,KAAO2zE,EACd7vC,EAAM9jC,GAGR,OAAOgE,GAgBL+vE,EAAsB,SAA6BxK,EAAQx5C,EAAQikD,GACrE,IAAKjkD,IAAWw5C,EAAOl8D,OACrB,MAAO,GAIT,IAAI4mE,EAAiBhuE,KAAK6hE,KAA4C,KAAtC/3C,EAAOzW,cAAgB06D,EAAU,IAE7D/sE,OAAI6b,EAER,IAAK7b,EAAI,EAAGA,EAAIsiE,EAAOl8D,OAAQpG,IAC7B,GAAIsiE,EAAOtiE,GAAGitE,IAAMD,EAClB,MAIJ,OAAO1K,EAAOh4D,MAAMtK,IAGtB+U,EAAQ+3D,oBAAsBA,EAe9B,IAAII,EAAkB,SAAyB5K,EAAQ6K,EAAMvqE,GAC3D,IAAKuqE,EAAK/mE,OACR,OAAOk8D,EAGT,GAAI1/D,EAKF,OAAOuqE,EAAK7iE,QAGd,IAAI+oB,EAAQ85C,EAAK,GAAGF,IAEhBjtE,EAAI,EAER,IAAKA,EAAGA,EAAIsiE,EAAOl8D,OAAQpG,IACzB,GAAIsiE,EAAOtiE,GAAGitE,KAAO55C,EACnB,MAIJ,OAAOivC,EAAOh4D,MAAM,EAAGtK,GAAGiU,OAAOk5D,IAGnCp4D,EAAQm4D,gBAAkBA,EAa1B,IAAIE,EAAkB,SAAyB9K,EAAQjvC,EAAOt0B,EAAKguE,GACjE,IAAIM,EAAWruE,KAAK6hE,KAAyB,KAAnBxtC,EAAQ05C,IAC9BO,EAAStuE,KAAK6hE,KAAuB,KAAjB9hE,EAAMguE,IAC1BQ,EAAgBjL,EAAOh4D,QAEvBtK,EAAIsiE,EAAOl8D,OAEf,MAAOpG,IACL,GAAIsiE,EAAOtiE,GAAGitE,KAAOK,EACnB,MAIJ,IAAW,IAAPttE,EAEF,OAAOutE,EAGT,IAAIxiC,EAAI/qC,EAAI,EAEZ,MAAO+qC,IACL,GAAIu3B,EAAOv3B,GAAGkiC,KAAOI,EACnB,MASJ,OAJAtiC,EAAI/rC,KAAKjD,IAAIgvC,EAAG,GAEhBwiC,EAAc3mE,OAAOmkC,EAAG/qC,EAAI+qC,EAAI,GAEzBwiC,GAGTx4D,EAAQq4D,gBAAkBA,EAe1B,IAAII,EAAsB,SAAWC,GAGnC,SAASD,EAAoBhB,EAAav2D,GACxC,IAAI5W,EAAQxJ,KAEZ4vE,EAAgB5vE,KAAM23E,GAEtBrC,EAAK9wE,OAAOsxE,eAAe6B,EAAoB/4D,WAAY,cAAe5e,MAAMye,KAAKze,KAAMqjE,EAAU,WAAWnvC,aAChHl0B,KAAK63E,iBAAmB,EACxB73E,KAAK83E,gBAAkB,GACvB93E,KAAK+3E,iBAAkB,EAEvB/3E,KAAKg4E,aAAerB,EACpB32E,KAAKi4E,QAAU73D,EACfpgB,KAAKk4E,YAAc,KACnBl4E,KAAKm4E,YAAc,KACnBn4E,KAAKo4E,gBAAiB,EACtBp4E,KAAKq4E,yBAA0B,EAC/Br4E,KAAKs4E,WAAa,GAClBt4E,KAAKu4E,aAAe,EACpBv4E,KAAKw4E,YAAcnV,EAAU,WAAW/+C,QAAQT,YAAc,GAE9D,IAAI0N,EAAU,CACZknD,OAAO,EACPC,eAAgB14E,KAAKw4E,aAGvBx4E,KAAKi4E,QAAQvzE,SAAQ,SAAU8a,IACzB,EAAIg3D,EAAYj3D,cAAcC,GAChChW,EAAM0uE,YAAc14D,GACX,EAAIg3D,EAAY/2D,cAAcD,KACvChW,EAAM2uE,YAAc34D,MAMxBxf,KAAK24E,aAAc,EAAItC,EAAa,YAAYE,EAAmB,WAAYE,KAC/Ez2E,KAAK24E,YAAYC,YAAY,CAAEC,OAAQ,OAAQtnD,QAASA,IAExDvxB,KAAK24E,YAAYG,UAAY,SAAUzxE,GACrC,MAA0B,SAAtBA,EAAMjB,KAAKyyE,OACNrvE,EAAMuvE,MAAM1xE,GAGK,SAAtBA,EAAMjB,KAAKyyE,OACNrvE,EAAMwvE,MAAM3xE,GAGK,YAAtBA,EAAMjB,KAAKyyE,OACNrvE,EAAMyvE,eAAe5xE,QAD9B,GAOF7C,OAAO8a,eAAetf,KAAM,kBAAmB,CAC7CiV,IAAK,WACH,OAAOjV,KAAK63E,kBAEdn2D,IAAK,SAAa0I,GACG,kBAARA,GAAoBA,GAAO,IACpCpqB,KAAK63E,iBAAmBztD,EACxBpqB,KAAKq4E,yBAA0B,EAG/Br4E,KAAKs4E,WAAW/nE,OAAS,EACzBvQ,KAAKu4E,aAAe,EAIpBv4E,KAAK24E,YAAYC,YAAY,CAC3BC,OAAQ,qBACRK,gBAAiB9uD,QAOzB5lB,OAAO8a,eAAetf,KAAM,oBAAqB,CAC/CiV,IAAK,WACH,OAAQjV,KAAKm5E,cAAgBn5E,KAAKo5E,cAAcC,mBAElD33D,IAAK,SAAa8b,GACZx9B,KAAKm5E,eACPn5E,KAAKm5E,aAAaE,kBAAoB77C,GAEpCx9B,KAAKo5E,eACPp5E,KAAKo5E,aAAaC,kBAAoB77C,MAM5Ch5B,OAAO8a,eAAetf,KAAM,WAAY,CACtCiV,IAAK,WACH,SAAUjV,KAAK+3E,kBAAoB/3E,KAAKo4E,gBAAkBp4E,KAAKo5E,cAAgBp5E,KAAKo5E,aAAarC,UAAY/2E,KAAKm5E,cAAgBn5E,KAAKm5E,aAAapC,aAMxJvyE,OAAO8a,eAAetf,KAAM,WAAY,CACtCiV,IAAK,WACH,IAAIuoB,EAAQ,KACRt0B,EAAM,KACNowE,EAAQ,EACRC,EAAU,GACVl8C,EAAS,GAGb,IAAKr9B,KAAKm5E,eAAiBn5E,KAAKo5E,aAC9B,OAAO/V,EAAU,WAAWP,kBAI9B,IAAK9iE,KAAKm5E,aACR,OAAOn5E,KAAKo5E,aAAaz7C,SAE3B,IAAK39B,KAAKo5E,aACR,OAAOp5E,KAAKm5E,aAAax7C,SAI3B,GAAI39B,KAAKo4E,eACP,OAAOp4E,KAAKm5E,aAAax7C,SAI3B,GAA0C,IAAtC39B,KAAKm5E,aAAax7C,SAASptB,QAAsD,IAAtCvQ,KAAKo5E,aAAaz7C,SAASptB,OACxE,OAAO8yD,EAAU,WAAWP,kBAK9B,IAAI0W,EAAgBx5E,KAAKm5E,aAAax7C,SAClC87C,EAAgBz5E,KAAKo5E,aAAaz7C,SAClC4qC,EAAQiR,EAAcjpE,OAG1B,MAAOg4D,IACLgR,EAAQ3mE,KAAK,CAAE+C,KAAM6jE,EAAch8C,MAAM+qC,GAAQ7kE,KAAM,UACvD61E,EAAQ3mE,KAAK,CAAE+C,KAAM6jE,EAActwE,IAAIq/D,GAAQ7kE,KAAM,QAEvD6kE,EAAQkR,EAAclpE,OACtB,MAAOg4D,IACLgR,EAAQ3mE,KAAK,CAAE+C,KAAM8jE,EAAcj8C,MAAM+qC,GAAQ7kE,KAAM,UACvD61E,EAAQ3mE,KAAK,CAAE+C,KAAM8jE,EAAcvwE,IAAIq/D,GAAQ7kE,KAAM,QASvD,IANA61E,EAAQG,MAAK,SAAUxyD,EAAGy1C,GACxB,OAAOz1C,EAAEvR,KAAOgnD,EAAEhnD,QAKf4yD,EAAQ,EAAGA,EAAQgR,EAAQhpE,OAAQg4D,IACV,UAAxBgR,EAAQhR,GAAO7kE,MACjB41E,IAIc,IAAVA,IACF97C,EAAQ+7C,EAAQhR,GAAO5yD,OAEQ,QAAxB4jE,EAAQhR,GAAO7kE,OACxB41E,IAIc,IAAVA,IACFpwE,EAAMqwE,EAAQhR,GAAO5yD,OAKX,OAAV6nB,GAA0B,OAARt0B,IACpBm0B,EAAOzqB,KAAK,CAAC4qB,EAAOt0B,IACpBs0B,EAAQ,KACRt0B,EAAM,MAIV,OAAOm6D,EAAU,WAAW5lC,iBAAiBJ,MA6ZnD,OArlBAgkC,EAAUsW,EAAqBC,GAsM/BnI,EAAakI,EAAqB,CAAC,CACjCz0E,IAAK,QACLZ,MAAO,SAAe+E,GACpB,IAAIsyE,EAAUtyE,EAAMjB,KAAKuzE,QAGzBA,EAAQvzE,KAAO,IAAIwqE,WAAW+I,EAAQvzE,KAAMiB,EAAMjB,KAAKqqE,WAAYppE,EAAMjB,KAAKiZ,YAE9Es6D,EAAQC,YAAc,IAAIhJ,WAAW+I,EAAQC,YAAYxzE,KAAMuzE,EAAQC,YAAYnJ,WAAYkJ,EAAQC,YAAYv6D,aAEnH,EAAI22D,EAA8B,YAAYh2E,KAAMA,KAAKg4E,aAAc2B,GAGvE35E,KAAK83E,gBAAgBllE,KAAK+mE,KAa3B,CACDz2E,IAAK,QACLZ,MAAO,SAAe+E,GAEiB,WAAjCrH,KAAKg4E,aAAa7kD,WAOtBnzB,KAAK65E,0BANH75E,KAAK83E,gBAAgBvnE,OAAS,IAkBjC,CACDrN,IAAK,2BACLZ,MAAO,WACL,IAAI+yB,EAASr1B,KAET4vB,EAAQ,CAAC,QAAS,SAEtBA,EAAMlrB,SAAQ,SAAUhB,GAGtB,GAAK2xB,EAAO3xB,EAAO,YAKf2xB,EAAO3xB,EAAO,WAAlB,CAIA,IAAI+oE,EAAS,KAIb,GAAIp3C,EAAO2iD,aAAat0E,EAAO,WAC7B+oE,EAASp3C,EAAO2iD,aAAat0E,EAAO,WAWpC+oE,EAAOsK,UAAW,MACb,CACL,IAAI+C,EAAgBp2E,EAAO,SACvBkzE,EAAWlzE,EAAO,gBAAkB2xB,EAAOykD,GAAiB,IAEhErN,EAASiK,EAAwBrhD,EAAO2iD,aAAa+B,mBAAoBnD,GAEzEvhD,EAAO2iD,aAAat0E,EAAO,WAAa+oE,EAG1Cp3C,EAAO3xB,EAAO,WAAa+oE,EAG3B,CAAC,SAAU,cAAe,aAAa/nE,SAAQ,SAAU2C,GACvDolE,EAAOlvD,iBAAiBlW,GAAO,WAE7B,GAAa,UAAT3D,IAAoB2xB,EAAO+iD,eAA/B,CAIc,cAAV/wE,IACFguB,EAAO3xB,EAAO,WAAWqzE,UAAW,GAGtC,IAAIiD,EAAgBpqD,EAAM4E,OAAM,SAAU7C,GAGxC,QAAU,UAANA,IAAiB0D,EAAO+iD,kBAIxB10E,IAASiuB,IAAK0D,EAAO1D,EAAI,aAAc0D,EAAO1D,EAAI,WAAWolD,aAMnE,OAAIiD,EACK3kD,EAAO/W,QAAQjX,QADxB,eAiBP,CACDnE,IAAK,eACLZ,MAAO,SAAsBq3E,GAI3B,GAFA35E,KAAK+3E,iBAAkB,EAEnB/3E,KAAKo5E,cAAgBp5E,KAAKo5E,aAAaz7C,SAASptB,OAAQ,CAC1D,IAAIkpE,EAAgBz5E,KAAKo5E,aAAaz7C,SAEtC39B,KAAK24E,YAAYC,YAAY,CAC3BC,OAAQ,sBACRoB,YAAaR,EAAcvwE,IAAIuwE,EAAclpE,OAAS,KAItDvQ,KAAKm5E,cACPn5E,KAAK24E,YAAYC,YAAY,CAC3BC,OAAQ,gBACRqB,gBAAiBjD,EAAoBj3E,KAAKs4E,WAAYt4E,KAAKg4E,aAAaphD,QAAS52B,KAAKu4E,gBAI1Fv4E,KAAK24E,YAAYC,YAAY,CAC3BC,OAAQ,OAIRzyE,KAAMuzE,EAAQlN,OAIdgE,WAAYkJ,EAAQlJ,WACpBpxD,WAAYs6D,EAAQt6D,YACnB,CAACs6D,EAAQlN,SACZzsE,KAAK24E,YAAYC,YAAY,CAAEC,OAAQ,YAYxC,CACD31E,IAAK,iBACLZ,MAAO,SAAwB+E,GAC7BrH,KAAKs4E,WAAajB,EAAgBr3E,KAAKs4E,WAAYjxE,EAAMjB,KAAK+zE,QAASn6E,KAAKw4E,eAW7E,CACDt1E,IAAK,SACLZ,MAAO,SAAgBk7B,EAAOt0B,GAe5B,GAdIlJ,KAAKm5E,eACPn5E,KAAKm5E,aAAapC,UAAW,EAC7B/2E,KAAKm5E,aAAa1tD,OAAO+R,EAAOt0B,GAChClJ,KAAKs4E,WAAaf,EAAgBv3E,KAAKs4E,WAAY96C,EAAOt0B,EAAKlJ,KAAKu4E,gBAEjEv4E,KAAKo4E,gBAAkBp4E,KAAKo5E,eAC/Bp5E,KAAKo5E,aAAarC,UAAW,EAC7B/2E,KAAKo5E,aAAa3tD,OAAO+R,EAAOt0B,KAIlC,EAAIgtE,EAAsB,YAAY14C,EAAOt0B,EAAKlJ,KAAKo6E,gBAGnDp6E,KAAKq6E,kBACP,IAAK,IAAI17C,KAAS3+B,KAAKq6E,mBACrB,EAAInE,EAAsB,YAAY14C,EAAOt0B,EAAKlJ,KAAKq6E,kBAAkB17C,MAY9E,CACDz7B,IAAK,0BACLZ,MAAO,WACL,IAAIg4E,EAAiB,CACnB7mE,MAAO,CACL8mE,SAAU,GACVzI,MAAO,GAETxmC,MAAO,CACLivC,SAAU,GACVzI,MAAO,GAET7rC,SAAU,GACVS,SAAU,IAKZ4zC,EAAiBt6E,KAAK83E,gBAAgBhyD,QAAO,SAAU00D,EAAYb,GACjE,IAAIj2E,EAAOi2E,EAAQj2E,KACf0C,EAAOuzE,EAAQvzE,KACfwzE,EAAcD,EAAQC,YAqB1B,OAnBAY,EAAW92E,GAAM62E,SAAS3nE,KAAKxM,GAC/Bo0E,EAAW92E,GAAMouE,OAAS1rE,EAAKiZ,WAE/Bm7D,EAAW92E,GAAMk2E,YAAcA,EAG3BD,EAAQ1zC,WACVu0C,EAAWv0C,SAAWu0C,EAAWv0C,SAAS7nB,OAAOu7D,EAAQ1zC,WAGvD0zC,EAAQ1yD,OACVuzD,EAAW92E,GAAMujB,KAAO0yD,EAAQ1yD,MAI9B0yD,EAAQjzC,WACV8zC,EAAW9zC,SAAW8zC,EAAW9zC,SAAStoB,OAAOu7D,EAAQjzC,WAGpD8zC,IACNF,GAIEt6E,KAAKm5E,cAAiBn5E,KAAKo5E,eAGK,IAA/BkB,EAAe7mE,MAAMq+D,QACvB9xE,KAAKm4E,YAAc,MAEc,IAA/BmC,EAAehvC,MAAMwmC,QACvB9xE,KAAKk4E,YAAc,MAGrBl4E,KAAKy6E,4BAGHH,EAAehvC,MAAMrkB,MACvBjnB,KAAKg4E,aAAa15D,QAAQ,CAAE5a,KAAM,YAAaujB,KAAMqzD,EAAehvC,MAAMrkB,OAExEqzD,EAAe7mE,MAAMwT,MACvBjnB,KAAKg4E,aAAa15D,QAAQ,CAAE5a,KAAM,YAAaujB,KAAMqzD,EAAe7mE,MAAMwT,OAGxEjnB,KAAKq4E,2BACFr4E,KAAKo4E,gBAAkBp4E,KAAKo5E,eAC/BkB,EAAehvC,MAAMivC,SAASzzD,QAAQwzD,EAAehvC,MAAMsuC,aAC3DU,EAAehvC,MAAMwmC,OAASwI,EAAehvC,MAAMsuC,YAAYv6D,YAEjErf,KAAKq4E,yBAA0B,GAGjC,IAAIqC,GAAmB,EAGnB16E,KAAKm5E,cAAgBmB,EAAe7mE,MAAMq+D,OAC5CwI,EAAe7mE,MAAM8mE,SAASzzD,QAAQwzD,EAAe7mE,MAAMmmE,aAC3DU,EAAe7mE,MAAMq+D,OAASwI,EAAe7mE,MAAMmmE,YAAYv6D,WAC/Drf,KAAK26E,yBAAyBL,EAAe7mE,MAAOzT,KAAKm5E,eAEzD,EAAIhD,EAAkByE,kBAAkB56E,KAAMs6E,EAAer0C,SAAUq0C,EAAe5zC,YAC7E1mC,KAAKm5E,eAAiBn5E,KAAKo4E,gBAAmBp4E,KAAKo5E,eAO5DsB,GAAmB,IAGhB16E,KAAKo4E,gBAAkBp4E,KAAKo5E,cAC/Bp5E,KAAK26E,yBAAyBL,EAAehvC,MAAOtrC,KAAKo5E,cAG3Dp5E,KAAK83E,gBAAgBvnE,OAAS,EAE1BmqE,GACF16E,KAAKse,QAAQ,aAIfte,KAAK+3E,iBAAkB,IAWxB,CACD70E,IAAK,2BACLZ,MAAO,SAAkCk4E,EAAYK,GACnD,IAAIC,EAAS,EACTC,OAAa/0D,EAEjB,GAAIw0D,EAAW1I,MAAO,CACpBiJ,EAAa,IAAInK,WAAW4J,EAAW1I,OAGvC0I,EAAWD,SAAS71E,SAAQ,SAAUi1E,GACpCoB,EAAWr5D,IAAIi4D,EAASmB,GACxBA,GAAUnB,EAAQt6D,cAGpB,IACEw7D,EAAkB9D,UAAW,EAC7B8D,EAAkBG,aAAaD,GAC/B,MAAOnzD,GACH5nB,KAAKg4E,aAAaphD,SACpB52B,KAAKg4E,aAAaphD,QAAQhP,MAAM,CAC9BxR,MAAO,EACP1S,KAAM,oBACN8S,QAASoR,EAAMpR,QACfykE,cAAerzD,QAaxB,CACD1kB,IAAK,QACLZ,MAAO,WACDtC,KAAKm5E,cACPn5E,KAAKm5E,aAAa3G,SAEfxyE,KAAKo4E,gBAAkBp4E,KAAKo5E,cAC/Bp5E,KAAKo5E,aAAa5G,QAEhBxyE,KAAK24E,aACP34E,KAAK24E,YAAYC,YAAY,CAAEC,OAAQ,UAEzC74E,KAAK83E,gBAAgBvnE,OAAS,EAC9BvQ,KAAK+3E,iBAAkB,MAIpBJ,EAtlBiB,CAulBvBtU,EAAU,WAAWnvC,aAExBhV,EAAQ,WAAay4D,G,oCC9yBrB,IA6BIuD,EAAoBC,EAAoBnY,EAAYoY,EAItDC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAvCE39D,EAAS,EAAQ,QACjB81B,EAAM,EAAQ,QACd8nC,EAAO,EAAQ,QACfC,EAAa,EAAQ,QACrBC,EAAa,EAAQ,QAAkBA,WACvCC,EAAY,EAAQ,QACpBC,EAAgB,EAAQ,QACxBC,EAAQ,EAAQ,QAGhBC,EAAmB,CACrB,kBACA,eACA,aACA,yBACA,cAGEC,EAAmB,CACrB,QACA,SACA,aACA,WACA,wBAGEC,EAAmB,IAmBvBf,EAAsB,WACpB,MAAO,CACL50E,KAAM,EACN41E,MAAO,CACLC,UAAW,EACXC,UAAW,EACXC,aAAc,EACdC,cAAe,EACfC,oBAAqB,KAK3BpB,EAAkB,SAASl1E,GACzB,OAAKA,EAAK,KAAO,IAAI+hE,WAAW,IAC3B/hE,EAAK,KAAO,IAAI+hE,WAAW,IAC3B/hE,EAAK,KAAO,IAAI+hE,WAAW,IASlCuT,EAAc,SAASx0D,EAAGy1C,GACxB,IACExyD,EAEF,GAAI+c,EAAE3W,SAAWosD,EAAEpsD,OACjB,OAAO,EAIT,IAAKpG,EAAI,EAAGA,EAAI+c,EAAE3W,OAAQpG,IACxB,GAAI+c,EAAE/c,KAAOwyD,EAAExyD,GACb,OAAO,EAIX,OAAO,GAMTwxE,EAAsB,SAASgB,GAC7B,IACExyE,EACAyyE,EACAC,EAAM,EAGR,IAAK1yE,EAAI,EAAGA,EAAIwyE,EAAMpsE,OAAQpG,IAC5ByyE,EAAaD,EAAMxyE,GACnB0yE,GAAOD,EAAWx2E,KAAKiZ,WAGzB,OAAOw9D,GAQT1B,EAAqB,SAASx8C,GAC5B,IACEm+C,EAAa,GACbC,EAAiB,EACjBC,EAAqB,EACrBC,EAAqB,EACrBC,EAA2BliC,IAE7BmgC,EAAmBv8D,UAAUX,KAAKQ,KAAKze,MAEvCA,KAAK4S,KAAO,SAASxM,GACnBm1E,EAAe58C,EAAOv4B,GAElBu4B,GACFu9C,EAAiBx3E,SAAQ,SAASkkB,GAChC+V,EAAM/V,GAAQxiB,EAAKwiB,MAKvBk0D,EAAWlqE,KAAKxM,IAGlBpG,KAAKm9E,eAAiB,SAASC,GAC7BJ,EAAqBI,EAAcz+C,EAAM0+C,kBAAkBC,qBAG7Dt9E,KAAKu9E,4BAA8B,SAASD,GAC1CJ,EAA2BI,GAG7Bt9E,KAAKw9E,oBAAsB,SAASC,GAClCR,EAAqBQ,GAGvBz9E,KAAKgf,MAAQ,WACX,IACE0+D,EACAC,EACAC,EACArS,EAGwB,IAAtBuR,EAAWvsE,QAKfmtE,EAAS19E,KAAK69E,6BAA6Bf,GAC3Cn+C,EAAM2+C,oBAAsB7B,EAAkC98C,GAE9D3+B,KAAK89E,mBAAmBn/C,EAAO++C,GAI/B/+C,EAAMo/C,QAAU/9E,KAAKg+E,qBAAqBN,GAG1CE,EAAO9pC,EAAI8pC,KAAK59E,KAAKi+E,sBAAsBP,IAE3CZ,EAAa,GAEba,EAAO7pC,EAAI6pC,KAAKZ,EAAgB,CAACp+C,IACjC4sC,EAAQ,IAAIqF,WAAW+M,EAAKt+D,WAAau+D,EAAKv+D,YAG9C09D,IAEAxR,EAAM7pD,IAAIi8D,GACVpS,EAAM7pD,IAAIk8D,EAAMD,EAAKt+D,YAErBm8D,EAAa78C,GAEb3+B,KAAKse,QAAQ,OAAQ,CAACqgB,MAAOA,EAAO4sC,MAAOA,IAC3CvrE,KAAKse,QAAQ,OAAQ,uBA9BnBte,KAAKse,QAAQ,OAAQ,uBAmCzBte,KAAK89E,mBAAqB,SAASn/C,EAAO++C,GACxC,IACEQ,EAKAC,EACAh0E,EALAi0E,EAAgB,EAChBC,EAAmB,EACnBC,EAAsB,EACtBC,EAAoB,EAItB,GAAKb,EAAOntE,SAIZ2tE,EAAwBjC,EAAMuC,iBAAiB7/C,EAAM2+C,oBAAqB3+C,EAAM8/C,YAEhFL,EAAgBj1E,KAAK6hE,KAAKoR,GAAoBz9C,EAAM8/C,WAAa,OAE7DxB,GAAsBC,IAExBmB,EACEH,EAAwB/0E,KAAKjD,IAAI+2E,EAAoBC,GAEvDoB,EAAsBn1E,KAAKyxC,MAAMyjC,EAAmBD,GACpDG,EAAoBD,EAAsBF,KAKxCE,EAAsB,GAAKC,EAAoBnC,EAAmB,IAAtE,CAYA,IARA+B,EAAcnC,EAAcr9C,EAAM8/C,YAE7BN,IAGHA,EAAcT,EAAO,GAAGt3E,MAGrB+D,EAAI,EAAGA,EAAIm0E,EAAqBn0E,IACnCuzE,EAAO3sE,OAAO5G,EAAG,EAAG,CAClB/D,KAAM+3E,IAIVx/C,EAAM2+C,qBACJn0E,KAAKyxC,MAAMqhC,EAAMyC,iBAAiBH,EAAmB5/C,EAAM8/C,eAO/Dz+E,KAAK69E,6BAA+B,SAASf,GAC3C,OAAIn+C,EAAMggD,eAAiB3B,EAClBF,GAITn+C,EAAMggD,cAAgB3jC,IAEf8hC,EAAW/0D,QAAO,SAAS62D,GAEhC,OAAIA,EAAaC,KAAO7B,IACtBr+C,EAAMggD,cAAgBx1E,KAAKnD,IAAI24B,EAAMggD,cAAeC,EAAaC,KACjElgD,EAAMmgD,cAAgBngD,EAAMggD,eACrB,QAQb3+E,KAAKg+E,qBAAuB,SAASN,GACnC,IACEvzE,EACAy0E,EACAb,EAAU,GAEZ,IAAK5zE,EAAI,EAAGA,EAAIuzE,EAAOntE,OAAQpG,IAC7By0E,EAAelB,EAAOvzE,GACtB4zE,EAAQnrE,KAAK,CACXnM,KAAMm4E,EAAax4E,KAAKiZ,WACxBnC,SAAU,OAGd,OAAO6gE,GAIT/9E,KAAKi+E,sBAAwB,SAASP,GACpC,IACEvzE,EACAy0E,EACAG,EAAa,EACb34E,EAAO,IAAIwqE,WAAW+K,EAAoB+B,IAE5C,IAAKvzE,EAAI,EAAGA,EAAIuzE,EAAOntE,OAAQpG,IAC7By0E,EAAelB,EAAOvzE,GAEtB/D,EAAKsb,IAAIk9D,EAAax4E,KAAM24E,GAC5BA,GAAcH,EAAax4E,KAAKiZ,WAElC,OAAOjZ,IAIX+0E,EAAmBv8D,UAAY,IAAIZ,EAWnCk9D,EAAqB,SAASv8C,EAAOpN,GACnC,IAIE23B,EACA81B,EAJAjC,EAAiB,EACjBkC,EAAW,GACX/E,EAAkB,GAIpB3oD,EAAUA,GAAW,GAErB2pD,EAAmBt8D,UAAUX,KAAKQ,KAAKze,aAEhC2+B,EAAMugD,OAEbl/E,KAAKm/E,UAAY,GAEjBn/E,KAAK4S,KAAO,SAASwsE,GACnB7D,EAAe58C,EAAOygD,GAGM,2BAAxBA,EAAQC,aAA6Cn2B,IACvDA,EAASk2B,EAAQl2B,OACjBvqB,EAAM2gD,IAAM,CAACF,EAAQh5E,MAErB+1E,EAAiBz3E,SAAQ,SAASkkB,GAChC+V,EAAM/V,GAAQsgC,EAAOtgC,KACpB5oB,OAGuB,2BAAxBo/E,EAAQC,aACPL,IACHA,EAAMI,EAAQh5E,KACdu4B,EAAMqgD,IAAM,CAACI,EAAQh5E,OAIvB64E,EAASrsE,KAAKwsE,IAGhBp/E,KAAKgf,MAAQ,WACX,IACE0+D,EACA6B,EACAjI,EACAqG,EACAC,EACArS,EAIF,MAAO0T,EAAS1uE,OAAQ,CACtB,GAAgC,+BAA5B0uE,EAAS,GAAGI,YACd,MAEFJ,EAASl/D,QAIX,GAAwB,IAApBk/D,EAAS1uE,OAGX,OAFAvQ,KAAKw/E,oBACLx/E,KAAKse,QAAQ,OAAQ,sBAgDvB,GAzCAo/D,EAAS19E,KAAKy/E,qBAAqBR,GACnC3H,EAAOt3E,KAAK0/E,qBAAqBhC,GAoB5BpG,EAAK,GAAG,GAAGqI,WAEdJ,EAAev/E,KAAK4/E,iBAAiBX,EAAS,GAAItgD,GAE9C4gD,GACFjI,EAAKxwD,QAAQy4D,GAGbjI,EAAKj4D,YAAckgE,EAAalgE,WAChCi4D,EAAKuI,UAAYN,EAAaM,SAC9BvI,EAAKF,IAAMmI,EAAanI,IACxBE,EAAKuH,IAAMU,EAAaV,IACxBvH,EAAKp6D,UAAYqiE,EAAariE,UAG9Bo6D,EAAOt3E,KAAK8/E,qBAAqBxI,IAKjC4C,EAAgB3pE,OAAQ,CAC1B,IAAIwvE,EAQJ,GALEA,EADExuD,EAAQmnD,eACI14E,KAAKggF,gBAAgB1I,GAErBt3E,KAAKigF,kBAAkB3I,IAGlCyI,EAiBH,OAfA//E,KAAKm/E,UAAUr4D,QAAQ,CACrBo5D,IAAK5I,EAAK30D,MACVq8D,IAAKrgD,EAAMqgD,IACXM,IAAK3gD,EAAM2gD,MAIbt/E,KAAKm/E,UAAU5uE,OAASpH,KAAKnD,IAAI,EAAGhG,KAAKm/E,UAAU5uE,QAGnD0uE,EAAW,GAGXj/E,KAAKw/E,oBACLx/E,KAAKse,QAAQ,OAAQ,sBAMvBk9D,EAAa78C,GAEb24C,EAAOyI,EAGTxE,EAAe58C,EAAO24C,GAItB34C,EAAMo/C,QAAU/9E,KAAKg+E,qBAAqB1G,GAG1CsG,EAAO9pC,EAAI8pC,KAAK59E,KAAKmgF,oBAAoB7I,IAEzC34C,EAAM2+C,oBAAsB7B,EAAkC98C,GAE9D3+B,KAAKse,QAAQ,oBAAqBg5D,EAAKjzE,KAAI,SAAS67E,GAClD,MAAO,CACL9I,IAAK8I,EAAI9I,IACTyH,IAAKqB,EAAIrB,IACTx/D,WAAY6gE,EAAI7gE,gBAKpBrf,KAAKm/E,UAAUr4D,QAAQ,CACrBo5D,IAAK5I,EAAK30D,MACVq8D,IAAKrgD,EAAMqgD,IACXM,IAAK3gD,EAAM2gD,MAIbt/E,KAAKm/E,UAAU5uE,OAASpH,KAAKnD,IAAI,EAAGhG,KAAKm/E,UAAU5uE,QAGnD0uE,EAAW,GAEXj/E,KAAKse,QAAQ,sBAAuBqgB,EAAM2+C,qBAC1Ct9E,KAAKse,QAAQ,oBAAqBqgB,EAAM0+C,mBAExCM,EAAO7pC,EAAI6pC,KAAKZ,EAAgB,CAACp+C,IAIjC4sC,EAAQ,IAAIqF,WAAW+M,EAAKt+D,WAAau+D,EAAKv+D,YAG9C09D,IAEAxR,EAAM7pD,IAAIi8D,GACVpS,EAAM7pD,IAAIk8D,EAAMD,EAAKt+D,YAErBrf,KAAKse,QAAQ,OAAQ,CAACqgB,MAAOA,EAAO4sC,MAAOA,IAE3CvrE,KAAKw/E,eAGLx/E,KAAKse,QAAQ,OAAQ,uBAGvBte,KAAKw/E,aAAe,WAClBhE,EAAa78C,GAIbuqB,OAASljC,EACTg5D,OAAMh5D,GAKRhmB,KAAK4/E,iBAAmB,SAASR,GAC/B,IAIEgB,EACAC,EACAC,EACAC,EACAp2E,EAPAq2E,EAAa,KACbC,EAAmB,IACnBC,EAAkB1lC,IAQpB,IAAK7wC,EAAI,EAAGA,EAAInK,KAAKm/E,UAAU5uE,OAAQpG,IACrCo2E,EAAgBvgF,KAAKm/E,UAAUh1E,GAC/Bm2E,EAAaC,EAAcL,IAGrBvhD,EAAMqgD,KAAOtD,EAAY/8C,EAAMqgD,IAAI,GAAIuB,EAAcvB,IAAI,KACzDrgD,EAAM2gD,KAAO5D,EAAY/8C,EAAM2gD,IAAI,GAAIiB,EAAcjB,IAAI,MAK3DgB,EAAWzB,IAAMlgD,EAAM0+C,kBAAkBwB,MAK7CuB,EAAehB,EAAQP,IAAMyB,EAAWzB,IAAOyB,EAAWpjE,SAItDkjE,IAAgBK,GAChBL,GAAeI,KAIZH,GACDK,EAAkBN,KACpBC,EAAgBE,EAChBG,EAAkBN,KAKxB,OAAIC,EACKA,EAAcH,IAEhB,MAGTlgF,KAAK8/E,qBAAuB,SAASxI,GACnC,IAAIgJ,EAiBJ,OAfKhJ,EAAK,GAAG,GAAGqI,UAAYrI,EAAK/mE,OAAS,IAExC+vE,EAAahJ,EAAKv3D,QAElBu3D,EAAKj4D,YAAeihE,EAAWjhE,WAC/Bi4D,EAAKuI,UAAYS,EAAWT,SAK5BvI,EAAK,GAAG,GAAGuH,IAAMyB,EAAWzB,IAC5BvH,EAAK,GAAG,GAAGF,IAAMkJ,EAAWlJ,IAC5BE,EAAK,GAAG,GAAGp6D,UAAYojE,EAAWpjE,UAG7Bo6D,GAOTt3E,KAAKy/E,qBAAuB,SAASR,GACnC,IACE90E,EACAw2E,EACA/B,EAAe,GACflB,EAAS,GAIX,IAFAkB,EAAav/D,WAAa,EAErBlV,EAAI,EAAGA,EAAI80E,EAAS1uE,OAAQpG,IAC/Bw2E,EAAa1B,EAAS90E,GAGS,+BAA3Bw2E,EAAWtB,aAGTT,EAAaruE,SACfquE,EAAa1hE,SAAWyjE,EAAW9B,IAAMD,EAAaC,IACtDnB,EAAO9qE,KAAKgsE,IAEdA,EAAe,CAAC+B,GAChB/B,EAAav/D,WAAashE,EAAWv6E,KAAKiZ,WAC1Cu/D,EAAaxH,IAAMuJ,EAAWvJ,IAC9BwH,EAAaC,IAAM8B,EAAW9B,MAGC,8CAA3B8B,EAAWtB,cACbT,EAAae,UAAW,GAE1Bf,EAAa1hE,SAAWyjE,EAAW9B,IAAMD,EAAaC,IACtDD,EAAav/D,YAAcshE,EAAWv6E,KAAKiZ,WAC3Cu/D,EAAahsE,KAAK+tE,IActB,OARIjD,EAAOntE,UACLquE,EAAa1hE,UACd0hE,EAAa1hE,UAAY,KAC5B0hE,EAAa1hE,SAAWwgE,EAAOA,EAAOntE,OAAS,GAAG2M,UAIpDwgE,EAAO9qE,KAAKgsE,GACLlB,GAOT19E,KAAK0/E,qBAAuB,SAAShC,GACnC,IACEvzE,EACAy0E,EACA0B,EAAa,GACbhJ,EAAO,GAiBT,IAbAgJ,EAAWjhE,WAAa,EACxBihE,EAAWT,SAAW,EACtBS,EAAWpjE,SAAW,EACtBojE,EAAWlJ,IAAMsG,EAAO,GAAGtG,IAC3BkJ,EAAWzB,IAAMnB,EAAO,GAAGmB,IAG3BvH,EAAKj4D,WAAa,EAClBi4D,EAAKuI,SAAW,EAChBvI,EAAKp6D,SAAW,EAChBo6D,EAAKF,IAAMsG,EAAO,GAAGtG,IACrBE,EAAKuH,IAAMnB,EAAO,GAAGmB,IAEhB10E,EAAI,EAAGA,EAAIuzE,EAAOntE,OAAQpG,IAC7By0E,EAAelB,EAAOvzE,GAElBy0E,EAAae,UAGXW,EAAW/vE,SACb+mE,EAAK1kE,KAAK0tE,GACVhJ,EAAKj4D,YAAcihE,EAAWjhE,WAC9Bi4D,EAAKuI,UAAYS,EAAWT,SAC5BvI,EAAKp6D,UAAYojE,EAAWpjE,UAG9BojE,EAAa,CAAC1B,GACd0B,EAAWT,SAAWjB,EAAaruE,OACnC+vE,EAAWjhE,WAAau/D,EAAav/D,WACrCihE,EAAWlJ,IAAMwH,EAAaxH,IAC9BkJ,EAAWzB,IAAMD,EAAaC,IAC9ByB,EAAWpjE,SAAW0hE,EAAa1hE,WAEnCojE,EAAWpjE,UAAY0hE,EAAa1hE,SACpCojE,EAAWT,UAAYjB,EAAaruE,OACpC+vE,EAAWjhE,YAAcu/D,EAAav/D,WACtCihE,EAAW1tE,KAAKgsE,IAapB,OATItH,EAAK/mE,QAAU+vE,EAAWpjE,UAAY,IACxCojE,EAAWpjE,SAAWo6D,EAAKA,EAAK/mE,OAAS,GAAG2M,UAE9Co6D,EAAKj4D,YAAcihE,EAAWjhE,WAC9Bi4D,EAAKuI,UAAYS,EAAWT,SAC5BvI,EAAKp6D,UAAYojE,EAAWpjE,SAG5Bo6D,EAAK1kE,KAAK0tE,GACHhJ,GAITt3E,KAAKg+E,qBAAuB,SAAS1G,EAAMsJ,GACzC,IACEn3E,EAAGU,EACH02E,EACAP,EACA1B,EACAG,EAAa6B,GAAkB,EAC/B7C,EAAU,GAEZ,IAAKt0E,EAAI,EAAGA,EAAI6tE,EAAK/mE,OAAQ9G,IAG3B,IAFA62E,EAAahJ,EAAK7tE,GAEbU,EAAI,EAAGA,EAAIm2E,EAAW/vE,OAAQpG,IACjCy0E,EAAe0B,EAAWn2E,GAE1B02E,EAASxF,IAETwF,EAAO9B,WAAaA,EACpB8B,EAAOC,sBAAwBlC,EAAaxH,IAAMwH,EAAaC,IAC/DgC,EAAO3jE,SAAW0hE,EAAa1hE,SAC/B2jE,EAAOp6E,KAAO,EAAIm4E,EAAaruE,OAC/BswE,EAAOp6E,MAAQm4E,EAAav/D,WAExBu/D,EAAae,WACfkB,EAAOxE,MAAME,UAAY,GAG3BwC,GAAc8B,EAAOp6E,KAErBs3E,EAAQnrE,KAAKiuE,GAGjB,OAAO9C,GAIT/9E,KAAKmgF,oBAAsB,SAAS7I,GAClC,IACE7tE,EAAGU,EAAG+qC,EACNorC,EACA1B,EACA+B,EACA5B,EAAa,EACbgC,EAAiBzJ,EAAKj4D,WACtB2hE,EAAe1J,EAAKuI,SACpBoB,EAAkBF,EAAiB,EAAIC,EACvC56E,EAAO,IAAIwqE,WAAWqQ,GACtBC,EAAO,IAAIC,SAAS/6E,EAAKqmE,QAG3B,IAAKhjE,EAAI,EAAGA,EAAI6tE,EAAK/mE,OAAQ9G,IAI3B,IAHA62E,EAAahJ,EAAK7tE,GAGbU,EAAI,EAAGA,EAAIm2E,EAAW/vE,OAAQpG,IAIjC,IAHAy0E,EAAe0B,EAAWn2E,GAGrB+qC,EAAI,EAAGA,EAAI0pC,EAAaruE,OAAQ2kC,IACnCyrC,EAAa/B,EAAa1pC,GAE1BgsC,EAAKE,UAAUrC,EAAY4B,EAAWv6E,KAAKiZ,YAC3C0/D,GAAc,EACd34E,EAAKsb,IAAIi/D,EAAWv6E,KAAM24E,GAC1BA,GAAc4B,EAAWv6E,KAAKiZ,WAIpC,OAAOjZ,GAKTpG,KAAKigF,kBAAoB,SAAS3I,GAChC,IAAI+J,EAAYC,EAAUpb,EAAOga,EAAK7gE,EAAYwgE,EAAU3iE,EAAU6iE,EAEtE1gE,EAAai4D,EAAKj4D,WAClBwgE,EAAWvI,EAAKuI,SAChB3iE,EAAWo6D,EAAKp6D,SAChBmkE,EAAaC,EAAW,EAExB,MAAOD,EAAanH,EAAgB3pE,QAAU+wE,EAAWhK,EAAK/mE,OAAQ,CAIpE,GAHA21D,EAAQgU,EAAgBmH,GACxBnB,EAAM5I,EAAKgK,GAEPpb,EAAMkR,MAAQ8I,EAAI9I,IACpB,MAGE8I,EAAI9I,IAAMlR,EAAMkR,IAGlBiK,KAMFC,IACAjiE,GAAc6gE,EAAI7gE,WAClBwgE,GAAYK,EAAIL,SAChB3iE,GAAYgjE,EAAIhjE,UAGlB,OAAiB,IAAbokE,EAEKhK,EAGLgK,IAAahK,EAAK/mE,OAEb,MAGTwvE,EAAczI,EAAK7iE,MAAM6sE,GACzBvB,EAAY1gE,WAAaA,EACzB0gE,EAAY7iE,SAAWA,EACvB6iE,EAAYF,SAAWA,EACvBE,EAAY3I,IAAM2I,EAAY,GAAG3I,IACjC2I,EAAYlB,IAAMkB,EAAY,GAAGlB,IAE1BkB,IAKT//E,KAAKggF,gBAAkB,SAAS1I,GAC9B,IAAI+J,EAAYC,EAAUpb,EAAOga,EAAKqB,EAAeC,EAmCjDC,EAjCJJ,EAAanH,EAAgB3pE,OAAS,EACtC+wE,EAAWhK,EAAK/mE,OAAS,EACzBgxE,EAAgB,KAChBC,GAAa,EAEb,MAAOH,GAAc,GAAKC,GAAY,EAAG,CAIvC,GAHApb,EAAQgU,EAAgBmH,GACxBnB,EAAM5I,EAAKgK,GAEPpb,EAAMkR,MAAQ8I,EAAI9I,IAAK,CACzBoK,GAAa,EACb,MAGEtb,EAAMkR,IAAM8I,EAAI9I,IAClBiK,KAIEA,IAAenH,EAAgB3pE,OAAS,IAI1CgxE,EAAgBD,GAGlBA,KAGF,IAAKE,GAAgC,OAAlBD,EACjB,OAAO,KAWT,GALEE,EADED,EACUF,EAEAC,EAGI,IAAdE,EACF,OAAOnK,EAGT,IAAIyI,EAAczI,EAAK7iE,MAAMgtE,GACzB/6C,EAAWq5C,EAAYj6D,QAAO,SAAS3d,EAAO+3E,GAIhD,OAHA/3E,EAAMkX,YAAc6gE,EAAI7gE,WACxBlX,EAAM+U,UAAYgjE,EAAIhjE,SACtB/U,EAAM03E,UAAYK,EAAIL,SACf13E,IACN,CAAEkX,WAAY,EAAGnC,SAAU,EAAG2iE,SAAU,IAQ3C,OANAE,EAAY1gE,WAAaqnB,EAASrnB,WAClC0gE,EAAY7iE,SAAWwpB,EAASxpB,SAChC6iE,EAAYF,SAAWn5C,EAASm5C,SAChCE,EAAY3I,IAAM2I,EAAY,GAAG3I,IACjC2I,EAAYlB,IAAMkB,EAAY,GAAGlB,IAE1BkB,GAGT//E,KAAK0hF,cAAgB,SAASC,GAC5BzH,EAAkByH,IAItBzG,EAAmBt8D,UAAY,IAAIZ,EAOnCu9D,EAAiB,SAAS58C,EAAOv4B,GACP,kBAAbA,EAAKgxE,WACsBpxD,IAAhC2Y,EAAM0+C,kBAAkBjG,MAC1Bz4C,EAAM0+C,kBAAkBjG,IAAMhxE,EAAKgxE,UAGTpxD,IAAxB2Y,EAAMmgD,cACRngD,EAAMmgD,cAAgB14E,EAAKgxE,IAE3Bz4C,EAAMmgD,cAAgB31E,KAAKnD,IAAI24B,EAAMmgD,cAAe14E,EAAKgxE,UAG/BpxD,IAAxB2Y,EAAMijD,cACRjjD,EAAMijD,cAAgBx7E,EAAKgxE,IAE3Bz4C,EAAMijD,cAAgBz4E,KAAKjD,IAAIy4B,EAAMijD,cAAex7E,EAAKgxE,MAIrC,kBAAbhxE,EAAKy4E,WACsB74D,IAAhC2Y,EAAM0+C,kBAAkBwB,MAC1BlgD,EAAM0+C,kBAAkBwB,IAAMz4E,EAAKy4E,UAGT74D,IAAxB2Y,EAAMggD,cACRhgD,EAAMggD,cAAgBv4E,EAAKy4E,IAE3BlgD,EAAMggD,cAAgBx1E,KAAKnD,IAAI24B,EAAMggD,cAAev4E,EAAKy4E,UAG/B74D,IAAxB2Y,EAAMkjD,cACRljD,EAAMkjD,cAAgBz7E,EAAKy4E,IAE3BlgD,EAAMkjD,cAAgB14E,KAAKjD,IAAIy4B,EAAMkjD,cAAez7E,EAAKy4E,OAS/DrD,EAAe,SAAS78C,UACfA,EAAMggD,qBACNhgD,EAAMkjD,qBACNljD,EAAMmgD,qBACNngD,EAAMijD,eAQfnG,EAAoC,SAAS98C,GAC3C,IACE2+C,EACAlO,EAGA0S,EAA2BnjD,EAAMggD,cAAgBhgD,EAAM0+C,kBAAkBwB,IAoB3E,OAhBAvB,EAAsB3+C,EAAM0+C,kBAAkBC,oBAG9CA,GAAuBwE,EAGvBxE,EAAsBn0E,KAAKjD,IAAI,EAAGo3E,GAEf,UAAf3+C,EAAMj7B,OAGR0rE,EAAQzwC,EAAM8/C,WAAarC,EAC3BkB,GAAuBlO,EACvBkO,EAAsBn0E,KAAKyxC,MAAM0iC,IAG5BA,GAQTlC,EAAiB,SAAS7pD,EAASwwD,GAIjC/hF,KAAKgiF,eAAiB,EACtBhiF,KAAK+hF,eAAiBA,EAEO,qBAAlBxwD,EAAQknD,MACjBz4E,KAAKiiF,cAAgB1wD,EAAQknD,MAE7Bz4E,KAAKiiF,aAAc,EAGrBjiF,KAAKkiF,cAAgB,GACrBliF,KAAKmiF,WAAa,KAClBniF,KAAKoiF,aAAe,GACpBpiF,KAAKqiF,gBAAkB,GACvBriF,KAAKsiF,gBAAkB,GACvBtiF,KAAKuiF,aAAe,EACpBviF,KAAKwiF,cAAgB,EAErBpH,EAAex8D,UAAUX,KAAKQ,KAAKze,MAGnCA,KAAK4S,KAAO,SAAS6vE,GAGnB,OAAIA,EAAOj4D,KACFxqB,KAAKqiF,gBAAgBzvE,KAAK6vE,GAG/BA,EAAO/E,OACF19E,KAAKsiF,gBAAgB1vE,KAAK6vE,IAMnCziF,KAAKkiF,cAActvE,KAAK6vE,EAAO9jD,OAC/B3+B,KAAKoiF,aAAaxvE,KAAK6vE,EAAOlX,OAC9BvrE,KAAKuiF,cAAgBE,EAAOlX,MAAMlsD,WAER,UAAtBojE,EAAO9jD,MAAMj7B,OACf1D,KAAKmiF,WAAaM,EAAO9jD,YAED,UAAtB8jD,EAAO9jD,MAAMj7B,OACf1D,KAAK0iF,WAAaD,EAAO9jD,WAK/By8C,EAAex8D,UAAY,IAAIZ,EAC/Bo9D,EAAex8D,UAAUI,MAAQ,SAASD,GACxC,IAQE4jE,EACAC,EACAhJ,EAEAzvE,EAXA2wE,EAAS,EACTzzE,EAAQ,CACN4+B,SAAU,GACV48C,eAAgB,GAChBn8C,SAAU,GACVzf,KAAM,IAKR67D,EAAmB,EAGrB,GAAI9iF,KAAKkiF,cAAc3xE,OAASvQ,KAAKgiF,eAAgB,CACnD,GAAoB,uBAAhBjjE,GACgB,uBAAhBA,EAIF,OACK,GAAI/e,KAAKiiF,YAGd,OACK,GAAkC,IAA9BjiF,KAAKkiF,cAAc3xE,OAa5B,OANAvQ,KAAKwiF,qBAEDxiF,KAAKwiF,eAAiBxiF,KAAKgiF,iBAC7BhiF,KAAKse,QAAQ,QACbte,KAAKwiF,cAAgB,IAuC3B,IAjCIxiF,KAAKmiF,YACPW,EAAmB9iF,KAAKmiF,WAAW9E,kBAAkBjG,IACrD+E,EAAiBz3E,SAAQ,SAASkkB,GAChCvhB,EAAM4f,KAAK2B,GAAQ5oB,KAAKmiF,WAAWv5D,KAClC5oB,OACMA,KAAK0iF,aACdI,EAAmB9iF,KAAK0iF,WAAWrF,kBAAkBjG,IACrD8E,EAAiBx3E,SAAQ,SAASkkB,GAChCvhB,EAAM4f,KAAK2B,GAAQ5oB,KAAK0iF,WAAW95D,KAClC5oB,OAG6B,IAA9BA,KAAKkiF,cAAc3xE,OACrBlJ,EAAM3D,KAAO1D,KAAKkiF,cAAc,GAAGx+E,KAEnC2D,EAAM3D,KAAO,WAGf1D,KAAKwiF,eAAiBxiF,KAAKkiF,cAAc3xE,OAEzCqpE,EAAc9lC,EAAI8lC,YAAY55E,KAAKkiF,eAGnC76E,EAAMuyE,YAAc,IAAIhJ,WAAWgJ,EAAYv6D,YAI/ChY,EAAMuyE,YAAYl4D,IAAIk4D,GAGtBvyE,EAAMjB,KAAO,IAAIwqE,WAAW5wE,KAAKuiF,cAG5Bp4E,EAAI,EAAGA,EAAInK,KAAKoiF,aAAa7xE,OAAQpG,IACxC9C,EAAMjB,KAAKsb,IAAI1hB,KAAKoiF,aAAaj4E,GAAI2wE,GACrCA,GAAU96E,KAAKoiF,aAAaj4E,GAAGkV,WAKjC,IAAKlV,EAAI,EAAGA,EAAInK,KAAKqiF,gBAAgB9xE,OAAQpG,IAC3Cw4E,EAAU3iF,KAAKqiF,gBAAgBl4E,GAC/Bw4E,EAAQ5jD,UAAa4jD,EAAQnL,SAAWsL,EACxCH,EAAQ5jD,WAAa,IACrB4jD,EAAQ3jD,QAAW2jD,EAAQlL,OAASqL,EACpCH,EAAQ3jD,SAAW,IACnB33B,EAAMw7E,eAAeF,EAAQjV,SAAU,EACvCrmE,EAAM4+B,SAASrzB,KAAK+vE,GAKtB,IAAKx4E,EAAI,EAAGA,EAAInK,KAAKsiF,gBAAgB/xE,OAAQpG,IAC3Cy4E,EAAM5iF,KAAKsiF,gBAAgBn4E,GAC3By4E,EAAIG,QAAWH,EAAIxL,IAAM0L,EACzBF,EAAIG,SAAW,IACf17E,EAAMq/B,SAAS9zB,KAAKgwE,GAItBv7E,EAAMq/B,SAASs8C,aAAehjF,KAAK+hF,eAAeiB,aAGlDhjF,KAAKkiF,cAAc3xE,OAAS,EAC5BvQ,KAAKmiF,WAAa,KAClBniF,KAAKoiF,aAAa7xE,OAAS,EAC3BvQ,KAAKqiF,gBAAgB9xE,OAAS,EAC9BvQ,KAAKuiF,aAAe,EACpBviF,KAAKsiF,gBAAgB/xE,OAAS,EAG9BvQ,KAAKse,QAAQ,OAAQjX,GAGjBrH,KAAKwiF,eAAiBxiF,KAAKgiF,iBAC7BhiF,KAAKse,QAAQ,QACbte,KAAKwiF,cAAgB,IASzBxf,EAAa,SAASzxC,GACpB,IAGE4wD,EACAO,EAHAn9D,EAAOvlB,KACPijF,GAAa,EAIfjgB,EAAWpkD,UAAUX,KAAKQ,KAAKze,MAE/BuxB,EAAUA,GAAW,GACrBvxB,KAAKs9E,oBAAsB/rD,EAAQ+rD,qBAAuB,EAC1Dt9E,KAAKkjF,kBAAoB,GAEzBljF,KAAKmjF,iBAAmB,WACtB,IAAIC,EAAW,GACfpjF,KAAKkjF,kBAAoBE,EAEzBA,EAAS1/E,KAAO,MAChB0/E,EAASrB,eAAiB,IAAInG,EAAKyH,eAGnCD,EAASE,UAAY,IAAIvH,EACzBqH,EAASG,6BAA+B,IAAI3H,EAAK4H,wBAAwB,SACzEJ,EAASK,qCAAuC,IAAI7H,EAAK4H,wBAAwB,kBACjFJ,EAASM,WAAa,IAAI7H,EAC1BuH,EAASO,eAAiB,IAAIvI,EAAe7pD,EAAS6xD,EAASrB,gBAC/DqB,EAASQ,eAAiBR,EAASE,UAEnCF,EAASE,UACNzkE,KAAKukE,EAASG,8BACd1kE,KAAKukE,EAASM,YACjBN,EAASE,UACNzkE,KAAKukE,EAASK,sCACd5kE,KAAKukE,EAASrB,gBACdljE,KAAKukE,EAASO,gBAEjBP,EAASrB,eAAerhF,GAAG,aAAa,SAASmjF,GAC/CT,EAASE,UAAUQ,aAAaD,EAAME,cAGxCX,EAASE,UAAU5iF,GAAG,QAAQ,SAAS0F,GACnB,mBAAdA,EAAK1C,MAA8B0/E,EAASY,qBAC9CtB,EAAaA,GAAc,CACzBrF,kBAAmB,CACjBC,oBAAqB/3D,EAAK+3D,qBAE5B99D,MAAO,OACP9b,KAAM,SAGR0/E,EAASO,eAAe3B,iBACxBoB,EAASY,mBAAqB,IAAI7I,EAAmBuH,GAErDU,EAASM,WACN7kE,KAAKukE,EAASY,oBACdnlE,KAAKukE,EAASO,oBAKrBP,EAASO,eAAejjF,GAAG,OAAQV,KAAKse,QAAQpP,KAAKlP,KAAM,SAE3DojF,EAASO,eAAejjF,GAAG,OAAQV,KAAKse,QAAQpP,KAAKlP,KAAM,UAG7DA,KAAKikF,gBAAkB,WACrB,IAAIb,EAAW,GACfpjF,KAAKkjF,kBAAoBE,EAEzBA,EAAS1/E,KAAO,KAChB0/E,EAASrB,eAAiB,IAAInG,EAAKyH,eAGnCD,EAASc,aAAe,IAAItI,EAAKuI,sBACjCf,EAASgB,YAAc,IAAIxI,EAAKyI,qBAChCjB,EAASkB,iBAAmB,IAAI1I,EAAK2I,iBACrCnB,EAASoB,6BAA+B,IAAI5I,EAAK4H,wBAAwB,SACzEJ,EAASG,6BAA+B,IAAI3H,EAAK4H,wBAAwB,SACzEJ,EAASK,qCAAuC,IAAI7H,EAAK4H,wBAAwB,kBACjFJ,EAASM,WAAa,IAAI7H,EAC1BuH,EAASqB,WAAa,IAAI3I,EAC1BsH,EAASsB,cAAgB,IAAI9I,EAAK+I,cAClCvB,EAASO,eAAiB,IAAIvI,EAAe7pD,EAAS6xD,EAASrB,gBAC/DqB,EAASQ,eAAiBR,EAASc,aAGnCd,EAASc,aACNrlE,KAAKukE,EAASgB,aACdvlE,KAAKukE,EAASkB,kBAIjBlB,EAASkB,iBACNzlE,KAAKukE,EAASoB,8BACd3lE,KAAKukE,EAASqB,YACjBrB,EAASkB,iBACNzlE,KAAKukE,EAASG,8BACd1kE,KAAKukE,EAASM,YAEjBN,EAASkB,iBACNzlE,KAAKukE,EAASK,sCACd5kE,KAAKukE,EAASrB,gBACdljE,KAAKukE,EAASO,gBAGjBP,EAASqB,WAAW5lE,KAAKukE,EAASsB,eAC/B7lE,KAAKukE,EAASO,gBAEjBP,EAASkB,iBAAiB5jF,GAAG,QAAQ,SAAS0F,GAC5C,IAAI+D,EAEJ,GAAkB,aAAd/D,EAAK1C,KAAqB,CAC5ByG,EAAI/D,EAAKi5B,OAAO9uB,OAGhB,MAAOpG,IACAg4E,GAAsC,UAAxB/7E,EAAKi5B,OAAOl1B,GAAGzG,KAGtBg/E,GAAsC,UAAxBt8E,EAAKi5B,OAAOl1B,GAAGzG,OACvCg/E,EAAat8E,EAAKi5B,OAAOl1B,GACzBu4E,EAAWrF,kBAAkBC,oBAAsB/3D,EAAK+3D,sBAJxD6E,EAAa/7E,EAAKi5B,OAAOl1B,GACzBg4E,EAAW9E,kBAAkBC,oBAAsB/3D,EAAK+3D,qBAQxD6E,IAAeiB,EAASwB,qBAC1BxB,EAASO,eAAe3B,iBACxBoB,EAASwB,mBAAqB,IAAI1J,EAAmBiH,EAAY5wD,GAEjE6xD,EAASwB,mBAAmBlkF,GAAG,qBAAqB,SAAS28E,GAIvDqF,IACFA,EAAWrF,kBAAoBA,EAK/B+F,EAASY,mBAAmB7G,eAAeE,EAAkBwB,SAIjEuE,EAASwB,mBAAmBlkF,GAAG,oBAC7B6kB,EAAKjH,QAAQpP,KAAKqW,EAAM,YAE1B69D,EAASwB,mBAAmBlkF,GAAG,uBAAuB,SAAS48E,GACzDoF,GACFU,EAASY,mBAAmBzG,4BAA4BD,MAK5D8F,EAASqB,WACN5lE,KAAKukE,EAASwB,oBACd/lE,KAAKukE,EAASO,iBAGfjB,IAAeU,EAASY,qBAE1BZ,EAASO,eAAe3B,iBACxBoB,EAASY,mBAAqB,IAAI7I,EAAmBuH,GAGrDU,EAASM,WACN7kE,KAAKukE,EAASY,oBACdnlE,KAAKukE,EAASO,qBAMvBP,EAASO,eAAejjF,GAAG,OAAQV,KAAKse,QAAQpP,KAAKlP,KAAM,SAE3DojF,EAASO,eAAejjF,GAAG,OAAQV,KAAKse,QAAQpP,KAAKlP,KAAM,UAI7DA,KAAK6kF,uBAAyB,SAASvH,GACrC,IAAI8F,EAAWpjF,KAAKkjF,kBAEpBljF,KAAKs9E,oBAAsBA,EACvBoF,IACFA,EAAWrF,kBAAkBwB,SAAM74D,EACnC08D,EAAWrF,kBAAkBjG,SAAMpxD,EACnCw1D,EAAakH,GACbA,EAAWrF,kBAAkBC,oBAAsBA,EAC/C8F,EAASG,8BACXH,EAASG,6BAA6BuB,iBAGtC3C,IACEiB,EAASwB,qBACXxB,EAASwB,mBAAmBzF,UAAY,GACxCiE,EAASoB,6BAA6BM,iBAExC3C,EAAW9E,kBAAkBwB,SAAM74D,EACnCm8D,EAAW9E,kBAAkBjG,SAAMpxD,EACnCw1D,EAAa2G,GACbiB,EAASsB,cAAcz2C,QACvBk0C,EAAW9E,kBAAkBC,oBAAsBA,GAGjD8F,EAASK,sCACXL,EAASK,qCAAqCqB,iBAIlD9kF,KAAKw9E,oBAAsB,SAASC,GAC9BiF,GACF1iF,KAAKkjF,kBAAkBc,mBAAmBxG,oBAAoBC,IAIlEz9E,KAAK0hF,cAAgB,SAASxH,GACxBiI,GAAcniF,KAAKkjF,kBAAkB0B,oBACvC5kF,KAAKkjF,kBAAkB0B,mBAAmBlD,cAAcxH,IAK5Dl6E,KAAK4S,KAAO,SAASxM,GACnB,GAAI68E,EAAY,CACd,IAAI8B,EAAQzJ,EAAgBl1E,GAExB2+E,GAAyC,QAAhC/kF,KAAKkjF,kBAAkBx/E,KAClC1D,KAAKmjF,mBACK4B,GAAyC,OAAhC/kF,KAAKkjF,kBAAkBx/E,MAC1C1D,KAAKikF,kBAEPhB,GAAa,EAEfjjF,KAAKkjF,kBAAkBU,eAAehxE,KAAKxM,IAI7CpG,KAAKgf,MAAQ,WACTikE,GAAa,EAEfjjF,KAAKkjF,kBAAkBU,eAAe5kE,SAIxChf,KAAKglF,cAAgB,WACfhlF,KAAKkjF,kBAAkBwB,eACzB1kF,KAAKkjF,kBAAkBwB,cAAcz2C,UAK3C+0B,EAAWpkD,UAAY,IAAIZ,EAE3BiB,EAAOC,QAAU,CACf8jD,WAAYA,EACZkY,mBAAoBA,EACpBC,mBAAoBA,EACpBe,iBAAkBA,EAClBC,iBAAkBA,I,qBC55CpB,IAAIx7D,EAAgB,CAClB,IAAI,EACJ,IAAM,GAGR,SAASC,EAAkBte,GACzB,GAAqB,kBAAVA,EACT,OAAO,EAET,IAAIue,EAASF,EAAcre,EAAMwe,eACjC,QAAOD,GAASve,EAAMwe,cAGxB,SAASC,EAAoBze,GAC3B,MAAwB,kBAAVA,GAAuBA,GAAS,GAAKA,GAAS,IAI9D,SAAS0e,IACP,IAAIC,EAAS,IACTC,EAAS,EACTC,EAAiB,EACjBC,EAAiB,IACjBC,EAAmB,EACnBC,EAAmB,IACnBC,EAAU,GAEd/c,OAAOgd,iBAAiBxhB,KAAM,CAC5B,MAAS,CACPyhB,YAAY,EACZxM,IAAK,WACH,OAAOgM,GAETS,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,oCAElBV,EAAS3e,IAGb,MAAS,CACPmf,YAAY,EACZxM,IAAK,WACH,OAAOiM,GAETQ,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,EACT,MAAM,IAAIsf,UAAU,kCAEtBV,EAAS5e,IAGb,cAAiB,CACfmf,YAAY,EACZxM,IAAK,WACH,OAAOmM,GAETM,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,4CAElBP,EAAiB9e,IAGrB,cAAiB,CACfmf,YAAY,EACZxM,IAAK,WACH,OAAOkM,GAETO,IAAK,SAASpf,GACZ,IAAIye,EAAoBze,GACtB,MAAM,IAAIqf,MAAM,4CAElBR,EAAiB7e,IAGrB,gBAAmB,CACjBmf,YAAY,EACZxM,IAAK,WACH,OAAOqM,GAETI,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,8CAElBL,EAAmBhf,IAGvB,gBAAmB,CACjBmf,YAAY,EACZxM,IAAK,WACH,OAAOoM,GAETK,IAAK,SAASpf,GACZ,IAAKye,EAAoBze,GACvB,MAAM,IAAIqf,MAAM,8CAElBN,EAAmB/e,IAGvB,OAAU,CACRmf,YAAY,EACZxM,IAAK,WACH,OAAOsM,GAETG,IAAK,SAASpf,GACZ,IAAIuf,EAAUjB,EAAkBte,GAEhC,IAAgB,IAAZuf,EACF,MAAM,IAAIC,YAAY,+CAExBP,EAAUM,MAMlB5C,EAAOC,QAAU8B,G,qCCrIjB,IAAIikE,EAAa,CAAC,GAAI,GAAI,EAAG,GAAI,IAAK,IAClCC,EAAY,CAAC,GAAI,GAAI,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,KACjEC,EAAW,SAAS5c,GACtB,IAAIrhD,EAAI,GACR,MAAOqhD,IACLrhD,EAAEtU,KAAK,GAET,OAAOsU,GAGLk+D,EAAY,SAASC,GACvB,OAAO7gF,OAAOC,KAAK4gF,GAAWv/D,QAAO,SAAS5hB,EAAKhB,GAIjD,OAHAgB,EAAIhB,GAAO,IAAI0tE,WAAWyU,EAAUniF,GAAK4iB,QAAO,SAASw/D,EAAKxnC,GAC5D,OAAOwnC,EAAIlnE,OAAO0/B,KACjB,KACI55C,IACN,KAID83E,EAAgB,CAClBuJ,KAAO,CAACN,EAAY,CAAC,IAAK,IAAKE,EAAS,KAAM,CAAC,KAC/CK,MAAO,CAACP,EAAY,CAAC,KAAME,EAAS,KAAM,CAAC,KAC3CM,KAAO,CAACR,EAAY,CAAC,IAAK,KAAME,EAAS,KAAM,CAAC,KAChDO,KAAO,CAACT,EAAY,CAAC,IAAK,KAAME,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,IAAK,CAAC,MAC9EQ,MAAO,CAACV,EAAY,CAAC,IAAK,KAAME,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,IAAK,CAAC,MAC9ES,KAAO,CAACX,EAAY,CAAC,IAAK,KAAME,EAAS,KAAM,CAAC,GAAI,KAAMA,EAAS,KAAM,CAAC,MAC1EU,KAAO,CAACZ,EAAY,CAAC,IAAK,KAAME,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,KAAM,CAAC,IAAK,KAAMA,EAAS,KAAM,CAAC,MAC1GW,KAAO,CAACb,EAAY,CAAC,IAAK,KAAME,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,KAAM,CAAC,IAAK,KAAMA,EAAS,KAAM,CAAC,IAAK,KAAMA,EAAS,KAAM,CAAC,EAAG,MACxIY,KAAO,CAACb,EAAWC,EAAS,KAAM,CAAC,EAAG,IAAK,KAAMA,EAAS,KAAM,CAAC,EAAG,IAAK,KAAMA,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,KAAM,CAAC,KAC7Ja,MAAO,CAACd,EAAWC,EAAS,KAAM,CAAC,EAAG,IAAK,KAAMA,EAAS,KAAM,CAAC,EAAG,IAAK,KAAMA,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,KAAM,CAAC,GAAI,IAAK,KAAMA,EAAS,KAAM,CAAC,MAC5Lc,IAAM,CAACf,EAAWC,EAAS,KAAM,CAAC,EAAG,IAAK,IAAKA,EAAS,IAAK,CAAC,KAGhElmE,EAAOC,QAAUkmE,EAAUpJ,I,2DCrB3B,IAAIh+D,EAAS,EAAQ,QAEjBkoE,EAAS,WAETC,EAAY,WAEZC,EAAiB,SAAS9jF,EAAOopE,GACnC,IAAItC,EAAY,EAEZ9mE,EAAQopE,IAQVtC,GAAa,GAKf,MAAOjgE,KAAK4hE,IAAIW,EAAYppE,GAAS6jF,EACnC7jF,GAAU8mE,EAAY8c,EAGxB,OAAO5jF,GAGLkhF,EAA0B,SAAS9/E,GACrC,IAAI2iF,EAASC,EAEb9C,EAAwB5kE,UAAUX,KAAKQ,KAAKze,MAE5CA,KAAKumF,MAAQ7iF,EAEb1D,KAAK4S,KAAO,SAASxM,GACfA,EAAK1C,OAAS1D,KAAKumF,aAIFvgE,IAAjBsgE,IACFA,EAAelgF,EAAKy4E,KAGtBz4E,EAAKy4E,IAAMuH,EAAehgF,EAAKy4E,IAAKyH,GACpClgF,EAAKgxE,IAAMgP,EAAehgF,EAAKgxE,IAAKkP,GAEpCD,EAAUjgF,EAAKy4E,IAEf7+E,KAAKse,QAAQ,OAAQlY,KAGvBpG,KAAKgf,MAAQ,WACXsnE,EAAeD,EACfrmF,KAAKse,QAAQ,SAGfte,KAAK8kF,cAAgB,WACnBwB,OAAe,EACfD,OAAU,IAKd7C,EAAwB5kE,UAAY,IAAIZ,EAExCiB,EAAOC,QAAU,CACfskE,wBAAyBA,EACzB4C,eAAgBA,I,oCCvElB,IAAIpoE,EAAS,WACXhe,KAAKie,KAAO,WACV,IAAIC,EAAY,GAOhBle,KAAKU,GAAK,SAASgD,EAAMya,GAClBD,EAAUxa,KACbwa,EAAUxa,GAAQ,IAEpBwa,EAAUxa,GAAQwa,EAAUxa,GAAM0a,OAAOD,IAQ3Cne,KAAKqe,IAAM,SAAS3a,EAAMya,GACxB,IAAI9V,EACJ,QAAK6V,EAAUxa,KAGf2E,EAAQ6V,EAAUxa,GAAMC,QAAQwa,GAChCD,EAAUxa,GAAQwa,EAAUxa,GAAM+Q,QAClCyJ,EAAUxa,GAAMqN,OAAO1I,EAAO,GACvBA,GAAS,IAOlBrI,KAAKse,QAAU,SAAS5a,GACtB,IAAI6a,EAAWpU,EAAGoG,EAAQiO,EAE1B,GADAD,EAAYL,EAAUxa,GACjB6a,EAOL,GAAyB,IAArB7U,UAAU6G,OAEZ,IADAA,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGsU,KAAKze,KAAM0J,UAAU,QAE/B,CAGL,IAFA8U,EAAO,GACPrU,EAAIT,UAAU6G,OACTpG,EAAI,EAAGA,EAAIT,UAAU6G,SAAUpG,EAClCqU,EAAK5L,KAAKlJ,UAAUS,IAGtB,IADAoG,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGuU,MAAM1e,KAAMwe,KAO/Bxe,KAAK2e,QAAU,WACbT,EAAY,MAclBF,EAAOY,UAAUC,KAAO,SAASC,GAS/B,OARA9e,KAAKU,GAAG,QAAQ,SAAS0F,GACvB0Y,EAAYlM,KAAKxM,MAGnBpG,KAAKU,GAAG,QAAQ,SAASqe,GACvBD,EAAYE,MAAMD,MAGbD,GAOTd,EAAOY,UAAUhM,KAAO,SAASxM,GAC/BpG,KAAKse,QAAQ,OAAQlY,IAGvB4X,EAAOY,UAAUI,MAAQ,SAASD,GAChC/e,KAAKse,QAAQ,OAAQS,IAGvBE,EAAOC,QAAUlB,G,sDCnGjB,SAASklD,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI8gE,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnCojB,EAAa,WACf,IAAIrkE,EAAM,SAASskE,EAAYl1D,EAAS1uB,GAEtC0uB,GAAU,EAAI6xC,EAAS3sC,cAAc,CACnC5C,QAAS,MACRtC,GAIH,IAAIm1D,EAAgBD,EAAYC,eAAiBrjB,EAAU,WAAWsjB,IAAIxkE,IAAIukE,cAE9E,GAAIA,GAA0C,oBAAlBA,EAA8B,CACxD,IAAIxiB,EAAawiB,EAAcn1D,GAE3B2yC,IACF3yC,EAAU2yC,GAId,IAAIjK,GAAU,EAAImJ,EAASjhD,KAAKoP,GAAS,SAAU3J,EAAOuhB,GACxD,IAAIy9C,EAAc3sB,EAAQ9wB,UAErBvhB,GAASg/D,IACZ3sB,EAAQ4sB,aAAe9wE,KAAKC,MAC5BikD,EAAQ6sB,cAAgB7sB,EAAQ4sB,aAAe5sB,EAAQ8sB,YACvD9sB,EAAQ+sB,cAAgBJ,EAAYvnE,YAAcunE,EAAYr2E,OACzD0pD,EAAQgtB,YACXhtB,EAAQgtB,UAAY99E,KAAKyxC,MAAMqf,EAAQ+sB,cAAgB/sB,EAAQ6sB,cAAgB,EAAI,OAOnFl/D,GAAwB,cAAfA,EAAMxR,OACjB6jD,EAAQitB,UAAW,GAMhBt/D,GAAUqyC,EAAQktB,SAAmC,MAAxBh+C,EAASi+C,YAA8C,MAAxBj+C,EAASi+C,YAA8C,IAAxBj+C,EAASi+C,aACvGx/D,EAAQ,IAAIjG,MAAM,mCAAqCs4C,IAAY2sB,GAAe3sB,EAAQotB,iBAG5FxkF,EAAS+kB,EAAOqyC,MAEdqtB,EAAgBrtB,EAAQuY,MAQ5B,OANAvY,EAAQuY,MAAQ,WAEd,OADAvY,EAAQktB,SAAU,EACXG,EAAc5oE,MAAMu7C,EAASvwD,YAEtCuwD,EAAQhxB,IAAM1X,EAAQ0X,IACtBgxB,EAAQ8sB,YAAchxE,KAAKC,MACpBikD,GAGT,OAAO93C,GAGTjD,EAAQ,WAAasnE,EACrBvnE,EAAOC,QAAUA,EAAQ,Y,sBCrFzB,gBAIIqoE,EAJJ,2BACsB,qBAAX/7E,OAAyBA,OAAS,GACzCg8E,EAAS,EAAQ,GAIG,qBAAb57E,SACP27E,EAAQ37E,UAER27E,EAAQE,EAAS,6BAEZF,IACDA,EAAQE,EAAS,6BAA+BD,IAIxDvoE,EAAOC,QAAUqoE,I,8CChBjB,gBAIIA,EAJJ,2BACsB,qBAAX/7E,OAAyBA,OAAS,GACzCg8E,EAAS,EAAQ,GAIG,qBAAb57E,SACP27E,EAAQ37E,UAER27E,EAAQE,EAAS,6BAEZF,IACDA,EAAQE,EAAS,6BAA+BD,IAIxDvoE,EAAOC,QAAUqoE,I,2CCEjB,IAAInjB,EAAa5/D,OAAOI,QAAU,WAChC,SAASy/D,KACT,OAAO,SAAS9a,GACd,GAAyB,IAArB7/C,UAAU6G,OACZ,MAAM,IAAIoR,MAAM,kDAGlB,OADA0iD,EAAEzlD,UAAY2qC,EACP,IAAI8a,GAPmB,GAelC,SAASC,EAAaC,EAAW/tD,GAC/BxW,KAAKoC,KAAO,eACZpC,KAAKoW,KAAOmuD,EAAUnuD,KACtBpW,KAAKwW,QAAUA,GAAW+tD,EAAU/tD,QAkBtC,SAASguD,EAAeC,GAEtB,SAASC,EAAej7D,EAAG4nB,EAAGujB,EAAG+vB,GAC/B,OAAiB,MAAL,EAAJl7D,GAA0B,IAAL,EAAJ4nB,IAAmB,EAAJujB,IAAc,EAAJ+vB,GAAS,IAG7D,IAAItzC,EAAIozC,EAAMxhD,MAAM,oCACpB,OAAKoO,EAIDA,EAAE,GAEGqzC,EAAerzC,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAGtkB,QAAQ,IAAK,IAAKskB,EAAE,IAClDA,EAAE,GAAK,GAGTqzC,EAAerzC,EAAE,GAAIA,EAAE,GAAI,EAAIA,EAAE,IAGjCqzC,EAAe,EAAGrzC,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAZhC,KAkBX,SAASuzC,IACP5kE,KAAKiqD,OAASma,EAAW,MAwD3B,SAASS,EAAaJ,EAAO5hE,EAAUiiE,EAAeC,GACpD,IAAIC,EAASD,EAAaN,EAAM3kD,MAAMilD,GAAc,CAACN,GACrD,IAAK,IAAIt6D,KAAK66D,EACZ,GAAyB,kBAAdA,EAAO76D,GAAlB,CAGA,IAAI86D,EAAKD,EAAO76D,GAAG2V,MAAMglD,GACzB,GAAkB,IAAdG,EAAG10D,OAAP,CAGA,IAAIqc,EAAIq4C,EAAG,GACPzc,EAAIyc,EAAG,GACXpiE,EAAS+pB,EAAG47B,KAIhB,SAAS0c,EAAST,EAAO3lC,EAAKqmC,GAE5B,IAAIC,EAASX,EAEb,SAASY,IACP,IAAIC,EAAKd,EAAeC,GACxB,GAAW,OAAPa,EACF,MAAM,IAAIhB,EAAaA,EAAaiB,OAAOC,aACrB,wBAA0BJ,GAIlD,OADAX,EAAQA,EAAM13D,QAAQ,iBAAkB,IACjCu4D,EAIT,SAASG,EAAmBhB,EAAO3lC,GACjC,IAAI4K,EAAW,IAAIk7B,EAEnBC,EAAaJ,GAAO,SAAU73C,EAAG47B,GAC/B,OAAQ57B,GACR,IAAK,SAEH,IAAK,IAAIziB,EAAIg7D,EAAW50D,OAAS,EAAGpG,GAAK,EAAGA,IAC1C,GAAIg7D,EAAWh7D,GAAGhH,KAAOqlD,EAAG,CAC1B9e,EAAShoB,IAAIkL,EAAGu4C,EAAWh7D,GAAGu7D,QAC9B,MAGJ,MACF,IAAK,WACHh8B,EAASi8B,IAAI/4C,EAAG47B,EAAG,CAAC,KAAM,OAC1B,MACF,IAAK,OACH,IAAIod,EAAOpd,EAAE1oC,MAAM,KACf+lD,EAAQD,EAAK,GACjBl8B,EAASo8B,QAAQl5C,EAAGi5C,GACpBn8B,EAASmU,QAAQjxB,EAAGi5C,IAASn8B,EAAShoB,IAAI,eAAe,GACzDgoB,EAASi8B,IAAI/4C,EAAGi5C,EAAO,CAAC,SACJ,IAAhBD,EAAKr1D,QACPm5B,EAASi8B,IAAI,YAAaC,EAAK,GAAI,CAAC,QAAS,SAAU,QAEzD,MACF,IAAK,WACHA,EAAOpd,EAAE1oC,MAAM,KACf4pB,EAASmU,QAAQjxB,EAAGg5C,EAAK,IACL,IAAhBA,EAAKr1D,QACPm5B,EAASi8B,IAAI,gBAAiBC,EAAK,GAAI,CAAC,QAAS,SAAU,QAE7D,MACF,IAAK,OACHl8B,EAASmU,QAAQjxB,EAAG47B,GACpB,MACF,IAAK,QACH9e,EAASi8B,IAAI/4C,EAAG47B,EAAG,CAAC,QAAS,SAAU,MAAO,OAAQ,UACtD,SAED,IAAK,MAGR1pB,EAAI4mC,OAASh8B,EAASz0B,IAAI,SAAU,MACpC6pB,EAAIt5B,SAAWkkC,EAASz0B,IAAI,WAAY,IACxC6pB,EAAIinC,KAAOr8B,EAASz0B,IAAI,OAAQ,QAChC6pB,EAAIknC,UAAYt8B,EAASz0B,IAAI,YAAa,SAC1C6pB,EAAImnC,YAAcv8B,EAASz0B,IAAI,eAAe,GAC9C6pB,EAAIr4B,KAAOijC,EAASz0B,IAAI,OAAQ,KAChC6pB,EAAIonC,MAAQx8B,EAASz0B,IAAI,QAAS,UAClC6pB,EAAIhzB,SAAW49B,EAASz0B,IAAI,WAAY,CACtCuoB,MAAO,EACP50B,KAAM,EACNG,OAAQ,GACRG,IAAK,IACLJ,MAAO,KACNg2B,EAAIonC,OACPpnC,EAAIqnC,cAAgBz8B,EAASz0B,IAAI,gBAAiB,CAChDuoB,MAAO,QACP50B,KAAM,QACNG,OAAQ,SACRG,IAAK,MACLJ,MAAO,OACNg2B,EAAIonC,OAGT,SAASE,IACP3B,EAAQA,EAAM13D,QAAQ,OAAQ,IAOhC,GAHAq5D,IACAtnC,EAAIC,UAAYsmC,IAChBe,IAC2B,WAAvB3B,EAAM4B,OAAO,EAAG,GAClB,MAAM,IAAI/B,EAAaA,EAAaiB,OAAOC,aACpB,qEACAJ,GAEzBX,EAAQA,EAAM4B,OAAO,GACrBD,IACAtnC,EAAIE,QAAUqmC,IAGde,IACAX,EAAmBhB,EAAO3lC,GAzN5BwlC,EAAa1lD,UAAYwlD,EAAWziD,MAAM/C,WAC1C0lD,EAAa1lD,UAAU+F,YAAc2/C,EAGrCA,EAAaiB,OAAS,CACpBe,aAAc,CACZlwD,KAAM,EACNI,QAAS,+BAEXgvD,aAAc,CACZpvD,KAAM,EACNI,QAAS,0BAmCbouD,EAAShmD,UAAY,CAEnB8C,IAAK,SAASkL,EAAG47B,GACVxoD,KAAKiV,IAAI2X,IAAY,KAAN47B,IAClBxoD,KAAKiqD,OAAOr9B,GAAK47B,IAQrBvzC,IAAK,SAAS2X,EAAG25C,EAAMC,GACrB,OAAIA,EACKxmE,KAAK8rB,IAAIc,GAAK5sB,KAAKiqD,OAAOr9B,GAAK25C,EAAKC,GAEtCxmE,KAAK8rB,IAAIc,GAAK5sB,KAAKiqD,OAAOr9B,GAAK25C,GAGxCz6C,IAAK,SAASc,GACZ,OAAOA,KAAK5sB,KAAKiqD,QAGnB0b,IAAK,SAAS/4C,EAAG47B,EAAGthC,GAClB,IAAK,IAAIoK,EAAI,EAAGA,EAAIpK,EAAE3W,SAAU+gB,EAC9B,GAAIk3B,IAAMthC,EAAEoK,GAAI,CACdtxB,KAAK0hB,IAAIkL,EAAG47B,GACZ,QAKNsd,QAAS,SAASl5C,EAAG47B,GACf,UAAU57C,KAAK47C,IACjBxoD,KAAK0hB,IAAIkL,EAAG2N,SAASiuB,EAAG,MAI5B3K,QAAS,SAASjxB,EAAG47B,GAEnB,SAASA,EAAEvlC,MAAM,8BACfulC,EAAI9lC,WAAW8lC,GACXA,GAAK,GAAKA,GAAK,QACjBxoD,KAAK0hB,IAAIkL,EAAG47B,IACL,KAkIf,IAAIie,EAAS,CACX,QAAS,IACT,OAAQ,IACR,OAAQ,IACR,QAAS,IACT,QAAS,IACT,SAAU,KAGRC,EAAW,CACbh7C,EAAG,OACHvhB,EAAG,IACHwyD,EAAG,IACHgK,EAAG,IACHC,KAAM,OACNC,GAAI,KACJre,EAAG,OACHse,KAAM,QAGJC,EAAiB,CACnBve,EAAG,QACHse,KAAM,QAGJE,EAAe,CACjBH,GAAI,QAIN,SAASI,EAAaz7D,EAAQi5D,GAC5B,SAASyC,IAEP,IAAKzC,EACH,OAAO,KAIT,SAAS0C,EAAQrvD,GAEf,OADA2sD,EAAQA,EAAM4B,OAAOvuD,EAAOvH,QACrBuH,EAGT,IAAIuZ,EAAIozC,EAAMxhD,MAAM,uBAGpB,OAAOkkD,EAAQ91C,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAIjC,SAAS+1C,EAAU78D,GACjB,OAAOk8D,EAAOl8D,GAEhB,SAAS88D,EAASzyB,GAChB,MAAQvjB,EAAIujB,EAAE3xB,MAAM,8BAClB2xB,EAAIA,EAAE7nC,QAAQskB,EAAE,GAAI+1C,GAEtB,OAAOxyB,EAGT,SAAS0yB,EAAUnI,EAASn0C,GAC1B,OAAQg8C,EAAah8C,EAAQu8C,YACtBP,EAAah8C,EAAQu8C,aAAepI,EAAQoI,UAIrD,SAASljD,EAAc3gB,EAAM8jE,GAC3B,IAAIz9C,EAAU28C,EAAShjE,GACvB,IAAKqmB,EACH,OAAO,KAET,IAAIiB,EAAUxf,EAAOI,SAASyY,cAAc0F,GAC5CiB,EAAQu8C,UAAYx9C,EACpB,IAAI3nB,EAAO2kE,EAAerjE,GAI1B,OAHItB,GAAQolE,IACVx8C,EAAQ5oB,GAAQolE,EAAW3nD,QAEtBmL,EAGT,IAEI2G,EAFA81C,EAAUj8D,EAAOI,SAASyY,cAAc,OACxC86C,EAAUsI,EAEVC,EAAW,GAEf,MAA6B,QAArB/1C,EAAIu1C,KACV,GAAa,MAATv1C,EAAE,GA+CNwtC,EAAQr0C,YAAYtf,EAAOI,SAASwiB,eAAei5C,EAAS11C,SA/C5D,CACE,GAAa,MAATA,EAAE,GAAY,CAEZ+1C,EAASn3D,QACTm3D,EAASA,EAASn3D,OAAS,KAAOohB,EAAE00C,OAAO,GAAGt5D,QAAQ,IAAK,MAC7D26D,EAAS/kD,MACTw8C,EAAUA,EAAQxyC,YAGpB,SAEF,IACI0B,EADAi3C,EAAKd,EAAe7yC,EAAE00C,OAAO,EAAG10C,EAAEphB,OAAS,IAE/C,GAAI+0D,EAAI,CAENj3C,EAAO7iB,EAAOI,SAAS+7D,4BAA4B,YAAarC,GAChEnG,EAAQr0C,YAAYuD,GACpB,SAEF,IAAIgD,EAAIM,EAAE1O,MAAM,oDAEhB,IAAKoO,EACH,SAIF,GADAhD,EAAOhK,EAAcgN,EAAE,GAAIA,EAAE,KACxBhD,EACH,SAIF,IAAKi5C,EAAUnI,EAAS9wC,GACtB,SAGEgD,EAAE,KACJhD,EAAKhF,UAAYgI,EAAE,GAAGg1C,OAAO,GAAGt5D,QAAQ,IAAK,MAI/C26D,EAAS90D,KAAKye,EAAE,IAChB8tC,EAAQr0C,YAAYuD,GACpB8wC,EAAU9wC,EAQd,OAAOo5C,EAQT,IAAIG,EAAkB,CAAC,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAC9E,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MACxE,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAO,MAAQ,CAAC,KAAQ,MACzD,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAC/D,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAC/D,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAC/D,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAS,OAAU,CAAC,MAAS,OAClE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OACtE,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QACtE,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,QAAU,UAExE,SAASC,EAAgB/2C,GACvB,IAAK,IAAI3mB,EAAI,EAAGA,EAAIy9D,EAAgBr3D,OAAQpG,IAAK,CAC/C,IAAI29D,EAAeF,EAAgBz9D,GACnC,GAAI2mB,GAAYg3C,EAAa,IAAMh3C,GAAYg3C,EAAa,GAC1D,OAAO,EAIX,OAAO,EAGT,SAASC,EAAcrvB,GACrB,IAEI5nB,EAFAk3C,EAAY,GACZx9C,EAAO,GAGX,IAAKkuB,IAAWA,EAAOhgB,WACrB,MAAO,MAGT,SAASuvC,EAAUD,EAAW35C,GAC5B,IAAK,IAAIlkB,EAAIkkB,EAAKqK,WAAWnoB,OAAS,EAAGpG,GAAK,EAAGA,IAC/C69D,EAAUp1D,KAAKyb,EAAKqK,WAAWvuB,IAInC,SAAS+9D,EAAaF,GACpB,IAAKA,IAAcA,EAAUz3D,OAC3B,OAAO,KAGT,IAAI8d,EAAO25C,EAAUrlD,MACjB6H,EAAO6D,EAAKhE,aAAegE,EAAK5D,UACpC,GAAID,EAAM,CAGR,IAAI6G,EAAI7G,EAAKvH,MAAM,cACnB,OAAIoO,GACF22C,EAAUz3D,OAAS,EACZ8gB,EAAE,IAEJ7G,EAET,MAAqB,SAAjB6D,EAAKtE,QACAm+C,EAAaF,GAElB35C,EAAKqK,YACPuvC,EAAUD,EAAW35C,GACd65C,EAAaF,SAFtB,EAMFC,EAAUD,EAAWtvB,GACrB,MAAQluB,EAAO09C,EAAaF,GAC1B,IAAK,IAAI79D,EAAI,EAAGA,EAAIqgB,EAAKja,OAAQpG,IAE/B,GADA2mB,EAAWtG,EAAK29C,WAAWh+D,GACvB09D,EAAgB/2C,GAClB,MAAO,MAIb,MAAO,MAGT,SAASs3C,EAAetpC,GACtB,GAAwB,kBAAbA,EAAIinC,OACVjnC,EAAImnC,aAAgBnnC,EAAIinC,MAAQ,GAAKjnC,EAAIinC,MAAQ,KACpD,OAAOjnC,EAAIinC,KAEb,IAAKjnC,EAAIH,QAAUG,EAAIH,MAAM0pC,gBACxBvpC,EAAIH,MAAM0pC,cAAcC,aAC3B,OAAQ,EAKV,IAHA,IAAI3pC,EAAQG,EAAIH,MACZiZ,EAAYjZ,EAAM0pC,cAClBE,EAAQ,EACHp+D,EAAI,EAAGA,EAAIytC,EAAUrnC,QAAUqnC,EAAUztC,KAAOw0B,EAAOx0B,IACpC,YAAtBytC,EAAUztC,GAAGy/B,MACf2+B,IAGJ,OAAkB,IAATA,EAGX,SAASC,KAoBT,SAASC,EAAYj9D,EAAQszB,EAAK4pC,GAChC,IAAIC,EAAQ,aAAe/7D,KAAKC,UAAUC,WACtCpC,EAAQ,yBACRmuC,EAAkB,qBAElB8vB,IACFj+D,EAAQ,qBACRmuC,EAAkB,gBAGpB2vB,EAAS/pD,KAAKze,MACdA,KAAK8+B,IAAMA,EAIX9+B,KAAK04C,OAASuuB,EAAaz7D,EAAQszB,EAAItU,MACvC,IAAIo+C,EAAS,CACXl+D,MAAOA,EACPmuC,gBAAiBA,EACjB/sC,SAAU,WACVlD,KAAM,EACNE,MAAO,EACPJ,IAAK,EACL2H,OAAQ,EACRw4D,QAAS,UAGNF,IACHC,EAAOE,YAA+B,KAAjBhqC,EAAIt5B,SAAkB,gBACiB,OAAjBs5B,EAAIt5B,SAAoB,cACA,cACnEojE,EAAOG,YAAc,aAEvB/oE,KAAKgpE,YAAYJ,EAAQ5oE,KAAK04C,QAK9B14C,KAAKonC,IAAM57B,EAAOI,SAASyY,cAAc,OACzCukD,EAAS,CACPK,UAAyB,WAAdnqC,EAAIonC,MAAqB,SAAWpnC,EAAIonC,MACnDgD,KAAMR,EAAaQ,KACnBC,WAAY,WACZr9D,SAAU,YAGP68D,IACHC,EAAOQ,UAAYrB,EAAc/nE,KAAK04C,QACtCkwB,EAAOE,YAA+B,KAAjBhqC,EAAIt5B,SAAkB,gBACiB,OAAjBs5B,EAAIt5B,SAAoB,cACA,cACnE6jE,kBAAqB,aAGvBrpE,KAAKgpE,YAAYJ,GAEjB5oE,KAAKonC,IAAItc,YAAY9qB,KAAK04C,QAK1B,IAAI4wB,EAAU,EACd,OAAQxqC,EAAIqnC,eACZ,IAAK,QACHmD,EAAUxqC,EAAIhzB,SACd,MACF,IAAK,SACHw9D,EAAUxqC,EAAIhzB,SAAYgzB,EAAIr4B,KAAO,EACrC,MACF,IAAK,MACH6iE,EAAUxqC,EAAIhzB,SAAWgzB,EAAIr4B,KAC7B,MAMmB,KAAjBq4B,EAAIt5B,SACNxF,KAAKgpE,YAAY,CACfpgE,KAAO5I,KAAKupE,YAAYD,EAAS,KACjC5iE,MAAO1G,KAAKupE,YAAYzqC,EAAIr4B,KAAM,OAMpCzG,KAAKgpE,YAAY,CACftgE,IAAK1I,KAAKupE,YAAYD,EAAS,KAC/B3nE,OAAQ3B,KAAKupE,YAAYzqC,EAAIr4B,KAAM,OAIvCzG,KAAKwpE,KAAO,SAAS18C,GACnB9sB,KAAKgpE,YAAY,CACftgE,IAAK1I,KAAKupE,YAAYz8C,EAAIpkB,IAAK,MAC/B2H,OAAQrQ,KAAKupE,YAAYz8C,EAAIzc,OAAQ,MACrCzH,KAAM5I,KAAKupE,YAAYz8C,EAAIlkB,KAAM,MACjCE,MAAO9I,KAAKupE,YAAYz8C,EAAIhkB,MAAO,MACnCnH,OAAQ3B,KAAKupE,YAAYz8C,EAAInrB,OAAQ,MACrC+E,MAAO1G,KAAKupE,YAAYz8C,EAAIpmB,MAAO,SAUzC,SAAS+iE,EAAYvlE,GACnB,IAMIwlE,EAAI/nE,EAAQ+E,EAAOgC,EANnBigE,EAAQ,aAAe/7D,KAAKC,UAAUC,WAO1C,GAAI5I,EAAIkjC,IAAK,CACXzlC,EAASuC,EAAIkjC,IAAI/sB,aACjB3T,EAAQxC,EAAIkjC,IAAI5Z,YAChB9kB,EAAMxE,EAAIkjC,IAAIuiC,UAEd,IAAIC,GAASA,EAAQ1lE,EAAIkjC,IAAI1O,cAAgBkxC,EAAQA,EAAM,KAC/CA,EAAMC,gBAAkBD,EAAMC,iBAC1C3lE,EAAMA,EAAIkjC,IAAIr/B,wBAKd2hE,EAAKE,EAAQzgE,KAAKjD,IAAK0jE,EAAM,IAAMA,EAAM,GAAGjoE,QAAW,EAAGuC,EAAIvC,OAASioE,EAAMr5D,QAChE,EAGfvQ,KAAK4I,KAAO1E,EAAI0E,KAChB5I,KAAK8I,MAAQ5E,EAAI4E,MACjB9I,KAAK0I,IAAMxE,EAAIwE,KAAOA,EACtB1I,KAAK2B,OAASuC,EAAIvC,QAAUA,EAC5B3B,KAAKqQ,OAASnM,EAAImM,QAAW3H,GAAOxE,EAAIvC,QAAUA,GAClD3B,KAAK0G,MAAQxC,EAAIwC,OAASA,EAC1B1G,KAAK8pE,gBAAoB9jD,IAAP0jD,EAAmBA,EAAKxlE,EAAI4lE,WAE1CnB,IAAU3oE,KAAK8pE,aACjB9pE,KAAK8pE,WAAa,IAuHtB,SAASC,EAAsBv+D,EAAQw+D,EAAUC,EAAcC,GAO7D,SAASC,EAAiBxN,EAAGyN,GAK3B,IAJA,IAAIC,EACAC,EAAoB,IAAIb,EAAY9M,GACpCxf,EAAa,EAERhzC,EAAI,EAAGA,EAAIigE,EAAK75D,OAAQpG,IAAK,CACpC,MAAOwyD,EAAE4N,qBAAqBN,EAAcG,EAAKjgE,KACzCwyD,EAAE6N,OAAOP,IAAiBtN,EAAE8N,YAAYP,GAC9CvN,EAAE6M,KAAKY,EAAKjgE,IAId,GAAIwyD,EAAE6N,OAAOP,GACX,OAAOtN,EAET,IAAImE,EAAInE,EAAE+N,oBAAoBT,GAG1B9sB,EAAa2jB,IACfuJ,EAAe,IAAIZ,EAAY9M,GAC/Bxf,EAAa2jB,GAGfnE,EAAI,IAAI8M,EAAYa,GAEtB,OAAOD,GAAgBC,EAGzB,IAAIK,EAAc,IAAIlB,EAAYO,GAC9BlrC,EAAMkrC,EAASlrC,IACf8rC,EAAUxC,EAAetpC,GACzBsrC,EAAO,GAGX,GAAItrC,EAAImnC,YAAa,CACnB,IAAIx/D,EACJ,OAAQq4B,EAAIt5B,UACZ,IAAK,GACH4kE,EAAO,CAAE,KAAM,MACf3jE,EAAO,SACP,MACF,IAAK,KACH2jE,EAAO,CAAE,KAAM,MACf3jE,EAAO,QACP,MACF,IAAK,KACH2jE,EAAO,CAAE,KAAM,MACf3jE,EAAO,QACP,MAGF,IAAIN,EAAOwkE,EAAYb,WACnBh+D,EAAW3F,EAAOgD,KAAKC,MAAMwhE,GAC7BC,EAAcZ,EAAaxjE,GAAQN,EACnC2kE,EAAcV,EAAK,GAKnBjhE,KAAK4hE,IAAIj/D,GAAY++D,IACvB/+D,EAAWA,EAAW,GAAK,EAAI,EAC/BA,GAAY3C,KAAK6hE,KAAKH,EAAc1kE,GAAQA,GAO1CykE,EAAU,IACZ9+D,GAA6B,KAAjBgzB,EAAIt5B,SAAkBykE,EAAatoE,OAASsoE,EAAavjE,MACrE0jE,EAAOA,EAAKnhE,WAKd0hE,EAAYnB,KAAKsB,EAAah/D,OAEzB,CAEL,IAAIm/D,EAAwBN,EAAYb,WAAaG,EAAatoE,OAAU,IAE5E,OAAQm9B,EAAIknC,WACZ,IAAK,SACH4E,GAAYK,EAAuB,EACnC,MACF,IAAK,MACHL,GAAWK,EACX,MAIF,OAAQnsC,EAAIt5B,UACZ,IAAK,GACHwkE,EAAShB,YAAY,CACnBtgE,IAAKshE,EAAST,YAAYqB,EAAS,OAErC,MACF,IAAK,KACHZ,EAAShB,YAAY,CACnBpgE,KAAMohE,EAAST,YAAYqB,EAAS,OAEtC,MACF,IAAK,KACHZ,EAAShB,YAAY,CACnBlgE,MAAOkhE,EAAST,YAAYqB,EAAS,OAEvC,MAGFR,EAAO,CAAE,KAAM,KAAM,KAAM,MAI3BO,EAAc,IAAIlB,EAAYO,GAGhC,IAAIK,EAAeF,EAAiBQ,EAAaP,GACjDJ,EAASR,KAAKa,EAAaa,kBAAkBjB,IAG/C,SAAS5hC,KAnZTmgC,EAAS5pD,UAAUoqD,YAAc,SAASJ,EAAQxhC,GAEhD,IAAK,IAAIxe,KADTwe,EAAMA,GAAOpnC,KAAKonC,IACDwhC,EACXA,EAAO9gD,eAAec,KACxBwe,EAAI3lC,MAAMmnB,GAAQggD,EAAOhgD,KAK/B4/C,EAAS5pD,UAAU2qD,YAAc,SAASn/C,EAAK+gD,GAC7C,OAAe,IAAR/gD,EAAY,EAAIA,EAAM+gD,GA4G/B1C,EAAY7pD,UAAYwlD,EAAWoE,EAAS5pD,WAC5C6pD,EAAY7pD,UAAU+F,YAAc8jD,EA6CpCgB,EAAY7qD,UAAU4qD,KAAO,SAASY,EAAMgB,GAE1C,OADAA,OAAoBplD,IAAXolD,EAAuBA,EAASprE,KAAK8pE,WACtCM,GACR,IAAK,KACHpqE,KAAK4I,MAAQwiE,EACbprE,KAAK8I,OAASsiE,EACd,MACF,IAAK,KACHprE,KAAK4I,MAAQwiE,EACbprE,KAAK8I,OAASsiE,EACd,MACF,IAAK,KACHprE,KAAK0I,KAAO0iE,EACZprE,KAAKqQ,QAAU+6D,EACf,MACF,IAAK,KACHprE,KAAK0I,KAAO0iE,EACZprE,KAAKqQ,QAAU+6D,EACf,QAKJ3B,EAAY7qD,UAAUysD,SAAW,SAASC,GACxC,OAAOtrE,KAAK4I,KAAO0iE,EAAGxiE,OACf9I,KAAK8I,MAAQwiE,EAAG1iE,MAChB5I,KAAK0I,IAAM4iE,EAAGj7D,QACdrQ,KAAKqQ,OAASi7D,EAAG5iE,KAI1B+gE,EAAY7qD,UAAU6rD,YAAc,SAASc,GAC3C,IAAK,IAAIphE,EAAI,EAAGA,EAAIohE,EAAMh7D,OAAQpG,IAChC,GAAInK,KAAKqrE,SAASE,EAAMphE,IACtB,OAAO,EAGX,OAAO,GAITs/D,EAAY7qD,UAAU4rD,OAAS,SAASgB,GACtC,OAAOxrE,KAAK0I,KAAO8iE,EAAU9iE,KACtB1I,KAAKqQ,QAAUm7D,EAAUn7D,QACzBrQ,KAAK4I,MAAQ4iE,EAAU5iE,MACvB5I,KAAK8I,OAAS0iE,EAAU1iE,OAOjC2gE,EAAY7qD,UAAU2rD,qBAAuB,SAASiB,EAAWpB,GAC/D,OAAQA,GACR,IAAK,KACH,OAAOpqE,KAAK4I,KAAO4iE,EAAU5iE,KAC/B,IAAK,KACH,OAAO5I,KAAK8I,MAAQ0iE,EAAU1iE,MAChC,IAAK,KACH,OAAO9I,KAAK0I,IAAM8iE,EAAU9iE,IAC9B,IAAK,KACH,OAAO1I,KAAKqQ,OAASm7D,EAAUn7D,SAMnCo5D,EAAY7qD,UAAU8rD,oBAAsB,SAASY,GACnD,IAAInkD,EAAIhe,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAIhG,KAAK8I,MAAOwiE,EAAGxiE,OAASK,KAAKjD,IAAIlG,KAAK4I,KAAM0iE,EAAG1iE,OACxEmlB,EAAI5kB,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAIhG,KAAKqQ,OAAQi7D,EAAGj7D,QAAUlH,KAAKjD,IAAIlG,KAAK0I,IAAK4iE,EAAG5iE,MACzE+iE,EAAgBtkD,EAAI4G,EACxB,OAAO09C,GAAiBzrE,KAAK2B,OAAS3B,KAAK0G,QAO7C+iE,EAAY7qD,UAAUssD,kBAAoB,SAASQ,GACjD,MAAO,CACLhjE,IAAK1I,KAAK0I,IAAMgjE,EAAUhjE,IAC1B2H,OAAQq7D,EAAUr7D,OAASrQ,KAAKqQ,OAChCzH,KAAM5I,KAAK4I,KAAO8iE,EAAU9iE,KAC5BE,MAAO4iE,EAAU5iE,MAAQ9I,KAAK8I,MAC9BnH,OAAQ3B,KAAK2B,OACb+E,MAAO1G,KAAK0G,QAMhB+iE,EAAYkC,qBAAuB,SAASznE,GAC1C,IAAIvC,EAASuC,EAAIkjC,IAAMljC,EAAIkjC,IAAI/sB,aAAenW,EAAI6lB,QAAU7lB,EAAImW,aAAe,EAC3E3T,EAAQxC,EAAIkjC,IAAMljC,EAAIkjC,IAAI5Z,YAActpB,EAAI6lB,QAAU7lB,EAAIspB,YAAc,EACxE9kB,EAAMxE,EAAIkjC,IAAMljC,EAAIkjC,IAAIuiC,UAAYzlE,EAAI6lB,QAAU7lB,EAAIylE,UAAY,EAEtEzlE,EAAMA,EAAIkjC,IAAMljC,EAAIkjC,IAAIr/B,wBACV7D,EAAI6lB,QAAU7lB,EAAI6D,wBAA0B7D,EAC1D,IAAI6zB,EAAM,CACRnvB,KAAM1E,EAAI0E,KACVE,MAAO5E,EAAI4E,MACXJ,IAAKxE,EAAIwE,KAAOA,EAChB/G,OAAQuC,EAAIvC,QAAUA,EACtB0O,OAAQnM,EAAImM,QAAW3H,GAAOxE,EAAIvC,QAAUA,GAC5C+E,MAAOxC,EAAIwC,OAASA,GAEtB,OAAOqxB,GA0ITsQ,EAAOG,cAAgB,WACrB,MAAO,CACLojC,OAAQ,SAASxlE,GACf,IAAKA,EACH,MAAO,GAET,GAAoB,kBAATA,EACT,MAAM,IAAIub,MAAM,iCAElB,OAAOkqD,mBAAmBC,mBAAmB1lE,OAKnDiiC,EAAO0jC,oBAAsB,SAASvgE,EAAQwgE,GAC5C,OAAKxgE,GAAWwgE,EAGT/E,EAAaz7D,EAAQwgE,GAFnB,MAKX,IAAIC,EAAoB,IACpBC,EAAa,aACbC,EAAyB,OAK7B9jC,EAAO8P,YAAc,SAAS3sC,EAAQqzB,EAAMutC,GAC1C,IAAK5gE,IAAWqzB,IAASutC,EACvB,OAAO,KAIT,MAAOA,EAAQxhD,WACbwhD,EAAQl+C,YAAYk+C,EAAQxhD,YAG9B,IAAIyhD,EAAgB7gE,EAAOI,SAASyY,cAAc,OAYlD,SAASioD,EAAcztC,GACrB,IAAK,IAAI10B,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAC/B,GAAI00B,EAAK10B,GAAGoiE,eAAiB1tC,EAAK10B,GAAGwuC,aACnC,OAAO,EAGX,OAAO,EAIT,GArBA0zB,EAAc5qE,MAAMqK,SAAW,WAC/BugE,EAAc5qE,MAAMmH,KAAO,IAC3ByjE,EAAc5qE,MAAMqH,MAAQ,IAC5BujE,EAAc5qE,MAAMiH,IAAM,IAC1B2jE,EAAc5qE,MAAM4O,OAAS,IAC7Bg8D,EAAc5qE,MAAMwY,OAASkyD,EAC7BC,EAAQthD,YAAYuhD,GAefC,EAAcztC,GAAnB,CAOA,IAAIqrC,EAAe,GACfD,EAAeR,EAAYkC,qBAAqBU,GAChDjzB,EAAWjwC,KAAKC,MAAM6gE,EAAatoE,OAASsqE,EAAoB,KAAO,IACvEvD,EAAe,CACjBQ,KAAM9vB,EAAW,MAAQ8yB,IAG3B,WAGE,IAFA,IAAIlC,EAAUlrC,EAEL30B,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAC/B20B,EAAMD,EAAK10B,GAGX6/D,EAAW,IAAIvB,EAAYj9D,EAAQszB,EAAK4pC,GACxC2D,EAAcvhD,YAAYk/C,EAAS5iC,KAGnC2iC,EAAsBv+D,EAAQw+D,EAAUC,EAAcC,GAItDprC,EAAI6Z,aAAeqxB,EAAS5iC,IAE5B8iC,EAAat3D,KAAK62D,EAAYkC,qBAAqB3B,KAjBvD,QAbE,IAAK,IAAI7/D,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAC/BkiE,EAAcvhD,YAAY+T,EAAK10B,GAAGwuC,eAkCxCtQ,EAAOC,OAAS,SAAS98B,EAAQ+8B,EAAOikC,GACjCA,IACHA,EAAUjkC,EACVA,EAAQ,IAELA,IACHA,EAAQ,IAGVvoC,KAAKwL,OAASA,EACdxL,KAAKuoC,MAAQA,EACbvoC,KAAKmZ,MAAQ,UACbnZ,KAAKysE,OAAS,GACdzsE,KAAKwsE,QAAUA,GAAW,IAAIE,YAAY,QAC1C1sE,KAAKmlE,WAAa,IAGpB98B,EAAOC,OAAO1pB,UAAY,CAGxB+tD,mBAAoB,SAASpiE,GAC3B,KAAIA,aAAa+5D,GAGf,MAAM/5D,EAFNvK,KAAK2oC,gBAAkB3oC,KAAK2oC,eAAep+B,IAK/Cs+B,MAAO,SAAUziC,GACf,IAAImf,EAAOvlB,KAUX,SAAS4sE,IACP,IAAIH,EAASlnD,EAAKknD,OACdI,EAAM,EACV,MAAOA,EAAMJ,EAAOl8D,QAA0B,OAAhBk8D,EAAOI,IAAiC,OAAhBJ,EAAOI,KACzDA,EAEJ,IAAI9G,EAAO0G,EAAOpG,OAAO,EAAGwG,GAS5B,MAPoB,OAAhBJ,EAAOI,MACPA,EAEgB,OAAhBJ,EAAOI,MACPA,EAEJtnD,EAAKknD,OAASA,EAAOpG,OAAOwG,GACrB9G,EAIT,SAAS+G,EAAYrI,GACnB,IAAI/6B,EAAW,IAAIk7B,EAsCnB,GApCAC,EAAaJ,GAAO,SAAU73C,EAAG47B,GAC/B,OAAQ57B,GACR,IAAK,KACH8c,EAAShoB,IAAIkL,EAAG47B,GAChB,MACF,IAAK,QACH9e,EAASmU,QAAQjxB,EAAG47B,GACpB,MACF,IAAK,QACH9e,EAASo8B,QAAQl5C,EAAG47B,GACpB,MACF,IAAK,eACL,IAAK,iBACH,IAAIukB,EAAKvkB,EAAE1oC,MAAM,KACjB,GAAkB,IAAditD,EAAGx8D,OACL,MAIF,IAAIy8D,EAAS,IAAIpI,EAGjB,GAFAoI,EAAOnvB,QAAQ,IAAKkvB,EAAG,IACvBC,EAAOnvB,QAAQ,IAAKkvB,EAAG,KAClBC,EAAOlhD,IAAI,OAASkhD,EAAOlhD,IAAI,KAClC,MAEF4d,EAAShoB,IAAIkL,EAAI,IAAKogD,EAAO/3D,IAAI,MACjCy0B,EAAShoB,IAAIkL,EAAI,IAAKogD,EAAO/3D,IAAI,MACjC,MACF,IAAK,SACHy0B,EAASi8B,IAAI/4C,EAAG47B,EAAG,CAAC,OACpB,SAED,IAAK,MAIJ9e,EAAS5d,IAAI,MAAO,CACtB,IAAI45C,EAAS,IAAKngD,EAAKgjB,MAAMvnB,WAAauE,EAAK/Z,OAAOwV,WACtD0kD,EAAOh/D,MAAQgjC,EAASz0B,IAAI,QAAS,KACrCywD,EAAOuH,MAAQvjC,EAASz0B,IAAI,QAAS,GACrCywD,EAAOwH,cAAgBxjC,EAASz0B,IAAI,gBAAiB,GACrDywD,EAAOyH,cAAgBzjC,EAASz0B,IAAI,gBAAiB,KACrDywD,EAAO0H,gBAAkB1jC,EAASz0B,IAAI,kBAAmB,GACzDywD,EAAO2H,gBAAkB3jC,EAASz0B,IAAI,kBAAmB,KACzDywD,EAAO7kD,OAAS6oB,EAASz0B,IAAI,SAAU,IAEvCsQ,EAAK+nD,UAAY/nD,EAAK+nD,SAAS5H,GAG/BngD,EAAK4/C,WAAWvyD,KAAK,CACnBzP,GAAIumC,EAASz0B,IAAI,MACjBywD,OAAQA,KAQd,SAAS6H,EAAkB9I,GACzB,IAAI/6B,EAAW,IAAIk7B,EAEnBC,EAAaJ,GAAO,SAAS73C,EAAG47B,GAC9B,OAAO57B,GACP,IAAK,QACH8c,EAASo8B,QAAQl5C,EAAI,IAAK47B,GAC1B,MACF,IAAK,OACH9e,EAAShoB,IAAIkL,EAAI,IAAK43C,EAAehc,IACrC,SAED,SAAU,KAEbjjC,EAAKioD,gBAAkBjoD,EAAKioD,eAAe,CACzC,OAAU9jC,EAASz0B,IAAI,UACvB,MAASy0B,EAASz0B,IAAI,WAK1B,SAASw4D,EAAYhJ,GACfA,EAAMxhD,MAAM,mBAEd4hD,EAAaJ,GAAO,SAAS73C,EAAG47B,GAC9B,OAAO57B,GACP,IAAK,kBACH2gD,EAAkB/kB,GAClB,SAED,KAEHqc,EAAaJ,GAAO,SAAU73C,EAAG47B,GAC/B,OAAQ57B,GACR,IAAK,SAEHkgD,EAAYtkB,GACZ,SAED,KA7HHpiD,IAEFmf,EAAKknD,QAAUlnD,EAAKinD,QAAQZ,OAAOxlE,EAAM,CAACsnE,QAAQ,KAiIpD,IACE,IAAI3H,EACJ,GAAmB,YAAfxgD,EAAKpM,MAAqB,CAE5B,IAAK,UAAUvM,KAAK2Y,EAAKknD,QACvB,OAAOzsE,KAGT+lE,EAAO6G,IAEP,IAAIv7C,EAAI00C,EAAK9iD,MAAM,sBACnB,IAAKoO,IAAMA,EAAE,GACX,MAAM,IAAIizC,EAAaA,EAAaiB,OAAOe,cAG7C/gD,EAAKpM,MAAQ,SAGf,IAAIw0D,GAAuB,EAC3B,MAAOpoD,EAAKknD,OAAQ,CAElB,IAAK,UAAU7/D,KAAK2Y,EAAKknD,QACvB,OAAOzsE,KAST,OANK2tE,EAGHA,GAAuB,EAFvB5H,EAAO6G,IAKDrnD,EAAKpM,OACb,IAAK,SAEC,IAAIvM,KAAKm5D,GACX0H,EAAY1H,GACFA,IAEVxgD,EAAKpM,MAAQ,MAEf,SACF,IAAK,OAEE4sD,IACHxgD,EAAKpM,MAAQ,MAEf,SACF,IAAK,KAEH,GAAI,iBAAiBvM,KAAKm5D,GAAO,CAC/BxgD,EAAKpM,MAAQ,OACb,MAGF,IAAK4sD,EACH,SAKF,GAHAxgD,EAAKuZ,IAAM,IAAKvZ,EAAKgjB,MAAM+B,QAAU/kB,EAAK/Z,OAAO8+B,QAAQ,EAAG,EAAG,IAC/D/kB,EAAKpM,MAAQ,OAEgB,IAAzB4sD,EAAKpiE,QAAQ,UAAe,CAC9B4hB,EAAKuZ,IAAI37B,GAAK4iE,EACd,SAIJ,IAAK,MAEH,IACEb,EAASa,EAAMxgD,EAAKuZ,IAAKvZ,EAAK4/C,YAC9B,MAAO56D,GACPgb,EAAKonD,mBAAmBpiE,GAExBgb,EAAKuZ,IAAM,KACXvZ,EAAKpM,MAAQ,SACb,SAEFoM,EAAKpM,MAAQ,UACb,SACF,IAAK,UACH,IAAIy0D,GAAwC,IAAzB7H,EAAKpiE,QAAQ,UAKhC,IAAKoiE,GAAQ6H,IAAiBD,GAAuB,GAAO,CAE1DpoD,EAAKmjB,OAASnjB,EAAKmjB,MAAMnjB,EAAKuZ,KAC9BvZ,EAAKuZ,IAAM,KACXvZ,EAAKpM,MAAQ,KACb,SAEEoM,EAAKuZ,IAAItU,OACXjF,EAAKuZ,IAAItU,MAAQ,MAEnBjF,EAAKuZ,IAAItU,MAAQu7C,EACjB,SACF,IAAK,SAEEA,IACHxgD,EAAKpM,MAAQ,MAEf,WAGJ,MAAO5O,GACPgb,EAAKonD,mBAAmBpiE,GAGL,YAAfgb,EAAKpM,OAAuBoM,EAAKuZ,KAAOvZ,EAAKmjB,OAC/CnjB,EAAKmjB,MAAMnjB,EAAKuZ,KAElBvZ,EAAKuZ,IAAM,KAGXvZ,EAAKpM,MAAuB,YAAfoM,EAAKpM,MAAsB,YAAc,SAExD,OAAOnZ,MAETgf,MAAO,WACL,IAAIuG,EAAOvlB,KACX,IAWE,GATAulB,EAAKknD,QAAUlnD,EAAKinD,QAAQZ,UAExBrmD,EAAKuZ,KAAsB,WAAfvZ,EAAKpM,SACnBoM,EAAKknD,QAAU,OACflnD,EAAKsjB,SAKY,YAAftjB,EAAKpM,MACP,MAAM,IAAImrD,EAAaA,EAAaiB,OAAOe,cAE7C,MAAM/7D,GACNgb,EAAKonD,mBAAmBpiE,GAG1B,OADAgb,EAAKqjB,SAAWrjB,EAAKqjB,UACd5oC,OAIXif,EAAOC,QAAUmpB,G,oCClyCjB7jC,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAET,IAAIolF,EAAsB,SAA6BlqD,EAAOt0B,EAAKy1B,GACjE,IAAIx0B,OAAI6b,EACJ8Y,OAAM9Y,EAEV,GAAK2Y,GAIAA,EAAME,KAAX,CAIA10B,EAAIw0B,EAAME,KAAKtuB,OAEf,MAAOpG,IACL20B,EAAMH,EAAME,KAAK10B,GAGb20B,EAAIC,WAAa71B,GAAO41B,EAAIE,SAAWxB,GACzCmB,EAAM6L,UAAU1L,KAKtB5f,EAAQ,WAAawoE,EACrBzoE,EAAOC,QAAUA,EAAQ,Y,oCChCzBA,EAAQyoE,IAAM,EAAQ,QACtBzoE,EAAQ2yD,MAAQ,EAAQ,S,kCCDxB,IAAI+V,EAAc,EAAQ,QACtBxB,EAAiB,EAAQ,QAAwCA,eACjEyB,EAAQ,GACZA,EAAMviB,GAAK,EAAQ,QACnBuiB,EAAM1zC,IAAM,EAAQ,QAGpB,IACE2zC,EAAgB,IAChBC,EAAqB,IACrBC,EAAY,GAEV1M,EAAkB,SAASl1E,GAC7B,OAAKA,EAAK,KAAO,IAAI+hE,WAAW,IAC3B/hE,EAAK,KAAO,IAAI+hE,WAAW,IAC3B/hE,EAAK,KAAO,IAAI+hE,WAAW,IAU9B8f,EAAY,SAASnW,EAAOoW,GAC9B,IAGEC,EAAQzkF,EAFR0kF,EAAa,EACbC,EAAWN,EAGb,MAAOM,EAAWvW,EAAMzyD,WAEtB,GAAIyyD,EAAMsW,KAAgBJ,GAAalW,EAAMuW,KAAcL,EAiC3DI,IACAC,QAlCA,CAKE,OAHAF,EAASrW,EAAM1yD,SAASgpE,EAAYC,GACpC3kF,EAAOmkF,EAAMviB,GAAGgJ,UAAU6Z,EAAQD,EAAII,KAE9B5kF,GACN,IAAK,MACEwkF,EAAII,MACPJ,EAAII,IAAMT,EAAMviB,GAAGijB,SAASJ,IAE9B,MACF,IAAK,MACED,EAAIM,QACPN,EAAIM,MAAQX,EAAMviB,GAAGmjB,SAASN,IAEhC,MACF,QACE,MAIJ,GAAID,EAAII,KAAOJ,EAAIM,MACjB,OAGFJ,GAAcL,EACdM,GAAYN,IAgBdW,EAAiB,SAAS5W,EAAOoW,EAAKpwE,GACxC,IAGEqwE,EAAQzkF,EAAMilF,EAASC,EAAMC,EAF7BT,EAAa,EACbC,EAAWN,EAGTe,GAAU,EAGd,MAAOT,EAAWvW,EAAMzyD,WAEtB,GAAIyyD,EAAMsW,KAAgBJ,GAAalW,EAAMuW,KAAcL,EAkC3DI,IACAC,QAnCA,CAKE,OAHAF,EAASrW,EAAM1yD,SAASgpE,EAAYC,GACpC3kF,EAAOmkF,EAAMviB,GAAGgJ,UAAU6Z,EAAQD,EAAII,KAE9B5kF,GACN,IAAK,MACHilF,EAAUd,EAAMviB,GAAGyjB,aAAaZ,EAAQD,EAAIM,OAC5CI,EAAOf,EAAMviB,GAAG0jB,+BAA+Bb,GAC/B,UAAZQ,GAAuBC,IACzBC,EAAShB,EAAMviB,GAAG2jB,aAAad,GAC3BU,IACFA,EAAOnlF,KAAO,QACdoU,EAAOwzB,MAAM14B,KAAKi2E,GAClBC,GAAU,IAGd,MACF,QACE,MAGJ,GAAIA,EACF,MAGFV,GAAcL,EACdM,GAAYN,EAYhBM,EAAWvW,EAAMzyD,WACjB+oE,EAAaC,EAAWN,EACxBe,GAAU,EACV,MAAOV,GAAc,EAEnB,GAAItW,EAAMsW,KAAgBJ,GAAalW,EAAMuW,KAAcL,EAkC3DI,IACAC,QAnCA,CAKE,OAHAF,EAASrW,EAAM1yD,SAASgpE,EAAYC,GACpC3kF,EAAOmkF,EAAMviB,GAAGgJ,UAAU6Z,EAAQD,EAAII,KAE9B5kF,GACN,IAAK,MACHilF,EAAUd,EAAMviB,GAAGyjB,aAAaZ,EAAQD,EAAIM,OAC5CI,EAAOf,EAAMviB,GAAG0jB,+BAA+Bb,GAC/B,UAAZQ,GAAuBC,IACzBC,EAAShB,EAAMviB,GAAG2jB,aAAad,GAC3BU,IACFA,EAAOnlF,KAAO,QACdoU,EAAOwzB,MAAM14B,KAAKi2E,GAClBC,GAAU,IAGd,MACF,QACE,MAGJ,GAAIA,EACF,MAGFV,GAAcL,EACdM,GAAYN,IAiBdmB,EAAiB,SAASpX,EAAOoW,EAAKpwE,GACxC,IAGEqwE,EAAQzkF,EAAMilF,EAASC,EAAMC,EAAQhF,EAAO15E,EAAGg/E,EAF/Cf,EAAa,EACbC,EAAWN,EAGTe,GAAU,EAEVlK,EAAe,CACjBx4E,KAAM,GACNK,KAAM,GAIR,MAAO4hF,EAAWvW,EAAMzyD,WAEtB,GAAIyyD,EAAMsW,KAAgBJ,GAAalW,EAAMuW,KAAcL,EAwD3DI,IACAC,QAzDA,CAKE,OAHAF,EAASrW,EAAM1yD,SAASgpE,EAAYC,GACpC3kF,EAAOmkF,EAAMviB,GAAGgJ,UAAU6Z,EAAQD,EAAII,KAE9B5kF,GACN,IAAK,MAGH,GAFAilF,EAAUd,EAAMviB,GAAGyjB,aAAaZ,EAAQD,EAAIM,OAC5CI,EAAOf,EAAMviB,GAAG0jB,+BAA+Bb,GAC/B,UAAZQ,IACEC,IAASE,IACXD,EAAShB,EAAMviB,GAAG2jB,aAAad,GAC3BU,IACFA,EAAOnlF,KAAO,QACdoU,EAAOrE,MAAMb,KAAKi2E,GAClBC,GAAU,KAGThxE,EAAOsxE,eAAe,CACzB,GAAIR,GACwB,IAAtBhK,EAAan4E,KAAY,CAC3Bo9E,EAAQ,IAAIjT,WAAWgO,EAAan4E,MACpC0D,EAAI,EACJ,MAAOy0E,EAAax4E,KAAKmK,OACvB44E,EAAMvK,EAAax4E,KAAK2Z,QACxB8jE,EAAMniE,IAAIynE,EAAKh/E,GACfA,GAAKg/E,EAAI9pE,WAEPwoE,EAAMviB,GAAG+jB,4BAA4BxF,KACvC/rE,EAAOsxE,cAAgBvB,EAAMviB,GAAG2jB,aAAapF,GAC7C/rE,EAAOsxE,cAAc1lF,KAAO,SAE9Bk7E,EAAan4E,KAAO,EAGxBm4E,EAAax4E,KAAKwM,KAAKu1E,GACvBvJ,EAAan4E,MAAQ0hF,EAAO9oE,WAGhC,MACF,QACE,MAGJ,GAAIypE,GAAWhxE,EAAOsxE,cACpB,MAGFhB,GAAcL,EACdM,GAAYN,EAYhBM,EAAWvW,EAAMzyD,WACjB+oE,EAAaC,EAAWN,EACxBe,GAAU,EACV,MAAOV,GAAc,EAEnB,GAAItW,EAAMsW,KAAgBJ,GAAalW,EAAMuW,KAAcL,EAkC3DI,IACAC,QAnCA,CAKE,OAHAF,EAASrW,EAAM1yD,SAASgpE,EAAYC,GACpC3kF,EAAOmkF,EAAMviB,GAAGgJ,UAAU6Z,EAAQD,EAAII,KAE9B5kF,GACN,IAAK,MACHilF,EAAUd,EAAMviB,GAAGyjB,aAAaZ,EAAQD,EAAIM,OAC5CI,EAAOf,EAAMviB,GAAG0jB,+BAA+Bb,GAC/B,UAAZQ,GAAuBC,IACvBC,EAAShB,EAAMviB,GAAG2jB,aAAad,GAC3BU,IACFA,EAAOnlF,KAAO,QACdoU,EAAOrE,MAAMb,KAAKi2E,GAClBC,GAAU,IAGhB,MACF,QACE,MAGJ,GAAIA,EACF,MAGFV,GAAcL,EACdM,GAAYN,IAgBduB,EAAmB,SAASC,EAAaC,GAC3C,GAAID,EAAYj+C,OAASi+C,EAAYj+C,MAAM/6B,OAAQ,CACjD,IAAIk5E,EAAqBD,EACS,qBAAvBC,IACTA,EAAqBF,EAAYj+C,MAAM,GAAGuzC,KAE5C0K,EAAYj+C,MAAM5mC,SAAQ,SAASuiB,GACjCA,EAAK43D,IAAMuH,EAAen/D,EAAK43D,IAAK4K,GACpCxiE,EAAKmwD,IAAMgP,EAAen/D,EAAKmwD,IAAKqS,GAEpCxiE,EAAKyiE,QAAUziE,EAAK43D,IAAMiJ,EAC1B7gE,EAAK0iE,QAAU1iE,EAAKmwD,IAAM0Q,KAI9B,GAAIyB,EAAY91E,OAAS81E,EAAY91E,MAAMlD,OAAQ,CACjD,IAAIq5E,EAAqBJ,EAWzB,GAVkC,qBAAvBI,IACTA,EAAqBL,EAAY91E,MAAM,GAAGorE,KAE5C0K,EAAY91E,MAAM/O,SAAQ,SAASuiB,GACjCA,EAAK43D,IAAMuH,EAAen/D,EAAK43D,IAAK+K,GACpC3iE,EAAKmwD,IAAMgP,EAAen/D,EAAKmwD,IAAKwS,GAEpC3iE,EAAKyiE,QAAUziE,EAAK43D,IAAMiJ,EAC1B7gE,EAAK0iE,QAAU1iE,EAAKmwD,IAAM0Q,KAExByB,EAAYH,cAAe,CAC7B,IAAIvF,EAAQ0F,EAAYH,cACxBvF,EAAMhF,IAAMuH,EAAevC,EAAMhF,IAAK+K,GACtC/F,EAAMzM,IAAMgP,EAAevC,EAAMzM,IAAKwS,GAEtC/F,EAAM6F,QAAU7F,EAAMhF,IAAMiJ,EAC5BjE,EAAM8F,QAAU9F,EAAMhF,IAAMiJ,KAQ9B+B,EAAc,SAAS/X,GACzB,IAOEqW,EANAW,GAAU,EACVgB,EAAa,EACbC,EAAa,KACbtM,EAAY,KACZuM,EAAY,EACZC,EAAY,EAGd,MAAOnY,EAAMvhE,OAAS05E,GAAa,EAAG,CACpC,IAAIvmF,EAAOmkF,EAAM1zC,IAAIm6B,UAAUwD,EAAOmY,GACtC,OAAQvmF,GACN,IAAK,iBAGH,GAAIouE,EAAMvhE,OAAS05E,EAAY,GAAI,CACjCnB,GAAU,EACV,MAOF,GAJAkB,EAAYnC,EAAM1zC,IAAI+1C,gBAAgBpY,EAAOmY,GAIzCD,EAAYlY,EAAMvhE,OAAQ,CAC5Bu4E,GAAU,EACV,MAEgB,OAAdrL,IACF0K,EAASrW,EAAM1yD,SAAS6qE,EAAWA,EAAYD,GAC/CvM,EAAYoK,EAAM1zC,IAAIg2C,kBAAkBhC,IAE1C8B,GAAaD,EACb,MACF,IAAK,QAGH,GAAIlY,EAAMvhE,OAAS05E,EAAY,EAAG,CAChCnB,GAAU,EACV,MAOF,GAJAkB,EAAYnC,EAAM1zC,IAAIi2C,cAActY,EAAOmY,GAIvCD,EAAYlY,EAAMvhE,OAAQ,CAC5Bu4E,GAAU,EACV,MAEiB,OAAfiB,IACF5B,EAASrW,EAAM1yD,SAAS6qE,EAAWA,EAAYD,GAC/CD,EAAalC,EAAM1zC,IAAIk2C,gBAAgBlC,IAEzC2B,IACAG,GAAaD,EACb,MACF,QACEC,IACA,MAEJ,GAAInB,EACF,OAAO,KAGX,GAAmB,OAAfiB,GAAqC,OAAdtM,EACzB,OAAO,KAGT,IAAI6M,EAAiBxC,EAAgBiC,EAEjCjyE,EAAS,CACXwzB,MAAO,CACL,CACE5nC,KAAM,QACNm7E,IAAKpB,EACLrG,IAAKqG,GAEP,CACE/5E,KAAM,QACNm7E,IAAKpB,EAA0B,KAAbqM,EAAoBQ,EACtClT,IAAKqG,EAA0B,KAAbqM,EAAoBQ,KAK5C,OAAOxyE,GAQLyyE,EAAa,SAASzY,GACxB,IAAIoW,EAAM,CACRI,IAAK,KACLE,MAAO,MAGL1wE,EAAS,GAIb,IAAK,IAAIwwE,KAFTL,EAAUnW,EAAOoW,GAEDA,EAAIM,MAClB,GAAIN,EAAIM,MAAM1gE,eAAewgE,GAAM,CACjC,IAAI5kF,EAAOwkF,EAAIM,MAAMF,GACrB,OAAQ5kF,GACN,KAAKkkF,EAAY4C,iBACf1yE,EAAOrE,MAAQ,GACfy1E,EAAepX,EAAOoW,EAAKpwE,GACC,IAAxBA,EAAOrE,MAAMlD,eACRuH,EAAOrE,MAEhB,MACF,KAAKm0E,EAAY6C,iBACf3yE,EAAOwzB,MAAQ,GACfo9C,EAAe5W,EAAOoW,EAAKpwE,GACC,IAAxBA,EAAOwzB,MAAM/6B,eACRuH,EAAOwzB,MAEhB,MACF,QACE,OAIR,OAAOxzB,GAWL4yE,EAAU,SAAS5Y,EAAO0X,GAC5B,IAEI1xE,EAFA6yE,EAAYrP,EAAgBxJ,GAUhC,OALEh6D,EADE6yE,EACOd,EAAY/X,GAEZyY,EAAWzY,GAGjBh6D,IAAYA,EAAOwzB,OAAUxzB,EAAOrE,QAIzC61E,EAAiBxxE,EAAQ0xE,GAElB1xE,GALE,MAQXmH,EAAOC,QAAU,CACfwrE,QAASA,I,qBC9fXzrE,EAAOC,QAAUyjD,EAEjB,IAAI76C,EAAiBtjB,OAAOoa,UAAUkJ,eAEtC,SAAS66C,IAGL,IAFA,IAAIlyD,EAAS,GAEJtG,EAAI,EAAGA,EAAIT,UAAU6G,OAAQpG,IAAK,CACvC,IAAIkc,EAAS3c,UAAUS,GAEvB,IAAK,IAAIjH,KAAOmjB,EACRyB,EAAerJ,KAAK4H,EAAQnjB,KAC5BuN,EAAOvN,GAAOmjB,EAAOnjB,IAKjC,OAAOuN,I,kCCZXjM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaG,EAAKmV,EAAKC,GAAO,IAAInV,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS81D,EAAKE,EAAWiV,EAAKhV,EAAWiV,EAAKnV,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA6O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAAhW,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2BgsD,EAAMhsD,EAAQmhE,EAAMjV,EAAUkV,EAAMjV,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE/c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAI6lE,EAAiB,EAAQ,QAEzBC,EAAkB7nB,EAAuB4nB,GAEzC1nB,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC4nB,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExCE,EAAsD,EAAQ,QAE9DC,EAAuDjoB,EAAuBgoB,GAE9EE,EAAY,EAAQ,QAEpBC,EAAuB,IAAIza,WAAW,OAAO9wD,MAAM,IAAIzb,KAAI,SAAUinF,GACvE,OAAOA,EAAKnjB,WAAW,OAGrBojB,EAAe,SAAsBC,GACvC,OAAO5lF,OAAO8oE,aAAahwD,MAAM,KAAM8sE,IAWrCC,EAAmB,SAAWC,GAGhC,SAASD,EAAiB/hD,GACxB,IAAInY,EAAU7nB,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAEnFkmE,EAAgB5vE,KAAMyrF,GAEtBnW,EAAK9wE,OAAOsxE,eAAe2V,EAAiB7sE,WAAY,cAAe5e,MAAMye,KAAKze,KAAM0pC,EAAUnY,GAIlGvxB,KAAKg4E,aAAe,KAEpBh4E,KAAK2rF,gBAAkB,KAqYzB,OAlZAtqB,EAAUoqB,EAAkBC,GAuB5Bjc,EAAagc,EAAkB,CAAC,CAC9BvoF,IAAK,YACLZ,MAAO,WACL,IAAKtC,KAAK2rF,kBAAoB3rF,KAAK2rF,gBAAgB9sD,KAAKtuB,OACtD,OAAO8yD,EAAU,WAAW5lC,mBAG9B,IAAIoB,EAAO7+B,KAAK2rF,gBAAgB9sD,KAC5BrB,EAAQqB,EAAK,GAAGE,UAChB71B,EAAM21B,EAAKA,EAAKtuB,OAAS,GAAGwuB,UAEhC,OAAOskC,EAAU,WAAW5lC,iBAAiB,CAAC,CAACD,EAAOt0B,OAavD,CACDhG,IAAK,cACLZ,MAAO,SAAqB+B,GAC1B,IAAIqd,IAAMhY,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,KAA2BA,UAAU,GAElF,IAAKrF,EACH,OAAO,KAGT,IAAIlB,GAAK,EAAIioF,EAAUQ,eAAevnF,GAClCwnF,EAAY7rF,KAAK8rF,cAAc3oF,GAEnC,GAAIue,IAAQmqE,GAAaxnF,EAAIytE,MAAO,CAKlC,IAAIia,EAAqBV,EAAqBhsE,WAAahb,EAAIytE,MAAMzyD,WACjE2sE,EAAkB,IAAIpb,WAAWmb,GAErCC,EAAgBtqE,IAAIrd,EAAIytE,OACxBka,EAAgBtqE,IAAI2pE,EAAsBhnF,EAAIytE,MAAMzyD,YAEpDrf,KAAK8rF,cAAc3oF,GAAM0oF,EAAY,CACnClX,YAAatwE,EAAIswE,YACjBsX,UAAW5nF,EAAI4nF,UACfna,MAAOka,GAIX,OAAOH,GAAaxnF,IASrB,CACDnB,IAAK,qBACLZ,MAAO,WACL,OAAOtC,KAAKksF,WAAalsF,KAAK2rF,kBAAoB3rF,KAAKmhC,WAUxD,CACDj+B,IAAK,QACLZ,MAAO,WAGL,OAFAtC,KAAKmZ,MAAQ,QACbnZ,KAAKqzE,kBACErzE,KAAKmsF,mBAWb,CACDjpF,IAAK,QACLZ,MAAO,SAAe8pF,GACpB,MAAsB,qBAAXA,IAIXpsF,KAAK2rF,gBAAkBS,EAIJ,SAAfpsF,KAAKmZ,OAAoBnZ,KAAKqsF,sBAChCrsF,KAAKssF,SAREtsF,KAAK2rF,kBAmBf,CACDzoF,IAAK,SACLZ,MAAO,SAAgBk7B,EAAOt0B,IAC5B,EAAIiiF,EAAqD,YAAY3tD,EAAOt0B,EAAKlJ,KAAK2rF,mBAYvF,CACDzoF,IAAK,cACLZ,MAAO,WACL,IAAIkH,EAAQxJ,KAEPA,KAAKusF,aACRvsF,KAAKusF,WAAavsF,KAAKwsF,gBAAgBC,aAAazsF,KAAKksF,UAAWlsF,KAAKutC,YAAavtC,KAAK0sF,iBAAkB1sF,KAAK2sF,iBAIpH,IAAIpD,EAAcvpF,KAAK4sF,aAAa5sF,KAAK6sF,YAAa7sF,KAAKksF,UAAWlsF,KAAK8sF,WAAY9sF,KAAK+sF,aAAc/sF,KAAK2sF,eAAgB3sF,KAAKusF,YAIpI,GAFAhD,EAAcvpF,KAAKgtF,mBAAmBzD,GAEjCA,EAAL,CAIA,GAA8E,OAA1EvpF,KAAKwsF,gBAAgBS,2BAA2B1D,EAAY2D,UAAoB,CAGlF,IAAIC,EAAuB,WACzB3jF,EAAM2P,MAAQ,QACT3P,EAAM23B,UAET33B,EAAM2iF,kBAMV,OAFAnsF,KAAKwsF,gBAAgBx6D,IAAI,kBAAmBm7D,QAC5CntF,KAAKmZ,MAAQ,uBAIfnZ,KAAKotF,aAAa7D,MAanB,CACDrmF,IAAK,qBACLZ,MAAO,SAA4BinF,GACjC,MAAOA,GAAeA,EAAY5P,QAAQ13C,MACxCsnD,EAAcvpF,KAAKqtF,qBAAqB9D,EAAYrV,SAAUqV,EAAYuD,WAAa,EAAGvD,EAAY+D,eAAiB/D,EAAYrsE,SAAUqsE,EAAYgE,eAE3J,OAAOhE,IAQR,CACDrmF,IAAK,iBACLZ,MAAO,WACL,IAAI+yB,EAASr1B,KAEb,GAAKA,KAAKwtF,iBAAoBxtF,KAAK2rF,gBAAnC,CAKA3rF,KAAKmZ,MAAQ,YAEb,IAAIowE,EAAcvpF,KAAKwtF,gBACnB7T,EAAU4P,EAAY5P,QAG1B,GAAgD,oBAArCsR,EAAe,WAAW5iD,QAAyBroC,KAAK2rF,iBAAmB3rF,KAAK2rF,gBAAgBriD,MAAO,CAChH,IAAI5F,EAAO,WAET,IAAI6F,EAAc,WAChBlU,EAAOo4D,kBAeT,OAZAp4D,EAAOlc,MAAQ,mBACfkc,EAAOs2D,gBAAgBriD,MAAMtX,IAAI,cAAeuX,GAChDlU,EAAOs2D,gBAAgBriD,MAAMtX,IAAI,cAAc,WAC7CqD,EAAOs2D,gBAAgBriD,MAAMjrB,IAAI,cAAekrB,GAChDlU,EAAOzN,MAAM,CACXpR,QAAS,yBAEX6e,EAAOlc,MAAQ,QACfkc,EAAO3Y,QACP2Y,EAAO/W,QAAQ,YAGV,CACLkqC,OAAGxiC,GAnBI,GAuBX,GAAoB,kBAAT0d,EAAmB,OAAOA,EAAK8kB,EAG5CmxB,EAAQ+T,WAAY,EAEpB,IACE1tF,KAAK2tF,cAAcpE,GACnB,MAAOh/E,GAMP,OALAvK,KAAK4nB,MAAM,CACTpR,QAASjM,EAAEiM,UAEbxW,KAAKmZ,MAAQ,QACbnZ,KAAK0c,QACE1c,KAAKse,QAAQ,SAKtB,GAFAte,KAAK4tF,mBAAmBrE,EAAavpF,KAAKwsF,gBAAgBqB,UAAUtE,EAAY2D,UAAWltF,KAAKksF,WAE5F3C,EAAYgE,cAId,OAHAvtF,KAAKse,QAAQ,kBACbte,KAAKwtF,gBAAkB,UACvBxtF,KAAKmZ,MAAQ,SAIfowE,EAAYlqE,WAAakqE,EAAYzX,MAAMzyD,WAE3Crf,KAAK8tF,oBAAsBnU,EAAQz8D,SAE/BqsE,EAAY1qD,KAAKtuB,QAEnBvQ,KAAKyrB,OAAO89D,EAAY1qD,KAAK,GAAGG,QAASuqD,EAAY1qD,KAAK0qD,EAAY1qD,KAAKtuB,OAAS,GAAGyuB,SAGzFuqD,EAAY1qD,KAAKn6B,SAAQ,SAAUo6B,GACjCzJ,EAAOs2D,gBAAgB9rD,OAAOf,MAGhC9+B,KAAK+tF,wBAxEH/tF,KAAKmZ,MAAQ,UAkFhB,CACDjW,IAAK,gBACLZ,MAAO,SAAuBinF,GAC5B,IAAI/c,OAAUxmD,EACVgoE,GAAsB,EAE2B,oBAA1C/C,EAAe,WAAWve,YACnCF,EAAU,IAAIye,EAAe,WAAWve,YAAY,SAEpDF,EAAUye,EAAe,WAAW5iD,OAAOG,gBAC3CwlD,GAAsB,GAGxB,IAAI5lD,EAAS,IAAI6iD,EAAe,WAAW5iD,OAAOC,OAAO2iD,EAAe,WAAYA,EAAe,WAAW1iD,MAAOikC,GAarH,GAXA+c,EAAY1qD,KAAO,GACnB0qD,EAAY0E,aAAe,CAAEC,OAAQ,EAAGC,MAAO,GAE/C/lD,EAAOM,MAAQ6gD,EAAY1qD,KAAKjsB,KAAK1D,KAAKq6E,EAAY1qD,MACtDuJ,EAAOolC,eAAiB,SAAUnpE,GAChC,OAAOklF,EAAY0E,aAAe5pF,GAEpC+jC,EAAOO,eAAiB,SAAU/gB,GAChCy7C,EAAU,WAAW78C,IAAImB,KAAK,wCAA0CC,EAAMpR,UAG5E+yE,EAAY5P,QAAQt1E,IAAK,CAC3B,IAAI+pF,EAAU7E,EAAY5P,QAAQt1E,IAAIytE,MAElCkc,IACFI,EAAU7C,EAAa6C,IAGzBhmD,EAAOS,MAAMulD,GAGf,IAAIC,EAAc9E,EAAYzX,MAE1Bkc,IACFK,EAAc9C,EAAa8C,IAG7BjmD,EAAOS,MAAMwlD,GACbjmD,EAAOppB,UAgBR,CACD9b,IAAK,qBACLZ,MAAO,SAA4BinF,EAAa+E,EAAYpa,GAC1D,IAAIyF,EAAU4P,EAAY5P,QAE1B,GAAK2U,EAOL,GAAK/E,EAAY1qD,KAAKtuB,OAAtB,CAQA,IAAI09E,EAAe1E,EAAY0E,aAC3B7lF,EAAO6lF,EAAaC,OAAS,IAAQD,EAAaE,MAAQG,EAAWpX,QAQzE,GANAqS,EAAY1qD,KAAKn6B,SAAQ,SAAUo6B,GAEjCA,EAAIC,WAAa32B,EACjB02B,EAAIE,SAAW52B,MAGZ8rE,EAASqa,SAAU,CACtB,IAAIC,EAAajF,EAAY1qD,KAAK,GAAGE,UACjC0vD,EAAYlF,EAAY1qD,KAAK0qD,EAAY1qD,KAAKtuB,OAAS,GAAGwuB,UAE9Dm1C,EAASqa,SAAW,CAClBG,cAAexa,EAASwa,cAAgBnF,EAAYuD,WACpDn3E,KAAMxM,KAAKnD,IAAIwoF,EAAYC,EAAY9U,EAAQz8D,iBAnBjDy8D,EAAQ13C,OAAQ,MAyBfwpD,EAnZc,CAoZpBV,EAAgB,YAEnB7rE,EAAQ,WAAausE,EACrBxsE,EAAOC,QAAUA,EAAQ,Y,oCC5czB,W,oCCEA1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAET4c,EAAQ,WAAa,CACnByvE,mBAAoB,GACpBC,uBAAwB,GACxBC,wBAAyB,EAGzBC,mBAAoB,IAEpBC,sBAAuB,EACvBC,0BAA2B,GAC3BC,2BAA4B,GAE9BhwE,EAAOC,QAAUA,EAAQ,Y,oCCXzB,SAASgkD,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI4sF,EAAU,EAAQ,QAElBC,EAAWjsB,EAAuBgsB,GAElCE,EAAY,EAAQ,QAEpBC,EAAansB,EAAuBksB,GAEpCE,EAAgB,EAAQ,QAcxBC,EAAuB,SAA8Bv+E,EAAI2kE,GAC3D,IAAI79D,OAASkO,EAEb,OAAKhV,GAIL8G,EAAStM,OAAOqd,iBAAiB7X,GAC5B8G,EAIEA,EAAO69D,GAHL,IALA,IAkBP6Z,EAAa,SAAoB7S,EAAO8S,GAC1C,IAAIC,EAAW/S,EAAMloE,QAErBkoE,EAAMjD,MAAK,SAAU9wE,EAAME,GACzB,IAAI6mF,EAAMF,EAAO7mF,EAAME,GAEvB,OAAY,IAAR6mF,EACKD,EAAS/rF,QAAQiF,GAAQ8mF,EAAS/rF,QAAQmF,GAE5C6mF,MAcPC,EAA2B,SAAkChnF,EAAME,GACrE,IAAI+mF,OAAgB7pE,EAChB8pE,OAAiB9pE,EAWrB,OATIpd,EAAKqhB,WAAW8lE,YAClBF,EAAgBjnF,EAAKqhB,WAAW8lE,WAElCF,EAAgBA,GAAiBrkF,OAAO7F,OAAOqqF,UAC3ClnF,EAAMmhB,WAAW8lE,YACnBD,EAAiBhnF,EAAMmhB,WAAW8lE,WAEpCD,EAAiBA,GAAkBtkF,OAAO7F,OAAOqqF,UAE1CH,EAAgBC,GAGzB5wE,EAAQ0wE,yBAA2BA,EAUnC,IAAIK,EAA4B,SAAmCrnF,EAAME,GACvE,IAAIonF,OAAYlqE,EACZmqE,OAAanqE,EAgBjB,OAdIpd,EAAKqhB,WAAWmmE,YAAcxnF,EAAKqhB,WAAWmmE,WAAW1pF,QAC3DwpF,EAAYtnF,EAAKqhB,WAAWmmE,WAAW1pF,OAGzCwpF,EAAYA,GAAa1kF,OAAO7F,OAAOqqF,UAEnClnF,EAAMmhB,WAAWmmE,YAActnF,EAAMmhB,WAAWmmE,WAAW1pF,QAC7DypF,EAAarnF,EAAMmhB,WAAWmmE,WAAW1pF,OAG3CypF,EAAaA,GAAc3kF,OAAO7F,OAAOqqF,UAIrCE,IAAcC,GAAcvnF,EAAKqhB,WAAW8lE,WAAajnF,EAAMmhB,WAAW8lE,UACrEnnF,EAAKqhB,WAAW8lE,UAAYjnF,EAAMmhB,WAAW8lE,UAE/CG,EAAYC,GAGrBjxE,EAAQ+wE,0BAA4BA,EAgBpC,IAAII,EAAiB,SAAwB9b,EAAQ+b,EAAiBC,EAAaC,GAEjF,IAAIC,EAAqBlc,EAAOmc,UAAUrsF,KAAI,SAAU6vE,GACtD,IAAIxtE,OAAQsf,EACRrkB,OAASqkB,EACTihE,OAAYjhE,EAQhB,OANAtf,EAAQwtE,EAASjqD,WAAWmmE,YAAclc,EAASjqD,WAAWmmE,WAAW1pF,MACzE/E,EAASuyE,EAASjqD,WAAWmmE,YAAclc,EAASjqD,WAAWmmE,WAAWzuF,OAC1EslF,EAAY/S,EAASjqD,WAAW8lE,UAEhC9I,EAAYA,GAAaz7E,OAAO7F,OAAOqqF,UAEhC,CACL/I,UAAWA,EACXvgF,MAAOA,EACP/E,OAAQA,EACRuyE,SAAUA,MAIdsb,EAAWiB,GAAoB,SAAU7nF,EAAME,GAC7C,OAAOF,EAAKq+E,UAAYn+E,EAAMm+E,aAKhCwJ,EAAqBA,EAAmB1oE,QAAO,SAAU4oE,GACvD,OAAQtB,EAAW,WAAWuB,eAAeD,EAAIzc,aAKnD,IAAI2c,EAAsBJ,EAAmB1oE,QAAO,SAAU4oE,GAC5D,OAAOtB,EAAW,WAAWyB,UAAUH,EAAIzc,aAGxC2c,EAAoBtgF,SAIvBsgF,EAAsBJ,EAAmB1oE,QAAO,SAAU4oE,GACxD,OAAQtB,EAAW,WAAW0B,WAAWJ,EAAIzc,cAMjD,IAAI8c,EAAwBH,EAAoB9oE,QAAO,SAAU4oE,GAC/D,OAAOA,EAAI1J,UAAYkI,EAAS,WAAWL,mBAAqBwB,KAG9DW,EAA+BD,EAAsBA,EAAsBzgF,OAAS,GAIpF2gF,EAAmBF,EAAsBjpE,QAAO,SAAU4oE,GAC5D,OAAOA,EAAI1J,YAAcgK,EAA6BhK,aACrD,GAGCkK,EAAiBH,EAAsBjpE,QAAO,SAAU4oE,GAC1D,OAAOA,EAAIjqF,OAASiqF,EAAIhvF,UAI1B6tF,EAAW2B,GAAgB,SAAUvoF,EAAME,GACzC,OAAOF,EAAKlC,MAAQoC,EAAMpC,SAI5B,IAAI0qF,EAAwBD,EAAeppE,QAAO,SAAU4oE,GAC1D,OAAOA,EAAIjqF,QAAU6pF,GAAeI,EAAIhvF,SAAW6uF,KAGrDS,EAA+BG,EAAsBA,EAAsB7gF,OAAS,GAEpF,IAAI8gF,EAAoBD,EAAsBrpE,QAAO,SAAU4oE,GAC7D,OAAOA,EAAI1J,YAAcgK,EAA6BhK,aACrD,GAECqK,OAAwBtrE,EACxBurE,OAA4BvrE,EAC5BwrE,OAAuBxrE,EAItBqrE,IACHC,EAAwBH,EAAeppE,QAAO,SAAU4oE,GACtD,OAAOA,EAAIjqF,MAAQ6pF,GAAeI,EAAIhvF,OAAS6uF,KAIjDe,EAA4BD,EAAsBvpE,QAAO,SAAU4oE,GACjE,OAAOA,EAAIjqF,QAAU4qF,EAAsB,GAAG5qF,OAASiqF,EAAIhvF,SAAW2vF,EAAsB,GAAG3vF,UAKjGsvF,EAA+BM,EAA0BA,EAA0BhhF,OAAS,GAC5FihF,EAAuBD,EAA0BxpE,QAAO,SAAU4oE,GAChE,OAAOA,EAAI1J,YAAcgK,EAA6BhK,aACrD,IAIL,IAAIwK,EAAYD,GAAwBH,GAAqBH,GAAoBL,EAAoB,IAAMJ,EAAmB,GAE9H,OAAOgB,EAAYA,EAAUvd,SAAW,MAG1Ch1D,EAAQmxE,eAAiBA,EAazB,IAAIqB,EAAwB,WAC1B,OAAOrB,EAAerwF,KAAK0wF,UAAUnc,OAAQv0E,KAAK2xF,gBAAiBp3D,SAASg1D,EAAqBvvF,KAAKspC,MAAMt4B,KAAM,SAAU,IAAKupB,SAASg1D,EAAqBvvF,KAAKspC,MAAMt4B,KAAM,UAAW,MAG7LkO,EAAQwyE,sBAAwBA,EAehC,IAAIE,EAAiC,SAAwCC,GAC3E,IAAIC,GAAW,EAEf,GAAID,EAAQ,GAAKA,EAAQ,EACvB,MAAM,IAAIlwE,MAAM,2DAGlB,OAAO,WAML,OALImwE,EAAU,IACZA,EAAU9xF,KAAK2xF,iBAGjBG,EAAUD,EAAQ7xF,KAAK2xF,iBAAmB,EAAIE,GAASC,EAChDzB,EAAerwF,KAAK0wF,UAAUnc,OAAQud,EAASv3D,SAASg1D,EAAqBvvF,KAAKspC,MAAMt4B,KAAM,SAAU,IAAKupB,SAASg1D,EAAqBvvF,KAAKspC,MAAMt4B,KAAM,UAAW,OAIlLkO,EAAQ0yE,+BAAiCA,EA6BzC,IAAIG,EAAkC,SAAyCroD,GAC7E,IAAI6qC,EAAS7qC,EAAS6qC,OAClB/3D,EAAcktB,EAASltB,YACvByqE,EAAYv9C,EAASu9C,UACrB/pE,EAAWwsB,EAASxsB,SACpB80E,EAAkBtoD,EAASsoD,gBAC3BC,EAAoBvoD,EAASuoD,kBAC7BC,EAAkBxoD,EAASwoD,gBAC3BC,EAAiBzoD,EAASyoD,eAI1BC,EAAsB7d,EAAOmc,UAAU3oE,QAAO,SAAUmsD,GAC1D,OAAQmb,EAAW,WAAWuB,eAAe1c,MAK3Cme,EAAmBD,EAAoBrqE,OAAOsnE,EAAW,WAAWyB,WAEnEuB,EAAiB9hF,SAIpB8hF,EAAmBD,EAAoBrqE,QAAO,SAAUmsD,GACtD,OAAQmb,EAAW,WAAW0B,WAAW7c,OAI7C,IAAIoe,EAAqBD,EAAiBtqE,OAAOsnE,EAAW,WAAWrsD,aAAa9zB,KAAK,KAAM,cAE3FqjF,EAAuBD,EAAmBjuF,KAAI,SAAU6vE,GAC1D,IAAIse,EAAYL,EAAe1F,aAAavY,EAAUh3D,EAAUg1E,EAAiB11E,GAG7Ei2E,EAAcD,EAAY,EAAI,EAC9BE,EAAsBrD,EAAW,WAAWsD,2BAA2BX,EAAiB/K,EAAW/S,GACnG0e,EAAoBF,EAAsBD,EAAcR,EAE5D,MAAO,CACL/d,SAAUA,EACV0e,kBAAmBA,MAInBC,EAAyBN,EAAqBxqE,QAAO,SAAU+qE,GACjE,OAAOA,EAASF,mBAAqB,KAQvC,OAJApD,EAAWqD,GAAwB,SAAU3rE,EAAGy1C,GAC9C,OAAOizB,EAAyBjzB,EAAEuX,SAAUhtD,EAAEgtD,aAG5C2e,EAAuBtiF,OAClBsiF,EAAuB,IAGhCrD,EAAW+C,GAAsB,SAAUrrE,EAAGy1C,GAC5C,OAAOz1C,EAAE0rE,kBAAoBj2B,EAAEi2B,qBAG1BL,EAAqB,IAAM,OAGpCrzE,EAAQ6yE,gCAAkCA,EAY1C,IAAIgB,EAAyC,WAG3C,IAAIrC,EAAY1wF,KAAK0wF,UAAUnc,OAAOmc,UAAU3oE,OAAOsnE,EAAW,WAAWyB,WAG7EtB,EAAWkB,GAAW,SAAUxpE,EAAGy1C,GACjC,OAAOizB,EAAyB1oE,EAAGy1C,MAQrC,IAAIq2B,EAAqBtC,EAAU3oE,QAAO,SAAUmsD,GAClD,OAAO,EAAIob,EAAc2D,aAAa/e,EAASjqD,WAAWipE,QAAQC,cAGpE,OAAOH,EAAmB,IAAM,MAElC9zE,EAAQ6zE,uCAAyCA,G,oCC5ajD,W,oCCAA,gEASIpuF,EAAmB,eAAgB,gBACnCE,EAAkBF,EAAiB,GACnCG,EAAMH,EAAiB,GACvBgtB,EAAIhtB,EAAiB,GAErByuF,EAAsB,GACtBC,EAAc,CAAC,UAAW,UAAW,WAC1B,OAAAxuF,EAAA,CACbO,OAAQ,CAAC,QACTC,MAAO,CACLC,SAAUC,QACV+tF,YAAa1tF,OACb2tF,YAAa3tF,OACb4tF,YAAa5tF,OACb6tF,YAAa7tF,OACb8tF,aAAc,CAAC/tF,OAAQC,QACvBtD,MAAO,CACLoB,KAAM6B,QACN+L,UAAU,GAEZqiF,gBAAiB,CACfjwF,KAAM,CAACiC,OAAQC,QACfK,QAAS,KAEX2tF,kBAAmB,CACjBlwF,KAAM,CAACiC,OAAQC,QACfK,QAAS,KAEX4tF,WAAY,CACVnwF,KAAM,CAACiC,OAAQC,QACfK,QAASmtF,IAGbhtF,KAAM,WACJ,MAAO,CACLrE,OAAQ,SACR+xF,SAAU,EACV52E,SAAU,IAGd5W,SAAU,CACRytF,UAAW,WACT,MAAuB,YAAhB/zF,KAAK+B,QAAwC,YAAhB/B,KAAK+B,SAAyB/B,KAAKsF,UAEzE0uF,UAAW,WACT,GAAIh0F,KAAK6zF,aAAeT,EACtB,MAAO,CACLzxF,OAAQ3B,KAAK6zF,WAAa,QAKlCI,MAAO,CACL3xF,MAAO,SAAe8P,GACpBpS,KAAKkd,SAAWld,KAAK4zF,kBAEjBxhF,EACFpS,KAAKk0F,WAAWl0F,KAAK6zF,YAAY,GACxB7zF,KAAKwK,MAAM,YAAcxK,KAAKszF,YACvCtzF,KAAKm0F,iBAELn0F,KAAKk0F,UAAU,GAAG,KAIxBrtF,QAAS,WACP7G,KAAK8G,eAAe9G,KAAK+G,MAAM43B,OAC/B3+B,KAAKo0F,SAAW,eAAYp0F,KAAK8H,MAEnCX,QAAS,CACPktF,eAAgB,SAAwBhtF,GACtCrH,KAAKs0F,QAA0C,IAAhC,eAAat0F,KAAKo0F,UAE7Bp0F,KAAKs0F,UACPt0F,KAAKkd,SAAW,EAChBld,KAAKsH,WAAWD,KAGpBD,aAAc,SAAsBC,GAC9BrH,KAAK+zF,WACP/zF,KAAKq0F,eAAehtF,IAGxBK,YAAa,SAAqBL,GAC3BrH,KAAK+zF,YAIL/zF,KAAKs0F,SACRt0F,KAAKq0F,eAAehtF,GAGtBrH,KAAK4H,UAAUP,GAEXrH,KAAKs0F,SAAWt0F,KAAKiI,QAAU,GAAwB,aAAnBjI,KAAKopE,YAC3C,eAAe/hE,GACfrH,KAAKk0F,UAAUl0F,KAAKu0F,KAAKv0F,KAAKiI,YAGlCK,WAAY,WACV,IAAIkB,EAAQxJ,KAERA,KAAK+zF,WAAa/zF,KAAKs0F,SAAWt0F,KAAKiI,SACzCjI,KAAKkd,SAAWld,KAAK4zF,kBAED,YAAhB5zF,KAAK+B,QACP/B,KAAKk0F,WAAWl0F,KAAK6zF,YAAY,GACjC7zF,KAAK2H,MAAM,SAAS,GAEpB3H,KAAKmP,WAAU,WACb3F,EAAM7B,MAAM,eAGd3H,KAAKk0F,UAAU,KAIrBK,KAAM,SAAcT,GAClB,IAAIJ,IAAiB1zF,KAAK0zF,cAAgB1zF,KAAK6zF,YAU/C,OARIC,EAAWJ,IAEXI,EADEA,EAA0B,EAAfJ,EACFA,GAAgBI,EAAWJ,GAAgB,EAE5B,IAAfA,GAAsBI,EAA0B,EAAfJ,GAAoB,GAI7DvqF,KAAKC,MAAM0qF,IAEpBI,UAAW,SAAmBJ,EAAUU,GACtC,IAAIzyF,EAGFA,EADEyyF,EACO,UACa,IAAbV,EACA,SAEAA,GAAY9zF,KAAK0zF,cAAgB1zF,KAAK6zF,YAAc,UAAY,UAG3E7zF,KAAK8zF,SAAWA,EAEZ/xF,IAAW/B,KAAK+B,SAClB/B,KAAK+B,OAASA,IAGlB0yF,UAAW,WACT,IAAIhrF,EAAIzJ,KAAKE,eACT6B,EAAS/B,KAAK+B,OACd+xF,EAAW9zF,KAAK8zF,SAChBY,EAAO10F,KAAKwK,MAAMzI,EAAQ,CAC5B+xF,SAAUA,IAGZ,GAAIY,EACF,OAAOA,EAGT,IAAIhnC,EAAQ,GACRljC,EAAOxqB,KAAK+B,EAAS,SAAW4vB,EAAE5vB,GAgBtC,OAdqC,IAAjCsxF,EAAY1vF,QAAQ5B,IACtB2rD,EAAM96C,KAAKnJ,EAAE,MAAO,CAClB,MAAS3E,EAAI,SACZ,CAAC0lB,KAGS,YAAXzoB,GACF2rD,EAAM96C,KAAKnJ,EAAE,OAAS,CACpB,MAAS,CACP,KAAQ,OAET,CAAC+gB,KAGCkjC,GAETymC,eAAgB,WACd,IAAI9+D,EAASr1B,KAEbA,KAAK+B,OAAS,UACdiL,YAAW,WACTqoB,EAAO6+D,UAAU,KAChBl0F,KAAK2zF,mBAGZtqF,OAAQ,WACN,IAAII,EAAIC,UAAU,GACdirF,EAAa,CACfC,mBAAoB50F,KAAKkd,SAAW,KACpC23E,UAAW70F,KAAK8zF,SAAW,iBAAmB9zF,KAAK8zF,SAAW,SAAW,IAE3E,OAAOrqF,EAAE,MAAO,CACd,MAAS3E,KACR,CAAC2E,EAAE,MAAO,CACX,IAAO,QACP,MAAS3E,EAAI,SACb,MAAS6vF,GACR,CAAClrF,EAAE,MAAO,CACX,MAAS3E,EAAI,QACb,MAAS9E,KAAKg0F,WACb,CAACh0F,KAAKy0F,cAAez0F,KAAKwK,gB,wBCnNhC,SAASmnB,EAAEpnB,GAAwD0U,EAAOC,QAAQ3U,IAAlF,CAAuMvK,GAAK,WAAY,aAAa,IAAI2xB,EAAE,IAAIpnB,EAAE,IAAI+mB,EAAE,KAAK2gC,EAAE,cAAc9nD,EAAE,SAASyqC,EAAE,SAAS+xB,EAAE,OAAOz/C,EAAE,MAAMqiC,EAAE,OAAOob,EAAE,QAAQl7D,EAAE,UAAUiiB,EAAE,OAAOopE,EAAE,OAAOpmE,EAAE,eAAeqV,EAAE,6FAA6FhW,EAAE,sFAAsFgnE,EAAE,CAAC3yF,KAAK,KAAK4yF,SAAS,2DAA2Dl1E,MAAM,KAAKm1E,OAAO,wFAAwFn1E,MAAM,MAAMuR,EAAE,SAASM,EAAEpnB,EAAE+mB,GAAG,IAAI2gC,EAAErsD,OAAO+rB,GAAG,OAAOsgC,GAAGA,EAAE1hD,QAAQhG,EAAEonB,EAAE,GAAGxtB,MAAMoG,EAAE,EAAE0nD,EAAE1hD,QAAQ6W,KAAKkK,GAAGK,GAAGujE,EAAE,CAACtgD,EAAEvjB,EAAE8jE,EAAE,SAASxjE,GAAG,IAAIpnB,GAAGonB,EAAEyjE,YAAY9jE,EAAEnoB,KAAK4hE,IAAIxgE,GAAG0nD,EAAE9oD,KAAKyxC,MAAMtpB,EAAE,IAAInnB,EAAEmnB,EAAE,GAAG,OAAO/mB,GAAG,EAAE,IAAI,KAAK8mB,EAAE4gC,EAAE,EAAE,KAAK,IAAI5gC,EAAElnB,EAAE,EAAE,MAAMknB,EAAE,SAASM,EAAEpnB,EAAE+mB,GAAG,GAAG/mB,EAAE8qF,OAAO/jE,EAAE+jE,OAAO,OAAO1jE,EAAEL,EAAE/mB,GAAG,IAAI0nD,EAAE,IAAI3gC,EAAEgkE,OAAO/qF,EAAE+qF,SAAShkE,EAAEikE,QAAQhrF,EAAEgrF,SAASprF,EAAEI,EAAEykD,QAAQ1jC,IAAI2mC,EAAE0S,GAAG/vB,EAAEtjB,EAAEnnB,EAAE,EAAEw8D,EAAEp8D,EAAEykD,QAAQ1jC,IAAI2mC,GAAGrd,GAAG,EAAE,GAAG+vB,GAAG,UAAU1S,GAAG3gC,EAAEnnB,IAAIyqC,EAAEzqC,EAAEw8D,EAAEA,EAAEx8D,KAAK,IAAI+c,EAAE,SAASyK,GAAG,OAAOA,EAAE,EAAExoB,KAAK6hE,KAAKr5C,IAAI,EAAExoB,KAAKyxC,MAAMjpB,IAAImvC,EAAE,SAASnvC,GAAG,MAAM,CAACojE,EAAEpwB,EAAE52C,EAAErC,EAAE8pE,EAAEjsC,EAAEurC,EAAE5tE,EAAEuuE,EAAEX,EAAErrF,EAAEk9D,EAAEt1C,EAAEujB,EAAEA,EAAEzqC,EAAEurF,GAAGzjC,EAAE0jC,EAAElsF,GAAGkoB,IAAI/rB,OAAO+rB,GAAG,IAAI7Q,cAAc/T,QAAQ,KAAK,KAAK45D,EAAE,SAASh1C,GAAG,YAAO,IAASA,IAAI8jE,EAAE,KAAKjtC,EAAE,GAAGA,EAAEitC,GAAGV,EAAE,IAAIj0B,EAAE,SAASnvC,GAAG,OAAOA,aAAaikE,GAAGC,EAAE,SAASlkE,EAAEpnB,EAAE+mB,GAAG,IAAI2gC,EAAE,IAAItgC,EAAE,OAAO8jE,EAAE,GAAG,iBAAiB9jE,EAAE62B,EAAE72B,KAAKsgC,EAAEtgC,GAAGpnB,IAAIi+C,EAAE72B,GAAGpnB,EAAE0nD,EAAEtgC,OAAO,CAAC,IAAIxnB,EAAEwnB,EAAEvvB,KAAKomD,EAAEr+C,GAAGwnB,EAAEsgC,EAAE9nD,EAAE,OAAOmnB,GAAG2gC,IAAIwjC,EAAExjC,GAAGA,IAAI3gC,GAAGmkE,GAAGD,EAAE,SAAS7jE,EAAEpnB,GAAG,GAAGu2D,EAAEnvC,GAAG,OAAOA,EAAEq9B,QAAQ,IAAI19B,EAAE,iBAAiB/mB,EAAEA,EAAE,GAAG,OAAO+mB,EAAE+jE,KAAK1jE,EAAEL,EAAE9S,KAAK9U,UAAU,IAAIksF,EAAEtkE,IAAIwkE,EAAEZ,EAAEY,EAAE/xD,EAAE8xD,EAAEC,EAAE3rF,EAAE22D,EAAEg1B,EAAEN,EAAE,SAAS7jE,EAAEpnB,GAAG,OAAOirF,EAAE7jE,EAAE,CAACokE,OAAOxrF,EAAEyrF,GAAGC,IAAI1rF,EAAE2rF,GAAG/uE,EAAE5c,EAAE4rF,GAAGC,QAAQ7rF,EAAE6rF,WAAW,IAAIR,EAAE,WAAW,SAASb,EAAEpjE,GAAG3xB,KAAKg2F,GAAGH,EAAElkE,EAAEokE,OAAO,MAAK,GAAI/1F,KAAK6oC,MAAMlX,GAAG,IAAIN,EAAE0jE,EAAEn2E,UAAU,OAAOyS,EAAEwX,MAAM,SAASlX,GAAG3xB,KAAKq2F,GAAG,SAAS1kE,GAAG,IAAIpnB,EAAEonB,EAAE0jE,KAAK/jE,EAAEK,EAAEskE,IAAI,GAAG,OAAO1rF,EAAE,OAAO,IAAIwL,KAAK85C,KAAK,GAAGimC,EAAEnvB,EAAEp8D,GAAG,OAAO,IAAIwL,KAAK,GAAGxL,aAAawL,KAAK,OAAO,IAAIA,KAAKxL,GAAG,GAAG,iBAAiBA,IAAI,MAAMqC,KAAKrC,GAAG,CAAC,IAAI0nD,EAAE1nD,EAAE0Y,MAAM8gB,GAAG,GAAGkuB,EAAE,CAAC,IAAI9nD,EAAE8nD,EAAE,GAAG,GAAG,EAAErd,GAAGqd,EAAE,IAAI,KAAKU,UAAU,EAAE,GAAG,OAAOrhC,EAAE,IAAIvb,KAAKA,KAAKugF,IAAIrkC,EAAE,GAAG9nD,EAAE8nD,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAErd,IAAI,IAAI7+B,KAAKk8C,EAAE,GAAG9nD,EAAE8nD,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAErd,IAAI,OAAO,IAAI7+B,KAAKxL,GAAzX,CAA6XonB,GAAG3xB,KAAKm2F,GAAGxkE,EAAExK,GAAG,GAAGnnB,KAAKie,QAAQoT,EAAEpT,KAAK,WAAW,IAAI0T,EAAE3xB,KAAKq2F,GAAGr2F,KAAKu2F,GAAG5kE,EAAE6kE,cAAcx2F,KAAKy2F,GAAG9kE,EAAE+kE,WAAW12F,KAAK22F,GAAGhlE,EAAEilE,UAAU52F,KAAK62F,GAAGllE,EAAEmlE,SAAS92F,KAAK+2F,GAAGplE,EAAEqlE,WAAWh3F,KAAKi3F,GAAGtlE,EAAEulE,aAAal3F,KAAKm3F,GAAGxlE,EAAEylE,aAAap3F,KAAKq3F,IAAI1lE,EAAE2lE,mBAAmBjmE,EAAEkmE,OAAO,WAAW,OAAOzB,GAAGzkE,EAAEmmE,QAAQ,WAAW,QAAQx3F,KAAKq2F,GAAG51E,aAAaiO,IAAI2C,EAAEomE,OAAO,SAAS9lE,EAAEpnB,GAAG,IAAI+mB,EAAEkkE,EAAE7jE,GAAG,OAAO3xB,KAAK03F,QAAQntF,IAAI+mB,GAAGA,GAAGtxB,KAAK23F,MAAMptF,IAAI8mB,EAAEumE,QAAQ,SAASjmE,EAAEpnB,GAAG,OAAOirF,EAAE7jE,GAAG3xB,KAAK03F,QAAQntF,IAAI8mB,EAAEwmE,SAAS,SAASlmE,EAAEpnB,GAAG,OAAOvK,KAAK23F,MAAMptF,GAAGirF,EAAE7jE,IAAIN,EAAEymE,GAAG,SAASnmE,EAAEpnB,EAAE+mB,GAAG,OAAOwkE,EAAEnvB,EAAEh1C,GAAG3xB,KAAKuK,GAAGvK,KAAK0hB,IAAI4P,EAAEK,IAAIN,EAAExb,KAAK,WAAW,OAAO1M,KAAKyxC,MAAM56C,KAAK+3F,UAAU,MAAM1mE,EAAE0mE,QAAQ,WAAW,OAAO/3F,KAAKq2F,GAAGpnE,WAAWoC,EAAEqmE,QAAQ,SAAS/lE,EAAEpnB,GAAG,IAAI+mB,EAAEtxB,KAAKiyD,IAAI6jC,EAAEnvB,EAAEp8D,IAAIA,EAAEd,EAAEqsF,EAAEh1B,EAAEnvC,GAAGjD,EAAE,SAASiD,EAAEpnB,GAAG,IAAIJ,EAAE2rF,EAAEN,EAAElkE,EAAE4kE,GAAGngF,KAAKugF,IAAIhlE,EAAEilE,GAAGhsF,EAAEonB,GAAG,IAAI5b,KAAKub,EAAEilE,GAAGhsF,EAAEonB,GAAGL,GAAG,OAAO2gC,EAAE9nD,EAAEA,EAAEwtF,MAAMzwE,IAAI6c,EAAE,SAASpS,EAAEpnB,GAAG,OAAOurF,EAAEN,EAAElkE,EAAE0mE,SAASrmE,GAAGjT,MAAM4S,EAAE0mE,OAAO,MAAM/lC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAMx9C,MAAMlK,IAAI+mB,IAAIvD,EAAE/tB,KAAK62F,GAAG9B,EAAE/0F,KAAKy2F,GAAGplE,EAAErxB,KAAK22F,GAAGzB,EAAE,OAAOl1F,KAAKk2F,GAAG,MAAM,IAAI,OAAOzsF,GAAG,KAAKiiB,EAAE,OAAOumC,EAAEvjC,EAAE,EAAE,GAAGA,EAAE,GAAG,IAAI,KAAKi2C,EAAE,OAAO1S,EAAEvjC,EAAE,EAAEqmE,GAAGrmE,EAAE,EAAEqmE,EAAE,GAAG,KAAKxrC,EAAE,IAAIksC,EAAEz1F,KAAKi4F,UAAUC,WAAW,EAAE1vC,GAAGz6B,EAAE0nE,EAAE1nE,EAAE,EAAEA,GAAG0nE,EAAE,OAAO/mE,EAAEujC,EAAE5gC,EAAEm3B,EAAEn3B,GAAG,EAAEm3B,GAAGusC,GAAG,KAAK7tE,EAAE,KAAK4tE,EAAE,OAAO/wD,EAAEmxD,EAAE,QAAQ,GAAG,KAAKvuB,EAAE,OAAO5iC,EAAEmxD,EAAE,UAAU,GAAG,KAAKtgD,EAAE,OAAO7Q,EAAEmxD,EAAE,UAAU,GAAG,KAAK/qF,EAAE,OAAO45B,EAAEmxD,EAAE,eAAe,GAAG,QAAQ,OAAOl1F,KAAKgvD,UAAU39B,EAAEsmE,MAAM,SAAShmE,GAAG,OAAO3xB,KAAK03F,QAAQ/lE,GAAE,IAAKN,EAAE8mE,KAAK,SAASxmE,EAAEpnB,GAAG,IAAI+mB,EAAEi4B,EAAEusC,EAAEh1B,EAAEnvC,GAAGloB,EAAE,OAAOzJ,KAAKk2F,GAAG,MAAM,IAAIxnE,GAAG4C,EAAE,GAAGA,EAAEpK,GAAGzd,EAAE,OAAO6nB,EAAEwjE,GAAGrrF,EAAE,OAAO6nB,EAAEqzC,GAAGl7D,EAAE,QAAQ6nB,EAAE5F,GAAGjiB,EAAE,WAAW6nB,EAAEq1C,GAAGl9D,EAAE,QAAQ6nB,EAAEsjB,GAAGnrC,EAAE,UAAU6nB,EAAEnnB,GAAGV,EAAE,UAAU6nB,EAAE2gC,GAAGxoD,EAAE,eAAe6nB,GAAGi4B,GAAGxlB,EAAEwlB,IAAIriC,EAAElnB,KAAK22F,IAAIpsF,EAAEvK,KAAK62F,IAAItsF,EAAE,GAAGg/C,IAAIob,GAAGpb,IAAI79B,EAAE,CAAC,IAAIqC,EAAE/tB,KAAKgvD,QAAQttC,IAAIozE,EAAE,GAAG/mE,EAAEsoE,GAAG3nE,GAAGqV,GAAGhW,EAAE9P,OAAOje,KAAKq2F,GAAGtoE,EAAErM,IAAIozE,EAAE3rF,KAAKnD,IAAIhG,KAAK22F,GAAG5oE,EAAEqqE,gBAAgB/B,QAAQ3nE,GAAG1uB,KAAKq2F,GAAG3nE,GAAGqV,GAAG,OAAO/jC,KAAKie,OAAOje,MAAMqxB,EAAE3P,IAAI,SAASiQ,EAAEpnB,GAAG,OAAOvK,KAAKgvD,QAAQmpC,KAAKxmE,EAAEpnB,IAAI8mB,EAAEpc,IAAI,SAAS0c,GAAG,OAAO3xB,KAAK81F,EAAEh1B,EAAEnvC,OAAON,EAAE/F,IAAI,SAAS2mC,EAAExoD,GAAG,IAAIqrF,EAAEpmE,EAAE1uB,KAAKiyD,EAAEtsD,OAAOssD,GAAG,IAAIluB,EAAE+xD,EAAEh1B,EAAEr3D,GAAGskB,EAAE,SAAS4D,GAAG,IAAIpnB,EAAEirF,EAAE9mE,GAAG,OAAOonE,EAAEN,EAAEjrF,EAAE8qF,KAAK9qF,EAAE8qF,OAAOlsF,KAAKC,MAAMuoB,EAAEsgC,IAAIvjC,IAAI,GAAGqV,IAAI4gC,EAAE,OAAO3kE,KAAK0hB,IAAIijD,EAAE3kE,KAAKy2F,GAAGxkC,GAAG,GAAGluB,IAAIrY,EAAE,OAAO1rB,KAAK0hB,IAAIgK,EAAE1rB,KAAKu2F,GAAGtkC,GAAG,GAAGluB,IAAI7c,EAAE,OAAO6G,EAAE,GAAG,GAAGgW,IAAIwlB,EAAE,OAAOx7B,EAAE,GAAG,IAAIgnE,GAAGD,EAAE,GAAGA,EAAElgD,GAAGrqC,EAAEuqF,EAAEnuB,GAAGr1C,EAAEwjE,EAAE3qF,GAAGwnB,EAAEmjE,GAAG/wD,IAAI,EAAE1S,EAAErxB,KAAKq2F,GAAGpnE,UAAUgjC,EAAE8iC,EAAE,OAAOe,EAAEN,EAAEnkE,EAAErxB,OAAOqxB,EAAEgnE,SAAS,SAAS1mE,EAAEpnB,GAAG,OAAOvK,KAAKsrB,KAAK,EAAEqG,EAAEpnB,IAAI8mB,EAAE5pB,OAAO,SAASkqB,GAAG,IAAIpnB,EAAEvK,KAAKsxB,EAAEtxB,KAAKi4F,UAAU,IAAIj4F,KAAKw3F,UAAU,OAAOlmE,EAAEgnE,aAAa5pE,EAAE,IAAIujC,EAAEtgC,GAAG,uBAAuBxnB,EAAE2rF,EAAEX,EAAEn1F,MAAM40C,EAAE50C,KAAK+2F,GAAGpwB,EAAE3mE,KAAKi3F,GAAG/vE,EAAElnB,KAAKy2F,GAAGltC,EAAEj4B,EAAE0jE,SAASrwB,EAAErzC,EAAE2jE,OAAOxrF,EAAE,SAASkoB,EAAEL,EAAEnnB,EAAEyqC,GAAG,OAAOjjB,IAAIA,EAAEL,IAAIK,EAAEpnB,EAAE0nD,KAAK9nD,EAAEmnB,GAAG+0C,OAAO,EAAEzxB,IAAIlpB,EAAE,SAASiG,GAAG,OAAOmkE,EAAElhD,EAAEA,EAAE,IAAI,GAAGjjB,EAAE,MAAMmjE,EAAExjE,EAAEinE,UAAU,SAAS5mE,EAAEpnB,EAAE+mB,GAAG,IAAI2gC,EAAEtgC,EAAE,GAAG,KAAK,KAAK,OAAOL,EAAE2gC,EAAEnxC,cAAcmxC,GAAGluB,EAAE,CAACy0D,GAAG5yF,OAAO5F,KAAKu2F,IAAI9hF,OAAO,GAAGgkF,KAAKz4F,KAAKu2F,GAAGxB,EAAE7tE,EAAE,EAAEwxE,GAAG5C,EAAElhD,EAAE1tB,EAAE,EAAE,EAAE,KAAKyxE,IAAIlvF,EAAE6nB,EAAEsnE,YAAY1xE,EAAEy9C,EAAE,GAAGk0B,KAAKpvF,EAAEk7D,EAAEz9C,GAAGuuE,EAAEz1F,KAAK22F,GAAGmC,GAAGhD,EAAElhD,EAAE50C,KAAK22F,GAAG,EAAE,KAAK7B,EAAElvF,OAAO5F,KAAK62F,IAAIkC,GAAGtvF,EAAE6nB,EAAE0nE,YAAYh5F,KAAK62F,GAAGttC,EAAE,GAAG0vC,IAAIxvF,EAAE6nB,EAAE4nE,cAAcl5F,KAAK62F,GAAGttC,EAAE,GAAG4vC,KAAK5vC,EAAEvpD,KAAK62F,IAAIuC,EAAExzF,OAAOgvC,GAAGykD,GAAGvD,EAAElhD,EAAEA,EAAE,EAAE,KAAKnrC,EAAEiiB,EAAE,GAAG4tE,GAAG5tE,EAAE,GAAGxE,EAAE4tE,EAAElgD,EAAE+xB,GAAE,GAAI4yB,EAAEzE,EAAElgD,EAAE+xB,GAAE,GAAIt1C,EAAEzrB,OAAO+gE,GAAG6yB,GAAG1D,EAAElhD,EAAE+xB,EAAE,EAAE,KAAK/xB,EAAEhvC,OAAO5F,KAAKm3F,IAAIsC,GAAG3D,EAAElhD,EAAE50C,KAAKm3F,GAAG,EAAE,KAAKuC,IAAI5D,EAAElhD,EAAE50C,KAAKq3F,IAAI,EAAE,KAAKsC,EAAExvF,GAAG,OAAO8nD,EAAEllD,QAAQghB,GAAE,SAAU4D,EAAEpnB,GAAG,OAAOA,GAAGw5B,EAAEpS,IAAIxnB,EAAE4C,QAAQ,IAAI,QAAQskB,EAAE+jE,UAAU,WAAW,OAAO,IAAIjsF,KAAKC,MAAMpJ,KAAKq2F,GAAGuD,oBAAoB,KAAKvoE,EAAEjpB,KAAK,SAAS6pD,EAAE6iC,EAAEpmE,GAAG,IAAIqV,EAAEhW,EAAE+nE,EAAEh1B,EAAEg0B,GAAGC,EAAES,EAAEvjC,GAAG5gC,GAAG0jE,EAAEK,YAAYp1F,KAAKo1F,aAAa7qF,EAAE2qF,EAAEl1F,KAAK+0F,EAAEU,EAAEK,EAAEzkE,EAAErxB,KAAK+0F,GAAG,OAAOU,GAAG1xD,EAAE,GAAGA,EAAErY,GAAG+pE,EAAE,GAAG1xD,EAAE4gC,GAAG8wB,EAAE1xD,EAAEt6B,GAAGgsF,EAAE,EAAE1xD,EAAEwlB,IAAI2rC,EAAE7jE,GAAG,OAAO0S,EAAE7c,IAAIguE,EAAE7jE,GAAG,MAAM0S,EAAE4iC,GAAGuuB,EAAE5jE,EAAEyS,EAAE6Q,GAAGsgD,EAAE3qF,EAAEw5B,EAAE55B,GAAG+qF,EAAEvjE,EAAEoS,GAAGhW,IAAImnE,EAAExmE,EAAE+mE,EAAEK,EAAE5uE,EAAEuuE,IAAIpkE,EAAE+mE,YAAY,WAAW,OAAOp4F,KAAK23F,MAAMhzB,GAAGgyB,IAAItlE,EAAE4mE,QAAQ,WAAW,OAAOzvC,EAAExoD,KAAKg2F,KAAK3kE,EAAE0kE,OAAO,SAASpkE,EAAEpnB,GAAG,IAAIonB,EAAE,OAAO3xB,KAAKg2F,GAAG,IAAI1kE,EAAEtxB,KAAKgvD,QAAQiD,EAAE4jC,EAAElkE,EAAEpnB,GAAE,GAAI,OAAO0nD,IAAI3gC,EAAE0kE,GAAG/jC,GAAG3gC,GAAGD,EAAE29B,MAAM,WAAW,OAAO8mC,EAAEN,EAAEx1F,KAAKq2F,GAAGr2F,OAAOqxB,EAAE2mE,OAAO,WAAW,OAAO,IAAIjiF,KAAK/V,KAAK+3F,YAAY1mE,EAAEitC,OAAO,WAAW,OAAOt+D,KAAKw3F,UAAUx3F,KAAK65F,cAAc,MAAMxoE,EAAEwoE,YAAY,WAAW,OAAO75F,KAAKq2F,GAAGwD,eAAexoE,EAAE5Q,SAAS,WAAW,OAAOzgB,KAAKq2F,GAAGyD,eAAe/E,EAAtwI,GAA2wIp4B,EAAEi5B,EAAEh3E,UAAU,OAAO42E,EAAE52E,UAAU+9C,EAAE,CAAC,CAAC,MAAM1K,GAAG,CAAC,KAAK9nD,GAAG,CAAC,KAAKyqC,GAAG,CAAC,KAAK+xB,GAAG,CAAC,KAAKz/C,GAAG,CAAC,KAAKy9C,GAAG,CAAC,KAAKj5C,GAAG,CAAC,KAAKopE,IAAIpwF,SAAQ,SAAUitB,GAAGgrC,EAAEhrC,EAAE,IAAI,SAASpnB,GAAG,OAAOvK,KAAK83F,GAAGvtF,EAAEonB,EAAE,GAAGA,EAAE,QAAQ6jE,EAAE7yB,OAAO,SAAShxC,EAAEpnB,GAAG,OAAOonB,EAAEooE,KAAKpoE,EAAEpnB,EAAEqrF,EAAEJ,GAAG7jE,EAAEooE,IAAG,GAAIvE,GAAGA,EAAEO,OAAOF,EAAEL,EAAEwE,QAAQl5B,EAAE00B,EAAE3/E,KAAK,SAAS8b,GAAG,OAAO6jE,EAAE,IAAI7jE,IAAI6jE,EAAEyE,GAAGzxC,EAAEitC,GAAGD,EAAE0E,GAAG1xC,EAAEgtC,EAAE10B,EAAE,GAAG00B,M,oCCgBz1MhxF,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEnB,SAASo+C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,IAAIopE,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExCmP,EAAe,EAAQ,QAEvBC,EAAgBl3B,EAAuBi3B,GASvCE,EAAuB,SAA8BC,GACvDA,EAAW55F,GAAG,QAAQ,SAAUi5E,GAK9B,IAAI4gB,EAAY5gB,EAAQC,YAExBD,EAAQC,YAAc,CACpBxzE,KAAMm0F,EAAU9tB,OAChBgE,WAAY8pB,EAAU9pB,WACtBpxD,WAAYk7E,EAAUl7E,YAGxB,IAAIm7E,EAAa7gB,EAAQvzE,KAEzBuzE,EAAQvzE,KAAOo0F,EAAW/tB,OAC1Bwe,EAAe,WAAWrS,YAAY,CACpCC,OAAQ,OACRc,QAASA,EACTlJ,WAAY+pB,EAAW/pB,WACvBpxD,WAAYm7E,EAAWn7E,YACtB,CAACs6D,EAAQvzE,UAGVk0F,EAAW5V,eACb4V,EAAW5V,cAAchkF,GAAG,QAAQ,SAAUiiF,GAC5CsI,EAAe,WAAWrS,YAAY,CACpCC,OAAQ,UACRzyE,KAAMu8E,OAKZ2X,EAAW55F,GAAG,QAAQ,SAAU0F,GAC9B6kF,EAAe,WAAWrS,YAAY,CAAEC,OAAQ,YAGlDyhB,EAAW55F,GAAG,WAAW,SAAUy5E,GACjC8Q,EAAe,WAAWrS,YAAY,CACpCC,OAAQ,UACRsB,QAASA,QAaXsgB,EAAkB,WACpB,SAASA,EAAgBlpE,GACvBq+C,EAAgB5vE,KAAMy6F,GAEtBz6F,KAAKuxB,QAAUA,GAAW,GAC1BvxB,KAAKie,OA6FP,OA9EAwxD,EAAagrB,EAAiB,CAAC,CAC7Bv3F,IAAK,OACLZ,MAAO,WACDtC,KAAKs6F,YACPt6F,KAAKs6F,WAAW37E,UAElB3e,KAAKs6F,WAAa,IAAIF,EAAc,WAAWp3B,WAAWhjE,KAAKuxB,SAC/D8oE,EAAqBr6F,KAAKs6F,cAS3B,CACDp3F,IAAK,OACLZ,MAAO,SAAc8D,GAEnB,IAAIuzE,EAAU,IAAI/I,WAAWxqE,EAAKA,KAAMA,EAAKqqE,WAAYrqE,EAAKiZ,YAE9Drf,KAAKs6F,WAAW1nF,KAAK+mE,KAOtB,CACDz2E,IAAK,QACLZ,MAAO,WACLtC,KAAKie,SAUN,CACD/a,IAAK,qBACLZ,MAAO,SAA4B8D,GACjC,IAAI8yE,EAAkB9yE,EAAK8yE,iBAAmB,EAE9Cl5E,KAAKs6F,WAAWzV,uBAAuB17E,KAAKC,MAAwB,IAAlB8vE,MAEnD,CACDh2E,IAAK,sBACLZ,MAAO,SAA6B8D,GAClCpG,KAAKs6F,WAAW9c,oBAAoBr0E,KAAK6hE,KAAwB,IAAnB5kE,EAAK6zE,gBASpD,CACD/2E,IAAK,QACLZ,MAAO,SAAe8D,GACpBpG,KAAKs6F,WAAWt7E,UAEjB,CACD9b,IAAK,gBACLZ,MAAO,WACLtC,KAAKs6F,WAAWtV,kBAEjB,CACD9hF,IAAK,gBACLZ,MAAO,SAAuB8D,GAC5BpG,KAAKs6F,WAAW5Y,cAAct7E,EAAK8zE,gBAAgBzlE,aAIhDgmF,EAlGa,GAqGlBC,EAAmB,SAA0Bn1E,GAC/CA,EAAKuzD,UAAY,SAAUzxE,GACC,SAAtBA,EAAMjB,KAAKyyE,QAAqBxxE,EAAMjB,KAAKmrB,QAC7CvxB,KAAK26F,gBAAkB,IAAIF,EAAgBpzF,EAAMjB,KAAKmrB,UAInDvxB,KAAK26F,kBACR36F,KAAK26F,gBAAkB,IAAIF,GAGzBpzF,EAAMjB,MAAQiB,EAAMjB,KAAKyyE,QAAgC,SAAtBxxE,EAAMjB,KAAKyyE,QAC5C74E,KAAK26F,gBAAgBtzF,EAAMjB,KAAKyyE,SAClC74E,KAAK26F,gBAAgBtzF,EAAMjB,KAAKyyE,QAAQxxE,EAAMjB,SAMtD8Y,EAAQ,WAAa,SAAUqG,GAC7B,OAAO,IAAIm1E,EAAiBn1E,IAG9BtG,EAAOC,QAAUA,EAAQ,Y,qBC3NzBD,EAAOC,QAAU,83G,kCCajB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAET,IAAI2wF,EAAc,WAChB,IAAI7yE,EAAS1W,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAE9EoO,EAAS,CACX8iF,WAAY,GAEV/R,OAAS7iE,EAgBb,OAdAlO,EAAO8iF,WAAax6E,EAAON,MAAM,KAAKvP,OACtCuH,EAAO8iF,WAAa9iF,EAAO8iF,YAAc,EAGzC/R,EAAS,2BAA2BrmE,KAAKpC,GACrCyoE,IACF/wE,EAAOq7E,WAAatK,EAAO,GAC3B/wE,EAAO+iF,yBAA2BhS,EAAO,IAI3C/wE,EAAOgjF,aAAe,8CAA8Ct4E,KAAKpC,GACzEtI,EAAOgjF,aAAehjF,EAAOgjF,cAAgBhjF,EAAOgjF,aAAa,GAE1DhjF,GAEToH,EAAQ+zE,YAAcA,G,kCCtCtBh0E,EAAOC,QAAU,CACfsrE,iBAAkB,GAClBC,iBAAkB,GAClBsQ,qBAAsB,K,4CCLxB,IAAIl7E,EAAO,SAASuW,GAClB,OAAOA,EAAOrpB,QAAQ,aAAc,KAElC3I,EAAU,SAASmuC,GACjB,MAA+C,mBAAxC/tC,OAAOoa,UAAU6B,SAAShC,KAAK8zB,IAG5CtzB,EAAOC,QAAU,SAAU87E,GACzB,IAAKA,EACH,MAAO,GAMT,IAJA,IAAIljF,EAAS,GAETmjF,EAAap7E,EAAKm7E,GAASl7E,MAAM,MAE5B3V,EAAI,EAAGA,EAAI8wF,EAAW1qF,OAAQpG,IAAK,CAC1C,IAAIwI,EAAMsoF,EAAW9wF,GACjB9B,EAAQsK,EAAIhP,QAAQ,KACtBT,EAAM2c,EAAKlN,EAAI8B,MAAM,EAAGpM,IAAQyY,cAChCxe,EAAQud,EAAKlN,EAAI8B,MAAMpM,EAAQ,IAEL,qBAAjByP,EAAO5U,GAChB4U,EAAO5U,GAAOZ,EACL8B,EAAQ0T,EAAO5U,IACxB4U,EAAO5U,GAAK0P,KAAKtQ,GAEjBwV,EAAO5U,GAAO,CAAE4U,EAAO5U,GAAMZ,GAIjC,OAAOwV,I,kCC5BTmH,EAAOC,QAAU,CACfsrE,iBAAkB,GAClBC,iBAAkB,GAClBsQ,qBAAsB,K,oCCAxBv2F,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaC,EAAIC,EAAKC,GAAO,IAAIC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS41D,EAAII,EAAWH,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAA/V,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B8rD,EAAK9rD,EAAQ+rD,EAAMG,EAAUF,EAAMG,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE5c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAI+lE,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExC5nB,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC83B,EAAe,EAAQ,QAEvBC,EAAgBj4B,EAAuBg4B,GAEvCjlB,EAAuB,EAAQ,QAE/BC,EAAwBhT,EAAuB+S,GAE/CF,EAA+B,EAAQ,QAEvCC,EAAgC9S,EAAuB6S,GAEvDI,EAAoB,EAAQ,QAE5BilB,EAAyB,EAAQ,QAEjCC,EAA0Bn4B,EAAuBk4B,GAEjDhlB,EAAc,EAAQ,QAEtBC,EAAenT,EAAuBkT,GAEtCklB,EAAkB,EAAQ,QAE1BC,EAAmBr4B,EAAuBo4B,GAE1CE,EAA6B,WAC/B,IAAI1jF,OAASkO,EAEb,IACElO,EAAwB,OACxB,MAAOvN,IAIT,OAAOuN,GAUL2jF,EAAe,SAAsBxpE,GAGvCg5D,EAAe,WAAWj+E,WAAWilB,EAAMspE,EAAiB,WAAWG,sBAUrEC,EAAuB,WACzB,OAAOxyF,KAAKyyF,SAASn7E,SAAS,IAAIhM,MAAM,EAAG,IAYzConF,EAAkB,SAAyB5hE,EAAK6hE,IAC5B,kBAAXA,GAAuBA,EAAS,KACzCA,EAAS,GAGX,IAAI1sB,EAAQjmE,KAAKomE,IAAI,GAAIusB,GAEzB,OAAO3yF,KAAKC,MAAM6wB,EAAMm1C,GAASA,GAY/B2sB,EAAoB,SAAWnkB,GAGjC,SAASmkB,EAAkBplB,GACzB,IAAIntE,EAAQxJ,KAEZ4vE,EAAgB5vE,KAAM+7F,GAEtBzmB,EAAK9wE,OAAOsxE,eAAeimB,EAAkBn9E,WAAY,cAAe5e,MAAMye,KAAKze,MACnF,IAAIg8F,OAAgBh2E,EAIpBhmB,KAAKi8F,WAAaV,EAAiB,WAAWW,gBAG9Cl8F,KAAKm8F,QAAU,GAGfn8F,KAAKo8F,YAAc,EAKnBp8F,KAAKq8F,eAAiBxsC,IAEtB7vD,KAAKg4E,aAAerB,EAEpB32E,KAAKs8F,gBAAkBzsC,IACvB7vD,KAAKu8F,gBAAkB1sC,IAKvB7vD,KAAK+2E,UAAW,EAChB/2E,KAAK63E,iBAAmB,EAExBmkB,EAAgB/Q,EAAe,WAAWuR,KAAK52F,OAAO8oE,aAAahwD,MAAM,KAAMva,MAAMya,UAAUnK,MAAMgK,KAAK08E,EAAc,WAAWl4B,kBASnI,IAAIw5B,EAAez8F,KAAKg4E,aAAaphD,QAAQzzB,KAAK4J,QAAQ,gBAAiB,KAE3E/M,KAAK08F,wBAA0B,0BAA4BD,EAAed,IAC1E37F,KAAK28F,sBAAwB,wBAA0BF,EAAed,IAEtE1Q,EAAe,WAAWjrF,KAAK08F,yBAA2B,WAExD,cADOzR,EAAe,WAAWzhF,EAAMkzF,yBAChCV,GAGTh8F,KAAKg4E,aAAa4kB,OAAOC,qBAAqB78F,KAAK08F,yBAEnD18F,KAAK24E,aAAc,EAAItC,EAAa,YAAYglB,EAAwB,WAAYG,KACpFx7F,KAAK24E,YAAYC,YAAY,CAAEC,OAAQ,OAAQtnD,QAAS,KACxDvxB,KAAK24E,YAAYG,UAAY,SAAUzxE,GACX,SAAtBA,EAAMjB,KAAKyyE,QACbrvE,EAAMszF,eAAez1F,EAAMjB,KAAKuzE,UAIpC35E,KAAKgyB,IAAI,aAAa,WACpBxoB,EAAMwuE,aAAa1uC,MAAMhrB,QAAQ,qBAGnC9Z,OAAO8a,eAAetf,KAAM,kBAAmB,CAC7CiV,IAAK,WACH,OAAOjV,KAAK63E,kBAEdn2D,IAAK,SAAa0I,GACG,kBAARA,GAAoBA,GAAO,IACpCpqB,KAAK63E,iBAAmBztD,EAExBpqB,KAAKg4E,aAAa4kB,OAAOG,oBAGzB/8F,KAAKq8F,eAAiBxsC,IACtB7vD,KAAKs8F,gBAAkBzsC,IACvB7vD,KAAKu8F,gBAAkB1sC,IAEvB7vD,KAAK24E,YAAYC,YAAY,CAAEC,OAAQ,cAK7Cr0E,OAAO8a,eAAetf,KAAM,WAAY,CACtCiV,IAAK,WACH,IAAKjV,KAAKg4E,eAAiBh4E,KAAKg4E,aAAa4kB,UAAY,oBAAqB58F,KAAKg4E,aAAa4kB,QAC9F,OAAOv5B,EAAU,WAAWP,kBAG9B,IAAInlC,EAAW39B,KAAKg4E,aAAa4kB,OAAOI,gBAAgB,YAMxD,OAJIr/D,GAAYA,EAASptB,SACvBotB,EAAS,GAAG,GAAKk+D,EAAgBl+D,EAAS,GAAG,GAAI,GACjDA,EAAS,GAAG,GAAKk+D,EAAgBl+D,EAAS,GAAG,GAAI,IAE5C0lC,EAAU,WAAW5lC,iBAAiBE,MAMjD39B,KAAKg4E,aAAaphD,QAAQl2B,GAAG,UAAU,WAErC,IADA,EAAIw1E,EAAsB,YAAY,EAAGl7B,IAAUxxC,EAAM4wE,gBACrD5wE,EAAM6wE,kBACR,IAAK,IAAI17C,KAASn1B,EAAM6wE,mBACtB,EAAInE,EAAsB,YAAY,EAAGl7B,IAAUxxC,EAAM6wE,kBAAkB17C,OAKjF,IAAIs+D,EAAaj9F,KAAKk9F,YAAYhuF,KAAKlP,MAIvCA,KAAKg4E,aAAaphD,QAAQ0S,MAAM5oC,GAAG,YAAau8F,GAEhDj9F,KAAKg4E,aAAaphD,QAAQ0S,MAAM+qC,IAAI3zE,GAAG,WAAW,WAChD8I,EAAMmvE,YAAYwkB,YAClB3zF,EAAMwuE,aAAaphD,QAAQ0S,MAAMjrB,IAAI,YAAa4+E,MAgYtD,OA5fA57B,EAAU06B,EAAmBnkB,GAwI7BnI,EAAassB,EAAmB,CAAC,CAC/B74F,IAAK,eACLZ,MAAO,SAAsBwvE,GAC3B,IAAIlqD,OAAQ5B,EAEZ,GAAIhmB,KAAK+2E,SAIP,MAHAnvD,EAAQ,IAAIjG,MAAM,yEAClBiG,EAAMxlB,KAAO,oBACbwlB,EAAMxR,KAAO,GACPwR,EAER5nB,KAAK+2E,UAAW,EAChB/2E,KAAKg4E,aAAa7kD,WAAa,OAC/BnzB,KAAKse,QAAQ,CAAE5a,KAAM,WAErB1D,KAAK24E,YAAYC,YAAY,CAC3BC,OAAQ,OACRzyE,KAAM0rE,EAAMrF,OACZgE,WAAYqB,EAAMrB,WAClBpxD,WAAYyyD,EAAMzyD,YACjB,CAACyyD,EAAMrF,SACVzsE,KAAK24E,YAAYC,YAAY,CAAEC,OAAQ,YAQxC,CACD31E,IAAK,QACLZ,MAAO,WACLtC,KAAKm8F,QAAU,GACfn8F,KAAKo8F,YAAc,EACnBp8F,KAAKg4E,aAAa4kB,OAAOQ,YAGrBp9F,KAAK+2E,WACP/2E,KAAK+2E,UAAW,EAChB/2E,KAAKse,QAAQ,CAAE5a,KAAM,iBAaxB,CACDR,IAAK,SACLZ,MAAO,SAAgBk7B,EAAOt0B,GAE5B,IADA,EAAIgtE,EAAsB,YAAY14C,EAAOt0B,EAAKlJ,KAAKo6E,gBACnDp6E,KAAKq6E,kBACP,IAAK,IAAI17C,KAAS3+B,KAAKq6E,mBACrB,EAAInE,EAAsB,YAAY14C,EAAOt0B,EAAKlJ,KAAKq6E,kBAAkB17C,IAG7E3+B,KAAKse,QAAQ,CAAE5a,KAAM,WACrB1D,KAAKse,QAAQ,CAAE5a,KAAM,gBAStB,CACDR,IAAK,iBACLZ,MAAO,SAAwBq3E,GAC7B,IAAItkD,EAASr1B,MAGb,EAAIg2E,EAA8B,YAAYh2E,KAAMA,KAAKg4E,aAAc2B,IACvE,EAAIxD,EAAkByE,kBAAkB56E,KAAM25E,EAAQ1zC,SAAU0zC,EAAQjzC,UAGxE+0D,GAAa,WACX,IAAI4B,EAAWhoE,EAAOioE,mBAAmB3jB,GAEX,IAA1BtkD,EAAO8mE,QAAQ5rF,QACjBkrF,EAAapmE,EAAOkoE,eAAeruF,KAAKmmB,IAGtCgoE,IACFhoE,EAAO8mE,QAAQvpF,KAAKyqF,GACpBhoE,EAAO+mE,aAAeiB,EAASh+E,iBAUpC,CACDnc,IAAK,iBACLZ,MAAO,WACL,IAAI65B,EAASn8B,KAETw9F,EAAYjC,EAAiB,WAAWW,gBAE5C,GAAKl8F,KAAKm8F,QAAQ5rF,OAAlB,CAUA,IAAIktF,EAAQz9F,KAAKm8F,QAAQ,GAAG/8E,SAAS,EAAGo+E,GAGpCC,EAAMp+E,WAAam+E,GAAax9F,KAAKm8F,QAAQ,GAAG98E,aAAem+E,EACjEx9F,KAAKm8F,QAAQp8E,QAEb/f,KAAKm8F,QAAQ,GAAKn8F,KAAKm8F,QAAQ,GAAG/8E,SAASo+E,GAG7Cx9F,KAAKo8F,aAAeqB,EAAMp+E,WAM1B,IAHA,IAAIq+E,EAAS,GACTntF,EAASktF,EAAMp+E,WAEVlV,EAAI,EAAGA,EAAIoG,EAAQpG,IAC1BuzF,EAAO9qF,KAAKhN,OAAO8oE,aAAa+uB,EAAMtzF,KAExC,IAAIwzF,EAAS1S,EAAe,WAAWuR,KAAKkB,EAAOt2E,KAAK,KAExD6jE,EAAe,WAAWjrF,KAAK28F,uBAAyB,WAKtD,OAFAlB,EAAat/D,EAAOohE,eAAeruF,KAAKitB,WACjC8uD,EAAe,WAAW9uD,EAAOwgE,uBACjCgB,GAIT39F,KAAKg4E,aAAa4kB,OAAOC,qBAAqB78F,KAAK28F,4BAtC3B,IAAlB38F,KAAK+2E,WACP/2E,KAAK+2E,UAAW,EAChB/2E,KAAKse,QAAQ,CAAE5a,KAAM,iBAgD1B,CACDR,IAAK,qBACLZ,MAAO,SAA4B+rF,GACjC,IAAIuP,EAAoB,EACpB1+D,EAAOl/B,KAAKg4E,aAAa1uC,MACzBu0D,EAAiB,EACjBlkB,OAAU3zD,EACV83E,EAAYzP,EAAY0P,KAAKD,UAC7BE,EAAY3P,EAAY0P,KAAKC,UAIjC,GAAIjjD,MAAM/6C,KAAKq8F,kBAAoByB,EAAUvtF,QAAUytF,EAAUztF,QAAS,CAIxE,IAAI0tF,EAAgBH,EAAU,IAAM,CAAE1mB,IAAKp8B,KACvCkjD,EAAgBF,EAAU,IAAM,CAAE5mB,IAAKp8B,KAE3Ch7C,KAAKq8F,eAAiBlzF,KAAKnD,IAAIk4F,EAAc9mB,IAAK6mB,EAAc7mB,KAG9Dl4C,EAAKo4B,YAGPt3D,KAAKu8F,gBAAkB1sC,IACvB7vD,KAAKs8F,gBAAkBzsC,KAGrB9U,MAAM/6C,KAAKu8F,kBACTr9D,EAAKvB,WAAWptB,SAClBstF,EAAiB3+D,EAAKvB,WAAWz0B,IAAI,GAAKlJ,KAAKk5E,iBAI7Ch6C,EAAKo4B,YACPumC,EAAiB10F,KAAKjD,IAAI23F,EAAgB3+D,EAAK1iB,cAAgBxc,KAAKk5E,kBAItE2kB,GAAkB,IAClBA,GAAkB79F,KAAKq8F,gBAOvBwB,EAAiB79F,KAAKu8F,gBAAkB,GAI1C,IAAI4B,EAAeL,EAAUvtF,OAI7B,GAAI4tF,GAAgBL,EAAUK,EAAe,GAAG/mB,KAAOymB,EAAgB,CAGrE,QAASM,EAAc,CACrB,IAAIC,EAAaN,EAAUK,GAE3B,KAAIC,EAAWhnB,IAAMymB,KAMjBO,EAAWze,UAAYye,EAAWC,aACpC,MASJ,MAAOF,EAAc,CACnB,IAAIG,EAAUR,EAAUK,EAAe,GAEvC,IAAKG,EAAQD,YACX,MAGFF,KAIJ,IAAII,EAAoBT,EAAUrpF,MAAM0pF,GAEpCK,OAAiBx4E,EAGnBw4E,EADEzjD,MAAM/6C,KAAKs8F,iBACIuB,EAOA79F,KAAKs8F,gBAAkB,GAGtCiC,EAAkBhuF,SAIpBiuF,EAAiBr1F,KAAKnD,IAAIw4F,EAAgBD,EAAkB,GAAGnnB,MAIjE+mB,EAAe,EAEf,MAAOA,EAAeH,EAAUztF,OAAQ,CACtC,GAAIytF,EAAUG,GAAc/mB,KAAOonB,EACjC,MAGFL,IAGF,IAAIM,EAAoBT,EAAUvpF,MAAM0pF,GAGpCM,EAAkBluF,SACpBvQ,KAAKs8F,gBAAkBmC,EAAkBA,EAAkBluF,OAAS,GAAG6mE,KAErEmnB,EAAkBhuF,SACpBvQ,KAAKu8F,gBAAkBgC,EAAkBA,EAAkBhuF,OAAS,GAAG6mE,KAGzE,IAAI2mB,EAAO/9F,KAAK0+F,gBAAgBH,EAAmBE,GAEnD,GAAoB,IAAhBV,EAAKxtF,OAAT,CAOA,GAAIwtF,EAAK,GAAG3mB,IAAMymB,GAAkB3+D,EAAKo4B,UAAW,CAClD,IAAIqnC,EAAc,EAAI,GAClBniF,EAAc0iB,EAAK1iB,cACnBpU,GAAQy1F,EAAiBE,EAAK,GAAG3mB,KAAO,IACxCwnB,EAAepiF,EAAcpU,EAE7Bw2F,EAAeD,IACjBC,EAAe,GAGjB,IACE5+F,KAAKg4E,aAAa4kB,OAAOiC,sBAAsBD,GAC/C,MAAOr0F,KASX,IAAK,IAAIJ,EAAI,EAAGA,EAAI4zF,EAAKxtF,OAAQpG,IAC/ByzF,GAAqBG,EAAK5zF,GAAG2nE,MAAMzyD,WAErCs6D,EAAU,IAAI/I,WAAWgtB,GAChBzzF,EAAI,EAAb,IAAK,IAAW+qC,EAAI,EAAG/qC,EAAI4zF,EAAKxtF,OAAQpG,IACtCwvE,EAAQj4D,IAAIq8E,EAAK5zF,GAAG2nE,MAAO58B,GAC3BA,GAAK6oD,EAAK5zF,GAAG2nE,MAAMzyD,WAGrB,OAAOs6D,KAUR,CACDz2E,IAAK,kBACLZ,MAAO,SAAyBw7F,EAAWE,GACzC,IAAIpzF,OAAMob,EACN+3E,EAAO,GAEX,MAAOD,EAAUvtF,QAAUytF,EAAUztF,OASjC3F,EARGkzF,EAAUvtF,OAGHytF,EAAUztF,QAGXytF,EAAU,GAAGnf,IAAMif,EAAU,GAAGjf,IAEnCmf,EAAUj+E,QAHV+9E,EAAU/9E,QAHVi+E,EAAUj+E,QAYlBg+E,EAAKnrF,KAAKhI,GAGZ,OAAOmzF,IAER,CACD76F,IAAK,cACLZ,MAAO,WACLtC,KAAK24E,YAAYC,YAAY,CAAEC,OAAQ,sBAIpCkjB,EA7fe,CA8frB14B,EAAU,WAAWnvC,aAExBhV,EAAQ,WAAa68E,EACrB98E,EAAOC,QAAUA,EAAQ,Y,oCCtnBzB,W,uBCAA,IAAI7a,EAAM,CACT,wBAAyB,OACzB,uBAAwB,QAIzB,SAASy6F,EAAeC,GACvB,IAAI57F,EAAK67F,EAAsBD,GAC/B,OAAOE,EAAoB97F,GAE5B,SAAS67F,EAAsBD,GAC9B,IAAIE,EAAoB11C,EAAEllD,EAAK06F,GAAM,CACpC,IAAIx0F,EAAI,IAAIoX,MAAM,uBAAyBo9E,EAAM,KAEjD,MADAx0F,EAAE6L,KAAO,mBACH7L,EAEP,OAAOlG,EAAI06F,GAEZD,EAAer6F,KAAO,WACrB,OAAOD,OAAOC,KAAKJ,IAEpBy6F,EAAenkC,QAAUqkC,EACzB//E,EAAOC,QAAU4/E,EACjBA,EAAe37F,GAAK,Q,kCCbpB,IAAI+7F,EAQJjgF,EAAOC,QAAU,SAAaigF,GAC5B,IAAIC,EAAUF,EAASC,EAAU9/E,WAAa,IAAO,GACjDvH,EAAS,IAAI84D,WAAWuuB,EAAU9/E,WAAa+/E,EAAQ7uF,QAG3D,OAFAuH,EAAO4J,IAAIy9E,GACXrnF,EAAO4J,IAAI09E,EAASD,EAAU9/E,YACvBvH,GAITonF,EAAU,CACR,CAAC,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,IAEb,CAAC,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,IAET,CAAC,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,IAEL,CAAC,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,IAED,CAAC,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,IAEb,CAAC,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,IAET,CAAC,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,IAEL,CAAC,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,GAED,CAAC,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GAEV,CAAC,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,GAEP,CAAC,EAAG,EAAG,EAAG,EACT,EAAG,GAEJ,CAAC,EAAG,EAAG,EAAG,EACT,GAED,CAAC,EAAG,EAAG,EAAG,GAEV,CAAC,EAAG,EAAG,GAEP,CAAC,EAAG,GAEJ,CAAC,K,oCCxEH,SAASh8B,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI+8F,EAAc,EAAQ,QAEtBC,EAAep8B,EAAuBm8B,GAEtCrU,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExCuU,EAAa,SAAoBC,EAASC,GAE5C,MAAI,YAAY7yF,KAAK6yF,GACZA,GAIJ,QAAQ7yF,KAAK4yF,KAChBA,EAAUF,EAAa,WAAWI,iBAAiBzU,EAAe,WAAW9+E,SAASC,KAAMozF,IAGvFF,EAAa,WAAWI,iBAAiBF,EAASC,KAG3DvgF,EAAQ,WAAaqgF,EACrBtgF,EAAOC,QAAUA,EAAQ,Y,8CCnBzB,IAAIygF,EAAc,OACdC,EAAmB,CACrB,IAAI,EACJ,IAAM,EACN,IAAM,GAEJC,EAAe,CACjB,OAAS,EACT,QAAU,EACV,KAAO,EACP,MAAQ,EACR,OAAS,GAGX,SAASC,EAAqBx9F,GAC5B,GAAqB,kBAAVA,EACT,OAAO,EAET,IAAIo3C,EAAMkmD,EAAiBt9F,EAAMwe,eACjC,QAAO44B,GAAMp3C,EAAMwe,cAGrB,SAASi/E,EAAiBz9F,GACxB,GAAqB,kBAAVA,EACT,OAAO,EAET,IAAI4jE,EAAQ25B,EAAav9F,EAAMwe,eAC/B,QAAOolD,GAAQ5jE,EAAMwe,cAGvB,SAAS6hD,EAAOz+D,GAEd,IADA,IAAIiG,EAAI,EACDA,EAAIT,UAAU6G,OAAQpG,IAAK,CAChC,IAAI61F,EAAOt2F,UAAUS,GACrB,IAAK,IAAI22D,KAAKk/B,EACZ97F,EAAI48D,GAAKk/B,EAAKl/B,GAIlB,OAAO58D,EAGT,SAASomC,EAAOvL,EAAWC,EAASxU,GAClC,IAAIsU,EAAM9+B,KACN2oE,EAAQ,aAAe/7D,KAAKC,UAAUC,WACtCmzF,EAAU,GAEVt3B,EACF7pC,EAAMlzB,SAASyY,cAAc,UAE7B47E,EAAQx+E,YAAa,EAWvBqd,EAAIytC,cAAe,EAOnB,IAAI2zB,EAAM,GACNC,GAAe,EACfC,EAAarhE,EACbshE,EAAWrhE,EACXshE,EAAQ91E,EACR+1E,EAAU,KACVC,EAAY,GACZC,GAAe,EACfC,EAAQ,OACRC,EAAa,QACbC,EAAY,GACZC,EAAiB,SACjBC,EAAQ,GACRC,EAAS,SAiMb,GA/LAv8F,OAAO8a,eAAewf,EACpB,KAAM6jC,EAAO,GAAIs9B,EAAS,CACxBhrF,IAAK,WACH,OAAOirF,GAETx+E,IAAK,SAASpf,GACZ49F,EAAM,GAAK59F,MAIjBkC,OAAO8a,eAAewf,EACpB,cAAe6jC,EAAO,GAAIs9B,EAAS,CACjChrF,IAAK,WACH,OAAOkrF,GAETz+E,IAAK,SAASpf,GACZ69F,IAAiB79F,MAIvBkC,OAAO8a,eAAewf,EACpB,YAAa6jC,EAAO,GAAIs9B,EAAS,CAC/BhrF,IAAK,WACH,OAAOmrF,GAET1+E,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,EACT,MAAM,IAAIsf,UAAU,uCAEtBw+E,EAAa99F,EACbtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,UAAW6jC,EAAO,GAAIs9B,EAAS,CAC7BhrF,IAAK,WACH,OAAOorF,GAET3+E,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,EACT,MAAM,IAAIsf,UAAU,qCAEtBy+E,EAAW/9F,EACXtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,OAAQ6jC,EAAO,GAAIs9B,EAAS,CAC1BhrF,IAAK,WACH,OAAOqrF,GAET5+E,IAAK,SAASpf,GACZg+F,EAAQ,GAAKh+F,EACbtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,SAAU6jC,EAAO,GAAIs9B,EAAS,CAC5BhrF,IAAK,WACH,OAAOsrF,GAET7+E,IAAK,SAASpf,GACZi+F,EAAUj+F,EACVtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,WAAY6jC,EAAO,GAAIs9B,EAAS,CAC9BhrF,IAAK,WACH,OAAOurF,GAET9+E,IAAK,SAASpf,GACZ,IAAIuf,EAAUi+E,EAAqBx9F,GAEnC,IAAgB,IAAZuf,EACF,MAAM,IAAIC,YAAY,+CAExB0+E,EAAY3+E,EACZ7hB,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,cAAe6jC,EAAO,GAAIs9B,EAAS,CACjChrF,IAAK,WACH,OAAOwrF,GAET/+E,IAAK,SAASpf,GACZm+F,IAAiBn+F,EACjBtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,OAAQ6jC,EAAO,GAAIs9B,EAAS,CAC1BhrF,IAAK,WACH,OAAOyrF,GAETh/E,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,GAAsBA,IAAUq9F,EACzC,MAAM,IAAI79E,YAAY,sDAExB4+E,EAAQp+F,EACRtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,YAAa6jC,EAAO,GAAIs9B,EAAS,CAC/BhrF,IAAK,WACH,OAAO0rF,GAETj/E,IAAK,SAASpf,GACZ,IAAIuf,EAAUk+E,EAAiBz9F,GAC/B,IAAKuf,EACH,MAAM,IAAIC,YAAY,+CAExB6+E,EAAa9+E,EACb7hB,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,WAAY6jC,EAAO,GAAIs9B,EAAS,CAC9BhrF,IAAK,WACH,OAAO2rF,GAETl/E,IAAK,SAASpf,GACZ,GAAIA,EAAQ,GAAKA,EAAQ,IACvB,MAAM,IAAIqf,MAAM,uCAElBi/E,EAAYt+F,EACZtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,gBAAiB6jC,EAAO,GAAIs9B,EAAS,CACnChrF,IAAK,WACH,OAAO4rF,GAETn/E,IAAK,SAASpf,GACZ,IAAIuf,EAAUk+E,EAAiBz9F,GAC/B,IAAKuf,EACH,MAAM,IAAIC,YAAY,+CAExB++E,EAAiBh/E,EACjB7hB,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,OAAQ6jC,EAAO,GAAIs9B,EAAS,CAC1BhrF,IAAK,WACH,OAAO6rF,GAETp/E,IAAK,SAASpf,GACZ,GAAIA,EAAQ,GAAKA,EAAQ,IACvB,MAAM,IAAIqf,MAAM,mCAElBm/E,EAAQx+F,EACRtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,QAAS6jC,EAAO,GAAIs9B,EAAS,CAC3BhrF,IAAK,WACH,OAAO8rF,GAETr/E,IAAK,SAASpf,GACZ,IAAIuf,EAAUk+E,EAAiBz9F,GAC/B,IAAKuf,EACH,MAAM,IAAIC,YAAY,+CAExBi/E,EAASl/E,EACT7hB,KAAKusE,cAAe,MAS1BztC,EAAI6Z,kBAAe3yB,EAEf2iD,EACF,OAAO7pC,EAQXwL,EAAO1rB,UAAUoiF,aAAe,WAE9B,OAAO34D,OAAO0jC,oBAAoBvgE,OAAQxL,KAAKwqB,OAGjDvL,EAAOC,QAAUorB,G,oCC3SjB9lC,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEnB,SAASo+C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,IAAIwhD,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC9R,EAAO,aAeP2vC,EAAgB,WAClB,SAASA,EAActqB,EAAaC,GAClC,IAAIptE,EAAQxJ,KAEZ4vE,EAAgB5vE,KAAMihG,GAEtB,IAAIC,EAAqB,WACvB13F,EAAM23F,cAAgBxqB,EAAYG,gBAAgBF,GAIlDptE,EAAM43F,qBAAuB,WAC3B,IAAIC,EAAkB73F,EAAM83F,iBAE5B93F,EAAM83F,iBAAmB,KAErBD,GACFA,IAGF73F,EAAM+3F,gBAGR/3F,EAAM23F,cAAc5jF,iBAAiB,YAAa/T,EAAM43F,sBAExD53F,EAAM+3F,gBAGRvhG,KAAKwhG,WAAa,GAClBxhG,KAAKshG,iBAAmB,KACxBthG,KAAK63E,iBAAmB,EACxB73E,KAAK22E,YAAcA,EACnB32E,KAAKyhG,kBAAmB,EAEO,WAA3B9qB,EAAYxjD,WACdwjD,EAAYp5D,iBAAiB,aAAc2jF,GAE3CA,IA8IJ,OAnIAzxB,EAAawxB,EAAe,CAAC,CAC3B/9F,IAAK,QACLZ,MAAO,SAAekvE,GACpB,IAAIn8C,EAASr1B,KAETA,KAAKyhG,kBACPzhG,KAAK0hG,gBAAe,WAClBrsE,EAAO8rE,cAAc3uB,UACpBhB,KAWN,CACDtuE,IAAK,eACLZ,MAAO,SAAsBwvE,EAAON,GAClC,IAAIr1C,EAASn8B,KAEbA,KAAKyhG,kBAAmB,EACxBzhG,KAAK0hG,gBAAe,WAClBvlE,EAAOglE,cAAcnmB,aAAalJ,KACjCN,KAQJ,CACDtuE,IAAK,WACLZ,MAAO,WACL,OAAKtC,KAAKmhG,cAGHnhG,KAAKmhG,cAAcxjE,SAFjB0lC,EAAU,WAAW5lC,qBAY/B,CACDv6B,IAAK,SACLZ,MAAO,SAAgBk7B,EAAOt0B,GAC5B,IAAIkzB,EAASp8B,KAETA,KAAKyhG,kBACPzhG,KAAK0hG,gBAAe,WAClBtlE,EAAO+kE,cAAc11E,OAAO+R,EAAOt0B,KAClCooD,KASN,CACDpuD,IAAK,WACLZ,MAAO,WACL,OAAQtC,KAAKmhG,eAAiBnhG,KAAKmhG,cAAcpqB,UAAY/2E,KAAKshG,mBAQnE,CACDp+F,IAAK,kBACLZ,MAAO,SAAyBw4E,GAC9B,IAAIvsC,EAASvuC,KAQb,MANsB,qBAAX86E,IACT96E,KAAK0hG,gBAAe,WAClBnzD,EAAO4yD,cAAcjoB,gBAAkB4B,KAEzC96E,KAAK63E,iBAAmBiD,GAEnB96E,KAAK63E,mBAMb,CACD30E,IAAK,iBACLZ,MAAO,SAAwBO,EAAU2uE,GACvCxxE,KAAKwhG,WAAW5uF,KAAK,CAAC/P,EAASqM,KAAKlP,MAAOwxE,IAC3CxxE,KAAKuhG,iBAMN,CACDr+F,IAAK,eACLZ,MAAO,WACL,IAAIic,OAAYyH,GAEXhmB,KAAK+2E,YAAc/2E,KAAKwhG,WAAWjxF,SACtCgO,EAAYve,KAAKwhG,WAAWzhF,QAC5B/f,KAAKshG,iBAAmB/iF,EAAU,GAClCA,EAAU,QAOb,CACDrb,IAAK,UACLZ,MAAO,WACLtC,KAAKmhG,cAAc3xE,oBAAoB,YAAaxvB,KAAKohG,sBACrDphG,KAAKmhG,eAAiD,SAAhCnhG,KAAK22E,YAAYxjD,YACzCnzB,KAAKmhG,cAAc3uB,YAKlByuB,EAnLW,GAsLpB/hF,EAAQ,WAAa+hF,EACrBhiF,EAAOC,QAAUA,EAAQ,Y,kCCvNzB,IAAIyiF,EAAU,WACZ,IAAIp8E,EAAOvlB,KAEXA,KAAKsQ,KAAO,GAEZtQ,KAAK4S,KAAO,SAAShI,GACnB5K,KAAKsQ,KAAKsC,KAAK,CACbk/D,MAAOlnE,EAAIknE,MACX+M,IAAKj0E,EAAIi0E,IACTzH,IAAKxsE,EAAIwsE,IACTuI,SAAU/0E,EAAI+0E,SACd0e,YAAazzF,EAAIyzF,eAIrB75F,OAAO8a,eAAetf,KAAM,SAAU,CACpCiV,IAAK,WACH,OAAOsQ,EAAKjV,KAAKC,WAKvB0O,EAAOC,QAAUyiF,G,oCCbjB,IAQIxd,EAAuBE,EAAsBE,EAR7CvmE,EAAS,EAAQ,QACnB2mE,EAAgB,EAAQ,QACxBiD,EAAc,EAAQ,QACtBpE,EAA0B,EAAQ,QAA+BA,wBAE/Doe,EAAkB,EAAQ,QAO5B7Z,EAAqB,IACrBC,EAAY,GAMd7D,EAAwB,WACtB,IACE1X,EAAS,IAAImE,WAAWmX,GACxB8Z,EAAgB,EAElB1d,EAAsBvlE,UAAUX,KAAKQ,KAAKze,MAI1CA,KAAK4S,KAAO,SAASk/D,GACnB,IAGEgwB,EAFA1Z,EAAa,EACbC,EAAWN,EAKT8Z,GACFC,EAAa,IAAIlxB,WAAWkB,EAAMzyD,WAAawiF,GAC/CC,EAAWpgF,IAAI+qD,EAAOrtD,SAAS,EAAGyiF,IAClCC,EAAWpgF,IAAIowD,EAAO+vB,GACtBA,EAAgB,GAEhBC,EAAahwB,EAIf,MAAOuW,EAAWyZ,EAAWziF,WAEvByiF,EAAW1Z,KAAgBJ,GAAa8Z,EAAWzZ,KAAcL,GAWrEI,IACAC,MATEroF,KAAKse,QAAQ,OAAQwjF,EAAW1iF,SAASgpE,EAAYC,IACrDD,GAAcL,EACdM,GAAYN,GAaZK,EAAa0Z,EAAWziF,aAC1BotD,EAAO/qD,IAAIogF,EAAW1iF,SAASgpE,GAAa,GAC5CyZ,EAAgBC,EAAWziF,WAAa+oE,IAI5CpoF,KAAKgf,MAAQ,WAIP6iF,IAAkB9Z,GAAsBtb,EAAO,KAAOub,IACxDhoF,KAAKse,QAAQ,OAAQmuD,GACrBo1B,EAAgB,GAElB7hG,KAAKse,QAAQ,UAGjB6lE,EAAsBvlE,UAAY,IAAIZ,EAMtCqmE,EAAuB,WACrB,IAAI0d,EAAUxZ,EAAUE,EAAUljE,EAClC8+D,EAAqBzlE,UAAUX,KAAKQ,KAAKze,MACzCulB,EAAOvlB,KAEPA,KAAKgiG,qBAAuB,GAC5BhiG,KAAKiiG,qBAAkBj8E,EAEvB+7E,EAAW,SAASG,EAASC,GAC3B,IAAIrnB,EAAS,EAQTqnB,EAAIC,4BACNtnB,GAAUonB,EAAQpnB,GAAU,GAGb,QAAbqnB,EAAIz+F,KACN6kF,EAAS2Z,EAAQ9iF,SAAS07D,GAASqnB,GAEnC1Z,EAASyZ,EAAQ9iF,SAAS07D,GAASqnB,IAIvC5Z,EAAW,SAAS2Z,EAASG,GAC3BA,EAAIC,eAAiBJ,EAAQ,GAC7BG,EAAIE,oBAAsBL,EAAQ,GAGlC38E,EAAKi9E,QAAwB,GAAdN,EAAQ,MAAe,EAAIA,EAAQ,IAClDG,EAAIG,OAASj9E,EAAKi9E,QAWpB/Z,EAAW,SAASyZ,EAASha,GAC3B,IAAIua,EAAeC,EAAUC,EAAmB7nB,EAOhD,GAAmB,EAAbonB,EAAQ,GAAd,CAKA38E,EAAK08E,gBAAkB,CACrBxuF,MAAO,KACP63B,MAAO,KACP,iBAAkB,IAIpBm3D,GAA8B,GAAbP,EAAQ,KAAc,EAAIA,EAAQ,GACnDQ,EAAW,EAAID,EAAgB,EAI/BE,GAAmC,GAAdT,EAAQ,MAAe,EAAIA,EAAQ,IAGxDpnB,EAAS,GAAK6nB,EACd,MAAO7nB,EAAS4nB,EAAU,CACxB,IAAIE,EAAaV,EAAQpnB,GACrBwN,GAA6B,GAAtB4Z,EAAQpnB,EAAS,KAAc,EAAIonB,EAAQpnB,EAAS,GAK3D8nB,IAAehb,EAAY4C,kBACI,OAA/BjlE,EAAK08E,gBAAgBxuF,MACvB8R,EAAK08E,gBAAgBxuF,MAAQ60E,EACpBsa,IAAehb,EAAY6C,kBACI,OAA/BllE,EAAK08E,gBAAgB32D,MAC9B/lB,EAAK08E,gBAAgB32D,MAAQg9C,EACpBsa,IAAehb,EAAYmT,uBAEpCx1E,EAAK08E,gBAAgB,kBAAkB3Z,GAAOsa,GAKhD9nB,GAAsE,IAApC,GAAtBonB,EAAQpnB,EAAS,KAAc,EAAIonB,EAAQpnB,EAAS,IAIlEoN,EAAI+Z,gBAAkB18E,EAAK08E,kBAM7BjiG,KAAK4S,KAAO,SAASu1E,GACnB,IACErwE,EAAS,GACTgjE,EAAS,EAmBX,GAjBAhjE,EAAOsqF,6BAA2C,GAAZja,EAAO,IAG7CrwE,EAAOwwE,IAAkB,GAAZH,EAAO,GACpBrwE,EAAOwwE,MAAQ,EACfxwE,EAAOwwE,KAAOH,EAAO,IAOH,GAAZA,EAAO,MAAe,EAAK,IAC/BrN,GAAUqN,EAAOrN,GAAU,GAIV,IAAfhjE,EAAOwwE,IACTxwE,EAAOpU,KAAO,MACdq+F,EAAS5Z,EAAO/oE,SAAS07D,GAAShjE,GAClC9X,KAAKse,QAAQ,OAAQxG,QAChB,GAAIA,EAAOwwE,MAAQtoF,KAAKwiG,OAAQ,CACrC1qF,EAAOpU,KAAO,MACdq+F,EAAS5Z,EAAO/oE,SAAS07D,GAAShjE,GAClC9X,KAAKse,QAAQ,OAAQxG,GAGrB,MAAO9X,KAAKgiG,qBAAqBzxF,OAC/BvQ,KAAK6iG,YAAYnkF,MAAM1e,KAAMA,KAAKgiG,qBAAqBjiF,mBAEvBiG,IAAzBhmB,KAAKiiG,gBAGdjiG,KAAKgiG,qBAAqBpvF,KAAK,CAACu1E,EAAQrN,EAAQhjE,IAEhD9X,KAAK6iG,YAAY1a,EAAQrN,EAAQhjE,IAIrC9X,KAAK6iG,YAAc,SAAS1a,EAAQrN,EAAQhjE,GAEtCA,EAAOwwE,MAAQtoF,KAAKiiG,gBAAgBxuF,MACtCqE,EAAO8qF,WAAahb,EAAY4C,iBACvB1yE,EAAOwwE,MAAQtoF,KAAKiiG,gBAAgB32D,MAC7CxzB,EAAO8qF,WAAahb,EAAY6C,iBAIhC3yE,EAAO8qF,WAAa5iG,KAAKiiG,gBAAgB,kBAAkBnqF,EAAOwwE,KAGpExwE,EAAOpU,KAAO,MACdoU,EAAO1R,KAAO+hF,EAAO/oE,SAAS07D,GAE9B96E,KAAKse,QAAQ,OAAQxG,KAIzBusE,EAAqBzlE,UAAY,IAAIZ,EACrCqmE,EAAqBye,aAAgB,CACnCC,KAAM,GACNC,KAAM,IAWRze,EAAmB,WACjB,IACEh/D,EAAOvlB,KAEPyT,EAAQ,CACNrN,KAAM,GACNK,KAAM,GAER6kC,EAAQ,CACNllC,KAAM,GACNK,KAAM,GAERw8F,EAAgB,CACd78F,KAAM,GACNK,KAAM,GAERy8F,EAAW,SAAShB,EAAS/Y,GAC3B,IAAIga,EAGJha,EAAIia,aAAe,GAAMlB,EAAQ,IAAM,EAAKA,EAAQ,IAGpD/Y,EAAIka,uBAAiD,KAAV,EAAbnB,EAAQ,IAItCiB,EAAcjB,EAAQ,GAUJ,IAAdiB,IAIFha,EAAI/R,KAAoB,GAAb8qB,EAAQ,KAAc,IAChB,IAAdA,EAAQ,MAAe,IACT,IAAdA,EAAQ,MAAe,IACT,IAAdA,EAAQ,MAAgB,GACV,IAAdA,EAAQ,OAAiB,EAC5B/Y,EAAI/R,KAAO,EACX+R,EAAI/R,MAAsB,EAAd8qB,EAAQ,OAAgB,EACpC/Y,EAAItK,IAAMsK,EAAI/R,IACI,GAAd+rB,IACFha,EAAItK,KAAqB,GAAdqjB,EAAQ,MAAe,IACjB,IAAdA,EAAQ,MAAe,IACT,IAAdA,EAAQ,MAAe,IACT,IAAdA,EAAQ,MAAe,GACT,IAAdA,EAAQ,OAAgB,EAC3B/Y,EAAItK,KAAO,EACXsK,EAAItK,MAAsB,EAAdqjB,EAAQ,OAAgB,IAMxC/Y,EAAI/iF,KAAO87F,EAAQ9iF,SAAS,EAAI8iF,EAAQ,KAE1CoB,EAAc,SAAS51B,EAAQhqE,EAAM6/F,GACnC,IAQEx0B,EAPAy0B,EAAa,IAAI5yB,WAAWlD,EAAOjnE,MACnCY,EAAQ,CACN3D,KAAMA,GAERyG,EAAI,EACJ2wE,EAAS,EACT2oB,GAAkB,EAKpB,GAAK/1B,EAAOtnE,KAAKmK,UAAUm9D,EAAOjnE,KAAO,GAAzC,CAMA,IAHAY,EAAMwsE,QAAUnG,EAAOtnE,KAAK,GAAGkiF,IAG1Bn+E,EAAI,EAAGA,EAAIujE,EAAOtnE,KAAKmK,OAAQpG,IAClC4kE,EAAWrB,EAAOtnE,KAAK+D,GAEvBq5F,EAAW9hF,IAAIqtD,EAAS3oE,KAAM00E,GAC9BA,GAAU/L,EAAS3oE,KAAKiZ,WAI1B6jF,EAASM,EAAYn8F,GAIrBo8F,EAA2B,UAAT//F,GAAoB2D,EAAM+7F,cAAgB11B,EAAOjnE,MAG/D88F,GAAcE,KAChB/1B,EAAOjnE,KAAO,EACdinE,EAAOtnE,KAAKmK,OAAS,GAKnBkzF,GACFl+E,EAAKjH,QAAQ,OAAQjX,KAI3Bk9E,EAAiB3lE,UAAUX,KAAKQ,KAAKze,MAErCA,KAAK4S,KAAO,SAASxM,IACnB,CACEi8F,IAAK,aAILlZ,IAAK,WACH,IAAIzb,EAAQk1B,EAEZ,OAAQx8F,EAAKw8F,YACb,KAAKhb,EAAY4C,iBACjB,KAAKoX,EAAgBpX,iBACnB9c,EAASj6D,EACTmvF,EAAa,QACb,MACF,KAAKhb,EAAY6C,iBACf/c,EAASpiC,EACTs3D,EAAa,QACb,MACF,KAAKhb,EAAYmT,qBACfrtB,EAASu1B,EACTL,EAAa,iBACb,MACF,QAEE,OAKEx8F,EAAKg8F,2BACPkB,EAAY51B,EAAQk1B,GAAY,GAKlCl1B,EAAOtnE,KAAKwM,KAAKxM,GACjBsnE,EAAOjnE,MAAQL,EAAKA,KAAKiZ,YAE3B6oE,IAAK,WACH,IACE7gF,EAAQ,CACN3D,KAAM,WACN27B,OAAQ,IAEV4iE,EAAkB77F,EAAK67F,gBAGK,OAA1BA,EAAgBxuF,OAClBpM,EAAMg4B,OAAOzsB,KAAK,CAChByqE,kBAAmB,CACjBC,oBAAqB,GAEvBn6E,IAAK8+F,EAAgBxuF,MACrB+L,MAAO,MACP9b,KAAM,UAGoB,OAA1Bu+F,EAAgB32D,OAClBjkC,EAAMg4B,OAAOzsB,KAAK,CAChByqE,kBAAmB,CACjBC,oBAAqB,GAEvBn6E,IAAK8+F,EAAgB32D,MACrB9rB,MAAO,OACP9b,KAAM,UAIV6hB,EAAKjH,QAAQ,OAAQjX,MAEtBjB,EAAK1C,SAYV1D,KAAKgf,MAAQ,WAGXskF,EAAY7vF,EAAO,SACnB6vF,EAAYh4D,EAAO,SACnBg4D,EAAYL,EAAe,kBAC3BjjG,KAAKse,QAAQ,UAGjBimE,EAAiB3lE,UAAY,IAAIZ,EAEjC,IAAI49D,EAAO,CACT8nB,QAAS,EACT3b,mBAAoBA,EACpB5D,sBAAuBA,EACvBE,qBAAsBA,EACtBE,iBAAkBA,EAClBf,wBAAyBA,EACzBmB,cAAeA,EAAcA,cAC7Bgf,aAAchf,EAAcgf,aAC5BtgB,eAAgB,EAAQ,SAG1B,IAAK,IAAI3/E,KAAQkkF,EACXA,EAAY9/D,eAAepkB,KAC7Bk4E,EAAKl4E,GAAQkkF,EAAYlkF,IAI7Bub,EAAOC,QAAU08D,G,oCCvfjB,IAAI59D,EAAS,EAAQ,QAOjBo9D,EAAiB,SAAS7pD,GAI5BvxB,KAAKgiF,eAAiB,EACtBhiF,KAAK+hF,eAAiBxwD,EAAQwwD,eAE9B/hF,KAAK89F,UAAY,GACjB99F,KAAKg+F,UAAY,GACjBh+F,KAAKmiF,WAAa,KAClBniF,KAAK0iF,WAAa,KAClB1iF,KAAKqiF,gBAAkB,GACvBriF,KAAKsiF,gBAAkB,GACvBtiF,KAAKkiF,cAAgB,EACrBliF,KAAK4jG,gBAAkB,EAEvBxoB,EAAex8D,UAAUX,KAAKQ,KAAKze,MAGnCA,KAAK4S,KAAO,SAAS6vE,GAGnB,OAAIA,EAAOj4D,KACFxqB,KAAKqiF,gBAAgBzvE,KAAK6vE,GAG/BA,EAAO/E,OACF19E,KAAKsiF,gBAAgB1vE,KAAK6vE,IAGT,UAAtBA,EAAO9jD,MAAMj7B,OACf1D,KAAKmiF,WAAaM,EAAO9jD,MACzB3+B,KAAK89F,UAAYrb,EAAOsb,KACxB/9F,KAAKkiF,sBAEmB,UAAtBO,EAAO9jD,MAAMj7B,OACf1D,KAAK0iF,WAAaD,EAAO9jD,MACzB3+B,KAAKg+F,UAAYvb,EAAOsb,KACxB/9F,KAAKkiF,qBAKX9G,EAAex8D,UAAY,IAAIZ,EAC/Bo9D,EAAex8D,UAAUI,MAAQ,SAASD,GACxC,IACE6jE,EACAD,EACAx4E,EACA24E,EACAz7E,EAAQ,CACN02F,KAAM,GACN93D,SAAU,GACV48C,eAAgB,GAChBn8C,SAAU,IAGd,GAAI1mC,KAAKkiF,cAAgBliF,KAAKgiF,eAAgB,CAC5C,GAAoB,uBAAhBjjE,GACgB,uBAAhBA,EAIF,OACK,GAA2B,IAAvB/e,KAAKkiF,gBAOdliF,KAAK4jG,kBAED5jG,KAAK4jG,gBAAkB5jG,KAAKgiF,gBAC9B,OAQN,GAHAhiF,KAAK4jG,iBAAmB5jG,KAAKkiF,cAC7BliF,KAAKkiF,cAAgB,IAEjBliF,KAAK4jG,gBAAkB5jG,KAAKgiF,gBAAhC,CAeA,IAXIhiF,KAAKmiF,WACPW,EAAmB9iF,KAAKmiF,WAAW9E,kBAAkBjG,IAC5Cp3E,KAAK0iF,aACdI,EAAmB9iF,KAAK0iF,WAAWrF,kBAAkBjG,KAGvD/vE,EAAM02F,KAAKD,UAAY99F,KAAK89F,UAC5Bz2F,EAAM02F,KAAKC,UAAYh+F,KAAKg+F,UAIvB7zF,EAAI,EAAGA,EAAInK,KAAKqiF,gBAAgB9xE,OAAQpG,IAC3Cw4E,EAAU3iF,KAAKqiF,gBAAgBl4E,GAC/Bw4E,EAAQ5jD,UAAY4jD,EAAQnL,SAAWsL,EACvCH,EAAQ5jD,WAAa,IACrB4jD,EAAQ3jD,QAAU2jD,EAAQlL,OAASqL,EACnCH,EAAQ3jD,SAAW,IACnB33B,EAAMw7E,eAAeF,EAAQjV,SAAU,EACvCrmE,EAAM4+B,SAASrzB,KAAK+vE,GAKtB,IAAKx4E,EAAI,EAAGA,EAAInK,KAAKsiF,gBAAgB/xE,OAAQpG,IAC3Cy4E,EAAM5iF,KAAKsiF,gBAAgBn4E,GAC3By4E,EAAIG,QAAUH,EAAIxL,IAAM0L,EACxBF,EAAIG,SAAW,IACf17E,EAAMq/B,SAAS9zB,KAAKgwE,GAItBv7E,EAAMq/B,SAASs8C,aAAehjF,KAAK+hF,eAAeiB,aAGlDhjF,KAAKmiF,WAAa,KAClBniF,KAAK0iF,WAAa,KAClB1iF,KAAK89F,UAAY,GACjB99F,KAAKg+F,UAAY,GACjBh+F,KAAKqiF,gBAAgB9xE,OAAS,EAC9BvQ,KAAKsiF,gBAAgB/xE,OAAS,EAC9BvQ,KAAKkiF,cAAgB,EACrBliF,KAAK4jG,gBAAkB,EAGvB5jG,KAAKse,QAAQ,OAAQjX,GAErBrH,KAAKse,QAAQ,UAGfW,EAAOC,QAAUk8D,G,kCChJjB,W,oCCEA52E,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAc,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA7gB,GAEf++E,EAAU,EAAQ,QAElBC,EAAW5gC,EAAuB2gC,GAEtC,SAAS3gC,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASmiF,EAA2Bx+E,EAAM9G,GAAQ,IAAK8G,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAO/G,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B8G,EAAP9G,EAElO,SAAS4iD,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAYje,IAAIkpD,EAAa,SAAU61B,GAGzB,SAAS71B,IACPyB,EAAgB5vE,KAAMmuE,GAEtB,IAAI3kE,EAAQu6F,EAA2B/jG,MAAOmuE,EAAW9oD,WAAa7gB,OAAOsxE,eAAe3H,IAAa1vD,KAAKze,OAG9G,OADAwJ,EAAMijE,OAAS,GACRjjE,EAyBT,OAjCA63D,EAAU8M,EAAY61B,GAkBtBv0B,EAAatB,EAAY,CAAC,CACxBjrE,IAAK,OACLZ,MAAO,SAAc8D,GACnB,IAAI69F,OAAc,EAKlB,IAHAjkG,KAAKysE,QAAUrmE,EACf69F,EAAcjkG,KAAKysE,OAAO9oE,QAAQ,MAE3BsgG,GAAe,EAAGA,EAAcjkG,KAAKysE,OAAO9oE,QAAQ,MACzD3D,KAAKse,QAAQ,OAAQte,KAAKysE,OAAO9Z,UAAU,EAAGsxC,IAC9CjkG,KAAKysE,OAASzsE,KAAKysE,OAAO9Z,UAAUsxC,EAAc,OAKjD91B,EAlCQ,CAmCf21B,EAAS,YAEX5kF,EAAQ,WAAaivD,G,uBCjErB,IAAI+1B,EAAWx6F,UAAU,GACrByc,EAAUzc,UAAU,GACpBy6F,EAAQz6F,UAAU,GAClBvE,EAAYD,KAAKC,UACjBi/F,GAAU,EAGVC,EAAqB,SAASC,GAEhC,IAAIC,EAAmB,GAGvB,SAAStF,EAAoBuF,GAG3B,GAAGD,EAAiBC,GAClB,OAAOD,EAAiBC,GAAUtlF,QAGpC,IAAID,EAASslF,EAAiBC,GAAY,CACxCr6F,EAAGq6F,EACHzgE,GAAG,EACH7kB,QAAS,IAUX,OANAolF,EAAQE,GAAU/lF,KAAKQ,EAAOC,QAASD,EAAQA,EAAOC,QAAS+/E,GAG/DhgF,EAAO8kB,GAAI,EAGJ9kB,EAAOC,QAsChB,OAjCA+/E,EAAoB5tE,EAAIizE,EAGxBrF,EAAoBvzE,EAAI64E,EAGxBtF,EAAoBnK,EAAI,SAAS51E,EAAS9c,EAAMyzE,GAC1CopB,EAAoB11C,EAAErqC,EAAS9c,IACjCoC,OAAO8a,eAAeJ,EAAS9c,EAAM,CACnC+iB,cAAc,EACd1D,YAAY,EACZxM,IAAK4gE,KAMXopB,EAAoB3tE,EAAI,SAASrS,GAC/B,IAAI42D,EAAS52D,GAAUA,EAAOkkD,WAC5B,WAAwB,OAAOlkD,EAAO,YACtC,WAA8B,OAAOA,GAGvC,OADAggF,EAAoBnK,EAAEjf,EAAQ,IAAKA,GAC5BA,GAITopB,EAAoB11C,EAAI,SAAS5pC,EAAQg2D,GAAY,OAAOnxE,OAAOoa,UAAUkJ,eAAerJ,KAAKkB,EAAQg2D,IAGzGspB,EAAoBn+B,EAAI,GAGjBm+B,EAAoBA,EAAoBrqD,EAAI6vD,cAG7B,qBAAbP,IAETE,GAAU,EACVF,EAAWG,EACXl+E,EAAU,KAGZ,IAAIu+E,EAAuB,SAAS9yF,GAKlC,IAHA,IACI+yF,EADAC,EAAYpgG,OAAOC,KAAK0/F,GAGnBh6F,EAAI,EAAGA,EAAIy6F,EAAUr0F,OAAQpG,IAAK,CACzC,IAAI06F,EAAWD,EAAUz6F,GACrB26F,EAAeX,EAAMU,GAAU3lF,QAMnC,GAAI4lF,IAAiBlzF,GAAMkzF,GAAgBA,EAAa7+F,UAAY2L,EAAI,CACpE+yF,EAAcE,EACd,OAKN,IAAKF,EAAa,CAChBA,EAAcx7F,KAAKyxC,MAAMzxC,KAAKomE,IAAI,GAAI,GAAKpmE,KAAKyyF,UAAUn7E,SAAS,IAEnE,IAAIskF,EAAgB,GAEpB,IAAS56F,EAAI,EAAGA,EAAIy6F,EAAUr0F,OAAQpG,IAAK,CACrC06F,EAAWD,EAAUz6F,GAEzB46F,EAAcF,GAAYA,EAG5B1+E,EAAQw+E,GAAe,CACrB,oCAAsC/yF,EAAK,YAC3CmzF,GAIJ,IAAIC,EAAW77F,KAAKyxC,MAAMzxC,KAAKomE,IAAI,GAAI,GAAKpmE,KAAKyyF,UAAUn7E,SAAS,IAChEwkF,EAAa,GAYjB,OAVAA,EAAWN,GAAeA,EAC1Bx+E,EAAQ6+E,GAAY,CAClB,oDAEuB7/F,EAAUw/F,GAFjC,wCAKAM,GAGK,IAAMf,EAAW,MAChB1/F,OAAOC,KAAK0hB,GAAS9hB,KAAI,SAASnB,GAChC,OAAOiC,EAAUjC,GAAO,KAClBijB,EAAQjjB,GAAK,GAAK,IAClBiC,EAAUghB,EAAQjjB,GAAK,IAAM,OACpCkkB,KAAK,KACN,SAAWjiB,EAAU6/F,GAAY,MAGvCE,EAAoB,SAAStzF,EAAIuzF,GACnC,IACIC,EADAC,EAAgC,kBAAfF,EAInBC,EADEC,EACc,GAEA,GAGlB7gG,OAAOC,KAAK0hB,GAASzhB,SAAQ,SAAS4gG,GAC/Bn/E,EAAQm/E,KAGbF,EAAcE,GAAQn/E,EAAQm/E,GAAM7kF,eAGtC,IAaI8kF,EAbAC,EAAkBvG,EAAoBkG,GAM1C,IAAMK,GAAoBA,IAAoB5zF,GAAM4zF,EAAgBv/F,UAAY2L,EAAM,CACpF,IAAI6zF,EAAiBL,EAAcD,GAEnCC,EAAcD,GAAcM,EAAe9yC,UAAU,EAAG8yC,EAAel1F,OAAS,GACpD,KAAOqB,EAAGxP,KAAO,SAK/C,GAAIijG,EAAS,CAEXF,EAAahgG,EAAUggG,GAEvB,IAAIO,EAAsBlhG,OAAOC,KAAK2gG,GAAe/gG,KAAI,SAASihG,GAChE,OAAOngG,EAAUmgG,GAAQ,IAAMF,EAAcE,MAG/CC,EAAgB,IAAMG,EAAoBt+E,KAAK,KAAO,SAEtDm+E,EAAgB,IAAMH,EAAch+E,KAAK,KAAO,IAGlD,MAAO,aAAe88E,EAASzjF,WAAW1T,QAAQ,cAAeo4F,GAAc,KACvEI,EADD,+CAQTtmF,EAAOC,QAAU,SAAoBtN,EAAIuzF,GACvC,IAAI3lE,EAGFA,EADE4kE,EACIc,EAAkBtzF,EAAIuzF,GAEtBT,EAAqB9yF,GAG7B,IAAI+zF,EAAO,IAAIC,KAAK,CAACpmE,GAAM,CAAE97B,KAAM,oBAC/B4Z,EAAM9R,OAAO8R,KAAO9R,OAAOq6F,WAAar6F,OAAOs6F,QAAUt6F,OAAOu6F,MAChEC,EAAY1oF,EAAI2oF,gBAAgBN,GAChCO,EAAS,IAAIC,OAAOH,GAExB,OADAE,EAAOE,UAAYJ,EACZE,I,oCChNT,kCAAO,IAAIG,EAAa,CACtBC,OAAQ,CACNC,SAAU,CACRtgG,QAAS,OAGbguF,MAAO,CACL3xF,MAAO,WACL,IAAIkkG,EAAQxmG,KAAKumG,SAEbC,IACFA,EAAMC,kBACND,EAAME,oBAAoB,eAIhC//F,QAAS,WACP,IAAI6/F,EAAQxmG,KAAKumG,SAEbC,IAAUA,EAAM31F,WAClB21F,EAAM31F,SAAW7Q,S,qBCpBvB,IAEE2mG,EACAC,EACAC,EACAC,EACAtoB,EACAE,EANAtC,EAAmB,IAQrBuqB,EAAmB,SAASjsD,GAC1B,OAAOA,EAAU0hC,GAGnBwqB,EAAmB,SAASlsD,EAASqvC,GACnC,OAAOrvC,EAAUqvC,GAGnB8c,EAAmB,SAASppB,GAC1B,OAAOA,EAAYrB,GAGrB0qB,EAAmB,SAASrpB,EAAWsM,GACrC,OAAOtM,EAAYsM,GAGrBvL,EAAmB,SAASf,EAAWsM,GACrC,OAAO4c,EAAiBG,EAAiBrpB,EAAWsM,KAGtDrL,EAAmB,SAASjB,EAAWsM,GACrC,OAAO6c,EAAiBC,EAAiBppB,GAAYsM,IAGvD9qE,EAAOC,QAAU,CACfynF,iBAAkBA,EAClBC,iBAAkBA,EAClBC,iBAAkBA,EAClBC,iBAAkBA,EAClBtoB,iBAAkBA,EAClBE,iBAAkBA,I,oCC9BpB,SAASxb,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI0oF,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExC+b,EAAoB,EAAQ,QAE5BC,EAAqB9jC,EAAuB6jC,GAE5CE,EAAmB,EAAQ,QAE3BC,EAAoBhkC,EAAuB+jC,GAE3C7jC,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC+jC,EAAW,EAMXC,EAAW,CAObx9D,KAAM,QAMRy5B,EAAU,WAAWgkC,aAAe,GASpC,IAAItmE,EAAO,SAAcumE,EAAaC,GACpC,IAAI5wB,EAActT,EAAU,WAAWgkC,aAAaC,GAEpD,IAAI3wB,EAGF,MAAM,IAAIh1D,MAAM,qCAFhBg1D,EAAYr4D,QAAQ,CAAE5a,KAAM,aAAc6jG,MAAOA,KAYjDC,EAA6B,WAC/B,QAASvc,EAAe,WAAWwc,eAAiBxc,EAAe,WAAWwc,YAAYC,iBAAmBzc,EAAe,WAAWwc,YAAYC,gBAAgB,6CAajKD,EAAc,SAAqBl2E,GACrC,IAAImY,EAAW25B,EAAU,WAAW5sC,aAAa2wE,EAAU71E,GAQ3D,GANAvxB,KAAKynG,YAAc,CACjB1mE,KAAMA,EACNymE,2BAA4BA,GAIR,UAAlB99D,EAASE,MAAsC,SAAlBF,EAASE,MAAmB49D,IAC3D,OAAO,IAAIN,EAAkB,WACxB,GAAI7jC,EAAU,WAAWnzB,QAAQ,SACtC,OAAO,IAAI82D,EAAmB,WAGhC,MAAM,IAAIrlF,MAAM,qEAGlBzC,EAAQuoF,YAAcA,EACtBA,EAAY1mE,KAAOA,EACnB0mE,EAAYD,2BAA6BA,EAQzC,IAAIlqF,EAAM,CASR2oF,gBAAiB,SAAyBtmF,GACxC,IAAIgoF,EAAkB,yBAClBj7F,OAAMsZ,EAGV,OAAIrG,aAAkBunF,EAAkB,YACtCx6F,EAAMu+E,EAAe,WAAW3tE,IAAI2oF,gBAAgBtmF,EAAOo6D,oBAC3Dp6D,EAAOioF,KAAOl7F,EACPA,GAIHiT,aAAkBqnF,EAAmB,YAQ3Ct6F,EAAMi7F,EAAkBR,EAExBA,IAGA9jC,EAAU,WAAWgkC,aAAa36F,GAAOiT,EAElCjT,IAdLA,EAAMu+E,EAAe,WAAW3tE,IAAI2oF,gBAAgBtmF,GACpDA,EAAOioF,KAAOl7F,EACPA,KAgBbwS,EAAQ5B,IAAMA,EACd+lD,EAAU,WAAWokC,YAAcA,EACnCpkC,EAAU,WAAW/lD,IAAMA,G,oCCrJ3B,SAAS4lD,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI8gE,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnCgoB,EAAY,EAAQ,QAEpByc,EAAiB,CACnBC,QAAS,EACTC,SAAU,IACVC,SAAU,KAGZ9oF,EAAQ2oF,eAAiBA,EAQzB,IAAII,EAAe,SAAsBhc,GACvC,IAAIic,OAAiBliF,EACjBmiF,OAAeniF,EAMnB,OAFAmiF,EAAelc,EAAUnR,OAASmR,EAAU17E,OAAS,EACrD23F,EAAiBjc,EAAUnR,OACpB,SAAWotB,EAAiB,IAAMC,GASvCC,EAAoB,SAA2BzuB,GACjD,IAAIqhB,EAAU,GAKd,OAHIrhB,EAAQsS,YACV+O,EAAQqN,MAAQJ,EAAatuB,EAAQsS,YAEhC+O,GAQLsN,EAAW,SAAkBC,GAC/BA,EAAW7jG,SAAQ,SAAUyd,GAC3BA,EAAIqwD,YASJg2B,EAAkB,SAAyBvuC,GAC7C,MAAO,CACLgtB,UAAWhtB,EAAQgtB,UACnBD,cAAe/sB,EAAQ+sB,eAAiB,EACxCF,cAAe7sB,EAAQ6sB,eAAiB,IAUxC2hB,EAAmB,SAA0BC,GAC/C,IAAIzuC,EAAUyuC,EAAcj4F,OACxBq2E,EAAgB/wE,KAAKC,MAAQikD,EAAQ8sB,YACrC4hB,EAAQ,CACV1hB,UAAWjsC,IACXgsC,cAAe,EACfF,cAAeA,GAAiB,GASlC,OANA6hB,EAAM3hB,cAAgB0hB,EAAcE,OAIpCD,EAAM1hB,UAAY99E,KAAKyxC,MAAM+tD,EAAM3hB,cAAgB2hB,EAAM7hB,cAAgB,EAAI,KAEtE6hB,GAULE,EAAe,SAAsBjhF,EAAOqyC,GAC9C,OAAIA,EAAQitB,SACH,CACLnlF,OAAQk4D,EAAQl4D,OAChByU,QAAS,iCAAmCyjD,EAAQhxB,IACpD7yB,KAAMyxF,EAAeE,QACrB5lF,IAAK83C,GAILA,EAAQktB,QACH,CACLplF,OAAQk4D,EAAQl4D,OAChByU,QAAS,+BAAiCyjD,EAAQhxB,IAClD7yB,KAAMyxF,EAAeG,QACrB7lF,IAAK83C,GAILryC,EACK,CACL7lB,OAAQk4D,EAAQl4D,OAChByU,QAAS,+BAAiCyjD,EAAQhxB,IAClD7yB,KAAMyxF,EAAeC,QACrB3lF,IAAK83C,GAIF,MAYL6uC,EAAoB,SAA2BnvB,EAASovB,GAC1D,OAAO,SAAUnhF,EAAOqyC,GACtB,IAAI9wB,EAAW8wB,EAAQ9wB,SACnB6/D,EAAWH,EAAajhF,EAAOqyC,GAEnC,GAAI+uC,EACF,OAAOD,EAAmBC,EAAUrvB,GAGtC,GAA4B,KAAxBxwC,EAAS9pB,WACX,OAAO0pF,EAAmB,CACxBhnG,OAAQk4D,EAAQl4D,OAChByU,QAAS,2BAA6ByjD,EAAQhxB,IAC9C7yB,KAAMyxF,EAAeC,QACrB3lF,IAAK83C,GACJ0f,GAGL,IAAIuH,EAAO,IAAIC,SAASh4C,GAGxB,OADAwwC,EAAQz2E,IAAI4uE,MAAQ,IAAIF,YAAY,CAACsP,EAAK+nB,UAAU,GAAI/nB,EAAK+nB,UAAU,GAAI/nB,EAAK+nB,UAAU,GAAI/nB,EAAK+nB,UAAU,MACtGF,EAAmB,KAAMpvB,KAYhCuvB,EAA4B,SAAmCvvB,EAASovB,GAC1E,OAAO,SAAUnhF,EAAOqyC,GACtB,IAAI9wB,EAAW8wB,EAAQ9wB,SACnB6/D,EAAWH,EAAajhF,EAAOqyC,GAEnC,OAAI+uC,EACKD,EAAmBC,EAAUrvB,GAIV,IAAxBxwC,EAAS9pB,WACJ0pF,EAAmB,CACxBhnG,OAAQk4D,EAAQl4D,OAChByU,QAAS,qCAAuCyjD,EAAQhxB,IACxD7yB,KAAMyxF,EAAeC,QACrB3lF,IAAK83C,GACJ0f,IAGLA,EAAQt1E,IAAIytE,MAAQ,IAAIlB,WAAW3W,EAAQ9wB,UACpC4/D,EAAmB,KAAMpvB,MAchCwvB,EAAwB,SAA+BxvB,EAASovB,GAClE,OAAO,SAAUnhF,EAAOqyC,GACtB,IAAI9wB,EAAW8wB,EAAQ9wB,SACnB6/D,EAAWH,EAAajhF,EAAOqyC,GAEnC,OAAI+uC,EACKD,EAAmBC,EAAUrvB,GAIV,IAAxBxwC,EAAS9pB,WACJ0pF,EAAmB,CACxBhnG,OAAQk4D,EAAQl4D,OAChByU,QAAS,qCAAuCyjD,EAAQhxB,IACxD7yB,KAAMyxF,EAAeC,QACrB3lF,IAAK83C,GACJ0f,IAGLA,EAAQgvB,MAAQH,EAAgBvuC,GAE5B0f,EAAQz2E,IACVy2E,EAAQyvB,eAAiB,IAAIx4B,WAAW3W,EAAQ9wB,UAEhDwwC,EAAQ7H,MAAQ,IAAIlB,WAAW3W,EAAQ9wB,UAGlC4/D,EAAmB,KAAMpvB,MAYhC0vB,EAAiB,SAAwBC,EAAW3vB,EAAS4vB,GAC/D,IAAIC,EAAoB,SAASA,EAAkBniG,GACjD,GAAIA,EAAMjB,KAAKigB,SAAWszD,EAAQ8vB,UAAW,CAC3CH,EAAU95E,oBAAoB,UAAWg6E,GACzC,IAAI74B,EAAYtpE,EAAMjB,KAAKuqE,UAG3B,OADAgJ,EAAQ7H,MAAQ,IAAIlB,WAAWD,EAAUmB,MAAOnB,EAAUF,WAAYE,EAAUtxD,YACzEkqF,EAAO,KAAM5vB,KAIxB2vB,EAAU/rF,iBAAiB,UAAWisF,GAItCF,EAAU1wB,aAAY,EAAIwS,EAAUse,2BAA2B,CAC7DrjF,OAAQszD,EAAQ8vB,UAChBp5B,UAAWsJ,EAAQyvB,eACnBlmG,IAAKy2E,EAAQz2E,IAAI4uE,MACjB63B,GAAIhwB,EAAQz2E,IAAIymG,KACd,CAAChwB,EAAQyvB,eAAe38B,OAAQkN,EAAQz2E,IAAI4uE,MAAMrF,UASpDm9B,EAAwB,SAA+BnhE,GACzD,OAAOA,EAAO3iB,QAAO,SAAU+jF,EAAMnzF,GACnC,OAAOA,EAAIN,KAAOyzF,EAAKzzF,KAAOM,EAAMmzF,MAepCC,EAAoB,SAA2BvB,EAAYe,EAAWC,GACxE,IAAI9gE,EAAS,GACT8/B,EAAQ,EAEZ,OAAO,SAAU3gD,EAAO+xD,GAQtB,GAPI/xD,IAEF0gF,EAASC,GACT9/D,EAAO71B,KAAKgV,IAEd2gD,GAAS,EAELA,IAAUggC,EAAWh4F,OAAQ,CAI/B,GAFAopE,EAAQowB,iBAAmBh0F,KAAKC,MAE5ByyB,EAAOl4B,OAAS,EAAG,CACrB,IAAIy5F,EAAaJ,EAAsBnhE,GAEvC,OAAO8gE,EAAOS,EAAYrwB,GAE5B,OAAIA,EAAQyvB,eACHC,EAAeC,EAAW3vB,EAAS4vB,GAGrCA,EAAO,KAAM5vB,MAetBswB,EAAiB,SAAwBtwB,EAASuwB,GACpD,OAAO,SAAU7iG,GAQf,OAPAsyE,EAAQgvB,MAAQtlC,EAAU,WAAW5sC,aAAakjD,EAAQgvB,MAAOF,EAAiBphG,KAG7EsyE,EAAQgvB,MAAMwB,sBAAwBxwB,EAAQgvB,MAAM3hB,gBACvDrN,EAAQgvB,MAAMwB,qBAAuBp0F,KAAKC,OAGrCk0F,EAAW7iG,EAAOsyE,KAoDzBywB,EAAsB,SAA6BjoF,EAAKkoF,EAAYC,EAAkB3wB,EAASuwB,EAAYX,GAC7G,IAAIhB,EAAa,GACbQ,EAAqBe,EAAkBvB,EAAY+B,EAAkBf,GAGzE,GAAI5vB,EAAQz2E,IAAK,CACf,IAAIqnG,EAAoBlnC,EAAU,WAAW5sC,aAAa4zE,EAAY,CACpEphE,IAAK0wC,EAAQz2E,IAAIyxE,YACjB61B,aAAc,gBAEZC,EAAqB3B,EAAkBnvB,EAASovB,GAChD2B,EAASvoF,EAAIooF,EAAmBE,GAEpClC,EAAW31F,KAAK83F,GAIlB,GAAI/wB,EAAQt1E,MAAQs1E,EAAQt1E,IAAIytE,MAAO,CACrC,IAAI64B,EAAqBtnC,EAAU,WAAW5sC,aAAa4zE,EAAY,CACrEphE,IAAK0wC,EAAQt1E,IAAIswE,YACjB61B,aAAc,cACdxP,QAASoN,EAAkBzuB,EAAQt1E,OAEjCumG,EAA6B1B,EAA0BvvB,EAASovB,GAChE8B,EAAiB1oF,EAAIwoF,EAAoBC,GAE7CrC,EAAW31F,KAAKi4F,GAGlB,IAAIC,EAAwBznC,EAAU,WAAW5sC,aAAa4zE,EAAY,CACxEphE,IAAK0wC,EAAQhF,YACb61B,aAAc,cACdxP,QAASoN,EAAkBzuB,KAEzBoxB,EAAyB5B,EAAsBxvB,EAASovB,GACxDiC,EAAa7oF,EAAI2oF,EAAuBC,GAK5C,OAHAC,EAAWztF,iBAAiB,WAAY0sF,EAAetwB,EAASuwB,IAChE3B,EAAW31F,KAAKo4F,GAET,WACL,OAAO1C,EAASC,KAGpBrpF,EAAQkrF,oBAAsBA,G,qBCza9B,IAAI5+F,EAAS,EAAQ,QAEjB+8B,EAAQtpB,EAAOC,QAAU,CAC3BmpB,OAAQ,EAAQ,QAChBiC,OAAQ,EAAQ,QAChBtpB,UAAW,EAAQ,SAGrBxV,EAAO+8B,MAAQA,EACf/8B,EAAO68B,OAASE,EAAMF,OAEtB,IAAI4iE,EAAU1iE,EAAM+B,OAChB4gE,EAAa3iE,EAAMvnB,UACnBmqF,EAAe3/F,EAAO8+B,OACtB8gE,EAAkB5/F,EAAOwV,UAE7BunB,EAAM8iE,KAAO,WACX7/F,EAAO8+B,OAAS2gE,EAChBz/F,EAAOwV,UAAYkqF,GAGrB3iE,EAAM+iE,QAAU,WACd9/F,EAAO8+B,OAAS6gE,EAChB3/F,EAAOwV,UAAYoqF,GAGhB5/F,EAAO8+B,QACV/B,EAAM8iE,Q,uBChDR,IAAIhnG,EAAM,CACT,wBAAyB,OACzB,uBAAwB,QAIzB,SAASy6F,EAAeC,GACvB,IAAI57F,EAAK67F,EAAsBD,GAC/B,OAAOE,EAAoB97F,GAE5B,SAAS67F,EAAsBD,GAC9B,IAAIE,EAAoB11C,EAAEllD,EAAK06F,GAAM,CACpC,IAAIx0F,EAAI,IAAIoX,MAAM,uBAAyBo9E,EAAM,KAEjD,MADAx0F,EAAE6L,KAAO,mBACH7L,EAEP,OAAOlG,EAAI06F,GAEZD,EAAer6F,KAAO,WACrB,OAAOD,OAAOC,KAAKJ,IAEpBy6F,EAAenkC,QAAUqkC,EACzB//E,EAAOC,QAAU4/E,EACjBA,EAAe37F,GAAK,Q,oCCtBpB,IAAIurB,EAAI,EAAQ,QACZu9B,EAA2B,EAAQ,QAAmD0Y,EACtF4mC,EAAW,EAAQ,QACnBC,EAAa,EAAQ,QACrBC,EAAyB,EAAQ,QACjCC,EAAuB,EAAQ,QAC/BC,EAAU,EAAQ,QAGlBC,EAAY,GAAGpuF,SACfxX,EAAMmD,KAAKnD,IAEX6lG,EAA0BH,EAAqB,YAE/CI,GAAoBH,IAAYE,KAA6B,WAC/D,IAAI7/C,EAAaC,EAAyBrmD,OAAOgZ,UAAW,YAC5D,OAAOotC,IAAeA,EAAW9mC,SAF8B,GAOjEwJ,EAAE,CAAEje,OAAQ,SAAUs7F,OAAO,EAAMl3B,QAASi3B,IAAqBD,GAA2B,CAC1FruF,SAAU,SAAkBwuF,GAC1B,IAAIC,EAAOrmG,OAAO6lG,EAAuBzrG,OACzCwrG,EAAWQ,GACX,IAAIE,EAAcxiG,UAAU6G,OAAS,EAAI7G,UAAU,QAAKsc,EACpDmmF,EAAMZ,EAASU,EAAK17F,QACpBrH,OAAsB8c,IAAhBkmF,EAA4BC,EAAMnmG,EAAIulG,EAASW,GAAcC,GACnEC,EAASxmG,OAAOomG,GACpB,OAAOJ,EACHA,EAAUntF,KAAKwtF,EAAMG,EAAQljG,GAC7B+iG,EAAKx3F,MAAMvL,EAAMkjG,EAAO77F,OAAQrH,KAASkjG,M,oCCxBjD5nG,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaC,EAAIC,EAAKC,GAAO,IAAIC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS41D,EAAII,EAAWH,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAA/V,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B8rD,EAAK9rD,EAAQ+rD,EAAMG,EAAUF,EAAMG,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE5c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAIonF,EAAc,EAAQ,QAEtBC,EAAeppC,EAAuBmpC,GAEtCjpC,EAAW,EAAQ,QAEnBmpC,EAAc,EAAQ,QAEtBC,EAAetpC,EAAuBqpC,GAEtCvhB,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAiBxCyhB,EAAiB,SAAwBvqC,EAAU9rB,EAAQ0kC,GAC7D,IAAIhjE,EAASs+B,EAAO3hC,QAEpBqmE,EAASA,GAAU,EAGnB,IAFA,IAAIvqE,EAASpH,KAAKnD,IAAIk8D,EAAS3xD,OAAQ6lC,EAAO7lC,OAASuqE,GAE9C3wE,EAAI2wE,EAAQ3wE,EAAIoG,EAAQpG,IAC/B2N,EAAO3N,EAAI2wE,IAAU,EAAI1X,EAAS3sC,cAAcyrC,EAAS/3D,GAAI2N,EAAO3N,EAAI2wE,IAE1E,OAAOhjE,GAGToH,EAAQutF,eAAiBA,EACzB,IAAIC,EAAqB,SAA4B/yB,EAASgzB,GACvDhzB,EAAQhF,cACXgF,EAAQhF,aAAc,EAAI23B,EAAa,YAAYK,EAAShzB,EAAQ1wC,MAElE0wC,EAAQz2E,MAAQy2E,EAAQz2E,IAAIyxE,cAC9BgF,EAAQz2E,IAAIyxE,aAAc,EAAI23B,EAAa,YAAYK,EAAShzB,EAAQz2E,IAAI+lC,MAE1E0wC,EAAQt1E,MAAQs1E,EAAQt1E,IAAIswE,cAC9BgF,EAAQt1E,IAAIswE,aAAc,EAAI23B,EAAa,YAAYK,EAAShzB,EAAQt1E,IAAI4kC,OAIhF/pB,EAAQwtF,mBAAqBA,EAa7B,IAAIE,EAAe,SAAsBr4B,EAAQN,GAC/C,IAAIn8D,GAAS,EAAIsrD,EAAS3sC,cAAc89C,EAAQ,IAC5CL,EAAWp8D,EAAO44E,UAAU3oE,QAAO,SAAU+4C,GAC/C,OAAOA,EAAE73B,MAAQgrC,EAAMhrC,OACtB,GAEH,IAAKirC,EACH,OAAO,KAKT,GAAIA,EAASqG,UAAYtG,EAAMsG,UAAYrG,EAASqG,SAAShqE,SAAW0jE,EAAMsG,SAAShqE,QAAU2jE,EAASwa,gBAAkBza,EAAMya,cAChI,OAAO,KAGT,IAAIme,GAAiB,EAAIzpC,EAAS3sC,cAAcy9C,EAAUD,GAGtDC,EAASqG,WACXsyB,EAAetyB,SAAWkyB,EAAev4B,EAASqG,SAAUtG,EAAMsG,SAAUtG,EAAMya,cAAgBxa,EAASwa,gBAI7Gme,EAAetyB,SAAS71E,SAAQ,SAAUi1E,GACxC+yB,EAAmB/yB,EAASkzB,EAAel4B,gBAM7C,IAAK,IAAIxqE,EAAI,EAAGA,EAAI2N,EAAO44E,UAAUngF,OAAQpG,IACvC2N,EAAO44E,UAAUvmF,GAAG8+B,MAAQgrC,EAAMhrC,MACpCnxB,EAAO44E,UAAUvmF,GAAK0iG,GAK1B,OAFA/0F,EAAO44E,UAAUzc,EAAMhrC,KAAO4jE,EAEvB/0F,GAGToH,EAAQ0tF,aAAeA,EACvB,IAAIE,EAAsB,SAA6Bv4B,GAErD,IAAIpqE,EAAIoqE,EAAOmc,UAAUngF,OAEzB,MAAOpG,IAAK,CACV,IAAI+pE,EAAWK,EAAOmc,UAAUvmF,GAEhCoqE,EAAOmc,UAAUxc,EAASjrC,KAAOirC,EACjCA,EAASS,aAAc,EAAI23B,EAAa,YAAY/3B,EAAOtrC,IAAKirC,EAASjrC,KAEpEirC,EAASjqD,aAMZiqD,EAASjqD,WAAa,GAEtBm5C,EAAS58C,IAAImB,KAAK,yEAKxBzI,EAAQ4tF,oBAAsBA,EAC9B,IAAIC,EAAwB,SAA+Bx4B,GACzD,CAAC,QAAS,aAAa7vE,SAAQ,SAAU6tE,GACvC,IAAK,IAAIy6B,KAAYz4B,EAAOD,YAAY/B,GACtC,IAAK,IAAI06B,KAAY14B,EAAOD,YAAY/B,GAAWy6B,GAAW,CAC5D,IAAIE,EAAkB34B,EAAOD,YAAY/B,GAAWy6B,GAAUC,GAE1DC,EAAgBjkE,MAClBikE,EAAgBv4B,aAAc,EAAI23B,EAAa,YAAY/3B,EAAOtrC,IAAKikE,EAAgBjkE,WAOjG/pB,EAAQ6tF,sBAAwBA,EAWhC,IAAII,EAAe,SAAsBl5B,EAAO79B,GAC9C,IAAIg3D,EAAcn5B,EAAMsG,SAAStG,EAAMsG,SAAShqE,OAAS,GACrD88F,OAAQrnF,EASZ,OANEqnF,EADEj3D,GAAUg3D,GAAeA,EAAYlwF,SACR,IAAvBkwF,EAAYlwF,SAImB,KAA9B+2D,EAAMq5B,gBAAkB,IAE5BD,GAGTnuF,EAAQiuF,aAAeA,EAcvB,IAAII,EAAiB,SAAW9pE,GAG9B,SAAS8pE,EAAeC,EAAQn5B,EAAK9iD,GACnC,IAAI/nB,EAAQxJ,KAaZ,GAXA4vE,EAAgB5vE,KAAMutG,GAEtBj4B,EAAK9wE,OAAOsxE,eAAey3B,EAAe3uF,WAAY,cAAe5e,MAAMye,KAAKze,MAEhFuxB,EAAUA,GAAW,GAErBvxB,KAAKwtG,OAASA,EACdxtG,KAAKytG,KAAOp5B,EACZr0E,KAAK0tG,kBAAoBn8E,EAAQm8E,gBACjC1tG,KAAK2tG,0BAA4Bp8E,EAAQo8E,yBAEpC3tG,KAAKwtG,OACR,MAAM,IAAI7rF,MAAM,wCAIlB3hB,KAAKmZ,MAAQ,eAGbnZ,KAAKU,GAAG,sBAAsB,WACR,kBAAhB8I,EAAM2P,QAKV3P,EAAM2P,MAAQ,wBAEd3P,EAAMywD,QAAUzwD,EAAMikG,KAAKtrF,IAAI,CAC7B8mB,KAAK,EAAIqjE,EAAa,YAAY9iG,EAAM+qE,OAAOtrC,IAAKz/B,EAAMyqE,QAAQhrC,KAClEykE,gBAAiBlkG,EAAMkkG,kBACtB,SAAU9lF,EAAOm3E,GAElB,GAAKv1F,EAAMywD,QAIX,OAAIryC,EACKpe,EAAMokG,qBAAqBpkG,EAAMywD,QAASzwD,EAAMyqE,QAAQhrC,IAAK,sBAGtEz/B,EAAMqkG,aAAarkG,EAAMywD,QAASzwD,EAAMyqE,QAAQhrC,YAkXtD,OA/ZAo4B,EAAUksC,EAAgB9pE,GAkD1BgsC,EAAa89B,EAAgB,CAAC,CAC5BrqG,IAAK,uBACLZ,MAAO,SAA8B6f,EAAKzV,EAAKohG,GAE7C9tG,KAAKi6D,QAAU,KAEX6zC,IACF9tG,KAAKmZ,MAAQ20F,GAGf9tG,KAAK4nB,MAAQ,CACXssD,SAAUl0E,KAAKu0E,OAAOmc,UAAUhkF,GAChC3K,OAAQogB,EAAIpgB,OACZyU,QAAS,sCAAwC9J,EACjD26E,aAAcllE,EAAIklE,aAClBjxE,KAAM+L,EAAIpgB,QAAU,IAAM,EAAI,GAGhC/B,KAAKse,QAAQ,WAKd,CACDpb,IAAK,eACLZ,MAAO,SAAsB6f,EAAKzV,GAChC,IAAI2oB,EAASr1B,KAGbA,KAAKi6D,QAAU,KACfj6D,KAAKmZ,MAAQ,gBAEb,IAAIivB,EAAS,IAAIokE,EAAa,WAAWlkE,OAEzCF,EAAOx1B,KAAKuP,EAAIklE,cAChBj/C,EAAOl/B,MACPk/B,EAAO2lE,SAAS9kE,IAAMv8B,EAGtB07B,EAAO2lE,SAAS9jF,WAAame,EAAO2lE,SAAS9jF,YAAc,GAG3D,IAAImsB,EAASw2D,EAAa5sG,KAAKu0E,OAAQnsC,EAAO2lE,UAE9C/tG,KAAKstG,eAAiBllE,EAAO2lE,SAAST,eAElCl3D,GACFp2C,KAAKu0E,OAASn+B,EACdp2C,KAAKguG,OAAShuG,KAAKu0E,OAAOmc,UAAUtoD,EAAO2lE,SAAS9kE,MAEpDjpC,KAAKse,QAAQ,qBAIVte,KAAKi0E,QAAQE,UAChB8W,EAAe,WAAWl3D,aAAa/zB,KAAKiuG,oBAC5CjuG,KAAKiuG,mBAAqBhjB,EAAe,WAAWj+E,YAAW,WAC7DqoB,EAAO/W,QAAQ,wBACd6uF,EAAantG,KAAKi0E,UAAW79B,KAGlCp2C,KAAKse,QAAQ,oBAMd,CACDpb,IAAK,UACLZ,MAAO,WACLtC,KAAKkuG,cACLjjB,EAAe,WAAWl3D,aAAa/zB,KAAKiuG,sBAE7C,CACD/qG,IAAK,cACLZ,MAAO,WACL,GAAItC,KAAKi6D,QAAS,CAChB,IAAIk0C,EAAanuG,KAAKi6D,QAEtBj6D,KAAKi6D,QAAU,KACfk0C,EAAWC,mBAAqB,KAChCD,EAAW37B,WAgBd,CACDtvE,IAAK,QACLZ,MAAO,SAAe4xE,GACpB,IAAI/3C,EAASn8B,KAGb,IAAKk0E,EACH,OAAOl0E,KAAKguG,OAId,GAAmB,iBAAfhuG,KAAKmZ,MACP,MAAM,IAAIwI,MAAM,qCAAuC3hB,KAAKmZ,OAG9D,IAAI20F,EAAgB9tG,KAAKmZ,MAIzB,GAAwB,kBAAb+6D,EAAuB,CAChC,IAAKl0E,KAAKu0E,OAAOmc,UAAUxc,GACzB,MAAM,IAAIvyD,MAAM,yBAA2BuyD,GAE7CA,EAAWl0E,KAAKu0E,OAAOmc,UAAUxc,GAGnC,IAAIm6B,GAAeruG,KAAKguG,QAAU95B,EAASjrC,MAAQjpC,KAAKguG,OAAO/kE,IAG/D,GAAIjpC,KAAKu0E,OAAOmc,UAAUxc,EAASjrC,KAAKkrC,QAetC,OAbIn0E,KAAKi6D,UACPj6D,KAAKi6D,QAAQm0C,mBAAqB,KAClCpuG,KAAKi6D,QAAQuY,QACbxyE,KAAKi6D,QAAU,MAEjBj6D,KAAKmZ,MAAQ,gBACbnZ,KAAKguG,OAAS95B,OAGVm6B,IACFruG,KAAKse,QAAQ,iBACbte,KAAKse,QAAQ,iBAMjB,GAAK+vF,EAAL,CAOA,GAHAruG,KAAKmZ,MAAQ,kBAGTnZ,KAAKi6D,QAAS,CAChB,GAAIia,EAASS,cAAgB30E,KAAKi6D,QAAQvtD,IAGxC,OAEF1M,KAAKi6D,QAAQm0C,mBAAqB,KAClCpuG,KAAKi6D,QAAQuY,QACbxyE,KAAKi6D,QAAU,KAIbj6D,KAAKguG,QACPhuG,KAAKse,QAAQ,iBAGfte,KAAKi6D,QAAUj6D,KAAKytG,KAAKtrF,IAAI,CAC3B8mB,IAAKirC,EAASS,YACd+4B,gBAAiB1tG,KAAK0tG,kBACrB,SAAU9lF,EAAOm3E,GAElB,GAAK5iE,EAAO89B,QAAZ,CAMA,GAFAia,EAASS,YAAcx4C,EAAOmyE,wBAAwBp6B,EAASS,YAAaoqB,GAExEn3E,EACF,OAAOuU,EAAOyxE,qBAAqBzxE,EAAO89B,QAASia,EAASjrC,IAAK6kE,GAGnE3xE,EAAO0xE,aAAa9O,EAAK7qB,EAASjrC,KAGZ,gBAAlB6kE,EACF3xE,EAAO7d,QAAQ,kBAEf6d,EAAO7d,QAAQ,sBAgBpB,CACDpb,IAAK,0BACLZ,MAAO,SAAiCoK,EAAKqyF,GAC3C,OAAI/+F,KAAK2tG,yBAA2B5O,EAAIwP,aAAe7hG,IAAQqyF,EAAIwP,YAC1DxP,EAAIwP,YAGN7hG,IAMR,CACDxJ,IAAK,QACLZ,MAAO,WACLtC,KAAKkuG,cACLjjB,EAAe,WAAWl3D,aAAa/zB,KAAKiuG,oBACzB,iBAAfjuG,KAAKmZ,QAGPnZ,KAAKwuG,SAAU,GAGE,oBAAfxuG,KAAKmZ,MAIHnZ,KAAKguG,OACPhuG,KAAKmZ,MAAQ,gBAEbnZ,KAAKmZ,MAAQ,cAES,0BAAfnZ,KAAKmZ,QACdnZ,KAAKmZ,MAAQ,mBAOhB,CACDjW,IAAK,OACLZ,MAAO,SAAcmsG,GACnB,IAAIryE,EAASp8B,KAEbirF,EAAe,WAAWl3D,aAAa/zB,KAAKiuG,oBAE5C,IAAIh6B,EAAQj0E,KAAKi0E,QAEjB,GAAIw6B,EAAJ,CACE,IAAIpB,EAAQp5B,EAAQA,EAAMq5B,eAAiB,EAAI,IAAO,IAEtDttG,KAAKiuG,mBAAqBhjB,EAAe,WAAWj+E,YAAW,WAC7D,OAAOovB,EAAOgP,SACbiiE,QAIArtG,KAAKwuG,QAKNv6B,IAAUA,EAAME,QAClBn0E,KAAKse,QAAQ,sBAEbte,KAAKse,QAAQ,kBAPbte,KAAKw9B,UAcR,CACDt6B,IAAK,QACLZ,MAAO,WACL,IAAIisC,EAASvuC,KAEbA,KAAKwuG,SAAU,EAGfxuG,KAAKi6D,QAAUj6D,KAAKytG,KAAKtrF,IAAI,CAC3B8mB,IAAKjpC,KAAKwtG,OACVE,gBAAiB1tG,KAAK0tG,kBACrB,SAAU9lF,EAAOm3E,GAElB,GAAKxwD,EAAO0rB,QAAZ,CAOA,GAFA1rB,EAAO0rB,QAAU,KAEbryC,EAWF,OAVA2mB,EAAO3mB,MAAQ,CACb7lB,OAAQg9F,EAAIh9F,OACZyU,QAAS,sCAAwC+3B,EAAOi/D,OACxDnmB,aAAc0X,EAAI1X,aAElBjxE,KAAM,GAEa,iBAAjBm4B,EAAOp1B,QACTo1B,EAAOigE,SAAU,GAEZjgE,EAAOjwB,QAAQ,SAGxB,IAAI8pB,EAAS,IAAIokE,EAAa,WAAWlkE,OAYzC,OAVAF,EAAOx1B,KAAKmsF,EAAI1X,cAChBj/C,EAAOl/B,MAEPqlC,EAAOp1B,MAAQ,cAEfo1B,EAAOi/D,OAASj/D,EAAO+/D,wBAAwB//D,EAAOi/D,OAAQzO,GAE9D32D,EAAO2lE,SAAS9kE,IAAMsF,EAAOi/D,OAGzBplE,EAAO2lE,SAASrd,WAClBniD,EAAOgmC,OAASnsC,EAAO2lE,SAEvBjB,EAAoBv+D,EAAOgmC,QAC3Bw4B,EAAsBx+D,EAAOgmC,QAE7BhmC,EAAOjwB,QAAQ,uBACViwB,EAAO0rB,SAGV1rB,EAAO0lC,MAAM7rC,EAAO2lE,SAASrd,UAAU,OAO3CniD,EAAOgmC,OAAS,CACdD,YAAa,CACX,MAAS,GACT,MAAS,GACT,kBAAmB,GACnB,UAAa,IAEfrrC,IAAKgiD,EAAe,WAAW9+E,SAASC,KACxCskF,UAAW,CAAC,CACVznD,IAAKsF,EAAOi/D,OACZ74B,YAAapmC,EAAOi/D,OAGpBvjF,WAAY,MAGhBskB,EAAOgmC,OAAOmc,UAAUniD,EAAOi/D,QAAUj/D,EAAOgmC,OAAOmc,UAAU,GACjEniD,EAAOs/D,aAAa9O,EAAKxwD,EAAOi/D,QACzBj/D,EAAOjwB,QAAQ,2BAKrBivF,EAhaY,CAialBnqC,EAASlvC,aAEZhV,EAAQ,WAAaquF,G,oCC9mBrB/oG,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaC,EAAIC,EAAKC,GAAO,IAAIC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS41D,EAAII,EAAWH,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAA/V,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B8rD,EAAK9rD,EAAQ+rD,EAAMG,EAAUF,EAAMG,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE5c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAIgtD,EAAkB,EAAQ,QAE1BC,EAAmBhP,EAAuB+O,GAE1Cy8B,EAAc,EAAQ,QAEtB5jB,EAAiB,EAAQ,QAEzBC,EAAkB7nB,EAAuB4nB,GAEzC6jB,EAAoB,EAAQ,QAE5BC,EAAqB1rC,EAAuByrC,GAE5CE,EAAU,EAAQ,QAElBC,EAAW5rC,EAAuB2rC,GAElCzrC,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC2rC,EAAa,EAAQ,QAErBC,EAAc9rC,EAAuB6rC,GAErCE,EAAkB,EAAQ,QAE1BC,EAAmBhsC,EAAuB+rC,GAE1CE,EAA2C,EAAQ,QAEnD/4B,EAAc,EAAQ,QAEtBC,EAAenT,EAAuBkT,GAEtCg5B,EAAmB,EAAQ,QAE3BC,EAAoBnsC,EAAuBksC,GAE3ClgB,EAAU,EAAQ,QAElBC,EAAWjsB,EAAuBgsB,GAElCI,EAAgB,EAAQ,QAExBggB,EAAe,EAAQ,QAEvBC,EAAgC,IAEhC5oB,OAAM3gE,EAGNwpF,EAAgB,CAClBrc,WAAY,OACZ0H,yBAA0B,UAE1BC,aAAc,KAKZ2U,EAAc,CAAC,gBAAiB,uBAAwB,wBAAyB,uBAAwB,wBAAyB,yBAClIC,EAAgB,SAAuBC,GACzC,OAAO3vG,KAAK4vG,oBAAoBD,GAAQ3vG,KAAK6vG,mBAAmBF,IAG9DG,EAAyB,WAC3B,IAAIh4F,OAASkO,EAEb,IACElO,EAAwB,OACxB,MAAOvN,IAIT,OAAOuN,GAYLi4F,EAAsB,SAA6BC,GACrD,OAAOA,EAAYjjG,QAAQ,uBAAuB,SAAUkW,GAC1D,OAAO,EAAIksF,EAAyChvF,uBAAuB,CAAC8C,IAAQ,OAIxF/D,EAAQ6wF,oBAAsBA,EAQ9B,IAAIE,EAAqB,SAA4BvsG,EAAM8nE,EAAWprD,GAIpE,OAAO1c,EAAO,IAAM8nE,EAAY,aAAeprD,EAAO2H,QAAO,SAAU2D,GACrE,QAASA,KACRtE,KAAK,MAAQ,KAQd8oF,EAAmB,SAA0Bj8B,GAK/C,OAAIA,EAAMsG,UAAYtG,EAAMsG,SAAShqE,QAAU0jE,EAAMsG,SAAS,GAAGl2E,IACxD,MAEF,QASL8rG,EAAY,SAAmBl8B,GAGjC,IAAIm8B,EAAkBn8B,EAAMhqD,YAAc,GAE1C,OAAImmF,EAAgBld,QACX,EAAI5D,EAAc2D,aAAamd,EAAgBld,QAEjDsc,GAiBLa,EAAwB,SAA+B97B,EAAQN,GACjE,IAAIq8B,EAAgBJ,EAAiBj8B,GACjCs8B,EAAYJ,EAAUl8B,GACtBm8B,EAAkBn8B,EAAMhqD,YAAc,GAEtCumF,GAAU,EACVC,GAAS,EAEb,IAAKx8B,EAEH,MAAO,GAGT,GAAIM,EAAOD,YAAYb,OAAS28B,EAAgB38B,MAAO,CACrD,IAAI0B,EAAaZ,EAAOD,YAAYb,MAAM28B,EAAgB38B,OAG1D,GAAI0B,EAKF,IAAK,IAAIV,KAJTg8B,GAAS,EAETD,GAAU,EAEUr7B,EAClB,IAAKA,EAAWV,GAASxrC,IAAK,CAC5BunE,GAAU,EACV,OAQJC,IAAWF,EAAUzV,eACvBz3B,EAAU,WAAW78C,IAAImB,KAAK,+HAC9B4oF,EAAUzV,aAAe0U,EAAc1U,cAIzC,IAAI4V,EAAe,GAEfH,EAAUpd,aACZud,EAAaj9F,MAAQ,GAAK88F,EAAUpd,WAAaod,EAAU1V,0BAGzD0V,EAAUzV,eACZ4V,EAAaplE,MAAQ,WAAailE,EAAUzV,cAK9C,IAAI6V,EAAYV,EAAmB,QAASK,EAAe,CAACI,EAAaplE,QACrEslE,EAAYX,EAAmB,QAASK,EAAe,CAACI,EAAaj9F,QACrEo9F,EAAiBZ,EAAmB,QAASK,EAAe,CAACI,EAAaj9F,MAAOi9F,EAAaplE,QAElG,OAAImlE,GACGD,GAAWE,EAAaj9F,MACpB,CAACm9F,EAAWD,GAKd,CAACE,EAAgBF,GAKrBD,EAAaj9F,MAMX,CAACo9F,GALC,CAACF,IAQZzxF,EAAQmxF,sBAAwBA,EAWhC,IAAIS,EAA2B,SAAWl5B,GAGxC,SAASk5B,EAAyBv/E,GAChC,IAAI/nB,EAAQxJ,KAEZ4vE,EAAgB5vE,KAAM8wG,GAEtBx7B,EAAK9wE,OAAOsxE,eAAeg7B,EAAyBlyF,WAAY,cAAe5e,MAAMye,KAAKze,MAE1F,IAAI0M,EAAM6kB,EAAQ7kB,IACdihG,EAA0Bp8E,EAAQo8E,wBAClCD,EAAkBn8E,EAAQm8E,gBAC1B9jE,EAAOrY,EAAQqY,KACf1K,EAAO3N,EAAQ2N,KACf+nD,EAAY11D,EAAQ01D,UACpB8pB,EAAYx/E,EAAQw/E,UACpBC,EAAaz/E,EAAQy/E,WACrBC,EAAoB1/E,EAAQ0/E,kBAC5BC,EAA2B3/E,EAAQ2/E,yBAEvC,IAAKxkG,EACH,MAAM,IAAIiV,MAAM,wCAGlBglE,EAAMoqB,EAEN/wG,KAAKspC,MAAQpK,EACbl/B,KAAKytG,KAAOvuE,EAAKm1C,IACjBr0E,KAAKmxG,MAAQvnE,EACb5pC,KAAKoxG,YAAcJ,EACnBhxG,KAAKixG,kBAAoBA,EACzBjxG,KAAKkxG,yBAA2BA,EAE5BlxG,KAAKoxG,cACPpxG,KAAKqxG,cAAgBrxG,KAAKspC,MAAM4F,aAAa,WAAY,WACzDlvC,KAAKqxG,cAAcC,gCAAkC,IAGvDtxG,KAAKuxG,gBAAkB,CACrB7D,gBAAiBA,EACjBC,wBAAyBA,EACzB95E,QAAS,MAGX7zB,KAAKwxG,aAAc,EAAIlC,EAAaj6B,oBAEpCr1E,KAAK22E,YAAc,IAAItT,EAAU,WAAWokC,YAAY,CAAE79D,KAAMA,IAGhE5pC,KAAK22E,YAAYp5D,iBAAiB,aAAcvd,KAAKyxG,kBAAkBviG,KAAKlP,OAE5EA,KAAK0xG,UAAYruC,EAAU,WAAW5lC,mBACtCz9B,KAAK+sF,WAAa,WAChB,OAAO,GAGT/sF,KAAKwsF,gBAAkB,IAAI0iB,EAAiB,WAAW39E,GACvDvxB,KAAK2xG,sBAAwBzyE,EAAKU,mBAAmB,CACnDmF,KAAM,WACNpE,MAAO,qBACN,GAAOhC,MAEV3+B,KAAK4xG,YAAa,EAAIv7B,EAAa,YAAYg5B,EAAkB,WAAYS,KAE7E,IAAI+B,EAAwB,CAC1Bx9B,IAAKr0E,KAAKytG,KACV92B,YAAa32E,KAAK22E,YAClBn6D,YAAaxc,KAAKspC,MAAM9sB,YAAYtN,KAAKlP,KAAKspC,OAC9CwJ,SAAU,WACR,OAAOtpC,EAAMspC,YAEfwkB,QAAS,WACP,OAAO9tD,EAAM8/B,MAAMguB,WAErBp6C,SAAU,WACR,OAAO1T,EAAMmtE,YAAYz5D,UAE3B40F,UAAW,WACT,OAAOtoG,EAAMujF,cAEfglB,iBAAkB,WAChB,OAAOvoG,EAAMuoG,oBAEf9qB,UAAWA,EACXkL,eAAgBnyF,KAAKwsF,gBACrB8c,UAAWtpG,KAAK4xG,YAIlB5xG,KAAKgyG,sBAAwB,IAAI9/B,EAAiB,WAAWxlE,EAAK1M,KAAKytG,KAAMztG,KAAKuxG,iBAClFvxG,KAAKiyG,sCAILjyG,KAAK6vG,mBAAqB,IAAI9kB,EAAgB,WAAW1nB,EAAU,WAAW5sC,aAAao7E,EAAuB,CAChHK,qBAAsBlyG,KAAK2xG,sBAC3BQ,WAAY,SACV5gF,GAGJvxB,KAAK4vG,oBAAsB,IAAI7kB,EAAgB,WAAW1nB,EAAU,WAAW5sC,aAAao7E,EAAuB,CACjHM,WAAY,UACV5gF,GAEJvxB,KAAKoyG,uBAAyB,IAAIxD,EAAmB,WAAWvrC,EAAU,WAAW5sC,aAAao7E,EAAuB,CACvHM,WAAY,QACV5gF,GAEJvxB,KAAKqyG,+BAGL5C,EAAY/qG,SAAQ,SAAUirG,GAC5BnmG,EAAMmmG,EAAO,KAAOD,EAAcxgG,KAAK1F,EAAOmmG,MAGhD3vG,KAAKgyG,sBAAsB5mE,OAm9B7B,OAtkCAi2B,EAAUyvC,EAA0Bl5B,GA6HpCnI,EAAaqhC,EAA0B,CAAC,CACtC5tG,IAAK,sCACLZ,MAAO,WACL,IAAI+yB,EAASr1B,KAEbA,KAAKgyG,sBAAsBtxG,GAAG,kBAAkB,WAC9C,IAAIuzE,EAAQ5+C,EAAO28E,sBAAsB/9B,QACrCq+B,EAA+D,IAA9Cj9E,EAAO28E,sBAAsB1E,eAAuB,KAIrE,EAAIoB,EAAY6D,0BAA0Bl9E,EAAO28E,sBAAsBz9B,OAAQl/C,EAAO28E,sBAAsB/9B,SAC9G5+C,EAAOk8E,gBAAgB19E,QAAU,EAEjCwB,EAAOk8E,gBAAgB19E,QAAUy+E,EAK/Br+B,EAAME,SAAsC,SAA3B9+C,EAAOiU,MAAM8lB,YAChC/5B,EAAOw6E,mBAAmB37B,SAASD,EAAO5+C,EAAOk8E,iBACjDl8E,EAAOw6E,mBAAmBzkE,SAG5B,EAAIkkE,EAAap6B,kBAAkB,CACjCpC,eAAgB,CACdW,MAAOp+C,EAAOu6E,oBACd97B,UAAWz+C,EAAO+8E,uBAClBlsE,KAAM7Q,EAAOw6E,oBAEf3wE,KAAM7J,EAAOiU,MACb0qC,eAAgB3+C,EAAOk8E,gBACvBv8B,qBAAsB3/C,EAAO28E,sBAC7BpoE,KAAMvU,EAAO87E,MACb98B,IAAKh/C,EAAOo4E,KACZl5B,OAAQl/C,EAAOk/C,SACfvB,WAAY39C,EAAOm8E,YACnB99B,yBAA0Br+C,EAAOq+C,yBAAyBxkE,KAAKmmB,KAGjEA,EAAOm9E,sBAAsBn9E,EAAOk/C,SAAUN,GAE9C,IACE5+C,EAAOo9E,sBACP,MAAOloG,GAEP,OADA84D,EAAU,WAAW78C,IAAImB,KAAK,iCAAkCpd,GACzD8qB,EAAOshD,YAAY+7B,YAAY,UAExCr9E,EAAOs9E,iBAEPt9E,EAAO/W,QAAQ,2BAGjBte,KAAKgyG,sBAAsBtxG,GAAG,kBAAkB,WAC9C,IAAIkyG,EAAkBv9E,EAAO28E,sBAAsB/9B,QAEnD,IAAK2+B,EAAiB,CACpB,IAAIC,OAAgB7sF,EAYpB,OAVIqP,EAAO67E,2BACT2B,EAAgBx9E,EAAOy9E,yBAGpBD,IACHA,EAAgBx9E,EAAO09E,kBAGzB19E,EAAO29E,cAAgBH,OACvBx9E,EAAO28E,sBAAsB/9B,MAAM5+C,EAAO29E,eAIxC39E,EAAO+7E,aACT/7E,EAAO49E,cAAcL,GAOvBv9E,EAAOw6E,mBAAmB37B,SAAS0+B,EAAiBv9E,EAAOk8E,iBAC3Dl8E,EAAO69E,iBAKF79E,EAAOiU,MAAMnI,UAChB9L,EAAOw6E,mBAAmBzkE,OAGvBwnE,EAAgBz+B,SACnB,WACE,IAAIg/B,EAAmB,WACrB,IAAIrgE,EAAWzd,EAAOyd,WAEE,IAApBA,EAASviC,QACX8kB,EAAOshD,YAAYy8B,kBAAkBtgE,EAAStV,MAAM,GAAIsV,EAAS5pC,IAAI,KAIrEmsB,EAAOnY,aAAe89B,IACxB,WACE,IAAIq4D,EAAmB,SAASA,IAC1Bh+E,EAAOnY,aAAe89B,IACxBm4D,IAEA99E,EAAOiU,MAAMtX,IAAI,iBAAkBqhF,IAIvCh+E,EAAOiU,MAAMtX,IAAI,iBAAkBqhF,GATrC,GAYAF,IAtBJ,MA4BJnzG,KAAKgyG,sBAAsBtxG,GAAG,SAAS,WACrC20B,EAAOq+C,yBAAyBr+C,EAAO28E,sBAAsBpqF,UAG/D5nB,KAAKgyG,sBAAsBtxG,GAAG,iBAAiB,WAC7C20B,EAAOw6E,mBAAmBr9B,QAC1Bn9C,EAAOw6E,mBAAmBnzF,WAG5B1c,KAAKgyG,sBAAsBtxG,GAAG,eAAe,WAC3C,IAAIuzE,EAAQ5+C,EAAO28E,sBAAsB/9B,QACrCq+B,EAA+D,IAA9Cj9E,EAAO28E,sBAAsB1E,eAAuB,KAIrE,EAAIoB,EAAY6D,0BAA0Bl9E,EAAO28E,sBAAsBz9B,OAAQl/C,EAAO28E,sBAAsB/9B,SAC9G5+C,EAAOk8E,gBAAgB19E,QAAU,EAEjCwB,EAAOk8E,gBAAgB19E,QAAUy+E,EAOnCj9E,EAAOw6E,mBAAmB37B,SAASD,EAAO5+C,EAAOk8E,iBACjDl8E,EAAOw6E,mBAAmBzkE,OAE1B/V,EAAOiU,MAAMhrB,QAAQ,CACnB5a,KAAM,cACNouB,SAAS,OAIb9xB,KAAKgyG,sBAAsBtxG,GAAG,qBAAqB,WACjD,IAAIkyG,EAAkBv9E,EAAO28E,sBAAsB/9B,QAC/Cq/B,EAAmBj+E,EAAOk+E,oBAAoBX,GAE9CU,IAKFj+E,EAAOq+C,yBAAyB,CAC9Bl9D,QAAS,iCAGX6e,EAAOiU,MAAMhrB,QAAQ,qBAIzBte,KAAKgyG,sBAAsBtxG,GAAG,qBAAqB,WACjD20B,EAAOiU,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,8BAE9CpC,KAAKgyG,sBAAsBtxG,GAAG,oBAAoB,WAChD20B,EAAOiU,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,+BAS/C,CACDc,IAAK,wBACLZ,MAAO,SAA+BiyE,EAAQN,GAC5C,IAAIK,EAAcC,EAAOD,aAAe,GACpCk/B,GAAiB,EACjBC,EAAiBjvG,OAAOC,KAAK6vE,EAAYb,OAE7C,IAAK,IAAIigC,KAAcp/B,EAAYb,MACjC,IAAK,IAAI9yC,KAAS2zC,EAAYb,MAAMigC,GAAa,CAC/C,IAAI1pF,EAAasqD,EAAYb,MAAMigC,GAAY/yE,GAE1C3W,EAAWif,MACduqE,GAAiB,GAKnBA,GACFxzG,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,gBAGxCoC,OAAOC,KAAK6vE,EAAYR,WAAWvjE,QACrCvQ,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,eAGxCukF,EAAIgtB,SAASC,MAAM3/B,IACrBj0E,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,YAGxCukF,EAAIgtB,SAASE,OAAO5/B,IACtBj0E,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,aAGxCqxG,EAAeljG,QAAU/L,OAAOC,KAAK6vE,EAAYb,MAAMggC,EAAe,KAAKljG,OAAS,GACtFvQ,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,wBAGxCpC,KAAKoxG,aACPpxG,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,4BAU7C,CACDc,IAAK,+BACLZ,MAAO,WACL,IAAI65B,EAASn8B,KAEbA,KAAK6vG,mBAAmBnvG,GAAG,mBAAmB,WAC5C,IAAIozG,EAAe33E,EAAO42E,iBACtBgB,EAAkB53E,EAAO61E,sBAAsB/9B,QAC/Ct2C,EAAWxB,EAAOmN,MAAM3L,WACxBq2E,EAAgBr2E,EAASptB,OAASotB,EAASz0B,IAAIy0B,EAASptB,OAAS,GAAK4rB,EAAOmN,MAAM9sB,cAAgB,EAEnGy3F,EAAqB93E,EAAO83E,uBAM3BF,EAAgB5/B,SAGrBh4C,EAAOjf,WAAaiyE,EAAS,WAAWH,2BAExC8kB,EAAa7pF,WAAW8lE,UAAYgkB,EAAgB9pF,WAAW8lE,WAG/DikB,GAAiBC,IACf93E,EAAO61E,sBAAsB/9B,MAAM6/B,GAGrC33E,EAAOmN,MAAMhrB,QAAQ,sBAEvBte,KAAK6vG,mBAAmBnvG,GAAG,YAAY,WACrCy7B,EAAO7d,QAAQ,eAGjBte,KAAK6vG,mBAAmBnvG,GAAG,SAAS,WAClCy7B,EAAOu3C,yBAAyBv3C,EAAO0zE,mBAAmBjoF,YAG5D5nB,KAAK6vG,mBAAmBnvG,GAAG,kBAAkB,WAC3Cy7B,EAAO+3E,uBAGTl0G,KAAK6vG,mBAAmBnvG,GAAG,mBAAmB,WAC5Cy7B,EAAOmN,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,4BAE9CpC,KAAK4vG,oBAAoBlvG,GAAG,kBAAkB,WAC5Cy7B,EAAO+3E,uBAGTl0G,KAAK6vG,mBAAmBnvG,GAAG,SAAS,WAClCy7B,EAAOg4E,mBAGTn0G,KAAK6vG,mBAAmBnvG,GAAG,cAAc,WACvCy7B,EAAOu3C,yBAAyB,CAC9Bl9D,QAAS,mGACR+4F,MAGLvvG,KAAK6vG,mBAAmBnvG,GAAG,mBAAmB,WAG5Cy7B,EAAOmN,MAAMhrB,QAAQ,gBAGvBte,KAAK6vG,mBAAmBnvG,GAAG,sBAAsB,SAAU2G,GAGzD80B,EAAOmN,MAAMhrB,QAAQ,CACnB5a,KAAM,2BACNwzE,QAAS7vE,EAAM6vE,aAInBl3E,KAAK4vG,oBAAoBlvG,GAAG,SAAS,WACnCy7B,EAAOg4E,qBAGV,CACDjxG,IAAK,sBACLZ,MAAO,WACL,OAAO6G,KAAKjD,IAAIlG,KAAK4vG,oBAAoB9hB,mBAAqB9tF,KAAK6vG,mBAAmB/hB,sBAMvF,CACD5qF,IAAK,OACLZ,MAAO,WACLtC,KAAK6vG,mBAAmBzkE,OACpBprC,KAAKwxG,YAAY/9B,MAAMhB,sBACzBzyE,KAAK4vG,oBAAoBxkE,OAEvBprC,KAAKwxG,YAAY19B,UAAUrB,sBAC7BzyE,KAAKoyG,uBAAuBhnE,SAY/B,CACDloC,IAAK,qBACLZ,MAAO,WACL,IAAI2xE,EAAQj0E,KAAK+yG,iBAEb9+B,IAAUj0E,KAAKgyG,sBAAsB/9B,UACvCj0E,KAAKgyG,sBAAsB/9B,MAAMA,GAEjCj0E,KAAK6vG,mBAAmBuE,iBAQ3B,CACDlxG,IAAK,OACLZ,MAAO,WACL,IAAItC,KAAK2yG,iBAAT,CAII3yG,KAAKspC,MAAM+qE,SACbr0G,KAAKspC,MAAM8E,eAAe,GAGxBpuC,KAAK+sF,cACP/sF,KAAKorC,OAGP,IAAI0H,EAAW9yC,KAAKspC,MAAMwJ,WAI1B,OAAI9yC,KAAKspC,MAAMpsB,aAAe89B,KACxBh7C,KAAKspC,MAAM9sB,cAAgBs2B,EAAStV,MAAM,GACrCx9B,KAAKspC,MAAM8E,eAAe0E,EAAS5pC,IAAI4pC,EAASviC,OAAS,SAFpE,KAWD,CACDrN,IAAK,iBACLZ,MAAO,WACL,IAAI85B,EAASp8B,KAETi0E,EAAQj0E,KAAKgyG,sBAAsB/9B,QAOvC,IAAKA,GAASj0E,KAAKspC,MAAMnI,UAAYnhC,KAAK+sF,aACxC,OAAO,EAIT,IAAK9Y,EAAME,QAAS,CAClB,IAAImgC,EAAQ,WACV,IAAIxhE,EAAW1W,EAAO0W,WAEtB,OAAKA,EAASviC,OAQV8yD,EAAU,WAAW/+C,QAAQT,YAA+B,UAAjBuY,EAAO+0E,OAAmD,IAA9B/0E,EAAOkN,MAAMnW,cAGtFiJ,EAAOkN,MAAMtX,IAAI,kBAAkB,WACjCoK,EAAO9d,QAAQ,aACf8d,EAAOkN,MAAM8E,eAAe0E,EAAS5pC,IAAI,IACzCkzB,EAAO2wD,WAAa,WAClB,OAAO,MAIJ,CACLvkC,GAAG,KAKPpsB,EAAO9d,QAAQ,kBAEf8d,EAAOkN,MAAM8E,eAAe0E,EAAS5pC,IAAI,KAxBhC,CACLs/C,GAAG,GAPG,GAiCZ,GAAqB,kBAAV8rD,EAAoB,OAAOA,EAAM9rD,EAQ9C,OALAxoD,KAAK+sF,WAAa,WAChB,OAAO,GAGT/sF,KAAKorC,QACE,IAQR,CACDloC,IAAK,oBACLZ,MAAO,WAIL,IACEtC,KAAKyyG,sBACL,MAAOloG,GAEP,OADA84D,EAAU,WAAW78C,IAAImB,KAAK,kCAAmCpd,GAC1DvK,KAAK22E,YAAY+7B,YAAY,UAMtC,GAAI1yG,KAAKspC,MAAM5vB,WAAY,CACzB,IAAIsgC,EAAch6C,KAAKspC,MAAM7sB,OAIF,qBAAhBu9B,GAA2D,oBAArBA,EAAYhuC,MAC3DguC,EAAYhuC,KAAK,MAAM,SAAUzB,OAIrCvK,KAAKse,QAAQ,gBAWd,CACDpb,IAAK,gBACLZ,MAAO,WACL,IAAIiyG,EAAgBv0G,KAAK6vG,mBAAmB2E,OAExCx0G,KAAKwxG,YAAY/9B,MAAMhB,uBAGzB8hC,EAAgBA,GAAiBv0G,KAAK4vG,oBAAoB4E,QAGxDD,GACFv0G,KAAK22E,YAAY+7B,gBASpB,CACDxvG,IAAK,sBACLZ,MAAO,SAA6B4xE,GAClC,IAAIphC,EAAW9yC,KAAK8yC,WAEpB,IAAKA,EAASviC,OAEZ,OAAO,EAGT,IAAIkkG,EAAUz0G,KAAKwsF,gBAAgBkoB,eAAexgC,EAAUl0E,KAAK22E,YAAYz5D,UAE7E,GAAgB,OAAZu3F,EACF,OAAO,EAKT,IAAIE,EAAsBhuB,EAAIgtB,SAASiB,YAAY1gC,EAAUugC,GACzDj4F,EAAcxc,KAAKspC,MAAM9sB,cACzBmhB,EAAW39B,KAAKspC,MAAM3L,WAE1B,IAAKA,EAASptB,OAEZ,OAAOokG,EAAsBn4F,GAAesyF,EAAS,WAAW+F,gBAElE,IAAIl3D,EAAchgB,EAASz0B,IAAIy0B,EAASptB,OAAS,GAIjD,OAAOotC,EAAcnhC,GAAesyF,EAAS,WAAW+F,iBAAmBF,EAAsBh3D,GAAemxD,EAAS,WAAW+F,kBAarI,CACD3xG,IAAK,2BACLZ,MAAO,SAAkCslB,EAAOqpF,QAChCjrF,IAAV4B,IAAqBA,EAAQ,IAEjC,IAAImsF,OAAkB/tF,EAClB8tF,OAAe9tF,EAYnB,GANA+tF,EAAkBnsF,EAAMssD,UAAYl0E,KAAKgyG,sBAAsB/9B,QAE/Dg9B,EAAoBA,GAAqBrpF,EAAMqpF,mBAAqBjxG,KAAKixG,mBAIpE8C,EAAiB,CACpB/zG,KAAK4nB,MAAQA,EAEb,IACE,OAAO5nB,KAAK22E,YAAY+7B,YAAY,WACpC,MAAOnoG,GACP,OAAOvK,KAAKse,QAAQ,UAIxB,IAAImwF,EAAwG,IAArFzuG,KAAKgyG,sBAAsBz9B,OAAOmc,UAAU3oE,OAAO2mF,EAAY5d,WAAWvgF,OAEjG,OAAIk+F,GAEFprC,EAAU,WAAW78C,IAAImB,KAAK,mGAE9B3nB,KAAKspC,MAAMhrB,QAAQ,iBACZte,KAAKgyG,sBAAsB5mE,KAAKqjE,KAGzCsF,EAAgBe,aAAe/+F,KAAKC,MAA4B,IAApBi7F,EAC5CjxG,KAAKspC,MAAMhrB,QAAQ,qBACnBte,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,8BAG1C0xG,EAAe9zG,KAAK+yG,iBACpB1vC,EAAU,WAAW78C,IAAImB,KAAK,sDAAwDC,EAAMpR,QAAU,IAAMoR,EAAMpR,QAAU,IAAM,mCAE3HxW,KAAKgyG,sBAAsB/9B,MAAM6/B,MAMzC,CACD5wG,IAAK,eACLZ,MAAO,WACLtC,KAAK6vG,mBAAmBnzF,QACpB1c,KAAKwxG,YAAY/9B,MAAMhB,sBACzBzyE,KAAK4vG,oBAAoBlzF,QAEvB1c,KAAKwxG,YAAY19B,UAAUrB,sBAC7BzyE,KAAKoyG,uBAAuB11F,UAU/B,CACDxZ,IAAK,iBACLZ,MAAO,SAAwBka,GAC7B,IAAImhB,EAAWmxE,EAAS,WAAWiG,UAAU/0G,KAAKspC,MAAM3L,WAAYnhB,GAEpE,OAAMxc,KAAKgyG,uBAAyBhyG,KAAKgyG,sBAAsB/9B,SAO1Dj0E,KAAKgyG,sBAAsB/9B,QAAQsG,SAOpC58C,GAAYA,EAASptB,QAAyB,UAAfvQ,KAAKmxG,MAC/B30F,GAKTxc,KAAK6vG,mBAAmBx8B,kBACxBrzE,KAAK6vG,mBAAmBr9B,QACpBxyE,KAAKwxG,YAAY/9B,MAAMhB,uBACzBzyE,KAAK4vG,oBAAoBv8B,kBACzBrzE,KAAK4vG,oBAAoBp9B,SAEvBxyE,KAAKwxG,YAAY19B,UAAUrB,uBAC7BzyE,KAAKoyG,uBAAuB/+B,kBAC5BrzE,KAAKoyG,uBAAuB5/B,cAI9BxyE,KAAKorC,QA9BI,IAsCV,CACDloC,IAAK,WACLZ,MAAO,WACL,OAAKtC,KAAKgyG,sBAINhyG,KAAK22E,YACA32E,KAAK22E,YAAYz5D,SAGnBypE,EAAIgtB,SAASz2F,SAASld,KAAKgyG,sBAAsB/9B,SAP/C,IAeV,CACD/wE,IAAK,WACLZ,MAAO,WACL,OAAOtC,KAAK0xG,YAEb,CACDxuG,IAAK,oBACLZ,MAAO,WACL,IAAI0yG,OAAehvF,EACfivF,OAAgBjvF,EAEpB,GAAKhmB,KAAKgyG,sBAAV,CAIA,IAAI/9B,EAAQj0E,KAAKgyG,sBAAsB/9B,QAEvC,GAAKA,EAAL,CAIA,IAAIwgC,EAAUz0G,KAAKwsF,gBAAgBkoB,eAAezgC,EAAOj0E,KAAK22E,YAAYz5D,UAE1E,GAAgB,OAAZu3F,IAKJO,EAAeruB,EAAIgtB,SAAS7gE,SAASmhC,EAAOwgC,GAEhB,IAAxBO,EAAazkG,QAAjB,CAIA,GAAIvQ,KAAKwxG,YAAY/9B,MAAMhB,qBAAsB,CAI/C,GAHAwB,EAAQj0E,KAAKwxG,YAAY/9B,MAAMhB,qBAAqBwB,QACpDwgC,EAAUz0G,KAAKwsF,gBAAgBkoB,eAAezgC,EAAOj0E,KAAK22E,YAAYz5D,UAEtD,OAAZu3F,EACF,OAKF,GAFAQ,EAAgBtuB,EAAIgtB,SAAS7gE,SAASmhC,EAAOwgC,GAEhB,IAAzBQ,EAAc1kG,OAChB,OAIC0kG,EAIMA,EAAcz3E,MAAM,GAAKw3E,EAAa9rG,IAAI,IAAM8rG,EAAax3E,MAAM,GAAKy3E,EAAc/rG,IAAI,GAEnGlJ,KAAK0xG,UAAYsD,EAEjBh1G,KAAK0xG,UAAYruC,EAAU,WAAW5lC,iBAAiB,CAAC,CAACw3E,EAAcz3E,MAAM,GAAKw3E,EAAax3E,MAAM,GAAKy3E,EAAcz3E,MAAM,GAAKw3E,EAAax3E,MAAM,GAAIy3E,EAAc/rG,IAAI,GAAK8rG,EAAa9rG,IAAI,GAAK+rG,EAAc/rG,IAAI,GAAK8rG,EAAa9rG,IAAI,MAL/OlJ,KAAK0xG,UAAYsD,EAQnBh1G,KAAKspC,MAAMhrB,QAAQ,wBAMpB,CACDpb,IAAK,iBACLZ,MAAO,WACL,IAAIisC,EAASvuC,KAETk1G,EAAcl1G,KAAK22E,YAAYz5D,SAC/Bi4F,EAAcxuB,EAAIgtB,SAASz2F,SAASld,KAAKgyG,sBAAsB/9B,SAC/Dt2C,EAAW39B,KAAKspC,MAAM3L,WACtBy3E,EAAc,SAASA,IACzB7mE,EAAOooC,YAAYz5D,SAAWi4F,EAC9B5mE,EAAOjF,MAAMhrB,QAAQ,kBAErBiwB,EAAOooC,YAAYnnD,oBAAoB,aAAc4lF,IAGnDz3E,EAASptB,OAAS,IACpB4kG,EAAchsG,KAAKjD,IAAIivG,EAAax3E,EAASz0B,IAAIy0B,EAASptB,OAAS,KAIjE2kG,IAAgBC,IAEkB,SAAhCn1G,KAAK22E,YAAYxjD,WACnBnzB,KAAK22E,YAAYp5D,iBAAiB,aAAc63F,GAEhDA,OASL,CACDlyG,IAAK,UACLZ,MAAO,WACL,IAAIqsC,EAAS3uC,KAEbA,KAAK4xG,WAAWzU,YAChBn9F,KAAKgyG,sBAAsBrzF,UAC3B3e,KAAK6vG,mBAAmBlxF,UAExB,CAAC,QAAS,aAAaja,SAAQ,SAAUhB,GACvC,IAAIshE,EAASr2B,EAAO6iE,YAAY9tG,GAAMshE,OAEtC,IAAK,IAAI7hE,KAAM6hE,EACbA,EAAO7hE,GAAIuB,SAAQ,SAAUivE,GACvBA,EAAMhB,gBACRgB,EAAMhB,eAAeh0D,gBAM7B3e,KAAK4vG,oBAAoBjxF,UACzB3e,KAAKoyG,uBAAuBzzF,YAQ7B,CACDzb,IAAK,SACLZ,MAAO,WACL,OAAOtC,KAAKgyG,sBAAsBz9B,SAQnC,CACDrxE,IAAK,QACLZ,MAAO,WAEL,OAAOtC,KAAKgyG,sBAAsB/9B,SAAWj0E,KAAKgzG,gBAQnD,CACD9vG,IAAK,sBACLZ,MAAO,WACL,IAAI2xE,EAAQj0E,KAAKgyG,sBAAsB/9B,QACnCohC,OAAYrvF,EAIhB,GAAKiuD,GAAyC,SAAhCj0E,KAAK22E,YAAYxjD,WAA/B,CAKA,GADAkiF,EAAYhF,EAAsBrwG,KAAKgyG,sBAAsBz9B,OAAQN,GACjEohC,EAAU9kG,OAAS,EAErB,OADAvQ,KAAK4nB,MAAQ,mEAAqEqsD,EAAMU,YACjF30E,KAAK22E,YAAY+7B,YAAY,UAEtC1yG,KAAK6vG,mBAAmBj5B,SAASy+B,EAAU,IACvCA,EAAU,IACZr1G,KAAK4vG,oBAAoBh5B,SAASy+B,EAAU,IAK9Cr1G,KAAKs1G,6BAA6BrhC,MAiBnC,CACD/wE,IAAK,+BACLZ,MAAO,SAAsC2xE,GAC3C,IAAIM,EAASv0E,KAAKgyG,sBAAsBz9B,OACpCqmB,EAAa,EACbzH,EAAa,KACb/yE,OAAS4F,EAETiuD,EAAMhqD,WAAWipE,SACnB9yE,GAAS,EAAIkvE,EAAc2D,aAAahf,EAAMhqD,WAAWipE,QACzDC,EAAa/yE,EAAO+yE,WACpByH,EAAax6E,EAAOw6E,YAEtBrmB,EAAOmc,UAAUhsF,SAAQ,SAAU6wG,GACjC,IAAIC,EAAgB,CAClB5a,WAAY,EACZzH,WAAY,MAGd,GAAIoiB,EAAQtrF,WAAWipE,OAAQ,CAC7B,IAAI8c,EAAcuF,EAAQtrF,WAAWipE,OAErCsiB,GAAgB,EAAIlmB,EAAc2D,aAAa+c,GAE3CxkG,OAAOi8F,aAAej8F,OAAOi8F,YAAYC,kBAAoBl8F,OAAOi8F,YAAYC,gBAAgB,sBAAwBqI,EAAoBC,GAAe,OAC7JuF,EAAQT,aAAe95D,KAMvBw6D,EAAc5a,aAAeA,IAC/B2a,EAAQT,aAAe95D,KAKrBw6D,EAAcriB,aAAeA,IAC/BoiB,EAAQT,aAAe95D,UAI5B,CACD93C,IAAK,gBACLZ,MAAO,SAAuB2xE,GAC5B,IAAI6G,EAAS,EACThoC,EAAW9yC,KAAK8yC,WAEhBA,EAASviC,SACXuqE,EAAShoC,EAAStV,MAAM,IAG1BwxE,EAAY,WAAWyG,aAAaxhC,EAAOj0E,KAAKqxG,cAAev2B,KAQhE,CACD53E,IAAK,mBACLZ,MAAO,WACL,IAAIka,EAAcxc,KAAKspC,MAAM9sB,cACzBuJ,EAAUopE,EAAS,WAAWR,mBAC9BjoC,EAAOyoC,EAAS,WAAWN,wBAC3B3oF,EAAMiD,KAAKjD,IAAI6f,EAASopE,EAAS,WAAWP,wBAEhD,OAAOzlF,KAAKnD,IAAI+f,EAAUvJ,EAAckqC,EAAMxgD,KAQ/C,CACDhD,IAAK,qBACLZ,MAAO,WACL,IAAIka,EAAcxc,KAAKspC,MAAM9sB,cACzBuJ,EAAUopE,EAAS,WAAWJ,sBAC9BroC,EAAOyoC,EAAS,WAAWF,2BAC3B/oF,EAAMiD,KAAKjD,IAAI6f,EAASopE,EAAS,WAAWH,2BAEhD,OAAO7lF,KAAKnD,IAAI+f,EAAUvJ,EAAckqC,EAAMxgD,OAI3C4qG,EAvkCsB,CAwkC5BztC,EAAU,WAAWnvC,aAExBhV,EAAQ4xF,yBAA2BA,G,oCC70CnCtsG,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaC,EAAIC,EAAKC,GAAO,IAAIC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS41D,EAAII,EAAWH,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAA/V,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B8rD,EAAK9rD,EAAQ+rD,EAAMG,EAAUF,EAAMG,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE5c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAIywF,EAAkB,EAAQ,QAE1BC,EAAmBzyC,EAAuBwyC,GAE1CtyC,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnCwyC,EAAqB,EAAQ,QAE7BC,EAAsB3yC,EAAuB0yC,GAE7Cta,EAAkB,EAAQ,QAE1BC,EAAmBr4B,EAAuBo4B,GAE1C9kB,EAAc,EAAQ,QAWtBs/B,EAAmB,SAAWl+B,GAGhC,SAASk+B,IACP,IAAItsG,EAAQxJ,KAEZ4vE,EAAgB5vE,KAAM81G,GAEtBxgC,EAAK9wE,OAAOsxE,eAAeggC,EAAiBl3F,WAAY,cAAe5e,MAAMye,KAAKze,MAClFA,KAAK+1G,cAAgB,GACrB/1G,KAAKmzB,WAAa,SAElBnzB,KAAKU,GAAG,CAAC,aAAc,qBAAqB,SAAU2G,GAEpDmC,EAAMozF,OAAS+Y,EAAiB,WAAW9pG,eAAexE,EAAMkgG,OAChE/9F,EAAMotB,SAAU,EAAIysC,EAAU,YAAY75D,EAAMozF,OAAOjwE,YACvDnjB,EAAM8/B,MAAQ9/B,EAAMozF,OAAO19D,KAC3B11B,EAAM2pB,WAAa,OAEnB3pB,EAAM8/B,MAAM5oC,GAAG,WAAW,WACxB,IAAIyJ,EAAIX,EAAMusG,cAAcxlG,OAE5B,MAAOpG,IACLX,EAAMusG,cAAc5rG,GAAGqoE,WAKvBhpE,EAAMozF,QACRpzF,EAAMozF,OAAOoZ,cA4EnB,OAxGA30C,EAAUy0C,EAAkBl+B,GAgD5BnI,EAAaqmC,EAAkB,CAAC,CAC9B5yG,IAAK,oBACLZ,MAAO,cAWN,CACDY,IAAK,kBACLZ,MAAO,SAAyBoB,GAC9B,IAAIuyG,GAAa,EAAIz/B,EAAY92D,kBAAkBhc,GAC/CmzE,OAAe7wD,EAGnB,GAAwB,eAApBiwF,EAAWvyG,MAA6C,eAApBuyG,EAAWvyG,KAIjD,MAAM,IAAIie,MAAM,gCAIlB,OANEk1D,EAAe,IAAIg/B,EAAoB,WAAW71G,MAKpDA,KAAK+1G,cAAcnjG,KAAKikE,GACjBA,IAWR,CACD3zE,IAAK,cACLZ,MAAO,SAAqBslB,GACZ,YAAVA,EAEF5nB,KAAKspC,MAAM1hB,MAAM,GACE,WAAVA,GAET5nB,KAAKspC,MAAM1hB,MAAM,GAEK,UAApB5nB,KAAKmzB,aACPnzB,KAAKmzB,WAAa,QAClBnzB,KAAK48F,OAAOsZ,uBAKXJ,EAzGc,CA0GpBzyC,EAAU,WAAWnvC,aAExBhV,EAAQ,WAAa42F,EACrB,IACEtxG,OAAO8a,eAAew2F,EAAiBl3F,UAAW,WAAY,CAO5D3J,IAAK,WACH,OAAKjV,KAAK48F,OAIH58F,KAAK48F,OAAOI,gBAAgB,YAH1BntC,KAYXnuC,IAAK,SAAapf,GAChB,IAAI6H,OAAI6b,EACJkvF,EAAcl1G,KAAK48F,OAAOI,gBAAgB,YAI9C,GAFAh9F,KAAK48F,OAAOuZ,gBAAgB,WAAY7zG,GAEpCA,EAAQ4yG,EAGV,IAAK/qG,EAAI,EAAGA,EAAInK,KAAK+1G,cAAcxlG,OAAQpG,IACzCnK,KAAK+1G,cAAc5rG,GAAGshB,OAAOnpB,EAAO4yG,GAIxC,OAAO5yG,KAGX,MAAOiI,GAIPurG,EAAiBl3F,UAAU1B,SAAW2yC,IAGxC,IAAK,IAAI8lB,KAAY4lB,EAAiB,WACpCua,EAAiBngC,GAAY4lB,EAAiB,WAAW5lB,GAE3D12D,EAAOC,QAAUA,EAAQ,Y,kCC9LzB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAET,IAAI8zG,EAA8B,SAAqCv/B,EAAcF,EAAagD,GAChG,IAAI1mD,EAAS0jD,EAAY//C,QAGzB,GAAI+iD,EAAQ1zC,UAAY0zC,EAAQ1zC,SAAS11B,OAKvC,IAAK,IAAIsjE,KAJJgD,EAAawD,oBAChBxD,EAAawD,kBAAoB,IAGfV,EAAQkJ,eAC1B,IAAKhM,EAAawD,kBAAkBxG,GAAU,CAC5C5gD,EAAOqW,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,YAC5C,IAAIu8B,EAAQ1L,EAAOwM,aAAauE,aAAa6vC,GAM3CgD,EAAawD,kBAAkBxG,GAJ7Bl1C,GAQwC1L,EAAO2M,mBAAmB,CAClEmF,KAAM,WACN5hC,GAAI0wE,EACJlzC,MAAOkzC,IACN,GAAOl1C,MAMdg7C,EAAQjzC,UAAYizC,EAAQjzC,SAASn2B,SAAWsmE,EAAauD,iBAC/DvD,EAAauD,eAAiBnnD,EAAO2M,mBAAmB,CACtDmF,KAAM,WACNpE,MAAO,mBACN,GAAOhC,MACVk4C,EAAauD,eAAek3B,gCAAkC33B,EAAQjzC,SAASs8C,eAInF9jE,EAAQ,WAAak3F,EACrBn3F,EAAOC,QAAUA,EAAQ,Y,oCC9CzB,IAAIlB,EAAS,EAAQ,QAEjBkoE,EAAS,WAETC,EAAY,WAEZC,EAAiB,SAAS9jF,EAAOopE,GACnC,IAAItC,EAAY,EAEZ9mE,EAAQopE,IAQVtC,GAAa,GAKf,MAAOjgE,KAAK4hE,IAAIW,EAAYppE,GAAS6jF,EACnC7jF,GAAU8mE,EAAY8c,EAGxB,OAAO5jF,GAGLkhF,EAA0B,SAAS9/E,GACrC,IAAI2iF,EAASC,EAEb9C,EAAwB5kE,UAAUX,KAAKQ,KAAKze,MAE5CA,KAAKumF,MAAQ7iF,EAEb1D,KAAK4S,KAAO,SAASxM,GACfA,EAAK1C,OAAS1D,KAAKumF,aAIFvgE,IAAjBsgE,IACFA,EAAelgF,EAAKy4E,KAGtBz4E,EAAKy4E,IAAMuH,EAAehgF,EAAKy4E,IAAKyH,GACpClgF,EAAKgxE,IAAMgP,EAAehgF,EAAKgxE,IAAKkP,GAEpCD,EAAUjgF,EAAKy4E,IAEf7+E,KAAKse,QAAQ,OAAQlY,KAGvBpG,KAAKgf,MAAQ,WACXsnE,EAAeD,EACfrmF,KAAKse,QAAQ,SAGfte,KAAK8kF,cAAgB,WACnBwB,OAAe,EACfD,OAAU,IAKd7C,EAAwB5kE,UAAY,IAAIZ,EAExCiB,EAAOC,QAAU,CACfskE,wBAAyBA,EACzB4C,eAAgBA,I,6DC5ElB,IA6EE/C,EA5EArlE,EAAS,EAAQ,QACjB4pE,EAAc,EAAQ,QAGtByuB,EAAgB,SAASvkC,EAAOt0C,EAAOt0B,GACrC,IAAIiB,EAAG2N,EAAS,GAChB,IAAK3N,EAAIqzB,EAAOrzB,EAAIjB,EAAKiB,IACvB2N,GAAU,KAAO,KAAOg6D,EAAM3nE,GAAGsW,SAAS,KAAKhM,OAAO,GAExD,OAAOqD,GAITw+F,EAAY,SAASxkC,EAAOt0C,EAAOt0B,GACjC,OAAO2iE,mBAAmBwqC,EAAcvkC,EAAOt0C,EAAOt0B,KAIxDqtG,EAAgB,SAASzkC,EAAOt0C,EAAOt0B,GACrC,OAAOm+D,SAASgvC,EAAcvkC,EAAOt0C,EAAOt0B,KAE9CstG,EAAuB,SAASpwG,GAC9B,OAAQA,EAAK,IAAM,GACVA,EAAK,IAAM,GACXA,EAAK,IAAM,EACXA,EAAK,IAEhBqwG,EAAa,CACXC,KAAM,SAAS9rG,GACb,IAAIT,EACJ,GAAoB,IAAhBS,EAAIxE,KAAK,GAAb,CAKA,IAAK+D,EAAI,EAAGA,EAAIS,EAAIxE,KAAKmK,OAAQpG,IAC/B,GAAoB,IAAhBS,EAAIxE,KAAK+D,GAAU,CAErBS,EAAI61B,YAAc61E,EAAU1rG,EAAIxE,KAAM,EAAG+D,GAEzCS,EAAItI,MAAQg0G,EAAU1rG,EAAIxE,KAAM+D,EAAI,EAAGS,EAAIxE,KAAKmK,QAAQxD,QAAQ,OAAQ,IACxE,MAGJnC,EAAIxE,KAAOwE,EAAItI,QAEjBq0G,KAAM,SAAS/rG,GACb,IAAIT,EACJ,GAAoB,IAAhBS,EAAIxE,KAAK,GAKb,IAAK+D,EAAI,EAAGA,EAAIS,EAAIxE,KAAKmK,OAAQpG,IAC/B,GAAoB,IAAhBS,EAAIxE,KAAK+D,GAAU,CAErBS,EAAI61B,YAAc61E,EAAU1rG,EAAIxE,KAAM,EAAG+D,GACzCS,EAAI8B,IAAM4pG,EAAU1rG,EAAIxE,KAAM+D,EAAI,EAAGS,EAAIxE,KAAKmK,QAC9C,QAINqmG,KAAM,SAAShsG,GACb,IAAIT,EAEJ,IAAKA,EAAI,EAAGA,EAAIS,EAAIxE,KAAKmK,OAAQpG,IAC/B,GAAoB,IAAhBS,EAAIxE,KAAK+D,GAAU,CAErBS,EAAIisG,MAAQN,EAAc3rG,EAAIxE,KAAM,EAAG+D,GACvC,MAGJS,EAAIksG,YAAclsG,EAAIxE,KAAKgZ,SAASjV,EAAI,GACxCS,EAAIxE,KAAOwE,EAAIksG,cAKrBzzB,EAAiB,SAAS9xD,GACxB,IAeEpnB,EAdAu/B,EAAW,CACThiB,SAAU6J,IAAWA,EAAQ7J,OAK7BskC,WAAYz6B,GAAWA,EAAQy6B,YAGjC+qD,EAAU,EAEVtqC,EAAS,GAETuqC,EAAa,EAQf,GALA3zB,EAAezkE,UAAUX,KAAKQ,KAAKze,MAInCA,KAAKgjF,aAAe4E,EAAYmT,qBAAqBt6E,SAAS,IAC1DipB,EAASsiB,WACX,IAAK7hD,EAAI,EAAGA,EAAIu/B,EAASsiB,WAAWz7C,OAAQpG,IAC1CnK,KAAKgjF,eAAiB,KAAOt5C,EAASsiB,WAAW7hD,GAAGsW,SAAS,KAAKhM,OAAO,GAI7EzU,KAAK4S,KAAO,SAAS6qF,GACnB,IAAI7yF,EAAKqsG,EAAYjtB,EAAWnG,EAAO15E,EAAG+sG,EAC1C,GAAmB,mBAAfzZ,EAAM/5F,KAaV,GANI+5F,EAAM4F,yBACR2T,EAAa,EACbvqC,EAAOl8D,OAAS,GAII,IAAlBk8D,EAAOl8D,SACNktF,EAAMr3F,KAAKmK,OAAS,IACnBktF,EAAMr3F,KAAK,KAAO,IAAI+hE,WAAW,IACjCs1B,EAAMr3F,KAAK,KAAO,IAAI+hE,WAAW,IACjCs1B,EAAMr3F,KAAK,KAAO,IAAI+hE,WAAW,IACjCz+B,EAAShiB,OAEXV,QAAQR,IAAI,8CAwBhB,GAjBAimD,EAAO75D,KAAK6qF,GACZuZ,GAAcvZ,EAAMr3F,KAAKiZ,WAGH,IAAlBotD,EAAOl8D,SAKTwmG,EAAUP,EAAqB/Y,EAAMr3F,KAAKgZ,SAAS,EAAG,KAItD23F,GAAW,MAITC,EAAaD,GAAjB,CAWA,IANAnsG,EAAM,CACJxE,KAAM,IAAIwqE,WAAWmmC,GACrBr5B,OAAQ,GACRtG,IAAK3K,EAAO,GAAG2K,IACfyH,IAAKpS,EAAO,GAAGoS,KAEZ10E,EAAI,EAAGA,EAAI4sG,GACdnsG,EAAIxE,KAAKsb,IAAI+qD,EAAO,GAAGrmE,KAAKgZ,SAAS,EAAG23F,EAAU5sG,GAAIA,GACtDA,GAAKsiE,EAAO,GAAGrmE,KAAKiZ,WACpB23F,GAAcvqC,EAAO,GAAGrmE,KAAKiZ,WAC7BotD,EAAO1sD,QAITk3F,EAAa,GACK,GAAdrsG,EAAIxE,KAAK,KAEX6wG,GAAc,EACdA,GAAcT,EAAqB5rG,EAAIxE,KAAKgZ,SAAS,GAAI,KAGzD23F,GAAWP,EAAqB5rG,EAAIxE,KAAKgZ,SAAS,GAAI,MAKxD,EAAG,CAGD,GADA4qE,EAAYwsB,EAAqB5rG,EAAIxE,KAAKgZ,SAAS63F,EAAa,EAAGA,EAAa,IAC5EjtB,EAAY,EAEd,OAAOhjE,QAAQR,IAAI,+DAarB,GAXA0wF,EAActxG,OAAO8oE,aAAa9jE,EAAIxE,KAAK6wG,GACTrsG,EAAIxE,KAAK6wG,EAAa,GACtBrsG,EAAIxE,KAAK6wG,EAAa,GACtBrsG,EAAIxE,KAAK6wG,EAAa,IAGxDpzB,EAAQ,CACN1gF,GAAI+zG,EACJ9wG,KAAMwE,EAAIxE,KAAKgZ,SAAS63F,EAAa,GAAIA,EAAajtB,EAAY,KAEpEnG,EAAM3gF,IAAM2gF,EAAM1gF,GACdszG,EAAW5yB,EAAM1gF,MACnBszG,EAAW5yB,EAAM1gF,IAAI0gF,GAID,iDAAhBA,EAAMgzB,OAA0D,CAClE,IACE/hB,EAAIjR,EAAMz9E,KACVK,GAAgB,EAAPquF,EAAE,KAAe,GAClBA,EAAE,IAAO,GACTA,EAAE,IAAM,GACRA,EAAE,IAAM,EACRA,EAAE,KAAO,EAEnBruF,GAAQ,EACRA,GAAe,EAAPquF,EAAE,GACVjR,EAAME,UAAYt9E,OAKFuf,IAAZpb,EAAIwsE,UAAiCpxD,IAAZpb,EAAIi0E,MAC/Bj0E,EAAIwsE,IAAMyM,EAAME,UAChBn5E,EAAIi0E,IAAMgF,EAAME,WAElB/jF,KAAKse,QAAQ,YAAaulE,GAG9Bj5E,EAAI8yE,OAAO9qE,KAAKixE,GAEhBozB,GAAc,GACdA,GAAcjtB,QACPitB,EAAaF,GACtB/2G,KAAKse,QAAQ,OAAQ1T,MAGzBy4E,EAAezkE,UAAY,IAAIZ,EAE/BiB,EAAOC,QAAUmkE,G,qBCvPjBpkE,EAAOC,QAAU,shG,oCCKjB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaC,EAAIC,EAAKC,GAAO,IAAIC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS41D,EAAII,EAAWH,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAA/V,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B8rD,EAAK9rD,EAAQ+rD,EAAMG,EAAUF,EAAMG,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE5c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAI+lE,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExC0qB,EAAkB,EAAQ,QAE1BC,EAAmBzyC,EAAuBwyC,GAE1CtyC,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC+zC,EAAuB,EAAQ,QAE/BC,EAAwBl0C,EAAuBi0C,GAE/ChhC,EAAoB,EAAQ,QAE5BK,EAAc,EAAQ,QAWtB6gC,EAAkB,SAAWz/B,GAG/B,SAASy/B,IACP,IAAI7tG,EAAQxJ,KAEZ4vE,EAAgB5vE,KAAMq3G,GAEtB/hC,EAAK9wE,OAAOsxE,eAAeuhC,EAAgBz4F,WAAY,cAAe5e,MAAMye,KAAKze,MACjF,IAAI21E,OAAW3vD,EAIf,IAAK2vD,KAFL31E,KAAK+5E,mBAAqB,IAAIkR,EAAe,WAAWwc,YAEvCznG,KAAK+5E,mBACdpE,KAAY0hC,EAAgBz4F,WAA2D,oBAAtC5e,KAAK+5E,mBAAmBpE,KAC7E31E,KAAK21E,GAAY31E,KAAK+5E,mBAAmBpE,GAAUzmE,KAAKlP,KAAK+5E,qBAOjE/5E,KAAKutC,UAAYsiB,IACjBrrD,OAAO8a,eAAetf,KAAM,WAAY,CACtCiV,IAAK,WACH,OAAIjV,KAAKutC,YAAcyN,IACdh7C,KAAKutC,UAEPvtC,KAAK+5E,mBAAmB78D,UAEjCwE,IAAK,SAAaxE,GAChBld,KAAKutC,UAAYrwB,EACbA,IAAa89B,MACfh7C,KAAK+5E,mBAAmB78D,SAAWA,MAKzC1Y,OAAO8a,eAAetf,KAAM,WAAY,CACtCiV,IAAK,WACH,OAAIjV,KAAKutC,YAAcyN,IACdqoB,EAAU,WAAW5lC,iBAAiB,CAAC,CAAC,EAAGz9B,KAAK+5E,mBAAmB78D,YAErEld,KAAK+5E,mBAAmBjnC,YAInCtuC,OAAO8a,eAAetf,KAAM,aAAc,CACxCiV,IAAK,WACH,OAAOjV,KAAK+5E,mBAAmB5mD,cAInC3uB,OAAO8a,eAAetf,KAAM,sBAAuB,CACjDiV,IAAK,WACH,OAAOjV,KAAKs3G,wBAMhBt3G,KAAK+1G,cAAgB,GAErB/1G,KAAKs3G,qBAAuB,GAQ5Bt3G,KAAKu3G,2BAA6B,WAMhC,GAJA/tG,EAAM8tG,qBAAqB/mG,OAAS,EAID,IAA/B/G,EAAMusG,cAAcxlG,OAAc,CACpC,IAAIsmE,EAAertE,EAAMusG,cAAc,GAKvC,OAHAl/B,EAAawB,yBAA0B,EACvCxB,EAAauB,gBAAkBvB,EAAaqB,iBAC5C1uE,EAAM8tG,qBAAqB1kG,KAAKikE,GAalC,IALA,IAAI2gC,GAAkB,EAClBC,GAAmB,EAIdttG,EAAI,EAAGA,EAAIX,EAAMotB,QAAQ2vB,cAAch2C,OAAQpG,IAAK,CAC3D,IAAIw0B,EAAQn1B,EAAMotB,QAAQ2vB,cAAcp8C,GAExC,GAAIw0B,EAAM0F,SAA0B,SAAf1F,EAAMoG,KAAiB,CAG1CyyE,GAAkB,EAClBC,GAAmB,EACnB,OAIJjuG,EAAMusG,cAAcrxG,SAAQ,SAAUmyE,GAQpC,GAFAA,EAAawB,yBAA0B,EAEnCxB,EAAasB,aAAetB,EAAaqB,YAE3CrB,EAAauB,eAAiBo/B,OACzB,GAAI3gC,EAAasB,cAAgBtB,EAAaqB,YAInDrB,EAAauB,gBAAiB,EAC9Bq/B,GAAmB,OACd,IAAK5gC,EAAasB,aAAetB,EAAaqB,cAEnDrB,EAAauB,eAAiBq/B,EAC1BA,GACF,OAIJjuG,EAAM8tG,qBAAqB1kG,KAAKikE,OAIpC72E,KAAK03G,qBAAuB,WAC1BluG,EAAMusG,cAAcrxG,SAAQ,SAAUmyE,GACpCA,EAAawB,yBAA0B,MAI3Cr4E,KAAKk9F,YAAc,WACjB1zF,EAAMusG,cAAcrxG,SAAQ,SAAUmyE,GAChCA,EAAa8B,aACf9B,EAAa8B,YAAYC,YAAY,CAAEC,OAAQ,sBAKrD74E,KAAK23G,yBAA2B,SAAUtwG,GACxCmC,EAAMusG,cAAcrxG,SAAQ,SAAU+nE,GACpC,OAAOA,EAAO8L,aAAelxE,EAAM6vE,YAKvC,CAAC,aAAc,cAAe,eAAexyE,SAAQ,SAAUmqD,GAC7D7uD,KAAK+5E,mBAAmBx8D,iBAAiBsxC,EAAW7uD,KAAKse,QAAQpP,KAAKlP,SACrEA,MAIHA,KAAKU,GAAG,cAAc,SAAU2G,GAE9B,IAAIoM,EAAQkiG,EAAiB,WAAW16F,cAAc,SAAWzR,EAAMo+F,KAAO,MAEzEn0F,IAILjK,EAAMotB,SAAU,EAAIysC,EAAU,YAAY5vD,EAAMkZ,YAIhDnjB,EAAMotB,QAAQ0S,MAAM5oC,GAAG,YAAa8I,EAAM0zF,aAI1C1zF,EAAMotB,QAAQ0S,MAAM5oC,GAAG,2BAA4B8I,EAAMmuG,0BAErDnuG,EAAMotB,QAAQ2vB,aAAe/8C,EAAMotB,QAAQ2vB,gBAC7C/8C,EAAMotB,QAAQ2vB,cAAc7lD,GAAG,SAAU8I,EAAM+tG,4BAC/C/tG,EAAMotB,QAAQ2vB,cAAc7lD,GAAG,WAAY8I,EAAM+tG,4BACjD/tG,EAAMotB,QAAQ2vB,cAAc7lD,GAAG,cAAe8I,EAAM+tG,6BAGtD/tG,EAAMotB,QAAQl2B,GAAG,cAAe8I,EAAMkuG,0BAGxC13G,KAAKU,GAAG,eAAe,SAAU2G,GAG/B,IAFA,IAAI6V,GAAW,EAAIi5D,EAAkByhC,iBAAiBpuG,EAAM0T,UAEnD/S,EAAI,EAAGA,EAAIX,EAAMusG,cAAcxlG,OAAQpG,IAAK,CACnD,IAAI0tG,EAAeruG,EAAMusG,cAAc5rG,GACnC00B,EAAOg5E,EAAaz9B,gBAAkBy9B,EAAaz9B,eAAev7C,KAElEA,GAAQA,EAAKtuB,SACfsuB,EAAKA,EAAKtuB,OAAS,GAAGyuB,QAAU9hB,OAOtCld,KAAKU,GAAG,eAAe,SAAU2G,GAC/BrH,KAAK+1G,cAAcrxG,SAAQ,SAAUmyE,GAC/BA,EAAa8B,aACf9B,EAAa8B,YAAYwkB,eAI7Bn9F,KAAK+1G,cAAcxlG,OAAS,EACvBvQ,KAAK42B,UAIN52B,KAAK42B,QAAQ2vB,aAAevmD,KAAK42B,QAAQ2vB,gBAC3CvmD,KAAK42B,QAAQ2vB,cAAcloC,IAAI,SAAUre,KAAKu3G,4BAC9Cv3G,KAAK42B,QAAQ2vB,cAAcloC,IAAI,WAAYre,KAAKu3G,4BAChDv3G,KAAK42B,QAAQ2vB,cAAcloC,IAAI,cAAere,KAAKu3G,6BAOjDv3G,KAAK42B,QAAQI,MACfh3B,KAAK42B,QAAQvY,IAAI,cAAere,KAAK03G,sBACrC13G,KAAK42B,QAAQ0S,MAAMjrB,IAAI,YAAare,KAAKk9F,aACzCl9F,KAAK42B,QAAQ0S,MAAMjrB,IAAI,2BAA4Bre,KAAK23G,+BAqF9D,OA1TAt2C,EAAUg2C,EAAiBz/B,GAkP3BnI,EAAa4nC,EAAiB,CAAC,CAC7Bn0G,IAAK,oBACLZ,MAAO,SAA2Bk7B,EAAOt0B,GACvC,IAAI0e,OAAQ5B,EAEZ,GAAIhmB,KAAKkd,WAAa89B,IAIpB,MAHApzB,EAAQ,IAAIjG,MAAM,oFAClBiG,EAAMxlB,KAAO,oBACbwlB,EAAMxR,KAAO,GACPwR,GAGJ1e,EAAMlJ,KAAK+5E,mBAAmB78D,UAAY69B,MAAM/6C,KAAK+5E,mBAAmB78D,aAC1Eld,KAAK+5E,mBAAmB78D,SAAWhU,KAWtC,CACDhG,IAAK,kBACLZ,MAAO,SAAyBoB,GAC9B,IAAI+oE,OAASzmD,EACTiwF,GAAa,EAAIz/B,EAAY92D,kBAAkBhc,GAInD,GAAI,yBAAyBkJ,KAAKqpG,EAAWvyG,MAAO,CAClD,IAAI0c,EAAS,GAET61F,EAAWr2F,YAAcq2F,EAAWr2F,WAAWQ,SACjDA,EAAS61F,EAAWr2F,WAAWQ,OAAON,MAAM,KAC5CM,GAAS,EAAIo2D,EAAYr2D,uBAAuBC,GAChDA,EAASA,EAAO2H,QAAO,SAAUvI,GAC/B,OAAO,EAAIg3D,EAAYj3D,cAAcC,KAAU,EAAIg3D,EAAY/2D,cAAcD,OAI3D,IAAlBY,EAAO7P,SACT6P,EAAS,CAAC,cAAe,cAG3BqsD,EAAS,IAAI2qC,EAAsB,WAAWp3G,KAAMogB,GAElB,IAA9BpgB,KAAK+1G,cAAcxlG,SAMrBvQ,KAAK+1G,cAAc,GAAGt7B,2BACtBhO,EAAOgO,2BAIPz6E,KAAK+1G,cAAc,GAAG39B,gBAAiB,QAIzC3L,EAASzsE,KAAK+5E,mBAAmBjD,gBAAgBpzE,GAInD,OADA1D,KAAK+1G,cAAcnjG,KAAK65D,GACjBA,MAIJ4qC,EA3Ta,CA4TnBh0C,EAAU,WAAWnvC,aAExBhV,EAAQ,WAAam4F,EACrBp4F,EAAOC,QAAUA,EAAQ,Y,oCC7WzB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAc,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA7gB,GAEnB,SAAS8qD,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAUhH,IAAI5D,EAAS,WACX,SAASA,IACP4xD,EAAgB5vE,KAAMge,GAEtBhe,KAAKke,UAAY,GA0GnB,OA9FAuxD,EAAazxD,EAAQ,CAAC,CACpB9a,IAAK,KACLZ,MAAO,SAAYoB,EAAMya,GAClBne,KAAKke,UAAUxa,KAClB1D,KAAKke,UAAUxa,GAAQ,IAEzB1D,KAAKke,UAAUxa,GAAMkP,KAAKuL,KAY3B,CACDjb,IAAK,MACLZ,MAAO,SAAaoB,EAAMya,GACxB,IAAKne,KAAKke,UAAUxa,GAClB,OAAO,EAGT,IAAI2E,EAAQrI,KAAKke,UAAUxa,GAAMC,QAAQwa,GAGzC,OADAne,KAAKke,UAAUxa,GAAMqN,OAAO1I,EAAO,GAC5BA,GAAS,IAUjB,CACDnF,IAAK,UACLZ,MAAO,SAAiBoB,GACtB,IAAI6a,EAAYve,KAAKke,UAAUxa,GAC3ByG,OAAI,EACJoG,OAAS,EACTiO,OAAO,EAEX,GAAKD,EAOL,GAAyB,IAArB7U,UAAU6G,OAEZ,IADAA,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGsU,KAAKze,KAAM0J,UAAU,SAKpC,IAFA8U,EAAOra,MAAMya,UAAUnK,MAAMgK,KAAK/U,UAAW,GAC7C6G,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGuU,MAAM1e,KAAMwe,KAS9B,CACDtb,IAAK,UACLZ,MAAO,WACLtC,KAAKke,UAAY,KAWlB,CACDhb,IAAK,OACLZ,MAAO,SAAcwc,GACnB9e,KAAKU,GAAG,QAAQ,SAAU0F,GACxB0Y,EAAYlM,KAAKxM,UAKhB4X,EA9GI,GAiHbkB,EAAQ,WAAalB,G,kCC3HrB,IAAIyxD,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAasV,EAAKC,EAAKitB,GAAO,IAAIpiC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAASirE,EAAKjV,EAAWkV,EAAKjV,EAAWkiC,EAAKpiC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA6O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAAhW,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2BmhE,EAAMnhE,EAAQohE,EAAMlV,EAAUmiC,EAAMliC,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE/c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAIywF,EAAkB,EAAQ,QAE1BC,EAAmBzyC,EAAuBwyC,GAE1CzjC,EAAkB,EAAQ,QAE1BC,EAAmBhP,EAAuB+O,GAE1Cmd,EAAY,EAAQ,QAEpBC,EAAansB,EAAuBksB,GAEpC2oB,EAAO,EAAQ,QAEfC,EAAQ90C,EAAuB60C,GAE/BE,EAAgB,EAAQ,QAExB7sB,EAAY,EAAQ,QAEpB8sB,EAAah1C,EAAuBkoB,GAEpC+sB,EAA8B,EAAQ,QAEtC5L,EAAc,EAAQ,QAEtBC,EAAetpC,EAAuBqpC,GAEtCnpC,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnCg1C,EAA4B,EAAQ,QAEpClpB,EAAU,EAAQ,QAElBC,EAAWjsB,EAAuBgsB,GAElCmpB,EAAkB,EAAQ,QAE1BC,EAAmBp1C,EAAuBm1C,GAE1CrtB,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExCutB,EAAmB,EAAQ,QAE3BC,EAAoBt1C,EAAuBq1C,GAE3CE,EAAuB,EAAQ,QAE/BC,EAAwBx1C,EAAuBu1C,GAE/CE,EAAuB,EAAQ,QAE/BhyB,EAAM,CACR4mB,eAAgBr7B,EAAiB,WACjCyhC,SAAUtkB,EAAW,WACrB9d,UAAW0mC,EAAc1mC,UACzBqnC,YAAaX,EAAcW,YAC3BxoC,QAAS6nC,EAAc7nC,QACvByoC,MAAOX,EAAW,WAElBY,2BAA4BH,EAAqBjnB,sBACjDqnB,0BAA2BJ,EAAqB5lB,uCAChDnD,yBAA0B+oB,EAAqB/oB,yBAC/CK,0BAA2B0oB,EAAqB1oB,0BAEhD9tE,KAAK,EAAI61F,EAAM,eAIbgB,EAAoB,QAGxB,CAAC,qBAAsB,yBAA0B,0BAA2B,wBAAyB,4BAA6B,6BAA8B,sBAAsBt0G,SAAQ,SAAUkkB,GACtMpkB,OAAO8a,eAAeqnE,EAAK/9D,EAAM,CAC/B3T,IAAK,WAEH,OADAouD,EAAU,WAAW78C,IAAImB,KAAK,aAAeiB,EAAO,kDAC7CumE,EAAS,WAAWvmE,IAE7BlH,IAAK,SAAapf,GAChB+gE,EAAU,WAAW78C,IAAImB,KAAK,aAAeiB,EAAO,kDAE/B,kBAAVtmB,GAAsBA,EAAQ,EACvC+gE,EAAU,WAAW78C,IAAImB,KAAK,gBAAkBiB,EAAO,uCAIzDumE,EAAS,WAAWvmE,GAAQtmB,QAYlC,IAAI22G,EAAuB,SAA8BC,EAAevmC,GAItE,IAHA,IAAIwmC,EAAcxmC,EAAesB,QAC7BtrB,GAAiB,EAEZx+C,EAAI,EAAGA,EAAI+uG,EAAc3oG,OAAQpG,IACxC,GAAI+uG,EAAc/uG,GAAGhH,KAAOg2G,EAAYlwE,IAAK,CAC3C0f,EAAgBx+C,EAChB,MAIJ+uG,EAAcE,eAAiBzwD,EAC/BuwD,EAAc56F,QAAQ,CACpBqqC,cAAeA,EACfjlD,KAAM,YAWN21G,EAA0B,SAAiCH,EAAe7kC,GAC5EA,EAAIilC,kBAAkB50G,SAAQ,SAAUisF,GACtCuoB,EAAcK,gBAAgB5oB,MAEhCsoB,EAAqBC,EAAe7kC,EAAIqc,YAK1C/J,EAAI92C,cAAgB,WAClB,OAAOwzB,EAAU,WAAW78C,IAAImB,KAAK,4EAMvCg/D,EAAI6yB,kBAAoB,WACtB,IAAI/lG,EAAQkiG,EAAiB,WAAWtxF,cAAc,SAGtD,IAAKg/C,EAAU,WAAWnzB,QAAQ,SAASmF,cACzC,OAAO,EAIT,IAAIokE,EAAU,CAEd,gCAEA,gBAEA,kBAEA,wBAEA,kBAAmB,gBAAiB,uBAEpC,OAAOA,EAAQrgF,MAAK,SAAUsgF,GAC5B,MAAQ,kBAAkB9sG,KAAK6G,EAAMm8B,YAAY8pE,OAtB7B,GA+BxB/yB,EAAItxC,YAAc,WAChB,OAAOguB,EAAU,WAAW78C,IAAImB,KAAK,4EAGvC,IAAI+O,EAAY2sC,EAAU,WAAW5qC,aAAa,aAa9CkhF,EAAa,SAAWz5E,GAG1B,SAASy5E,EAAWtzF,EAAQ6Y,EAAM3N,GAChC,IAAI/nB,EAAQxJ,KAQZ,GANA4vE,EAAgB5vE,KAAM25G,GAEtBrkC,EAAK9wE,OAAOsxE,eAAe6jC,EAAW/6F,WAAY,cAAe5e,MAAMye,KAAKze,KAAMk/B,EAAM3N,EAAQ8iD,KAI5Fn1C,EAAKrI,UAAYqI,EAAKrI,SAASs4B,SAAU,CAC3C,IAAIoT,GAAU,EAAIc,EAAU,YAAYnkC,EAAKrI,SAASs4B,UAEjDoT,EAAQz6C,eAAe,QAC1BtjB,OAAO8a,eAAeijD,EAAS,MAAO,CACpCttD,IAAK,WAGH,OAFAouD,EAAU,WAAW78C,IAAImB,KAAK,2DAC9BuX,EAAK5gB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,sBAC7BoH,KAcf,GARAxJ,KAAKspC,MAAQpK,EACbl/B,KAAK45G,QAAUvzF,EACfrmB,KAAK2oG,MAAQ,GACb3oG,KAAK65G,yBAA0B,EAC/B75G,KAAK85G,cAID95G,KAAK62B,SAASkjF,iBAAmB76E,EAAKyyB,2BAA6BzyB,EAAK0yB,2BAC1E,MAAM,IAAIjwC,MAAM,4EAKlB3hB,KAAKU,GAAGi1G,EAAiB,WAAY,CAAC,mBAAoB,yBAA0B,sBAAuB,uBAAuB,SAAUtuG,GAC1I,IAAIm0D,EAAoBm6C,EAAiB,WAAWn6C,mBAAqBm6C,EAAiB,WAAWqE,yBAA2BrE,EAAiB,WAAWsE,sBAAwBtE,EAAiB,WAAWuE,oBAE5M1+C,GAAqBA,EAAkBrwC,SAAS3hB,EAAM8/B,MAAMt4B,OAC9DxH,EAAM2wG,0BAA0BC,wBAIpCp6G,KAAKU,GAAGV,KAAKspC,MAAO,WAAW,WACzBtpC,KAAK65G,wBACP75G,KAAK65G,yBAA0B,EAIjC75G,KAAKouC,eAAepuC,KAAKspC,MAAM9sB,kBAEjCxc,KAAKU,GAAGV,KAAKspC,MAAO,SAAS,WACvBtpC,KAAKm6G,2BACPn6G,KAAKm6G,0BAA0BE,kBAInCr6G,KAAKU,GAAGV,KAAKspC,MAAO,OAAQtpC,KAAKyc,MA8TnC,OA3XA4kD,EAAUs4C,EAAYz5E,GAwEtBuvC,EAAakqC,EAAY,CAAC,CACxBz2G,IAAK,cACLZ,MAAO,WACL,IAAI+yB,EAASr1B,KAGbA,KAAK62B,SAAS62E,gBAAkB1tG,KAAK62B,SAAS62E,kBAAmB,EAElB,kBAApC1tG,KAAK62B,SAASo6E,oBACvBjxG,KAAK62B,SAASo6E,kBAAoB,KAKG,kBAA5BjxG,KAAK62B,SAASowD,YACvBjnF,KAAK62B,SAASowD,UAAY+xB,GAK5Bh5G,KAAK62B,SAASq6E,yBAA2BlxG,KAAK62B,SAASq6E,0BAA4BlxG,KAAK62B,SAASowD,YAAc+xB,EAG/G,CAAC,kBAAmB,YAAa,2BAA2Bt0G,SAAQ,SAAU41G,GACtC,qBAA3BjlF,EAAOukF,QAAQU,KACxBjlF,EAAOwB,SAASyjF,GAAUjlF,EAAOukF,QAAQU,OAI7Ct6G,KAAKinF,UAAYjnF,KAAK62B,SAASowD,YAQhC,CACD/jF,IAAK,MACLZ,MAAO,SAAaoxC,GAClB,IAAIvX,EAASn8B,KAGR0zC,IAGL1zC,KAAK85G,cAEL95G,KAAK62B,SAASnqB,IAAM1M,KAAK45G,QAAQp6E,IACjCx/B,KAAK62B,SAASqI,KAAOl/B,KAAKspC,MAC1BtpC,KAAK62B,SAASk6E,UAAYpqB,EAE1B3mF,KAAKm6G,0BAA4B,IAAI/B,EAA0BtH,yBAAyB9wG,KAAK62B,UAC7F72B,KAAKu6G,iBAAmB,IAAI/B,EAAkB,WAAWn1C,EAAU,WAAW5sC,aAAaz2B,KAAK62B,SAAU,CACxGic,SAAU,WACR,OAAO3W,EAAO2W,eAIlB9yC,KAAKm6G,0BAA0Bz5G,GAAG,SAAS,WACzC,IAAIuyB,EAASowC,EAAU,WAAWxmC,QAAQV,EAAOmN,MAAMzS,SAASs4B,UAEhEl8B,EAAOrL,MAAMuU,EAAOg+E,0BAA0BvyF,UAKhD5nB,KAAKm6G,0BAA0BpH,eAAiB/yG,KAAK+yG,eAAiB/yG,KAAK+yG,eAAe7jG,KAAKlP,MAAQ2mF,EAAImyB,2BAA2B5pG,KAAKlP,MAE3IA,KAAKm6G,0BAA0BrH,sBAAwBnsB,EAAIoyB,0BAA0B7pG,KAAKlP,MAG1FA,KAAK0wF,UAAY1wF,KAAKm6G,0BAA0BnI,sBAChDhyG,KAAK22E,YAAc32E,KAAKm6G,0BAA0BxjC,YAKlDnyE,OAAOgd,iBAAiBxhB,KAAM,CAC5B+yG,eAAgB,CACd99F,IAAK,WACH,OAAOjV,KAAKm6G,0BAA0BpH,gBAExCrxF,IAAK,SAAaqxF,GAChB/yG,KAAKm6G,0BAA0BpH,eAAiBA,EAAe7jG,KAAKlP,QAGxEw6G,WAAY,CACVvlG,IAAK,WACH,OAAOjV,KAAKm6G,0BAA0BtK,mBAAmB2K,WAAW9zD,MAEtEhlC,IAAK,SAAa84F,GAChBx6G,KAAKm6G,0BAA0BtK,mBAAmB2K,WAAW9zD,KAAO8zD,EAGpEx6G,KAAKm6G,0BAA0BtK,mBAAmB2K,WAAWjyC,MAAQ,IAGzE0e,UAAW,CACThyE,IAAK,WACH,OAAOjV,KAAKm6G,0BAA0BtK,mBAAmB5oB,WAE3DvlE,IAAK,SAAaulE,GAChBjnF,KAAKm6G,0BAA0BtK,mBAAmB5oB,UAAYA,EAI9DjnF,KAAKm6G,0BAA0BtK,mBAAmB2K,WAAa,CAC7D9zD,KAAM,EACN6hB,MAAO,KAabopB,gBAAiB,CACf18E,IAAK,WACH,IAAIwlG,EAAe,GAAKz6G,KAAKinF,WAAa,GACtCyzB,OAAgB10F,EAGlB00F,EADE16G,KAAKw6G,WAAa,EACJ,EAAIx6G,KAAKw6G,WAET,EAGlB,IAAIG,EAAgBxxG,KAAKyxC,MAAM,GAAK6/D,EAAeC,IAEnD,OAAOC,GAETj5F,IAAK,WACH2hD,EAAU,WAAW78C,IAAIoB,MAAM,mDAKrCpjB,OAAOgd,iBAAiBxhB,KAAK2oG,MAAO,CAClC1hB,UAAW,CACThyE,IAAK,WACH,OAAOknB,EAAO8qD,WAAa,GAE7BxlE,YAAY,GAEdm5F,cAAe,CACb3lG,IAAK,WACH,OAAOknB,EAAOg+E,0BAA0BU,kBAAoB,GAE9Dp5F,YAAY,GAEdq5F,qBAAsB,CACpB7lG,IAAK,WACH,OAAOknB,EAAOg+E,0BAA0BY,yBAA2B,GAErEt5F,YAAY,GAEdu5F,sBAAuB,CACrB/lG,IAAK,WACH,OAAOknB,EAAOg+E,0BAA0Bc,0BAA4B,GAEtEx5F,YAAY,GAEdy5F,qBAAsB,CACpBjmG,IAAK,WACH,OAAOknB,EAAOg+E,0BAA0BgB,yBAA2B,GAErE15F,YAAY,GAEd25F,sBAAuB,CACrBnmG,IAAK,WACH,OAAOknB,EAAOg+E,0BAA0BkB,0BAA4B,GAEtE55F,YAAY,GAEd65F,sBAAuB,CACrBrmG,IAAK,WACH,OAAOknB,EAAOg+E,0BAA0BoB,0BAA4B,GAEtE95F,YAAY,GAEdqsE,mBAAoB,CAClB74E,IAAK,WACH,OAAOknB,EAAOg+E,0BAA0BqB,uBAAyB,GAEnE/5F,YAAY,KAIhBzhB,KAAKspC,MAAMtX,IAAI,UAAWhyB,KAAKm6G,0BAA0BxH,eAAezjG,KAAKlP,KAAKm6G,4BAElFn6G,KAAKm6G,0BAA0Bz5G,GAAG,wBAAwB,YAExD,EAAI43G,EAAiB,YAAYn8E,MAKnCn8B,KAAKU,GAAGV,KAAKm6G,0BAA2B,YAAY,WAClDn6G,KAAKspC,MAAMhrB,QAAQ,eAKrBte,KAAKU,GAAGV,KAAKm6G,0BAA2B,aAAa,WACnDn6G,KAAK65G,yBAA0B,KAGjC75G,KAAKspC,MAAM3S,OAAM,WACf,OAAOwF,EAAOs/E,yBAKXz7G,KAAKspC,MAAMt4B,MAIhBhR,KAAKspC,MAAM9J,IAAI6jC,EAAU,WAAW/lD,IAAI2oF,gBAAgBjmG,KAAKm6G,0BAA0BxjC,iBASxF,CACDzzE,IAAK,sBACLZ,MAAO,WACL,IAAI85B,EAASp8B,KAETizB,EAASowC,EAAU,WAAWxmC,QAAQ78B,KAAKspC,MAAMzS,SAASs4B,UAE1Dl8B,GAAUA,EAAOimF,gBACnBl5G,KAAK07G,eAAiBzoF,EAAOimF,gBAE7Bl5G,KAAKm6G,0BAA0Bz5G,GAAG,wBAAwB,WACxD24G,EAAwBj9E,EAAOs/E,eAAgBt/E,MAGjDp8B,KAAK0wF,UAAUhwF,GAAG,eAAe,WAC/Bu4G,EAAqB78E,EAAOs/E,eAAgBt/E,EAAOs0D,iBAQxD,CACDxtF,IAAK,OACLZ,MAAO,WACLtC,KAAKm6G,0BAA0B19F,SAMhC,CACDvZ,IAAK,iBACLZ,MAAO,SAAwBka,GAC7Bxc,KAAKm6G,0BAA0B/rE,eAAe5xB,KAM/C,CACDtZ,IAAK,WACLZ,MAAO,WACL,OAAOtC,KAAKm6G,0BAA0Bj9F,aAMvC,CACDha,IAAK,WACLZ,MAAO,WACL,OAAOtC,KAAKm6G,0BAA0BrnE,aAMvC,CACD5vC,IAAK,UACLZ,MAAO,WACDtC,KAAKu6G,kBACPv6G,KAAKu6G,iBAAiB57F,UAEpB3e,KAAKm6G,2BACPn6G,KAAKm6G,0BAA0Bx7F,UAE7B3e,KAAK07G,gBACP17G,KAAK07G,eAAe/8F,UAEtB22D,EAAK9wE,OAAOsxE,eAAe6jC,EAAW/6F,WAAY,UAAW5e,MAAMye,KAAKze,UAIrE25G,EA5XQ,CA6XdjjF,GAECilF,EAAmB,SAASA,EAAiB/xE,GAC/C,MAAO,CACLoH,gBAAiB,SAAyBlB,GACxC,IAAIve,EAAU7nB,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAE/Em6D,EAAeR,EAAU,WAAW5sC,aAAa4sC,EAAU,WAAW9xC,QAASA,GAInF,QAAIsyC,EAAawQ,MAAOxQ,EAAawQ,IAAIzqC,MAAQi6B,EAAawQ,IAAIzqC,OAASA,IAGpE+xE,EAAiB/rE,YAAYE,EAAOpsC,KAAMmgE,IAEnDpyB,aAAc,SAAsBprB,EAAQ6Y,GAC1C,IAAI3N,EAAU7nB,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAE/Em6D,EAAeR,EAAU,WAAW5sC,aAAa4sC,EAAU,WAAW9xC,QAASA,EAAS,CAAE8iD,IAAK,CAAEzqC,KAAMA,KAc3G,MAZa,UAATA,GAGF1K,EAAKlyB,YAAW,WACdkyB,EAAK5gB,QAAQ,eACZ,GAGL4gB,EAAKm1C,IAAM,IAAIslC,EAAWtzF,EAAQ6Y,EAAM2kC,GACxC3kC,EAAKm1C,IAAIlyD,KAAM,EAAI61F,EAAM,cAEzB94E,EAAKm1C,IAAI70C,IAAInZ,EAAOmZ,KACbN,EAAKm1C,KAEdzkC,YAAa,SAAqBlsC,GAChC,IAAI6tB,EAAU7nB,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAE/Em6D,EAAeR,EAAU,WAAW5sC,aAAa4sC,EAAU,WAAW9xC,QAASA,GAEnF,OAAIoqF,EAAiB/rE,YAAYlsC,EAAMmgE,GAC9B,QAEF,MAKb83C,EAAiB/rE,YAAc,SAAUlsC,EAAM6tB,GAE7C,GAAI8xC,EAAU,WAAW/+C,QAAQT,YAAcw/C,EAAU,WAAW/+C,QAAQT,YAAc,GACxF,OAAO,EAGT,IAAIguC,EAAY,yDAGhB,SAAKtgC,EAAQ8iD,IAAI0lC,gBAAkBpzB,EAAI6yB,oBAGhC3nD,EAAUjlD,KAAKlJ,IAGwB,qBAArC2/D,EAAU,WAAWokC,aAAmE,qBAA7BpkC,EAAU,WAAW/lD,MACzF+lD,EAAU,WAAWokC,YAAc0Q,EAA4B1Q,YAC/DpkC,EAAU,WAAW/lD,IAAM66F,EAA4B76F,KAGzD,IAAIs+F,EAAYv4C,EAAU,WAAWnzB,QAAQ,SAGzCioE,EAA4B1Q,YAAYD,8BAC1CnkC,EAAU,WAAWnzB,QAAQ,SAASS,sBAAsBgrE,EAAiB,SAAU,GAErF1wB,EAAe,WAAWra,YAAcgrC,GAC1CA,EAAUjrE,sBAAsBgrE,EAAiB,UAGnDt4C,EAAU,WAAWs2C,WAAaA,EAClCt2C,EAAU,WAAWs4C,iBAAmBA,EACxCt4C,EAAU,WAAWsjB,IAAMA,EACtBtjB,EAAU,WAAWxxB,KACxBwxB,EAAU,WAAW/mC,kBAAkB,MAAOqqD,GAEhDtjB,EAAU,WAAWhvB,KAAOm4D,EAAa,WACzCnpC,EAAU,WAAW9xC,QAAQ8iD,IAAMhR,EAAU,WAAW9xC,QAAQ8iD,KAAO,GAEnEhR,EAAU,WAAWtC,eACvBsC,EAAU,WAAWtC,eAAe,sBAAuB23C,EAAsB,YAEjFr1C,EAAU,WAAWhD,OAAO,sBAAuBq4C,EAAsB,YAG3Ez5F,EAAOC,QAAU,CACfynE,IAAKA,EACLgzB,WAAYA,EACZgC,iBAAkBA,I,kCCxqBpB,SAASz4C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI0oF,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExCitB,EAAgB,EAAQ,QAExB7sB,EAAY,EAAQ,QAUpBywB,EAAkB,SAAyBt2F,GAC7CA,EAAKuzD,UAAY,SAAUzxE,GACzB,IAAIjB,EAAOiB,EAAMjB,KACbiqE,EAAY,IAAIO,WAAWxqE,EAAKiqE,UAAUyB,MAAO1rE,EAAKiqE,UAAUI,WAAYrqE,EAAKiqE,UAAUhxD,YAC3Fnc,EAAM,IAAI0uE,YAAYxrE,EAAKlD,IAAI4uE,MAAO1rE,EAAKlD,IAAIutE,WAAYrqE,EAAKlD,IAAImc,WAAa,GACjFsqF,EAAK,IAAI/3B,YAAYxrE,EAAKujG,GAAG73B,MAAO1rE,EAAKujG,GAAGl5B,WAAYrqE,EAAKujG,GAAGtqF,WAAa,GAGjF,IAAI44F,EAAc1mC,UAAUlB,EAAWntE,EAAKymG,GAAI,SAAUjzF,EAAKo7D,GAC7DmZ,EAAe,WAAWrS,aAAY,EAAIwS,EAAUse,2BAA2B,CAC7ErjF,OAAQjgB,EAAKigB,OACbsqD,UAAWmB,IACT,CAACA,EAAMrF,cAMjBvtD,EAAQ,WAAa,SAAUqG,GAC7B,OAAO,IAAIs2F,EAAgBt2F,IAG7BtG,EAAOC,QAAUA,EAAQ,Y,kCCnCzB,IAEI4N,EAAKgvF,EAAMC,EAAMC,EAAMp+B,EAAMq+B,EAAMC,EAAMv+B,EAAMw+B,EAAMC,EAAMC,EAC3DztC,EAAMC,EAAMytC,EAAMxtC,EAAMytC,EAAMC,EAAMC,EAAMC,EAAMxtC,EAAMytC,EACtDC,EAAMhtF,EAAOitF,EAAaC,EAAeC,EAAYC,EACrDC,EAAYC,EAAYC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EAL5DC,EAAav0G,KAAKomE,IAAI,EAAG,IAAM,GAQlC,WACC,IAAIplE,EAyCJ,GAxCAylB,EAAQ,CACN+tF,KAAM,GACNC,KAAM,GACNC,KAAM,GACN/B,KAAM,GACNgC,KAAM,GACN/B,KAAM,GACNC,KAAM,GACNO,KAAM,GACN3+B,KAAM,GACN9O,KAAM,GACNwtC,KAAM,GACNL,KAAM,GACNC,KAAM,GACNv+B,KAAM,GACNw+B,KAAM,GACN4B,KAAM,GACN3B,KAAM,GACNC,KAAM,GACNG,KAAM,GACNwB,KAAM,GACNvB,KAAM,GACNwB,KAAM,GACNC,KAAM,GACNxB,KAAM,GACNyB,KAAM,GACNC,KAAM,GACNC,KAAM,GACN/uC,KAAM,GACNH,KAAM,GACND,KAAM,GACNN,KAAM,GACNguC,KAAM,GACND,KAAM,GACN9tC,KAAM,GACNyvC,KAAM,IAKkB,qBAAf1tC,WAAX,CAIA,IAAKzmE,KAAKylB,EACJA,EAAM9H,eAAe3d,KACvBylB,EAAMzlB,GAAK,CACTA,EAAEg+D,WAAW,GACbh+D,EAAEg+D,WAAW,GACbh+D,EAAEg+D,WAAW,GACbh+D,EAAEg+D,WAAW,KAKnB00C,EAAc,IAAIjsC,WAAW,CAC3B,IAAIzI,WAAW,GACf,IAAIA,WAAW,GACf,IAAIA,WAAW,GACf,IAAIA,WAAW,KAEjB40C,EAAa,IAAInsC,WAAW,CAC1B,IAAIzI,WAAW,GACf,IAAIA,WAAW,GACf,IAAIA,WAAW,GACf,IAAIA,WAAW,KAEjB20C,EAAgB,IAAIlsC,WAAW,CAAC,EAAG,EAAG,EAAG,IACzCosC,EAAa,IAAIpsC,WAAW,CAC1B,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,EAClB,IAAM,IAAM,IAAM,IAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,GAAM,IAAM,IAAM,IAClB,IAAM,GAAM,GAAM,IAClB,IAAM,IAAM,IAAM,IAAM,IAE1BqsC,EAAa,IAAIrsC,WAAW,CAC1B,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,EAClB,IAAM,IAAM,IAAM,IAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,GAAM,IAAM,IAAM,IAClB,IAAM,GAAM,GAAM,IAClB,IAAM,IAAM,IAAM,IAAM,IAE1BssC,EAAa,CACXzpG,MAAOupG,EACP1xE,MAAO2xE,GAETI,EAAO,IAAIzsC,WAAW,CACpB,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,GAClB,IAAM,IAAM,IAAM,GAClB,EACA,EAAM,EAAM,IAEdwsC,EAAO,IAAIxsC,WAAW,CACpB,EACA,EAAM,EAAM,EACZ,EAAM,EACN,EAAM,IAER0sC,EAAO,IAAI1sC,WAAW,CACpB,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,IAEpB2sC,EAAOD,EACPE,EAAO,IAAI5sC,WAAW,CACpB,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,IAEpB6sC,EAAOH,EACPH,EAAO,IAAIvsC,WAAW,CACpB,EACA,EAAM,EAAM,EACZ,EAAM,EACN,EAAM,EACN,EAAM,EACN,EAAM,MApIV,GAwIA9jD,EAAM,SAASppB,GACb,IAGEyG,EACA2N,EACAopE,EAJAghB,EAAU,GACVz7F,EAAO,EAKT,IAAK0D,EAAI,EAAGA,EAAIT,UAAU6G,OAAQpG,IAChC+3F,EAAQtvF,KAAKlJ,UAAUS,IAGzBA,EAAI+3F,EAAQ3xF,OAGZ,MAAOpG,IACL1D,GAAQy7F,EAAQ/3F,GAAGkV,WAQrB,IANAvH,EAAS,IAAI84D,WAAWnqE,EAAO,GAC/By6E,EAAO,IAAIC,SAASrpE,EAAO20D,OAAQ30D,EAAO24D,WAAY34D,EAAOuH,YAC7D6hE,EAAKE,UAAU,EAAGtpE,EAAOuH,YACzBvH,EAAO4J,IAAIhe,EAAM,GAGZyG,EAAI,EAAG1D,EAAO,EAAG0D,EAAI+3F,EAAQ3xF,OAAQpG,IACxC2N,EAAO4J,IAAIwgF,EAAQ/3F,GAAI1D,GACvBA,GAAQy7F,EAAQ/3F,GAAGkV,WAErB,OAAOvH,GAGTgkG,EAAO,WACL,OAAOhvF,EAAI8C,EAAMksF,KAAMhvF,EAAI8C,EAAMkuF,KAAMT,KAGzCtB,EAAO,SAASp9E,GACd,OAAO7R,EAAI8C,EAAMmsF,KAAM,IAAInrC,WAAW,CACpC,EACA,EAAM,EAAM,EAGZ,EACA,GACA,EAAM,EACN,EAGA,EACA,GACA,GACA,GACA,EAAM,EAAM,EACZ,EAAM,EAAM,IAAM,IAClB,EAAM,EAAM,IAAM,IAGlB,EACA,EAGCjyC,EAAM4/E,iBAAmB,EAAM5/E,EAAM6/E,yBAA2B,EAChE7/E,EAAM6/E,wBAA0B,EAAM7/E,EAAM8/E,cAAgB,EAC7D,EAAM,EAAM,MAIhBzC,EAAO,WACL,OAAOlvF,EAAI8C,EAAMosF,KAAMa,EAAaC,EAAeD,EAAaE,IAGlER,EAAO,SAAS74G,GACd,OAAOopB,EAAI8C,EAAM2sF,KAAMW,EAAWx5G,KAEpCk6E,EAAO,SAASx3E,GACd,OAAO0mB,EAAI8C,EAAMguD,KAAMx3E,IAEzB0oE,EAAO,SAASnwC,GACd,IAAI7mB,EAAS,IAAI84D,WAAW,CAC1B,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,GAAM,IAEjBjyC,EAAMzhB,WAAa,GAAM,IACzByhB,EAAMzhB,WAAa,GAAM,IACzByhB,EAAMzhB,WAAc,EAAK,IACT,IAAjByhB,EAAMzhB,SACN,GAAM,IACN,EAAM,IAaR,OAPIyhB,EAAM8/C,aACR3mE,EAAO,IAAO6mB,EAAM8/C,aAAe,GAAM,IACzC3mE,EAAO,IAAO6mB,EAAM8/C,aAAe,GAAM,IACzC3mE,EAAO,IAAO6mB,EAAM8/C,aAAgB,EAAK,IACzC3mE,EAAO,IAAkC,IAA3B6mB,EAAgB,YAGzB7R,EAAI8C,EAAMk/C,KAAMh3D,IAEzBwkG,EAAO,SAAS39E,GACd,OAAO7R,EAAI8C,EAAM0sF,KAAMxtC,EAAKnwC,GAAQ49E,EAAK59E,EAAMj7B,MAAOw4G,EAAKv9E,KAE7Ds9E,EAAO,SAASl/B,GACd,OAAOjwD,EAAI8C,EAAMqsF,KAAM,IAAIrrC,WAAW,CACpC,EACA,EAAM,EAAM,GACM,WAAjBmM,IAAgC,IACf,SAAjBA,IAA8B,IACb,MAAjBA,IAA4B,EACZ,IAAjBA,MAGJm/B,EAAO,SAASv9E,GACd,OAAO7R,EAAI8C,EAAMssF,KACS,UAAfv9E,EAAMj7B,KAAmBopB,EAAI8C,EAAM0uF,KAAMnB,GAAQrwF,EAAI8C,EAAMouF,KAAMZ,GACjEtB,IACAW,EAAK99E,KAElBg/C,EAAO,SAASZ,EAAgB19C,GAC9B,IACEq/E,EAAiB,GACjBv0G,EAAIk1B,EAAO9uB,OAEb,MAAOpG,IACLu0G,EAAev0G,GAAK+kE,EAAK7vC,EAAOl1B,IAElC,OAAO2iB,EAAIpO,MAAM,KAAM,CACrBkR,EAAM+tD,KACNs+B,EAAKl/B,IACL3+D,OAAOsgG,KAOXvC,EAAO,SAAS98E,GACd,IACEl1B,EAAIk1B,EAAO9uB,OACXg7D,EAAQ,GAEV,MAAOphE,IACLohE,EAAMphE,GAAKykE,EAAKvvC,EAAOl1B,IAGzB,OAAO2iB,EAAIpO,MAAM,KAAM,CAACkR,EAAMusF,KAAME,EAAK,aAAaj+F,OAAOmtD,GAAOntD,OAAOg+F,EAAK/8E,MAElF+8E,EAAO,SAAS/8E,GACd,IACEl1B,EAAIk1B,EAAO9uB,OACXg7D,EAAQ,GAEV,MAAOphE,IACLohE,EAAMphE,GAAKwyG,EAAKt9E,EAAOl1B,IAEzB,OAAO2iB,EAAIpO,MAAM,KAAM,CAACkR,EAAMwsF,MAAMh+F,OAAOmtD,KAE7C8wC,EAAO,SAASn/F,GACd,IACE40D,EAAQ,IAAIlB,WAAW,CACrB,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,GAAM,KACN,WAAX1zD,IAA0B,IACf,SAAXA,IAAwB,IACb,MAAXA,IAAsB,EACZ,IAAXA,EACA,EAAM,EAAM,EAAM,EAClB,EAAM,EACN,EAAM,EACN,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,GAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,IAAM,IAAM,IAAM,MAEtB,OAAO4P,EAAI8C,EAAMysF,KAAMvqC,IAGzB0qC,EAAO,SAAS79E,GACd,IAGE09C,EACAlyE,EAHA4zE,EAAUp/C,EAAMo/C,SAAW,GAC3BjM,EAAQ,IAAIlB,WAAW,EAAImN,EAAQxtE,QAOrC,IAAKpG,EAAI,EAAGA,EAAI4zE,EAAQxtE,OAAQpG,IAC9BkyE,EAAQ0B,EAAQ5zE,GAAGkyE,MAEnBvK,EAAM3nE,EAAI,GAAMkyE,EAAME,WAAa,EAChCF,EAAMG,cAAgB,EACtBH,EAAmB,cAGxB,OAAOvvD,EAAI8C,EAAM4sF,KACN1qC,IAGb2qC,EAAO,SAAS99E,GACd,OAAO7R,EAAI8C,EAAM6sF,KACNC,EAAK/9E,GACL7R,EAAI8C,EAAMwuF,KAAMX,GAChB3wF,EAAI8C,EAAMsuF,KAAMX,GAChBzwF,EAAI8C,EAAMuuF,KAAMX,GAChB1wF,EAAI8C,EAAMquF,KAAMX,KAG5B,WACC,IAAIqB,EAAaC,EAEjBlC,EAAO,SAAS/9E,GAEd,OAAO7R,EAAI8C,EAAM8sF,KAAM,IAAI9rC,WAAW,CACpC,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,IACD,UAAfjyC,EAAMj7B,KAAmBi7G,EAAYhgF,GAASigF,EAAYjgF,KAGhEggF,EAAc,SAAShgF,GACrB,IAKEx0B,EAJAm1E,EAAM3gD,EAAM2gD,KAAO,GACnBN,EAAMrgD,EAAMqgD,KAAO,GACnB6/B,EAAwB,GACxBC,EAAuB,GAIzB,IAAK30G,EAAI,EAAGA,EAAIm1E,EAAI/uE,OAAQpG,IAC1B00G,EAAsBjsG,MAA0B,MAApB0sE,EAAIn1E,GAAGkV,cAAyB,GAC5Dw/F,EAAsBjsG,KAA0B,IAApB0sE,EAAIn1E,GAAGkV,YACnCw/F,EAAwBA,EAAsBzgG,OAAOja,MAAMya,UAAUnK,MAAMgK,KAAK6gE,EAAIn1E,KAItF,IAAKA,EAAI,EAAGA,EAAI60E,EAAIzuE,OAAQpG,IAC1B20G,EAAqBlsG,MAA0B,MAApBosE,EAAI70E,GAAGkV,cAAyB,GAC3Dy/F,EAAqBlsG,KAA0B,IAApBosE,EAAI70E,GAAGkV,YAClCy/F,EAAuBA,EAAqB1gG,OAAOja,MAAMya,UAAUnK,MAAMgK,KAAKugE,EAAI70E,KAGpF,OAAO2iB,EAAI8C,EAAM+tF,KAAM,IAAI/sC,WAAW,CACpC,EAAM,EAAM,EACZ,EAAM,EAAM,EACZ,EAAM,EACN,EAAM,EACN,EAAM,EACN,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,GACH,MAAdjyC,EAAMj4B,QAAmB,EACZ,IAAdi4B,EAAMj4B,OACU,MAAfi4B,EAAMh9B,SAAoB,EACZ,IAAfg9B,EAAMh9B,OACN,EAAM,GAAM,EAAM,EAClB,EAAM,GAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EACN,GACA,IAAM,IAAM,IAAM,IAClB,IAAM,IAAM,IAAM,GAClB,GAAM,IAAM,IAAM,IAClB,IAAM,IAAM,GAAM,GAClB,IAAM,IAAM,IAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EACZ,EAAM,GACN,GAAM,KACJmrB,EAAI8C,EAAMguF,KAAM,IAAIhtC,WAAW,CACjC,EACAjyC,EAAMogF,WACNpgF,EAAMqgF,qBACNrgF,EAAMsgF,SACN,KACA7gG,OAAO,CACPkhE,EAAI/uE,SACH6N,OAAOygG,GAAuBzgG,OAAO,CACtC4gE,EAAIzuE,SACH6N,OAAO0gG,KACFhyF,EAAI8C,EAAMiuF,KAAM,IAAIjtC,WAAW,CAC7B,EAAM,GAAM,IAAM,IAClB,EAAM,GAAM,IAAM,IAClB,EAAM,GAAM,IAAM,SAK9BguC,EAAc,SAASjgF,GACrB,OAAO7R,EAAI8C,EAAMmuF,KAAM,IAAIntC,WAAW,CAGpC,EAAM,EAAM,EACZ,EAAM,EAAM,EACZ,EAAM,EAGN,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,GACI,MAArBjyC,EAAM8/E,eAA0B,EACX,IAArB9/E,EAAM8/E,cAEa,MAAnB9/E,EAAMugF,aAAwB,EACX,IAAnBvgF,EAAMugF,WACP,EAAM,EACN,EAAM,GAEc,MAAnBvgF,EAAM8/C,aAAwB,EACX,IAAnB9/C,EAAM8/C,WACP,EAAM,IAGJs9B,EAAKp9E,KAzGb,GA6GAkwC,EAAO,SAASlwC,GACd,IAAI7mB,EAAS,IAAI84D,WAAW,CAC1B,EACA,EAAM,EAAM,EACZ,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,GACN,WAAXjyC,EAAMx7B,KAAoB,IACf,SAAXw7B,EAAMx7B,KAAkB,IACb,MAAXw7B,EAAMx7B,KAAgB,EACZ,IAAXw7B,EAAMx7B,GACN,EAAM,EAAM,EAAM,GACA,WAAjBw7B,EAAMzhB,WAA0B,IACf,SAAjByhB,EAAMzhB,WAAwB,IACb,MAAjByhB,EAAMzhB,WAAsB,EACZ,IAAjByhB,EAAMzhB,SACN,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EACN,EAAM,EACN,EAAM,EACN,EAAM,EACN,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,GAAM,EAAM,EAAM,GACH,MAAdyhB,EAAMj4B,QAAmB,EACZ,IAAdi4B,EAAMj4B,MACN,EAAM,GACU,MAAfi4B,EAAMh9B,SAAoB,EACZ,IAAfg9B,EAAMh9B,OACN,EAAM,IAGR,OAAOmrB,EAAI8C,EAAMi/C,KAAM/2D,IAOzBo3D,EAAO,SAASvwC,GACd,IAAIwgF,EAAqBC,EAAyBC,EAC9CC,EAAuBvgC,EACvBwgC,EAA8BC,EA2ClC,OAzCAL,EAAsBryF,EAAI8C,EAAMu/C,KAAM,IAAIyB,WAAW,CACnD,EACA,EAAM,EAAM,IACA,WAAXjyC,EAAMx7B,KAAoB,IACf,SAAXw7B,EAAMx7B,KAAkB,IACb,MAAXw7B,EAAMx7B,KAAgB,EACX,IAAXw7B,EAAMx7B,GACP,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,KAGpBo8G,EAA+Bp2G,KAAKyxC,MAAMjc,EAAM2+C,qBAAuBogC,EAAa,IACpF8B,EAA+Br2G,KAAKyxC,MAAMjc,EAAM2+C,qBAAuBogC,EAAa,IAEpF0B,EAA0BtyF,EAAI8C,EAAM0/C,KAAM,IAAIsB,WAAW,CACvD,EACA,EAAM,EAAM,EAEX2uC,IAAiC,GAAM,IACvCA,IAAiC,GAAM,IACvCA,IAAkC,EAAK,IACT,IAA/BA,EACCC,IAAiC,GAAM,IACvCA,IAAiC,GAAM,IACvCA,IAAkC,EAAK,IACT,IAA/BA,KAMFzgC,EAAa,GAQM,UAAfpgD,EAAMj7B,MACR27G,EAAmBzC,EAAKj+E,EAAOogD,GACxBjyD,EAAI8C,EAAMs/C,KACNiwC,EACAC,EACAC,KAMbC,EAAwB9C,EAAK79E,GAC7B0gF,EAAmBzC,EAAKj+E,EACA2gF,EAAsB/uG,OAASwuE,GAChDjyD,EAAI8C,EAAMs/C,KACNiwC,EACAC,EACAC,EACAC,KAQb1wC,EAAO,SAASjwC,GAEd,OADAA,EAAMzhB,SAAWyhB,EAAMzhB,UAAY,WAC5B4P,EAAI8C,EAAMg/C,KACNC,EAAKlwC,GACL29E,EAAK39E,KAGlBg+E,EAAO,SAASh+E,GACd,IAAI7mB,EAAS,IAAI84D,WAAW,CAC1B,EACA,EAAM,EAAM,GACA,WAAXjyC,EAAMx7B,KAAoB,IACf,SAAXw7B,EAAMx7B,KAAkB,IACb,MAAXw7B,EAAMx7B,KAAgB,EACX,IAAXw7B,EAAMx7B,GACP,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,EAClB,EAAM,EAAM,EAAM,IAUpB,MAJmB,UAAfw7B,EAAMj7B,OACRoU,EAAOA,EAAOvH,OAAS,GAAK,GAGvBuc,EAAI8C,EAAM+sF,KAAM7kG,IAGxB,WACC,IAAI2nG,EAAWC,EAAWC,EAM1BA,EAAa,SAAS5hC,EAASjD,GAC7B,IAAI8kC,EAAkB,EAAGC,EAAc,EACnCC,EAAe,EAAGh/B,EAAwB,EAkB9C,OAfI/C,EAAQxtE,cACkByV,IAAxB+3D,EAAQ,GAAG7gE,WACb0iG,EAAkB,QAEI55F,IAApB+3D,EAAQ,GAAGt3E,OACbo5G,EAAc,QAES75F,IAArB+3D,EAAQ,GAAG1B,QACbyjC,EAAe,QAEwB95F,IAArC+3D,EAAQ,GAAG+C,wBACbA,EAAwB,IAIrB,CACL,EACA,EACA8+B,EAAkBC,EAAcC,EAAeh/B,EAC/C,GACkB,WAAjB/C,EAAQxtE,UAAyB,IAChB,SAAjBwtE,EAAQxtE,UAAuB,IACd,MAAjBwtE,EAAQxtE,UAAqB,EACb,IAAjBwtE,EAAQxtE,QACE,WAATuqE,KAAyB,IAChB,SAATA,KAAuB,IACd,MAATA,KAAqB,EACb,IAATA,IAIJ4kC,EAAY,SAAS/gF,EAAOm8C,GAC1B,IAAIhJ,EAAOiM,EAAS8C,EAAQ12E,EAO5B,IALA4zE,EAAUp/C,EAAMo/C,SAAW,GAC3BjD,GAAU,GAAU,GAAKiD,EAAQxtE,OAEjCuhE,EAAQ6tC,EAAW5hC,EAASjD,GAEvB3wE,EAAI,EAAGA,EAAI4zE,EAAQxtE,OAAQpG,IAC9B02E,EAAS9C,EAAQ5zE,GACjB2nE,EAAQA,EAAM1zD,OAAO,EACA,WAAlByiE,EAAO3jE,YAA2B,IAChB,SAAlB2jE,EAAO3jE,YAAyB,IACd,MAAlB2jE,EAAO3jE,YAAuB,EACb,IAAlB2jE,EAAO3jE,UACQ,WAAd2jE,EAAOp6E,QAAuB,IAChB,SAAdo6E,EAAOp6E,QAAqB,IACd,MAAdo6E,EAAOp6E,QAAmB,EACb,IAAdo6E,EAAOp6E,KACNo6E,EAAOxE,MAAMC,WAAa,EAAKuE,EAAOxE,MAAME,UAC5CsE,EAAOxE,MAAMG,cAAgB,EAC3BqE,EAAOxE,MAAMI,eAAiB,EAC9BoE,EAAOxE,MAAM0jC,cAAgB,EAC9Bl/B,EAAOxE,MAAM2jC,gBACoB,MAAnCn/B,EAAOxE,MAAMK,oBACsB,GAAnCmE,EAAOxE,MAAMK,qBACmB,WAA/BmE,EAAOC,yBAAwC,IAChB,SAA/BD,EAAOC,yBAAsC,IACd,MAA/BD,EAAOC,yBAAoC,EACb,IAA/BD,EAAOC,wBAGX,OAAOh0D,EAAI8C,EAAMgtF,KAAM,IAAIhsC,WAAWkB,KAGxC2tC,EAAY,SAAS9gF,EAAOm8C,GAC1B,IAAIhJ,EAAOiM,EAAS8C,EAAQ12E,EAO5B,IALA4zE,EAAUp/C,EAAMo/C,SAAW,GAC3BjD,GAAU,GAAU,EAAIiD,EAAQxtE,OAEhCuhE,EAAQ6tC,EAAW5hC,EAASjD,GAEvB3wE,EAAI,EAAGA,EAAI4zE,EAAQxtE,OAAQpG,IAC9B02E,EAAS9C,EAAQ5zE,GACjB2nE,EAAQA,EAAM1zD,OAAO,EACA,WAAlByiE,EAAO3jE,YAA2B,IAChB,SAAlB2jE,EAAO3jE,YAAyB,IACd,MAAlB2jE,EAAO3jE,YAAuB,EACb,IAAlB2jE,EAAO3jE,UACQ,WAAd2jE,EAAOp6E,QAAuB,IAChB,SAAdo6E,EAAOp6E,QAAqB,IACd,MAAdo6E,EAAOp6E,QAAmB,EACb,IAAdo6E,EAAOp6E,OAGX,OAAOqmB,EAAI8C,EAAMgtF,KAAM,IAAIhsC,WAAWkB,KAGxC8qC,EAAO,SAASj+E,EAAOm8C,GACrB,MAAmB,UAAfn8C,EAAMj7B,KACD+7G,EAAU9gF,EAAOm8C,GAGnB4kC,EAAU/gF,EAAOm8C,IA3G5B,GA+GA77D,EAAOC,QAAU,CACf88F,KAAMA,EACNp+B,KAAMA,EACND,KAAMA,EACNw+B,KAAMA,EACNviC,YAAa,SAASv6C,GACpB,IAGEvnB,EAFAmoG,EAAWjE,IACXkE,EAAQ/D,EAAK98E,GAMf,OAHAvnB,EAAS,IAAI84D,WAAWqvC,EAAS5gG,WAAa6gG,EAAM7gG,YACpDvH,EAAO4J,IAAIu+F,GACXnoG,EAAO4J,IAAIw+F,EAAOD,EAAS5gG,YACpBvH,K,sBC/vBX,kBAGIqoG,EADkB,qBAAX30G,OACDA,OACmB,qBAAX40G,EACRA,EACiB,qBAAT76F,KACRA,KAEA,GAGVtG,EAAOC,QAAUihG,I,wDCPjB37G,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEnB,SAASo+C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,IAAIopE,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExCkQ,EAAe,EAAQ,QAEvBC,EAAgBj4B,EAAuBg4B,GASvCb,EAAuB,SAA8BC,GACvDA,EAAW55F,GAAG,QAAQ,SAAUi5E,GAC9BsR,EAAe,WAAWrS,YAAY,CACpCC,OAAQ,OACRc,QAASA,OAIb2gB,EAAW55F,GAAG,QAAQ,SAAU0F,GAC9B6kF,EAAe,WAAWrS,YAAY,CAAEC,OAAQ,aAYhD4hB,EAAkB,WACpB,SAASA,EAAgBlpE,GACvBq+C,EAAgB5vE,KAAMy6F,GAEtBz6F,KAAKuxB,QAAUA,GAAW,GAC1BvxB,KAAKie,OAkEP,OAnDAwxD,EAAagrB,EAAiB,CAAC,CAC7Bv3F,IAAK,OACLZ,MAAO,WACDtC,KAAKs6F,YACPt6F,KAAKs6F,WAAW37E,UAElB3e,KAAKs6F,WAAa,IAAIa,EAAc,WAAWn4B,WAAWhjE,KAAKuxB,SAC/D8oE,EAAqBr6F,KAAKs6F,cAS3B,CACDp3F,IAAK,OACLZ,MAAO,SAAc8D,GAEnB,IAAIuzE,EAAU,IAAI/I,WAAWxqE,EAAKA,KAAMA,EAAKqqE,WAAYrqE,EAAKiZ,YAE9Drf,KAAKs6F,WAAW1nF,KAAK+mE,KAOtB,CACDz2E,IAAK,QACLZ,MAAO,WACLtC,KAAKie,SAON,CACD/a,IAAK,QACLZ,MAAO,WACLtC,KAAKs6F,WAAWt7E,UAEjB,CACD9b,IAAK,gBACLZ,MAAO,WACLtC,KAAKs6F,WAAWtV,oBAIbyV,EAvEa,GA0ElB4lB,EAAwB,SAA+B96F,GACzDA,EAAKuzD,UAAY,SAAUzxE,GACC,SAAtBA,EAAMjB,KAAKyyE,QAAqBxxE,EAAMjB,KAAKmrB,QAC7CvxB,KAAK26F,gBAAkB,IAAIF,EAAgBpzF,EAAMjB,KAAKmrB,UAInDvxB,KAAK26F,kBACR36F,KAAK26F,gBAAkB,IAAIF,GAGzBpzF,EAAMjB,MAAQiB,EAAMjB,KAAKyyE,QAAgC,SAAtBxxE,EAAMjB,KAAKyyE,QAC5C74E,KAAK26F,gBAAgBtzF,EAAMjB,KAAKyyE,SAClC74E,KAAK26F,gBAAgBtzF,EAAMjB,KAAKyyE,QAAQxxE,EAAMjB,SAMtD8Y,EAAQ,WAAa,SAAUqG,GAC7B,OAAO,IAAI86F,EAAsB96F,IAGnCtG,EAAOC,QAAUA,EAAQ,Y,kCClJzB,IAEI28D,EAFA79D,EAAS,EAAQ,QAKnBsiG,EAA4B,CAC1B,KACA,MACA,KACA,KACA,MACA,KACA,KACA,MACA,KACA,KACA,MACA,IACA,MAWJzkC,EAAa,WACX,IAAIpP,EAEJoP,EAAWj9D,UAAUX,KAAKQ,KAAKze,MAE/BA,KAAK4S,KAAO,SAASu1E,GACnB,IAGEo4B,EACAC,EACAC,EACAC,EACAC,EACAC,EAPAz2G,EAAI,EACJ02G,EAAW,EAQb,GAAoB,UAAhB14B,EAAOzkF,KAAX,CAOI+oE,GACFi0C,EAAYj0C,EACZA,EAAS,IAAImE,WAAW8vC,EAAUrhG,WAAa8oE,EAAO/hF,KAAKiZ,YAC3DotD,EAAO/qD,IAAIg/F,GACXj0C,EAAO/qD,IAAIymE,EAAO/hF,KAAMs6G,EAAUrhG,aAElCotD,EAAS0b,EAAO/hF,KAKlB,MAAO+D,EAAI,EAAIsiE,EAAOl8D,OAGpB,GAAkB,MAAdk8D,EAAOtiE,IAA0C,OAAV,IAAhBsiE,EAAOtiE,EAAI,IAAtC,CAyBA,GAhBAq2G,EAAgD,GAAR,GAAhB/zC,EAAOtiE,EAAI,IAInCo2G,GAAgC,EAAhB9zC,EAAOtiE,EAAI,KAAc,GACtCsiE,EAAOtiE,EAAI,IAAM,GACA,IAAhBsiE,EAAOtiE,EAAI,KAAc,EAE7Bw2G,EAA6C,MAAL,GAAR,EAAhBl0C,EAAOtiE,EAAI,KAC3By2G,EAAmC,IAAdD,EACnBL,GAA2C,GAAhB7zC,EAAOtiE,EAAI,MAAe,GAEvDs2G,EAAWt2G,EAAIo2G,EAIX9zC,EAAOptD,WAAaohG,EACtB,OAmBF,GAfAzgH,KAAKse,QAAQ,OAAQ,CACnB84D,IAAK+Q,EAAO/Q,IAAOypC,EAAWD,EAC9B/hC,IAAKsJ,EAAOtJ,IAAOgiC,EAAWD,EAC9BD,YAAaA,EACbpC,gBAAkD,GAA/B9xC,EAAOtiE,EAAI,KAAO,EAAK,GAC1Cs0G,cAAgC,EAAhBhyC,EAAOtiE,EAAI,KAAW,GAClB,IAAhBsiE,EAAOtiE,EAAI,MAAe,EAC9Bs0E,WAAY6hC,GAA2C,GAAhB7zC,EAAOtiE,EAAI,MAAe,GACjEq0G,wBAAyC,GAAhB/xC,EAAOtiE,EAAI,MAAe,EAEnD+0G,WAAY,GACZ94G,KAAMqmE,EAAOrtD,SAASjV,EAAI,EAAIq2G,EAAqBC,KAIjDh0C,EAAOptD,aAAeohG,EAExB,YADAh0C,OAASzmD,GAIX66F,IAGAp0C,EAASA,EAAOrtD,SAASqhG,QAlDvBt2G,MAqDNnK,KAAKgf,MAAQ,WACXhf,KAAKse,QAAQ,UAIjBu9D,EAAWj9D,UAAY,IAAIZ,EAE3BiB,EAAOC,QAAU28D,G,kCCnIjB,W,kCCUA,IAAI+L,EAAc,EAAQ,QAEtBk5B,EAAW,SAAS34B,GACtB,IAAIG,EAAkB,GAAZH,EAAO,GAGjB,OAFAG,IAAQ,EACRA,GAAOH,EAAO,GACPG,GAGLU,EAAiC,SAASb,GAC5C,SAAsB,GAAZA,EAAO,KAGf44B,EAAqB,SAAS54B,GAChC,IAAIrN,EAAS,EASb,OAHkB,GAAZqN,EAAO,MAAe,EAAK,IAC/BrN,GAAUqN,EAAO,GAAK,GAEjBrN,GAGLxM,EAAY,SAAS6Z,EAAQqa,GAC/B,IAAIla,EAAMw4B,EAAS34B,GACnB,OAAY,IAARG,EACK,MACEA,IAAQka,EACV,MACEA,EACF,MAEF,MAGLja,EAAW,SAASJ,GACtB,IAAIS,EAAOI,EAA+Bb,GACtCrN,EAAS,EAAIimC,EAAmB54B,GAMpC,OAJIS,IACF9N,GAAUqN,EAAOrN,GAAU,IAGC,GAAtBqN,EAAOrN,EAAS,MAAe,EAAIqN,EAAOrN,EAAS,KAGzD2N,EAAW,SAASN,GACtB,IAAI8Z,EAAkB,GAClBrZ,EAAOI,EAA+Bb,GACtC64B,EAAgB,EAAID,EAAmB54B,GAW3C,GATIS,IACFo4B,GAAiB74B,EAAO64B,GAAiB,GAQT,EAA5B74B,EAAO64B,EAAgB,GAA7B,CAIA,IAAIve,EAAeC,EAAUC,EAE7BF,GAA6C,GAA5Bta,EAAO64B,EAAgB,KAAc,EAAI74B,EAAO64B,EAAgB,GACjFte,EAAW,EAAID,EAAgB,EAI/BE,GAAkD,GAA7Bxa,EAAO64B,EAAgB,MAAe,EAAI74B,EAAO64B,EAAgB,IAGtF,IAAIlmC,EAAS,GAAK6nB,EAClB,MAAO7nB,EAAS4nB,EAAU,CACxB,IAAIv4F,EAAI62G,EAAgBlmC,EAExBmnB,GAAiC,GAAhB9Z,EAAOh+E,EAAI,KAAc,EAAIg+E,EAAOh+E,EAAI,IAAMg+E,EAAOh+E,GAItE2wE,GAA0D,IAA9B,GAAhBqN,EAAOh+E,EAAI,KAAc,EAAIg+E,EAAOh+E,EAAI,IAEtD,OAAO83F,IAGLlZ,EAAe,SAASZ,EAAQ8Z,GAClC,IAAI3Z,EAAMw4B,EAAS34B,GACfzkF,EAAOu+F,EAAgB3Z,GAC3B,OAAQ5kF,GACN,KAAKkkF,EAAY4C,iBACf,MAAO,QACT,KAAK5C,EAAY6C,iBACf,MAAO,QACT,KAAK7C,EAAYmT,qBACf,MAAO,iBACT,QACE,OAAO,OAIT9R,EAAe,SAASd,GAC1B,IAAIS,EAAOI,EAA+Bb,GAC1C,IAAKS,EACH,OAAO,KAGT,IAAI9N,EAAS,EAAIimC,EAAmB54B,GAEpC,GAAIrN,GAAUqN,EAAO9oE,WAWnB,OAAO,KAGT,IACI8jF,EADAha,EAAM,KAuCV,OAjCAga,EAAchb,EAAOrN,EAAS,GAUZ,IAAdqoB,IACFha,EAAM,GAINA,EAAI/R,KAA4B,GAArB+Q,EAAOrN,EAAS,KAAc,IAChB,IAAtBqN,EAAOrN,EAAS,MAAe,IACT,IAAtBqN,EAAOrN,EAAS,MAAe,IACT,IAAtBqN,EAAOrN,EAAS,MAAgB,GACV,IAAtBqN,EAAOrN,EAAS,OAAiB,EACpCqO,EAAI/R,KAAO,EACX+R,EAAI/R,MAA8B,EAAtB+Q,EAAOrN,EAAS,OAAgB,EAC5CqO,EAAItK,IAAMsK,EAAI/R,IACI,GAAd+rB,IACFha,EAAItK,KAA6B,GAAtBsJ,EAAOrN,EAAS,MAAe,IACjB,IAAtBqN,EAAOrN,EAAS,MAAe,IACT,IAAtBqN,EAAOrN,EAAS,MAAe,IACT,IAAtBqN,EAAOrN,EAAS,MAAe,GACT,IAAtBqN,EAAOrN,EAAS,OAAgB,EACnCqO,EAAItK,KAAO,EACXsK,EAAItK,MAA8B,EAAtBsJ,EAAOrN,EAAS,OAAgB,IAGzCqO,GAGL83B,EAAmB,SAASv9G,GAC9B,OAAQA,GACN,KAAK,EACH,MAAO,4CACT,KAAK,EACH,MAAO,WACT,KAAK,EACH,MAAO,yBACT,KAAK,EACH,MAAO,yBACT,KAAK,EACH,MAAO,6BACT,QACE,OAAO,OAIT2lF,EAA8B,SAASlB,GASzC,IARA,IAKI+4B,EALApmC,EAAS,EAAIimC,EAAmB54B,GAChCg5B,EAAch5B,EAAO/oE,SAAS07D,GAC9BsmC,EAAS,EACTC,EAAiB,EACjBC,GAAgB,EAIbD,EAAiBF,EAAY9hG,WAAa,EAAGgiG,IAClD,GAAwC,IAApCF,EAAYE,EAAiB,GAAU,CAEzCD,EAASC,EAAiB,EAC1B,MAIJ,MAAOD,EAASD,EAAY9hG,WAG1B,OAAQ8hG,EAAYC,IACpB,KAAK,EAEH,GAAgC,IAA5BD,EAAYC,EAAS,GAAU,CACjCA,GAAU,EACV,MACK,GAAgC,IAA5BD,EAAYC,EAAS,GAAU,CACxCA,IACA,MAGEC,EAAiB,IAAMD,EAAS,IAClCF,EAAUD,EAAmD,GAAlCE,EAAYE,EAAiB,IACxC,8CAAZH,IACFI,GAAgB,IAKpB,GACEF,UAC+B,IAAxBD,EAAYC,IAAiBA,EAASD,EAAY5wG,QAC3D8wG,EAAiBD,EAAS,EAC1BA,GAAU,EACV,MACF,KAAK,EAEH,GAAgC,IAA5BD,EAAYC,EAAS,IACO,IAA5BD,EAAYC,EAAS,GAAU,CACjCA,GAAU,EACV,MAGFF,EAAUD,EAAmD,GAAlCE,EAAYE,EAAiB,IACxC,8CAAZH,IACFI,GAAgB,GAElBD,EAAiBD,EAAS,EAC1BA,GAAU,EACV,MACF,QAGEA,GAAU,EACV,MAcJ,OAXAD,EAAcA,EAAY/hG,SAASiiG,GACnCD,GAAUC,EACVA,EAAiB,EAEbF,GAAeA,EAAY9hG,WAAa,IAC1C6hG,EAAUD,EAAmD,GAAlCE,EAAYE,EAAiB,IACxC,8CAAZH,IACFI,GAAgB,IAIbA,GAITriG,EAAOC,QAAU,CACfovD,UAAWA,EACXia,SAAUA,EACVE,SAAUA,EACVO,+BAAgCA,EAChCD,aAAcA,EACdE,aAAcA,EACdI,4BAA6BA,I,yDClR/B,IAGItN,EAHA/9D,EAAS,EAAQ,QASrB+9D,EAAY,WACV,IACE+lB,EAAa,IAAIlxB,WACjBmT,EAAY,EAEdhI,EAAUn9D,UAAUX,KAAKQ,KAAKze,MAE9BA,KAAK8jF,aAAe,SAASrG,GAC3BsG,EAAYtG,GAGdz9E,KAAKkqF,gBAAkB,SAASq3B,EAAQt3B,GACtC,IACEu3B,EAAcD,EAAOt3B,EAAY,IAAM,GACzBs3B,EAAOt3B,EAAY,IAAM,GACzBs3B,EAAOt3B,EAAY,IAAM,EACzBs3B,EAAOt3B,EAAY,GACjC5N,EAAQklC,EAAOt3B,EAAY,GAC3Bw3B,GAAyB,GAARplC,IAAe,EAElC,OAAIolC,EACKD,EAAa,GAEfA,EAAa,IAGtBxhH,KAAKoqF,cAAgB,SAASm3B,EAAQt3B,GACpC,IACEy3B,GAAoC,IAAxBH,EAAOt3B,EAAY,KAAc,EAC7ClhF,EAASw4G,EAAOt3B,EAAY,IAAM,EAClC03B,EAAkC,KAAxBJ,EAAOt3B,EAAY,GAE/B,OAAQ03B,EAAU54G,EAAU24G,GAG9B1hH,KAAK4S,KAAO,SAASk/D,GACnB,IAGE8vC,EACAnkB,EACAtV,EACA05B,EALA73B,EAAY,EACZC,EAAY,EAQV6X,EAAWvxF,QACbsxG,EAAa/f,EAAWvxF,OACxBuxF,EAAa,IAAIlxB,WAAWkB,EAAMzyD,WAAawiG,GAC/C/f,EAAWpgF,IAAIogF,EAAW1iF,SAAS,EAAGyiG,IACtC/f,EAAWpgF,IAAIowD,EAAO+vC,IAEtB/f,EAAahwB,EAGf,MAAOgwB,EAAWvxF,OAAS05E,GAAa,EACtC,GAAK6X,EAAW7X,KAAe,IAAI9hB,WAAW,IACzC25B,EAAW7X,EAAY,KAAO,IAAI9hB,WAAW,IAC7C25B,EAAW7X,EAAY,KAAO,IAAI9hB,WAAW,GAuB3C,IAA6B,EAAxB25B,EAAW7X,IAC4B,OAAV,IAA5B6X,EAAW7X,EAAY,IAD7B,CAKL,GAAI6X,EAAWvxF,OAAS05E,EAAY,EAClC,MAOF,GAJAD,EAAYhqF,KAAKoqF,cAAc0X,EAAY7X,GAIvCD,EAAY8X,EAAWvxF,OACzB,MAGF43E,EAAS,CACPzkF,KAAM,QACN0C,KAAM07F,EAAW1iF,SAAS6qE,EAAWA,EAAYD,GACjD5S,IAAK2M,EACLlF,IAAKkF,GAEP/jF,KAAKse,QAAQ,OAAQ6pE,GACrB8B,GAAaD,OAGfC,QApDA,CAME,GAAI6X,EAAWvxF,OAAS05E,EAAY,GAClC,MAQF,GAJAD,EAAYhqF,KAAKkqF,gBAAgB4X,EAAY7X,GAIzCD,EAAY8X,EAAWvxF,OACzB,MAEFktF,EAAQ,CACN/5F,KAAM,iBACN0C,KAAM07F,EAAW1iF,SAAS6qE,EAAWA,EAAYD,IAEnDhqF,KAAKse,QAAQ,OAAQm/E,GACrBxT,GAAaD,EA+BjB43B,EAAY9f,EAAWvxF,OAAS05E,EAG9B6X,EADE8f,EAAY,EACD9f,EAAW1iF,SAAS6qE,GAEpB,IAAIrZ,aAKvBmL,EAAUn9D,UAAY,IAAIZ,EAE1BiB,EAAOC,QAAU68D,G,kCC5IjB,IAAI+lC,EAMJA,EAAY,SAASC,GACnB,IAEEC,EAAwBD,EAAY1iG,WAGpC4iG,EAAc,EAGdC,EAAuB,EAGzBliH,KAAKuQ,OAAS,WACZ,OAAQ,EAAIyxG,GAIdhiH,KAAKmiH,cAAgB,WACnB,OAAQ,EAAIH,EAAyBE,GAIvCliH,KAAKoiH,SAAW,WACd,IACEt2G,EAAWi2G,EAAY1iG,WAAa2iG,EACpCK,EAAe,IAAIzxC,WAAW,GAC9B0xC,EAAiBn5G,KAAKnD,IAAI,EAAGg8G,GAE/B,GAAuB,IAAnBM,EACF,MAAM,IAAI3gG,MAAM,sBAGlB0gG,EAAa3gG,IAAIqgG,EAAY3iG,SAAStT,EACAA,EAAWw2G,IACjDL,EAAc,IAAI9gC,SAASkhC,EAAa51C,QAAQw8B,UAAU,GAG1DiZ,EAAwC,EAAjBI,EACvBN,GAAyBM,GAI3BtiH,KAAKuiH,SAAW,SAASh6C,GACvB,IAAIi6C,EACAN,EAAuB35C,GACzB05C,IAAyB15C,EACzB25C,GAAwB35C,IAExBA,GAAS25C,EACTM,EAAYr5G,KAAKyxC,MAAM2tB,EAAQ,GAE/BA,GAAsB,EAAZi6C,EACVR,GAAyBQ,EAEzBxiH,KAAKoiH,WAELH,IAAgB15C,EAChB25C,GAAwB35C,IAK5BvoE,KAAKyiH,SAAW,SAASh8G,GACvB,IACEi8G,EAAOv5G,KAAKnD,IAAIk8G,EAAsBz7G,GACtCk8G,EAAOV,IAAiB,GAAKS,EAU/B,OARAR,GAAwBQ,EACpBR,EAAuB,EACzBD,IAAgBS,EACPV,EAAwB,GACjChiH,KAAKoiH,WAGPM,EAAOj8G,EAAOi8G,EACVA,EAAO,EACFC,GAAQD,EAAO1iH,KAAKyiH,SAASC,GAE/BC,GAIT3iH,KAAK4iH,iBAAmB,WACtB,IAAIC,EACJ,IAAKA,EAAmB,EAAGA,EAAmBX,IAAwBW,EACpE,GAA0D,KAArDZ,EAAe,aAAeY,GAIjC,OAFAZ,IAAgBY,EAChBX,GAAwBW,EACjBA,EAMX,OADA7iH,KAAKoiH,WACES,EAAmB7iH,KAAK4iH,oBAIjC5iH,KAAK8iH,sBAAwB,WAC3B9iH,KAAKuiH,SAAS,EAAIviH,KAAK4iH,qBAIzB5iH,KAAK+iH,cAAgB,WACnB/iH,KAAKuiH,SAAS,EAAIviH,KAAK4iH,qBAIzB5iH,KAAKgjH,sBAAwB,WAC3B,IAAIC,EAAMjjH,KAAK4iH,mBACf,OAAO5iH,KAAKyiH,SAASQ,EAAM,GAAK,GAIlCjjH,KAAKkjH,cAAgB,WACnB,IAAIP,EAAO3iH,KAAKgjH,wBAChB,OAAI,EAAOL,EAED,EAAIA,IAAU,GAEhB,GAAKA,IAAS,IAKxB3iH,KAAKmjH,YAAc,WACjB,OAA4B,IAArBnjH,KAAKyiH,SAAS,IAIvBziH,KAAKojH,iBAAmB,WACtB,OAAOpjH,KAAKyiH,SAAS,IAGvBziH,KAAKoiH,YAGPnjG,EAAOC,QAAU4iG,G,kCClIjB,SAAS5+C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI+gH,EAAa,EAAQ,QAErBtzC,EAAe,EAAQ,QAEvBC,EAAgB9M,EAAuB6M,GAE3C7wD,EAAQ,WAAa,CACnBkxD,QAASizC,EAAWjzC,QACpBmB,UAAW8xC,EAAW9xC,UACtBqnC,YAAa5oC,EAAc,YAE7B/wD,EAAOC,QAAUA,EAAQ,Y,kCCpBzB,SAASgkD,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI0oF,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExC5nB,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAUnCkgD,EAAkB,SAAyBxkF,GAC7Ct6B,OAAOgd,iBAAiBsd,EAAI+kD,MAAO,CACjC1gF,GAAI,CACF8R,IAAK,WAEH,OADAouD,EAAU,WAAW78C,IAAImB,KAAK,0DACvBmX,EAAIx8B,MAAMY,MAGrBZ,MAAO,CACL2S,IAAK,WAEH,OADAouD,EAAU,WAAW78C,IAAImB,KAAK,8DACvBmX,EAAIx8B,MAAM8D,OAGrB0wG,YAAa,CACX7hG,IAAK,WAEH,OADAouD,EAAU,WAAW78C,IAAImB,KAAK,oEACvBmX,EAAIx8B,MAAM8D,UAMrBwxG,EAAkB,SAAyB16F,GAC7C,IAAIqmG,OAAMv9F,EAOV,OAJEu9F,EADExoE,MAAM79B,IAAa/T,KAAK4hE,IAAI7tD,KAAc89B,IACtCr1C,OAAOqqF,UAEP9yE,EAEDqmG,GAWL3oC,EAAmB,SAA0B4oC,EAAeC,EAAcC,GAC5E,IAAIC,EAAM14B,EAAe,WAAW24B,eAAiB34B,EAAe,WAAW3gD,OAE3Em5E,GACFA,EAAa/+G,SAAQ,SAAUi+E,GAC7B,IAAIhkD,EAAQgkD,EAAQjV,OAEpB1tE,KAAKq6E,kBAAkB17C,GAAOkB,OAAO,IAAI8jF,EAAIhhC,EAAQ5jD,UAAY/+B,KAAKk5E,gBAAiByJ,EAAQ3jD,QAAUh/B,KAAKk5E,gBAAiByJ,EAAQn4D,SACtIg5F,GAGDE,GACF,WACE,IAAIG,EAAgBjM,EAAgB4L,EAAcxrC,aAAa96D,UAE/DwmG,EAAch/G,SAAQ,SAAUgiC,GAC9B,IAAI/wB,EAAO+wB,EAASq8C,QAAU/iF,KAAKk5E,gBAEnCxyC,EAASg3C,OAAOh5E,SAAQ,SAAUm/E,GAChC,IAAI/kD,EAAM,IAAI6kF,EAAIhuG,EAAMA,EAAMkuE,EAAMvhF,OAASuhF,EAAMn3E,KAAOm3E,EAAMz9E,MAAQ,IAExE04B,EAAI+kD,MAAQA,EACZ/kD,EAAIx8B,MAAQuhF,EACZy/B,EAAgBxkF,GAEhB9+B,KAAKo6E,eAAev6C,OAAOf,KAC1B9+B,QACFwjH,GAKCA,EAAcppC,gBAAkBopC,EAAcppC,eAAev7C,MAAQ2kF,EAAcppC,eAAev7C,KAAKtuB,QACzG,WAME,IALA,IAAIsuB,EAAO2kF,EAAcppC,eAAev7C,KACpCilF,EAAY,GAIP35G,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAC3B00B,EAAK10B,IACP25G,EAAUlxG,KAAKisB,EAAK10B,IAKxB,IAAI45G,EAAyBD,EAAUh+F,QAAO,SAAU5hB,EAAK46B,GAC3D,IAAIklF,EAAW9/G,EAAI46B,EAAIC,YAAc,GAKrC,OAHAilF,EAASpxG,KAAKksB,GACd56B,EAAI46B,EAAIC,WAAailF,EAEd9/G,IACN,IAGC+/G,EAAmBz/G,OAAOC,KAAKs/G,GAAwBrqC,MAAK,SAAUxyD,EAAGy1C,GAC3E,OAAOh3D,OAAOuhB,GAAKvhB,OAAOg3D,MAI5BsnD,EAAiBv/G,SAAQ,SAAUq6B,EAAWmlF,GAC5C,IAAIC,EAAWJ,EAAuBhlF,GAClCqlF,EAAWz+G,OAAOs+G,EAAiBC,EAAM,KAAOL,EAGpDM,EAASz/G,SAAQ,SAAUo6B,GACzBA,EAAIE,QAAUolF,QAlCpB,GArBJ,IAgEJllG,EAAQ,WAAa,CACnB07D,iBAAkBA,EAClBg9B,gBAAiBA,GAEnB34F,EAAOC,QAAUA,EAAQ,Y,4CCrJzBD,EAAOC,QAAU,IAA0B,0B,kCCE3C,IASE8jD,EACAkY,EACAC,EACAkpC,EACAhmB,EACAimB,EAdEtmG,EAAS,EAAQ,QACjBumG,EAAS,EAAQ,QACjB3oC,EAAO,EAAQ,QACfC,EAAa,EAAQ,QACrBC,EAAa,EAAQ,QAAkBA,WACvCV,EAAiB,EAAQ,QACzBumB,EAAU,EAAQ,QAetB0iB,EAAsB,SAAS1lF,EAAOv4B,GACZ,kBAAbA,EAAKgxE,WACsBpxD,IAAhC2Y,EAAM0+C,kBAAkBjG,IAC1Bz4C,EAAM0+C,kBAAkBjG,IAAMhxE,EAAKgxE,IAEnCz4C,EAAM0+C,kBAAkBjG,IACtBjuE,KAAKnD,IAAI24B,EAAM0+C,kBAAkBjG,IAAKhxE,EAAKgxE,MAIzB,kBAAbhxE,EAAKy4E,WACsB74D,IAAhC2Y,EAAM0+C,kBAAkBwB,IAC1BlgD,EAAM0+C,kBAAkBwB,IAAMz4E,EAAKy4E,IAEnClgD,EAAM0+C,kBAAkBwB,IACtB11E,KAAKnD,IAAI24B,EAAM0+C,kBAAkBwB,IAAKz4E,EAAKy4E,OAKnDwf,EAAc,SAAS1/D,EAAOy4C,GAC5B,IACExsE,EAAM,IAAI25G,EAAOA,EAAOC,cAS1B,OAPA55G,EAAIi0E,IAAMzH,EACVxsE,EAAIwsE,IAAMA,EAEVxsE,EAAI65G,oBAAoB,eAAgB,GACxC75G,EAAI65G,oBAAoB,QAAS9lF,EAAMj4B,OACvCkE,EAAI65G,oBAAoB,SAAU9lF,EAAMh9B,QAEjCiJ,GAGT05G,EAAe,SAAS3lF,EAAOy4C,GAC7B,IACEjtE,EACAS,EAAM,IAAI25G,EAAOA,EAAOG,WAAW,GAerC,IAbA95G,EAAIi0E,IAAMzH,EACVxsE,EAAIwsE,IAAMA,EAEVxsE,EAAI+5G,UAAU,GACd/5G,EAAI+5G,UAAUhmF,EAAMogF,YACpBn0G,EAAI+5G,UAAUhmF,EAAMqgF,sBACpBp0G,EAAI+5G,UAAUhmF,EAAMsgF,UACpBr0G,EAAI+5G,UAAU,KACd/5G,EAAI+5G,UAAU,KACd/5G,EAAIg6G,WAAWjmF,EAAM2gD,IAAI,GAAG/uE,QAC5B3F,EAAIi6G,WAAWlmF,EAAM2gD,IAAI,IAEzB10E,EAAI+5G,UAAUhmF,EAAMqgD,IAAIzuE,QACnBpG,EAAI,EAAGA,EAAIw0B,EAAMqgD,IAAIzuE,SAAUpG,EAClCS,EAAIg6G,WAAWjmF,EAAMqgD,IAAI70E,GAAGoG,QAC5B3F,EAAIi6G,WAAWlmF,EAAMqgD,IAAI70E,IAG3B,OAAOS,GAOTuwE,EAAqB,SAASx8C,GAC5B,IAGEmmF,EAFAhoC,EAAa,GACbioC,EAAiB,GAGnB5pC,EAAmBv8D,UAAUX,KAAKQ,KAAKze,MAEvCA,KAAK4S,KAAO,SAASxM,GACnBi+G,EAAoB1lF,EAAOv4B,GAEvBu4B,IACFA,EAAM4/E,gBAAkBn4G,EAAKm4G,gBAC7B5/E,EAAM8/E,aAAer4G,EAAKq4G,aAC1B9/E,EAAM8/C,WAAar4E,EAAKq4E,WACxB9/C,EAAM6/E,uBAAyBp4G,EAAKo4G,uBACpC7/E,EAAMugF,WAAa94G,EAAK84G,WACxBvgF,EAAMqmF,UAAarmF,EAAM4/E,iBAAmB,GACzB5/E,EAAM6/E,wBAA0B,EAChC7/E,EAAM8/E,cAAgB,GAG3Cr4G,EAAKgxE,IAAMjuE,KAAKC,MAAMhD,EAAKgxE,IAAM,IACjChxE,EAAKy4E,IAAM11E,KAAKC,MAAMhD,EAAKy4E,IAAM,IAGjC/B,EAAWlqE,KAAKxM,IAGlBpG,KAAKgf,MAAQ,WACX,IAAI4/D,EAAcqmC,EAAWC,EAAannB,EAAO,IAAI4D,EAErD,GAA0B,IAAtB7kB,EAAWvsE,OAAf,CAKA20G,GAAelqE,IAEf,MAAO8hC,EAAWvsE,OAChBquE,EAAe9B,EAAW/8D,QAGtBglG,EAAex0G,QAAUquE,EAAaxH,KAAO2tC,EAAe,KAC9DG,EAAcH,EAAehlG,QAC7B/f,KAAKmlH,kBAAkBpnB,EAAMmnB,KAM3BvmF,EAAMqmF,YAAcF,GAAgBlmC,EAAaxH,IAAM8tC,GAAe,OACxEllH,KAAKmlH,kBAAkBpnB,EAAMnf,EAAaxH,KAC1C0tC,EAAenmF,EAAMqmF,UACrBE,EAActmC,EAAaxH,KAG7B6tC,EAAY,IAAIV,EAAOA,EAAOa,WAC9BH,EAAU7tC,IAAMwH,EAAaxH,IAC7B6tC,EAAUpmC,IAAMD,EAAaC,IAE7BomC,EAAUJ,WAAWjmC,EAAax4E,MAElC23F,EAAKnrF,KAAKqyG,EAAUI,YAGtBN,EAAex0G,OAAS,EACxBu0G,EAAe,KACf9kH,KAAKse,QAAQ,OAAQ,CAACqgB,MAAOA,EAAOo/D,KAAMA,EAAKztF,OAE/CtQ,KAAKse,QAAQ,OAAQ,2BArCnBte,KAAKse,QAAQ,OAAQ,uBAwCzBte,KAAKmlH,kBAAoB,SAASpnB,EAAM3mB,GACtC,IAAI6tC,EAEJA,EAAY,IAAIV,EAAOA,EAAOC,cAI9BS,EAAU7tC,IAAMA,EAChB6tC,EAAUpmC,IAAMzH,EAGhB6tC,EAAUR,oBAAoB,eAAgB,IAC9CQ,EAAUK,qBAAqB,SAAiC,IAAvB3mF,EAAM8/E,cAC/CwG,EAAUR,oBAAoB,kBAAmB9lF,EAAM8/C,YAEvDwmC,EAAUR,oBAAoB,kBAAmB,IAEjD1mB,EAAKnrF,KAAKqyG,EAAUI,YAEpBJ,EAAY,IAAIV,EAAOA,EAAOa,WAAW,GAIzCH,EAAU7tC,IAAMA,EAChB6tC,EAAUpmC,IAAMzH,EAEhB6tC,EAAU/jC,KAAKqkC,UAAUN,EAAUn5G,SAAU6yB,EAAMqmF,WACnDC,EAAUn5G,UAAY,EACtBm5G,EAAU10G,OAASpH,KAAKjD,IAAI++G,EAAU10G,OAAQ00G,EAAUn5G,UAExDiyF,EAAKnrF,KAAKqyG,EAAUI,aAGtBrlH,KAAKwlH,gBAAkB,SAASpuC,GAC9B2tC,EAAenyG,KAAKwkE,KAGxB+D,EAAmBv8D,UAAY,IAAIZ,EAMnCk9D,EAAqB,SAASv8C,GAC5B,IAEEuqB,EACAu8D,EAFAxmC,EAAW,GAGb/D,EAAmBt8D,UAAUX,KAAKQ,KAAKze,MAEvCA,KAAK0lH,YAAc,SAAS3nB,EAAMla,GAChC,GAAKA,EAAL,CAKA,GAAI36B,GAAUvqB,GAASA,EAAMgnF,cACxB9hC,EAAMlE,UAA4B,IAAhBoe,EAAKxtF,QAAe,CAEzC,IAAIq1G,EAAUvnB,EAAYn1C,EAAQ26B,EAAMhF,KAAKwmC,WACzCQ,EAAWvB,EAAa3lF,EAAOklD,EAAMhF,KAAKwmC,WAE9CO,EAAQvnB,YAAcwnB,EAASxnB,aAAc,EAE7CN,EAAKnrF,KAAKgzG,GACV7nB,EAAKnrF,KAAKizG,GACVlnF,EAAMgnF,aAAc,EAEpB3lH,KAAKse,QAAQ,WAAYulE,EAAMhF,KAGjCgF,EAAMiiC,aACN/nB,EAAKnrF,KAAKixE,EAAMwhC,YAChBI,EAAY,OAGdzlH,KAAK4S,KAAO,SAASxM,GACnBi+G,EAAoB1lF,EAAOv4B,GAE3BA,EAAKgxE,IAAMjuE,KAAKC,MAAMhD,EAAKgxE,IAAM,IACjChxE,EAAKy4E,IAAM11E,KAAKC,MAAMhD,EAAKy4E,IAAM,IAGjCI,EAASrsE,KAAKxM,IAGhBpG,KAAKgf,MAAQ,WACX,IACE2hE,EACAod,EAAO,IAAI4D,EAIb,MAAO1iB,EAAS1uE,OAAQ,CACtB,GAAgC,+BAA5B0uE,EAAS,GAAGI,YACd,MAEFJ,EAASl/D,QAIX,GAAwB,IAApBk/D,EAAS1uE,OAAb,CAKA,MAAO0uE,EAAS1uE,OACdowE,EAAa1B,EAASl/D,QAGS,2BAA3B4gE,EAAWtB,aACb1gD,EAAMgnF,aAAc,EACpBz8D,EAASy3B,EAAWz3B,OACpBvqB,EAAMj4B,MAAQwiD,EAAOxiD,MACrBi4B,EAAMh9B,OAASunD,EAAOvnD,OACtBg9B,EAAM2gD,IAAM,CAACqB,EAAWv6E,MACxBu4B,EAAMogF,WAAa71D,EAAO61D,WAC1BpgF,EAAMsgF,SAAW/1D,EAAO+1D,SACxBtgF,EAAMqgF,qBAAuB91D,EAAO81D,qBACpCyG,EAAUK,cAC0B,2BAA3BnlC,EAAWtB,aACpB1gD,EAAMgnF,aAAc,EACpBhnF,EAAMqgD,IAAM,CAAC2B,EAAWv6E,MACxBq/G,EAAUK,cAC0B,+BAA3BnlC,EAAWtB,aAChBomC,GACFzlH,KAAK0lH,YAAY3nB,EAAM0nB,GAEzBA,EAAY,IAAIlB,EAAOA,EAAOG,WAC9Be,EAAUruC,IAAMuJ,EAAWvJ,IAC3BquC,EAAU5mC,IAAM8B,EAAW9B,MAEI,8CAA3B8B,EAAWtB,cAEbomC,EAAU9lC,UAAW,GAEvB8lC,EAAUK,cAEZL,EAAUM,eACVN,EAAUZ,WAAWlkC,EAAWv6E,MAE9Bq/G,GACFzlH,KAAK0lH,YAAY3nB,EAAM0nB,GAGzBzlH,KAAKse,QAAQ,OAAQ,CAACqgB,MAAOA,EAAOo/D,KAAMA,EAAKztF,OAG/CtQ,KAAKse,QAAQ,OAAQ,2BA9CnBte,KAAKse,QAAQ,OAAQ,wBAkD3B48D,EAAmBt8D,UAAY,IAAIZ,EAMnCglD,EAAa,SAASzxC,GACpB,IAGE2yD,EAAcE,EAAaE,EAC3BE,EAA8BjB,EAC9BE,EACAC,EAAYe,EACZG,EAAoBZ,EAAoBU,EACxCf,EAPAp+D,EAAOvlB,KASTgjE,EAAWpkD,UAAUX,KAAKQ,KAAKze,MAE/BuxB,EAAUA,GAAW,GAGrBvxB,KAAK+hF,eAAiB,IAAInG,EAAKyH,eAE/B9xD,EAAQwwD,eAAiB/hF,KAAK+hF,eAG9BmC,EAAe,IAAItI,EAAKuI,sBACxBC,EAAc,IAAIxI,EAAKyI,qBACvBC,EAAmB,IAAI1I,EAAK2I,iBAC5BC,EAA+B,IAAI5I,EAAK4H,wBAAwB,SAChED,EAA+B,IAAI3H,EAAK4H,wBAAwB,SAChEC,EAAuC,IAAI7H,EAAK4H,wBAAwB,kBAExEE,EAAa,IAAI7H,EACjB4I,EAAa,IAAI3I,EACjB6H,EAAiB,IAAIvI,EAAe7pD,GAGpC2yD,EACGrlE,KAAKulE,GACLvlE,KAAKylE,GAIRA,EACGzlE,KAAK2lE,GACL3lE,KAAK4lE,GACRH,EACGzlE,KAAK0kE,GACL1kE,KAAK6kE,GAERY,EACGzlE,KAAK4kE,GACL5kE,KAAK7e,KAAK+hF,gBACVljE,KAAK8kE,GAERe,EAAgB,IAAI9I,EAAK+I,cACzBF,EAAW5lE,KAAK6lE,GACb7lE,KAAK8kE,GAGRW,EAAiB5jF,GAAG,QAAQ,SAAS0F,GACnC,IAAI+D,EAAGg4E,EAAYO,EAEnB,GAAkB,aAAdt8E,EAAK1C,KAAqB,CAC5ByG,EAAI/D,EAAKi5B,OAAO9uB,OAGhB,MAAOpG,IACuB,UAAxB/D,EAAKi5B,OAAOl1B,GAAGzG,KACjBy+E,EAAa/7E,EAAKi5B,OAAOl1B,GACQ,UAAxB/D,EAAKi5B,OAAOl1B,GAAGzG,OACxBg/E,EAAat8E,EAAKi5B,OAAOl1B,IAKzBg4E,IAAeyC,IACjBjB,EAAe3B,iBACf4C,EAAqB,IAAI1J,EAAmBiH,GAG5CsC,EACG5lE,KAAK+lE,GACL/lE,KAAK8kE,IAGNjB,IAAesB,IAEjBL,EAAe3B,iBACfgC,EAAqB,IAAI7I,EAAmBuH,GAG5CgB,EACG7kE,KAAKmlE,GACLnlE,KAAK8kE,GAEJiB,GACFA,EAAmBlkF,GAAG,WAAYsjF,EAAmBwhC,sBAO7DxlH,KAAK4S,KAAO,SAASxM,GACnB89E,EAAatxE,KAAKxM,IAIpBpG,KAAKgf,MAAQ,WAEXklE,EAAallE,SAIfhf,KAAKglF,cAAgB,WACnBN,EAAcz2C,SAIhB01C,EAAejjF,GAAG,QAAQ,SAAS2G,GACjCke,EAAKjH,QAAQ,OAAQjX,MAIvBs8E,EAAejjF,GAAG,QAAQ,WACxB6kB,EAAKjH,QAAQ,YAGjB0kD,EAAWpkD,UAAY,IAAIZ,EAG3BiB,EAAOC,QAAU8jD,G,qBCzajB,IAAIx3D,EAAS,EAAQ,QAEjB+8B,EAAQtpB,EAAOC,QAAU,CAC3BmpB,OAAQ,EAAQ,QAChBiC,OAAQ,EAAQ,QAChBtpB,UAAW,EAAQ,SAGrBxV,EAAO+8B,MAAQA,EACf/8B,EAAO68B,OAASE,EAAMF,OAEtB,IAAI4iE,EAAU1iE,EAAM+B,OAChB4gE,EAAa3iE,EAAMvnB,UACnBmqF,EAAe3/F,EAAO8+B,OACtB8gE,EAAkB5/F,EAAOwV,UAE7BunB,EAAM8iE,KAAO,WACX7/F,EAAO8+B,OAAS2gE,EAChBz/F,EAAOwV,UAAYkqF,GAGrB3iE,EAAM+iE,QAAU,WACd9/F,EAAO8+B,OAAS6gE,EAChB3/F,EAAOwV,UAAYoqF,GAGhB5/F,EAAO8+B,QACV/B,EAAM8iE,Q,mCC9CR,IAAIkZ,EAAS,EAAQ,QAQjBthD,EAAe,SAAS/lD,EAAUouB,EAAO73B,GAC3C,IAGEizB,EACA5uB,EACAkuG,EAJAC,EAAY,IAAIr1C,WAAW,GAC3Bvb,EAAO,IAAI8rB,SAAS8kC,EAAUx5C,QAyBhC,OAnBAvvD,EAAWA,GAAY,EACvBouB,OAAkBtlB,IAAVslB,GAA6BA,EACrC73B,OAAkBuS,IAAVvS,GAA6BA,EAGrC4hD,EAAK6wD,SAAS,EAAG,IACjB7wD,EAAK6wD,SAAS,EAAG,IACjB7wD,EAAK6wD,SAAS,EAAG,IAGjB7wD,EAAK6wD,SAAS,EAAG,GAGjB7wD,EAAK6wD,SAAS,GAAI56E,EAAQ,EAAO,IAAS73B,EAAQ,EAAO,IAGzD4hD,EAAK+rB,UAAU,EAAG6kC,EAAU5mG,YAGxBnC,GAAY,GAGdpF,EAAS,IAAI84D,WAAWq1C,EAAU5mG,WAAa,GAC/CvH,EAAO4J,IAAIukG,GACXnuG,EAAO4J,IAAI,CAAC,EAAG,EAAG,EAAG,GAAIukG,EAAU5mG,YAC5BvH,IAIT4uB,EAAW,IAAI69E,EAAOA,EAAOC,cAC7B99E,EAAS0wC,IAAM1wC,EAASm4C,IAAM,EAC9Bn4C,EAAS+9E,oBAAoB,WAAYvnG,GACzC8oG,EAAiBt/E,EAAS2+E,WAAW90G,OACrCuH,EAAS,IAAI84D,WAAWq1C,EAAU5mG,WAAa2mG,GAC/CluG,EAAO4J,IAAIukG,GACXnuG,EAAO4J,IAAI2zC,EAAKh2C,WAAY2mG,GAErBluG,IAGTmH,EAAOC,QAAU+jD,G,kCCrDjBz+D,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaE,EAAKC,EAAKmV,GAAO,IAAIlV,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS61D,EAAKG,EAAWF,EAAKG,EAAWgV,EAAKlV,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA6O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAAhW,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B+rD,EAAM/rD,EAAQgsD,EAAME,EAAUiV,EAAMhV,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE/c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAIkhG,EAAoB,EAAQ,QAE5BC,EAAqBljD,EAAuBijD,GAE5CE,EAA8B,EAAQ,QAEtCj3B,EAAY,EAAQ,QAEpBhsB,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnCkjD,EAAsB,CAG1B,CACElkH,KAAM,MACNmkH,IAAK,SAAap0B,EAAgBje,EAAUh3D,EAAUg1E,EAAiB11E,GACrE,GAAIU,IAAa89B,IAAU,CACzB,IAAIw3C,EAAY,CACd78E,KAAM,EACN6wG,aAAc,GAGhB,OAAOh0B,EAET,OAAO,OAIX,CACEpwF,KAAM,kBACNmkH,IAAK,SAAap0B,EAAgBje,EAAUh3D,EAAUg1E,EAAiB11E,GACrE,GAAI21E,EAAes0B,uBAAyBvyC,EAASwyC,eAAgB,CACnE,IAAIC,EAAezyC,EAASwyC,eAAez3F,UAAY,IACnD23F,EAAgBD,EAAex0B,EAAes0B,sBAC9Cj0B,EAAY,CACd78E,KAAMixG,EACNJ,aAAc,GAGhB,OAAOh0B,EAET,OAAO,OAKX,CACEpwF,KAAM,UACNmkH,IAAK,SAAap0B,EAAgBje,EAAUh3D,EAAUg1E,EAAiB11E,GACrE,IAAI+9D,EAAWrG,EAASqG,UAAY,GAChCiY,EAAY,KACZq0B,EAAe,KAEnBrqG,EAAcA,GAAe,EAE7B,IAAK,IAAIrS,EAAI,EAAGA,EAAIowE,EAAShqE,OAAQpG,IAAK,CACxC,IAAIwvE,EAAUY,EAASpwE,GAEvB,GAAIwvE,EAAQuT,WAAagF,GAA4C,qBAAlBvY,EAAQn8C,MAAuB,CAChF,IAAIs2D,EAAW3qF,KAAK4hE,IAAIvuD,EAAcm9D,EAAQn8C,OAI9C,GAAqB,OAAjBqpF,GAAyBA,EAAe/yB,EAC1C,QAGGtB,GAA8B,OAAjBq0B,GAAyBA,GAAgB/yB,KACzD+yB,EAAe/yB,EACftB,EAAY,CACV78E,KAAMgkE,EAAQn8C,MACdgpF,aAAcr8G,KAKtB,OAAOqoF,IAKX,CACEpwF,KAAM,gBACNmkH,IAAK,SAAap0B,EAAgBje,EAAUh3D,EAAUg1E,EAAiB11E,GACrE,IAAIg2E,EAAY,KAIhB,GAFAh2E,EAAcA,GAAe,EAEzB03D,EAAS4yC,qBAAuB5yC,EAAS4yC,oBAAoBv2G,OAG/D,IAFA,IAAIs2G,EAAe,KAEV18G,EAAI,EAAGA,EAAI+pE,EAAS4yC,oBAAoBv2G,OAAQpG,IAAK,CAC5D,IAAIq8G,EAAetyC,EAAS4yC,oBAAoB38G,GAC5C26E,EAAgB5Q,EAAS6yC,sBAAwB58G,EAAI,EACrD68G,EAAoB70B,EAAe80B,gBAAgBniC,GAEvD,GAAIkiC,EAAmB,CACrB,IAAIlzB,EAAW3qF,KAAK4hE,IAAIvuD,EAAcwqG,EAAkBrxG,MAIxD,GAAqB,OAAjBkxG,GAAyBA,EAAe/yB,EAC1C,QAGGtB,GAA8B,OAAjBq0B,GAAyBA,GAAgB/yB,KACzD+yB,EAAe/yB,EACftB,EAAY,CACV78E,KAAMqxG,EAAkBrxG,KACxB6wG,aAAcA,KAMxB,OAAOh0B,IAKX,CACEpwF,KAAM,WACNmkH,IAAK,SAAap0B,EAAgBje,EAAUh3D,EAAUg1E,EAAiB11E,GACrE,GAAI03D,EAASqa,SAAU,CACrB,IAAIiE,EAAY,CACd78E,KAAMu+D,EAASqa,SAAS54E,KACxB6wG,aAActyC,EAASqa,SAASG,cAAgBxa,EAASwa,eAG3D,OAAO8D,EAET,OAAO,QAIXtzE,EAAQonG,oBAAsBA,EAE9B,IAAIY,EAAiB,SAAWtvC,GAG9B,SAASsvC,IACP,IAAI31F,EAAU7nB,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAEnFkmE,EAAgB5vE,KAAMknH,GAEtB5xC,EAAK9wE,OAAOsxE,eAAeoxC,EAAetoG,WAAY,cAAe5e,MAAMye,KAAKze,MAGhFA,KAAKmnH,mBAAgBnhG,EAGrBhmB,KAAK6tF,UAAY,GACjB7tF,KAAKinH,gBAAkB,GACvBjnH,KAAKymH,sBAAwB,KAEzBl1F,EAAQ7J,QACV1nB,KAAKonH,QAAU/jD,EAAU,WAAW78C,IAAItX,KAAKm0D,EAAU,WAAY,uBAuavE,OAzbAhC,EAAU6lD,EAAgBtvC,GAsC1BnI,EAAay3C,EAAgB,CAAC,CAC5BhkH,IAAK,eACLZ,MAAO,SAAsB4xE,EAAUh3D,EAAUg1E,EAAiB11E,GAChE,IAAI6qG,EAAarnH,KAAKsnH,eAAepzC,EAAUh3D,EAAUg1E,EAAiB11E,GAE1E,OAAK6qG,EAAW92G,OAUTvQ,KAAKunH,iBAAiBF,EAAY,CAAEnkH,IAAK,OAAQZ,MAAOka,IANtD,OAoBV,CACDtZ,IAAK,iBACLZ,MAAO,SAAwB4xE,EAAUh3D,GACvC,IAAKg3D,IAAaA,EAASqG,SACzB,OAAO,KAGT,IAAI8sC,EAAarnH,KAAKsnH,eAAepzC,EAAUh3D,EAAUg3D,EAAS6yC,sBAAuB,GAGzF,IAAKM,EAAW92G,OACd,OAAO,KAGT,IAAIiiF,EAAYxyF,KAAKunH,iBAAiBF,EAAY,CAChDnkH,IAAK,eACLZ,MAAO,IAST,OAJIkwF,EAAUg0B,aAAe,IAC3Bh0B,EAAU78E,OAAS,GAGdxM,KAAK4hE,IAAIynB,EAAU78E,MAAO,EAAIy5E,EAAUo4B,cAActzC,EAAUse,EAAUg0B,aAAc,MAiBhG,CACDtjH,IAAK,iBACLZ,MAAO,SAAwB4xE,EAAUh3D,EAAUg1E,EAAiB11E,GAIlE,IAHA,IAAI6qG,EAAa,GAGRl9G,EAAI,EAAGA,EAAIm8G,EAAoB/1G,OAAQpG,IAAK,CACnD,IAAIs9G,EAAWnB,EAAoBn8G,GAC/BqoF,EAAYi1B,EAASlB,IAAIvmH,KAAMk0E,EAAUh3D,EAAUg1E,EAAiB11E,GAEpEg2E,IACFA,EAAUi1B,SAAWA,EAASrlH,KAC9BilH,EAAWz0G,KAAK,CACd60G,SAAUA,EAASrlH,KACnBowF,UAAWA,IAEbxyF,KAAKonH,QAAQ,wBAA0BK,EAASrlH,KAAO,KAAMowF,IAIjE,OAAO60B,IAkBR,CACDnkH,IAAK,mBACLZ,MAAO,SAA0B+kH,EAAY52G,GAK3C,IAJA,IAAIi3G,EAAgBL,EAAW,GAAG70B,UAC9Bm1B,EAAex+G,KAAK4hE,IAAIs8C,EAAW,GAAG70B,UAAU/hF,EAAOvN,KAAOuN,EAAOnO,OACrEslH,EAAeP,EAAW,GAAGI,SAExBt9G,EAAI,EAAGA,EAAIk9G,EAAW92G,OAAQpG,IAAK,CAC1C,IAAI09G,EAAc1+G,KAAK4hE,IAAIs8C,EAAWl9G,GAAGqoF,UAAU/hF,EAAOvN,KAAOuN,EAAOnO,OAEpEulH,EAAcF,IAChBA,EAAeE,EACfH,EAAgBL,EAAWl9G,GAAGqoF,UAC9Bo1B,EAAeP,EAAWl9G,GAAGs9G,UAKjC,OADAznH,KAAKonH,QAAQ,4BAA8BQ,EAAe,aAAcF,GACjEA,IAWR,CACDxkH,IAAK,yBACLZ,MAAO,SAAgCwlH,EAAa3O,GAKlD,IAJA,IAAI4O,EAAoB5O,EAAYzqB,cAAgBo5B,EAAYp5B,cAIvDvkF,EAAI49G,EAAoB,EAAG59G,GAAK,EAAGA,IAAK,CAC/C,IAAI69G,EAAqBF,EAAYvtC,SAASpwE,GAE9C,GAAI69G,GAA0D,qBAA7BA,EAAmBxqF,MAAuB,CACzE27E,EAAY5qB,SAAW,CACrBG,cAAeo5B,EAAYp5B,cAAgBvkF,EAC3CwL,KAAMqyG,EAAmBxqF,OAE3Bx9B,KAAKonH,QAAQ,iBAAkBjO,EAAY5qB,UAC3CvuF,KAAKse,QAAQ,kBACb,UAWL,CACDpb,IAAK,qBACLZ,MAAO,SAA4B4xE,GACjC,IAAKl0E,KAAKymH,uBAAyBvyC,EAASwyC,eAAgB,CAC1D,IAAIuB,EAAoB/zC,EAASwyC,eAAez3F,UAAY,IAE5DjvB,KAAKymH,uBAAyBwB,KAQjC,CACD/kH,IAAK,QACLZ,MAAO,WACLtC,KAAKmnH,mBAAgBnhG,IAWtB,CACD9iB,IAAK,mBACLZ,MAAO,SAA0BinF,GAC/B,IAAI5P,EAAU4P,EAAY5P,QACtBzF,EAAWqV,EAAYrV,SACvBg0C,OAAaliG,EAuBjB,OApBEkiG,EADEvuC,EAAQt1E,IACGrE,KAAKmoH,iBAAiB5+B,GAEtBvpF,KAAKooH,gBAAgB7+B,GAGhC2+B,GACEloH,KAAKqoH,6BAA6B9+B,EAAa2+B,KACjDloH,KAAKsoH,2BAA2B/+B,GAI3BrV,EAASqa,WACZra,EAASqa,SAAW,CAClBG,cAAexa,EAASwa,cAAgBnF,EAAYuD,WACpDn3E,KAAMgkE,EAAQn8C,SAMf0qF,IAWR,CACDhlH,IAAK,mBACLZ,MAAO,SAA0BinF,GAC/B,IAAI5P,EAAU4P,EAAY5P,QACtB4uC,EAAanC,EAAmB,WAAW73C,UAAUoL,EAAQt1E,IAAIytE,OACjE/yC,EAAYqnF,EAAmB,WAAWrnF,UAAUwpF,EAAYh/B,EAAYzX,OAMhF,OAJoC,OAAhCyX,EAAYrQ,kBACdqQ,EAAYrQ,iBAAmBn6C,GAG1B,CACLvB,MAAOuB,EACP71B,IAAK61B,EAAY46C,EAAQz8D,YAY5B,CACDha,IAAK,kBACLZ,MAAO,SAAyBinF,GAC9B,IAAIi/B,GAAW,EAAInC,EAA4B37B,SAASnB,EAAYzX,MAAO9xE,KAAKmnH,eAC5EsB,OAAmBziG,EACnB0iG,OAAiB1iG,EAErB,OAAKwiG,GAIDA,EAAS/0G,OAAmC,IAA1B+0G,EAAS/0G,MAAMlD,QACnCvQ,KAAKmnH,cAAgBqB,EAAS/0G,MAAM,GAAGorE,IACvC4pC,EAAmBD,EAAS/0G,MAAM,GAAGi2E,QACrCg/B,EAAiBF,EAAS/0G,MAAM,GAAGi2E,SAC1B8+B,EAASl9E,OAAmC,IAA1Bk9E,EAASl9E,MAAM/6B,SAC1CvQ,KAAKmnH,cAAgBqB,EAASl9E,MAAM,GAAGuzC,IACvC4pC,EAAmBD,EAASl9E,MAAM,GAAGo+C,QACrCg/B,EAAiBF,EAASl9E,MAAM,GAAGo+C,SAG9B,CACLlsD,MAAOirF,EACPv/G,IAAKw/G,EACLC,cAAeH,EAAS/0G,OAAmC,IAA1B+0G,EAAS/0G,MAAMlD,OAChDq4G,cAAeJ,EAASl9E,OAAmC,IAA1Bk9E,EAASl9E,MAAM/6B,SAjBzC,OAoBV,CACDrN,IAAK,6BACLZ,MAAO,SAAoC4qF,GACzC,MAAwC,qBAA7BltF,KAAK6tF,UAAUX,GACjB,KAEFltF,KAAK6tF,UAAUX,GAAUv3E,OAEjC,CACDzS,IAAK,qBACLZ,MAAO,SAA4B4qF,GACjC,MAAwC,qBAA7BltF,KAAK6tF,UAAUX,GACjB,KAEFltF,KAAK6tF,UAAUX,GAAUhW,UAejC,CACDh0E,IAAK,+BACLZ,MAAO,SAAsCinF,EAAa2+B,GACxD,IAAIvuC,EAAU4P,EAAY5P,QACtB2U,EAAatuF,KAAK6tF,UAAUtE,EAAY2D,UAE5C,GAAoC,OAAhC3D,EAAYrQ,gBACdl5E,KAAKonH,QAAQ,OAAQ79B,EAAYrQ,iBAEjCoV,EAAa,CACX34E,KAAM4zE,EAAY+D,eAClBpW,QAASqS,EAAY+D,eAAiB46B,EAAW1qF,OAEnDx9B,KAAK6tF,UAAUtE,EAAY2D,UAAYoB,EACvCtuF,KAAKse,QAAQ,mBAEbq7D,EAAQn8C,MAAQ+rD,EAAY+D,eAC5B3T,EAAQzwE,IAAMg/G,EAAWh/G,IAAMolF,EAAWpX,YACrC,KAAIoX,EAIT,OAAO,EAHP3U,EAAQn8C,MAAQ0qF,EAAW1qF,MAAQ8wD,EAAWpX,QAC9CyC,EAAQzwE,IAAMg/G,EAAWh/G,IAAMolF,EAAWpX,QAK5C,OAAO,IAWR,CACDh0E,IAAK,6BACLZ,MAAO,SAAoCinF,GACzC,IAAIrV,EAAWqV,EAAYrV,SACvByF,EAAU4P,EAAY5P,QAK1B,GAAIA,EAAQmL,cACV9kF,KAAKinH,gBAAgBttC,EAAQuT,UAAY,CACvCv3E,KAAMgkE,EAAQn8C,MACdqrF,SAAU,QAEP,GAAI30C,EAAS4yC,oBAAoBv2G,OAGtC,IAAK,IAAIpG,EAAI,EAAGA,EAAI+pE,EAAS4yC,oBAAoBv2G,OAAQpG,IAAK,CAC5D,IAAIq8G,EAAetyC,EAAS4yC,oBAAoB38G,GAC5C26E,EAAgB5Q,EAAS6yC,sBAAwB58G,EAAI,EACrD2+G,EAAiBtC,EAAej9B,EAAYuD,WAC5C+7B,EAAW1/G,KAAK4hE,IAAI+9C,GAExB,IAAK9oH,KAAKinH,gBAAgBniC,IAAkB9kF,KAAKinH,gBAAgBniC,GAAe+jC,SAAWA,EAAU,CACnG,IAAIlzG,OAAOqQ,EAGTrQ,EADEmzG,EAAiB,EACZnvC,EAAQn8C,OAAQ,EAAI4xD,EAAUo4B,cAActzC,EAAUqV,EAAYuD,WAAY05B,GAE9E7sC,EAAQzwE,KAAM,EAAIkmF,EAAUo4B,cAActzC,EAAUqV,EAAYuD,WAAa,EAAG05B,GAGzFxmH,KAAKinH,gBAAgBniC,GAAiB,CACpCnvE,KAAMA,EACNkzG,SAAUA,OAanB,CACD3lH,IAAK,UACLZ,MAAO,gBAGF4kH,EA1bY,CA2blB7jD,EAAU,WAAWnvC,aAExBhV,EAAQ,WAAagoG,G,kCC5lBrB,W,mBCAAjoG,EAAOC,QAAU,slD,kCCOjB,IAAIqlG,EAGJA,EAAS,SAAS7gH,EAAMshH,GACtB,IAgCE76G,EA7BA4+G,EAAQ,EAKRC,EAAkB,MAIlBC,EAAe,SAASC,EAAK3gD,GAC3B,IACEuJ,EACAq3C,EAAYD,EAAIp9G,SAAWy8D,EACzB4gD,EAAYD,EAAIp3C,MAAMzyD,aAM1ByyD,EAAQ,IAAIlB,WAAuB,EAAZu4C,GACvBr3C,EAAMpwD,IAAIwnG,EAAIp3C,MAAM1yD,SAAS,EAAG8pG,EAAIp9G,UAAW,GAC/Co9G,EAAIp3C,MAAQA,EACZo3C,EAAIhoC,KAAO,IAAIC,SAAS+nC,EAAIp3C,MAAMrF,UAIpC28C,EAAa7E,EAAO6E,YAAc,IAAIx4C,WAAW,QAAQrgE,QACzD84G,EAAc9E,EAAO8E,aAAe,IAAIz4C,WAAW,SAASrgE,QAC5D+4G,EAAoB/E,EAAO+E,mBAAqB,IAAI14C,WAAW,eAAergE,QAGhF,IAAKg0G,EAAO6E,WAAY,CAKtB,IAAKj/G,EAAI,EAAGA,EAAI,QAAQoG,OAAQpG,IAC9Bi/G,EAAWj/G,GAAK,QAAQg+D,WAAWh+D,GAErC,IAAKA,EAAI,EAAGA,EAAI,SAASoG,OAAQpG,IAC/Bk/G,EAAYl/G,GAAK,SAASg+D,WAAWh+D,GAEvC,IAAKA,EAAI,EAAGA,EAAI,eAAeoG,OAAQpG,IACrCm/G,EAAkBn/G,GAAK,eAAeg+D,WAAWh+D,GAGnDo6G,EAAO6E,WAAaA,EACpB7E,EAAO8E,YAAcA,EACrB9E,EAAO+E,kBAAoBA,EAK7B,OAFAtpH,KAAK2/E,UAAW,EAERj8E,GACR,KAAK6gH,EAAOG,UACV1kH,KAAKuQ,OAAS,GAEdy4G,GAAmB,EACnB,MACF,KAAKzE,EAAOa,UACVplH,KAAKuQ,OAAS,GACdvQ,KAAK2/E,UAAW,EAChB,MACF,KAAK4kC,EAAOC,aACVxkH,KAAKuQ,OAAS,GACdvQ,KAAK2/E,UAAW,EAChB,MACF,QACE,MAAM,IAAIh+D,MAAM,wBAGlB3hB,KAAK8xE,MAAQ,IAAIlB,WAAWo4C,GAC5BhpH,KAAKkhF,KAAO,IAAIC,SAASnhF,KAAK8xE,MAAMrF,QACpCzsE,KAAK8xE,MAAM,GAAKpuE,EAChB1D,KAAK8L,SAAW9L,KAAKuQ,OACrBvQ,KAAK2/E,SAAWqlC,EAGhBhlH,KAAKo3E,IAAM,EAEXp3E,KAAK6+E,IAAM,EAGX7+E,KAAK6kH,WAAa,SAAS/yC,EAAOgJ,EAAQvqE,GACxC,IAEErH,EADAs0B,EAAQs9C,GAAU,EAEpBvqE,EAASA,GAAUuhE,EAAMzyD,WACzBnW,EAAMs0B,EAAQjtB,EAEd04G,EAAajpH,KAAMuQ,GACnBvQ,KAAK8xE,MAAMpwD,IAAIowD,EAAM1yD,SAASoe,EAAOt0B,GAAMlJ,KAAK8L,UAEhD9L,KAAK8L,UAAYyE,EACjBvQ,KAAKuQ,OAASpH,KAAKjD,IAAIlG,KAAKuQ,OAAQvQ,KAAK8L,WAI3C9L,KAAK2kH,UAAY,SAAS4E,GACxBN,EAAajpH,KAAM,GACnBA,KAAK8xE,MAAM9xE,KAAK8L,UAAYy9G,EAC5BvpH,KAAK8L,WACL9L,KAAKuQ,OAASpH,KAAKjD,IAAIlG,KAAKuQ,OAAQvQ,KAAK8L,WAI3C9L,KAAK4kH,WAAa,SAAS4E,GACzBP,EAAajpH,KAAM,GACnBA,KAAKkhF,KAAKqkC,UAAUvlH,KAAK8L,SAAU09G,GACnCxpH,KAAK8L,UAAY,EACjB9L,KAAKuQ,OAASpH,KAAKjD,IAAIlG,KAAKuQ,OAAQvQ,KAAK8L,WAK3C9L,KAAKypH,SAAW,SAAS58C,GACvB,OAAO7sE,KAAK8xE,MAAM9xE,KAAKuQ,OAASs8D,IAMlC7sE,KAAK0pH,YAAc,WACjB,OAAc,IAAVX,EACK,EAGF/oH,KAAKuQ,QAAUw4G,EAAQ,IAGhC/oH,KAAK+lH,aAAe,WAElB,GAAIgD,EAAQ,EACV,MAAM,IAAIpnG,MAAM,0DAIlBonG,EAAQ/oH,KAAKuQ,OACbvQ,KAAKuQ,QAAU,EACfvQ,KAAK8L,SAAW9L,KAAKuQ,QAIvBvQ,KAAK8lH,WAAa,SAAS6D,GACzB,IACEC,EACAC,EAGE7pH,KAAKuQ,SAAWw4G,EAAQ,EAE1B/oH,KAAKuQ,QAAU,EACNw4G,EAAQ,IACjBa,EAAWb,EAAQ,EACnBc,EAAY7pH,KAAKuQ,OAASq5G,EAE1B5pH,KAAK8L,SAAWi9G,EAChB/oH,KAAKkhF,KAAKE,UAAUphF,KAAK8L,SAAU+9G,GACnC7pH,KAAK8L,SAAW9L,KAAKuQ,OAEjBo5G,GAEFA,EAAa/2G,KAAK5S,KAAK8xE,MAAM1yD,SAASwqG,EAAUA,EAAWC,KAI/Dd,EAAQ,GAQV/oH,KAAKykH,oBAAsB,SAASvhH,EAAKknB,GACvC,IAAIjgB,EAWJ,GAVA8+G,EAAajpH,KAAM,EAAIkD,EAAIqN,OAAS,GAGpCvQ,KAAKkhF,KAAKqkC,UAAUvlH,KAAK8L,SAAU5I,EAAIqN,QACvCvQ,KAAK8L,UAAY,EAML,UAAR5I,EACFlD,KAAK8xE,MAAMpwD,IAAI0nG,EAAYppH,KAAK8L,UAChC9L,KAAK8L,UAAY,OACZ,GAAY,WAAR5I,EACTlD,KAAK8xE,MAAMpwD,IAAI2nG,EAAarpH,KAAK8L,UACjC9L,KAAK8L,UAAY,OACZ,GAAY,iBAAR5I,EACTlD,KAAK8xE,MAAMpwD,IAAI4nG,EAAmBtpH,KAAK8L,UACvC9L,KAAK8L,UAAY,QAEjB,IAAK3B,EAAI,EAAGA,EAAIjH,EAAIqN,OAAQpG,IAC1BnK,KAAK8xE,MAAM9xE,KAAK8L,UAAY5I,EAAIilE,WAAWh+D,GAC3CnK,KAAK8L,WAKT9L,KAAK8L,WAGL9L,KAAKkhF,KAAK4oC,WAAW9pH,KAAK8L,SAAUse,GACpCpqB,KAAK8L,UAAY,EAGjB9L,KAAKuQ,OAASpH,KAAKjD,IAAIlG,KAAKuQ,OAAQvQ,KAAK8L,YACvCi9G,GAIJ/oH,KAAKslH,qBAAuB,SAASpiH,EAAKknB,GACxC,IAAIjgB,EAIJ,IAHA8+G,EAAajpH,KAAM,GACnBA,KAAKkhF,KAAKqkC,UAAUvlH,KAAK8L,SAAU5I,EAAIqN,QACvCvQ,KAAK8L,UAAY,EACZ3B,EAAI,EAAGA,EAAIjH,EAAIqN,OAAQpG,IAE1B8+G,EAAajpH,KAAM,GACnBA,KAAK8xE,MAAM9xE,KAAK8L,UAAY5I,EAAIilE,WAAWh+D,GAC3CnK,KAAK8L,WAEPm9G,EAAajpH,KAAM,GACnBA,KAAKkhF,KAAKglC,SAASlmH,KAAK8L,SAAU,GAClC9L,KAAK8L,WACL9L,KAAKkhF,KAAKglC,SAASlmH,KAAK8L,SAAUse,EAAM,EAAO,GAC/CpqB,KAAK8L,WACL9L,KAAKuQ,OAASpH,KAAKjD,IAAIlG,KAAKuQ,OAAQvQ,KAAK8L,YACvCi9G,GAIJ/oH,KAAKqlH,SAAW,WACd,IACE0E,EACA5d,EAEF,OAAQnsG,KAAK8xE,MAAM,IAEnB,KAAKyyC,EAAOG,UAGV1kH,KAAK8xE,MAAM,IAAqD,GAA7C9xE,KAAK2/E,UAAYqlC,EAAa,GAAO,IACxDhlH,KAAK8xE,MAAM,IAAMkzC,EAAa,EAAO,EAErC+E,EAAW/pH,KAAKo3E,IAAMp3E,KAAK6+E,IAC3B7+E,KAAK8xE,MAAM,KAAkB,SAAXi4C,KAA2B,GAC7C/pH,KAAK8xE,MAAM,KAAkB,MAAXi4C,KAA4B,EAC9C/pH,KAAK8xE,MAAM,KAAkB,IAAXi4C,KAA4B,EAC9C,MAEF,KAAKxF,EAAOa,UACVplH,KAAK8xE,MAAM,IAAM,IACjB9xE,KAAK8xE,MAAM,IAAMkzC,EAAY,EAAO,EACpC,MAEF,KAAKT,EAAOC,aACVxkH,KAAK8L,SAAW,GAChB9L,KAAKkhF,KAAKglC,SAASlmH,KAAK8L,SAAU,GAClC9L,KAAK8L,WACL9L,KAAKkhF,KAAKqkC,UAAUvlH,KAAK8L,SAAU,IACnC9L,KAAK8L,UAAY,EAEjB9L,KAAK8xE,MAAMpwD,IAAI,CAAC,IAAM,IAAM,GAAM,IAClB,IAAM,GAAM,GAAM,GAClB,IAAM,IAAO1hB,KAAK8L,UAClC9L,KAAK8L,UAAY,GACjB9L,KAAK8xE,MAAM9xE,KAAK8L,UAAY,EAC5B9L,KAAK8L,WACL9L,KAAKkhF,KAAKE,UAAUphF,KAAK8L,SAAUi9G,GACnC/oH,KAAK8L,SAAW9L,KAAKuQ,OACrBvQ,KAAK8xE,MAAMpwD,IAAI,CAAC,EAAG,EAAG,GAAI1hB,KAAK8L,UAC/B9L,KAAK8L,UAAY,EACjB9L,KAAKuQ,OAASvQ,KAAK8L,SACnB,MA8BF,OA3BAqgG,EAAMnsG,KAAKuQ,OAAS,GAGpBvQ,KAAK8xE,MAAO,IAAY,SAANq6B,KAAsB,GACxCnsG,KAAK8xE,MAAO,IAAY,MAANq6B,KAAuB,EACzCnsG,KAAK8xE,MAAO,IAAY,IAANq6B,KAAuB,EAEzCnsG,KAAK8xE,MAAO,IAAiB,SAAX9xE,KAAK6+E,OAAsB,GAC7C7+E,KAAK8xE,MAAO,IAAiB,MAAX9xE,KAAK6+E,OAAuB,EAC9C7+E,KAAK8xE,MAAO,IAAiB,IAAX9xE,KAAK6+E,OAAuB,EAC9C7+E,KAAK8xE,MAAO,IAAiB,WAAX9xE,KAAK6+E,OAAsB,GAE7C7+E,KAAK8xE,MAAO,GAAK,EACjB9xE,KAAK8xE,MAAO,GAAK,EACjB9xE,KAAK8xE,MAAM,IAAM,EAIjBm3C,EAAajpH,KAAM,GACnBA,KAAKkhF,KAAKE,UAAUphF,KAAKuQ,OAAQvQ,KAAKuQ,QACtCvQ,KAAKuQ,QAAU,EACfvQ,KAAK8L,UAAY,EAGjB9L,KAAK8xE,MAAQ9xE,KAAK8xE,MAAM1yD,SAAS,EAAGpf,KAAKuQ,QACzCvQ,KAAKgqH,UAAYzF,EAAOyF,UAAUhqH,KAAK8xE,OAEhC9xE,OAIXukH,EAAOa,UAAY,EACnBb,EAAOG,UAAY,EACnBH,EAAOC,aAAe,GAGtBD,EAAO0F,aAAe,SAASr/G,GAC7B,OAAO25G,EAAOa,YAAcx6G,EAAI,IAIlC25G,EAAO2F,aAAe,SAASt/G,GAC7B,OAAO25G,EAAOG,YAAc95G,EAAI,IAIlC25G,EAAO4F,WAAa,SAASv/G,GAC3B,OAAO25G,EAAOC,eAAiB55G,EAAI,IAIrC25G,EAAO6F,WAAa,SAASx/G,GAC3B,OAAI25G,EAAO2F,aAAat/G,GACH,KAAZA,EAAI,MAGT25G,EAAO0F,aAAar/G,MAIpB25G,EAAO4F,WAAWv/G,IAQxB25G,EAAOyF,UAAY,SAASp/G,GAC1B,IAAIwsE,EAAMxsE,EAAK,IAAM,GAIrB,OAHAwsE,GAAOxsE,EAAK,IAAO,EACnBwsE,GAAOxsE,EAAK,IAAO,EACnBwsE,GAAOxsE,EAAK,IAAM,GACXwsE,GAGTn4D,EAAOC,QAAUqlG,G,kCC1WjB//G,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAI+nH,EAAiB,WAAe,SAASC,EAAchlC,EAAKn7E,GAAK,IAAIogH,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAW7pH,OAAKolB,EAAW,IAAM,IAAK,IAAiC1iB,EAA7BovB,EAAK4yD,EAAI7gE,OAAOC,cAAmB8lG,GAAMlnH,EAAKovB,EAAGqf,QAAQy/B,MAAOg5C,GAAK,EAA6B,GAArBD,EAAK33G,KAAKtP,EAAGhB,OAAY6H,GAAKogH,EAAKh6G,SAAWpG,EAAG,MAAW,MAAOuM,GAAO+zG,GAAK,EAAM7pH,EAAK8V,EAAO,QAAU,KAAW8zG,GAAM93F,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAI+3F,EAAI,MAAM7pH,GAAQ,OAAO2pH,EAAQ,OAAO,SAAUjlC,EAAKn7E,GAAK,GAAIhG,MAAMC,QAAQkhF,GAAQ,OAAOA,EAAY,GAAI7gE,OAAOC,YAAYlgB,OAAO8gF,GAAQ,OAAOglC,EAAchlC,EAAKn7E,GAAa,MAAM,IAAIyX,UAAU,yDAAlkB,GAErB,SAASshD,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,IAAIk/D,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAGnCsnD,EAAoB,EAAI,GAMxB7V,EAAsC,EAApB6V,EASlBC,EAAQ,SAAe1wF,EAAKiiC,GAC9B,IAAIW,EAAQwtD,EAAenuD,EAAM,GAE7B1+B,EAAQq/B,EAAM,GACd3zD,EAAM2zD,EAAM,GAEhB,OAAO1zD,KAAKnD,IAAImD,KAAKjD,IAAIs3B,EAAOvD,GAAM/wB,IAEpC0hH,EAAe,SAAsBC,EAAYh/F,GACnD,IAAI4iD,EAAU,GACVtkE,OAAI6b,EAER,GAAI6kG,GAAcA,EAAWt6G,OAE3B,IAAKpG,EAAI,EAAGA,EAAI0gH,EAAWt6G,OAAQpG,IAC7B0hB,EAAUg/F,EAAWrtF,MAAMrzB,GAAI0gH,EAAW3hH,IAAIiB,KAChDskE,EAAQ77D,KAAK,CAACi4G,EAAWrtF,MAAMrzB,GAAI0gH,EAAW3hH,IAAIiB,KAKxD,OAAOk5D,EAAU,WAAW5lC,iBAAiBgxC,IAU3CsmC,EAAY,SAAmBp3E,EAAUhoB,GAC3C,OAAOi1G,EAAajtF,GAAU,SAAUH,EAAOt0B,GAC7C,OAAOs0B,EAAQktF,GAAqB/0G,GAAQzM,EAAMwhH,GAAqB/0G,MAUvEm1G,EAAgB,SAAuBD,EAAYl1G,GACrD,OAAOi1G,EAAaC,GAAY,SAAUrtF,GACxC,OAAOA,EAAQktF,GAAqB/0G,MASpCo1G,EAAW,SAAkBptF,GAC/B,GAAIA,EAASptB,OAAS,EACpB,OAAO8yD,EAAU,WAAW5lC,mBAK9B,IAFA,IAAIJ,EAAS,GAEJlzB,EAAI,EAAGA,EAAIwzB,EAASptB,OAAQpG,IAAK,CACxC,IAAIqzB,EAAQG,EAASz0B,IAAIiB,EAAI,GACzBjB,EAAMy0B,EAASH,MAAMrzB,GAEzBkzB,EAAOzqB,KAAK,CAAC4qB,EAAOt0B,IAGtB,OAAOm6D,EAAU,WAAW5lC,iBAAiBJ,IAY3C2tF,EAAgC,SAAuC9oD,EAAU9rB,GACnF,IAAIjsC,OAAI6b,EACJwX,OAAQxX,EACR9c,OAAM8c,EACNlO,EAAS,GACTmzG,EAAQ,GAORC,EAAqB,SAA4BC,GACnD,OAAOA,EAAK,IAAMjiH,GAAOiiH,EAAK,IAAMjiH,GAGtC,GAAIg5D,EAEF,IAAK/3D,EAAI,EAAGA,EAAI+3D,EAAS3xD,OAAQpG,IAC/BqzB,EAAQ0kC,EAAS1kC,MAAMrzB,GACvBjB,EAAMg5D,EAASh5D,IAAIiB,GAEnB8gH,EAAMr4G,KAAK,CAAC4qB,EAAOt0B,IAIvB,GAAIktC,EAGF,IAAKjsC,EAAI,EAAGA,EAAIisC,EAAO7lC,OAAQpG,IAC7BqzB,EAAQ4Y,EAAO5Y,MAAMrzB,GACrBjB,EAAMktC,EAAOltC,IAAIiB,GAEb8gH,EAAM7xF,KAAK8xF,IAKfpzG,EAAOlF,KAAK1J,GAMhB,OAAsB,IAAlB4O,EAAOvH,OACF,KAGFuH,EAAO,IASZszG,EAAqB,SAA4BC,EAASC,GAC5D,IAAI9tF,EAAQ,KACRt0B,EAAM,KACNowE,EAAQ,EACRC,EAAU,GACVl8C,EAAS,GAEb,IAAKguF,IAAYA,EAAQ96G,SAAW+6G,IAAYA,EAAQ/6G,OACtD,OAAO8yD,EAAU,WAAWP,kBAK9B,IAAIyF,EAAQ8iD,EAAQ96G,OAGpB,MAAOg4D,IACLgR,EAAQ3mE,KAAK,CAAE+C,KAAM01G,EAAQ7tF,MAAM+qC,GAAQ7kE,KAAM,UACjD61E,EAAQ3mE,KAAK,CAAE+C,KAAM01G,EAAQniH,IAAIq/D,GAAQ7kE,KAAM,QAEjD6kE,EAAQ+iD,EAAQ/6G,OAChB,MAAOg4D,IACLgR,EAAQ3mE,KAAK,CAAE+C,KAAM21G,EAAQ9tF,MAAM+qC,GAAQ7kE,KAAM,UACjD61E,EAAQ3mE,KAAK,CAAE+C,KAAM21G,EAAQpiH,IAAIq/D,GAAQ7kE,KAAM,QASjD,IANA61E,EAAQG,MAAK,SAAUxyD,EAAGy1C,GACxB,OAAOz1C,EAAEvR,KAAOgnD,EAAEhnD,QAKf4yD,EAAQ,EAAGA,EAAQgR,EAAQhpE,OAAQg4D,IACV,UAAxBgR,EAAQhR,GAAO7kE,MACjB41E,IAIc,IAAVA,IACF97C,EAAQ+7C,EAAQhR,GAAO5yD,OAEQ,QAAxB4jE,EAAQhR,GAAO7kE,OACxB41E,IAIc,IAAVA,IACFpwE,EAAMqwE,EAAQhR,GAAO5yD,OAKX,OAAV6nB,GAA0B,OAARt0B,IACpBm0B,EAAOzqB,KAAK,CAAC4qB,EAAOt0B,IACpBs0B,EAAQ,KACRt0B,EAAM,MAIV,OAAOm6D,EAAU,WAAW5lC,iBAAiBJ,IAe3CkuF,EAA2B,SAAkCC,EAAeC,EAAgBjvG,EAAamhB,GAC3G,IAAI+tF,EAAoBD,EAAeviH,IAAI,GAAKuiH,EAAejuF,MAAM,GACjEmuF,EAAmBH,EAActiH,IAAI,GAAKsiH,EAAchuF,MAAM,GAC9DouF,EAA4BF,EAAoBC,EAChDE,EAAuBT,EAAmBI,EAAe7tF,GACzDmuF,EAAwBV,EAAmBK,EAAgB9tF,GAC3DouF,EAAkB,EAClBC,EAAmB,EAEnBzjD,EAAQsjD,EAAqBt7G,OAEjC,MAAOg4D,IACLwjD,GAAmBF,EAAqB3iH,IAAIq/D,GAASsjD,EAAqBruF,MAAM+qC,GAM5EsjD,EAAqBruF,MAAM+qC,KAAW/rD,IACxCuvG,GAAmBH,GAIvBrjD,EAAQujD,EAAsBv7G,OAE9B,MAAOg4D,IACLyjD,GAAoBF,EAAsB5iH,IAAIq/D,GAASujD,EAAsBtuF,MAAM+qC,GAKrF,OAAOp/D,KAAKjD,IAAI6lH,EAAiBC,GAAoBN,EAAoB,KAevEO,EAA4B,SAAmC3+B,EAAgB0E,EAAiBx1E,EAAamhB,GAC/G,IAAIuuF,EAAe5+B,EAAiB0E,EAGhCm6B,EAAuB9oD,EAAU,WAAW5lC,iBAAiB,CAAC,CAAC6vD,EAAgB4+B,KAQ/EE,EAAuB/oD,EAAU,WAAW5lC,iBAAiB,CAAC,CAACktF,EAAMr9B,EAAgB,CAAC9wE,EAAa0vG,IAAgBA,KAIvH,GAAIE,EAAqB5uF,MAAM,KAAO4uF,EAAqBljH,IAAI,GAC7D,OAAO,EAGT,IAAI20C,EAAU0tE,EAAyBa,EAAsBD,EAAsB3vG,EAAamhB,GAIhG,OAAIod,MAAM8C,IAAYA,IAAY7C,KAAY6C,KAAa7C,IAClD,EAGF6C,GASLwuE,EAAiB,SAAwB5mH,GAC3C,IAAI6mH,EAAS,GAEb,IAAK7mH,IAAUA,EAAM8K,OACnB,MAAO,GAGT,IAAK,IAAIpG,EAAI,EAAGA,EAAI1E,EAAM8K,OAAQpG,IAChCmiH,EAAO15G,KAAKnN,EAAM+3B,MAAMrzB,GAAK,OAAS1E,EAAMyD,IAAIiB,IAGlD,OAAOmiH,EAAOllG,KAAK,OAiBjB6qE,EAAoB,SAA2Bt0D,EAAUnhB,GAC3D,IAAImqC,EAAej9C,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,EAAIA,UAAU,GAEnFi0C,EAAchgB,EAASptB,OAASotB,EAASz0B,IAAIy0B,EAASptB,OAAS,GAAK,EAExE,OAAQotC,EAAcnhC,GAAemqC,GAGvCznC,EAAQ,WAAa,CACnB61F,UAAWA,EACX+V,cAAeA,EACfC,SAAUA,EACVC,8BAA+BA,EAC/BiB,0BAA2BA,EAC3BvB,kBAAmBA,EACnB7V,gBAAiBA,EACjBwX,eAAgBA,EAChBp6B,kBAAmBA,GAErBhzE,EAAOC,QAAUA,EAAQ,Y,kCC/WzB,SAASgkD,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAJzFM,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAI8gE,EAAW,EAAQ,QAEnB4nB,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAUxCuhC,EAAmB,SAA0Br4C,EAAUs4C,GACzD,IAAI10G,EAAS,EACT3N,EAAIqiH,EAAct4C,EAASwa,cAG3B/U,EAAUzF,EAASqG,SAASpwE,GAIhC,GAAIwvE,EAAS,CACX,GAA6B,qBAAlBA,EAAQn8C,MACjB,MAAO,CAAE1lB,OAAQ6hE,EAAQn8C,MAAOivF,SAAS,GAE3C,GAA2B,qBAAhB9yC,EAAQzwE,IACjB,MAAO,CACL4O,OAAQ6hE,EAAQzwE,IAAMywE,EAAQz8D,SAC9BuvG,SAAS,GAIf,MAAOtiH,IAAK,CAEV,GADAwvE,EAAUzF,EAASqG,SAASpwE,GACD,qBAAhBwvE,EAAQzwE,IACjB,MAAO,CAAE4O,OAAQA,EAAS6hE,EAAQzwE,IAAKujH,SAAS,GAKlD,GAFA30G,GAAU6hE,EAAQz8D,SAEW,qBAAlBy8D,EAAQn8C,MACjB,MAAO,CAAE1lB,OAAQA,EAAS6hE,EAAQn8C,MAAOivF,SAAS,GAGtD,MAAO,CAAE30G,OAAQA,EAAQ20G,SAAS,IAUhCC,EAAkB,SAAyBx4C,EAAUs4C,GAOvD,IANA,IAAI10G,EAAS,EACT6hE,OAAU3zD,EACV7b,EAAIqiH,EAAct4C,EAASwa,cAIxBvkF,EAAI+pE,EAASqG,SAAShqE,OAAQpG,IAAK,CAExC,GADAwvE,EAAUzF,EAASqG,SAASpwE,GACC,qBAAlBwvE,EAAQn8C,MACjB,MAAO,CACL1lB,OAAQ6hE,EAAQn8C,MAAQ1lB,EACxB20G,SAAS,GAMb,GAFA30G,GAAU6hE,EAAQz8D,SAES,qBAAhBy8D,EAAQzwE,IACjB,MAAO,CACL4O,OAAQ6hE,EAAQzwE,IAAM4O,EACtB20G,SAAS,GAKf,MAAO,CAAE30G,QAAS,EAAG20G,SAAS,IAgB5BE,EAAmB,SAA0Bz4C,EAAUs4C,EAAa/X,GACtE,IAAImY,OAAW5mG,EACX6mG,OAAU7mG,EAMd,MAJ2B,qBAAhBwmG,IACTA,EAAct4C,EAASwa,cAAgBxa,EAASqG,SAAShqE,QAGvDi8G,EAAct4C,EAASwa,cAClB,GAITk+B,EAAWL,EAAiBr4C,EAAUs4C,GAClCI,EAASH,QAIJG,EAAS90G,QAKlB+0G,EAAUH,EAAgBx4C,EAAUs4C,GAChCK,EAAQJ,QAGHI,EAAQ/0G,OAIV80G,EAAS90G,OAAS28F,KAkBvBv3F,EAAW,SAAkBg3D,EAAUs4C,EAAa/X,GACtD,IAAKvgC,EACH,OAAO,EAST,GANuB,kBAAZugC,IACTA,EAAU,GAKe,qBAAhB+X,EAA6B,CAEtC,GAAIt4C,EAAS44C,cACX,OAAO54C,EAAS44C,cAIlB,IAAK54C,EAASC,QACZ,OAAO8W,EAAe,WAAWjwC,SAKrC,OAAO2xE,EAAiBz4C,EAAUs4C,EAAa/X,IAGjDv1F,EAAQhC,SAAWA,EAYnB,IAAIsqG,EAAe,SAAsBtzC,EAAUkU,EAAYC,GAC7D,IAAI0kC,EAAY,EAEhB,GAAI3kC,EAAaC,EAAU,CACzB,IAAInsB,EAAO,CAACmsB,EAAUD,GACtBA,EAAalsB,EAAK,GAClBmsB,EAAWnsB,EAAK,GAGlB,GAAIksB,EAAa,EAAG,CAClB,IAAK,IAAIj+E,EAAIi+E,EAAYj+E,EAAIhB,KAAKnD,IAAI,EAAGqiF,GAAWl+E,IAClD4iH,GAAa74C,EAASo5B,eAExBllB,EAAa,EAGf,IAASj+E,EAAIi+E,EAAYj+E,EAAIk+E,EAAUl+E,IACrC4iH,GAAa74C,EAASqG,SAASpwE,GAAG+S,SAGpC,OAAO6vG,GAGT7tG,EAAQsoG,aAAeA,EAavB,IAAIwF,EAAgB,SAAuB94C,GACzC,IAAKA,EAASqG,SAAShqE,OACrB,OAAO,EAGT,IAAIpG,EAAI+pE,EAASqG,SAAShqE,OAAS,EAC/B08G,EAAkB/4C,EAASqG,SAASpwE,GAAG+S,UAAYg3D,EAASo5B,eAC5D4f,EAAeD,EAA4C,EAA1B/4C,EAASo5B,eAE9C,MAAOnjG,IAGL,GAFA8iH,GAAmB/4C,EAASqG,SAASpwE,GAAG+S,SAEpC+vG,GAAmBC,EACrB,MAIJ,OAAO/jH,KAAKjD,IAAI,EAAGiE,IAGrB+U,EAAQ8tG,cAAgBA,EAcxB,IAAIpY,EAAc,SAAqB1gC,EAAUugC,EAAS0Y,GACxD,IAAKj5C,IAAaA,EAASqG,SACzB,OAAO,KAET,GAAIrG,EAASC,QACX,OAAOj3D,EAASg3D,GAGlB,GAAgB,OAAZugC,EACF,OAAO,KAGTA,EAAUA,GAAW,EAErB,IAAI+X,EAAcW,EAAiBH,EAAc94C,GAAYA,EAASqG,SAAShqE,OAE/E,OAAOo8G,EAAiBz4C,EAAUA,EAASwa,cAAgB89B,EAAa/X,IAG1Ev1F,EAAQ01F,YAAcA,EAgBtB,IAAI9hE,EAAW,SAAkBohC,EAAUugC,GACzC,IAAI0Y,GAAiB,EACjBC,EAAgB3Y,GAAW,EAC3B4Y,EAAczY,EAAY1gC,EAAUugC,EAAS0Y,GAEjD,OAAoB,OAAhBE,GACK,EAAIjqD,EAASN,oBAEf,EAAIM,EAASN,iBAAiBsqD,EAAeC,IAGtDnuG,EAAQ4zB,SAAWA,EACnB,IAAIw6E,EAAgB,SAAuBrzF,GACzC,OAAOA,EAAM9wB,KAAKyxC,MAAM3gB,KAAS,GAG/BszF,EAAwB,SAA+BC,EAAWvzF,GAEpE,GAAIqzF,EAAcrzF,GAChB,OAAOA,EAAkB,GAAZuzF,EAKf,IAFA,IAAIC,EAAmBxzF,EAAIxZ,WAAWX,MAAM,KAAK,GAAGvP,OAE3CpG,EAAI,EAAGA,GAAKsjH,EAAkBtjH,IAAK,CAC1C,IAAIilE,EAAQjmE,KAAKomE,IAAI,GAAIplE,GACrBw3B,EAAO1H,EAAMm1C,EAEjB,GAAIk+C,EAAc3rF,IAASx3B,IAAMsjH,EAC/B,OAAQ9rF,EAAO6rF,GAAap+C,IAK9Bs+C,EAA4BH,EAAsBr+G,KAAK,KAAM,GAC7Dy+G,EAA6BJ,EAAsBr+G,KAAK,MAAO,GAa/D0+G,EAAsB,SAA6B15C,EAAU13D,EAAa4rE,EAAYrpD,GACxF,IAAI50B,OAAI6b,EACJ2zD,OAAU3zD,EACV6nG,EAAc35C,EAASqG,SAAShqE,OAEhCoF,EAAO6G,EAAcuiB,EAEzB,GAAIppB,EAAO,EAAG,CAGZ,GAAIyyE,EAAa,EACf,IAAKj+E,EAAIi+E,EAAa,EAAGj+E,GAAK,EAAGA,IAG/B,GAFAwvE,EAAUzF,EAASqG,SAASpwE,GAC5BwL,GAAQg4G,EAA2Bh0C,EAAQz8D,UACvCvH,EAAO,EACT,MAAO,CACLm3E,WAAY3iF,EACZ40B,UAAWA,EAAYyoF,EAAatzC,EAAUkU,EAAYj+E,IAOlE,MAAO,CACL2iF,WAAY,EACZ/tD,UAAWviB,GAOf,GAAI4rE,EAAa,EAAG,CAClB,IAAKj+E,EAAIi+E,EAAYj+E,EAAI,EAAGA,IAE1B,GADAwL,GAAQu+D,EAASo5B,eACb33F,EAAO,EACT,MAAO,CACLm3E,WAAY,EACZ/tD,UAAWviB,GAIjB4rE,EAAa,EAKf,IAAKj+E,EAAIi+E,EAAYj+E,EAAI0jH,EAAa1jH,IAGpC,GAFAwvE,EAAUzF,EAASqG,SAASpwE,GAC5BwL,GAAQ+3G,EAA0B/zC,EAAQz8D,UACtCvH,EAAO,EACT,MAAO,CACLm3E,WAAY3iF,EACZ40B,UAAWA,EAAYyoF,EAAatzC,EAAUkU,EAAYj+E,IAMhE,MAAO,CACL2iF,WAAY+gC,EAAc,EAC1B9uF,UAAWviB,IAIf0C,EAAQ0uG,oBAAsBA,EAQ9B,IAAIE,EAAgB,SAAuB55C,GACzC,OAAOA,EAAS4gC,cAAgB5gC,EAAS4gC,aAAe/+F,KAAKC,OAG/DkJ,EAAQ4uG,cAAgBA,EASxB,IAAIl9B,EAAiB,SAAwB1c,GAC3C,OAAOA,EAAS4gC,cAAgB5gC,EAAS4gC,eAAiB95D,KAG5D97B,EAAQ0xE,eAAiBA,EAQzB,IAAIE,EAAY,SAAmB5c,GACjC,IAAI65C,EAAcD,EAAc55C,GAEhC,OAAQA,EAAS5uE,WAAayoH,GAGhC7uG,EAAQ4xE,UAAYA,EAQpB,IAAIC,EAAa,SAAoB7c,GACnC,OAAOA,EAAS5uE,UAGlB4Z,EAAQ6xE,WAAaA,EAMrB,IAAI6iB,EAAQ,SAAe3/B,GACzB,IAAK,IAAI9pE,EAAI,EAAGA,EAAI8pE,EAAMsG,SAAShqE,OAAQpG,IACzC,GAAI8pE,EAAMsG,SAASpwE,GAAGjH,IACpB,OAAO,EAGX,OAAO,GAGTgc,EAAQ00F,MAAQA,EAMhB,IAAIC,EAAS,SAAgB5/B,GAC3B,IAAK,IAAI9pE,EAAI,EAAGA,EAAI8pE,EAAMsG,SAAShqE,OAAQpG,IACzC,GAAI8pE,EAAMsG,SAASpwE,GAAG9F,IACpB,OAAO,EAGX,OAAO,GAGT6a,EAAQ20F,OAASA,EAYjB,IAAI7wE,EAAe,SAAsBssB,EAAM4kB,GAC7C,OAAOA,EAASjqD,YAAciqD,EAASjqD,WAAWqlC,IAGpDpwC,EAAQ8jB,aAAeA,EAiBvB,IAAI2vD,EAA6B,SAAoCX,EAAiB/K,EAAW/S,GAC/F,IAAI8S,EAAgBt9E,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,EAAIA,UAAU,GAExF,IAAKs5B,EAAa,YAAakxC,GAC7B,OAAOrkB,IAGT,IAAIppD,EAAOurF,EAAkB9d,EAASjqD,WAAW8lE,UAEjD,OAAQtpF,EAAuB,EAAhBugF,GAAqBC,GAGtC/nE,EAAQyzE,2BAA6BA,EAMrC,IAAI4f,EAA2B,SAAkCh+B,EAAQN,GACvE,GAAgC,IAA5BM,EAAOmc,UAAUngF,OACnB,OAAO,EAGT,IAAIy9G,EAAmB/5C,EAAMhqD,WAAW8lE,WAAapqF,OAAOqqF,UAE5D,OAMc,IANPzb,EAAOmc,UAAU3oE,QAAO,SAAUmsD,GACvC,QAAK4c,EAAU5c,KAIPA,EAASjqD,WAAW8lE,WAAa,GAAKi+B,KAC7Cz9G,QAGL2O,EAAQqzF,yBAA2BA,EAEnCrzF,EAAQ,WAAa,CACnBhC,SAAUA,EACV41B,SAAUA,EACVk6E,cAAeA,EACfY,oBAAqBA,EACrB98B,UAAWA,EACXC,WAAYA,EACZ+8B,cAAeA,EACfl9B,eAAgBA,EAChBgkB,YAAaA,EACbhB,MAAOA,EACPC,OAAQA,EACR7wE,aAAcA,EACd2vD,2BAA4BA,EAC5B4f,yBAA0BA,I,kCC5jB5B,IAAI+N,EAA4B,CAC9B,KACA,MACA,KACA,KACA,MACA,KACA,KACA,MACA,KACA,KACA,MACA,IACA,MAGE9J,EAAuB,SAASpwG,GAClC,OAAQA,EAAK,IAAM,GACVA,EAAK,IAAM,GACXA,EAAK,IAAM,EACXA,EAAK,IAKZiwG,EAAgB,SAASvkC,EAAOt0C,EAAOt0B,GACzC,IAAIiB,EAAG2N,EAAS,GAChB,IAAK3N,EAAIqzB,EAAOrzB,EAAIjB,EAAKiB,IACvB2N,GAAU,KAAO,KAAOg6D,EAAM3nE,GAAGsW,SAAS,KAAKhM,OAAO,GAExD,OAAOqD,GAKLy+F,EAAgB,SAASzkC,EAAOt0C,EAAOt0B,GACzC,OAAOm+D,SAASgvC,EAAcvkC,EAAOt0C,EAAOt0B,KAG1CghF,EAAkB,SAASq3B,EAAQt3B,GACrC,IACEu3B,EAAcD,EAAOt3B,EAAY,IAAM,GACzBs3B,EAAOt3B,EAAY,IAAM,GACzBs3B,EAAOt3B,EAAY,IAAM,EACzBs3B,EAAOt3B,EAAY,GACjC5N,EAAQklC,EAAOt3B,EAAY,GAC3Bw3B,GAAyB,GAARplC,IAAe,EAElC,OAAIolC,EACKD,EAAa,GAEfA,EAAa,IAGlBp3B,EAAgB,SAASm3B,EAAQt3B,GACnC,IACEy3B,GAAoC,IAAxBH,EAAOt3B,EAAY,KAAc,EAC7ClhF,EAASw4G,EAAOt3B,EAAY,IAAM,EAClC03B,EAAkC,KAAxBJ,EAAOt3B,EAAY,GAE/B,OAAQ03B,EAAU54G,EAAU24G,GAG1BpzC,EAAY,SAASizC,EAAQt3B,GAC/B,OAAKs3B,EAAOt3B,KAAe,IAAI9hB,WAAW,IACrCo5C,EAAOt3B,EAAY,KAAO,IAAI9hB,WAAW,IACzCo5C,EAAOt3B,EAAY,KAAO,IAAI9hB,WAAW,GACrC,kBACuB,EAApBo5C,EAAOt3B,IAC4B,OAAV,IAAxBs3B,EAAOt3B,EAAY,IACvB,QAEF,MAGLI,EAAkB,SAASlC,GAC7B,IAAIh+E,EAAI,EAER,MAAOA,EAAI,EAAIg+E,EAAO53E,OAAQ,CAC5B,GAAkB,MAAd43E,EAAOh+E,IAA0C,OAAV,IAAhBg+E,EAAOh+E,EAAI,IAMtC,OAAOm2G,GAA2C,GAAhBn4B,EAAOh+E,EAAI,MAAe,GAH1DA,IAMJ,OAAO,MAGLggF,EAAoB,SAAShC,GAC/B,IAAI8uB,EAAYjtB,EAAWnG,EAAOqzB,EAGlCD,EAAa,GACG,GAAZ9uB,EAAO,KAET8uB,GAAc,EACdA,GAAcT,EAAqBruB,EAAO/oE,SAAS,GAAI,MAKzD,EAAG,CAGD,GADA4qE,EAAYwsB,EAAqBruB,EAAO/oE,SAAS63F,EAAa,EAAGA,EAAa,IAC1EjtB,EAAY,EACd,OAAO,KAOT,GALAktB,EAActxG,OAAO8oE,aAAayZ,EAAO8uB,GACP9uB,EAAO8uB,EAAa,GACpB9uB,EAAO8uB,EAAa,GACpB9uB,EAAO8uB,EAAa,IAElC,SAAhBC,EAAwB,CAC1BrzB,EAAQsE,EAAO/oE,SAAS63F,EAAa,GAAIA,EAAajtB,EAAY,IAElE,IAAK,IAAI7/E,EAAI,EAAGA,EAAI05E,EAAMxkE,WAAYlV,IACpC,GAAiB,IAAb05E,EAAM15E,GAAU,CAClB,IAAI0sG,EAAQN,EAAc1yB,EAAO,EAAG15E,GACpC,GAAc,iDAAV0sG,EAA0D,CAC5D,IAAI/hB,EAAIjR,EAAMzkE,SAASjV,EAAI,GACvB1D,GAAgB,EAAPquF,EAAE,KAAe,GAClBA,EAAE,IAAO,GACTA,EAAE,IAAM,GACRA,EAAE,IAAM,EACRA,EAAE,KAAO,EAIrB,OAHAruF,GAAQ,EACRA,GAAe,EAAPquF,EAAE,GAEHruF,EAET,OAKNwwG,GAAc,GACdA,GAAcjtB,QACPitB,EAAa9uB,EAAO9oE,YAC7B,OAAO,MAGTJ,EAAOC,QAAU,CACfgrE,gBAAiBA,EACjBE,cAAeA,EACf9b,UAAWA,EACX+b,gBAAiBA,EACjBF,kBAAmBA,I,yDCxIrB,IAAI8jC,EAAiC,EACjCC,EAAqB,IACrBlwG,EAAS,EAAQ,QAUjBmwG,EAAW,SAASr8C,GACtB,IACE3nE,EAAI,EACJ2N,EAAS,CACPs2G,aAAc,EACdC,YAAa,GAEfD,EAAc,EACdC,EAAc,EAGhB,MAAOlkH,EAAI2nE,EAAMzyD,WAAY,CAE3B,GAAIyyD,EAAM3nE,KAAO+jH,EACf,MAIF,MAAoB,MAAbp8C,EAAM3nE,GACXikH,GAAe,IACfjkH,IAEFikH,GAAet8C,EAAM3nE,KAGrB,MAAoB,MAAb2nE,EAAM3nE,GACXkkH,GAAe,IACflkH,IAMF,GAJAkkH,GAAev8C,EAAM3nE,MAIhB2N,EAAOoqF,SAAWksB,IAAgBH,EAAgC,CACrEn2G,EAAOs2G,YAAcA,EACrBt2G,EAAOu2G,YAAcA,EACrBv2G,EAAOoqF,QAAUpwB,EAAM1yD,SAASjV,EAAGA,EAAIkkH,GACvC,MAIFlkH,GAAKkkH,EACLD,EAAc,EACdC,EAAc,EAGhB,OAAOv2G,GAILw2G,EAAgB,SAASC,GAG3B,OAAuB,MAAnBA,EAAIrsB,QAAQ,IAKiC,MAA3CqsB,EAAIrsB,QAAQ,IAAM,EAAKqsB,EAAIrsB,QAAQ,KAQG,SAHxCt8F,OAAO8oE,aAAa6/C,EAAIrsB,QAAQ,GACZqsB,EAAIrsB,QAAQ,GACZqsB,EAAIrsB,QAAQ,GACZqsB,EAAIrsB,QAAQ,KAKb,IAAnBqsB,EAAIrsB,QAAQ,GAjBP,KAuBFqsB,EAAIrsB,QAAQ9iF,SAAS,EAAGmvG,EAAIrsB,QAAQ3xF,OAAS,IAIlDi+G,EAAsB,SAASp3C,EAAKq3C,GACtC,IAAkBtkH,EAAGo+D,EAAOuS,EAAQ10E,EAAhCqoE,EAAU,GAGd,KAAoB,GAAdggD,EAAS,IACb,OAAOhgD,EAKT,IADAlG,EAAsB,GAAdkmD,EAAS,GACZtkH,EAAI,EAAGA,EAAIo+D,EAAOp+D,IACrB2wE,EAAa,EAAJ3wE,EACT/D,EAAO,CACL1C,KAA6B,EAAvB+qH,EAAS3zC,EAAS,GACxB1D,IAAKA,GAIoB,EAAvBq3C,EAAS3zC,EAAS,KACpB10E,EAAKsoH,OAAUD,EAAS3zC,EAAS,IAAM,EAAK2zC,EAAS3zC,EAAS,GAC9DrM,EAAQ77D,KAAKxM,IAGjB,OAAOqoE,GAGLkW,EAAgB,WAElBA,EAAc/lE,UAAUX,KAAKQ,KAAKze,MAElCA,KAAK2uH,gBAAkB,GAEvB3uH,KAAK4uH,WAAa,CAChB,IAAIjrB,EAAa,EAAG,GACpB,IAAIA,EAAa,EAAG,GACpB,IAAIA,EAAa,EAAG,GACpB,IAAIA,EAAa,EAAG,IAGtB3jG,KAAKiuC,QAGLjuC,KAAK4uH,WAAWlqH,SAAQ,SAASmqH,GAC/BA,EAAGnuH,GAAG,OAAQV,KAAKse,QAAQpP,KAAKlP,KAAM,SACtC6uH,EAAGnuH,GAAG,OAAQV,KAAKse,QAAQpP,KAAKlP,KAAM,WACrCA,OAIL2kF,EAAc/lE,UAAY,IAAIZ,EAC9B2mE,EAAc/lE,UAAUhM,KAAO,SAASvL,GACtC,IAAIknH,EAAKE,EAGiB,aAAtBpnH,EAAMg4E,cAKVkvC,EAAMJ,EAAS9mH,EAAMynH,aAGjBP,EAAIH,cAAgBH,IAKxBQ,EAAWH,EAAcC,GAGpBE,IAWDpnH,EAAMw3E,IAAM7+E,KAAK+uH,WAEnB/uH,KAAKgvH,qBAAsB,EAEjB3nH,EAAMw3E,MAAQ7+E,KAAK+uH,YAAgB/uH,KAAwB,oBAErEA,KAAKgvH,qBAAsB,GAK7BhvH,KAAK2uH,gBAAkB3uH,KAAK2uH,gBAAgBvwG,OAAOowG,EAAoBnnH,EAAM+vE,IAAKq3C,IAClFzuH,KAAK+uH,WAAa1nH,EAAMw3E,SAG1B8F,EAAc/lE,UAAUI,MAAQ,WAEzBhf,KAAK2uH,gBAAgBp+G,QAS1BvQ,KAAK2uH,gBAAgBjqH,SAAQ,SAAS4qB,EAAM40F,GAC1C50F,EAAK2/F,aAAe/K,KAItBlkH,KAAK2uH,gBAAgBj1C,MAAK,SAASxyD,EAAGy1C,GACpC,OAAIz1C,EAAEkwD,MAAQza,EAAEya,IACPlwD,EAAE+nG,aAAetyD,EAAEsyD,aAErB/nG,EAAEkwD,IAAMza,EAAEya,OAGnBp3E,KAAK2uH,gBAAgBjqH,SAAQ,SAASyjF,GAChCA,EAAOzkF,KAAO,GAEhB1D,KAAKkvH,qBAAqB/mC,KAI3BnoF,MAEHA,KAAK2uH,gBAAgBp+G,OAAS,EAC9BvQ,KAAK4uH,WAAWlqH,SAAQ,SAASmqH,GAC/BA,EAAG7vG,UACFhf,OAhCDA,KAAK4uH,WAAWlqH,SAAQ,SAASmqH,GAC/BA,EAAG7vG,UACFhf,OAkCP2kF,EAAc/lE,UAAUqvB,MAAQ,WAC9BjuC,KAAK+uH,WAAa,KAClB/uH,KAAKgvH,qBAAsB,EAC3BhvH,KAAKmvH,qBAAuB,CAAC,KAAM,MACnCnvH,KAAK4uH,WAAWlqH,SAAQ,SAAS0qH,GAC/BA,EAASnhF,YAIb02C,EAAc/lE,UAAUswG,qBAAuB,SAAS/mC,GAElDnoF,KAAKqvH,mBAAmBlnC,GAC1BnoF,KAAKmvH,qBAAqBhnC,EAAOzkF,MAAQ,EAChC1D,KAAKsvH,mBAAmBnnC,KACjCnoF,KAAKmvH,qBAAqBhnC,EAAOzkF,MAAQ,GAEI,OAA3C1D,KAAKmvH,qBAAqBhnC,EAAOzkF,OAKrC1D,KAAK4uH,YAAYzmC,EAAOzkF,MAAQ,GAAK1D,KAAKmvH,qBAAqBhnC,EAAOzkF,OAAOkP,KAAKu1E,IAGpFxD,EAAc/lE,UAAUywG,mBAAqB,SAASlnC,GACpD,OAAqC,QAAZ,MAAhBA,EAAOumC,SAElB/pC,EAAc/lE,UAAU0wG,mBAAqB,SAASnnC,GACpD,OAAqC,QAAZ,MAAhBA,EAAOumC,SAOlB,IAAIa,EAAwB,CAC1B,GAAM,IACN,GAAM,IACN,GAAM,IACN,GAAM,IACN,GAAM,IACN,IAAM,IACN,IAAM,IACN,IAAM,IACN,IAAM,IACN,IAAM,KACN,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,KACR,IAAQ,IACR,IAAQ,IACR,IAAQ,KACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,KACR,IAAQ,IACR,IAAQ,GACR,IAAQ,GACR,IAAQ,KACR,IAAQ,IACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,GACR,IAAQ,GACR,IAAQ,GACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,KACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,IACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,MAGNC,EAAkB,SAASp5G,GAC7B,OAAa,OAATA,EACK,IAETA,EAAOm5G,EAAsBn5G,IAASA,EAC/BxQ,OAAO8oE,aAAat4D,KAIzBq5G,EAAa,GAIbC,EAAO,CAAC,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAIxDC,EAAsB,WACxB,IAAI73G,EAAS,GAAI3N,EAAIslH,EAAa,EAClC,MAAOtlH,IACL2N,EAAOlF,KAAK,IAEd,OAAOkF,GAGL6rF,EAAe,SAAS6C,EAAOopB,GACjCjsB,EAAa/kF,UAAUX,KAAKQ,KAAKze,MAEjCA,KAAK6vH,OAASrpB,GAAS,EACvBxmG,KAAK8vH,aAAeF,GAAe,EAEnC5vH,KAAK+2B,MAAQ,MAAmD,GAAzC/2B,KAAK6vH,QAAU,EAAK7vH,KAAK8vH,eAEhD9vH,KAAK+vH,eACL/vH,KAAKiuC,QAELjuC,KAAK4S,KAAO,SAASu1E,GACnB,IAAI/hF,EAAM4pH,EAAMC,EAAOC,EAAO1lG,EAK9B,GAHApkB,EAAuB,MAAhB+hF,EAAOumC,OAGVtoH,IAASpG,KAAKmwH,kBAelB,GATwB,QAAZ,MAAP/pH,GACHpG,KAAKmwH,iBAAmB/pH,EACfA,IAASpG,KAAKowH,WACvBpwH,KAAKmwH,iBAAmB,MAG1BF,EAAQ7pH,IAAS,EACjB8pH,EAAe,IAAP9pH,EAEJA,IAASpG,KAAKowH,SAGX,GAAIhqH,IAASpG,KAAKqwH,wBACvBrwH,KAAKmxG,MAAQ,aAER,GAAI/qG,IAASpG,KAAKswH,gBACvBtwH,KAAKuwH,gBAAgBpoC,EAAO/Q,KAE5Bp3E,KAAKwwH,eAAeroC,EAAO/Q,KAG3B44C,EAAOhwH,KAAKywH,WACZzwH,KAAKywH,WAAazwH,KAAK0wH,cACvB1wH,KAAK0wH,cAAgBV,EAGrBhwH,KAAK2wH,UAAYxoC,EAAO/Q,SAEnB,GAAIhxE,IAASpG,KAAK4wH,gBACvB5wH,KAAK6wH,QAAUpB,EAAa,EAC5BzvH,KAAKmxG,MAAQ,cACR,GAAI/qG,IAASpG,KAAK8wH,gBACvB9wH,KAAK6wH,QAAUpB,EAAa,EAC5BzvH,KAAKmxG,MAAQ,cACR,GAAI/qG,IAASpG,KAAK+wH,gBACvB/wH,KAAK6wH,QAAUpB,EAAa,EAC5BzvH,KAAKmxG,MAAQ,cACR,GAAI/qG,IAASpG,KAAKgxH,iBACvBhxH,KAAKuwH,gBAAgBpoC,EAAO/Q,KAC5Bp3E,KAAKwwH,eAAeroC,EAAO/Q,KAC3Bp3E,KAAKixH,eACLjxH,KAAK2wH,UAAYxoC,EAAO/Q,SAEnB,GAAIhxE,IAASpG,KAAKkxH,WACJ,UAAflxH,KAAKmxG,MACPnxG,KAAK0wH,cAAcjB,GAAczvH,KAAK0wH,cAAcjB,GAAYh7G,MAAM,GAAI,GAE1EzU,KAAKywH,WAAWhB,GAAczvH,KAAKywH,WAAWhB,GAAYh7G,MAAM,GAAI,QAEjE,GAAIrO,IAASpG,KAAKmxH,wBACvBnxH,KAAKwwH,eAAeroC,EAAO/Q,KAC3Bp3E,KAAKywH,WAAad,SACb,GAAIvpH,IAASpG,KAAKoxH,4BACvBpxH,KAAK0wH,cAAgBf,SAEhB,GAAIvpH,IAASpG,KAAKqxH,0BACvBrxH,KAAKmxG,MAAQ,eAGR,GAAInxG,KAAKsxH,mBAAmBrB,EAAOC,GAKxCD,GAAiB,EAARA,IAAiB,EAC1BzlG,EAAOglG,EAAgBS,EAAQC,GAC/BlwH,KAAKA,KAAKmxG,OAAOhpB,EAAO/Q,IAAK5sD,GAC7BxqB,KAAKuxH,eAGA,GAAIvxH,KAAKwxH,eAAevB,EAAOC,GAOjB,UAAflwH,KAAKmxG,MACPnxG,KAAK0wH,cAAc1wH,KAAKyxH,MAAQzxH,KAAK0wH,cAAc1wH,KAAKyxH,MAAMh9G,MAAM,GAAI,GAExEzU,KAAKywH,WAAWhB,GAAczvH,KAAKywH,WAAWhB,GAAYh7G,MAAM,GAAI,GAOtEw7G,GAAiB,EAARA,IAAiB,EAC1BzlG,EAAOglG,EAAgBS,EAAQC,GAC/BlwH,KAAKA,KAAKmxG,OAAOhpB,EAAO/Q,IAAK5sD,GAC7BxqB,KAAKuxH,eAGA,GAAIvxH,KAAK0xH,aAAazB,EAAOC,GAElClwH,KAAKuwH,gBAAgBpoC,EAAO/Q,KAI5Bp3E,KAAKA,KAAKmxG,OAAOhpB,EAAO/Q,IAAK,KAC7Bp3E,KAAKuxH,UAEiB,MAAT,GAARrB,IACHlwH,KAAK2xH,cAAcxpC,EAAO/Q,IAAK,CAAC,MAGZ,KAAT,EAAR84C,IACHlwH,KAAK2xH,cAAcxpC,EAAO/Q,IAAK,CAAC,WAI7B,GAAIp3E,KAAK4xH,oBAAoB3B,EAAOC,GAKzClwH,KAAKuxH,SAAoB,EAARrB,OAGZ,GAAIlwH,KAAK6xH,MAAM5B,EAAOC,GAAQ,CAInC,IAAIv9G,EAAM+8G,EAAK/rH,QAAe,KAAPyC,GAEnBuM,IAAQ3S,KAAKyxH,OAEfzxH,KAAKuwH,gBAAgBpoC,EAAO/Q,KAC5Bp3E,KAAKyxH,KAAO9+G,GAID,EAARu9G,IAAoD,IAAnClwH,KAAK8xH,YAAYnuH,QAAQ,MAC3C3D,KAAK2xH,cAAcxpC,EAAO/Q,IAAK,CAAC,MAGd,MAAV,GAAPhxE,KAKHpG,KAAKuxH,QAAgC,IAAb,GAAPnrH,IAAe,IAG9BpG,KAAK+xH,WAAW7B,IAKI,MAAT,GAARA,IACHlwH,KAAK2xH,cAAcxpC,EAAO/Q,IAAK,CAAC,WAK3Bp3E,KAAKgyH,aAAa/B,KACb,IAAVC,IACFA,EAAQ,MAEV1lG,EAAOglG,EAAgBS,GACvBzlG,GAAQglG,EAAgBU,GACxBlwH,KAAKA,KAAKmxG,OAAOhpB,EAAO/Q,IAAK5sD,GAC7BxqB,KAAKuxH,SAAW/mG,EAAKja,aAvKrBvQ,KAAKmwH,iBAAmB,OA6K9BxsB,EAAa/kF,UAAY,IAAIZ,EAG7B2lF,EAAa/kF,UAAU4xG,eAAiB,SAASp5C,GAC/C,IAAIzsE,EAAU3K,KAAKywH,WAEhBpsH,KAAI,SAASsO,GACZ,OAAOA,EAAIkN,UAGZuH,KAAK,MAELra,QAAQ,aAAc,IAErBpC,EAAQ4F,QACVvQ,KAAKse,QAAQ,OAAQ,CACnBk5D,SAAUx3E,KAAK2wH,UACfl5C,OAAQL,EACR5sD,KAAM7f,EACN+iE,OAAQ1tE,KAAK+2B,SAQnB4sE,EAAa/kF,UAAUqvB,MAAQ,WAC7BjuC,KAAKmxG,MAAQ,QAKbnxG,KAAK6wH,QAAU,EACf7wH,KAAK2wH,UAAY,EACjB3wH,KAAKywH,WAAad,IAClB3vH,KAAK0wH,cAAgBf,IACrB3vH,KAAKmwH,iBAAmB,KAGxBnwH,KAAKuxH,QAAU,EACfvxH,KAAKyxH,KAAOhC,EAGZzvH,KAAK8xH,YAAc,IAMrBnuB,EAAa/kF,UAAUmxG,aAAe,WAaV,IAAtB/vH,KAAK8vH,cACP9vH,KAAKiyH,MAAY,GACjBjyH,KAAKkyH,KAAY,GACjBlyH,KAAKmyH,UAAa,GAAOnyH,KAAK6vH,SAAW,EACzC7vH,KAAKoyH,QAAY,IACc,IAAtBpyH,KAAK8vH,eACd9vH,KAAKiyH,MAAY,GACjBjyH,KAAKkyH,KAAY,GACjBlyH,KAAKmyH,UAAa,GAAOnyH,KAAK6vH,SAAW,EACzC7vH,KAAKoyH,QAAY,IAOnBpyH,KAAKowH,SAA8B,EAEnCpwH,KAAKqwH,wBAA8C,GAAhBrwH,KAAKmyH,SACxCnyH,KAAKswH,gBAA8C,GAAhBtwH,KAAKmyH,SAExCnyH,KAAK4wH,gBAA8C,GAAhB5wH,KAAKmyH,SACxCnyH,KAAK8wH,gBAA8C,GAAhB9wH,KAAKmyH,SACxCnyH,KAAK+wH,gBAA8C,GAAhB/wH,KAAKmyH,SACxCnyH,KAAKgxH,iBAA8C,GAAhBhxH,KAAKmyH,SAExCnyH,KAAKqxH,0BAA8C,GAAhBrxH,KAAKmyH,SAExCnyH,KAAKkxH,WAA8C,GAAhBlxH,KAAKmyH,SACxCnyH,KAAKmxH,wBAA8C,GAAhBnxH,KAAKmyH,SACxCnyH,KAAKoxH,4BAA8C,GAAhBpxH,KAAKmyH,UAc1CxuB,EAAa/kF,UAAU0yG,mBAAqB,SAASrB,EAAOC,GAC1D,OAAQD,IAAUjwH,KAAKkyH,MAAQhC,GAAS,IAAQA,GAAS,IAc3DvsB,EAAa/kF,UAAU4yG,eAAiB,SAASvB,EAAOC,GACtD,OAASD,IAAWjwH,KAAKkyH,KAAO,GAAMjC,IAAWjwH,KAAKkyH,KAAO,IAC1DhC,GAAS,IAAQA,GAAS,IAc/BvsB,EAAa/kF,UAAU8yG,aAAe,SAASzB,EAAOC,GACpD,OAAQD,IAAUjwH,KAAKkyH,MAAShC,GAAS,IAAQA,GAAS,IAc5DvsB,EAAa/kF,UAAUgzG,oBAAsB,SAAS3B,EAAOC,GAC3D,OAAQD,IAAUjwH,KAAKoyH,SAAYlC,GAAS,IAAQA,GAAS,IAc/DvsB,EAAa/kF,UAAUizG,MAAQ,SAAS5B,EAAOC,GAC7C,OAAQD,GAASjwH,KAAKiyH,OAAShC,EAASjwH,KAAKiyH,MAAQ,GAClD/B,GAAS,IAAQA,GAAS,KAY/BvsB,EAAa/kF,UAAUmzG,WAAa,SAAS7B,GAC3C,OAASA,GAAS,IAAQA,GAAS,IAAUA,GAAS,IAAQA,GAAS,KAWzEvsB,EAAa/kF,UAAUozG,aAAe,SAAS1mC,GAC7C,OAAQA,GAAQ,IAAQA,GAAQ,KAKlCqY,EAAa/kF,UAAU+yG,cAAgB,SAASv6C,EAAK3vE,GACnDzH,KAAK8xH,YAAc9xH,KAAK8xH,YAAY1zG,OAAO3W,GAC3C,IAAI+iB,EAAO/iB,EAAOqe,QAAO,SAAS0E,EAAM/iB,GACtC,OAAO+iB,EAAO,IAAM/iB,EAAS,MAC5B,IACHzH,KAAKA,KAAKmxG,OAAO/5B,EAAK5sD,IAKxBm5E,EAAa/kF,UAAU2xG,gBAAkB,SAASn5C,GAChD,GAAKp3E,KAAK8xH,YAAYvhH,OAAtB,CAGA,IAAIia,EAAOxqB,KAAK8xH,YAAY7oH,UAAU6c,QAAO,SAAS0E,EAAM/iB,GAC1D,OAAO+iB,EAAO,KAAO/iB,EAAS,MAC7B,IACHzH,KAAK8xH,YAAc,GACnB9xH,KAAKA,KAAKmxG,OAAO/5B,EAAK5sD,KAIxBm5E,EAAa/kF,UAAUyzG,MAAQ,SAASj7C,EAAK5sD,GAC3C,IAAI8nG,EAAUtyH,KAAK0wH,cAAc1wH,KAAKyxH,MAGtCa,GAAW9nG,EACXxqB,KAAK0wH,cAAc1wH,KAAKyxH,MAAQa,GAGlC3uB,EAAa/kF,UAAU2zG,OAAS,SAASn7C,EAAK5sD,GAC5C,IAAI8nG,EAAUtyH,KAAKywH,WAAWhB,GAE9B6C,GAAW9nG,EACXxqB,KAAKywH,WAAWhB,GAAc6C,GAIhC3uB,EAAa/kF,UAAUqyG,aAAe,WACpC,IAAI9mH,EAEJ,IAAKA,EAAI,EAAGA,EAAInK,KAAK6wH,QAAS1mH,IAC5BnK,KAAKywH,WAAWtmH,GAAK,GAGvB,IAAKA,EAAInK,KAAK6wH,QAAS1mH,EAAIslH,EAAYtlH,IACrCnK,KAAKywH,WAAWtmH,GAAKnK,KAAKywH,WAAWtmH,EAAI,GAG3CnK,KAAKywH,WAAWhB,GAAc,IAIhC9rB,EAAa/kF,UAAU4zG,QAAU,aAGjCvzG,EAAOC,QAAU,CACfylE,cAAeA,EACfgf,aAAcA,I,kCCj1BhBn/F,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAaC,EAAIC,EAAKC,GAAO,IAAIC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAAS41D,EAAII,EAAWH,EAAKI,EAAWH,EAAKC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA4O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAA/V,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2B8rD,EAAK9rD,EAAQ+rD,EAAMG,EAAUF,EAAMG,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE5c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAI4+E,EAAU,EAAQ,QAElBC,EAAW5gC,EAAuB2gC,GAUlC+U,EAAc,SAAW5U,GAG3B,SAAS4U,IACPhpC,EAAgB5vE,KAAM44G,GAEtBtjC,EAAK9wE,OAAOsxE,eAAe8iC,EAAYh6F,WAAY,cAAe5e,MAAMye,KAAKze,KAAM8jG,EAAS,YAC5F9jG,KAAKyyH,KAAO,GACZzyH,KAAKqtG,MAAQ,EACbrtG,KAAK0yH,SAAW,KAmClB,OA3CArxD,EAAUu3C,EAAa5U,GAiBvBv0B,EAAampC,EAAa,CAAC,CACzB11G,IAAK,cACLZ,MAAO,WACLtC,KAAKyyH,KAAK1yG,OAAV/f,GACIA,KAAKyyH,KAAKliH,OACZvQ,KAAK0yH,SAAW1lH,WAAWhN,KAAK2yH,YAAYzjH,KAAKlP,MAAOA,KAAKqtG,OAE7DrtG,KAAK0yH,SAAW,OASnB,CACDxvH,IAAK,OACLZ,MAAO,SAAcswH,GACnB5yH,KAAKyyH,KAAK7/G,KAAKggH,GACV5yH,KAAK0yH,WACR1yH,KAAK0yH,SAAW1lH,WAAWhN,KAAK2yH,YAAYzjH,KAAKlP,MAAOA,KAAKqtG,YAK5DuL,EA5CS,CA6Cf9U,EAAS,YAEZ5kF,EAAQ,WAAa05F,EACrB35F,EAAOC,QAAUA,EAAQ,Y,kCCzEzB,SAAS0wD,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAJhHpd,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAKT,IAAIosG,EAAc,EAAQ,QActBmkB,EAAiB,SAAwBC,EAAQC,EAAaC,GAChE,OAAO,SAAU5qG,GACf,IAAI8rD,EAAW4+C,EAAOv+C,OAAOmc,UAAUqiC,GACnCE,GAAe,EAAIvkB,EAAY9d,gBAAgB1c,GAC/Cg/C,GAAmB,EAAIxkB,EAAY5d,WAAW5c,GAElD,MAAsB,qBAAX9rD,EACF8qG,GAGL9qG,SACK8rD,EAAS5uE,SAEhB4uE,EAAS5uE,UAAW,EAGlB8iB,IAAW8qG,GAAqBD,IAElCD,IACI5qG,EACF0qG,EAAOx0G,QAAQ,oBAEfw0G,EAAOx0G,QAAQ,sBAGZ8J,KAYP+qG,EAAiB,SAASA,EAAeC,EAAYl/C,EAAU/wE,GACjEysE,EAAgB5vE,KAAMmzH,GAGtB,IAAIE,EAAqBD,EAAWjZ,0BAA0BC,mBAAmBlrG,KAAKkkH,EAAWjZ,2BAGjG,GAAIjmC,EAASjqD,WAAWmmE,WAAY,CAClC,IAAIkjC,EAAap/C,EAASjqD,WAAWmmE,WAErCpwF,KAAK0G,MAAQ4sH,EAAW5sH,MACxB1G,KAAK2B,OAAS2xH,EAAW3xH,OAG3B3B,KAAKinF,UAAY/S,EAASjqD,WAAW8lE,UAIrC/vF,KAAKmD,GAAKA,EAIVnD,KAAKqkC,QAAUwuF,EAAeO,EAAW1iC,UAAWxc,EAASjrC,IAAKoqF,IAWhEE,EAA0B,SAAiCH,GAC7D,IAAI1iC,EAAY0iC,EAAW1iC,UAG3B0iC,EAAW9Z,gBAAkB,WAC3B,OAAO5oB,EAAUnc,OAAOmc,UAAU3oE,QAAO,SAAUksD,GACjD,QAAQ,EAAIy6B,EAAY9d,gBAAgB3c,MACvC5vE,KAAI,SAAUkG,EAAGJ,GAClB,OAAO,IAAIgpH,EAAeC,EAAY7oH,EAAGA,EAAE0+B,UAKjD/pB,EAAQ,WAAaq0G,EACrBt0G,EAAOC,QAAUA,EAAQ,Y,kCC3FzB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAET,IAAIkxH,EAAiB,CAEnB93B,oBAAqB,EACrBQ,gBAAiB,OAGnBh9E,EAAQ,WAAas0G,EACrBv0G,EAAOC,QAAUA,EAAQ,Y;;;;;;;;;;;;ACbzB,SAAS6C,EAAiBC,GAAM,OAAQA,GAAqB,kBAAPA,GAAoB,YAAaA,EAAMA,EAAG,WAAaA,EAE7G,IAAIxW,EAASuW,EAAgB,EAAQ,SACjCnW,EAAWmW,EAAgB,EAAQ,SACnCE,EAAOF,EAAgB,EAAQ,SAC/BG,EAAiBH,EAAgB,EAAQ,SACzCI,EAAMJ,EAAgB,EAAQ,SAC9BK,EAAML,EAAgB,EAAQ,SAE9BM,EAAU,SAMVC,EAAa9W,EAAOqB,WAAarB,EAAOqB,UAAUC,WAAa,GAC/DyV,EAAmB,yBAAyBC,KAAKF,GACjDG,EAAqBF,EAAmBG,WAAWH,EAAiBI,OAAS,KAS7EC,EAAU,QAAQhW,KAAK0V,GAKvBO,EAAY,UAAUjW,KAAK0V,KAAgBM,EAC3CE,EAAU,QAAQlW,KAAK0V,GACvBS,EAASF,GAAaD,GAAWE,EAEjCE,EAAc,WAChB,IAAIC,EAAQX,EAAWW,MAAM,cAE7B,OAAIA,GAASA,EAAM,GACVA,EAAM,GAER,KANS,GASdC,EAAa,WAAWtW,KAAK0V,GAC7Ba,EAAkB,WAGpB,IAAIF,EAAQX,EAAWW,MAAM,0CAE7B,IAAKA,EACH,OAAO,KAGT,IAAIG,EAAQH,EAAM,IAAMP,WAAWO,EAAM,IACrCI,EAAQJ,EAAM,IAAMP,WAAWO,EAAM,IAEzC,OAAIG,GAASC,EACJX,WAAWO,EAAM,GAAK,IAAMA,EAAM,IAChCG,GAGJ,KAjBa,GAqBlBE,EAAiBJ,GAAc,UAAUtW,KAAK0V,IAAea,EAAkB,IAC/EI,EAAoBL,GAAcC,EAAkB,GAAKV,EAAqB,IAE9Ee,EAAa,WAAW5W,KAAK0V,GAC7BmB,EAAU,QAAQ7W,KAAK0V,GACvBoB,GAAaD,IAAY,UAAU7W,KAAK0V,IAAe,SAAS1V,KAAK0V,IACrEqB,EAAiB,WACnB,IAAIV,EAAQX,EAAWW,MAAM,yBAE7B,OAAIA,GAASA,EAAM,GACVP,WAAWO,EAAM,IAEnB,KANY,GAQjBW,EAAS,aAAahX,KAAK0V,GAC3BuB,EAAa,WACf,IAAI/L,EAAS,kBAAkB0K,KAAKF,GAChCD,EAAUvK,GAAU4K,WAAW5K,EAAO,IAO1C,OALKuK,GAAW,gBAAgBzV,KAAK0V,IAAe,UAAU1V,KAAK0V,KAEjED,EAAU,IAGLA,EATQ,GAYbyB,EAAY,UAAUlX,KAAK0V,KAAgBoB,IAAcR,IAAeO,EACxEM,GAAiBD,GAAaf,KAAYW,EAE1CM,EAAgBC,OAAa,iBAAkBzY,GAAUA,EAAOqB,UAAUqX,gBAAkB1Y,EAAO2Y,eAAiB3Y,EAAOI,oBAAoBJ,EAAO2Y,eAEtJC,EAA4BH,MAAY,mBAAoBzY,EAAOI,SAASyY,cAAc,SAAS5iB,MAEnG6iB,GAAW9f,OAAO+f,QAAU/f,QAAQ,CACvCoe,QAASA,EACTC,UAAWA,EACXC,QAASA,EACTC,OAAQA,EACRC,YAAaA,EACbE,WAAYA,EACZC,gBAAiBA,EACjBG,eAAgBA,EAChBC,kBAAmBA,EACnBC,WAAYA,EACZC,QAASA,EACTC,UAAWA,EACXC,eAAgBA,EAChBC,OAAQA,EACRC,WAAYA,EACZC,UAAWA,EACXC,cAAeA,EACfC,cAAeA,EACfI,0BAA2BA,IAGxBI,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUxgB,GAC5F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAyB,oBAAXugB,QAAyBvgB,EAAIygB,cAAgBF,QAAUvgB,IAAQugB,OAAO7F,UAAY,gBAAkB1a,GAavH0gB,EAAiB,SAAUC,EAAUC,GACvC,KAAMD,aAAoBC,GACxB,MAAM,IAAIlD,UAAU,sCAcpBmD,EAAW,SAAUC,EAAUC,GACjC,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrD,UAAU,kEAAoEqD,GAG1FD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CACrE+F,YAAa,CACXriB,MAAO0iB,EACPvD,YAAY,EACZyD,UAAU,EACVC,cAAc,KAGdF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,IAazGK,EAA4B,SAAUC,EAAM9G,GAC9C,IAAK8G,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAO/G,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B8G,EAAP9G,GAaxEgH,EAA6B,SAAUC,EAASC,GAElD,OADAD,EAAQC,IAAMA,EACPD,GAiCLjF,EAAWjc,OAAOoa,UAAU6B,SAc5Bhc,EAAO,SAAckb,GACvB,OAAOiG,EAASjG,GAAUnb,OAAOC,KAAKkb,GAAU,IAYlD,SAASkG,EAAKlG,EAAQ/N,GACpBnN,EAAKkb,GAAQjb,SAAQ,SAAUxB,GAC7B,OAAO0O,EAAG+N,EAAOzc,GAAMA,MAqB3B,SAAS4iB,EAAOnG,EAAQ/N,GACtB,IAAImU,EAAUrc,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,EAElF,OAAOjF,EAAKkb,GAAQmG,QAAO,SAAUG,EAAO/iB,GAC1C,OAAO0O,EAAGqU,EAAOtG,EAAOzc,GAAMA,KAC7B6iB,GAUL,SAASxK,EAAO9K,GACd,IAAK,IAAIyV,EAAOxc,UAAU6G,OAAQ4V,EAAUhiB,MAAM+hB,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IACjGD,EAAQC,EAAO,GAAK1c,UAAU0c,GAGhC,OAAI5hB,OAAO+W,OACF/W,OAAO+W,OAAOmD,MAAMla,OAAQ,CAACiM,GAAQ2N,OAAO+H,KAGrDA,EAAQzhB,SAAQ,SAAU2hB,GACnBA,GAILR,EAAKQ,GAAQ,SAAU/jB,EAAOY,GAC5BuN,EAAOvN,GAAOZ,QAIXmO,GAaT,SAASmV,EAAStjB,GAChB,QAASA,GAA2E,YAAhD,qBAAVA,EAAwB,YAAckiB,EAAQliB,IAU1E,SAASgkB,EAAQhkB,GACf,OAAOsjB,EAAStjB,IAAmC,oBAAzBme,EAAShC,KAAKnc,IAAgCA,EAAMqiB,cAAgBngB,OAQhG,IAAI4Y,EAAU,GAYVmJ,EAAmB,SAA0BnkB,EAAMokB,GACrD,OAAO,SAAU9iB,EAAM+iB,EAAOjI,EAAMrZ,GAClC,IAAIuhB,EAAMF,EAAIG,OAAOF,GACjBG,EAAY,IAAIC,OAAO,KAAOH,EAAM,MAkBxC,GAhBa,QAAThjB,GAGF8a,EAAKsI,QAAQpjB,EAAKqjB,cAAgB,KAIpCvI,EAAKsI,QAAQ1kB,EAAO,KAGhBgb,GACFA,EAAQxK,KAAK,GAAGwL,OAAOI,IAKpBhT,EAAOwb,QAAZ,CAOA,IAAIpV,EAAKpG,EAAOwb,QAAQtjB,GAEnBkO,GAAe,UAATlO,IAGTkO,EAAKpG,EAAOwb,QAAQC,MAAQzb,EAAOwb,QAAQR,KAKxC5U,GAAO8U,GAAQE,EAAUha,KAAKlJ,KAM/ByB,IACFqZ,EAAOA,EAAKna,KAAI,SAAU6iB,GACxB,GAAItB,EAASsB,IAAM/iB,MAAMC,QAAQ8iB,GAC/B,IACE,OAAOhiB,KAAKC,UAAU+hB,GACtB,MAAOC,GACP,OAAOvhB,OAAOshB,GAMlB,OAAOthB,OAAOshB,MACbE,KAAK,MAKLxV,EAAG8M,MAGN9M,EAAGzN,MAAMC,QAAQoa,GAAQ,QAAU,QAAQhT,EAAOwb,QAASxI,GAF3D5M,EAAG4M,OAOT,SAAS6I,EAAejlB,GAEtB,IAAIqkB,EAAQ,OAGRa,OAAY,EAuBZd,EAAM,SAASA,IAGjB,IAFA,IAAIrhB,EAAYqhB,EAAIrhB,WAAa0e,GAAcA,EAAa,GAEnDqC,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzBkB,EAAU,MAAOb,EAAOjI,EAAMrZ,IA+KhC,OA3KAmiB,EAAYf,EAAiBnkB,EAAMokB,GAenCA,EAAIe,aAAe,SAAUC,GAC3B,OAAOH,EAAejlB,EAAO,KAAOolB,IAsBtChB,EAAIG,OAAS,CACXc,IAAK,uBACLpJ,IAAK,GACLqJ,MAAO,uBACPT,KAAM,iBACNU,KAAM,aACNC,MAAO,QACPC,QAASpB,GAeXD,EAAIC,MAAQ,SAAUC,GACpB,GAAmB,kBAARA,EAAkB,CAC3B,IAAKF,EAAIG,OAAOmB,eAAepB,GAC7B,MAAM,IAAI/E,MAAM,IAAM+E,EAAM,8BAE9BD,EAAQC,EAEV,OAAOD,GAYTD,EAAIpJ,QAAU,WACZ,OAAOA,EAAU,GAAGgB,OAAOhB,GAAW,IAYxCoJ,EAAIpJ,QAAQ2K,OAAS,SAAUC,GAC7B,OAAQ5K,GAAW,IAAI2K,QAAO,SAAUE,GAEtC,OAAO,IAAIpB,OAAO,KAAOmB,EAAQ,MAAMpb,KAAKqb,EAAY,QAQ5DzB,EAAIpJ,QAAQ8K,MAAQ,WACd9K,IACFA,EAAQ7M,OAAS,IAOrBiW,EAAIpJ,QAAQ+K,QAAU,WACJ,OAAZ/K,IACFA,EAAQ7M,OAAS,EACjB6M,EAAU,OAOdoJ,EAAIpJ,QAAQgL,OAAS,WACH,OAAZhL,IACFA,EAAU,KAUdoJ,EAAIoB,MAAQ,WACV,IAAK,IAAIS,EAAQ3e,UAAU6G,OAAQiO,EAAOra,MAAMkkB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChF9J,EAAK8J,GAAS5e,UAAU4e,GAG1B,OAAOhB,EAAU,QAASb,EAAOjI,IASnCgI,EAAImB,KAAO,WACT,IAAK,IAAIY,EAAQ7e,UAAU6G,OAAQiO,EAAOra,MAAMokB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFhK,EAAKgK,GAAS9e,UAAU8e,GAG1B,OAAOlB,EAAU,OAAQb,EAAOjI,IAUlCgI,EAAIkB,MAAQ,WACV,IAAK,IAAIe,EAAQ/e,UAAU6G,OAAQiO,EAAOra,MAAMskB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFlK,EAAKkK,GAAShf,UAAUgf,GAG1B,OAAOpB,EAAU,QAASb,EAAOjI,IAG5BgI,EAOT,IAAIA,EAAMa,EAAe,WACrBE,EAAef,EAAIe,aAwBvB,SAASoB,EAAc3X,EAAI4X,GACzB,IAAK5X,IAAO4X,EACV,MAAO,GAGT,GAAuC,oBAA5Bpd,EAAOqd,iBAAiC,CACjD,IAAIC,EAAKtd,EAAOqd,iBAAiB7X,GAEjC,OAAO8X,EAAKA,EAAGF,GAAQ,GAGzB,OAAO5X,EAAG+X,aAAaH,IAAS,GAGlC,IAAII,EAAkBvD,EAA2B,CAAC,4MAA6M,OAAQ,KAAM,CAAC,4MAA6M,OAAQ,MAiBne,SAASwD,EAAiBC,GACxB,MAAsB,kBAARA,GAAoB,KAAKtc,KAAKsc,GAc9C,SAASC,GAAkBD,GACzB,GAAI,KAAKtc,KAAKsc,GACZ,MAAM,IAAIvH,MAAM,2CAcpB,SAASyH,GAAYC,GACnB,OAAO,IAAIxC,OAAO,UAAYwC,EAAY,WAQ5C,SAASpF,KACP,OAGErY,IAAaJ,EAAOI,UAIc,qBAA3BA,EAASyY,cAcpB,SAASiF,GAAKhnB,GACZ,OAAOsjB,EAAStjB,IAA6B,IAAnBA,EAAMinB,SASlC,SAASC,KAIP,IACE,OAAOhe,EAAOie,SAAWje,EAAO+Z,KAChC,MAAO4B,GACP,OAAO,GAaX,SAASuC,GAAcC,GACrB,OAAO,SAAUC,EAAUC,GACzB,IAAKZ,EAAiBW,GACpB,OAAOhe,EAAS+d,GAAQ,MAEtBV,EAAiBY,KACnBA,EAAUje,EAASqP,cAAc4O,IAGnC,IAAI/b,EAAMwb,GAAKO,GAAWA,EAAUje,EAEpC,OAAOkC,EAAI6b,IAAW7b,EAAI6b,GAAQC,IAsBtC,SAASE,KACP,IAAIC,EAAUrgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,MAC9EsgB,EAAatgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFiB,EAAUjB,UAAU,GAEpBsH,EAAKpF,EAASyY,cAAc0F,GA6BhC,OA3BAvlB,OAAO0lB,oBAAoBF,GAAYtlB,SAAQ,SAAUylB,GACvD,IAAIC,EAAMJ,EAAWG,IAKc,IAA/BA,EAASxmB,QAAQ,UAAgC,SAAbwmB,GAAoC,SAAbA,GAC7D3D,EAAImB,KAAK1F,EAAK+G,EAAiBmB,EAAUC,IACzCpZ,EAAGgM,aAAamN,EAAUC,IAIJ,gBAAbD,EACTE,GAAYrZ,EAAIoZ,GAEhBpZ,EAAGmZ,GAAYC,KAInB5lB,OAAO0lB,oBAAoBD,GAAYvlB,SAAQ,SAAU4lB,GACvDtZ,EAAGgM,aAAasN,EAAUL,EAAWK,OAGnC3f,GACF4f,GAAcvZ,EAAIrG,GAGbqG,EAeT,SAASqZ,GAAYrZ,EAAIwZ,GAMvB,MAL8B,qBAAnBxZ,EAAGqZ,YACZrZ,EAAGyZ,UAAYD,EAEfxZ,EAAGqZ,YAAcG,EAEZxZ,EAYT,SAAS0Z,GAAUC,EAAOlB,GACpBA,EAAOmB,WACTnB,EAAOoB,aAAaF,EAAOlB,EAAOmB,YAElCnB,EAAOqB,YAAYH,GAoBvB,SAASI,GAASC,EAASC,GAEzB,OADA9B,GAAkB8B,GACdD,EAAQE,UACHF,EAAQE,UAAUC,SAASF,GAE7B7B,GAAY6B,GAAcre,KAAKoe,EAAQ3B,WAehD,SAAS+B,GAASJ,EAASK,GAUzB,OATIL,EAAQE,UACVF,EAAQE,UAAUI,IAAID,GAIZN,GAASC,EAASK,KAC5BL,EAAQ3B,WAAa2B,EAAQ3B,UAAY,IAAMgC,GAAYxL,QAGtDmL,EAeT,SAASO,GAAYP,EAASQ,GAU5B,OATIR,EAAQE,UACVF,EAAQE,UAAUO,OAAOD,IAEzBrC,GAAkBqC,GAClBR,EAAQ3B,UAAY2B,EAAQ3B,UAAUvJ,MAAM,OAAOiI,QAAO,SAAU2D,GAClE,OAAOA,IAAMF,KACZpE,KAAK,MAGH4D,EAmCT,SAASW,GAAYX,EAASY,EAAeC,GAK3C,IAAIC,EAAMf,GAASC,EAASY,GAY5B,GAVyB,oBAAdC,IACTA,EAAYA,EAAUb,EAASY,IAGR,mBAAdC,IACTA,GAAaC,GAKXD,IAAcC,EAUlB,OANID,EACFT,GAASJ,EAASY,GAElBL,GAAYP,EAASY,GAGhBZ,EAYT,SAASe,GAAc/a,EAAIiZ,GACzBzlB,OAAO0lB,oBAAoBD,GAAYvlB,SAAQ,SAAU4lB,GACvD,IAAI0B,EAAY/B,EAAWK,GAET,OAAd0B,GAA2C,qBAAdA,IAA2C,IAAdA,EAC5Dhb,EAAGib,gBAAgB3B,GAEnBtZ,EAAGgM,aAAasN,GAAwB,IAAd0B,EAAqB,GAAKA,MAiB1D,SAASE,GAActhB,GACrB,IAAI1G,EAAM,GAKNioB,EAAgB,kEAEpB,GAAIvhB,GAAOA,EAAIqf,YAAcrf,EAAIqf,WAAW1Z,OAAS,EAGnD,IAFA,IAAI9P,EAAQmK,EAAIqf,WAEP9f,EAAI1J,EAAM8P,OAAS,EAAGpG,GAAK,EAAGA,IAAK,CAC1C,IAAImgB,EAAW7pB,EAAM0J,GAAG/H,KACpBgqB,EAAU3rB,EAAM0J,GAAG7H,MAIM,mBAAlBsI,EAAI0f,KAA4E,IAAjD6B,EAAcxoB,QAAQ,IAAM2mB,EAAW,OAI/E8B,EAAsB,OAAZA,GAGZloB,EAAIomB,GAAY8B,EAIpB,OAAOloB,EAeT,SAASmoB,GAAarb,EAAIsb,GACxB,OAAOtb,EAAGqb,aAAaC,GAezB,SAAStP,GAAahM,EAAIsb,EAAWhqB,GACnC0O,EAAGgM,aAAasP,EAAWhqB,GAY7B,SAAS2pB,GAAgBjb,EAAIsb,GAC3Btb,EAAGib,gBAAgBK,GAMrB,SAASC,KACP3gB,EAASsO,KAAKsS,QACd5gB,EAAS6gB,cAAgB,WACvB,OAAO,GAOX,SAASC,KACP9gB,EAAS6gB,cAAgB,WACvB,OAAO,GAuBX,SAAS1kB,GAAsBiJ,GAC7B,GAAIA,GAAMA,EAAGjJ,uBAAyBiJ,EAAG2b,WAAY,CACnD,IAAI9kB,EAAOmJ,EAAGjJ,wBACV+P,EAAS,GAgBb,MAdA,CAAC,SAAU,SAAU,OAAQ,QAAS,MAAO,SAASpT,SAAQ,SAAUkoB,QACtD5G,IAAZne,EAAK+kB,KACP9U,EAAO8U,GAAK/kB,EAAK+kB,OAIhB9U,EAAOnW,SACVmW,EAAOnW,OAAS+gB,WAAWiG,EAAc3X,EAAI,YAG1C8G,EAAOpR,QACVoR,EAAOpR,MAAQgc,WAAWiG,EAAc3X,EAAI,WAGvC8G,GA6BX,SAAS+U,GAAa7b,GACpB,IAAI8b,OAAM,EAMV,GAJI9b,EAAGjJ,uBAAyBiJ,EAAG2b,aACjCG,EAAM9b,EAAGjJ,0BAGN+kB,EACH,MAAO,CACLlkB,KAAM,EACNF,IAAK,GAIT,IAAIqkB,EAAQnhB,EAASohB,gBACjB9S,EAAOtO,EAASsO,KAEhB+S,EAAaF,EAAME,YAAc/S,EAAK+S,YAAc,EACpDC,EAAa1hB,EAAO2hB,aAAejT,EAAKgT,WACxCtkB,EAAOkkB,EAAIlkB,KAAOskB,EAAaD,EAE/BG,EAAYL,EAAMK,WAAalT,EAAKkT,WAAa,EACjDzd,EAAYnE,EAAO6hB,aAAenT,EAAKvK,UACvCjH,EAAMokB,EAAIpkB,IAAMiH,EAAYyd,EAGhC,MAAO,CACLxkB,KAAMO,KAAKC,MAAMR,GACjBF,IAAKS,KAAKC,MAAMV,IA+BpB,SAAS4kB,GAAmBtc,EAAI3J,GAC9B,IAAIyE,EAAW,GACXghB,EAAMD,GAAa7b,GACnBuc,EAAOvc,EAAGwc,YACVC,EAAOzc,EAAGqJ,aAEVqT,EAAOZ,EAAIpkB,IACXilB,EAAOb,EAAIlkB,KACXglB,EAAQvmB,EAAMumB,MACdC,EAAQxmB,EAAMwmB,MAUlB,OARIxmB,EAAMymB,iBACRD,EAAQxmB,EAAMymB,eAAe,GAAGD,MAChCD,EAAQvmB,EAAMymB,eAAe,GAAGF,OAGlC9hB,EAASiiB,EAAI5kB,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAI,GAAI0nB,EAAOE,EAAQH,GAAQA,IAC7D3hB,EAASqb,EAAIhe,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAI,GAAI6nB,EAAQF,GAAQJ,IAE/CzhB,EAaT,SAASkiB,GAAW1rB,GAClB,OAAOsjB,EAAStjB,IAA6B,IAAnBA,EAAMinB,SAYlC,SAAS0E,GAAQjd,GACf,MAAOA,EAAG4Z,WACR5Z,EAAGkd,YAAYld,EAAG4Z,YAEpB,OAAO5Z,EAwBT,SAASmd,GAAiBxjB,GAUxB,MANuB,oBAAZA,IACTA,EAAUA,MAKJxG,MAAMC,QAAQuG,GAAWA,EAAU,CAACA,IAAUtG,KAAI,SAAU/B,GAQlE,MAJqB,oBAAVA,IACTA,EAAQA,KAGNgnB,GAAKhnB,IAAU0rB,GAAW1rB,GACrBA,EAGY,kBAAVA,GAAsB,KAAKsK,KAAKtK,GAClCsJ,EAASwiB,eAAe9rB,QADjC,KAGCylB,QAAO,SAAUzlB,GAClB,OAAOA,KAiBX,SAASioB,GAAcvZ,EAAIrG,GAIzB,OAHAwjB,GAAiBxjB,GAASjG,SAAQ,SAAU2pB,GAC1C,OAAOrd,EAAG8Z,YAAYuD,MAEjBrd,EAiBT,SAASsd,GAActd,EAAIrG,GACzB,OAAO4f,GAAc0D,GAAQjd,GAAKrG,GAapC,SAAS4jB,GAAkBlnB,GAKzB,YAAqB2e,IAAjB3e,EAAMmnB,aAA0CxI,IAAlB3e,EAAMonB,UAgBnB,IAAjBpnB,EAAMmnB,aAAkCxI,IAAlB3e,EAAMonB,UAOb,IAAf5K,GAMiB,IAAjBxc,EAAMmnB,QAAkC,IAAlBnnB,EAAMonB,UA4BlC,IAAIC,GAAIhF,GAAc,iBAmBlBiF,GAAKjF,GAAc,oBAInBkF,IAAOpqB,OAAO+f,QAAU/f,QAAQ,CACnCyf,OAAQA,GACRqF,KAAMA,GACNE,UAAWA,GACXM,SAAUA,GACVO,YAAaA,GACbK,UAAWA,GACXK,SAAUA,GACVK,SAAUA,GACVG,YAAaA,GACbI,YAAaA,GACbI,cAAeA,GACfG,cAAeA,GACfG,aAAcA,GACdrP,aAAcA,GACdiP,gBAAiBA,GACjBM,mBAAoBA,GACpBG,qBAAsBA,GACtB3kB,sBAAuBA,GACvB8kB,aAAcA,GACdS,mBAAoBA,GACpBU,WAAYA,GACZC,QAASA,GACTE,iBAAkBA,GAClB5D,cAAeA,GACf+D,cAAeA,GACfC,kBAAmBA,GACnBG,EAAGA,GACHC,GAAIA,KAYDE,GAAQ,EAQZ,SAASC,KACP,OAAOD,KAiBT,IAAIE,GAAS,GASTC,GAAW,SAAU,IAAIjZ,MAAOkZ,UAWpC,SAASC,GAAQle,GACf,IAAI7N,EAAK6N,EAAGge,IAUZ,OARK7rB,IACHA,EAAK6N,EAAGge,IAAYF,MAGjBC,GAAO5rB,KACV4rB,GAAO5rB,GAAM,IAGR4rB,GAAO5rB,GAahB,SAASgsB,GAAQne,GACf,IAAI7N,EAAK6N,EAAGge,IAEZ,QAAK7rB,KAIIqB,OAAO0lB,oBAAoB6E,GAAO5rB,IAAKoN,OASlD,SAAS6e,GAAWpe,GAClB,IAAI7N,EAAK6N,EAAGge,IAEZ,GAAK7rB,EAAL,QAKO4rB,GAAO5rB,GAGd,WACS6N,EAAGge,IACV,MAAOzkB,GACHyG,EAAGib,gBACLjb,EAAGib,gBAAgB+C,IAGnBhe,EAAGge,IAAY,OAuBrB,SAASK,GAAeC,EAAM5rB,GAC5B,IAAI0C,EAAO8oB,GAAQI,GAGgB,IAA/BlpB,EAAKmpB,SAAS7rB,GAAM6M,gBACfnK,EAAKmpB,SAAS7rB,GAKjB4rB,EAAKE,oBACPF,EAAKE,oBAAoB9rB,EAAM0C,EAAKqpB,YAAY,GACvCH,EAAKI,aACdJ,EAAKI,YAAY,KAAOhsB,EAAM0C,EAAKqpB,aAKnCjrB,OAAO0lB,oBAAoB9jB,EAAKmpB,UAAUhf,QAAU,WAC/CnK,EAAKmpB,gBACLnpB,EAAKqpB,kBACLrpB,EAAKd,UAIkC,IAA5Cd,OAAO0lB,oBAAoB9jB,GAAMmK,QACnC6e,GAAWE,GAmBf,SAASK,GAAsB/d,EAAI0d,EAAMM,EAAO/sB,GAC9C+sB,EAAMlrB,SAAQ,SAAUhB,GAEtBkO,EAAG0d,EAAM5rB,EAAMb,MAanB,SAASgtB,GAASxoB,GAEhB,SAASyoB,IACP,OAAO,EAGT,SAASC,IACP,OAAO,EAQT,IAAK1oB,IAAUA,EAAM2oB,qBAAsB,CACzC,IAAIC,EAAM5oB,GAASmE,EAAOnE,MAQ1B,IAAK,IAAInE,KANTmE,EAAQ,GAMQ4oB,EAIF,WAAR/sB,GAA4B,WAARA,GAA4B,gBAARA,GAAiC,oBAARA,GAAqC,oBAARA,IAGlF,gBAARA,GAAyB+sB,EAAIC,iBACjC7oB,EAAMnE,GAAO+sB,EAAI/sB,KAmDvB,GA7CKmE,EAAMoJ,SACTpJ,EAAMoJ,OAASpJ,EAAM8oB,YAAcvkB,GAIhCvE,EAAM+oB,gBACT/oB,EAAM+oB,cAAgB/oB,EAAMgpB,cAAgBhpB,EAAMoJ,OAASpJ,EAAMipB,UAAYjpB,EAAMgpB,aAIrFhpB,EAAM6oB,eAAiB,WACjBD,EAAIC,gBACND,EAAIC,iBAEN7oB,EAAMkpB,aAAc,EACpBN,EAAIM,aAAc,EAClBlpB,EAAMmpB,kBAAmB,GAG3BnpB,EAAMmpB,kBAAmB,EAGzBnpB,EAAMmB,gBAAkB,WAClBynB,EAAIznB,iBACNynB,EAAIznB,kBAENnB,EAAMopB,cAAe,EACrBR,EAAIQ,cAAe,EACnBppB,EAAM2oB,qBAAuBF,GAG/BzoB,EAAM2oB,qBAAuBD,EAG7B1oB,EAAMqpB,yBAA2B,WAC3BT,EAAIS,0BACNT,EAAIS,2BAENrpB,EAAMspB,8BAAgCb,EACtCzoB,EAAMmB,mBAGRnB,EAAMspB,8BAAgCZ,EAGhB,OAAlB1oB,EAAMsB,cAAsCqd,IAAlB3e,EAAMsB,QAAuB,CACzD,IAAIioB,EAAMhlB,EAASohB,gBACf9S,EAAOtO,EAASsO,KAEpB7S,EAAMwmB,MAAQxmB,EAAMsB,SAAWioB,GAAOA,EAAI1D,YAAchT,GAAQA,EAAKgT,YAAc,IAAM0D,GAAOA,EAAI3D,YAAc/S,GAAQA,EAAK+S,YAAc,GAC7I5lB,EAAMumB,MAAQvmB,EAAMoB,SAAWmoB,GAAOA,EAAIjhB,WAAauK,GAAQA,EAAKvK,WAAa,IAAMihB,GAAOA,EAAIxD,WAAalT,GAAQA,EAAKkT,WAAa,GAI3I/lB,EAAMwpB,MAAQxpB,EAAMypB,UAAYzpB,EAAMxD,QAIjB,OAAjBwD,EAAMmnB,aAAoCxI,IAAjB3e,EAAMmnB,SAKjCnnB,EAAMmnB,OAAwB,EAAfnnB,EAAMmnB,OAAa,EAAmB,EAAfnnB,EAAMmnB,OAAa,EAAmB,EAAfnnB,EAAMmnB,OAAa,EAAI,GAMxF,OAAOnnB,EAMT,IAAI0pB,IAAmB,GAEvB,WACE,IACE,IAAIC,EAAOxsB,OAAO8a,eAAe,GAAI,UAAW,CAC9CrK,IAAK,WACH8b,IAAmB,KAIvBvlB,EAAO+R,iBAAiB,OAAQ,KAAMyT,GACtCxlB,EAAOgkB,oBAAoB,OAAQ,KAAMwB,GACzC,MAAOzmB,MAVX,GAkBA,IAAI0mB,GAAgB,CAAC,aAAc,aAiBnC,SAASvwB,GAAG4uB,EAAM5rB,EAAMkO,GACtB,GAAIzN,MAAMC,QAAQV,GAChB,OAAOisB,GAAsBjvB,GAAI4uB,EAAM5rB,EAAMkO,GAG/C,IAAIxL,EAAO8oB,GAAQI,GAiDnB,GA9CKlpB,EAAKmpB,WACRnpB,EAAKmpB,SAAW,IAGbnpB,EAAKmpB,SAAS7rB,KACjB0C,EAAKmpB,SAAS7rB,GAAQ,IAGnBkO,EAAGsf,OACNtf,EAAGsf,KAAOpC,MAGZ1oB,EAAKmpB,SAAS7rB,GAAMkP,KAAKhB,GAEpBxL,EAAKqpB,aACRrpB,EAAKd,UAAW,EAEhBc,EAAKqpB,WAAa,SAAUpoB,EAAO8pB,GAEjC,IAAI/qB,EAAKd,SAAT,CAIA+B,EAAQwoB,GAASxoB,GAEjB,IAAIkoB,EAAWnpB,EAAKmpB,SAASloB,EAAM3D,MAEnC,GAAI6rB,EAIF,IAFA,IAAI6B,EAAe7B,EAAS9a,MAAM,GAEzB4c,EAAI,EAAGC,EAAIF,EAAa7gB,OAAQ8gB,EAAIC,EAAGD,IAAK,CACnD,GAAIhqB,EAAMspB,gCACR,MAEA,IACES,EAAaC,GAAG5S,KAAK6Q,EAAMjoB,EAAO8pB,GAClC,MAAO5mB,GACPic,EAAIoB,MAAMrd,QAQa,IAA/BnE,EAAKmpB,SAAS7rB,GAAM6M,OACtB,GAAI+e,EAAK/R,iBAAkB,CACzB,IAAIgU,GAAU,EAEVR,IAAoBE,GAActtB,QAAQD,IAAS,IACrD6tB,EAAU,CAAEC,SAAS,IAEvBlC,EAAK/R,iBAAiB7Z,EAAM0C,EAAKqpB,WAAY8B,QACpCjC,EAAKmC,aACdnC,EAAKmC,YAAY,KAAO/tB,EAAM0C,EAAKqpB,YAkBzC,SAASpR,GAAIiR,EAAM5rB,EAAMkO,GAEvB,GAAKud,GAAQG,GAAb,CAIA,IAAIlpB,EAAO8oB,GAAQI,GAGnB,GAAKlpB,EAAKmpB,SAAV,CAIA,GAAIprB,MAAMC,QAAQV,GAChB,OAAOisB,GAAsBtR,GAAKiR,EAAM5rB,EAAMkO,GAIhD,IAAI8f,EAAa,SAAoB1gB,EAAI2gB,GACvCvrB,EAAKmpB,SAASoC,GAAK,GACnBtC,GAAere,EAAI2gB,IAIrB,QAAa3L,IAATtiB,EAAJ,CASA,IAAI6rB,EAAWnpB,EAAKmpB,SAAS7rB,GAG7B,GAAK6rB,EAKL,GAAK3d,EAAL,CAMA,GAAIA,EAAGsf,KACL,IAAK,IAAII,EAAI,EAAGA,EAAI/B,EAAShf,OAAQ+gB,IAC/B/B,EAAS+B,GAAGJ,OAAStf,EAAGsf,MAC1B3B,EAASxe,OAAOugB,IAAK,GAK3BjC,GAAeC,EAAM5rB,QAbnBguB,EAAWpC,EAAM5rB,QAjBjB,IAAK,IAAIiuB,KAAKvrB,EAAKmpB,SACb/qB,OAAOoa,UAAUkJ,eAAerJ,KAAKrY,EAAKmpB,UAAY,GAAIoC,IAC5DD,EAAWpC,EAAMqC,KA+CzB,SAASrT,GAAQgR,EAAMjoB,EAAO8pB,GAI5B,IAAIS,EAAWzC,GAAQG,GAAQJ,GAAQI,GAAQ,GAC3C7F,EAAS6F,EAAK3C,YAAc2C,EAAKuC,cAqBrC,GAhBqB,kBAAVxqB,EACTA,EAAQ,CAAE3D,KAAM2D,EAAOoJ,OAAQ6e,GACrBjoB,EAAMoJ,SAChBpJ,EAAMoJ,OAAS6e,GAIjBjoB,EAAQwoB,GAASxoB,GAGbuqB,EAASnC,YACXmC,EAASnC,WAAWhR,KAAK6Q,EAAMjoB,EAAO8pB,GAKpC1H,IAAWpiB,EAAM2oB,yBAA4C,IAAlB3oB,EAAMyqB,QACnDxT,GAAQG,KAAK,KAAMgL,EAAQpiB,EAAO8pB,QAG7B,IAAK1H,IAAWpiB,EAAMmpB,iBAAkB,CAC7C,IAAIuB,EAAa7C,GAAQ7nB,EAAMoJ,QAG3BpJ,EAAMoJ,OAAOpJ,EAAM3D,QAErBquB,EAAWzsB,UAAW,EAEkB,oBAA7B+B,EAAMoJ,OAAOpJ,EAAM3D,OAC5B2D,EAAMoJ,OAAOpJ,EAAM3D,QAGrBquB,EAAWzsB,UAAW,GAK1B,OAAQ+B,EAAMmpB,iBAehB,SAASwB,GAAI1C,EAAM5rB,EAAMkO,GACvB,GAAIzN,MAAMC,QAAQV,GAChB,OAAOisB,GAAsBqC,GAAK1C,EAAM5rB,EAAMkO,GAEhD,IAAIqgB,EAAO,SAASA,IAClB5T,GAAIiR,EAAM5rB,EAAMuuB,GAChBrgB,EAAG8M,MAAM1e,KAAM0J,YAIjBuoB,EAAKf,KAAOtf,EAAGsf,KAAOtf,EAAGsf,MAAQpC,KACjCpuB,GAAG4uB,EAAM5rB,EAAMuuB,GAGjB,IAAIC,IAAU1tB,OAAO+f,QAAU/f,QAAQ,CACtCqrB,SAAUA,GACVnvB,GAAIA,GACJ2d,IAAKA,GACLC,QAASA,GACT0T,IAAKA,KASFG,IAAgB,EAChBC,QAAY,EAKZC,GAAY,WAGd,GAAKpO,OAA4C,IAAhCmO,GAAUb,QAAQc,UAAnC,CAWA,IAAIC,EAAO1mB,EAASmO,qBAAqB,SACrCwY,EAAS3mB,EAASmO,qBAAqB,SACvCyY,EAAO5mB,EAASmO,qBAAqB,YACrC0Y,EAAW,GAEf,GAAIH,GAAQA,EAAK/hB,OAAS,EACxB,IAAK,IAAIpG,EAAI,EAAGI,EAAI+nB,EAAK/hB,OAAQpG,EAAII,EAAGJ,IACtCsoB,EAAS7f,KAAK0f,EAAKnoB,IAIvB,GAAIooB,GAAUA,EAAOhiB,OAAS,EAC5B,IAAK,IAAImiB,EAAK,EAAG9xB,EAAK2xB,EAAOhiB,OAAQmiB,EAAK9xB,EAAI8xB,IAC5CD,EAAS7f,KAAK2f,EAAOG,IAIzB,GAAIF,GAAQA,EAAKjiB,OAAS,EACxB,IAAK,IAAIoiB,EAAM,EAAGC,EAAMJ,EAAKjiB,OAAQoiB,EAAMC,EAAKD,IAC9CF,EAAS7f,KAAK4f,EAAKG,IAKvB,GAAIF,GAAYA,EAASliB,OAAS,EAEhC,IAAK,IAAIsiB,EAAM,EAAGC,EAAML,EAASliB,OAAQsiB,EAAMC,EAAKD,IAAO,CACzD,IAAIE,EAAUN,EAASI,GAKvB,IAAIE,IAAWA,EAAQ1G,aAehB,CACL2G,GAAiB,GACjB,MAdA,QAAuBhN,IAAnB+M,EAAQE,OAAsB,CAChC,IAAI1B,EAAUwB,EAAQ1G,aAAa,cAInB,OAAZkF,GAEFa,GAAUW,SAYRZ,IACVa,GAAiB,KAcrB,SAASA,GAAiBpX,EAAMsX,GAC1BA,IACFd,GAAYc,GAGd1nB,EAAOwB,WAAWqlB,GAAWzW,GAG3BqI,MAAoC,aAAxBrY,EAASunB,WACvBhB,IAAgB,EAOhBH,GAAIxmB,EAAQ,QAAQ,WAClB2mB,IAAgB,KAiBpB,IAAIiB,GAAqB,SAA4B/J,GACnD,IAAI5nB,EAAQmK,EAASyY,cAAc,SAInC,OAFA5iB,EAAM4nB,UAAYA,EAEX5nB,GAYL4xB,GAAiB,SAAwBriB,EAAIrG,GAC3CqG,EAAGsiB,WACLtiB,EAAGsiB,WAAWC,QAAU5oB,EAExBqG,EAAGqZ,YAAc1f,GAwBjBuE,GAAO,SAAc2a,EAASjY,EAAI4hB,GAE/B5hB,EAAGsf,OACNtf,EAAGsf,KAAOpC,MAIZ,IAAI2E,EAAQ,WACV,OAAO7hB,EAAG8M,MAAMmL,EAASngB,YAW3B,OAFA+pB,EAAMvC,KAAOsC,EAAMA,EAAM,IAAM5hB,EAAGsf,KAAOtf,EAAGsf,KAErCuC,GAeLC,GAAW,SAAkB9hB,EAAIgK,GACnC,IAAIvF,EAAON,KAAKC,MAEZ2d,EAAY,WACd,IAAI3d,EAAMD,KAAKC,MAEXA,EAAMK,GAAQuF,IAChBhK,EAAG8M,WAAMsH,EAAWtc,WACpB2M,EAAOL,IAIX,OAAO2d,GA4BLC,GAAW,SAAkB3B,EAAMrW,EAAMD,GAC3C,IAAIkO,EAAUngB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK8B,EAE9EqoB,OAAU,EAEVC,EAAS,WACXjK,EAAQkK,aAAaF,GACrBA,EAAU,MAIRG,EAAY,WACd,IAAIzO,EAAOvlB,KACPwe,EAAO9U,UAEPuqB,EAAS,WACXJ,EAAU,KACVI,EAAS,KACJtY,GACHsW,EAAKvT,MAAM6G,EAAM/G,KAIhBqV,GAAWlY,GACdsW,EAAKvT,MAAM6G,EAAM/G,GAGnBqL,EAAQkK,aAAaF,GACrBA,EAAUhK,EAAQ7c,WAAWinB,EAAQrY,IAMvC,OAFAoY,EAAUF,OAASA,EAEZE,GAcLE,GAAc,aA+BlBA,GAAYtV,UAAUuV,eAAiB,GAYvCD,GAAYtV,UAAUle,GAAK,SAAUgD,EAAMkO,GAGzC,IAAIwiB,EAAMp0B,KAAKud,iBAEfvd,KAAKud,iBAAmB,aACxB7c,GAAGV,KAAM0D,EAAMkO,GACf5R,KAAKud,iBAAmB6W,GAU1BF,GAAYtV,UAAUrB,iBAAmB2W,GAAYtV,UAAUle,GAa/DwzB,GAAYtV,UAAUP,IAAM,SAAU3a,EAAMkO,GAC1CyM,GAAIre,KAAM0D,EAAMkO,IAUlBsiB,GAAYtV,UAAU4Q,oBAAsB0E,GAAYtV,UAAUP,IAalE6V,GAAYtV,UAAUoT,IAAM,SAAUtuB,EAAMkO,GAG1C,IAAIwiB,EAAMp0B,KAAKud,iBAEfvd,KAAKud,iBAAmB,aACxByU,GAAIhyB,KAAM0D,EAAMkO,GAChB5R,KAAKud,iBAAmB6W,GAmB1BF,GAAYtV,UAAUN,QAAU,SAAUjX,GACxC,IAAI3D,EAAO2D,EAAM3D,MAAQ2D,EAEJ,kBAAVA,IACTA,EAAQ,CAAE3D,KAAMA,IAElB2D,EAAQwoB,GAASxoB,GAEbrH,KAAKm0B,eAAezwB,IAAS1D,KAAK,KAAO0D,IAC3C1D,KAAK,KAAO0D,GAAM2D,GAGpBiX,GAAQte,KAAMqH,IAUhB6sB,GAAYtV,UAAUyV,cAAgBH,GAAYtV,UAAUN,QAe5D,IAAIgW,GAAY,SAAmB3U,GACjC,OAAOA,aAAkBuU,MAAiBvU,EAAO4U,aAAe,CAAC,KAAM,MAAO,MAAO,WAAWC,OAAM,SAAU5H,GAC9G,MAA4B,oBAAdjN,EAAOiN,OAcrB6H,GAAmB,SAA0B/wB,GAC/C,MAGkB,kBAATA,GAAqB,KAAKkJ,KAAKlJ,IAASS,MAAMC,QAAQV,MAAWA,EAAK6M,QAc7EmkB,GAAiB,SAAwBjkB,GAC3C,IAAKA,EAAOkkB,WAAaL,GAAU7jB,GACjC,MAAM,IAAIkR,MAAM,0DAchBiT,GAAoB,SAA2BlxB,GACjD,IAAK+wB,GAAiB/wB,GACpB,MAAM,IAAIie,MAAM,6DAchBkT,GAAmB,SAA0B1W,GAC/C,GAAwB,oBAAbA,EACT,MAAM,IAAIwD,MAAM,0CAmBhBmT,GAAsB,SAA6BvP,EAAM/G,GAI3D,IAAIuW,EAAkBvW,EAAKjO,OAAS,GAAKiO,EAAK,KAAO+G,GAAQ/G,EAAK,KAAO+G,EAAKgP,YAC1E9jB,OAAS,EACT/M,OAAO,EACPya,OAAW,EAyBf,OAvBI4W,GACFtkB,EAAS8U,EAAKgP,YAIV/V,EAAKjO,QAAU,GACjBiO,EAAKuB,QAGPrc,EAAO8a,EAAK,GACZL,EAAWK,EAAK,KAEhB/N,EAAS+N,EAAK,GACd9a,EAAO8a,EAAK,GACZL,EAAWK,EAAK,IAGlBkW,GAAejkB,GACfmkB,GAAkBlxB,GAClBmxB,GAAiB1W,GAEjBA,EAAWjP,GAAKqW,EAAMpH,GAEf,CAAE4W,gBAAiBA,EAAiBtkB,OAAQA,EAAQ/M,KAAMA,EAAMya,SAAUA,IAoB/E6W,GAAS,SAAgBvkB,EAAQkZ,EAAQjmB,EAAMya,GACjDuW,GAAejkB,GAEXA,EAAOkkB,SACTzC,GAAOvI,GAAQlZ,EAAQ/M,EAAMya,GAE7B1N,EAAOkZ,GAAQjmB,EAAMya,IAUrB8W,GAAe,CAyBjBv0B,GAAI,WAGF,IAFA,IAAI8I,EAAQxJ,KAEHkmB,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB,IAAI8O,EAAuBJ,GAAoB90B,KAAMwe,GACjDuW,EAAkBG,EAAqBH,gBACvCtkB,EAASykB,EAAqBzkB,OAC9B/M,EAAOwxB,EAAqBxxB,KAC5Bya,EAAW+W,EAAqB/W,SAKpC,GAHA6W,GAAOvkB,EAAQ,KAAM/M,EAAMya,IAGtB4W,EAAiB,CAGpB,IAAII,EAA0B,WAC5B,OAAO3rB,EAAM6U,IAAI5N,EAAQ/M,EAAMya,IAKjCgX,EAAwBjE,KAAO/S,EAAS+S,KAKxC,IAAIkE,EAA+B,WACjC,OAAO5rB,EAAM6U,IAAI,UAAW8W,IAK9BC,EAA6BlE,KAAO/S,EAAS+S,KAE7C8D,GAAOh1B,KAAM,KAAM,UAAWm1B,GAC9BH,GAAOvkB,EAAQ,KAAM,UAAW2kB,KA4BpCpD,IAAK,WAGH,IAFA,IAAIqD,EAASr1B,KAEJqoB,EAAQ3e,UAAU6G,OAAQiO,EAAOra,MAAMkkB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChF9J,EAAK8J,GAAS5e,UAAU4e,GAG1B,IAAIgN,EAAwBR,GAAoB90B,KAAMwe,GAClDuW,EAAkBO,EAAsBP,gBACxCtkB,EAAS6kB,EAAsB7kB,OAC/B/M,EAAO4xB,EAAsB5xB,KAC7Bya,EAAWmX,EAAsBnX,SAKrC,GAAI4W,EACFC,GAAOvkB,EAAQ,MAAO/M,EAAMya,OAGvB,CACL,IAAIjX,EAAU,SAASA,IACrB,IAAK,IAAIqhB,EAAQ7e,UAAU6G,OAAQglB,EAAQpxB,MAAMokB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACjF+M,EAAM/M,GAAS9e,UAAU8e,GAG3B6M,EAAOhX,IAAI5N,EAAQ/M,EAAMwD,GACzBiX,EAASO,MAAM,KAAM6W,IAKvBruB,EAAQgqB,KAAO/S,EAAS+S,KACxB8D,GAAOvkB,EAAQ,MAAO/M,EAAMwD,KAwBhCmX,IAAK,SAAgBmX,EAAcC,EAAgBtX,GAGjD,IAAKqX,GAAgBf,GAAiBe,GACpCnX,GAAIre,KAAKu0B,YAAaiB,EAAcC,OAG/B,CACL,IAAIhlB,EAAS+kB,EACT9xB,EAAO+xB,EAGXf,GAAejkB,GACfmkB,GAAkBlxB,GAClBmxB,GAAiB1W,GAGjBA,EAAWjP,GAAKlP,KAAMme,GAItBne,KAAKqe,IAAI,UAAWF,GAEhB1N,EAAOkkB,UACTtW,GAAI5N,EAAQ/M,EAAMya,GAClBE,GAAI5N,EAAQ,UAAW0N,IACdmW,GAAU7jB,KACnBA,EAAO4N,IAAI3a,EAAMya,GACjB1N,EAAO4N,IAAI,UAAWF,MAkB5BG,QAAS,SAAoBjX,EAAO8pB,GAClC,OAAO7S,GAAQte,KAAKu0B,YAAaltB,EAAO8pB,KAqB5C,SAASuE,GAAQjlB,GACf,IAAI8gB,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9EisB,EAAcpE,EAAQoE,YAI1B,GAAIA,EAAa,CACf,IAAKllB,EAAOklB,GAAahB,SACvB,MAAM,IAAIhT,MAAM,oBAAsBgU,EAAc,mCAEtDllB,EAAO8jB,YAAc9jB,EAAOklB,QAE5BllB,EAAO8jB,YAAczK,GAAS,OAAQ,CAAET,UAAW,kBAarD,OAVA9N,EAAO9K,EAAQwkB,IAGfxkB,EAAO/P,GAAG,WAAW,WACnB+P,EAAO4N,MACP7S,EAAOwB,YAAW,WAChByD,EAAO8jB,YAAc,OACpB,MAGE9jB,EAaT,IAAImlB,GAAgB,CAQlBzc,MAAO,GAeP0c,SAAU,SAAkBC,GAC1B,IAAItsB,EAAQxJ,KAGgB,oBAAjB81B,IACTA,EAAeA,KAGjB,IAAIC,OAAU,EAuCd,OArCAlQ,EAAKiQ,GAAc,SAAUxzB,EAAOY,GAI9BsG,EAAM2P,MAAMjW,KAASZ,IACvByzB,EAAUA,GAAW,GACrBA,EAAQ7yB,GAAO,CACbqO,KAAM/H,EAAM2P,MAAMjW,GAClBqB,GAAIjC,IAIRkH,EAAM2P,MAAMjW,GAAOZ,KAMjByzB,GAAWzB,GAAUt0B,OAavBA,KAAKse,QAAQ,CACXyX,QAASA,EACTryB,KAAM,iBAIHqyB,IAsBX,SAASC,GAASvlB,EAAQwlB,GAYxB,OAXA1a,EAAO9K,EAAQmlB,IAIfnlB,EAAO0I,MAAQoC,EAAO,GAAI9K,EAAO0I,MAAO8c,GAGC,oBAA9BxlB,EAAOylB,oBAAqC5B,GAAU7jB,IAC/DA,EAAO/P,GAAG,eAAgB+P,EAAOylB,oBAG5BzlB,EAiBT,SAAS0lB,GAAYC,GACnB,MAAsB,kBAAXA,EACFA,EAGFA,EAAOC,OAAO,GAAGtP,cAAgBqP,EAAO3hB,MAAM,GAevD,SAAS6hB,GAAgBC,EAAMC,GAC7B,OAAOL,GAAYI,KAAUJ,GAAYK,GAiB3C,SAASC,KAGP,IAFA,IAAI3e,EAAS,GAEJoO,EAAOxc,UAAU6G,OAAQ4V,EAAUhiB,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC9ED,EAAQC,GAAQ1c,UAAU0c,GAsB5B,OAnBAD,EAAQzhB,SAAQ,SAAU2hB,GACnBA,GAILR,EAAKQ,GAAQ,SAAU/jB,EAAOY,GACvBojB,EAAQhkB,IAKRgkB,EAAQxO,EAAO5U,MAClB4U,EAAO5U,GAAO,IAGhB4U,EAAO5U,GAAOuzB,GAAa3e,EAAO5U,GAAMZ,IARtCwV,EAAO5U,GAAOZ,QAYbwV,EAiBT,IAAI4e,GAAY,WA2Bd,SAASA,EAAUzD,EAAQ1B,EAASoF,GAqBlC,GApBA/R,EAAe5kB,KAAM02B,IAIhBzD,GAAUjzB,KAAKyc,KAClBzc,KAAK42B,QAAU3D,EAASjzB,KAExBA,KAAK42B,QAAU3D,EAIjBjzB,KAAK62B,SAAWJ,GAAa,GAAIz2B,KAAK62B,UAGtCtF,EAAUvxB,KAAK62B,SAAWJ,GAAaz2B,KAAK62B,SAAUtF,GAGtDvxB,KAAK82B,IAAMvF,EAAQpuB,IAAMouB,EAAQvgB,IAAMugB,EAAQvgB,GAAG7N,IAG7CnD,KAAK82B,IAAK,CAEb,IAAI3zB,EAAK8vB,GAAUA,EAAO9vB,IAAM8vB,EAAO9vB,MAAQ,YAE/CnD,KAAK82B,IAAM3zB,EAAK,cAAgB2rB,KAGlC9uB,KAAK+2B,MAAQxF,EAAQnvB,MAAQ,KAGzBmvB,EAAQvgB,GACVhR,KAAKg3B,IAAMzF,EAAQvgB,IACW,IAArBugB,EAAQzH,WACjB9pB,KAAKg3B,IAAMh3B,KAAK8pB,aAIM,IAApByH,EAAQmE,SAEVA,GAAQ11B,KAAM,CAAE21B,YAAa31B,KAAKg3B,IAAM,MAAQ,OAElDhB,GAASh2B,KAAMA,KAAK2kB,YAAYsR,cAEhCj2B,KAAKi3B,UAAY,GACjBj3B,KAAKk3B,YAAc,GACnBl3B,KAAKm3B,gBAAkB,IAGM,IAAzB5F,EAAQ6F,cACVp3B,KAAKo3B,eAGPp3B,KAAK22B,MAAMA,IAIyB,IAAhCpF,EAAQ8F,qBACVr3B,KAAKs3B,sBA+gDT,OApgDAZ,EAAU9X,UAAUD,QAAU,WAe5B,GAHA3e,KAAKse,QAAQ,CAAE5a,KAAM,UAAWouB,SAAS,IAGrC9xB,KAAKi3B,UACP,IAAK,IAAI9sB,EAAInK,KAAKi3B,UAAU1mB,OAAS,EAAGpG,GAAK,EAAGA,IAC1CnK,KAAKi3B,UAAU9sB,GAAGwU,SACpB3e,KAAKi3B,UAAU9sB,GAAGwU,UAMxB3e,KAAKi3B,UAAY,KACjBj3B,KAAKk3B,YAAc,KACnBl3B,KAAKm3B,gBAAkB,KAEnBn3B,KAAKg3B,MAEHh3B,KAAKg3B,IAAIrK,YACX3sB,KAAKg3B,IAAIrK,WAAWuB,YAAYluB,KAAKg3B,KAGvC5H,GAAWpvB,KAAKg3B,KAChBh3B,KAAKg3B,IAAM,MAIbh3B,KAAK42B,QAAU,MAWjBF,EAAU9X,UAAUqU,OAAS,WAC3B,OAAOjzB,KAAK42B,SAkBdF,EAAU9X,UAAU2S,QAAU,SAAiBrtB,GAG7C,OAFAsiB,EAAImB,KAAK,kFAEJzjB,GAILlE,KAAK62B,SAAWJ,GAAaz2B,KAAK62B,SAAU3yB,GACrClE,KAAK62B,UAJH72B,KAAK62B,UAehBH,EAAU9X,UAAU5N,GAAK,WACvB,OAAOhR,KAAKg3B,KAoBdN,EAAU9X,UAAUkL,SAAW,SAAqBC,EAASC,EAAYC,GACvE,OAAOH,GAASC,EAASC,EAAYC,IA2CvCyM,EAAU9X,UAAU2Y,SAAW,SAAkBnB,EAAQoB,GACvD,IAAIC,EAAe/tB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK0sB,EAEnFhgB,EAAOpW,KAAK42B,QAAQc,UAAY13B,KAAK42B,QAAQc,WAC7CC,EAAY33B,KAAK42B,QAAQe,WAAa33B,KAAK42B,QAAQe,YACnDD,EAAWC,GAAaA,EAAUvhB,GAClCwhB,EAAcxhB,GAAQA,EAAK0J,MAAM,KAAK,GACtC+X,EAAcF,GAAaA,EAAUC,GAErCE,EAAkBL,EAqBtB,OAnBIC,GAAYA,EAAStB,GACvB0B,EAAkBJ,EAAStB,GAClByB,GAAeA,EAAYzB,KACpC0B,EAAkBD,EAAYzB,IAG5BoB,IACFM,EAAkBA,EAAgB/qB,QAAQ,cAAc,SAAUkW,EAAO5a,GACvE,IAAI/F,EAAQk1B,EAAOnvB,EAAQ,GACvB0vB,EAAMz1B,EAMV,MAJqB,qBAAVA,IACTy1B,EAAM9U,GAGD8U,MAIJD,GAYTpB,EAAU9X,UAAUoZ,UAAY,WAC9B,OAAOh4B,KAAKi4B,YAAcj4B,KAAKg3B,KAWjCN,EAAU9X,UAAUzb,GAAK,WACvB,OAAOnD,KAAK82B,KAYdJ,EAAU9X,UAAUxc,KAAO,WACzB,OAAOpC,KAAK+2B,OAWdL,EAAU9X,UAAU/N,SAAW,WAC7B,OAAO7Q,KAAKi3B,WAcdP,EAAU9X,UAAUsZ,aAAe,SAAsB/0B,GACvD,OAAOnD,KAAKk3B,YAAY/zB,IAc1BuzB,EAAU9X,UAAUuZ,SAAW,SAAkB/1B,GAC/C,GAAKA,EAML,OAFAA,EAAO+zB,GAAY/zB,GAEZpC,KAAKm3B,gBAAgB/0B,IAuB9Bs0B,EAAU9X,UAAUwZ,SAAW,SAAkBzN,GAC/C,IAAI4G,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9ErB,EAAQqB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK1J,KAAKi3B,UAAU1mB,OAE3FtD,OAAY,EACZorB,OAAgB,EAGpB,GAAqB,kBAAV1N,EAAoB,CAC7B0N,EAAgBlC,GAAYxL,GAE5B,IAAI2N,EAAqB/G,EAAQgH,gBAAkBF,EAGnD9G,EAAQnvB,KAAOi2B,EAIf,IAAIG,EAAiB9B,EAAU+B,aAAaH,GAE5C,IAAKE,EACH,MAAM,IAAI7W,MAAM,aAAe2W,EAAqB,mBAOtD,GAA8B,oBAAnBE,EACT,OAAO,KAGTvrB,EAAY,IAAIurB,EAAex4B,KAAK42B,SAAW52B,KAAMuxB,QAIrDtkB,EAAY0d,EAmBd,GAhBA3qB,KAAKi3B,UAAUlmB,OAAO1I,EAAO,EAAG4E,GAEJ,oBAAjBA,EAAU9J,KACnBnD,KAAKk3B,YAAYjqB,EAAU9J,MAAQ8J,GAKrCorB,EAAgBA,GAAiBprB,EAAU7K,MAAQ+zB,GAAYlpB,EAAU7K,QAErEi2B,IACFr4B,KAAKm3B,gBAAgBkB,GAAiBprB,GAKZ,oBAAjBA,EAAU+D,IAAqB/D,EAAU+D,KAAM,CACxD,IAAI0nB,EAAa14B,KAAKg4B,YAAYnnB,SAC9B8nB,EAAUD,EAAWrwB,IAAU,KAEnCrI,KAAKg4B,YAAYnN,aAAa5d,EAAU+D,KAAM2nB,GAIhD,OAAO1rB,GAYTypB,EAAU9X,UAAUsP,YAAc,SAAqBjhB,GAKrD,GAJyB,kBAAdA,IACTA,EAAYjN,KAAKm4B,SAASlrB,IAGvBA,GAAcjN,KAAKi3B,UAAxB,CAMA,IAFA,IAAI2B,GAAa,EAERzuB,EAAInK,KAAKi3B,UAAU1mB,OAAS,EAAGpG,GAAK,EAAGA,IAC9C,GAAInK,KAAKi3B,UAAU9sB,KAAO8C,EAAW,CACnC2rB,GAAa,EACb54B,KAAKi3B,UAAUlmB,OAAO5G,EAAG,GACzB,MAIJ,GAAKyuB,EAAL,CAIA54B,KAAKk3B,YAAYjqB,EAAU9J,MAAQ,KACnCnD,KAAKm3B,gBAAgBlqB,EAAU7K,QAAU,KAEzC,IAAIy2B,EAAS5rB,EAAU+D,KAEnB6nB,GAAUA,EAAOlM,aAAe3sB,KAAKg4B,aACvCh4B,KAAKg4B,YAAY9J,YAAYjhB,EAAU+D,SAS3C0lB,EAAU9X,UAAUwY,aAAe,WACjC,IAAI5tB,EAAQxJ,KAER6Q,EAAW7Q,KAAK62B,SAAShmB,SAE7B,GAAIA,EAAU,CAEZ,IAAIioB,EAAgB94B,KAAK62B,SAErBkC,EAAY,SAAmBpO,GACjC,IAAIvoB,EAAOuoB,EAAMvoB,KACb4uB,EAAOrG,EAAMqG,KAWjB,QAN4BhL,IAAxB8S,EAAc12B,KAChB4uB,EAAO8H,EAAc12B,KAKV,IAAT4uB,EAAJ,EAMa,IAATA,IACFA,EAAO,IAMTA,EAAKgI,cAAgBxvB,EAAMqtB,SAASmC,cAMpC,IAAIC,EAAWzvB,EAAM4uB,SAASh2B,EAAM4uB,GAEhCiI,IACFzvB,EAAMpH,GAAQ62B,KAKdC,OAAkB,EAClBC,EAAOzC,EAAU+B,aAAa,QAGhCS,EADE/0B,MAAMC,QAAQyM,GACEA,EAEArM,OAAOC,KAAKoM,GAGhCqoB,EAGC9a,OAAO5Z,OAAOC,KAAKzE,KAAK62B,UAAU9O,QAAO,SAAU4C,GAClD,OAAQuO,EAAgBE,MAAK,SAAUC,GACrC,MAAsB,kBAAXA,EACF1O,IAAU0O,EAEZ1O,IAAU0O,EAAOj3B,YAExBiC,KAAI,SAAUsmB,GAChB,IAAIvoB,OAAO,EACP4uB,OAAO,EAUX,MARqB,kBAAVrG,GACTvoB,EAAOuoB,EACPqG,EAAOngB,EAASzO,IAASoH,EAAMqtB,SAASz0B,IAAS,KAEjDA,EAAOuoB,EAAMvoB,KACb4uB,EAAOrG,GAGF,CAAEvoB,KAAMA,EAAM4uB,KAAMA,MAC1BjJ,QAAO,SAAU4C,GAIlB,IAAIe,EAAIgL,EAAU+B,aAAa9N,EAAMqG,KAAKuH,gBAAkBpC,GAAYxL,EAAMvoB,OAE9E,OAAOspB,IAAMyN,EAAKG,OAAO5N,MACxBhnB,QAAQq0B,KAcfrC,EAAU9X,UAAU2a,cAAgB,WAGlC,MAAO,IAaT7C,EAAU9X,UAAU+X,MAAQ,SAAe/kB,GACzC,IAAI4nB,EAAO9vB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,IAAmBA,UAAU,GAE1E,GAAKkI,EAIL,OAAK5R,KAAKy5B,cAMND,EACF5nB,EAAG6M,KAAKze,MAGRA,KAAKgN,WAAW4E,EAAI,KATpB5R,KAAK05B,YAAc15B,KAAK05B,aAAe,QACvC15B,KAAK05B,YAAY9mB,KAAKhB,KAmB1B8kB,EAAU9X,UAAU+a,aAAe,WACjC35B,KAAKy5B,UAAW,EAGhBz5B,KAAKgN,YAAW,WACd,IAAI4sB,EAAa55B,KAAK05B,YAGtB15B,KAAK05B,YAAc,GAEfE,GAAcA,EAAWrpB,OAAS,GACpCqpB,EAAWl1B,SAAQ,SAAUkN,GAC3BA,EAAG6M,KAAKze,QACPA,MAULA,KAAKse,QAAQ,WACZ,IAuBLoY,EAAU9X,UAAU8P,EAAI,SAAc9E,EAAUC,GAC9C,OAAO6E,GAAE9E,EAAUC,GAAW7pB,KAAKg4B,cAuBrCtB,EAAU9X,UAAU+P,GAAK,SAAe/E,EAAUC,GAChD,OAAO8E,GAAG/E,EAAUC,GAAW7pB,KAAKg4B,cAetCtB,EAAU9X,UAAUmM,SAAW,SAAqBE,GAClD,OAAOF,GAAS/qB,KAAKg3B,IAAK/L,IAW5ByL,EAAU9X,UAAUwM,SAAW,SAAqBC,GAClDD,GAASprB,KAAKg3B,IAAK3L,IAWrBqL,EAAU9X,UAAU2M,YAAc,SAAwBC,GACxDD,GAAYvrB,KAAKg3B,IAAKxL,IAgBxBkL,EAAU9X,UAAU+M,YAAc,SAAwBC,EAAeC,GACvEF,GAAY3rB,KAAKg3B,IAAKpL,EAAeC,IASvC6K,EAAU9X,UAAUib,KAAO,WACzB75B,KAAKurB,YAAY,eASnBmL,EAAU9X,UAAUkb,KAAO,WACzB95B,KAAKorB,SAAS,eAWhBsL,EAAU9X,UAAUmb,YAAc,WAChC/5B,KAAKorB,SAAS,qBAWhBsL,EAAU9X,UAAUob,cAAgB,WAClCh6B,KAAKurB,YAAY,qBAoBnBmL,EAAU9X,UAAUyN,aAAe,SAAyBC,GAC1D,OAAOD,GAAarsB,KAAKg3B,IAAK1K,IAgBhCoK,EAAU9X,UAAU5B,aAAe,SAAyBsP,EAAWhqB,GACrE0a,GAAahd,KAAKg3B,IAAK1K,EAAWhqB,IAapCo0B,EAAU9X,UAAUqN,gBAAkB,SAA4BK,GAChEL,GAAgBjsB,KAAKg3B,IAAK1K,IAmB5BoK,EAAU9X,UAAUlY,MAAQ,SAAeuzB,EAAKC,GAC9C,OAAOl6B,KAAKm6B,UAAU,QAASF,EAAKC,IAmBtCxD,EAAU9X,UAAUjd,OAAS,SAAgBs4B,EAAKC,GAChD,OAAOl6B,KAAKm6B,UAAU,SAAUF,EAAKC,IAcvCxD,EAAU9X,UAAUwb,WAAa,SAAoB1zB,EAAO/E,GAE1D3B,KAAK0G,MAAMA,GAAO,GAClB1G,KAAK2B,OAAOA,IAiCd+0B,EAAU9X,UAAUub,UAAY,SAAmBE,EAAeJ,EAAKC,GACrE,QAAYlU,IAARiU,EA0BF,OAxBY,OAARA,GAAgBA,IAAQA,IAC1BA,EAAM,IAIyB,KAA5B,GAAKA,GAAKt2B,QAAQ,OAA6C,KAA7B,GAAKs2B,GAAKt2B,QAAQ,MACvD3D,KAAKg3B,IAAIv1B,MAAM44B,GAAiBJ,EAEhCj6B,KAAKg3B,IAAIv1B,MAAM44B,GADE,SAARJ,EACuB,GAEAA,EAAM,UAInCC,GAOHl6B,KAAKse,QAAQ,oBAQjB,IAAKte,KAAKg3B,IACR,OAAO,EAIT,IAAI5M,EAAMpqB,KAAKg3B,IAAIv1B,MAAM44B,GACrBC,EAAUlQ,EAAIzmB,QAAQ,MAE1B,OAAiB,IAAb22B,EAEKC,SAASnQ,EAAI3V,MAAM,EAAG6lB,GAAU,IAMlCC,SAASv6B,KAAKg3B,IAAI,SAAWb,GAAYkE,IAAiB,KAiBnE3D,EAAU9X,UAAU4b,iBAAmB,SAA0BH,GAC/D,IAAII,EAAwB,EAE5B,GAAsB,UAAlBJ,GAA+C,WAAlBA,EAC/B,MAAM,IAAI1Y,MAAM,uDAGlB,GAAuC,oBAA5BnW,EAAOqd,iBAAiC,CACjD,IAAIF,EAAgBnd,EAAOqd,iBAAiB7oB,KAAKg3B,KAEjDyD,EAAwB9R,EAAc+R,iBAAiBL,IAAkB1R,EAAc0R,GASzF,GALAI,EAAwB/X,WAAW+X,GAKL,IAA1BA,EAA6B,CAC/B,IAAIE,EAAO,SAAWxE,GAAYkE,GAElCI,EAAwBz6B,KAAKg3B,IAAI2D,GAGnC,OAAOF,GA2BT/D,EAAU9X,UAAUgc,kBAAoB,WACtC,MAAO,CACLl0B,MAAO1G,KAAKw6B,iBAAiB,SAC7B74B,OAAQ3B,KAAKw6B,iBAAiB,YAclC9D,EAAU9X,UAAUic,aAAe,WACjC,OAAO76B,KAAKw6B,iBAAiB,UAa/B9D,EAAU9X,UAAUkc,cAAgB,WAClC,OAAO96B,KAAKw6B,iBAAiB,WAQ/B9D,EAAU9X,UAAU4N,MAAQ,WAC1BxsB,KAAKg3B,IAAIxK,SAQXkK,EAAU9X,UAAUmc,KAAO,WACzB/6B,KAAKg3B,IAAI+D,QAkBXrE,EAAU9X,UAAUoc,cAAgB,WAElC,IAAI1zB,EAAa,EACb2zB,EAAa,KAKbC,EAAuB,GAGvBC,EAAqB,IAErBC,OAAa,EAEjBp7B,KAAKU,GAAG,cAAc,SAAU2G,GAED,IAAzBA,EAAMg0B,QAAQ9qB,SAEhB0qB,EAAa,CACXpN,MAAOxmB,EAAMg0B,QAAQ,GAAGxN,MACxBD,MAAOvmB,EAAMg0B,QAAQ,GAAGzN,OAG1BtmB,GAAa,IAAIyO,MAAOkZ,UAExBmM,GAAa,MAIjBp7B,KAAKU,GAAG,aAAa,SAAU2G,GAE7B,GAAIA,EAAMg0B,QAAQ9qB,OAAS,EACzB6qB,GAAa,OACR,GAAIH,EAAY,CAGrB,IAAIK,EAAQj0B,EAAMg0B,QAAQ,GAAGxN,MAAQoN,EAAWpN,MAC5C0N,EAAQl0B,EAAMg0B,QAAQ,GAAGzN,MAAQqN,EAAWrN,MAC5C4N,EAAgBryB,KAAKsyB,KAAKH,EAAQA,EAAQC,EAAQA,GAElDC,EAAgBN,IAClBE,GAAa,OAKnB,IAAIM,EAAQ,WACVN,GAAa,GAIfp7B,KAAKU,GAAG,aAAcg7B,GACtB17B,KAAKU,GAAG,cAAeg7B,GAIvB17B,KAAKU,GAAG,YAAY,SAAU2G,GAG5B,GAFA4zB,EAAa,MAEM,IAAfG,EAAqB,CAEvB,IAAIO,GAAY,IAAI5lB,MAAOkZ,UAAY3nB,EAGnCq0B,EAAYR,IAEd9zB,EAAM6oB,iBAONlwB,KAAKse,QAAQ,aAkCrBoY,EAAU9X,UAAU0Y,oBAAsB,WAExC,GAAKt3B,KAAKizB,UAAajzB,KAAKizB,SAAS2I,mBAArC,CAKA,IAAIC,EAAS3sB,GAAKlP,KAAKizB,SAAUjzB,KAAKizB,SAAS2I,oBAE3CE,OAAe,EAEnB97B,KAAKU,GAAG,cAAc,WACpBm7B,IAIA77B,KAAK+P,cAAc+rB,GAEnBA,EAAe97B,KAAK8P,YAAY+rB,EAAQ,QAG1C,IAAIE,EAAW,SAAkB10B,GAC/Bw0B,IAEA77B,KAAK+P,cAAc+rB,IAGrB97B,KAAKU,GAAG,YAAam7B,GACrB77B,KAAKU,GAAG,WAAYq7B,GACpB/7B,KAAKU,GAAG,cAAeq7B,KAsCzBrF,EAAU9X,UAAU5R,WAAa,SAAoB4E,EAAIiiB,GACvD,IAIImI,EAAWC,EAJX5G,EAASr1B,KAqBb,OAfA4R,EAAK1C,GAAKlP,KAAM4R,GAEhBoqB,EAAYxwB,EAAOwB,YAAW,WAC5BqoB,EAAOhX,IAAI,UAAW4d,GACtBrqB,MACCiiB,GAEHoI,EAAY,WACV,OAAO5G,EAAOtB,aAAaiI,IAG7BC,EAAU/K,KAAO,eAAiB8K,EAElCh8B,KAAKU,GAAG,UAAWu7B,GAEZD,GAoBTtF,EAAU9X,UAAUmV,aAAe,SAAsBiI,GACvDxwB,EAAOuoB,aAAaiI,GAEpB,IAAIC,EAAY,aAMhB,OAJAA,EAAU/K,KAAO,eAAiB8K,EAElCh8B,KAAKqe,IAAI,UAAW4d,GAEbD,GAyBTtF,EAAU9X,UAAU9O,YAAc,SAAqB8B,EAAIsqB,GACzD,IAAIC,EAASn8B,KAEb4R,EAAK1C,GAAKlP,KAAM4R,GAEhB,IAAI/B,EAAarE,EAAOsE,YAAY8B,EAAIsqB,GAEpCD,EAAY,WACd,OAAOE,EAAOpsB,cAAcF,IAO9B,OAJAosB,EAAU/K,KAAO,gBAAkBrhB,EAEnC7P,KAAKU,GAAG,UAAWu7B,GAEZpsB,GAoBT6mB,EAAU9X,UAAU7O,cAAgB,SAAuBF,GACzDrE,EAAOuE,cAAcF,GAErB,IAAIosB,EAAY,aAMhB,OAJAA,EAAU/K,KAAO,gBAAkBrhB,EAEnC7P,KAAKqe,IAAI,UAAW4d,GAEbpsB,GA8BT6mB,EAAU9X,UAAUtP,sBAAwB,SAA+BsC,GACzE,IAIIzO,EAAI84B,EAJJG,EAASp8B,KAMb,OAAIA,KAAKq8B,cACPzqB,EAAK1C,GAAKlP,KAAM4R,GAEhBzO,EAAKqI,EAAO8D,uBAAsB,WAChC8sB,EAAO/d,IAAI,UAAW4d,GACtBrqB,OAGFqqB,EAAY,WACV,OAAOG,EAAO1sB,qBAAqBvM,IAGrC84B,EAAU/K,KAAO,WAAa/tB,EAC9BnD,KAAKU,GAAG,UAAWu7B,GAEZ94B,GAIFnD,KAAKgN,WAAW4E,EAAI,IAAO,KAqBpC8kB,EAAU9X,UAAUlP,qBAAuB,SAA8BvM,GACvE,GAAInD,KAAKq8B,aAAc,CACrB7wB,EAAOkE,qBAAqBvM,GAE5B,IAAI84B,EAAY,aAMhB,OAJAA,EAAU/K,KAAO,WAAa/tB,EAE9BnD,KAAKqe,IAAI,UAAW4d,GAEb94B,EAIT,OAAOnD,KAAK+zB,aAAa5wB,IAwB3BuzB,EAAU4F,kBAAoB,SAA2Bl6B,EAAMm6B,GAC7D,GAAoB,kBAATn6B,IAAsBA,EAC/B,MAAM,IAAIuf,MAAM,4BAA8Bvf,EAAO,kCAGvD,IAAI+2B,EAAOzC,EAAU+B,aAAa,QAG9Ba,EAASH,GAAQA,EAAKG,OAAOiD,GAC7BC,EAAS9F,IAAc6F,GAAuB7F,EAAU9X,UAAU6d,cAAcF,EAAoB3d,WAExG,GAAI0a,IAAWkD,EAAQ,CACrB,IAAIE,OAAS,EAQb,MALEA,EADEpD,EACO,qDAEA,+BAGL,IAAI3X,MAAM,uBAAyBvf,EAAO,MAAQs6B,EAAS,KAGnEt6B,EAAO+zB,GAAY/zB,GAEds0B,EAAUiG,cACbjG,EAAUiG,YAAc,IAG1B,IAAIC,EAASlG,EAAU+B,aAAa,UAEpC,GAAa,WAATr2B,GAAqBw6B,GAAUA,EAAOC,QAAS,CACjD,IAAIA,EAAUD,EAAOC,QACjBC,EAAct4B,OAAOC,KAAKo4B,GAM9B,GAAIA,GAAWC,EAAYvsB,OAAS,GAAKusB,EAAYz4B,KAAI,SAAU04B,GACjE,OAAOF,EAAQE,MACdvI,MAAMjvB,SACP,MAAM,IAAIoc,MAAM,oEAMpB,OAFA+U,EAAUiG,YAAYv6B,GAAQm6B,EAEvBA,GAmBT7F,EAAU+B,aAAe,SAAsBr2B,GAC7C,GAAKA,EAML,OAFAA,EAAO+zB,GAAY/zB,GAEfs0B,EAAUiG,aAAejG,EAAUiG,YAAYv6B,GAC1Cs0B,EAAUiG,YAAYv6B,QAD/B,GAKKs0B,EApmDO,GAwqDhB,SAASsG,GAAWC,EAAQ50B,EAAO60B,GACjC,GAAqB,kBAAV70B,GAAsBA,EAAQ,GAAKA,EAAQ60B,EACpD,MAAM,IAAIvb,MAAM,sBAAyBsb,EAAS,0CAA+C50B,EAAQ,wCAA0C60B,EAAW,MA2BlK,SAASC,GAASF,EAAQG,EAAYC,EAAQC,GAE5C,OADAN,GAAWC,EAAQK,EAAYD,EAAO9sB,OAAS,GACxC8sB,EAAOC,GAAYF,GAS5B,SAASG,GAAoBF,GAC3B,YAAerX,IAAXqX,GAA0C,IAAlBA,EAAO9sB,OAC1B,CACLA,OAAQ,EACRitB,MAAO,WACL,MAAM,IAAI7b,MAAM,oCAElBzY,IAAK,WACH,MAAM,IAAIyY,MAAM,qCAIf,CACLpR,OAAQ8sB,EAAO9sB,OACfitB,MAAOL,GAASjuB,KAAK,KAAM,QAAS,EAAGmuB,GACvCn0B,IAAKi0B,GAASjuB,KAAK,KAAM,MAAO,EAAGmuB,IAevC,SAASI,GAAiBD,EAAOt0B,GAC/B,OAAI/E,MAAMC,QAAQo5B,GACTD,GAAoBC,QACRxX,IAAVwX,QAA+BxX,IAAR9c,EACzBq0B,KAEFA,GAAoB,CAAC,CAACC,EAAOt0B,KAmBtC,SAASw0B,GAAgBC,EAAUzgB,GACjC,IAAI0gB,EAAmB,EACnBJ,OAAQ,EACRt0B,OAAM,EAEV,IAAKgU,EACH,OAAO,EAGJygB,GAAaA,EAASptB,SACzBotB,EAAWF,GAAiB,EAAG,IAGjC,IAAK,IAAItzB,EAAI,EAAGA,EAAIwzB,EAASptB,OAAQpG,IACnCqzB,EAAQG,EAASH,MAAMrzB,GACvBjB,EAAMy0B,EAASz0B,IAAIiB,GAGfjB,EAAMgU,IACRhU,EAAMgU,GAGR0gB,GAAoB10B,EAAMs0B,EAG5B,OAAOI,EAAmB1gB,EA/K5BwZ,GAAU9X,UAAUyd,aAAuD,oBAAjC7wB,EAAO8D,uBAA+E,oBAAhC9D,EAAOkE,qBAEvGgnB,GAAU4F,kBAAkB,YAAa5F,IA6MzC,IAjBA,IAAImH,GAAgB,GAGhBC,GAAS,CAAC,CAAC,oBAAqB,iBAAkB,oBAAqB,oBAAqB,mBAAoB,mBAEpH,CAAC,0BAA2B,uBAAwB,0BAA2B,0BAA2B,yBAA0B,yBAEpI,CAAC,0BAA2B,yBAA0B,iCAAkC,yBAA0B,yBAA0B,yBAE5I,CAAC,uBAAwB,sBAAuB,uBAAwB,uBAAwB,sBAAuB,sBAEvH,CAAC,sBAAuB,mBAAoB,sBAAuB,sBAAuB,qBAAsB,sBAE5GC,GAAUD,GAAO,GACjBE,QAAa,EAGR7zB,GAAI,EAAGA,GAAI2zB,GAAOvtB,OAAQpG,KAEjC,GAAI2zB,GAAO3zB,IAAG,KAAMyB,EAAU,CAC5BoyB,GAAaF,GAAO3zB,IACpB,MAKJ,GAAI6zB,GACF,IAAK,IAAItL,GAAK,EAAGA,GAAKsL,GAAWztB,OAAQmiB,KACvCmL,GAAcE,GAAQrL,KAAOsL,GAAWtL,IAwB5C,SAASuL,GAAW37B,GAIlB,GAAIA,aAAiB27B,GACnB,OAAO37B,EAGY,kBAAVA,EACTtC,KAAKoW,KAAO9T,EACc,kBAAVA,EAEhBtC,KAAKwW,QAAUlU,EACNsjB,EAAStjB,KAIQ,kBAAfA,EAAM8T,OACfpW,KAAKoW,KAAO9T,EAAM8T,MAGpBmF,EAAOvb,KAAMsC,IAGVtC,KAAKwW,UACRxW,KAAKwW,QAAUynB,GAAWC,gBAAgBl+B,KAAKoW,OAAS,IAS5D6nB,GAAWrf,UAAUxI,KAAO,EAQ5B6nB,GAAWrf,UAAUpI,QAAU,GAW/BynB,GAAWrf,UAAU7c,OAAS,KAe9Bk8B,GAAWE,WAAa,CAAC,mBAAoB,oBAAqB,oBAAqB,mBAAoB,8BAA+B,uBAQ1IF,GAAWC,gBAAkB,CAC3B7kB,EAAG,iCACHC,EAAG,8DACH8kB,EAAG,8HACHC,EAAG,qHACHC,EAAG,qEAKL,IAAK,IAAIC,GAAS,EAAGA,GAASN,GAAWE,WAAW5tB,OAAQguB,KAC1DN,GAAWA,GAAWE,WAAWI,KAAWA,GAE5CN,GAAWrf,UAAUqf,GAAWE,WAAWI,KAAWA,GAYxD,SAASC,GAAUl8B,GACjB,YAAiB0jB,IAAV1jB,GAAiC,OAAVA,GAAwC,oBAAfA,EAAM0J,KAY/D,SAASyyB,GAAen8B,GAClBk8B,GAAUl8B,IACZA,EAAM0J,KAAK,MAAM,SAAUzB,OAsB/B,IAAIm0B,GAAe,SAAsBC,GACvC,IAAI5G,EAAM,CAAC,OAAQ,QAAS,WAAY,KAAM,kCAAmC,OAAQ,OAAOjS,QAAO,SAAU8Y,EAAKhW,EAAMze,GAM1H,OAJIw0B,EAAM/V,KACRgW,EAAIhW,GAAQ+V,EAAM/V,IAGbgW,IACN,CACDC,KAAMF,EAAME,MAAQ16B,MAAMya,UAAUva,IAAIoa,KAAKkgB,EAAME,MAAM,SAAUC,GACjE,MAAO,CACLC,UAAWD,EAAIC,UACfC,QAASF,EAAIE,QACbxU,KAAMsU,EAAItU,KACVrnB,GAAI27B,EAAI37B,SAKd,OAAO40B,GAeLkH,GAAmB,SAA0BC,GAE/C,IAAIC,EAAWD,EAAKvQ,GAAG,SAEnByQ,EAAYj7B,MAAMya,UAAUva,IAAIoa,KAAK0gB,GAAU,SAAUxN,GAC3D,OAAOA,EAAEgN,SAEPU,EAASl7B,MAAMya,UAAUva,IAAIoa,KAAK0gB,GAAU,SAAUG,GACxD,IAAIC,EAAOb,GAAaY,EAAQX,OAKhC,OAHIW,EAAQE,MACVD,EAAKC,IAAMF,EAAQE,KAEdD,KAGT,OAAOF,EAAOjhB,OAAOja,MAAMya,UAAUmJ,OAAOtJ,KAAKygB,EAAKO,cAAc,SAAUd,GAC5E,OAAqC,IAA9BS,EAAUz7B,QAAQg7B,MACxBt6B,IAAIq6B,MAcLgB,GAAmB,SAA0BH,EAAML,GAWrD,OAVAK,EAAK76B,SAAQ,SAAUi6B,GACrB,IAAIgB,EAAaT,EAAKU,mBAAmBjB,GAAOA,OAE3CA,EAAMa,KAAOb,EAAME,MACtBF,EAAME,KAAKn6B,SAAQ,SAAUo6B,GAC3B,OAAOa,EAAWE,OAAOf,SAKxBI,EAAKO,cAGVK,GAAqB,CAAEb,iBAAkBA,GAAkBS,iBAAkBA,GAAkBhB,aAAcA,IAK7GqB,GAAmB,mBACnBC,GAAM,GAYNC,GAAc,SAAUC,GAmC1B,SAASD,EAAYhN,EAAQ1B,GAC3B3M,EAAe5kB,KAAMigC,GAErB,IAAIz2B,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAwB1E,OAtBA/nB,EAAM22B,QAAU32B,EAAM42B,eAAiB52B,EAAM62B,gBAAiB,EAE9D72B,EAAM8E,WAAW9E,EAAMqtB,SAASyJ,aAChC92B,EAAMmB,QAAQnB,EAAMqtB,SAASlsB,SAK7BnB,EAAMyuB,WAAanO,GAAS,MAAO,CACjCT,UAAW0W,GAAmB,YAC7B,CACDQ,KAAM,aAGR/2B,EAAMg3B,QAAU1W,GAAS,IAAK,CAC5BT,UAAW0W,GAAmB,gCAC9B58B,GAAIqG,EAAMwH,KAAKqb,aAAa,sBAG9BhC,GAAY7gB,EAAMg3B,QAASh3B,EAAMi3B,eACjCj3B,EAAMwtB,IAAIlM,YAAYthB,EAAMg3B,SAC5Bh3B,EAAMwtB,IAAIlM,YAAYthB,EAAMyuB,YACrBzuB,EAidT,OA9gBAub,EAASkb,EAAaC,GAwEtBD,EAAYrhB,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAWrpB,KAAKu5B,gBAChBmH,UAAW,GACV,CACD,mBAAoB1gC,KAAKmD,KAAO,eAChC,cAAe,OACf,aAAcnD,KAAK2gC,QACnB,KAAQ,YAIZV,EAAYrhB,UAAUD,QAAU,WAC9B3e,KAAKi4B,WAAa,KAClBj4B,KAAKwgC,QAAU,KACfxgC,KAAK4gC,oBAAsB,KAE3BV,EAAWthB,UAAUD,QAAQF,KAAKze,OAWpCigC,EAAYrhB,UAAU2a,cAAgB,WACpC,OAAOwG,GAAmB,eAAiBG,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAcrFigC,EAAYrhB,UAAUiiB,eAAiB,SAAwBt2B,GACzDA,EAAEsmB,QAAUmP,IAAOhgC,KAAKsO,aAC1BtO,KAAKW,SAYTs/B,EAAYrhB,UAAU+hB,MAAQ,WAC5B,OAAO3gC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAAS,iBAY9CV,EAAYrhB,UAAU6hB,YAAc,WAClC,IAAIK,EAAO9gC,KAAK62B,SAAS4J,aAAezgC,KAAKu3B,SAAS,2BAOtD,OAJIv3B,KAAKsO,cACPwyB,GAAQ,IAAM9gC,KAAKu3B,SAAS,wFAGvBuJ,GAWTb,EAAYrhB,UAAUmiB,KAAO,WAC3B,IAAK/gC,KAAKmgC,QAAS,CACjB,IAAIlN,EAASjzB,KAAKizB,SAQlBjzB,KAAKse,QAAQ,mBACbte,KAAKmgC,SAAU,GAIXngC,KAAK62B,SAASmK,aAAehhC,KAAKogC,iBAAmBpgC,KAAKqgC,iBAC5DrgC,KAAKihC,OAKPjhC,KAAKkhC,aAAejO,EAAOkO,SAEvBnhC,KAAK62B,SAASuK,aAAephC,KAAKkhC,aACpCjO,EAAOvW,QAGL1c,KAAKsO,aACPtO,KAAKU,GAAGV,KAAKg3B,IAAInF,cAAe,UAAW3iB,GAAKlP,KAAMA,KAAK6gC,iBAI7D7gC,KAAKqhC,aAAepO,EAAOxZ,WAC3BwZ,EAAOxZ,UAAS,GAEhBzZ,KAAK65B,OACL75B,KAAKshC,oBACLthC,KAAKgR,KAAKgM,aAAa,cAAe,SAQtChd,KAAKse,QAAQ,aACbte,KAAKogC,gBAAiB,IAe1BH,EAAYrhB,UAAU2iB,OAAS,SAAgBj/B,GAI7C,MAHqB,mBAAVA,GACTtC,KAAKsC,EAAQ,OAAS,WAEjBtC,KAAKmgC,SAYdF,EAAYrhB,UAAUje,MAAQ,WAC5B,GAAKX,KAAKmgC,QAAV,CAGA,IAAIlN,EAASjzB,KAAKizB,SAQlBjzB,KAAKse,QAAQ,oBACbte,KAAKmgC,SAAU,EAEXngC,KAAKkhC,aAAelhC,KAAK62B,SAASuK,aACpCnO,EAAOxW,OAGLzc,KAAKsO,aACPtO,KAAKqe,IAAIre,KAAKg3B,IAAInF,cAAe,UAAW3iB,GAAKlP,KAAMA,KAAK6gC,iBAG1D7gC,KAAKqhC,cACPpO,EAAOxZ,UAAS,GAGlBzZ,KAAK85B,OACL95B,KAAKgR,KAAKgM,aAAa,cAAe,QAQtChd,KAAKse,QAAQ,cACbte,KAAKwhC,mBAEDxhC,KAAK62B,SAAS4K,WAChBzhC,KAAK2e,YAeTshB,EAAYrhB,UAAUtQ,UAAY,SAAmBhM,GACnD,GAAqB,mBAAVA,EAAqB,CAC9B,IAAIgM,EAAYtO,KAAK0hC,aAAep/B,EAChC3B,EAAQX,KAAKm4B,SAAS,eAG1B,GAAI7pB,IAAc3N,EAAO,CAIvB,IAAIghC,EAAO3hC,KAAKi4B,WAEhBj4B,KAAKi4B,WAAaj4B,KAAKg3B,IACvBr2B,EAAQX,KAAKo4B,SAAS,cAAe,CAAEwJ,YAAa,uBACpD5hC,KAAKi4B,WAAa0J,EAClB3hC,KAAKU,GAAGC,EAAO,QAASX,KAAKW,QAI1B2N,GAAa3N,IAChBX,KAAKqe,IAAI1d,EAAO,QAASX,KAAKW,OAC9BX,KAAKkuB,YAAYvtB,GACjBA,EAAMge,WAGV,OAAO3e,KAAK0hC,YASdzB,EAAYrhB,UAAUqiB,KAAO,WAC3BjhC,KAAK6hC,SAAS7hC,KAAK2K,YAerBs1B,EAAYrhB,UAAUijB,SAAW,SAAkBl3B,GACjD,IAAIqtB,EAAYh4B,KAAKg4B,YACjB8J,EAAW9J,EAAUrL,WACrBoV,EAAgB/J,EAAUgK,YAQ9BhiC,KAAKse,QAAQ,mBACbte,KAAKqgC,gBAAiB,EAItByB,EAAS5T,YAAY8J,GACrBh4B,KAAKiiC,QACL3T,GAAc0J,EAAWrtB,GAOzB3K,KAAKse,QAAQ,aAGTyjB,EACFD,EAASjX,aAAamN,EAAW+J,GAEjCD,EAAShX,YAAYkN,GAIvB,IAAIkK,EAAcliC,KAAKm4B,SAAS,eAE5B+J,GACFJ,EAAShX,YAAYoX,EAAYlL,MAYrCiJ,EAAYrhB,UAAUqjB,MAAQ,WAO5BjiC,KAAKse,QAAQ,oBACb2P,GAAQjuB,KAAKg4B,aAQbh4B,KAAKse,QAAQ,eAoBf2hB,EAAYrhB,UAAUjU,QAAU,SAAiBrI,GAI/C,MAHqB,qBAAVA,IACTtC,KAAKmiC,SAAW7/B,GAEXtC,KAAKmiC,UAUdlC,EAAYrhB,UAAU0iB,kBAAoB,WACxC,IAAIc,EAAWx2B,EAASy2B,cACpBC,EAAWtiC,KAAK42B,QAAQI,IAE5Bh3B,KAAK4gC,oBAAsB,MAEvB0B,EAASnX,SAASiX,IAAaE,IAAaF,KAC9CpiC,KAAK4gC,oBAAsBwB,EAE3BpiC,KAAKwsB,QAELxsB,KAAKU,GAAGkL,EAAU,UAAW5L,KAAKuiC,iBAWtCtC,EAAYrhB,UAAU4iB,iBAAmB,WACnCxhC,KAAK4gC,sBACP5gC,KAAK4gC,oBAAoBpU,QACzBxsB,KAAK4gC,oBAAsB,MAG7B5gC,KAAKqe,IAAIzS,EAAU,UAAW5L,KAAKuiC,gBAUrCtC,EAAYrhB,UAAU2jB,cAAgB,SAAuBl7B,GAE3D,GAAoB,IAAhBA,EAAMwpB,MAAV,CAQA,IAJA,IAAI2R,EAAexiC,KAAKyiC,gBACpBL,EAAWpiC,KAAKg3B,IAAI/b,cAAc,UAClCynB,OAAa,EAERv4B,EAAI,EAAGA,EAAIq4B,EAAajyB,OAAQpG,IACvC,GAAIi4B,IAAaI,EAAar4B,GAAI,CAChCu4B,EAAav4B,EACb,MAIAyB,EAASy2B,gBAAkBriC,KAAKg3B,MAClC0L,EAAa,GAGXr7B,EAAMs7B,UAA2B,IAAfD,GACpBF,EAAaA,EAAajyB,OAAS,GAAGic,QACtCnlB,EAAM6oB,kBACI7oB,EAAMs7B,UAAYD,IAAeF,EAAajyB,OAAS,IACjEiyB,EAAa,GAAGhW,QAChBnlB,EAAM6oB,oBAWV+P,EAAYrhB,UAAU6jB,cAAgB,WACpC,IAAIG,EAAc5iC,KAAKg3B,IAAI6L,iBAAiB,KAE5C,OAAO1+B,MAAMya,UAAUmJ,OAAOtJ,KAAKmkB,GAAa,SAAUjY,GACxD,OAAQA,aAAiBnf,EAAOs3B,mBAAqBnY,aAAiBnf,EAAOu3B,kBAAoBpY,EAAMqY,aAAa,UAAYrY,aAAiBnf,EAAOy3B,kBAAoBtY,aAAiBnf,EAAO03B,mBAAqBvY,aAAiBnf,EAAO23B,qBAAuBxY,aAAiBnf,EAAO43B,qBAAuBzY,EAAMqY,aAAa,aAAerY,aAAiBnf,EAAO63B,mBAAqB1Y,aAAiBnf,EAAO83B,mBAAqB3Y,aAAiBnf,EAAO+3B,kBAAoB5Y,EAAMqY,aAAa,cAAmD,IAApCrY,EAAM0B,aAAa,aAAsB1B,EAAMqY,aAAa,uBAI1jB/C,EA/gBS,CAghBhBvJ,IAUFuJ,GAAYrhB,UAAUiY,SAAW,CAC/BuK,aAAa,EACbK,WAAW,GAGb/K,GAAU4F,kBAAkB,cAAe2D,IAY3C,IAAIuD,GAAY,SAAUC,GAcxB,SAASD,IACP,IAEIE,EAFArE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAI7E4G,EAAO5G,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,KAC/Ekb,EAAe5kB,KAAMwjC,GAErB,IAAIh6B,EAAQ8b,EAA0BtlB,KAAMyjC,EAAahlB,KAAKze,OAE9D,IAAKsQ,IACHA,EAAO9G,EACHoa,GAEF,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,EAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,EAAU5kB,UAAUgK,IAMzCtY,EAAKqzB,QAAU,GAQfn/B,OAAO8a,eAAehP,EAAM,SAAU,CACpC2E,IAAK,WACH,OAAOjV,KAAK2jC,QAAQpzB,UAIxB,IAAK,IAAIpG,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IACjCmG,EAAKszB,SAASvE,EAAOl1B,IAKvB,OAAOu5B,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GA+GvD,OAtKA3e,EAASye,EAAWC,GAoEpBD,EAAU5kB,UAAUglB,SAAW,SAAkBjF,GAC/C,IAAIt2B,EAAQrI,KAAK2jC,QAAQpzB,OAEnB,GAAKlI,KAASrI,MAClBwE,OAAO8a,eAAetf,KAAMqI,EAAO,CACjC4M,IAAK,WACH,OAAOjV,KAAK2jC,QAAQt7B,OAMW,IAAjCrI,KAAK2jC,QAAQhgC,QAAQg7B,KACvB3+B,KAAK2jC,QAAQ/wB,KAAK+rB,GASlB3+B,KAAKse,QAAQ,CACXqgB,MAAOA,EACPj7B,KAAM,eAeZ8/B,EAAU5kB,UAAUilB,YAAc,SAAqBC,GAGrD,IAFA,IAAInF,OAAQ,EAEHx0B,EAAI,EAAG45B,EAAI/jC,KAAKuQ,OAAQpG,EAAI45B,EAAG55B,IACtC,GAAInK,KAAKmK,KAAO25B,EAAQ,CACtBnF,EAAQ3+B,KAAKmK,GACTw0B,EAAMtgB,KACRsgB,EAAMtgB,MAGRre,KAAK2jC,QAAQ5yB,OAAO5G,EAAG,GAEvB,MAICw0B,GAYL3+B,KAAKse,QAAQ,CACXqgB,MAAOA,EACPj7B,KAAM,iBAcV8/B,EAAU5kB,UAAUolB,aAAe,SAAsB7gC,GAGvD,IAFA,IAAI2U,EAAS,KAEJ3N,EAAI,EAAG45B,EAAI/jC,KAAKuQ,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC3C,IAAIw0B,EAAQ3+B,KAAKmK,GAEjB,GAAIw0B,EAAMx7B,KAAOA,EAAI,CACnB2U,EAAS6mB,EACT,OAIJ,OAAO7mB,GAGF0rB,EAvKO,CAwKdtP,IAwBF,IAAK,IAAI7sB,MAPTm8B,GAAU5kB,UAAUuV,eAAiB,CACnC8P,OAAQ,SACRC,SAAU,WACVC,YAAa,eAIGX,GAAU5kB,UAAUuV,eACpCqP,GAAU5kB,UAAU,KAAOvX,IAAS,KAkBtC,IAAI+8B,GAAgB,SAAuB9zB,EAAMquB,GAC/C,IAAK,IAAIx0B,EAAI,EAAGA,EAAImG,EAAKC,OAAQpG,IAC1B3F,OAAOC,KAAK6L,EAAKnG,IAAIoG,QAAUouB,EAAMx7B,KAAOmN,EAAKnG,GAAGhH,KAIzDmN,EAAKnG,GAAGk6B,SAAU,IAWlBC,GAAiB,SAAUC,GAS7B,SAASD,IACP,IAAI96B,EAAOk6B,EAEPrE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFkb,EAAe5kB,KAAMskC,GAMrB,IAJA,IAAIh0B,OAAO,EAIFnG,EAAIk1B,EAAO9uB,OAAS,EAAGpG,GAAK,EAAGA,IACtC,GAAIk1B,EAAOl1B,GAAGk6B,QAAS,CACrBD,GAAc/E,EAAQA,EAAOl1B,IAC7B,MAMJ,GAAIyZ,EAAQ,CAEV,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,GAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,GAAU5kB,UAAUgK,IAGrC,IAAK,IAAI4b,KAASF,EAAe1lB,UACjB,gBAAV4lB,IACFl0B,EAAKk0B,GAASF,EAAe1lB,UAAU4lB,IAQ7C,OAHQh7B,EAAQ8b,EAA0BtlB,KAAMukC,EAAW9lB,KAAKze,KAAMq/B,EAAQ/uB,IAA9EA,EAAsF9G,EACtF8G,EAAKm0B,WAAY,EAEVf,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GA4CvD,OAxFA3e,EAASuf,EAAgBC,GAyDzBD,EAAe1lB,UAAUglB,SAAW,SAAkBjF,GACpD,IAAItJ,EAASr1B,KAET2+B,EAAM0F,SACRD,GAAcpkC,KAAM2+B,GAGtB4F,EAAW3lB,UAAUglB,SAASnlB,KAAKze,KAAM2+B,GAEpCA,EAAMphB,kBAQXohB,EAAMphB,iBAAiB,iBAAiB,WAIlC8X,EAAOoP,YAGXpP,EAAOoP,WAAY,EACnBL,GAAc/O,EAAQsJ,GACtBtJ,EAAOoP,WAAY,EACnBpP,EAAO/W,QAAQ,eAIZgmB,EAzFY,CA0FnBd,IAgBEkB,GAAkB,SAAuBp0B,EAAMquB,GACjD,IAAK,IAAIx0B,EAAI,EAAGA,EAAImG,EAAKC,OAAQpG,IAC1B3F,OAAOC,KAAK6L,EAAKnG,IAAIoG,QAAUouB,EAAMx7B,KAAOmN,EAAKnG,GAAGhH,KAIzDmN,EAAKnG,GAAGw6B,UAAW,IAWnBC,GAAiB,SAAUL,GAS7B,SAASK,IACP,IAAIp7B,EAAOk6B,EAEPrE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFkb,EAAe5kB,KAAM4kC,GAMrB,IAJA,IAAIt0B,OAAO,EAIFnG,EAAIk1B,EAAO9uB,OAAS,EAAGpG,GAAK,EAAGA,IACtC,GAAIk1B,EAAOl1B,GAAGw6B,SAAU,CACtBD,GAAgBrF,EAAQA,EAAOl1B,IAC/B,MAMJ,GAAIyZ,EAAQ,CAEV,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,GAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,GAAU5kB,UAAUgK,IAGrC,IAAK,IAAI4b,KAASI,EAAehmB,UACjB,gBAAV4lB,IACFl0B,EAAKk0B,GAASI,EAAehmB,UAAU4lB,IAwB7C,OAnBQh7B,EAAQ8b,EAA0BtlB,KAAMukC,EAAW9lB,KAAKze,KAAMq/B,EAAQ/uB,IAA9EA,EAAsF9G,EACtF8G,EAAKm0B,WAAY,EAMjBjgC,OAAO8a,eAAehP,EAAM,gBAAiB,CAC3C2E,IAAK,WACH,IAAK,IAAIyd,EAAK,EAAGA,EAAK1yB,KAAKuQ,OAAQmiB,IACjC,GAAI1yB,KAAK0yB,GAAIiS,SACX,OAAOjS,EAGX,OAAQ,GAEVhR,IAAK,eAGAgiB,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GAyCvD,OArGA3e,EAAS6f,EAAgBL,GAyEzBK,EAAehmB,UAAUglB,SAAW,SAAkBjF,GACpD,IAAItJ,EAASr1B,KAET2+B,EAAMgG,UACRD,GAAgB1kC,KAAM2+B,GAGxB4F,EAAW3lB,UAAUglB,SAASnlB,KAAKze,KAAM2+B,GAEpCA,EAAMphB,kBAQXohB,EAAMphB,iBAAiB,kBAAkB,WACnC8X,EAAOoP,YAGXpP,EAAOoP,WAAY,EACnBC,GAAgBrP,EAAQsJ,GACxBtJ,EAAOoP,WAAY,EACnBpP,EAAO/W,QAAQ,eAIZsmB,EAtGY,CAuGnBpB,IAYEqB,GAAgB,SAAUN,GAS5B,SAASM,IACP,IAAIr7B,EAAOk6B,EAEPrE,EAAS31B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFkb,EAAe5kB,KAAM6kC,GAErB,IAAIv0B,OAAO,EAIX,GAAIsT,EAAQ,CAEV,IAAK,IAAIgF,KADTtY,EAAO1E,EAASyY,cAAc,UACbmf,GAAU5kB,UACZ,gBAATgK,IACFtY,EAAKsY,GAAQ4a,GAAU5kB,UAAUgK,IAGrC,IAAK,IAAI4b,KAASK,EAAcjmB,UAChB,gBAAV4lB,IACFl0B,EAAKk0B,GAASK,EAAcjmB,UAAU4lB,IAM5C,OADQh7B,EAAQ8b,EAA0BtlB,KAAMukC,EAAW9lB,KAAKze,KAAMq/B,EAAQ/uB,IAA9EA,EAAsF9G,EAC/Ek6B,EAAOpzB,EAAMgV,EAA0B9b,EAAOk6B,GAiCvD,OAlEA3e,EAAS8f,EAAeN,GA8CxBM,EAAcjmB,UAAUglB,SAAW,SAAkBjF,GACnD4F,EAAW3lB,UAAUglB,SAASnlB,KAAKze,KAAM2+B,GAMzCA,EAAMphB,iBAAiB,aAAcrO,GAAKlP,MAAM,WAC9CA,KAAKse,QAAQ,cAGf,IAAIwmB,EAA2B,CAAC,WAAY,aAEU,IAAlDA,EAAyBnhC,QAAQg7B,EAAMoG,OACzCpG,EAAMphB,iBAAiB,aAAcrO,GAAKlP,MAAM,WAC9CA,KAAKse,QAAQ,+BAKZumB,EAnEW,CAoElBrB,IAUEwB,GAAuB,WAQzB,SAASA,IACP,IAAIC,EAAgBv7B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACxFkb,EAAe5kB,KAAMglC,GAErB,IAAI10B,EAAOtQ,KAEX,GAAI4jB,EAGF,IAAK,IAAIgF,KAFTtY,EAAO1E,EAASyY,cAAc,UAEb2gB,EAAqBpmB,UACvB,gBAATgK,IACFtY,EAAKsY,GAAQoc,EAAqBpmB,UAAUgK,IAKlDtY,EAAK40B,eAAiB,GAQtB1gC,OAAO8a,eAAehP,EAAM,SAAU,CACpC2E,IAAK,WACH,OAAOjV,KAAKklC,eAAe30B,UAI/B,IAAK,IAAIpG,EAAI,EAAGoG,EAAS00B,EAAc10B,OAAQpG,EAAIoG,EAAQpG,IACzDmG,EAAK60B,iBAAiBF,EAAc96B,IAGtC,GAAIyZ,EACF,OAAOtT,EA+EX,OAjEA00B,EAAqBpmB,UAAUumB,iBAAmB,SAA0BC,GAC1E,IAAI/8B,EAAQrI,KAAKklC,eAAe30B,OAE1B,GAAKlI,KAASrI,MAClBwE,OAAO8a,eAAetf,KAAMqI,EAAO,CACjC4M,IAAK,WACH,OAAOjV,KAAKklC,eAAe78B,OAMkB,IAA/CrI,KAAKklC,eAAevhC,QAAQyhC,IAC9BplC,KAAKklC,eAAetyB,KAAKwyB,IAkB7BJ,EAAqBpmB,UAAUymB,wBAA0B,SAAiC1G,GAGxF,IAFA,IAAI2G,OAAgB,EAEXn7B,EAAI,EAAGoG,EAASvQ,KAAKklC,eAAe30B,OAAQpG,EAAIoG,EAAQpG,IAC/D,GAAIw0B,IAAU3+B,KAAKklC,eAAe/6B,GAAGw0B,MAAO,CAC1C2G,EAAgBtlC,KAAKklC,eAAe/6B,GAEpC,MAIJ,OAAOm7B,GAaTN,EAAqBpmB,UAAU2mB,oBAAsB,SAA6BH,GAChF,IAAK,IAAIj7B,EAAI,EAAGoG,EAASvQ,KAAKklC,eAAe30B,OAAQpG,EAAIoG,EAAQpG,IAC/D,GAAIi7B,IAAiBplC,KAAKklC,eAAe/6B,GAAI,CAC3CnK,KAAKklC,eAAen0B,OAAO5G,EAAG,GAE9B,QAKC66B,EA1HkB,GAwJvBQ,GAAmB,WAQrB,SAASA,EAAiB3G,GACxBja,EAAe5kB,KAAMwlC,GAErB,IAAIl1B,EAAOtQ,KAEX,GAAI4jB,EAGF,IAAK,IAAIgF,KAFTtY,EAAO1E,EAASyY,cAAc,UAEbmhB,EAAiB5mB,UACnB,gBAATgK,IACFtY,EAAKsY,GAAQ4c,EAAiB5mB,UAAUgK,IAmB9C,GAdA4c,EAAiB5mB,UAAU6mB,SAAShnB,KAAKnO,EAAMuuB,GAQ/Cr6B,OAAO8a,eAAehP,EAAM,SAAU,CACpC2E,IAAK,WACH,OAAOjV,KAAK0lC,WAIZ9hB,EACF,OAAOtT,EAoEX,OArDAk1B,EAAiB5mB,UAAU6mB,SAAW,SAAkB5G,GACtD,IAAI8G,EAAY3lC,KAAKuQ,QAAU,EAC3BpG,EAAI,EACJ45B,EAAIlF,EAAKtuB,OAEbvQ,KAAK4lC,MAAQ/G,EACb7+B,KAAK0lC,QAAU7G,EAAKtuB,OAEpB,IAAIs1B,EAAa,SAAoBx9B,GAC7B,GAAKA,KAASrI,MAClBwE,OAAO8a,eAAetf,KAAM,GAAKqI,EAAO,CACtC4M,IAAK,WACH,OAAOjV,KAAK4lC,MAAMv9B,OAM1B,GAAIs9B,EAAY5B,EAGd,IAFA55B,EAAIw7B,EAEGx7B,EAAI45B,EAAG55B,IACZ07B,EAAWpnB,KAAKze,KAAMmK,IAgB5Bq7B,EAAiB5mB,UAAUknB,WAAa,SAAoB3iC,GAG1D,IAFA,IAAI2U,EAAS,KAEJ3N,EAAI,EAAG45B,EAAI/jC,KAAKuQ,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC3C,IAAI20B,EAAM9+B,KAAKmK,GAEf,GAAI20B,EAAI37B,KAAOA,EAAI,CACjB2U,EAASgnB,EACT,OAIJ,OAAOhnB,GAGF0tB,EA1Gc,GAwHnBO,GAAiB,CACnBC,YAAa,cACbC,SAAU,WACVC,KAAM,OACNC,KAAM,OACNC,UAAW,YACXC,WAAY,cAUVC,GAAiB,CACnB,YAAe,cACf,aAAgB,eAChB,KAAQ,OACR,YAAa,YACb,YAAe,cACf,WAAc,cAUZC,GAAgB,CAClBH,UAAW,YACXH,SAAU,WACVO,aAAc,eACdC,SAAU,WACVC,SAAU,YAURC,GAAgB,CAClBrhC,SAAU,WACVshC,OAAQ,SACRC,QAAS,WAiBPC,GAAQ,SAAUrD,GAuBpB,SAASqD,IACP,IAAIpD,EAEAnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM8mC,GAErB,IAAIt9B,EAAQ8b,EAA0BtlB,KAAMyjC,EAAahlB,KAAKze,OAE1D2+B,EAAQn1B,EAEZ,GAAIoa,EAEF,IAAK,IAAIgF,KADT+V,EAAQ/yB,EAASyY,cAAc,UACdyiB,EAAMloB,UACR,gBAATgK,IACF+V,EAAM/V,GAAQke,EAAMloB,UAAUgK,IAKpC,IAAIme,EAAa,CACf5jC,GAAIouB,EAAQpuB,IAAM,aAAe2rB,KACjCiW,KAAMxT,EAAQwT,MAAQ,GACtBpE,MAAOpP,EAAQoP,OAAS,GACxBjJ,SAAUnG,EAAQmG,UAAY,IAwC5BsP,EAAQ,SAAe9jC,GACzBsB,OAAO8a,eAAeqf,EAAOz7B,EAAK,CAChC+R,IAAK,WACH,OAAO8xB,EAAW7jC,IAEpBwe,IAAK,gBAIT,IAAK,IAAIxe,KAAO6jC,EACdC,EAAM9jC,GAGR,OAAOwgC,EAAO/E,EAAOrZ,EAA0B9b,EAAOk6B,GAGxD,OArGA3e,EAAS+hB,EAAOrD,GAqGTqD,EAtGG,CAuGV5S,IAwCE+S,GAAW,SAAkBv6B,GAC/B,IAAIrH,EAAQ,CAAC,WAAY,WAAY,OAAQ,WAAY,SAAU,OAAQ,QAGvE6hB,EAAItb,EAASyY,cAAc,KAE/B6C,EAAE9a,KAAOM,EAKT,IAAIw6B,EAAuB,KAAXhgB,EAAE9Z,MAA8B,UAAf8Z,EAAEigB,SAC/BC,OAAM,EAENF,IACFE,EAAMx7B,EAASyY,cAAc,OAC7B+iB,EAAIC,UAAY,YAAc36B,EAAM,SACpCwa,EAAIkgB,EAAIxc,WAERwc,EAAIpqB,aAAa,QAAS,oCAC1BpR,EAASsO,KAAK4Q,YAAYsc,IAQ5B,IAFA,IAAIE,EAAU,GAELn9B,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAChCm9B,EAAQjiC,EAAM8E,IAAM+c,EAAE7hB,EAAM8E,IAqB9B,MAhByB,UAArBm9B,EAAQH,WACVG,EAAQl6B,KAAOk6B,EAAQl6B,KAAKL,QAAQ,OAAQ,KAGrB,WAArBu6B,EAAQH,WACVG,EAAQl6B,KAAOk6B,EAAQl6B,KAAKL,QAAQ,QAAS,KAG1Cu6B,EAAQH,WACXG,EAAQH,SAAW37B,EAAOW,SAASg7B,UAGjCD,GACFt7B,EAASsO,KAAKgU,YAAYkZ,GAGrBE,GAeLC,GAAiB,SAAwB76B,GAE3C,IAAKA,EAAIuW,MAAM,gBAAiB,CAE9B,IAAImkB,EAAMx7B,EAASyY,cAAc,OAEjC+iB,EAAIC,UAAY,YAAc36B,EAAM,UACpCA,EAAM06B,EAAIxc,WAAWxe,KAGvB,OAAOM,GAcL86B,GAAmB,SAA0BC,GAC/C,GAAoB,kBAATA,EAAmB,CAC5B,IAAIC,EAAc,0EACdC,EAAYD,EAAYllB,KAAKilB,GAEjC,GAAIE,EACF,OAAOA,EAAUhlB,MAAM7B,cAI3B,MAAO,IAYL8mB,GAAgB,SAAuBl7B,GACzC,IAAIm7B,EAASr8B,EAAOW,SAChB27B,EAAUb,GAASv6B,GAGnBq7B,EAAmC,MAArBD,EAAQX,SAAmBU,EAAOV,SAAWW,EAAQX,SAInEa,EAAcD,EAAcD,EAAQ16B,OAASy6B,EAAOV,SAAWU,EAAOz6B,KAE1E,OAAO46B,GAGLC,IAAOzjC,OAAO+f,QAAU/f,QAAQ,CACnCyiC,SAAUA,GACVM,eAAgBA,GAChBC,iBAAkBA,GAClBI,cAAeA,KAiBZM,GAAY,SAAmBC,EAAYxJ,GAC7C,IAAIyJ,EAAS,IAAI58B,EAAO68B,OAAOC,OAAO98B,EAAQA,EAAO+8B,MAAO/8B,EAAO68B,OAAOG,iBACtEC,EAAS,GAEbL,EAAOM,MAAQ,SAAU5J,GACvBH,EAAMkB,OAAOf,IAGfsJ,EAAOO,eAAiB,SAAU/gB,GAChC6gB,EAAO71B,KAAKgV,IAGdwgB,EAAOQ,QAAU,WACfjK,EAAMrgB,QAAQ,CACZ5a,KAAM,aACN+M,OAAQkuB,KAIZyJ,EAAOS,MAAMV,GACTM,EAAOl4B,OAAS,IACd/E,EAAOwb,SAAWxb,EAAOwb,QAAQ8hB,gBACnCt9B,EAAOwb,QAAQ8hB,eAAe,iCAAmCnK,EAAMa,KAEzEiJ,EAAO/jC,SAAQ,SAAUkjB,GACvB,OAAOpB,EAAIoB,MAAMA,MAEfpc,EAAOwb,SAAWxb,EAAOwb,QAAQ+hB,UACnCv9B,EAAOwb,QAAQ+hB,YAInBX,EAAOppB,SAcLgqB,GAAY,SAAmBxJ,EAAKb,GACtC,IAAI3N,EAAO,CACTiY,IAAKzJ,GAEHwI,EAAcJ,GAAcpI,GAE5BwI,IACFhX,EAAKkY,KAAOlB,GAGd7lB,EAAI6O,EAAM9hB,GAAKlP,MAAM,SAAU0W,EAAKyyB,EAAUC,GAC5C,GAAI1yB,EACF,OAAO8P,EAAIoB,MAAMlR,EAAKyyB,GAOxB,GAJAxK,EAAM0K,SAAU,EAIa,oBAAlB79B,EAAO68B,QAChB,GAAI1J,EAAM2K,MAAO,CACf,IAAIC,EAAc,WAChB,OAAOrB,GAAUkB,EAAczK,IAGjCA,EAAM2K,MAAM5oC,GAAG,cAAe6oC,GAC9B5K,EAAM2K,MAAM5oC,GAAG,cAAc,WAC3B8lB,EAAIoB,MAAM,oDAAsD+W,EAAMa,KACtEb,EAAM2K,MAAMjrB,IAAI,cAAekrB,YAInCrB,GAAUkB,EAAczK,QAY1B6K,GAAY,SAAUC,GAqCxB,SAASD,IACP,IAAIhgC,EAAOk6B,EAEPnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAGlF,GAFAkb,EAAe5kB,KAAMwpC,IAEhBjY,EAAQ2N,KACX,MAAM,IAAIvd,MAAM,4BAGlB,IAAI+nB,EAAWjT,GAAalF,EAAS,CACnCwT,KAAMwB,GAAchV,EAAQwT,OAAS,YACrCrN,SAAUnG,EAAQmG,UAAYnG,EAAQoY,SAAW,KAE/CC,EAAOjD,GAAc+C,EAASE,OAAS,WACvCC,EAAWH,EAAS,WAEF,aAAlBA,EAAS3E,MAAyC,aAAlB2E,EAAS3E,OAC3C6E,EAAO,UAIT,IAAIE,GAAMtgC,EAAQ8b,EAA0BtlB,KAAMypC,EAAOhrB,KAAKze,KAAM0pC,IAAYlgC,GAIhF,GAFAsgC,EAAGR,MAAQI,EAASxK,KAEhBtb,EACF,IAAK,IAAIgF,KAAQ4gB,EAAU5qB,UACZ,gBAATgK,IACFkhB,EAAGlhB,GAAQ4gB,EAAU5qB,UAAUgK,IAKrCkhB,EAAGlE,MAAQ,GACXkE,EAAGC,YAAc,GAEjB,IAAIlL,EAAO,IAAI2G,GAAiBsE,EAAGlE,OAC/BoE,EAAa,IAAIxE,GAAiBsE,EAAGC,aACrCE,GAAU,EACVC,EAAoBh7B,GAAK46B,GAAI,WAM/B9pC,KAAKgqC,WAAahqC,KAAKgqC,WACnBC,IACFjqC,KAAKse,QAAQ,aACb2rB,GAAU,MAgJd,MA5Ia,aAATL,GACFE,EAAGR,MAAM3S,OAAM,WACbmT,EAAGR,MAAM5oC,GAAG,aAAcwpC,MACzB,GAYL1lC,OAAO8a,eAAewqB,EAAI,UAAW,CACnC70B,IAAK,WACH,OAAO40B,GAETnoB,IAAK,eAYPld,OAAO8a,eAAewqB,EAAI,OAAQ,CAChC70B,IAAK,WACH,OAAO20B,GAETloB,IAAK,SAAgByoB,GACnB,IAAI9U,EAASr1B,KAER2mC,GAAcwD,KAGnBP,EAAOO,EACM,aAATP,EAEF5pC,KAAKspC,MAAM3S,OAAM,WACftB,EAAOiU,MAAM5oC,GAAG,aAAcwpC,MAC7B,GAEHlqC,KAAKspC,MAAMjrB,IAAI,aAAc6rB,GAW/BlqC,KAAKse,QAAQ,kBAUjB9Z,OAAO8a,eAAewqB,EAAI,OAAQ,CAChC70B,IAAK,WACH,OAAKjV,KAAKqpC,QAIHxK,EAHE,MAKXnd,IAAK,eASPld,OAAO8a,eAAewqB,EAAI,aAAc,CACtC70B,IAAK,WACH,IAAKjV,KAAKqpC,QACR,OAAO,KAIT,GAAyB,IAArBrpC,KAAK6+B,KAAKtuB,OACZ,OAAOy5B,EAMT,IAHA,IAAII,EAAKpqC,KAAKspC,MAAM9sB,cAChB/K,EAAS,GAEJtH,EAAI,EAAG45B,EAAI/jC,KAAK6+B,KAAKtuB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAChD,IAAI20B,EAAM9+B,KAAK6+B,KAAK10B,IAEhB20B,EAAIC,WAAaqL,GAAMtL,EAAIE,SAAWoL,GAE/BtL,EAAIC,YAAcD,EAAIE,SAAWF,EAAIC,WAAaqL,GAAMtL,EAAIC,UAAY,IAAOqL,IADxF34B,EAAOmB,KAAKksB,GAQhB,GAFAmL,GAAU,EAENx4B,EAAOlB,SAAWvQ,KAAK+pC,YAAYx5B,OACrC05B,GAAU,OAEV,IAAK,IAAIvX,EAAK,EAAGA,EAAKjhB,EAAOlB,OAAQmiB,KACW,IAA1C1yB,KAAK+pC,YAAYpmC,QAAQ8N,EAAOihB,MAClCuX,GAAU,GAQhB,OAHAjqC,KAAK+pC,YAAct4B,EACnBu4B,EAAWvE,SAASzlC,KAAK+pC,aAElBC,GAKTtoB,IAAK,eAGHgoB,EAASlK,KACXsK,EAAGtK,IAAMkK,EAASlK,IAClBwJ,GAAUU,EAASlK,IAAKsK,IAExBA,EAAGT,SAAU,EAGR3F,EAAOoG,EAAIxkB,EAA0B9b,EAAOk6B,GA8DrD,OAnSA3e,EAASykB,EAAWC,GAgPpBD,EAAU5qB,UAAUihB,OAAS,SAAgBwK,GAC3C,IAAIvL,EAAMuL,EAEV,GAAI7+B,EAAO+8B,SAAW8B,aAAuB7+B,EAAO+8B,MAAM+B,QAAS,CAGjE,IAAK,IAAI1hB,KAFTkW,EAAM,IAAItzB,EAAO+8B,MAAM+B,OAAOD,EAAYtL,UAAWsL,EAAYrL,QAASqL,EAAY7f,MAErE6f,EACTzhB,KAAQkW,IACZA,EAAIlW,GAAQyhB,EAAYzhB,IAK5BkW,EAAI37B,GAAKknC,EAAYlnC,GACrB27B,EAAIyL,aAAeF,EAKrB,IAFA,IAAIhL,EAASr/B,KAAKspC,MAAM7J,aAEft1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAC7Bk1B,EAAOl1B,KAAOnK,MAChBq/B,EAAOl1B,GAAGqgC,UAAU1L,GAIxB9+B,KAAK4lC,MAAMhzB,KAAKksB,GAChB9+B,KAAK6+B,KAAK4G,SAASzlC,KAAK4lC,QAW1B4D,EAAU5qB,UAAU4rB,UAAY,SAAmBC,GACjD,IAAItgC,EAAInK,KAAK4lC,MAAMr1B,OAEnB,MAAOpG,IAAK,CACV,IAAI20B,EAAM9+B,KAAK4lC,MAAMz7B,GAErB,GAAI20B,IAAQ2L,GAAc3L,EAAIyL,cAAgBzL,EAAIyL,eAAiBE,EAAY,CAC7EzqC,KAAK4lC,MAAM70B,OAAO5G,EAAG,GACrBnK,KAAK6+B,KAAK4G,SAASzlC,KAAK4lC,OACxB,SAKC4D,EApSO,CAqSd1C,IAOF0C,GAAU5qB,UAAUuV,eAAiB,CACnCuW,UAAW,aAWb,IAAIC,GAAa,SAAUlB,GAyBzB,SAASkB,IACP,IAAInhC,EAAOk6B,EAEPnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM2qC,GAErB,IAAIjB,EAAWjT,GAAalF,EAAS,CACnCwT,KAAMuB,GAAe/U,EAAQwT,OAAS,KAIpCpG,GAASn1B,EAAQ8b,EAA0BtlB,KAAMypC,EAAOhrB,KAAKze,KAAM0pC,IAAYlgC,GAC/E66B,GAAU,EAEd,GAAIzgB,EACF,IAAK,IAAIgF,KAAQ+hB,EAAW/rB,UACb,gBAATgK,IACF+V,EAAM/V,GAAQ+hB,EAAW/rB,UAAUgK,IA8CzC,OAjCApkB,OAAO8a,eAAeqf,EAAO,UAAW,CACtC1pB,IAAK,WACH,OAAOovB,GAET3iB,IAAK,SAAgBkpB,GAEO,mBAAfA,GAA4BA,IAAevG,IAGtDA,EAAUuG,EAYV5qC,KAAKse,QAAQ,qBAOborB,EAASrF,UACX1F,EAAM0F,QAAUqF,EAASrF,SAE3B1F,EAAM0K,SAAU,EAET3F,EAAO/E,EAAOrZ,EAA0B9b,EAAOk6B,GAGxD,OA1FA3e,EAAS4lB,EAAYlB,GA0FdkB,EA3FQ,CA4Ff7D,IASE+D,GAAa,SAAUpB,GAwBzB,SAASoB,IACP,IAAIrhC,EAAOk6B,EAEPnS,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM6qC,GAErB,IAAInB,EAAWjT,GAAalF,EAAS,CACnCwT,KAAMgB,GAAexU,EAAQwT,OAAS,KAKpCpG,GAASn1B,EAAQ8b,EAA0BtlB,KAAMypC,EAAOhrB,KAAKze,KAAM0pC,IAAYlgC,GAC/Em7B,GAAW,EAEf,GAAI/gB,EACF,IAAK,IAAIgF,KAAQiiB,EAAWjsB,UACb,gBAATgK,IACF+V,EAAM/V,GAAQiiB,EAAWjsB,UAAUgK,IA8CzC,OAhCApkB,OAAO8a,eAAeqf,EAAO,WAAY,CACvC1pB,IAAK,WACH,OAAO0vB,GAETjjB,IAAK,SAAgBopB,GAEQ,mBAAhBA,GAA6BA,IAAgBnG,IAGxDA,EAAWmG,EAYX9qC,KAAKse,QAAQ,sBAOborB,EAAS/E,WACXhG,EAAMgG,SAAW+E,EAAS/E,UAGrBjB,EAAO/E,EAAOrZ,EAA0B9b,EAAOk6B,GAGxD,OA1FA3e,EAAS8lB,EAAYpB,GA0FdoB,EA3FQ,CA4Ff/D,IAWEiE,GAAO,EACPC,GAAU,EACVC,GAAS,EACTC,GAAQ,EASRC,GAAmB,SAAU1H,GAqC/B,SAAS0H,IACP,IAAI5Z,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAMmrC,GAErB,IAAI3hC,EAAQ8b,EAA0BtlB,KAAMyjC,EAAahlB,KAAKze,OAE1DmzB,OAAa,EACbiS,EAAe57B,EAEnB,GAAIoa,EAGF,IAAK,IAAIgF,KAFTwc,EAAex5B,EAASyY,cAAc,UAErB8mB,EAAiBvsB,UACnB,gBAATgK,IACFwc,EAAaxc,GAAQuiB,EAAiBvsB,UAAUgK,IAKtD,IAiDM8a,EAjDF/E,EAAQ,IAAI6K,GAAUjY,GAgD1B,OA9CA6T,EAAaL,KAAOpG,EAAMoG,KAC1BK,EAAa5F,IAAMb,EAAMa,IACzB4F,EAAauE,QAAUhL,EAAMjH,SAC7B0N,EAAazE,MAAQhC,EAAMgC,MAC3ByE,EAAa,WAAazG,EAAM,WAQhCn6B,OAAO8a,eAAe8lB,EAAc,aAAc,CAChDnwB,IAAK,WACH,OAAOke,KAWX3uB,OAAO8a,eAAe8lB,EAAc,QAAS,CAC3CnwB,IAAK,WACH,OAAO0pB,KAIXxL,EAAa4X,GAMbpM,EAAMphB,iBAAiB,cAAc,WACnC4V,EAAa8X,GAEb7F,EAAa9mB,QAAQ,CACnB5a,KAAM,OACN+M,OAAQ20B,OAIRxhB,GAGK8f,EAAO0B,EAAc9f,EAA0B9b,EAAOk6B,IAExDl6B,EAGT,OA/GAub,EAASomB,EAAkB1H,GA+GpB0H,EAhHc,CAiHrBjX,IAEFiX,GAAiBvsB,UAAUuV,eAAiB,CAC1CiX,KAAM,QAGRD,GAAiBJ,KAAOA,GACxBI,GAAiBH,QAAUA,GAC3BG,GAAiBF,OAASA,GAC1BE,GAAiBD,MAAQA,GAOzB,IAAIG,GAAS,CACXC,MAAO,CACLC,UAAWjH,GACXkH,WAAYb,GACZc,YAAa,SAEfh4B,MAAO,CACL83B,UAAW3G,GACX4G,WAAYX,GACZY,YAAa,SAEfjhB,KAAM,CACJ+gB,UAAW1G,GACX2G,WAAYhC,GACZiC,YAAa,SAIjBjnC,OAAOC,KAAK4mC,IAAQ3mC,SAAQ,SAAUhB,GACpC2nC,GAAO3nC,GAAMgoC,WAAahoC,EAAO,SACjC2nC,GAAO3nC,GAAMioC,YAAcjoC,EAAO,aAGpC,IAAIkoC,GAAS,CACXC,WAAY,CACVN,UAAW1G,GACX2G,WAAYhC,GACZiC,YAAa,aACbC,WAAY,mBACZC,YAAa,qBAEfG,aAAc,CACZP,UAAWvG,GACXwG,WAAYL,GACZM,YAAa,qBACbC,WAAY,qBACZC,YAAa,wBAIbI,GAAMtV,GAAa4U,GAAQO,IAgD/B,SAASI,GAAkBzmB,EAAMwf,EAAMpE,EAAOjJ,GAC5C,IAAInG,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE9E21B,EAAS9Z,EAAKka,aAElBlO,EAAQwT,KAAOA,EAEXpE,IACFpP,EAAQoP,MAAQA,GAEdjJ,IACFnG,EAAQmG,SAAWA,GAErBnG,EAAQ2N,KAAO3Z,EAEf,IAAIoZ,EAAQ,IAAIoN,GAAIvhB,KAAKghB,WAAWja,GAIpC,OAFA8N,EAAOuE,SAASjF,GAETA,EAjETiN,GAAOK,MAAQznC,OAAOC,KAAKmnC,IAC3BP,GAAOY,MAAQznC,OAAOC,KAAK4mC,IAC3BU,GAAIE,MAAQ,GAAG7tB,OAAOwtB,GAAOK,OAAO7tB,OAAOitB,GAAOY,OAyElD,IAAI9S,GAAO,SAAU+G,GAYnB,SAAS/G,IACP,IAAI5H,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9EitB,EAAQjtB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,aAChFkb,EAAe5kB,KAAMm5B,GAIrB5H,EAAQ8F,qBAAsB,EAI9B,IAAI7tB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAM,KAAMuxB,EAASoF,IAwDjF,OAtDAntB,EAAM0iC,aAAc,EACpB1iC,EAAM9I,GAAG,WAAW,WAClBV,KAAKksC,aAAc,KAErB1iC,EAAM9I,GAAG,aAAa,WACpBV,KAAKksC,aAAc,KAGrBH,GAAIE,MAAMvnC,SAAQ,SAAUtC,GAC1B,IAAIiD,EAAQ0mC,GAAI3pC,GAEZmvB,GAAWA,EAAQlsB,EAAMqmC,cAC3BliC,EAAMnE,EAAMsmC,aAAepa,EAAQlsB,EAAMqmC,gBAKxCliC,EAAM2iC,wBACT3iC,EAAM4iC,mBAIH5iC,EAAM6iC,0BACT7iC,EAAM8iC,sBAGR,CAAC,OAAQ,QAAS,SAAS5nC,SAAQ,SAAUi6B,IACE,IAAzCpN,EAAQ,SAAWoN,EAAQ,YAC7Bn1B,EAAM,iBAAmBm1B,EAAQ,WAAY,OAIlB,IAA3BpN,EAAQgb,iBAAyD,IAA7Bhb,EAAQib,iBAC9ChjC,EAAMijC,0BAA2B,GACG,IAA3Blb,EAAQgb,iBAAwD,IAA7Bhb,EAAQib,mBACpDhjC,EAAMijC,0BAA2B,GAG9BjjC,EAAMijC,0BACTjjC,EAAMkjC,oBAGRljC,EAAMmjC,sBAAwB,IAAIZ,GAAIvhB,KAAK+gB,UAE3C/hC,EAAMojC,qBAGDrb,EAAQsb,wBACXrjC,EAAMwxB,gBAGJxxB,EAAMmb,cACRnb,EAAMutB,MAAQvtB,EAAMmb,YAAYviB,MAAQ,gBAEnCoH,EAs1BT,OAp6BAub,EAASoU,EAAM+G,GA0Ff/G,EAAKva,UAAUkuB,iBAAmB,SAA0BtN,GAC1D,IAAInK,EAASr1B,KAERA,KAAKy5B,UAGRz5B,KAAKgyB,IAAI,SAAS,WAChB,OAAOqD,EAAOroB,YAAW,WACvB,OAAOqoB,EAAOyX,iBAAiBtN,KAC9B,MAYPx/B,KAAKse,QAAQ,CACXkhB,IAAKA,EACL97B,KAAM,eAcVy1B,EAAKva,UAAUwtB,iBAAmB,WAChCpsC,KAAKU,GAAG,iBAAkBV,KAAK+sC,kBAE/B/sC,KAAKgtC,gBAAiB,EAGtBhtC,KAAKgyB,IAAI,QAAShyB,KAAKitC,gBASzB9T,EAAKva,UAAUsuB,kBAAoB,WACjCltC,KAAKgtC,gBAAiB,EACtBhtC,KAAKmtC,uBAELntC,KAAKqe,IAAI,iBAAkBre,KAAK+sC,mBAkBlC5T,EAAKva,UAAUquB,cAAgB,SAAuB5lC,GACpDrH,KAAKmtC,uBACLntC,KAAKotC,iBAAmBptC,KAAK8P,YAAYZ,GAAKlP,MAAM,WAGlD,IAAIqtC,EAAqBrtC,KAAK09B,kBAE1B19B,KAAKstC,mBAAqBD,GAO5BrtC,KAAKse,QAAQ,YAGfte,KAAKstC,iBAAmBD,EAEG,IAAvBA,GACFrtC,KAAKmtC,0BAEL,MAcNhU,EAAKva,UAAUmuB,iBAAmB,SAA0B1lC,GAC1DrH,KAAKutC,UAAYvtC,KAAKkd,YAWxBic,EAAKva,UAAU+e,SAAW,WACxB,OAAOF,GAAiB,EAAG,IAa7BtE,EAAKva,UAAU8e,gBAAkB,WAC/B,OAAOA,GAAgB19B,KAAK29B,WAAY39B,KAAKutC,YAW/CpU,EAAKva,UAAUuuB,qBAAuB,WACpCntC,KAAK+P,cAAc/P,KAAKotC,mBAU1BjU,EAAKva,UAAU0tB,oBAAsB,WACnCtsC,KAAKwtC,mBAAoB,EAEzBxtC,KAAKU,GAAG,OAAQV,KAAKytC,kBACrBztC,KAAKU,GAAG,QAASV,KAAK0tC,0BASxBvU,EAAKva,UAAU+uB,qBAAuB,WACpC3tC,KAAKwtC,mBAAoB,EACzBxtC,KAAK0tC,0BACL1tC,KAAKqe,IAAI,OAAQre,KAAKytC,kBACtBztC,KAAKqe,IAAI,QAASre,KAAK0tC,0BAYzBvU,EAAKva,UAAU6uB,iBAAmB,WAC5BztC,KAAK4tC,qBACP5tC,KAAK0tC,0BAEP1tC,KAAK4tC,oBAAsB5tC,KAAK8P,aAAY,WAO1C9P,KAAKse,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,MAGnE,MAWL1U,EAAKva,UAAU8uB,wBAA0B,WACvC1tC,KAAK+P,cAAc/P,KAAK4tC,qBAIxB5tC,KAAKse,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,KAWtE1U,EAAKva,UAAUD,QAAU,WAGvB3e,KAAK8tC,YAAYzC,GAAOY,OAGpBjsC,KAAKgtC,gBACPhtC,KAAKktC,oBAGHltC,KAAKwtC,mBACPxtC,KAAK2tC,uBAGPzN,EAAWthB,UAAUD,QAAQF,KAAKze,OAepCm5B,EAAKva,UAAUkvB,YAAc,SAAqBle,GAChD,IAAIuM,EAASn8B,KAEb4vB,EAAQ,GAAGxR,OAAOwR,GAElBA,EAAMlrB,SAAQ,SAAUhB,GACtB,IAAI4M,EAAO6rB,EAAOz4B,EAAO,aAAe,GACpCyG,EAAImG,EAAKC,OAEb,MAAOpG,IAAK,CACV,IAAIw0B,EAAQruB,EAAKnG,GAEJ,SAATzG,GACFy4B,EAAO4R,sBAAsBpP,GAE/BruB,EAAKuzB,YAAYlF,QAWvBxF,EAAKva,UAAUovB,sBAAwB,WACrC,IAAI19B,EAAOtQ,KAAK2sC,uBAAyB,GACrCxiC,EAAImG,EAAKC,OAEb,MAAOpG,IAAK,CACV,IAAIw0B,EAAQruB,EAAKnG,GAEjBnK,KAAK+tC,sBAAsBpP,KAW/BxF,EAAKva,UAAUqvB,MAAQ,aAavB9U,EAAKva,UAAUgJ,MAAQ,SAAelR,GAKpC,YAJYsP,IAARtP,IACF1W,KAAKkuC,OAAS,IAAIjQ,GAAWvnB,GAC7B1W,KAAKse,QAAQ,UAERte,KAAKkuC,QAed/U,EAAKva,UAAUuvB,OAAS,WACtB,OAAInuC,KAAKksC,YACAzO,GAAiB,EAAG,GAEtBA,MAWTtE,EAAKva,UAAUwvB,eAAiB,WAE1BpuC,KAAKwtC,mBAOPxtC,KAAKse,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,KAgBxE1U,EAAKva,UAAUguB,mBAAqB,WAClC,IAAIxQ,EAASp8B,KAsBbqrC,GAAOY,MAAMvnC,SAAQ,SAAUtC,GAC7B,IAAIiD,EAAQgmC,GAAOjpC,GACfisC,EAAmB,WACrBjS,EAAO9d,QAAQlc,EAAO,gBAGpBi9B,EAASjD,EAAO/2B,EAAMqmC,cAE1BrM,EAAO9hB,iBAAiB,cAAe8wB,GACvChP,EAAO9hB,iBAAiB,WAAY8wB,GAEpCjS,EAAO17B,GAAG,WAAW,WACnB2+B,EAAO7P,oBAAoB,cAAe6e,GAC1ChP,EAAO7P,oBAAoB,WAAY6e,UAa7ClV,EAAKva,UAAU0vB,iBAAmB,WAChC,IAAIC,EAASvuC,KAEb,IAAIwL,EAAO68B,OAOX,GAAIz8B,EAASsO,KAAKiR,SAASnrB,KAAKgR,MAAO,CAKrC,IAAKhR,KAAK62B,SAAS,WAAavQ,EAAQlE,IAAQ5d,OAAOC,KAAK2d,GAAK7R,OAAS,EAExE,YADAvQ,KAAKse,QAAQ,eAMf,IAAIkwB,EAAS5iC,EAASyY,cAAc,UAEpCmqB,EAAOhP,IAAMx/B,KAAK62B,SAAS,WAAa,iDACxC2X,EAAOC,OAAS,WAOdF,EAAOjwB,QAAQ,gBAEjBkwB,EAAOE,QAAU,WAOfH,EAAOjwB,QAAQ,eAEjBte,KAAKU,GAAG,WAAW,WACjB8tC,EAAOC,OAAS,KAChBD,EAAOE,QAAU,QAInBljC,EAAO68B,QAAS,EAChBroC,KAAKgR,KAAK2b,WAAW7B,YAAY0jB,QAEjCxuC,KAAK22B,MAAM32B,KAAKsuC,mBAUpBnV,EAAKva,UAAU8tB,kBAAoB,WACjC,IAAIiC,EAAS3uC,KAETq/B,EAASr/B,KAAKy/B,aACdmP,EAAe5uC,KAAK6uC,mBACpBC,EAAiB,SAAwBvkC,GAC3C,OAAO80B,EAAOuE,SAASr5B,EAAEo0B,QAEvBoQ,EAAoB,SAA2BxkC,GACjD,OAAO80B,EAAOwE,YAAYt5B,EAAEo0B,QAG9BiQ,EAAaluC,GAAG,WAAYouC,GAC5BF,EAAaluC,GAAG,cAAequC,GAE/B/uC,KAAKsuC,mBAEL,IAAIU,EAAgB,WAClB,OAAOL,EAAOrwB,QAAQ,oBAGpB2wB,EAAoB,WACtBD,IAEA,IAAK,IAAI7kC,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnBw0B,EAAMnP,oBAAoB,YAAawf,GACpB,YAAfrQ,EAAMiL,MACRjL,EAAMphB,iBAAiB,YAAayxB,KAK1CC,IACA5P,EAAO9hB,iBAAiB,SAAU0xB,GAClC5P,EAAO9hB,iBAAiB,WAAY0xB,GACpC5P,EAAO9hB,iBAAiB,cAAe0xB,GAEvCjvC,KAAKU,GAAG,WAAW,WACjBkuC,EAAavwB,IAAI,WAAYywB,GAC7BF,EAAavwB,IAAI,cAAe0wB,GAChC1P,EAAO7P,oBAAoB,SAAUyf,GACrC5P,EAAO7P,oBAAoB,WAAYyf,GACvC5P,EAAO7P,oBAAoB,cAAeyf,GAE1C,IAAK,IAAI9kC,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnBw0B,EAAMnP,oBAAoB,YAAawf,QAsB7C7V,EAAKva,UAAUswB,aAAe,SAAsBnK,EAAMpE,EAAOjJ,GAC/D,IAAKqN,EACH,MAAM,IAAIpjB,MAAM,mDAGlB,OAAOqqB,GAAkBhsC,KAAM+kC,EAAMpE,EAAOjJ,IA0B9CyB,EAAKva,UAAUuwB,sBAAwB,SAA+B5d,GACpE,IAAIoN,EAAQlI,GAAalF,EAAS,CAChC2N,KAAMl/B,OAGR,OAAO,IAAI4rC,GAAOE,aAAaN,WAAW7M,IAyB5CxF,EAAKva,UAAUghB,mBAAqB,WAClC,IAAIwP,EAASpvC,KAETuxB,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC9E2lC,EAAgB3lC,UAAU,GAE1B4lC,EAAmBtvC,KAAKmvC,sBAAsB5d,GAmBlD,OAjBsB,IAAlB8d,IAA4C,IAAlBA,IAE5B7oB,EAAImB,KAAK,oKACT0nB,GAAgB,GAIlBrvC,KAAKuvC,qBAAqBpK,iBAAiBmK,GAC3CtvC,KAAK6uC,mBAAmBjL,SAAS0L,EAAiB3Q,QAE5B,IAAlB0Q,GAEFrvC,KAAK22B,OAAM,WACT,OAAOyY,EAAOzC,sBAAsB/I,SAAS0L,EAAiB3Q,UAI3D2Q,GAWTnW,EAAKva,UAAUmvB,sBAAwB,SAA+BpP,GACpE,IAAIyG,EAAeplC,KAAKuvC,qBAAqBlK,wBAAwB1G,GAGrE3+B,KAAKuvC,qBAAqBhK,oBAAoBH,GAC9CplC,KAAK6uC,mBAAmBhL,YAAYlF,GACpC3+B,KAAK2sC,sBAAsB9I,YAAYlF,IAgBzCxF,EAAKva,UAAU4wB,wBAA0B,WACvC,MAAO,IAUTrW,EAAKva,UAAU6wB,UAAY,aAS3BtW,EAAKva,UAAU8wB,YAAc,aAS7BvW,EAAKva,UAAU+wB,eAAiB,aAoBhCxW,EAAKva,UAAUgxB,YAAc,WAC3B,MAAO,IAeTzW,EAAKyW,YAAc,WACjB,MAAO,IAaTzW,EAAK0W,cAAgB,SAAuBC,EAAQve,GAClD,OAAO4H,EAAKyW,YAAYE,EAAOpsC,OAiBjCy1B,EAAKG,OAAS,SAAgBrsB,GAC5B,OAAOA,EAAU2R,qBAAqBua,GAAQlsB,aAAqBksB,GAAQlsB,IAAcksB,GAc3FA,EAAK4W,aAAe,SAAsB3tC,EAAM88B,GAK9C,GAJK/F,EAAK6W,SACR7W,EAAK6W,OAAS,KAGX7W,EAAKG,OAAO4F,GACf,MAAM,IAAIvd,MAAM,QAAUvf,EAAO,mBAGnC,IAAK+2B,EAAKyW,YACR,MAAM,IAAIjuB,MAAM,uDAElB,IAAKwX,EAAK0W,cACR,MAAM,IAAIluB,MAAM,yDAUlB,OAPAvf,EAAO+zB,GAAY/zB,GAEnB+2B,EAAK6W,OAAO5tC,GAAQ88B,EACP,SAAT98B,GAEF+2B,EAAK8W,kBAAkBr9B,KAAKxQ,GAEvB88B,GAcT/F,EAAK+W,QAAU,SAAiB9tC,GAC9B,GAAKA,EAML,OAFAA,EAAO+zB,GAAY/zB,GAEf+2B,EAAK6W,QAAU7W,EAAK6W,OAAO5tC,GACtB+2B,EAAK6W,OAAO5tC,GAGjBoJ,GAAUA,EAAO2kC,SAAW3kC,EAAO2kC,QAAQ/tC,IAC7CokB,EAAImB,KAAK,OAASvlB,EAAO,6GAClBoJ,EAAO2kC,QAAQ/tC,SAFxB,GAMK+2B,EAr6BE,CAs6BTzC,IAqCFqV,GAAIE,MAAMvnC,SAAQ,SAAUtC,GAC1B,IAAIiD,EAAQ0mC,GAAI3pC,GAEhB+2B,GAAKva,UAAUvZ,EAAMqmC,YAAc,WAEjC,OADA1rC,KAAKqF,EAAMsmC,aAAe3rC,KAAKqF,EAAMsmC,cAAgB,IAAItmC,EAAMkmC,UACxDvrC,KAAKqF,EAAMsmC,iBAkCtBxS,GAAKva,UAAUwxB,uBAAwB,EAQvCjX,GAAKva,UAAUyxB,qBAAsB,EASrClX,GAAKva,UAAU0xB,0BAA2B,EAW1CnX,GAAKva,UAAU2xB,sBAAuB,EAUtCpX,GAAKva,UAAUutB,wBAAyB,EAYxChT,GAAKva,UAAU4xB,mBAAoB,EAUnCrX,GAAKva,UAAUytB,0BAA2B,EAS1ClT,GAAKva,UAAU6tB,0BAA2B,EAc1CtT,GAAKsX,mBAAqB,SAAUC,GAWlCA,EAAMC,sBAAwB,SAAUC,EAASvoC,GAC/C,IAAIknB,EAAWmhB,EAAMG,eAEhBthB,IACHA,EAAWmhB,EAAMG,eAAiB,SAGtB7qB,IAAV3d,IAEFA,EAAQknB,EAAShf,QAGnBgf,EAASxe,OAAO1I,EAAO,EAAGuoC,IAa5BF,EAAMd,YAAc,SAAUlsC,GAI5B,IAHA,IAAI6rB,EAAWmhB,EAAMG,gBAAkB,GACnCC,OAAM,EAED3mC,EAAI,EAAGA,EAAIolB,EAAShf,OAAQpG,IAGnC,GAFA2mC,EAAMvhB,EAASplB,GAAGylC,YAAYlsC,GAE1BotC,EACF,OAAOA,EAIX,MAAO,IAkBTJ,EAAMK,oBAAsB,SAAU1qB,EAAQkL,GAI5C,IAHA,IAAIhC,EAAWmhB,EAAMG,gBAAkB,GACnCC,OAAM,EAED3mC,EAAI,EAAGA,EAAIolB,EAAShf,OAAQpG,IAGnC,GAFA2mC,EAAMvhB,EAASplB,GAAG6mC,gBAAgB3qB,EAAQkL,GAEtCuf,EACF,OAAOvhB,EAASplB,GAIpB,OAAO,MAeTumC,EAAMb,cAAgB,SAAUC,EAAQve,GACtC,IAAI0f,EAAKP,EAAMK,oBAAoBjB,EAAQve,GAE3C,OAAI0f,EACKA,EAAGD,gBAAgBlB,EAAQve,GAG7B,IAOT,IAAI2f,EAAa,CAAC,WAAY,UAAW,YAgBzCA,EAAWxsC,SAAQ,SAAUu4B,GAC3B,IAAIkU,EAAanxC,KAAKi9B,GAEI,oBAAfkU,IAIXnxC,KAAKi9B,GAAU,WACb,OAAIj9B,KAAKoxC,gBAAkBpxC,KAAKoxC,eAAenU,GACtCj9B,KAAKoxC,eAAenU,GAAQve,MAAM1e,KAAKoxC,eAAgB1nC,WAEzDynC,EAAWzyB,MAAM1e,KAAM0J,eAE/BgnC,EAAM9xB,WAUT8xB,EAAM9xB,UAAUyyB,UAAY,SAAUhrB,GACpC,IAAI4qB,EAAKP,EAAMK,oBAAoB1qB,EAAQrmB,KAAK62B,UAE3Coa,IAGCP,EAAMY,oBACRL,EAAKP,EAAMY,oBAEX9qB,EAAIoB,MAAM,mDAKd5nB,KAAKuxC,uBACLvxC,KAAKqe,IAAI,UAAWre,KAAKuxC,sBAErBN,IAAOP,EAAMY,sBACftxC,KAAKwxC,eAAiBnrB,GAGxBrmB,KAAKoxC,eAAiBH,EAAGQ,aAAaprB,EAAQrmB,KAAMA,KAAK62B,UACzD72B,KAAKU,GAAG,UAAWV,KAAKuxC,uBAQ1Bb,EAAM9xB,UAAU2yB,qBAAuB,WAIjCvxC,KAAKwxC,iBACPxxC,KAAK8tC,YAAY,CAAC,QAAS,UAC3B9tC,KAAKwxC,eAAiB,MAIxBxxC,KAAKguC,wBAEDhuC,KAAKoxC,iBAEHpxC,KAAKoxC,eAAezyB,SACtB3e,KAAKoxC,eAAezyB,UAGtB3e,KAAKoxC,eAAiB,QAO5B1a,GAAU4F,kBAAkB,OAAQnD,IACpCA,GAAK4W,aAAa,OAAQ5W,IAO1BA,GAAK8W,kBAAoB,GAEzB,IAAIyB,GAAc,GACdC,GAAsB,GAEtBC,GAAa,GAEjB,SAASC,GAAInuC,EAAMouC,GACjBJ,GAAYhuC,GAAQguC,GAAYhuC,IAAS,GACzCguC,GAAYhuC,GAAMkP,KAAKk/B,GAKzB,SAAST,GAAUpe,EAAQuM,EAAKuS,GAC9B9e,EAAOjmB,YAAW,WAChB,OAAOglC,GAAgBxS,EAAKkS,GAAYlS,EAAI97B,MAAOquC,EAAM9e,KACxD,GAGL,SAASgf,GAAQH,EAAY5S,GAC3B4S,EAAWptC,SAAQ,SAAUwtC,GAC3B,OAAOA,EAAGD,SAAWC,EAAGD,QAAQ/S,MAQpC,SAASiT,GAAML,EAAY5S,EAAMvV,GAC/B,OAAOmoB,EAAWM,YAAYC,GAAmB1oB,GAASuV,EAAKvV,MAOjE,SAAS2oB,GAAMR,EAAY5S,EAAMvV,EAAQ4oB,GACvC,OAAOrT,EAAKvV,GAAQmoB,EAAWhsB,OAAOusB,GAAmB1oB,GAAS4oB,IASpE,SAASC,GAAQV,EAAY5S,EAAMvV,GACjC,IAAI4oB,EAAM7oC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,KAE1E+oC,EAAa,OAAStc,GAAYxM,GAClC+oB,EAAkBZ,EAAWhsB,OAAOusB,GAAmBI,GAAaF,GACpEI,EAAaD,IAAoBd,GACjCrhB,EAAcoiB,EAAa,KAAOzT,EAAKvV,GAAQ+oB,GAInD,OAFAE,GAAad,EAAYnoB,EAAQ4G,EAAaoiB,GAEvCpiB,EAGT,IAAIsiB,GAAiB,CACnBlV,SAAU,EACVnhB,YAAa,EACbU,SAAU,EACV41B,SAAU,EACV3E,OAAQ,EACRhN,OAAQ,GAGN4R,GAAiB,CACnB3E,eAAgB,GAGd4E,GAAmB,CACrBv2B,KAAM,EACNC,MAAO,GAGT,SAAS21B,GAAmB1oB,GAC1B,OAAO,SAAUrnB,EAAO4vC,GAEtB,OAAI5vC,IAAUsvC,GACLA,GAGLM,EAAGvoB,GACEuoB,EAAGvoB,GAAQrnB,GAGbA,GAIX,SAASswC,GAAaK,EAAKtpB,EAAQrnB,EAAOqwC,GACxC,IAAK,IAAIxoC,EAAI8oC,EAAI1iC,OAAS,EAAGpG,GAAK,EAAGA,IAAK,CACxC,IAAI+nC,EAAKe,EAAI9oC,GAET+nC,EAAGvoB,IACLuoB,EAAGvoB,GAAQgpB,EAAYrwC,IAK7B,SAAS4wC,GAAoBjgB,GAC3B0e,GAAoB1e,EAAO9vB,MAAQ,KAQrC,SAASgwC,GAAmBlgB,EAAQmgB,GAClC,IAAIH,EAAMtB,GAAoB1e,EAAO9vB,MACjC+uC,EAAK,KAET,QAAYlsB,IAARitB,GAA6B,OAARA,EAGvB,OAFAf,EAAKkB,EAAUngB,GACf0e,GAAoB1e,EAAO9vB,MAAQ,CAAC,CAACiwC,EAAWlB,IACzCA,EAGT,IAAK,IAAI/nC,EAAI,EAAGA,EAAI8oC,EAAI1iC,OAAQpG,IAAK,CACnC,IAAIkpC,EAASJ,EAAI9oC,GACbmpC,EAAMD,EAAO,GACbE,EAAMF,EAAO,GAGbC,IAAQF,IAIZlB,EAAKqB,GAQP,OALW,OAAPrB,IACFA,EAAKkB,EAAUngB,GACfggB,EAAIrgC,KAAK,CAACwgC,EAAWlB,KAGhBA,EAGT,SAASF,KACP,IAAIxS,EAAM91B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC1EooC,EAAapoC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GACjFqoC,EAAOroC,UAAU,GACjBupB,EAASvpB,UAAU,GACnBk1B,EAAMl1B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC1E8pC,EAAU9pC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,IAAmBA,UAAU,GACzE0pC,EAAYtB,EAAW,GACvB2B,EAAS3B,EAAWr9B,MAAM,GAI9B,GAAyB,kBAAd2+B,EACTpB,GAAgBxS,EAAKkS,GAAY0B,GAAYrB,EAAM9e,EAAQ2L,EAAK4U,QAI3D,GAAIJ,EAAW,CACpB,IAAIlB,EAAKiB,GAAmBlgB,EAAQmgB,GAGpC,IAAKlB,EAAGb,UAEN,OADAzS,EAAIhsB,KAAKs/B,GACFF,GAAgBxS,EAAKiU,EAAQ1B,EAAM9e,EAAQ2L,EAAK4U,GAGzDtB,EAAGb,UAAU91B,EAAO,GAAIikB,IAAM,SAAU9oB,EAAKg9B,GAI3C,GAAIh9B,EACF,OAAOs7B,GAAgBxS,EAAKiU,EAAQ1B,EAAM9e,EAAQ2L,EAAK4U,GAIzD5U,EAAIhsB,KAAKs/B,GAITF,GAAgB0B,EAAMlU,EAAI97B,OAASgwC,EAAKhwC,KAAO+vC,EAAS/B,GAAYgC,EAAKhwC,MAAOquC,EAAM9e,EAAQ2L,EAAK4U,WAE5FC,EAAOljC,OAChByhC,GAAgBxS,EAAKiU,EAAQ1B,EAAM9e,EAAQ2L,EAAK4U,GACvCA,EACTzB,EAAKvS,EAAKZ,GAEVoT,GAAgBxS,EAAKkS,GAAY,KAAMK,EAAM9e,EAAQ2L,GAAK,GAW9D,IAAI+U,GAAgB,CAClBC,KAAM,YACNC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,IAAK,mBACLC,IAAK,aACLC,IAAK,YACLC,IAAK,YACLC,KAAM,yBAYJC,GAAc,WAChB,IAAI9U,EAAM91B,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE1E6qC,EAAM/M,GAAiBhI,GACvBgV,EAAWb,GAAcY,EAAIzzB,eAEjC,OAAO0zB,GAAY,IAgBjBC,GAAe,SAAsBxhB,EAAQuM,GAC/C,IAAKA,EACH,MAAO,GAIT,GAAIvM,EAAOyhB,OAAOruB,OAAOmZ,MAAQA,GAAOvM,EAAOyhB,OAAOruB,OAAO3iB,KAC3D,OAAOuvB,EAAOyhB,OAAOruB,OAAO3iB,KAI9B,IAAIixC,EAAkB1hB,EAAOyhB,OAAOvuB,QAAQ4B,QAAO,SAAU6sB,GAC3D,OAAOA,EAAEpV,MAAQA,KAGnB,GAAImV,EAAgBpkC,OAClB,OAAOokC,EAAgB,GAAGjxC,KAM5B,IAFA,IAAIyiB,EAAU8M,EAAOtE,GAAG,UAEfxkB,EAAI,EAAGA,EAAIgc,EAAQ5V,OAAQpG,IAAK,CACvC,IAAIyqC,EAAIzuB,EAAQhc,GAEhB,GAAIyqC,EAAElxC,MAAQkxC,EAAEpV,KAAOoV,EAAEpV,MAAQA,EAC/B,OAAOoV,EAAElxC,KAKb,OAAO4wC,GAAY9U,IAmBjBqV,GAAe,SAASA,EAAarV,GAEvC,GAAIr7B,MAAMC,QAAQo7B,GAAM,CACtB,IAAIsV,EAAS,GAEbtV,EAAI96B,SAAQ,SAAUqwC,GACpBA,EAASF,EAAaE,GAElB5wC,MAAMC,QAAQ2wC,GAChBD,EAASA,EAAO12B,OAAO22B,GACdnvB,EAASmvB,IAClBD,EAAOliC,KAAKmiC,MAIhBvV,EAAMsV,OAGNtV,EAFwB,kBAARA,GAAoBA,EAAI3f,OAElC,CAACm1B,GAAU,CAAExV,IAAKA,KACf5Z,EAAS4Z,IAA2B,kBAAZA,EAAIA,KAAoBA,EAAIA,KAAOA,EAAIA,IAAI3f,OAEtE,CAACm1B,GAAUxV,IAGX,GAGR,OAAOA,GAWT,SAASwV,GAAUxV,GACjB,IAAIgV,EAAWF,GAAY9U,EAAIA,KAM/B,OAJKA,EAAI97B,MAAQ8wC,IACfhV,EAAI97B,KAAO8wC,GAGNhV,EAaT,IAAIyV,GAAc,SAAU/U,GAe1B,SAAS+U,EAAYhiB,EAAQ1B,EAASoF,GACpC/R,EAAe5kB,KAAMi1C,GAGrB,IAAIpe,EAAWJ,GAAa,CAAE3M,UAAU,GAASyH,GAK7C/nB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ4D,EAAUF,IAEpF,GAAKpF,EAAQyH,cAAc7S,SAAoD,IAAzCoL,EAAQyH,cAAc7S,QAAQ5V,OAsBlE0iB,EAAOuM,IAAIjO,EAAQyH,cAAc7S,cArBjC,IAAK,IAAIhc,EAAI,EAAG+qC,EAAI3jB,EAAQyH,cAAcmc,UAAWhrC,EAAI+qC,EAAE3kC,OAAQpG,IAAK,CACtE,IAAIirC,EAAWjf,GAAY+e,EAAE/qC,IACzB+0B,EAAO/F,GAAK+W,QAAQkF,GASxB,GALKA,IACHlW,EAAOxI,GAAU+B,aAAa2c,IAI5BlW,GAAQA,EAAKmW,cAAe,CAC9BpiB,EAAOqiB,UAAUF,GACjB,OAUN,OAAO5rC,EAGT,OApDAub,EAASkwB,EAAa/U,GAoDf+U,EArDS,CAsDhBve,IAEFA,GAAU4F,kBAAkB,cAAe2Y,IAY3C,IAAIM,GAAqB,SAAUrV,GAYjC,SAASqV,EAAmBtiB,EAAQ1B,GAClC3M,EAAe5kB,KAAMu1C,GAErB,IAAI/rC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAK1E,OAHA/nB,EAAMwxB,gBAENxxB,EAAM4e,SACC5e,EAoPT,OAvQAub,EAASwwB,EAAoBrV,GAuC7BqV,EAAmB32B,UAAUkL,SAAW,WACtC,IAAIlf,EAAMlB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,MAC1ErE,EAAQqE,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5EugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAErFrE,EAAQkW,EAAO,CACb8rB,UAAW,gEACXhe,UAAWrpB,KAAKu5B,gBAChBmH,SAAU,GACTr7B,GAES,WAARuF,GACF4b,EAAIoB,MAAM,yDAA2Dhd,EAAM,4CAI7Eqf,EAAa1O,EAAO,CAClBglB,KAAM,UACLtW,GAEHjqB,KAAKw1C,UAAYnwC,EAAMq7B,SAEvB,IAAI1vB,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM4K,EAAKvF,EAAO4kB,GAI9D,OAFAjqB,KAAKy1C,oBAAoBzkC,GAElBA,GAGTukC,EAAmB32B,UAAUD,QAAU,WAErC3e,KAAK01C,eAAiB,KAEtBxV,EAAWthB,UAAUD,QAAQF,KAAKze,OAcpCu1C,EAAmB32B,UAAU62B,oBAAsB,SAA6BzkC,GAc9E,OAbAhR,KAAK01C,eAAiB5rB,GAAS,OAAQ,CACrCT,UAAW,oBACV,CAED,YAAa,WAGXrY,GACFA,EAAG8Z,YAAY9qB,KAAK01C,gBAGtB11C,KAAK4hC,YAAY5hC,KAAK21C,aAAc3kC,GAE7BhR,KAAK01C,gBAiBdH,EAAmB32B,UAAUgjB,YAAc,SAAqBpX,GAC9D,IAAIxZ,EAAKtH,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK1J,KAAKgR,KAElF,QAAagV,IAATwE,EACF,OAAOxqB,KAAK21C,cAAgB,YAG9B,IAAIC,EAAgB51C,KAAKu3B,SAAS/M,GAElCxqB,KAAK21C,aAAenrB,EACpBH,GAAYrqB,KAAK01C,eAAgBE,GAC5B51C,KAAK61C,gBAER7kC,EAAGgM,aAAa,QAAS44B,IAY7BL,EAAmB32B,UAAU2a,cAAgB,WAC3C,MAAO,0BAA4B2G,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAQ7Eu1C,EAAmB32B,UAAUwJ,OAAS,WAC/BpoB,KAAK81C,WACR91C,KAAK81C,UAAW,EAChB91C,KAAKurB,YAAY,gBACjBvrB,KAAKg3B,IAAIha,aAAa,gBAAiB,SACT,qBAAnBhd,KAAKw1C,WACdx1C,KAAKg3B,IAAIha,aAAa,WAAYhd,KAAKw1C,WAEzCx1C,KAAKU,GAAG,CAAC,MAAO,SAAUV,KAAK+1C,aAC/B/1C,KAAKU,GAAG,QAASV,KAAKg2C,aACtBh2C,KAAKU,GAAG,OAAQV,KAAKi2C,cASzBV,EAAmB32B,UAAUuJ,QAAU,WACrCnoB,KAAK81C,UAAW,EAChB91C,KAAKorB,SAAS,gBACdprB,KAAKg3B,IAAIha,aAAa,gBAAiB,QACT,qBAAnBhd,KAAKw1C,WACdx1C,KAAKg3B,IAAI/K,gBAAgB,YAE3BjsB,KAAKqe,IAAI,CAAC,MAAO,SAAUre,KAAK+1C,aAChC/1C,KAAKqe,IAAI,QAASre,KAAKg2C,aACvBh2C,KAAKqe,IAAI,OAAQre,KAAKi2C,aA2BxBV,EAAmB32B,UAAUm3B,YAAc,SAAqB1uC,KAchEkuC,EAAmB32B,UAAUo3B,YAAc,SAAqB3uC,GAC9D3G,GAAGkL,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAc1C0U,EAAmB32B,UAAUiiB,eAAiB,SAAwBx5B,GAGhD,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKse,QAAQ,UACJ4hB,EAAWthB,UAAUiiB,gBAG9BX,EAAWthB,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAenDkuC,EAAmB32B,UAAUq3B,WAAa,SAAoB5uC,GAC5DgX,GAAIzS,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAGpC0U,EAxQgB,CAyQvB7e,IAEFA,GAAU4F,kBAAkB,qBAAsBiZ,IAWlD,IAAIW,GAAc,SAAUC,GAY1B,SAASD,EAAYjjB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMk2C,GAErB,IAAI1sC,EAAQ8b,EAA0BtlB,KAAMm2C,EAAoB13B,KAAKze,KAAMizB,EAAQ1B,IAInF,OAFA/nB,EAAM4sC,SACNnjB,EAAOvyB,GAAG,eAAgBwO,GAAK1F,EAAOA,EAAM4sC,SACrC5sC,EAmHT,OArIAub,EAASmxB,EAAaC,GA0BtBD,EAAYt3B,UAAUD,QAAU,WAC9B3e,KAAKizB,SAAS5U,IAAI,eAAgBre,KAAKo2C,QACvCD,EAAoBv3B,UAAUD,QAAQF,KAAKze,OAW7Ck2C,EAAYt3B,UAAUkL,SAAW,WAC/B,IAAI9Y,EAAK8Y,GAAS,MAAO,CACvBT,UAAW,aAGXqX,UAAW,IAYb,OALKtc,IACHpkB,KAAKq2C,aAAevsB,GAAS,OAC7B9Y,EAAG8Z,YAAY9qB,KAAKq2C,eAGfrlC,GAaTklC,EAAYt3B,UAAUw3B,OAAS,SAAgB/uC,GAC7C,IAAIqF,EAAM1M,KAAKizB,SAAS9xB,SAExBnB,KAAKs2C,OAAO5pC,GAIRA,EACF1M,KAAK65B,OAEL75B,KAAK85B,QAYToc,EAAYt3B,UAAU03B,OAAS,SAAgB5pC,GAC7C,GAAI1M,KAAKq2C,aACPr2C,KAAKq2C,aAAa7W,IAAM9yB,MACnB,CACL,IAAI6pC,EAAkB,GAIlB7pC,IACF6pC,EAAkB,QAAU7pC,EAAM,MAGpC1M,KAAKg3B,IAAIv1B,MAAM80C,gBAAkBA,IAiBrCL,EAAYt3B,UAAUm3B,YAAc,SAAqB1uC,GAElDrH,KAAK42B,QAAQnd,aAIdzZ,KAAK42B,QAAQuK,SACf1C,GAAez+B,KAAK42B,QAAQna,QAE5Bzc,KAAK42B,QAAQla,UAIVw5B,EAtIS,CAuIhBX,IAEF7e,GAAU4F,kBAAkB,cAAe4Z,IAK3C,IAAIM,GAAW,OACXC,GAAY,OACZC,GAAU,CACZC,UAAW,YACXC,UAAW,aACXC,MAAO,QACPC,mBAAoB,6CACpBC,eAAgB,2BAChBC,sBAAuB,aACvBC,kBAAmB,QACnBC,OAAQ,mCACR1I,OAAQ,8BACR2I,UAAW,0DAeb,SAASC,GAAe1sC,EAAO7I,GAC7B,IAAIw1C,OAAM,EAEV,GAAqB,IAAjB3sC,EAAM6F,OAER8mC,EAAM3sC,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,OAC9D,IAAqB,IAAjBA,EAAM6F,OAIf,MAAM,IAAIoR,MAAM,gCAAkCjX,EAAQ,gDAF1D2sC,EAAM3sC,EAAM+J,MAAM,GAIpB,MAAO,QAAU8lB,SAAS8c,EAAI5iC,MAAM,EAAG,GAAI,IAAM,IAAM8lB,SAAS8c,EAAI5iC,MAAM,EAAG,GAAI,IAAM,IAAM8lB,SAAS8c,EAAI5iC,MAAM,EAAG,GAAI,IAAM,IAAM5S,EAAU,IAkB/I,SAASy1C,GAAetmC,EAAIvP,EAAOk5B,GACjC,IACE3pB,EAAGvP,MAAMA,GAASk5B,EAClB,MAAOpwB,GAGP,QAUJ,IAAIgtC,GAAmB,SAAUrX,GAe/B,SAASqX,EAAiBtkB,EAAQ1B,EAASoF,GACzC/R,EAAe5kB,KAAMu3C,GAErB,IAAI/tC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAE/E6gB,EAAuBtoC,GAAK1F,EAAOA,EAAMwlC,eAkC7C,OAhCA/b,EAAOvyB,GAAG,YAAawO,GAAK1F,EAAOA,EAAMiuC,gBACzCxkB,EAAOvyB,GAAG,kBAAmB82C,GAC7BvkB,EAAOvyB,GAAG,YAAawO,GAAK1F,EAAOA,EAAMkuC,iBAMzCzkB,EAAO0D,MAAMznB,GAAK1F,GAAO,WACvB,GAAIypB,EAAOqW,OAASrW,EAAOqW,MAAMmD,yBAC/BzsC,KAAK85B,WADP,CAKA7G,EAAOvyB,GAAG,mBAAoB82C,GAC9BvkB,EAAOvyB,GAAG,eAAgB82C,GAEtBhsC,EAAO+R,kBACT/R,EAAO+R,iBAAiB,oBAAqBi6B,GAE/CvkB,EAAOvyB,GAAG,WAAW,WACnB,OAAO8K,EAAOgkB,oBAAoB,oBAAqBgoB,MAKzD,IAFA,IAAInY,EAASr/B,KAAK62B,SAASmC,cAAcqG,QAAU,GAE1Cl1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IACjCnK,KAAK42B,QAAQgJ,mBAAmBP,EAAOl1B,IAAI,GAG7CnK,KAAK03C,sBAEAluC,EAgPT,OArSAub,EAASwyB,EAAkBrX,GAmE3BqX,EAAiB34B,UAAU84B,eAAiB,WAQ1C,IAPA,IAAIC,EAAQ,CAAE1R,SAAU,EAAGG,UAAW,GAClCwR,EAAY53C,KAAK42B,QAAQ6I,aACzBoY,EAAW73C,KAAK42B,QAAQ8d,OAAOoD,iBAC/BC,OAAY,EACZC,OAAgB,EAChBC,OAAiB,EAEZ9tC,EAAI,EAAGA,EAAIytC,EAAUrnC,OAAQpG,IAAK,CACzC,IAAIw0B,EAAQiZ,EAAUztC,GAElB0tC,GAAYA,EAASxT,SAAWwT,EAASngB,WAAaiH,EAAMjH,SAE1DiH,EAAMoG,OAAS8S,EAAS9S,KAC1BkT,EAAiBtZ,EAEPsZ,IACVA,EAAiBtZ,GAIVkZ,IAAaA,EAASxT,SAC/B4T,EAAiB,KACjBF,EAAY,KACZC,EAAgB,MACPrZ,EAAM,aACI,iBAAfA,EAAMoG,MAA4BgT,EAE3BpZ,EAAMoG,QAAQ4S,IAAUK,IACjCA,EAAgBrZ,GAFhBoZ,EAAYpZ,GAWdsZ,EACFA,EAAerO,KAAO,UACboO,EACTA,EAAcpO,KAAO,UACZmO,IACTA,EAAUnO,KAAO,YAcrB2N,EAAiB34B,UAAU64B,cAAgB,WACrCz3C,KAAK42B,QAAQ0S,OAAStpC,KAAK42B,QAAQ0S,MAAMmD,yBAC3CzsC,KAAK85B,OAEL95B,KAAK65B,QAYT0d,EAAiB34B,UAAUkL,SAAW,WACpC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,0BACV,CACD,YAAa,MACb,cAAe,UASnBkuB,EAAiB34B,UAAUs5B,aAAe,WACX,oBAAlB1sC,EAAO68B,QAChB78B,EAAO68B,OAAO8P,YAAY3sC,EAAQ,GAAIxL,KAAKg3B,MAa/CugB,EAAiB34B,UAAUowB,cAAgB,WACzC,IAAI3P,EAASr/B,KAAK42B,QAAQ6I,aAE1Bz/B,KAAKk4C,eAML,IAAIE,EAAoB,KACpBC,EAAyB,KACzBluC,EAAIk1B,EAAO9uB,OAEf,MAAOpG,IAAK,CACV,IAAIw0B,EAAQU,EAAOl1B,GAEA,YAAfw0B,EAAMiL,OACW,iBAAfjL,EAAMoG,KACRqT,EAAoBzZ,EAEpB0Z,EAAyB1Z,GAK3B0Z,GACqC,QAAnCr4C,KAAKqsB,aAAa,cACpBrsB,KAAKgd,aAAa,YAAa,OAEjChd,KAAKs4C,eAAeD,IACXD,IAC8B,cAAnCp4C,KAAKqsB,aAAa,cACpBrsB,KAAKgd,aAAa,YAAa,aAEjChd,KAAKs4C,eAAeF,KAYxBb,EAAiB34B,UAAU05B,eAAiB,SAAwB3Z,GAClE,GAA6B,oBAAlBnzB,EAAO68B,QAA0B1J,EAAMqL,WAAlD,CAMA,IAFA,IAAInL,EAAO,GAEFnM,EAAK,EAAGA,EAAKiM,EAAMqL,WAAWz5B,OAAQmiB,IAC7CmM,EAAKjsB,KAAK+rB,EAAMqL,WAAWtX,IAK7B,GAFAlnB,EAAO68B,OAAO8P,YAAY3sC,EAAQqzB,EAAM7+B,KAAKg3B,KAExCh3B,KAAK42B,QAAQ2hB,kBAAlB,CAIA,IAAIC,EAAYx4C,KAAK42B,QAAQ2hB,kBAAkBE,YAE3CtuC,EAAI00B,EAAKtuB,OAEb,MAAOpG,IAAK,CACV,IAAI20B,EAAMD,EAAK10B,GAEf,GAAK20B,EAAL,CAIA,IAAI4Z,EAAS5Z,EAAI6Z,aAgCjB,GA9BIH,EAAU9tC,QACZguC,EAAO9tB,WAAWnpB,MAAMiJ,MAAQ8tC,EAAU9tC,OAExC8tC,EAAUI,aACZtB,GAAeoB,EAAO9tB,WAAY,QAASwsB,GAAeoB,EAAU9tC,OAAS,OAAQ8tC,EAAUI,cAE7FJ,EAAUK,kBACZH,EAAO9tB,WAAWnpB,MAAMo3C,gBAAkBL,EAAUK,iBAElDL,EAAUM,mBACZxB,GAAeoB,EAAO9tB,WAAY,kBAAmBwsB,GAAeoB,EAAUK,iBAAmB,OAAQL,EAAUM,oBAEjHN,EAAUO,cACRP,EAAUQ,cACZ1B,GAAeoB,EAAQ,kBAAmBtB,GAAeoB,EAAUO,YAAaP,EAAUQ,gBAE1FN,EAAOj3C,MAAMo3C,gBAAkBL,EAAUO,aAGzCP,EAAUS,YACgB,eAAxBT,EAAUS,UACZP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,eAAiB1C,GAAW,iBAAmBA,GAAW,iBAAmBA,GACjF,WAAxBgC,EAAUS,UACnBP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,WAAa1C,GAAW,aAAeA,GAAW,aAAeA,GACrE,cAAxBgC,EAAUS,UACnBP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,WAAazC,GAAY,WAAaA,GAAY,eAAiBD,GAAW,YAAcA,GAChG,YAAxBgC,EAAUS,YACnBP,EAAO9tB,WAAWnpB,MAAMy3C,WAAa,WAAa1C,GAAW,aAAeA,GAAW,aAAeA,GAAW,aAAeA,KAGhIgC,EAAUW,aAAyC,IAA1BX,EAAUW,YAAmB,CACxD,IAAIC,EAAW5tC,EAAOkX,WAAWg2B,EAAOj3C,MAAM23C,UAE9CV,EAAOj3C,MAAM23C,SAAWA,EAAWZ,EAAUW,YAAc,KAC3DT,EAAOj3C,MAAME,OAAS,OACtB+2C,EAAOj3C,MAAMiH,IAAM,OACnBgwC,EAAOj3C,MAAM4O,OAAS,MAEpBmoC,EAAUa,YAAuC,YAAzBb,EAAUa,aACP,eAAzBb,EAAUa,WACZX,EAAO9tB,WAAWnpB,MAAM63C,YAAc,aAEtCZ,EAAO9tB,WAAWnpB,MAAM43C,WAAa3C,GAAQ8B,EAAUa,kBAMxD9B,EAtSc,CAuSrB7gB,IAEFA,GAAU4F,kBAAkB,mBAAoBib,IAWhD,IAAIgC,GAAiB,SAAUrZ,GAG7B,SAASqZ,IAEP,OADA30B,EAAe5kB,KAAMu5C,GACdj0B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YA2BhE,OA/BAqb,EAASw0B,EAAgBrZ,GAazBqZ,EAAe36B,UAAUkL,SAAW,WAClC,IAAI0vB,EAAUx5C,KAAK42B,QAAQ4iB,UACvBC,EAAaz5C,KAAKu3B,SAASiiB,EAAU,eAAiB,gBACtD5X,EAAc9X,GAAS,OAAQ,CACjCT,UAAW,mBACXge,UAAWrnC,KAAKu3B,SAAS,kBAAmB,CAACkiB,MAG3CzoC,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDqpB,UAAW,sBACXqwB,IAAK,QAKP,OAFA1oC,EAAG8Z,YAAY8W,GAER5wB,GAGFuoC,EAhCY,CAiCnB7iB,IAEFA,GAAU4F,kBAAkB,iBAAkBid,IAW9C,IAAII,GAAS,SAAUxD,GAGrB,SAASwD,IAEP,OADA/0B,EAAe5kB,KAAM25C,GACdr0B,EAA0BtlB,KAAMm2C,EAAoBz3B,MAAM1e,KAAM0J,YAqHzE,OAzHAqb,EAAS40B,EAAQxD,GAuBjBwD,EAAO/6B,UAAUkL,SAAW,SAAkBlf,GAC5C,IAAIvF,EAAQqE,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5EugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAErFkB,EAAM,SAENvF,EAAQkW,EAAO,CACb8rB,UAAW,gEACXhe,UAAWrpB,KAAKu5B,iBACfl0B,GAGH4kB,EAAa1O,EAAO,CAGlB7X,KAAM,UACLumB,GAEH,IAAIjZ,EAAK0lB,GAAU9X,UAAUkL,SAASrL,KAAKze,KAAM4K,EAAKvF,EAAO4kB,GAI7D,OAFAjqB,KAAKy1C,oBAAoBzkC,GAElBA,GAqBT2oC,EAAO/6B,UAAUwZ,SAAW,SAAkBzN,GAC5C,IAAI4G,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE9E2f,EAAYrpB,KAAK2kB,YAAYviB,KAKjC,OAHAokB,EAAImB,KAAK,+DAAiE0B,EAAY,yDAG/EqN,GAAU9X,UAAUwZ,SAAS3Z,KAAKze,KAAM2qB,EAAO4G,IASxDooB,EAAO/6B,UAAUwJ,OAAS,WACxB+tB,EAAoBv3B,UAAUwJ,OAAO3J,KAAKze,MAC1CA,KAAKg3B,IAAI/K,gBAAgB,aAS3B0tB,EAAO/6B,UAAUuJ,QAAU,WACzBguB,EAAoBv3B,UAAUuJ,QAAQ1J,KAAKze,MAC3CA,KAAKg3B,IAAIha,aAAa,WAAY,aAcpC28B,EAAO/6B,UAAUiiB,eAAiB,SAAwBx5B,GAGpC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAKhCslB,EAAoBv3B,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAGnDsyC,EA1HI,CA2HXpE,IAEF7e,GAAU4F,kBAAkB,SAAUqd,IAYtC,IAAIC,GAAgB,SAAUC,GAG5B,SAASD,EAAc3mB,EAAQ1B,GAC7B3M,EAAe5kB,KAAM45C,GAErB,IAAIpwC,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAKvE,OAHA/nB,EAAMswC,YAAa,EAEnBtwC,EAAM9I,GAAG,YAAa8I,EAAMuwC,iBACrBvwC,EAkET,OA5EAub,EAAS60B,EAAeC,GAqBxBD,EAAch7B,UAAU2a,cAAgB,WACtC,MAAO,uBAgBTqgB,EAAch7B,UAAUm3B,YAAc,SAAqB1uC,GACzD,IAAI2yC,EAAch6C,KAAK42B,QAAQna,OAG/B,GAAIzc,KAAK85C,YAAczyC,EAAMsB,SAAWtB,EAAMoB,QAC5Cg2B,GAAeub,OADjB,CAKA,IAAI99B,EAAKlc,KAAK42B,QAAQuB,SAAS,cAC3B8hB,EAAa/9B,GAAMA,EAAGic,SAAS,cAEnC,GAAK8hB,EAAL,CAKA,IAAIC,EAAY,WACd,OAAOD,EAAWztB,SAGhBgS,GAAUwb,GACZA,EAAYhuC,KAAKkuC,GAAW,eAE5Bl6C,KAAKgN,WAAWktC,EAAW,QAX3Bl6C,KAAK42B,QAAQpK,UAejBotB,EAAch7B,UAAUiiB,eAAiB,SAAwBx5B,GAC/DrH,KAAK85C,YAAa,EAElBD,EAAQj7B,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAG9CuyC,EAAch7B,UAAUm7B,gBAAkB,SAAyB1yC,GACjErH,KAAK85C,YAAa,GAGbF,EA7EW,CA8ElBD,IAUFC,GAAch7B,UAAU+2B,aAAe,aAEvCjf,GAAU4F,kBAAkB,gBAAiBsd,IAY7C,IAAIO,GAAc,SAAUN,GAY1B,SAASM,EAAYlnB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMm6C,GAErB,IAAI3wC,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAGvE,OADA/nB,EAAMo4B,YAAYrQ,GAAWA,EAAQqQ,aAAep4B,EAAM+tB,SAAS,UAC5D/tB,EA6CT,OA9DAub,EAASo1B,EAAaN,GA4BtBM,EAAYv7B,UAAU2a,cAAgB,WACpC,MAAO,oBAAsBsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAkBpEm6C,EAAYv7B,UAAUm3B,YAAc,SAAqB1uC,GAYvDrH,KAAKse,QAAQ,CAAE5a,KAAM,QAASouB,SAAS,KAGlCqoB,EA/DS,CAgEhBR,IAEFjjB,GAAU4F,kBAAkB,cAAe6d,IAW3C,IAAIC,GAAa,SAAUP,GAYzB,SAASO,EAAWnnB,EAAQ1B,GAC1B3M,EAAe5kB,KAAMo6C,GAErB,IAAI5wC,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAKvE,OAHA/nB,EAAM9I,GAAGuyB,EAAQ,OAAQzpB,EAAM6wC,YAC/B7wC,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM8wC,aAChC9wC,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM+wC,aACzB/wC,EAgHT,OAnIAub,EAASq1B,EAAYP,GA8BrBO,EAAWx7B,UAAU2a,cAAgB,WACnC,MAAO,oBAAsBsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAgBpEo6C,EAAWx7B,UAAUm3B,YAAc,SAAqB1uC,GAClDrH,KAAK42B,QAAQuK,SACfnhC,KAAK42B,QAAQna,OAEbzc,KAAK42B,QAAQla,SAejB09B,EAAWx7B,UAAU47B,aAAe,SAAsBnzC,GACxDrH,KAAKurB,YAAY,aAEbvrB,KAAK42B,QAAQuK,SACfnhC,KAAKs6C,YAAYjzC,GAEjBrH,KAAKq6C,WAAWhzC,IAcpB+yC,EAAWx7B,UAAUy7B,WAAa,SAAoBhzC,GACpDrH,KAAKurB,YAAY,aACjBvrB,KAAKurB,YAAY,cACjBvrB,KAAKorB,SAAS,eAEdprB,KAAK4hC,YAAY,UAanBwY,EAAWx7B,UAAU07B,YAAc,SAAqBjzC,GACtDrH,KAAKurB,YAAY,eACjBvrB,KAAKorB,SAAS,cAEdprB,KAAK4hC,YAAY,SAanBwY,EAAWx7B,UAAU27B,YAAc,SAAqBlzC,GACtDrH,KAAKurB,YAAY,eACjBvrB,KAAKorB,SAAS,aAEdprB,KAAK4hC,YAAY,UAGjB5hC,KAAKgyB,IAAIhyB,KAAK42B,QAAS,SAAU52B,KAAKw6C,eAGjCJ,EApIQ,CAqIfT,IAUFS,GAAWx7B,UAAU+2B,aAAe,OAEpCjf,GAAU4F,kBAAkB,aAAc8d,IAoB1C,IAAIK,GAAwB,SAA+BC,EAASC,GAClED,EAAUA,EAAU,EAAI,EAAIA,EAC5B,IAAI9F,EAAIzrC,KAAKyxC,MAAMF,EAAU,IACzBrpB,EAAIloB,KAAKyxC,MAAMF,EAAU,GAAK,IAC9BjxC,EAAIN,KAAKyxC,MAAMF,EAAU,MACzBG,EAAK1xC,KAAKyxC,MAAMD,EAAQ,GAAK,IAC7BG,EAAK3xC,KAAKyxC,MAAMD,EAAQ,MAmB5B,OAhBII,MAAML,IAAYA,IAAYM,OAGhCvxC,EAAI4nB,EAAIujB,EAAI,KAIdnrC,EAAIA,EAAI,GAAKqxC,EAAK,EAAIrxC,EAAI,IAAM,GAIhC4nB,IAAM5nB,GAAKoxC,GAAM,KAAOxpB,EAAI,GAAK,IAAMA,EAAIA,GAAK,IAGhDujB,EAAIA,EAAI,GAAK,IAAMA,EAAIA,EAEhBnrC,EAAI4nB,EAAIujB,GAGbqG,GAAiBR,GASrB,SAASS,GAAcC,GACrBF,GAAiBE,EAMnB,SAASC,KACPH,GAAiBR,GAGnB,IAAIY,GAAa,SAAUX,GACzB,IAAIC,EAAQjxC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAKgxC,EAEhF,OAAOO,GAAeP,EAASC,IAY7BW,GAAc,SAAUpb,GAY1B,SAASob,EAAYroB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMs7C,GAErB,IAAI9xC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAI1E,OAFA/nB,EAAM+xC,uBAAyB7nB,GAASxkB,GAAK1F,EAAOA,EAAMgyC,eAAgB,IAC1EhyC,EAAM9I,GAAGuyB,EAAQ,aAAczpB,EAAM+xC,wBAC9B/xC,EA8GT,OAhIAub,EAASu2B,EAAapb,GA6BtBob,EAAY18B,UAAUkL,SAAW,SAAqB2xB,GACpD,IAAIpyB,EAAYrpB,KAAKu5B,gBACjBvoB,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDqpB,UAAWA,EAAY,gCACvBge,UAAW,kCAAoCrnC,KAAKu3B,SAASv3B,KAAK07C,YAAc,aAYlF,OATA17C,KAAKi4B,WAAanO,GAAS,OAAQ,CACjCT,UAAWA,EAAY,YACtB,CAED,YAAa,QAGfrpB,KAAK27C,kBACL3qC,EAAG8Z,YAAY9qB,KAAKi4B,YACbjnB,GAGTsqC,EAAY18B,UAAUD,QAAU,WAC9B3e,KAAKi4B,WAAa,KAClBj4B,KAAK47C,UAAY,KAEjB1b,EAAWthB,UAAUD,QAAQF,KAAKze,OAWpCs7C,EAAY18B,UAAU+8B,gBAAkB,WACtC,GAAK37C,KAAKi4B,WAAV,CAIA,MAAOj4B,KAAKi4B,WAAWrN,WACrB5qB,KAAKi4B,WAAW/J,YAAYluB,KAAKi4B,WAAWrN,YAG9C5qB,KAAK47C,UAAYhwC,EAASwiB,eAAepuB,KAAK67C,gBAAkB77C,KAAK87C,YAAY,IACjF97C,KAAKi4B,WAAWnN,YAAY9qB,KAAK47C,aAgBnCN,EAAY18B,UAAUk9B,YAAc,SAAqBnmC,GACvD,OAAO0lC,GAAW1lC,IAcpB2lC,EAAY18B,UAAUm9B,qBAAuB,SAA8BpmC,GACzE,IAAIqmC,EAAgBh8C,KAAK87C,YAAYnmC,GAEjCqmC,IAAkBh8C,KAAK67C,iBAI3B77C,KAAK67C,eAAiBG,EACtBh8C,KAAKsP,sBAAsBtP,KAAK27C,mBAclCL,EAAY18B,UAAU48B,cAAgB,SAAuBn0C,KAEtDi0C,EAjIS,CAkIhB5kB,IAUF4kB,GAAY18B,UAAU88B,WAAa,OAUnCJ,GAAY18B,UAAU+2B,aAAe,OAErCjf,GAAU4F,kBAAkB,cAAegf,IAW3C,IAAIW,GAAqB,SAAUC,GAYjC,SAASD,EAAmBhpB,EAAQ1B,GAClC3M,EAAe5kB,KAAMi8C,GAErB,IAAIzyC,EAAQ8b,EAA0BtlB,KAAMk8C,EAAaz9B,KAAKze,KAAMizB,EAAQ1B,IAG5E,OADA/nB,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM+wC,aACzB/wC,EAmDT,OApEAub,EAASk3B,EAAoBC,GA4B7BD,EAAmBr9B,UAAU2a,cAAgB,WAC3C,MAAO,oBAaT0iB,EAAmBr9B,UAAU48B,cAAgB,SAAuBn0C,GAElE,IAAIsO,EAAO3V,KAAK42B,QAAQulB,YAAcn8C,KAAK42B,QAAQwlB,WAAW5/B,YAAcxc,KAAK42B,QAAQpa,cAEzFxc,KAAK+7C,qBAAqBpmC,IAe5BsmC,EAAmBr9B,UAAU27B,YAAc,SAAqBlzC,GACzDrH,KAAK42B,QAAQ1Z,YAGlBld,KAAK+7C,qBAAqB/7C,KAAK42B,QAAQ1Z,aAGlC++B,EArEgB,CAsEvBX,IAUFW,GAAmBr9B,UAAU88B,WAAa,eAU1CO,GAAmBr9B,UAAU+2B,aAAe,eAE5Cjf,GAAU4F,kBAAkB,qBAAsB2f,IAWlD,IAAII,GAAkB,SAAUH,GAY9B,SAASG,EAAgBppB,EAAQ1B,GAC/B3M,EAAe5kB,KAAMq8C,GAKrB,IAAI7yC,EAAQ8b,EAA0BtlB,KAAMk8C,EAAaz9B,KAAKze,KAAMizB,EAAQ1B,IAQ5E,OANA/nB,EAAM9I,GAAGuyB,EAAQ,iBAAkBzpB,EAAMgyC,eAKzChyC,EAAM9I,GAAGuyB,EAAQ,iBAAkBzpB,EAAM+xC,wBAClC/xC,EAqCT,OA9DAub,EAASs3B,EAAiBH,GAoC1BG,EAAgBz9B,UAAU2a,cAAgB,WACxC,MAAO,gBAgBT8iB,EAAgBz9B,UAAU48B,cAAgB,SAAuBn0C,GAC/D,IAAI6V,EAAWld,KAAK42B,QAAQ1Z,WAExBA,GAAYld,KAAKutC,YAAcrwB,IACjCld,KAAKutC,UAAYrwB,EACjBld,KAAK+7C,qBAAqB7+B,KAIvBm/B,EA/Da,CAgEpBf,IAUFe,GAAgBz9B,UAAU88B,WAAa,WAUvCW,GAAgBz9B,UAAU+2B,aAAe,WAEzCjf,GAAU4F,kBAAkB,kBAAmB+f,IAY/C,IAAIC,GAAc,SAAUpc,GAG1B,SAASoc,IAEP,OADA13B,EAAe5kB,KAAMs8C,GACdh3B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAgBhE,OApBAqb,EAASu3B,EAAapc,GAatBoc,EAAY19B,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,oCACXge,UAAW,+BAIRiV,EArBS,CAsBhB5lB,IAEFA,GAAU4F,kBAAkB,cAAeggB,IAW3C,IAAIC,GAAuB,SAAUL,GAYnC,SAASK,EAAqBtpB,EAAQ1B,GACpC3M,EAAe5kB,KAAMu8C,GAErB,IAAI/yC,EAAQ8b,EAA0BtlB,KAAMk8C,EAAaz9B,KAAKze,KAAMizB,EAAQ1B,IAI5E,OAFA/nB,EAAM9I,GAAGuyB,EAAQ,iBAAkBzpB,EAAM+xC,wBACzC/xC,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAM+wC,aACzB/wC,EA6ET,OA/FAub,EAASw3B,EAAsBL,GA6B/BK,EAAqB39B,UAAU2a,cAAgB,WAC7C,MAAO,sBAgBTgjB,EAAqB39B,UAAUk9B,YAAc,SAAqBnmC,GAEhE,MAAO,IAAMumC,EAAat9B,UAAUk9B,YAAYr9B,KAAKze,KAAM2V,IAc7D4mC,EAAqB39B,UAAU48B,cAAgB,SAAuBn0C,GAC/DrH,KAAK42B,QAAQ1Z,aAMdld,KAAK42B,QAAQ4lB,qBACfx8C,KAAK+7C,qBAAqB/7C,KAAK42B,QAAQ4lB,wBAEvCx8C,KAAK+7C,qBAAqB/7C,KAAK42B,QAAQ6lB,mBAgB3CF,EAAqB39B,UAAU27B,YAAc,SAAqBlzC,GAC3DrH,KAAK42B,QAAQ1Z,YAGlBld,KAAK+7C,qBAAqB,IAGrBQ,EAhGkB,CAiGzBjB,IAUFiB,GAAqB39B,UAAU88B,WAAa,iBAU5Ca,GAAqB39B,UAAU+2B,aAAe,iBAE9Cjf,GAAU4F,kBAAkB,uBAAwBigB,IAapD,IAAIG,GAAc,SAAUxc,GAY1B,SAASwc,EAAYzpB,EAAQ1B,GAC3B3M,EAAe5kB,KAAM08C,GAErB,IAAIlzC,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAI1E,OAFA/nB,EAAMmzC,gBACNnzC,EAAM9I,GAAG8I,EAAMypB,SAAU,iBAAkBzpB,EAAMmzC,eAC1CnzC,EAoDT,OAtEAub,EAAS23B,EAAaxc,GA6BtBwc,EAAY99B,UAAUkL,SAAW,WAC/B,IAAI9Y,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDqpB,UAAW,iCAWb,OARArpB,KAAKi4B,WAAanO,GAAS,MAAO,CAChCT,UAAW,mBACXge,UAAW,kCAAoCrnC,KAAKu3B,SAAS,eAAiB,WAAgBv3B,KAAKu3B,SAAS,SAC3G,CACD,YAAa,QAGfvmB,EAAG8Z,YAAY9qB,KAAKi4B,YACbjnB,GAGT0rC,EAAY99B,UAAUD,QAAU,WAC9B3e,KAAKi4B,WAAa,KAElBiI,EAAWthB,UAAUD,QAAQF,KAAKze,OAcpC08C,EAAY99B,UAAU+9B,cAAgB,SAAuBt1C,GACvDrH,KAAKizB,SAAS/V,aAAe89B,IAC/Bh7C,KAAK65B,OAEL75B,KAAK85B,QAIF4iB,EAvES,CAwEhBhmB,IAEFA,GAAU4F,kBAAkB,cAAeogB,IAY3C,IAAI9+B,GAAS,SAAUsiB,GAYrB,SAAStiB,EAAOqV,EAAQ1B,GACtB3M,EAAe5kB,KAAM4d,GAGrB,IAAIpU,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAQ1E,OANA/nB,EAAMozC,IAAMpzC,EAAM2uB,SAAS3uB,EAAMqtB,SAASgmB,SAG1CrzC,EAAMhE,WAAWgE,EAAMqtB,SAASrxB,UAEhCgE,EAAM4e,SACC5e,EAmXT,OA1YAub,EAASnH,EAAQsiB,GAkCjBtiB,EAAOgB,UAAUylB,QAAU,WACzB,OAAOrkC,KAAK81C,UAQdl4B,EAAOgB,UAAUwJ,OAAS,WACpBpoB,KAAKqkC,YAITrkC,KAAKU,GAAG,YAAaV,KAAK+5C,iBAC1B/5C,KAAKU,GAAG,aAAcV,KAAK+5C,iBAC3B/5C,KAAKU,GAAG,QAASV,KAAKg2C,aACtBh2C,KAAKU,GAAG,OAAQV,KAAKi2C,YACrBj2C,KAAKU,GAAG,QAASV,KAAK+1C,aAEtB/1C,KAAKU,GAAGV,KAAK42B,QAAS,kBAAmB52B,KAAKo2C,QAE1Cp2C,KAAK88C,aACP98C,KAAKU,GAAGV,KAAK42B,QAAS52B,KAAK88C,YAAa98C,KAAKo2C,QAG/Cp2C,KAAKurB,YAAY,YACjBvrB,KAAKgd,aAAa,WAAY,GAE9Bhd,KAAK81C,UAAW,IAQlBl4B,EAAOgB,UAAUuJ,QAAU,WACzB,GAAKnoB,KAAKqkC,UAAV,CAGA,IAAIzT,EAAM5wB,KAAK48C,IAAI5lB,IAAInF,cAEvB7xB,KAAKqe,IAAI,YAAare,KAAK+5C,iBAC3B/5C,KAAKqe,IAAI,aAAcre,KAAK+5C,iBAC5B/5C,KAAKqe,IAAI,QAASre,KAAKg2C,aACvBh2C,KAAKqe,IAAI,OAAQre,KAAKi2C,YACtBj2C,KAAKqe,IAAI,QAASre,KAAK+1C,aACvB/1C,KAAKqe,IAAIre,KAAK42B,QAAS,kBAAmB52B,KAAKo2C,QAC/Cp2C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,eAC/Bh9C,KAAKisB,gBAAgB,YAErBjsB,KAAKorB,SAAS,YAEVprB,KAAK88C,aACP98C,KAAKqe,IAAIre,KAAK42B,QAAS52B,KAAK88C,YAAa98C,KAAKo2C,QAEhDp2C,KAAK81C,UAAW,IAoBlBl4B,EAAOgB,UAAUkL,SAAW,SAAqBpmB,GAC/C,IAAI2B,EAAQqE,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5EugB,EAAavgB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAgBrF,OAbArE,EAAMgkB,UAAYhkB,EAAMgkB,UAAY,cACpChkB,EAAQkW,EAAO,CACbmlB,SAAU,GACTr7B,GAEH4kB,EAAa1O,EAAO,CAClB,KAAQ,SACR,gBAAiB,EACjB,gBAAiB,EACjB,gBAAiB,IACjB,SAAY,GACX0O,GAEIiW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM0D,EAAM2B,EAAO4kB,IAe/DrM,EAAOgB,UAAUm7B,gBAAkB,SAAyB1yC,GAC1D,IAAIupB,EAAM5wB,KAAK48C,IAAI5lB,IAAInF,cAEJ,cAAfxqB,EAAM3D,MACR2D,EAAM6oB,iBAMW,eAAf7oB,EAAM3D,MAA0BggB,GAClCrc,EAAM6oB,iBAER3D,KAEAvsB,KAAKorB,SAAS,eAOdprB,KAAKse,QAAQ,gBAEbte,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAK+8C,iBAC/B/8C,KAAKU,GAAGkwB,EAAK,UAAW5wB,KAAKg9C,eAC7Bh9C,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAK+8C,iBAC/B/8C,KAAKU,GAAGkwB,EAAK,WAAY5wB,KAAKg9C,eAE9Bh9C,KAAK+8C,gBAAgB11C,IAkBvBuW,EAAOgB,UAAUm+B,gBAAkB,SAAyB11C,KAc5DuW,EAAOgB,UAAUo+B,cAAgB,WAC/B,IAAIpsB,EAAM5wB,KAAK48C,IAAI5lB,IAAInF,cAEvBnF,KAEA1sB,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,kBAEbte,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAK+8C,iBAChC/8C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,eAE/Bh9C,KAAKo2C,UAYPx4B,EAAOgB,UAAUw3B,OAAS,WAKxB,GAAKp2C,KAAKg3B,IAAV,CAQA,IAAIimB,EAAWj9C,KAAKk9C,aAChBN,EAAM58C,KAAK48C,IAGf,GAAKA,EAAL,EAKwB,kBAAbK,GAAyBA,IAAaA,GAAYA,EAAW,GAAKA,IAAajC,OACxFiC,EAAW,GAIb,IAAIE,GAAyB,IAAXF,GAAgBhnC,QAAQ,GAAK,IAC3CxU,EAAQm7C,EAAI5rC,KAAKvP,MASrB,OANIzB,KAAKwF,WACP/D,EAAME,OAASw7C,EAEf17C,EAAMiF,MAAQy2C,EAGTF,KAgBTr/B,EAAOgB,UAAUw+B,kBAAoB,SAA2B/1C,GAC9D,IAAIyE,EAAWwhB,GAAmBttB,KAAKg3B,IAAK3vB,GAE5C,OAAIrH,KAAKwF,WACAsG,EAASiiB,EAEXjiB,EAASqb,GAalBvJ,EAAOgB,UAAUo3B,YAAc,WAC7Bh2C,KAAKU,GAAGV,KAAK48C,IAAI5lB,IAAInF,cAAe,UAAW7xB,KAAK6gC,iBAetDjjB,EAAOgB,UAAUiiB,eAAiB,SAAwBx5B,GAEpC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKq9C,YAGoB,KAAhBh2C,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,QACrCxpB,EAAM6oB,iBACNlwB,KAAKs9C,gBAaT1/B,EAAOgB,UAAUq3B,WAAa,WAC5Bj2C,KAAKqe,IAAIre,KAAK48C,IAAI5lB,IAAInF,cAAe,UAAW7xB,KAAK6gC,iBAYvDjjB,EAAOgB,UAAUm3B,YAAc,SAAqB1uC,GAClDA,EAAMqpB,2BACNrpB,EAAM6oB,kBAgBRtS,EAAOgB,UAAUpZ,SAAW,SAAkB+3C,GAC5C,QAAav3B,IAATu3B,EACF,OAAOv9C,KAAKw9C,YAAa,EAG3Bx9C,KAAKw9C,YAAcD,EAEfv9C,KAAKw9C,UACPx9C,KAAKorB,SAAS,uBAEdprB,KAAKorB,SAAS,0BAIXxN,EA3YI,CA4YX8Y,IAEFA,GAAU4F,kBAAkB,SAAU1e,IAWtC,IAAI6/B,GAAkB,SAAUvd,GAY9B,SAASud,EAAgBxqB,EAAQ1B,GAC/B3M,EAAe5kB,KAAMy9C,GAErB,IAAIj0C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAI1E,OAFA/nB,EAAMk0C,SAAW,GACjBl0C,EAAM9I,GAAGuyB,EAAQ,WAAYzpB,EAAM4sC,QAC5B5sC,EA0ET,OA5FAub,EAAS04B,EAAiBvd,GA6B1Bud,EAAgB7+B,UAAUkL,SAAW,WACnC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,oBACXge,UAAW,wCAA0CrnC,KAAKu3B,SAAS,UAAY,wBAInFkmB,EAAgB7+B,UAAUD,QAAU,WAClC3e,KAAK09C,SAAW,KAEhBxd,EAAWthB,UAAUD,QAAQF,KAAKze,OAapCy9C,EAAgB7+B,UAAUw3B,OAAS,SAAgB/uC,GACjD,IAAIs2B,EAAW39B,KAAK42B,QAAQ+G,WACxBzgB,EAAWld,KAAK42B,QAAQ1Z,WACxBygC,EAAc39C,KAAK42B,QAAQ+mB,cAC3B9sC,EAAW7Q,KAAK09C,SAGhBE,EAAa,SAAoBjoC,EAAMzM,GAEzC,IAAI20C,EAAUloC,EAAOzM,GAAO,EAE5B,OAAsC,KAA9B20C,GAAW,EAAI,EAAIA,GAAiB,KAI9C79C,KAAKg3B,IAAIv1B,MAAMiF,MAAQk3C,EAAWD,EAAazgC,GAG/C,IAAK,IAAI/S,EAAI,EAAGA,EAAIwzB,EAASptB,OAAQpG,IAAK,CACxC,IAAIqzB,EAAQG,EAASH,MAAMrzB,GACvBjB,EAAMy0B,EAASz0B,IAAIiB,GACnB2zC,EAAOjtC,EAAS1G,GAEf2zC,IACHA,EAAO99C,KAAKg3B,IAAIlM,YAAYhB,MAC5BjZ,EAAS1G,GAAK2zC,GAIhBA,EAAKr8C,MAAMmH,KAAOg1C,EAAWpgB,EAAOmgB,GACpCG,EAAKr8C,MAAMiF,MAAQk3C,EAAW10C,EAAMs0B,EAAOmgB,GAI7C,IAAK,IAAIjrB,EAAK7hB,EAASN,OAAQmiB,EAAKiL,EAASptB,OAAQmiB,IACnD1yB,KAAKg3B,IAAI9I,YAAYrd,EAAS6hB,EAAK,IAErC7hB,EAASN,OAASotB,EAASptB,QAGtBktC,EA7Fa,CA8FpB/mB,IAEFA,GAAU4F,kBAAkB,kBAAmBmhB,IAW/C,IAAIM,GAAc,SAAU7d,GAG1B,SAAS6d,IAEP,OADAn5B,EAAe5kB,KAAM+9C,GACdz4B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YA2EhE,OA/EAqb,EAASg5B,EAAa7d,GAatB6d,EAAYn/B,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,sBAgBf00B,EAAYn/B,UAAUw3B,OAAS,SAAgB4H,EAAaC,EAActzC,GACxE,IAAIuzC,EAAcn2C,GAAsB/H,KAAKg3B,KACzCmnB,EAAap2C,GAAsB/H,KAAK42B,QAAQ5lB,MAChDotC,EAAiBJ,EAAYt3C,MAAQu3C,EAIzC,GAAKE,GAAeD,EAApB,CAQA,IAAIG,EAAmBL,EAAYp1C,KAAOu1C,EAAWv1C,KAAOw1C,EAMxDE,EAAoBN,EAAYt3C,MAAQ03C,GAAkBD,EAAWr1C,MAAQk1C,EAAYl1C,OAIzFy1C,EAAgBL,EAAYx3C,MAAQ,EAIpC23C,EAAmBE,EACrBA,GAAiBA,EAAgBF,EACxBC,EAAoBC,IAC7BA,EAAgBD,GAMdC,EAAgB,EAClBA,EAAgB,EACPA,EAAgBL,EAAYx3C,QACrC63C,EAAgBL,EAAYx3C,OAG9B1G,KAAKg3B,IAAIv1B,MAAMqH,MAAQ,IAAMy1C,EAAgB,KAC7Cl0B,GAAYrqB,KAAKg3B,IAAKrsB,KAGjBozC,EAhFS,CAiFhBrnB,IAEFA,GAAU4F,kBAAkB,cAAeyhB,IAY3C,IAAIS,GAAkB,SAAUte,GAG9B,SAASse,IAEP,OADA55B,EAAe5kB,KAAMw+C,GACdl5B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAiDhE,OArDAqb,EAASy5B,EAAiBte,GAa1Bse,EAAgB5/B,UAAUkL,SAAW,WACnC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,mCACXge,UAAW,wCAA0CrnC,KAAKu3B,SAAS,YAAc,wBAiBrFinB,EAAgB5/B,UAAUw3B,OAAS,SAAgB4H,EAAaC,GAC9D,IAAI5oB,EAASr1B,KAGTA,KAAKy+C,QACPz+C,KAAK0P,qBAAqB1P,KAAKy+C,QAGjCz+C,KAAKy+C,OAASz+C,KAAKsP,uBAAsB,WACvC,IAAIqG,EAAO0f,EAAOuB,QAAQulB,YAAc9mB,EAAOuB,QAAQwlB,WAAW5/B,YAAc6Y,EAAOuB,QAAQpa,cAE3F7R,EAAU0wC,GAAW1lC,EAAM0f,EAAOuB,QAAQ1Z,YAC1CwhC,EAAcrpB,EAAO8C,SAAS,eAE9BumB,GACFA,EAAYtI,OAAO4H,EAAaC,EAActzC,OAK7C6zC,EAtDa,CAuDpB9nB,IAUF8nB,GAAgB5/B,UAAUiY,SAAW,CACnChmB,SAAU,IAINgT,KAAcA,EAAa,IAAOd,GAAWG,GACjDs7B,GAAgB5/B,UAAUiY,SAAShmB,SAAS+B,KAAK,eAGnD8jB,GAAU4F,kBAAkB,kBAAmBkiB,IAc/C,IAAIG,GAAmB,SAAUze,GAY/B,SAASye,EAAiB1rB,EAAQ1B,GAChC3M,EAAe5kB,KAAM2+C,GAErB,IAAIn1C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAG1E,OADA/nB,EAAM4sC,OAAS1iB,GAASxkB,GAAK1F,EAAOA,EAAM4sC,QAAS,IAC5C5sC,EA+CT,OAhEAub,EAAS45B,EAAkBze,GA4B3Bye,EAAiB//B,UAAUkL,SAAW,WACpC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,uBAiBfs1B,EAAiB//B,UAAUw3B,OAAS,SAAgB4H,EAAaC,GAC/D,IAAI5oB,EAASr1B,KAGTA,KAAKy+C,QACPz+C,KAAK0P,qBAAqB1P,KAAKy+C,QAGjCz+C,KAAKy+C,OAASz+C,KAAKsP,uBAAsB,WACvC,IAAI4N,EAAWmY,EAAOuB,QAAQ1Z,WAC1BvS,EAAU0wC,GAAW4C,EAAe/gC,EAAUA,GAElDmY,EAAO2B,IAAIv1B,MAAMmH,KAAOo1C,EAAYt3C,MAAQu3C,EAAe,KAC3D5oB,EAAO8C,SAAS,eAAeie,OAAO4H,EAAaC,EAActzC,OAI9Dg0C,EAjEc,CAkErBjoB,IAUFioB,GAAiB//B,UAAUiY,SAAW,CACpChmB,SAAU,CAAC,gBAGb6lB,GAAU4F,kBAAkB,mBAAoBqiB,IAMhD,IAAIC,GAAe,EAGfC,GAA0B,GAS1BC,GAAU,SAAUC,GAYtB,SAASD,EAAQ7rB,EAAQ1B,GACvB3M,EAAe5kB,KAAM8+C,GAErB,IAAIt1C,EAAQ8b,EAA0BtlB,KAAM++C,EAAQtgC,KAAKze,KAAMizB,EAAQ1B,IAGvE,OADA/nB,EAAMw1C,oBACCx1C,EAuTT,OAxUAub,EAAS+5B,EAASC,GA2BlBD,EAAQlgC,UAAUogC,kBAAoB,WACpC,IAAI3pB,EAASr1B,KAEbA,KAAKo2C,OAAS1iB,GAASxkB,GAAKlP,KAAMA,KAAKo2C,QAASyI,IAEhD7+C,KAAKU,GAAGV,KAAK42B,QAAS,aAAc52B,KAAKo2C,QACzCp2C,KAAKU,GAAGV,KAAK42B,QAAS,QAAS52B,KAAKu6C,aAIpCv6C,KAAKi/C,eAAiB,KAEtBj/C,KAAKU,GAAGV,KAAK42B,QAAS,CAAC,YAAY,WACjCvB,EAAOtlB,cAAcslB,EAAO4pB,gBAE5B5pB,EAAO4pB,eAAiB5pB,EAAOvlB,aAAY,WACzCulB,EAAO/lB,uBAAsB,WAC3B+lB,EAAO+gB,cAERyI,OAGL7+C,KAAKU,GAAGV,KAAK42B,QAAS,CAAC,QAAS,QAAS,YAAY,WACnDvB,EAAOtlB,cAAcslB,EAAO4pB,mBAG9Bj/C,KAAKU,GAAGV,KAAK42B,QAAS,CAAC,aAAc,SAAU52B,KAAKo2C,SAWtD0I,EAAQlgC,UAAUkL,SAAW,WAC3B,OAAOi1B,EAAQngC,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CAClDqpB,UAAW,uBACV,CACD,aAAcrpB,KAAKu3B,SAAS,mBAkBhCunB,EAAQlgC,UAAUsgC,QAAU,SAAiB1iC,EAAaqhC,GACxD,IAAI3gC,EAAWld,KAAK42B,QAAQ1Z,WAG5Bld,KAAKg3B,IAAIha,aAAa,iBAA4B,IAAV6gC,GAAe5nC,QAAQ,IAG/DjW,KAAKg3B,IAAIha,aAAa,iBAAkBhd,KAAKu3B,SAAS,oDAAqD,CAAC8jB,GAAW7+B,EAAaU,GAAWm+B,GAAWn+B,EAAUA,IAAY,eAGhLld,KAAK48C,IAAIxG,OAAOruC,GAAsB/H,KAAKg3B,KAAM6mB,IAgBnDiB,EAAQlgC,UAAUw3B,OAAS,SAAgB/uC,GACzC,IAAIw2C,EAAUkB,EAAQngC,UAAUw3B,OAAO33B,KAAKze,MAG5C,OADAA,KAAKk/C,QAAQl/C,KAAKm/C,kBAAmBtB,GAC9BA,GAcTiB,EAAQlgC,UAAUugC,gBAAkB,WAClC,OAAOn/C,KAAK42B,QAAQulB,YAAcn8C,KAAK42B,QAAQwlB,WAAW5/B,YAAcxc,KAAK42B,QAAQpa,eAcvFsiC,EAAQlgC,UAAU27B,YAAc,SAAqBlzC,GACnDrH,KAAKk/C,QAAQl/C,KAAK42B,QAAQ1Z,WAAY,IAWxC4hC,EAAQlgC,UAAUs+B,WAAa,WAC7B,IAAIW,EAAU79C,KAAKm/C,kBAAoBn/C,KAAK42B,QAAQ1Z,WAEpD,OAAO2gC,GAAW,EAAI,EAAIA,GAa5BiB,EAAQlgC,UAAUm7B,gBAAkB,SAAyB1yC,GACtDknB,GAAkBlnB,KAKvBA,EAAMmB,kBACNxI,KAAK42B,QAAQulB,WAAU,GAEvBn8C,KAAKo/C,iBAAmBp/C,KAAK42B,QAAQuK,SACrCnhC,KAAK42B,QAAQla,QAEbqiC,EAAQngC,UAAUm7B,gBAAgBt7B,KAAKze,KAAMqH,KAa/Cy3C,EAAQlgC,UAAUm+B,gBAAkB,SAAyB11C,GAC3D,GAAKknB,GAAkBlnB,GAAvB,CAIA,IAAIg4C,EAAUr/C,KAAKo9C,kBAAkB/1C,GAASrH,KAAK42B,QAAQ1Z,WAGvDmiC,IAAYr/C,KAAK42B,QAAQ1Z,aAC3BmiC,GAAoB,IAItBr/C,KAAK42B,QAAQpa,YAAY6iC,KAG3BP,EAAQlgC,UAAUwJ,OAAS,WACzB22B,EAAQngC,UAAUwJ,OAAO3J,KAAKze,MAC9B,IAAIs/C,EAAmBt/C,KAAKm4B,SAAS,oBAEhCmnB,GAILA,EAAiBzlB,QAGnBilB,EAAQlgC,UAAUuJ,QAAU,WAC1B42B,EAAQngC,UAAUuJ,QAAQ1J,KAAKze,MAC/B,IAAIs/C,EAAmBt/C,KAAKm4B,SAAS,oBAEhCmnB,GAILA,EAAiBxlB,QAanBglB,EAAQlgC,UAAUo+B,cAAgB,SAAuB31C,GACvD03C,EAAQngC,UAAUo+B,cAAcv+B,KAAKze,KAAMqH,GAGvCA,GACFA,EAAMmB,kBAERxI,KAAK42B,QAAQulB,WAAU,GASvBn8C,KAAK42B,QAAQtY,QAAQ,CAAE5a,KAAM,aAAc+M,OAAQzQ,KAAM6tC,mBAAmB,IACxE7tC,KAAKo/C,iBACP3gB,GAAez+B,KAAK42B,QAAQna,SAShCqiC,EAAQlgC,UAAU0+B,YAAc,WAC9Bt9C,KAAK42B,QAAQpa,YAAYxc,KAAK42B,QAAQpa,cAAgBoiC,KAQxDE,EAAQlgC,UAAUy+B,SAAW,WAC3Br9C,KAAK42B,QAAQpa,YAAYxc,KAAK42B,QAAQpa,cAAgBoiC,KAaxDE,EAAQlgC,UAAU2gC,aAAe,SAAsBl4C,GACjDrH,KAAK42B,QAAQuK,SACfnhC,KAAK42B,QAAQna,OAEbzc,KAAK42B,QAAQla,SAejBoiC,EAAQlgC,UAAUiiB,eAAiB,SAAwBx5B,GAGrC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKu/C,aAAal4C,IACT03C,EAAQngC,UAAUiiB,gBAG3Bke,EAAQngC,UAAUiiB,eAAepiB,KAAKze,KAAMqH,IAIzCy3C,EAzUK,CA0UZlhC,IAUFkhC,GAAQlgC,UAAUiY,SAAW,CAC3BhmB,SAAU,CAAC,kBAAmB,mBAC9BgsC,QAAS,mBAILh5B,KAAcA,EAAa,IAAOd,GAAWG,GACjD47B,GAAQlgC,UAAUiY,SAAShmB,SAASE,OAAO,EAAG,EAAG,oBAQnD+tC,GAAQlgC,UAAUk+B,YAAc,aAEhCpmB,GAAU4F,kBAAkB,UAAWwiB,IAYvC,IAAIU,GAAkB,SAAUtf,GAY9B,SAASsf,EAAgBvsB,EAAQ1B,GAC/B3M,EAAe5kB,KAAMw/C,GAErB,IAAIh2C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAM1E,OAJA/nB,EAAMuzC,gBAAkBrpB,GAASxkB,GAAK1F,EAAOA,EAAMuzC,iBAAkB,IACrEvzC,EAAMi2C,yBAA2B/rB,GAASxkB,GAAK1F,EAAOA,EAAMk2C,iBAAkB,IAE9El2C,EAAM4e,SACC5e,EA4LT,OAhNAub,EAASy6B,EAAiBtf,GA+B1Bsf,EAAgB5gC,UAAUkL,SAAW,WACnC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,sCAefm2B,EAAgB5gC,UAAUm+B,gBAAkB,SAAyB11C,GACnE,IAAIs4C,EAAU3/C,KAAKm4B,SAAS,WAE5B,GAAIwnB,EAAS,CACX,IAAIL,EAAmBK,EAAQxnB,SAAS,oBACpCynB,EAAYD,EAAQ3uC,KACpBgtC,EAAcj2C,GAAsB63C,GACpC3B,EAAe3wB,GAAmBsyB,EAAWv4C,GAAO8f,EAKpD82B,EAAe,EACjBA,EAAe,EACNA,EAAe,IACxBA,EAAe,GAGbqB,GACFA,EAAiBlJ,OAAO4H,EAAaC,KA2B3CuB,EAAgB5gC,UAAU8gC,gBAAkB,SAAyBr4C,GACnE,IAAIs4C,EAAU3/C,KAAKm4B,SAAS,WAExBwnB,GACFA,EAAQ5C,gBAAgB11C,IAY5Bm4C,EAAgB5gC,UAAUylB,QAAU,WAClC,OAAOrkC,KAAK81C,UAQd0J,EAAgB5gC,UAAUuJ,QAAU,WAClCnoB,KAAK6Q,WAAWnM,SAAQ,SAAUimB,GAChC,OAAOA,EAAMxC,SAAWwC,EAAMxC,aAG3BnoB,KAAKqkC,YAIVrkC,KAAKqe,IAAI,CAAC,YAAa,cAAere,KAAK+5C,iBAC3C/5C,KAAKqe,IAAIre,KAAKg3B,IAAK,YAAah3B,KAAK+8C,iBACrC/8C,KAAKg9C,gBAELh9C,KAAKorB,SAAS,YAEdprB,KAAK81C,UAAW,IAQlB0J,EAAgB5gC,UAAUwJ,OAAS,WACjCpoB,KAAK6Q,WAAWnM,SAAQ,SAAUimB,GAChC,OAAOA,EAAMvC,QAAUuC,EAAMvC,YAG3BpoB,KAAKqkC,YAITrkC,KAAKU,GAAG,CAAC,YAAa,cAAeV,KAAK+5C,iBAC1C/5C,KAAKU,GAAGV,KAAKg3B,IAAK,YAAah3B,KAAK+8C,iBACpC/8C,KAAKurB,YAAY,YAEjBvrB,KAAK81C,UAAW,IAclB0J,EAAgB5gC,UAAUm7B,gBAAkB,SAAyB1yC,GACnE,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cACf8tB,EAAU3/C,KAAKm4B,SAAS,WAExBwnB,GACFA,EAAQ5F,gBAAgB1yC,GAG1BrH,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKy/C,0BAC/Bz/C,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKy/C,0BAC/Bz/C,KAAKU,GAAGkwB,EAAK,UAAW5wB,KAAKg9C,eAC7Bh9C,KAAKU,GAAGkwB,EAAK,WAAY5wB,KAAKg9C,gBAchCwC,EAAgB5gC,UAAUo+B,cAAgB,SAAuB31C,GAC/D,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cACf8tB,EAAU3/C,KAAKm4B,SAAS,WAExBwnB,GACFA,EAAQ3C,cAAc31C,GAGxBrH,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKy/C,0BAChCz/C,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKy/C,0BAChCz/C,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,gBAG1BwC,EAjNa,CAkNpB9oB,IAUF8oB,GAAgB5gC,UAAUiY,SAAW,CACnChmB,SAAU,CAAC,YAGb6lB,GAAU4F,kBAAkB,kBAAmBkjB,IAW/C,IAAIK,GAAmB,SAAUhG,GAY/B,SAASgG,EAAiB5sB,EAAQ1B,GAChC3M,EAAe5kB,KAAM6/C,GAErB,IAAIr2C,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAOvE,OALA/nB,EAAM9I,GAAGuyB,EAAQ,mBAAoBzpB,EAAMs2C,yBAEO,IAA9Cl0C,EAASiyB,GAAckiB,oBACzBv2C,EAAM2e,UAED3e,EAuDT,OA5EAub,EAAS86B,EAAkBhG,GAgC3BgG,EAAiBjhC,UAAU2a,cAAgB,WACzC,MAAO,0BAA4BsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAc1E6/C,EAAiBjhC,UAAUkhC,uBAAyB,SAAgCz4C,GAC9ErH,KAAK42B,QAAQopB,eACfhgD,KAAK4hC,YAAY,kBAEjB5hC,KAAK4hC,YAAY,eAiBrBie,EAAiBjhC,UAAUm3B,YAAc,SAAqB1uC,GACvDrH,KAAK42B,QAAQopB,eAGhBhgD,KAAK42B,QAAQqpB,iBAFbjgD,KAAK42B,QAAQspB,qBAMVL,EA7Ec,CA8ErBlG,IAUFkG,GAAiBjhC,UAAU+2B,aAAe,aAE1Cjf,GAAU4F,kBAAkB,mBAAoBujB,IAchD,IAAIM,GAAqB,SAA4B56B,EAAM0N,GAErDA,EAAOqW,QAAUrW,EAAOqW,MAAM8G,uBAChC7qB,EAAK6F,SAAS,cAGhB7F,EAAK7kB,GAAGuyB,EAAQ,aAAa,WACtBA,EAAOqW,MAAM8G,sBAGhB7qB,EAAKgG,YAAY,cAFjBhG,EAAK6F,SAAS,kBAgBhBg1B,GAAc,SAAUlgB,GAG1B,SAASkgB,IAEP,OADAx7B,EAAe5kB,KAAMogD,GACd96B,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAgBhE,OApBAqb,EAASq7B,EAAalgB,GAatBkgB,EAAYxhC,UAAUkL,SAAW,WAC/B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,mBACXge,UAAW,4CAIR+Y,EArBS,CAsBhB1pB,IAEFA,GAAU4F,kBAAkB,cAAe8jB,IAY3C,IAAIC,GAAY,SAAUtB,GAYxB,SAASsB,EAAUptB,EAAQ1B,GACzB3M,EAAe5kB,KAAMqgD,GAErB,IAAI72C,EAAQ8b,EAA0BtlB,KAAM++C,EAAQtgC,KAAKze,KAAMizB,EAAQ1B,IAOvE,OALA/nB,EAAM9I,GAAG,eAAgB8I,EAAM82C,mBAC/B92C,EAAM9I,GAAGuyB,EAAQ,eAAgBzpB,EAAM+2C,sBACvCttB,EAAO0D,OAAM,WACX,OAAOntB,EAAM+2C,0BAER/2C,EAyJT,OA9KAub,EAASs7B,EAAWtB,GAgCpBsB,EAAUzhC,UAAUkL,SAAW,WAC7B,OAAOi1B,EAAQngC,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CAClDqpB,UAAW,iCACV,CACD,aAAcrpB,KAAKu3B,SAAS,gBAC5B,YAAa,YAcjB8oB,EAAUzhC,UAAUm7B,gBAAkB,SAAyB1yC,GACxDknB,GAAkBlnB,IAIvB03C,EAAQngC,UAAUm7B,gBAAgBt7B,KAAKze,KAAMqH,IAa/Cg5C,EAAUzhC,UAAUm+B,gBAAkB,SAAyB11C,GACxDknB,GAAkBlnB,KAIvBrH,KAAKwgD,aACLxgD,KAAK42B,QAAQ6pB,OAAOzgD,KAAKo9C,kBAAkB/1C,MAQ7Cg5C,EAAUzhC,UAAU4hC,WAAa,WAC3BxgD,KAAK42B,QAAQ1b,SACflb,KAAK42B,QAAQ1b,OAAM,IAYvBmlC,EAAUzhC,UAAUs+B,WAAa,WAC/B,OAAIl9C,KAAK42B,QAAQ1b,QACR,EAEFlb,KAAK42B,QAAQ6pB,UAQtBJ,EAAUzhC,UAAU0+B,YAAc,WAChCt9C,KAAKwgD,aACLxgD,KAAK42B,QAAQ6pB,OAAOzgD,KAAK42B,QAAQ6pB,SAAW,KAQ9CJ,EAAUzhC,UAAUy+B,SAAW,WAC7Br9C,KAAKwgD,aACLxgD,KAAK42B,QAAQ6pB,OAAOzgD,KAAK42B,QAAQ6pB,SAAW,KAa9CJ,EAAUzhC,UAAU2hC,qBAAuB,SAA8Bl5C,GACvE,IAAIq5C,EAAY1gD,KAAK42B,QAAQ1b,QAAU,EAAIlb,KAAK2gD,sBAEhD3gD,KAAKg3B,IAAIha,aAAa,gBAAiB0jC,GACvC1gD,KAAKg3B,IAAIha,aAAa,iBAAkB0jC,EAAY,MAUtDL,EAAUzhC,UAAU+hC,oBAAsB,WACxC,OAAOx3C,KAAKC,MAA8B,IAAxBpJ,KAAK42B,QAAQ6pB,WAajCJ,EAAUzhC,UAAU0hC,kBAAoB,WACtC,IAAIjrB,EAASr1B,KAET4gD,EAAmB5gD,KAAK42B,QAAQ6pB,SAEpCzgD,KAAKgyB,IAAI,kBAAkB,WACO,IAA5BqD,EAAOuB,QAAQ6pB,UACjBprB,EAAOuB,QAAQiqB,YAAYD,OAK1BP,EA/KO,CAgLdziC,IAUFyiC,GAAUzhC,UAAUiY,SAAW,CAC7BhmB,SAAU,CAAC,eACXgsC,QAAS,eAQXwD,GAAUzhC,UAAUk+B,YAAc,eAElCpmB,GAAU4F,kBAAkB,YAAa+jB,IAYzC,IAAIS,GAAgB,SAAU5gB,GAY5B,SAAS4gB,EAAc7tB,GACrB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM8gD,GAErBvvB,EAAQ/rB,SAAW+rB,EAAQ/rB,WAAY,GAIN,qBAAtB+rB,EAAQwvB,WAA6Bz6B,EAAQiL,EAAQwvB,cAC9DxvB,EAAQwvB,UAAYxvB,EAAQwvB,WAAa,GACzCxvB,EAAQwvB,UAAUv7C,SAAW+rB,EAAQ/rB,UAIvC,IAAIgE,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAsB1E,OApBA4uB,GAAmB32C,EAAOypB,GAE1BzpB,EAAMw3C,yBAA2BttB,GAASxkB,GAAK1F,EAAOA,EAAMuzC,iBAAkB,IAE9EvzC,EAAM9I,GAAG,YAAa8I,EAAMuwC,iBAC5BvwC,EAAM9I,GAAG,aAAc8I,EAAMuwC,iBAI7BvwC,EAAM9I,GAAG8I,EAAMu3C,UAAW,CAAC,QAAS,iBAAiB,WACnDv3C,EAAMu3C,UAAU31B,SAAS,qBACzB5hB,EAAM4hB,SAAS,qBACf5hB,EAAM8U,QAAQ,mBAGhB9U,EAAM9I,GAAG8I,EAAMu3C,UAAW,CAAC,OAAQ,mBAAmB,WACpDv3C,EAAMu3C,UAAUx1B,YAAY,qBAC5B/hB,EAAM+hB,YAAY,qBAClB/hB,EAAM8U,QAAQ,qBAET9U,EA8ET,OA7HAub,EAAS+7B,EAAe5gB,GA0DxB4gB,EAAcliC,UAAUkL,SAAW,WACjC,IAAIm3B,EAAmB,wBAMvB,OAJIjhD,KAAK62B,SAASrxB,WAChBy7C,EAAmB,uBAGd/gB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,kCAAoC43B,KAenDH,EAAcliC,UAAUm7B,gBAAkB,SAAyB1yC,GACjE,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cAEnB7xB,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKghD,0BAC/BhhD,KAAKU,GAAGkwB,EAAK,YAAa5wB,KAAKghD,0BAC/BhhD,KAAKU,GAAGkwB,EAAK,UAAW5wB,KAAKg9C,eAC7Bh9C,KAAKU,GAAGkwB,EAAK,WAAY5wB,KAAKg9C,gBAchC8D,EAAcliC,UAAUo+B,cAAgB,SAAuB31C,GAC7D,IAAIupB,EAAM5wB,KAAKg3B,IAAInF,cAEnB7xB,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKghD,0BAChChhD,KAAKqe,IAAIuS,EAAK,YAAa5wB,KAAKghD,0BAChChhD,KAAKqe,IAAIuS,EAAK,UAAW5wB,KAAKg9C,eAC9Bh9C,KAAKqe,IAAIuS,EAAK,WAAY5wB,KAAKg9C,gBAcjC8D,EAAcliC,UAAUm+B,gBAAkB,SAAyB11C,GACjErH,KAAK+gD,UAAUhE,gBAAgB11C,IAG1By5C,EA9HW,CA+HlBpqB,IAUFoqB,GAAcliC,UAAUiY,SAAW,CACjChmB,SAAU,CAAC,cAGb6lB,GAAU4F,kBAAkB,gBAAiBwkB,IAc7C,IAAII,GAAmB,SAA0B37B,EAAM0N,GAEjDA,EAAOqW,QAAUrW,EAAOqW,MAAM+G,qBAChC9qB,EAAK6F,SAAS,cAGhB7F,EAAK7kB,GAAGuyB,EAAQ,aAAa,WACtBA,EAAOqW,MAAM+G,oBAGhB9qB,EAAKgG,YAAY,cAFjBhG,EAAK6F,SAAS,kBAgBhB+1B,GAAa,SAAUtH,GAYzB,SAASsH,EAAWluB,EAAQ1B,GAC1B3M,EAAe5kB,KAAMmhD,GAGrB,IAAI33C,EAAQ8b,EAA0BtlB,KAAM65C,EAAQp7B,KAAKze,KAAMizB,EAAQ1B,IAKvE,OAHA2vB,GAAiB13C,EAAOypB,GAExBzpB,EAAM9I,GAAGuyB,EAAQ,CAAC,YAAa,gBAAiBzpB,EAAM4sC,QAC/C5sC,EAqHT,OAzIAub,EAASo8B,EAAYtH,GA+BrBsH,EAAWviC,UAAU2a,cAAgB,WACnC,MAAO,oBAAsBsgB,EAAQj7B,UAAU2a,cAAc9a,KAAKze,OAgBpEmhD,EAAWviC,UAAUm3B,YAAc,SAAqB1uC,GACtD,IAAI+5C,EAAMphD,KAAK42B,QAAQ6pB,SACnBY,EAAarhD,KAAK42B,QAAQiqB,cAE9B,GAAY,IAARO,EAAW,CACb,IAAIE,EAAcD,EAAa,GAAM,GAAMA,EAE3CrhD,KAAK42B,QAAQ6pB,OAAOa,GACpBthD,KAAK42B,QAAQ1b,OAAM,QAEnBlb,KAAK42B,QAAQ1b,OAAMlb,KAAK42B,QAAQ1b,UAiBpCimC,EAAWviC,UAAUw3B,OAAS,SAAgB/uC,GAC5CrH,KAAKuhD,cACLvhD,KAAKwhD,sBAgBPL,EAAWviC,UAAU2iC,YAAc,WACjC,IAAIH,EAAMphD,KAAK42B,QAAQ6pB,SACnBh6B,EAAQ,EAKR1D,GACF/iB,KAAK42B,QAAQ1b,MAAMlb,KAAK42B,QAAQ0S,MAAMtS,IAAI9b,OAGhC,IAARkmC,GAAaphD,KAAK42B,QAAQ1b,QAC5BuL,EAAQ,EACC26B,EAAM,IACf36B,EAAQ,EACC26B,EAAM,MACf36B,EAAQ,GAIV,IAAK,IAAItc,EAAI,EAAGA,EAAI,EAAGA,IACrBohB,GAAYvrB,KAAKg3B,IAAK,WAAa7sB,GAErCihB,GAASprB,KAAKg3B,IAAK,WAAavQ,IAYlC06B,EAAWviC,UAAU4iC,mBAAqB,WACxC,IAAIC,EAAWzhD,KAAK42B,QAAQ1b,SAAqC,IAA1Blb,KAAK42B,QAAQ6pB,SAChDj2B,EAAOi3B,EAAW,SAAW,OAE7BzhD,KAAK4hC,gBAAkBpX,GACzBxqB,KAAK4hC,YAAYpX,IAId22B,EA1IQ,CA2IfxH,IAUFwH,GAAWviC,UAAU+2B,aAAe,OAEpCjf,GAAU4F,kBAAkB,aAAc6kB,IAa1C,IAAIO,GAAc,SAAUxhB,GAY1B,SAASwhB,EAAYzuB,GACnB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM0hD,GAES,qBAAnBnwB,EAAQowB,OACjBpwB,EAAQowB,OAASpwB,EAAQowB,OAEzBpwB,EAAQowB,QAAS,GAKkB,qBAA1BpwB,EAAQqwB,eAAiCt7B,EAAQiL,EAAQqwB,kBAClErwB,EAAQqwB,cAAgBrwB,EAAQqwB,eAAiB,GACjDrwB,EAAQqwB,cAAcp8C,UAAY+rB,EAAQowB,QAG5C,IAAIn4C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAS1E,OAPA/nB,EAAM9I,GAAGuyB,EAAQ,CAAC,aAAczpB,EAAMq4C,mBAItCr4C,EAAM9I,GAAG8I,EAAMo4C,cAAe,CAAC,gBAAiBp4C,EAAMs4C,eAEtDt4C,EAAM9I,GAAG8I,EAAMo4C,cAAe,CAAC,kBAAmBp4C,EAAMu4C,iBACjDv4C,EAsET,OA3GAub,EAAS28B,EAAaxhB,GAgDtBwhB,EAAY9iC,UAAUkjC,cAAgB,WACpC9hD,KAAKorB,SAAS,sBAWhBs2B,EAAY9iC,UAAUmjC,gBAAkB,WACtC/hD,KAAKurB,YAAY,sBAYnBm2B,EAAY9iC,UAAUijC,kBAAoB,WAGpC7hD,KAAK4hD,cAAc72B,SAAS,eAAiB/qB,KAAKgiD,WAAWj3B,SAAS,eACxE/qB,KAAKorB,SAAS,cAKZprB,KAAK4hD,cAAc72B,SAAS,gBAAkB/qB,KAAKgiD,WAAWj3B,SAAS,eACzE/qB,KAAKorB,SAAS,yBAYlBs2B,EAAY9iC,UAAUkL,SAAW,WAC/B,IAAIm3B,EAAmB,8BAMvB,OAJKjhD,KAAK62B,SAAS8qB,SACjBV,EAAmB,6BAGd/gB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,gCAAkC43B,KAI1CS,EA5GS,CA6GhBhrB,IAUFgrB,GAAY9iC,UAAUiY,SAAW,CAC/BhmB,SAAU,CAAC,aAAc,kBAG3B6lB,GAAU4F,kBAAkB,cAAeolB,IAY3C,IAAIO,GAAO,SAAU/hB,GAanB,SAAS+hB,EAAKhvB,EAAQ1B,GACpB3M,EAAe5kB,KAAMiiD,GAErB,IAAIz4C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAS1E,OAPIA,IACF/nB,EAAM04C,YAAc3wB,EAAQ4wB,YAG9B34C,EAAM44C,eAAiB,EAEvB54C,EAAM9I,GAAG,UAAW8I,EAAMq3B,gBACnBr3B,EAsJT,OA9KAub,EAASk9B,EAAM/hB,GAoCf+hB,EAAKrjC,UAAUyjC,QAAU,SAAiBp1C,GACxCjN,KAAKo4B,SAASnrB,GACdA,EAAUvM,GAAG,QAASwO,GAAKlP,MAAM,SAAUqH,GAErCrH,KAAKkiD,cACPliD,KAAKkiD,YAAYI,gBAIQ,4BAArBr1C,EAAU7K,QACZpC,KAAKkiD,YAAY11B,cAczBy1B,EAAKrjC,UAAUkL,SAAW,WACxB,IAAIy4B,EAAgBviD,KAAK62B,SAAS0rB,eAAiB,KAEnDviD,KAAKi4B,WAAanO,GAASy4B,EAAe,CACxCl5B,UAAW,qBAGbrpB,KAAKi4B,WAAWjb,aAAa,OAAQ,QAErC,IAAIhM,EAAKkvB,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACvDwiD,OAAQxiD,KAAKi4B,WACb5O,UAAW,aAYb,OATArY,EAAG8Z,YAAY9qB,KAAKi4B,YAIpBv3B,GAAGsQ,EAAI,SAAS,SAAU3J,GACxBA,EAAM6oB,iBACN7oB,EAAMqpB,8BAGD1f,GAGTixC,EAAKrjC,UAAUD,QAAU,WACvB3e,KAAKi4B,WAAa,KAElBiI,EAAWthB,UAAUD,QAAQF,KAAKze,OAapCiiD,EAAKrjC,UAAUiiB,eAAiB,SAAwBx5B,GAElC,KAAhBA,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAC9BxpB,EAAM6oB,iBACNlwB,KAAKs9C,eAGoB,KAAhBj2C,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,QACrCxpB,EAAM6oB,iBACNlwB,KAAKq9C,aAST4E,EAAKrjC,UAAU0+B,YAAc,WAC3B,IAAImF,EAAY,OAEWz8B,IAAvBhmB,KAAKoiD,gBACPK,EAAYziD,KAAKoiD,cAAgB,GAEnCpiD,KAAKwsB,MAAMi2B,IAQbR,EAAKrjC,UAAUy+B,SAAW,WACxB,IAAIoF,EAAY,OAEWz8B,IAAvBhmB,KAAKoiD,gBACPK,EAAYziD,KAAKoiD,cAAgB,GAEnCpiD,KAAKwsB,MAAMi2B,IAWbR,EAAKrjC,UAAU4N,MAAQ,WACrB,IAAIloB,EAAOoF,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,EAE3EmH,EAAW7Q,KAAK6Q,WAAW4D,QAC3BiuC,EAAY7xC,EAASN,QAAUM,EAAS,GAAGwY,WAAa,iBAAiBzc,KAAKiE,EAAS,GAAGwY,WAE1Fq5B,GACF7xC,EAASkP,QAGPlP,EAASN,OAAS,IAChBjM,EAAO,EACTA,EAAO,EACEA,GAAQuM,EAASN,SAC1BjM,EAAOuM,EAASN,OAAS,GAG3BvQ,KAAKoiD,cAAgB99C,EAErBuM,EAASvM,GAAM0yB,IAAIxK,UAIhBy1B,EA/KE,CAgLTvrB,IAEFA,GAAU4F,kBAAkB,OAAQ2lB,IAWpC,IAAIU,GAAa,SAAUziB,GAYzB,SAASyiB,EAAW1vB,GAClB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAM2iD,GAErB,IAAIn5C,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ1B,IAE1E/nB,EAAM04C,YAAc,IAAIvI,GAAO1mB,EAAQ1B,GAEvC/nB,EAAM04C,YAAYtgB,YAAYp4B,EAAMmsC,cACpCnsC,EAAM04C,YAAYlrB,IAAIha,aAAa,gBAAiB,QAGpD,IAAI4lC,EAAcjJ,GAAO/6B,UAAU2a,gBAiBnC,OAfA/vB,EAAM04C,YAAYlrB,IAAI3N,UAAY7f,EAAM+vB,gBAAkB,IAAMqpB,EAChEp5C,EAAM04C,YAAY32B,YAAY,eAE9B/hB,EAAM4uB,SAAS5uB,EAAM04C,aAErB14C,EAAM4sC,SAEN5sC,EAAMssC,UAAW,EAEjBtsC,EAAM9I,GAAG8I,EAAM04C,YAAa,MAAO14C,EAAMusC,aACzCvsC,EAAM9I,GAAG8I,EAAM04C,YAAa,QAAS14C,EAAMusC,aAC3CvsC,EAAM9I,GAAG8I,EAAM04C,YAAa,QAAS14C,EAAMwsC,aAC3CxsC,EAAM9I,GAAG8I,EAAM04C,YAAa,OAAQ14C,EAAMysC,YAE1CzsC,EAAM9I,GAAG,UAAW8I,EAAMq5C,uBACnBr5C,EAmXT,OA3ZAub,EAAS49B,EAAYziB,GAgDrByiB,EAAW/jC,UAAUw3B,OAAS,WAC5B,IAAI0M,EAAO9iD,KAAK+iD,aAEZ/iD,KAAK8iD,OACP9iD,KAAK8iD,KAAKnkC,UACV3e,KAAKkuB,YAAYluB,KAAK8iD,OAGxB9iD,KAAK8iD,KAAOA,EACZ9iD,KAAKo4B,SAAS0qB,GAQd9iD,KAAKgjD,gBAAiB,EACtBhjD,KAAKkiD,YAAYlrB,IAAIha,aAAa,gBAAiB,SAE/Chd,KAAKijD,OAASjjD,KAAKijD,MAAM1yC,QAAUvQ,KAAKkjD,eAC1CljD,KAAK85B,OAEL95B,KAAK65B,QAYT8oB,EAAW/jC,UAAUmkC,WAAa,WAChC,IAAID,EAAO,IAAIb,GAAKjiD,KAAK42B,QAAS,CAAEurB,WAAYniD,OAahD,GAHAA,KAAKkjD,eAAiB,EAGlBljD,KAAK62B,SAASvkB,MAAO,CACvB,IAAIA,EAAQwX,GAAS,KAAM,CACzBT,UAAW,iBACXge,UAAWlR,GAAYn2B,KAAK62B,SAASvkB,OACrCouB,UAAW,IAGb1gC,KAAKkjD,gBAAkB,EAEvBJ,EAAK7rB,UAAUnQ,QAAQxU,GACvBoY,GAAUpY,EAAOwwC,EAAK9qB,aAKxB,GAFAh4B,KAAKijD,MAAQjjD,KAAKmjD,cAEdnjD,KAAKijD,MAEP,IAAK,IAAI94C,EAAI,EAAGA,EAAInK,KAAKijD,MAAM1yC,OAAQpG,IACrC24C,EAAKT,QAAQriD,KAAKijD,MAAM94C,IAI5B,OAAO24C,GAUTH,EAAW/jC,UAAUukC,YAAc,aAUnCR,EAAW/jC,UAAUkL,SAAW,WAC9B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAWrpB,KAAKojD,wBACf,KAWLT,EAAW/jC,UAAUwkC,qBAAuB,WAC1C,IAAIC,EAAkB,mBAGO,IAAzBrjD,KAAK62B,SAAS8qB,OAChB0B,GAAmB,UAEnBA,GAAmB,SAIrB,IAAIT,EAAcjJ,GAAO/6B,UAAU2a,gBAEnC,MAAO,mBAAqB8pB,EAAkB,IAAMT,EAAc,IAAM1iB,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAWlH2iD,EAAW/jC,UAAU2a,cAAgB,WACnC,IAAI8pB,EAAkB,kBAStB,OAN6B,IAAzBrjD,KAAK62B,SAAS8qB,OAChB0B,GAAmB,UAEnBA,GAAmB,SAGd,mBAAqBA,EAAkB,IAAMnjB,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAmB9F2iD,EAAW/jC,UAAUgjB,YAAc,SAAqBpX,GACtD,IAAIxZ,EAAKtH,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK1J,KAAKkiD,YAAYlxC,KAE9F,OAAOhR,KAAKkiD,YAAYtgB,YAAYpX,EAAMxZ,IAgB5C2xC,EAAW/jC,UAAUm3B,YAAc,SAAqB1uC,GAKtDrH,KAAKgyB,IAAIhyB,KAAK8iD,KAAK9qB,YAAa,aAAc9oB,GAAKlP,MAAM,SAAUuK,GACjEvK,KAAKsiD,gBACLtiD,KAAKg3B,IAAI+D,WAEP/6B,KAAKgjD,eACPhjD,KAAKsiD,gBAELtiD,KAAKsjD,eASTX,EAAW/jC,UAAU4N,MAAQ,WAC3BxsB,KAAKkiD,YAAY11B,SAQnBm2B,EAAW/jC,UAAUmc,KAAO,WAC1B/6B,KAAKkiD,YAAYnnB,QAenB4nB,EAAW/jC,UAAUo3B,YAAc,WACjCt1C,GAAGkL,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAc1C8hB,EAAW/jC,UAAUq3B,WAAa,WAChC53B,GAAIzS,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK6gC,kBAc3C8hB,EAAW/jC,UAAUiiB,eAAiB,SAAwBx5B,GAGxC,KAAhBA,EAAMwpB,OAAgC,IAAhBxpB,EAAMwpB,OAC1B7wB,KAAKgjD,gBACPhjD,KAAKsiD,gBAGa,IAAhBj7C,EAAMwpB,QACRxpB,EAAM6oB,iBAENlwB,KAAKkiD,YAAYlrB,IAAIxK,UAGE,KAAhBnlB,EAAMwpB,OAAgC,KAAhBxpB,EAAMwpB,OAChC7wB,KAAKgjD,iBACRhjD,KAAKsjD,cACLj8C,EAAM6oB,mBAgBZyyB,EAAW/jC,UAAUikC,sBAAwB,SAA+Bx7C,GAGtD,KAAhBA,EAAMwpB,OAAgC,IAAhBxpB,EAAMwpB,QAC1B7wB,KAAKgjD,gBACPhjD,KAAKsiD,gBAGa,IAAhBj7C,EAAMwpB,QACRxpB,EAAM6oB,iBAENlwB,KAAKkiD,YAAYlrB,IAAIxK,WAU3Bm2B,EAAW/jC,UAAU0kC,YAAc,WACjC,GAAItjD,KAAK81C,SAAU,CAOjB,GANA91C,KAAKgjD,gBAAiB,EACtBhjD,KAAK8iD,KAAK/oB,cACV/5B,KAAKkiD,YAAYlrB,IAAIha,aAAa,gBAAiB,QAI/C+F,GAAUyG,KAEZ,OAGFxpB,KAAK8iD,KAAKt2B,UASdm2B,EAAW/jC,UAAU0jC,cAAgB,WAC/BtiD,KAAK81C,WACP91C,KAAKgjD,gBAAiB,EACtBhjD,KAAK8iD,KAAK9oB,gBACVh6B,KAAKkiD,YAAYlrB,IAAIha,aAAa,gBAAiB,WASvD2lC,EAAW/jC,UAAUuJ,QAAU,WAC7BnoB,KAAKsiD,gBAELtiD,KAAK81C,UAAW,EAChB91C,KAAKorB,SAAS,gBAEdprB,KAAKkiD,YAAY/5B,WAQnBw6B,EAAW/jC,UAAUwJ,OAAS,WAC5BpoB,KAAK81C,UAAW,EAChB91C,KAAKurB,YAAY,gBAEjBvrB,KAAKkiD,YAAY95B,UAGZu6B,EA5ZQ,CA6ZfjsB,IAEFA,GAAU4F,kBAAkB,aAAcqmB,IAW1C,IAAIY,GAAc,SAAUC,GAY1B,SAASD,EAAYtwB,EAAQ1B,GAC3B3M,EAAe5kB,KAAMujD,GAErB,IAAIlkB,EAAS9N,EAAQ8N,OAEjB71B,EAAQ8b,EAA0BtlB,KAAMwjD,EAAY/kC,KAAKze,KAAMizB,EAAQ1B,IAM3E,GAJI/nB,EAAMy5C,MAAM1yC,QAAU,GACxB/G,EAAMswB,QAGHuF,EACH,OAAO/Z,EAA0B9b,GAGnC,IAAIi6C,EAAgBv0C,GAAK1F,EAAOA,EAAM4sC,QAUtC,OARA/W,EAAO9hB,iBAAiB,cAAekmC,GACvCpkB,EAAO9hB,iBAAiB,WAAYkmC,GACpCj6C,EAAMotB,QAAQl2B,GAAG,QAAS+iD,GAE1Bj6C,EAAMotB,QAAQl2B,GAAG,WAAW,WAC1B2+B,EAAO7P,oBAAoB,cAAei0B,GAC1CpkB,EAAO7P,oBAAoB,WAAYi0B,MAElCj6C,EAGT,OAvCAub,EAASw+B,EAAaC,GAuCfD,EAxCS,CAyChBZ,IAEFjsB,GAAU4F,kBAAkB,cAAeinB,IAW3C,IAAIG,GAAW,SAAUvN,GAavB,SAASuN,EAASzwB,EAAQ1B,GACxB3M,EAAe5kB,KAAM0jD,GAErB,IAAIl6C,EAAQ8b,EAA0BtlB,KAAMm2C,EAAoB13B,KAAKze,KAAMizB,EAAQ1B,IAiBnF,OAfA/nB,EAAMm6C,WAAapyB,EAAQoyB,WAC3Bn6C,EAAMo6C,YAAcryB,EAAQoT,WAAY,EACxCn7B,EAAMq6C,gBAAkBtyB,EAAQsyB,gBAEhCr6C,EAAMm7B,SAASn7B,EAAMo6C,aAEjBp6C,EAAMm6C,WACJn6C,EAAMq6C,gBACRr6C,EAAMwtB,IAAIha,aAAa,OAAQ,oBAE/BxT,EAAMwtB,IAAIha,aAAa,OAAQ,iBAGjCxT,EAAMwtB,IAAIha,aAAa,OAAQ,YAE1BxT,EA2ET,OA3GAub,EAAS2+B,EAAUvN,GAoDnBuN,EAAS9kC,UAAUkL,SAAW,SAAkBpmB,EAAM2B,EAAO5E,GAI3D,OAFAT,KAAK61C,gBAAiB,EAEfM,EAAoBv3B,UAAUkL,SAASrL,KAAKze,KAAM,KAAMub,EAAO,CACpE8N,UAAW,gBACXge,UAAW,oCAAsCrnC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAAS,UACtFD,UAAW,GACVr7B,GAAQ5E,IAgBbijD,EAAS9kC,UAAUm3B,YAAc,SAAqB1uC,GACpDrH,KAAK2kC,UAAS,IAWhB+e,EAAS9kC,UAAU+lB,SAAW,SAAkBmf,GAC1C9jD,KAAK2jD,aACHG,GACF9jD,KAAKorB,SAAS,gBACdprB,KAAKg3B,IAAIha,aAAa,eAAgB,QAGtChd,KAAK4hC,YAAY,cACjB5hC,KAAK4jD,aAAc,IAEnB5jD,KAAKurB,YAAY,gBACjBvrB,KAAKg3B,IAAIha,aAAa,eAAgB,SAEtChd,KAAK4hC,YAAY,IACjB5hC,KAAK4jD,aAAc,KAKlBF,EA5GM,CA6GbnO,IAEF7e,GAAU4F,kBAAkB,WAAYonB,IAWxC,IAAIK,GAAoB,SAAUC,GAYhC,SAASD,EAAkB9wB,EAAQ1B,GACjC3M,EAAe5kB,KAAM+jD,GAErB,IAAIplB,EAAQpN,EAAQoN,MAChBU,EAASpM,EAAOwM,aAGpBlO,EAAQoP,MAAQhC,EAAMgC,OAAShC,EAAMjH,UAAY,UACjDnG,EAAQoT,SAA0B,YAAfhG,EAAMiL,KAEzB,IAAIpgC,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAEzE/nB,EAAMm1B,MAAQA,EACd,IAAIslB,EAAgB,WAClB,IAAK,IAAI/9B,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB5c,EAAM06C,mBAAmBxlC,MAAMlV,EAAOgV,IAEpC2lC,EAAgC,WAClC,IAAK,IAAI97B,EAAQ3e,UAAU6G,OAAQiO,EAAOra,MAAMkkB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChF9J,EAAK8J,GAAS5e,UAAU4e,GAG1B9e,EAAM46C,6BAA6B1lC,MAAMlV,EAAOgV,IAkBlD,GAfAyU,EAAOvyB,GAAG,CAAC,YAAa,mBAAoBujD,GAC5C5kB,EAAO9hB,iBAAiB,SAAU0mC,GAClC5kB,EAAO9hB,iBAAiB,yBAA0B4mC,GAClD36C,EAAM9I,GAAG,WAAW,WAClBuyB,EAAO5U,IAAI,CAAC,YAAa,mBAAoB4lC,GAC7C5kB,EAAO7P,oBAAoB,SAAUy0B,GACrC5kB,EAAO7P,oBAAoB,yBAA0B20B,WAS/Bn+B,IAApBqZ,EAAOglB,SAAwB,CACjC,IAAIh9C,OAAQ,EAEZmC,EAAM9I,GAAG,CAAC,MAAO,UAAU,WACzB,GAA8B,WAA1B8jB,EAAQhZ,EAAO84C,OAEjB,IACEj9C,EAAQ,IAAImE,EAAO84C,MAAM,UACzB,MAAO5tC,IAKNrP,IACHA,EAAQuE,EAAS24C,YAAY,SAC7Bl9C,EAAMm9C,UAAU,UAAU,GAAM,IAGlCnlB,EAAOhL,cAAchtB,MAMzB,OADAmC,EAAM06C,qBACC16C,EAwFT,OAtKAub,EAASg/B,EAAmBC,GA8F5BD,EAAkBnlC,UAAUm3B,YAAc,SAAqB1uC,GAC7D,IAAI09B,EAAO/kC,KAAK2+B,MAAMoG,KAClB0f,EAAQzkD,KAAK2+B,MAAM8lB,MACnBplB,EAASr/B,KAAK42B,QAAQ6I,aAQ1B,GANKglB,IACHA,EAAQ,CAAC1f,IAGXif,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,KAAMqH,GAEtCg4B,EAIL,IAAK,IAAIl1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEfw0B,IAAU3+B,KAAK2+B,OAAS8lB,EAAM9gD,QAAQg7B,EAAMoG,OAAS,EACpC,YAAfpG,EAAMiL,OACRjL,EAAMiL,KAAO,WAES,aAAfjL,EAAMiL,OACfjL,EAAMiL,KAAO,cAenBma,EAAkBnlC,UAAUslC,mBAAqB,SAA4B78C,GAC3E,IAAIq9C,EAAuC,YAApB1kD,KAAK2+B,MAAMiL,KAI9B8a,IAAqB1kD,KAAK4jD,aAC5B5jD,KAAK2kC,SAAS+f,IAIlBX,EAAkBnlC,UAAUwlC,6BAA+B,SAAsC/8C,GAC/F,GAAwB,YAApBrH,KAAK2+B,MAAMiL,KAAoB,CACjC,IAAIkO,EAAmB93C,KAAK42B,QAAQ8d,OAAOoD,iBAG3C,GAAIA,GAAoBA,EAAiBzT,SAAWyT,EAAiBpgB,WAAa13B,KAAK2+B,MAAMjH,UAAYogB,EAAiB/S,OAAS/kC,KAAK2+B,MAAMoG,KAC5I,OAGF/kC,KAAK42B,QAAQ8d,OAAOoD,iBAAmB,CACrCzT,SAAS,EACT3M,SAAU13B,KAAK2+B,MAAMjH,SACrBqN,KAAM/kC,KAAK2+B,MAAMoG,QAKvBgf,EAAkBnlC,UAAUD,QAAU,WAEpC3e,KAAK2+B,MAAQ,KAEbqlB,EAAUplC,UAAUD,QAAQF,KAAKze,OAG5B+jD,EAvKe,CAwKtBL,IAEFhtB,GAAU4F,kBAAkB,oBAAqBynB,IAWjD,IAAIY,GAAuB,SAAUC,GAYnC,SAASD,EAAqB1xB,EAAQ1B,GA4BpC,OA3BA3M,EAAe5kB,KAAM2kD,GAIrBpzB,EAAQoN,MAAQ,CACd1L,OAAQA,EACR8R,KAAMxT,EAAQwT,KACd0f,MAAOlzB,EAAQkzB,MACf,SAAW,EACX7a,KAAM,YAGHrY,EAAQkzB,QACXlzB,EAAQkzB,MAAQ,CAAClzB,EAAQwT,OAGvBxT,EAAQoP,MACVpP,EAAQoN,MAAMgC,MAAQpP,EAAQoP,MAE9BpP,EAAQoN,MAAMgC,MAAQpP,EAAQkzB,MAAMr9B,KAAK,SAAW,OAItDmK,EAAQoyB,YAAa,EAErBpyB,EAAQsyB,iBAAkB,EAEnBv+B,EAA0BtlB,KAAM4kD,EAAmBnmC,KAAKze,KAAMizB,EAAQ1B,IAmD/E,OA1FAxM,EAAS4/B,EAAsBC,GAkD/BD,EAAqB/lC,UAAUslC,mBAAqB,SAA4B78C,GAI9E,IAHA,IAAIg4B,EAASr/B,KAAKizB,SAASwM,aACvBilB,GAAmB,EAEdv6C,EAAI,EAAG45B,EAAI1E,EAAO9uB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC7C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAInK,KAAK62B,SAAS4tB,MAAM9gD,QAAQg7B,EAAMoG,OAAS,GAAoB,YAAfpG,EAAMiL,KAAoB,CAC5E8a,GAAmB,EACnB,OAMAA,IAAqB1kD,KAAK4jD,aAC5B5jD,KAAK2kC,SAAS+f,IAIlBC,EAAqB/lC,UAAUwlC,6BAA+B,SAAsC/8C,GAIlG,IAHA,IAAIg4B,EAASr/B,KAAKizB,SAASwM,aACvBolB,GAAY,EAEP16C,EAAI,EAAG45B,EAAI1E,EAAO9uB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC7C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAI,CAAC,WAAY,eAAgB,aAAaxG,QAAQg7B,EAAMoG,OAAS,GAAoB,YAAfpG,EAAMiL,KAAoB,CAClGib,GAAY,EACZ,OAIAA,IACF7kD,KAAK42B,QAAQ8d,OAAOoD,iBAAmB,CACrCzT,SAAS,KAKRsgB,EA3FkB,CA4FzBZ,IAEFrtB,GAAU4F,kBAAkB,uBAAwBqoB,IAWpD,IAAIG,GAAkB,SAAUC,GAY9B,SAASD,EAAgB7xB,GACvB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAKlF,OAJAkb,EAAe5kB,KAAM8kD,GAErBvzB,EAAQ8N,OAASpM,EAAOwM,aAEjBna,EAA0BtlB,KAAM+kD,EAAatmC,KAAKze,KAAMizB,EAAQ1B,IA+DzE,OAhFAxM,EAAS+/B,EAAiBC,GA+B1BD,EAAgBlmC,UAAUukC,YAAc,WACtC,IAAIF,EAAQv5C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5Es7C,EAAgBt7C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAKq6C,GAKpFpjB,OAAQ,EAER3gC,KAAKilD,SACPtkB,EAAQ3gC,KAAKilD,OAAS,QAGxBhC,EAAMrwC,KAAK,IAAI+xC,GAAqB3kD,KAAK42B,QAAS,CAChD6tB,MAAOzkD,KAAKklD,OACZngB,KAAM/kC,KAAKmlD,MACXxkB,MAAOA,KAGT3gC,KAAKkjD,gBAAkB,EAEvB,IAAI7jB,EAASr/B,KAAK42B,QAAQ6I,aAErBt7B,MAAMC,QAAQpE,KAAKklD,UACtBllD,KAAKklD,OAAS,CAACllD,KAAKmlD,QAGtB,IAAK,IAAIh7C,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAGnB,GAAInK,KAAKklD,OAAOvhD,QAAQg7B,EAAMoG,OAAS,EAAG,CAExC,IAAIzgC,EAAO,IAAI0gD,EAAchlD,KAAK42B,QAAS,CACzC+H,MAAOA,EAEPglB,YAAY,EAEZE,iBAAiB,IAGnBv/C,EAAK8mB,SAAS,OAASuT,EAAMoG,KAAO,cACpCke,EAAMrwC,KAAKtO,IAIf,OAAO2+C,GAGF6B,EAjFa,CAkFpBvB,IAEF7sB,GAAU4F,kBAAkB,kBAAmBwoB,IAW/C,IAAIM,GAAwB,SAAUpB,GAYpC,SAASoB,EAAsBnyB,EAAQ1B,GACrC3M,EAAe5kB,KAAMolD,GAErB,IAAIzmB,EAAQpN,EAAQoN,MAChBG,EAAMvN,EAAQuN,IACdtiB,EAAcyW,EAAOzW,cAGzB+U,EAAQoyB,YAAa,EACrBpyB,EAAQsyB,iBAAkB,EAC1BtyB,EAAQoP,MAAQ7B,EAAItU,KACpB+G,EAAQoT,SAAW7F,EAAIC,WAAaviB,GAAeA,EAAcsiB,EAAIE,QAErE,IAAIx1B,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAKzE,OAHA/nB,EAAMm1B,MAAQA,EACdn1B,EAAMs1B,IAAMA,EACZH,EAAMphB,iBAAiB,YAAarO,GAAK1F,EAAOA,EAAM4sC,SAC/C5sC,EAwCT,OArEAub,EAASqgC,EAAuBpB,GA6ChCoB,EAAsBxmC,UAAUm3B,YAAc,SAAqB1uC,GACjE28C,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,MACrCA,KAAK42B,QAAQpa,YAAYxc,KAAK8+B,IAAIC,WAClC/+B,KAAKo2C,OAAOp2C,KAAK8+B,IAAIC,YAavBqmB,EAAsBxmC,UAAUw3B,OAAS,SAAgB/uC,GACvD,IAAIy3B,EAAM9+B,KAAK8+B,IACXtiB,EAAcxc,KAAK42B,QAAQpa,cAG/Bxc,KAAK2kC,SAAS7F,EAAIC,WAAaviB,GAAeA,EAAcsiB,EAAIE,UAG3DomB,EAtEmB,CAuE1B1B,IAEFhtB,GAAU4F,kBAAkB,wBAAyB8oB,IAarD,IAAIC,GAAiB,SAAUC,GAe7B,SAASD,EAAepyB,EAAQ1B,EAASoF,GAEvC,OADA/R,EAAe5kB,KAAMqlD,GACd//B,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAkKtF,OAlLA5R,EAASsgC,EAAgBC,GA2BzBD,EAAezmC,UAAU2a,cAAgB,WACvC,MAAO,uBAAyB+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGhFqlD,EAAezmC,UAAUwkC,qBAAuB,WAC9C,MAAO,uBAAyBkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAevFqlD,EAAezmC,UAAUw3B,OAAS,SAAgB/uC,GAC3CrH,KAAKulD,UAAUl+C,GAAyB,aAAfA,EAAM3D,MAAsC,gBAAf2D,EAAM3D,OAC/D1D,KAAKwlD,SAASxlD,KAAKylD,qBAErBH,EAAiB1mC,UAAUw3B,OAAO33B,KAAKze,OAYzCqlD,EAAezmC,UAAU4mC,SAAW,SAAkB7mB,GACpD,GAAI3+B,KAAKulD,SAAW5mB,EAApB,CASA,GALK3+B,KAAK0lD,iBACR1lD,KAAK0lD,eAAiB1lD,KAAKo2C,OAAOlnC,KAAKlP,OAIrCA,KAAKulD,OAAQ,CACf,IAAII,EAAoB3lD,KAAK42B,QAAQ2Y,qBAAqBlK,wBAAwBrlC,KAAKulD,QAEnFI,GACFA,EAAkBn2B,oBAAoB,OAAQxvB,KAAK0lD,gBAGrD1lD,KAAKulD,OAAS,KAMhB,GAHAvlD,KAAKulD,OAAS5mB,EAGV3+B,KAAKulD,OAAQ,CACfvlD,KAAKulD,OAAO3b,KAAO,SAEnB,IAAIgc,EAAqB5lD,KAAK42B,QAAQ2Y,qBAAqBlK,wBAAwBrlC,KAAKulD,QAEpFK,GACFA,EAAmBroC,iBAAiB,OAAQvd,KAAK0lD,mBAavDL,EAAezmC,UAAU6mC,kBAAoB,WAG3C,IAFA,IAAIpmB,EAASr/B,KAAK42B,QAAQ6I,cAAgB,GAEjCt1B,EAAIk1B,EAAO9uB,OAAS,EAAGpG,GAAK,EAAGA,IAAK,CAE3C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAIw0B,EAAMoG,OAAS/kC,KAAKmlD,MACtB,OAAOxmB,IAcb0mB,EAAezmC,UAAUinC,eAAiB,WACxC,OAAI7lD,KAAKulD,QAAUvlD,KAAKulD,OAAO5kB,MACtB3gC,KAAKulD,OAAO5kB,MAEd3gC,KAAKu3B,SAASpB,GAAYn2B,KAAKmlD,SAWxCE,EAAezmC,UAAUmkC,WAAa,WAEpC,OADA/iD,KAAK62B,SAASvkB,MAAQtS,KAAK6lD,iBACpBP,EAAiB1mC,UAAUmkC,WAAWtkC,KAAKze,OAWpDqlD,EAAezmC,UAAUukC,YAAc,WACrC,IAAIF,EAAQ,GAEZ,IAAKjjD,KAAKulD,OACR,OAAOtC,EAGT,IAAIpkB,EAAO7+B,KAAKulD,OAAO1mB,KAEvB,IAAKA,EACH,OAAOokB,EAGT,IAAK,IAAI94C,EAAI,EAAG45B,EAAIlF,EAAKtuB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC3C,IAAI20B,EAAMD,EAAK10B,GACX27C,EAAK,IAAIV,GAAsBplD,KAAK42B,QAAS,CAAE+H,MAAO3+B,KAAKulD,OAAQzmB,IAAKA,IAE5EmkB,EAAMrwC,KAAKkzC,GAGb,OAAO7C,GAGFoC,EAnLY,CAoLnBP,IAUFO,GAAezmC,UAAUumC,MAAQ,WAQjCE,GAAezmC,UAAU+2B,aAAe,WAExCjf,GAAU4F,kBAAkB,iBAAkB+oB,IAW9C,IAAIU,GAAqB,SAAUT,GAejC,SAASS,EAAmB9yB,EAAQ1B,EAASoF,GAC3C/R,EAAe5kB,KAAM+lD,GAErB,IAAIv8C,EAAQ8b,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAErF0I,EAASpM,EAAOwM,aAChBwkB,EAAgB/0C,GAAK1F,EAAOA,EAAM06C,oBAMtC,OAJA7kB,EAAO9hB,iBAAiB,SAAU0mC,GAClCz6C,EAAM9I,GAAG,WAAW,WAClB2+B,EAAO7P,oBAAoB,SAAUy0B,MAEhCz6C,EAmDT,OA7EAub,EAASghC,EAAoBT,GAuC7BS,EAAmBnnC,UAAUslC,mBAAqB,SAA4B78C,GAK5E,IAJA,IAAIg4B,EAASr/B,KAAKizB,SAASwM,aACvBn6B,GAAW,EAGN6E,EAAI,EAAG45B,EAAI1E,EAAO9uB,OAAQpG,EAAI45B,EAAG55B,IAAK,CAC7C,IAAIw0B,EAAQU,EAAOl1B,GAEnB,GAAIw0B,EAAMoG,OAAS/kC,KAAKmlD,OAAwB,YAAfxmB,EAAMiL,KAAoB,CACzDtkC,GAAW,EACX,OAKAA,EACFtF,KAAKmoB,UAELnoB,KAAKooB,UAYT29B,EAAmBnnC,UAAU2a,cAAgB,WAC3C,MAAO,2BAA6B+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGpF+lD,EAAmBnnC,UAAUwkC,qBAAuB,WAClD,MAAO,2BAA6BkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAGpF+lD,EA9EgB,CA+EvBjB,IAUFiB,GAAmBnnC,UAAUumC,MAAQ,eAQrCY,GAAmBnnC,UAAU+2B,aAAe,eAE5Cjf,GAAU4F,kBAAkB,qBAAsBypB,IAWlD,IAAIC,GAAkB,SAAUV,GAe9B,SAASU,EAAgB/yB,EAAQ1B,EAASoF,GAExC,OADA/R,EAAe5kB,KAAMgmD,GACd1gC,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAmBtF,OAnCA5R,EAASihC,EAAiBV,GA2B1BU,EAAgBpnC,UAAU2a,cAAgB,WACxC,MAAO,wBAA0B+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGjFgmD,EAAgBpnC,UAAUwkC,qBAAuB,WAC/C,MAAO,wBAA0BkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAGjFgmD,EApCa,CAqCpBlB,IAUFkB,GAAgBpnC,UAAUumC,MAAQ,YAQlCa,GAAgBpnC,UAAU+2B,aAAe,YAEzCjf,GAAU4F,kBAAkB,kBAAmB0pB,IAW/C,IAAIC,GAA0B,SAAUrB,GAYtC,SAASqB,EAAwBhzB,EAAQ1B,GACvC3M,EAAe5kB,KAAMimD,GAErB10B,EAAQoN,MAAQ,CACd1L,OAAQA,EACR8R,KAAMxT,EAAQwT,KACdpE,MAAOpP,EAAQwT,KAAO,YACtB4e,YAAY,EACZ,SAAW,EACX/Z,KAAM,YAIRrY,EAAQoyB,YAAa,EAErBpyB,EAAQnvB,KAAO,0BAEf,IAAIoH,EAAQ8b,EAA0BtlB,KAAM4kD,EAAmBnmC,KAAKze,KAAMizB,EAAQ1B,IAIlF,OAFA/nB,EAAM4hB,SAAS,0BACf5hB,EAAMo4B,YAAY,WAAarQ,EAAQwT,KAAO,oBACvCv7B,EAoBT,OApDAub,EAASkhC,EAAyBrB,GAgDlCqB,EAAwBrnC,UAAUm3B,YAAc,SAAqB1uC,GACnErH,KAAKizB,SAASkF,SAAS,qBAAqB4I,QAGvCklB,EArDqB,CAsD5BlC,IAEFrtB,GAAU4F,kBAAkB,0BAA2B2pB,IAWvD,IAAIC,GAAiB,SAAUZ,GAe7B,SAASY,EAAejzB,EAAQ1B,EAASoF,GAEvC,OADA/R,EAAe5kB,KAAMkmD,GACd5gC,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,EAASoF,IAuCtF,OAvDA5R,EAASmhC,EAAgBZ,GA2BzBY,EAAetnC,UAAU2a,cAAgB,WACvC,MAAO,uBAAyB+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGhFkmD,EAAetnC,UAAUwkC,qBAAuB,WAC9C,MAAO,uBAAyBkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAWvFkmD,EAAetnC,UAAUukC,YAAc,WACrC,IAAIF,EAAQ,GAQZ,OANMjjD,KAAKizB,SAASqW,OAAStpC,KAAKizB,SAASqW,MAAMmD,2BAA6BzsC,KAAKizB,SAASkF,SAAS,uBACnG8qB,EAAMrwC,KAAK,IAAIqzC,GAAwBjmD,KAAK42B,QAAS,CAAEmO,KAAM/kC,KAAKmlD,SAElEnlD,KAAKkjD,gBAAkB,GAGlBoC,EAAiB1mC,UAAUukC,YAAY1kC,KAAKze,KAAMijD,IAGpDiD,EAxDY,CAyDnBpB,IAUFoB,GAAetnC,UAAUumC,MAAQ,WAQjCe,GAAetnC,UAAU+2B,aAAe,WAExCjf,GAAU4F,kBAAkB,iBAAkB4pB,IAY9C,IAAIC,GAAmB,SAAUvB,GAG/B,SAASuB,IAEP,OADAvhC,EAAe5kB,KAAMmmD,GACd7gC,EAA0BtlB,KAAM4kD,EAAmBlmC,MAAM1e,KAAM0J,YAmBxE,OAvBAqb,EAASohC,EAAkBvB,GAO3BuB,EAAiBvnC,UAAUkL,SAAW,SAAkBpmB,EAAM2B,EAAO5E,GACnE,IAAI4mC,EAAY,oCAAsCrnC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAEjD,aAA7B3gC,KAAK62B,SAAS8H,MAAMoG,OACtBsC,GAAa,oHAAsHrnC,KAAKu3B,SAAS,YAAc,mBAGjK8P,GAAa,UAEb,IAAIr2B,EAAK4zC,EAAmBhmC,UAAUkL,SAASrL,KAAKze,KAAM0D,EAAM6X,EAAO,CACrE8rB,UAAWA,GACVhiC,GAAQ5E,GAEX,OAAOuQ,GAGFm1C,EAxBc,CAyBrBpC,IAEFrtB,GAAU4F,kBAAkB,mBAAoB6pB,IAWhD,IAAIC,GAAiB,SAAUd,GAG7B,SAASc,EAAenzB,GACtB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAClFkb,EAAe5kB,KAAMomD,GAIrB,IAAI58C,EAAQ8b,EAA0BtlB,KAAMslD,EAAiB7mC,KAAKze,KAAMizB,EAAQ1B,IAOhF,OALA/nB,EAAMy7C,OAAS,YACX,CAAC,KAAM,QAAS,QAAS,SAASthD,QAAQ6F,EAAMotB,QAAQyvB,YAAc,IACxE78C,EAAMy7C,OAAS,YAEjBz7C,EAAM04C,YAAYtgB,YAAYzL,GAAY3sB,EAAMy7C,SACzCz7C,EAwCT,OAvDAub,EAASqhC,EAAgBd,GA0BzBc,EAAexnC,UAAU2a,cAAgB,WACvC,MAAO,wBAA0B+rB,EAAiB1mC,UAAU2a,cAAc9a,KAAKze,OAGjFomD,EAAexnC,UAAUwkC,qBAAuB,WAC9C,MAAO,wBAA0BkC,EAAiB1mC,UAAUwkC,qBAAqB3kC,KAAKze,OAWxFomD,EAAexnC,UAAUukC,YAAc,WACrC,IAAIF,EAAQ,GASZ,OAPMjjD,KAAKizB,SAASqW,OAAStpC,KAAKizB,SAASqW,MAAMmD,2BAA6BzsC,KAAKizB,SAASkF,SAAS,uBACnG8qB,EAAMrwC,KAAK,IAAIqzC,GAAwBjmD,KAAK42B,QAAS,CAAEmO,KAAM/kC,KAAKilD,UAElEjlD,KAAKkjD,gBAAkB,GAGzBD,EAAQqC,EAAiB1mC,UAAUukC,YAAY1kC,KAAKze,KAAMijD,EAAOkD,IAC1DlD,GAGFmD,EAxDY,CAyDnBtB,IAUFsB,GAAexnC,UAAUsmC,OAAS,CAAC,WAAY,aAS/CkB,GAAexnC,UAAU+2B,aAAe,YAExCjf,GAAU4F,kBAAkB,iBAAkB8pB,IAW9C,IAAIE,GAAqB,SAAUtC,GAYjC,SAASsC,EAAmBrzB,EAAQ1B,GAClC3M,EAAe5kB,KAAMsmD,GAErB,IAAI3nB,EAAQpN,EAAQoN,MAChBU,EAASpM,EAAOszB,cAGpBh1B,EAAQoP,MAAQhC,EAAMgC,OAAShC,EAAMjH,UAAY,UACjDnG,EAAQoT,SAAWhG,EAAM0F,QAEzB,IAAI76B,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAEzE/nB,EAAMm1B,MAAQA,EAEdn1B,EAAM4hB,SAAS,OAASuT,EAAMoG,KAAO,cAErC,IAAIkf,EAAgB,WAClB,IAAK,IAAI/9B,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB5c,EAAM06C,mBAAmBxlC,MAAMlV,EAAOgV,IAOxC,OAJA6gB,EAAO9hB,iBAAiB,SAAU0mC,GAClCz6C,EAAM9I,GAAG,WAAW,WAClB2+B,EAAO7P,oBAAoB,SAAUy0B,MAEhCz6C,EA0DT,OAjGAub,EAASuhC,EAAoBtC,GA0C7BsC,EAAmB1nC,UAAUkL,SAAW,SAAkBpmB,EAAM2B,EAAO5E,GACrE,IAAI4mC,EAAY,oCAAsCrnC,KAAKu3B,SAASv3B,KAAK62B,SAAS8J,OAEjD,cAA7B3gC,KAAK62B,SAAS8H,MAAMoG,OACtBsC,GAAa,oHAAsHrnC,KAAKu3B,SAAS,gBAAkB,mBAGrK8P,GAAa,UAEb,IAAIr2B,EAAKgzC,EAAUplC,UAAUkL,SAASrL,KAAKze,KAAM0D,EAAM6X,EAAO,CAC5D8rB,UAAWA,GACVhiC,GAAQ5E,GAEX,OAAOuQ,GAgBTs1C,EAAmB1nC,UAAUm3B,YAAc,SAAqB1uC,GAC9D,IAAIg4B,EAASr/B,KAAK42B,QAAQ2vB,cAE1BvC,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,KAAMqH,GAE3C,IAAK,IAAI8C,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnBw0B,EAAM0F,QAAU1F,IAAU3+B,KAAK2+B,QAcnC2nB,EAAmB1nC,UAAUslC,mBAAqB,SAA4B78C,GAC5ErH,KAAK2kC,SAAS3kC,KAAK2+B,MAAM0F,UAGpBiiB,EAlGgB,CAmGvB5C,IAEFhtB,GAAU4F,kBAAkB,qBAAsBgqB,IAWlD,IAAIE,GAAmB,SAAUzB,GAY/B,SAASyB,EAAiBvzB,GACxB,IAAI1B,EAAU7nB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAKlF,OAJAkb,EAAe5kB,KAAMwmD,GAErBj1B,EAAQ8N,OAASpM,EAAOszB,cAEjBjhC,EAA0BtlB,KAAM+kD,EAAatmC,KAAKze,KAAMizB,EAAQ1B,IAqDzE,OAtEAxM,EAASyhC,EAAkBzB,GA4B3ByB,EAAiB5nC,UAAU2a,cAAgB,WACzC,MAAO,oBAAsBwrB,EAAanmC,UAAU2a,cAAc9a,KAAKze,OAGzEwmD,EAAiB5nC,UAAUwkC,qBAAuB,WAChD,MAAO,oBAAsB2B,EAAanmC,UAAUwkC,qBAAqB3kC,KAAKze,OAchFwmD,EAAiB5nC,UAAUukC,YAAc,WACvC,IAAIF,EAAQv5C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAGhF1J,KAAKkjD,eAAiB,EAItB,IAFA,IAAI7jB,EAASr/B,KAAK42B,QAAQ2vB,cAEjBp8C,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAEnB84C,EAAMrwC,KAAK,IAAI0zC,GAAmBtmD,KAAK42B,QAAS,CAC9C+H,MAAOA,EAEPglB,YAAY,EAEZE,iBAAiB,KAIrB,OAAOZ,GAGFuD,EAvEc,CAwErBjD,IAUFiD,GAAiB5nC,UAAU+2B,aAAe,cAC1Cjf,GAAU4F,kBAAkB,mBAAoBkqB,IAWhD,IAAIC,GAAuB,SAAUzC,GAYnC,SAASyC,EAAqBxzB,EAAQ1B,GACpC3M,EAAe5kB,KAAMymD,GAErB,IAAI9lB,EAAQpP,EAAQm1B,KAChBA,EAAOhkC,WAAWie,EAAO,IAG7BpP,EAAQoP,MAAQA,EAChBpP,EAAQoT,SAAoB,IAAT+hB,EACnBn1B,EAAQoyB,YAAa,EACrBpyB,EAAQsyB,iBAAkB,EAE1B,IAAIr6C,EAAQ8b,EAA0BtlB,KAAMgkD,EAAUvlC,KAAKze,KAAMizB,EAAQ1B,IAMzE,OAJA/nB,EAAMm3B,MAAQA,EACdn3B,EAAMk9C,KAAOA,EAEbl9C,EAAM9I,GAAGuyB,EAAQ,aAAczpB,EAAM4sC,QAC9B5sC,EAmCT,OAhEAub,EAAS0hC,EAAsBzC,GA6C/ByC,EAAqB7nC,UAAUm3B,YAAc,SAAqB1uC,GAChE28C,EAAUplC,UAAUm3B,YAAYt3B,KAAKze,MACrCA,KAAKizB,SAAS0zB,aAAa3mD,KAAK0mD,OAalCD,EAAqB7nC,UAAUw3B,OAAS,SAAgB/uC,GACtDrH,KAAK2kC,SAAS3kC,KAAKizB,SAAS0zB,iBAAmB3mD,KAAK0mD,OAG/CD,EAjEkB,CAkEzB/C,IAUF+C,GAAqB7nC,UAAU2jC,cAAgB,SAE/C7rB,GAAU4F,kBAAkB,uBAAwBmqB,IAWpD,IAAIG,GAAyB,SAAUpD,GAYrC,SAASoD,EAAuB3zB,EAAQ1B,GACtC3M,EAAe5kB,KAAM4mD,GAErB,IAAIp9C,EAAQ8b,EAA0BtlB,KAAMwjD,EAAY/kC,KAAKze,KAAMizB,EAAQ1B,IAO3E,OALA/nB,EAAMq9C,mBACNr9C,EAAMs9C,cAENt9C,EAAM9I,GAAGuyB,EAAQ,YAAazpB,EAAMq9C,kBACpCr9C,EAAM9I,GAAGuyB,EAAQ,aAAczpB,EAAMs9C,aAC9Bt9C,EAsKT,OA3LAub,EAAS6hC,EAAwBpD,GAgCjCoD,EAAuBhoC,UAAUkL,SAAW,WAC1C,IAAI9Y,EAAKwyC,EAAY5kC,UAAUkL,SAASrL,KAAKze,MAS7C,OAPAA,KAAK+mD,SAAWj9B,GAAS,MAAO,CAC9BT,UAAW,0BACXge,UAAW,OAGbr2B,EAAG8Z,YAAY9qB,KAAK+mD,UAEb/1C,GAGT41C,EAAuBhoC,UAAUD,QAAU,WACzC3e,KAAK+mD,SAAW,KAEhBvD,EAAY5kC,UAAUD,QAAQF,KAAKze,OAWrC4mD,EAAuBhoC,UAAU2a,cAAgB,WAC/C,MAAO,qBAAuBiqB,EAAY5kC,UAAU2a,cAAc9a,KAAKze,OAGzE4mD,EAAuBhoC,UAAUwkC,qBAAuB,WACtD,MAAO,qBAAuBI,EAAY5kC,UAAUwkC,qBAAqB3kC,KAAKze,OAWhF4mD,EAAuBhoC,UAAUmkC,WAAa,WAC5C,IAAID,EAAO,IAAIb,GAAKjiD,KAAKizB,UACrB+zB,EAAQhnD,KAAKinD,gBAEjB,GAAID,EACF,IAAK,IAAI78C,EAAI68C,EAAMz2C,OAAS,EAAGpG,GAAK,EAAGA,IACrC24C,EAAK1qB,SAAS,IAAIquB,GAAqBzmD,KAAKizB,SAAU,CAAEyzB,KAAMM,EAAM78C,GAAK,OAI7E,OAAO24C,GAQT8D,EAAuBhoC,UAAU2hC,qBAAuB,WAEtDvgD,KAAKgR,KAAKgM,aAAa,gBAAiBhd,KAAKizB,SAAS0zB,iBAgBxDC,EAAuBhoC,UAAUm3B,YAAc,SAAqB1uC,GAQlE,IANA,IAAI6/C,EAAclnD,KAAKizB,SAAS0zB,eAC5BK,EAAQhnD,KAAKinD,gBAGbE,EAAUH,EAAM,GAEX78C,EAAI,EAAGA,EAAI68C,EAAMz2C,OAAQpG,IAChC,GAAI68C,EAAM78C,GAAK+8C,EAAa,CAC1BC,EAAUH,EAAM78C,GAChB,MAGJnK,KAAKizB,SAAS0zB,aAAaQ,IAW7BP,EAAuBhoC,UAAUqoC,cAAgB,WAC/C,OAAOjnD,KAAK62B,SAASowB,eAAiBjnD,KAAK62B,SAASmC,eAAiBh5B,KAAK62B,SAASmC,cAAciuB,eAYnGL,EAAuBhoC,UAAUwoC,sBAAwB,WACvD,OAAOpnD,KAAKizB,SAASqW,OAAStpC,KAAKizB,SAASqW,MAAMiH,sBAAwBvwC,KAAKinD,iBAAmBjnD,KAAKinD,gBAAgB12C,OAAS,GAalIq2C,EAAuBhoC,UAAUioC,iBAAmB,SAA0Bx/C,GACxErH,KAAKonD,wBACPpnD,KAAKurB,YAAY,cAEjBvrB,KAAKorB,SAAS,eAclBw7B,EAAuBhoC,UAAUkoC,YAAc,SAAqBz/C,GAC9DrH,KAAKonD,0BACPpnD,KAAK+mD,SAAS1f,UAAYrnC,KAAKizB,SAAS0zB,eAAiB,MAItDC,EA5LoB,CA6L3BjE,IAUFiE,GAAuBhoC,UAAU+2B,aAAe,gBAEhDjf,GAAU4F,kBAAkB,yBAA0BsqB,IAYtD,IAAIS,GAAS,SAAUnnB,GAGrB,SAASmnB,IAEP,OADAziC,EAAe5kB,KAAMqnD,GACd/hC,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YA2BhE,OA/BAqb,EAASsiC,EAAQnnB,GAajBmnB,EAAOzoC,UAAU2a,cAAgB,WAC/B,MAAO,cAAgB2G,EAAWthB,UAAU2a,cAAc9a,KAAKze,OAWjEqnD,EAAOzoC,UAAUkL,SAAW,WAC1B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAWrpB,KAAKu5B,mBAIb8tB,EAhCI,CAiCX3wB,IAEFA,GAAU4F,kBAAkB,SAAU+qB,IAWtC,IAAIC,GAAsB,SAAUC,GAGlC,SAASD,IAEP,OADA1iC,EAAe5kB,KAAMsnD,GACdhiC,EAA0BtlB,KAAMunD,EAAQ7oC,MAAM1e,KAAM0J,YAgC7D,OApCAqb,EAASuiC,EAAqBC,GAa9BD,EAAoB1oC,UAAU2a,cAAgB,WAC5C,MAAO,6BAA+BguB,EAAQ3oC,UAAU2a,cAAc9a,KAAKze,OAW7EsnD,EAAoB1oC,UAAUkL,SAAW,WACvC,IAAI9Y,EAAKu2C,EAAQ3oC,UAAUkL,SAASrL,KAAKze,KAAM,CAC7CqpB,UAAWrpB,KAAKu5B,kBAMlB,OADAvoB,EAAGq2B,UAAY,IACRr2B,GAGFs2C,EArCiB,CAsCxBD,IAEF3wB,GAAU4F,kBAAkB,sBAAuBgrB,IAYnD,IAAIE,GAAa,SAAUtnB,GAGzB,SAASsnB,IAEP,OADA5iC,EAAe5kB,KAAMwnD,GACdliC,EAA0BtlB,KAAMkgC,EAAWxhB,MAAM1e,KAAM0J,YAgBhE,OApBAqb,EAASyiC,EAAYtnB,GAarBsnB,EAAW5oC,UAAUkL,SAAW,WAC9B,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,MAAO,CACrDqpB,UAAW,kBACXqwB,IAAK,SAIF8N,EArBQ,CAsBf9wB,IAUF8wB,GAAW5oC,UAAUiY,SAAW,CAC9BhmB,SAAU,CAAC,aAAc,cAAe,qBAAsB,cAAe,kBAAmB,kBAAmB,cAAe,uBAAwB,sBAAuB,yBAA0B,iBAAkB,qBAAsB,iBAAkB,mBAAoB,qBAG3R6lB,GAAU4F,kBAAkB,aAAckrB,IAY1C,IAAIC,GAAe,SAAUC,GAY3B,SAASD,EAAax0B,EAAQ1B,GAC5B3M,EAAe5kB,KAAMynD,GAErB,IAAIj+C,EAAQ8b,EAA0BtlB,KAAM0nD,EAAajpC,KAAKze,KAAMizB,EAAQ1B,IAG5E,OADA/nB,EAAM9I,GAAGuyB,EAAQ,QAASzpB,EAAMu3B,MACzBv3B,EA+BT,OAhDAub,EAAS0iC,EAAcC,GA8BvBD,EAAa7oC,UAAU2a,cAAgB,WACrC,MAAO,qBAAuBmuB,EAAa9oC,UAAU2a,cAAc9a,KAAKze,OAW1EynD,EAAa7oC,UAAUjU,QAAU,WAC/B,IAAIid,EAAQ5nB,KAAKizB,SAASrL,QAE1B,OAAOA,EAAQ5nB,KAAKu3B,SAAS3P,EAAMpR,SAAW,IAGzCixC,EAjDU,CAkDjBxnB,IASFwnB,GAAa7oC,UAAUiY,SAAWJ,GAAawJ,GAAYrhB,UAAUiY,SAAU,CAC7EuK,aAAa,EACbJ,YAAY,EACZS,WAAW,EACXnB,aAAa,IAGf5J,GAAU4F,kBAAkB,eAAgBmrB,IAK5C,IAAIE,GAAoB,0BAEpBC,GAAc,CAAC,OAAQ,SACvBC,GAAa,CAAC,OAAQ,QACtBC,GAAa,CAAC,OAAQ,QACtBC,GAAc,CAAC,OAAQ,SACvBC,GAAgB,CAAC,OAAQ,WACzBC,GAAY,CAAC,OAAQ,OACrBC,GAAc,CAAC,OAAQ,SACvBC,GAAe,CAAC,OAAQ,UAExBC,GAAiB,CAAC,IAAK,UACvBC,GAAe,CAAC,MAAO,oBACvBC,GAAgB,CAAC,IAAK,eAatBC,GAAgB,CAClB1P,gBAAiB,CACfjvB,SAAU,yBACVzmB,GAAI,+BACJw9B,MAAO,QACPpP,QAAS,CAACq2B,GAAaM,GAAaD,GAAWF,GAAaF,GAAYM,GAAcH,GAAeF,KAGvGhP,kBAAmB,CACjBlvB,SAAU,2BACVzmB,GAAI,iCACJw9B,MAAO,eACPpP,QAAS,CAAC62B,GAAgBC,GAAcC,KAG1C59C,MAAO,CACLkf,SAAU,yBACVzmB,GAAI,+BACJw9B,MAAO,QACPpP,QAAS,CAAC22B,GAAaN,GAAaK,GAAWF,GAAaF,GAAYM,GAAcH,GAAeF,KAGvG7O,UAAW,CACTrvB,SAAU,2BACVzmB,GAAI,KACJw9B,MAAO,kBACPpP,QAAS,CAAC,CAAC,OAAQ,QAAS,CAAC,SAAU,UAAW,CAAC,YAAa,aAAc,CAAC,UAAW,WAAY,CAAC,aAAc,gBAGvH8nB,WAAY,CACVzvB,SAAU,4BACVzmB,GAAI,0BACJw9B,MAAO,cACPpP,QAAS,CAAC,CAAC,wBAAyB,2BAA4B,CAAC,qBAAsB,wBAAyB,CAAC,oBAAqB,sBAAuB,CAAC,iBAAkB,mBAAoB,CAAC,SAAU,UAAW,CAAC,SAAU,UAAW,CAAC,aAAc,gBAGjQ4nB,YAAa,CACXvvB,SAAU,6BACVzmB,GAAI,wBACJw9B,MAAO,YACPpP,QAAS,CAAC,CAAC,OAAQ,OAAQ,CAAC,OAAQ,OAAQ,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,QAAS,CAAC,OAAQ,SACjK,QAAW,EACX6W,OAAQ,SAAgBogB,GACtB,MAAa,SAANA,EAAe,KAAO7iD,OAAO6iD,KAIxC5P,YAAa,CACXhvB,SAAU,6BACVzmB,GAAI,iCACJw9B,MAAO,eACPpP,QAAS,CAAC62B,GAAgBC,KAI5BtP,YAAa,CACXnvB,SAAU,6BACVzmB,GAAI,2BACJw9B,MAAO,SAITqY,cAAe,CACbpvB,SAAU,+BACVzmB,GAAI,6BACJw9B,MAAO,eACPpP,QAAS,CAAC+2B,GAAeD,GAAcD,MAsB3C,SAASK,GAAiBnmD,EAAO8lC,GAK/B,GAJIA,IACF9lC,EAAQ8lC,EAAO9lC,IAGbA,GAAmB,SAAVA,EACX,OAAOA,EAoBX,SAASomD,GAAuB13C,EAAIo3B,GAClC,IAAI9lC,EAAQ0O,EAAGugB,QAAQvgB,EAAGugB,QAAQo3B,eAAermD,MAEjD,OAAOmmD,GAAiBnmD,EAAO8lC,GAkBjC,SAASwgB,GAAkB53C,EAAI1O,EAAO8lC,GACpC,GAAK9lC,EAIL,IAAK,IAAI6H,EAAI,EAAGA,EAAI6G,EAAGugB,QAAQhhB,OAAQpG,IACrC,GAAIs+C,GAAiBz3C,EAAGugB,QAAQpnB,GAAG7H,MAAO8lC,KAAY9lC,EAAO,CAC3D0O,EAAG23C,cAAgBx+C,EACnB,OAzENo+C,GAAcxP,YAAYxnB,QAAUg3B,GAAc1P,gBAAgBtnB,QAoFlE,IAAIs3B,GAAoB,SAAUnB,GAYhC,SAASmB,EAAkB51B,EAAQ1B,GACjC3M,EAAe5kB,KAAM6oD,GAErBt3B,EAAQkQ,WAAY,EAEpB,IAAIj4B,EAAQ8b,EAA0BtlB,KAAM0nD,EAAajpC,KAAKze,KAAMizB,EAAQ1B,IAsC5E,OApCA/nB,EAAMwlC,cAAgB9/B,GAAK1F,EAAOA,EAAMwlC,eAGxCxlC,EAAMy3B,OACNz3B,EAAM42B,eAAiB52B,EAAM62B,gBAAiB,EAE9C72B,EAAMs/C,UAAYh/B,GAAS,IAAK,CAC9BT,UAAW,mBACXgB,YAAa7gB,EAAM+tB,SAAS,2BAE9B/tB,EAAMwH,KAAK8Z,YAAYthB,EAAMs/C,WAE7Bt/C,EAAMu/C,mBAGmC/iC,IAArCuL,EAAQy3B,2BACVx/C,EAAMqtB,SAASmyB,yBAA2Bx/C,EAAMqtB,SAASmC,cAAcgwB,0BAGzEx/C,EAAM9I,GAAG8I,EAAMklB,EAAE,oBAAqB,SAAS,WAC7CllB,EAAMy/C,eACNz/C,EAAM7I,WAGR6I,EAAM9I,GAAG8I,EAAMklB,EAAE,uBAAwB,SAAS,WAChDllB,EAAMu/C,cACNv/C,EAAMwlC,mBAGRnpB,EAAK0iC,IAAe,SAAUW,GAC5B1/C,EAAM9I,GAAG8I,EAAMklB,EAAEw6B,EAAOt/B,UAAW,SAAUpgB,EAAMwlC,kBAGjDxlC,EAAMqtB,SAASmyB,0BACjBx/C,EAAM2/C,kBAED3/C,EA8RT,OApVAub,EAAS8jC,EAAmBnB,GAyD5BmB,EAAkBjqC,UAAUD,QAAU,WACpC3e,KAAK8oD,UAAY,KAEjBpB,EAAa9oC,UAAUD,QAAQF,KAAKze,OAgBtC6oD,EAAkBjqC,UAAUwqC,gBAAkB,SAAyBlmD,GACrE,IAAImyB,EAASr1B,KAETqpD,EAAW3/C,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC/EhG,EAAOgG,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,QAE3Ew/C,EAASX,GAAcrlD,GACvBC,EAAK+lD,EAAO/lD,GAAG4J,QAAQ,KAAM/M,KAAK82B,KAClCwyB,EAAsB,CAACD,EAAUlmD,GAAIikB,KAAK,KAAKvH,OAEnD,MAAO,CAAC,IAAMnc,EAAO,QAAUP,EAAK,aAAwB,UAATO,EAAmB,YAAc,IAAM,KAAM1D,KAAKu3B,SAAS2xB,EAAOvoB,OAAQ,KAAOj9B,EAAO,IAAK,4BAA8B4lD,EAAsB,MAAMlrC,OAAO8qC,EAAO33B,QAAQltB,KAAI,SAAUklD,GAC5O,IAAIC,EAAWrmD,EAAK,IAAMomD,EAAE,GAAGx8C,QAAQ,OAAQ,IAE/C,MAAO,CAAC,eAAiBy8C,EAAW,YAAcD,EAAE,GAAK,KAAM,oBAAsBD,EAAsB,IAAME,EAAW,KAAMn0B,EAAOkC,SAASgyB,EAAE,IAAK,aAAaniC,KAAK,QACzKhJ,OAAO,aAAagJ,KAAK,KAa/ByhC,EAAkBjqC,UAAU6qC,iBAAmB,WAC7C,IAAIJ,EAAW,wBAA0BrpD,KAAK82B,IAE9C,MAAO,CAAC,oDAAqD,eAAiBuyB,EAAW,KAAMrpD,KAAKu3B,SAAS,QAAS,YAAav3B,KAAKopD,gBAAgB,QAASC,GAAW,8CAA+CrpD,KAAKopD,gBAAgB,cAAeC,GAAW,UAAW,eAAejiC,KAAK,KAa3SyhC,EAAkBjqC,UAAU8qC,iBAAmB,WAC7C,IAAIL,EAAW,uBAAyBrpD,KAAK82B,IAE7C,MAAO,CAAC,oDAAqD,eAAiBuyB,EAAW,KAAMrpD,KAAKu3B,SAAS,cAAe,YAAav3B,KAAKopD,gBAAgB,kBAAmBC,GAAW,4CAA6CrpD,KAAKopD,gBAAgB,oBAAqBC,GAAW,UAAW,eAAejiC,KAAK,KAa/TyhC,EAAkBjqC,UAAU+qC,kBAAoB,WAC9C,IAAIN,EAAW,mBAAqBrpD,KAAK82B,IAEzC,MAAO,CAAC,wDAAyD,eAAiBuyB,EAAW,KAAMrpD,KAAKu3B,SAAS,UAAW,YAAav3B,KAAKopD,gBAAgB,cAAeC,GAAW,gDAAiDrpD,KAAKopD,gBAAgB,gBAAiBC,GAAW,UAAW,eAAejiC,KAAK,KAa3TyhC,EAAkBjqC,UAAUgrC,gBAAkB,WAC5C,OAAO9/B,GAAS,MAAO,CACrBT,UAAW,4BACXge,UAAW,CAACrnC,KAAKypD,mBAAoBzpD,KAAK0pD,mBAAoB1pD,KAAK2pD,qBAAqBviC,KAAK,OAcjGyhC,EAAkBjqC,UAAUirC,cAAgB,WAC1C,OAAO//B,GAAS,MAAO,CACrBT,UAAW,0BACXge,UAAW,CAAC,wDAAyDrnC,KAAKopD,gBAAgB,cAAe,GAAI,UAAW,cAAe,sDAAuDppD,KAAKopD,gBAAgB,YAAa,GAAI,UAAW,cAAe,uDAAwDppD,KAAKopD,gBAAgB,aAAc,GAAI,UAAW,eAAehiC,KAAK,OAchYyhC,EAAkBjqC,UAAUkrC,kBAAoB,WAC9C,IAAIC,EAAsB/pD,KAAKu3B,SAAS,8CAExC,OAAOzN,GAAS,MAAO,CACrBT,UAAW,8BACXge,UAAW,CAAC,2DAA6D0iB,EAAsB,KAAM/pD,KAAKu3B,SAAS,SAAU,mCAAqCwyB,EAAsB,UAAW,YAAa,iDAAmD/pD,KAAKu3B,SAAS,QAAU,aAAanQ,KAAK,OAIjTyhC,EAAkBjqC,UAAUjU,QAAU,WACpC,MAAO,CAAC3K,KAAK4pD,kBAAmB5pD,KAAK6pD,gBAAiB7pD,KAAK8pD,sBAG7DjB,EAAkBjqC,UAAU+hB,MAAQ,WAClC,OAAO3gC,KAAKu3B,SAAS,4BAGvBsxB,EAAkBjqC,UAAU6hB,YAAc,WACxC,OAAOzgC,KAAKu3B,SAAS,yEAGvBsxB,EAAkBjqC,UAAU2a,cAAgB,WAC1C,OAAOmuB,EAAa9oC,UAAU2a,cAAc9a,KAAKze,MAAQ,4BAW3D6oD,EAAkBjqC,UAAU65B,UAAY,WACtC,IAAItc,EAASn8B,KAEb,OAAO8lB,EAAOyiC,IAAe,SAAUtiC,EAAOijC,EAAQhmD,GACpD,IAAIZ,EAAQomD,GAAuBvsB,EAAOzN,EAAEw6B,EAAOt/B,UAAWs/B,EAAO9gB,QAMrE,YAJcpiB,IAAV1jB,IACF2jB,EAAM/iB,GAAOZ,GAGR2jB,IACN,KAWL4iC,EAAkBjqC,UAAUorC,UAAY,SAAmBC,GACzD,IAAI7tB,EAASp8B,KAEb6lB,EAAK0iC,IAAe,SAAUW,EAAQhmD,GACpC0lD,GAAkBxsB,EAAO1N,EAAEw6B,EAAOt/B,UAAWqgC,EAAO/mD,GAAMgmD,EAAO9gB,YASrEygB,EAAkBjqC,UAAUmqC,YAAc,WACxC,IAAIxa,EAASvuC,KAEb6lB,EAAK0iC,IAAe,SAAUW,GAC5B,IAAI7gD,EAAQ6gD,EAAOphC,eAAe,WAAaohC,EAAO,WAAa,EAEnE3a,EAAO7f,EAAEw6B,EAAOt/B,UAAU++B,cAAgBtgD,MAS9CwgD,EAAkBjqC,UAAUuqC,gBAAkB,WAC5C,IAAIc,OAAS,EAEb,IACEA,EAAS/kD,KAAK2jC,MAAMr9B,EAAO0+C,aAAaC,QAAQxC,KAChD,MAAOjxC,GACP8P,EAAImB,KAAKjR,GAGPuzC,GACFjqD,KAAKgqD,UAAUC,IASnBpB,EAAkBjqC,UAAUqqC,aAAe,WACzC,GAAKjpD,KAAK62B,SAASmyB,yBAAnB,CAIA,IAAIiB,EAASjqD,KAAKy4C,YAElB,IACMj0C,OAAOC,KAAKwlD,GAAQ15C,OACtB/E,EAAO0+C,aAAaE,QAAQzC,GAAmBziD,KAAKC,UAAU8kD,IAE9Dz+C,EAAO0+C,aAAaG,WAAW1C,IAEjC,MAAOjxC,GACP8P,EAAImB,KAAKjR,MASbmyC,EAAkBjqC,UAAUowB,cAAgB,WAC1C,IAAIsb,EAAYtqD,KAAK42B,QAAQuB,SAAS,oBAElCmyB,GACFA,EAAUtb,iBAWd6Z,EAAkBjqC,UAAU4iB,iBAAmB,WAC7CxhC,KAAK4gC,oBAAsB,KAC3B5gC,KAAKqe,IAAIzS,EAAU,UAAW5L,KAAKuiC,eAEnC,IAAIrmB,EAAKlc,KAAK42B,QAAQ2zB,WAClBC,EAActuC,GAAMA,EAAGuuC,eACvBC,EAAQxuC,GAAMA,EAAGyuC,eAEjBH,EACFA,EAAYh+B,QACHk+B,GACTA,EAAMl+B,SAIHq8B,EArVe,CAsVtB5oB,IAEFvJ,GAAU4F,kBAAkB,oBAAqBusB,IAsBjD,IAAI+B,GAAgB,SAAU1qB,GAgB5B,SAAS0qB,EAAc33B,EAAQ1B,GAC7B3M,EAAe5kB,KAAM4qD,GAErB,IAAIC,EAA4Bt5B,EAAQu5B,gBAAkBt/C,EAAOs/C,eAGlC,OAA3Bv5B,EAAQu5B,iBACVD,GAA4B,GAI9B,IAAIh0B,EAAWJ,GAAa,CAAE3M,UAAW+gC,GAA6Bt5B,GAElE/nB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAMizB,EAAQ4D,IAuB1E,OArBArtB,EAAMshD,eAAiBv5B,EAAQu5B,gBAAkBt/C,EAAOs/C,eACxDthD,EAAMuhD,cAAgB,KACtBvhD,EAAMwhD,gBAAkB,KACxBxhD,EAAMyhD,kBAAoBr3B,IAAS,WACjCpqB,EAAM0hD,kBACL,KAAK,EAAO1hD,GAEXqhD,GACFrhD,EAAMwhD,gBAAkB,IAAIxhD,EAAMshD,eAAethD,EAAMyhD,mBACvDzhD,EAAMwhD,gBAAgBl6C,QAAQmiB,EAAOjiB,QAErCxH,EAAMuhD,cAAgB,WACfvhD,EAAMwtB,KAAQxtB,EAAMwtB,IAAIm0B,eAI7BzqD,GAAG8I,EAAMwtB,IAAIm0B,cAAe,SAAU3hD,EAAMyhD,oBAG9CzhD,EAAMwoB,IAAI,OAAQxoB,EAAMuhD,gBAEnBvhD,EA0DT,OA7GAub,EAAS6lC,EAAe1qB,GAsDxB0qB,EAAchsC,UAAUkL,SAAW,WACjC,OAAOoW,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,SAAU,CACxDqpB,UAAW,wBAWfuhC,EAAchsC,UAAUssC,cAAgB,WASjClrD,KAAK42B,SAAY52B,KAAK42B,QAAQtY,SAInCte,KAAK42B,QAAQtY,QAAQ,iBAGvBssC,EAAchsC,UAAUD,QAAU,WAC5B3e,KAAKirD,mBACPjrD,KAAKirD,kBAAkBn3B,SAGrB9zB,KAAKgrD,kBACHhrD,KAAK42B,QAAQ5lB,MACfhR,KAAKgrD,gBAAgBx6C,UAAUxQ,KAAK42B,QAAQ5lB,MAE9ChR,KAAKgrD,gBAAgBI,cAGnBprD,KAAKg3B,KAAOh3B,KAAKg3B,IAAIm0B,eACvB9sC,GAAIre,KAAKg3B,IAAIm0B,cAAe,SAAUnrD,KAAKirD,mBAGzCjrD,KAAK+qD,eACP/qD,KAAKqe,IAAI,OAAQre,KAAK+qD,eAGxB/qD,KAAK8qD,eAAiB,KACtB9qD,KAAKqrD,eAAiB,KACtBrrD,KAAKirD,kBAAoB,KACzBjrD,KAAK+qD,cAAgB,MAGhBH,EA9GW,CA+GlBl0B,IAEFA,GAAU4F,kBAAkB,gBAAiBsuB,IAe7C,IAAIU,GAAgB,SAAuBpsB,GACzC,IAAIluB,EAAKkuB,EAAKluB,KAGd,GAAIA,EAAGgyB,aAAa,OAElB,OADA9D,EAAK4N,iBAAiB97B,EAAGwuB,MAClB,EAeT,IAAIrZ,EAAU+Y,EAAKvQ,GAAG,UAClB48B,EAAU,GACV/rB,EAAM,GAGV,IAAKrZ,EAAQ5V,OACX,OAAO,EAIT,IAAK,IAAIpG,EAAI,EAAGA,EAAIgc,EAAQ5V,OAAQpG,IAAK,CACvC,IAAIuC,EAAMyZ,EAAQhc,GAAGq1B,IAEjB9yB,IAAiC,IAA1B6+C,EAAQ5nD,QAAQ+I,IACzB6+C,EAAQ34C,KAAKlG,GAKjB,QAAK6+C,EAAQh7C,SAMU,IAAnBg7C,EAAQh7C,SACVivB,EAAM+rB,EAAQ,IAGhBrsB,EAAK4N,iBAAiBtN,IACf,IAOLgsB,GAA8B,GAE7B5nC,IACH4nC,GAA8BhnD,OAAO8a,eAAe,GAAI,YAAa,CACnErK,IAAK,WACH,OAAOjV,KAAKyrD,WAAU,GAAMpkB,WAE9B3lB,IAAK,SAAa8mC,GAEhB,IAAIkD,EAAQ9/C,EAASyY,cAAcrkB,KAAK20B,SAAS7T,eAGjD4qC,EAAMrkB,UAAYmhB,EAGlB,IAAImD,EAAU//C,EAASggD,yBAIvB,MAAOF,EAAMhzB,WAAWnoB,OACtBo7C,EAAQ7gC,YAAY4gC,EAAMhzB,WAAW,IAWvC,OAPA14B,KAAKyqB,UAAY,GAIjBjf,EAAOqgD,QAAQjtC,UAAUkM,YAAYrM,KAAKze,KAAM2rD,GAGzC3rD,KAAKqnC,cAQlB,IAAIykB,GAAgB,SAAuBC,EAAUnjC,GAGnD,IAFA,IAAIojC,EAAa,GAER7hD,EAAI,EAAGA,EAAI4hD,EAASx7C,OAAQpG,IAGnC,GAFA6hD,EAAaxnD,OAAOynD,yBAAyBF,EAAS5hD,GAAIye,GAEtDojC,GAAcA,EAAWtqC,KAAOsqC,EAAW/2C,IAC7C,MAOJ,OAHA+2C,EAAWvqC,YAAa,EACxBuqC,EAAW7mC,cAAe,EAEnB6mC,GAGLE,GAAyB,SAAgChtB,GAC3D,OAAO4sB,GAAc,CAAC5sB,EAAKluB,KAAMxF,EAAO2gD,iBAAiBvtC,UAAWpT,EAAOqgD,QAAQjtC,UAAW4sC,IAA8B,cAqB1HY,GAAmB,SAA0BltB,GAC/C,IAAIluB,EAAKkuB,EAAKluB,KAGd,IAAIA,EAAGq7C,kBAAP,CAIA,IAAIp8B,EAAM,GACNq8B,EAAkBJ,GAAuBhtB,GACzCqtB,EAAgB,SAAuBC,GACzC,OAAO,WACL,IAAK,IAAItmC,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB,IAAIqmC,EAASD,EAAS9tC,MAAM1N,EAAIwN,GAIhC,OAFA8sC,GAAcpsB,GAEPutB,IAIX,CAAC,SAAU,cAAe,sBAAsB/nD,SAAQ,SAAUkoB,GAC3D5b,EAAG4b,KAKRqD,EAAIrD,GAAK5b,EAAG4b,GAIZ5b,EAAG4b,GAAK2/B,EAAct8B,EAAIrD,QAG5BpoB,OAAO8a,eAAetO,EAAI,YAAaylB,GAAa61B,EAAiB,CACnE5qC,IAAK6qC,EAAcD,EAAgB5qC,QAGrC1Q,EAAGq7C,kBAAoB,WACrBr7C,EAAGq7C,kBAAoB,KACvB7nD,OAAOC,KAAKwrB,GAAKvrB,SAAQ,SAAUkoB,GACjC5b,EAAG4b,GAAKqD,EAAIrD,MAGdpoB,OAAO8a,eAAetO,EAAI,YAAas7C,IAIzCptB,EAAKlN,IAAI,YAAahhB,EAAGq7C,qBAQvBK,GAAwB,GAEvB9oC,IACH8oC,GAAwBloD,OAAO8a,eAAe,GAAI,MAAO,CACvDrK,IAAK,WACH,OAAIjV,KAAKgjC,aAAa,OACbuE,GAAe/7B,EAAOqgD,QAAQjtC,UAAUyN,aAAa5N,KAAKze,KAAM,QAGlE,IAET0hB,IAAK,SAAa8mC,GAGhB,OAFAh9C,EAAOqgD,QAAQjtC,UAAU5B,aAAayB,KAAKze,KAAM,MAAOwoD,GAEjDA,MAKb,IAAImE,GAAmB,SAA0BztB,GAC/C,OAAO4sB,GAAc,CAAC5sB,EAAKluB,KAAMxF,EAAO2gD,iBAAiBvtC,UAAW8tC,IAAwB,QAkB1FE,GAAiB,SAAwB1tB,GAC3C,GAAKA,EAAKsR,kBAAV,CAIA,IAAIx/B,EAAKkuB,EAAKluB,KAGd,IAAIA,EAAG67C,gBAAP,CAIA,IAAIC,EAAgBH,GAAiBztB,GACjC6tB,EAAkB/7C,EAAGgM,aACrBgwC,EAAUh8C,EAAGo6B,KAEjB5mC,OAAO8a,eAAetO,EAAI,MAAOylB,GAAaq2B,EAAe,CAC3DprC,IAAK,SAAa8mC,GAChB,IAAIiE,EAASK,EAAcprC,IAAIjD,KAAKzN,EAAIw3C,GAKxC,OAFAtpB,EAAK4N,iBAAiB97B,EAAGwuB,KAElBitB,MAIXz7C,EAAGgM,aAAe,SAAUsU,EAAGk3B,GAC7B,IAAIiE,EAASM,EAAgBtuC,KAAKzN,EAAIsgB,EAAGk3B,GAMzC,MAJI,OAAO57C,KAAK0kB,IACd4N,EAAK4N,iBAAiB97B,EAAGwuB,KAGpBitB,GAGTz7C,EAAGo6B,KAAO,WACR,IAAIqhB,EAASO,EAAQvuC,KAAKzN,GAW1B,OALKs6C,GAAcpsB,KACjBA,EAAK4N,iBAAiB,IACtBsf,GAAiBltB,IAGZutB,GAGLz7C,EAAGi8C,WACL/tB,EAAK4N,iBAAiB97B,EAAGi8C,YACf3B,GAAcpsB,IACxBktB,GAAiBltB,GAGnBluB,EAAG67C,gBAAkB,WACnB77C,EAAG67C,gBAAkB,KACrB77C,EAAGo6B,KAAO4hB,EACVh8C,EAAGgM,aAAe+vC,EAClBvoD,OAAO8a,eAAetO,EAAI,MAAO87C,GAC7B97C,EAAGq7C,mBACLr7C,EAAGq7C,wBAKLa,GAAoBznC,EAA2B,CAAC,sJAAwJ,CAAC,uJAYzM0nC,GAAQ,SAAUzc,GAYpB,SAASyc,EAAM57B,EAASoF,GACtB/R,EAAe5kB,KAAMmtD,GAErB,IAAI3jD,EAAQ8b,EAA0BtlB,KAAM0wC,EAAMjyB,KAAKze,KAAMuxB,EAASoF,IAElEtQ,EAASkL,EAAQlL,OACjB+mC,GAAoB,EAiBxB,GAXI/mC,IAAW7c,EAAMwtB,IAAIi2B,aAAe5mC,EAAOmZ,KAAOjO,EAAQ3mB,KAAyC,IAAlC2mB,EAAQ3mB,IAAIyiD,mBAC/E7jD,EAAM6nC,UAAUhrB,GAEhB7c,EAAM8jD,gBAAgB9jD,EAAMwtB,KAI1BzF,EAAQg8B,iBACV/jD,EAAMgkD,0BAGJhkD,EAAMwtB,IAAIy2B,gBAAiB,CAE7B,IAAIC,EAAQlkD,EAAMwtB,IAAI0B,WAClBi1B,EAAcD,EAAMn9C,OACpBq9C,EAAc,GAElB,MAAOD,IAAe,CACpB,IAAIt/B,EAAOq/B,EAAMC,GACbh5B,EAAWtG,EAAKsG,SAAS7T,cAEZ,UAAb6T,IACGnrB,EAAMijC,0BAQTjjC,EAAM+lC,qBAAqBpK,iBAAiB9W,GAC5C7kB,EAAMqlC,mBAAmBjL,SAASvV,EAAKsQ,OACvCn1B,EAAMi2B,aAAamE,SAASvV,EAAKsQ,OAC5ByuB,GAAsB5jD,EAAMwtB,IAAIgM,aAAa,iBAAkB4E,GAAcvZ,EAAKmR,OACrF4tB,GAAoB,IAPtBQ,EAAYh7C,KAAKyb,IAavB,IAAK,IAAIlkB,EAAI,EAAGA,EAAIyjD,EAAYr9C,OAAQpG,IACtCX,EAAMwtB,IAAI9I,YAAY0/B,EAAYzjD,IAyBtC,OArBAX,EAAMqkD,qBACFrkD,EAAMijC,0BAA4B2gB,GACpC5mC,EAAImB,KAAK1F,EAAKirC,KAIhB1jD,EAAMskD,2CAMD9pC,GAAiBnB,GAAaU,KAAyD,IAAnCgO,EAAQsb,wBAC/DrjC,EAAMukD,aAAY,GAKpBvkD,EAAMwkD,yBAENxkD,EAAMmwB,eACCnwB,EAguBT,OAzzBAub,EAASooC,EAAOzc,GAiGhByc,EAAMvuC,UAAUD,QAAU,WACpB3e,KAAKg3B,KAAOh3B,KAAKg3B,IAAI61B,iBACvB7sD,KAAKg3B,IAAI61B,kBAEXM,EAAMc,oBAAoBjuD,KAAKg3B,KAC/Bh3B,KAAK62B,SAAW,KAGhB6Z,EAAM9xB,UAAUD,QAAQF,KAAKze,OAS/BmtD,EAAMvuC,UAAU4uC,wBAA0B,WACxCZ,GAAe5sD,OAajBmtD,EAAMvuC,UAAUkvC,wCAA0C,WACxD,IAAIruB,EAAaz/B,KAAKy/B,aAClByuB,OAAmC,EAGnCC,EAA4B,WAC9BD,EAAmC,GAEnC,IAAK,IAAI/jD,EAAI,EAAGA,EAAIs1B,EAAWlvB,OAAQpG,IAAK,CAC1C,IAAIw0B,EAAQc,EAAWt1B,GAEJ,aAAfw0B,EAAMoG,MACRmpB,EAAiCt7C,KAAK,CACpC+rB,MAAOA,EACPyvB,WAAYzvB,EAAMiL,SAQ1BukB,IACA1uB,EAAWliB,iBAAiB,SAAU4wC,GAEtCnuD,KAAKU,GAAG,WAAW,WACjB,OAAO++B,EAAWjQ,oBAAoB,SAAU2+B,MAGlD,IAAIE,EAAmB,SAASA,IAC9B,IAAK,IAAIlkD,EAAI,EAAGA,EAAI+jD,EAAiC39C,OAAQpG,IAAK,CAChE,IAAImkD,EAAcJ,EAAiC/jD,GAEpB,aAA3BmkD,EAAY3vB,MAAMiL,MAAuB0kB,EAAY3vB,MAAMiL,OAAS0kB,EAAYF,aAClFE,EAAY3vB,MAAMiL,KAAO0kB,EAAYF,YAIzC3uB,EAAWjQ,oBAAoB,SAAU6+B,IAK3CruD,KAAKU,GAAG,yBAAyB,WAC/B++B,EAAWjQ,oBAAoB,SAAU2+B,GAGzC1uB,EAAWjQ,oBAAoB,SAAU6+B,GACzC5uB,EAAWliB,iBAAiB,SAAU8wC,MAIxCruD,KAAKU,GAAG,uBAAuB,WAE7B++B,EAAWjQ,oBAAoB,SAAU2+B,GACzC1uB,EAAWliB,iBAAiB,SAAU4wC,GAGtC1uB,EAAWjQ,oBAAoB,SAAU6+B,OAY7ClB,EAAMvuC,UAAUivC,mBAAqB,WACnC,IAAIx4B,EAASr1B,KAEbqrC,GAAOY,MAAMvnC,SAAQ,SAAUtC,GAC7B,IAAIiD,EAAQgmC,GAAOjpC,GACfmsD,EAAWl5B,EAAOrkB,KAAK3L,EAAMqmC,YAC7B8iB,EAAan5B,EAAOhwB,EAAMqmC,cAE9B,GAAKrW,EAAO,iBAAmBhwB,EAAMomC,YAAc,WAAc8iB,GAAaA,EAAShxC,iBAAvF,CAGA,IAAIW,EAAY,CACd+lB,OAAQ,SAAgB15B,GACtBikD,EAAWlwC,QAAQ,CACjB5a,KAAM,SACN+M,OAAQ+9C,EACRC,cAAeD,EACfr+B,WAAYq+B,KAGhBtqB,SAAU,SAAkB35B,GAC1BikD,EAAW5qB,SAASr5B,EAAEo0B,QAExBwF,YAAa,SAAqB55B,GAChCikD,EAAW3qB,YAAYt5B,EAAEo0B,SAGzB+vB,EAAkB,WAGpB,IAFA,IAAIC,EAAe,GAEVxkD,EAAI,EAAGA,EAAIqkD,EAAWj+C,OAAQpG,IAAK,CAG1C,IAFA,IAAIykD,GAAQ,EAEH1Z,EAAI,EAAGA,EAAIqZ,EAASh+C,OAAQ2kC,IACnC,GAAIqZ,EAASrZ,KAAOsZ,EAAWrkD,GAAI,CACjCykD,GAAQ,EACR,MAICA,GACHD,EAAa/7C,KAAK47C,EAAWrkD,IAIjC,MAAOwkD,EAAap+C,OAClBi+C,EAAW3qB,YAAY8qB,EAAa5uC,UAIxCvb,OAAOC,KAAKyZ,GAAWxZ,SAAQ,SAAUmqD,GACvC,IAAI1wC,EAAWD,EAAU2wC,GAEzBN,EAAShxC,iBAAiBsxC,EAAW1wC,GACrCkX,EAAO30B,GAAG,WAAW,SAAU6J,GAC7B,OAAOgkD,EAAS/+B,oBAAoBq/B,EAAW1wC,SAKnDkX,EAAO30B,GAAG,YAAaguD,GACvBr5B,EAAO30B,GAAG,WAAW,SAAU6J,GAC7B,OAAO8qB,EAAOhX,IAAI,YAAaqwC,WAarCvB,EAAMvuC,UAAUkL,SAAW,WACzB,IAAI9Y,EAAKhR,KAAK62B,SAASjsB,IAMvB,IAAKoG,IAAQhR,KAAK62B,SAASi4B,iBAAkB9uD,KAAK+uD,wBAA0B,CAG1E,GAAI/9C,EAAI,CACN,IAAIg+C,EAAQh+C,EAAGy6C,WAAU,GAErBz6C,EAAG2b,YACL3b,EAAG2b,WAAW9B,aAAamkC,EAAOh+C,GAEpCm8C,EAAMc,oBAAoBj9C,GAC1BA,EAAKg+C,MACA,CACLh+C,EAAKpF,EAASyY,cAAc,SAG5B,IAAI4qC,EAAgBjvD,KAAK62B,SAASjsB,KAAOshB,GAAclsB,KAAK62B,SAASjsB,KACjEqf,EAAawM,GAAa,GAAIw4B,GAE7BjrC,IAA0D,IAAzChkB,KAAK62B,SAASgW,+BAC3B5iB,EAAWxQ,SAGpBsS,GAAc/a,EAAIuK,EAAO0O,EAAY,CACnC9mB,GAAInD,KAAK62B,SAASq4B,OAClB,MAAS,cAIbl+C,EAAGm+C,SAAWnvD,KAAK62B,SAASs4B,SAGO,qBAA1BnvD,KAAK62B,SAASu4B,SACvBpyC,GAAahM,EAAI,UAAWhR,KAAK62B,SAASu4B,SAQ5C,IAFA,IAAIC,EAAgB,CAAC,OAAQ,QAAS,cAAe,YAE5CllD,EAAI,EAAGA,EAAIklD,EAAc9+C,OAAQpG,IAAK,CAC7C,IAAImlD,EAAOD,EAAcllD,GACrB7H,EAAQtC,KAAK62B,SAASy4B,GAEL,qBAAVhtD,IACLA,EACF0a,GAAahM,EAAIs+C,EAAMA,GAEvBrjC,GAAgBjb,EAAIs+C,GAEtBt+C,EAAGs+C,GAAQhtD,GAIf,OAAO0O,GAkBTm8C,EAAMvuC,UAAU0uC,gBAAkB,SAAyBt8C,GACzD,GAAwB,IAApBA,EAAGu+C,cAA0C,IAApBv+C,EAAGu+C,aAAhC,CAMA,GAAsB,IAAlBv+C,EAAGmiB,WAAkB,CAWvB,IAAIq8B,GAAiB,EACjBC,EAAoB,WACtBD,GAAiB,GAGnBxvD,KAAKU,GAAG,YAAa+uD,GAErB,IAAIC,EAAmB,WAGhBF,GACHxvD,KAAKse,QAAQ,cAgBjB,OAZAte,KAAKU,GAAG,iBAAkBgvD,QAE1B1vD,KAAK22B,OAAM,WACT32B,KAAKqe,IAAI,YAAaoxC,GACtBzvD,KAAKqe,IAAI,iBAAkBqxC,GAEtBF,GAEHxvD,KAAKse,QAAQ,gBAWnB,IAAIqxC,EAAkB,CAAC,aAGvBA,EAAgB/8C,KAAK,kBAGjB5B,EAAGmiB,YAAc,GACnBw8B,EAAgB/8C,KAAK,cAInB5B,EAAGmiB,YAAc,GACnBw8B,EAAgB/8C,KAAK,WAInB5B,EAAGmiB,YAAc,GACnBw8B,EAAgB/8C,KAAK,kBAIvB5S,KAAK22B,OAAM,WACTg5B,EAAgBjrD,SAAQ,SAAUhB,GAChC1D,KAAKse,QAAQ5a,KACZ1D,WAYPmtD,EAAMvuC,UAAUwvB,eAAiB,SAAwBsM,GACvD,IACE16C,KAAKg3B,IAAIxa,YAAck+B,EACvB,MAAOnwC,GACPic,EAAIjc,EAAG,oCAaX4iD,EAAMvuC,UAAU1B,SAAW,WACzB,IAAIif,EAASn8B,KAMb,GAAIA,KAAKg3B,IAAI9Z,WAAa89B,KAAY93B,GAAcQ,GAAsC,IAAzB1jB,KAAKg3B,IAAIxa,YAAmB,CAG3F,IAAIozC,EAAgB,SAASA,IACvBzzB,EAAOnF,IAAIxa,YAAc,IAEvB2f,EAAOnF,IAAI9Z,WAAa89B,KAC1B7e,EAAO7d,QAAQ,kBAEjB6d,EAAO9d,IAAI,aAAcuxC,KAK7B,OADA5vD,KAAKU,GAAG,aAAckvD,GACfC,IAET,OAAO7vD,KAAKg3B,IAAI9Z,UAAY2yC,KAW9B1C,EAAMvuC,UAAUlY,MAAQ,WACtB,OAAO1G,KAAKg3B,IAAIxJ,aAWlB2/B,EAAMvuC,UAAUjd,OAAS,WACvB,OAAO3B,KAAKg3B,IAAI3c,cAelB8yC,EAAMvuC,UAAUovC,uBAAyB,WACvC,IAAI5xB,EAASp8B,KAEb,GAAM,+BAAgCA,KAAKg3B,IAA3C,CAIA,IAAI84B,EAAQ,WACV9vD,KAAKse,QAAQ,mBAAoB,CAAE0hC,cAAc,KAG/C+P,EAAU,WACR,2BAA4B/vD,KAAKg3B,KAA2C,uBAApCh3B,KAAKg3B,IAAIg5B,yBACnDhwD,KAAKgyB,IAAI,sBAAuB89B,GAEhC9vD,KAAKse,QAAQ,mBAAoB,CAAE0hC,cAAc,MAIrDhgD,KAAKU,GAAG,wBAAyBqvD,GACjC/vD,KAAKU,GAAG,WAAW,WACjB07B,EAAO/d,IAAI,wBAAyB0xC,GACpC3zB,EAAO/d,IAAI,sBAAuByxC,QAatC3C,EAAMvuC,UAAUqxC,mBAAqB,WACnC,GAA8C,oBAAnCjwD,KAAKg3B,IAAIk5B,sBAAsC,CACxD,IAAIpjD,EAAYtB,EAAOqB,WAAarB,EAAOqB,UAAUC,WAAa,GAGlE,GAAI,UAAUF,KAAKE,KAAe,uBAAuBF,KAAKE,GAC5D,OAAO,EAGX,OAAO,GAQTqgD,EAAMvuC,UAAUuxC,gBAAkB,WAChC,IAAI18C,EAAQzT,KAAKg3B,IAEbvjB,EAAM0tB,QAAU1tB,EAAM87C,cAAgB97C,EAAM28C,eAG9CpwD,KAAKg3B,IAAIva,OAITzc,KAAKgN,YAAW,WACdyG,EAAMiJ,QACNjJ,EAAMy8C,0BACL,IAEHz8C,EAAMy8C,yBASV/C,EAAMvuC,UAAUyxC,eAAiB,WAC/BrwD,KAAKg3B,IAAIs5B,wBAkBXnD,EAAMvuC,UAAU4gB,IAAM,SAAakU,GACjC,QAAa1tB,IAAT0tB,EACF,OAAO1zC,KAAKg3B,IAAIwI,IAIlBx/B,KAAKs2C,OAAO5C,IASdyZ,EAAMvuC,UAAUqvB,MAAQ,WACtBkf,EAAMoD,kBAAkBvwD,KAAKg3B,MAa/Bm2B,EAAMvuC,UAAUquC,WAAa,WAC3B,OAAIjtD,KAAKwxC,eACAxxC,KAAKwxC,eAAehS,IAEtBx/B,KAAKg3B,IAAIi2B,YAWlBE,EAAMvuC,UAAUmvC,YAAc,SAAqB3jC,GACjDpqB,KAAKg3B,IAAIvd,WAAa2Q,GAoBxB+iC,EAAMvuC,UAAUswB,aAAe,SAAsBnK,EAAMpE,EAAOjJ,GAChE,OAAK13B,KAAKysC,yBAIHzsC,KAAKg3B,IAAIkY,aAAanK,EAAMpE,EAAOjJ,GAHjCgZ,EAAM9xB,UAAUswB,aAAazwB,KAAKze,KAAM+kC,EAAMpE,EAAOjJ,IAoChEy1B,EAAMvuC,UAAUuwB,sBAAwB,SAA+B5d,GACrE,IAAKvxB,KAAKysC,yBACR,OAAOiE,EAAM9xB,UAAUuwB,sBAAsB1wB,KAAKze,KAAMuxB,GAE1D,IAAI+d,EAAmB1jC,EAASyY,cAAc,SAqB9C,OAnBIkN,EAAQwT,OACVuK,EAAiBvK,KAAOxT,EAAQwT,MAE9BxT,EAAQoP,QACV2O,EAAiB3O,MAAQpP,EAAQoP,QAE/BpP,EAAQmG,UAAYnG,EAAQoY,WAC9B2F,EAAiB3F,QAAUpY,EAAQmG,UAAYnG,EAAQoY,SAErDpY,EAAQ,aACV+d,EAAiB,WAAa/d,EAAQ,YAEpCA,EAAQpuB,KACVmsC,EAAiBnsC,GAAKouB,EAAQpuB,IAE5BouB,EAAQiO,MACV8P,EAAiB9P,IAAMjO,EAAQiO,KAG1B8P,GAiBT6d,EAAMvuC,UAAUghB,mBAAqB,SAA4BrO,EAAS8d,GACxE,IAAIC,EAAmBoB,EAAM9xB,UAAUghB,mBAAmBnhB,KAAKze,KAAMuxB,EAAS8d,GAM9E,OAJIrvC,KAAKysC,0BACPzsC,KAAKgR,KAAK8Z,YAAYwkB,GAGjBA,GAWT6d,EAAMvuC,UAAUmvB,sBAAwB,SAA+BpP,GAGrE,GAFA+R,EAAM9xB,UAAUmvB,sBAAsBtvB,KAAKze,KAAM2+B,GAE7C3+B,KAAKysC,yBAA0B,CACjC,IAAIpN,EAASr/B,KAAK2uB,GAAG,SAEjBxkB,EAAIk1B,EAAO9uB,OAEf,MAAOpG,IACDw0B,IAAUU,EAAOl1B,IAAMw0B,IAAUU,EAAOl1B,GAAGw0B,OAC7C3+B,KAAKgR,KAAKkd,YAAYmR,EAAOl1B,MAiBrCgjD,EAAMvuC,UAAU4wB,wBAA0B,WACxC,GAAiD,oBAAtCxvC,KAAKgR,KAAKw+B,wBACnB,OAAOxvC,KAAKgR,KAAKw+B,0BAGnB,IAAIghB,EAAuB,GAa3B,MAXiD,qBAAtCxwD,KAAKgR,KAAKy/C,yBAAwF,qBAAtCzwD,KAAKgR,KAAK0/C,0BAC/EF,EAAqBG,mBAAqB3wD,KAAKgR,KAAKy/C,wBACpDD,EAAqBI,iBAAmB5wD,KAAKgR,KAAK0/C,yBAGhDllD,EAAOqlD,aAAiD,oBAA3BrlD,EAAOqlD,YAAY76C,IAClDw6C,EAAqBM,aAAetlD,EAAOqlD,YAAY76C,MAC9CxK,EAAOqlD,aAAerlD,EAAOqlD,YAAYE,QAA+D,kBAA9CvlD,EAAOqlD,YAAYE,OAAOC,kBAC7FR,EAAqBM,aAAetlD,EAAOuK,KAAKC,MAAQxK,EAAOqlD,YAAYE,OAAOC,iBAG7ER,GAGFrD,EA1zBG,CA2zBVh0B,IAIF,GAAIlV,KAAU,CASZkpC,GAAM8D,SAAWrlD,EAASyY,cAAc,SACxC,IAAIsa,GAAQ/yB,EAASyY,cAAc,SAEnCsa,GAAMoG,KAAO,WACbpG,GAAMgL,QAAU,KAChBhL,GAAMgC,MAAQ,UACdwsB,GAAM8D,SAASnmC,YAAY6T,IAU7BwuB,GAAM9X,YAAc,WAElB,IACE8X,GAAM8D,SAASxQ,OAAS,GACxB,MAAOl2C,GACP,OAAO,EAGT,SAAU4iD,GAAM8D,WAAY9D,GAAM8D,SAASrhB,cAU7Cud,GAAMvd,YAAc,SAAUlsC,GAC5B,OAAOypD,GAAM8D,SAASrhB,YAAYlsC,IAWpCypD,GAAMtd,cAAgB,SAAUC,EAAQve,GACtC,OAAO47B,GAAMvd,YAAYE,EAAOpsC,OAYlCypD,GAAM+D,iBAAmB,WAEvB,IACE,IAAIzQ,EAAS0M,GAAM8D,SAASxQ,OAG5B,OADA0M,GAAM8D,SAASxQ,OAASA,EAAS,EAAI,GAC9BA,IAAW0M,GAAM8D,SAASxQ,OACjC,MAAOl2C,GACP,OAAO,IAaX4iD,GAAMgE,cAAgB,WACpB,IACE,IAAIj2C,EAAQiyC,GAAM8D,SAAS/1C,MAU3B,OANAiyC,GAAM8D,SAAS/1C,OAASA,EACpBiyC,GAAM8D,SAAS/1C,MACjB8B,GAAamwC,GAAM8D,SAAU,QAAS,SAEtChlC,GAAgBkhC,GAAM8D,SAAU,QAAS,SAEpC/1C,IAAUiyC,GAAM8D,SAAS/1C,MAChC,MAAO3Q,GACP,OAAO,IAWX4iD,GAAMiE,uBAAyB,WAG7B,GAAIluC,GAAcQ,GAAaC,EAAiB,GAC9C,OAAO,EAGT,IACE,IAAIgjC,EAAewG,GAAM8D,SAAStK,aAGlC,OADAwG,GAAM8D,SAAStK,aAAeA,EAAe,EAAI,GAC1CA,IAAiBwG,GAAM8D,SAAStK,aACvC,MAAOp8C,GACP,OAAO,IAYX4iD,GAAMkE,sBAAwB,WAC5B,GAAIztC,EACF,OAAO,EAIT,IACE,IAAI0tC,EAAO,aAEX9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,MAAO,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IAChF9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,MAAO,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IAChF9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,YAAa,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IACtF9sD,OAAO8a,eAAe1T,EAASyY,cAAc,SAAU,YAAa,CAAEpP,IAAKq8C,EAAM5vC,IAAK4vC,IACtF,MAAO/mD,GACP,OAAO,EAGT,OAAO,GAUT4iD,GAAMoE,yBAA2B,WAC/B,OAAOxtC,GAAiBhB,GAAUW,GAUpCypC,GAAMqE,0BAA4B,WAChC,SAAUrE,GAAM8D,WAAY9D,GAAM8D,SAASQ,cAU7CtE,GAAMuE,0BAA4B,WAChC,SAAUvE,GAAM8D,WAAY9D,GAAM8D,SAAS1K,cAS7C4G,GAAMj7B,OAAS,CAAC,YAAa,UAAW,QAAS,QAAS,UAAW,UAAW,iBAAkB,aAAc,UAAW,iBAAkB,UAAW,UAAW,UAAW,SAAU,QAAS,iBAAkB,aAAc,WAAY,OAAQ,QAAS,aAAc,SAAU,gBAQtRi7B,GAAMvuC,UAAUwxB,sBAAwB+c,GAAM+D,mBAQ9C/D,GAAMvuC,UAAUyxB,oBAAsB8c,GAAMgE,gBAW5ChE,GAAMvuC,UAAU2xB,qBAAuB4c,GAAMiE,yBAQ7CjE,GAAMvuC,UAAU4xB,kBAAoB2c,GAAMkE,wBAU1ClE,GAAMvuC,UAAUmwC,yBAA2BhsC,EAW3CoqC,GAAMvuC,UAAU0xB,0BAA2B,EAS3C6c,GAAMvuC,UAAUutB,wBAAyB,EAQzCghB,GAAMvuC,UAAUytB,0BAA2B,EAQ3C8gB,GAAMvuC,UAAU6tB,yBAA2B0gB,GAAMoE,2BAQjDpE,GAAMvuC,UAAU+yC,0BAA4BxE,GAAMqE,4BAQlDrE,GAAMvuC,UAAUgzC,0BAA4BzE,GAAMuE,4BAGlD,IAAI9hB,GAAcud,GAAM8D,UAAY9D,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YACrEiiB,GAAY,4CACZC,GAAQ,eAEZ3E,GAAM4E,iBAAmB,WAInB5uC,GAAmB,IAAQK,IAAeE,EAC5CypC,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAAc,SAAUlsC,GAC3D,OAAIA,GAAQmuD,GAAUjlD,KAAKlJ,GAClB,QAEFksC,GAAYnxB,KAAKze,KAAM0D,IAIvB4f,IACT6pC,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAAc,SAAUlsC,GAC3D,OAAIA,GAAQouD,GAAMllD,KAAKlJ,GACd,QAEFksC,GAAYnxB,KAAKze,KAAM0D,MAKpCypD,GAAM6E,mBAAqB,WACzB,IAAIC,EAAI9E,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAG7C,OADAud,GAAM8D,SAAStsC,YAAY/F,UAAUgxB,YAAcA,GAC5CqiB,GAIT9E,GAAM4E,mBAEN5E,GAAMc,oBAAsB,SAAUj9C,GACpC,GAAKA,EAAL,CAIIA,EAAG2b,YACL3b,EAAG2b,WAAWuB,YAAYld,GAI5B,MAAOA,EAAGy8C,gBACRz8C,EAAGkd,YAAYld,EAAG4Z,YAKpB5Z,EAAGib,gBAAgB,OAII,oBAAZjb,EAAGo6B,MAEZ,WACE,IACEp6B,EAAGo6B,OACH,MAAO7gC,KAHX,KAUJ4iD,GAAMoD,kBAAoB,SAAUv/C,GAClC,GAAKA,EAAL,CAIA,IAAImV,EAAUnV,EAAG6xB,iBAAiB,UAC9B14B,EAAIgc,EAAQ5V,OAEhB,MAAOpG,IACL6G,EAAGkd,YAAY/H,EAAQhc,IAKzB6G,EAAGib,gBAAgB,OAEI,oBAAZjb,EAAGo6B,MAEZ,WACE,IACEp6B,EAAGo6B,OACH,MAAO7gC,KAHX,KAcJ,CAaA,QAgBA,eAcA,WAcA,WAiBA,OAeA,eAAe7F,SAAQ,SAAUkkB,GAC/BukC,GAAMvuC,UAAUgK,GAAQ,WACtB,OAAO5oB,KAAKg3B,IAAIpO,IAAS5oB,KAAKg3B,IAAIgM,aAAapa,OAQnD,CAYA,QAaA,eAaA,WAgBA,OAcA,eAAelkB,SAAQ,SAAUkkB,GAC/BukC,GAAMvuC,UAAU,MAAQuX,GAAYvN,IAAS,SAAU4/B,GACrDxoD,KAAKg3B,IAAIpO,GAAQ4/B,EAEbA,EACFxoD,KAAKg3B,IAAIha,aAAa4L,EAAMA,GAE5B5oB,KAAKg3B,IAAI/K,gBAAgBrD,OAU/B,CAWA,SAYA,cAaA,WAaA,SAaA,SAmBA,UAcA,QAcA,UAaA,WAcA,QAeA,eAkBA,sBAaA,SAiBA,eAmBA,aAaA,aAaA,eAAelkB,SAAQ,SAAUkkB,GAC/BukC,GAAMvuC,UAAUgK,GAAQ,WACtB,OAAO5oB,KAAKg3B,IAAIpO,OAQpB,CAYA,SAYA,MAaA,SAmBA,UAeA,eAkBA,uBAAuBlkB,SAAQ,SAAUkkB,GACvCukC,GAAMvuC,UAAU,MAAQuX,GAAYvN,IAAS,SAAU4/B,GACrDxoD,KAAKg3B,IAAIpO,GAAQ4/B,MAOrB,CAQA,QASA,OASA,QAAQ9jD,SAAQ,SAAUkkB,GACxBukC,GAAMvuC,UAAUgK,GAAQ,WACtB,OAAO5oB,KAAKg3B,IAAIpO,SAIpBuQ,GAAKsX,mBAAmB0c,IAWxBA,GAAM7b,oBAAsB,GAW5B6b,GAAM7b,oBAAoB1B,YAAc,SAAUlsC,GAGhD,IACE,OAAOypD,GAAM8D,SAASrhB,YAAYlsC,GAClC,MAAO6G,GACP,MAAO,KAgBX4iD,GAAM7b,oBAAoBN,gBAAkB,SAAU3qB,EAAQkL,GAG5D,GAAIlL,EAAO3iB,KACT,OAAOypD,GAAM7b,oBAAoB1B,YAAYvpB,EAAO3iB,MAG/C,GAAI2iB,EAAOmZ,IAAK,CACrB,IAAI+U,EAAM/M,GAAiBnhB,EAAOmZ,KAElC,OAAO2tB,GAAM7b,oBAAoB1B,YAAY,SAAW2E,GAG1D,MAAO,IAeT4Y,GAAM7b,oBAAoBG,aAAe,SAAUprB,EAAQ6Y,EAAM3N,GAC/D2N,EAAKoX,OAAOjwB,EAAOmZ,MAMrB2tB,GAAM7b,oBAAoB3yB,QAAU,aAGpCwuC,GAAMxc,sBAAsBwc,GAAM7b,qBAElCnY,GAAK4W,aAAa,QAASod,IAE3B,IAAI+E,GAAoBzsC,EAA2B,CAAC,8KAAgL,CAAC,+KAYjO0sC,GAAwB,CAe5B,WAgBA,QAgBA,UAgBA,UAeA,UAgBA,iBAgBA,aAgBA,aAgBA,SAgBA,eAgBA,mBAKIC,GAAoB,CACtBC,QAAS,UACTC,eAAgB,iBAChBC,QAAS,UACTC,OAAQ,UAGNC,GAAmB,CAAC,OAAQ,SAAU,QAAS,SAAU,QAAS,SAAU,QAE5EC,GAAqB,GASzBD,GAAiB/tD,SAAQ,SAAUkoB,GACjC,IAAI47B,EAAoB,MAAhB57B,EAAEyJ,OAAO,GAAa,KAAOzJ,EAAE+lC,UAAU,GAAK/lC,EAEtD8lC,GAAmB9lC,GAAK,cAAgB47B,KAG1C,IAAIoK,GAAsB,CACxBC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,MAAO,KACPC,OAAQ,KACRC,KAAMnY,KAcJpe,GAAS,SAAUsD,GAerB,SAAStD,EAAOhyB,EAAK2mB,EAASoF,GA4B5B,GA3BA/R,EAAe5kB,KAAM48B,GAGrBhyB,EAAIzH,GAAKyH,EAAIzH,IAAMouB,EAAQpuB,IAAM,aAAe2rB,KAOhDyC,EAAUhW,EAAOqhB,EAAOw2B,eAAexoD,GAAM2mB,GAI7CA,EAAQ6F,cAAe,EAGvB7F,EAAQzH,UAAW,EAGnByH,EAAQmE,SAAU,EAIlBnE,EAAQ8F,qBAAsB,GAGzB9F,EAAQmG,SACX,GAA2B,oBAAhB9sB,EAAIyoD,QAAwB,CACrC,IAAIA,EAAUzoD,EAAIyoD,QAAQ,UAEtBA,GAAWA,EAAQhnC,eACrBkF,EAAQmG,SAAW27B,EAAQhnC,aAAa,aAErC,CACL,IAAIrB,EAAUpgB,EAEd,MAAOogB,GAAgC,IAArBA,EAAQzB,SAAgB,CACxC,GAAI2C,GAAclB,GAASlD,eAAe,QAAS,CACjDyJ,EAAQmG,SAAW1M,EAAQqB,aAAa,QACxC,MAEFrB,EAAUA,EAAQ2B,YAQxB,IAAInjB,EAAQ8b,EAA0BtlB,KAAMkgC,EAAWzhB,KAAKze,KAAM,KAAMuxB,EAASoF,IAsBjF,GApBAntB,EAAMgd,IAAMe,EAAa/d,EAAMstB,KAG/BttB,EAAM8pD,mBAAoB,EAI1B9pD,EAAM+pD,iBAAmB,GAGzB/pD,EAAMiwB,UAAW,EAGjBjwB,EAAM0iC,aAAc,EAGpB1iC,EAAMgqD,aAAc,GAIfhqD,EAAMqtB,WAAartB,EAAMqtB,SAASse,YAAc3rC,EAAMqtB,SAASse,UAAU5kC,OAC5E,MAAM,IAAIoR,MAAM,2HAalB,GATAnY,EAAMoB,IAAMA,EAGZpB,EAAMylD,cAAgBrkD,GAAOshB,GAActhB,GAG3CpB,EAAMkuB,SAASluB,EAAMqtB,SAASa,UAG1BnG,EAAQoG,UAAW,CAErB,IAAI87B,EAAmB,GAEvBjvD,OAAO0lB,oBAAoBqH,EAAQoG,WAAWjzB,SAAQ,SAAUgvD,GAC9DD,EAAiBC,EAAQ5yC,eAAiByQ,EAAQoG,UAAU+7B,MAE9DlqD,EAAMmqD,WAAaF,OAEnBjqD,EAAMmqD,WAAa/2B,EAAOhe,UAAUiY,SAASc,UAI/CnuB,EAAMkrC,OAAS,GAGflrC,EAAMoqD,QAAUriC,EAAQpwB,QAAU,GAGlCqI,EAAMqqD,YAActiC,EAAQ9X,SAG5BjQ,EAAMkrC,OAAO2M,WAAa,EAK1Bz2C,EAAI6O,UAAW,EACf7O,EAAIqhB,gBAAgB,YAGhBrhB,EAAIo4B,aAAa,YACnBx5B,EAAMqtB,SAASnd,UAAW,EAI1BlQ,EAAMkQ,SAASlQ,EAAMqtB,SAASnd,UAShClQ,EAAMsqD,YAAa,EAEnBtqD,EAAMwtB,IAAMxtB,EAAMsgB,WAGlBtgB,EAAMkrC,OAAOqf,iBAAmBvqD,EAAMwqD,sBAGtCt+B,GAAQlsB,EAAO,CAAEmsB,YAAa,QAM9B,IAAIs+B,EAAoBx9B,GAAajtB,EAAMqtB,UAG3C,GAAItF,EAAQ2iC,QAAS,CACnB,IAAIA,EAAU3iC,EAAQ2iC,QAEtB1vD,OAAOC,KAAKyvD,GAASxvD,SAAQ,SAAUgvD,GACrC,GAA6B,oBAAlB1zD,KAAK0zD,GAGd,MAAM,IAAI/xC,MAAM,WAAa+xC,EAAU,oBAFvC1zD,KAAK0zD,GAASQ,EAAQR,MAIvBlqD,GAGLA,EAAMqtB,SAASmC,cAAgBi7B,EAE/BzqD,EAAM2qD,YAAc,GAEpB3qD,EAAM4tB,eAGN5tB,EAAMgwC,QAAuC,UAA/B5uC,EAAI+pB,SAAS7T,eAIvBtX,EAAMiQ,WACRjQ,EAAM4hB,SAAS,wBAEf5hB,EAAM4hB,SAAS,yBAIjB5hB,EAAMwtB,IAAIha,aAAa,OAAQ,UAC3BxT,EAAMgwC,UACRhwC,EAAMwtB,IAAIha,aAAa,aAAcxT,EAAM+tB,SAAS,iBAEpD/tB,EAAMwtB,IAAIha,aAAa,aAAcxT,EAAM+tB,SAAS,iBAGlD/tB,EAAMgwC,WACRhwC,EAAM4hB,SAAS,aAGb5hB,EAAM4qD,qBACR5qD,EAAM4hB,SAAS,eAUZrI,GACHvZ,EAAM4hB,SAAS,oBAIjBwR,EAAOC,QAAQrzB,EAAMstB,KAAOttB,EAG5B,IAAI6qD,EAAehyC,EAAQvC,MAAM,KAAK,GAmBtC,OAjBAtW,EAAM4hB,SAAS,QAAUipC,GAIzB7qD,EAAM8qD,YAAW,GACjB9qD,EAAMoyB,qBAENpyB,EAAMwoB,IAAI,OAAQxoB,EAAM+qD,wBACxB/qD,EAAM9I,GAAG,mBAAoB8I,EAAMgrD,yBACnChrD,EAAM9I,GAAG,aAAc8I,EAAMirD,mBAE7BjrD,EAAMkrD,YAAYlrD,EAAMqtB,SAAS69B,aACjClrD,EAAMmrD,WAAWnrD,EAAMqtB,SAAS89B,YAEhCnrD,EAAMorD,cAAe,EACrBprD,EAAMqrD,sBAAuB,EAC7BrrD,EAAMsrD,iBAAmB,KAClBtrD,EAkmHT,OAp1HAub,EAAS6X,EAAQsD,GA+PjBtD,EAAOhe,UAAUD,QAAU,WAOzB3e,KAAKse,QAAQ,WAEbte,KAAKqe,IAAI,WAELre,KAAK+0D,UAAY/0D,KAAK+0D,SAASpoC,aACjC3sB,KAAK+0D,SAASpoC,WAAWuB,YAAYluB,KAAK+0D,UAC1C/0D,KAAK+0D,SAAW,MAIlBn4B,EAAOC,QAAQ78B,KAAK82B,KAAO,KAEvB92B,KAAK4K,KAAO5K,KAAK4K,IAAIqoB,SACvBjzB,KAAK4K,IAAIqoB,OAAS,MAGhBjzB,KAAKg3B,KAAOh3B,KAAKg3B,IAAI/D,SACvBjzB,KAAKg3B,IAAI/D,OAAS,MAGhBjzB,KAAKspC,QACPtpC,KAAKspC,MAAM3qB,UACX3e,KAAKszD,mBAAoB,EACzBtzD,KAAK4zD,QAAU,IAGb5zD,KAAKg1D,kBACPh1D,KAAKg1D,gBAAkB,MAGrBh1D,KAAK4K,MACP5K,KAAK4K,IAAM,MAGbsoC,GAAoBlzC,MAGpBkgC,EAAWthB,UAAUD,QAAQF,KAAKze,OAWpC48B,EAAOhe,UAAUkL,SAAW,WAC1B,IAAIlf,EAAM5K,KAAK4K,IACXoG,OAAK,EACL89C,EAAiB9uD,KAAKg1D,gBAAkBpqD,EAAI+hB,YAAc/hB,EAAI+hB,WAAWqW,cAAgBp4B,EAAI+hB,WAAWqW,aAAa,mBACrHiyB,EAA8C,aAAnCj1D,KAAK4K,IAAImf,QAAQjJ,cAE5BguC,EACF99C,EAAKhR,KAAKg3B,IAAMpsB,EAAI+hB,WACVsoC,IACVjkD,EAAKhR,KAAKg3B,IAAMkJ,EAAWthB,UAAUkL,SAASrL,KAAKze,KAAM,QAK3D,IAAIS,EAAQyrB,GAActhB,GAE1B,GAAIqqD,EAAU,CACZjkD,EAAKhR,KAAKg3B,IAAMpsB,EAChBA,EAAM5K,KAAK4K,IAAMgB,EAASyY,cAAc,SACxC,MAAOrT,EAAGH,SAASN,OACjB3F,EAAIkgB,YAAY9Z,EAAG4Z,YAGhBG,GAAS/Z,EAAI,aAChBoa,GAASpa,EAAI,YAGfA,EAAG8Z,YAAYlgB,GAEfkkD,EAAiB9uD,KAAKg1D,gBAAkBhkD,EAKxC,CAAC,WAAY,WAAY,cAAe,eAAgB,sBAAuB,OAAQ,QAAS,eAAgB,MAAO,UAAUtM,SAAQ,SAAUkkB,GACzH,qBAAb5X,EAAG4X,KACZhe,EAAIge,GAAQ5X,EAAG4X,OA8DrB,GAxDAhe,EAAIoS,aAAa,WAAY,MAC7Bvc,EAAMy0D,SAAW,KAMbrxC,IACFjZ,EAAIoS,aAAa,OAAQ,eACzBvc,EAAM8/B,KAAO,eAIf31B,EAAIqhB,gBAAgB,SACpBrhB,EAAIqhB,gBAAgB,UAEhB,UAAWxrB,UACNA,EAAMiG,MAEX,WAAYjG,UACPA,EAAMkB,OAGf6C,OAAO0lB,oBAAoBzpB,GAAOiE,SAAQ,SAAU4qD,GAGrC,UAATA,GACFt+C,EAAGqY,WAAa,IAAM5oB,EAAM6uD,GAExB2F,IACFrqD,EAAIye,WAAa,IAAM5oB,EAAM6uD,MAG/Bt+C,EAAGgM,aAAasyC,EAAM7uD,EAAM6uD,IAExB2F,GACFrqD,EAAIoS,aAAasyC,EAAM7uD,EAAM6uD,QAQnC1kD,EAAIukD,SAAWvkD,EAAIzH,GACnByH,EAAIzH,IAAM,aACVyH,EAAIye,UAAY,WAGhBze,EAAIqoB,OAASjiB,EAAGiiB,OAASjzB,KAEzBA,KAAKorB,SAAS,eAK0B,IAApC5f,EAAO2pD,yBAAmC,CAC5Cn1D,KAAK+0D,SAAW3hC,GAAmB,yBACnC,IAAIgiC,EAAkB1mC,GAAE,wBACpB2mC,EAAO3mC,GAAE,QAEb2mC,EAAKxqC,aAAa7qB,KAAK+0D,SAAUK,EAAkBA,EAAgBpzB,YAAcqzB,EAAKzqC,YAGxF5qB,KAAKs1D,OAAQ,EACbt1D,KAAKu1D,QAAS,EAGdv1D,KAAK0G,MAAM1G,KAAK62B,SAASnwB,OACzB1G,KAAK2B,OAAO3B,KAAK62B,SAASl1B,QAC1B3B,KAAKihC,KAAKjhC,KAAK62B,SAASoK,MACxBjhC,KAAKw1D,MAAMx1D,KAAK62B,SAAS2+B,OACzBx1D,KAAKy1D,YAAYz1D,KAAK62B,SAAS4+B,aAK/B,IAFA,IAAIC,EAAQ9qD,EAAImP,qBAAqB,KAE5B5P,EAAI,EAAGA,EAAIurD,EAAMnlD,OAAQpG,IAAK,CACrC,IAAIwrD,EAASD,EAAMpxD,KAAK6F,GAExBihB,GAASuqC,EAAQ,cACjBA,EAAO34C,aAAa,SAAU,UA0BhC,OArBApS,EAAIyiD,kBAAoBziD,EAAI2kD,aAGxB3kD,EAAI+hB,aAAemiC,GACrBlkD,EAAI+hB,WAAW9B,aAAa7Z,EAAIpG,GAQlC8f,GAAU9f,EAAKoG,GACfhR,KAAKi3B,UAAUnQ,QAAQlc,GAIvB5K,KAAKg3B,IAAIha,aAAa,OAAQhd,KAAKqmD,WAEnCrmD,KAAKg3B,IAAMhmB,EAEJA,GAeT4rB,EAAOhe,UAAUlY,MAAQ,SAAepE,GACtC,OAAOtC,KAAKm6B,UAAU,QAAS73B,IAejCs6B,EAAOhe,UAAUjd,OAAS,SAAgBW,GACxC,OAAOtC,KAAKm6B,UAAU,SAAU73B,IAmBlCs6B,EAAOhe,UAAUub,UAAY,SAAmBy7B,EAAYtzD,GAC1D,IAAIuzD,EAAgBD,EAAa,IAEjC,QAAc5vC,IAAV1jB,EACF,OAAOtC,KAAK61D,IAAkB,EAGhC,GAAc,KAAVvzD,EAIF,OAFAtC,KAAK61D,QAAiB7vC,OACtBhmB,KAAK81D,iBAIP,IAAIC,EAAYrzC,WAAWpgB,GAEvBy4C,MAAMgb,GACRvvC,EAAIoB,MAAM,mBAAqBtlB,EAAQ,sBAAwBszD,IAIjE51D,KAAK61D,GAAiBE,EACtB/1D,KAAK81D,mBAmBPl5B,EAAOhe,UAAU42C,MAAQ,SAAejY,GACtC,QAAav3B,IAATu3B,EACF,QAASv9C,KAAKu1D,OAGhBv1D,KAAKu1D,SAAWhY,EAEZA,GACFv9C,KAAKorB,SAAS,aACdprB,KAAKihC,MAAK,IAEVjhC,KAAKurB,YAAY,aAGnBvrB,KAAK81D,kBAmBPl5B,EAAOhe,UAAUqiB,KAAO,SAAcsc,GACpC,QAAav3B,IAATu3B,EACF,QAASv9C,KAAKs1D,MAGhBt1D,KAAKs1D,QAAU/X,EAEXA,GACFv9C,KAAKorB,SAAS,YACdprB,KAAKw1D,OAAM,IAEXx1D,KAAKurB,YAAY,aA0BrBqR,EAAOhe,UAAU62C,YAAc,SAAqBO,GAClD,QAAchwC,IAAVgwC,EACF,OAAOh2D,KAAKi2D,aAId,IAAK,aAAarpD,KAAKopD,GACrB,MAAM,IAAIr0C,MAAM,kGAElB3hB,KAAKi2D,aAAeD,EAIpBh2D,KAAKw1D,OAAM,GAEXx1D,KAAK81D,kBAWPl5B,EAAOhe,UAAUk3C,eAAiB,WAChC,IAAwC,IAApCtqD,EAAO2pD,yBAAX,CAiBA,IAAIzuD,OAAQ,EACR/E,OAAS,EACT8zD,OAAc,EACdS,OAAU,EAKZT,OAFwBzvC,IAAtBhmB,KAAKi2D,cAAoD,SAAtBj2D,KAAKi2D,aAE5Bj2D,KAAKi2D,aACVj2D,KAAKm2D,aAAe,EAEfn2D,KAAKm2D,aAAe,IAAMn2D,KAAKo2D,cAG/B,OAIhB,IAAIC,EAAaZ,EAAY31C,MAAM,KAC/Bw2C,EAAkBD,EAAW,GAAKA,EAAW,GAI/C3vD,OAFkBsf,IAAhBhmB,KAAKu2D,OAECv2D,KAAKu2D,YACavwC,IAAjBhmB,KAAKw2D,QAENx2D,KAAKw2D,QAAUF,EAGft2D,KAAKm2D,cAAgB,IAK7Bx0D,OAFmBqkB,IAAjBhmB,KAAKw2D,QAEEx2D,KAAKw2D,QAGL9vD,EAAQ4vD,EAKjBJ,EADE,aAAatpD,KAAK5M,KAAKmD,MACf,cAAgBnD,KAAKmD,KAErBnD,KAAKmD,KAAO,cAIxBnD,KAAKorB,SAAS8qC,GAEd7iC,GAAerzB,KAAK+0D,SAAU,YAAcmB,EAAU,sBAAwBxvD,EAAQ,wBAA0B/E,EAAS,0BAA4Bu0D,EAAU,sCAA0D,IAAlBI,EAAwB,yBAnE/N,CACE,IAAIr1C,EAAgC,kBAAhBjhB,KAAKu2D,OAAsBv2D,KAAKu2D,OAASv2D,KAAK62B,SAASnwB,MACvE+vD,EAAkC,kBAAjBz2D,KAAKw2D,QAAuBx2D,KAAKw2D,QAAUx2D,KAAK62B,SAASl1B,OAC1E+0D,EAAS12D,KAAKspC,OAAStpC,KAAKspC,MAAMt4B,KAElC0lD,IACEz1C,GAAU,IACZy1C,EAAOhwD,MAAQua,GAEbw1C,GAAW,IACbC,EAAO/0D,OAAS80D,MA0ExB75B,EAAOhe,UAAU02B,UAAY,SAAmBF,EAAU/uB,GACxD,IAAIgP,EAASr1B,KAGTA,KAAKspC,OACPtpC,KAAK22D,cAGP,IAAIC,EAAgBzgC,GAAYif,GAC5ByhB,EAAgBzhB,EAAS/e,OAAO,GAAGvV,cAAgBs0B,EAAS3gC,MAAM,GAGhD,UAAlBmiD,GAA6B52D,KAAK4K,MACpCuuB,GAAK+W,QAAQ,SAAS+d,oBAAoBjuD,KAAK4K,KAC/C5K,KAAK4K,IAAIqoB,OAAS,KAClBjzB,KAAK4K,IAAM,MAGb5K,KAAK82D,UAAYF,EAGjB52D,KAAKy5B,UAAW,EAIhB,IAAI/f,EAAsC,kBAApB1Z,KAAK0Z,YAAkC1Z,KAAK0Z,WAG9Dq9C,EAAc,CAChB1wC,OAAQA,EACR3M,SAAUA,EACV,uBAA0B1Z,KAAK62B,SAASgW,uBACxC,SAAY7sC,KAAKmD,KACjB,OAAUnD,KAAKmD,KAAO,IAAM0zD,EAAgB,OAC5C,YAAe72D,KAAK62B,SAAS6Y,YAC7B,QAAW1vC,KAAK62B,SAASu4B,QACzB,KAAQpvD,KAAK62B,SAASmgC,KACtB,MAASh3D,KAAK62B,SAAS3b,MACvB,OAAUlb,KAAKmB,SACf,SAAYnB,KAAK03B,WACjB,eAAkB13B,KAAKg1D,kBAAmB,EAC1C,SAAUh1D,KAAK62B,SAAS,UACxB,oBAAuB72B,KAAK62B,SAASogC,sBACrC,gBAAmBj3D,KAAK62B,SAAS02B,iBAGnCxhB,GAAIE,MAAMvnC,SAAQ,SAAUgvD,GAC1B,IAAIruD,EAAQ0mC,GAAI2nB,GAEhBqD,EAAY1xD,EAAMqmC,YAAcrW,EAAOhwB,EAAMsmC,gBAG/CpwB,EAAOw7C,EAAa/2D,KAAK62B,SAAS+/B,IAClCr7C,EAAOw7C,EAAa/2D,KAAK62B,SAASggC,IAClCt7C,EAAOw7C,EAAa/2D,KAAK62B,SAASue,EAASt0B,gBAEvC9gB,KAAK4K,MACPmsD,EAAYnsD,IAAM5K,KAAK4K,KAGrByb,GAAUA,EAAOmZ,MAAQx/B,KAAK00C,OAAOlV,KAAOx/B,KAAK00C,OAAOl4B,YAAc,IACxEu6C,EAAYh4B,UAAY/+B,KAAK00C,OAAOl4B,aAItC,IAAI06C,EAAY/9B,GAAK+W,QAAQkF,GAE7B,IAAK8hB,EACH,MAAM,IAAIv1C,MAAM,kBAAqBi1C,EAAgB,cAAkBA,EAAgB,wDAGzF52D,KAAKspC,MAAQ,IAAI4tB,EAAUH,GAG3B/2D,KAAKspC,MAAM3S,MAAMznB,GAAKlP,KAAMA,KAAKm3D,mBAAmB,GAEpDr3B,GAAmBJ,iBAAiB1/B,KAAKo3D,iBAAmB,GAAIp3D,KAAKspC,OAGrE6oB,GAAsBztD,SAAQ,SAAU2C,GACtCguB,EAAO30B,GAAG20B,EAAOiU,MAAOjiC,EAAOguB,EAAO,aAAec,GAAY9uB,GAAS,SAG5E7C,OAAOC,KAAK2tD,IAAmB1tD,SAAQ,SAAU2C,GAC/CguB,EAAO30B,GAAG20B,EAAOiU,MAAOjiC,GAAO,SAAUgwD,GACH,IAAhChiC,EAAOiU,MAAMqd,gBAAwBtxB,EAAOiU,MAAMguB,UACpDjiC,EAAOk+B,iBAAiB3gD,KAAK,CAC3B/P,SAAUwyB,EAAO,aAAe+8B,GAAkB/qD,GAAS,KAAK6H,KAAKmmB,GACrEhuB,MAAOgwD,IAIXhiC,EAAO,aAAe+8B,GAAkB/qD,GAAS,KAAKgwD,SAI1Dr3D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAKu3D,sBACtCv3D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAKw3D,sBACtCx3D,KAAKU,GAAGV,KAAKspC,MAAO,UAAWtpC,KAAKy3D,oBACpCz3D,KAAKU,GAAGV,KAAKspC,MAAO,QAAStpC,KAAK03D,kBAClC13D,KAAKU,GAAGV,KAAKspC,MAAO,UAAWtpC,KAAK23D,oBACpC33D,KAAKU,GAAGV,KAAKspC,MAAO,OAAQtpC,KAAK43D,iBACjC53D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAK63D,sBACtC73D,KAAKU,GAAGV,KAAKspC,MAAO,QAAStpC,KAAK83D,kBAClC93D,KAAKU,GAAGV,KAAKspC,MAAO,iBAAkBtpC,KAAK+3D,2BAC3C/3D,KAAKU,GAAGV,KAAKspC,MAAO,mBAAoBtpC,KAAKg4D,6BAC7Ch4D,KAAKU,GAAGV,KAAKspC,MAAO,QAAStpC,KAAKi4D,kBAClCj4D,KAAKU,GAAGV,KAAKspC,MAAO,iBAAkBtpC,KAAK81D,gBAC3C91D,KAAKU,GAAGV,KAAKspC,MAAO,eAAgBtpC,KAAKk4D,yBACzCl4D,KAAKU,GAAGV,KAAKspC,MAAO,WAAYtpC,KAAKm4D,qBACrCn4D,KAAKU,GAAGV,KAAKspC,MAAO,aAActpC,KAAKo4D,uBAEvCp4D,KAAKq4D,oBAAoBr4D,KAAKs4D,SAAS,aAEnCt4D,KAAKyZ,aAAezZ,KAAKq4D,uBAC3Br4D,KAAKu4D,4BAKHv4D,KAAKspC,MAAMt4B,KAAK2b,aAAe3sB,KAAKgR,MAA2B,UAAlB4lD,GAA8B52D,KAAK4K,KAClF8f,GAAU1qB,KAAKspC,MAAMt4B,KAAMhR,KAAKgR,MAI9BhR,KAAK4K,MACP5K,KAAK4K,IAAIqoB,OAAS,KAClBjzB,KAAK4K,IAAM,OAWfgyB,EAAOhe,UAAU+3C,YAAc,WAC7B,IAAIx6B,EAASn8B,KAGb+rC,GAAIE,MAAMvnC,SAAQ,SAAUgvD,GAC1B,IAAIruD,EAAQ0mC,GAAI2nB,GAEhBv3B,EAAO92B,EAAMsmC,aAAexP,EAAO92B,EAAMqmC,iBAE3C1rC,KAAKo3D,gBAAkBt3B,GAAmBb,iBAAiBj/B,KAAKspC,OAEhEtpC,KAAKy5B,UAAW,EAEhBz5B,KAAKspC,MAAM3qB,UAEX3e,KAAKspC,OAAQ,EAETtpC,KAAKszD,oBACPtzD,KAAK4zD,QAAU,GACf5zD,KAAKse,QAAQ,iBAGfte,KAAKszD,mBAAoB,GAgB3B12B,EAAOhe,UAAUsgB,KAAO,SAAcs5B,GAKpC,YAJexyC,IAAXwyC,GACFhyC,EAAImB,KAAK1F,EAAKiwC,KAGTlyD,KAAKspC,OA0Bd1M,EAAOhe,UAAU25C,0BAA4B,WAE3Cv4D,KAAKy4D,+BAMLz4D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAK04D,kBAKtC14D,KAAKU,GAAGV,KAAKspC,MAAO,aAActpC,KAAK24D,uBACvC34D,KAAKU,GAAGV,KAAKspC,MAAO,YAAatpC,KAAK44D,sBACtC54D,KAAKU,GAAGV,KAAKspC,MAAO,WAAYtpC,KAAK64D,qBAIrC74D,KAAKU,GAAGV,KAAKspC,MAAO,MAAOtpC,KAAK84D,iBAWlCl8B,EAAOhe,UAAU65C,6BAA+B,WAG9Cz4D,KAAKqe,IAAIre,KAAKspC,MAAO,MAAOtpC,KAAK84D,gBACjC94D,KAAKqe,IAAIre,KAAKspC,MAAO,aAActpC,KAAK24D,uBACxC34D,KAAKqe,IAAIre,KAAKspC,MAAO,YAAatpC,KAAK44D,sBACvC54D,KAAKqe,IAAIre,KAAKspC,MAAO,WAAYtpC,KAAK64D,qBACtC74D,KAAKqe,IAAIre,KAAKspC,MAAO,YAAatpC,KAAK04D,mBAUzC97B,EAAOhe,UAAUu4C,iBAAmB,WAkBlC,GAjBAn3D,KAAK25B,eAGD35B,KAAK00C,OAAO+L,QACdzgD,KAAK+4D,UAAU,YAAa/4D,KAAK00C,OAAO+L,QAI1CzgD,KAAKk4D,0BAGLl4D,KAAK+3D,6BAMA/3D,KAAKw/B,OAASx/B,KAAKitD,eAAiBjtD,KAAK4K,KAAO5K,KAAK62B,SAASnd,UAAY1Z,KAAKmhC,SAClF,WAESnhC,KAAK4K,IAAIzJ,OAChB,MAAOoJ,GACPic,EAAI,8CAA+Cjc,KAiBzDqyB,EAAOhe,UAAU24C,qBAAuB,WAGtCv3D,KAAKurB,YAAY,aACjBvrB,KAAKurB,YAAY,eAGjBvrB,KAAK4nB,MAAM,MAKN5nB,KAAKmhC,UAWRnhC,KAAKg5D,YAAW,GAChBh5D,KAAKse,QAAQ,eALbte,KAAKse,QAAQ,aACbte,KAAKse,QAAQ,cASfte,KAAKi5D,gBAAgBj5D,KAAK0Z,aAW5BkjB,EAAOhe,UAAUq6C,gBAAkB,SAAyBv1D,GAC1D,IAAI04B,EAASp8B,KAEb,GAAKA,KAAKspC,OAAyB,kBAAT5lC,EAA1B,CAIA,IAAIwX,EAAQ,WACV,IAAIg+C,EAAkB98B,EAAOlhB,QAE7BkhB,EAAOlhB,OAAM,GAEb,IAAI8+B,EAAc5d,EAAO3f,OAEzB,GAAKu9B,GAAgBA,EAAYhuC,MAASguC,EAAY,SAItD,OAAOA,EAAY,UAAS,SAAUzvC,GAEpC6xB,EAAOlhB,MAAMg+C,OAIbC,OAAU,EAgBd,GAda,QAATz1D,GACFy1D,EAAUn5D,KAAKyc,OAEX08C,GAAWA,EAAQntD,MAAQmtD,EAAQ,UACrCA,EAAQ,UAAS,WACf,OAAOj+C,QAIXi+C,EADkB,UAATz1D,EACCwX,IAEAlb,KAAKyc,OAGZ08C,GAAYA,EAAQntD,MAASmtD,EAAQ,SAI1C,OAAOA,EAAQntD,MAAK,WAClBowB,EAAO9d,QAAQ,CAAE5a,KAAM,mBAAoBgW,SAAUhW,OACpD,UAAS,SAAU6G,GACpB6xB,EAAO9d,QAAQ,CAAE5a,KAAM,mBAAoBgW,SAAUhW,SAiBzDk5B,EAAOhe,UAAUw6C,oBAAsB,WACrC,IAAItpB,EAASpmC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAG7E81B,EAAMsQ,EACNpsC,EAAO,GAEQ,kBAAR87B,IACTA,EAAMsQ,EAAOtQ,IACb97B,EAAOosC,EAAOpsC,MAKhB1D,KAAK00C,OAAOruB,OAASrmB,KAAK00C,OAAOruB,QAAU,GAC3CrmB,KAAK00C,OAAOvuB,QAAUnmB,KAAK00C,OAAOvuB,SAAW,GAGzCqZ,IAAQ97B,IACVA,EAAO+wC,GAAaz0C,KAAMw/B,IAI5Bx/B,KAAK00C,OAAOruB,OAASoQ,GAAa,GAAIqZ,EAAQ,CAAEtQ,IAAKA,EAAK97B,KAAMA,IAShE,IAPA,IAAIixC,EAAkB30C,KAAK00C,OAAOvuB,QAAQ4B,QAAO,SAAU6sB,GACzD,OAAOA,EAAEpV,KAAOoV,EAAEpV,MAAQA,KAExB65B,EAAkB,GAClBC,EAAYt5D,KAAK2uB,GAAG,UACpB4qC,EAAoB,GAEfpvD,EAAI,EAAGA,EAAImvD,EAAU/oD,OAAQpG,IAAK,CACzC,IAAIqvD,EAAYttC,GAAcotC,EAAUnvD,IAExCkvD,EAAgBzmD,KAAK4mD,GAEjBA,EAAUh6B,KAAOg6B,EAAUh6B,MAAQA,GACrC+5B,EAAkB3mD,KAAK4mD,EAAUh6B,KAMjC+5B,EAAkBhpD,SAAWokC,EAAgBpkC,OAC/CvQ,KAAK00C,OAAOvuB,QAAUkzC,EAGZ1kB,EAAgBpkC,SAC1BvQ,KAAK00C,OAAOvuB,QAAU,CAACnmB,KAAK00C,OAAOruB,SAIrCrmB,KAAK00C,OAAOlV,IAAMA,GAwCpB5C,EAAOhe,UAAU44C,qBAAuB,SAA8BnwD,GACpE,IAAIknC,EAASvuC,KAIb,IAAKA,KAAK40D,aAAc,CACtB,IAAI6E,EAAqB,SAA4Bj6B,GACnD,OAAO+O,EAAO6qB,oBAAoB55B,IAEhCk6B,EAAY15D,KAAK25D,gBAAgBn6B,IACjCo6B,EAAWvyD,EAAMm4B,IAoBrB,GAjBIk6B,IAAc,SAAS9sD,KAAK8sD,IAAc,SAAS9sD,KAAKgtD,MAIrD55D,KAAK65D,aAAe75D,KAAK65D,YAAY36B,OAAS06B,GAAY55D,KAAK65D,YAAY5mC,SAAWymC,KACzFD,EAAqB,cAMzBA,EAAmBG,IAMdvyD,EAAMm4B,IAAK,CACd,IAAIs6B,EAAc,SAASA,EAAYvvD,GACrC,GAAe,cAAXA,EAAE7G,KAAsB,CAC1B,IAAIq2D,EAAUxrB,EAAOyrB,QAAQ,cAE7BzrB,EAAOsrB,YAAY36B,KAAO66B,EAC1BxrB,EAAO6qB,oBAAoBW,GAG7BxrB,EAAOjF,MAAMjrB,IAAI,CAAC,YAAa,aAAcy7C,IAG/C95D,KAAKspC,MAAMtX,IAAI,CAAC,YAAa,aAAc8nC,IAG/C95D,KAAK65D,YAAc,CAAE5mC,OAAQjzB,KAAK25D,gBAAgBn6B,IAAKN,KAAM73B,EAAMm4B,KAEnEx/B,KAAKse,QAAQ,CACXkhB,IAAKn4B,EAAMm4B,IACX97B,KAAM,eAkBVk5B,EAAOhe,UAAUo6C,WAAa,SAAoBiB,GAChD,QAAgBj0C,IAAZi0C,EAEF,OAAOj6D,KAAKksC,YAGV+tB,IAAYj6D,KAAKksC,cAIrBlsC,KAAKksC,YAAc+tB,EAEfj6D,KAAKksC,aACPlsC,KAAKorB,SAAS,mBACdprB,KAAKse,QAAQ,cAEbte,KAAKurB,YAAY,qBAcrBqR,EAAOhe,UAAUg5C,gBAAkB,WACjC53D,KAAKurB,YAAY,aACjBvrB,KAAKurB,YAAY,cACjBvrB,KAAKorB,SAAS,eAGdprB,KAAKg5D,YAAW,GAQhBh5D,KAAKse,QAAQ,SAgBfse,EAAOhe,UAAUw5C,sBAAwB,WACnCp4D,KAAKspC,MAAMqd,eAAiB,GAAsC,IAAjC3mD,KAAK00C,OAAOqf,mBAC/C/zD,KAAKuzD,iBAAiB7uD,SAAQ,SAAUw1D,GACtC,OAAOA,EAAOr3D,SAASq3D,EAAO7yD,UAEhCrH,KAAKuzD,iBAAmB,IAE1BvzD,KAAK00C,OAAOqf,iBAAmB/zD,KAAKspC,MAAMqd,eAO1C3mD,KAAKse,QAAQ,eAYfse,EAAOhe,UAAU64C,mBAAqB,WACpC,IAAI9oB,EAAS3uC,KAEbA,KAAKorB,SAAS,eAOdprB,KAAKse,QAAQ,WACbte,KAAKgyB,IAAI,cAAc,WACrB,OAAO2c,EAAOpjB,YAAY,mBAc9BqR,EAAOhe,UAAUu7C,mBAAqB,WACpCn6D,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,YAYfse,EAAOhe,UAAUw7C,0BAA4B,WAC3Cp6D,KAAKurB,YAAY,eAQjBvrB,KAAKse,QAAQ,mBAYfse,EAAOhe,UAAUy7C,mBAAqB,WACpCr6D,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,YAYfse,EAAOhe,UAAU+4C,mBAAqB,WACpC33D,KAAKorB,SAAS,eAOdprB,KAAKse,QAAQ,YAYfse,EAAOhe,UAAU07C,kBAAoB,WACnCt6D,KAAKurB,YAAY,eAOjBvrB,KAAKse,QAAQ,WAcfse,EAAOhe,UAAUi5C,qBAAuB,WAGlC73D,KAAK62B,SAAS0jC,YAChB/zC,EAAImB,KAAK,0EACT3nB,KAAKwc,YAAYxc,KAAK62B,SAAS0jC,YAGjCv6D,KAAKorB,SAAS,mBAUdprB,KAAKse,QAAQ,cAYfse,EAAOhe,UAAUk5C,iBAAmB,WAClC93D,KAAKurB,YAAY,eACjBvrB,KAAKorB,SAAS,cAOdprB,KAAKse,QAAQ,UAYfse,EAAOhe,UAAU84C,iBAAmB,WAClC13D,KAAKorB,SAAS,aACVprB,KAAK62B,SAASmgC,MAChBh3D,KAAKwc,YAAY,GACjBxc,KAAKyc,QACKzc,KAAKmhC,UACfnhC,KAAK0c,QASP1c,KAAKse,QAAQ,UAWfse,EAAOhe,UAAUm5C,0BAA4B,WAC3C/3D,KAAKkd,SAASld,KAAKs4D,SAAS,cAc9B17B,EAAOhe,UAAU85C,iBAAmB,SAA0BrxD,GACvDknB,GAAkBlnB,IAMlBrH,KAAK6zD,YAIN7zD,KAAKmhC,SACP1C,GAAez+B,KAAKyc,QAEpBzc,KAAK0c,UAaTkgB,EAAOhe,UAAUk6C,eAAiB,WAChC94D,KAAKs0D,YAAYt0D,KAAKs0D,eAWxB13B,EAAOhe,UAAU+5C,sBAAwB,WACvC34D,KAAKw6D,cAAgBx6D,KAAKs0D,cAW5B13B,EAAOhe,UAAUg6C,qBAAuB,WAClC54D,KAAKw6D,eACPx6D,KAAK47B,sBAgBTgB,EAAOhe,UAAUi6C,oBAAsB,SAA6BxxD,GAElEA,EAAM6oB,kBAWR0M,EAAOhe,UAAU41C,wBAA0B,WACrCx0D,KAAKggD,eACPhgD,KAAKorB,SAAS,kBAEdprB,KAAKurB,YAAY,mBAarBqR,EAAOhe,UAAU61C,kBAAoB,WACnCz0D,KAAK47B,sBAkBPgB,EAAOhe,UAAUo5C,4BAA8B,SAAqC3wD,EAAOjB,GACrFA,GACFpG,KAAKggD,aAAa55C,EAAK45C,cAQzBhgD,KAAKse,QAAQ,qBAWfse,EAAOhe,UAAUq5C,iBAAmB,WAClC,IAAIrwC,EAAQ5nB,KAAKspC,MAAM1hB,QAEvB5nB,KAAK4nB,MAAMA,IAYbgV,EAAOhe,UAAUu5C,oBAAsB,WACrC,IAAI/xD,EAAO,KAEPsD,UAAU6G,OAAS,IACrBnK,EAAOsD,UAAU,IASnB1J,KAAKse,QAAQ,WAAYlY,IAW3Bw2B,EAAOhe,UAAUw9B,SAAW,WAC1B,OAAOp8C,KAAK00C,QAgBd9X,EAAOhe,UAAUm6C,UAAY,SAAmBpvC,EAAQ4oB,GAGtDvyC,KAAK22B,OAAM,WACT,GAAIhN,KAAUopB,GACZ,OAAOT,GAAMtyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,EAAQ4oB,GAC9C,GAAI5oB,KAAUqpB,GACnB,OAAOR,GAAQxyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,EAAQ4oB,GAGvD,IACMvyC,KAAKspC,OACPtpC,KAAKspC,MAAM3f,GAAQ4oB,GAErB,MAAOhoC,GAEP,MADAic,EAAIjc,GACEA,MAEP,IAgBLqyB,EAAOhe,UAAU05C,SAAW,SAAkB3uC,GAC5C,GAAK3pB,KAAKspC,OAAUtpC,KAAKspC,MAAM7P,SAA/B,CAIA,GAAI9P,KAAUkpB,GACZ,OAAOV,GAAMnyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,GACtC,GAAIA,KAAUqpB,GACnB,OAAOR,GAAQxyC,KAAKm0D,YAAan0D,KAAKspC,MAAO3f,GAM/C,IACE,OAAO3pB,KAAKspC,MAAM3f,KAClB,MAAOpf,GAGP,QAA2Byb,IAAvBhmB,KAAKspC,MAAM3f,GAEb,MADAnD,EAAI,aAAemD,EAAS,2BAA6B3pB,KAAK82D,UAAY,wBAAyBvsD,GAC7FA,EAIR,GAAe,cAAXA,EAAEnI,KAGJ,MAFAokB,EAAI,aAAemD,EAAS,mBAAqB3pB,KAAK82D,UAAY,gCAAiCvsD,GACnGvK,KAAKspC,MAAM7P,UAAW,EAChBlvB,EAKR,MADAic,EAAIjc,GACEA,KAgBVqyB,EAAOhe,UAAUnC,KAAO,WACtB,IAAI2yB,EAASpvC,KAETy6D,EAAez6D,KAAK62B,SAAS6jC,SAAWlvD,EAAOkvD,QAEnD,OAAID,EACK,IAAIA,GAAa,SAAUE,GAChCvrB,EAAOwrB,MAAMD,MAIV36D,KAAK46D,SAcdh+B,EAAOhe,UAAUg8C,MAAQ,WACvB,IAAIC,EAAS76D,KAET6C,EAAW6G,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK+0B,GAWnF,GAPIz+B,KAAK80D,kBACP90D,KAAKqe,IAAI,YAAare,KAAK80D,kBAMxB90D,KAAKy5B,SAcH,KAAKz5B,KAAK40D,eAAiB50D,KAAKw/B,OAASx/B,KAAKitD,cAEnD,YADApqD,EAAS7C,KAAKs4D,SAAS,SAWvBt4D,KAAK80D,iBAAmB,WACtB+F,EAAO/F,iBAAmB,KAC1BjyD,EAASg4D,EAAOp+C,SAGlBzc,KAAKgyB,IAAI,YAAahyB,KAAK80D,sBA/BT,CAGlB,GAAI90D,KAAK60D,qBACP,OAGF70D,KAAK60D,sBAAuB,EAC5B70D,KAAK22B,OAAM,WACTkkC,EAAOhG,sBAAuB,EAC9BhyD,EAASg4D,EAAOp+C,aAiCtBmgB,EAAOhe,UAAUlC,MAAQ,WACvB1c,KAAK+4D,UAAU,UAYjBn8B,EAAOhe,UAAUuiB,OAAS,WAExB,OAAmC,IAA5BnhC,KAAKs4D,SAAS,WAavB17B,EAAOhe,UAAUuvB,OAAS,WACxB,OAAOnuC,KAAKs4D,SAAS,WAAa76B,GAAiB,EAAG,IAgBxDb,EAAOhe,UAAUu9B,UAAY,SAAmB2e,GAC9C,GAA2B,qBAAhBA,EACT,OAAO96D,KAAK8zD,WAEd9zD,KAAK8zD,aAAegH,EAEhBA,EACF96D,KAAKorB,SAAS,iBAEdprB,KAAKurB,YAAY,kBAerBqR,EAAOhe,UAAUpC,YAAc,SAAqBk+B,GAClD,MAAuB,qBAAZA,GACLA,EAAU,IACZA,EAAU,QAEZ16C,KAAK+4D,UAAU,iBAAkBre,KAUnC16C,KAAK00C,OAAOl4B,YAAcxc,KAAKs4D,SAAS,gBAAkB,EACnDt4D,KAAK00C,OAAOl4B,cAqBrBogB,EAAOhe,UAAU1B,SAAW,SAAkBw9B,GAC5C,QAAgB10B,IAAZ00B,EAEF,YAAgC10B,IAAzBhmB,KAAK00C,OAAOx3B,SAAyBld,KAAK00C,OAAOx3B,SAAW2yC,IAGrEnV,EAAUh4B,WAAWg4B,GAGjBA,EAAU,IACZA,EAAUM,KAGRN,IAAY16C,KAAK00C,OAAOx3B,WAE1Bld,KAAK00C,OAAOx3B,SAAWw9B,EAEnBA,IAAYM,IACdh7C,KAAKorB,SAAS,YAEdprB,KAAKurB,YAAY,YAMnBvrB,KAAKse,QAAQ,oBAajBse,EAAOhe,UAAU69B,cAAgB,WAC/B,OAAOz8C,KAAKkd,WAAald,KAAKwc,eAYhCogB,EAAOhe,UAAU49B,qBAAuB,WACtC,OAAOrzC,KAAKyxC,MAAM56C,KAAKkd,YAAc/T,KAAKyxC,MAAM56C,KAAKwc,gBAkBvDogB,EAAOhe,UAAU+e,SAAW,WAC1B,IAAIA,EAAW39B,KAAKs4D,SAAS,YAM7B,OAJK36B,GAAaA,EAASptB,SACzBotB,EAAWF,GAAiB,EAAG,IAG1BE,GAaTf,EAAOhe,UAAU8e,gBAAkB,WACjC,OAAOA,GAAgB19B,KAAK29B,WAAY39B,KAAKkd,aAY/C0f,EAAOhe,UAAU++B,YAAc,WAC7B,IAAIhgB,EAAW39B,KAAK29B,WAChBzgB,EAAWld,KAAKkd,WAChBhU,EAAMy0B,EAASz0B,IAAIy0B,EAASptB,OAAS,GAMzC,OAJIrH,EAAMgU,IACRhU,EAAMgU,GAGDhU,GAiBT0zB,EAAOhe,UAAU6hC,OAAS,SAAgBsa,GACxC,IAAI3Z,OAAM,EAEV,YAAyBp7B,IAArB+0C,GAEF3Z,EAAMj4C,KAAKjD,IAAI,EAAGiD,KAAKnD,IAAI,EAAG0c,WAAWq4C,KACzC/6D,KAAK00C,OAAO+L,OAASW,EACrBphD,KAAK+4D,UAAU,YAAa3X,QAExBA,EAAM,GACRphD,KAAK6gD,YAAYO,MAOrBA,EAAM1+B,WAAW1iB,KAAKs4D,SAAS,WACxBvd,MAAMqG,GAAO,EAAIA,IAgB1BxkB,EAAOhe,UAAU1D,MAAQ,SAAe8/C,GACtC,QAAeh1C,IAAXg1C,EAIJ,OAAOh7D,KAAKs4D,SAAS,WAAY,EAH/Bt4D,KAAK+4D,UAAU,WAAYiC,IAkC/Bp+B,EAAOhe,UAAUq8C,aAAe,SAAsBC,GACpD,YAAsBl1C,IAAlBk1C,EACKl7D,KAAK+4D,UAAU,kBAAmBmC,GAEpCl7D,KAAKs4D,SAAS,kBAAmB,GAmB1C17B,EAAOhe,UAAUiiC,YAAc,SAAqBka,GAClD,QAAyB/0C,IAArB+0C,GAAuD,IAArBA,EAItC,OAAO/6D,KAAK00C,OAAO2M,WAHjBrhD,KAAK00C,OAAO2M,WAAa0Z,GAe7Bn+B,EAAOhe,UAAUqxC,mBAAqB,WACpC,OAAOjwD,KAAKs4D,SAAS,wBAAyB,GAoBhD17B,EAAOhe,UAAUohC,aAAe,SAAsBmb,GACpD,QAAan1C,IAATm1C,EAIJ,QAASn7D,KAAKo7D,cAHZp7D,KAAKo7D,gBAAkBD,GAmB3Bv+B,EAAOhe,UAAUshC,kBAAoB,WACnC,IAAImb,EAAQx9B,GAEZ79B,KAAKggD,cAAa,GAEdqb,EAAMnb,mBASRx/C,GAAGkL,EAAUyvD,EAAMC,iBAAkBpsD,GAAKlP,MAAM,SAASu7D,EAAyBhxD,GAChFvK,KAAKggD,aAAap0C,EAASyvD,EAAMG,qBAGL,IAAxBx7D,KAAKggD,gBACP3hC,GAAIzS,EAAUyvD,EAAMC,iBAAkBC,GAMxCv7D,KAAKse,QAAQ,wBAGfte,KAAKg3B,IAAIqkC,EAAMnb,sBACNlgD,KAAKspC,MAAM2mB,qBAGpBjwD,KAAK+4D,UAAU,oBAIf/4D,KAAKy7D,kBAKLz7D,KAAKse,QAAQ,sBAWjBse,EAAOhe,UAAUqhC,eAAiB,WAChC,IAAIob,EAAQx9B,GAEZ79B,KAAKggD,cAAa,GAGdqb,EAAMnb,kBACRt0C,EAASyvD,EAAMpb,kBACNjgD,KAAKspC,MAAM2mB,qBACpBjwD,KAAK+4D,UAAU,mBAEf/4D,KAAK07D,iBAKL17D,KAAKse,QAAQ,sBAYjBse,EAAOhe,UAAU68C,gBAAkB,WACjCz7D,KAAK27D,cAAe,EAGpB37D,KAAK47D,gBAAkBhwD,EAASohB,gBAAgBvrB,MAAMo6D,SAGtDn7D,GAAGkL,EAAU,UAAWsD,GAAKlP,KAAMA,KAAK87D,qBAGxClwD,EAASohB,gBAAgBvrB,MAAMo6D,SAAW,SAG1CzwC,GAASxf,EAASsO,KAAM,mBAMxBla,KAAKse,QAAQ,oBAYfse,EAAOhe,UAAUk9C,mBAAqB,SAA4Bz0D,GAC1C,KAAlBA,EAAMxD,WACoB,IAAxB7D,KAAKggD,eACPhgD,KAAKigD,iBAELjgD,KAAK07D,mBAYX9+B,EAAOhe,UAAU88C,eAAiB,WAChC17D,KAAK27D,cAAe,EACpBt9C,GAAIzS,EAAU,UAAW5L,KAAK87D,oBAG9BlwD,EAASohB,gBAAgBvrB,MAAMo6D,SAAW77D,KAAK47D,gBAG/CrwC,GAAY3f,EAASsO,KAAM,mBAQ3Bla,KAAKse,QAAQ,mBAgBfse,EAAOhe,UAAUgxB,YAAc,SAAqBlsC,GAIlD,IAHA,IAAIotC,OAAM,EAGD3mC,EAAI,EAAG+qC,EAAIl1C,KAAK62B,SAASse,UAAWhrC,EAAI+qC,EAAE3kC,OAAQpG,IAAK,CAC9D,IAAIirC,EAAWF,EAAE/qC,GACb+0B,EAAO/F,GAAK+W,QAAQkF,GASxB,GALKlW,IACHA,EAAOxI,GAAU+B,aAAa2c,IAI3BlW,GAML,GAAIA,EAAKmW,gBACPvE,EAAM5R,EAAK0Q,YAAYlsC,GAEnBotC,GACF,OAAOA,OATTtqB,EAAIoB,MAAM,QAAUwtB,EAAW,qEAcnC,MAAO,IAgBTxY,EAAOhe,UAAUm9C,aAAe,SAAsB51C,GACpD,IAAI61C,EAASh8D,KAITi8D,EAAQj8D,KAAK62B,SAASse,UAAU9wC,KAAI,SAAU+wC,GAChD,MAAO,CAACA,EAAUjc,GAAK+W,QAAQkF,OAC9BrtB,QAAO,SAAUm0C,GAClB,IAAI9mB,EAAW8mB,EAAK,GAChBh9B,EAAOg9B,EAAK,GAGhB,OAAIh9B,EAEKA,EAAKmW,eAGd7uB,EAAIoB,MAAM,QAAUwtB,EAAW,sEACxB,MAML+mB,EAAiC,SAAwCC,EAAYC,EAAYC,GACnG,IAAI1N,OAAQ,EAYZ,OAVAwN,EAAWhjC,MAAK,SAAUmjC,GACxB,OAAOF,EAAWjjC,MAAK,SAAUojC,GAG/B,GAFA5N,EAAQ0N,EAAOC,EAAaC,GAExB5N,EACF,OAAO,QAKNA,GAGL6N,OAAqB,EACrBC,EAAO,SAAc9qD,GACvB,OAAO,SAAUsV,EAAGy1C,GAClB,OAAO/qD,EAAG+qD,EAAGz1C,KAGb01C,EAAS,SAAgBC,EAAOx2C,GAClC,IAAI+uB,EAAWynB,EAAM,GACjB39B,EAAO29B,EAAM,GAEjB,GAAI39B,EAAK2Q,cAAcxpB,EAAQ21C,EAAOnlC,SAASue,EAASt0B,gBACtD,MAAO,CAAEuF,OAAQA,EAAQ6Y,KAAMkW,IAcnC,OANEqnB,EAFEz8D,KAAK62B,SAASimC,YAEKX,EAA+Bh2C,EAAS81C,EAAOS,EAAKE,IAGpDT,EAA+BF,EAAO91C,EAASy2C,GAG/DH,IAAsB,GAoB/B7/B,EAAOhe,UAAU4gB,IAAM,SAAanZ,GAClC,IAAI02C,EAAU/8D,KAGd,GAAsB,qBAAXqmB,EACT,OAAOrmB,KAAK00C,OAAOlV,KAAO,GAI5B,IAAIrZ,EAAU0uB,GAAaxuB,GAKtBF,EAAQ5V,QAQbvQ,KAAK40D,cAAe,EAEpB50D,KAAK00C,OAAOvuB,QAAUA,EACtBnmB,KAAKo5D,oBAAoBjzC,EAAQ,IAGjCkrB,GAAUrxC,KAAMmmB,EAAQ,IAAI,SAAU62C,EAAkB/pB,GACtD8pB,EAAQ5I,YAAclhB,EAItB8pB,EAAQroB,OAAOvuB,QAAUA,EACzB42C,EAAQ3D,oBAAoB4D,GAE5B,IAAItmD,EAAMqmD,EAAQE,KAAKD,GAEvB,GAAItmD,EACF,OAAIyP,EAAQ5V,OAAS,EACZwsD,EAAQv9B,IAAIrZ,EAAQ1R,MAAM,KAGnCsoD,EAAQnI,cAAe,EAGvBmI,EAAQ/vD,YAAW,WACjBhN,KAAK4nB,MAAM,CAAExR,KAAM,EAAGI,QAASxW,KAAKu3B,SAASv3B,KAAK62B,SAASqmC,yBAC1D,QAIHH,EAAQpjC,gBAKVsY,GAAQgB,EAAK8pB,EAAQzzB,WA1CrBtpC,KAAKgN,YAAW,WACdhN,KAAK4nB,MAAM,CAAExR,KAAM,EAAGI,QAASxW,KAAKu3B,SAASv3B,KAAK62B,SAASqmC,yBAC1D,IA2DPtgC,EAAOhe,UAAUq+C,KAAO,SAAc52C,GACpC,IAAI82C,EAAUn9D,KAEVo9D,EAAap9D,KAAK+7D,aAAa,CAAC11C,IAEpC,OAAK+2C,IAIA9mC,GAAgB8mC,EAAWl+B,KAAMl/B,KAAK82D,YAY3C92D,KAAK22B,OAAM,WAML32B,KAAKspC,MAAM3kB,YAAY/F,UAAUkJ,eAAe,aAClD9nB,KAAK+4D,UAAU,YAAa1yC,GAE5BrmB,KAAK+4D,UAAU,MAAO1yC,EAAOmZ,KAG/Bx/B,KAAK40D,cAAe,KACnB,IAEI,IA1BL50D,KAAK40D,cAAe,EAEpB50D,KAAKs1C,UAAU8nB,EAAWl+B,KAAMk+B,EAAW/2C,QAC3CrmB,KAAKspC,MAAM3S,OAAM,WACfwmC,EAAQvI,cAAe,MAElB,KA4BXh4B,EAAOhe,UAAUwsB,KAAO,WACtBprC,KAAK+4D,UAAU,SAUjBn8B,EAAOhe,UAAUqvB,MAAQ,WACnBjuC,KAAKspC,OACPtpC,KAAKspC,MAAMwE,YAAY,QAEzB9tC,KAAKs1C,UAAUt1C,KAAK62B,SAASse,UAAU,GAAI,MAC3Cn1C,KAAK+4D,UAAU,UAWjBn8B,EAAOhe,UAAUy+C,eAAiB,WAChC,IAAIh3C,EAASrmB,KAAK25D,gBACdxzC,EAAU,GAOd,OAJmC,IAA/B3hB,OAAOC,KAAK4hB,GAAQ9V,QACtB4V,EAAQvT,KAAKyT,GAGRrmB,KAAK00C,OAAOvuB,SAAWA,GAWhCyW,EAAOhe,UAAU+6C,cAAgB,WAC/B,OAAO35D,KAAK00C,OAAOruB,QAAU,IAY/BuW,EAAOhe,UAAUquC,WAAa,WAC5B,OAAOjtD,KAAK25D,iBAAmB35D,KAAK25D,gBAAgBn6B,KAAO,IAa7D5C,EAAOhe,UAAU0+C,YAAc,WAC7B,OAAOt9D,KAAK25D,iBAAmB35D,KAAK25D,gBAAgBj2D,MAAQ,IAe9Dk5B,EAAOhe,UAAUwwC,QAAU,SAAiB9sD,GAC1C,YAAc0jB,IAAV1jB,GACFtC,KAAK+4D,UAAU,aAAcz2D,QAC7BtC,KAAK62B,SAASu4B,QAAU9sD,IAGnBtC,KAAKs4D,SAAS,YAqBvB17B,EAAOhe,UAAUlF,SAAW,SAAkBpX,GAE5C,QAAc0jB,IAAV1jB,EACF,OAAOtC,KAAK62B,SAASnd,WAAY,EAGnC,IAAI6jD,OAAe,EAGE,kBAAVj7D,GAAsB,mBAAmBsK,KAAKtK,IACvDtC,KAAK62B,SAASnd,SAAWpX,EACzBtC,KAAKi5D,gBAAgB32D,GACrBi7D,GAAe,GASfv9D,KAAK62B,SAASnd,WALJpX,EAQZi7D,EAAeA,GAAgBv9D,KAAK62B,SAASnd,SAMzC1Z,KAAKspC,OACPtpC,KAAK+4D,UAAU,cAAewE,IAsBlC3gC,EAAOhe,UAAU8wB,YAAc,SAAqBptC,GAClD,YAAc0jB,IAAV1jB,GACFtC,KAAK+4D,UAAU,iBAAkBz2D,GACjCtC,KAAK62B,SAAS6Y,YAAcptC,EACrBtC,MAEFA,KAAKs4D,SAAS,gBAevB17B,EAAOhe,UAAUo4C,KAAO,SAAc10D,GACpC,YAAc0jB,IAAV1jB,GACFtC,KAAK+4D,UAAU,UAAWz2D,QAC1BtC,KAAK62B,SAASmgC,KAAO10D,IAGhBtC,KAAKs4D,SAAS,SAgBvB17B,EAAOhe,UAAUzd,OAAS,SAAgBq+B,GACxC,QAAYxZ,IAARwZ,EACF,OAAOx/B,KAAK4zD,QAKTp0B,IACHA,EAAM,IAGJA,IAAQx/B,KAAK4zD,UAKjB5zD,KAAK4zD,QAAUp0B,EAGfx/B,KAAK+4D,UAAU,YAAav5B,GAE5Bx/B,KAAKszD,mBAAoB,EASzBtzD,KAAKse,QAAQ,kBAiBfse,EAAOhe,UAAUs5C,wBAA0B,WACzC,KAAMl4D,KAAK4zD,SAAW5zD,KAAK62B,SAASogC,wBAA0Bj3D,KAAKspC,OAAStpC,KAAKspC,MAAMnoC,OAAQ,CAC7F,IAAIq8D,EAAYx9D,KAAKspC,MAAMnoC,UAAY,GAEnCq8D,IAAcx9D,KAAK4zD,UACrB5zD,KAAK4zD,QAAU4J,EACfx9D,KAAKszD,mBAAoB,EAGzBtzD,KAAKse,QAAQ,mBAmBnBse,EAAOhe,UAAUnF,SAAW,SAAkB8jC,GAC5C,QAAav3B,IAATu3B,EACF,QAASv9C,KAAK6zD,UAGhBtW,IAASA,EAGLv9C,KAAK6zD,YAActW,IAIvBv9C,KAAK6zD,UAAYtW,EAEbv9C,KAAKq4D,uBACPr4D,KAAK+4D,UAAU,cAAexb,GAG5Bv9C,KAAK6zD,WACP7zD,KAAKurB,YAAY,yBACjBvrB,KAAKorB,SAAS,wBAKdprB,KAAKse,QAAQ,mBACRte,KAAKq4D,uBACRr4D,KAAKu4D,8BAGPv4D,KAAKurB,YAAY,wBACjBvrB,KAAKorB,SAAS,yBAKdprB,KAAKse,QAAQ,oBACRte,KAAKq4D,uBACRr4D,KAAKy4D,kCAwBX77B,EAAOhe,UAAUy5C,oBAAsB,SAA6B9a,GAClE,QAAav3B,IAATu3B,EACF,QAASv9C,KAAKy9D,qBAGhBlgB,IAASA,EAGLv9C,KAAKy9D,uBAAyBlgB,IAIlCv9C,KAAKy9D,qBAAuBlgB,EAExBv9C,KAAKy9D,sBACPz9D,KAAKorB,SAAS,6BAQdprB,KAAKse,QAAQ,yBAEbte,KAAKurB,YAAY,6BAQjBvrB,KAAKse,QAAQ,0BAkBjBse,EAAOhe,UAAUgJ,MAAQ,SAAelR,GACtC,YAAYsP,IAARtP,EACK1W,KAAKkuC,QAAU,KAIZ,OAARx3B,GACF1W,KAAKkuC,OAASx3B,EACd1W,KAAKurB,YAAY,kBACbvrB,KAAK09D,cACP19D,KAAK09D,aAAa/8D,WAKtBX,KAAKkuC,OAAS,IAAIjQ,GAAWvnB,GAG7B1W,KAAKorB,SAAS,aAId5E,EAAIoB,MAAM,SAAW5nB,KAAKkuC,OAAO93B,KAAO,IAAM6nB,GAAWE,WAAWn+B,KAAKkuC,OAAO93B,MAAQ,IAAKpW,KAAKkuC,OAAO13B,QAASxW,KAAKkuC,aAMvHluC,KAAKse,QAAQ,WAafse,EAAOhe,UAAUgd,mBAAqB,SAA4Bv0B,GAChErH,KAAK29D,eAAgB,GAkBvB/gC,EAAOhe,UAAU01C,WAAa,SAAoB/W,GAChD,QAAav3B,IAATu3B,EACF,OAAOv9C,KAAKwzD,YAKd,GAFAjW,IAASA,EAELA,IAASv9C,KAAKwzD,YAAlB,CAMA,GAFAxzD,KAAKwzD,YAAcjW,EAEfv9C,KAAKwzD,YASP,OARAxzD,KAAK29D,eAAgB,EACrB39D,KAAKurB,YAAY,qBACjBvrB,KAAKorB,SAAS,wBAKdprB,KAAKse,QAAQ,cAYXte,KAAKspC,OACPtpC,KAAKspC,MAAMtX,IAAI,aAAa,SAAUznB,GACpCA,EAAE/B,kBACF+B,EAAE2lB,oBAINlwB,KAAK29D,eAAgB,EACrB39D,KAAKurB,YAAY,mBACjBvrB,KAAKorB,SAAS,qBAKdprB,KAAKse,QAAQ,kBAUfse,EAAOhe,UAAU21C,uBAAyB,WACxC,IAAIqJ,OAAkB,EAClBC,OAAY,EACZC,OAAY,EACZC,EAAiB7uD,GAAKlP,KAAMA,KAAK47B,oBAEjCmhB,EAAkB,SAAyBxyC,GAGzCA,EAAEyzD,UAAYH,GAAatzD,EAAE0zD,UAAYH,IAC3CD,EAAYtzD,EAAEyzD,QACdF,EAAYvzD,EAAE0zD,QACdF,MAIAhkB,EAAkB,WACpBgkB,IAIA/9D,KAAK+P,cAAc6tD,GAInBA,EAAkB59D,KAAK8P,YAAYiuD,EAAgB,MAGjD/gB,EAAgB,SAAuB31C,GACzC02D,IAEA/9D,KAAK+P,cAAc6tD,IAIrB59D,KAAKU,GAAG,YAAaq5C,GACrB/5C,KAAKU,GAAG,YAAaq8C,GACrB/8C,KAAKU,GAAG,UAAWs8C,GAInBh9C,KAAKU,GAAG,UAAWq9D,GACnB/9D,KAAKU,GAAG,QAASq9D,GAOjB,IAAIG,OAAoB,EAExBl+D,KAAK8P,aAAY,WAEf,GAAK9P,KAAK29D,cAAV,CAKA39D,KAAK29D,eAAgB,EAGrB39D,KAAKs0D,YAAW,GAGhBt0D,KAAK+zB,aAAamqC,GAElB,IAAIrqC,EAAU7zB,KAAK62B,SAASqnC,kBAExBrqC,GAAW,IAMfqqC,EAAoBl+D,KAAKgN,YAAW,WAI7BhN,KAAK29D,eACR39D,KAAKs0D,YAAW,KAEjBzgC,OACF,MAkBL+I,EAAOhe,UAAU+nC,aAAe,SAAsBD,GACpD,QAAa1gC,IAAT0gC,EAOJ,OAAI1mD,KAAKspC,OAAStpC,KAAKspC,MAAMiH,qBACpBvwC,KAAK00C,OAAOqf,kBAAoB/zD,KAAKs4D,SAAS,gBAEhD,EAPLt4D,KAAK+4D,UAAU,kBAAmBrS,IA2BtC9pB,EAAOhe,UAAUo1C,oBAAsB,SAA6BtN,GAClE,YAAa1gC,IAAT0gC,EACK1mD,KAAK+4D,UAAU,yBAA0BrS,GAG9C1mD,KAAKspC,OAAStpC,KAAKspC,MAAMiH,qBACpBvwC,KAAKs4D,SAAS,uBAEhB,GAeT17B,EAAOhe,UAAU46B,QAAU,SAAiB+D,GAC1C,QAAav3B,IAATu3B,EAKJ,QAASv9C,KAAKm+D,SAJZn+D,KAAKm+D,WAAa5gB,GA8BtB3gB,EAAOhe,UAAUswB,aAAe,SAAsBnK,EAAMpE,EAAOjJ,GACjE,GAAI13B,KAAKspC,MACP,OAAOtpC,KAAKspC,MAAM4F,aAAanK,EAAMpE,EAAOjJ,IAyBhDkF,EAAOhe,UAAUghB,mBAAqB,SAA4BrO,EAAS8d,GACzE,GAAIrvC,KAAKspC,MACP,OAAOtpC,KAAKspC,MAAM1J,mBAAmBrO,EAAS8d,IAgBlDzS,EAAOhe,UAAUmvB,sBAAwB,WACvC,IAAIqwB,EAAQ10D,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAC5E20D,EAAcD,EAAMz/B,MACpBA,OAAwB3Y,IAAhBq4C,EAA4B30D,UAAU,GAAK20D,EAKvD,GAAIr+D,KAAKspC,MACP,OAAOtpC,KAAKspC,MAAMyE,sBAAsBpP,IAgB5C/B,EAAOhe,UAAU4wB,wBAA0B,WACzC,OAAOxvC,KAAKs4D,SAAS,4BAWvB17B,EAAOhe,UAAUu3C,WAAa,WAC5B,OAAOn2D,KAAKspC,OAAStpC,KAAKspC,MAAM6sB,YAAcn2D,KAAKspC,MAAM6sB,cAAgB,GAW3Ev5B,EAAOhe,UAAUw3C,YAAc,WAC7B,OAAOp2D,KAAKspC,OAAStpC,KAAKspC,MAAM8sB,aAAep2D,KAAKspC,MAAM8sB,eAAiB,GAiB7Ex5B,EAAOhe,UAAU8Y,SAAW,SAAkBthB,GAC5C,QAAa4P,IAAT5P,EACF,OAAOpW,KAAKqmD,UAGdrmD,KAAKqmD,UAAYzgD,OAAOwQ,GAAM0K,eAahC8b,EAAOhe,UAAU+Y,UAAY,WAC3B,OAAOlB,GAAamG,EAAOhe,UAAUiY,SAASc,UAAW33B,KAAK2zD,aAYhE/2B,EAAOhe,UAAU0/C,OAAS,WACxB,IAAI/sC,EAAUkF,GAAaz2B,KAAK62B,UAC5BwI,EAAS9N,EAAQ8N,OAErB9N,EAAQ8N,OAAS,GAEjB,IAAK,IAAIl1B,EAAI,EAAGA,EAAIk1B,EAAO9uB,OAAQpG,IAAK,CACtC,IAAIw0B,EAAQU,EAAOl1B,GAGnBw0B,EAAQlI,GAAakI,GACrBA,EAAM1L,YAASjN,EACfuL,EAAQ8N,OAAOl1B,GAAKw0B,EAGtB,OAAOpN,GAqBTqL,EAAOhe,UAAU2/C,YAAc,SAAqB5zD,EAAS4mB,GAC3D,IAAIitC,EAAUx+D,KAEduxB,EAAUA,GAAW,GACrBA,EAAQ5mB,QAAUA,GAAW,GAE7B,IAAI8zD,EAAQ,IAAIx+B,GAAYjgC,KAAMuxB,GAQlC,OANAvxB,KAAKo4B,SAASqmC,GACdA,EAAM/9D,GAAG,WAAW,WAClB89D,EAAQtwC,YAAYuwC,MAGtBA,EAAM19B,OACC09B,GAUT7hC,EAAOhe,UAAU8/C,yBAA2B,WAC1C,GAAK1+D,KAAK20D,aAOV,IAHA,IAAIgK,EAAoB3+D,KAAK2+D,oBACzB9jC,EAAe76B,KAAK66B,eAEf1wB,EAAI,EAAGA,EAAIsoD,GAAiBliD,OAAQpG,IAAK,CAChD,IAAIy0D,EAAsBnM,GAAiBtoD,GACvC6P,EAAWha,KAAK6+D,aAAaD,GAEjC,GAAI/jC,GAAgB7gB,EAAU,CAG5B,GAAI2kD,IAAsBC,EACxB,OAIED,GACF3+D,KAAKurB,YAAYmnC,GAAmBiM,IAGtC3+D,KAAKorB,SAASsnC,GAAmBkM,IACjC5+D,KAAK8+D,YAAcF,EACnB,SAYNhiC,EAAOhe,UAAUmgD,yBAA2B,WAC1C,IAAI11C,EAAYrpB,KAAKg/D,yBAErBh/D,KAAK8+D,YAAc,GAEfz1C,GACFrpB,KAAKurB,YAAYlC,IA0CrBuT,EAAOhe,UAAU81C,YAAc,SAAqBuK,GAGlD,YAAqBj5C,IAAjBi5C,IAIJj/D,KAAK8+D,YAAc,GACnB9+D,KAAK6+D,aAAetjD,EAAO,GAAIq3C,GAAqBqM,GAIpDj/D,KAAK0+D,4BARInjD,EAAOvb,KAAK6+D,eA4BvBjiC,EAAOhe,UAAU+1C,WAAa,SAAoBryD,GAGhD,QAAc0jB,IAAV1jB,EACF,OAAOtC,KAAKk/D,YAGd58D,EAAQiD,QAAQjD,GAChB,IAAI68D,EAAUn/D,KAAKk/D,YAGnB,OAAI58D,IAAU68D,GAKdn/D,KAAKk/D,YAAc58D,EAIfA,GACFtC,KAAKU,GAAG,eAAgBV,KAAK0+D,0BAC7B1+D,KAAK0+D,6BAIL1+D,KAAKqe,IAAI,eAAgBre,KAAK0+D,0BAC9B1+D,KAAK++D,4BAGAz8D,QAnBP,GA+BFs6B,EAAOhe,UAAU+/C,kBAAoB,WACnC,OAAO3+D,KAAK8+D,aAadliC,EAAOhe,UAAUogD,uBAAyB,WACxC,OAAOtM,GAAmB1yD,KAAK8+D,cAAgB,IAejDliC,EAAOw2B,eAAiB,SAAwBxoD,GAC9C,IAAIw0D,EAAc,CAChBj5C,QAAS,GACTkZ,OAAQ,IAGNggC,EAAanzC,GAActhB,GAC3B00D,EAAYD,EAAW,cAU3B,GARIt0C,GAASngB,EAAK,cAChBy0D,EAAWp+B,MAAO,GAEhBlW,GAASngB,EAAK,eAChBy0D,EAAW7J,OAAQ,GAIH,OAAd8J,EAAoB,CAGtB,IAAIC,EAAkBr9C,EAAeo9C,GAAa,MAC9C5oD,EAAM6oD,EAAgB,GACtBn5D,EAAOm5D,EAAgB,GAEvB7oD,GACF8P,EAAIoB,MAAMlR,GAEZ6E,EAAO8jD,EAAYj5D,GAMrB,GAHAmV,EAAO6jD,EAAaC,GAGhBz0D,EAAI6iD,gBAGN,IAFA,IAAI58C,EAAWjG,EAAI8tB,WAEVvuB,EAAI,EAAG+qC,EAAIrkC,EAASN,OAAQpG,EAAI+qC,EAAG/qC,IAAK,CAC/C,IAAIwgB,EAAQ9Z,EAAS1G,GAEjBq1D,EAAY70C,EAAMgK,SAAS7T,cAEb,WAAd0+C,EACFJ,EAAYj5C,QAAQvT,KAAKsZ,GAAcvB,IAChB,UAAd60C,GACTJ,EAAY//B,OAAOzsB,KAAKsZ,GAAcvB,IAK5C,OAAOy0C,GAYTxiC,EAAOhe,UAAUw1C,kBAAoB,WACnC,IAAI9kC,EAAO1jB,EAASyY,cAAc,KAIlC,QAAS,cAAeiL,EAAK7tB,OAAS,oBAAqB6tB,EAAK7tB,OAAS,iBAAkB6tB,EAAK7tB,OAAS,gBAAiB6tB,EAAK7tB,OAE/H,gBAAiB6tB,EAAK7tB,QAGjBm7B,EAr1HI,CAs1HXlG,IAmDFqV,GAAIE,MAAMvnC,SAAQ,SAAUgvD,GAC1B,IAAIruD,EAAQ0mC,GAAI2nB,GAEhB92B,GAAOhe,UAAUvZ,EAAMqmC,YAAc,WACnC,OAAI1rC,KAAKspC,MACAtpC,KAAKspC,MAAMjkC,EAAMqmC,eAK1B1rC,KAAKqF,EAAMsmC,aAAe3rC,KAAKqF,EAAMsmC,cAAgB,IAAItmC,EAAMkmC,UACxDvrC,KAAKqF,EAAMsmC,kBAStB/O,GAAOC,QAAU,GAEjB,IAAIhwB,GAAYrB,EAAOqB,UAUvB+vB,GAAOhe,UAAUiY,SAAW,CAE1Bse,UAAWhc,GAAK8W,kBAEhBwvB,MAAO,GACPC,MAAO,GAGPxB,kBAAmB,IAGnBjX,cAAe,GAKfp2C,SAAU,CAAC,cAAe,cAAe,mBAAoB,iBAAkB,gBAAiB,aAAc,eAAgB,qBAE9H6mB,SAAU7qB,KAAcA,GAAU8qB,WAAa9qB,GAAU8qB,UAAU,IAAM9qB,GAAU8yD,cAAgB9yD,GAAU6qB,WAAa,KAG1HC,UAAW,GAGXulC,oBAAqB,iDAErBxI,YAAa,GACbC,YAAY,GAGT/wC,GACHgZ,GAAOhe,UAAUiY,SAAShmB,SAAS+B,KAAK,iBAG1C,CAOA,QAOA,UAQA,WAqBA,eAwBA,cAAclO,SAAQ,SAAUkN,GAC9BgrB,GAAOhe,UAAUhN,GAAM,WACrB,OAAO5R,KAAKs4D,SAAS1mD,OAIzBugD,GAAsBztD,SAAQ,SAAU2C,GACtCu1B,GAAOhe,UAAU,aAAeuX,GAAY9uB,GAAS,KAAO,WAC1D,OAAOrH,KAAKse,QAAQjX,OA8DxBqvB,GAAU4F,kBAAkB,SAAUM,IAYtC,IAAIgjC,GAAmB,SASnBC,GAAmB,iBAQnBC,GAAgB,GAYhBC,GAAe,SAAsB39D,GACvC,OAAO09D,GAAch4C,eAAe1lB,IAalC49D,GAAY,SAAmB59D,GACjC,OAAO29D,GAAa39D,GAAQ09D,GAAc19D,QAAQ4jB,GAehDi6C,GAAqB,SAA4BhtC,EAAQ7wB,GAC3D6wB,EAAO4sC,IAAoB5sC,EAAO4sC,KAAqB,GACvD5sC,EAAO4sC,IAAkBz9D,IAAQ,GAiB/B89D,GAAoB,SAA2BjtC,EAAQ9B,EAAMgvC,GAC/D,IAAItR,GAAasR,EAAS,SAAW,IAAM,cAE3CltC,EAAO3U,QAAQuwC,EAAW19B,GAC1B8B,EAAO3U,QAAQuwC,EAAY,IAAM19B,EAAK/uB,KAAM+uB,IAiB1CivC,GAAoB,SAA2Bh+D,EAAMi+D,GACvD,IAAIC,EAAqB,WAQvBJ,GAAkBlgE,KAAM,CAAEoC,KAAMA,EAAMi+D,OAAQA,EAAQx7C,SAAU,OAAQ,GAExE,IAAIA,EAAWw7C,EAAO3hD,MAAM1e,KAAM0J,WAKlC,OAHAu2D,GAAmBjgE,KAAMoC,GACzB89D,GAAkBlgE,KAAM,CAAEoC,KAAMA,EAAMi+D,OAAQA,EAAQx7C,SAAUA,IAEzDA,GAOT,OAJArgB,OAAOC,KAAK47D,GAAQ37D,SAAQ,SAAUkkB,GACpC03C,EAAmB13C,GAAQy3C,EAAOz3C,MAG7B03C,GAmBLC,GAAsB,SAA6Bn+D,EAAMo+D,GAM3D,OAFAA,EAAe5hD,UAAUxc,KAAOA,EAEzB,WACL89D,GAAkBlgE,KAAM,CAAEoC,KAAMA,EAAMi+D,OAAQG,EAAgB37C,SAAU,OAAQ,GAEhF,IAAK,IAAIqB,EAAOxc,UAAU6G,OAAQiO,EAAOra,MAAM+hB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3E5H,EAAK4H,GAAQ1c,UAAU0c,GAGzB,IAAIvB,EAAW,IAAK47C,SAAS7hD,UAAU1P,KAAKwP,MAAM8hD,EAAgB,CAAC,MAAMpiD,OAAO,CAACpe,MAAMoe,OAAOI,MAS9F,OANAxe,KAAKoC,GAAQ,WACX,OAAOyiB,GAGTq7C,GAAkBlgE,KAAM6kB,EAAS67C,gBAE1B77C,IAmBP87C,GAAS,WAUX,SAASA,EAAO1tC,GAGd,GAFArO,EAAe5kB,KAAM2gE,GAEjB3gE,KAAK2kB,cAAgBg8C,EACvB,MAAM,IAAIh/C,MAAM,0DAGlB3hB,KAAKizB,OAASA,EAIdyC,GAAQ11B,aACDA,KAAKse,QAEZ0X,GAASh2B,KAAMA,KAAK2kB,YAAYsR,cAChCgqC,GAAmBhtC,EAAQjzB,KAAKoC,MAIhCpC,KAAK2e,QAAUzP,GAAKlP,KAAMA,KAAK2e,SAG/BsU,EAAOvyB,GAAG,UAAWV,KAAK2e,SA+O5B,OAvOAgiD,EAAO/hD,UAAUyD,QAAU,WACzB,OAAOriB,KAAK2kB,YAAYi8C,SAiB1BD,EAAO/hD,UAAU8hD,aAAe,WAC9B,IAAIvvC,EAAOznB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAK/E,OAHAynB,EAAK/uB,KAAOpC,KAAKoC,KACjB+uB,EAAKkvC,OAASrgE,KAAK2kB,YACnBwM,EAAKtM,SAAW7kB,KACTmxB,GAmBTwvC,EAAO/hD,UAAUN,QAAU,SAAoBjX,GAC7C,IAAI8pB,EAAOznB,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAE/E,OAAO4U,GAAQte,KAAKu0B,YAAaltB,EAAOrH,KAAK0gE,aAAavvC,KAiB5DwvC,EAAO/hD,UAAUsX,mBAAqB,SAA4B3rB,KAYlEo2D,EAAO/hD,UAAUD,QAAU,WACzB,IAAIvc,EAAOpC,KAAKoC,KACZ6wB,EAASjzB,KAAKizB,OASlBjzB,KAAKse,QAAQ,WACbte,KAAKqe,MACL4U,EAAO5U,IAAI,UAAWre,KAAK2e,SAK3BsU,EAAO4sC,IAAkBz9D,IAAQ,EACjCpC,KAAKizB,OAASjzB,KAAKmZ,MAAQ,KAI3B8Z,EAAO7wB,GAAQm+D,GAAoBn+D,EAAM09D,GAAc19D,KAezDu+D,EAAOE,QAAU,SAAiBR,GAChC,IAAIS,EAAsB,kBAAXT,EAAsBL,GAAUK,GAAUA,EAEzD,MAAoB,oBAANS,IAAqBH,EAAO/hD,UAAU6d,cAAcqkC,EAAEliD,YAoBtE+hD,EAAOI,eAAiB,SAAwB3+D,EAAMi+D,GACpD,GAAoB,kBAATj+D,EACT,MAAM,IAAIuf,MAAM,yBAA2Bvf,EAAO,6BAA+C,qBAATA,EAAuB,YAAcoiB,EAAQpiB,IAAS,KAGhJ,GAAI29D,GAAa39D,GACfokB,EAAImB,KAAK,mBAAqBvlB,EAAO,wEAChC,GAAIw6B,GAAOhe,UAAUkJ,eAAe1lB,GACzC,MAAM,IAAIuf,MAAM,yBAA2Bvf,EAAO,0DAGpD,GAAsB,oBAAXi+D,EACT,MAAM,IAAI1+C,MAAM,uBAAyBvf,EAAO,+BAAmD,qBAAXi+D,EAAyB,YAAc77C,EAAQ67C,IAAW,KAepJ,OAZAP,GAAc19D,GAAQi+D,EAIlBj+D,IAASw9D,KACPe,EAAOE,QAAQR,GACjBzjC,GAAOhe,UAAUxc,GAAQg+D,GAAkBh+D,EAAMi+D,GAEjDzjC,GAAOhe,UAAUxc,GAAQm+D,GAAoBn+D,EAAMi+D,IAIhDA,GAWTM,EAAOK,iBAAmB,SAA0B5+D,GAClD,GAAIA,IAASw9D,GACX,MAAM,IAAIj+C,MAAM,mCAEdo+C,GAAa39D,YACR09D,GAAc19D,UACdw6B,GAAOhe,UAAUxc,KAiB5Bu+D,EAAOM,WAAa,WAClB,IAAIh1B,EAAQviC,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAKlF,OAAOC,KAAKq7D,IAExFhoD,OAAS,EAWb,OATAm0B,EAAMvnC,SAAQ,SAAUtC,GACtB,IAAIi+D,EAASL,GAAU59D,GAEnBi+D,IACFvoD,EAASA,GAAU,GACnBA,EAAO1V,GAAQi+D,MAIZvoD,GAcT6oD,EAAOO,iBAAmB,SAA0B9+D,GAClD,IAAIi+D,EAASL,GAAU59D,GAEvB,OAAOi+D,GAAUA,EAAOO,SAAW,IAG9BD,EA/QI,GAgSbA,GAAOX,UAAYA,GAOnBW,GAAOf,iBAAmBA,GAE1Be,GAAOI,eAAenB,GAAkBe,IAOxC/jC,GAAOhe,UAAUuiD,YAAc,SAAU/+D,GACvC,QAASpC,KAAK6/D,MAAsD,IAAjC7/D,KAAK6/D,IAAkBz9D,IAQ5Dw6B,GAAOhe,UAAUwiD,UAAY,SAAUh/D,GACrC,QAAS29D,GAAa39D,IAkExB,IAAIi/D,GAAY,SAAmBr8C,EAAUC,GAC3C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrD,UAAU,4DAAoF,qBAAfqD,EAA6B,YAAcT,EAAQS,KAG9ID,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CACrE+F,YAAa,CACXriB,MAAO0iB,EACPvD,YAAY,EACZyD,UAAU,EACVC,cAAc,KAIdF,IAEFD,EAASs8C,OAASr8C,IAoBlBs8C,GAAW,SAAkBt8C,GAC/B,IAAIu8C,EAAkB93D,UAAU6G,OAAS,QAAsByV,IAAjBtc,UAAU,GAAmBA,UAAU,GAAK,GAEtFsb,EAAW,WACbC,EAAWvG,MAAM1e,KAAM0J,YAGrBvC,EAAU,GAcd,IAAK,IAAI/E,IAZiF,YAA1D,qBAApBo/D,EAAkC,YAAch9C,EAAQg9C,KAC9DA,EAAgB78C,cAAgBngB,OAAOoa,UAAU+F,cACnDK,EAAWw8C,EAAgB78C,aAE7Bxd,EAAUq6D,GAC0B,oBAApBA,IAChBx8C,EAAWw8C,GAGbH,GAAUr8C,EAAUC,GAGH9d,EACXA,EAAQ2gB,eAAe1lB,KACzB4iB,EAASpG,UAAUxc,GAAQ+E,EAAQ/E,IAIvC,OAAO4iB,GASuB,qBAArBy8C,kBAAoCx9C,OAC7CrY,EAASyY,cAAc,SACvBzY,EAASyY,cAAc,SACvBzY,EAASyY,cAAc,SACvBzY,EAASyY,cAAc,aAYzB,IAAIq9C,GAAc,SAAqBv+D,GACrC,OAA2B,IAApBA,EAAGQ,QAAQ,KAAaR,EAAGsR,MAAM,GAAKtR,GAoB/C,SAASgtC,GAAQhtC,EAAIouB,EAASoF,GAC5B,IAAI1D,EAASkd,GAAQwxB,UAAUx+D,GAE/B,GAAI8vB,EAOF,OANI1B,GACF/K,EAAImB,KAAK,WAAaxkB,EAAK,0DAEzBwzB,GACF1D,EAAO0D,MAAMA,GAER1D,EAGT,IAAIjiB,EAAmB,kBAAP7N,EAAkBurB,GAAE,IAAMgzC,GAAYv+D,IAAOA,EAE7D,IAAKmmB,GAAKtY,GACR,MAAM,IAAI4Q,UAAU,sDAGjBhW,EAASsO,KAAKiR,SAASna,IAC1BwV,EAAImB,KAAK,mDAGX4J,EAAUA,GAAW,GAErB4e,GAAQyxB,MAAM,eAAel9D,SAAQ,SAAUm9D,GAC7C,IAAI7wC,EAAO6wC,EAAa7wD,EAAIylB,GAAalF,IAEpC3L,EAASoL,KAAS7sB,MAAMC,QAAQ4sB,GAKrCO,EAAUkF,GAAalF,EAASP,GAJ9BxK,EAAIoB,MAAM,mDASd,IAAIk6C,EAAkBprC,GAAU+B,aAAa,UAQ7C,OANAxF,EAAS,IAAI6uC,EAAgB9wD,EAAIugB,EAASoF,GAE1CwZ,GAAQyxB,MAAM,SAASl9D,SAAQ,SAAUm9D,GACvC,OAAOA,EAAa5uC,MAGfA,EAyFT,GAlFAkd,GAAQ4xB,OAAS,GAejB5xB,GAAQyxB,MAAQ,SAAUl+D,EAAMkO,GAK9B,OAJAu+B,GAAQ4xB,OAAOr+D,GAAQysC,GAAQ4xB,OAAOr+D,IAAS,GAC3CkO,IACFu+B,GAAQ4xB,OAAOr+D,GAAQysC,GAAQ4xB,OAAOr+D,GAAM0a,OAAOxM,IAE9Cu+B,GAAQ4xB,OAAOr+D,IAYxBysC,GAAQ6xB,KAAO,SAAUt+D,EAAMkO,GAC7Bu+B,GAAQyxB,MAAMl+D,EAAMkO,IAYtBu+B,GAAQ8xB,SAAW,SAAUv+D,EAAMkO,GACjCu+B,GAAQyxB,MAAMl+D,EAAM,GAAG0a,OAAOxM,GAAIvN,KAAI,SAAU69D,GAC9C,IAAIh7D,EAAU,SAASA,IAErB,OADAipC,GAAQgyB,WAAWz+D,EAAMwD,GAClBg7D,EAASxjD,WAAMsH,EAAWtc,YAGnC,OAAOxC,OAgBXipC,GAAQgyB,WAAa,SAAUz+D,EAAMkO,GACnC,IAAIvJ,EAAQ8nC,GAAQyxB,MAAMl+D,GAAMC,QAAQiO,GAExC,QAAIvJ,IAAU,KAId8nC,GAAQ4xB,OAAOr+D,GAAQysC,GAAQ4xB,OAAOr+D,GAAM+Q,QAC5C07B,GAAQ4xB,OAAOr+D,GAAMqN,OAAO1I,EAAO,IAE5B,KAI+B,IAApCmD,EAAO2pD,0BAAqClxC,KAAU,CACxD,IAAIxiB,GAAQitB,GAAE,wBAEd,IAAKjtB,GAAO,CACVA,GAAQ2xB,GAAmB,uBAC3B,IAAIiiC,GAAO3mC,GAAE,QAET2mC,IACFA,GAAKxqC,aAAappB,GAAO4zD,GAAKzqC,YAEhCyI,GAAe5xB,GAAO,kJAO1BuxB,GAAiB,EAAGmd,IAOpBA,GAAQywB,QAAUv+C,EAQlB8tB,GAAQ5e,QAAUqL,GAAOhe,UAAUiY,SAQnCsZ,GAAQiyB,WAAa,WACnB,OAAOxlC,GAAOC,SAiBhBsT,GAAQwxB,UAAY,SAAUx+D,GAC5B,IAAI05B,EAAUD,GAAOC,QACjBjyB,OAAM,EAEV,GAAkB,kBAAPzH,EAAiB,CAC1B,IAAIk/D,EAAMX,GAAYv+D,GAClB8vB,EAAS4J,EAAQwlC,GAErB,GAAIpvC,EACF,OAAOA,EAGTroB,EAAM8jB,GAAE,IAAM2zC,QAEdz3D,EAAMzH,EAGR,GAAImmB,GAAK1e,GAAM,CACb,IAAI03D,EAAO13D,EACP23D,EAAUD,EAAKrvC,OACfk8B,EAAWmT,EAAKnT,SAKpB,GAAIoT,GAAW1lC,EAAQsyB,GACrB,OAAOoT,GAAW1lC,EAAQsyB,KAchChf,GAAQqyB,cAAgB,WACtB,OAIEh+D,OAAOC,KAAKm4B,GAAOC,SAASx4B,KAAI,SAAUuoB,GACxC,OAAOgQ,GAAOC,QAAQjQ,MACrB7E,OAAOxiB,UAUd4qC,GAAQtT,QAAUD,GAAOC,QAOzBsT,GAAQ1X,aAAe/B,GAAU+B,aAmBjC0X,GAAQ7T,kBAAoB,SAAUo3B,EAAS+O,GACzCtpC,GAAKG,OAAOmpC,IACdj8C,EAAImB,KAAK,OAAS+rC,EAAU,+GAG9Bh9B,GAAU4F,kBAAkB7d,KAAKiY,GAAWg9B,EAAS+O,IAQvDtyB,GAAQD,QAAU/W,GAAK+W,QAQvBC,GAAQJ,aAAe5W,GAAK4W,aAQ5BI,GAAQ0B,IAAMA,IAWTjuB,GAAUpf,OAAO8a,gBACpB9a,OAAO8a,eAAe6wB,GAAS,aAAc,CAC3C7tC,MAAO,GACPogE,WAAW,EACXjhD,YAAY,IAGdjd,OAAO8a,eAAe6wB,GAAQ2B,WAAY,aAAc,CACtDxvC,MAAOsvC,GACP8wB,WAAW,EACXjhD,YAAY,KAGd0uB,GAAQ2B,WAAa,CAAEF,WAAYA,IASrCzB,GAAQ7rB,QAAUA,EAUlB6rB,GAAQnsB,cAAgBA,EAQxBmsB,GAAQwyB,OAASpB,GAUjBpxB,GAAQ1Z,aAAeA,GAUvB0Z,GAAQjhC,KAAOA,GAoBfihC,GAAQ4wB,eAAiBJ,GAAOI,eAchC5wB,GAAQ6wB,iBAAmBL,GAAOK,iBAclC7wB,GAAQkwB,OAAS,SAAU3M,EAAS2M,GAElC,OADA75C,EAAImB,KAAK,wEACFg5C,GAAOI,eAAerN,EAAS2M,IAcxClwB,GAAQ8wB,WAAaN,GAAOM,WAW5B9wB,GAAQ6vB,UAAYW,GAAOX,UAW3B7vB,GAAQ+wB,iBAAmBP,GAAOO,iBAelC/wB,GAAQyyB,YAAc,SAAUxsD,EAAMhQ,GACpC,IAAIy8D,EAMJ,OAJAzsD,GAAQ,GAAKA,GAAM0K,cAEnBqvB,GAAQ5e,QAAQoG,UAAYlB,GAAa0Z,GAAQ5e,QAAQoG,WAAYkrC,EAAgB,GAAIA,EAAczsD,GAAQhQ,EAAMy8D,IAE9G1yB,GAAQ5e,QAAQoG,UAAUvhB,IAQnC+5B,GAAQ3pB,IAAMA,EACd2pB,GAAQ5oB,aAAeA,EAUvB4oB,GAAQ2yB,gBAAkB3yB,GAAQ1S,iBAAmBA,GASrD0S,GAAQkL,WAAaA,GAarBlL,GAAQ+K,cAAgBA,GASxB/K,GAAQiL,gBAAkBA,GAQ1BjL,GAAQlJ,SAAWA,GAOnBkJ,GAAQvI,cAAgBA,GAOxBuI,GAAQjc,YAAcA,GAUtBic,GAAQzvC,GAAKA,GAObyvC,GAAQne,IAAMA,GAOdme,GAAQ9xB,IAAMA,GAOd8xB,GAAQ7xB,QAAUA,GAalB6xB,GAAQhuB,IAAMA,EAOdguB,GAAQ3G,UAAYA,GAQpB2G,GAAQxF,WAAaA,GAQrBwF,GAAQtF,WAAaA,GA4HrB,CAAC,OAAQ,aAAc,WAAY,WAAY,WAAY,cAAe,cAAe,gBAAiB,gBAAiB,UAAW,gBAAiB,iBAAiBnmC,SAAQ,SAAUkoB,GACxLujB,GAAQvjB,GAAK,WAEX,OADApG,EAAImB,KAAK,WAAaiF,EAAI,qCAAuCA,EAAI,cAC9DgC,GAAIhC,GAAGlO,MAAM,KAAMhV,eAc9BymC,GAAQxnB,cAAgBA,EAMxBwnB,GAAQ4yB,IAAMn0C,GAMduhB,GAAQzjC,IAAMu7B,GAEdhpB,EAAOC,QAAUixB,I,yDC7uxBjB3rC,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEnB,SAAS8qD,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,IAAI5D,EAAS,WACX,SAASA,IACP4xD,EAAgB5vE,KAAMge,GAEtBhe,KAAKke,UAAY,GAuGnB,OA5FAuxD,EAAazxD,EAAQ,CAAC,CACpB9a,IAAK,KACLZ,MAAO,SAAYoB,EAAMya,GAClBne,KAAKke,UAAUxa,KAClB1D,KAAKke,UAAUxa,GAAQ,IAEzB1D,KAAKke,UAAUxa,GAAMkP,KAAKuL,KAW3B,CACDjb,IAAK,MACLZ,MAAO,SAAaoB,EAAMya,GACxB,IAAI9V,OAAQ2d,EAEZ,QAAKhmB,KAAKke,UAAUxa,KAGpB2E,EAAQrI,KAAKke,UAAUxa,GAAMC,QAAQwa,GACrCne,KAAKke,UAAUxa,GAAMqN,OAAO1I,EAAO,GAC5BA,GAAS,KASjB,CACDnF,IAAK,UACLZ,MAAO,SAAiBoB,GACtB,IAAI6a,OAAYyH,EACZ7b,OAAI6b,EACJzV,OAASyV,EACTxH,OAAOwH,EAGX,GADAzH,EAAYve,KAAKke,UAAUxa,GACtB6a,EAOL,GAAyB,IAArB7U,UAAU6G,OAEZ,IADAA,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGsU,KAAKze,KAAM0J,UAAU,SAKpC,IAFA8U,EAAOra,MAAMya,UAAUnK,MAAMgK,KAAK/U,UAAW,GAC7C6G,EAASgO,EAAUhO,OACdpG,EAAI,EAAGA,EAAIoG,IAAUpG,EACxBoU,EAAUpU,GAAGuU,MAAM1e,KAAMwe,KAQ9B,CACDtb,IAAK,UACLZ,MAAO,WACLtC,KAAKke,UAAY,KAWlB,CACDhb,IAAK,OACLZ,MAAO,SAAcwc,GACnB9e,KAAKU,GAAG,QAAQ,SAAU0F,GACxB0Y,EAAYlM,KAAKxM,UAKhB4X,EA3GI,GA8GbkB,EAAQ,WAAalB,EACrBiB,EAAOC,QAAUA,EAAQ,Y,sBCjIzB,kBAGIihG,EADkB,qBAAX30G,OACDA,OACmB,qBAAX40G,EACRA,EACiB,qBAAT76F,KACRA,KAEA,GAGVtG,EAAOC,QAAUihG,I,yCCIjB,IAAIxgB,EAAc,OACdC,EAAmB,CACrB,IAAI,EACJ,IAAM,EACN,IAAM,GAEJC,EAAe,CACjB,OAAS,EACT,QAAU,EACV,KAAO,EACP,MAAQ,EACR,OAAS,GAGX,SAASC,EAAqBx9F,GAC5B,GAAqB,kBAAVA,EACT,OAAO,EAET,IAAIo3C,EAAMkmD,EAAiBt9F,EAAMwe,eACjC,QAAO44B,GAAMp3C,EAAMwe,cAGrB,SAASi/E,EAAiBz9F,GACxB,GAAqB,kBAAVA,EACT,OAAO,EAET,IAAI4jE,EAAQ25B,EAAav9F,EAAMwe,eAC/B,QAAOolD,GAAQ5jE,EAAMwe,cAGvB,SAAS6hD,EAAOz+D,GAEd,IADA,IAAIiG,EAAI,EACDA,EAAIT,UAAU6G,OAAQpG,IAAK,CAChC,IAAI61F,EAAOt2F,UAAUS,GACrB,IAAK,IAAI22D,KAAKk/B,EACZ97F,EAAI48D,GAAKk/B,EAAKl/B,GAIlB,OAAO58D,EAGT,SAASomC,EAAOvL,EAAWC,EAASxU,GAClC,IAAIsU,EAAM9+B,KACN2oE,EAAQ,aAAe/7D,KAAKC,UAAUC,WACtCmzF,EAAU,GAEVt3B,EACF7pC,EAAMlzB,SAASyY,cAAc,UAE7B47E,EAAQx+E,YAAa,EAWvBqd,EAAIytC,cAAe,EAOnB,IAAI2zB,EAAM,GACNC,GAAe,EACfC,EAAarhE,EACbshE,EAAWrhE,EACXshE,EAAQ91E,EACR+1E,EAAU,KACVC,EAAY,GACZC,GAAe,EACfC,EAAQ,OACRC,EAAa,QACbC,EAAY,GACZC,EAAiB,SACjBC,EAAQ,GACRC,EAAS,SAiMb,GA/LAv8F,OAAO8a,eAAewf,EACpB,KAAM6jC,EAAO,GAAIs9B,EAAS,CACxBhrF,IAAK,WACH,OAAOirF,GAETx+E,IAAK,SAASpf,GACZ49F,EAAM,GAAK59F,MAIjBkC,OAAO8a,eAAewf,EACpB,cAAe6jC,EAAO,GAAIs9B,EAAS,CACjChrF,IAAK,WACH,OAAOkrF,GAETz+E,IAAK,SAASpf,GACZ69F,IAAiB79F,MAIvBkC,OAAO8a,eAAewf,EACpB,YAAa6jC,EAAO,GAAIs9B,EAAS,CAC/BhrF,IAAK,WACH,OAAOmrF,GAET1+E,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,EACT,MAAM,IAAIsf,UAAU,uCAEtBw+E,EAAa99F,EACbtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,UAAW6jC,EAAO,GAAIs9B,EAAS,CAC7BhrF,IAAK,WACH,OAAOorF,GAET3+E,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,EACT,MAAM,IAAIsf,UAAU,qCAEtBy+E,EAAW/9F,EACXtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,OAAQ6jC,EAAO,GAAIs9B,EAAS,CAC1BhrF,IAAK,WACH,OAAOqrF,GAET5+E,IAAK,SAASpf,GACZg+F,EAAQ,GAAKh+F,EACbtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,SAAU6jC,EAAO,GAAIs9B,EAAS,CAC5BhrF,IAAK,WACH,OAAOsrF,GAET7+E,IAAK,SAASpf,GACZi+F,EAAUj+F,EACVtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,WAAY6jC,EAAO,GAAIs9B,EAAS,CAC9BhrF,IAAK,WACH,OAAOurF,GAET9+E,IAAK,SAASpf,GACZ,IAAIuf,EAAUi+E,EAAqBx9F,GAEnC,IAAgB,IAAZuf,EACF,MAAM,IAAIC,YAAY,+CAExB0+E,EAAY3+E,EACZ7hB,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,cAAe6jC,EAAO,GAAIs9B,EAAS,CACjChrF,IAAK,WACH,OAAOwrF,GAET/+E,IAAK,SAASpf,GACZm+F,IAAiBn+F,EACjBtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,OAAQ6jC,EAAO,GAAIs9B,EAAS,CAC1BhrF,IAAK,WACH,OAAOyrF,GAETh/E,IAAK,SAASpf,GACZ,GAAqB,kBAAVA,GAAsBA,IAAUq9F,EACzC,MAAM,IAAI79E,YAAY,sDAExB4+E,EAAQp+F,EACRtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,YAAa6jC,EAAO,GAAIs9B,EAAS,CAC/BhrF,IAAK,WACH,OAAO0rF,GAETj/E,IAAK,SAASpf,GACZ,IAAIuf,EAAUk+E,EAAiBz9F,GAC/B,IAAKuf,EACH,MAAM,IAAIC,YAAY,+CAExB6+E,EAAa9+E,EACb7hB,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,WAAY6jC,EAAO,GAAIs9B,EAAS,CAC9BhrF,IAAK,WACH,OAAO2rF,GAETl/E,IAAK,SAASpf,GACZ,GAAIA,EAAQ,GAAKA,EAAQ,IACvB,MAAM,IAAIqf,MAAM,uCAElBi/E,EAAYt+F,EACZtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,gBAAiB6jC,EAAO,GAAIs9B,EAAS,CACnChrF,IAAK,WACH,OAAO4rF,GAETn/E,IAAK,SAASpf,GACZ,IAAIuf,EAAUk+E,EAAiBz9F,GAC/B,IAAKuf,EACH,MAAM,IAAIC,YAAY,+CAExB++E,EAAiBh/E,EACjB7hB,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,OAAQ6jC,EAAO,GAAIs9B,EAAS,CAC1BhrF,IAAK,WACH,OAAO6rF,GAETp/E,IAAK,SAASpf,GACZ,GAAIA,EAAQ,GAAKA,EAAQ,IACvB,MAAM,IAAIqf,MAAM,mCAElBm/E,EAAQx+F,EACRtC,KAAKusE,cAAe,MAI1B/nE,OAAO8a,eAAewf,EACpB,QAAS6jC,EAAO,GAAIs9B,EAAS,CAC3BhrF,IAAK,WACH,OAAO8rF,GAETr/E,IAAK,SAASpf,GACZ,IAAIuf,EAAUk+E,EAAiBz9F,GAC/B,IAAKuf,EACH,MAAM,IAAIC,YAAY,+CAExBi/E,EAASl/E,EACT7hB,KAAKusE,cAAe,MAS1BztC,EAAI6Z,kBAAe3yB,EAEf2iD,EACF,OAAO7pC,EAQXwL,EAAO1rB,UAAUoiF,aAAe,WAE9B,OAAO34D,OAAO0jC,oBAAoBvgE,OAAQxL,KAAKwqB,OAGjDvL,EAAOC,QAAUorB,G,sBChTjB,kBAGI61E,EADkB,qBAAX30G,OACDA,OACmB,qBAAX40G,EACRA,EACiB,qBAAT76F,KACRA,KAEA,GAGVtG,EAAOC,QAAUihG,I,wDCVjB,IAGIrkC,EAAY23C,EACZC,EAJA11G,EAAS,EAAQ,QACjB8jG,EAAY,EAAQ,QAQxB2R,EAAgB,WACd,IAEEtpH,EACAsiE,EAFA+lB,EAAY,EAGdihC,EAAc70G,UAAUX,KAAKQ,KAAKze,MAElCA,KAAK4S,KAAO,SAASxM,GACnB,IAAIutH,EAsBJ,IApBKlnD,GAGHknD,EAAa,IAAI/iD,WAAWnE,EAAOptD,WAAajZ,EAAKA,KAAKiZ,YAC1Ds0G,EAAWjyG,IAAI+qD,GACfknD,EAAWjyG,IAAItb,EAAKA,KAAMqmE,EAAOptD,YACjCotD,EAASknD,GALTlnD,EAASrmE,EAAKA,KAmBTosF,EAAY/lB,EAAOptD,WAAa,EAAGmzE,IACxC,GAA8B,IAA1B/lB,EAAO+lB,EAAY,GAAU,CAE/BroF,EAAIqoF,EAAY,EAChB,MAIJ,MAAOroF,EAAIsiE,EAAOptD,WAGhB,OAAQotD,EAAOtiE,IACf,KAAK,EAEH,GAAsB,IAAlBsiE,EAAOtiE,EAAI,GAAU,CACvBA,GAAK,EACL,MACK,GAAsB,IAAlBsiE,EAAOtiE,EAAI,GAAU,CAC9BA,IACA,MAIEqoF,EAAY,IAAMroF,EAAI,GACxBnK,KAAKse,QAAQ,OAAQmuD,EAAOrtD,SAASozE,EAAY,EAAGroF,EAAI,IAI1D,GACEA,UACqB,IAAdsiE,EAAOtiE,IAAYA,EAAIsiE,EAAOl8D,QACvCiiF,EAAYroF,EAAI,EAChBA,GAAK,EACL,MACF,KAAK,EAEH,GAAsB,IAAlBsiE,EAAOtiE,EAAI,IACO,IAAlBsiE,EAAOtiE,EAAI,GAAU,CACvBA,GAAK,EACL,MAIFnK,KAAKse,QAAQ,OAAQmuD,EAAOrtD,SAASozE,EAAY,EAAGroF,EAAI,IACxDqoF,EAAYroF,EAAI,EAChBA,GAAK,EACL,MACF,QAGEA,GAAK,EACL,MAIJsiE,EAASA,EAAOrtD,SAASozE,GACzBroF,GAAKqoF,EACLA,EAAY,GAGdxyF,KAAKgf,MAAQ,WAEPytD,GAAUA,EAAOptD,WAAa,GAChCrf,KAAKse,QAAQ,OAAQmuD,EAAOrtD,SAASozE,EAAY,IAGnD/lB,EAAS,KACT+lB,EAAY,EACZxyF,KAAKse,QAAQ,UAGjBm1G,EAAc70G,UAAY,IAAIZ,EAK9B01G,EAAkC,CAChCE,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,IAAI,EACJC,IAAI,EACJC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,GAOPz4C,EAAa,WACX,IAEEv2D,EACAsuD,EACA2gD,EACAC,EAEAC,EACAC,EACAC,EARAC,EAAgB,IAAIpB,EAUtB33C,EAAWl9D,UAAUX,KAAKQ,KAAKze,MAC/BulB,EAAOvlB,KAEPA,KAAK4S,KAAO,SAASu1E,GACC,UAAhBA,EAAOzkF,OAGXmwE,EAAUsU,EAAOtU,QACjB2gD,EAAarsC,EAAO/Q,IACpBq9C,EAAatsC,EAAOtJ,IAEpBg2C,EAAcjiH,KAAKu1E,KAGrB0sC,EAAcn0H,GAAG,QAAQ,SAAS0F,GAChC,IACEiB,EAAQ,CACNwsE,QAASA,EACTuD,IAAKo9C,EACL31C,IAAK41C,EACLruH,KAAMA,GAGV,OAAkB,GAAVA,EAAK,IACb,KAAK,EACHiB,EAAMg4E,YAAc,4CACpB,MACF,KAAK,EACHh4E,EAAMg4E,YAAc,WACpBh4E,EAAMynH,YAAc4F,EAAgCtuH,EAAKgZ,SAAS,IAClE,MACF,KAAK,EACH/X,EAAMg4E,YAAc,yBACpBh4E,EAAMynH,YAAc4F,EAAgCtuH,EAAKgZ,SAAS,IAClE/X,EAAM6hD,OAASyrE,EAAyBttH,EAAMynH,aAC9C,MACF,KAAK,EACHznH,EAAMg4E,YAAc,yBACpB,MACF,KAAK,EACHh4E,EAAMg4E,YAAc,6BACpB,MAEF,QACE,MAEF95D,EAAKjH,QAAQ,OAAQjX,MAEvBwtH,EAAcn0H,GAAG,QAAQ,WACvB6kB,EAAKjH,QAAQ,WAGfte,KAAKgf,MAAQ,WACX61G,EAAc71G,SAYhB41G,EAAkB,SAASrsD,EAAOusD,GAChC,IAGE5/E,EACA6/E,EAHAC,EAAY,EACZC,EAAY,EAId,IAAK//E,EAAI,EAAGA,EAAIqzB,EAAOrzB,IACH,IAAd+/E,IACFF,EAAaD,EAAiB5R,gBAC9B+R,GAAaD,EAAYD,EAAa,KAAO,KAG/CC,EAA2B,IAAdC,EAAmBD,EAAYC,GAYhDP,EAAkC,SAAStuH,GACzC,IAIE8uH,EAAWC,EAHX5kH,EAASnK,EAAKiZ,WACd+1G,EAAoC,GACpCjrH,EAAI,EAIN,MAAOA,EAAIoG,EAAS,EACF,IAAZnK,EAAK+D,IAA4B,IAAhB/D,EAAK+D,EAAI,IAA4B,IAAhB/D,EAAK+D,EAAI,IACjDirH,EAAkCxiH,KAAKzI,EAAI,GAC3CA,GAAK,GAELA,IAMJ,GAAiD,IAA7CirH,EAAkC7kH,OACpC,OAAOnK,EAIT8uH,EAAY3kH,EAAS6kH,EAAkC7kH,OACvD4kH,EAAU,IAAIvkD,WAAWskD,GACzB,IAAIG,EAAc,EAElB,IAAKlrH,EAAI,EAAGA,EAAI+qH,EAAWG,IAAelrH,IACpCkrH,IAAgBD,EAAkC,KAEpDC,IAEAD,EAAkCr1G,SAEpCo1G,EAAQhrH,GAAK/D,EAAKivH,GAGpB,OAAOF,GAYTR,EAA2B,SAASvuH,GAClC,IAME0uH,EAAkB/V,EAAYE,EAAUD,EACxCsW,EAAiBC,EACjBC,EAAgCC,EAChCC,EACAC,EACAC,EACAC,EACAC,EACA3rH,EAbA4rH,EAAsB,EACtBC,EAAuB,EACvBC,EAAqB,EACrBC,EAAwB,EACxBC,EAAW,EAkBb,GAPArB,EAAmB,IAAIhT,EAAU17G,GACjC24G,EAAa+V,EAAiB1R,mBAC9BpE,EAAuB8V,EAAiB1R,mBACxCnE,EAAW6V,EAAiB1R,mBAC5B0R,EAAiBhS,wBAGb4Q,EAAgC3U,KAClCuW,EAAkBR,EAAiB9R,wBACX,IAApBsS,GACFR,EAAiBvS,SAAS,GAE5BuS,EAAiBhS,wBACjBgS,EAAiBhS,wBACjBgS,EAAiBvS,SAAS,GACtBuS,EAAiB3R,eAEnB,IADAyS,EAAwC,IAApBN,EAAyB,EAAI,GAC5CnrH,EAAI,EAAGA,EAAIyrH,EAAkBzrH,IAC5B2qH,EAAiB3R,eAEjByR,EADEzqH,EAAI,EACU,GAEA,GAFI2qH,GAY9B,GAHAA,EAAiBhS,wBACjByS,EAAkBT,EAAiB9R,wBAEX,IAApBuS,EACFT,EAAiB9R,6BACZ,GAAwB,IAApBuS,EAKT,IAJAT,EAAiBvS,SAAS,GAC1BuS,EAAiB/R,gBACjB+R,EAAiB/R,gBACjByS,EAAiCV,EAAiB9R,wBAC7C74G,EAAI,EAAGA,EAAIqrH,EAAgCrrH,IAC9C2qH,EAAiB/R,gBAsBrB,GAlBA+R,EAAiBhS,wBACjBgS,EAAiBvS,SAAS,GAE1BkT,EAAsBX,EAAiB9R,wBACvC0S,EAA4BZ,EAAiB9R,wBAE7C2S,EAAmBb,EAAiBrS,SAAS,GACpB,IAArBkT,GACFb,EAAiBvS,SAAS,GAG5BuS,EAAiBvS,SAAS,GACtBuS,EAAiB3R,gBACnB4S,EAAsBjB,EAAiB9R,wBACvCgT,EAAuBlB,EAAiB9R,wBACxCiT,EAAqBnB,EAAiB9R,wBACtCkT,EAAwBpB,EAAiB9R,yBAEvC8R,EAAiB3R,eAEf2R,EAAiB3R,cAAe,CAGlC,OADA2S,EAAiBhB,EAAiB1R,mBAC1B0S,GACN,KAAK,EAAGD,EAAW,CAAC,EAAG,GAAI,MAC3B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,EAAGA,EAAW,CAAC,GAAI,IAAK,MAC7B,KAAK,GAAIA,EAAW,CAAC,GAAI,IAAK,MAC9B,KAAK,GAAIA,EAAW,CAAC,GAAI,IAAK,MAC9B,KAAK,GAAIA,EAAW,CAAC,GAAI,IAAK,MAC9B,KAAK,GAAIA,EAAW,CAAC,IAAK,IAAK,MAC/B,KAAK,GAAIA,EAAW,CAAC,EAAG,GAAI,MAC5B,KAAK,GAAIA,EAAW,CAAC,EAAG,GAAI,MAC5B,KAAK,GAAIA,EAAW,CAAC,EAAG,GAAI,MAC5B,KAAK,IACHA,EAAW,CAACf,EAAiB1R,oBAAsB,EACvC0R,EAAiB1R,mBACjB0R,EAAiB1R,oBAAsB,EACvC0R,EAAiB1R,oBAC7B,MAGAyS,IACFM,EAAWN,EAAS,GAAKA,EAAS,IAIxC,MAAO,CACL9W,WAAYA,EACZE,SAAUA,EACVD,qBAAsBA,EACtBt4G,MAAOyC,KAAK6hE,MAAmC,IAA3ByqD,EAAsB,GAAiC,EAAtBM,EAAiD,EAAvBC,GAA4BG,GAC3Gx0H,QAAU,EAAIg0H,IAAqBD,EAA4B,GAAK,GAA4B,EAArBO,EAAmD,EAAxBC,KAK5Gp6C,EAAWl9D,UAAY,IAAIZ,EAE3BiB,EAAOC,QAAU,CACf48D,WAAYA,EACZ23C,cAAeA,I,kCC3ZjBjvH,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAI+nH,EAAiB,WAAe,SAASC,EAAchlC,EAAKn7E,GAAK,IAAIogH,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAW7pH,OAAKolB,EAAW,IAAM,IAAK,IAAiC1iB,EAA7BovB,EAAK4yD,EAAI7gE,OAAOC,cAAmB8lG,GAAMlnH,EAAKovB,EAAGqf,QAAQy/B,MAAOg5C,GAAK,EAA6B,GAArBD,EAAK33G,KAAKtP,EAAGhB,OAAY6H,GAAKogH,EAAKh6G,SAAWpG,EAAG,MAAW,MAAOuM,GAAO+zG,GAAK,EAAM7pH,EAAK8V,EAAO,QAAU,KAAW8zG,GAAM93F,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAI+3F,EAAI,MAAM7pH,GAAQ,OAAO2pH,EAAQ,OAAO,SAAUjlC,EAAKn7E,GAAK,GAAIhG,MAAMC,QAAQkhF,GAAQ,OAAOA,EAAY,GAAI7gE,OAAOC,YAAYlgB,OAAO8gF,GAAQ,OAAOglC,EAAchlC,EAAKn7E,GAAa,MAAM,IAAIyX,UAAU,yDAAlkB,GAErB,SAASshD,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,IAAI8mF,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAKxCorC,EAAY,SAAmBz3F,EAAO03F,GAGxC,IAFA,IAAIx3F,EAAOF,EAAME,KAER10B,EAAI,EAAGA,EAAI00B,EAAKtuB,OAAQpG,IAAK,CACpC,IAAI20B,EAAMD,EAAK10B,GAEf,GAAIksH,GAAav3F,EAAIw3F,aAAeD,GAAav3F,EAAIy3F,UACnD,OAAOz3F,EAGX,OAAO,MAGL22E,EAAe,SAAsBxhC,EAAOt1C,GAC9C,IAAIm8C,EAASpxE,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,EAAIA,UAAU,GAEjF,GAAKuqE,EAAMsG,SAOX,IAHA,IAAI87C,EAAYv7C,EACZh8C,OAAM9Y,EAED7b,EAAI,EAAGA,EAAI8pE,EAAMsG,SAAShqE,OAAQpG,IAAK,CAC9C,IAAIwvE,EAAU1F,EAAMsG,SAASpwE,GAU7B,GARK20B,IAKHA,EAAMs3F,EAAUz3F,EAAO03F,EAAY18C,EAAQz8D,SAAW,IAGpD4hB,EAAK,CACP,GAAI,UAAW66C,EAAS,CAEtB76C,EAAIE,QAAUq3F,EACdv3F,EAAIy3F,UAAYF,EAChBA,GAAa18C,EAAQz8D,SACrB4hB,EAAM,KACN,SAGF,GAAIu3F,EAAYv3F,EAAIE,QAAS,CAE3Bq3F,GAAa18C,EAAQz8D,SACrB,SAIF4hB,EAAIE,SAAW26C,EAAQz8D,cAWvB,GATI,WAAYy8D,IACd76C,EAAM,IAAImsD,EAAe,WAAW3gD,OAAO+rF,EAAWA,EAAY18C,EAAQz8D,SAAUy8D,EAAQ68C,QAC5F13F,EAAIw3F,YAAcD,EAGlBv3F,EAAIy3F,UAAYF,EAAY3zG,WAAWi3D,EAAQ68C,QAC/C73F,EAAMkB,OAAOf,IAGX,eAAgB66C,EAAS,CAE3B,IAAI88C,OAAWzwG,EACX0wG,OAAU1wG,EAKV2wG,EAAgCh9C,EAAQi9C,WAAW92G,MAAM,KAAKzb,IAAIqe,YAElEm0G,EAAiCxM,EAAesM,EAA+B,GAEnFF,EAAWI,EAA+B,GAC1CH,EAAUG,EAA+B,GAEzC/3F,EAAM,IAAImsD,EAAe,WAAW3gD,OAAO+rF,EAAWA,EAAY18C,EAAQz8D,SAAU,IACpF4hB,EAAIw3F,YAAcD,EAAYI,EAC9B33F,EAAIy3F,UAAYz3F,EAAIw3F,YAAcI,EAClC/3F,EAAMkB,OAAOf,GAGjBu3F,GAAa18C,EAAQz8D,WAIzBgC,EAAQ,WAAa,CACnBu2F,aAAcA,EACd2gB,UAAWA,GAEbn3G,EAAOC,QAAUA,EAAQ,Y,kCCjEzB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEnB,SAAS8qD,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,IAAIk1G,EAAa,WACf,IAAIC,EAAS,CAAC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,KACjDC,EAAWD,EAAO,GAClBE,EAAWF,EAAO,GAClBG,EAAOF,EAAS,GAChBG,EAAUF,EAAS,GACnB9sH,OAAI6b,EACJmB,OAAInB,EACJoxG,OAAOpxG,EACP8uE,EAAI,GACJuiC,EAAK,GACLC,OAAKtxG,EACLuxG,OAAKvxG,EACLwxG,OAAKxxG,EACL4uB,OAAI5uB,EACJyxG,OAAOzxG,EACP0xG,OAAO1xG,EAGX,IAAK7b,EAAI,EAAGA,EAAI,IAAKA,IACnBktH,GAAIviC,EAAE3qF,GAAKA,GAAK,EAAe,KAAVA,GAAK,IAAYA,GAAKA,EAG7C,IAAKgd,EAAIiwG,EAAO,GAAIF,EAAK/vG,GAAIA,GAAKmwG,GAAM,EAAGF,EAAOC,EAAGD,IAAS,EAY5D,IAVAxiF,EAAIwiF,EAAOA,GAAQ,EAAIA,GAAQ,EAAIA,GAAQ,EAAIA,GAAQ,EACvDxiF,EAAIA,GAAK,EAAQ,IAAJA,EAAU,GACvBsiF,EAAK/vG,GAAKytB,EACVuiF,EAAQviF,GAAKztB,EAGbqwG,EAAK1iC,EAAEyiC,EAAKziC,EAAEwiC,EAAKxiC,EAAE3tE,KACrBuwG,EAAY,SAALF,EAAsB,MAALD,EAAoB,IAALD,EAAiB,SAAJnwG,EACpDswG,EAAc,IAAP3iC,EAAElgD,GAAiB,SAAJA,EAEjBzqC,EAAI,EAAGA,EAAI,EAAGA,IACjB6sH,EAAS7sH,GAAGgd,GAAKswG,EAAOA,GAAQ,GAAKA,IAAS,EAC9CR,EAAS9sH,GAAGyqC,GAAK8iF,EAAOA,GAAQ,GAAKA,IAAS,EAKlD,IAAKvtH,EAAI,EAAGA,EAAI,EAAGA,IACjB6sH,EAAS7sH,GAAK6sH,EAAS7sH,GAAGsK,MAAM,GAChCwiH,EAAS9sH,GAAK8sH,EAAS9sH,GAAGsK,MAAM,GAElC,OAAOsiH,GAELY,EAAY,KAUZC,EAAM,WACR,SAASA,EAAI10H,GACX0sE,EAAgB5vE,KAAM43H,GAgBjBD,IACHA,EAAYb,KAGd92H,KAAK63H,QAAU,CAAC,CAACF,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,SAAU,CAACkjH,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,QAASkjH,EAAU,GAAG,GAAGljH,UACpQ,IAAItK,OAAI6b,EACJkvB,OAAIlvB,EACJ8xG,OAAM9xG,EACN+xG,OAAS/xG,EACTgyG,OAAShyG,EACTkxG,EAAOl3H,KAAK63H,QAAQ,GAAG,GACvBZ,EAAWj3H,KAAK63H,QAAQ,GACxBI,EAAS/0H,EAAIqN,OACb2nH,EAAO,EAEX,GAAe,IAAXD,GAA2B,IAAXA,GAA2B,IAAXA,EAClC,MAAM,IAAIt2G,MAAM,wBAQlB,IALAo2G,EAAS70H,EAAIuR,MAAM,GACnBujH,EAAS,GACTh4H,KAAKomB,KAAO,CAAC2xG,EAAQC,GAGhB7tH,EAAI8tH,EAAQ9tH,EAAI,EAAI8tH,EAAS,GAAI9tH,IACpC2tH,EAAMC,EAAO5tH,EAAI,IAGbA,EAAI8tH,IAAW,GAAgB,IAAXA,GAAgB9tH,EAAI8tH,IAAW,KACrDH,EAAMZ,EAAKY,IAAQ,KAAO,GAAKZ,EAAKY,GAAO,GAAK,MAAQ,GAAKZ,EAAKY,GAAO,EAAI,MAAQ,EAAIZ,EAAW,IAANY,GAG1F3tH,EAAI8tH,IAAW,IACjBH,EAAMA,GAAO,EAAIA,IAAQ,GAAKI,GAAQ,GACtCA,EAAOA,GAAQ,EAAkB,KAAbA,GAAQ,KAIhCH,EAAO5tH,GAAK4tH,EAAO5tH,EAAI8tH,GAAUH,EAInC,IAAK5iF,EAAI,EAAG/qC,EAAG+qC,IAAK/qC,IAClB2tH,EAAMC,EAAW,EAAJ7iF,EAAQ/qC,EAAIA,EAAI,GAE3B6tH,EAAO9iF,GADL/qC,GAAK,GAAK+qC,EAAI,EACJ4iF,EAEAb,EAAS,GAAGC,EAAKY,IAAQ,KAAOb,EAAS,GAAGC,EAAKY,GAAO,GAAK,MAAQb,EAAS,GAAGC,EAAKY,GAAO,EAAI,MAAQb,EAAS,GAAGC,EAAW,IAANY,IA+D5I,OA5CAroD,EAAamoD,EAAK,CAAC,CACjB10H,IAAK,UACLZ,MAAO,SAAiB4uE,EAAYC,EAAYC,EAAYC,EAAY8mD,EAAKr9C,GAC3E,IAAI53E,EAAMlD,KAAKomB,KAAK,GAEhBc,EAAIgqD,EAAahuE,EAAI,GACrBy5D,EAAI0U,EAAanuE,EAAI,GACrBwoB,EAAI0lD,EAAaluE,EAAI,GACrB4xF,EAAI3jB,EAAajuE,EAAI,GACrBk1H,OAAKpyG,EACLslD,OAAKtlD,EACLqyG,OAAKryG,EAGLsyG,EAAep1H,EAAIqN,OAAS,EAAI,EAChCpG,OAAI6b,EACJuyG,EAAS,EACT/vC,EAAQxoF,KAAK63H,QAAQ,GAGrBW,EAAShwC,EAAM,GACfiwC,EAASjwC,EAAM,GACfkwC,EAASlwC,EAAM,GACfmwC,EAASnwC,EAAM,GACf0uC,EAAO1uC,EAAM,GAGjB,IAAKr+E,EAAI,EAAGA,EAAImuH,EAAcnuH,IAC5BiuH,EAAKI,EAAOtxG,IAAM,IAAMuxG,EAAO97D,GAAK,GAAK,KAAO+7D,EAAOhtG,GAAK,EAAI,KAAOitG,EAAW,IAAJ7jC,GAAW5xF,EAAIq1H,GAC7FjtD,EAAKktD,EAAO77D,IAAM,IAAM87D,EAAO/sG,GAAK,GAAK,KAAOgtG,EAAO5jC,GAAK,EAAI,KAAO6jC,EAAW,IAAJzxG,GAAWhkB,EAAIq1H,EAAS,GACtGF,EAAKG,EAAO9sG,IAAM,IAAM+sG,EAAO3jC,GAAK,GAAK,KAAO4jC,EAAOxxG,GAAK,EAAI,KAAOyxG,EAAW,IAAJh8D,GAAWz5D,EAAIq1H,EAAS,GACtGzjC,EAAI0jC,EAAO1jC,IAAM,IAAM2jC,EAAOvxG,GAAK,GAAK,KAAOwxG,EAAO/7D,GAAK,EAAI,KAAOg8D,EAAW,IAAJjtG,GAAWxoB,EAAIq1H,EAAS,GACrGA,GAAU,EACVrxG,EAAIkxG,EAAGz7D,EAAI2O,EAAG5/C,EAAI2sG,EAIpB,IAAKluH,EAAI,EAAGA,EAAI,EAAGA,IACjBguH,GAAK,GAAKhuH,GAAK2wE,GAAUo8C,EAAKhwG,IAAM,KAAO,GAAKgwG,EAAKv6D,GAAK,GAAK,MAAQ,GAAKu6D,EAAKxrG,GAAK,EAAI,MAAQ,EAAIwrG,EAAS,IAAJpiC,GAAW5xF,EAAIq1H,KAC1HH,EAAKlxG,EAAEA,EAAIy1C,EAAEA,EAAIjxC,EAAEA,EAAIopE,EAAEA,EAAIsjC,MAK5BR,EAhIC,GAmIV14G,EAAQ,WAAa04G,EACrB34G,EAAOC,QAAUA,EAAQ,Y,qBCpPzBD,EAAOC,QAAU,IAA0B,4B,kCCC3C,IAAI1T,EAAS,EAAQ,QACjBotH,EAAa,EAAQ,QACrBC,EAAe,EAAQ,QACvBC,EAAQ,EAAQ,QAcpB,SAASC,EAAap8C,EAAOj4D,GACzB,IAAK,IAAIva,EAAI,EAAGA,EAAIwyE,EAAMpsE,OAAQpG,IAC9Bua,EAASi4D,EAAMxyE,IAIvB,SAAS6uH,EAAQ90H,GACb,IAAI,IAAIiG,KAAKjG,EACT,GAAGA,EAAI4jB,eAAe3d,GAAI,OAAO,EAErC,OAAO,EAGX,SAAS8uH,EAAWhwF,EAAK1X,EAAS1uB,GAC9B,IAAIqS,EAAS+zB,EAYb,OAVI2vF,EAAWrnG,IACX1uB,EAAW0uB,EACQ,kBAAR0X,IACP/zB,EAAS,CAAC+zB,IAAIA,KAGlB/zB,EAAS4jH,EAAMvnG,EAAS,CAAC0X,IAAKA,IAGlC/zB,EAAOrS,SAAWA,EACXqS,EAGX,SAASgkH,EAAUjwF,EAAK1X,EAAS1uB,GAE7B,OADA0uB,EAAU0nG,EAAWhwF,EAAK1X,EAAS1uB,GAC5Bs2H,EAAW5nG,GAGtB,SAAS4nG,EAAW5nG,GAChB,GAA+B,qBAArBA,EAAQ1uB,SACd,MAAM,IAAI8e,MAAM,6BAGpB,IAAIy3G,GAAS,EACTv2H,EAAW,SAAgB6T,EAAKyyB,EAAUjvB,GACtCk/G,IACAA,GAAS,EACT7nG,EAAQ1uB,SAAS6T,EAAKyyB,EAAUjvB,KAIxC,SAASm/G,IACkB,IAAnBl3G,EAAIgR,YACJnmB,WAAWssH,EAAU,GAI7B,SAASC,IAEL,IAAIr/G,OAAO8L,EAQX,GALI9L,EADAiI,EAAIgnB,SACGhnB,EAAIgnB,SAEJhnB,EAAIklE,cAAgBmyC,EAAOr3G,GAGlCs3G,EACA,IACIv/G,EAAOhV,KAAK2jC,MAAM3uB,GACpB,MAAO3P,IAGb,OAAO2P,EAGX,SAASw/G,EAAUC,GAMf,OALA5lG,aAAa6lG,GACRD,aAAeh4G,QAChBg4G,EAAM,IAAIh4G,MAAM,IAAMg4G,GAAO,kCAEjCA,EAAIvyC,WAAa,EACVvkF,EAAS82H,EAAKE,GAIzB,SAASP,IACL,IAAInyC,EAAJ,CACA,IAAIplF,EACJgyB,aAAa6lG,GAGT73H,EAFDwvB,EAAQuoG,aAAuB9zG,IAAb7D,EAAIpgB,OAEZ,IAEgB,OAAfogB,EAAIpgB,OAAkB,IAAMogB,EAAIpgB,OAE9C,IAAIonC,EAAW0wF,EACXnjH,EAAM,KAiBV,OAfe,IAAX3U,GACAonC,EAAW,CACPjvB,KAAMq/G,IACNnyC,WAAYrlF,EACZ4nB,OAAQA,EACRqxE,QAAS,GACTtuF,IAAKu8B,EACL8wF,WAAY53G,GAEbA,EAAI63G,wBACH7wF,EAAS6xD,QAAU69B,EAAa12G,EAAI63G,2BAGxCtjH,EAAM,IAAIiL,MAAM,iCAEb9e,EAAS6T,EAAKyyB,EAAUA,EAASjvB,OAG5C,IAUIhX,EACAikF,EAXAhlE,EAAMoP,EAAQpP,KAAO,KAEpBA,IAEGA,EADAoP,EAAQ2X,MAAQ3X,EAAQuoG,OAClB,IAAIZ,EAAUe,eAEd,IAAIf,EAAUgB,gBAM5B,IAMIN,EANA3wF,EAAM9mB,EAAIzV,IAAM6kB,EAAQ0X,KAAO1X,EAAQ7kB,IACvCid,EAASxH,EAAIwH,OAAS4H,EAAQ5H,QAAU,MACxCzP,EAAOqX,EAAQrX,MAAQqX,EAAQnrB,KAC/B40F,EAAU74E,EAAI64E,QAAUzpE,EAAQypE,SAAW,GAC3CxhE,IAASjI,EAAQiI,KACjBigG,GAAS,EAETI,EAAkB,CAClB3/G,UAAM8L,EACNg1E,QAAS,GACT5T,WAAY,EACZz9D,OAAQA,EACRjd,IAAKu8B,EACL8wF,WAAY53G,GA0ChB,GAvCI,SAAUoP,IAA4B,IAAjBA,EAAQgO,OAC7Bk6F,GAAS,EACTz+B,EAAQ,WAAaA,EAAQ,YAAcA,EAAQ,UAAY,oBAChD,QAAXrxE,GAA+B,SAAXA,IACpBqxE,EAAQ,iBAAmBA,EAAQ,kBAAoBA,EAAQ,gBAAkB,oBACjF9gF,EAAOhV,KAAKC,WAA2B,IAAjBosB,EAAQgO,KAAgBrlB,EAAOqX,EAAQgO,QAIrEpd,EAAIisF,mBAAqBirB,EACzBl3G,EAAIssB,OAAS6qF,EACbn3G,EAAIusB,QAAUgrF,EAEdv3G,EAAIg4G,WAAa,aAGjBh4G,EAAIi4G,QAAU,WACVjzC,GAAU,GAEdhlE,EAAIk4G,UAAYX,EAChBv3G,EAAI4e,KAAKpX,EAAQsf,GAAMzP,EAAMjI,EAAQ+oG,SAAU/oG,EAAQgpG,UAEnD/gG,IACArX,EAAIurF,kBAAoBn8E,EAAQm8E,kBAK/Bl0E,GAAQjI,EAAQsC,QAAU,IAC3B+lG,EAAe5sH,YAAW,WACtB,IAAIm6E,EAAJ,CACAA,GAAU,EACVhlE,EAAIqwD,MAAM,WACV,IAAIjoE,EAAI,IAAIoX,MAAM,0BAClBpX,EAAE6L,KAAO,YACTsjH,EAAUnvH,MACXgnB,EAAQsC,UAGX1R,EAAIq4G,iBACJ,IAAIt3H,KAAO83F,EACJA,EAAQlzE,eAAe5kB,IACtBif,EAAIq4G,iBAAiBt3H,EAAK83F,EAAQ93F,SAGvC,GAAIquB,EAAQypE,UAAYg+B,EAAQznG,EAAQypE,SAC3C,MAAM,IAAIr5E,MAAM,qDAkBpB,MAfI,iBAAkB4P,IAClBpP,EAAIqoF,aAAej5E,EAAQi5E,cAG3B,eAAgBj5E,GACc,oBAAvBA,EAAQkpG,YAEflpG,EAAQkpG,WAAWt4G,GAMvBA,EAAIu4G,KAAKxgH,GAAQ,MAEViI,EAKX,SAASq3G,EAAOr3G,GACZ,GAAyB,aAArBA,EAAIqoF,aACJ,OAAOroF,EAAIw4G,YAEf,IAAIC,EAAwBz4G,EAAIw4G,aAA4D,gBAA7Cx4G,EAAIw4G,YAAY3tG,gBAAgB2H,SAC/E,MAAyB,KAArBxS,EAAIqoF,cAAwBowB,EAIzB,KAHIz4G,EAAIw4G,YAMnB,SAASrpE,KA1OTryC,EAAOC,QAAUg6G,EACjBA,EAAUgB,eAAiB1uH,EAAO0uH,gBAAkB5oE,EACpD4nE,EAAUe,eAAiB,oBAAqB,IAAKf,EAAUgB,eAAoBhB,EAAUgB,eAAiB1uH,EAAOyuH,eAErHlB,EAAa,CAAC,MAAO,MAAO,OAAQ,QAAS,OAAQ,WAAW,SAASpvG,GACrEuvG,EAAqB,WAAXvvG,EAAsB,MAAQA,GAAU,SAASsf,EAAK1X,EAAS1uB,GAGrE,OAFA0uB,EAAU0nG,EAAWhwF,EAAK1X,EAAS1uB,GACnC0uB,EAAQ5H,OAASA,EAAO5C,cACjBoyG,EAAW5nG,Q,kCCF1B/sB,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAET,IAAIu4H,EAAY,SAAmBp1H,EAAO0E,GACxC,OAAO1E,EAAM+3B,MAAMrzB,GAAK,IAAM1E,EAAMyD,IAAIiB,IAStC2wH,EAAkB,SAAyBvwH,EAAGJ,GAChD,IAAI7H,EAAQiI,EAAEkW,SAAS,IAEvB,MAAO,KAAKkyC,UAAU,EAAG,EAAIrwD,EAAMiO,QAAUjO,GAAS6H,EAAI,EAAI,IAAM,KAElE4wH,EAAoB,SAA2BxwH,GACjD,OAAIA,GAAK,IAAQA,EAAI,IACZ3E,OAAO8oE,aAAankE,GAEtB,KAaLm/F,EAA4B,SAAmClzF,GACjE,IAAIwkH,EAAe,GAgBnB,OAdAx2H,OAAOC,KAAK+R,GAAS9R,SAAQ,SAAUxB,GACrC,IAAIZ,EAAQkU,EAAQtT,GAEhB+3H,YAAYC,OAAO54H,GACrB04H,EAAa93H,GAAO,CAClB4uE,MAAOxvE,EAAMmqE,OACbgE,WAAYnuE,EAAMmuE,WAClBpxD,WAAY/c,EAAM+c,YAGpB27G,EAAa93H,GAAOZ,KAIjB04H,GAOLpvC,EAAgB,SAAuBhS,GACzC,IAAIqS,EAAYrS,EAAYqS,WAAa,CACvC17E,OAAQyqC,IACR8/B,OAAQ,GAGV,MAAO,CAACmR,EAAU17E,OAAQ07E,EAAUnR,OAAQlB,EAAYjF,aAAavtD,KAAK,MAMxEyxF,EAAQ,CACVsiB,QAAS,SAAiB/0H,GAOxB,IANA,IAAI0rE,EAAQ3tE,MAAMya,UAAUnK,MAAMgK,KAAKrY,GACnCD,EAAO,GACP2R,EAAS,GACTu/B,OAAMrxB,EACNo1G,OAAQp1G,EAEHkvB,EAAI,EAAGA,EAAI48B,EAAMvhE,OAASpK,EAAM+uC,IACvCmC,EAAMy6B,EAAMr9D,MAAMygC,EAAI/uC,EAAM+uC,EAAI/uC,EAAOA,GAAM9B,IAAIy2H,GAAiB1zG,KAAK,IACvEg0G,EAAQtpD,EAAMr9D,MAAMygC,EAAI/uC,EAAM+uC,EAAI/uC,EAAOA,GAAM9B,IAAI02H,GAAmB3zG,KAAK,IAC3EtP,GAAUu/B,EAAM,IAAM+jF,EAAQ,KAEhC,OAAOtjH,GAETujH,QAAS,SAAiBzwH,GACxB,OAAOiuG,EAAMsiB,QAAQvwH,EAAIknE,QAE3BwpD,WAAY,SAAoBj+F,GAC9B,IAAIvlB,EAAS,GACT3N,OAAI6b,EAER,IAAK7b,EAAI,EAAGA,EAAIkzB,EAAO9sB,OAAQpG,IAC7B2N,GAAU+iH,EAAUx9F,EAAQlzB,GAAK,IAEnC,OAAO2N,GAET4xF,0BAA2BA,EAC3B9d,cAAeA,GAGjB1sE,EAAQ,WAAa25F,EACrB55F,EAAOC,QAAUA,EAAQ,Y,mBCnHzBD,EAAOC,QAAU,kiB,kCCEjB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAIi5H,EAAW/2H,OAAO+W,QAAU,SAAU9K,GAAU,IAAK,IAAItG,EAAI,EAAGA,EAAIT,UAAU6G,OAAQpG,IAAK,CAAE,IAAIkc,EAAS3c,UAAUS,GAAI,IAAK,IAAIjH,KAAOmjB,EAAc7hB,OAAOoa,UAAUkJ,eAAerJ,KAAK4H,EAAQnjB,KAAQuN,EAAOvN,GAAOmjB,EAAOnjB,IAAY,OAAOuN,GAEnPg/D,EAAe,WAAc,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA7gB,GAEf++E,EAAU,EAAQ,QAElBC,EAAW5gC,EAAuB2gC,GAElCh2B,EAAc,EAAQ,QAEtBC,EAAe5K,EAAuB2K,GAEtCE,EAAe,EAAQ,QAEvBC,EAAgB9K,EAAuB6K,GAE3C,SAAS7K,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASmiF,EAA2Bx+E,EAAM9G,GAAQ,IAAK8G,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAO/G,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B8G,EAAP9G,EAElO,SAAS4iD,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GA0Bje,IAAIqjB,EAAS,SAAU07D,GAGrB,SAAS17D,IACPsnC,EAAgB5vE,KAAMsoC,GAEtB,IAAI9+B,EAAQu6F,EAA2B/jG,MAAOsoC,EAAOjjB,WAAa7gB,OAAOsxE,eAAextC,IAAS7pB,KAAKze,OAEtGwJ,EAAMgyH,WAAa,IAAI1tD,EAAa,WACpCtkE,EAAM46E,YAAc,IAAIpW,EAAc,WACtCxkE,EAAMgyH,WAAW38G,KAAKrV,EAAM46E,aAE5B,IAAI7+D,EAAO/b,EAEPiyH,EAAO,GACPC,EAAa,GAEbC,OAAa,EAEbv1G,OAAO,EACPkrC,EAAO,aACPsqE,EAAqB,CACvB,MAAS,GACT,MAAS,GACT,kBAAmB,GACnB,UAAa,IAGX1pC,EAAkB,EAkRtB,OA/QA1oF,EAAMukG,SAAW,CACf8tB,YAAY,EACZ/U,oBAAqB,GACrBvsC,SAAU,IAIZ/wE,EAAM46E,YAAY1jF,GAAG,QAAQ,SAAUwP,GACrC,IAAIwjG,OAAa,EACbooB,OAAY,GAEhB,CACElxH,IAAK,YAEF,CACC,cAAe,WACb5K,KAAK+tG,SAAS8tB,WAAa3rH,EAAM6rH,QAC3B,YAAa7rH,IACjBlQ,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,iCAEXxW,KAAK+tG,SAAS8tB,YAAa,IAG/B5vC,UAAW,WACT,IAAIA,EAAY,GAEZ,WAAY/7E,IACdwrH,EAAWzvC,UAAYA,EACvBA,EAAU17E,OAASL,EAAMK,OAEnB,WAAYL,IAChBlQ,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,8BAEXtG,EAAM4qE,OAAS,IAGf,WAAY5qE,IACdwrH,EAAWzvC,UAAYA,EACvBA,EAAUnR,OAAS5qE,EAAM4qE,SAG7BkhD,QAAS,WACPh8H,KAAK+tG,SAAS55B,SAAU,GAE1B8nD,IAAK,WACG,kBAAmBj8H,KAAK+tG,WAC5B/tG,KAAK+tG,SAASrf,cAAgB,EAC9B1uF,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,uCAGP,0BAA2BxW,KAAK+tG,WACpC/tG,KAAK+tG,SAASgZ,sBAAwB,EACtC/mH,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,+CAGTtG,EAAMgN,SAAW,IACnBw+G,EAAWx+G,SAAWhN,EAAMgN,UAGP,IAAnBhN,EAAMgN,WACRw+G,EAAWx+G,SAAW,IACtBld,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,qDAIbxW,KAAK+tG,SAASxzB,SAAWkhD,GAE3Bv4H,IAAK,WACEgN,EAAM+Z,WAOqB,SAA5B/Z,EAAM+Z,WAAWiyG,OAIhBhsH,EAAM+Z,WAAWkyG,KAMjBjsH,EAAM+Z,WAAWiyG,QACpBl8H,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,qCAKb4P,EAAO,CACLuD,OAAQzZ,EAAM+Z,WAAWiyG,QAAU,UACnCjzF,IAAK/4B,EAAM+Z,WAAWkyG,KAGW,qBAAxBjsH,EAAM+Z,WAAWmyG,KAC1Bh2G,EAAKujF,GAAKz5F,EAAM+Z,WAAWmyG,KAlB3Bp8H,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,yCALX4P,EAAO,KAPPpmB,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,qDA+Bf,iBAAkB,WACXg5D,SAASt/D,EAAMmsH,QAMpBr8H,KAAK+tG,SAASrf,cAAgBx+E,EAAMmsH,OALlCr8H,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,oCAAsCtG,EAAMmsH,UAM3D,yBAA0B,WACnB7sD,SAASt/D,EAAMmsH,SAMpBr8H,KAAK+tG,SAASgZ,sBAAwB72G,EAAMmsH,OAC5CnqC,EAAkBhiF,EAAMmsH,QANtBr8H,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,4CAA8CtG,EAAMmsH,UAOnE,gBAAiB,WACV,YAAYzvH,KAAKsD,EAAMosH,cAM5Bt8H,KAAK+tG,SAASuuB,aAAepsH,EAAMosH,aALjCt8H,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,mCAAqCtG,EAAMgkE,YAM1D7vE,IAAK,WACHs3H,EAAa,GACTzrH,EAAM+4B,MACR0yF,EAAW1yF,IAAM/4B,EAAM+4B,KAErB/4B,EAAM+7E,YACR0vC,EAAW1vC,UAAY/7E,EAAM+7E,YAGjC,aAAc,WACZjsF,KAAK+tG,SAASrd,UAAY+qC,EAC1Bz7H,KAAK+tG,SAASz5B,YAAct0E,KAAK+tG,SAASz5B,aAAesnD,EAEpD1rH,EAAM+Z,YAONyxG,EAAWzxG,aACdyxG,EAAWzxG,WAAa,IAE1BsxG,EAASG,EAAWzxG,WAAY/Z,EAAM+Z,aATpCjqB,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,0CAUfy9D,MAAO,WAGL,GAFAj0E,KAAK+tG,SAASz5B,YAAct0E,KAAK+tG,SAASz5B,aAAesnD,EAEnD1rH,EAAM+Z,YAAc/Z,EAAM+Z,WAAWsyG,MAAQrsH,EAAM+Z,WAAW,aAAe/Z,EAAM+Z,WAAWuyG,KAApG,CAQA,IAAIC,EAAiBz8H,KAAK+tG,SAASz5B,YAAYpkE,EAAM+Z,WAAWsyG,MAEhEE,EAAevsH,EAAM+Z,WAAW,aAAewyG,EAAevsH,EAAM+Z,WAAW,cAAgB,GAC/FypF,EAAa+oB,EAAevsH,EAAM+Z,WAAW,aAG7C6xG,EAAY,CACV,QAAW,OAAOlvH,KAAKsD,EAAM+Z,WAAWpC,UAEtCi0G,EAAU,WACZA,EAAUY,YAAa,EAEvBZ,EAAUY,WAAa,OAAO9vH,KAAKsD,EAAM+Z,WAAW0yG,YAElDzsH,EAAM+Z,WAAW2yG,WACnBd,EAAUpkG,SAAWxnB,EAAM+Z,WAAW2yG,UAEpC1sH,EAAM+Z,WAAWkyG,MACnBL,EAAU7yF,IAAM/4B,EAAM+Z,WAAWkyG,KAE/BjsH,EAAM+Z,WAAW,iBACnB6xG,EAAU/mD,WAAa7kE,EAAM+Z,WAAW,gBAEtC/Z,EAAM+Z,WAAW4yG,kBACnBf,EAAU1pD,gBAAkBliE,EAAM+Z,WAAW4yG,iBAE3C3sH,EAAM+Z,WAAW6yG,SACnBhB,EAAUjnD,OAAS,OAAOjoE,KAAKsD,EAAM+Z,WAAW6yG,SAIlDppB,EAAWxjG,EAAM+Z,WAAWuyG,MAAQV,OAtClC97H,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,gDAuCfsuE,cAAe,WACboN,GAAmB,EACnBwpC,EAAW52C,eAAgB,EAC3B9kF,KAAK+tG,SAAS+Y,oBAAoBl0G,KAAK6oH,EAAKlrH,SAE9C,oBAAqB,WACnBvQ,KAAK+tG,SAASgvB,eAAiB7sH,EAAM6sH,eACrC/8H,KAAK+tG,SAAS2Y,eAAiBx2G,EAAMw2G,gBAEvCsW,eAAgB,YACTxtD,SAASt/D,EAAMgN,WAAahN,EAAMgN,SAAW,EAChDld,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,qCAAuCtG,EAAMgN,WAI1Dld,KAAK+tG,SAAST,eAAiBp9F,EAAMgN,UAEvC+/G,cAAe,YACRztD,SAASt/D,EAAMgN,WAAahN,EAAMgN,SAAW,EAChDld,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,oCAAsCtG,EAAMgN,WAIzDld,KAAK+tG,SAAS+e,cAAgB58G,EAAMgN,UAEtC,UAAW,WACTw+G,EAAWlF,OAAStmH,EAAM9J,MAE5B,eAAgB,WACds1H,EAAW9E,WAAa1mH,EAAM9J,MAEhC,SAAU,WACRs1H,EAAWwB,MAAQhtH,EAAM9J,OAE1B8J,EAAMitH,UAAY7rE,GAAM7yC,KAAK8G,IAElC0jB,IAAK,WACHyyF,EAAWzyF,IAAM/4B,EAAM+4B,IACvBwyF,EAAK7oH,KAAK8oH,GAGN17H,KAAK+tG,SAAST,kBAAoB,aAAcouB,KAClD17H,KAAKse,QAAQ,OAAQ,CACnB9H,QAAS,uDAEXklH,EAAWx+G,SAAWld,KAAK+tG,SAAST,gBAGlClnF,IACFs1G,EAAWx4H,IAAMkjB,GAEnBs1G,EAAWxuC,SAAWgF,EAElBypC,IACFD,EAAWr3H,IAAMs3H,GAInBD,EAAa,IAEfxjH,QAAS,eAGRhI,EAAMxM,MAAM+a,KAAK8G,MAGf/b,EA8BT,OA3UA63D,EAAU/4B,EAAQ07D,GAuTlBv0B,EAAannC,EAAQ,CAAC,CACpBplC,IAAK,OACLZ,MAAO,SAAcm7F,GACnBz9F,KAAKw7H,WAAW5oH,KAAK6qF,KAStB,CACDv6F,IAAK,MACLZ,MAAO,WAELtC,KAAKw7H,WAAW5oH,KAAK,UAIlB01B,EA5UI,CA6UXw7D,EAAS,YAEX5kF,EAAQ,WAAaopB,G,kCCzXrB9jC,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEnB,SAASo+C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,IAAIopE,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExC6jB,EAAU,EAAQ,QAElBC,EAAW5rC,EAAuB2rC,GAElCzrC,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAGnCg6D,EAAoB,CAAC,UAAW,SAAU,QAAS,UAAW,SAM9DC,EAAkB,WAOpB,SAASA,EAAgB9rG,GACvB,IAAI/nB,EAAQxJ,KAEZ4vE,EAAgB5vE,KAAMq9H,GAEtBr9H,KAAKspC,MAAQ/X,EAAQ2N,KACrBl/B,KAAK8yC,SAAWvhB,EAAQuhB,SAExB9yC,KAAKs9H,mBAAqB,EAC1Bt9H,KAAKu9H,iBAAmB,KACxBv9H,KAAKw9H,OAAS,KACdx9H,KAAKy9H,yBAA2B,KAE5BlsG,EAAQ7J,QACV1nB,KAAKonH,QAAU/jD,EAAU,WAAW78C,IAAItX,KAAKm0D,EAAU,WAAY,wBAErErjE,KAAKonH,QAAQ,cAEb,IAAIsW,EAAiB,WACnB,OAAOl0H,EAAMm0H,uBAEXC,EAAiB,WACnB,OAAOp0H,EAAMq0H,gBAEXC,EAAqB,WACvB,OAAOt0H,EAAMu0H,gBAEXC,EAAuB,WACzB,OAAOx0H,EAAMy0H,kBAGfj+H,KAAKspC,MAAM5oC,GAAG,kBAAmBs9H,GACjCh+H,KAAKspC,MAAM5oC,GAAG,UAAWk9H,GACzB59H,KAAKspC,MAAM5oC,GAAG08H,EAAmBU,GACjC99H,KAAKspC,MAAM5oC,GAAG,UAAWg9H,GAGzB19H,KAAK2e,QAAU,WACbnV,EAAM49G,QAAQ,WACd59G,EAAM8/B,MAAMjrB,IAAI,kBAAmB2/G,GACnCx0H,EAAM8/B,MAAMjrB,IAAI,UAAWu/G,GAC3Bp0H,EAAM8/B,MAAMjrB,IAAI++G,EAAmBU,GACnCt0H,EAAM8/B,MAAMjrB,IAAI,UAAWq/G,GACvBl0H,EAAMi0H,0BACRxyC,EAAe,WAAWl3D,aAAavqB,EAAMi0H,0BAE/Cj0H,EAAMu0H,gBA+VV,OArVAtuD,EAAa4tD,EAAiB,CAAC,CAC7Bn6H,IAAK,sBACLZ,MAAO,WACLtC,KAAKk+H,oBAEDl+H,KAAKy9H,0BACPxyC,EAAe,WAAWl3D,aAAa/zB,KAAKy9H,0BAI9Cz9H,KAAKy9H,yBAA2BxyC,EAAe,WAAWj+E,WAAWhN,KAAK29H,oBAAoBzuH,KAAKlP,MAAO,OAU3G,CACDkD,IAAK,oBACLZ,MAAO,WACL,GAAItC,KAAKspC,MAAMguB,WAAat3D,KAAKi+H,iBAG/B,OAFAj+H,KAAKs9H,mBAAqB,OAC1Bt9H,KAAKu9H,iBAAmBv9H,KAAKspC,MAAM9sB,eAIrC,IAAIxc,KAAKspC,MAAMnI,WAAYnhC,KAAKspC,MAAMguB,UAAtC,CAIA,IAAI96C,EAAcxc,KAAKspC,MAAM9sB,cACzBmhB,EAAW39B,KAAKspC,MAAM3L,WAE1B,GAAI39B,KAAKu9H,mBAAqB/gH,KAAiBmhB,EAASptB,QAAUiM,EAAcsyF,EAAS,WAAW+F,iBAAmBl3E,EAASz0B,IAAIy0B,EAASptB,OAAS,IAQpJ,OAAOvQ,KAAK69H,eAGV79H,KAAKs9H,oBAAsB,GAAK9gH,IAAgBxc,KAAKu9H,kBACvDv9H,KAAKs9H,qBACLt9H,KAAKm+H,YACI3hH,IAAgBxc,KAAKu9H,iBAC9Bv9H,KAAKs9H,sBAELt9H,KAAKs9H,mBAAqB,EAC1Bt9H,KAAKu9H,iBAAmB/gH,MAU3B,CACDtZ,IAAK,eACLZ,MAAO,WACLtC,KAAKs9H,mBAAqB,EAEtBt9H,KAAKw9H,SACPx9H,KAAKonH,QAAQ,gBACbrzF,aAAa/zB,KAAKw9H,SAGpBx9H,KAAKw9H,OAAS,OASf,CACDt6H,IAAK,iBACLZ,MAAO,WACL,IAAIg1D,EAAUt3D,KAAKspC,MAAMguB,UACrBxkB,EAAW9yC,KAAK8yC,WAChBt2B,EAAcxc,KAAKspC,MAAM9sB,cACzBonD,OAAS59C,EAEb,GAAIsxC,GAAWt3D,KAAKo+H,qBAAqBtrF,EAAUt2B,GAAc,CAC/D,IAAI6wG,EAAcv6E,EAAS5pC,IAAI4pC,EAASviC,OAAS,GAGjDqzD,EAASypD,EAGX,GAAI/1D,GAAWt3D,KAAKq+H,sBAAsBvrF,EAAUt2B,GAAc,CAChE,IAAI4wG,EAAgBt6E,EAAStV,MAAM,GAInComC,EAASwpD,EAAgBte,EAAS,WAAW+F,gBAG/C,MAAsB,qBAAXjxC,IACT5jE,KAAKonH,QAAQ,8CAAgD5qG,EAAhD,wBAA8FsyF,EAAS,WAAWud,eAAev5E,GAAY,gBAAoB8wB,EAAS,KAEvL5jE,KAAKspC,MAAM8E,eAAew1B,IACnB,KAWV,CACD1gE,IAAK,WACLZ,MAAO,WACL,IAAItC,KAAK69H,eAAT,CAKA,IAAIrhH,EAAcxc,KAAKspC,MAAM9sB,cACzBmhB,EAAW39B,KAAKspC,MAAM3L,WACtBmqC,EAAegnC,EAAS,WAAWiG,UAAUp3E,EAAUnhB,GAU3D,OAAIsrD,EAAav3D,QAAUiM,EAAc,GAAKsrD,EAAa5+D,IAAI,IAC7DlJ,KAAK+9H,eACL/9H,KAAKspC,MAAM8E,eAAe5xB,GAE1Bxc,KAAKonH,QAAQ,cAAgB5qG,EAAhB,oCAA0EsrD,EAAatqC,MAAM,GAAK,OAASsqC,EAAa5+D,IAAI,GAA5H,yEAGblJ,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,8BAP5C,KAoBD,CACDc,IAAK,eACLZ,MAAO,WACL,IAAIwwC,EAAW9yC,KAAK8yC,WAChBt2B,EAAcxc,KAAKspC,MAAM9sB,cAE7B,GAAIxc,KAAKspC,MAAMguB,WAAat3D,KAAKi+H,iBAE/B,OAAO,EAGT,GAAIj+H,KAAKspC,MAAMguB,WAA6B,OAAhBt3D,KAAKw9H,OAE/B,OAAO,EAGT,GAAIx9H,KAAKq+H,sBAAsBvrF,EAAUt2B,GAAc,CACrD,IAAI8hH,EAAYxrF,EAAS5pC,IAAI4pC,EAASviC,OAAS,GAQ/C,OANAvQ,KAAKonH,QAAQ,mCAAqC5qG,EAArC,0CAAqG8hH,GAClHt+H,KAAK+9H,eACL/9H,KAAKspC,MAAM8E,eAAekwF,GAG1Bt+H,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,qBACnC,EAGT,IAAIu7B,EAAW39B,KAAKspC,MAAM3L,WACtB4gG,EAAYzvB,EAAS,WAAWgc,cAAcntF,EAAUnhB,GAE5D,GAAIxc,KAAKw+H,gBAAgBD,EAAW5gG,EAAUnhB,GAU5C,OALAxc,KAAK+9H,eACL/9H,KAAKspC,MAAM8E,eAAe5xB,GAG1Bxc,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,yBACnC,EAIT,GAAIm8H,EAAUhuH,OAAS,EAAG,CACxB,IAAIkuH,EAAaF,EAAU/gG,MAAM,GAAKhhB,EAKtC,OAHAxc,KAAKonH,QAAQ,cAAgB5qG,EAAc,uBAAyBiiH,EAAvD,gBAA4FF,EAAU/gG,MAAM,IAEzHx9B,KAAKw9H,OAASxwH,WAAWhN,KAAK0+H,YAAYxvH,KAAKlP,MAAoB,IAAby+H,EAAmBjiH,IAClE,EAIT,OAAO,IAER,CACDtZ,IAAK,uBACLZ,MAAO,SAA8BwwC,EAAUt2B,GAC7C,QAAKs2B,EAASviC,QAKViM,EAAcs2B,EAAS5pC,IAAI4pC,EAASviC,OAAS,GAAKu+F,EAAS,WAAW+F,kBAM3E,CACD3xG,IAAK,wBACLZ,MAAO,SAA+BwwC,EAAUt2B,GAC9C,SAAIs2B,EAASviC,QAEbuiC,EAAStV,MAAM,GAAK,GAAKhhB,EAAcs2B,EAAStV,MAAM,GAAKsxE,EAAS,WAAW+F,mBAMhF,CACD3xG,IAAK,kBACLZ,MAAO,SAAyBi8H,EAAW5gG,EAAUnhB,GACnD,GAAyB,IAArB+hH,EAAUhuH,OAAc,CAG1B,IAAIouH,EAAM3+H,KAAK4+H,uBAAuBjhG,EAAUnhB,GAEhD,GAAImiH,EAGF,OAFA3+H,KAAKonH,QAAQ,mCAAqCuX,EAAInhG,MAAQ,OAASmhG,EAAIz1H,IAA9D,6BAAyGsT,IAE/G,EAIX,OAAO,IASR,CACDtZ,IAAK,cACLZ,MAAO,SAAqBu8H,GAC1B,IAAIlhG,EAAW39B,KAAKspC,MAAM3L,WACtBnhB,EAAcxc,KAAKspC,MAAM9sB,cACzB+hH,EAAYzvB,EAAS,WAAWgc,cAAcntF,EAAUnhB,GAE5Dxc,KAAK+9H,eAEoB,IAArBQ,EAAUhuH,QAAgBiM,IAAgBqiH,IAI9C7+H,KAAKonH,QAAQ,eAAgB,eAAgB5qG,EAAa,yBAA0BqiH,EAAsB,mBAAoBN,EAAU/gG,MAAM,IAG9Ix9B,KAAKspC,MAAM8E,eAAemwF,EAAU/gG,MAAM,GAAKsxE,EAAS,WAAW4b,mBAEnE1qH,KAAKspC,MAAMhrB,QAAQ,CAAE5a,KAAM,QAAStB,KAAM,oBAE3C,CACDc,IAAK,yBACLZ,MAAO,SAAgCq7B,EAAUnhB,GAyB/C,IAFA,IAAIsiH,EAAOhwB,EAAS,WAAWic,SAASptF,GAE/BxzB,EAAI,EAAGA,EAAI20H,EAAKvuH,OAAQpG,IAAK,CACpC,IAAIqzB,EAAQshG,EAAKthG,MAAMrzB,GACnBjB,EAAM41H,EAAK51H,IAAIiB,GAGnB,GAAIqS,EAAcghB,EAAQ,GAAKhhB,EAAcghB,EAAQ,EACnD,MAAO,CACLA,MAAOA,EACPt0B,IAAKA,GAKX,OAAO,OASR,CACDhG,IAAK,UACLZ,MAAO,gBAGF+6H,EApZa,GAuZtBn+G,EAAQ,WAAam+G,EACrBp+G,EAAOC,QAAUA,EAAQ,Y,kCC5bzB1a,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAImtE,EAAe,WAAe,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA9gB,GAEfwwD,EAAO,SAAasV,EAAKC,EAAKitB,GAAO,IAAIpiC,GAAS,EAAiB,MAAOA,EAAQ,CAAE,IAAI/1D,EAASirE,EAAKjV,EAAWkV,EAAKjV,EAAWkiC,EAAKpiC,GAAS,EAAsB,OAAX/1D,IAAiBA,EAAS8gD,SAAS7hD,WAAW,IAAIkiB,EAAOt8B,OAAOynD,yBAAyBtsC,EAAQg2D,GAAW,QAAa3vD,IAAT8a,EAAJ,CAA6O,GAAI,UAAWA,EAAQ,OAAOA,EAAKx+B,MAAgB,IAAIuzE,EAAS/0C,EAAK7rB,IAAK,QAAe+Q,IAAX6vD,EAAwB,OAAoB,OAAOA,EAAOp3D,KAAKm3D,GAAhW,IAAInsD,EAASjlB,OAAOsxE,eAAen2D,GAAS,GAAe,OAAX8J,EAAmB,OAA2BmhE,EAAMnhE,EAAQohE,EAAMlV,EAAUmiC,EAAMliC,EAAUF,GAAS,EAAM50C,EAAOrX,OAASzD,IAE/c,SAASk9C,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASy/C,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAEje,IAAImqE,EAAY,EAAQ,QAEpBC,EAAansB,EAAuBksB,GAEpChsB,EAAW,EAAQ,QAEnBC,EAAYH,EAAuBE,GAEnC27D,EAAiB,EAAQ,QAEzBC,EAAkB97D,EAAuB67D,GAEzC7vC,EAAU,EAAQ,QAElBC,EAAWjsB,EAAuBgsB,GAElClE,EAAgB,EAAQ,QAExBC,EAAiB/nB,EAAuB8nB,GAExCE,EAAsD,EAAQ,QAE9DC,EAAuDjoB,EAAuBgoB,GAE9EE,EAAY,EAAQ,QAEpB6zC,EAAuB,EAAQ,QAE/BpwB,EAAU,EAAQ,QAElBqwB,EAAqB,EAAQ,QAG7BC,EAAqB,IAYrBC,EAAoB,SAA2BlrD,EAAUyC,EAAa6vC,GACxE,IAAKtyC,IAAayC,EAChB,OAAO,EAGT,IAAI4D,EAAWrG,EAASqG,SAIpB8kD,EAAsB7Y,IAAiBjsC,EAAShqE,OAKpD,OAAO2jE,EAASC,SAAsC,SAA3BwC,EAAYxjD,YAAyBksG,GAG9DC,EAAS,SAAgBrlG,GAC3B,MAAsB,kBAARA,GAAoBu1C,SAASv1C,IAGzCslG,EAAqB,SAA4BptB,EAAYqtB,EAAeC,GAG9E,MAAmB,SAAfttB,GAA0BqtB,GAAkBC,EAI3CA,EAAgB7W,eAAkB6W,EAAgB9W,cAInD6W,EAAc7W,gBAAkB8W,EAAgB9W,cAC3C,6LAGJ6W,EAAc7W,eAAiB8W,EAAgB9W,cAC3C,kMAGF,KAXE,4CAJA,MAkBXzpG,EAAQqgH,mBAAqBA,EAc7B,IAAIG,EAAyB,SAAgC5sF,EAAUt2B,EAAa8wF,GAClF,IAAIqyB,OAAe35G,EAanB,OATE25G,EAFE7sF,EAASviC,QAAUuiC,EAAStV,MAAM,GAAK,GAAKsV,EAAStV,MAAM,GAAKhhB,EAEnDs2B,EAAStV,MAAM,GAGfhhB,EAAc,GAMxBrT,KAAKnD,IAAI25H,EAAcnjH,EAAc8wF,IAG9CpuF,EAAQwgH,uBAAyBA,EASjC,IAAIE,EAAgB,SAAWhoD,GAG7B,SAASgoD,EAAcl2F,GACrB,IAAIlgC,EAAQxJ,KAERuxB,EAAU7nB,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAMnF,GAJAkmE,EAAgB5vE,KAAM4/H,GAEtBtqD,EAAK9wE,OAAOsxE,eAAe8pD,EAAchhH,WAAY,cAAe5e,MAAMye,KAAKze,OAE1E0pC,EACH,MAAM,IAAI9nB,UAAU,wCAEtB,GAAoC,oBAAzB8nB,EAASltB,YAClB,MAAM,IAAIoF,UAAU,mCAEtB,IAAK8nB,EAASitC,YACZ,MAAM,IAAI/0D,UAAU,4BAGtB5hB,KAAKmZ,MAAQ,OACbnZ,KAAKinF,UAAYv9C,EAASu9C,UAC1BjnF,KAAKw6G,WAAa,CAAE9zD,KAAM,EAAG6hB,MAAO,GACpCvoE,KAAK6/H,UAAYhwE,IACjB7vD,KAAK8/H,cACL9/H,KAAK8sF,WAAa,KAGlB9sF,KAAK+sF,WAAarjD,EAASooE,UAC3B9xG,KAAK2sF,aAAejjD,EAASltB,YAC7Bxc,KAAK0xG,UAAYhoE,EAASoJ,SAC1B9yC,KAAK+/H,SAAWr2F,EAAS4tB,QACzBt3D,KAAKutC,UAAY7D,EAASxsB,SAC1Bld,KAAKg4E,aAAetuC,EAASitC,YAC7B32E,KAAKytG,KAAO/jE,EAAS2qC,IACrBr0E,KAAKggI,YAAct2F,EAASyoE,WAC5BnyG,KAAKigI,oBAAiB,EACtBjgI,KAAK2xG,sBAAwBjoE,EAASwoE,qBACtClyG,KAAKkgI,kBAAoBx2F,EAASqoE,iBAGlC/xG,KAAKmgI,oBAAsB,KAC3BngI,KAAKkuC,YAAS,EACdluC,KAAK0sF,kBAAoB,EACzB1sF,KAAKwtF,gBAAkB,KACvBxtF,KAAKogI,UAAY,KACjBpgI,KAAKqgI,eAAiB,KACtBrgI,KAAKsgI,YAAc,KAGnBtgI,KAAKugI,qBAAuB,KAC5BvgI,KAAK8rF,cAAgB,GAErB9rF,KAAK4xG,WAAaloE,EAAS4/D,UAK3BtpG,KAAKwsF,gBAAkB9iD,EAASyoD,eAChCnyF,KAAKusF,WAAa,CAChBi6B,aAAc,EACd7wG,KAAM,GAGR3V,KAAKwsF,gBAAgB9rF,GAAG,kBAAkB,WACxC,OAAO8I,EAAM8U,QAAQ,qBAGvBte,KAAKg4E,aAAaz6D,iBAAiB,cAAc,WAC/C,OAAO/T,EAAMgrG,QAAS,KAIxBx0G,KAAKwgI,gBAAiB,EAElBjvG,EAAQ7J,QACV1nB,KAAKonH,QAAU/jD,EAAU,WAAW78C,IAAItX,KAAKm0D,EAAU,WAAY,iBAAkBrjE,KAAKggI,YAAa,OAspC3G,OAnuCA3+D,EAAUu+D,EAAehoD,GAuFzBnI,EAAamwD,EAAe,CAAC,CAC3B18H,IAAK,cACLZ,MAAO,WACLtC,KAAKs7G,sBAAwB,EAC7Bt7G,KAAK46G,cAAgB,EACrB56G,KAAK86G,qBAAuB,EAC5B96G,KAAKg7G,sBAAwB,EAC7Bh7G,KAAKk7G,qBAAuB,EAC5Bl7G,KAAKo7G,sBAAwB,EAC7Bp7G,KAAK8tF,mBAAqB,IAM3B,CACD5qF,IAAK,UACLZ,MAAO,WACLtC,KAAKmZ,MAAQ,WACbnZ,KAAK0c,QACL1c,KAAKygI,SACDzgI,KAAKqgI,gBACPrgI,KAAKqgI,eAAe1hH,UAEtB3e,KAAK8/H,gBAON,CACD58H,IAAK,QACLZ,MAAO,WACc,YAAftC,KAAKmZ,OAOTnZ,KAAKygI,SAMLzgI,KAAKmZ,MAAQ,QAIRnZ,KAAKmhC,UACRnhC,KAAKmsF,kBAjBDnsF,KAAKwtF,kBACPxtF,KAAKwtF,gBAAkB,QAyB5B,CACDtqF,IAAK,SACLZ,MAAO,WACDtC,KAAKwtF,iBACPxtF,KAAKwtF,gBAAgBkzC,gBAIvB1gI,KAAKwtF,gBAAkB,OASxB,CACDtqF,IAAK,QACLZ,MAAO,SAAeq+H,GAMpB,MALsB,qBAAXA,IACT3gI,KAAKkuC,OAASyyF,GAGhB3gI,KAAKwtF,gBAAkB,KAChBxtF,KAAKkuC,SAEb,CACDhrC,IAAK,cACLZ,MAAO,WACLtC,KAAKw0G,QAAS,EACdx0G,KAAK0c,QACL1c,KAAKse,QAAQ,WASd,CACDpb,IAAK,YACLZ,MAAO,WACL,OAAKtC,KAAKqgI,eAIHrgI,KAAKqgI,eAAe1iG,WAHlB0lC,EAAU,WAAW5lC,qBAgB/B,CACDv6B,IAAK,cACLZ,MAAO,SAAqB+B,GAC1B,IAAIqd,IAAMhY,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,KAA2BA,UAAU,GAElF,IAAKrF,EACH,OAAO,KAGT,IAAIlB,GAAK,EAAIioF,EAAUQ,eAAevnF,GAClCwnF,EAAY7rF,KAAK8rF,cAAc3oF,GAUnC,OARIue,IAAQmqE,GAAaxnF,EAAIytE,QAC3B9xE,KAAK8rF,cAAc3oF,GAAM0oF,EAAY,CACnClX,YAAatwE,EAAIswE,YACjBsX,UAAW5nF,EAAI4nF,UACfna,MAAOztE,EAAIytE,QAIR+Z,GAAaxnF,IASrB,CACDnB,IAAK,qBACLZ,MAAO,WACL,OAAOtC,KAAKksF,YAIZlsF,KAAKqgI,gBAAkBrgI,KAAKogI,WAA4B,SAAfpgI,KAAKmZ,SAAsBnZ,KAAKmhC,WAM1E,CACDj+B,IAAK,OACLZ,MAAO,WAML,GAJAtC,KAAKmsF,iBAIAnsF,KAAKksF,UAAV,CAQA,GAHAlsF,KAAKwsF,gBAAgBo0C,mBAAmB5gI,KAAKksF,WAG1B,SAAflsF,KAAKmZ,OAAoBnZ,KAAKqsF,qBAChC,OAAOrsF,KAAKssF,SAKTtsF,KAAKqsF,sBAAuC,UAAfrsF,KAAKmZ,OAAoC,SAAfnZ,KAAKmZ,QAIjEnZ,KAAKmZ,MAAQ,YAUd,CACDjW,IAAK,QACLZ,MAAO,WAIL,OAHAtC,KAAKmZ,MAAQ,QACbnZ,KAAKqgI,eAAiB,IAAIrB,EAAgB,WAAWh/H,KAAKg4E,aAAch4E,KAAKogI,WAC7EpgI,KAAKqzE,kBACErzE,KAAKmsF,mBAQb,CACDjpF,IAAK,WACLZ,MAAO,SAAkB62G,GACvB,IAAI5nF,EAAU7nB,UAAU6G,QAAU,QAAsByV,IAAjBtc,UAAU,GAAmB,GAAKA,UAAU,GAEnF,GAAKyvG,EAAL,CAIA,IAAI2O,EAAc9nH,KAAKksF,UACnB3C,EAAcvpF,KAAKwtF,gBAqBvB,GAnBAxtF,KAAKksF,UAAYitB,EACjBn5G,KAAKsgI,YAAc/uG,EAKdvxB,KAAK+sF,eACRosB,EAAY5qB,SAAW,CACrBG,cAAeyqB,EAAYzqB,cAC3B/4E,KAAM,IAMV3V,KAAKse,QAAQ,kBAIM,SAAfte,KAAKmZ,OAAoBnZ,KAAKqsF,qBAChC,OAAOrsF,KAAKssF,QAGd,GAAKw7B,GAAeA,EAAY7+E,MAAQkwE,EAAYlwE,IAApD,CAaA,IAAI8+E,EAAoB5O,EAAYzqB,cAAgBo5B,EAAYp5B,cAEhE1uF,KAAKonH,QAAQ,oBAAqBW,GAKV,OAApB/nH,KAAK8sF,aACP9sF,KAAK8sF,YAAci7B,GAMjBx+B,IACFA,EAAYuD,YAAci7B,EAKtBx+B,EAAYuD,YAAc,IAC5BvD,EAAY5P,QAAUw/B,EAAY5+B,SAASgP,EAAYuD,cAI3D9sF,KAAKwsF,gBAAgBq0C,uBAAuB/Y,EAAa3O,QArC/B,OAApBn5G,KAAK8sF,YAGP9sF,KAAKozE,kBA2CV,CACDlwE,IAAK,QACLZ,MAAO,WACDtC,KAAKmgI,sBACPl1C,EAAe,WAAWl3D,aAAa/zB,KAAKmgI,qBAE5CngI,KAAKmgI,oBAAsB,QAS9B,CACDj9H,IAAK,SACLZ,MAAO,WACL,OAAoC,OAA7BtC,KAAKmgI,sBASb,CACDj9H,IAAK,WACLZ,MAAO,SAAkBw+H,GACnB9gI,KAAKogI,YAITpgI,KAAKogI,UAAYU,EAGE,SAAf9gI,KAAKmZ,OAAoBnZ,KAAKqsF,sBAChCrsF,KAAKssF,WAOR,CACDppF,IAAK,kBACLZ,MAAO,WACLtC,KAAKw0G,QAAS,EACdx0G,KAAKo0G,cACLp0G,KAAKyrB,OAAO,EAAGzrB,KAAKutC,aACpBvtC,KAAKse,QAAQ,qBASd,CACDpb,IAAK,cACLZ,MAAO,WACLtC,KAAKwgI,gBAAiB,EACtBxgI,KAAKozE,iBAON,CACDlwE,IAAK,eACLZ,MAAO,WACLtC,KAAK8sF,WAAa,KAClB9sF,KAAKusF,WAAa,KAClBvsF,KAAKwyE,UAQN,CACDtvE,IAAK,SACLZ,MAAO,SAAgBk7B,EAAOt0B,GACxBlJ,KAAKqgI,gBACPrgI,KAAKqgI,eAAe50G,OAAO+R,EAAOt0B,IAEpC,EAAIiiF,EAAqD,YAAY3tD,EAAOt0B,EAAKlJ,KAAK2xG,yBAQvF,CACDzuG,IAAK,iBACLZ,MAAO,WACDtC,KAAKmgI,qBACPl1C,EAAe,WAAWl3D,aAAa/zB,KAAKmgI,qBAG9CngI,KAAKmgI,oBAAsBl1C,EAAe,WAAWj+E,WAAWhN,KAAK+gI,mBAAmB7xH,KAAKlP,MAAO,KASrG,CACDkD,IAAK,qBACLZ,MAAO,WACc,UAAftC,KAAKmZ,OACPnZ,KAAKghI,cAGHhhI,KAAKmgI,qBACPl1C,EAAe,WAAWl3D,aAAa/zB,KAAKmgI,qBAG9CngI,KAAKmgI,oBAAsBl1C,EAAe,WAAWj+E,WAAWhN,KAAK+gI,mBAAmB7xH,KAAKlP,MAAOm/H,KAYrG,CACDj8H,IAAK,cACLZ,MAAO,WACL,IAAItC,KAAKqgI,eAAetpD,WAAxB,CAIK/2E,KAAKusF,aACRvsF,KAAKusF,WAAavsF,KAAKwsF,gBAAgBC,aAAazsF,KAAKksF,UAAWlsF,KAAKutC,YAAavtC,KAAK0sF,iBAAkB1sF,KAAK2sF,iBAIpH,IAAIpD,EAAcvpF,KAAK4sF,aAAa5sF,KAAK6sF,YAAa7sF,KAAKksF,UAAWlsF,KAAK8sF,WAAY9sF,KAAK+sF,aAAc/sF,KAAK2sF,eAAgB3sF,KAAKusF,YAEpI,GAAKhD,EAAL,CAIA,IAAIgrB,EAAgB6qB,EAAkBp/H,KAAKksF,UAAWlsF,KAAKg4E,aAAcuR,EAAYuD,YAEjFynB,EACFv0G,KAAK0yG,eAIHnpB,EAAYuD,aAAe9sF,KAAKksF,UAAU3R,SAAShqE,OAAS,GAAsC,UAAjCvQ,KAAKg4E,aAAa7kD,YAA2BnzB,KAAK+/H,eAUnHx2C,EAAY2D,WAAaltF,KAAK0sF,kBAAmD,OAA/BnD,EAAY+D,gBAA2B/D,EAAY+D,eAAiBttF,KAAKqgI,eAAennD,qBAC5Il5E,KAAKwsF,gBAAgBv+C,QACrBs7C,EAAYrQ,gBAAkBqQ,EAAY+D,gBAG5CttF,KAAKotF,aAAa7D,QAenB,CACDrmF,IAAK,eACLZ,MAAO,SAAsBq7B,EAAUu2C,EAAU4Y,EAAYglB,EAAWt1F,EAAag2E,GACnF,IAAIyuC,EAAkB,EAClB3zC,OAAiBtnE,EAEjB2X,EAASptB,SACX0wH,EAAkBtjG,EAASz0B,IAAIy0B,EAASptB,OAAS,IAGnD,IAAI2wH,EAAe/3H,KAAKjD,IAAI,EAAG+6H,EAAkBzkH,GAEjD,IAAK03D,EAASqG,SAAShqE,OACrB,OAAO,KAKT,GAAI2wH,GAAgBlhI,KAAKkgI,oBACvB,OAAO,KAKT,IAAKpuB,GAAaovB,GAAgB,EAChC,OAAO,KAST,GANAlhI,KAAKonH,QAAQ,eAAgB,cAAet6B,EAAY,aAAcglB,EAAW,eAAgBt1F,EAAa,aAAcg2E,EAAW,iBAAkBxyF,KAAKwgI,eAAgB,gBAAiBU,GAM7K,OAAd1uC,EAGF,OAFA1F,EAAa9sF,KAAKmhI,yBAAyBjtD,GAC3Cl0E,KAAKonH,QAAQ,UAAW,cAAet6B,GAChC9sF,KAAKqtF,qBAAqBnZ,EAAU4Y,EAAY,MAAM,GAI/D,GAAmB,OAAfA,EAAqB,CACvB9sF,KAAKonH,QAAQ,cAAe,cAAet6B,EAAa,GACxD,IAAInT,EAAUzF,EAASqG,SAASuS,GAOhC,OAJEQ,EADE3T,GAAWA,EAAQzwE,IACJywE,EAAQzwE,IAER+3H,EAEZjhI,KAAKqtF,qBAAqBnZ,EAAU4Y,EAAa,EAAGQ,GAAgB,GAM7E,GAAIttF,KAAKwgI,eAAgB,CAEvB,IAAIY,EAAkB/xC,EAAW,WAAWu+B,oBAAoB15C,EAAU+sD,EAAiBzuC,EAAUg0B,aAAch0B,EAAU78E,MAE7Hm3E,EAAas0C,EAAgBt0C,WAC7BQ,EAAiB8zC,EAAgBriG,cAC5B,CAEDqiG,EAAkB/xC,EAAW,WAAWu+B,oBAAoB15C,EAAU13D,EAAag2E,EAAUg0B,aAAch0B,EAAU78E,MAEzHm3E,EAAas0C,EAAgBt0C,WAC7BQ,EAAiB8zC,EAAgBriG,UAInC,OAFA/+B,KAAKonH,QAAQ,uBAAwB,cAAet6B,EAAY,kBAAmBQ,GAE5EttF,KAAKqtF,qBAAqBnZ,EAAU4Y,EAAYQ,GAAgB,KAYxE,CACDpqF,IAAK,2BACLZ,MAAO,SAAkC4xE,GACvC,IAAI7+C,EAASr1B,KAEb,IAA+B,IAA3BA,KAAK0sF,iBACP,OAAO,EAGT,IAAI20C,EAAoBntD,EAASqG,SAASl2E,KAAI,SAAUuwC,EAAGzqC,GACzD,MAAO,CACL+iF,SAAUt4C,EAAEs4C,SACZs5B,aAAcr8G,MAEf4d,QAAO,SAAU6sB,GAClB,OAAOA,EAAEs4C,WAAa73D,EAAOq3D,oBAG/B,OAAI20C,EAAkB9wH,OACb8wH,EAAkBl4H,KAAKnD,IAAIq7H,EAAkB9wH,OAAS,EAAG,IAAIi2G,aAG/Dr9G,KAAKjD,IAAIguE,EAASqG,SAAShqE,OAAS,EAAG,KAE/C,CACDrN,IAAK,uBACLZ,MAAO,SAA8B4xE,EAAU4Y,EAAYQ,EAAgBC,GACzE,GAAIT,EAAa,GAAKA,GAAc5Y,EAASqG,SAAShqE,OACpD,OAAO,KAGT,IAAIopE,EAAUzF,EAASqG,SAASuS,GAEhC,MAAO,CACL2c,UAAW,kBAAoBtgG,KAAKyyF,SAEpC3yD,IAAK0wC,EAAQhF,YAEbmY,WAAYA,EAGZS,cAAeA,EACfD,eAAgBA,EAEhBpZ,SAAUA,EAEVpC,MAAO,KAEPs3B,eAAgB,KAGhBlwB,gBAAiB,KAEjBgU,SAAUvT,EAAQuT,SAElBhwE,SAAUy8D,EAAQz8D,SAElBy8D,QAASA,KAcZ,CACDz2E,IAAK,qBACLZ,MAAO,SAA4BqmG,GACjC,GAAI3oG,KAAKytG,KAAKnkE,MAAMnI,WAInBnhC,KAAKsgI,YAAYzsG,UAEjB7zB,KAAKksF,UAAUjiE,WAAW8lE,UACzB,OAAO,EAMT,GAAIh6E,KAAKC,OAAS2yF,EAAMwB,sBAAwBp0F,KAAKC,OAAS,IAC5D,OAAO,EAGT,IAAIwG,EAAcxc,KAAK2sF,eACnB20C,EAAoB34B,EAAM1hB,UAC1B+K,EAAkBhyF,KAAKwtF,gBAAgBtwE,SAEvCqkH,EAAuBlyC,EAAW,WAAWsD,2BAA2BX,EAAiBsvC,EAAmBthI,KAAKksF,UAAWyc,EAAM3hB,eAKlIiL,GAAoB,EAAI4c,EAAQ5c,mBAAmBjyF,KAAK6sF,YAAarwE,EAAaxc,KAAKytG,KAAKnkE,MAAMqd,gBAAkB,EAIxH,GAAI46E,GAAwBtvC,EAC1B,OAAO,EAGT,IAAIuvC,GAAkB,EAAItC,EAAmBntC,iCAAiC,CAC5Exd,OAAQv0E,KAAKytG,KAAK/c,UAAUnc,OAC5B/3D,YAAaA,EACbyqE,UAAWq6C,EACXpkH,SAAUld,KAAKutC,YACfykD,gBAAiBA,EACjBC,kBAAmBA,EACnBC,gBAAiBlyF,KAAK0sF,iBACtByF,eAAgBnyF,KAAKwsF,kBAGvB,GAAKg1C,EAAL,CAIA,IAAI5uC,EAAoB2uC,EAAuBtvC,EAE3CwvC,EAAuB7uC,EAAoB4uC,EAAgB5uC,kBAE3D8uC,EAAoB,GASxB,OAJIzvC,GAAqB4c,EAAQ6b,oBAC/BgX,EAAoB,IAGjBF,EAAgBttD,UAAYstD,EAAgBttD,SAASjrC,MAAQjpC,KAAKksF,UAAUjjD,KAAOw4F,EAAuBC,GACtG,GAMT1hI,KAAKinF,UAAYu6C,EAAgBttD,SAASjqD,WAAW8lE,UAAYZ,EAAS,WAAWL,mBAAqB,EAC1G9uF,KAAKwyE,QACLxyE,KAAKse,QAAQ,eACN,MAYR,CACDpb,IAAK,kBACLZ,MAAO,SAAyB+E,EAAOs6H,GAChC3hI,KAAKwtF,iBAAmBm0C,EAAcl4B,YAAczpG,KAAKwtF,gBAAgBic,YAAazpG,KAAK4hI,mBAAmBD,EAAch5B,QAIjI3oG,KAAKse,QAAQ,cAQd,CACDpb,IAAK,eACLZ,MAAO,SAAsBinF,GAC3BvpF,KAAKmZ,MAAQ,UACbnZ,KAAKwtF,gBAAkBjE,EACvBvpF,KAAK6hI,gBAAgBt4C,GAErBA,EAAYm3C,eAAgB,EAAIzB,EAAqB70B,qBAAqBpqG,KAAKytG,KAAKtrF,IAAKniB,KAAKsgI,YAAatgI,KAAK4xG,WAAY5xG,KAAK8hI,4BAA4Bv4C,GAE7JvpF,KAAK+hI,gBAAgB7yH,KAAKlP,MAAOA,KAAKgiI,wBAAwB9yH,KAAKlP,SAWpE,CACDkD,IAAK,kBACLZ,MAAO,SAAyBinF,GAC9B,IAAIo2C,EAAeD,EAAuB1/H,KAAK0xG,YAAa1xG,KAAK2sF,eAAgB3sF,KAAKksF,UAAUohB,gBAAkB,IAQ9GqyB,EAAe,GACjB3/H,KAAKyrB,OAAO,EAAGk0G,KAalB,CACDz8H,IAAK,8BACLZ,MAAO,SAAqCinF,GAC1C,IAAI5P,EAAU4P,EAAY5P,QACtBgoD,EAAgB,CAClBhtD,YAAagF,EAAQhF,YACrBsX,UAAWtS,EAAQsS,UACnBwd,UAAWlgB,EAAYkgB,WAGzB,GAAI9vB,EAAQz2E,IAAK,CAGf,IAAIymG,EAAKhwB,EAAQz2E,IAAIymG,IAAM,IAAI/3B,YAAY,CAAC,EAAG,EAAG,EAAG2X,EAAYuD,WAAavD,EAAYrV,SAASwa,gBAEnGizC,EAAcz+H,IAAM,CAClByxE,YAAagF,EAAQz2E,IAAIyxE,YACzBg1B,GAAIA,GAQR,OAJIhwB,EAAQt1E,MACVs9H,EAAct9H,IAAMrE,KAAK45E,YAAYD,EAAQt1E,MAGxCs9H,IASR,CACDz+H,IAAK,0BACLZ,MAAO,SAAiCslB,EAAO+5G,GAW7C,GARA3hI,KAAK46G,eAAiB,EAElB+mB,EAAch5B,QAChB3oG,KAAKs7G,uBAAyBqmB,EAAch5B,MAAM3hB,cAClDhnF,KAAKo7G,uBAAyBumB,EAAch5B,MAAM7hB,eAI/C9mF,KAAKwtF,iBASV,GAAIm0C,EAAcl4B,YAAczpG,KAAKwtF,gBAAgBic,UAArD,CAKA,GAAI7hF,EAOF,OANA5nB,KAAKwtF,gBAAkB,KACvBxtF,KAAKmZ,MAAQ,QAKTyO,EAAMxR,OAAS6oH,EAAqBp3B,eAAeG,aACrDhoG,KAAK86G,sBAAwB,IAI/B96G,KAAK0c,QAKDkL,EAAMxR,OAAS6oH,EAAqBp3B,eAAeE,SACrD/nG,KAAKg7G,uBAAyB,EAC9Bh7G,KAAKinF,UAAY,EACjBjnF,KAAK6/H,UAAYhwE,SACjB7vD,KAAKse,QAAQ,qBAMfte,KAAKk7G,sBAAwB,EAC7Bl7G,KAAK4nB,MAAMA,QACX5nB,KAAKse,QAAQ,WAMfte,KAAKinF,UAAY06C,EAAch5B,MAAM1hB,UACrCjnF,KAAK6/H,UAAY8B,EAAch5B,MAAM7hB,cAIjC66C,EAAct9H,MAChBs9H,EAAct9H,IAAMrE,KAAK45E,YAAY+nD,EAAct9H,KAAK,IAG1DrE,KAAKiiI,wBAAwBN,SAzD3B3hI,KAAK86G,sBAAwB,IAkEhC,CACD53G,IAAK,0BACLZ,MAAO,SAAiCq/H,GACtC,IAAIp4C,EAAcvpF,KAAKwtF,gBAEvBjE,EAAYzX,MAAQ6vD,EAAc7vD,MAC9B6vD,EAAct9H,MAChBklF,EAAY5P,QAAQt1E,IAAIytE,MAAQ6vD,EAAct9H,IAAIytE,OAGpDyX,EAAYwgB,iBAAmB43B,EAAc53B,iBAC7C/pG,KAAKytF,mBAQN,CACDvqF,IAAK,iBACLZ,MAAO,WACL,IAAI65B,EAASn8B,KAEb,GAAKA,KAAKwtF,gBAAV,CAKA,IAAIjE,EAAcvpF,KAAKwtF,gBACnB7T,EAAU4P,EAAY5P,QACtBuuC,EAAaloH,KAAKwsF,gBAAgB01C,iBAAiB34C,GAKpB,qBAAxBvpF,KAAKigI,gBAAkC/X,IAGlDA,EAAWU,eAAiBV,EAAWS,iBACrC3oH,KAAKigI,eAAiB,CACpBrX,cAAeV,EAAWU,cAC1BD,cAAeT,EAAWS,gBAI9B,IAAIwZ,EAA0B5C,EAAmBv/H,KAAKggI,YAAahgI,KAAKigI,eAAgB/X,GAExF,GAAIia,EAMF,OALAniI,KAAK4nB,MAAM,CACTpR,QAAS2rH,EACTlxB,kBAAmBj2D,WAErBh7C,KAAKse,QAAQ,SAIf,GAAIirE,EAAYgE,cAId,OAHAvtF,KAAKse,QAAQ,kBACbte,KAAKwtF,gBAAkB,UACvBxtF,KAAKmZ,MAAQ,SAIqB,OAAhCowE,EAAYrQ,iBAA4BqQ,EAAYrQ,kBAAoBl5E,KAAKqgI,eAAennD,oBAC9Fl5E,KAAKqgI,eAAennD,gBAAgBqQ,EAAYrQ,iBAEhDl5E,KAAKse,QAAQ,oBAGf,IAAI8jH,EAAkBpiI,KAAKwsF,gBAAgB61C,mBAAmB94C,EAAY2D,UAElD,OAApBk1C,GACFpiI,KAAKse,QAAQ,CACX5a,KAAM,qBACNwzE,QAASkrD,IAIbpiI,KAAKmZ,MAAQ,YAITwgE,EAAQt1E,KACV,WACE,IAAIi+H,GAAS,EAAIl3C,EAAUQ,eAAejS,EAAQt1E,KAElD,IAAK83B,EAAOokG,sBAAwBpkG,EAAOokG,uBAAyB+B,EAAQ,CAC1E,IAAI1oD,EAAcz9C,EAAOy9C,YAAYD,EAAQt1E,KAE7C83B,EAAOkkG,eAAerlD,aAAapB,EAAY9H,OAAO,WACpD31C,EAAOokG,qBAAuB+B,MAPpC,GAaF/4C,EAAYlqE,WAAakqE,EAAYzX,MAAMzyD,WACd,kBAAlBs6D,EAAQn8C,OAA6C,kBAAhBm8C,EAAQzwE,IACtDlJ,KAAK8tF,oBAAsBnU,EAAQzwE,IAAMywE,EAAQn8C,MAEjDx9B,KAAK8tF,oBAAsBnU,EAAQz8D,SAGrCld,KAAKqgI,eAAerlD,aAAauO,EAAYzX,MAAO9xE,KAAK+tF,iBAAiB7+E,KAAKlP,YA/E7EA,KAAKmZ,MAAQ,UAyFhB,CACDjW,IAAK,mBACLZ,MAAO,WAGL,GAFAtC,KAAKonH,QAAQ,mBAAoB,eAAgBpnH,KAAKwtF,kBAEjDxtF,KAAKwtF,gBAKR,OAJAxtF,KAAKmZ,MAAQ,aACRnZ,KAAKmhC,UACRnhC,KAAKmsF,kBAKT,IAAI5C,EAAcvpF,KAAKwtF,gBACnB7T,EAAU4P,EAAY5P,QACtB4oD,EAAuC,OAApBviI,KAAK8sF,WAsB5B,GApBA9sF,KAAKwtF,gBAAkB,KACvBxtF,KAAKwiI,kBAAkBj5C,GACvBvpF,KAAKyiI,uBAAuBl5C,GAE5BvpF,KAAKmZ,MAAQ,QAEbnZ,KAAK8sF,WAAavD,EAAYuD,WAC9B9sF,KAAKwgI,gBAAiB,EACtBxgI,KAAK0sF,iBAAmBnD,EAAY2D,SAMpCltF,KAAKse,QAAQ,kBAMTq7D,EAAQzwE,KAAOlJ,KAAK2sF,eAAiBhT,EAAQzwE,IAA4C,EAAtCqgF,EAAYrV,SAASo5B,eAC1EttG,KAAKqzE,sBADP,CAOIkvD,GACFviI,KAAKse,QAAQ,mBAEfte,KAAKse,QAAQ,YAKb,IAAIi2F,EAAgB6qB,EAAkB71C,EAAYrV,SAAUl0E,KAAKg4E,aAAcuR,EAAYuD,WAAa,GAEpGynB,GACFv0G,KAAK0yG,cAGF1yG,KAAKmhC,UACRnhC,KAAKmsF,oBAaR,CACDjpF,IAAK,oBACLZ,MAAO,SAA2BinF,GAChC,IAAI7iC,EAAO1mD,KAAKw6G,WAAW9zD,KAGvBg8E,EAAwB3sH,KAAKC,MAAQuzE,EAAYwgB,iBAAmB,EAEpE44B,EAA8Bx5H,KAAKyxC,MAAM2uC,EAAYlqE,WAAaqjH,EAAwB,EAAI,KAIlG1iI,KAAKw6G,WAAW9zD,OAASi8E,EAA8Bj8E,KAAU1mD,KAAKw6G,WAAWjyC,QASlF,CACDrlE,IAAK,UACLZ,MAAO,cAWN,CACDY,IAAK,yBACLZ,MAAO,SAAgCinF,GACrC,GAAKvpF,KAAK2xG,sBAAV,CAIA,IAAIh4B,EAAU4P,EAAY5P,QACtBn8C,EAAQm8C,EAAQn8C,MAChBt0B,EAAMywE,EAAQzwE,IAGlB,GAAKo2H,EAAO9hG,IAAW8hG,EAAOp2H,GAA9B,EAIA,EAAIiiF,EAAqD,YAAY3tD,EAAOt0B,EAAKlJ,KAAK2xG,uBAEtF,IAAIgS,EAAM14B,EAAe,WAAW24B,eAAiB34B,EAAe,WAAW3gD,OAC3EhoC,EAAQ,CACV2kF,UAAWsC,EAAYrV,SAASjqD,WAAW8lE,UAC3CujC,WAAY/pC,EAAYrV,SAASjqD,WAAWmmE,WAC5ChwE,OAAQmpE,EAAYrV,SAASjqD,WAAWipE,OACxC7zE,WAAYkqE,EAAYlqE,WACxB4pB,IAAKsgD,EAAYtgD,IACjBikD,SAAU3D,EAAY2D,SACtBhZ,SAAUqV,EAAYrV,SAASjrC,IAC/BzL,MAAOA,EACPt0B,IAAKA,GAEH9C,EAAOlB,KAAKC,UAAU7C,GACtBw8B,EAAM,IAAI6kF,EAAInmF,EAAOt0B,EAAK9C,GAI9B04B,EAAIx8B,MAAQA,EAEZtC,KAAK2xG,sBAAsB9xE,OAAOf,SAI/B8gG,EApuCW,CAquCjBv8D,EAAU,WAAWnvC,aAExBhV,EAAQ,WAAa0gH,G,kCCx3CrBp7H,OAAO8a,eAAeJ,EAAS,aAAc,CAC3C5c,OAAO,IAGT,IAAI+nH,EAAiB,WAAc,SAASC,EAAchlC,EAAKn7E,GAAK,IAAIogH,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAW7pH,OAAKolB,EAAW,IAAM,IAAK,IAAiC1iB,EAA7BovB,EAAK4yD,EAAI7gE,OAAOC,cAAmB8lG,GAAMlnH,EAAKovB,EAAGqf,QAAQy/B,MAAOg5C,GAAK,EAA6B,GAArBD,EAAK33G,KAAKtP,EAAGhB,OAAY6H,GAAKogH,EAAKh6G,SAAWpG,EAAG,MAAW,MAAOuM,GAAO+zG,GAAK,EAAM7pH,EAAK8V,EAAO,QAAU,KAAW8zG,GAAM93F,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAI+3F,EAAI,MAAM7pH,GAAQ,OAAO2pH,EAAQ,OAAO,SAAUjlC,EAAKn7E,GAAK,GAAIhG,MAAMC,QAAQkhF,GAAQ,OAAOA,EAAY,GAAI7gE,OAAOC,YAAYlgB,OAAO8gF,GAAQ,OAAOglC,EAAchlC,EAAKn7E,GAAa,MAAM,IAAIyX,UAAU,yDAAjkB,GAEjB6tD,EAAe,WAAc,SAASjuD,EAAiB/Q,EAAQpL,GAAS,IAAK,IAAI8E,EAAI,EAAGA,EAAI9E,EAAMkL,OAAQpG,IAAK,CAAE,IAAI6hD,EAAa3mD,EAAM8E,GAAI6hD,EAAWvqC,WAAauqC,EAAWvqC,aAAc,EAAOuqC,EAAW7mC,cAAe,EAAU,UAAW6mC,IAAYA,EAAW9mC,UAAW,GAAM1gB,OAAO8a,eAAe7O,EAAQu7C,EAAW9oD,IAAK8oD,IAAiB,OAAO,SAAUlnC,EAAa4qD,EAAYC,GAAiJ,OAA9HD,GAAYluD,EAAiBsD,EAAYlG,UAAW8wD,GAAiBC,GAAanuD,EAAiBsD,EAAa6qD,GAAqB7qD,GAA7gB,GAEf++E,EAAU,EAAQ,QAElBC,EAAW5gC,EAAuB2gC,GAEtC,SAAS3gC,EAAuBh/D,GAAO,OAAOA,GAAOA,EAAIi/D,WAAaj/D,EAAM,CAAE,QAAWA,GAEzF,SAAS0rE,EAAgB/qD,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIlD,UAAU,qCAEhH,SAASmiF,EAA2Bx+E,EAAM9G,GAAQ,IAAK8G,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAO/G,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B8G,EAAP9G,EAElO,SAAS4iD,EAAUr8C,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrD,UAAU,kEAAoEqD,GAAeD,EAASpG,UAAYpa,OAAOI,OAAOqgB,GAAcA,EAAWrG,UAAW,CAAE+F,YAAa,CAAEriB,MAAO0iB,EAAUvD,YAAY,EAAOyD,UAAU,EAAMC,cAAc,KAAeF,IAAYzgB,OAAO4gB,eAAiB5gB,OAAO4gB,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAYje,IAAI29G,EAAqB,WACvB,IAAI1/H,EAAM,QACNZ,EAAQ,gBACRugI,EAAW,MAAQ3/H,EAAM,QAAUZ,EAAQ,IAE/C,OAAO,IAAIukB,OAAO,WAAag8G,EAAW,MAQxCC,EAAkB,SAAyB74G,GAE7C,IAAIxpB,EAAQwpB,EAAWnK,MAAM8iH,KACzB9qH,EAAS,GACT3N,EAAI1J,EAAM8P,OACV++C,OAAO,EAEX,MAAOnlD,IAEY,KAAb1J,EAAM0J,KAKVmlD,EAAO,eAAe9sC,KAAK/hB,EAAM0J,IAAIsK,MAAM,GAE3C66C,EAAK,GAAKA,EAAK,GAAGviD,QAAQ,aAAc,IACxCuiD,EAAK,GAAKA,EAAK,GAAGviD,QAAQ,aAAc,IACxCuiD,EAAK,GAAKA,EAAK,GAAGviD,QAAQ,kBAAmB,MAC7C+K,EAAOw3C,EAAK,IAAMA,EAAK,IAEzB,OAAOx3C,GA4BLs2D,EAAc,SAAU41B,GAG1B,SAAS51B,IAGP,OAFAwB,EAAgB5vE,KAAMouE,GAEf21B,EAA2B/jG,MAAOouE,EAAY/oD,WAAa7gB,OAAOsxE,eAAe1H,IAAc3vD,KAAKze,OA4V7G,OAjWAqhE,EAAU+M,EAAa41B,GAevBv0B,EAAarB,EAAa,CAAC,CACzBlrE,IAAK,OACLZ,MAAO,SAAcyjE,GACnB,IAAI9iD,OAAQ,EACR5b,OAAQ,EAIZ,GADA0+D,EAAOA,EAAKh5D,QAAQ,6BAA8B,IAC9B,IAAhBg5D,EAAKx1D,OAMT,GAAgB,MAAZw1D,EAAK,GAST,GAA6B,IAAzBA,EAAKpiE,QAAQ,QAcjB,GAJAoiE,EAAOA,EAAKh5D,QAAQ,KAAM,IAG1BkW,EAAQ,WAAWT,KAAKujD,GACpB9iD,EACFjjB,KAAKse,QAAQ,OAAQ,CACnB5a,KAAM,MACNy5H,QAAS,YAHb,CAQA,GADAl6G,EAAQ,gCAAgCT,KAAKujD,GACzC9iD,EAYF,OAXA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,OAEPl6G,EAAM,KACR5b,EAAM6V,SAAWwF,WAAWO,EAAM,KAEhCA,EAAM,KACR5b,EAAMiL,MAAQ2Q,EAAM,SAEtBjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,qCAAqCT,KAAKujD,GAC9C9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,kBAEPl6G,EAAM,KACR5b,EAAM6V,SAAWqd,SAAStX,EAAM,GAAI,UAEtCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,mCAAmCT,KAAKujD,GAC5C9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,iBAEPl6G,EAAM,KACR5b,EAAM6V,SAAWqd,SAAStX,EAAM,GAAI,UAEtCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,8BAA8BT,KAAKujD,GACvC9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,WAEPl6G,EAAM,KACR5b,EAAMgb,QAAUkY,SAAStX,EAAM,GAAI,UAErCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,wCAAwCT,KAAKujD,GACjD9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,kBAEPl6G,EAAM,KACR5b,EAAMg1H,OAAS9hG,SAAStX,EAAM,GAAI,UAEpCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,gDAAgDT,KAAKujD,GACzD9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,0BAEPl6G,EAAM,KACR5b,EAAMg1H,OAAS9hG,SAAStX,EAAM,GAAI,UAEpCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,gCAAgCT,KAAKujD,GACzC9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,iBAEPl6G,EAAM,KACR5b,EAAMi1H,aAAer5G,EAAM,SAE7BjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,4CAA4CT,KAAKujD,GACrD9iD,EAYF,OAXA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,aAEPl6G,EAAM,KACR5b,EAAMkJ,OAASgqB,SAAStX,EAAM,GAAI,KAEhCA,EAAM,KACR5b,EAAMyzE,OAASvgD,SAAStX,EAAM,GAAI,UAEpCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,iCAAiCT,KAAKujD,GAC1C9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,eAEPl6G,EAAM,KACR5b,EAAM00H,SAAW,KAAKnvH,KAAKqW,EAAM,UAEnCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,qBAAqBT,KAAKujD,GAC9B9iD,EAAJ,CAME,GALA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,OAGPl6G,EAAM,GAAI,CACZ,IAAIgH,EAAa64G,EAAgB7/G,EAAM,IAKvC,GAHIgH,EAAWkyG,MACb90H,EAAM4hC,IAAMhf,EAAWkyG,KAErBlyG,EAAW84G,UAAW,CACxB,IAAIC,EAAwB/4G,EAAW84G,UAAUjjH,MAAM,KACnDmjH,EAAyB5Y,EAAe2Y,EAAuB,GAC/DzyH,EAAS0yH,EAAuB,GAChCnoD,EAASmoD,EAAuB,GAEpC57H,EAAM4kF,UAAY,GACd17E,IACFlJ,EAAM4kF,UAAU17E,OAASgqB,SAAShqB,EAAQ,KAExCuqE,IACFzzE,EAAM4kF,UAAUnR,OAASvgD,SAASugD,EAAQ,MAKhD96E,KAAKse,QAAQ,OAAQjX,QAIvB,GADA4b,EAAQ,4BAA4BT,KAAKujD,GACrC9iD,EAAJ,CAKE,GAJA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,cAEPl6G,EAAM,GAAI,CAGZ,GAFA5b,EAAM4iB,WAAa64G,EAAgB7/G,EAAM,IAErC5b,EAAM4iB,WAAWmmE,WAAY,CAC/B,IAAItwE,EAAQzY,EAAM4iB,WAAWmmE,WAAWtwE,MAAM,KAC1CwzG,EAAa,GAEbxzG,EAAM,KACRwzG,EAAW5sH,MAAQ6zB,SAASza,EAAM,GAAI,KAEpCA,EAAM,KACRwzG,EAAW3xH,OAAS44B,SAASza,EAAM,GAAI,KAEzCzY,EAAM4iB,WAAWmmE,WAAakjC,EAE5BjsH,EAAM4iB,WAAW8lE,YACnB1oF,EAAM4iB,WAAW8lE,UAAYx1D,SAASlzB,EAAM4iB,WAAW8lE,UAAW,KAEhE1oF,EAAM4iB,WAAW,gBACnB5iB,EAAM4iB,WAAW,cAAgBsQ,SAASlzB,EAAM4iB,WAAW,cAAe,KAG9EjqB,KAAKse,QAAQ,OAAQjX,OA3BvB,CA+BA,GADA4b,EAAQ,uBAAuBT,KAAKujD,GAChC9iD,EASF,OARA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,SAEPl6G,EAAM,KACR5b,EAAM4iB,WAAa64G,EAAgB7/G,EAAM,UAE3CjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,kBAAkBT,KAAKujD,GAC3B9iD,EACFjjB,KAAKse,QAAQ,OAAQ,CACnB5a,KAAM,MACNy5H,QAAS,iBAKb,GADAl6G,EAAQ,wBAAwBT,KAAKujD,GACjC9iD,EACFjjB,KAAKse,QAAQ,OAAQ,CACnB5a,KAAM,MACNy5H,QAAS,sBAHb,CAQA,GADAl6G,EAAQ,mCAAmCT,KAAKujD,GAC5C9iD,EAUF,OATA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,qBAEPl6G,EAAM,KACR5b,EAAM01H,eAAiB95G,EAAM,GAC7B5b,EAAMq/G,eAAiB,IAAI3wG,KAAKkN,EAAM,UAExCjjB,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,qBAAqBT,KAAKujD,GAC9B9iD,EAsBF,OArBA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,OAEPl6G,EAAM,KACR5b,EAAM4iB,WAAa64G,EAAgB7/G,EAAM,IAErC5b,EAAM4iB,WAAWmyG,KACuC,OAAtD/0H,EAAM4iB,WAAWmyG,GAAGzpE,UAAU,EAAG,GAAG7xC,gBACtCzZ,EAAM4iB,WAAWmyG,GAAK/0H,EAAM4iB,WAAWmyG,GAAGzpE,UAAU,IAGtDtrD,EAAM4iB,WAAWmyG,GAAK/0H,EAAM4iB,WAAWmyG,GAAGn5G,MAAM,SAChD5b,EAAM4iB,WAAWmyG,GAAG,GAAK7hG,SAASlzB,EAAM4iB,WAAWmyG,GAAG,GAAI,IAC1D/0H,EAAM4iB,WAAWmyG,GAAG,GAAK7hG,SAASlzB,EAAM4iB,WAAWmyG,GAAG,GAAI,IAC1D/0H,EAAM4iB,WAAWmyG,GAAG,GAAK7hG,SAASlzB,EAAM4iB,WAAWmyG,GAAG,GAAI,IAC1D/0H,EAAM4iB,WAAWmyG,GAAG,GAAK7hG,SAASlzB,EAAM4iB,WAAWmyG,GAAG,GAAI,IAC1D/0H,EAAM4iB,WAAWmyG,GAAK,IAAIxqD,YAAYvqE,EAAM4iB,WAAWmyG,WAG3Dp8H,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,+BAA+BT,KAAKujD,GACxC9iD,EAWF,OAVA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,gBAEPl6G,EAAM,GACR5b,EAAMjB,KAAO6c,EAAM,GAEnB5b,EAAMjB,KAAO,QAEfpG,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,0BAA0BT,KAAKujD,GACnC9iD,EAWF,OAVA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,WAEPl6G,EAAM,GACR5b,EAAMjB,KAAO6c,EAAM,GAEnB5b,EAAMjB,KAAO,QAEfpG,KAAKse,QAAQ,OAAQjX,GAIvB,GADA4b,EAAQ,yBAAyBT,KAAKujD,GAClC9iD,EAWF,OAVA5b,EAAQ,CACN3D,KAAM,MACNy5H,QAAS,UAEPl6G,EAAM,GACR5b,EAAMjB,KAAO6c,EAAM,GAEnB5b,EAAMjB,KAAO,QAEfpG,KAAKse,QAAQ,OAAQjX,GAKvBrH,KAAKse,QAAQ,OAAQ,CACnB5a,KAAM,MACN0C,KAAM2/D,EAAKtxD,MAAM,YArTjBzU,KAAKse,QAAQ,OAAQ,CACnB5a,KAAM,UACN8mB,KAAMu7C,EAAKtxD,MAAM,UAXnBzU,KAAKse,QAAQ,OAAQ,CACnB5a,KAAM,MACNulC,IAAK88B,QAiUNqI,EAlWS,CAmWhB01B,EAAS,YAEX5kF,EAAQ,WAAakvD,G,qBCncrBnvD,EAAOC,QAAU,CACfgkH,UAAW,EAAQ,QACnBlgE,WAAY,EAAQ,QAAgBA,WACpCmY,mBAAoB,EAAQ,QAAgBA,mBAC5CD,mBAAoB,EAAQ,QAAgBA,qB,kCCJ9C","file":"js/chunk-5166f421.8385af66.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"living\"},[(_vm.isOpenApp && _vm.shareInfo && _vm.appId)?_c('AppPrompt',{staticClass:\"header\",attrs:{\"shareInfo\":_vm.shareInfo,\"appId\":_vm.appId},on:{\"close\":_vm.close}}):_vm._e(),(_vm.liveDetail.title)?_c('LiveHeader',{attrs:{\"detail\":_vm.liveDetail}}):_vm._e(),(_vm.liveDetail.bannerVideo)?_c('video',_vm._b({ref:\"video-live\",staticClass:\"video-js vjs-default-skin box\",staticStyle:{\"width\":\"100vw\",\"height\":\"100%\",\"object-fit\":\"contain\"},attrs:{\"id\":\"video-live\",\"x5-video-player-type\":\"h5\",\"x5-video-orientation\":\"portrait\",\"autoplay\":\"\",\"controls\":false,\"preload\":\"auto\",\"poster\":_vm.liveDetail.bannerImg || _vm.videoOptions.poster,\"playsinline\":true,\"webkitPlaysinline\":true},on:{\"ended\":function($event){_vm.isPause = true}}},'video',_vm.$attrs,false),[_c('source',{attrs:{\"src\":_vm.liveDetail.bannerVideo,\"type\":_vm.isM3u8 ? 'application/x-mpegURL' : 'video/mp4'}})]):(_vm.liveDetail.bannerImg)?_c('div',{staticClass:\"novideo-poster\",style:({ background: (\"url(\" + (_vm.liveDetail.bannerImg) + \")\") })}):_vm._e(),(_vm.liveDetail.bannerVideo)?_c('div',{staticClass:\"play-btn\",style:({\n height: (\"calc(100% - \" + _vm.footerHeight + \"px)\"),\n opacity: _vm.isPause ? 1 : 0\n }),on:{\"click\":_vm.onPlay}},[(_vm.liveDetail.status != 2)?_c('img',{attrs:{\"src\":require(\"../../assets/portrait/play-btn.png\"),\"alt\":\"\"}}):_c('div',{staticClass:\"play-btn-finish\"},[_c('img',{attrs:{\"src\":require(\"../../assets/portrait/play-btn.png\"),\"alt\":\"\"}}),_c('p',[_vm._v(\"直播已结束\")]),_c('p',[_vm._v(\"点击播放回放\")])])]):_vm._e(),_c('div',{staticClass:\"interact-exhibition\"},[_c('Comment',{ref:\"comment\",on:{\"trigger-play\":_vm.onPlay}}),_c('div',{staticClass:\"interactive-button\"},[(_vm.liveInfo.redPocketNumber)?_c('Badge',{attrs:{\"content\":_vm.liveInfo.redPocketNumber || 0}},[_c('img',{directives:[{name:\"jump\",rawName:\"v-jump\"}],attrs:{\"src\":require('../../assets/portrait/money.png'),\"alt\":\"红包\"}})]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.floatShow && _vm.floatInfo.groupIcon),expression:\"floatShow && floatInfo.groupIcon\"}],staticClass:\"float-window\"},[(_vm.floatInfo.groupIcon)?_c('img',{staticStyle:{\"border-radius\":\"50%\"},attrs:{\"src\":_vm.floatInfo.groupIcon,\"alt\":\"浮窗\"},on:{\"click\":_vm.floatClick}}):_vm._e(),_c('img',{staticClass:\"float-window-close\",attrs:{\"src\":require(\"../../assets/image/关闭@2x.png\"),\"alt\":\"关闭\"},on:{\"click\":function($event){_vm.floatShow = false}}})])],1)],1),_c('ActionSheet',{attrs:{\"round\":false},model:{value:(_vm.showFloatList),callback:function ($$v) {_vm.showFloatList=$$v},expression:\"showFloatList\"}},[_c('div',{staticClass:\"float-list-container\"},_vm._l((_vm.floatInfo.adverInfoList),function(float){return _c('a',{key:float.id,staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\",\"padding\":\"0.2rem\",\"border-bottom\":\"1px solid #eeeeee\",\"color\":\"#000000\"},attrs:{\"href\":float.linkUrl}},[_c('VanImage',{attrs:{\"width\":\".6rem\",\"height\":\".6rem\",\"src\":float.linkIcon}}),_c('span',{staticStyle:{\"margin-left\":\"0.2rem\"}},[_vm._v(_vm._s(float.linkContent))])],1)}),0)]),_c('div',{ref:\"footer\",staticClass:\"interact-footer\"},[(!_vm.isM3u8 && !!_vm.liveDetail.bannerVideo)?_c('Slider',{attrs:{\"button-size\":\"10px\",\"active-color\":\"#ffffff\"},on:{\"change\":_vm.onChange},model:{value:(_vm.vProgress),callback:function ($$v) {_vm.vProgress=$$v},expression:\"vProgress\"}}):_vm._e(),_c('div',{staticClass:\"interact-footer-operation\"},[_c('input',{directives:[{name:\"jump\",rawName:\"v-jump\"}],attrs:{\"type\":\"text\",\"placeholder\":\"说点什么...\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onCommentSend($event)}}}),_c('div',{staticClass:\"right-button\"},[_c('img',{directives:[{name:\"jump\",rawName:\"v-jump\"}],staticStyle:{\"width\":\"0.66rem\",\"height\":\"0.66rem\"},attrs:{\"src\":require('../../assets/portrait/praise.png'),\"alt\":\"点赞\"}}),(_vm.liveDetail.isGift === 1)?_c('img',{directives:[{name:\"jump\",rawName:\"v-jump\"}],staticStyle:{\"width\":\"0.66rem\",\"height\":\"0.66rem\"},attrs:{\"src\":require('../../assets/portrait/gift.png'),\"alt\":\"礼物\"}}):_vm._e(),_c('img',{directives:[{name:\"jump\",rawName:\"v-jump\"}],staticStyle:{\"width\":\"0.66rem\",\"height\":\"0.66rem\"},attrs:{\"src\":require('../../assets/portrait/more.png'),\"alt\":\"分享\"}})])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { isDef } from './index';\nexport function deepClone(obj) {\n if (!isDef(obj)) {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (item) {\n return deepClone(item);\n });\n }\n\n if (typeof obj === 'object') {\n var to = {};\n Object.keys(obj).forEach(function (key) {\n to[key] = deepClone(obj[key]);\n });\n return to;\n }\n\n return obj;\n}","import { createNamespace, addUnit } from '../utils';\nimport { deepClone } from '../utils/deep-clone';\nimport { preventDefault } from '../utils/dom/event';\nimport { range, addNumber } from '../utils/format/number';\nimport { TouchMixin } from '../mixins/touch';\nimport { FieldMixin } from '../mixins/field';\n\nvar _createNamespace = createNamespace('slider'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar isSameValue = function isSameValue(newValue, oldValue) {\n return JSON.stringify(newValue) === JSON.stringify(oldValue);\n};\n\nexport default createComponent({\n mixins: [TouchMixin, FieldMixin],\n props: {\n disabled: Boolean,\n vertical: Boolean,\n range: Boolean,\n barHeight: [Number, String],\n buttonSize: [Number, String],\n activeColor: String,\n inactiveColor: String,\n min: {\n type: [Number, String],\n default: 0\n },\n max: {\n type: [Number, String],\n default: 100\n },\n step: {\n type: [Number, String],\n default: 1\n },\n value: {\n type: [Number, Array],\n default: 0\n }\n },\n data: function data() {\n return {\n dragStatus: ''\n };\n },\n computed: {\n scope: function scope() {\n return this.max - this.min;\n },\n buttonStyle: function buttonStyle() {\n if (this.buttonSize) {\n var size = addUnit(this.buttonSize);\n return {\n width: size,\n height: size\n };\n }\n }\n },\n created: function created() {\n // format initial value\n this.updateValue(this.value);\n },\n mounted: function mounted() {\n if (this.range) {\n this.bindTouchEvent(this.$refs.wrapper0);\n this.bindTouchEvent(this.$refs.wrapper1);\n } else {\n this.bindTouchEvent(this.$refs.wrapper);\n }\n },\n methods: {\n onTouchStart: function onTouchStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.touchStart(event);\n this.currentValue = this.value;\n\n if (this.range) {\n this.startValue = this.value.map(this.format);\n } else {\n this.startValue = this.format(this.value);\n }\n\n this.dragStatus = 'start';\n },\n onTouchMove: function onTouchMove(event) {\n if (this.disabled) {\n return;\n }\n\n if (this.dragStatus === 'start') {\n this.$emit('drag-start');\n }\n\n preventDefault(event, true);\n this.touchMove(event);\n this.dragStatus = 'draging';\n var rect = this.$el.getBoundingClientRect();\n var delta = this.vertical ? this.deltaY : this.deltaX;\n var total = this.vertical ? rect.height : rect.width;\n var diff = delta / total * this.scope;\n\n if (this.range) {\n this.currentValue[this.index] = this.startValue[this.index] + diff;\n } else {\n this.currentValue = this.startValue + diff;\n }\n\n this.updateValue(this.currentValue);\n },\n onTouchEnd: function onTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n if (this.dragStatus === 'draging') {\n this.updateValue(this.currentValue, true);\n this.$emit('drag-end');\n }\n\n this.dragStatus = '';\n },\n onClick: function onClick(event) {\n event.stopPropagation();\n if (this.disabled) return;\n var rect = this.$el.getBoundingClientRect();\n var delta = this.vertical ? event.clientY - rect.top : event.clientX - rect.left;\n var total = this.vertical ? rect.height : rect.width;\n var value = +this.min + delta / total * this.scope;\n\n if (this.range) {\n var _this$value = this.value,\n left = _this$value[0],\n right = _this$value[1];\n var middle = (left + right) / 2;\n\n if (value <= middle) {\n left = value;\n } else {\n right = value;\n }\n\n value = [left, right];\n }\n\n this.startValue = this.value;\n this.updateValue(value, true);\n },\n // 处理两个滑块重叠之后的情况\n handleOverlap: function handleOverlap(value) {\n if (value[0] > value[1]) {\n value = deepClone(value);\n return value.reverse();\n }\n\n return value;\n },\n updateValue: function updateValue(value, end) {\n if (this.range) {\n value = this.handleOverlap(value).map(this.format);\n } else {\n value = this.format(value);\n }\n\n if (!isSameValue(value, this.value)) {\n this.$emit('input', value);\n }\n\n if (end && !isSameValue(value, this.startValue)) {\n this.$emit('change', value);\n }\n },\n format: function format(value) {\n var min = +this.min;\n var max = +this.max;\n var step = +this.step;\n value = range(value, min, max);\n var diff = Math.round((value - min) / step) * step;\n return addNumber(min, diff);\n }\n },\n render: function render() {\n var _wrapperStyle,\n _this = this,\n _barStyle;\n\n var h = arguments[0];\n var vertical = this.vertical;\n var mainAxis = vertical ? 'height' : 'width';\n var crossAxis = vertical ? 'width' : 'height';\n var wrapperStyle = (_wrapperStyle = {\n background: this.inactiveColor\n }, _wrapperStyle[crossAxis] = addUnit(this.barHeight), _wrapperStyle); // 计算选中条的长度百分比\n\n var calcMainAxis = function calcMainAxis() {\n var value = _this.value,\n min = _this.min,\n range = _this.range,\n scope = _this.scope;\n\n if (range) {\n return (value[1] - value[0]) * 100 / scope + \"%\";\n }\n\n return (value - min) * 100 / scope + \"%\";\n }; // 计算选中条的开始位置的偏移量\n\n\n var calcOffset = function calcOffset() {\n var value = _this.value,\n min = _this.min,\n range = _this.range,\n scope = _this.scope;\n\n if (range) {\n return (value[0] - min) * 100 / scope + \"%\";\n }\n\n return null;\n };\n\n var barStyle = (_barStyle = {}, _barStyle[mainAxis] = calcMainAxis(), _barStyle.left = this.vertical ? null : calcOffset(), _barStyle.top = this.vertical ? calcOffset() : null, _barStyle.background = this.activeColor, _barStyle);\n\n if (this.dragStatus) {\n barStyle.transition = 'none';\n }\n\n var renderButton = function renderButton(i) {\n var map = ['left', 'right'];\n var isNumber = typeof i === 'number';\n\n var getClassName = function getClassName() {\n if (isNumber) {\n return \"button-wrapper-\" + map[i];\n }\n\n return \"button-wrapper\";\n };\n\n var getRefName = function getRefName() {\n if (isNumber) {\n return \"wrapper\" + i;\n }\n\n return \"wrapper\";\n };\n\n return h(\"div\", {\n \"ref\": getRefName(),\n \"attrs\": {\n \"role\": \"slider\",\n \"tabindex\": _this.disabled ? -1 : 0,\n \"aria-valuemin\": _this.min,\n \"aria-valuenow\": _this.value,\n \"aria-valuemax\": _this.max,\n \"aria-orientation\": _this.vertical ? 'vertical' : 'horizontal'\n },\n \"class\": bem(getClassName()),\n \"on\": {\n \"touchstart\": function touchstart() {\n if (isNumber) {\n // 保存当前按钮的索引\n _this.index = i;\n }\n },\n \"click\": function click(e) {\n return e.stopPropagation();\n }\n }\n }, [_this.slots('button') || h(\"div\", {\n \"class\": bem('button'),\n \"style\": _this.buttonStyle\n })]);\n };\n\n return h(\"div\", {\n \"style\": wrapperStyle,\n \"class\": bem({\n disabled: this.disabled,\n vertical: vertical\n }),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('bar'),\n \"style\": barStyle\n }, [this.range ? [renderButton(0), renderButton(1)] : renderButton()])]);\n }\n});","import { isDef, createNamespace } from '../utils';\nimport { isNumeric } from '../utils/validate/number';\n\nvar _createNamespace = createNamespace('badge'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n dot: Boolean,\n max: [Number, String],\n color: String,\n content: [Number, String],\n tag: {\n type: String,\n default: 'div'\n }\n },\n methods: {\n hasContent: function hasContent() {\n return !!(this.$scopedSlots.content || isDef(this.content) && this.content !== '');\n },\n renderContent: function renderContent() {\n var dot = this.dot,\n max = this.max,\n content = this.content;\n\n if (!dot && this.hasContent()) {\n if (this.$scopedSlots.content) {\n return this.$scopedSlots.content();\n }\n\n if (isDef(max) && isNumeric(content) && +content > max) {\n return max + \"+\";\n }\n\n return content;\n }\n },\n renderBadge: function renderBadge() {\n var h = this.$createElement;\n\n if (this.hasContent() || this.dot) {\n return h(\"div\", {\n \"class\": bem({\n dot: this.dot,\n fixed: !!this.$scopedSlots.default\n }),\n \"style\": {\n background: this.color\n }\n }, [this.renderContent()]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.$scopedSlots.default) {\n var tag = this.tag;\n return h(tag, {\n \"class\": bem('wrapper')\n }, [this.$scopedSlots.default(), this.renderBadge()]);\n }\n\n return this.renderBadge();\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isShow && _vm.shareInfo && _vm.shareInfo.shareBg)?_c('div',{staticClass:\"header\"},[_c('img',{staticClass:\"bg\",attrs:{\"src\":_vm.shareInfo.shareBg}}),_c('img',{staticClass:\"logo\",attrs:{\"src\":_vm.shareInfo.shareLogo}}),_c('div',{staticClass:\"content\"},[_vm._v(\"通过“\"+_vm._s(_vm.shareInfo.appName)+\"”客户端\")]),_c('div',{staticClass:\"button\",on:{\"click\":_vm.openApp}},[_vm._v(\"打开APP\")]),_c('img',{staticClass:\"close\",attrs:{\"src\":_vm.shareInfo.shareClose},on:{\"click\":_vm.close}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\nimport req from \"@/api\";\nimport { IShareInfo } from \"@/api/types\";\n\n@Component\nexport default class Header extends Vue {\n @Prop()\n private newsId!: string;\n\n @Prop()\n private appId!: string;\n\n private shareInfo: IShareInfo | {} = {};\n\n private isShow = true;\n\n mounted() {\n if (window && window.ZWY_CLOUD && window.ZWY_CLOUD.isOpenInApp()) {\n this.isShow = false;\n } else {\n this.isShow = true;\n const app = document.getElementById(\"app\") as HTMLDivElement;\n app.style.height = \"calc(100vh - (100vw * 0.16))\";\n app.style.width = \"100%\";\n app.style.position = \"absolute\";\n app.style.top = \"16vw\";\n }\n req.getShareInfo().then(res => {\n this.shareInfo = res.data;\n });\n }\n\n beforeDestroy() {\n this.close();\n }\n\n close() {\n const app = document.getElementById(\"app\") as HTMLDivElement;\n app.style.height = \"100%\";\n app.style.top = \"\";\n this.isShow = false;\n }\n\n openApp() {\n const shareInfo = this.shareInfo as IShareInfo;\n if (!shareInfo.schemeUrl) {\n return (location.href = shareInfo.downloadUrl);\n }\n const Params = {\n id: this.newsId || \"\",\n sourceId: this.newsId || \"\",\n sourceType: \"1\",\n url: location.href,\n shareUrl: location.href\n };\n if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {\n location.href = `${shareInfo.schemeUrl}/info/install/${this.appId}.html?id=${Params.id}&&&sourceId=${Params.id}&&&sourceType=1&&&url=${Params.url}&&&shareUrl=${Params.shareUrl}`;\n } else if (/(Android)/i.test(navigator.userAgent)) {\n location.href =\n shareInfo.schemeUrl.replace(\"http://\", \"\").replace(\"com/\", \"com\") +\n \"://\" +\n `?params=${JSON.stringify(Params)}`;\n setTimeout(() => {\n location.href = shareInfo.downloadUrl;\n }, 3000);\n } else {\n location.href = shareInfo.downloadUrl;\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=2c2d1910&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=ts&\"\nexport * from \"./Header.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=2c2d1910&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c2d1910\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"comment\"},[_c('div',{staticClass:\"comment-container\",on:{\"click\":_vm.onCommentClick}},[(_vm.liveDetail.isShowLiveRoom == 1)?_c('div',{ref:\"comment-host\",staticClass:\"comment-host\"},[_c('Swipe',{staticStyle:{\"min-height\":\"0.6rem\",\"max-height\":\"1.8rem\"},attrs:{\"autoplay\":3000,\"show-indicators\":false,\"loop\":false,\"touchable\":false}},_vm._l((_vm.hostComments),function(host){return _c('SwipeItem',{key:host.informationId},[_c('div',{staticClass:\"comment-host-item bg\"},[_c('div',{staticClass:\"comment-ellipsis-container\"},[_c('Tag',{attrs:{\"round\":\"\",\"type\":\"primary\"}},[_vm._v(\"主持人\")]),_c('span',{staticStyle:{\"color\":\"red\",\"margin-left\":\".05rem\"}},[_vm._v(_vm._s(host.compereName)+\":\")]),_c('span',[_vm._v(_vm._s(host.content))])],1)])])}),1)],1):_vm._e(),(_vm.liveDetail.isShowChat == 1)?_c('AutoScroll',{ref:\"auto-scroll\",attrs:{\"height\":\"calc(0.74rem * 5)\"},model:{value:(_vm.userComments),callback:function ($$v) {_vm.userComments=$$v},expression:\"userComments\"}},_vm._l((_vm.userComments),function(user){return _c('div',{key:user.replyId,staticClass:\"comment-user-item bg\"},[_c('div',{staticClass:\"comment-ellipsis-container\"},[_c('span',{style:({\n color: _vm.isHost(user) === '主持人' ? '#FFA200' : '#8BE8FF'\n })},[_vm._v(_vm._s(_vm.isHost(user))+\":\")]),_c('span',[_vm._v(_vm._s(user.content))])])])}),0):_vm._e()],1),(_vm.liveDetail.isShowLiveRoom == 1 || _vm.liveDetail.isShowChat == 1)?_c('CommentPop',{attrs:{\"detail\":_vm.liveDetail},model:{value:(_vm.showWin),callback:function ($$v) {_vm.showWin=$$v},expression:\"showWin\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit, emit } from '../utils/functional'; // Components\n\nimport Icon from '../icon'; // Types\n\nvar _createNamespace = createNamespace('tag'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Tag(h, props, slots, ctx) {\n var _style;\n\n var type = props.type,\n mark = props.mark,\n plain = props.plain,\n color = props.color,\n round = props.round,\n size = props.size,\n textColor = props.textColor;\n var key = plain ? 'color' : 'backgroundColor';\n var style = (_style = {}, _style[key] = color, _style);\n\n if (plain) {\n style.color = textColor || color;\n style.borderColor = color;\n } else {\n style.color = textColor;\n style.background = color;\n }\n\n var classes = {\n mark: mark,\n plain: plain,\n round: round\n };\n\n if (size) {\n classes[size] = size;\n }\n\n var CloseIcon = props.closeable && h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('close'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n emit(ctx, 'close');\n }\n }\n });\n return h(\"transition\", {\n \"attrs\": {\n \"name\": props.closeable ? 'van-fade' : null\n }\n }, [h(\"span\", _mergeJSXProps([{\n \"key\": \"content\",\n \"style\": style,\n \"class\": bem([classes, type])\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default(), CloseIcon])]);\n}\n\nTag.props = {\n size: String,\n mark: Boolean,\n color: String,\n plain: Boolean,\n round: Boolean,\n textColor: String,\n closeable: Boolean,\n type: {\n type: String,\n default: 'default'\n }\n};\nexport default createComponent(Tag);","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"auto-scroll\",staticClass:\"auto-scroll\",style:({ height: _vm.height }),on:{\"touchstart\":_vm.onTouchStart,\"touchend\":function($event){_vm.isTouchEnd = true}}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch, ModelSync } from \"vue-property-decorator\";\nimport { throttle } from \"@/common/utils\";\n\n@Component\nexport default class AutoScroll extends Vue {\n // 列表渲染元数据\n @ModelSync(\"_list\", \"change\", { type: Array, default: [] })\n private list!: { [x: string]: unknown }[];\n // 列表高度\n @Prop({ type: String, required: true })\n height!: string;\n // 列表根元素\n rootEl: HTMLElement | null = null;\n // 同时只能允许一个执行动画\n aniExcuting = false;\n // 视窗监听实例\n io: IntersectionObserver | null = null;\n // 长列表分割阈值\n splitThreshold = 50;\n // 长列表的缓冲长度\n bufferLenth = 10;\n // 暂停滚动 在滚动动画执行时,用户滑动会出现列表抖动\n pauseScroll = false;\n // 触摸是否结束\n isTouchEnd = false;\n\n mounted() {\n this.rootEl = this.$refs[\"auto-scroll\"] as HTMLElement;\n this.onIntersectionObserver();\n this.doUserAnimate();\n }\n\n // 有新评论继续动画\n @Watch(\"list\")\n async onUserCommentChange() {\n const withThrottle = throttle(this.doUserAnimate.bind(this), 1000);\n this.$nextTick(() => {\n this.calculateNotInView();\n withThrottle();\n });\n }\n\n // 用户评论滚动\n doUserAnimate(id?: number) {\n if (this.aniExcuting || !this.rootEl || this.pauseScroll) return;\n this.aniExcuting = true;\n const requstAnimationId: number = requestAnimationFrame(() => {\n const reachBottom = this.isReachBottom(\n this.rootEl!,\n this.rootEl!.clientHeight\n );\n if (!reachBottom) {\n setTimeout(() => {\n this.aniExcuting = false;\n this.rootEl!.scrollTop += 1;\n this.doUserAnimate(requstAnimationId);\n });\n } else {\n this.aniExcuting = false;\n id && cancelAnimationFrame(id);\n }\n });\n }\n\n onTouchStart() {\n // 暂停自动滚动\n this.pauseScroll = true;\n let lastTimeScrollTop = 0;\n // 定义一个interval定时器用来判断用户手动滑动是否已经结束\n const intervalId = setInterval(() => {\n if (lastTimeScrollTop !== this.rootEl?.scrollTop) {\n lastTimeScrollTop = this.rootEl?.scrollTop as number;\n } else {\n clearInterval(intervalId);\n this.pauseScroll = false;\n setTimeout(() => {\n if (!this.aniExcuting && this.isTouchEnd) {\n this.doUserAnimate();\n }\n });\n }\n }, 150);\n }\n\n // 实例化视窗监听\n onIntersectionObserver() {\n if (this.io || !this.rootEl) return;\n this.io = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n // 在父元素的视窗中已不可见\n if (\n !entry.isIntersecting &&\n entry.boundingClientRect.bottom < 600 &&\n this.list.length > 100\n ) {\n // 注销监听\n this.io!.unobserve(entry.target);\n console.log(\n \"<-----------清理元素\",\n entry.target,\n \"之前的---------->\"\n );\n // 暂定50为阈值来清理队列\n this.$nextTick(() => {\n this.delComment(this.splitThreshold - this.bufferLenth);\n });\n }\n });\n },\n { root: this.rootEl }\n );\n }\n\n // 计算已经不在可是范围的评论\n calculateNotInView() {\n if (!this.rootEl || !this.io) return;\n const childEl = this.rootEl.children;\n [...childEl].forEach((item, index) => {\n if (index !== 0 && index % this.splitThreshold === 0)\n this.io!.observe(item);\n });\n }\n\n // 过长删除队列\n delComment(end = 0) {\n if (end > 0) {\n this.list.splice(0, end);\n return;\n }\n const { length } = this.list;\n if (length > 100) {\n this.list.splice(0, 50);\n }\n }\n\n // 是否滚动到底部\n isReachBottom(el: HTMLElement, wrapHeight: number, threshold = 0) {\n const h1 = el.scrollHeight - el.scrollTop,\n h2 = wrapHeight + threshold;\n return h1 <= h2;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoScroll.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoScroll.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AutoScroll.vue?vue&type=template&id=250ccb64&scoped=true&\"\nimport script from \"./AutoScroll.vue?vue&type=script&lang=ts&\"\nexport * from \"./AutoScroll.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AutoScroll.vue?vue&type=style&index=0&id=250ccb64&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"250ccb64\",\n null\n \n)\n\nexport default component.exports","import { IGetDetail, ILiveInfo } from \"@/api/types\";\nimport { Vue, InjectReactive } from \"vue-property-decorator\";\n\nexport class WithInject extends Vue {\n // 直播间详情\n @InjectReactive(\"liveDetail\")\n liveDetail!: IGetDetail[\"data\"];\n\n // 直播间轮训信息\n @InjectReactive({ from: \"liveInfo\", default: () => {} })\n liveInfo!: ILiveInfo;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popup',{attrs:{\"position\":\"bottom\",\"round\":true,\"lazy-render\":true},on:{\"open\":function($event){_vm.render = true},\"closed\":function($event){_vm.render = false}},model:{value:(_vm._show),callback:function ($$v) {_vm._show=$$v},expression:\"_show\"}},[_c('div',{staticClass:\"comment-pop\"},[_c('Tabs',{attrs:{\"color\":\"#145be5\",\"border\":\"\"},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},[(_vm.liveDetail.isShowLiveRoom == 1)?_c('Tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"0.4rem\",\"height\":\"0.29rem\"},attrs:{\"src\":_vm.detail.liveRoomIcon\n ? _vm.detail.liveRoomIcon\n : require((\"../../../assets/image/直播间icon(\" + (_vm.active === 0 ? '' : '未') + \"选中)@2x.png\")),\"alt\":\"\"}}),_c('span',{staticStyle:{\"margin-left\":\".08rem\",\"font-size\":\".3rem\"}},[_vm._v(\"直播间\")])])]},proxy:true}],null,false,2949114713)},[(_vm.render)?_c('LiveComment'):_vm._e()],1):_vm._e(),(_vm.liveDetail.isShowChat == 1)?_c('Tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"0.4rem\",\"height\":\"0.29rem\"},attrs:{\"src\":_vm.detail.chatIcon\n ? _vm.detail.chatIcon\n : require((\"../../../assets/image/聊天室icon(\" + (_vm.active === 1 ? '' : '未') + \"选中)@2x.png\")),\"alt\":\"\"}}),_c('span',{staticStyle:{\"margin-left\":\".08rem\",\"font-size\":\".3rem\"}},[_vm._v(\"聊天室\")])])]},proxy:true}],null,false,2709068600)},[(_vm.render)?_c('ChatComment'):_vm._e()],1):_vm._e()],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('skeleton'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar DEFAULT_ROW_WIDTH = '100%';\nvar DEFAULT_LAST_ROW_WIDTH = '60%';\n\nfunction Skeleton(h, props, slots, ctx) {\n if (!props.loading) {\n return slots.default && slots.default();\n }\n\n function Title() {\n if (props.title) {\n return h(\"h3\", {\n \"class\": bem('title'),\n \"style\": {\n width: addUnit(props.titleWidth)\n }\n });\n }\n }\n\n function Rows() {\n var Rows = [];\n var rowWidth = props.rowWidth;\n\n function getRowWidth(index) {\n if (rowWidth === DEFAULT_ROW_WIDTH && index === +props.row - 1) {\n return DEFAULT_LAST_ROW_WIDTH;\n }\n\n if (Array.isArray(rowWidth)) {\n return rowWidth[index];\n }\n\n return rowWidth;\n }\n\n for (var i = 0; i < props.row; i++) {\n Rows.push(h(\"div\", {\n \"class\": bem('row'),\n \"style\": {\n width: addUnit(getRowWidth(i))\n }\n }));\n }\n\n return Rows;\n }\n\n function Avatar() {\n if (props.avatar) {\n var size = addUnit(props.avatarSize);\n return h(\"div\", {\n \"class\": bem('avatar', props.avatarShape),\n \"style\": {\n width: size,\n height: size\n }\n });\n }\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem({\n animate: props.animate,\n round: props.round\n })\n }, inherit(ctx)]), [Avatar(), h(\"div\", {\n \"class\": bem('content')\n }, [Title(), Rows()])]);\n}\n\nSkeleton.props = {\n title: Boolean,\n round: Boolean,\n avatar: Boolean,\n titleWidth: [Number, String],\n avatarSize: [Number, String],\n row: {\n type: [Number, String],\n default: 0\n },\n loading: {\n type: Boolean,\n default: true\n },\n animate: {\n type: Boolean,\n default: true\n },\n avatarShape: {\n type: String,\n default: 'round'\n },\n rowWidth: {\n type: [Number, String, Array],\n default: DEFAULT_ROW_WIDTH\n }\n};\nexport default createComponent(Skeleton);","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"live-room\"},[_c('PullRefresh',{on:{\"refresh\":_vm.onRefresh},model:{value:(_vm.refreshing),callback:function ($$v) {_vm.refreshing=$$v},expression:\"refreshing\"}},[_c('List',{attrs:{\"finished\":_vm.finish,\"immediate-check\":false,\"finished-text\":\"没有更多了\"},on:{\"load\":_vm.onLoad},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}},[(_vm.loading && !_vm.liveRoomList.length)?_c('Skeleton',{attrs:{\"title\":\"\",\"avatar\":\"\",\"row\":3}}):_vm._e(),_vm._l((_vm.liveRoomList),function(live){return _c('div',{key:live.id,class:[{ 'border-bottom': false }, 'live-comment']},[_c('div',{staticClass:\"live-comment-avatar\"},[_c('VanImage',{attrs:{\"round\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":live.avatar}}),_c('div',[_c('Tag',{attrs:{\"type\":\"primary\",\"round\":\"\",\"plain\":\"\"}},[_vm._v(\"主持人\")])],1)],1),_c('div',{staticClass:\"live-comment-content\"},[_c('div',{staticClass:\"username\"},[_vm._v(_vm._s(live.compereName))]),_c('section',[(live.video)?_c('video',{staticClass:\"content-video\",attrs:{\"src\":live.video,\"poster\":live.videoImg,\"x5-video-player-type\":\"h5\",\"playsinline\":\"true\",\"webkit-playsinline\":\"true\",\"controls\":\"\",\"preload\":\"metadata\"}}):_vm._e(),(_vm.getLiveCommentImages(live).length === 1)?_c('div',{staticClass:\"big-picture\"},[_c('VanImage',{directives:[{name:\"preview\",rawName:\"v-preview\",value:(\n live.imageHyperLink[0].hyperLink\n ? null\n : _vm.getLiveCommentImages(live)[0]\n ),expression:\"\\n live.imageHyperLink[0].hyperLink\\n ? null\\n : getLiveCommentImages(live)[0]\\n \"}],staticStyle:{\"width\":\"100%\"},attrs:{\"src\":_vm.getLiveCommentImages(live)[0],\"radius\":\"0.06rem\"},on:{\"click\":function($event){return _vm.openNews({\n title: '',\n url: live.imageHyperLink[0].hyperLink\n })}}})],1):_c('div',{staticClass:\"picture-grid\"},_vm._l((_vm.getLiveCommentImages(live)),function(img,index){return _c('div',{key:index,staticClass:\"picture-grid-item\",style:([1, 4, 7].includes(index) ? 'margin: 0 5%' : '')},[_c('VanImage',{directives:[{name:\"preview\",rawName:\"v-preview\",value:({\n images: live.imageHyperLink[index].hyperLink\n ? null\n : _vm.getLiveCommentImages(live),\n index: index\n }),expression:\"{\\n images: live.imageHyperLink[index].hyperLink\\n ? null\\n : getLiveCommentImages(live),\\n index\\n }\"}],staticStyle:{\"width\":\"100%\",\"height\":\"1.4rem\"},attrs:{\"fit\":\"cover\",\"src\":img,\"radius\":\"0.06rem\"},on:{\"click\":function($event){return _vm.openNews({\n title: '',\n url: live.imageHyperLink[index].hyperLink\n })}}})],1)}),0),_c('span',{staticClass:\"live-comment-text\"},[_vm._v(_vm._s(live.content))])]),_c('div',{staticClass:\"live-comment-content-reply\"},[_c('div',{staticStyle:{\"font-size\":\"0.26rem\"}},[_c('span',{staticStyle:{\"margin-right\":\".15rem\"}},[_vm._v(_vm._s(live.createTime ? _vm.timeFormat(live.createTime) : \"-\"))]),_c('span',[_vm._v(\"回复\")])]),_c('div',{staticClass:\"live-comment-like\"},[_c('div',{staticClass:\"live-comment-like-count\"},[_vm._v(\" \"+_vm._s(live.praiseCount || 0)+\" \")]),_c('img',{directives:[{name:\"jump\",rawName:\"v-jump\"}],staticStyle:{\"width\":\".3rem\",\"height\":\".29rem\"},attrs:{\"src\":require(\"../../../../assets/portrait/点赞.png\"),\"alt\":\"点赞\"}})])]),(live.newsUrls && live.newsUrls.length)?_c('div',{staticClass:\"related-news\"},_vm._l((live.newsUrls),function(news,index){return _c('div',{key:index,staticClass:\"related-news-item\",style:({ 'margin-top': index === 0 ? 0 : '0.12rem' }),on:{\"click\":function () { return _vm.openNews(news); }}},[_c('img',{staticStyle:{\"width\":\"0.26rem\",\"height\":\"0.26rem\"},attrs:{\"src\":require(\"../../../../assets/image/链接@2x.png\"),\"alt\":\"\"}}),_c('p',[_vm._v(_vm._s(news.title))])])}),0):_vm._e(),(live.commentDtoList && live.commentDtoList.length)?_c('LiveReplyComment',{attrs:{\"reply-list\":live.commentDtoList}}):_vm._e()],1)])})],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reply-comment\"},[_vm._l((_vm.replyList.slice(0, _vm.showMore ? 1000 : 1)),function(reply){return _c('div',{key:reply.id,staticClass:\"reply-comment-item\"},[_c('VanImage',{staticStyle:{\"position\":\"relative\",\"top\":\"2px\"},attrs:{\"round\":\"\",\"width\":\"16\",\"height\":\"16\",\"src\":reply.replyUserUrl}}),_c('div',{staticClass:\"reply-item-content\"},[_c('span',{staticStyle:{\"color\":\"#2768e5\"}},[_vm._v(_vm._s(reply.nickname)+\":\")]),_c('span',[_vm._v(_vm._s(reply.content))])])],1)}),(_vm.replyList.length > 1)?_c('div',{staticClass:\"show-more-button\",on:{\"click\":function($event){_vm.showMore = !_vm.showMore}}},[_vm._v(\" \"+_vm._s(_vm.showMore ? \"收起回复\" : \"展开更多回复\")+\" \")]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport { Image as VanImage } from \"vant\";\nimport { ICommentItem } from \"@/api/types\";\n@Component({\n components: { VanImage }\n})\nexport default class LiveReplyComment extends Vue {\n @Prop({ type: Array, default: () => [] })\n replyList!: ICommentItem[];\n\n // 是否点击展示更多\n showMore = false;\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveReplyComment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveReplyComment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LiveReplyComment.vue?vue&type=template&id=3fd133b4&scoped=true&\"\nimport script from \"./LiveReplyComment.vue?vue&type=script&lang=ts&\"\nexport * from \"./LiveReplyComment.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LiveReplyComment.vue?vue&type=style&index=0&id=3fd133b4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fd133b4\",\n null\n \n)\n\nexport default component.exports","/** 竖版直播的接口,单独好区分 */\nimport axios from \"@/common/request\";\nimport { bindState } from \"@/common/decorator\";\nimport {\n IGetChatRoom,\n IGetDetail,\n IGetFloating,\n IGetLiveRoom,\n IHosts,\n ILiveInfo,\n IResponseT\n} from \"./types\";\n\nclass Request {\n @bindState\n appId!: string;\n /**\n * 获取直播详情\n * @param infoClassifyId infoClassifyId\n */\n getLiveDetail(infoClassifyId: string): Promise {\n return axios.get(`/live/detail/${infoClassifyId}.html`);\n }\n\n /**\n * 获取直播间轮训用详情\n * @param params\n * @returns\n */\n getLiveInfo(params: {\n appId: number;\n sourceType: string;\n sourceId: string;\n lastReplyId?: string;\n classifyId?: string;\n }): Promise> {\n return axios.post(`/live/get_live_infos.html`, {\n ...params\n });\n }\n\n /**\n * 直播间列表\n * @param infoClassifyId 资讯ID\n * @param lastReplyId 最后的评论id\n * @param lastId lastId\n * @param lastSortNo 最后一条数据的排序号\n * @param lastCreateTime 最后一条数据时间\n * @param hostIds 筛选主持人\n * @param sort 不为空 升序 默认降序\n */\n getLiveRoom(params: {\n infoClassifyId: string;\n lastReplyId?: string;\n lastId?: string;\n lastSortNo?: string;\n lastCreateTime?: string;\n hostIds?: string[];\n sort?: \"DESC\" | \"ASC\";\n }): Promise {\n return axios.post(\"/live/live_room.html\", {\n appId: this.appId,\n ...params\n });\n }\n\n /**\n * 聊天室列表\n * @param infoClassifyId 资讯ID\n * @param lastReplyId 最后的评论id\n * @param lastCreateTime 最后的评论时间\n */\n getChatRoom(params: {\n infoClassifyId: string;\n lastCreateTime: string;\n lastReplyId?: string;\n }): Promise {\n return axios.get(\"/live/chat_room.html\", {\n params: {\n appId: this.appId,\n ...params\n }\n });\n }\n\n /** 浮窗列表 */\n getFloatList(infoClassifyId: string): Promise {\n return axios.post(`/live/floating.html`, { infoClassifyId });\n }\n\n /**\n * 获取主持人列表\n * @param infoClassifyId\n */\n getHosts(infoClassifyId: string): Promise {\n return axios.post(\"/live/hosts.html\", {\n appId: this.appId,\n infoClassifyId\n });\n }\n}\n\nexport default new Request();\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport {\n Image as VanImage,\n List,\n Skeleton,\n Tag,\n Toast,\n PullRefresh\n} from \"vant\";\nimport dayjs from \"dayjs\";\nimport LiveReplyComment from \"./LiveReplyComment.vue\";\nimport { ILiveRoomItem } from \"@/api/types\";\nimport req from \"@/api/portrait\";\nimport { openUrl } from \"@/common/utils\";\n\n@Component({\n components: { VanImage, Tag, LiveReplyComment, List, Skeleton, PullRefresh }\n})\nexport default class LiveComment extends Vue {\n // 渲染的数据\n liveRoomList: ILiveRoomItem[] = [];\n // 列表下拉刷新\n refreshing = false;\n // 列表加载动画\n loading = true;\n finish = false;\n\n // 直播间与聊天室分页\n livePage = {\n lastReplyId: \"\",\n lastId: \"\",\n lastSortNo: \"\",\n lastCreateTime: \"\"\n };\n\n // 评论超过两条展示全部\n showMore = false;\n\n getLiveCommentImages(item: ILiveRoomItem) {\n return (item.imageHyperLink || []).map(data => data.image) || [];\n }\n\n mounted() {\n this.getLiveRoom();\n }\n\n initData() {\n this.liveRoomList = [];\n this.finish = false;\n this.livePage = {\n lastReplyId: \"\",\n lastId: \"\",\n lastSortNo: \"\",\n lastCreateTime: \"\"\n };\n }\n\n // 发布时间格式化\n timeFormat(time: string): string {\n if (!time) return \"\";\n const upTime = dayjs(time).unix() * 1000,\n nowTime = Date.now();\n\n if (nowTime - upTime > 365 * 24 * 3600 * 1000) {\n return dayjs(time).format(\"YYYY-MM-DD HH:mm\");\n } else if (nowTime - upTime <= 3600 * 1000) {\n return ((nowTime - upTime) / 1000 / 60).toFixed(0) + \"分钟前\";\n } else if (nowTime - upTime <= 3600 * 1000 * 24) {\n return ((nowTime - upTime) / 1000 / 60 / 60).toFixed(0) + \"小时前\";\n } else {\n return dayjs(time).format(\"MM-DD HH:mm\");\n }\n }\n\n // 获取直播间数据\n async getLiveRoom() {\n return req\n .getLiveRoom({\n infoClassifyId: this.$route.query.id as string,\n ...this.livePage\n })\n .then(res => {\n if (res.code === 0) {\n this.liveRoomList.push(...(res.data || []));\n if (!res.data) {\n this.finish = true;\n this.loading = false;\n return;\n }\n if (res.data.length) {\n const last = res.data[0];\n this.livePage.lastId = last.id + \"\";\n this.livePage.lastCreateTime = last.createTime;\n this.livePage.lastSortNo = last.sortNo + \"\";\n }\n if (res.data.length < 10) {\n this.finish = true;\n } else {\n this.finish = false;\n }\n } else {\n Toast.fail(res.message);\n }\n })\n .catch(err => {\n console.warn(err);\n Toast.fail(\"获取直播间信息失败!\");\n })\n .finally(() => {\n this.loading = false;\n });\n }\n\n // 打开关联新闻\n openNews(news: { title: string; url: string }) {\n openUrl(news.url);\n }\n\n // 上拉加载\n onLoad() {\n console.log(321);\n this.getLiveRoom();\n }\n\n // 下拉刷新\n onRefresh() {\n setTimeout(async () => {\n this.initData();\n await this.getLiveRoom();\n this.refreshing = false;\n }, 1000);\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveComment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveComment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LiveComment.vue?vue&type=template&id=d79ef458&scoped=true&\"\nimport script from \"./LiveComment.vue?vue&type=script&lang=ts&\"\nexport * from \"./LiveComment.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LiveComment.vue?vue&type=style&index=0&id=d79ef458&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d79ef458\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"chat-comment\"},[_c('PullRefresh',{on:{\"refresh\":_vm.onRefresh},model:{value:(_vm.refreshing),callback:function ($$v) {_vm.refreshing=$$v},expression:\"refreshing\"}},[_c('List',{attrs:{\"finished\":_vm.finish,\"immediate-check\":false,\"finished-text\":\"没有更多了\"},on:{\"load\":_vm.onLoad},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}},[(_vm.loading && !_vm.chatRoomList.length)?_c('Skeleton',{attrs:{\"title\":\"\",\"avatar\":\"\",\"row\":3}}):_vm._e(),_vm._l((_vm.chatRoomList),function(chat,index){return _c('div',{key:index,staticClass:\"chat-comment-item\"},[_c('div',{staticClass:\"chat-comment-user\"},[_c('div',{staticClass:\"user-info\"},[_c('VanImage',{attrs:{\"round\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":chat.replyUserUrl}}),_c('span',{staticClass:\"username\"},[_vm._v(_vm._s(chat.nickname))])],1),_c('div',{staticClass:\"chat-comment-like\"},[_c('div',{staticClass:\"chat-comment-like-count\"},[_vm._v(_vm._s(chat.praise))]),_c('img',{directives:[{name:\"jump\",rawName:\"v-jump\"}],staticStyle:{\"width\":\".3rem\",\"height\":\".29rem\"},attrs:{\"src\":require(\"../../../../assets/portrait/点赞.png\"),\"alt\":\"点赞\"}})])]),_c('div',{staticClass:\"chat-comment-content\"},[(chat.imageUrl)?_c('VanImage',{directives:[{name:\"preview\",rawName:\"v-preview\",value:(chat.imageUrl),expression:\"chat.imageUrl\"}],staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"0.16rem\"},attrs:{\"radius\":\"0.06rem\",\"src\":chat.imageUrl}}):_vm._e(),_c('p',[_vm._v(_vm._s(chat.content))]),(chat.replyList)?_c('div',{staticClass:\"content-reply\"},_vm._l((chat.replyList),function(reply,index){return _c('div',{key:index,staticClass:\"content-reply-item\"},[_c('span',{staticStyle:{\"color\":\"#2567e4\"}},[_vm._v(_vm._s(reply.user)+\":\")]),_c('span',[_vm._v(_vm._s(reply.content))])])}),0):_vm._e()],1)])})],2)],1),_c('div',{staticClass:\"reply-input\"},[_c('input',{attrs:{\"type\":\"text\",\"placeholder\":\"发表您的评论...\"}}),_c('VanButton',{directives:[{name:\"jump\",rawName:\"v-jump\"}],staticStyle:{\"width\":\"1.14rem\",\"height\":\"0.66rem\"},attrs:{\"type\":\"danger\",\"round\":\"\"}},[_c('span',{staticStyle:{\"font-size\":\"0.28rem\",\"white-space\":\"nowrap\"}},[_vm._v(\"发布\")])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport {\n Image as VanImage,\n Skeleton,\n List,\n Toast,\n PullRefresh,\n Button as VanButton\n} from \"vant\";\nimport { IChatRoomItem } from \"@/api/types\";\nimport req from \"@/api/portrait\";\n\n@Component({\n components: {\n VanImage,\n List,\n Skeleton,\n PullRefresh,\n VanButton\n }\n})\nexport default class ChatComment extends Vue {\n // 渲染的数据\n chatRoomList: IChatRoomItem[] = [];\n // 列表下拉刷新\n refreshing = false;\n // 列表加载动画\n loading = true;\n finish = false;\n\n chatPage = {\n lastCreateTime: \"\",\n lastReplyId: \"\"\n };\n\n mounted() {\n this.getChatRoom();\n }\n\n initData() {\n this.chatRoomList = [];\n this.finish = false;\n this.chatPage = {\n lastCreateTime: \"\",\n lastReplyId: \"\"\n };\n }\n\n // 获取聊天室数据\n async getChatRoom() {\n return req\n .getChatRoom({\n infoClassifyId: this.$route.query.id as string,\n ...this.chatPage\n })\n .then(res => {\n if (res.code === 0) {\n this.chatRoomList.push(...(res.data || []));\n if (!!res.data && res.data.length) {\n const last = res.data[0];\n this.chatPage.lastReplyId = last.id + \"\";\n this.chatPage.lastCreateTime = last.createTime;\n }\n if (res.data.length < 10) {\n this.finish = true;\n } else {\n this.finish = false;\n }\n } else {\n Toast.fail(res.message);\n }\n })\n .catch(err => {\n console.warn(err);\n Toast.fail(\"获取聊天室信息失败!\");\n })\n .finally(() => {\n this.loading = false;\n });\n }\n\n onLoad() {\n this.getChatRoom();\n }\n\n onRefresh() {\n setTimeout(async () => {\n this.initData();\n await this.getChatRoom();\n this.refreshing = false;\n }, 1000);\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatComment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatComment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChatComment.vue?vue&type=template&id=d3a6784e&scoped=true&\"\nimport script from \"./ChatComment.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChatComment.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ChatComment.vue?vue&type=style&index=0&id=d3a6784e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d3a6784e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, ModelSync, Prop } from \"vue-property-decorator\";\nimport { Popup, Tabs, Tab, List, Skeleton } from \"vant\";\nimport { WithInject } from \"../Mixins\";\nimport LiveComment from \"./liveroom/LiveComment.vue\";\nimport ChatComment from \"./chatroom/ChatComment.vue\";\nimport { IGetDetail } from \"@/api/types\";\n\n@Component({\n components: {\n Popup,\n Tabs,\n Tab,\n List,\n LiveComment,\n ChatComment,\n Skeleton\n }\n})\nexport default class CommentPop extends WithInject {\n @ModelSync(\"show\", \"change\", { type: Boolean })\n private _show!: boolean;\n // 直播间详情\n @Prop({ type: Object, default: () => {} })\n detail!: IGetDetail[\"data\"];\n // 控制重新渲染tab内组件的变量\n render = true;\n // tab\n active = 0;\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentPop.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentPop.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommentPop.vue?vue&type=template&id=60456ed4&scoped=true&\"\nimport script from \"./CommentPop.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommentPop.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CommentPop.vue?vue&type=style&index=0&id=60456ed4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60456ed4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component } from \"vue-property-decorator\";\nimport { Tag, Swipe, SwipeItem, Icon } from \"vant\";\nimport AutoScroll from \"@/components/AutoScroll.vue\";\nimport { WithInject } from \"../Mixins\";\nimport CommentPop from \"./CommentPop.vue\";\nimport req from \"@/api/portrait\";\nimport { IHosts, ILiveInfo, IReplyItem } from \"@/api/types\";\nimport { Deprecated } from \"@/common/decorator\";\n\n@Component({\n components: {\n Tag,\n Swipe,\n SwipeItem,\n Icon,\n AutoScroll,\n CommentPop\n }\n})\nexport default class Comment extends WithInject {\n // 直播与聊天\n showWin = false;\n // 当前选择的主持人筛选队列\n hostIds: string[] = [];\n\n // 直播间主持人列表\n hostList: IHosts[\"data\"] = [];\n\n // 用户评论弹幕\n get userComments(): IReplyItem[] {\n return this.liveInfo.replyList || [];\n }\n\n // 主持人轮播信息\n get hostComments(): ILiveInfo[\"classifyList\"] {\n return this.liveInfo.classifyList || [];\n }\n\n isHost(user: IReplyItem) {\n const result = this.hostList.find(h => h.id + \"\" == user.userId);\n return result ? \"主持人\" : user.name;\n }\n\n // 获取主持人列表,这个接口暂时只用于匹配主持人发表评论后区分主持人弹幕的样式\n getHosts() {\n req.getHosts(this.$route.query.id as string).then(res => {\n if (res.code === 0) {\n this.hostList = res.data || [];\n }\n });\n }\n\n mounted() {\n this.getHosts();\n // if (this.$route.query.hostIds) {\n // this.hostIds = (this.$route.query.hostIds as string).split(\"-\");\n // } else {\n // this.hostIds = [];\n // }\n }\n\n // 测试用 添加评论 暂时选择在Watch中对队列进行处理\n // 目前做的分享页 发不了评论\n @Deprecated\n addComment(comment: IReplyItem) {\n const rootEl = (this.$refs[\"auto-scroll\"] as Vue).$el as HTMLElement;\n this.userComments.push(comment);\n // 添加评论后列表滚动到底部\n rootEl.scrollTop = rootEl.scrollHeight;\n }\n\n // 点击了评论区\n onCommentClick() {\n if (this.userComments.length || this.hostComments.length) {\n this.showWin = true;\n } else {\n this.$emit(\"trigger-play\");\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=9225cbb0&scoped=true&\"\nimport script from \"./Comment.vue?vue&type=script&lang=ts&\"\nexport * from \"./Comment.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=9225cbb0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9225cbb0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"live-header\"},[_c('div',{staticClass:\"live-detail\"},[_c('div',{staticClass:\"title radius-shadow\",on:{\"click\":function($event){_vm.showDetail = true}}},[_c('p',[_vm._v(_vm._s(_vm.hideDetailViewCount)+_vm._s(_vm.prefix)+\" | \"+_vm._s(_vm.detail.title))]),_c('Icon',{staticStyle:{\"margin-left\":\"0.1rem\"},attrs:{\"name\":_vm.showDetail ? 'arrow-up' : 'arrow-down'}})],1),(_vm.appIdFromUA != 1)?_c('div',[(_vm.detail.isShowViewNum == 1)?_c('div',{class:[\n 'view-count',\n 'radius-shadow',\n !_vm.hideDetailViewCount && 'show'\n ]},[_vm._v(\" \"+_vm._s(_vm.detail.viewCount)+\"观看 \")]):_vm._e()]):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showDetail && _vm.prefix === '直播预告'),expression:\"!showDetail && prefix === '直播预告'\"}],staticClass:\"start-time radius-shadow\"},[_vm._v(\" 开始时间:\"+_vm._s(_vm.detail.onlineTime || \"-\")+\" \")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDetail),expression:\"showDetail\"}],staticClass:\"mask\"},[_c('p',{staticClass:\"brief\"},[_vm._v(\" \"+_vm._s(_vm.detail.synopsis)+\" \")]),_c('div',{on:{\"click\":function($event){_vm.showDetail = false}}},[_vm._v(\" 收起 \"),_c('Icon',{staticStyle:{\"margin-left\":\"0.1rem\"},attrs:{\"name\":\"arrow-up\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport { Icon } from \"vant\";\nimport { IGetDetail } from \"@/api/types\";\n@Component({\n components: { Icon }\n})\nexport default class LiveHeader extends Vue {\n @Prop({ type: Object, default: () => {} })\n detail!: IGetDetail[\"data\"];\n // 展示直播间详情\n showDetail = false;\n\n get hideDetailViewCount() {\n return this.$store.state.hideDetailViewCount;\n }\n\n get appIdFromUA() {\n return this.$store.state.appIdFromUA;\n }\n\n get viewCount() {\n const viewCount = Number(this.detail.viewCount);\n return viewCount < 10000\n ? viewCount\n : ((viewCount || 1) / 10000).toFixed(1) + \"w\";\n }\n\n get prefix() {\n const map = {\n 0: \"直播预告\",\n 1: \"正在直播\",\n 2: \"直播回顾\"\n };\n\n return map[this.detail.status || 0];\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LiveHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LiveHeader.vue?vue&type=template&id=5de97f52&scoped=true&\"\nimport script from \"./LiveHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./LiveHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LiveHeader.vue?vue&type=style&index=0&id=5de97f52&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5de97f52\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, ProvideReactive } from \"vue-property-decorator\";\nimport { Slider, Badge, Toast, ActionSheet, Image as VanImage } from \"vant\";\nimport \"videojs-contrib-hls\";\nimport DownloadHeader from \"./components/Header.vue\";\nimport Comment from \"./components/Comment.vue\";\nimport LiveHeader from \"./components/LiveHeader.vue\";\nimport native from \"@/common/Native\";\nimport request from \"@/api\";\nimport req from \"@/api/portrait\";\nimport AppPrompt from \"@/components/AppPrompt.vue\";\nimport {\n IClassify,\n IFloating,\n IGetDetail,\n ILiveInfo,\n IReplyItem,\n IShareInfo\n} from \"@/api/types\";\nimport { isFunction } from \"@/common/is\";\nimport { Deprecated } from \"@/common/decorator\";\nimport {\n recordCount,\n recordTime,\n recordVideo,\n removRecordTime,\n removRecordVideo\n} from \"@/api/dataCollect\";\n\n@Component({\n components: {\n DownloadHeader,\n LiveHeader,\n Comment,\n Slider,\n Badge,\n ActionSheet,\n VanImage,\n AppPrompt\n }\n})\nexport default class Living extends Vue {\n // 直播间详情\n @ProvideReactive(\"liveDetail\")\n liveDetail: IGetDetail[\"data\"] = {} as IGetDetail[\"data\"];\n appId: number | null = null;\n // 直播间轮询信息\n @ProvideReactive(\"liveInfo\")\n liveInfo: ILiveInfo = {\n replyList: [] as IReplyItem[],\n classifyList: [] as IClassify[]\n } as ILiveInfo;\n // 直播实时更新时常\n @Deprecated\n vDuration = 0;\n // 缓冲进度\n @Deprecated\n vProgress = 0;\n // videojs实例\n vPlayer: videojs.VideoJsPlayer | null = null;\n // 底部操作区高度\n footerHeight = 0;\n // 播放暂停状态\n isPause = false;\n // videojs选项\n videoOptions: videojs.VideoJsPlayerOptions = {\n controls: false,\n autoplay: true,\n poster: require(\"../../assets/poster.jpeg\")\n };\n // 分页信息\n page: Partial<{ lastReplyId: string; classifyId: string }> = {};\n // 悬浮信息\n floatInfo: IFloating = {} as IFloating;\n // 显示浮窗\n floatShow = true;\n // 显示悬浮列表\n showFloatList = false;\n // TODO: 轮询是否已经启动,后面改成装饰器实现@once\n isExcute = false;\n /** 顶部打开app */\n shareInfo: IShareInfo | null = null;\n isOpenApp = false;\n get isM3u8() {\n return (\n this.liveDetail?.bannerVideo?.endsWith(\"m3u\") ||\n this.liveDetail?.bannerVideo?.endsWith(\"m3u8\")\n );\n }\n\n beforeDestroy() {\n removRecordTime();\n removRecordVideo();\n }\n mounted() {\n const linkView = document.getElementById(\"linkView\") as HTMLDivElement;\n linkView.style.height = \"100vh\";\n /** 忽略样式 竖版直播目前写法不能适配pc */\n const html = document.getElementsByTagName(\"html\")[0] as HTMLElement;\n html.style.maxWidth = \"unset\";\n html.style.margin = \"unset\";\n const body = document.getElementsByTagName(\"body\")[0] as HTMLElement;\n body.style.maxWidth = \"unset\";\n body.style.margin = \"unset\";\n this.isOpenApp = !native.isOpenInApp();\n document.title = \"新闻直播\";\n // document.addEventListener(\n // \"WeixinJSBridgeReady\",\n // () => {\n // (document.querySelector(\"#video-live\") as HTMLVideoElement).play();\n // alert(\"播放!\");\n // },\n // false\n // );\n if (!native.isOpenInApp()) {\n this.addViewCount();\n }\n this.footerHeight = (this.$refs.footer as HTMLElement).offsetHeight;\n this.getLiveDetail();\n this.getFloatList();\n this.getLiveShareInfo();\n this.solveKeyboardSqueezeScreen();\n }\n close() {\n const liveHeader = document.getElementsByClassName(\n \"live-header\"\n )[0] as HTMLDivElement;\n liveHeader.style.top = \"0.2rem\";\n }\n /** 端外增加浏览量 */\n addViewCount() {\n // request\n // .getCount(this.$route.query.id as string, process.env.VUE_APP_COUNT_API)\n // .then(() => {});\n request.getCount().then(() => {});\n }\n\n // 获取直播间基本详情\n async getLiveDetail() {\n req\n .getLiveDetail(this.$route.query.id as string)\n .then(res => {\n if (res.code === 0) {\n this.liveDetail = res.data;\n recordCount({ news: this.liveDetail, sourceType: \"news\" });\n recordTime({ news: this.liveDetail, sourceType: \"news\" });\n res.data.bannerImg && (this.videoOptions.poster = res.data.bannerImg);\n // this.liveDetail.bannerVideo =\n // \"https://imagecdn.cqliving.com/livevideo/jlp/1624330290724109/m3u8/tll166j.m3u8\";\n this.$nextTick(() => {\n this.initVideo();\n });\n this.$store.commit(\"SET_STATE\", {\n detail: res.data,\n appId: res.data.appId\n });\n this.appId = res.data.appId;\n this.getAppConfig();\n this.getLiveInfo();\n this.getShareInfo();\n } else {\n Toast.fail(res.message);\n }\n })\n .catch(() => {\n Toast.fail(\"获取直播间信息失败\");\n });\n }\n\n /** 获取顶部唤醒APP信息 */\n async getShareInfo(data?: IShareInfo) {\n if (data) {\n this.shareInfo = data;\n this.$store.commit(\"SET_STATE\", {\n downloadUrl: data.downloadUrl\n });\n } else {\n const result = await request.getShareInfo();\n if (result.code === 0) {\n this.shareInfo = result.data;\n this.$store.commit(\"SET_STATE\", {\n downloadUrl: result.data.downloadUrl\n });\n }\n }\n }\n async getAppConfig() {\n const result = await request.getAppConfig();\n if (result) {\n for (let i = 0; i < result.length; i++) {\n if (result[i].appId == this.appId) {\n const video = document.querySelector(\"video\") as HTMLVideoElement;\n if (video) {\n video.muted = Boolean(result[i].appConfig.liveMute ?? 0);\n }\n this.$store.commit(\"SET_STATE\", {\n hideDetailViewCount: result[i].appConfig.hideDetailViewCount\n });\n break;\n }\n }\n }\n }\n\n // 轮训用信息\n async getLiveInfo() {\n if (!this.liveDetail.appId) return;\n req\n .getLiveInfo({\n appId: this.liveDetail.appId,\n sourceType: this.liveDetail.sourceType || \"1\",\n sourceId: this.$route.query.id as string,\n ...this.page\n })\n .then(res => {\n if (res.code === 0) {\n if (!res.data) return;\n const frequency = res.data.autoRefreshFrequency * 1000;\n Object.keys(res.data).forEach(key => {\n if (![\"replyList\", \"classifyList\"].includes(key)) {\n Object.assign(this.liveInfo, {\n [key]: res.data[key as keyof ILiveInfo]\n });\n }\n });\n this.$forceUpdate();\n if (res.data.replyList.length) {\n this.liveInfo.replyList.push(...res.data.replyList);\n this.page.lastReplyId = res.data.replyList[0].id; //res.data.replyList.lastChild.id;\n }\n if (res.data.classifyList.length) {\n console.warn(`删除前${~~((frequency || 8000) / 3000)}项`);\n // 删除已经展示过的,根据轮询时间/轮播单个item展示时间获取\n this.liveInfo.classifyList.splice(\n 0,\n ~~((frequency || 8000) / 3000)\n );\n this.liveInfo.classifyList.push(...res.data.classifyList);\n this.page.classifyId = res.data.classifyList[0].id;\n }\n\n !this.isExcute &&\n this.doPolling(this.getLiveInfo, {\n immediate: false,\n wait: frequency || 8000\n });\n this.isExcute = true;\n }\n });\n }\n\n // 微信分享\n async getLiveShareInfo() {\n if (native.isOpenInApp()) {\n const result = await request.liveShare(this.$route.query.id as string);\n native.setShareConfig({\n id: this.$route.query.id + \"\",\n title: result.data.shareTitle,\n content: result.data.synopsis,\n icon: result.data.shareImgUrl,\n url: result.data.shareUrl,\n sourceType: result.data.sourceType + \"\"\n });\n }\n }\n\n // 轮询函数\n doPolling(\n cb: () => void,\n {\n immediate,\n wait = 8000,\n stop\n }: {\n immediate?: boolean;\n wait?: number;\n stop?: (timer: number) => unknown;\n },\n timer?: number\n ) {\n if (!timer && immediate) {\n isFunction(cb) && cb();\n }\n timer = setTimeout(() => {\n isFunction(cb) && cb();\n this.doPolling(cb, { immediate, wait, stop }, timer);\n }, wait);\n\n isFunction(stop) && stop(timer);\n }\n\n // 浮窗列表\n getFloatList() {\n req.getFloatList(this.$route.query.id as string).then(res => {\n if (res.code === 0) {\n this.floatInfo = res.data || { adverInfoList: [], groupIcon: \"\" };\n } else {\n Toast.fail(res.message);\n }\n });\n }\n\n // 点击浮窗\n floatClick() {\n if (this.floatInfo.adverInfoList.length > 1) {\n this.showFloatList = true;\n } else {\n location.href = this.floatInfo.adverInfoList[0].linkUrl;\n }\n }\n\n // 时间轴改变\n onChange(targetTime: number) {\n if (this.vDuration === 0 || !this.vPlayer) return;\n this.vPlayer.currentTime((targetTime / 100) * this.vDuration);\n }\n\n // 发送评论 用户发送后跳转app下载链接\n onCommentSend() {\n location.href = `http://www.cqliving.com/install/index.html?id=${this.$store.state.appId}`;\n }\n\n // 点击播放\n onPlay() {\n !this.isPause ? this.vPlayer?.pause() : this.vPlayer?.play();\n setTimeout(() => {\n this.isPause = !this.isPause;\n }, 150);\n }\n\n // 安卓监听键盘事件 解决窗口挤压问题\n solveKeyboardSqueezeScreen() {\n setTimeout(() => {\n const vw = window.innerWidth,\n vh = window.innerHeight,\n viewport = document.querySelector(\"meta[name=viewport]\")!;\n\n viewport.setAttribute(\n \"content\",\n \"height=\" + vh + \"px, width=\" + vw + \"px, initial-scale=1.0\"\n );\n });\n }\n\n // 初始化播放器\n initVideo() {\n this.isPause = true;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n this.vPlayer = this.$video(\"video-live\", this.videoOptions, () => {\n if (!this.vPlayer) return;\n // 进度条更新\n this.vPlayer.on(\"timeupdate\", function(this: videojs.VideoJsPlayer) {\n _this.isPause = false;\n const currentTime = this.currentTime(),\n duration = this.duration();\n _this.$nextTick(() => {\n // m3u8 即hls,分段直播流,时长会不断更新\n _this.vDuration = duration;\n _this.vProgress = (currentTime / duration) * 100;\n });\n });\n // 结束\n this.vPlayer.on(\"ended\", function(this: videojs.VideoJsPlayer) {\n _this.isPause = true;\n });\n });\n setTimeout(() => {\n recordVideo({\n news: this.liveDetail,\n sourceType: \"news\",\n ElVideoName: \"#video-live\"\n });\n }, 100);\n }\n\n // 筛选页面考虑到ios上用户体验(避免页面栈中大于1底部出现返回bar) 改为以全屏组件的形式存在\n // 这里是解决安卓机在筛选页面直接通过物理按键返回导致页面直接关闭问题\n // 竖屏直播又没设计筛选了 所以这个暂时屏蔽\n @Deprecated\n preventBack() {\n history.pushState(null, \"\", document.URL);\n window.addEventListener(\"popstate\", () => {\n history.pushState(null, \"\", document.URL);\n });\n }\n\n deactivated() {\n this.onPlay();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Living.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Living.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Living.vue?vue&type=template&id=350a81ea&scoped=true&\"\nimport script from \"./Living.vue?vue&type=script&lang=ts&\"\nexport * from \"./Living.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Living.vue?vue&type=style&index=0&id=350a81ea&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"350a81ea\",\n null\n \n)\n\nexport default component.exports","/**\n * mux.js\n *\n * Copyright (c) 2014 Brightcove\n * All rights reserved.\n *\n * A lightweight readable stream implemention that handles event dispatching.\n * Objects that inherit from streams should call init in their constructors.\n */\n'use strict';\n\nvar Stream = function() {\n this.init = function() {\n var listeners = {};\n /**\n * Add a listener for a specified event type.\n * @param type {string} the event name\n * @param listener {function} the callback to be invoked when an event of\n * the specified type occurs\n */\n this.on = function(type, listener) {\n if (!listeners[type]) {\n listeners[type] = [];\n }\n listeners[type] = listeners[type].concat(listener);\n };\n /**\n * Remove a listener for a specified event type.\n * @param type {string} the event name\n * @param listener {function} a function previously registered for this\n * type of event through `on`\n */\n this.off = function(type, listener) {\n var index;\n if (!listeners[type]) {\n return false;\n }\n index = listeners[type].indexOf(listener);\n listeners[type] = listeners[type].slice();\n listeners[type].splice(index, 1);\n return index > -1;\n };\n /**\n * Trigger an event of the specified type on this stream. Any additional\n * arguments to this function are passed as parameters to event listeners.\n * @param type {string} the event name\n */\n this.trigger = function(type) {\n var callbacks, i, length, args;\n callbacks = listeners[type];\n if (!callbacks) {\n return;\n }\n // Slicing the arguments on every invocation of this method\n // can add a significant amount of overhead. Avoid the\n // intermediate object creation for the common case of a\n // single callback argument\n if (arguments.length === 2) {\n length = callbacks.length;\n for (i = 0; i < length; ++i) {\n callbacks[i].call(this, arguments[1]);\n }\n } else {\n args = [];\n i = arguments.length;\n for (i = 1; i < arguments.length; ++i) {\n args.push(arguments[i]);\n }\n length = callbacks.length;\n for (i = 0; i < length; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n };\n /**\n * Destroys the stream and cleans up.\n */\n this.dispose = function() {\n listeners = {};\n };\n };\n};\n\n/**\n * Forwards all `data` events on this stream to the destination stream. The\n * destination stream should provide a method `push` to receive the data\n * events as they arrive.\n * @param destination {stream} the stream that will receive all `data` events\n * @param autoFlush {boolean} if false, we will not call `flush` on the destination\n * when the current stream emits a 'done' event\n * @see http://nodejs.org/api/stream.html#stream_readable_pipe_destination_options\n */\nStream.prototype.pipe = function(destination) {\n this.on('data', function(data) {\n destination.push(data);\n });\n\n this.on('done', function(flushSource) {\n destination.flush(flushSource);\n });\n\n return destination;\n};\n\n// Default stream functions that are expected to be overridden to perform\n// actual work. These are provided by the prototype as a sort of no-op\n// implementation so that we don't have to check for their existence in the\n// `pipe` function above.\nStream.prototype.push = function(data) {\n this.trigger('data', data);\n};\n\nStream.prototype.flush = function(flushSource) {\n this.trigger('done', flushSource);\n};\n\nmodule.exports = Stream;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentPop.vue?vue&type=style&index=0&id=60456ed4&lang=scss&scoped=true&\"","/*\n * pkcs7.unpad\n * https://github.com/brightcove/pkcs7\n *\n * Copyright (c) 2014 Brightcove\n * Licensed under the apache2 license.\n */\n\n'use strict';\n\n/**\n * Returns the subarray of a Uint8Array without PKCS#7 padding.\n * @param padded {Uint8Array} unencrypted bytes that have been padded\n * @return {Uint8Array} the unpadded bytes\n * @see http://tools.ietf.org/html/rfc5652\n */\nmodule.exports = function unpad(padded) {\n return padded.subarray(0, padded.byteLength - padded[padded.byteLength - 1]);\n};\n","/**\n * @file codec-utils.js\n */\n\n/**\n * Check if a codec string refers to an audio codec.\n *\n * @param {String} codec codec string to check\n * @return {Boolean} if this is an audio codec\n * @private\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar isAudioCodec = function isAudioCodec(codec) {\n return (/mp4a\\.\\d+.\\d+/i.test(codec)\n );\n};\n\n/**\n * Check if a codec string refers to a video codec.\n *\n * @param {String} codec codec string to check\n * @return {Boolean} if this is a video codec\n * @private\n */\nvar isVideoCodec = function isVideoCodec(codec) {\n return (/avc1\\.[\\da-f]+/i.test(codec)\n );\n};\n\n/**\n * Parse a content type header into a type and parameters\n * object\n *\n * @param {String} type the content type header\n * @return {Object} the parsed content-type\n * @private\n */\nvar parseContentType = function parseContentType(type) {\n var object = { type: '', parameters: {} };\n var parameters = type.trim().split(';');\n\n // first parameter should always be content-type\n object.type = parameters.shift().trim();\n parameters.forEach(function (parameter) {\n var pair = parameter.trim().split('=');\n\n if (pair.length > 1) {\n var _name = pair[0].replace(/\"/g, '').trim();\n var value = pair[1].replace(/\"/g, '').trim();\n\n object.parameters[_name] = value;\n }\n });\n\n return object;\n};\n\n/**\n * Replace the old apple-style `avc1.
.
` codec string with the standard\n * `avc1.`\n *\n * @param {Array} codecs an array of codec strings to fix\n * @return {Array} the translated codec array\n * @private\n */\nvar translateLegacyCodecs = function translateLegacyCodecs(codecs) {\n return codecs.map(function (codec) {\n return codec.replace(/avc1\\.(\\d+)\\.(\\d+)/i, function (orig, profile, avcLevel) {\n var profileHex = ('00' + Number(profile).toString(16)).slice(-2);\n var avcLevelHex = ('00' + Number(avcLevel).toString(16)).slice(-2);\n\n return 'avc1.' + profileHex + '00' + avcLevelHex;\n });\n });\n};\n\nexports['default'] = {\n isAudioCodec: isAudioCodec,\n parseContentType: parseContentType,\n isVideoCodec: isVideoCodec,\n translateLegacyCodecs: translateLegacyCodecs\n};\nmodule.exports = exports['default'];","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar scrollSetting = {\n \"\": true,\n \"up\": true\n};\n\nfunction findScrollSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var scroll = scrollSetting[value.toLowerCase()];\n return scroll ? value.toLowerCase() : false;\n}\n\nfunction isValidPercentValue(value) {\n return typeof value === \"number\" && (value >= 0 && value <= 100);\n}\n\n// VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface\nfunction VTTRegion() {\n var _width = 100;\n var _lines = 3;\n var _regionAnchorX = 0;\n var _regionAnchorY = 100;\n var _viewportAnchorX = 0;\n var _viewportAnchorY = 100;\n var _scroll = \"\";\n\n Object.defineProperties(this, {\n \"width\": {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"Width must be between 0 and 100.\");\n }\n _width = value;\n }\n },\n \"lines\": {\n enumerable: true,\n get: function() {\n return _lines;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Lines must be set to a number.\");\n }\n _lines = value;\n }\n },\n \"regionAnchorY\": {\n enumerable: true,\n get: function() {\n return _regionAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorX must be between 0 and 100.\");\n }\n _regionAnchorY = value;\n }\n },\n \"regionAnchorX\": {\n enumerable: true,\n get: function() {\n return _regionAnchorX;\n },\n set: function(value) {\n if(!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorY must be between 0 and 100.\");\n }\n _regionAnchorX = value;\n }\n },\n \"viewportAnchorY\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorY must be between 0 and 100.\");\n }\n _viewportAnchorY = value;\n }\n },\n \"viewportAnchorX\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorX;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorX must be between 0 and 100.\");\n }\n _viewportAnchorX = value;\n }\n },\n \"scroll\": {\n enumerable: true,\n get: function() {\n return _scroll;\n },\n set: function(value) {\n var setting = findScrollSetting(value);\n // Have to check for false as an empty string is a legal value.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _scroll = setting;\n }\n }\n });\n}\n\nmodule.exports = VTTRegion;\n","/**\n * @license\n * Video.js 6.13.0 \n * Copyright Brightcove, Inc. \n * Available under Apache License Version 2.0\n * \n *\n * Includes vtt.js \n * Available under Apache License Version 2.0\n * \n */\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar window = _interopDefault(require('global/window'));\nvar document = _interopDefault(require('global/document'));\nvar tsml = _interopDefault(require('tsml'));\nvar safeParseTuple = _interopDefault(require('safe-json-parse/tuple'));\nvar xhr = _interopDefault(require('xhr'));\nvar vtt = _interopDefault(require('videojs-vtt.js'));\n\nvar version = \"6.13.0\";\n\n/**\n * @file browser.js\n * @module browser\n */\nvar USER_AGENT = window.navigator && window.navigator.userAgent || '';\nvar webkitVersionMap = /AppleWebKit\\/([\\d.]+)/i.exec(USER_AGENT);\nvar appleWebkitVersion = webkitVersionMap ? parseFloat(webkitVersionMap.pop()) : null;\n\n/*\n * Device is an iPhone\n *\n * @type {Boolean}\n * @constant\n * @private\n */\nvar IS_IPAD = /iPad/i.test(USER_AGENT);\n\n// The Facebook app's UIWebView identifies as both an iPhone and iPad, so\n// to identify iPhones, we need to exclude iPads.\n// http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/\nvar IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\nvar IS_IPOD = /iPod/i.test(USER_AGENT);\nvar IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\n\nvar IOS_VERSION = function () {\n var match = USER_AGENT.match(/OS (\\d+)_/i);\n\n if (match && match[1]) {\n return match[1];\n }\n return null;\n}();\n\nvar IS_ANDROID = /Android/i.test(USER_AGENT);\nvar ANDROID_VERSION = function () {\n // This matches Android Major.Minor.Patch versions\n // ANDROID_VERSION is Major.Minor as a Number, if Minor isn't available, then only Major is returned\n var match = USER_AGENT.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);\n\n if (!match) {\n return null;\n }\n\n var major = match[1] && parseFloat(match[1]);\n var minor = match[2] && parseFloat(match[2]);\n\n if (major && minor) {\n return parseFloat(match[1] + '.' + match[2]);\n } else if (major) {\n return major;\n }\n return null;\n}();\n\n// Old Android is defined as Version older than 2.3, and requiring a webkit version of the android browser\nvar IS_OLD_ANDROID = IS_ANDROID && /webkit/i.test(USER_AGENT) && ANDROID_VERSION < 2.3;\nvar IS_NATIVE_ANDROID = IS_ANDROID && ANDROID_VERSION < 5 && appleWebkitVersion < 537;\n\nvar IS_FIREFOX = /Firefox/i.test(USER_AGENT);\nvar IS_EDGE = /Edge/i.test(USER_AGENT);\nvar IS_CHROME = !IS_EDGE && (/Chrome/i.test(USER_AGENT) || /CriOS/i.test(USER_AGENT));\nvar CHROME_VERSION = function () {\n var match = USER_AGENT.match(/(Chrome|CriOS)\\/(\\d+)/);\n\n if (match && match[2]) {\n return parseFloat(match[2]);\n }\n return null;\n}();\nvar IS_IE8 = /MSIE\\s8\\.0/.test(USER_AGENT);\nvar IE_VERSION = function () {\n var result = /MSIE\\s(\\d+)\\.\\d/.exec(USER_AGENT);\n var version = result && parseFloat(result[1]);\n\n if (!version && /Trident\\/7.0/i.test(USER_AGENT) && /rv:11.0/.test(USER_AGENT)) {\n // IE 11 has a different user agent string than other IE versions\n version = 11.0;\n }\n\n return version;\n}();\n\nvar IS_SAFARI = /Safari/i.test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE;\nvar IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\n\nvar TOUCH_ENABLED = isReal() && ('ontouchstart' in window || window.navigator.maxTouchPoints || window.DocumentTouch && window.document instanceof window.DocumentTouch);\n\nvar BACKGROUND_SIZE_SUPPORTED = isReal() && 'backgroundSize' in window.document.createElement('video').style;\n\nvar browser = (Object.freeze || Object)({\n\tIS_IPAD: IS_IPAD,\n\tIS_IPHONE: IS_IPHONE,\n\tIS_IPOD: IS_IPOD,\n\tIS_IOS: IS_IOS,\n\tIOS_VERSION: IOS_VERSION,\n\tIS_ANDROID: IS_ANDROID,\n\tANDROID_VERSION: ANDROID_VERSION,\n\tIS_OLD_ANDROID: IS_OLD_ANDROID,\n\tIS_NATIVE_ANDROID: IS_NATIVE_ANDROID,\n\tIS_FIREFOX: IS_FIREFOX,\n\tIS_EDGE: IS_EDGE,\n\tIS_CHROME: IS_CHROME,\n\tCHROME_VERSION: CHROME_VERSION,\n\tIS_IE8: IS_IE8,\n\tIE_VERSION: IE_VERSION,\n\tIS_SAFARI: IS_SAFARI,\n\tIS_ANY_SAFARI: IS_ANY_SAFARI,\n\tTOUCH_ENABLED: TOUCH_ENABLED,\n\tBACKGROUND_SIZE_SUPPORTED: BACKGROUND_SIZE_SUPPORTED\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n\n\n\n\n\n\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar taggedTemplateLiteralLoose = function (strings, raw) {\n strings.raw = raw;\n return strings;\n};\n\n/**\n * @file obj.js\n * @module obj\n */\n\n/**\n * @callback obj:EachCallback\n *\n * @param {Mixed} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n */\n\n/**\n * @callback obj:ReduceCallback\n *\n * @param {Mixed} accum\n * The value that is accumulating over the reduce loop.\n *\n * @param {Mixed} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n *\n * @return {Mixed}\n * The new accumulated value.\n */\nvar toString = Object.prototype.toString;\n\n/**\n * Get the keys of an Object\n *\n * @param {Object}\n * The Object to get the keys from\n *\n * @return {string[]}\n * An array of the keys from the object. Returns an empty array if the\n * object passed in was invalid or had no keys.\n *\n * @private\n */\nvar keys = function keys(object) {\n return isObject(object) ? Object.keys(object) : [];\n};\n\n/**\n * Array-like iteration for objects.\n *\n * @param {Object} object\n * The object to iterate over\n *\n * @param {obj:EachCallback} fn\n * The callback function which is called for each key in the object.\n */\nfunction each(object, fn) {\n keys(object).forEach(function (key) {\n return fn(object[key], key);\n });\n}\n\n/**\n * Array-like reduce for objects.\n *\n * @param {Object} object\n * The Object that you want to reduce.\n *\n * @param {Function} fn\n * A callback function which is called for each key in the object. It\n * receives the accumulated value and the per-iteration value and key\n * as arguments.\n *\n * @param {Mixed} [initial = 0]\n * Starting value\n *\n * @return {Mixed}\n * The final accumulated value.\n */\nfunction reduce(object, fn) {\n var initial = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n return keys(object).reduce(function (accum, key) {\n return fn(accum, object[key], key);\n }, initial);\n}\n\n/**\n * Object.assign-style object shallow merge/extend.\n *\n * @param {Object} target\n * @param {Object} ...sources\n * @return {Object}\n */\nfunction assign(target) {\n for (var _len = arguments.length, sources = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n if (Object.assign) {\n return Object.assign.apply(Object, [target].concat(sources));\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n target[key] = value;\n });\n });\n\n return target;\n}\n\n/**\n * Returns whether a value is an object of any kind - including DOM nodes,\n * arrays, regular expressions, etc. Not functions, though.\n *\n * This avoids the gotcha where using `typeof` on a `null` value\n * results in `'object'`.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nfunction isObject(value) {\n return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object';\n}\n\n/**\n * Returns whether an object appears to be a \"plain\" object - that is, a\n * direct instance of `Object`.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nfunction isPlain(value) {\n return isObject(value) && toString.call(value) === '[object Object]' && value.constructor === Object;\n}\n\n/**\n * @file create-logger.js\n * @module create-logger\n */\n// This is the private tracking variable for the logging history.\nvar history = [];\n\n/**\n * Log messages to the console and history based on the type of message\n *\n * @private\n * @param {string} type\n * The name of the console method to use.\n *\n * @param {Array} args\n * The arguments to be passed to the matching console method.\n */\nvar LogByTypeFactory = function LogByTypeFactory(name, log) {\n return function (type, level, args, stringify) {\n var lvl = log.levels[level];\n var lvlRegExp = new RegExp('^(' + lvl + ')$');\n\n if (type !== 'log') {\n\n // Add the type to the front of the message when it's not \"log\".\n args.unshift(type.toUpperCase() + ':');\n }\n\n // Add console prefix after adding to history.\n args.unshift(name + ':');\n\n // Add a clone of the args at this point to history.\n if (history) {\n history.push([].concat(args));\n }\n\n // If there's no console then don't try to output messages, but they will\n // still be stored in history.\n if (!window.console) {\n return;\n }\n\n // Was setting these once outside of this function, but containing them\n // in the function makes it easier to test cases where console doesn't exist\n // when the module is executed.\n var fn = window.console[type];\n\n if (!fn && type === 'debug') {\n // Certain browsers don't have support for console.debug. For those, we\n // should default to the closest comparable log.\n fn = window.console.info || window.console.log;\n }\n\n // Bail out if there's no console or if this type is not allowed by the\n // current logging level.\n if (!fn || !lvl || !lvlRegExp.test(type)) {\n return;\n }\n\n // IEs previous to 11 log objects uselessly as \"[object Object]\"; so, JSONify\n // objects and arrays for those less-capable browsers.\n if (stringify) {\n args = args.map(function (a) {\n if (isObject(a) || Array.isArray(a)) {\n try {\n return JSON.stringify(a);\n } catch (x) {\n return String(a);\n }\n }\n\n // Cast to string before joining, so we get null and undefined explicitly\n // included in output (as we would in a modern console).\n return String(a);\n }).join(' ');\n }\n\n // Old IE versions do not allow .apply() for console methods (they are\n // reported as objects rather than functions).\n if (!fn.apply) {\n fn(args);\n } else {\n fn[Array.isArray(args) ? 'apply' : 'call'](window.console, args);\n }\n };\n};\n\nfunction createLogger$1(name) {\n // This is the private tracking variable for logging level.\n var level = 'info';\n\n // the curried logByType bound to the specific log and history\n var logByType = void 0;\n\n /**\n * Logs plain debug messages. Similar to `console.log`.\n *\n * Due to [limitations](https://github.com/jsdoc3/jsdoc/issues/955#issuecomment-313829149)\n * of our JSDoc template, we cannot properly document this as both a function\n * and a namespace, so its function signature is documented here.\n *\n * #### Arguments\n * ##### *args\n * Mixed[]\n *\n * Any combination of values that could be passed to `console.log()`.\n *\n * #### Return Value\n *\n * `undefined`\n *\n * @namespace\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged.\n */\n var log = function log() {\n var stringify = log.stringify || IE_VERSION && IE_VERSION < 11;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n logByType('log', level, args, stringify);\n };\n\n // This is the logByType helper that the logging methods below use\n logByType = LogByTypeFactory(name, log);\n\n /**\n * Create a new sublogger which chains the old name to the new name.\n *\n * For example, doing `videojs.log.createLogger('player')` and then using that logger will log the following:\n * ```js\n * mylogger('foo');\n * // > VIDEOJS: player: foo\n * ```\n *\n * @param {string} name\n * The name to add call the new logger\n * @return {Object}\n */\n log.createLogger = function (subname) {\n return createLogger$1(name + ': ' + subname);\n };\n\n /**\n * Enumeration of available logging levels, where the keys are the level names\n * and the values are `|`-separated strings containing logging methods allowed\n * in that logging level. These strings are used to create a regular expression\n * matching the function name being called.\n *\n * Levels provided by Video.js are:\n *\n * - `off`: Matches no calls. Any value that can be cast to `false` will have\n * this effect. The most restrictive.\n * - `all`: Matches only Video.js-provided functions (`debug`, `log`,\n * `log.warn`, and `log.error`).\n * - `debug`: Matches `log.debug`, `log`, `log.warn`, and `log.error` calls.\n * - `info` (default): Matches `log`, `log.warn`, and `log.error` calls.\n * - `warn`: Matches `log.warn` and `log.error` calls.\n * - `error`: Matches only `log.error` calls.\n *\n * @type {Object}\n */\n log.levels = {\n all: 'debug|log|warn|error',\n off: '',\n debug: 'debug|log|warn|error',\n info: 'log|warn|error',\n warn: 'warn|error',\n error: 'error',\n DEFAULT: level\n };\n\n /**\n * Get or set the current logging level.\n *\n * If a string matching a key from {@link module:log.levels} is provided, acts\n * as a setter.\n *\n * @param {string} [lvl]\n * Pass a valid level to set a new logging level.\n *\n * @return {string}\n * The current logging level.\n */\n log.level = function (lvl) {\n if (typeof lvl === 'string') {\n if (!log.levels.hasOwnProperty(lvl)) {\n throw new Error('\"' + lvl + '\" in not a valid log level');\n }\n level = lvl;\n }\n return level;\n };\n\n /**\n * Returns an array containing everything that has been logged to the history.\n *\n * This array is a shallow clone of the internal history record. However, its\n * contents are _not_ cloned; so, mutating objects inside this array will\n * mutate them in history.\n *\n * @return {Array}\n */\n log.history = function () {\n return history ? [].concat(history) : [];\n };\n\n /**\n * Allows you to filter the history by the given logger name\n *\n * @param {string} fname\n * The name to filter by\n *\n * @return {Array}\n * The filtered list to return\n */\n log.history.filter = function (fname) {\n return (history || []).filter(function (historyItem) {\n // if the first item in each historyItem includes `fname`, then it's a match\n return new RegExp('.*' + fname + '.*').test(historyItem[0]);\n });\n };\n\n /**\n * Clears the internal history tracking, but does not prevent further history\n * tracking.\n */\n log.history.clear = function () {\n if (history) {\n history.length = 0;\n }\n };\n\n /**\n * Disable history tracking if it is currently enabled.\n */\n log.history.disable = function () {\n if (history !== null) {\n history.length = 0;\n history = null;\n }\n };\n\n /**\n * Enable history tracking if it is currently disabled.\n */\n log.history.enable = function () {\n if (history === null) {\n history = [];\n }\n };\n\n /**\n * Logs error messages. Similar to `console.error`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as an error\n */\n log.error = function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return logByType('error', level, args);\n };\n\n /**\n * Logs warning messages. Similar to `console.warn`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as a warning.\n */\n log.warn = function () {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logByType('warn', level, args);\n };\n\n /**\n * Logs debug messages. Similar to `console.debug`, but may also act as a comparable\n * log if `console.debug` is not available\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as debug.\n */\n log.debug = function () {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return logByType('debug', level, args);\n };\n\n return log;\n}\n\n/**\n * @file log.js\n * @module log\n */\nvar log = createLogger$1('VIDEOJS');\nvar createLogger = log.createLogger;\n\n/**\n * @file computed-style.js\n * @module computed-style\n */\n/**\n * A safe getComputedStyle with an IE8 fallback.\n *\n * This is needed because in Firefox, if the player is loaded in an iframe with\n * `display:none`, then `getComputedStyle` returns `null`, so, we do a null-check to\n * make sure that the player doesn't break in these cases.\n *\n * @param {Element} el\n * The element you want the computed style of\n *\n * @param {string} prop\n * The property name you want\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n *\n * @static\n * @const\n */\nfunction computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n\n if (typeof window.getComputedStyle === 'function') {\n var cs = window.getComputedStyle(el);\n\n return cs ? cs[prop] : '';\n }\n\n return el.currentStyle[prop] || '';\n}\n\nvar _templateObject = taggedTemplateLiteralLoose(['Setting attributes in the second argument of createEl()\\n has been deprecated. Use the third argument instead.\\n createEl(type, properties, attributes). Attempting to set ', ' to ', '.'], ['Setting attributes in the second argument of createEl()\\n has been deprecated. Use the third argument instead.\\n createEl(type, properties, attributes). Attempting to set ', ' to ', '.']);\n\n/**\n * @file dom.js\n * @module dom\n */\n/**\n * Detect if a value is a string with any non-whitespace characters.\n *\n * @param {string} str\n * The string to check\n *\n * @return {boolean}\n * - True if the string is non-blank\n * - False otherwise\n *\n */\nfunction isNonBlankString(str) {\n return typeof str === 'string' && /\\S/.test(str);\n}\n\n/**\n * Throws an error if the passed string has whitespace. This is used by\n * class methods to be relatively consistent with the classList API.\n *\n * @param {string} str\n * The string to check for whitespace.\n *\n * @throws {Error}\n * Throws an error if there is whitespace in the string.\n *\n */\nfunction throwIfWhitespace(str) {\n if (/\\s/.test(str)) {\n throw new Error('class has illegal whitespace characters');\n }\n}\n\n/**\n * Produce a regular expression for matching a className within an elements className.\n *\n * @param {string} className\n * The className to generate the RegExp for.\n *\n * @return {RegExp}\n * The RegExp that will check for a specific `className` in an elements\n * className.\n */\nfunction classRegExp(className) {\n return new RegExp('(^|\\\\s)' + className + '($|\\\\s)');\n}\n\n/**\n * Whether the current DOM interface appears to be real.\n *\n * @return {Boolean}\n */\nfunction isReal() {\n return (\n\n // Both document and window will never be undefined thanks to `global`.\n document === window.document &&\n\n // In IE < 9, DOM methods return \"object\" as their type, so all we can\n // confidently check is that it exists.\n typeof document.createElement !== 'undefined'\n );\n}\n\n/**\n * Determines, via duck typing, whether or not a value is a DOM element.\n *\n * @param {Mixed} value\n * The thing to check\n *\n * @return {boolean}\n * - True if it is a DOM element\n * - False otherwise\n */\nfunction isEl(value) {\n return isObject(value) && value.nodeType === 1;\n}\n\n/**\n * Determines if the current DOM is embedded in an iframe.\n *\n * @return {boolean}\n *\n */\nfunction isInFrame() {\n\n // We need a try/catch here because Safari will throw errors when attempting\n // to get either `parent` or `self`\n try {\n return window.parent !== window.self;\n } catch (x) {\n return true;\n }\n}\n\n/**\n * Creates functions to query the DOM using a given method.\n *\n * @param {string} method\n * The method to create the query with.\n *\n * @return {Function}\n * The query method\n */\nfunction createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document[method](null);\n }\n if (isNonBlankString(context)) {\n context = document.querySelector(context);\n }\n\n var ctx = isEl(context) ? context : document;\n\n return ctx[method] && ctx[method](selector);\n };\n}\n\n/**\n * Creates an element and applies properties.\n *\n * @param {string} [tagName='div']\n * Name of tag to be created.\n *\n * @param {Object} [properties={}]\n * Element properties to be applied.\n *\n * @param {Object} [attributes={}]\n * Element attributes to be applied.\n *\n * @param {String|Element|TextNode|Array|Function} [content]\n * Contents for the element (see: {@link dom:normalizeContent})\n *\n * @return {Element}\n * The element that was created.\n */\nfunction createEl() {\n var tagName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'div';\n var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = arguments[3];\n\n var el = document.createElement(tagName);\n\n Object.getOwnPropertyNames(properties).forEach(function (propName) {\n var val = properties[propName];\n\n // See #2176\n // We originally were accepting both properties and attributes in the\n // same object, but that doesn't work so well.\n if (propName.indexOf('aria-') !== -1 || propName === 'role' || propName === 'type') {\n log.warn(tsml(_templateObject, propName, val));\n el.setAttribute(propName, val);\n\n // Handle textContent since it's not supported everywhere and we have a\n // method for it.\n } else if (propName === 'textContent') {\n textContent(el, val);\n } else {\n el[propName] = val;\n }\n });\n\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n el.setAttribute(attrName, attributes[attrName]);\n });\n\n if (content) {\n appendContent(el, content);\n }\n\n return el;\n}\n\n/**\n * Injects text into an element, replacing any existing contents entirely.\n *\n * @param {Element} el\n * The element to add text content into\n *\n * @param {string} text\n * The text content to add.\n *\n * @return {Element}\n * The element with added text content.\n */\nfunction textContent(el, text) {\n if (typeof el.textContent === 'undefined') {\n el.innerText = text;\n } else {\n el.textContent = text;\n }\n return el;\n}\n\n/**\n * Insert an element as the first child node of another\n *\n * @param {Element} child\n * Element to insert\n *\n * @param {Element} parent\n * Element to insert child into\n */\nfunction prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\n }\n}\n\n/**\n * Check if an element has a CSS class\n *\n * @param {Element} element\n * Element to check\n *\n * @param {string} classToCheck\n * Class name to check for\n *\n * @return {boolean}\n * - True if the element had the class\n * - False otherwise.\n *\n * @throws {Error}\n * Throws an error if `classToCheck` has white space.\n */\nfunction hasClass(element, classToCheck) {\n throwIfWhitespace(classToCheck);\n if (element.classList) {\n return element.classList.contains(classToCheck);\n }\n return classRegExp(classToCheck).test(element.className);\n}\n\n/**\n * Add a CSS class name to an element\n *\n * @param {Element} element\n * Element to add class name to.\n *\n * @param {string} classToAdd\n * Class name to add.\n *\n * @return {Element}\n * The dom element with the added class name.\n */\nfunction addClass(element, classToAdd) {\n if (element.classList) {\n element.classList.add(classToAdd);\n\n // Don't need to `throwIfWhitespace` here because `hasElClass` will do it\n // in the case of classList not being supported.\n } else if (!hasClass(element, classToAdd)) {\n element.className = (element.className + ' ' + classToAdd).trim();\n }\n\n return element;\n}\n\n/**\n * Remove a CSS class name from an element\n *\n * @param {Element} element\n * Element to remove a class name from.\n *\n * @param {string} classToRemove\n * Class name to remove\n *\n * @return {Element}\n * The dom element with class name removed.\n */\nfunction removeClass(element, classToRemove) {\n if (element.classList) {\n element.classList.remove(classToRemove);\n } else {\n throwIfWhitespace(classToRemove);\n element.className = element.className.split(/\\s+/).filter(function (c) {\n return c !== classToRemove;\n }).join(' ');\n }\n\n return element;\n}\n\n/**\n * The callback definition for toggleElClass.\n *\n * @callback Dom~PredicateCallback\n * @param {Element} element\n * The DOM element of the Component.\n *\n * @param {string} classToToggle\n * The `className` that wants to be toggled\n *\n * @return {boolean|undefined}\n * - If true the `classToToggle` will get added to `element`.\n * - If false the `classToToggle` will get removed from `element`.\n * - If undefined this callback will be ignored\n */\n\n/**\n * Adds or removes a CSS class name on an element depending on an optional\n * condition or the presence/absence of the class name.\n *\n * @param {Element} element\n * The element to toggle a class name on.\n *\n * @param {string} classToToggle\n * The class that should be toggled\n *\n * @param {boolean|PredicateCallback} [predicate]\n * See the return value for {@link Dom~PredicateCallback}\n *\n * @return {Element}\n * The element with a class that has been toggled.\n */\nfunction toggleClass(element, classToToggle, predicate) {\n\n // This CANNOT use `classList` internally because IE does not support the\n // second parameter to the `classList.toggle()` method! Which is fine because\n // `classList` will be used by the add/remove functions.\n var has = hasClass(element, classToToggle);\n\n if (typeof predicate === 'function') {\n predicate = predicate(element, classToToggle);\n }\n\n if (typeof predicate !== 'boolean') {\n predicate = !has;\n }\n\n // If the necessary class operation matches the current state of the\n // element, no action is required.\n if (predicate === has) {\n return;\n }\n\n if (predicate) {\n addClass(element, classToToggle);\n } else {\n removeClass(element, classToToggle);\n }\n\n return element;\n}\n\n/**\n * Apply attributes to an HTML element.\n *\n * @param {Element} el\n * Element to add attributes to.\n *\n * @param {Object} [attributes]\n * Attributes to be applied.\n */\nfunction setAttributes(el, attributes) {\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n var attrValue = attributes[attrName];\n\n if (attrValue === null || typeof attrValue === 'undefined' || attrValue === false) {\n el.removeAttribute(attrName);\n } else {\n el.setAttribute(attrName, attrValue === true ? '' : attrValue);\n }\n });\n}\n\n/**\n * Get an element's attribute values, as defined on the HTML tag\n * Attributes are not the same as properties. They're defined on the tag\n * or with setAttribute (which shouldn't be used with HTML)\n * This will return true or false for boolean attributes.\n *\n * @param {Element} tag\n * Element from which to get tag attributes.\n *\n * @return {Object}\n * All attributes of the element.\n */\nfunction getAttributes(tag) {\n var obj = {};\n\n // known boolean attributes\n // we can check for matching boolean properties, but older browsers\n // won't know about HTML5 boolean attributes that we still read from\n var knownBooleans = ',' + 'autoplay,controls,playsinline,loop,muted,default,defaultMuted' + ',';\n\n if (tag && tag.attributes && tag.attributes.length > 0) {\n var attrs = tag.attributes;\n\n for (var i = attrs.length - 1; i >= 0; i--) {\n var attrName = attrs[i].name;\n var attrVal = attrs[i].value;\n\n // check for known booleans\n // the matching element property will return a value for typeof\n if (typeof tag[attrName] === 'boolean' || knownBooleans.indexOf(',' + attrName + ',') !== -1) {\n // the value of an included boolean attribute is typically an empty\n // string ('') which would equal false if we just check for a false value.\n // we also don't want support bad code like autoplay='false'\n attrVal = attrVal !== null ? true : false;\n }\n\n obj[attrName] = attrVal;\n }\n }\n\n return obj;\n}\n\n/**\n * Get the value of an element's attribute\n *\n * @param {Element} el\n * A DOM element\n *\n * @param {string} attribute\n * Attribute to get the value of\n *\n * @return {string}\n * value of the attribute\n */\nfunction getAttribute(el, attribute) {\n return el.getAttribute(attribute);\n}\n\n/**\n * Set the value of an element's attribute\n *\n * @param {Element} el\n * A DOM element\n *\n * @param {string} attribute\n * Attribute to set\n *\n * @param {string} value\n * Value to set the attribute to\n */\nfunction setAttribute(el, attribute, value) {\n el.setAttribute(attribute, value);\n}\n\n/**\n * Remove an element's attribute\n *\n * @param {Element} el\n * A DOM element\n *\n * @param {string} attribute\n * Attribute to remove\n */\nfunction removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n}\n\n/**\n * Attempt to block the ability to select text while dragging controls\n */\nfunction blockTextSelection() {\n document.body.focus();\n document.onselectstart = function () {\n return false;\n };\n}\n\n/**\n * Turn off text selection blocking\n */\nfunction unblockTextSelection() {\n document.onselectstart = function () {\n return true;\n };\n}\n\n/**\n * Identical to the native `getBoundingClientRect` function, but ensures that\n * the method is supported at all (it is in all browsers we claim to support)\n * and that the element is in the DOM before continuing.\n *\n * This wrapper function also shims properties which are not provided by some\n * older browsers (namely, IE8).\n *\n * Additionally, some browsers do not support adding properties to a\n * `ClientRect`/`DOMRect` object; so, we shallow-copy it with the standard\n * properties (except `x` and `y` which are not widely supported). This helps\n * avoid implementations where keys are non-enumerable.\n *\n * @param {Element} el\n * Element whose `ClientRect` we want to calculate.\n *\n * @return {Object|undefined}\n * Always returns a plain\n */\nfunction getBoundingClientRect(el) {\n if (el && el.getBoundingClientRect && el.parentNode) {\n var rect = el.getBoundingClientRect();\n var result = {};\n\n ['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(function (k) {\n if (rect[k] !== undefined) {\n result[k] = rect[k];\n }\n });\n\n if (!result.height) {\n result.height = parseFloat(computedStyle(el, 'height'));\n }\n\n if (!result.width) {\n result.width = parseFloat(computedStyle(el, 'width'));\n }\n\n return result;\n }\n}\n\n/**\n * The postion of a DOM element on the page.\n *\n * @typedef {Object} module:dom~Position\n *\n * @property {number} left\n * Pixels to the left\n *\n * @property {number} top\n * Pixels on top\n */\n\n/**\n * Offset Left.\n * getBoundingClientRect technique from\n * John Resig\n *\n * @see http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @param {Element} el\n * Element from which to get offset\n *\n * @return {module:dom~Position}\n * The position of the element that was passed in.\n */\nfunction findPosition(el) {\n var box = void 0;\n\n if (el.getBoundingClientRect && el.parentNode) {\n box = el.getBoundingClientRect();\n }\n\n if (!box) {\n return {\n left: 0,\n top: 0\n };\n }\n\n var docEl = document.documentElement;\n var body = document.body;\n\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\n var scrollLeft = window.pageXOffset || body.scrollLeft;\n var left = box.left + scrollLeft - clientLeft;\n\n var clientTop = docEl.clientTop || body.clientTop || 0;\n var scrollTop = window.pageYOffset || body.scrollTop;\n var top = box.top + scrollTop - clientTop;\n\n // Android sometimes returns slightly off decimal values, so need to round\n return {\n left: Math.round(left),\n top: Math.round(top)\n };\n}\n\n/**\n * x and y coordinates for a dom element or mouse pointer\n *\n * @typedef {Object} Dom~Coordinates\n *\n * @property {number} x\n * x coordinate in pixels\n *\n * @property {number} y\n * y coordinate in pixels\n */\n\n/**\n * Get pointer position in element\n * Returns an object with x and y coordinates.\n * The base on the coordinates are the bottom left of the element.\n *\n * @param {Element} el\n * Element on which to get the pointer position on\n *\n * @param {EventTarget~Event} event\n * Event object\n *\n * @return {Dom~Coordinates}\n * A Coordinates object corresponding to the mouse position.\n *\n */\nfunction getPointerPosition(el, event) {\n var position = {};\n var box = findPosition(el);\n var boxW = el.offsetWidth;\n var boxH = el.offsetHeight;\n\n var boxY = box.top;\n var boxX = box.left;\n var pageY = event.pageY;\n var pageX = event.pageX;\n\n if (event.changedTouches) {\n pageX = event.changedTouches[0].pageX;\n pageY = event.changedTouches[0].pageY;\n }\n\n position.y = Math.max(0, Math.min(1, (boxY - pageY + boxH) / boxH));\n position.x = Math.max(0, Math.min(1, (pageX - boxX) / boxW));\n\n return position;\n}\n\n/**\n * Determines, via duck typing, whether or not a value is a text node.\n *\n * @param {Mixed} value\n * Check if this value is a text node.\n *\n * @return {boolean}\n * - True if it is a text node\n * - False otherwise\n */\nfunction isTextNode(value) {\n return isObject(value) && value.nodeType === 3;\n}\n\n/**\n * Empties the contents of an element.\n *\n * @param {Element} el\n * The element to empty children from\n *\n * @return {Element}\n * The element with no children\n */\nfunction emptyEl(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n return el;\n}\n\n/**\n * Normalizes content for eventual insertion into the DOM.\n *\n * This allows a wide range of content definition methods, but protects\n * from falling into the trap of simply writing to `innerHTML`, which is\n * an XSS concern.\n *\n * The content for an element can be passed in multiple types and\n * combinations, whose behavior is as follows:\n *\n * @param {String|Element|TextNode|Array|Function} content\n * - String: Normalized into a text node.\n * - Element/TextNode: Passed through.\n * - Array: A one-dimensional array of strings, elements, nodes, or functions\n * (which return single strings, elements, or nodes).\n * - Function: If the sole argument, is expected to produce a string, element,\n * node, or array as defined above.\n *\n * @return {Array}\n * All of the content that was passed in normalized.\n */\nfunction normalizeContent(content) {\n\n // First, invoke content if it is a function. If it produces an array,\n // that needs to happen before normalization.\n if (typeof content === 'function') {\n content = content();\n }\n\n // Next up, normalize to an array, so one or many items can be normalized,\n // filtered, and returned.\n return (Array.isArray(content) ? content : [content]).map(function (value) {\n\n // First, invoke value if it is a function to produce a new value,\n // which will be subsequently normalized to a Node of some kind.\n if (typeof value === 'function') {\n value = value();\n }\n\n if (isEl(value) || isTextNode(value)) {\n return value;\n }\n\n if (typeof value === 'string' && /\\S/.test(value)) {\n return document.createTextNode(value);\n }\n }).filter(function (value) {\n return value;\n });\n}\n\n/**\n * Normalizes and appends content to an element.\n *\n * @param {Element} el\n * Element to append normalized content to.\n *\n *\n * @param {String|Element|TextNode|Array|Function} content\n * See the `content` argument of {@link dom:normalizeContent}\n *\n * @return {Element}\n * The element with appended normalized content.\n */\nfunction appendContent(el, content) {\n normalizeContent(content).forEach(function (node) {\n return el.appendChild(node);\n });\n return el;\n}\n\n/**\n * Normalizes and inserts content into an element; this is identical to\n * `appendContent()`, except it empties the element first.\n *\n * @param {Element} el\n * Element to insert normalized content into.\n *\n * @param {String|Element|TextNode|Array|Function} content\n * See the `content` argument of {@link dom:normalizeContent}\n *\n * @return {Element}\n * The element with inserted normalized content.\n *\n */\nfunction insertContent(el, content) {\n return appendContent(emptyEl(el), content);\n}\n\n/**\n * Check if event was a single left click\n *\n * @param {EventTarget~Event} event\n * Event object\n *\n * @return {boolean}\n * - True if a left click\n * - False if not a left click\n */\nfunction isSingleLeftClick(event) {\n // Note: if you create something draggable, be sure to\n // call it on both `mousedown` and `mousemove` event,\n // otherwise `mousedown` should be enough for a button\n\n if (event.button === undefined && event.buttons === undefined) {\n // Why do we need `buttons` ?\n // Because, middle mouse sometimes have this:\n // e.button === 0 and e.buttons === 4\n // Furthermore, we want to prevent combination click, something like\n // HOLD middlemouse then left click, that would be\n // e.button === 0, e.buttons === 5\n // just `button` is not gonna work\n\n // Alright, then what this block does ?\n // this is for chrome `simulate mobile devices`\n // I want to support this as well\n\n return true;\n }\n\n if (event.button === 0 && event.buttons === undefined) {\n // Touch screen, sometimes on some specific device, `buttons`\n // doesn't have anything (safari on ios, blackberry...)\n\n return true;\n }\n\n if (IE_VERSION === 9) {\n // Ignore IE9\n\n return true;\n }\n\n if (event.button !== 0 || event.buttons !== 1) {\n // This is the reason we have those if else block above\n // if any special case we can catch and let it slide\n // we do it above, when get to here, this definitely\n // is-not-left-click\n\n return false;\n }\n\n return true;\n}\n\n/**\n * Finds a single DOM element matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {Element|null}\n * The element that was found or null.\n */\nvar $ = createQuerier('querySelector');\n\n/**\n * Finds a all DOM elements matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {NodeList}\n * A element list of elements that were found. Will be empty if none were found.\n *\n */\nvar $$ = createQuerier('querySelectorAll');\n\n\n\nvar Dom = (Object.freeze || Object)({\n\tisReal: isReal,\n\tisEl: isEl,\n\tisInFrame: isInFrame,\n\tcreateEl: createEl,\n\ttextContent: textContent,\n\tprependTo: prependTo,\n\thasClass: hasClass,\n\taddClass: addClass,\n\tremoveClass: removeClass,\n\ttoggleClass: toggleClass,\n\tsetAttributes: setAttributes,\n\tgetAttributes: getAttributes,\n\tgetAttribute: getAttribute,\n\tsetAttribute: setAttribute,\n\tremoveAttribute: removeAttribute,\n\tblockTextSelection: blockTextSelection,\n\tunblockTextSelection: unblockTextSelection,\n\tgetBoundingClientRect: getBoundingClientRect,\n\tfindPosition: findPosition,\n\tgetPointerPosition: getPointerPosition,\n\tisTextNode: isTextNode,\n\temptyEl: emptyEl,\n\tnormalizeContent: normalizeContent,\n\tappendContent: appendContent,\n\tinsertContent: insertContent,\n\tisSingleLeftClick: isSingleLeftClick,\n\t$: $,\n\t$$: $$\n});\n\n/**\n * @file guid.js\n * @module guid\n */\n\n/**\n * Unique ID for an element or function\n * @type {Number}\n */\nvar _guid = 1;\n\n/**\n * Get a unique auto-incrementing ID by number that has not been returned before.\n *\n * @return {number}\n * A new unique ID.\n */\nfunction newGUID() {\n return _guid++;\n}\n\n/**\n * @file dom-data.js\n * @module dom-data\n */\n/**\n * Element Data Store.\n *\n * Allows for binding data to an element without putting it directly on the\n * element. Ex. Event listeners are stored here.\n * (also from jsninja.com, slightly modified and updated for closure compiler)\n *\n * @type {Object}\n * @private\n */\nvar elData = {};\n\n/*\n * Unique attribute name to store an element's guid in\n *\n * @type {String}\n * @constant\n * @private\n */\nvar elIdAttr = 'vdata' + new Date().getTime();\n\n/**\n * Returns the cache object where data for an element is stored\n *\n * @param {Element} el\n * Element to store data for.\n *\n * @return {Object}\n * The cache object for that el that was passed in.\n */\nfunction getData(el) {\n var id = el[elIdAttr];\n\n if (!id) {\n id = el[elIdAttr] = newGUID();\n }\n\n if (!elData[id]) {\n elData[id] = {};\n }\n\n return elData[id];\n}\n\n/**\n * Returns whether or not an element has cached data\n *\n * @param {Element} el\n * Check if this element has cached data.\n *\n * @return {boolean}\n * - True if the DOM element has cached data.\n * - False otherwise.\n */\nfunction hasData(el) {\n var id = el[elIdAttr];\n\n if (!id) {\n return false;\n }\n\n return !!Object.getOwnPropertyNames(elData[id]).length;\n}\n\n/**\n * Delete data for the element from the cache and the guid attr from getElementById\n *\n * @param {Element} el\n * Remove cached data for this element.\n */\nfunction removeData(el) {\n var id = el[elIdAttr];\n\n if (!id) {\n return;\n }\n\n // Remove all stored data\n delete elData[id];\n\n // Remove the elIdAttr property from the DOM node\n try {\n delete el[elIdAttr];\n } catch (e) {\n if (el.removeAttribute) {\n el.removeAttribute(elIdAttr);\n } else {\n // IE doesn't appear to support removeAttribute on the document element\n el[elIdAttr] = null;\n }\n }\n}\n\n/**\n * @file events.js. An Event System (John Resig - Secrets of a JS Ninja http://jsninja.com/)\n * (Original book version wasn't completely usable, so fixed some things and made Closure Compiler compatible)\n * This should work very similarly to jQuery's events, however it's based off the book version which isn't as\n * robust as jquery's, so there's probably some differences.\n *\n * @module events\n */\n\n/**\n * Clean up the listener cache and dispatchers\n *\n * @param {Element|Object} elem\n * Element to clean up\n *\n * @param {string} type\n * Type of event to clean up\n */\nfunction _cleanUpEvents(elem, type) {\n var data = getData(elem);\n\n // Remove the events of a particular type if there are none left\n if (data.handlers[type].length === 0) {\n delete data.handlers[type];\n // data.handlers[type] = null;\n // Setting to null was causing an error with data.handlers\n\n // Remove the meta-handler from the element\n if (elem.removeEventListener) {\n elem.removeEventListener(type, data.dispatcher, false);\n } else if (elem.detachEvent) {\n elem.detachEvent('on' + type, data.dispatcher);\n }\n }\n\n // Remove the events object if there are no types left\n if (Object.getOwnPropertyNames(data.handlers).length <= 0) {\n delete data.handlers;\n delete data.dispatcher;\n delete data.disabled;\n }\n\n // Finally remove the element data if there is no data left\n if (Object.getOwnPropertyNames(data).length === 0) {\n removeData(elem);\n }\n}\n\n/**\n * Loops through an array of event types and calls the requested method for each type.\n *\n * @param {Function} fn\n * The event method we want to use.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} callback\n * Event listener.\n */\nfunction _handleMultipleEvents(fn, elem, types, callback) {\n types.forEach(function (type) {\n // Call the event method for each one of the types\n fn(elem, type, callback);\n });\n}\n\n/**\n * Fix a native event to have standard property values\n *\n * @param {Object} event\n * Event object to fix.\n *\n * @return {Object}\n * Fixed event object.\n */\nfunction fixEvent(event) {\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n }\n\n // Test if fixing up is needed\n // Used to check if !event.stopPropagation instead of isPropagationStopped\n // But native events return true for stopPropagation, but don't have\n // other expected methods like isPropagationStopped. Seems to be a problem\n // with the Javascript Ninja code. So we're just overriding all events now.\n if (!event || !event.isPropagationStopped) {\n var old = event || window.event;\n\n event = {};\n // Clone the old object so that we can modify the values event = {};\n // IE8 Doesn't like when you mess with native event properties\n // Firefox returns false for event.hasOwnProperty('type') and other props\n // which makes copying more difficult.\n // TODO: Probably best to create a whitelist of event props\n for (var key in old) {\n // Safari 6.0.3 warns you if you try to copy deprecated layerX/Y\n // Chrome warns you if you try to copy deprecated keyboardEvent.keyLocation\n // and webkitMovementX/Y\n if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY') {\n // Chrome 32+ warns if you try to copy deprecated returnValue, but\n // we still want to if preventDefault isn't supported (IE8).\n if (!(key === 'returnValue' && old.preventDefault)) {\n event[key] = old[key];\n }\n }\n }\n\n // The event occurred on this element\n if (!event.target) {\n event.target = event.srcElement || document;\n }\n\n // Handle which other element the event is related to\n if (!event.relatedTarget) {\n event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;\n }\n\n // Stop the default browser action\n event.preventDefault = function () {\n if (old.preventDefault) {\n old.preventDefault();\n }\n event.returnValue = false;\n old.returnValue = false;\n event.defaultPrevented = true;\n };\n\n event.defaultPrevented = false;\n\n // Stop the event from bubbling\n event.stopPropagation = function () {\n if (old.stopPropagation) {\n old.stopPropagation();\n }\n event.cancelBubble = true;\n old.cancelBubble = true;\n event.isPropagationStopped = returnTrue;\n };\n\n event.isPropagationStopped = returnFalse;\n\n // Stop the event from bubbling and executing other handlers\n event.stopImmediatePropagation = function () {\n if (old.stopImmediatePropagation) {\n old.stopImmediatePropagation();\n }\n event.isImmediatePropagationStopped = returnTrue;\n event.stopPropagation();\n };\n\n event.isImmediatePropagationStopped = returnFalse;\n\n // Handle mouse position\n if (event.clientX !== null && event.clientX !== undefined) {\n var doc = document.documentElement;\n var body = document.body;\n\n event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // Handle key presses\n event.which = event.charCode || event.keyCode;\n\n // Fix button for mouse clicks:\n // 0 == left; 1 == middle; 2 == right\n if (event.button !== null && event.button !== undefined) {\n\n // The following is disabled because it does not pass videojs-standard\n // and... yikes.\n /* eslint-disable */\n event.button = event.button & 1 ? 0 : event.button & 4 ? 1 : event.button & 2 ? 2 : 0;\n /* eslint-enable */\n }\n }\n\n // Returns fixed-up instance\n return event;\n}\n\n/**\n * Whether passive event listeners are supported\n */\nvar _supportsPassive = false;\n\n(function () {\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n _supportsPassive = true;\n }\n });\n\n window.addEventListener('test', null, opts);\n window.removeEventListener('test', null, opts);\n } catch (e) {\n // disregard\n }\n})();\n\n/**\n * Touch events Chrome expects to be passive\n */\nvar passiveEvents = ['touchstart', 'touchmove'];\n\n/**\n * Add an event listener to element\n * It stores the handler function in a separate cache object\n * and adds a generic handler to the element's event,\n * along with a unique id (guid) to the element.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string|string[]} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} fn\n * Event listener.\n */\nfunction on(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(on, elem, type, fn);\n }\n\n var data = getData(elem);\n\n // We need a place to store all our handler data\n if (!data.handlers) {\n data.handlers = {};\n }\n\n if (!data.handlers[type]) {\n data.handlers[type] = [];\n }\n\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n data.handlers[type].push(fn);\n\n if (!data.dispatcher) {\n data.disabled = false;\n\n data.dispatcher = function (event, hash) {\n\n if (data.disabled) {\n return;\n }\n\n event = fixEvent(event);\n\n var handlers = data.handlers[event.type];\n\n if (handlers) {\n // Copy handlers so if handlers are added/removed during the process it doesn't throw everything off.\n var handlersCopy = handlers.slice(0);\n\n for (var m = 0, n = handlersCopy.length; m < n; m++) {\n if (event.isImmediatePropagationStopped()) {\n break;\n } else {\n try {\n handlersCopy[m].call(elem, event, hash);\n } catch (e) {\n log.error(e);\n }\n }\n }\n }\n };\n }\n\n if (data.handlers[type].length === 1) {\n if (elem.addEventListener) {\n var options = false;\n\n if (_supportsPassive && passiveEvents.indexOf(type) > -1) {\n options = { passive: true };\n }\n elem.addEventListener(type, data.dispatcher, options);\n } else if (elem.attachEvent) {\n elem.attachEvent('on' + type, data.dispatcher);\n }\n }\n}\n\n/**\n * Removes event listeners from an element\n *\n * @param {Element|Object} elem\n * Object to remove listeners from.\n *\n * @param {string|string[]} [type]\n * Type of listener to remove. Don't include to remove all events from element.\n *\n * @param {EventTarget~EventListener} [fn]\n * Specific listener to remove. Don't include to remove listeners for an event\n * type.\n */\nfunction off(elem, type, fn) {\n // Don't want to add a cache object through getElData if not needed\n if (!hasData(elem)) {\n return;\n }\n\n var data = getData(elem);\n\n // If no events exist, nothing to unbind\n if (!data.handlers) {\n return;\n }\n\n if (Array.isArray(type)) {\n return _handleMultipleEvents(off, elem, type, fn);\n }\n\n // Utility function\n var removeType = function removeType(el, t) {\n data.handlers[t] = [];\n _cleanUpEvents(el, t);\n };\n\n // Are we removing all bound events?\n if (type === undefined) {\n for (var t in data.handlers) {\n if (Object.prototype.hasOwnProperty.call(data.handlers || {}, t)) {\n removeType(elem, t);\n }\n }\n return;\n }\n\n var handlers = data.handlers[type];\n\n // If no handlers exist, nothing to unbind\n if (!handlers) {\n return;\n }\n\n // If no listener was provided, remove all listeners for type\n if (!fn) {\n removeType(elem, type);\n return;\n }\n\n // We're only removing a single handler\n if (fn.guid) {\n for (var n = 0; n < handlers.length; n++) {\n if (handlers[n].guid === fn.guid) {\n handlers.splice(n--, 1);\n }\n }\n }\n\n _cleanUpEvents(elem, type);\n}\n\n/**\n * Trigger an event for an element\n *\n * @param {Element|Object} elem\n * Element to trigger an event on\n *\n * @param {EventTarget~Event|string} event\n * A string (the type) or an event object with a type attribute\n *\n * @param {Object} [hash]\n * data hash to pass along with the event\n *\n * @return {boolean|undefined}\n * - Returns the opposite of `defaultPrevented` if default was prevented\n * - Otherwise returns undefined\n */\nfunction trigger(elem, event, hash) {\n // Fetches element data and a reference to the parent (for bubbling).\n // Don't want to add a data object to cache for every parent,\n // so checking hasElData first.\n var elemData = hasData(elem) ? getData(elem) : {};\n var parent = elem.parentNode || elem.ownerDocument;\n // type = event.type || event,\n // handler;\n\n // If an event name was passed as a string, creates an event out of it\n if (typeof event === 'string') {\n event = { type: event, target: elem };\n } else if (!event.target) {\n event.target = elem;\n }\n\n // Normalizes the event properties.\n event = fixEvent(event);\n\n // If the passed element has a dispatcher, executes the established handlers.\n if (elemData.dispatcher) {\n elemData.dispatcher.call(elem, event, hash);\n }\n\n // Unless explicitly stopped or the event does not bubble (e.g. media events)\n // recursively calls this function to bubble the event up the DOM.\n if (parent && !event.isPropagationStopped() && event.bubbles === true) {\n trigger.call(null, parent, event, hash);\n\n // If at the top of the DOM, triggers the default action unless disabled.\n } else if (!parent && !event.defaultPrevented) {\n var targetData = getData(event.target);\n\n // Checks if the target has a default action for this event.\n if (event.target[event.type]) {\n // Temporarily disables event dispatching on the target as we have already executed the handler.\n targetData.disabled = true;\n // Executes the default action.\n if (typeof event.target[event.type] === 'function') {\n event.target[event.type]();\n }\n // Re-enables event dispatching.\n targetData.disabled = false;\n }\n }\n\n // Inform the triggerer if the default was prevented by returning false\n return !event.defaultPrevented;\n}\n\n/**\n * Trigger a listener only once for an event\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event Listener function\n */\nfunction one(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(one, elem, type, fn);\n }\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n };\n\n // copy the guid to the new function so it can removed using the original function's ID\n func.guid = fn.guid = fn.guid || newGUID();\n on(elem, type, func);\n}\n\nvar Events = (Object.freeze || Object)({\n\tfixEvent: fixEvent,\n\ton: on,\n\toff: off,\n\ttrigger: trigger,\n\tone: one\n});\n\n/**\n * @file setup.js - Functions for setting up a player without\n * user interaction based on the data-setup `attribute` of the video tag.\n *\n * @module setup\n */\nvar _windowLoaded = false;\nvar videojs$2 = void 0;\n\n/**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\nvar autoSetup = function autoSetup() {\n\n // Protect against breakage in non-browser environments and check global autoSetup option.\n if (!isReal() || videojs$2.options.autoSetup === false) {\n return;\n }\n\n // One day, when we stop supporting IE8, go back to this, but in the meantime...*hack hack hack*\n // var vids = Array.prototype.slice.call(document.getElementsByTagName('video'));\n // var audios = Array.prototype.slice.call(document.getElementsByTagName('audio'));\n // var mediaEls = vids.concat(audios);\n\n // Because IE8 doesn't support calling slice on a node list, we need to loop\n // through each list of elements to build up a new, combined list of elements.\n var vids = document.getElementsByTagName('video');\n var audios = document.getElementsByTagName('audio');\n var divs = document.getElementsByTagName('video-js');\n var mediaEls = [];\n\n if (vids && vids.length > 0) {\n for (var i = 0, e = vids.length; i < e; i++) {\n mediaEls.push(vids[i]);\n }\n }\n\n if (audios && audios.length > 0) {\n for (var _i = 0, _e = audios.length; _i < _e; _i++) {\n mediaEls.push(audios[_i]);\n }\n }\n\n if (divs && divs.length > 0) {\n for (var _i2 = 0, _e2 = divs.length; _i2 < _e2; _i2++) {\n mediaEls.push(divs[_i2]);\n }\n }\n\n // Check if any media elements exist\n if (mediaEls && mediaEls.length > 0) {\n\n for (var _i3 = 0, _e3 = mediaEls.length; _i3 < _e3; _i3++) {\n var mediaEl = mediaEls[_i3];\n\n // Check if element exists, has getAttribute func.\n // IE seems to consider typeof el.getAttribute == 'object' instead of\n // 'function' like expected, at least when loading the player immediately.\n if (mediaEl && mediaEl.getAttribute) {\n\n // Make sure this player hasn't already been set up.\n if (mediaEl.player === undefined) {\n var options = mediaEl.getAttribute('data-setup');\n\n // Check if data-setup attr exists.\n // We only auto-setup if they've added the data-setup attr.\n if (options !== null) {\n // Create new video.js instance.\n videojs$2(mediaEl);\n }\n }\n\n // If getAttribute isn't defined, we need to wait for the DOM.\n } else {\n autoSetupTimeout(1);\n break;\n }\n }\n\n // No videos were found, so keep looping unless page is finished loading.\n } else if (!_windowLoaded) {\n autoSetupTimeout(1);\n }\n};\n\n/**\n * Wait until the page is loaded before running autoSetup. This will be called in\n * autoSetup if `hasLoaded` returns false.\n *\n * @param {number} wait\n * How long to wait in ms\n *\n * @param {module:videojs} [vjs]\n * The videojs library function\n */\nfunction autoSetupTimeout(wait, vjs) {\n if (vjs) {\n videojs$2 = vjs;\n }\n\n window.setTimeout(autoSetup, wait);\n}\n\nif (isReal() && document.readyState === 'complete') {\n _windowLoaded = true;\n} else {\n /**\n * Listen for the load event on window, and set _windowLoaded to true.\n *\n * @listens load\n */\n one(window, 'load', function () {\n _windowLoaded = true;\n });\n}\n\n/**\n * @file stylesheet.js\n * @module stylesheet\n */\n/**\n * Create a DOM syle element given a className for it.\n *\n * @param {string} className\n * The className to add to the created style element.\n *\n * @return {Element}\n * The element that was created.\n */\nvar createStyleElement = function createStyleElement(className) {\n var style = document.createElement('style');\n\n style.className = className;\n\n return style;\n};\n\n/**\n * Add text to a DOM element.\n *\n * @param {Element} el\n * The Element to add text content to.\n *\n * @param {string} content\n * The text to add to the element.\n */\nvar setTextContent = function setTextContent(el, content) {\n if (el.styleSheet) {\n el.styleSheet.cssText = content;\n } else {\n el.textContent = content;\n }\n};\n\n/**\n * @file fn.js\n * @module fn\n */\n/**\n * Bind (a.k.a proxy or Context). A simple method for changing the context of a function\n * It also stores a unique id on the function so it can be easily removed from events.\n *\n * @param {Mixed} context\n * The object to bind as scope.\n *\n * @param {Function} fn\n * The function to be bound to a scope.\n *\n * @param {number} [uid]\n * An optional unique ID for the function to be set\n *\n * @return {Function}\n * The new function that will be bound into the context given\n */\nvar bind = function bind(context, fn, uid) {\n // Make sure the function has a unique ID\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n // Create the new function that changes the context\n var bound = function bound() {\n return fn.apply(context, arguments);\n };\n\n // Allow for the ability to individualize this function\n // Needed in the case where multiple objects might share the same prototype\n // IF both items add an event listener with the same function, then you try to remove just one\n // it will remove both because they both have the same guid.\n // when using this, you need to use the bind method when you remove the listener as well.\n // currently used in text tracks\n bound.guid = uid ? uid + '_' + fn.guid : fn.guid;\n\n return bound;\n};\n\n/**\n * Wraps the given function, `fn`, with a new function that only invokes `fn`\n * at most once per every `wait` milliseconds.\n *\n * @param {Function} fn\n * The function to be throttled.\n *\n * @param {Number} wait\n * The number of milliseconds by which to throttle.\n *\n * @return {Function}\n */\nvar throttle = function throttle(fn, wait) {\n var last = Date.now();\n\n var throttled = function throttled() {\n var now = Date.now();\n\n if (now - last >= wait) {\n fn.apply(undefined, arguments);\n last = now;\n }\n };\n\n return throttled;\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked.\n *\n * Inspired by lodash and underscore implementations.\n *\n * @param {Function} func\n * The function to wrap with debounce behavior.\n *\n * @param {number} wait\n * The number of milliseconds to wait after the last invocation.\n *\n * @param {boolean} [immediate]\n * Whether or not to invoke the function immediately upon creation.\n *\n * @param {Object} [context=window]\n * The \"context\" in which the debounced function should debounce. For\n * example, if this function should be tied to a Video.js player,\n * the player can be passed here. Alternatively, defaults to the\n * global `window` object.\n *\n * @return {Function}\n * A debounced function.\n */\nvar debounce = function debounce(func, wait, immediate) {\n var context = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window;\n\n var timeout = void 0;\n\n var cancel = function cancel() {\n context.clearTimeout(timeout);\n timeout = null;\n };\n\n /* eslint-disable consistent-this */\n var debounced = function debounced() {\n var self = this;\n var args = arguments;\n\n var _later = function later() {\n timeout = null;\n _later = null;\n if (!immediate) {\n func.apply(self, args);\n }\n };\n\n if (!timeout && immediate) {\n func.apply(self, args);\n }\n\n context.clearTimeout(timeout);\n timeout = context.setTimeout(_later, wait);\n };\n /* eslint-enable consistent-this */\n\n debounced.cancel = cancel;\n\n return debounced;\n};\n\n/**\n * @file src/js/event-target.js\n */\n/**\n * `EventTarget` is a class that can have the same API as the DOM `EventTarget`. It\n * adds shorthand functions that wrap around lengthy functions. For example:\n * the `on` function is a wrapper around `addEventListener`.\n *\n * @see [EventTarget Spec]{@link https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget}\n * @class EventTarget\n */\nvar EventTarget = function EventTarget() {};\n\n/**\n * A Custom DOM event.\n *\n * @typedef {Object} EventTarget~Event\n * @see [Properties]{@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent}\n */\n\n/**\n * All event listeners should follow the following format.\n *\n * @callback EventTarget~EventListener\n * @this {EventTarget}\n *\n * @param {EventTarget~Event} event\n * the event that triggered this function\n *\n * @param {Object} [hash]\n * hash of data sent during the event\n */\n\n/**\n * An object containing event names as keys and booleans as values.\n *\n * > NOTE: If an event name is set to a true value here {@link EventTarget#trigger}\n * will have extra functionality. See that function for more information.\n *\n * @property EventTarget.prototype.allowedEvents_\n * @private\n */\nEventTarget.prototype.allowedEvents_ = {};\n\n/**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to call with `EventTarget`s\n */\nEventTarget.prototype.on = function (type, fn) {\n // Remove the addEventListener alias before calling Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n on(this, type, fn);\n this.addEventListener = ael;\n};\n\n/**\n * An alias of {@link EventTarget#on}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#on}\n */\nEventTarget.prototype.addEventListener = EventTarget.prototype.on;\n\n/**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to remove.\n */\nEventTarget.prototype.off = function (type, fn) {\n off(this, type, fn);\n};\n\n/**\n * An alias of {@link EventTarget#off}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#off}\n */\nEventTarget.prototype.removeEventListener = EventTarget.prototype.off;\n\n/**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to be called once for each event name.\n */\nEventTarget.prototype.one = function (type, fn) {\n // Remove the addEventListener alialing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n one(this, type, fn);\n this.addEventListener = ael;\n};\n\n/**\n * This function causes an event to happen. This will then cause any `event listeners`\n * that are waiting for that event, to get called. If there are no `event listeners`\n * for an event then nothing will happen.\n *\n * If the name of the `Event` that is being triggered is in `EventTarget.allowedEvents_`.\n * Trigger will also call the `on` + `uppercaseEventName` function.\n *\n * Example:\n * 'click' is in `EventTarget.allowedEvents_`, so, trigger will attempt to call\n * `onClick` if it exists.\n *\n * @param {string|EventTarget~Event|Object} event\n * The name of the event, an `Event`, or an object with a key of type set to\n * an event name.\n */\nEventTarget.prototype.trigger = function (event) {\n var type = event.type || event;\n\n if (typeof event === 'string') {\n event = { type: type };\n }\n event = fixEvent(event);\n\n if (this.allowedEvents_[type] && this['on' + type]) {\n this['on' + type](event);\n }\n\n trigger(this, event);\n};\n\n/**\n * An alias of {@link EventTarget#trigger}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#trigger}\n */\nEventTarget.prototype.dispatchEvent = EventTarget.prototype.trigger;\n\n/**\n * @file mixins/evented.js\n * @module evented\n */\n/**\n * Returns whether or not an object has had the evented mixin applied.\n *\n * @param {Object} object\n * An object to test.\n *\n * @return {boolean}\n * Whether or not the object appears to be evented.\n */\nvar isEvented = function isEvented(object) {\n return object instanceof EventTarget || !!object.eventBusEl_ && ['on', 'one', 'off', 'trigger'].every(function (k) {\n return typeof object[k] === 'function';\n });\n};\n\n/**\n * Whether a value is a valid event type - non-empty string or array.\n *\n * @private\n * @param {string|Array} type\n * The type value to test.\n *\n * @return {boolean}\n * Whether or not the type is a valid event type.\n */\nvar isValidEventType = function isValidEventType(type) {\n return (\n // The regex here verifies that the `type` contains at least one non-\n // whitespace character.\n typeof type === 'string' && /\\S/.test(type) || Array.isArray(type) && !!type.length\n );\n};\n\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the target does not appear to be a valid event target.\n *\n * @param {Object} target\n * The object to test.\n */\nvar validateTarget = function validateTarget(target) {\n if (!target.nodeName && !isEvented(target)) {\n throw new Error('Invalid target; must be a DOM node or evented object.');\n }\n};\n\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the type does not appear to be a valid event type.\n *\n * @param {string|Array} type\n * The type to test.\n */\nvar validateEventType = function validateEventType(type) {\n if (!isValidEventType(type)) {\n throw new Error('Invalid event type; must be a non-empty string or array.');\n }\n};\n\n/**\n * Validates a value to determine if it is a valid listener. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the listener is not a function.\n *\n * @param {Function} listener\n * The listener to test.\n */\nvar validateListener = function validateListener(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Invalid listener; must be a function.');\n }\n};\n\n/**\n * Takes an array of arguments given to `on()` or `one()`, validates them, and\n * normalizes them into an object.\n *\n * @private\n * @param {Object} self\n * The evented object on which `on()` or `one()` was called. This\n * object will be bound as the `this` value for the listener.\n *\n * @param {Array} args\n * An array of arguments passed to `on()` or `one()`.\n *\n * @return {Object}\n * An object containing useful values for `on()` or `one()` calls.\n */\nvar normalizeListenArgs = function normalizeListenArgs(self, args) {\n\n // If the number of arguments is less than 3, the target is always the\n // evented object itself.\n var isTargetingSelf = args.length < 3 || args[0] === self || args[0] === self.eventBusEl_;\n var target = void 0;\n var type = void 0;\n var listener = void 0;\n\n if (isTargetingSelf) {\n target = self.eventBusEl_;\n\n // Deal with cases where we got 3 arguments, but we are still listening to\n // the evented object itself.\n if (args.length >= 3) {\n args.shift();\n }\n\n type = args[0];\n listener = args[1];\n } else {\n target = args[0];\n type = args[1];\n listener = args[2];\n }\n\n validateTarget(target);\n validateEventType(type);\n validateListener(listener);\n\n listener = bind(self, listener);\n\n return { isTargetingSelf: isTargetingSelf, target: target, type: type, listener: listener };\n};\n\n/**\n * Adds the listener to the event type(s) on the target, normalizing for\n * the type of target.\n *\n * @private\n * @param {Element|Object} target\n * A DOM node or evented object.\n *\n * @param {string} method\n * The event binding method to use (\"on\" or \"one\").\n *\n * @param {string|Array} type\n * One or more event type(s).\n *\n * @param {Function} listener\n * A listener function.\n */\nvar listen = function listen(target, method, type, listener) {\n validateTarget(target);\n\n if (target.nodeName) {\n Events[method](target, type, listener);\n } else {\n target[method](type, listener);\n }\n};\n\n/**\n * Contains methods that provide event capabilites to an object which is passed\n * to {@link module:evented|evented}.\n *\n * @mixin EventedMixin\n */\nvar EventedMixin = {\n\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n on: function on$$1() {\n var _this = this;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _normalizeListenArgs = normalizeListenArgs(this, args),\n isTargetingSelf = _normalizeListenArgs.isTargetingSelf,\n target = _normalizeListenArgs.target,\n type = _normalizeListenArgs.type,\n listener = _normalizeListenArgs.listener;\n\n listen(target, 'on', type, listener);\n\n // If this object is listening to another evented object.\n if (!isTargetingSelf) {\n\n // If this object is disposed, remove the listener.\n var removeListenerOnDispose = function removeListenerOnDispose() {\n return _this.off(target, type, listener);\n };\n\n // Use the same function ID as the listener so we can remove it later it\n // using the ID of the original listener.\n removeListenerOnDispose.guid = listener.guid;\n\n // Add a listener to the target's dispose event as well. This ensures\n // that if the target is disposed BEFORE this object, we remove the\n // removal listener that was just added. Otherwise, we create a memory leak.\n var removeRemoverOnTargetDispose = function removeRemoverOnTargetDispose() {\n return _this.off('dispose', removeListenerOnDispose);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n removeRemoverOnTargetDispose.guid = listener.guid;\n\n listen(this, 'on', 'dispose', removeListenerOnDispose);\n listen(target, 'on', 'dispose', removeRemoverOnTargetDispose);\n }\n },\n\n\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will only be called once and then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n one: function one$$1() {\n var _this2 = this;\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var _normalizeListenArgs2 = normalizeListenArgs(this, args),\n isTargetingSelf = _normalizeListenArgs2.isTargetingSelf,\n target = _normalizeListenArgs2.target,\n type = _normalizeListenArgs2.type,\n listener = _normalizeListenArgs2.listener;\n\n // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'one', type, listener);\n\n // Targeting another evented object.\n } else {\n var wrapper = function wrapper() {\n for (var _len3 = arguments.length, largs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n largs[_key3] = arguments[_key3];\n }\n\n _this2.off(target, type, wrapper);\n listener.apply(null, largs);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n wrapper.guid = listener.guid;\n listen(target, 'one', type, wrapper);\n }\n },\n\n\n /**\n * Removes listener(s) from event(s) on an evented object.\n *\n * @param {string|Array|Element|Object} [targetOrType]\n * If this is a string or array, it represents the event type(s).\n *\n * Another evented object can be passed here instead, in which case\n * ALL 3 arguments are _required_.\n *\n * @param {string|Array|Function} [typeOrListener]\n * If the first argument was a string or array, this may be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function; otherwise, _all_ listeners bound to the\n * event type(s) will be removed.\n */\n off: function off$$1(targetOrType, typeOrListener, listener) {\n\n // Targeting this evented object.\n if (!targetOrType || isValidEventType(targetOrType)) {\n off(this.eventBusEl_, targetOrType, typeOrListener);\n\n // Targeting another evented object.\n } else {\n var target = targetOrType;\n var type = typeOrListener;\n\n // Fail fast and in a meaningful way!\n validateTarget(target);\n validateEventType(type);\n validateListener(listener);\n\n // Ensure there's at least a guid, even if the function hasn't been used\n listener = bind(this, listener);\n\n // Remove the dispose listener on this evented object, which was given\n // the same guid as the event listener in on().\n this.off('dispose', listener);\n\n if (target.nodeName) {\n off(target, type, listener);\n off(target, 'dispose', listener);\n } else if (isEvented(target)) {\n target.off(type, listener);\n target.off('dispose', listener);\n }\n }\n },\n\n\n /**\n * Fire an event on this evented object, causing its listeners to be called.\n *\n * @param {string|Object} event\n * An event type or an object with a type property.\n *\n * @param {Object} [hash]\n * An additional object to pass along to listeners.\n *\n * @returns {boolean}\n * Whether or not the default behavior was prevented.\n */\n trigger: function trigger$$1(event, hash) {\n return trigger(this.eventBusEl_, event, hash);\n }\n};\n\n/**\n * Applies {@link module:evented~EventedMixin|EventedMixin} to a target object.\n *\n * @param {Object} target\n * The object to which to add event methods.\n *\n * @param {Object} [options={}]\n * Options for customizing the mixin behavior.\n *\n * @param {String} [options.eventBusKey]\n * By default, adds a `eventBusEl_` DOM element to the target object,\n * which is used as an event bus. If the target object already has a\n * DOM element that should be used, pass its key here.\n *\n * @return {Object}\n * The target object.\n */\nfunction evented(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var eventBusKey = options.eventBusKey;\n\n // Set or create the eventBusEl_.\n\n if (eventBusKey) {\n if (!target[eventBusKey].nodeName) {\n throw new Error('The eventBusKey \"' + eventBusKey + '\" does not refer to an element.');\n }\n target.eventBusEl_ = target[eventBusKey];\n } else {\n target.eventBusEl_ = createEl('span', { className: 'vjs-event-bus' });\n }\n\n assign(target, EventedMixin);\n\n // When any evented object is disposed, it removes all its listeners.\n target.on('dispose', function () {\n target.off();\n window.setTimeout(function () {\n target.eventBusEl_ = null;\n }, 0);\n });\n\n return target;\n}\n\n/**\n * @file mixins/stateful.js\n * @module stateful\n */\n/**\n * Contains methods that provide statefulness to an object which is passed\n * to {@link module:stateful}.\n *\n * @mixin StatefulMixin\n */\nvar StatefulMixin = {\n\n /**\n * A hash containing arbitrary keys and values representing the state of\n * the object.\n *\n * @type {Object}\n */\n state: {},\n\n /**\n * Set the state of an object by mutating its\n * {@link module:stateful~StatefulMixin.state|state} object in place.\n *\n * @fires module:stateful~StatefulMixin#statechanged\n * @param {Object|Function} stateUpdates\n * A new set of properties to shallow-merge into the plugin state.\n * Can be a plain object or a function returning a plain object.\n *\n * @returns {Object|undefined}\n * An object containing changes that occurred. If no changes\n * occurred, returns `undefined`.\n */\n setState: function setState(stateUpdates) {\n var _this = this;\n\n // Support providing the `stateUpdates` state as a function.\n if (typeof stateUpdates === 'function') {\n stateUpdates = stateUpdates();\n }\n\n var changes = void 0;\n\n each(stateUpdates, function (value, key) {\n\n // Record the change if the value is different from what's in the\n // current state.\n if (_this.state[key] !== value) {\n changes = changes || {};\n changes[key] = {\n from: _this.state[key],\n to: value\n };\n }\n\n _this.state[key] = value;\n });\n\n // Only trigger \"statechange\" if there were changes AND we have a trigger\n // function. This allows us to not require that the target object be an\n // evented object.\n if (changes && isEvented(this)) {\n\n /**\n * An event triggered on an object that is both\n * {@link module:stateful|stateful} and {@link module:evented|evented}\n * indicating that its state has changed.\n *\n * @event module:stateful~StatefulMixin#statechanged\n * @type {Object}\n * @property {Object} changes\n * A hash containing the properties that were changed and\n * the values they were changed `from` and `to`.\n */\n this.trigger({\n changes: changes,\n type: 'statechanged'\n });\n }\n\n return changes;\n }\n};\n\n/**\n * Applies {@link module:stateful~StatefulMixin|StatefulMixin} to a target\n * object.\n *\n * If the target object is {@link module:evented|evented} and has a\n * `handleStateChanged` method, that method will be automatically bound to the\n * `statechanged` event on itself.\n *\n * @param {Object} target\n * The object to be made stateful.\n *\n * @param {Object} [defaultState]\n * A default set of properties to populate the newly-stateful object's\n * `state` property.\n *\n * @returns {Object}\n * Returns the `target`.\n */\nfunction stateful(target, defaultState) {\n assign(target, StatefulMixin);\n\n // This happens after the mixing-in because we need to replace the `state`\n // added in that step.\n target.state = assign({}, target.state, defaultState);\n\n // Auto-bind the `handleStateChanged` method of the target object if it exists.\n if (typeof target.handleStateChanged === 'function' && isEvented(target)) {\n target.on('statechanged', target.handleStateChanged);\n }\n\n return target;\n}\n\n/**\n * @file to-title-case.js\n * @module to-title-case\n */\n\n/**\n * Uppercase the first letter of a string.\n *\n * @param {string} string\n * String to be uppercased\n *\n * @return {string}\n * The string with an uppercased first letter\n */\nfunction toTitleCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n/**\n * Compares the TitleCase versions of the two strings for equality.\n *\n * @param {string} str1\n * The first string to compare\n *\n * @param {string} str2\n * The second string to compare\n *\n * @return {boolean}\n * Whether the TitleCase versions of the strings are equal\n */\nfunction titleCaseEquals(str1, str2) {\n return toTitleCase(str1) === toTitleCase(str2);\n}\n\n/**\n * @file merge-options.js\n * @module merge-options\n */\n/**\n * Deep-merge one or more options objects, recursively merging **only** plain\n * object properties.\n *\n * @param {Object[]} sources\n * One or more objects to merge into a new object.\n *\n * @returns {Object}\n * A new object that is the merged result of all sources.\n */\nfunction mergeOptions() {\n var result = {};\n\n for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n if (!isPlain(value)) {\n result[key] = value;\n return;\n }\n\n if (!isPlain(result[key])) {\n result[key] = {};\n }\n\n result[key] = mergeOptions(result[key], value);\n });\n });\n\n return result;\n}\n\n/**\n * Player Component - Base class for all UI objects\n *\n * @file component.js\n */\n/**\n * Base class for all UI Components.\n * Components are UI objects which represent both a javascript object and an element\n * in the DOM. They can be children of other components, and can have\n * children themselves.\n *\n * Components can also use methods from {@link EventTarget}\n */\n\nvar Component = function () {\n\n /**\n * A callback that is called when a component is ready. Does not have any\n * paramters and any callback value will be ignored.\n *\n * @callback Component~ReadyCallback\n * @this Component\n */\n\n /**\n * Creates an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Object[]} [options.children]\n * An array of children objects to intialize this component with. Children objects have\n * a name property that will be used if more than one component of the same type needs to be\n * added.\n *\n * @param {Component~ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n function Component(player, options, ready) {\n classCallCheck(this, Component);\n\n\n // The component might be the player itself and we can't pass `this` to super\n if (!player && this.play) {\n this.player_ = player = this; // eslint-disable-line\n } else {\n this.player_ = player;\n }\n\n // Make a copy of prototype.options_ to protect against overriding defaults\n this.options_ = mergeOptions({}, this.options_);\n\n // Updated options with supplied options\n options = this.options_ = mergeOptions(this.options_, options);\n\n // Get ID from options or options element if one is supplied\n this.id_ = options.id || options.el && options.el.id;\n\n // If there was no ID from the options, generate one\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n var id = player && player.id && player.id() || 'no_player';\n\n this.id_ = id + '_component_' + newGUID();\n }\n\n this.name_ = options.name || null;\n\n // Create element if one wasn't provided in options\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n }\n\n // if evented is anything except false, we want to mixin in evented\n if (options.evented !== false) {\n // Make this an evented object and use `el_`, if available, as its event bus\n evented(this, { eventBusKey: this.el_ ? 'el_' : null });\n }\n stateful(this, this.constructor.defaultState);\n\n this.children_ = [];\n this.childIndex_ = {};\n this.childNameIndex_ = {};\n\n // Add any child components in options\n if (options.initChildren !== false) {\n this.initChildren();\n }\n\n this.ready(ready);\n // Don't want to trigger ready here or it will before init is actually\n // finished for all children that run this constructor\n\n if (options.reportTouchActivity !== false) {\n this.enableTouchActivity();\n }\n }\n\n /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n */\n\n\n Component.prototype.dispose = function dispose() {\n\n /**\n * Triggered when a `Component` is disposed.\n *\n * @event Component#dispose\n * @type {EventTarget~Event}\n *\n * @property {boolean} [bubbles=false]\n * set to false so that the close event does not\n * bubble up\n */\n this.trigger({ type: 'dispose', bubbles: false });\n\n // Dispose all children.\n if (this.children_) {\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i].dispose) {\n this.children_[i].dispose();\n }\n }\n }\n\n // Delete child references\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = null;\n\n if (this.el_) {\n // Remove element from DOM\n if (this.el_.parentNode) {\n this.el_.parentNode.removeChild(this.el_);\n }\n\n removeData(this.el_);\n this.el_ = null;\n }\n\n // remove reference to the player after disposing of the element\n this.player_ = null;\n };\n\n /**\n * Return the {@link Player} that the `Component` has attached to.\n *\n * @return {Player}\n * The player that this `Component` has attached to.\n */\n\n\n Component.prototype.player = function player() {\n return this.player_;\n };\n\n /**\n * Deep merge of options objects with new options.\n * > Note: When both `obj` and `options` contain properties whose values are objects.\n * The two properties get merged using {@link module:mergeOptions}\n *\n * @param {Object} obj\n * The object that contains new options.\n *\n * @return {Object}\n * A new object of `this.options_` and `obj` merged together.\n *\n * @deprecated since version 5\n */\n\n\n Component.prototype.options = function options(obj) {\n log.warn('this.options() has been deprecated and will be moved to the constructor in 6.0');\n\n if (!obj) {\n return this.options_;\n }\n\n this.options_ = mergeOptions(this.options_, obj);\n return this.options_;\n };\n\n /**\n * Get the `Component`s DOM element\n *\n * @return {Element}\n * The DOM element for this `Component`.\n */\n\n\n Component.prototype.el = function el() {\n return this.el_;\n };\n\n /**\n * Create the `Component`s DOM element.\n *\n * @param {string} [tagName]\n * Element's DOM node type. e.g. 'div'\n *\n * @param {Object} [properties]\n * An object of properties that should be set.\n *\n * @param {Object} [attributes]\n * An object of attributes that should be set.\n *\n * @return {Element}\n * The element that gets created.\n */\n\n\n Component.prototype.createEl = function createEl$$1(tagName, properties, attributes) {\n return createEl(tagName, properties, attributes);\n };\n\n /**\n * Localize a string given the string in english.\n *\n * If tokens are provided, it'll try and run a simple token replacement on the provided string.\n * The tokens it looks for look like `{1}` with the index being 1-indexed into the tokens array.\n *\n * If a `defaultValue` is provided, it'll use that over `string`,\n * if a value isn't found in provided language files.\n * This is useful if you want to have a descriptive key for token replacement\n * but have a succinct localized string and not require `en.json` to be included.\n *\n * Currently, it is used for the progress bar timing.\n * ```js\n * {\n * \"progress bar timing: currentTime={1} duration={2}\": \"{1} of {2}\"\n * }\n * ```\n * It is then used like so:\n * ```js\n * this.localize('progress bar timing: currentTime={1} duration{2}',\n * [this.player_.currentTime(), this.player_.duration()],\n * '{1} of {2}');\n * ```\n *\n * Which outputs something like: `01:23 of 24:56`.\n *\n *\n * @param {string} string\n * The string to localize and the key to lookup in the language files.\n * @param {string[]} [tokens]\n * If the current item has token replacements, provide the tokens here.\n * @param {string} [defaultValue]\n * Defaults to `string`. Can be a default value to use for token replacement\n * if the lookup key is needed to be separate.\n *\n * @return {string}\n * The localized string or if no localization exists the english string.\n */\n\n\n Component.prototype.localize = function localize(string, tokens) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : string;\n\n var code = this.player_.language && this.player_.language();\n var languages = this.player_.languages && this.player_.languages();\n var language = languages && languages[code];\n var primaryCode = code && code.split('-')[0];\n var primaryLang = languages && languages[primaryCode];\n\n var localizedString = defaultValue;\n\n if (language && language[string]) {\n localizedString = language[string];\n } else if (primaryLang && primaryLang[string]) {\n localizedString = primaryLang[string];\n }\n\n if (tokens) {\n localizedString = localizedString.replace(/\\{(\\d+)\\}/g, function (match, index) {\n var value = tokens[index - 1];\n var ret = value;\n\n if (typeof value === 'undefined') {\n ret = match;\n }\n\n return ret;\n });\n }\n\n return localizedString;\n };\n\n /**\n * Return the `Component`s DOM element. This is where children get inserted.\n * This will usually be the the same as the element returned in {@link Component#el}.\n *\n * @return {Element}\n * The content element for this `Component`.\n */\n\n\n Component.prototype.contentEl = function contentEl() {\n return this.contentEl_ || this.el_;\n };\n\n /**\n * Get this `Component`s ID\n *\n * @return {string}\n * The id of this `Component`\n */\n\n\n Component.prototype.id = function id() {\n return this.id_;\n };\n\n /**\n * Get the `Component`s name. The name gets used to reference the `Component`\n * and is set during registration.\n *\n * @return {string}\n * The name of this `Component`.\n */\n\n\n Component.prototype.name = function name() {\n return this.name_;\n };\n\n /**\n * Get an array of all child components\n *\n * @return {Array}\n * The children\n */\n\n\n Component.prototype.children = function children() {\n return this.children_;\n };\n\n /**\n * Returns the child `Component` with the given `id`.\n *\n * @param {string} id\n * The id of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `id` or undefined.\n */\n\n\n Component.prototype.getChildById = function getChildById(id) {\n return this.childIndex_[id];\n };\n\n /**\n * Returns the child `Component` with the given `name`.\n *\n * @param {string} name\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `name` or undefined.\n */\n\n\n Component.prototype.getChild = function getChild(name) {\n if (!name) {\n return;\n }\n\n name = toTitleCase(name);\n\n return this.childNameIndex_[name];\n };\n\n /**\n * Add a child `Component` inside the current `Component`.\n *\n *\n * @param {string|Component} child\n * The name or instance of a child to add.\n *\n * @param {Object} [options={}]\n * The key/value store of options that will get passed to children of\n * the child.\n *\n * @param {number} [index=this.children_.length]\n * The index to attempt to add a child into.\n *\n * @return {Component}\n * The `Component` that gets added as a child. When using a string the\n * `Component` will get created by this process.\n */\n\n\n Component.prototype.addChild = function addChild(child) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.children_.length;\n\n var component = void 0;\n var componentName = void 0;\n\n // If child is a string, create component with options\n if (typeof child === 'string') {\n componentName = toTitleCase(child);\n\n var componentClassName = options.componentClass || componentName;\n\n // Set name through options\n options.name = componentName;\n\n // Create a new object & element for this controls set\n // If there's no .player_, this is a player\n var ComponentClass = Component.getComponent(componentClassName);\n\n if (!ComponentClass) {\n throw new Error('Component ' + componentClassName + ' does not exist');\n }\n\n // data stored directly on the videojs object may be\n // misidentified as a component to retain\n // backwards-compatibility with 4.x. check to make sure the\n // component class can be instantiated.\n if (typeof ComponentClass !== 'function') {\n return null;\n }\n\n component = new ComponentClass(this.player_ || this, options);\n\n // child is a component instance\n } else {\n component = child;\n }\n\n this.children_.splice(index, 0, component);\n\n if (typeof component.id === 'function') {\n this.childIndex_[component.id()] = component;\n }\n\n // If a name wasn't used to create the component, check if we can use the\n // name function of the component\n componentName = componentName || component.name && toTitleCase(component.name());\n\n if (componentName) {\n this.childNameIndex_[componentName] = component;\n }\n\n // Add the UI object's element to the container div (box)\n // Having an element is not required\n if (typeof component.el === 'function' && component.el()) {\n var childNodes = this.contentEl().children;\n var refNode = childNodes[index] || null;\n\n this.contentEl().insertBefore(component.el(), refNode);\n }\n\n // Return so it can stored on parent object if desired.\n return component;\n };\n\n /**\n * Remove a child `Component` from this `Component`s list of children. Also removes\n * the child `Component`s element from this `Component`s element.\n *\n * @param {Component} component\n * The child `Component` to remove.\n */\n\n\n Component.prototype.removeChild = function removeChild(component) {\n if (typeof component === 'string') {\n component = this.getChild(component);\n }\n\n if (!component || !this.children_) {\n return;\n }\n\n var childFound = false;\n\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i] === component) {\n childFound = true;\n this.children_.splice(i, 1);\n break;\n }\n }\n\n if (!childFound) {\n return;\n }\n\n this.childIndex_[component.id()] = null;\n this.childNameIndex_[component.name()] = null;\n\n var compEl = component.el();\n\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n };\n\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n\n\n Component.prototype.initChildren = function initChildren() {\n var _this = this;\n\n var children = this.options_.children;\n\n if (children) {\n // `this` is `parent`\n var parentOptions = this.options_;\n\n var handleAdd = function handleAdd(child) {\n var name = child.name;\n var opts = child.opts;\n\n // Allow options for children to be set at the parent options\n // e.g. videojs(id, { controlBar: false });\n // instead of videojs(id, { children: { controlBar: false });\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n }\n\n // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n if (opts === false) {\n return;\n }\n\n // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n if (opts === true) {\n opts = {};\n }\n\n // We also want to pass the original player options\n // to each component as well so they don't need to\n // reach back into the player for options later.\n opts.playerOptions = _this.options_.playerOptions;\n\n // Create and add the child component.\n // Add a direct reference to the child by name on the parent instance.\n // If two of the same component are used, different names should be supplied\n // for each\n var newChild = _this.addChild(name, opts);\n\n if (newChild) {\n _this[name] = newChild;\n }\n };\n\n // Allow for an array of children details to passed in the options\n var workingChildren = void 0;\n var Tech = Component.getComponent('Tech');\n\n if (Array.isArray(children)) {\n workingChildren = children;\n } else {\n workingChildren = Object.keys(children);\n }\n\n workingChildren\n // children that are in this.options_ but also in workingChildren would\n // give us extra children we do not want. So, we want to filter them out.\n .concat(Object.keys(this.options_).filter(function (child) {\n return !workingChildren.some(function (wchild) {\n if (typeof wchild === 'string') {\n return child === wchild;\n }\n return child === wchild.name;\n });\n })).map(function (child) {\n var name = void 0;\n var opts = void 0;\n\n if (typeof child === 'string') {\n name = child;\n opts = children[name] || _this.options_[name] || {};\n } else {\n name = child.name;\n opts = child;\n }\n\n return { name: name, opts: opts };\n }).filter(function (child) {\n // we have to make sure that child.name isn't in the techOrder since\n // techs are registerd as Components but can't aren't compatible\n // See https://github.com/videojs/video.js/issues/2772\n var c = Component.getComponent(child.opts.componentClass || toTitleCase(child.name));\n\n return c && !Tech.isTech(c);\n }).forEach(handleAdd);\n }\n };\n\n /**\n * Builds the default DOM class name. Should be overriden by sub-components.\n *\n * @return {string}\n * The DOM class name for this object.\n *\n * @abstract\n */\n\n\n Component.prototype.buildCSSClass = function buildCSSClass() {\n // Child classes can include a function that does:\n // return 'CLASS NAME' + this._super();\n return '';\n };\n\n /**\n * Bind a listener to the component's ready state.\n * Different from event listeners in that if the ready event has already happened\n * it will trigger the function immediately.\n *\n * @return {Component}\n * Returns itself; method can be chained.\n */\n\n\n Component.prototype.ready = function ready(fn) {\n var sync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!fn) {\n return;\n }\n\n if (!this.isReady_) {\n this.readyQueue_ = this.readyQueue_ || [];\n this.readyQueue_.push(fn);\n return;\n }\n\n if (sync) {\n fn.call(this);\n } else {\n // Call the function asynchronously by default for consistency\n this.setTimeout(fn, 1);\n }\n };\n\n /**\n * Trigger all the ready listeners for this `Component`.\n *\n * @fires Component#ready\n */\n\n\n Component.prototype.triggerReady = function triggerReady() {\n this.isReady_ = true;\n\n // Ensure ready is triggered asynchronously\n this.setTimeout(function () {\n var readyQueue = this.readyQueue_;\n\n // Reset Ready Queue\n this.readyQueue_ = [];\n\n if (readyQueue && readyQueue.length > 0) {\n readyQueue.forEach(function (fn) {\n fn.call(this);\n }, this);\n }\n\n // Allow for using event listeners also\n /**\n * Triggered when a `Component` is ready.\n *\n * @event Component#ready\n * @type {EventTarget~Event}\n */\n this.trigger('ready');\n }, 1);\n };\n\n /**\n * Find a single DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {Element|null}\n * the dom element that was found, or null\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n\n\n Component.prototype.$ = function $$$1(selector, context) {\n return $(selector, context || this.contentEl());\n };\n\n /**\n * Finds all DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {NodeList}\n * a list of dom elements that were found\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n\n\n Component.prototype.$$ = function $$$$1(selector, context) {\n return $$(selector, context || this.contentEl());\n };\n\n /**\n * Check if a component's element has a CSS class name.\n *\n * @param {string} classToCheck\n * CSS class name to check.\n *\n * @return {boolean}\n * - True if the `Component` has the class.\n * - False if the `Component` does not have the class`\n */\n\n\n Component.prototype.hasClass = function hasClass$$1(classToCheck) {\n return hasClass(this.el_, classToCheck);\n };\n\n /**\n * Add a CSS class name to the `Component`s element.\n *\n * @param {string} classToAdd\n * CSS class name to add\n */\n\n\n Component.prototype.addClass = function addClass$$1(classToAdd) {\n addClass(this.el_, classToAdd);\n };\n\n /**\n * Remove a CSS class name from the `Component`s element.\n *\n * @param {string} classToRemove\n * CSS class name to remove\n */\n\n\n Component.prototype.removeClass = function removeClass$$1(classToRemove) {\n removeClass(this.el_, classToRemove);\n };\n\n /**\n * Add or remove a CSS class name from the component's element.\n * - `classToToggle` gets added when {@link Component#hasClass} would return false.\n * - `classToToggle` gets removed when {@link Component#hasClass} would return true.\n *\n * @param {string} classToToggle\n * The class to add or remove based on (@link Component#hasClass}\n *\n * @param {boolean|Dom~predicate} [predicate]\n * An {@link Dom~predicate} function or a boolean\n */\n\n\n Component.prototype.toggleClass = function toggleClass$$1(classToToggle, predicate) {\n toggleClass(this.el_, classToToggle, predicate);\n };\n\n /**\n * Show the `Component`s element if it is hidden by removing the\n * 'vjs-hidden' class name from it.\n */\n\n\n Component.prototype.show = function show() {\n this.removeClass('vjs-hidden');\n };\n\n /**\n * Hide the `Component`s element if it is currently showing by adding the\n * 'vjs-hidden` class name to it.\n */\n\n\n Component.prototype.hide = function hide() {\n this.addClass('vjs-hidden');\n };\n\n /**\n * Lock a `Component`s element in its visible state by adding the 'vjs-lock-showing'\n * class name to it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n\n\n Component.prototype.lockShowing = function lockShowing() {\n this.addClass('vjs-lock-showing');\n };\n\n /**\n * Unlock a `Component`s element from its visible state by removing the 'vjs-lock-showing'\n * class name from it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n\n\n Component.prototype.unlockShowing = function unlockShowing() {\n this.removeClass('vjs-lock-showing');\n };\n\n /**\n * Get the value of an attribute on the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to get the value from.\n *\n * @return {string|null}\n * - The value of the attribute that was asked for.\n * - Can be an empty string on some browsers if the attribute does not exist\n * or has no value\n * - Most browsers will return null if the attibute does not exist or has\n * no value.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute}\n */\n\n\n Component.prototype.getAttribute = function getAttribute$$1(attribute) {\n return getAttribute(this.el_, attribute);\n };\n\n /**\n * Set the value of an attribute on the `Component`'s element\n *\n * @param {string} attribute\n * Name of the attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute}\n */\n\n\n Component.prototype.setAttribute = function setAttribute$$1(attribute, value) {\n setAttribute(this.el_, attribute, value);\n };\n\n /**\n * Remove an attribute from the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to remove.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute}\n */\n\n\n Component.prototype.removeAttribute = function removeAttribute$$1(attribute) {\n removeAttribute(this.el_, attribute);\n };\n\n /**\n * Get or set the width of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The width that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n\n\n Component.prototype.width = function width(num, skipListeners) {\n return this.dimension('width', num, skipListeners);\n };\n\n /**\n * Get or set the height of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The height that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n\n\n Component.prototype.height = function height(num, skipListeners) {\n return this.dimension('height', num, skipListeners);\n };\n\n /**\n * Set both the width and height of the `Component` element at the same time.\n *\n * @param {number|string} width\n * Width to set the `Component`s element to.\n *\n * @param {number|string} height\n * Height to set the `Component`s element to.\n */\n\n\n Component.prototype.dimensions = function dimensions(width, height) {\n // Skip componentresize listeners on width for optimization\n this.width(width, true);\n this.height(height);\n };\n\n /**\n * Get or set width or height of the `Component` element. This is the shared code\n * for the {@link Component#width} and {@link Component#height}.\n *\n * Things to know:\n * - If the width or height in an number this will return the number postfixed with 'px'.\n * - If the width/height is a percent this will return the percent postfixed with '%'\n * - Hidden elements have a width of 0 with `window.getComputedStyle`. This function\n * defaults to the `Component`s `style.width` and falls back to `window.getComputedStyle`.\n * See [this]{@link http://www.foliotek.com/devblog/getting-the-width-of-a-hidden-element-with-jquery-using-width/}\n * for more information\n * - If you want the computed style of the component, use {@link Component#currentWidth}\n * and {@link {Component#currentHeight}\n *\n * @fires Component#componentresize\n *\n * @param {string} widthOrHeight\n 8 'width' or 'height'\n *\n * @param {number|string} [num]\n 8 New dimension\n *\n * @param {boolean} [skipListeners]\n * Skip componentresize event trigger\n *\n * @return {number}\n * The dimension when getting or 0 if unset\n */\n\n\n Component.prototype.dimension = function dimension(widthOrHeight, num, skipListeners) {\n if (num !== undefined) {\n // Set to zero if null or literally NaN (NaN !== NaN)\n if (num === null || num !== num) {\n num = 0;\n }\n\n // Check if using css width/height (% or px) and adjust\n if (('' + num).indexOf('%') !== -1 || ('' + num).indexOf('px') !== -1) {\n this.el_.style[widthOrHeight] = num;\n } else if (num === 'auto') {\n this.el_.style[widthOrHeight] = '';\n } else {\n this.el_.style[widthOrHeight] = num + 'px';\n }\n\n // skipListeners allows us to avoid triggering the resize event when setting both width and height\n if (!skipListeners) {\n /**\n * Triggered when a component is resized.\n *\n * @event Component#componentresize\n * @type {EventTarget~Event}\n */\n this.trigger('componentresize');\n }\n\n return;\n }\n\n // Not setting a value, so getting it\n // Make sure element exists\n if (!this.el_) {\n return 0;\n }\n\n // Get dimension value from style\n var val = this.el_.style[widthOrHeight];\n var pxIndex = val.indexOf('px');\n\n if (pxIndex !== -1) {\n // Return the pixel value with no 'px'\n return parseInt(val.slice(0, pxIndex), 10);\n }\n\n // No px so using % or no style was set, so falling back to offsetWidth/height\n // If component has display:none, offset will return 0\n // TODO: handle display:none and no dimension style using px\n return parseInt(this.el_['offset' + toTitleCase(widthOrHeight)], 10);\n };\n\n /**\n * Get the computed width or the height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @param {string} widthOrHeight\n * A string containing 'width' or 'height'. Whichever one you want to get.\n *\n * @return {number}\n * The dimension that gets asked for or 0 if nothing was set\n * for that dimension.\n */\n\n\n Component.prototype.currentDimension = function currentDimension(widthOrHeight) {\n var computedWidthOrHeight = 0;\n\n if (widthOrHeight !== 'width' && widthOrHeight !== 'height') {\n throw new Error('currentDimension only accepts width or height value');\n }\n\n if (typeof window.getComputedStyle === 'function') {\n var computedStyle = window.getComputedStyle(this.el_);\n\n computedWidthOrHeight = computedStyle.getPropertyValue(widthOrHeight) || computedStyle[widthOrHeight];\n }\n\n // remove 'px' from variable and parse as integer\n computedWidthOrHeight = parseFloat(computedWidthOrHeight);\n\n // if the computed value is still 0, it's possible that the browser is lying\n // and we want to check the offset values.\n // This code also runs on IE8 and wherever getComputedStyle doesn't exist.\n if (computedWidthOrHeight === 0) {\n var rule = 'offset' + toTitleCase(widthOrHeight);\n\n computedWidthOrHeight = this.el_[rule];\n }\n\n return computedWidthOrHeight;\n };\n\n /**\n * An object that contains width and height values of the `Component`s\n * computed style. Uses `window.getComputedStyle`.\n *\n * @typedef {Object} Component~DimensionObject\n *\n * @property {number} width\n * The width of the `Component`s computed style.\n *\n * @property {number} height\n * The height of the `Component`s computed style.\n */\n\n /**\n * Get an object that contains computed width and height values of the\n * component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {Component~DimensionObject}\n * The computed dimensions of the component's element.\n */\n\n\n Component.prototype.currentDimensions = function currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\n };\n };\n\n /**\n * Get the computed width of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed width of the component's element.\n */\n\n\n Component.prototype.currentWidth = function currentWidth() {\n return this.currentDimension('width');\n };\n\n /**\n * Get the computed height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed height of the component's element.\n */\n\n\n Component.prototype.currentHeight = function currentHeight() {\n return this.currentDimension('height');\n };\n\n /**\n * Set the focus to this component\n */\n\n\n Component.prototype.focus = function focus() {\n this.el_.focus();\n };\n\n /**\n * Remove the focus from this component\n */\n\n\n Component.prototype.blur = function blur() {\n this.el_.blur();\n };\n\n /**\n * Emit a 'tap' events when touch event support gets detected. This gets used to\n * support toggling the controls through a tap on the video. They get enabled\n * because every sub-component would have extra overhead otherwise.\n *\n * @private\n * @fires Component#tap\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchleave\n * @listens Component#touchcancel\n * @listens Component#touchend\n */\n\n\n Component.prototype.emitTapEvents = function emitTapEvents() {\n // Track the start time so we can determine how long the touch lasted\n var touchStart = 0;\n var firstTouch = null;\n\n // Maximum movement allowed during a touch event to still be considered a tap\n // Other popular libs use anywhere from 2 (hammer.js) to 15,\n // so 10 seems like a nice, round number.\n var tapMovementThreshold = 10;\n\n // The maximum length a touch can be while still being considered a tap\n var touchTimeThreshold = 200;\n\n var couldBeTap = void 0;\n\n this.on('touchstart', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length === 1) {\n // Copy pageX/pageY from the object\n firstTouch = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY\n };\n // Record start time so we can detect a tap vs. \"touch and hold\"\n touchStart = new Date().getTime();\n // Reset couldBeTap tracking\n couldBeTap = true;\n }\n });\n\n this.on('touchmove', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length > 1) {\n couldBeTap = false;\n } else if (firstTouch) {\n // Some devices will throw touchmoves for all but the slightest of taps.\n // So, if we moved only a small distance, this could still be a tap\n var xdiff = event.touches[0].pageX - firstTouch.pageX;\n var ydiff = event.touches[0].pageY - firstTouch.pageY;\n var touchDistance = Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n\n if (touchDistance > tapMovementThreshold) {\n couldBeTap = false;\n }\n }\n });\n\n var noTap = function noTap() {\n couldBeTap = false;\n };\n\n // TODO: Listen to the original target. http://youtu.be/DujfpXOKUp8?t=13m8s\n this.on('touchleave', noTap);\n this.on('touchcancel', noTap);\n\n // When the touch ends, measure how long it took and trigger the appropriate\n // event\n this.on('touchend', function (event) {\n firstTouch = null;\n // Proceed only if the touchmove/leave/cancel event didn't happen\n if (couldBeTap === true) {\n // Measure how long the touch lasted\n var touchTime = new Date().getTime() - touchStart;\n\n // Make sure the touch was less than the threshold to be considered a tap\n if (touchTime < touchTimeThreshold) {\n // Don't let browser turn this into a click\n event.preventDefault();\n /**\n * Triggered when a `Component` is tapped.\n *\n * @event Component#tap\n * @type {EventTarget~Event}\n */\n this.trigger('tap');\n // It may be good to copy the touchend event object and change the\n // type to tap, if the other event properties aren't exact after\n // Events.fixEvent runs (e.g. event.target)\n }\n }\n });\n };\n\n /**\n * This function reports user activity whenever touch events happen. This can get\n * turned off by any sub-components that wants touch events to act another way.\n *\n * Report user touch activity when touch events occur. User activity gets used to\n * determine when controls should show/hide. It is simple when it comes to mouse\n * events, because any mouse event should show the controls. So we capture mouse\n * events that bubble up to the player and report activity when that happens.\n * With touch events it isn't as easy as `touchstart` and `touchend` toggle player\n * controls. So touch events can't help us at the player level either.\n *\n * User activity gets checked asynchronously. So what could happen is a tap event\n * on the video turns the controls off. Then the `touchend` event bubbles up to\n * the player. Which, if it reported user activity, would turn the controls right\n * back on. We also don't want to completely block touch events from bubbling up.\n * Furthermore a `touchmove` event and anything other than a tap, should not turn\n * controls back on.\n *\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchend\n * @listens Component#touchcancel\n */\n\n\n Component.prototype.enableTouchActivity = function enableTouchActivity() {\n // Don't continue if the root player doesn't support reporting user activity\n if (!this.player() || !this.player().reportUserActivity) {\n return;\n }\n\n // listener for reporting that the user is active\n var report = bind(this.player(), this.player().reportUserActivity);\n\n var touchHolding = void 0;\n\n this.on('touchstart', function () {\n report();\n // For as long as the they are touching the device or have their mouse down,\n // we consider them active even if they're not moving their finger or mouse.\n // So we want to continue to update that they are active\n this.clearInterval(touchHolding);\n // report at the same interval as activityCheck\n touchHolding = this.setInterval(report, 250);\n });\n\n var touchEnd = function touchEnd(event) {\n report();\n // stop the interval that maintains activity if the touch is holding\n this.clearInterval(touchHolding);\n };\n\n this.on('touchmove', report);\n this.on('touchend', touchEnd);\n this.on('touchcancel', touchEnd);\n };\n\n /**\n * A callback that has no parameters and is bound into `Component`s context.\n *\n * @callback Component~GenericCallback\n * @this Component\n */\n\n /**\n * Creates a function that runs after an `x` millisecond timeout. This function is a\n * wrapper around `window.setTimeout`. There are a few reasons to use this one\n * instead though:\n * 1. It gets cleared via {@link Component#clearTimeout} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will gets turned into a {@link Component~GenericCallback}\n *\n * > Note: You can't use `window.clearTimeout` on the id returned by this function. This\n * will cause its dispose listener not to get cleaned up! Please use\n * {@link Component#clearTimeout} or {@link Component#dispose} instead.\n *\n * @param {Component~GenericCallback} fn\n * The function that will be run after `timeout`.\n *\n * @param {number} timeout\n * Timeout in milliseconds to delay before executing the specified function.\n *\n * @return {number}\n * Returns a timeout ID that gets used to identify the timeout. It can also\n * get used in {@link Component#clearTimeout} to clear the timeout that\n * was set.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout}\n */\n\n\n Component.prototype.setTimeout = function setTimeout(fn, timeout) {\n var _this2 = this;\n\n // declare as variables so they are properly available in timeout function\n // eslint-disable-next-line\n var timeoutId, disposeFn;\n\n fn = bind(this, fn);\n\n timeoutId = window.setTimeout(function () {\n _this2.off('dispose', disposeFn);\n fn();\n }, timeout);\n\n disposeFn = function disposeFn() {\n return _this2.clearTimeout(timeoutId);\n };\n\n disposeFn.guid = 'vjs-timeout-' + timeoutId;\n\n this.on('dispose', disposeFn);\n\n return timeoutId;\n };\n\n /**\n * Clears a timeout that gets created via `window.setTimeout` or\n * {@link Component#setTimeout}. If you set a timeout via {@link Component#setTimeout}\n * use this function instead of `window.clearTimout`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} timeoutId\n * The id of the timeout to clear. The return value of\n * {@link Component#setTimeout} or `window.setTimeout`.\n *\n * @return {number}\n * Returns the timeout id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout}\n */\n\n\n Component.prototype.clearTimeout = function clearTimeout(timeoutId) {\n window.clearTimeout(timeoutId);\n\n var disposeFn = function disposeFn() {};\n\n disposeFn.guid = 'vjs-timeout-' + timeoutId;\n\n this.off('dispose', disposeFn);\n\n return timeoutId;\n };\n\n /**\n * Creates a function that gets run every `x` milliseconds. This function is a wrapper\n * around `window.setInterval`. There are a few reasons to use this one instead though.\n * 1. It gets cleared via {@link Component#clearInterval} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will be a {@link Component~GenericCallback}\n *\n * @param {Component~GenericCallback} fn\n * The function to run every `x` seconds.\n *\n * @param {number} interval\n * Execute the specified function every `x` milliseconds.\n *\n * @return {number}\n * Returns an id that can be used to identify the interval. It can also be be used in\n * {@link Component#clearInterval} to clear the interval.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval}\n */\n\n\n Component.prototype.setInterval = function setInterval(fn, interval) {\n var _this3 = this;\n\n fn = bind(this, fn);\n\n var intervalId = window.setInterval(fn, interval);\n\n var disposeFn = function disposeFn() {\n return _this3.clearInterval(intervalId);\n };\n\n disposeFn.guid = 'vjs-interval-' + intervalId;\n\n this.on('dispose', disposeFn);\n\n return intervalId;\n };\n\n /**\n * Clears an interval that gets created via `window.setInterval` or\n * {@link Component#setInterval}. If you set an inteval via {@link Component#setInterval}\n * use this function instead of `window.clearInterval`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} intervalId\n * The id of the interval to clear. The return value of\n * {@link Component#setInterval} or `window.setInterval`.\n *\n * @return {number}\n * Returns the interval id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval}\n */\n\n\n Component.prototype.clearInterval = function clearInterval(intervalId) {\n window.clearInterval(intervalId);\n\n var disposeFn = function disposeFn() {};\n\n disposeFn.guid = 'vjs-interval-' + intervalId;\n\n this.off('dispose', disposeFn);\n\n return intervalId;\n };\n\n /**\n * Queues up a callback to be passed to requestAnimationFrame (rAF), but\n * with a few extra bonuses:\n *\n * - Supports browsers that do not support rAF by falling back to\n * {@link Component#setTimeout}.\n *\n * - The callback is turned into a {@link Component~GenericCallback} (i.e.\n * bound to the component).\n *\n * - Automatic cancellation of the rAF callback is handled if the component\n * is disposed before it is called.\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n *\n * @return {number}\n * Returns an rAF ID that gets used to identify the timeout. It can\n * also be used in {@link Component#cancelAnimationFrame} to cancel\n * the animation frame callback.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame}\n */\n\n\n Component.prototype.requestAnimationFrame = function requestAnimationFrame(fn) {\n var _this4 = this;\n\n // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n var id, disposeFn;\n\n if (this.supportsRaf_) {\n fn = bind(this, fn);\n\n id = window.requestAnimationFrame(function () {\n _this4.off('dispose', disposeFn);\n fn();\n });\n\n disposeFn = function disposeFn() {\n return _this4.cancelAnimationFrame(id);\n };\n\n disposeFn.guid = 'vjs-raf-' + id;\n this.on('dispose', disposeFn);\n\n return id;\n }\n\n // Fall back to using a timer.\n return this.setTimeout(fn, 1000 / 60);\n };\n\n /**\n * Cancels a queued callback passed to {@link Component#requestAnimationFrame}\n * (rAF).\n *\n * If you queue an rAF callback via {@link Component#requestAnimationFrame},\n * use this function instead of `window.cancelAnimationFrame`. If you don't,\n * your dispose listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} id\n * The rAF ID to clear. The return value of {@link Component#requestAnimationFrame}.\n *\n * @return {number}\n * Returns the rAF ID that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/cancelAnimationFrame}\n */\n\n\n Component.prototype.cancelAnimationFrame = function cancelAnimationFrame(id) {\n if (this.supportsRaf_) {\n window.cancelAnimationFrame(id);\n\n var disposeFn = function disposeFn() {};\n\n disposeFn.guid = 'vjs-raf-' + id;\n\n this.off('dispose', disposeFn);\n\n return id;\n }\n\n // Fall back to using a timer.\n return this.clearTimeout(id);\n };\n\n /**\n * Register a `Component` with `videojs` given the name and the component.\n *\n * > NOTE: {@link Tech}s should not be registered as a `Component`. {@link Tech}s\n * should be registered using {@link Tech.registerTech} or\n * {@link videojs:videojs.registerTech}.\n *\n * > NOTE: This function can also be seen on videojs as\n * {@link videojs:videojs.registerComponent}.\n *\n * @param {string} name\n * The name of the `Component` to register.\n *\n * @param {Component} ComponentToRegister\n * The `Component` class to register.\n *\n * @return {Component}\n * The `Component` that was registered.\n */\n\n\n Component.registerComponent = function registerComponent(name, ComponentToRegister) {\n if (typeof name !== 'string' || !name) {\n throw new Error('Illegal component name, \"' + name + '\"; must be a non-empty string.');\n }\n\n var Tech = Component.getComponent('Tech');\n\n // We need to make sure this check is only done if Tech has been registered.\n var isTech = Tech && Tech.isTech(ComponentToRegister);\n var isComp = Component === ComponentToRegister || Component.prototype.isPrototypeOf(ComponentToRegister.prototype);\n\n if (isTech || !isComp) {\n var reason = void 0;\n\n if (isTech) {\n reason = 'techs must be registered using Tech.registerTech()';\n } else {\n reason = 'must be a Component subclass';\n }\n\n throw new Error('Illegal component, \"' + name + '\"; ' + reason + '.');\n }\n\n name = toTitleCase(name);\n\n if (!Component.components_) {\n Component.components_ = {};\n }\n\n var Player = Component.getComponent('Player');\n\n if (name === 'Player' && Player && Player.players) {\n var players = Player.players;\n var playerNames = Object.keys(players);\n\n // If we have players that were disposed, then their name will still be\n // in Players.players. So, we must loop through and verify that the value\n // for each item is not null. This allows registration of the Player component\n // after all players have been disposed or before any were created.\n if (players && playerNames.length > 0 && playerNames.map(function (pname) {\n return players[pname];\n }).every(Boolean)) {\n throw new Error('Can not register Player component after player has been created.');\n }\n }\n\n Component.components_[name] = ComponentToRegister;\n\n return ComponentToRegister;\n };\n\n /**\n * Get a `Component` based on the name it was registered with.\n *\n * @param {string} name\n * The Name of the component to get.\n *\n * @return {Component}\n * The `Component` that got registered under the given name.\n *\n * @deprecated In `videojs` 6 this will not return `Component`s that were not\n * registered using {@link Component.registerComponent}. Currently we\n * check the global `videojs` object for a `Component` name and\n * return that if it exists.\n */\n\n\n Component.getComponent = function getComponent(name) {\n if (!name) {\n return;\n }\n\n name = toTitleCase(name);\n\n if (Component.components_ && Component.components_[name]) {\n return Component.components_[name];\n }\n };\n\n return Component;\n}();\n\n/**\n * Whether or not this component supports `requestAnimationFrame`.\n *\n * This is exposed primarily for testing purposes.\n *\n * @private\n * @type {Boolean}\n */\n\n\nComponent.prototype.supportsRaf_ = typeof window.requestAnimationFrame === 'function' && typeof window.cancelAnimationFrame === 'function';\n\nComponent.registerComponent('Component', Component);\n\n/**\n * @file time-ranges.js\n * @module time-ranges\n */\n\n/**\n * Returns the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @function time-ranges:indexFunction\n *\n * @param {number} [index=0]\n * The range number to return the time for.\n *\n * @return {number}\n * The time that offset at the specified index.\n *\n * @depricated index must be set to a value, in the future this will throw an error.\n */\n\n/**\n * An object that contains ranges of time for various reasons.\n *\n * @typedef {Object} TimeRange\n *\n * @property {number} length\n * The number of time ranges represented by this Object\n *\n * @property {time-ranges:indexFunction} start\n * Returns the time offset at which a specified time range begins.\n *\n * @property {time-ranges:indexFunction} end\n * Returns the time offset at which a specified time range ends.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges\n */\n\n/**\n * Check if any of the time ranges are over the maximum index.\n *\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {number} index\n * The index to check\n *\n * @param {number} maxIndex\n * The maximum possible index\n *\n * @throws {Error} if the timeRanges provided are over the maxIndex\n */\nfunction rangeCheck(fnName, index, maxIndex) {\n if (typeof index !== 'number' || index < 0 || index > maxIndex) {\n throw new Error('Failed to execute \\'' + fnName + '\\' on \\'TimeRanges\\': The index provided (' + index + ') is non-numeric or out of bounds (0-' + maxIndex + ').');\n }\n}\n\n/**\n * Get the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {string} valueIndex\n * The proprety that should be used to get the time. should be 'start' or 'end'\n *\n * @param {Array} ranges\n * An array of time ranges\n *\n * @param {Array} [rangeIndex=0]\n * The index to start the search at\n *\n * @return {number}\n * The time that offset at the specified index.\n *\n *\n * @depricated rangeIndex must be set to a value, in the future this will throw an error.\n * @throws {Error} if rangeIndex is more than the length of ranges\n */\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n}\n\n/**\n * Create a time range object given ranges of time.\n *\n * @param {Array} [ranges]\n * An array of time ranges.\n */\nfunction createTimeRangesObj(ranges) {\n if (ranges === undefined || ranges.length === 0) {\n return {\n length: 0,\n start: function start() {\n throw new Error('This TimeRanges object is empty');\n },\n end: function end() {\n throw new Error('This TimeRanges object is empty');\n }\n };\n }\n return {\n length: ranges.length,\n start: getRange.bind(null, 'start', 0, ranges),\n end: getRange.bind(null, 'end', 1, ranges)\n };\n}\n\n/**\n * Should create a fake `TimeRange` object which mimics an HTML5 time range instance.\n *\n * @param {number|Array} start\n * The start of a single range or an array of ranges\n *\n * @param {number} end\n * The end of a single range.\n *\n * @private\n */\nfunction createTimeRanges(start, end) {\n if (Array.isArray(start)) {\n return createTimeRangesObj(start);\n } else if (start === undefined || end === undefined) {\n return createTimeRangesObj();\n }\n return createTimeRangesObj([[start, end]]);\n}\n\n/**\n * @file buffer.js\n * @module buffer\n */\n/**\n * Compute the percentage of the media that has been buffered.\n *\n * @param {TimeRange} buffered\n * The current `TimeRange` object representing buffered time ranges\n *\n * @param {number} duration\n * Total duration of the media\n *\n * @return {number}\n * Percent buffered of the total duration in decimal form.\n */\nfunction bufferedPercent(buffered, duration) {\n var bufferedDuration = 0;\n var start = void 0;\n var end = void 0;\n\n if (!duration) {\n return 0;\n }\n\n if (!buffered || !buffered.length) {\n buffered = createTimeRanges(0, 0);\n }\n\n for (var i = 0; i < buffered.length; i++) {\n start = buffered.start(i);\n end = buffered.end(i);\n\n // buffered end can be bigger than duration by a very small fraction\n if (end > duration) {\n end = duration;\n }\n\n bufferedDuration += end - start;\n }\n\n return bufferedDuration / duration;\n}\n\n/**\n * @file fullscreen-api.js\n * @module fullscreen-api\n * @private\n */\n/**\n * Store the browser-specific methods for the fullscreen API.\n *\n * @type {Object}\n * @see [Specification]{@link https://fullscreen.spec.whatwg.org}\n * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}\n */\nvar FullscreenApi = {};\n\n// browser API methods\nvar apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror'],\n// WebKit\n['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror'],\n// Old WebKit (Safari 5.1)\n['webkitRequestFullScreen', 'webkitCancelFullScreen', 'webkitCurrentFullScreenElement', 'webkitCancelFullScreen', 'webkitfullscreenchange', 'webkitfullscreenerror'],\n// Mozilla\n['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror'],\n// Microsoft\n['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError']];\n\nvar specApi = apiMap[0];\nvar browserApi = void 0;\n\n// determine the supported set of functions\nfor (var i = 0; i < apiMap.length; i++) {\n // check for exitFullscreen function\n if (apiMap[i][1] in document) {\n browserApi = apiMap[i];\n break;\n }\n}\n\n// map the browser API names to the spec API names\nif (browserApi) {\n for (var _i = 0; _i < browserApi.length; _i++) {\n FullscreenApi[specApi[_i]] = browserApi[_i];\n }\n}\n\n/**\n * @file media-error.js\n */\n/**\n * A Custom `MediaError` class which mimics the standard HTML5 `MediaError` class.\n *\n * @param {number|string|Object|MediaError} value\n * This can be of multiple types:\n * - number: should be a standard error code\n * - string: an error message (the code will be 0)\n * - Object: arbitrary properties\n * - `MediaError` (native): used to populate a video.js `MediaError` object\n * - `MediaError` (video.js): will return itself if it's already a\n * video.js `MediaError` object.\n *\n * @see [MediaError Spec]{@link https://dev.w3.org/html5/spec-author-view/video.html#mediaerror}\n * @see [Encrypted MediaError Spec]{@link https://www.w3.org/TR/2013/WD-encrypted-media-20130510/#error-codes}\n *\n * @class MediaError\n */\nfunction MediaError(value) {\n\n // Allow redundant calls to this constructor to avoid having `instanceof`\n // checks peppered around the code.\n if (value instanceof MediaError) {\n return value;\n }\n\n if (typeof value === 'number') {\n this.code = value;\n } else if (typeof value === 'string') {\n // default code is zero, so this is a custom error\n this.message = value;\n } else if (isObject(value)) {\n\n // We assign the `code` property manually because native `MediaError` objects\n // do not expose it as an own/enumerable property of the object.\n if (typeof value.code === 'number') {\n this.code = value.code;\n }\n\n assign(this, value);\n }\n\n if (!this.message) {\n this.message = MediaError.defaultMessages[this.code] || '';\n }\n}\n\n/**\n * The error code that refers two one of the defined `MediaError` types\n *\n * @type {Number}\n */\nMediaError.prototype.code = 0;\n\n/**\n * An optional message that to show with the error. Message is not part of the HTML5\n * video spec but allows for more informative custom errors.\n *\n * @type {String}\n */\nMediaError.prototype.message = '';\n\n/**\n * An optional status code that can be set by plugins to allow even more detail about\n * the error. For example a plugin might provide a specific HTTP status code and an\n * error message for that code. Then when the plugin gets that error this class will\n * know how to display an error message for it. This allows a custom message to show\n * up on the `Player` error overlay.\n *\n * @type {Array}\n */\nMediaError.prototype.status = null;\n\n/**\n * Errors indexed by the W3C standard. The order **CANNOT CHANGE**! See the\n * specification listed under {@link MediaError} for more information.\n *\n * @enum {array}\n * @readonly\n * @property {string} 0 - MEDIA_ERR_CUSTOM\n * @property {string} 1 - MEDIA_ERR_CUSTOM\n * @property {string} 2 - MEDIA_ERR_ABORTED\n * @property {string} 3 - MEDIA_ERR_NETWORK\n * @property {string} 4 - MEDIA_ERR_SRC_NOT_SUPPORTED\n * @property {string} 5 - MEDIA_ERR_ENCRYPTED\n */\nMediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n\n/**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\nMediaError.defaultMessages = {\n 1: 'You aborted the media playback',\n 2: 'A network error caused the media download to fail part-way.',\n 3: 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.',\n 4: 'The media could not be loaded, either because the server or network failed or because the format is not supported.',\n 5: 'The media is encrypted and we do not have the keys to decrypt it.'\n};\n\n// Add types as properties on MediaError\n// e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\nfor (var errNum = 0; errNum < MediaError.errorTypes.length; errNum++) {\n MediaError[MediaError.errorTypes[errNum]] = errNum;\n // values should be accessible on both the class and instance\n MediaError.prototype[MediaError.errorTypes[errNum]] = errNum;\n}\n\n/**\n * Returns whether an object is `Promise`-like (i.e. has a `then` method).\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n *\n * @return {Boolean}\n * Whether or not the object is `Promise`-like.\n */\nfunction isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\n}\n\n/**\n * Silence a Promise-like object.\n *\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n */\nfunction silencePromise(value) {\n if (isPromise(value)) {\n value.then(null, function (e) {});\n }\n}\n\n/**\n * @file text-track-list-converter.js Utilities for capturing text track state and\n * re-creating tracks based on a capture.\n *\n * @module text-track-list-converter\n */\n\n/**\n * Examine a single {@link TextTrack} and return a JSON-compatible javascript object that\n * represents the {@link TextTrack}'s state.\n *\n * @param {TextTrack} track\n * The text track to query.\n *\n * @return {Object}\n * A serializable javascript representation of the TextTrack.\n * @private\n */\nvar trackToJson_ = function trackToJson_(track) {\n var ret = ['kind', 'label', 'language', 'id', 'inBandMetadataTrackDispatchType', 'mode', 'src'].reduce(function (acc, prop, i) {\n\n if (track[prop]) {\n acc[prop] = track[prop];\n }\n\n return acc;\n }, {\n cues: track.cues && Array.prototype.map.call(track.cues, function (cue) {\n return {\n startTime: cue.startTime,\n endTime: cue.endTime,\n text: cue.text,\n id: cue.id\n };\n })\n });\n\n return ret;\n};\n\n/**\n * Examine a {@link Tech} and return a JSON-compatible javascript array that represents the\n * state of all {@link TextTrack}s currently configured. The return array is compatible with\n * {@link text-track-list-converter:jsonToTextTracks}.\n *\n * @param {Tech} tech\n * The tech object to query\n *\n * @return {Array}\n * A serializable javascript representation of the {@link Tech}s\n * {@link TextTrackList}.\n */\nvar textTracksToJson = function textTracksToJson(tech) {\n\n var trackEls = tech.$$('track');\n\n var trackObjs = Array.prototype.map.call(trackEls, function (t) {\n return t.track;\n });\n var tracks = Array.prototype.map.call(trackEls, function (trackEl) {\n var json = trackToJson_(trackEl.track);\n\n if (trackEl.src) {\n json.src = trackEl.src;\n }\n return json;\n });\n\n return tracks.concat(Array.prototype.filter.call(tech.textTracks(), function (track) {\n return trackObjs.indexOf(track) === -1;\n }).map(trackToJson_));\n};\n\n/**\n * Create a set of remote {@link TextTrack}s on a {@link Tech} based on an array of javascript\n * object {@link TextTrack} representations.\n *\n * @param {Array} json\n * An array of `TextTrack` representation objects, like those that would be\n * produced by `textTracksToJson`.\n *\n * @param {Tech} tech\n * The `Tech` to create the `TextTrack`s on.\n */\nvar jsonToTextTracks = function jsonToTextTracks(json, tech) {\n json.forEach(function (track) {\n var addedTrack = tech.addRemoteTextTrack(track).track;\n\n if (!track.src && track.cues) {\n track.cues.forEach(function (cue) {\n return addedTrack.addCue(cue);\n });\n }\n });\n\n return tech.textTracks();\n};\n\nvar textTrackConverter = { textTracksToJson: textTracksToJson, jsonToTextTracks: jsonToTextTracks, trackToJson_: trackToJson_ };\n\n/**\n * @file modal-dialog.js\n */\nvar MODAL_CLASS_NAME = 'vjs-modal-dialog';\nvar ESC = 27;\n\n/**\n * The `ModalDialog` displays over the video and its controls, which blocks\n * interaction with the player until it is closed.\n *\n * Modal dialogs include a \"Close\" button and will close when that button\n * is activated - or when ESC is pressed anywhere.\n *\n * @extends Component\n */\n\nvar ModalDialog = function (_Component) {\n inherits(ModalDialog, _Component);\n\n /**\n * Create an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Mixed} [options.content=undefined]\n * Provide customized content for this modal.\n *\n * @param {string} [options.description]\n * A text description for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.fillAlways=false]\n * Normally, modals are automatically filled only the first time\n * they open. This tells the modal to refresh its content\n * every time it opens.\n *\n * @param {string} [options.label]\n * A text label for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.temporary=true]\n * If `true`, the modal can only be opened once; it will be\n * disposed as soon as it's closed.\n *\n * @param {boolean} [options.uncloseable=false]\n * If `true`, the user will not be able to close the modal\n * through the UI in the normal ways. Programmatic closing is\n * still possible.\n */\n function ModalDialog(player, options) {\n classCallCheck(this, ModalDialog);\n\n var _this = possibleConstructorReturn(this, _Component.call(this, player, options));\n\n _this.opened_ = _this.hasBeenOpened_ = _this.hasBeenFilled_ = false;\n\n _this.closeable(!_this.options_.uncloseable);\n _this.content(_this.options_.content);\n\n // Make sure the contentEl is defined AFTER any children are initialized\n // because we only want the contents of the modal in the contentEl\n // (not the UI elements like the close button).\n _this.contentEl_ = createEl('div', {\n className: MODAL_CLASS_NAME + '-content'\n }, {\n role: 'document'\n });\n\n _this.descEl_ = createEl('p', {\n className: MODAL_CLASS_NAME + '-description vjs-control-text',\n id: _this.el().getAttribute('aria-describedby')\n });\n\n textContent(_this.descEl_, _this.description());\n _this.el_.appendChild(_this.descEl_);\n _this.el_.appendChild(_this.contentEl_);\n return _this;\n }\n\n /**\n * Create the `ModalDialog`'s DOM element\n *\n * @return {Element}\n * The DOM element that gets created.\n */\n\n\n ModalDialog.prototype.createEl = function createEl$$1() {\n return _Component.prototype.createEl.call(this, 'div', {\n className: this.buildCSSClass(),\n tabIndex: -1\n }, {\n 'aria-describedby': this.id() + '_description',\n 'aria-hidden': 'true',\n 'aria-label': this.label(),\n 'role': 'dialog'\n });\n };\n\n ModalDialog.prototype.dispose = function dispose() {\n this.contentEl_ = null;\n this.descEl_ = null;\n this.previouslyActiveEl_ = null;\n\n _Component.prototype.dispose.call(this);\n };\n\n /**\n * Builds the default DOM `className`.\n *\n * @return {string}\n * The DOM `className` for this object.\n */\n\n\n ModalDialog.prototype.buildCSSClass = function buildCSSClass() {\n return MODAL_CLASS_NAME + ' vjs-hidden ' + _Component.prototype.buildCSSClass.call(this);\n };\n\n /**\n * Handles `keydown` events on the document, looking for ESC, which closes\n * the modal.\n *\n * @param {EventTarget~Event} e\n * The keypress that triggered this event.\n *\n * @listens keydown\n */\n\n\n ModalDialog.prototype.handleKeyPress = function handleKeyPress(e) {\n if (e.which === ESC && this.closeable()) {\n this.close();\n }\n };\n\n /**\n * Returns the label string for this modal. Primarily used for accessibility.\n *\n * @return {string}\n * the localized or raw label of this modal.\n */\n\n\n ModalDialog.prototype.label = function label() {\n return this.localize(this.options_.label || 'Modal Window');\n };\n\n /**\n * Returns the description string for this modal. Primarily used for\n * accessibility.\n *\n * @return {string}\n * The localized or raw description of this modal.\n */\n\n\n ModalDialog.prototype.description = function description() {\n var desc = this.options_.description || this.localize('This is a modal window.');\n\n // Append a universal closeability message if the modal is closeable.\n if (this.closeable()) {\n desc += ' ' + this.localize('This modal can be closed by pressing the Escape key or activating the close button.');\n }\n\n return desc;\n };\n\n /**\n * Opens the modal.\n *\n * @fires ModalDialog#beforemodalopen\n * @fires ModalDialog#modalopen\n */\n\n\n ModalDialog.prototype.open = function open() {\n if (!this.opened_) {\n var player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is opened.\n *\n * @event ModalDialog#beforemodalopen\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalopen');\n this.opened_ = true;\n\n // Fill content if the modal has never opened before and\n // never been filled.\n if (this.options_.fillAlways || !this.hasBeenOpened_ && !this.hasBeenFilled_) {\n this.fill();\n }\n\n // If the player was playing, pause it and take note of its previously\n // playing state.\n this.wasPlaying_ = !player.paused();\n\n if (this.options_.pauseOnOpen && this.wasPlaying_) {\n player.pause();\n }\n\n if (this.closeable()) {\n this.on(this.el_.ownerDocument, 'keydown', bind(this, this.handleKeyPress));\n }\n\n // Hide controls and note if they were enabled.\n this.hadControls_ = player.controls();\n player.controls(false);\n\n this.show();\n this.conditionalFocus_();\n this.el().setAttribute('aria-hidden', 'false');\n\n /**\n * Fired just after a `ModalDialog` is opened.\n *\n * @event ModalDialog#modalopen\n * @type {EventTarget~Event}\n */\n this.trigger('modalopen');\n this.hasBeenOpened_ = true;\n }\n };\n\n /**\n * If the `ModalDialog` is currently open or closed.\n *\n * @param {boolean} [value]\n * If given, it will open (`true`) or close (`false`) the modal.\n *\n * @return {boolean}\n * the current open state of the modaldialog\n */\n\n\n ModalDialog.prototype.opened = function opened(value) {\n if (typeof value === 'boolean') {\n this[value ? 'open' : 'close']();\n }\n return this.opened_;\n };\n\n /**\n * Closes the modal, does nothing if the `ModalDialog` is\n * not open.\n *\n * @fires ModalDialog#beforemodalclose\n * @fires ModalDialog#modalclose\n */\n\n\n ModalDialog.prototype.close = function close() {\n if (!this.opened_) {\n return;\n }\n var player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is closed.\n *\n * @event ModalDialog#beforemodalclose\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalclose');\n this.opened_ = false;\n\n if (this.wasPlaying_ && this.options_.pauseOnOpen) {\n player.play();\n }\n\n if (this.closeable()) {\n this.off(this.el_.ownerDocument, 'keydown', bind(this, this.handleKeyPress));\n }\n\n if (this.hadControls_) {\n player.controls(true);\n }\n\n this.hide();\n this.el().setAttribute('aria-hidden', 'true');\n\n /**\n * Fired just after a `ModalDialog` is closed.\n *\n * @event ModalDialog#modalclose\n * @type {EventTarget~Event}\n */\n this.trigger('modalclose');\n this.conditionalBlur_();\n\n if (this.options_.temporary) {\n this.dispose();\n }\n };\n\n /**\n * Check to see if the `ModalDialog` is closeable via the UI.\n *\n * @param {boolean} [value]\n * If given as a boolean, it will set the `closeable` option.\n *\n * @return {boolean}\n * Returns the final value of the closable option.\n */\n\n\n ModalDialog.prototype.closeable = function closeable(value) {\n if (typeof value === 'boolean') {\n var closeable = this.closeable_ = !!value;\n var close = this.getChild('closeButton');\n\n // If this is being made closeable and has no close button, add one.\n if (closeable && !close) {\n\n // The close button should be a child of the modal - not its\n // content element, so temporarily change the content element.\n var temp = this.contentEl_;\n\n this.contentEl_ = this.el_;\n close = this.addChild('closeButton', { controlText: 'Close Modal Dialog' });\n this.contentEl_ = temp;\n this.on(close, 'close', this.close);\n }\n\n // If this is being made uncloseable and has a close button, remove it.\n if (!closeable && close) {\n this.off(close, 'close', this.close);\n this.removeChild(close);\n close.dispose();\n }\n }\n return this.closeable_;\n };\n\n /**\n * Fill the modal's content element with the modal's \"content\" option.\n * The content element will be emptied before this change takes place.\n */\n\n\n ModalDialog.prototype.fill = function fill() {\n this.fillWith(this.content());\n };\n\n /**\n * Fill the modal's content element with arbitrary content.\n * The content element will be emptied before this change takes place.\n *\n * @fires ModalDialog#beforemodalfill\n * @fires ModalDialog#modalfill\n *\n * @param {Mixed} [content]\n * The same rules apply to this as apply to the `content` option.\n */\n\n\n ModalDialog.prototype.fillWith = function fillWith(content) {\n var contentEl = this.contentEl();\n var parentEl = contentEl.parentNode;\n var nextSiblingEl = contentEl.nextSibling;\n\n /**\n * Fired just before a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#beforemodalfill\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalfill');\n this.hasBeenFilled_ = true;\n\n // Detach the content element from the DOM before performing\n // manipulation to avoid modifying the live DOM multiple times.\n parentEl.removeChild(contentEl);\n this.empty();\n insertContent(contentEl, content);\n /**\n * Fired just after a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#modalfill\n * @type {EventTarget~Event}\n */\n this.trigger('modalfill');\n\n // Re-inject the re-filled content element.\n if (nextSiblingEl) {\n parentEl.insertBefore(contentEl, nextSiblingEl);\n } else {\n parentEl.appendChild(contentEl);\n }\n\n // make sure that the close button is last in the dialog DOM\n var closeButton = this.getChild('closeButton');\n\n if (closeButton) {\n parentEl.appendChild(closeButton.el_);\n }\n };\n\n /**\n * Empties the content element. This happens anytime the modal is filled.\n *\n * @fires ModalDialog#beforemodalempty\n * @fires ModalDialog#modalempty\n */\n\n\n ModalDialog.prototype.empty = function empty() {\n /**\n * Fired just before a `ModalDialog` is emptied.\n *\n * @event ModalDialog#beforemodalempty\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalempty');\n emptyEl(this.contentEl());\n\n /**\n * Fired just after a `ModalDialog` is emptied.\n *\n * @event ModalDialog#modalempty\n * @type {EventTarget~Event}\n */\n this.trigger('modalempty');\n };\n\n /**\n * Gets or sets the modal content, which gets normalized before being\n * rendered into the DOM.\n *\n * This does not update the DOM or fill the modal, but it is called during\n * that process.\n *\n * @param {Mixed} [value]\n * If defined, sets the internal content value to be used on the\n * next call(s) to `fill`. This value is normalized before being\n * inserted. To \"clear\" the internal content value, pass `null`.\n *\n * @return {Mixed}\n * The current content of the modal dialog\n */\n\n\n ModalDialog.prototype.content = function content(value) {\n if (typeof value !== 'undefined') {\n this.content_ = value;\n }\n return this.content_;\n };\n\n /**\n * conditionally focus the modal dialog if focus was previously on the player.\n *\n * @private\n */\n\n\n ModalDialog.prototype.conditionalFocus_ = function conditionalFocus_() {\n var activeEl = document.activeElement;\n var playerEl = this.player_.el_;\n\n this.previouslyActiveEl_ = null;\n\n if (playerEl.contains(activeEl) || playerEl === activeEl) {\n this.previouslyActiveEl_ = activeEl;\n\n this.focus();\n\n this.on(document, 'keydown', this.handleKeyDown);\n }\n };\n\n /**\n * conditionally blur the element and refocus the last focused element\n *\n * @private\n */\n\n\n ModalDialog.prototype.conditionalBlur_ = function conditionalBlur_() {\n if (this.previouslyActiveEl_) {\n this.previouslyActiveEl_.focus();\n this.previouslyActiveEl_ = null;\n }\n\n this.off(document, 'keydown', this.handleKeyDown);\n };\n\n /**\n * Keydown handler. Attached when modal is focused.\n *\n * @listens keydown\n */\n\n\n ModalDialog.prototype.handleKeyDown = function handleKeyDown(event) {\n // exit early if it isn't a tab key\n if (event.which !== 9) {\n return;\n }\n\n var focusableEls = this.focusableEls_();\n var activeEl = this.el_.querySelector(':focus');\n var focusIndex = void 0;\n\n for (var i = 0; i < focusableEls.length; i++) {\n if (activeEl === focusableEls[i]) {\n focusIndex = i;\n break;\n }\n }\n\n if (document.activeElement === this.el_) {\n focusIndex = 0;\n }\n\n if (event.shiftKey && focusIndex === 0) {\n focusableEls[focusableEls.length - 1].focus();\n event.preventDefault();\n } else if (!event.shiftKey && focusIndex === focusableEls.length - 1) {\n focusableEls[0].focus();\n event.preventDefault();\n }\n };\n\n /**\n * get all focusable elements\n *\n * @private\n */\n\n\n ModalDialog.prototype.focusableEls_ = function focusableEls_() {\n var allChildren = this.el_.querySelectorAll('*');\n\n return Array.prototype.filter.call(allChildren, function (child) {\n return (child instanceof window.HTMLAnchorElement || child instanceof window.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window.HTMLInputElement || child instanceof window.HTMLSelectElement || child instanceof window.HTMLTextAreaElement || child instanceof window.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window.HTMLIFrameElement || child instanceof window.HTMLObjectElement || child instanceof window.HTMLEmbedElement || child.hasAttribute('tabindex') && child.getAttribute('tabindex') !== -1 || child.hasAttribute('contenteditable');\n });\n };\n\n return ModalDialog;\n}(Component);\n\n/**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\n\n\nModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n};\n\nComponent.registerComponent('ModalDialog', ModalDialog);\n\n/**\n * @file track-list.js\n */\n/**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\n\nvar TrackList = function (_EventTarget) {\n inherits(TrackList, _EventTarget);\n\n /**\n * Create an instance of this class\n *\n * @param {Track[]} tracks\n * A list of tracks to initialize the list with.\n *\n * @param {Object} [list]\n * The child object with inheritance done manually for ie8.\n *\n * @abstract\n */\n function TrackList() {\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var _ret;\n\n var list = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n classCallCheck(this, TrackList);\n\n var _this = possibleConstructorReturn(this, _EventTarget.call(this));\n\n if (!list) {\n list = _this; // eslint-disable-line\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n }\n }\n\n list.tracks_ = [];\n\n /**\n * @memberof TrackList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(list, 'length', {\n get: function get$$1() {\n return this.tracks_.length;\n }\n });\n\n for (var i = 0; i < tracks.length; i++) {\n list.addTrack(tracks[i]);\n }\n\n // must return the object, as for ie8 it will not be this\n // but a reference to a document object\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\n\n /**\n * Add a {@link Track} to the `TrackList`\n *\n * @param {Track} track\n * The audio, video, or text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n\n\n TrackList.prototype.addTrack = function addTrack(track) {\n var index = this.tracks_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get$$1() {\n return this.tracks_[index];\n }\n });\n }\n\n // Do not add duplicate tracks\n if (this.tracks_.indexOf(track) === -1) {\n this.tracks_.push(track);\n /**\n * Triggered when a track is added to a track list.\n *\n * @event TrackList#addtrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n this.trigger({\n track: track,\n type: 'addtrack'\n });\n }\n };\n\n /**\n * Remove a {@link Track} from the `TrackList`\n *\n * @param {Track} rtrack\n * The audio, video, or text track to remove from the list.\n *\n * @fires TrackList#removetrack\n */\n\n\n TrackList.prototype.removeTrack = function removeTrack(rtrack) {\n var track = void 0;\n\n for (var i = 0, l = this.length; i < l; i++) {\n if (this[i] === rtrack) {\n track = this[i];\n if (track.off) {\n track.off();\n }\n\n this.tracks_.splice(i, 1);\n\n break;\n }\n }\n\n if (!track) {\n return;\n }\n\n /**\n * Triggered when a track is removed from track list.\n *\n * @event TrackList#removetrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was removed.\n */\n this.trigger({\n track: track,\n type: 'removetrack'\n });\n };\n\n /**\n * Get a Track from the TrackList by a tracks id\n *\n * @param {String} id - the id of the track to get\n * @method getTrackById\n * @return {Track}\n * @private\n */\n\n\n TrackList.prototype.getTrackById = function getTrackById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var track = this[i];\n\n if (track.id === id) {\n result = track;\n break;\n }\n }\n\n return result;\n };\n\n return TrackList;\n}(EventTarget);\n\n/**\n * Triggered when a different track is selected/enabled.\n *\n * @event TrackList#change\n * @type {EventTarget~Event}\n */\n\n/**\n * Events that can be called with on + eventName. See {@link EventHandler}.\n *\n * @property {Object} TrackList#allowedEvents_\n * @private\n */\n\n\nTrackList.prototype.allowedEvents_ = {\n change: 'change',\n addtrack: 'addtrack',\n removetrack: 'removetrack'\n};\n\n// emulate attribute EventHandler support to allow for feature detection\nfor (var event in TrackList.prototype.allowedEvents_) {\n TrackList.prototype['on' + event] = null;\n}\n\n/**\n * @file audio-track-list.js\n */\n/**\n * Anywhere we call this function we diverge from the spec\n * as we only support one enabled audiotrack at a time\n *\n * @param {AudioTrackList} list\n * list to work on\n *\n * @param {AudioTrack} track\n * The track to skip\n *\n * @private\n */\nvar disableOthers = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another audio track is enabled, disable it\n list[i].enabled = false;\n }\n};\n\n/**\n * The current list of {@link AudioTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist}\n * @extends TrackList\n */\n\nvar AudioTrackList = function (_TrackList) {\n inherits(AudioTrackList, _TrackList);\n\n /**\n * Create an instance of this class.\n *\n * @param {AudioTrack[]} [tracks=[]]\n * A list of `AudioTrack` to instantiate the list with.\n */\n function AudioTrackList() {\n var _this, _ret;\n\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, AudioTrackList);\n\n var list = void 0;\n\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].enabled) {\n disableOthers(tracks, tracks[i]);\n break;\n }\n }\n\n // IE8 forces us to implement inheritance ourselves\n // as it does not support Object.defineProperty properly\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n for (var _prop in AudioTrackList.prototype) {\n if (_prop !== 'constructor') {\n list[_prop] = AudioTrackList.prototype[_prop];\n }\n }\n }\n\n list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);\n list.changing_ = false;\n\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\n\n /**\n * Add an {@link AudioTrack} to the `AudioTrackList`.\n *\n * @param {AudioTrack} track\n * The AudioTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n AudioTrackList.prototype.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.enabled) {\n disableOthers(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n\n /**\n * @listens AudioTrack#enabledchange\n * @fires TrackList#change\n */\n track.addEventListener('enabledchange', function () {\n // when we are disabling other tracks (since we don't support\n // more than one track at a time) we will set changing_\n // to true so that we don't trigger additional change events\n if (_this2.changing_) {\n return;\n }\n _this2.changing_ = true;\n disableOthers(_this2, track);\n _this2.changing_ = false;\n _this2.trigger('change');\n });\n };\n\n return AudioTrackList;\n}(TrackList);\n\n/**\n * @file video-track-list.js\n */\n/**\n * Un-select all other {@link VideoTrack}s that are selected.\n *\n * @param {VideoTrackList} list\n * list to work on\n *\n * @param {VideoTrack} track\n * The track to skip\n *\n * @private\n */\nvar disableOthers$1 = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another video track is enabled, disable it\n list[i].selected = false;\n }\n};\n\n/**\n * The current list of {@link VideoTrack} for a video.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist}\n * @extends TrackList\n */\n\nvar VideoTrackList = function (_TrackList) {\n inherits(VideoTrackList, _TrackList);\n\n /**\n * Create an instance of this class.\n *\n * @param {VideoTrack[]} [tracks=[]]\n * A list of `VideoTrack` to instantiate the list with.\n */\n function VideoTrackList() {\n var _this, _ret;\n\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, VideoTrackList);\n\n var list = void 0;\n\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].selected) {\n disableOthers$1(tracks, tracks[i]);\n break;\n }\n }\n\n // IE8 forces us to implement inheritance ourselves\n // as it does not support Object.defineProperty properly\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n for (var _prop in VideoTrackList.prototype) {\n if (_prop !== 'constructor') {\n list[_prop] = VideoTrackList.prototype[_prop];\n }\n }\n }\n\n list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);\n list.changing_ = false;\n\n /**\n * @member {number} VideoTrackList#selectedIndex\n * The current index of the selected {@link VideoTrack`}.\n */\n Object.defineProperty(list, 'selectedIndex', {\n get: function get$$1() {\n for (var _i = 0; _i < this.length; _i++) {\n if (this[_i].selected) {\n return _i;\n }\n }\n return -1;\n },\n set: function set$$1() {}\n });\n\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\n\n /**\n * Add a {@link VideoTrack} to the `VideoTrackList`.\n *\n * @param {VideoTrack} track\n * The VideoTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n VideoTrackList.prototype.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.selected) {\n disableOthers$1(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n\n /**\n * @listens VideoTrack#selectedchange\n * @fires TrackList#change\n */\n track.addEventListener('selectedchange', function () {\n if (_this2.changing_) {\n return;\n }\n _this2.changing_ = true;\n disableOthers$1(_this2, track);\n _this2.changing_ = false;\n _this2.trigger('change');\n });\n };\n\n return VideoTrackList;\n}(TrackList);\n\n/**\n * @file text-track-list.js\n */\n/**\n * The current list of {@link TextTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist}\n * @extends TrackList\n */\n\nvar TextTrackList = function (_TrackList) {\n inherits(TextTrackList, _TrackList);\n\n /**\n * Create an instance of this class.\n *\n * @param {TextTrack[]} [tracks=[]]\n * A list of `TextTrack` to instantiate the list with.\n */\n function TextTrackList() {\n var _this, _ret;\n\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, TextTrackList);\n\n var list = void 0;\n\n // IE8 forces us to implement inheritance ourselves\n // as it does not support Object.defineProperty properly\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n for (var _prop in TextTrackList.prototype) {\n if (_prop !== 'constructor') {\n list[_prop] = TextTrackList.prototype[_prop];\n }\n }\n }\n\n list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\n\n /**\n * Add a {@link TextTrack} to the `TextTrackList`\n *\n * @param {TextTrack} track\n * The text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n\n\n TextTrackList.prototype.addTrack = function addTrack(track) {\n _TrackList.prototype.addTrack.call(this, track);\n\n /**\n * @listens TextTrack#modechange\n * @fires TrackList#change\n */\n track.addEventListener('modechange', bind(this, function () {\n this.trigger('change');\n }));\n\n var nonLanguageTextTrackKind = ['metadata', 'chapters'];\n\n if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {\n track.addEventListener('modechange', bind(this, function () {\n this.trigger('selectedlanguagechange');\n }));\n }\n };\n\n return TextTrackList;\n}(TrackList);\n\n/**\n * @file html-track-element-list.js\n */\n\n/**\n * The current list of {@link HtmlTrackElement}s.\n */\n\nvar HtmlTrackElementList = function () {\n\n /**\n * Create an instance of this class.\n *\n * @param {HtmlTrackElement[]} [tracks=[]]\n * A list of `HtmlTrackElement` to instantiate the list with.\n */\n function HtmlTrackElementList() {\n var trackElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, HtmlTrackElementList);\n\n var list = this; // eslint-disable-line\n\n if (IS_IE8) {\n list = document.createElement('custom');\n\n for (var prop in HtmlTrackElementList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = HtmlTrackElementList.prototype[prop];\n }\n }\n }\n\n list.trackElements_ = [];\n\n /**\n * @memberof HtmlTrackElementList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(list, 'length', {\n get: function get$$1() {\n return this.trackElements_.length;\n }\n });\n\n for (var i = 0, length = trackElements.length; i < length; i++) {\n list.addTrackElement_(trackElements[i]);\n }\n\n if (IS_IE8) {\n return list;\n }\n }\n\n /**\n * Add an {@link HtmlTrackElement} to the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to add to the list.\n *\n * @private\n */\n\n\n HtmlTrackElementList.prototype.addTrackElement_ = function addTrackElement_(trackElement) {\n var index = this.trackElements_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get$$1() {\n return this.trackElements_[index];\n }\n });\n }\n\n // Do not add duplicate elements\n if (this.trackElements_.indexOf(trackElement) === -1) {\n this.trackElements_.push(trackElement);\n }\n };\n\n /**\n * Get an {@link HtmlTrackElement} from the `HtmlTrackElementList` given an\n * {@link TextTrack}.\n *\n * @param {TextTrack} track\n * The track associated with a track element.\n *\n * @return {HtmlTrackElement|undefined}\n * The track element that was found or undefined.\n *\n * @private\n */\n\n\n HtmlTrackElementList.prototype.getTrackElementByTrack_ = function getTrackElementByTrack_(track) {\n var trackElement_ = void 0;\n\n for (var i = 0, length = this.trackElements_.length; i < length; i++) {\n if (track === this.trackElements_[i].track) {\n trackElement_ = this.trackElements_[i];\n\n break;\n }\n }\n\n return trackElement_;\n };\n\n /**\n * Remove a {@link HtmlTrackElement} from the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to remove from the list.\n *\n * @private\n */\n\n\n HtmlTrackElementList.prototype.removeTrackElement_ = function removeTrackElement_(trackElement) {\n for (var i = 0, length = this.trackElements_.length; i < length; i++) {\n if (trackElement === this.trackElements_[i]) {\n this.trackElements_.splice(i, 1);\n\n break;\n }\n }\n };\n\n return HtmlTrackElementList;\n}();\n\n/**\n * @file text-track-cue-list.js\n */\n/**\n * @typedef {Object} TextTrackCueList~TextTrackCue\n *\n * @property {string} id\n * The unique id for this text track cue\n *\n * @property {number} startTime\n * The start time for this text track cue\n *\n * @property {number} endTime\n * The end time for this text track cue\n *\n * @property {boolean} pauseOnExit\n * Pause when the end time is reached if true.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcue}\n */\n\n/**\n * A List of TextTrackCues.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcuelist}\n */\n\nvar TextTrackCueList = function () {\n\n /**\n * Create an instance of this class..\n *\n * @param {Array} cues\n * A list of cues to be initialized with\n */\n function TextTrackCueList(cues) {\n classCallCheck(this, TextTrackCueList);\n\n var list = this; // eslint-disable-line\n\n if (IS_IE8) {\n list = document.createElement('custom');\n\n for (var prop in TextTrackCueList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TextTrackCueList.prototype[prop];\n }\n }\n }\n\n TextTrackCueList.prototype.setCues_.call(list, cues);\n\n /**\n * @memberof TextTrackCueList\n * @member {number} length\n * The current number of `TextTrackCue`s in the TextTrackCueList.\n * @instance\n */\n Object.defineProperty(list, 'length', {\n get: function get$$1() {\n return this.length_;\n }\n });\n\n if (IS_IE8) {\n return list;\n }\n }\n\n /**\n * A setter for cues in this list. Creates getters\n * an an index for the cues.\n *\n * @param {Array} cues\n * An array of cues to set\n *\n * @private\n */\n\n\n TextTrackCueList.prototype.setCues_ = function setCues_(cues) {\n var oldLength = this.length || 0;\n var i = 0;\n var l = cues.length;\n\n this.cues_ = cues;\n this.length_ = cues.length;\n\n var defineProp = function defineProp(index) {\n if (!('' + index in this)) {\n Object.defineProperty(this, '' + index, {\n get: function get$$1() {\n return this.cues_[index];\n }\n });\n }\n };\n\n if (oldLength < l) {\n i = oldLength;\n\n for (; i < l; i++) {\n defineProp.call(this, i);\n }\n }\n };\n\n /**\n * Get a `TextTrackCue` that is currently in the `TextTrackCueList` by id.\n *\n * @param {string} id\n * The id of the cue that should be searched for.\n *\n * @return {TextTrackCueList~TextTrackCue|null}\n * A single cue or null if none was found.\n */\n\n\n TextTrackCueList.prototype.getCueById = function getCueById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var cue = this[i];\n\n if (cue.id === id) {\n result = cue;\n break;\n }\n }\n\n return result;\n };\n\n return TextTrackCueList;\n}();\n\n/**\n * @file track-kinds.js\n */\n\n/**\n * All possible `VideoTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-videotrack-kind\n * @typedef VideoTrack~Kind\n * @enum\n */\nvar VideoTrackKind = {\n alternative: 'alternative',\n captions: 'captions',\n main: 'main',\n sign: 'sign',\n subtitles: 'subtitles',\n commentary: 'commentary'\n};\n\n/**\n * All possible `AudioTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-audiotrack-kind\n * @typedef AudioTrack~Kind\n * @enum\n */\nvar AudioTrackKind = {\n 'alternative': 'alternative',\n 'descriptions': 'descriptions',\n 'main': 'main',\n 'main-desc': 'main-desc',\n 'translation': 'translation',\n 'commentary': 'commentary'\n};\n\n/**\n * All possible `TextTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-texttrack-kind\n * @typedef TextTrack~Kind\n * @enum\n */\nvar TextTrackKind = {\n subtitles: 'subtitles',\n captions: 'captions',\n descriptions: 'descriptions',\n chapters: 'chapters',\n metadata: 'metadata'\n};\n\n/**\n * All possible `TextTrackMode`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackmode\n * @typedef TextTrack~Mode\n * @enum\n */\nvar TextTrackMode = {\n disabled: 'disabled',\n hidden: 'hidden',\n showing: 'showing'\n};\n\n/**\n * @file track.js\n */\n/**\n * A Track class that contains all of the common functionality for {@link AudioTrack},\n * {@link VideoTrack}, and {@link TextTrack}.\n *\n * > Note: This class should not be used directly\n *\n * @see {@link https://html.spec.whatwg.org/multipage/embedded-content.html}\n * @extends EventTarget\n * @abstract\n */\n\nvar Track = function (_EventTarget) {\n inherits(Track, _EventTarget);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid kind for the track type you are creating.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @abstract\n */\n function Track() {\n var _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, Track);\n\n var _this = possibleConstructorReturn(this, _EventTarget.call(this));\n\n var track = _this; // eslint-disable-line\n\n if (IS_IE8) {\n track = document.createElement('custom');\n for (var prop in Track.prototype) {\n if (prop !== 'constructor') {\n track[prop] = Track.prototype[prop];\n }\n }\n }\n\n var trackProps = {\n id: options.id || 'vjs_track_' + newGUID(),\n kind: options.kind || '',\n label: options.label || '',\n language: options.language || ''\n };\n\n /**\n * @memberof Track\n * @member {string} id\n * The id of this track. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} kind\n * The kind of track that this is. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} label\n * The label of this track. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} language\n * The two letter language code for this track. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n\n var _loop = function _loop(key) {\n Object.defineProperty(track, key, {\n get: function get$$1() {\n return trackProps[key];\n },\n set: function set$$1() {}\n });\n };\n\n for (var key in trackProps) {\n _loop(key);\n }\n\n return _ret = track, possibleConstructorReturn(_this, _ret);\n }\n\n return Track;\n}(EventTarget);\n\n/**\n * @file url.js\n * @module url\n */\n/**\n * @typedef {Object} url:URLObject\n *\n * @property {string} protocol\n * The protocol of the url that was parsed.\n *\n * @property {string} hostname\n * The hostname of the url that was parsed.\n *\n * @property {string} port\n * The port of the url that was parsed.\n *\n * @property {string} pathname\n * The pathname of the url that was parsed.\n *\n * @property {string} search\n * The search query of the url that was parsed.\n *\n * @property {string} hash\n * The hash of the url that was parsed.\n *\n * @property {string} host\n * The host of the url that was parsed.\n */\n\n/**\n * Resolve and parse the elements of a URL.\n *\n * @param {String} url\n * The url to parse\n *\n * @return {url:URLObject}\n * An object of url details\n */\nvar parseUrl = function parseUrl(url) {\n var props = ['protocol', 'hostname', 'port', 'pathname', 'search', 'hash', 'host'];\n\n // add the url to an anchor and let the browser parse the URL\n var a = document.createElement('a');\n\n a.href = url;\n\n // IE8 (and 9?) Fix\n // ie8 doesn't parse the URL correctly until the anchor is actually\n // added to the body, and an innerHTML is needed to trigger the parsing\n var addToBody = a.host === '' && a.protocol !== 'file:';\n var div = void 0;\n\n if (addToBody) {\n div = document.createElement('div');\n div.innerHTML = '';\n a = div.firstChild;\n // prevent the div from affecting layout\n div.setAttribute('style', 'display:none; position:absolute;');\n document.body.appendChild(div);\n }\n\n // Copy the specific URL properties to a new object\n // This is also needed for IE8 because the anchor loses its\n // properties when it's removed from the dom\n var details = {};\n\n for (var i = 0; i < props.length; i++) {\n details[props[i]] = a[props[i]];\n }\n\n // IE9 adds the port to the host property unlike everyone else. If\n // a port identifier is added for standard ports, strip it.\n if (details.protocol === 'http:') {\n details.host = details.host.replace(/:80$/, '');\n }\n\n if (details.protocol === 'https:') {\n details.host = details.host.replace(/:443$/, '');\n }\n\n if (!details.protocol) {\n details.protocol = window.location.protocol;\n }\n\n if (addToBody) {\n document.body.removeChild(div);\n }\n\n return details;\n};\n\n/**\n * Get absolute version of relative URL. Used to tell flash correct URL.\n *\n *\n * @param {string} url\n * URL to make absolute\n *\n * @return {string}\n * Absolute URL\n *\n * @see http://stackoverflow.com/questions/470832/getting-an-absolute-url-from-a-relative-one-ie6-issue\n */\nvar getAbsoluteURL = function getAbsoluteURL(url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n // Convert to absolute URL. Flash hosted off-site needs an absolute URL.\n var div = document.createElement('div');\n\n div.innerHTML = 'x';\n url = div.firstChild.href;\n }\n\n return url;\n};\n\n/**\n * Returns the extension of the passed file name. It will return an empty string\n * if passed an invalid path.\n *\n * @param {string} path\n * The fileName path like '/path/to/file.mp4'\n *\n * @returns {string}\n * The extension in lower case or an empty string if no\n * extension could be found.\n */\nvar getFileExtension = function getFileExtension(path) {\n if (typeof path === 'string') {\n var splitPathRe = /^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/i;\n var pathParts = splitPathRe.exec(path);\n\n if (pathParts) {\n return pathParts.pop().toLowerCase();\n }\n }\n\n return '';\n};\n\n/**\n * Returns whether the url passed is a cross domain request or not.\n *\n * @param {string} url\n * The url to check.\n *\n * @return {boolean}\n * Whether it is a cross domain request or not.\n */\nvar isCrossOrigin = function isCrossOrigin(url) {\n var winLoc = window.location;\n var urlInfo = parseUrl(url);\n\n // IE8 protocol relative urls will return ':' for protocol\n var srcProtocol = urlInfo.protocol === ':' ? winLoc.protocol : urlInfo.protocol;\n\n // Check if url is for another domain/origin\n // IE8 doesn't know location.origin, so we won't rely on it here\n var crossOrigin = srcProtocol + urlInfo.host !== winLoc.protocol + winLoc.host;\n\n return crossOrigin;\n};\n\nvar Url = (Object.freeze || Object)({\n\tparseUrl: parseUrl,\n\tgetAbsoluteURL: getAbsoluteURL,\n\tgetFileExtension: getFileExtension,\n\tisCrossOrigin: isCrossOrigin\n});\n\n/**\n * @file text-track.js\n */\n/**\n * Takes a webvtt file contents and parses it into cues\n *\n * @param {string} srcContent\n * webVTT file contents\n *\n * @param {TextTrack} track\n * TextTrack to add cues to. Cues come from the srcContent.\n *\n * @private\n */\nvar parseCues = function parseCues(srcContent, track) {\n var parser = new window.WebVTT.Parser(window, window.vttjs, window.WebVTT.StringDecoder());\n var errors = [];\n\n parser.oncue = function (cue) {\n track.addCue(cue);\n };\n\n parser.onparsingerror = function (error) {\n errors.push(error);\n };\n\n parser.onflush = function () {\n track.trigger({\n type: 'loadeddata',\n target: track\n });\n };\n\n parser.parse(srcContent);\n if (errors.length > 0) {\n if (window.console && window.console.groupCollapsed) {\n window.console.groupCollapsed('Text Track parsing errors for ' + track.src);\n }\n errors.forEach(function (error) {\n return log.error(error);\n });\n if (window.console && window.console.groupEnd) {\n window.console.groupEnd();\n }\n }\n\n parser.flush();\n};\n\n/**\n * Load a `TextTrack` from a specifed url.\n *\n * @param {string} src\n * Url to load track from.\n *\n * @param {TextTrack} track\n * Track to add cues to. Comes from the content at the end of `url`.\n *\n * @private\n */\nvar loadTrack = function loadTrack(src, track) {\n var opts = {\n uri: src\n };\n var crossOrigin = isCrossOrigin(src);\n\n if (crossOrigin) {\n opts.cors = crossOrigin;\n }\n\n xhr(opts, bind(this, function (err, response, responseBody) {\n if (err) {\n return log.error(err, response);\n }\n\n track.loaded_ = true;\n\n // Make sure that vttjs has loaded, otherwise, wait till it finished loading\n // NOTE: this is only used for the alt/video.novtt.js build\n if (typeof window.WebVTT !== 'function') {\n if (track.tech_) {\n var loadHandler = function loadHandler() {\n return parseCues(responseBody, track);\n };\n\n track.tech_.on('vttjsloaded', loadHandler);\n track.tech_.on('vttjserror', function () {\n log.error('vttjs failed to load, stopping trying to process ' + track.src);\n track.tech_.off('vttjsloaded', loadHandler);\n });\n }\n } else {\n parseCues(responseBody, track);\n }\n }));\n};\n\n/**\n * A representation of a single `TextTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrack}\n * @extends Track\n */\n\nvar TextTrack = function (_Track) {\n inherits(TextTrack, _Track);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this TextTrack.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * vesion of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n function TextTrack() {\n var _this, _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, TextTrack);\n\n if (!options.tech) {\n throw new Error('A tech was not provided.');\n }\n\n var settings = mergeOptions(options, {\n kind: TextTrackKind[options.kind] || 'subtitles',\n language: options.language || options.srclang || ''\n });\n var mode = TextTrackMode[settings.mode] || 'disabled';\n var default_ = settings['default'];\n\n if (settings.kind === 'metadata' || settings.kind === 'chapters') {\n mode = 'hidden';\n }\n // on IE8 this will be a document element\n // for every other browser this will be a normal object\n var tt = (_this = possibleConstructorReturn(this, _Track.call(this, settings)), _this);\n\n tt.tech_ = settings.tech;\n\n if (IS_IE8) {\n for (var prop in TextTrack.prototype) {\n if (prop !== 'constructor') {\n tt[prop] = TextTrack.prototype[prop];\n }\n }\n }\n\n tt.cues_ = [];\n tt.activeCues_ = [];\n\n var cues = new TextTrackCueList(tt.cues_);\n var activeCues = new TextTrackCueList(tt.activeCues_);\n var changed = false;\n var timeupdateHandler = bind(tt, function () {\n\n // Accessing this.activeCues for the side-effects of updating itself\n // due to it's nature as a getter function. Do not remove or cues will\n // stop updating!\n // Use the setter to prevent deletion from uglify (pure_getters rule)\n this.activeCues = this.activeCues;\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n });\n\n if (mode !== 'disabled') {\n tt.tech_.ready(function () {\n tt.tech_.on('timeupdate', timeupdateHandler);\n }, true);\n }\n\n /**\n * @memberof TextTrack\n * @member {boolean} default\n * If this track was set to be on or off by default. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n Object.defineProperty(tt, 'default', {\n get: function get$$1() {\n return default_;\n },\n set: function set$$1() {}\n });\n\n /**\n * @memberof TextTrack\n * @member {string} mode\n * Set the mode of this TextTrack to a valid {@link TextTrack~Mode}. Will\n * not be set if setting to an invalid mode.\n * @instance\n *\n * @fires TextTrack#modechange\n */\n Object.defineProperty(tt, 'mode', {\n get: function get$$1() {\n return mode;\n },\n set: function set$$1(newMode) {\n var _this2 = this;\n\n if (!TextTrackMode[newMode]) {\n return;\n }\n mode = newMode;\n if (mode !== 'disabled') {\n\n this.tech_.ready(function () {\n _this2.tech_.on('timeupdate', timeupdateHandler);\n }, true);\n } else {\n this.tech_.off('timeupdate', timeupdateHandler);\n }\n /**\n * An event that fires when mode changes on this track. This allows\n * the TextTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec!\n *\n * @event TextTrack#modechange\n * @type {EventTarget~Event}\n */\n this.trigger('modechange');\n }\n });\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} cues\n * The text track cue list for this TextTrack.\n * @instance\n */\n Object.defineProperty(tt, 'cues', {\n get: function get$$1() {\n if (!this.loaded_) {\n return null;\n }\n\n return cues;\n },\n set: function set$$1() {}\n });\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} activeCues\n * The list text track cues that are currently active for this TextTrack.\n * @instance\n */\n Object.defineProperty(tt, 'activeCues', {\n get: function get$$1() {\n if (!this.loaded_) {\n return null;\n }\n\n // nothing to do\n if (this.cues.length === 0) {\n return activeCues;\n }\n\n var ct = this.tech_.currentTime();\n var active = [];\n\n for (var i = 0, l = this.cues.length; i < l; i++) {\n var cue = this.cues[i];\n\n if (cue.startTime <= ct && cue.endTime >= ct) {\n active.push(cue);\n } else if (cue.startTime === cue.endTime && cue.startTime <= ct && cue.startTime + 0.5 >= ct) {\n active.push(cue);\n }\n }\n\n changed = false;\n\n if (active.length !== this.activeCues_.length) {\n changed = true;\n } else {\n for (var _i = 0; _i < active.length; _i++) {\n if (this.activeCues_.indexOf(active[_i]) === -1) {\n changed = true;\n }\n }\n }\n\n this.activeCues_ = active;\n activeCues.setCues_(this.activeCues_);\n\n return activeCues;\n },\n\n\n // /!\\ Keep this setter empty (see the timeupdate handler above)\n set: function set$$1() {}\n });\n\n if (settings.src) {\n tt.src = settings.src;\n loadTrack(settings.src, tt);\n } else {\n tt.loaded_ = true;\n }\n\n return _ret = tt, possibleConstructorReturn(_this, _ret);\n }\n\n /**\n * Add a cue to the internal list of cues.\n *\n * @param {TextTrack~Cue} cue\n * The cue to add to our internal list\n */\n\n\n TextTrack.prototype.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window.vttjs && !(originalCue instanceof window.vttjs.VTTCue)) {\n cue = new window.vttjs.VTTCue(originalCue.startTime, originalCue.endTime, originalCue.text);\n\n for (var prop in originalCue) {\n if (!(prop in cue)) {\n cue[prop] = originalCue[prop];\n }\n }\n\n // make sure that `id` is copied over\n cue.id = originalCue.id;\n cue.originalCue_ = originalCue;\n }\n\n var tracks = this.tech_.textTracks();\n\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i] !== this) {\n tracks[i].removeCue(cue);\n }\n }\n\n this.cues_.push(cue);\n this.cues.setCues_(this.cues_);\n };\n\n /**\n * Remove a cue from our internal list\n *\n * @param {TextTrack~Cue} removeCue\n * The cue to remove from our internal list\n */\n\n\n TextTrack.prototype.removeCue = function removeCue(_removeCue) {\n var i = this.cues_.length;\n\n while (i--) {\n var cue = this.cues_[i];\n\n if (cue === _removeCue || cue.originalCue_ && cue.originalCue_ === _removeCue) {\n this.cues_.splice(i, 1);\n this.cues.setCues_(this.cues_);\n break;\n }\n }\n };\n\n return TextTrack;\n}(Track);\n\n/**\n * cuechange - One or more cues in the track have become active or stopped being active.\n */\n\n\nTextTrack.prototype.allowedEvents_ = {\n cuechange: 'cuechange'\n};\n\n/**\n * A representation of a single `AudioTrack`. If it is part of an {@link AudioTrackList}\n * only one `AudioTrack` in the list will be enabled at a time.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotrack}\n * @extends Track\n */\n\nvar AudioTrack = function (_Track) {\n inherits(AudioTrack, _Track);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {AudioTrack~Kind} [options.kind='']\n * A valid audio track kind\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.enabled]\n * If this track is the one that is currently playing. If this track is part of\n * an {@link AudioTrackList}, only one {@link AudioTrack} will be enabled.\n */\n function AudioTrack() {\n var _this, _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, AudioTrack);\n\n var settings = mergeOptions(options, {\n kind: AudioTrackKind[options.kind] || ''\n });\n // on IE8 this will be a document element\n // for every other browser this will be a normal object\n var track = (_this = possibleConstructorReturn(this, _Track.call(this, settings)), _this);\n var enabled = false;\n\n if (IS_IE8) {\n for (var prop in AudioTrack.prototype) {\n if (prop !== 'constructor') {\n track[prop] = AudioTrack.prototype[prop];\n }\n }\n }\n /**\n * @memberof AudioTrack\n * @member {boolean} enabled\n * If this `AudioTrack` is enabled or not. When setting this will\n * fire {@link AudioTrack#enabledchange} if the state of enabled is changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(track, 'enabled', {\n get: function get$$1() {\n return enabled;\n },\n set: function set$$1(newEnabled) {\n // an invalid or unchanged value\n if (typeof newEnabled !== 'boolean' || newEnabled === enabled) {\n return;\n }\n enabled = newEnabled;\n\n /**\n * An event that fires when enabled changes on this track. This allows\n * the AudioTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event AudioTrack#enabledchange\n * @type {EventTarget~Event}\n */\n this.trigger('enabledchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.enabled) {\n track.enabled = settings.enabled;\n }\n track.loaded_ = true;\n\n return _ret = track, possibleConstructorReturn(_this, _ret);\n }\n\n return AudioTrack;\n}(Track);\n\n/**\n * A representation of a single `VideoTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotrack}\n * @extends Track\n */\n\nvar VideoTrack = function (_Track) {\n inherits(VideoTrack, _Track);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid {@link VideoTrack~Kind}\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.selected]\n * If this track is the one that is currently playing.\n */\n function VideoTrack() {\n var _this, _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, VideoTrack);\n\n var settings = mergeOptions(options, {\n kind: VideoTrackKind[options.kind] || ''\n });\n\n // on IE8 this will be a document element\n // for every other browser this will be a normal object\n var track = (_this = possibleConstructorReturn(this, _Track.call(this, settings)), _this);\n var selected = false;\n\n if (IS_IE8) {\n for (var prop in VideoTrack.prototype) {\n if (prop !== 'constructor') {\n track[prop] = VideoTrack.prototype[prop];\n }\n }\n }\n\n /**\n * @memberof VideoTrack\n * @member {boolean} selected\n * If this `VideoTrack` is selected or not. When setting this will\n * fire {@link VideoTrack#selectedchange} if the state of selected changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(track, 'selected', {\n get: function get$$1() {\n return selected;\n },\n set: function set$$1(newSelected) {\n // an invalid or unchanged value\n if (typeof newSelected !== 'boolean' || newSelected === selected) {\n return;\n }\n selected = newSelected;\n\n /**\n * An event that fires when selected changes on this track. This allows\n * the VideoTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event VideoTrack#selectedchange\n * @type {EventTarget~Event}\n */\n this.trigger('selectedchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.selected) {\n track.selected = settings.selected;\n }\n\n return _ret = track, possibleConstructorReturn(_this, _ret);\n }\n\n return VideoTrack;\n}(Track);\n\n/**\n * @file html-track-element.js\n */\n\n/**\n * @memberof HTMLTrackElement\n * @typedef {HTMLTrackElement~ReadyState}\n * @enum {number}\n */\nvar NONE = 0;\nvar LOADING = 1;\nvar LOADED = 2;\nvar ERROR = 3;\n\n/**\n * A single track represented in the DOM.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}\n * @extends EventTarget\n */\n\nvar HTMLTrackElement = function (_EventTarget) {\n inherits(HTMLTrackElement, _EventTarget);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this HTMLTrackElement.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * vesion of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n function HTMLTrackElement() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, HTMLTrackElement);\n\n var _this = possibleConstructorReturn(this, _EventTarget.call(this));\n\n var readyState = void 0;\n var trackElement = _this; // eslint-disable-line\n\n if (IS_IE8) {\n trackElement = document.createElement('custom');\n\n for (var prop in HTMLTrackElement.prototype) {\n if (prop !== 'constructor') {\n trackElement[prop] = HTMLTrackElement.prototype[prop];\n }\n }\n }\n\n var track = new TextTrack(options);\n\n trackElement.kind = track.kind;\n trackElement.src = track.src;\n trackElement.srclang = track.language;\n trackElement.label = track.label;\n trackElement['default'] = track['default'];\n\n /**\n * @memberof HTMLTrackElement\n * @member {HTMLTrackElement~ReadyState} readyState\n * The current ready state of the track element.\n * @instance\n */\n Object.defineProperty(trackElement, 'readyState', {\n get: function get$$1() {\n return readyState;\n }\n });\n\n /**\n * @memberof HTMLTrackElement\n * @member {TextTrack} track\n * The underlying TextTrack object.\n * @instance\n *\n */\n Object.defineProperty(trackElement, 'track', {\n get: function get$$1() {\n return track;\n }\n });\n\n readyState = NONE;\n\n /**\n * @listens TextTrack#loadeddata\n * @fires HTMLTrackElement#load\n */\n track.addEventListener('loadeddata', function () {\n readyState = LOADED;\n\n trackElement.trigger({\n type: 'load',\n target: trackElement\n });\n });\n\n if (IS_IE8) {\n var _ret;\n\n return _ret = trackElement, possibleConstructorReturn(_this, _ret);\n }\n return _this;\n }\n\n return HTMLTrackElement;\n}(EventTarget);\n\nHTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n};\n\nHTMLTrackElement.NONE = NONE;\nHTMLTrackElement.LOADING = LOADING;\nHTMLTrackElement.LOADED = LOADED;\nHTMLTrackElement.ERROR = ERROR;\n\n/*\n * This file contains all track properties that are used in\n * player.js, tech.js, html5.js and possibly other techs in the future.\n */\n\nvar NORMAL = {\n audio: {\n ListClass: AudioTrackList,\n TrackClass: AudioTrack,\n capitalName: 'Audio'\n },\n video: {\n ListClass: VideoTrackList,\n TrackClass: VideoTrack,\n capitalName: 'Video'\n },\n text: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'Text'\n }\n};\n\nObject.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = type + 'Tracks';\n NORMAL[type].privateName = type + 'Tracks_';\n});\n\nvar REMOTE = {\n remoteText: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'RemoteText',\n getterName: 'remoteTextTracks',\n privateName: 'remoteTextTracks_'\n },\n remoteTextEl: {\n ListClass: HtmlTrackElementList,\n TrackClass: HTMLTrackElement,\n capitalName: 'RemoteTextTrackEls',\n getterName: 'remoteTextTrackEls',\n privateName: 'remoteTextTrackEls_'\n }\n};\n\nvar ALL = mergeOptions(NORMAL, REMOTE);\n\nREMOTE.names = Object.keys(REMOTE);\nNORMAL.names = Object.keys(NORMAL);\nALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\n\n/**\n * @file tech.js\n */\n\n/**\n * An Object containing a structure like: `{src: 'url', type: 'mimetype'}` or string\n * that just contains the src url alone.\n * * `var SourceObject = {src: 'http://ex.com/video.mp4', type: 'video/mp4'};`\n * `var SourceString = 'http://example.com/some-video.mp4';`\n *\n * @typedef {Object|string} Tech~SourceObject\n *\n * @property {string} src\n * The url to the source\n *\n * @property {string} type\n * The mime type of the source\n */\n\n/**\n * A function used by {@link Tech} to create a new {@link TextTrack}.\n *\n * @private\n *\n * @param {Tech} self\n * An instance of the Tech class.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @param {Object} [options={}]\n * An object with additional text track options\n *\n * @return {TextTrack}\n * The text track that was created.\n */\nfunction createTrackHelper(self, kind, label, language) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n\n var tracks = self.textTracks();\n\n options.kind = kind;\n\n if (label) {\n options.label = label;\n }\n if (language) {\n options.language = language;\n }\n options.tech = self;\n\n var track = new ALL.text.TrackClass(options);\n\n tracks.addTrack(track);\n\n return track;\n}\n\n/**\n * This is the base class for media playback technology controllers, such as\n * {@link Flash} and {@link HTML5}\n *\n * @extends Component\n */\n\nvar Tech = function (_Component) {\n inherits(Tech, _Component);\n\n /**\n * Create an instance of this Tech.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Component~ReadyCallback} ready\n * Callback function to call when the `HTML5` Tech is ready.\n */\n function Tech() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var ready = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n classCallCheck(this, Tech);\n\n // we don't want the tech to report user activity automatically.\n // This is done manually in addControlsListeners\n options.reportTouchActivity = false;\n\n // keep track of whether the current source has played at all to\n // implement a very limited played()\n var _this = possibleConstructorReturn(this, _Component.call(this, null, options, ready));\n\n _this.hasStarted_ = false;\n _this.on('playing', function () {\n this.hasStarted_ = true;\n });\n _this.on('loadstart', function () {\n this.hasStarted_ = false;\n });\n\n ALL.names.forEach(function (name) {\n var props = ALL[name];\n\n if (options && options[props.getterName]) {\n _this[props.privateName] = options[props.getterName];\n }\n });\n\n // Manually track progress in cases where the browser/flash player doesn't report it.\n if (!_this.featuresProgressEvents) {\n _this.manualProgressOn();\n }\n\n // Manually track timeupdates in cases where the browser/flash player doesn't report it.\n if (!_this.featuresTimeupdateEvents) {\n _this.manualTimeUpdatesOn();\n }\n\n ['Text', 'Audio', 'Video'].forEach(function (track) {\n if (options['native' + track + 'Tracks'] === false) {\n _this['featuresNative' + track + 'Tracks'] = false;\n }\n });\n\n if (options.nativeCaptions === false || options.nativeTextTracks === false) {\n _this.featuresNativeTextTracks = false;\n } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {\n _this.featuresNativeTextTracks = true;\n }\n\n if (!_this.featuresNativeTextTracks) {\n _this.emulateTextTracks();\n }\n\n _this.autoRemoteTextTracks_ = new ALL.text.ListClass();\n\n _this.initTrackListeners();\n\n // Turn on component tap events only if not using native controls\n if (!options.nativeControlsForTouch) {\n _this.emitTapEvents();\n }\n\n if (_this.constructor) {\n _this.name_ = _this.constructor.name || 'Unknown Tech';\n }\n return _this;\n }\n\n /**\n * A special function to trigger source set in a way that will allow player\n * to re-trigger if the player or tech are not ready yet.\n *\n * @fires Tech#sourceset\n * @param {string} src The source string at the time of the source changing.\n */\n\n\n Tech.prototype.triggerSourceset = function triggerSourceset(src) {\n var _this2 = this;\n\n if (!this.isReady_) {\n // on initial ready we have to trigger source set\n // 1ms after ready so that player can watch for it.\n this.one('ready', function () {\n return _this2.setTimeout(function () {\n return _this2.triggerSourceset(src);\n }, 1);\n });\n }\n\n /**\n * Fired when the source is set on the tech causing the media element\n * to reload.\n *\n * @see {@link Player#event:sourceset}\n * @event Tech#sourceset\n * @type {EventTarget~Event}\n */\n this.trigger({\n src: src,\n type: 'sourceset'\n });\n };\n\n /* Fallbacks for unsupported event types\n ================================================================================ */\n\n /**\n * Polyfill the `progress` event for browsers that don't support it natively.\n *\n * @see {@link Tech#trackProgress}\n */\n\n\n Tech.prototype.manualProgressOn = function manualProgressOn() {\n this.on('durationchange', this.onDurationChange);\n\n this.manualProgress = true;\n\n // Trigger progress watching when a source begins loading\n this.one('ready', this.trackProgress);\n };\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n */\n\n\n Tech.prototype.manualProgressOff = function manualProgressOff() {\n this.manualProgress = false;\n this.stopTrackingProgress();\n\n this.off('durationchange', this.onDurationChange);\n };\n\n /**\n * This is used to trigger a `progress` event when the buffered percent changes. It\n * sets an interval function that will be called every 500 milliseconds to check if the\n * buffer end percent has changed.\n *\n * > This function is called by {@link Tech#manualProgressOn}\n *\n * @param {EventTarget~Event} event\n * The `ready` event that caused this to run.\n *\n * @listens Tech#ready\n * @fires Tech#progress\n */\n\n\n Tech.prototype.trackProgress = function trackProgress(event) {\n this.stopTrackingProgress();\n this.progressInterval = this.setInterval(bind(this, function () {\n // Don't trigger unless buffered amount is greater than last time\n\n var numBufferedPercent = this.bufferedPercent();\n\n if (this.bufferedPercent_ !== numBufferedPercent) {\n /**\n * See {@link Player#progress}\n *\n * @event Tech#progress\n * @type {EventTarget~Event}\n */\n this.trigger('progress');\n }\n\n this.bufferedPercent_ = numBufferedPercent;\n\n if (numBufferedPercent === 1) {\n this.stopTrackingProgress();\n }\n }), 500);\n };\n\n /**\n * Update our internal duration on a `durationchange` event by calling\n * {@link Tech#duration}.\n *\n * @param {EventTarget~Event} event\n * The `durationchange` event that caused this to run.\n *\n * @listens Tech#durationchange\n */\n\n\n Tech.prototype.onDurationChange = function onDurationChange(event) {\n this.duration_ = this.duration();\n };\n\n /**\n * Get and create a `TimeRange` object for buffering.\n *\n * @return {TimeRange}\n * The time range object that was created.\n */\n\n\n Tech.prototype.buffered = function buffered() {\n return createTimeRanges(0, 0);\n };\n\n /**\n * Get the percentage of the current video that is currently buffered.\n *\n * @return {number}\n * A number from 0 to 1 that represents the decimal percentage of the\n * video that is buffered.\n *\n */\n\n\n Tech.prototype.bufferedPercent = function bufferedPercent$$1() {\n return bufferedPercent(this.buffered(), this.duration_);\n };\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n * Stop manually tracking progress events by clearing the interval that was set in\n * {@link Tech#trackProgress}.\n */\n\n\n Tech.prototype.stopTrackingProgress = function stopTrackingProgress() {\n this.clearInterval(this.progressInterval);\n };\n\n /**\n * Polyfill the `timeupdate` event for browsers that don't support it.\n *\n * @see {@link Tech#trackCurrentTime}\n */\n\n\n Tech.prototype.manualTimeUpdatesOn = function manualTimeUpdatesOn() {\n this.manualTimeUpdates = true;\n\n this.on('play', this.trackCurrentTime);\n this.on('pause', this.stopTrackingCurrentTime);\n };\n\n /**\n * Turn off the polyfill for `timeupdate` events that was created in\n * {@link Tech#manualTimeUpdatesOn}\n */\n\n\n Tech.prototype.manualTimeUpdatesOff = function manualTimeUpdatesOff() {\n this.manualTimeUpdates = false;\n this.stopTrackingCurrentTime();\n this.off('play', this.trackCurrentTime);\n this.off('pause', this.stopTrackingCurrentTime);\n };\n\n /**\n * Sets up an interval function to track current time and trigger `timeupdate` every\n * 250 milliseconds.\n *\n * @listens Tech#play\n * @triggers Tech#timeupdate\n */\n\n\n Tech.prototype.trackCurrentTime = function trackCurrentTime() {\n if (this.currentTimeInterval) {\n this.stopTrackingCurrentTime();\n }\n this.currentTimeInterval = this.setInterval(function () {\n /**\n * Triggered at an interval of 250ms to indicated that time is passing in the video.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({ type: 'timeupdate', target: this, manuallyTriggered: true });\n\n // 42 = 24 fps // 250 is what Webkit uses // FF uses 15\n }, 250);\n };\n\n /**\n * Stop the interval function created in {@link Tech#trackCurrentTime} so that the\n * `timeupdate` event is no longer triggered.\n *\n * @listens {Tech#pause}\n */\n\n\n Tech.prototype.stopTrackingCurrentTime = function stopTrackingCurrentTime() {\n this.clearInterval(this.currentTimeInterval);\n\n // #1002 - if the video ends right before the next timeupdate would happen,\n // the progress bar won't make it all the way to the end\n this.trigger({ type: 'timeupdate', target: this, manuallyTriggered: true });\n };\n\n /**\n * Turn off all event polyfills, clear the `Tech`s {@link AudioTrackList},\n * {@link VideoTrackList}, and {@link TextTrackList}, and dispose of this Tech.\n *\n * @fires Component#dispose\n */\n\n\n Tech.prototype.dispose = function dispose() {\n\n // clear out all tracks because we can't reuse them between techs\n this.clearTracks(NORMAL.names);\n\n // Turn off any manual progress or timeupdate tracking\n if (this.manualProgress) {\n this.manualProgressOff();\n }\n\n if (this.manualTimeUpdates) {\n this.manualTimeUpdatesOff();\n }\n\n _Component.prototype.dispose.call(this);\n };\n\n /**\n * Clear out a single `TrackList` or an array of `TrackLists` given their names.\n *\n * > Note: Techs without source handlers should call this between sources for `video`\n * & `audio` tracks. You don't want to use them between tracks!\n *\n * @param {string[]|string} types\n * TrackList names to clear, valid names are `video`, `audio`, and\n * `text`.\n */\n\n\n Tech.prototype.clearTracks = function clearTracks(types) {\n var _this3 = this;\n\n types = [].concat(types);\n // clear out all tracks because we can't reuse them between techs\n types.forEach(function (type) {\n var list = _this3[type + 'Tracks']() || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n\n if (type === 'text') {\n _this3.removeRemoteTextTrack(track);\n }\n list.removeTrack(track);\n }\n });\n };\n\n /**\n * Remove any TextTracks added via addRemoteTextTrack that are\n * flagged for automatic garbage collection\n */\n\n\n Tech.prototype.cleanupAutoTextTracks = function cleanupAutoTextTracks() {\n var list = this.autoRemoteTextTracks_ || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n\n this.removeRemoteTextTrack(track);\n }\n };\n\n /**\n * Reset the tech, which will removes all sources and reset the internal readyState.\n *\n * @abstract\n */\n\n\n Tech.prototype.reset = function reset() {};\n\n /**\n * Get or set an error on the Tech.\n *\n * @param {MediaError} [err]\n * Error to set on the Tech\n *\n * @return {MediaError|null}\n * The current error object on the tech, or null if there isn't one.\n */\n\n\n Tech.prototype.error = function error(err) {\n if (err !== undefined) {\n this.error_ = new MediaError(err);\n this.trigger('error');\n }\n return this.error_;\n };\n\n /**\n * Returns the `TimeRange`s that have been played through for the current source.\n *\n * > NOTE: This implementation is incomplete. It does not track the played `TimeRange`.\n * It only checks wether the source has played at all or not.\n *\n * @return {TimeRange}\n * - A single time range if this video has played\n * - An empty set of ranges if not.\n */\n\n\n Tech.prototype.played = function played() {\n if (this.hasStarted_) {\n return createTimeRanges(0, 0);\n }\n return createTimeRanges();\n };\n\n /**\n * Causes a manual time update to occur if {@link Tech#manualTimeUpdatesOn} was\n * previously called.\n *\n * @fires Tech#timeupdate\n */\n\n\n Tech.prototype.setCurrentTime = function setCurrentTime() {\n // improve the accuracy of manual timeupdates\n if (this.manualTimeUpdates) {\n /**\n * A manual `timeupdate` event.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({ type: 'timeupdate', target: this, manuallyTriggered: true });\n }\n };\n\n /**\n * Turn on listeners for {@link VideoTrackList}, {@link {AudioTrackList}, and\n * {@link TextTrackList} events.\n *\n * This adds {@link EventTarget~EventListeners} for `addtrack`, and `removetrack`.\n *\n * @fires Tech#audiotrackchange\n * @fires Tech#videotrackchange\n * @fires Tech#texttrackchange\n */\n\n\n Tech.prototype.initTrackListeners = function initTrackListeners() {\n var _this4 = this;\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link AudioTrackList}\n *\n * @event Tech#audiotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link VideoTrackList}\n *\n * @event Tech#videotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link TextTrackList}\n *\n * @event Tech#texttrackchange\n * @type {EventTarget~Event}\n */\n NORMAL.names.forEach(function (name) {\n var props = NORMAL[name];\n var trackListChanges = function trackListChanges() {\n _this4.trigger(name + 'trackchange');\n };\n\n var tracks = _this4[props.getterName]();\n\n tracks.addEventListener('removetrack', trackListChanges);\n tracks.addEventListener('addtrack', trackListChanges);\n\n _this4.on('dispose', function () {\n tracks.removeEventListener('removetrack', trackListChanges);\n tracks.removeEventListener('addtrack', trackListChanges);\n });\n });\n };\n\n /**\n * Emulate TextTracks using vtt.js if necessary\n *\n * @fires Tech#vttjsloaded\n * @fires Tech#vttjserror\n */\n\n\n Tech.prototype.addWebVttScript_ = function addWebVttScript_() {\n var _this5 = this;\n\n if (window.WebVTT) {\n return;\n }\n\n // Initially, Tech.el_ is a child of a dummy-div wait until the Component system\n // signals that the Tech is ready at which point Tech.el_ is part of the DOM\n // before inserting the WebVTT script\n if (document.body.contains(this.el())) {\n\n // load via require if available and vtt.js script location was not passed in\n // as an option. novtt builds will turn the above require call into an empty object\n // which will cause this if check to always fail.\n if (!this.options_['vtt.js'] && isPlain(vtt) && Object.keys(vtt).length > 0) {\n this.trigger('vttjsloaded');\n return;\n }\n\n // load vtt.js via the script location option or the cdn of no location was\n // passed in\n var script = document.createElement('script');\n\n script.src = this.options_['vtt.js'] || 'https://vjs.zencdn.net/vttjs/0.12.4/vtt.min.js';\n script.onload = function () {\n /**\n * Fired when vtt.js is loaded.\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjsloaded');\n };\n script.onerror = function () {\n /**\n * Fired when vtt.js was not loaded due to an error\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjserror');\n };\n this.on('dispose', function () {\n script.onload = null;\n script.onerror = null;\n });\n // but have not loaded yet and we set it to true before the inject so that\n // we don't overwrite the injected window.WebVTT if it loads right away\n window.WebVTT = true;\n this.el().parentNode.appendChild(script);\n } else {\n this.ready(this.addWebVttScript_);\n }\n };\n\n /**\n * Emulate texttracks\n *\n */\n\n\n Tech.prototype.emulateTextTracks = function emulateTextTracks() {\n var _this6 = this;\n\n var tracks = this.textTracks();\n var remoteTracks = this.remoteTextTracks();\n var handleAddTrack = function handleAddTrack(e) {\n return tracks.addTrack(e.track);\n };\n var handleRemoveTrack = function handleRemoveTrack(e) {\n return tracks.removeTrack(e.track);\n };\n\n remoteTracks.on('addtrack', handleAddTrack);\n remoteTracks.on('removetrack', handleRemoveTrack);\n\n this.addWebVttScript_();\n\n var updateDisplay = function updateDisplay() {\n return _this6.trigger('texttrackchange');\n };\n\n var textTracksChanges = function textTracksChanges() {\n updateDisplay();\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n\n track.removeEventListener('cuechange', updateDisplay);\n if (track.mode === 'showing') {\n track.addEventListener('cuechange', updateDisplay);\n }\n }\n };\n\n textTracksChanges();\n tracks.addEventListener('change', textTracksChanges);\n tracks.addEventListener('addtrack', textTracksChanges);\n tracks.addEventListener('removetrack', textTracksChanges);\n\n this.on('dispose', function () {\n remoteTracks.off('addtrack', handleAddTrack);\n remoteTracks.off('removetrack', handleRemoveTrack);\n tracks.removeEventListener('change', textTracksChanges);\n tracks.removeEventListener('addtrack', textTracksChanges);\n tracks.removeEventListener('removetrack', textTracksChanges);\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n\n track.removeEventListener('cuechange', updateDisplay);\n }\n });\n };\n\n /**\n * Create and returns a remote {@link TextTrack} object.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @return {TextTrack}\n * The TextTrack that gets created.\n */\n\n\n Tech.prototype.addTextTrack = function addTextTrack(kind, label, language) {\n if (!kind) {\n throw new Error('TextTrack kind is required but was not provided');\n }\n\n return createTrackHelper(this, kind, label, language);\n };\n\n /**\n * Create an emulated TextTrack for use by addRemoteTextTrack\n *\n * This is intended to be overridden by classes that inherit from\n * Tech in order to create native or custom TextTracks.\n *\n * @param {Object} options\n * The object should contain the options to initialize the TextTrack with.\n *\n * @param {string} [options.kind]\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata).\n *\n * @param {string} [options.label].\n * Label to identify the text track\n *\n * @param {string} [options.language]\n * Two letter language abbreviation.\n *\n * @return {HTMLTrackElement}\n * The track element that gets created.\n */\n\n\n Tech.prototype.createRemoteTextTrack = function createRemoteTextTrack(options) {\n var track = mergeOptions(options, {\n tech: this\n });\n\n return new REMOTE.remoteTextEl.TrackClass(track);\n };\n\n /**\n * Creates a remote text track object and returns an html track element.\n *\n * > Note: This can be an emulated {@link HTMLTrackElement} or a native one.\n *\n * @param {Object} options\n * See {@link Tech#createRemoteTextTrack} for more detailed properties.\n *\n * @param {boolean} [manualCleanup=true]\n * - When false: the TextTrack will be automatically removed from the video\n * element whenever the source changes\n * - When True: The TextTrack will have to be cleaned up manually\n *\n * @return {HTMLTrackElement}\n * An Html Track Element.\n *\n * @deprecated The default functionality for this function will be equivalent\n * to \"manualCleanup=false\" in the future. The manualCleanup parameter will\n * also be removed.\n */\n\n\n Tech.prototype.addRemoteTextTrack = function addRemoteTextTrack() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var manualCleanup = arguments[1];\n\n var htmlTrackElement = this.createRemoteTextTrack(options);\n\n if (manualCleanup !== true && manualCleanup !== false) {\n // deprecation warning\n log.warn('Calling addRemoteTextTrack without explicitly setting the \"manualCleanup\" parameter to `true` is deprecated and default to `false` in future version of video.js');\n manualCleanup = true;\n }\n\n // store HTMLTrackElement and TextTrack to remote list\n this.remoteTextTrackEls().addTrackElement_(htmlTrackElement);\n this.remoteTextTracks().addTrack(htmlTrackElement.track);\n\n if (manualCleanup !== true) {\n // create the TextTrackList if it doesn't exist\n this.ready(function () {\n return _this7.autoRemoteTextTracks_.addTrack(htmlTrackElement.track);\n });\n }\n\n return htmlTrackElement;\n };\n\n /**\n * Remove a remote text track from the remote `TextTrackList`.\n *\n * @param {TextTrack} track\n * `TextTrack` to remove from the `TextTrackList`\n */\n\n\n Tech.prototype.removeRemoteTextTrack = function removeRemoteTextTrack(track) {\n var trackElement = this.remoteTextTrackEls().getTrackElementByTrack_(track);\n\n // remove HTMLTrackElement and TextTrack from remote list\n this.remoteTextTrackEls().removeTrackElement_(trackElement);\n this.remoteTextTracks().removeTrack(track);\n this.autoRemoteTextTracks_.removeTrack(track);\n };\n\n /**\n * Gets available media playback quality metrics as specified by the W3C's Media\n * Playback Quality API.\n *\n * @see [Spec]{@link https://wicg.github.io/media-playback-quality}\n *\n * @return {Object}\n * An object with supported media playback quality metrics\n *\n * @abstract\n */\n\n\n Tech.prototype.getVideoPlaybackQuality = function getVideoPlaybackQuality() {\n return {};\n };\n\n /**\n * A method to set a poster from a `Tech`.\n *\n * @abstract\n */\n\n\n Tech.prototype.setPoster = function setPoster() {};\n\n /**\n * A method to check for the presence of the 'playsinine'