{"version":3,"sources":["webpack:///./src/assets/img/store/bg.png","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/assets/img/homeConf/AuxiliaryBlank.png","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./src/views/Marketing/Components/HomeConf/EntityInfo.vue?6511","webpack:///src/views/Marketing/Components/HomeConf/EntityInfo.vue","webpack:///./src/views/Marketing/Components/HomeConf/EntityInfo.vue?cc33","webpack:///./src/views/Marketing/Components/HomeConf/EntityInfo.vue","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./src/assets/img/homeConf/PhoneStatus Bar2.png","webpack:///./src/components/js/utils.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/once.js","webpack:///./src/views/Marketing/Components/HomeConf/GoodsList.vue?0c71","webpack:///./node_modules/base64-js/index.js","webpack:///./src/assets/img/homeConf/EntityInfo.png","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/is-promise/index.js","webpack:///./src/components/js/permission.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./src/views/Marketing/Components/HomeConf sync nonrecursive \\.vue$","webpack:///./node_modules/lodash/_root.js","webpack:///./src/views/Marketing/EShopManage/EShopDecoration.vue?37ef","webpack:///src/views/Marketing/EShopManage/EShopDecoration.vue","webpack:///./src/views/Marketing/EShopManage/EShopDecoration.vue?1ce8","webpack:///./src/views/Marketing/EShopManage/EShopDecoration.vue","webpack:///./src/assets/img/homeConf/RichText.png","webpack:///./node_modules/fuzzysearch/index.js","webpack:///./src/api/KHS/Entity/employee.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./src/api/Marketing/EShopManage/EShopDecoration.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/last.js","webpack:///./src/assets/img/store/wz@2x.png","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./src/assets/img/store/dz@2x.png","webpack:///./src/api/KHS/Entity/entity.js","webpack:///./src/assets/img/store/work1.png","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryLine.vue?a050","webpack:///src/views/Marketing/Components/HomeConf/AuxiliaryLine.vue","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryLine.vue?54dd","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryLine.vue","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./src/api/gdMap.js","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryLine.vue?34bd","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryBlank.vue?4198","webpack:///src/views/Marketing/Components/HomeConf/AuxiliaryBlank.vue","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryBlank.vue?b669","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryBlank.vue","webpack:///./src/assets/img/homeConf/GoodsList.png","webpack:///./node_modules/lodash/toFinite.js","webpack:///./src/views/Marketing/Components/HomeConf/Carousel.vue?e105","webpack:///./src/assets/img/store/phone.png","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/lodash/constant.js","webpack:///./src/views/Marketing/EShopManage/EShopDecoration.vue?e4ab","webpack:///./src/views/KHS/Entity/employee.vue?44b3","webpack:///src/views/KHS/Entity/employee.vue","webpack:///./src/views/KHS/Entity/employee.vue?c7d4","webpack:///./src/views/KHS/Entity/employee.vue","webpack:///./src/assets/img/store/time@2x.png","webpack:///./node_modules/@amap/amap-jsapi-loader/dist/index.js","webpack:///./src/views/Marketing/Components/HomeDecoration.vue?0d03","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack:///src/views/Marketing/Components/HomeDecoration.vue","webpack:///./src/views/Marketing/Components/HomeDecoration.vue?d762","webpack:///./src/views/Marketing/Components/HomeDecoration.vue","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/quill/dist/quill.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/vue-quill-editor/dist/vue-quill-editor.js","webpack:///./src/assets/img/homeConf/Carousel.png","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./src/assets/img/store/work2.png","webpack:///./node_modules/sortablejs/modular/sortable.esm.js","webpack:///./src/assets/img/store/work3.png","webpack:///./src/views/Marketing/Components/HomeConf/Carousel.vue?ff42","webpack:///src/views/Marketing/Components/HomeConf/Carousel.vue","webpack:///./src/views/Marketing/Components/HomeConf/Carousel.vue?518d","webpack:///./src/views/Marketing/Components/HomeConf/Carousel.vue","webpack:///./node_modules/lodash/debounce.js","webpack:///./src/assets/img/store/toggleClick.png","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./src/views/Marketing/Components/HomeConf/RichText.vue?1546","webpack:///src/views/Marketing/Components/HomeConf/RichText.vue","webpack:///./src/views/Marketing/Components/HomeConf/RichText.vue?01da","webpack:///./src/views/Marketing/Components/HomeConf/RichText.vue","webpack:///./node_modules/vuedraggable/dist/vuedraggable.umd.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./src/api/Marketing/EShopManage/EShopInfo.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js","webpack:///./src/views/Marketing/Components/HomeConf/index.js","webpack:///./node_modules/lodash/identity.js","webpack:///./src/assets/img/homeConf/AuxiliaryLine.png","webpack:///./src/assets/img/homeConf sync ^\\.\\/.*\\.png$","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./src/views/Marketing/Components/HomeConf/RichText.vue?bd07","webpack:///./src/views/Marketing/Components/HomeConf/EntityInfo.vue?b506","webpack:///./src/assets/img/store/dh@2x.png","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./src/views/KHS/Entity/employee.vue?2e32","webpack:///./node_modules/watch-size/index.es.mjs","webpack:///./node_modules/lodash/before.js","webpack:///./src/views/Marketing/Components/HomeDecoration.vue?fe9e","webpack:///./node_modules/isarray/index.js","webpack:///./src/api/gaodeAMapLoader.js","webpack:///./node_modules/element-china-area-data/dist/app.js","webpack:///./src/api/KHS/Entity/jobtype.js","webpack:///./src/views/Marketing/Components/HomeConf/AuxiliaryBlank.vue?23ad","webpack:///./src/components/js/validate.js","webpack:///./src/views/Marketing/Components/HomeConf/GoodsList.vue?6c03","webpack:///src/views/Marketing/Components/HomeConf/GoodsList.vue","webpack:///./src/views/Marketing/Components/HomeConf/GoodsList.vue?3727","webpack:///./src/views/Marketing/Components/HomeConf/GoodsList.vue","webpack:///./node_modules/lodash/isSymbol.js"],"names":["module","exports","Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","_typeof","obj","iterator","constructor","_nonIterableSpread","TypeError","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_l","onlineEntityInfo","item","index","key","staticStyle","PhotoURL","EntityLogoURL","StoreShowInfo","some","val","_v","_s","EntityName","_e","formatBusinessDate","BusinessStartTime","BusinessEndTime","ServiceTelephoneNumber","AddressDetail","Description","staticRenderFns","Enumerable","props","type","default","components","data","computed","methods","getOnlineEntityInfo","that","loading","res","StateCode","Data","$emit","$message","error","message","Message","duration","tmp","arr","from","EntityBusinessDate","select","length","push","element","businessWeekStr","toWeekName","slice","weekday","num","watch","beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","component","_iterableToArray","iter","Array","isObjectLike","getBase64Image","img","width","height","canvas","document","createElement","ctx","getContext","drawImage","dataURL","toDataURL","getCanvasBase64","Promise","resolve","image","Image","crossOrigin","src","onload","base64","throttle","fn","wait","pre","Date","now","context","args","arguments","apply","debounce","delay","timer","clearTimeout","setTimeout","deepClone","isObject","before","once","func","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","code","i","len","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","start","end","output","join","extraBytes","parts","maxChunkLength","len2","_arrayWithoutHoles","isArray","arr2","isPromise","then","require","permission","isPermission","where","PermissionCode","IsPermission","toArray","routerPermission","path","route","matcher","match","name","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_slicedToArray","objectToString","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","keys","freeGlobal","freeSelf","self","root","Function","model","callback","$$v","activeName","expression","ref","centerFormData","$set","class","leftNavIndex","on","$event","clickLeftNav","Name","goodsClassify","ImageURL","GoodsTypeName","Price","OriginalText","formData","index1","firstCollapseName","slot","nativeOn","stopPropagation","delFirstClassify","index2","padding","secondCollapseName","delSecondClassify","index3","delGoods","addGoods","addSecondClassify","addFirstClassify","SaveEShopDecorationConf","BannerDialog","close","bannerForm","ImageUrl","beforeAvatarUpload","updateCustomerUploadImage","TypeID","selGoodsBtn","selGoodName","delGoodsBtn","bannerSave","Title","activityDialog","preventDefault","_k","keyCode","Search","OnlineName","activeTableData","scopedSlots","_u","scope","row","ImgURL","formatterTime","selGoods","paginations","page","layout","total","pageChange","GoodsDialog","OfflineName","GoodsType","GoodsTypeID","GoodsCategoryValid","expandTrigger","CategoryID","GoodstableData","PMDialog","rowKeyFun","handleSelectionChange","savePM","RmDialog","saveRecommend","goodsClassifyTitle","goodsClassifyBool","goodSearchName","ID","GoodsCategoryGoodList","formatterTimeCardDay","formatterTimeCardNum","saveGoodsClassify","draggable","HomeDecoration","HomeSwitchSite","HomeBanner","HomeGroupBooking","HomeSeckill","HomeSite","HomeEmployee","HomeHotRecommended","bannerList","storesInfo","shopImg","logo","ShowSaleBill","HideOfflineSaleBill","ShowTreatBill","ShowAppointmentBill","ShowProductAccount","ShowProjectAccount","ShowGeneralCardAccount","ShowTimeCardAccount","ShowSavingCardAccount","ShowPackageCardAccount","ShowStock","tabBarFormData","switchHome","switchClassify","switchAppointment","switchShopingCart","switchMyWork","tableData","seckillTableData","hotTableData","goodsClassifyTableData","rmImgs","DialogType","ActivityID","GoodsID","GoodType","multipleChoice","addGoodsIndex","groupBooking","forEach","good","PriceInt","PriceFlo","seckill","hotGoods","selGoodID","Child","Goods","GoodList","filter","console","log","getConfigInfo","Banner","switchCoupon","CenterCoupon","switchOrder","CenterBill","CenterAppointment","switchStock","CenterAccount","BarHomePage","BarCategory","BarAppointment","BarCar","BarPersonCenter","GroupBooking","GroupBookingID","EndDate","Seckill","SeckillID","StartDate","HotRecommended","Coupon","OldPrice","getGetSecKill","PageNum","params","List","Total","getGetBookingList","getGoodAll","Active","getGoodType","getAppletGoodsCategoryValid","label","children","uploadBtn","CommodityID","banMoveLeft","banMoveRight","banDelete","splice","apiType","GoodsCategoryGood","isFileType","isLt2M","reader","readAsDataURL","file","evt","getGroupBooking","SecKill","recommend","fmtTime","Delete","$refs","clearSelection","Create","banner","success","changeShwoStock","rows","$nextTick","toggleRowSelection","HomeConfcreate","PersonalCenterConfCreate","GoodsCategoryCreate","Category","item1","item2","item3","getPersonalCenterConf","GoodsCategoryAll","GoodsName","ConsumeCycle","CycleLimitAmount","handler","fuzzysearch","needle","haystack","tlen","qlen","outer","j","nch","getEmployee","API","getEmployeeManage","createEmployee","updateEmployee","updateEmployeeJobTypeBatch","updateEmployeeEntityBatch","exportEmployeeExce","nullTag","undefinedTag","baseGetTag","All","GetSecKill","GetBookingList","GoodAll","AppletGoodsCategoryValid","AddImage","GoodsCategoryProject","GoodsCategoryProduct","GoodsCategoryTimeCard","GoodsCategorySavingCard","GoodsCategoryGeneralCard","GoodsCategoryPackageCard","getComponents","getHomeConf","last","array","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","toFinite","toInteger","remainder","getEntityAll","getEntity","storeList","purchaseEntity","allocationEntity","getEntityAllManagement","getEntityManagement","createEntity","updateEntity","getOnlineEntityByID","moveEntity","style","customStyle","AuxiliaryLineConf","global","_classCallCheck","instance","Constructor","_defineProperties","target","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","Maps","option","reject","AMapLoader","load","AMap","gdmap","Map","dom","setting","catch","err","setDefaultCursor","addControl","Scale","position","ToolBar","Geolocation","poisition","setZoomAndCenter","markOption","icons","clearMark","clearMap","icon","Icon","size","Size","imageOffset","Pixel","mark","Marker","title","addInfo","setMap","infoOption","infoWindow","infos","InfoWindow","content","offset","autoMove","open","lng","lat","geocoder","Geocoder","city","radius","getAddress","status","regeocode","province","addressComponent","district","street","streetNumber","address","formattedAddress","split","Address","getLocation","info","geocodes","location","panel","searchAddress","currentCity","placeSearch","PlaceSearch","pageSize","pageIndex","autoFitView","search","cityName","setCity","circleInfo","center","LngLat","Circle","fillOpacity","Opacity","fillColor","bgColor","strokeColor","borderColor","searchInfo","service","isGeographicis","searchNearBy","Geographicis","range","addr","event","addListener","poiList","pois","Color","Height","toNumber","INFINITY","MAX_INTEGER","sign","constant","directives","rawName","contactQuery","tissueSearchKey","trim","addEntityModal","entityList","defaultProps","entityDefaultExpandedKeys","allowDrag","allowDrop","handleNodeClick","handleDrop","handleCommand","departmentTitle","departmentParentID","searchEmployeeData","JobID","JobName","State","state","downloadLoading","downloadExcel","addEmployeeModal","IsPrimaryEntity","Entity","formatStatus","toStaffDetails","handleSelect","page_size","handleCurrentChange","addstaff","resetForm","rules","ruleForms","EntityID","handleClose","addModifyEntity","modalLoading","submitAddEmployee","addBelongToDia","clickAddEmpBelongToCancalBtn","departmentName","entityTreeList","treeDefaultCheckedKeys","filterNode","getCheckedData","dataDetails","hiddenDetail","isMouseenter","setSection","removeSection","clickAddEmpBelongToBtn","empEditState","formInline","rules_formInline","timeData","handleCloseEdit","editModifyEntity","clickSaveBtn","addorganization","addorganizationClose","rules_2","ruleForm","normalizer","IsStoreChange","IsStore","options","handleChange","getPlaceSearch","Logo_file","uid","url","showFileList_1","DialogPreview","handleRemove","Photo_file_list","storePhotoBeforeAvatarUpload","showFileList_2","bool","selBusinessHours","defaultCheckedPurchase","defaultCheckedKeysSale","addEntity","editOrganization","closedEditDialog","rules_3","ruleOrganization","IsEditStoreChange","showFileList_3","showFileList_4","submitoOrganization","dialogVisible","employeeNum","rules_duty","dutyRuleForms","clickSureBtn","belongto","clickBelongToSureBtn","beforeRouteEnter","next","vm","employeeExcel","storeEntityId","showTip","isTree","entityId","searchKey","jobTypeData","JobTypeName","isEmployee","checkedData","multipleSelection","EmployeeID","tree","node","entityData","employeeData","SearchKey","storeListData","IsJoin","ParentID","IsWarehouse","IsOpenOnlineShop","selectedOptions","ProvinceCode","CityCode","AreaCode","Longitude","Latitude","BusinessTime","PhotoURLList","businessHours","organizationData","GaodeAMapLoaderConf","gaodeMap","clearValidate","IsWarehouseChange","CityText","gdAMap","ProvinceText","cont","zoom","resizeEnable","gdMap","createAMapLoader","setGdControl","lnglat","clear","markerList","getAddress_location","changeMapCenter","addMark","showCityInfo","citysearch","CitySearch","getLocalCity","bounds","cityinfo","getChinaAreaCode","arear","provinceCode","cityinfoCode","arearCode","arears","results","selected","getAllEntity","indx","isEdit","validate","valid","PurchaseEntityID","AllocationEntityID","getOnlineEntityByInfo","region","moveEntityID","draggingNode","destParentID","beforeEntityID","dropType","dropNode","parent","dropEntity","MoveEntityID","DestParentID","BeforeEntityID","getJobType","setCheckedNodes","val1","checkedNodes","masterEntity","belongEmployeeID","isPrimaryObj","empId","Alias","PhoneNumber","phone","duty","Gender","IDNumber","Birthdate","EntryDate","TrialExpiryDate","ContractStartDate","ContractEndDate","resetFields","assign","Remark","SocialSecurityPaymentDate","getEntityID","list","JobTypeID","EntityData","getElementById","click","m","p","a","b","AMapUI","Loca","r","all","h","c","f","plugins","d","g","failed","notload","version","l","body","head","k","onerror","loaded","window","loadUI","n","appendChild","startsWith","q","t","host","___onAPILoaded","plugin","reset","ComponentData","addComponent","Code","_m","comps","comp","isShowBoder","editStyle","compontenMouse","compontenMouseLeave","selectComponentClick","deleteComponent","HomeConf","Conf","Carousel_file_list","HotGoodsConf","GoodsList","EntityInfoConf","RichText","AuxiliaryBlank","AuxiliaryLine","SelectComponent","goodsID","goodsTypeName","goodsName","deleteSwiperGoods","deleteCarouseClick","beforeSwiperUpload","deleteHotGoodsItemClick","$index","blank_mini","blank_colorRadio","predefineColors","resetColor","RichTextUpLoadImg","editorOption","goodsDialogClose","SearchGoods","goodsSearchName","isAddHotGoods","hotGoodsSelectionChange","saveHotGoods","_createForOfIteratorHelper","allowArrayLike","it","unsupportedIterableToArray","F","s","done","normalCompletion","didErr","step","_e2","quillEditor","isPadding","borderStyle","CarouselIndex","goodsType","tempSelectionHotGoods","editor","myQuillEditor","quill","typeCode","HotGoodsRef","Sequence","border","getEntityName","selection","is","ComponentsCode","ComponentsProperty","getComponentProperty","Component","JSON","stringify","getComponentPropertyJSON","files","fileType","suffix","insertEmbed","setSelection","warning","QuillEditorOptions","toolbarOptions","modules","toolbar","container","handlers","querySelector","format","theme","placeholder","parse","read","buffer","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","Math","pow","write","rt","abs","isNaN","floor","LN2","factory","installedModules","moduleId","getter","get","__esModule","object","property","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","Scope","create","find","query","register","Container","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","__extends","extendStatics","setPrototypeOf","__proto__","__","ParchmentError","_super","_this","attributes","classes","tags","types","input","BlotClass","Node","TEXT_NODE","bubble","DATA_KEY","blot","parentNode","ANY","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","tagName","TYPE","Definitions","_i","Definition","blotName","attrName","keyName","className","toUpperCase","tagNames","diff","equal","extend","op","NULL_CHARACTER","String","fromCharCode","Delta","ops","insert","text","newOp","retain","lastOp","unshift","chop","pop","predicate","partition","passed","reduce","initial","changeLength","elem","delete","hasNext","nextOp","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","delta","min","thisOp","otherOp","rest","concat","strings","prep","diffResult","opLength","INSERT","DELETE","EQUAL","eachLine","newline","line","transform","priority","transformPosition","nextType","hasOwn","toStr","gOPD","getOwnPropertyDescriptor","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","copy","copyIsArray","clone","deep","BlockEmbed","bubbleFormats","defineProperties","_get","receiver","desc","getPrototypeOf","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text","_text2","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","NEWLINE_LENGTH","_Parchment$Embed","domNode","formats","values","attribute","BLOCK_ATTRIBUTE","def","endsWith","block","insertBefore","insertAt","BLOCK_BLOT","_Parchment$Block","_this2","cache","descendants","leaf","lines","shift","tail","remove","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","sliceIterator","_arr","_n","_d","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","_defineProperty","debug","Quill","html","innerHTML","classList","add","__quill","addContainer","setAttribute","scrollingContainer","emitter","scroll","whitelist","keyboard","addModule","clipboard","history","init","events","EDITOR_CHANGE","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","source","mutations","lastRange","modify","update","contents","convert","setContents","readOnly","disable","limit","level","imports","overwrite","warn","refNode","setRange","_this3","_overload","_overload2","deleteText","enable","enabled","scrollTop","focus","scrollIntoView","_this4","sources","getSelection","change","formatLine","formatText","SILENT","_this5","_overload3","_overload4","_this6","_overload5","_overload6","getBounds","containerBounds","getBoundingClientRect","bottom","top","left","right","getLength","_overload7","_overload8","getContents","getFormat","Number","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","_this7","_this8","_overload11","_overload12","insertText","contains","off","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","ret","_overload15","_overload16","Range","USER","_this11","userConfig","DEFAULTS","import","themeConfig","config","moduleNames","moduleConfig","moduleClass","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","emit","_map","pos","_map2","_map3","max","_map4","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","addEventListener","_len","_key","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","_len2","_key2","_ref","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","levels","method","_console","namespace","ns","logger","bind","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","opts","getTime","objEquiv","isUndefinedOrNull","isBuffer","x","ka","kb","sort","attributeBit","ATTRIBUTE","canAdd","replace","removeAttribute","_block","_block2","_Inline","CodeBlock","_Block","textContent","frag","_descendant","descendant","_descendant2","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","reverse","lastIndexOf","prev","optimize","removeChild","unwrap","TAB","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","Editor","getDelta","consumeNextNewline","scrollLength","batchStart","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","cursorIndex","textBlot","oldValue","CONTENTS","oldText","newText","diffDelta","combined","merged","bullet","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","native","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","restore","_format","nativeRange","collapsed","after","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rect","rangeCount","getRangeAt","normalizeNative","normalized","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","childNodes","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","makeBlot","forEachAt","criteria","_a","lengthLeft","detach","childBlot","refBlot","insertInto","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","toLowerCase","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","substr","_instanceof","nativeMap","nativeSet","nativePromise","_","Set","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","proto","__isArray","__isRegExp","RegExp","__getRegExpFlags","lastIndex","__isDate","allocUnsafe","keyChild","valueChild","set","entryChild","getOwnPropertySymbols","symbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","flags","ignoreCase","multiline","clonePrototype","_container","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_line4","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill","_quill2","test","navigator","platform","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","userAgent","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","listen","binding","normalize","which","defaultPrevented","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","prevented","every","makeEmbedArrowHandler","_ref3","LEFT","RIGHT","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","header","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","createTextNode","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","parseInt","sanitize","Link","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","href","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","buildPicker","display","togglePicker","escape","tabIndex","hasAttribute","selectItem","buildItem","buildLabel","buildOptions","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","matches","camelize","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","stack","changeDelta","undoDelta","timestamp","maxStack","endsWithNewlineChange","deleteLength","changeIndex","BaseTooltip","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","removeEventListener","tooltip","textbox","hide","pickers","picker","extendToolbar","buttons","button","selects","fillSelect","align","formula","edit","fileInput","FileReader","video","_Tooltip","boundsContainer","save","cancel","mode","preview","linkRange","restoreFocus","extractVideoUrl","defaultValue","LinkedList","append","nodes","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","MutationObserver","observe","disconnect","records","markParent","remaining","previousSibling","grandChild","isEqual","obj1","obj2","prop","InlineBlot","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","token","searchString","subjectString","isFinite","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","substring","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","ceil","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","charAt","k2_offset","x2","diff_bisectSplit_","k2","y2","y","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","best_common","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","str","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","has","Events","EE","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","removeListener","removeAllListeners","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchBreak","ELEMENT_NODE","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","selector","matchVisual","addMatcher","innerText","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","nodeType","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","parseFloat","marginTop","marginBottom","offsetTop","fontStyle","italic","fontWeight","bold","textIndent","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","prompt","addButton","groups","group","control","addSelect","clean","direction","link","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Video","_BlockEmbed","FormulaBlot","_Embed","katex","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","interval","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","u","install","globalOptions","boundary","script","color","background","font","_options","_content","defaultOptions","disabled","Boolean","required","initialize","$el","pasteHTML","setText","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","_injectStyles","esModule","_t","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","arg","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","invoke","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","awrap","async","skipTempReset","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","_iterableToArrayLimit","_extends","_objectSpread","ownKeys","sym","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","pattern","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","msMatchesSelector","webkitMatchesSelector","getParentOrHost","closest","includeCTX","_throttleTimeout","R_SPACE","toggleClass","css","defaultView","currentStyle","matrix","selfOnly","appliedTransforms","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","getElementsByTagName","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","elRect","innerHeight","innerWidth","containerRect","elMatrix","scaleX","scaleY","isScrolledPast","elSide","parentSide","getParentAutoScrollElement","elSideVal","parentSideVal","visible","getChild","childNum","currentChild","Sortable","ghost","dragged","lastElementChild","previousElementSibling","nodeName","getRelativeScrollOffset","offsetLeft","winScroller","scrollLeft","indexOfObject","includeSelf","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","dst","isRectEqual","rect1","rect2","round","ms","cancelThrottle","scrollBy","Polymer","$","jQuery","Zepto","setRect","unsetRect","expando","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","animation","fromRect","thisAnimationDuration","childMatrix","addAnimationState","removeAnimationState","animateAll","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animate","animationResetTimer","currentRect","translateX","translateY","animatingX","animatingY","repaint","easing","animated","sqrt","defaults","initializeByDefault","PluginManager","mount","pluginEvent","sortable","eventCanceled","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","CustomEvent","bubbles","cancelable","to","pullMode","lastPutMode","allEventProperties","dragEl","parentEl","ghostEl","nextEl","lastDownEl","cloneHidden","dragStarted","moved","activeSortable","active","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","touchingSideChild2","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","store","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","dropBubble","dragoverBubble","dataIdAttr","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","_globalDragOver","dropEffect","_onMove","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","spacer","_getSwapDirection","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_generateId","sum","_saveInputCheckedState","inputs","idx","checked","_nextTick","_cancelNextTick","_getDirection","touch","pointerType","originalTarget","shadowRoot","composedPath","isContentEditable","_prepareDragStart","dragStartFn","ownerDocument","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","_onTouchMove","_onDragStart","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","dx","dy","cssMatrix","_hideClone","cloneId","_loopId","setInterval","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","dragIndex","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","handleEvent","items","destroy","utils","nextTick","cancelNextTick","detectDirection","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","AutoScrollPlugin","AutoScroll","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","pid","lastSwapEl","isFallback","scrollCustomFn","sens","speed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","Remove","SwapPlugin","Swap","swapClass","dragStart","dragOverValid","swap","prevSwapEl","swapNodes","swapItem","n1","n2","i1","i2","p1","p2","isEqualNode","startIndex","_ref4","parentSortable","lastMultiDragSelect","multiDragSortable","dragEl$1","clonesFromRect","clonesHidden","multiDragElements","multiDragClones","initialFolding","folding","MultiDragPlugin","MultiDrag","_deselectMultiDrag","_checkKeyDown","_checkKeyUp","selectedClass","multiDragKey","multiDragElement","multiDragKeyDown","isMultiDrag","delayStartGlobal","delayEnded","setupClone","sortableIndex","insertMultiDragClones","showClone","hideClone","_ref5","dragStartGlobal","_ref6","multiDrag","_ref7","removeMultiDragElements","dragOver","_ref8","_ref9","insertMultiDragElements","_ref10","dragRectAbsolute","clonesHiddenBefore","dragOverAnimationCapture","_ref11","dragMatrix","dragOverAnimationComplete","_ref12","originalEvt","currentIndex","multiDragIndex","nullingGlobal","destroyGlobal","deselect","oldIndicies","newIndicies","clones","clonesInserted","elementsInserted","FUNC_ERROR_TEXT","nativeMax","nativeMin","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","flush","debounced","isInvoking","isSymbol","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","valueOf","isBinary","ieee754","typedArraySupport","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","encoding","string","isEncoding","fromArrayLike","byteOffset","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","_arrayLikeToArray","domProps","richText","RichTextContent","temp","regex","__WEBPACK_EXTERNAL_MODULE_a352__","LIBRARY","$export","redefine","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","DEFAULT","IS_SET","FORCED","getMethod","kind","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","P","defined","TO_STRING","at","S","unicode","anObject","sticky","$keys","enumBugKeys","O","dP","getKeys","Properties","fails","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","exec","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","cof","ARG","tryGet","T","B","callee","SRC","$toString","TPL","inspectSource","safe","isFunction","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","contentWindow","USE_SYMBOL","$exports","INCLUDES","createDesc","toObject","ObjectProto","bitmap","MATCH","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","core","SHARED","copyright","own","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","expProto","U","W","R","classof","builtinExec","shared","$includes","IObject","gOPS","pIE","$assign","A","K","aLen","getSymbols","isEnum","__g","stat","__e","IE8_DOM_DEFINE","toPrimitive","Attributes","aFunction","UNSCOPABLES","ArrayProto","toLength","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","maybeCallNative","searchValue","replaceValue","rx","functionalReplace","fullUnicode","matchStr","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","ch","isRegExp","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","forced","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","__webpack_exports__","insertNodeAt","removeNode","getConsole","cached","hit","parentElement","fatherNode","px","random","addToUnscopables","iterated","Arguments","STARTS_WITH","$startsWith","currentScript","scripts","readyState","setPublicPath_i","_arrayWithHoles","_unsupportedIterableToArray","minLen","_nonIterableRest","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default","helper","buildAttribute","propName","computeVmIndex","vnodes","elt","elm","_computeIndexes","slots","isTransition","footerOffset","elmFromNodes","footerIndex","rawIndexes","ind","evtName","evtData","delegateAndEmit","realList","isTransitionName","vuedraggable_isTransition","_slots","componentOptions","getSlot","scopedSlot","computeChildrenAndOffsets","headerOffset","footer","getComponentAttributes","$attrs","componentData","componentDataAttrs","eventsListened","eventsToEmit","readonlyProperties","draggingElement","noTransitionOnDrag","original","draggableComponent","inheritAttrs","transitionMode","noneFunctionalComponentMode","$slots","_computeChildrenAndOf","$scopedSlots","getTag","getIsFunctional","optionsAdded","onDragMove","_sortable","rootContainer","computeIndexes","newOptionValue","updateOptions","fnOptions","_vnode","getChildrenNodes","$children","rawNodes","visibleIndexes","getUnderlyingVm","htmlElt","getUnderlyingPotencialDraggableComponent","vue","__vue__","$options","_componentTag","$parent","emitChanges","alterList","onList","newList","spliceList","_arguments","updatePosition","getRelatedContextFromMoveEvent","destination","getVmIndex","domIndex","numberIndexes","getComponent","componentInstance","resetTransitionData","transitionContainer","kept","onDragStart","_underlying_vm_","onDragAdd","added","onDragRemove","removed","onDragUpdate","updateProperty","computeFutureIndex","relatedContext","domChildren","currentDOMIndex","draggedInList","draggedContext","futureIndex","sendEvt","onDragEnd","Vue","vuedraggable","noop","updateOnlineEntity","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","slicedToArray_","slicedToArray_default","toConsumableArray_","toConsumableArray_default","defineProperty_","defineProperty_default","external_fuzzysearch_","external_fuzzysearch_default","noop_","noop_default","warning_warning","onLeftClick","mouseDownHandler","$scrollingEl","$focusedEl","scrollingReact","focusedRect","overScroll","intervalId","debounce_","debounce_default","external_watch_size_","external_watch_size_default","removeFromArray","registered","INTERVAL_DURATION","run","lastWidth","lastHeight","watchSizeForIE9","unwatch","watchSize","isIE9","documentMode","locked","wrappedListener","implementation","removeSizeWatcher","findScrollParents","$scrollParents","isScrollElment","_getComputedStyle","overflow","setupResizeAndScrollEventListeners","scrollParent","$scrollParent","isNaN_isNaN","external_is_promise_","external_is_promise_default","once_","once_default","identity_","identity_default","constant_","constant_default","createMap","typeof_","typeof_default","deepExtend","last_","last_default","arrOrStr","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","INDEX","KEY_CODES","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","enumerableOnly","getOwnPropertyDescriptors","sortValueByIndex","sortValueByLevel","createAsyncOptionsStates","isLoaded","isLoading","loadingError","stringifyOptionPropValue","enableFuzzyMatch","getErrorMessage","instanceId","treeselectMixin","provide","allowClearingDisabled","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disableFuzzyMatching","flat","joinValues","limitText","count","loadingText","loadOptions","matchKeys","maxHeight","multiple","noChildrenText","noOptionsText","noResultsText","openDirection","validator","acceptableValues","openOnClick","openOnFocus","retryText","retryTitle","searchable","searchNested","searchPromptText","showCount","showCountOf","showCountOnSearch","sortValueBy","valueConsistsOf","valueFormat","zIndex","isFocused","searchQuery","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","noResults","countMap","remoteSearch","selectedNodes","getNode","internalValue","single","isRootNode","isSelected","isLeaf","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","hasValue","visibleOptionIds","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","rootNode","shouldFlattenOptions","openMenu","closeMenu","hasChanged","getValue","getInstanceId","buildForestState","immediate","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","verifyProps","propNames","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","enhancedNormalizer","fallbackNode","isFallbackNode","isDisabled","isNew","defaultNode","valueArray","nodeIdListOfPrevValue","nextSelectedNodeIds","traverseDescendantsBFS","queue","_queue","_nodeId","_node","currNode","traverseDescendantsDFS","traverseAllNodesDFS","walk","toggleClickOutsideEvent","handleClickOutside","getValueContainer","getInput","focusInput","blurInput","handleMouseDown","isClickedOnValueContainer","resetHighlightedOptionWhenNecessary","_this11$$set","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","lowerCasedSearchQuery","toLocaleLowerCase","splitSearchQuery","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","callLoadOptionsProp","action","isPending","succeed","fail","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","isHighlighted","scrollToOption","$option","forceReset","highlightFirstOption","highlightPrevOption","highlightLastOption","highlightNextOption","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","_this16","checkDuplication","verifyNodeShape","isDefaultExpanded","_this16$$set","hasDisabledDescendants","branchNodes","leafNodes","_this17","_this18","_this19","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","stringifyValue","HiddenFields_render","HiddenFieldsvue_type_script_lang_js_","inject","injections","stringifiedValues","stringifiedValue","components_HiddenFieldsvue_type_script_lang_js_","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","$root","originalRender","existing","__file","Input_render","Input_staticRenderFns","HiddenFields","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","keysThatRequireMenuBeingOpen","Inputvue_type_script_lang_js_","inputWidth","needAutoSize","inputStyle","updateInputWidth","debouncedCallback","updateSearchQuery","onInput","onFocus","onBlur","onKeyDown","_current","_current2","onMouseDown","renderInputContainer","renderInput","renderSizer","keydown","autocomplete","sizer","components_Inputvue_type_script_lang_js_","Input_component","Placeholder_render","Placeholder_staticRenderFns","Input","Placeholdervue_type_script_lang_js_","placeholderClass","components_Placeholdervue_type_script_lang_js_","Placeholder_component","SingleValue_render","SingleValue_staticRenderFns","Placeholder","SingleValuevue_type_script_lang_js_","renderSingleValueLabel","customValueLabelRenderer","renderValueContainer","shouldShowValue","components_SingleValuevue_type_script_lang_js_","SingleValue_component","SingleValue","Deletevue_type_template_id_364b6320_render","xmlns","viewBox","Deletevue_type_template_id_364b6320_staticRenderFns","_withStripped","Deletevue_type_script_lang_js_","icons_Deletevue_type_script_lang_js_","Delete_component","MultiValueItem_render","MultiValueItem_staticRenderFns","MultiValueItemvue_type_script_lang_js_","itemClass","labelRenderer","components_MultiValueItemvue_type_script_lang_js_","MultiValueItem_component","MultiValue_render","MultiValue_staticRenderFns","MultiValueItem","MultiValuevue_type_script_lang_js_","renderMultiValueItems","renderExceedLimitTip","transitionGroupProps","appear","components_MultiValuevue_type_script_lang_js_","MultiValue_component","MultiValue","Arrowvue_type_template_id_11186cd4_render","Arrowvue_type_template_id_11186cd4_staticRenderFns","Arrowvue_type_script_lang_js_","icons_Arrowvue_type_script_lang_js_","Arrow_component","Control_render","Control_staticRenderFns","Arrow","Controlvue_type_script_lang_js_","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","shouldClear","ValueContainer","components_Controlvue_type_script_lang_js_","Control_component","Tip_render","Tip_staticRenderFns","Control","Tipvue_type_script_lang_js_","components_Tipvue_type_script_lang_js_","Tip_component","arrowPlaceholder","checkMark","minusMark","Option_render","Option_staticRenderFns","Tip","Option","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","transitionProps","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","labelClassName","countClassName","customLabelRenderer","handleMouseDownOnRetry","currentTarget","indentLevel","listItemClass","Optionvue_type_script_lang_js_","components_Optionvue_type_script_lang_js_","Option_component","Menu_render","Menu_staticRenderFns","components_Option","directionMap","above","below","Menuvue_type_script_lang_js_","menuStyle","menuContainerStyle","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","components_Menuvue_type_script_lang_js_","Menu_component","Menu","external_vue_","external_vue_default","MenuPortalvue_type_script_lang_js_ownKeys","MenuPortalvue_type_script_lang_js_objectSpread","MenuPortal_render","MenuPortal_staticRenderFns","PortalTarget","setupHandlers","removeHandlers","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","transformVariations","portalTargetClass","wrapperClass","portalTargetStyle","MenuPortalvue_type_script_lang_js_","setup","teardown","$destroy","components_MenuPortalvue_type_script_lang_js_","MenuPortal_component","Treeselect_render","Treeselect_staticRenderFns","MenuPortal","Treeselectvue_type_script_lang_js_","mixins","components_Treeselectvue_type_script_lang_js_","Treeselect_component","Treeselect","VERSION","resultComps","requireComponent","fileName","identity","arrayLikeToArray","expand","shrink","expandChild","shrinkChild","unbind","MapUtil","containerId","keyboardEnable","bindSearchInput","inputId","autoOptions","Autocomplete","poi","markPoint","isCenter","imageSize","setCenter","bindClickEvent","getLat","getLng","locate","geolocation","enableHighAccuracy","timeout","buttonOffset","zoomToAccuracy","buttonPosition","getCurrentPosition","process","webpackPolyfill","rr","er","gr","Sr","Ye","Ze","__data__","v","w","z","M","I","D","E","C","V","N","L","J","H","Q","X","Y","Z","tt","et","nt","ot","hash","ct","ut","ft","st","vt","pt","bt","yt","ht","jt","dt","Ot","wt","At","xt","mt","Pt","St","zt","Ft","Mt","Tt","It","Ut","Dt","kt","Et","Bt","Ct","isTypedArray","$t","Vt","Nt","Rt","Wt","Lt","qt","Gt","Jt","Ht","Kt","Qt","Xt","Yt","Zt","te","ne","oe","ae","ce","ie","ue","fe","se","le","ve","pe","be","ye","he","je","de","ge","Oe","we","Ae","xe","me","Pe","Se","ze","Fe","Me","Te","Ie","Ue","De","ke","Ee","Be","Ce","$e","Ve","Ne","Re","We","Le","isMap","qe","Ge","Je","isSet","He","Ke","Qe","keysIn","Xe","tr","nr","or","ar","cr","ir","ur","fr","sr","lr","vr","pr","br","yr","hr","jr","dr","_r","Or","wr","Ar","xr","mr","Pr","zr","Fr","Mr","Tr","Ir","Ur","getJobtype","createJobtype","updateJobtype","getJobJobtypeAll","validPhoneNumber","rule","validEmail","HotGoodsList","GoodsConf","_f","plImage","symbolTag"],"mappings":"qoBAAAA,EAAOC,QAAU,IAA0B,uB,uBCA3C,IAAIC,EAAS,EAAQ,QAGjBC,EAAcC,OAAOC,UAGrBC,EAAiBH,EAAYG,eAO7BC,EAAuBJ,EAAYK,SAGnCC,EAAiBP,EAASA,EAAOQ,iBAAcC,EASnD,SAASC,EAAUC,GACjB,IAAIC,EAAQR,EAAeS,KAAKF,EAAOJ,GACnCO,EAAMH,EAAMJ,GAEhB,IACEI,EAAMJ,QAAkBE,EACxB,IAAIM,GAAW,EACf,MAAOC,IAET,IAAIC,EAASZ,EAAqBQ,KAAKF,GAQvC,OAPII,IACEH,EACFD,EAAMJ,GAAkBO,SAEjBH,EAAMJ,IAGVU,EAGTnB,EAAOC,QAAUW,G,kIC7CF,SAASQ,EAAQC,GAa9B,OATED,EADoB,oBAAXlB,QAAoD,kBAApBA,OAAOoB,SACtC,SAAiBD,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,gBAAkBgB,GAItHD,EAAQC,K,qBCbjBrB,EAAOC,QAAU,8/B,qBCAjB,SAASuB,IACP,MAAM,IAAIC,UAAU,mDAGtBzB,EAAOC,QAAUuB,G,2CCJjB,IAAIE,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,cAAc,CAACG,MAAM,CAAC,OAAS,QAAQ,MAAQ,UAAUP,EAAIQ,GAAIR,EAAIS,iBAA6B,cAAE,SAASC,EAAKC,GAAO,OAAOP,EAAG,mBAAmB,CAACQ,IAAID,GAAO,CAACP,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAMG,EAAKI,SAAS,IAAM,YAAY,MAAK,GAAGV,EAAG,WAAW,CAACE,YAAY,eAAeO,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,UAAU,KAAKN,MAAM,CAAC,IAAM,QAAQ,IAAMP,EAAIS,iBAAiBM,kBAAkB,GAAIf,EAAIgB,cAAcC,MAAK,SAAUC,GAAK,MAAc,QAAPA,KAAiBd,EAAG,MAAM,CAACE,YAAY,6CAA6C,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIS,iBAAiBY,eAAerB,EAAIsB,KAAKlB,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM,EAAQ,WAA+CH,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAG,QAAQnB,EAAIoB,GAAGpB,EAAIuB,sBAAsB,IAAIvB,EAAIoB,GAAGpB,EAAIS,iBAAiBe,mBAAmB,OAAOxB,EAAIoB,GAAGpB,EAAIS,iBAAiBgB,qBAAqB,GAAIzB,EAAIgB,cAAcC,MAAK,SAAUC,GAAK,MAAc,SAAPA,KAAkBd,EAAG,MAAM,CAACE,YAAY,0DAA0D,CAACF,EAAG,MAAM,CAACA,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM,EAAQ,WAA6CH,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAG,QAAQnB,EAAIoB,GAAGpB,EAAIS,iBAAiBiB,4BAA4B,GAAGtB,EAAG,MAAM,CAACE,YAAY,wCAAwC,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM,EAAQ,YAA8C,KAAKP,EAAIsB,KAAMtB,EAAIgB,cAAcC,MAAK,SAAUC,GAAK,MAAc,WAAPA,KAAoBd,EAAG,MAAM,CAACE,YAAY,0DAA0D,CAACF,EAAG,MAAM,CAACA,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,MAAM,OAAS,QAAQN,MAAM,CAAC,IAAM,EAAQ,WAA6CH,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAG,QAAQnB,EAAIoB,GAAGpB,EAAIS,iBAAiBkB,mBAAmB,GAAGvB,EAAG,MAAM,CAACE,YAAY,wCAAwC,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM,EAAQ,YAA8C,KAAKP,EAAIsB,KAAMtB,EAAIgB,cAAcC,MAAK,SAAUC,GAAK,MAAc,YAAPA,KAAqBd,EAAG,MAAM,CAACE,YAAY,sCAAsC,CAACN,EAAImB,GAAG,MAAMnB,EAAIoB,GAAGpB,EAAIS,iBAAiBmB,gBAAgB5B,EAAIsB,UAC/kFO,EAAkB,G,kCC8ClBC,EAAa,EAAjB,QACA,GACA,kBACEC,MAAF,CACIf,cAAJ,CACMgB,KAAN,MACMC,QAAN,WACQ,MAAO,CAAC,OAAhB,iCAKEC,WAAY,GAEZC,KAbF,WAcI,MAAO,CACL1B,iBAAN,KAIE2B,SAAU,GAGVC,QAAS,CAEPC,oBAFJ,WAGM,IAAIC,EAAOtC,KACXsC,EAAKC,SAAU,EACf,EAAN,iCACA,kBAC6B,KAAjBC,EAAIC,WACNH,EAAK9B,iBAAmBgC,EAAIE,KAC5BJ,EAAKK,MAAM,gBAArB,gCAEUL,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,SAItB,oBACQV,EAAKC,SAAU,MAMnBjB,mBAxBJ,WAyBM,IAII2B,EAJV,OACA,KACUC,EAAMrB,EAAWsB,KAAKb,EAAK9B,iBAAiB4C,oBAAoBC,QAAO,SAAjF,8BACU9D,EAAS,GAEb,MAAN,YACQ,GAAR,YAAQ,CAIA,IAAID,EAAIC,EAAOA,EAAO+D,OAAS,GACvC,mBACU,EAAV,QAEU,EAAV,eAPU/D,EAAOgE,KAAK,CAACN,IAUjB,IAAK,IAAX,oBACQ,IAAR,OACYO,EAAQF,QAAU,IACpBG,EAAkBA,EAAkBnB,EAAKoB,WAAWF,EAAQ,GAAtE,0CAE8B,GAAlBA,EAAQF,SACVG,EAAkBA,EAAkBnB,EAAKoB,WAAWF,EAAQ,GAAK,GAAK,KAK1E,OAAOC,EAAgBE,MAAM,EAAnC,aAGID,WAxDJ,SAwDA,GACM,IAAN,eAQM,OAPAE,EAAQ,GAAK,KACbA,EAAQ,GAAK,KACbA,EAAQ,GAAK,KACbA,EAAQ,GAAK,KACbA,EAAQ,GAAK,KACbA,EAAQ,GAAK,KACbA,EAAQ,GAAK,KACNA,EAAQC,KAInBC,MAAO,GAEPC,aA7FF,aA+FEC,QA/FF,WAgGI,IAAJ,OACI1B,EAAKD,uBAGP4B,YApGF,aAsGEC,QAtGF,aAwGEC,aAxGF,aA0GEC,QA1GF,aA4GEC,cA5GF,aA8GEC,UA9GF,cChDiY,I,wBCQ7XC,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,gCCnBf,SAASC,EAAiBC,GACxB,GAAInG,OAAOoB,YAAYlB,OAAOiG,IAAkD,uBAAzCjG,OAAOC,UAAUG,SAASO,KAAKsF,GAAgC,OAAOC,MAAMvB,KAAKsB,G,gFAG1HrG,EAAOC,QAAUmG,G,mBCoBjB,SAASG,EAAa1F,GACpB,OAAgB,MAATA,GAAiC,iBAATA,EAGjCb,EAAOC,QAAUsG,G,gDC5BjBvG,EAAOC,QAAU,IAA0B,qC,qECC3C,SAASuG,EAAeC,EAAKC,EAAOC,GAClC,IAAIC,EAASC,SAASC,cAAc,UACpCF,EAAOF,MAAQA,GAAgBD,EAAIC,MACnCE,EAAOD,OAASA,GAAkBF,EAAIE,OACtC,IAAII,EAAMH,EAAOI,WAAW,MAC5BD,EAAIE,UAAUR,EAAK,EAAG,EAAGG,EAAOF,MAAOE,EAAOD,QAC9C,IAAIO,EAAUN,EAAOO,YACrB,OAAOD,EAIM,cAEbE,gBAFa,SAEGX,GACd,OAAO,IAAIY,SAAQ,SAACC,GAClB,IAAIC,EAAQ,IAAIC,MAEhBD,EAAME,YAAc,GACpBF,EAAMG,IAAMjB,EAERA,IACFc,EAAMI,OAAS,WACb,IAAIC,EAASpB,EAAee,GAC5BD,EAAQM,SAQhBC,SApBa,SAoBJC,EAAGC,GACZ,IAAIC,EAAMC,KAAKC,MAEf,OADAH,EAAOA,GAAQ,IACR,WACL,IAAII,EAAUvG,KACVwG,EAAOC,UACPH,EAAMD,KAAKC,MACXA,EAAMF,GAAOD,IACbD,EAAGQ,MAAMH,EAAQC,GACjBJ,EAAMC,KAAKC,SAMjBK,SAnCa,SAmCJT,EAAIU,GAEX,IAAIC,EAAQ,KAEZ,OADAD,EAAQA,GAAS,IACV,WACL,IAAIJ,EAAOC,UACPnE,EAAOtC,KAEX8G,aAAaD,GACbA,EAAQE,YAAW,WACfb,EAAGQ,MAAMpE,EAAKkE,KACfI,KAIRI,UAlDc,SAkDJvH,GAET,GAAmB,WAAf,eAAOA,GACP,OAAOA,EAEP,IAAIF,EAAUE,aAAeiF,MAAS,GAAK,GAC3C,IAAK,IAAI/D,KAAOlB,EACRA,EAAIf,eAAeiC,KACnBpB,EAAOoB,GAAOX,KAAKgH,UAAUvH,EAAIkB,KAGzC,OAAOpB,K,qBChDb,SAAS0H,EAAShI,GAChB,IAAI8C,SAAc9C,EAClB,OAAgB,MAATA,IAA0B,UAAR8C,GAA4B,YAARA,GAG/C3D,EAAOC,QAAU4I,G,uBC9BjB,IAAIC,EAAS,EAAQ,QAoBrB,SAASC,EAAKC,GACZ,OAAOF,EAAO,EAAGE,GAGnBhJ,EAAOC,QAAU8I,G,oCCxBjB,W,oCCEA9I,EAAQgJ,WAAaA,EACrBhJ,EAAQiJ,YAAcA,EACtBjJ,EAAQkJ,cAAgBA,EAOxB,IALA,IAAIC,EAAS,GACTC,EAAY,GACZC,EAA4B,qBAAfC,WAA6BA,WAAajD,MAEvDkD,EAAO,mEACFC,EAAI,EAAGC,EAAMF,EAAKtE,OAAQuE,EAAIC,IAAOD,EAC5CL,EAAOK,GAAKD,EAAKC,GACjBJ,EAAUG,EAAKG,WAAWF,IAAMA,EAQlC,SAASG,EAASC,GAChB,IAAIH,EAAMG,EAAI3E,OAEd,GAAIwE,EAAM,EAAI,EACZ,MAAM,IAAII,MAAM,kDAKlB,IAAIC,EAAWF,EAAIG,QAAQ,MACT,IAAdD,IAAiBA,EAAWL,GAEhC,IAAIO,EAAkBF,IAAaL,EAC/B,EACA,EAAKK,EAAW,EAEpB,MAAO,CAACA,EAAUE,GAIpB,SAAShB,EAAYY,GACnB,IAAIK,EAAON,EAAQC,GACfE,EAAWG,EAAK,GAChBD,EAAkBC,EAAK,GAC3B,OAAuC,GAA9BH,EAAWE,GAAuB,EAAKA,EAGlD,SAASE,EAAaN,EAAKE,EAAUE,GACnC,OAAuC,GAA9BF,EAAWE,GAAuB,EAAKA,EAGlD,SAASf,EAAaW,GACpB,IAAIhF,EAcA4E,EAbAS,EAAON,EAAQC,GACfE,EAAWG,EAAK,GAChBD,EAAkBC,EAAK,GAEvBpF,EAAM,IAAIwE,EAAIa,EAAYN,EAAKE,EAAUE,IAEzCG,EAAU,EAGVV,EAAMO,EAAkB,EACxBF,EAAW,EACXA,EAGJ,IAAKN,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB5E,EACGwE,EAAUQ,EAAIF,WAAWF,KAAO,GAChCJ,EAAUQ,EAAIF,WAAWF,EAAI,KAAO,GACpCJ,EAAUQ,EAAIF,WAAWF,EAAI,KAAO,EACrCJ,EAAUQ,EAAIF,WAAWF,EAAI,IAC/B3E,EAAIsF,KAAcvF,GAAO,GAAM,IAC/BC,EAAIsF,KAAcvF,GAAO,EAAK,IAC9BC,EAAIsF,KAAmB,IAANvF,EAmBnB,OAhBwB,IAApBoF,IACFpF,EACGwE,EAAUQ,EAAIF,WAAWF,KAAO,EAChCJ,EAAUQ,EAAIF,WAAWF,EAAI,KAAO,EACvC3E,EAAIsF,KAAmB,IAANvF,GAGK,IAApBoF,IACFpF,EACGwE,EAAUQ,EAAIF,WAAWF,KAAO,GAChCJ,EAAUQ,EAAIF,WAAWF,EAAI,KAAO,EACpCJ,EAAUQ,EAAIF,WAAWF,EAAI,KAAO,EACvC3E,EAAIsF,KAAcvF,GAAO,EAAK,IAC9BC,EAAIsF,KAAmB,IAANvF,GAGZC,EAGT,SAASuF,EAAiB5E,GACxB,OAAO2D,EAAO3D,GAAO,GAAK,IACxB2D,EAAO3D,GAAO,GAAK,IACnB2D,EAAO3D,GAAO,EAAI,IAClB2D,EAAa,GAAN3D,GAGX,SAAS6E,EAAaC,EAAOC,EAAOC,GAGlC,IAFA,IAAI5F,EACA6F,EAAS,GACJjB,EAAIe,EAAOf,EAAIgB,EAAKhB,GAAK,EAChC5E,GACI0F,EAAMd,IAAM,GAAM,WAClBc,EAAMd,EAAI,IAAM,EAAK,QACP,IAAfc,EAAMd,EAAI,IACbiB,EAAOvF,KAAKkF,EAAgBxF,IAE9B,OAAO6F,EAAOC,KAAK,IAGrB,SAASxB,EAAeoB,GAQtB,IAPA,IAAI1F,EACA6E,EAAMa,EAAMrF,OACZ0F,EAAalB,EAAM,EACnBmB,EAAQ,GACRC,EAAiB,MAGZrB,EAAI,EAAGsB,EAAOrB,EAAMkB,EAAYnB,EAAIsB,EAAMtB,GAAKqB,EACtDD,EAAM1F,KAAKmF,EAAYC,EAAOd,EAAIA,EAAIqB,EAAkBC,EAAOA,EAAQtB,EAAIqB,IAqB7E,OAjBmB,IAAfF,GACF/F,EAAM0F,EAAMb,EAAM,GAClBmB,EAAM1F,KACJiE,EAAOvE,GAAO,GACduE,EAAQvE,GAAO,EAAK,IACpB,OAEsB,IAAf+F,IACT/F,GAAO0F,EAAMb,EAAM,IAAM,GAAKa,EAAMb,EAAM,GAC1CmB,EAAM1F,KACJiE,EAAOvE,GAAO,IACduE,EAAQvE,GAAO,EAAK,IACpBuE,EAAQvE,GAAO,EAAK,IACpB,MAIGgG,EAAMF,KAAK,IAlIpBtB,EAAU,IAAIM,WAAW,IAAM,GAC/BN,EAAU,IAAIM,WAAW,IAAM,I,qBCnB/B3J,EAAOC,QAAU,8sD,mBCAjB,SAAS+K,EAAmBlG,GAC1B,GAAIwB,MAAM2E,QAAQnG,GAAM,CACtB,IAAK,IAAI2E,EAAI,EAAGyB,EAAO,IAAI5E,MAAMxB,EAAII,QAASuE,EAAI3E,EAAII,OAAQuE,IAC5DyB,EAAKzB,GAAK3E,EAAI2E,GAGhB,OAAOyB,GAIXlL,EAAOC,QAAU+K,G,mBCRjB,SAASG,EAAU9J,GACjB,QAASA,IAAuB,kBAARA,GAAmC,oBAARA,IAA2C,oBAAbA,EAAI+J,KAHvFpL,EAAOC,QAAUkL,G,yFCEb1H,EAAa4H,EAAQ,QAEV,cACXC,WAAY,SAAUA,EAAY9B,GAC9B,IAAI+B,EAAe9H,EAAWsB,KAAKuG,GAC9BE,OAAM,SAAU/B,GACb,OAAOA,EAAEgC,gBAAkBjC,KAE9BvE,QAAO,SAAApC,GAAG,OAAIA,EAAI6I,gBAClBC,UAEL,OAAOJ,EAAa,KAAM,GAE9BK,iBAAiB,SAASC,GACtB,MAAuC,QAAhCC,aAAMC,QAAQC,MAAMH,GAAMI,Q,uBChBzC,IAAIC,EAAiBb,EAAQ,QAEzBc,EAAuBd,EAAQ,QAE/Be,EAAkBf,EAAQ,QAE9B,SAASgB,EAAevH,EAAK2E,GAC3B,OAAOyC,EAAepH,IAAQqH,EAAqBrH,EAAK2E,IAAM2C,IAGhEpM,EAAOC,QAAUoM,G,qBCTjB,IAAIlM,EAAcC,OAAOC,UAOrBE,EAAuBJ,EAAYK,SASvC,SAAS8L,EAAezL,GACtB,OAAON,EAAqBQ,KAAKF,GAGnCb,EAAOC,QAAUqM,G,uBCrBjB,IAAIC,EAAM,CACT,uBAAwB,OACxB,sBAAuB,OACvB,iBAAkB,OAClB,mBAAoB,OACpB,kBAAmB,OACnB,iBAAkB,QAInB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIvL,EAAI,IAAI4I,MAAM,uBAAyB2C,EAAM,KAEjD,MADAvL,EAAEsI,KAAO,mBACHtI,EAEP,OAAOqL,EAAIE,GAEZD,EAAeM,KAAO,WACrB,OAAO1M,OAAO0M,KAAKP,IAEpBC,EAAelF,QAAUqF,EACzB3M,EAAOC,QAAUuM,EACjBA,EAAeE,GAAK,Q,uBC3BpB,IAAIK,EAAa,EAAQ,QAGrBC,EAA0B,iBAARC,MAAoBA,MAAQA,KAAK7M,SAAWA,QAAU6M,KAGxEC,EAAOH,GAAcC,GAAYG,SAAS,cAATA,GAErCnN,EAAOC,QAAUiN,G,2CCRjB,IAAIxL,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,gCAAgC,CAACF,EAAG,MAAM,CAACE,YAAY,2BAA2BO,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,UAAU,CAACqL,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAI4L,WAAWD,GAAKE,WAAW,eAAe,CAACzL,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,MAAM,CAACH,EAAG,iBAAiB,CAAC0L,IAAI,oBAAoB,GAAG1L,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,MAAM,CAACH,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,eAAe,CAACS,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,SAASN,MAAM,CAAC,IAAM,EAAQ,QAAoC,IAAM,UAAUH,EAAG,MAAM,CAACE,YAAY,UAAU,CAAEN,EAAI+L,eAAkC,oBAAE3L,EAAG,MAAM,CAACE,YAAY,+EAA+E,CAACF,EAAG,MAAM,CAACE,YAAY,4CAA4C,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,eAAe,QAAQN,MAAM,CAAC,IAAM,EAAQ,QAAuC,IAAM,UAAUP,EAAImB,GAAG,QAAQ,GAAGf,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,MAAM,CAACE,YAAY,6CAA6CF,EAAG,IAAI,CAACE,YAAY,+CAA+CN,EAAIsB,KAAMtB,EAAI+L,eAAuB,SAAE3L,EAAG,MAAM,CAACE,YAAY,+EAA+E,CAACF,EAAG,MAAM,CAACE,YAAY,4CAA4C,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,eAAe,QAAQN,MAAM,CAAC,IAAM,EAAQ,QAAuC,IAAM,UAAUP,EAAImB,GAAG,QAAQ,GAAGf,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,IAAI,CAACE,YAAY,+CAA+CN,EAAIsB,KAAMtB,EAAI+L,eAA0B,YAAE3L,EAAG,MAAM,CAACE,YAAY,+EAA+E,CAACF,EAAG,MAAM,CAACE,YAAY,4CAA4C,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,eAAe,QAAQN,MAAM,CAAC,IAAM,EAAQ,QAAuC,IAAM,UAAUP,EAAImB,GAAG,UAAU,GAAGf,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,IAAI,CAACE,YAAY,+CAA+CN,EAAIsB,KAAMtB,EAAI+L,eAA6B,eAAE3L,EAAG,MAAM,CAACE,YAAY,+EAA+E,CAACF,EAAG,MAAM,CAACE,YAAY,4CAA4C,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,eAAe,QAAQN,MAAM,CAAC,IAAM,EAAQ,QAAuC,IAAM,UAAUP,EAAImB,GAAG,UAAU,GAAGf,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,IAAI,CAACE,YAAY,+CAA+CN,EAAIsB,OAAOlB,EAAG,MAAM,CAACE,YAAY,sFAAsFO,YAAY,CAAC,mBAAmB,QAAQ,OAAS,OAAO,OAAS,IAAI,KAAO,IAAI,MAAQ,MAAM,CAACT,EAAG,MAAM,CAACE,YAAY,oDAAoD,CAACF,EAAG,IAAI,CAACE,YAAY,4BAA4BF,EAAG,OAAO,CAACE,YAAY,WAAW,CAACN,EAAImB,GAAG,UAAUf,EAAG,MAAM,CAACE,YAAY,yCAAyCO,YAAY,CAAC,MAAQ,YAAY,CAACT,EAAG,IAAI,CAACE,YAAY,gCAAgCF,EAAG,OAAO,CAACE,YAAY,YAAY,CAACN,EAAImB,GAAG,aAAa,MAAM,GAAGf,EAAG,MAAM,CAACE,YAAY,WAAWO,YAAY,CAAC,MAAQ,UAAU,CAACT,EAAG,eAAe,CAACS,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,UAAU,CAAC0L,IAAI,OAAOvL,MAAM,CAAC,MAAQP,EAAI+L,eAAe,cAAc,QAAQ,CAAC3L,EAAG,eAAe,CAACA,EAAG,MAAM,CAACE,YAAY,4DAA4D,CAACF,EAAG,OAAO,CAACJ,EAAImB,GAAG,QAAQf,EAAG,YAAY,CAACqL,MAAM,CAACvM,MAAOc,EAAI+L,eAAkC,oBAAEL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI+L,eAAgB,sBAAuBJ,IAAME,WAAW,yCAAyC,KAAKzL,EAAG,eAAe,CAACA,EAAG,MAAM,CAACE,YAAY,4DAA4D,CAACF,EAAG,OAAO,CAACJ,EAAImB,GAAG,QAAQf,EAAG,YAAY,CAACqL,MAAM,CAACvM,MAAOc,EAAI+L,eAAuB,SAAEL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI+L,eAAgB,WAAYJ,IAAME,WAAW,8BAA8B,KAAKzL,EAAG,eAAe,CAACA,EAAG,MAAM,CAACE,YAAY,4DAA4D,CAACF,EAAG,OAAO,CAACJ,EAAImB,GAAG,UAAUf,EAAG,YAAY,CAACqL,MAAM,CAACvM,MAAOc,EAAI+L,eAA0B,YAAEL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI+L,eAAgB,cAAeJ,IAAME,WAAW,iCAAiC,KAAKzL,EAAG,eAAe,CAACA,EAAG,MAAM,CAACE,YAAY,4DAA4D,CAACF,EAAG,OAAO,CAACJ,EAAImB,GAAG,UAAUf,EAAG,YAAY,CAACqL,MAAM,CAACvM,MAAOc,EAAI+L,eAA6B,eAAEL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI+L,eAAgB,iBAAkBJ,IAAME,WAAW,oCAAoC,MAAM,IAAI,IAAI,OAAOzL,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,MAAM,CAACH,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,MAAM,CAACE,YAAY,kDAAkD,CAACF,EAAG,MAAM,CAACE,YAAY,wBAAwBO,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,wCAAwCO,YAAY,CAAC,OAAS,OAAO,cAAc,SAAS,CAACb,EAAImB,GAAG,UAAUf,EAAG,MAAM,CAACE,YAAY,uCAAuCO,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,0CAA0CO,YAAY,CAAC,OAAS,OAAO,MAAQ,QAAQ,CAACT,EAAG,IAAI,CAACE,YAAY,qCAAqCN,EAAImB,GAAG,KAAKf,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,YAAYf,EAAG,MAAM,CAACE,YAAY,WAAWO,YAAY,CAAC,OAAS,sBAAsB,CAACT,EAAG,MAAM,CAACS,YAAY,CAAC,OAAS,OAAO,MAAQ,MAAM,SAAW,WAAWb,EAAIQ,GAAIR,EAAiB,eAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,sDAAsD2L,MAAMtL,GAAOX,EAAIkM,aAAe,kBAAoB,GAAGrL,YAAY,CAAC,OAAS,OAAO,cAAc,QAAQsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIqM,aAAa1L,MAAU,CAACX,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4L,YAAW,GAAGlM,EAAG,MAAM,CAACE,YAAY,UAAUO,YAAY,CAAC,OAAS,OAAO,MAAQ,QAAQ,CAAEb,EAAIuM,cAAchJ,OAAS,EAAGnD,EAAG,eAAe,CAACS,YAAY,CAAC,OAAS,OAAO,aAAa,qBAAqBb,EAAIQ,GAAIR,EAAIuM,cAAcvM,EAAIkM,cAAmB,OAAE,SAASxL,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,GAAO,CAACP,EAAG,MAAM,CAACE,YAAY,qCAAqCO,YAAY,CAAC,OAAS,OAAO,cAAc,OAAO,MAAQ,QAAQ,CAACb,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4L,SAAStM,EAAIQ,GAAIE,EAAU,OAAE,SAASA,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,GAAO,CAACP,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,WAAW,CAACE,YAAY,WAAWO,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAMG,EAAK8L,SAAS,IAAM,YAAY,GAAGpM,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,mDAAmDO,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,UAAU,KAAO,OAAO,KAAO,UAAU,OAAS,SAAS,CAACP,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK+L,eAAe,OAAOrM,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4L,UAAU,IAAI,GAAGlM,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,IAAInB,EAAIoB,GAAGV,EAAKgM,UAAWhM,EAAiB,aAAEN,EAAG,MAAM,CAACE,YAAY,oBAAoBO,YAAY,CAAC,kBAAkB,iBAAiB,CAACb,EAAImB,GAAG,IAAInB,EAAIoB,GAAGV,EAAKiM,iBAAiB3M,EAAIsB,OAAOlB,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,MAAM,CAACE,YAAY,gCAAgC,CAACN,EAAImB,GAAG,WAAW,IAAI,MAAM,IAAI,OAAM,MAAK,GAAGnB,EAAIsB,MAAM,SAASlB,EAAG,MAAM,CAACE,YAAY,WAAWO,YAAY,CAAC,MAAQ,UAAU,CAACT,EAAG,UAAU,CAAC0L,IAAI,OAAOxL,YAAY,WAAWC,MAAM,CAAC,MAAQP,EAAI4M,SAAS,cAAc,QAAQ,CAACxM,EAAG,SAAS,CAACA,EAAG,SAAS,CAACE,YAAY,0BAA0BC,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,OAAO,CAACJ,EAAImB,GAAG,YAAYf,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,eAAe,CAACE,YAAY,sBAAsBO,YAAY,CAAC,OAAS,sBAAsB,CAACT,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,SAAS,MAAQ,UAAU,UAAY,QAAQkL,MAAM,CAACvM,MAAOc,EAAiB,cAAE0L,SAAS,SAAUC,GAAM3L,EAAIuM,cAAcZ,GAAKE,WAAW,kBAAkB7L,EAAIQ,GAAIR,EAAiB,eAAE,SAASU,EAAKmM,GAAQ,OAAOzM,EAAG,MAAM,CAACQ,IAAIiM,EAAOvM,YAAY,qBAAqB,CAACF,EAAG,cAAc,CAACG,MAAM,CAAC,UAAY,IAAIkL,MAAM,CAACvM,MAAOc,EAAqB,kBAAE0L,SAAS,SAAUC,GAAM3L,EAAI8M,kBAAkBnB,GAAKE,WAAW,sBAAsB,CAACzL,EAAG,mBAAmB,CAACG,MAAM,CAAC,KAAOsM,IAAS,CAACzM,EAAG,WAAW,CAAC2M,KAAK,SAAS,CAAC3M,EAAG,SAAS,CAACE,YAAY,cAAcC,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,OAAO,CAACJ,EAAImB,GAAG,MAAMnB,EAAIoB,GAAGyL,EAAO,GAAG,SAASzM,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,SAASN,MAAM,CAAC,KAAO,QAAQ,YAAc,aAAayM,SAAS,CAAC,MAAQ,SAASZ,GAAQA,EAAOa,oBAAqBxB,MAAM,CAACvM,MAAOwB,EAAS,KAAEgL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKtL,EAAM,OAAQiL,IAAME,WAAW,gBAAgB,GAAGzL,EAAG,IAAI,CAACE,YAAY,gBAAgB6L,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOa,kBAAyBjN,EAAIkN,iBAAiBL,QAAa,GAAGzM,EAAG,SAAS,CAACA,EAAG,SAAS,CAACE,YAAY,yBAAyBC,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,SAAS,cAAgB,OAAO,MAAQ,UAAU,UAAY,QAAQkL,MAAM,CAACvM,MAAOwB,EAAU,MAAEgL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKtL,EAAM,QAASiL,IAAME,WAAW,eAAe7L,EAAIQ,GAAIE,EAAU,OAAE,SAASA,EAAKyM,GAAQ,OAAO/M,EAAG,MAAM,CAACQ,IAAIuM,EAAO7M,YAAY,qBAAqBO,YAAY,CAAC,MAAQ,UAAU,CAACT,EAAG,UAAU,CAACG,MAAM,CAAC,OAAS,SAAS,aAAa,CAAE6M,QAAS,SAAU,CAAChN,EAAG,cAAc,CAACG,MAAM,CAAC,UAAY,IAAIkL,MAAM,CAACvM,MAAOc,EAAsB,mBAAE0L,SAAS,SAAUC,GAAM3L,EAAIqN,mBAAmB1B,GAAKE,WAAW,uBAAuB,CAACzL,EAAG,mBAAmB,CAACG,MAAM,CAAC,KAAO4M,IAAS,CAAC/M,EAAG,WAAW,CAAC2M,KAAK,SAAS,CAAC3M,EAAG,SAAS,CAACE,YAAY,aAAaC,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,OAAO,CAACJ,EAAImB,GAAG,OAAOnB,EAAIoB,GAAG+L,EAAO,GAAG,SAAS/M,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,SAASN,MAAM,CAAC,KAAO,QAAQ,YAAc,aAAayM,SAAS,CAAC,MAAQ,SAASZ,GAAQA,EAAOa,oBAAqBxB,MAAM,CAACvM,MAAOwB,EAAS,KAAEgL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKtL,EAAM,OAAQiL,IAAME,WAAW,gBAAgB,GAAGzL,EAAG,IAAI,CAACE,YAAY,gBAAgB6L,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOa,kBAAyBjN,EAAIsN,kBAAkBT,EAAOM,QAAa,GAAG/M,EAAG,SAAS,CAACE,YAAY,2CAA2C,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,SAAS,cAAgB,OAAO,MAAQ,UAAU,UAAY,QAAQkL,MAAM,CAACvM,MAAOwB,EAAU,MAAEgL,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKtL,EAAM,QAASiL,IAAME,WAAW,eAAe7L,EAAIQ,GAAIE,EAAU,OAAE,SAASA,EAAK6M,GAAQ,OAAOnN,EAAG,MAAM,CAACQ,IAAI2M,EAAOjN,YAAY,2DAA2D,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAMG,EAAK8L,SAAS,IAAM,WAAWpM,EAAG,OAAO,CAACE,YAAY,+BAA+B,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4L,SAASlM,EAAG,IAAI,CAACE,YAAY,gBAAgB6L,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOa,kBAAyBjN,EAAIwN,SAASX,EAAOM,EAAOI,QAAa,MAAK,IAAI,GAAGnN,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,yCAAyCO,YAAY,CAAC,OAAS,OAAO,cAAc,SAAS,CAACT,EAAG,cAAc,CAACA,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,IAAI,CAACE,YAAY,iBAAiBN,EAAImB,GAAG,YAAYf,EAAG,mBAAmB,CAACG,MAAM,CAAC,KAAO,YAAYwM,KAAK,YAAY,CAAC3M,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,UAAUZ,EAAOM,MAAW,CAACnN,EAAImB,GAAG,QAAQf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,UAAUZ,EAAOM,MAAW,CAACnN,EAAImB,GAAG,QAAQf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,cAAcZ,EAAOM,MAAW,CAACnN,EAAImB,GAAG,UAAUf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,WAAWZ,EAAOM,MAAW,CAACnN,EAAImB,GAAG,SAASf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,WAAWZ,EAAOM,MAAW,CAACnN,EAAImB,GAAG,SAASf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,cAAcZ,EAAOM,MAAW,CAACnN,EAAImB,GAAG,UAAU,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,MAAK,IAAI,GAAGf,EAAG,SAAS,CAACE,YAAY,kCAAkCC,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,UAAU,CAACG,MAAM,CAAC,OAAS,SAAS,aAAa,CAAE6M,QAAS,SAAU,CAAChN,EAAG,MAAM,CAACE,YAAY,6BAA6BO,YAAY,CAAC,OAAS,OAAO,MAAQ,QAAQ,WAAa,OAAO,cAAc,QAAQsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI0N,kBAAkBb,MAAW,CAAC7M,EAAImB,GAAG,cAAc,IAAI,IAAI,IAAI,IAAI,MAAK,IAAI,GAAGf,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,4CAA4CO,YAAY,CAAC,OAAS,OAAO,cAAc,QAAQsL,GAAG,CAAC,MAAQnM,EAAI2N,mBAAmB,CAACvN,EAAG,IAAI,CAACE,YAAY,iBAAiBN,EAAImB,GAAG,eAAe,IAAI,IAAI,IAAI,IAAI,QAAQ,GAAGf,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAI4N,0BAA0B,CAAC5N,EAAImB,GAAG,YAAY,IAAI,KAAKf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,WAAW,QAAUP,EAAI6N,aAAa,MAAQ,OAAO1B,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAI6N,aAAazB,GAAQ,MAAQpM,EAAI8N,QAAQ,CAAC1N,EAAG,UAAU,CAAC0L,IAAI,aAAavL,MAAM,CAAC,KAAO,QAAQ,MAAQP,EAAI+N,WAAW,cAAc,SAAS,CAAC3N,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAAEP,EAAI+N,WAAmB,SAAE3N,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,QAAQ,OAAS,SAASN,MAAM,CAAC,IAAMP,EAAI+N,WAAWC,SAAS,IAAM,UAAUhO,EAAIsB,KAAKlB,EAAG,YAAY,CAACE,YAAY,cAAcC,MAAM,CAAC,OAAS,IAAI,kBAAiB,EAAM,gBAAgBP,EAAIiO,mBAAmB,eAAejO,EAAIkO,4BAA4B,CAAC9N,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,YAAY,CAACP,EAAImB,GAAG,UAAUf,EAAG,MAAM,CAACE,YAAY,iBAAiBC,MAAM,CAAC,KAAO,OAAOwM,KAAK,OAAO,CAAC/M,EAAImB,GAAG,gCAAgC,IAAI,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,OAAOkL,MAAM,CAACvM,MAAOc,EAAI+N,WAAiB,OAAErC,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI+N,WAAY,SAAUpC,IAAME,WAAW,sBAAsB,CAACzL,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,UAAU,MAAQ,KAAKH,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,UAAU,MAAQ,KAAKH,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,UAAU,MAAQ,MAAM,GAAIP,EAAI+N,WAAWI,SAAWnO,EAAI+N,WAAWzD,KAAMlK,EAAG,YAAY,CAACS,YAAY,CAAC,cAAc,QAAQN,MAAM,CAAC,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIoO,cAAc,CAACpO,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIqO,gBAAgBrO,EAAIsB,MAAM,GAAItB,EAAI+N,WAAe,KAAE3N,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAImB,GAAG,IAAInB,EAAIoB,GAAGpB,EAAI+N,WAAWzD,MAAM,KAAKlK,EAAG,YAAY,CAACS,YAAY,CAAC,cAAc,QAAQN,MAAM,CAAC,KAAO,UAAU4L,GAAG,CAAC,MAAQnM,EAAIsO,cAAc,CAACtO,EAAImB,GAAG,SAAS,GAAGnB,EAAIsB,MAAM,GAAGlB,EAAG,OAAO,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAI6N,cAAe,KAAS,CAAC7N,EAAImB,GAAG,SAASf,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIuO,aAAa,CAACvO,EAAImB,GAAG,SAAS,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQP,EAAIwO,MAAM,QAAUxO,EAAIyO,eAAe,MAAQ,OAAOtC,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAIyO,eAAerC,GAAQ,MAAQpM,EAAI8N,QAAQ,CAAC1N,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,UAAU,CAACE,YAAY,mBAAmBC,MAAM,CAAC,QAAS,EAAK,KAAO,SAASyM,SAAS,CAAC,OAAS,SAASZ,GAAQA,EAAOsC,kBAAmB,MAAQ,SAAStC,GAAQ,OAAIA,EAAOpK,KAAKqG,QAAQ,QAAQrI,EAAI2O,GAAGvC,EAAOwC,QAAQ,QAAQ,GAAGxC,EAAOxL,IAAI,SAAkB,KAAcZ,EAAI6O,OAAOzC,MAAW,CAAChM,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAI8O,WAAWnD,GAAKE,WAAW,iBAAiB,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAI6O,SAAS,CAAC7O,EAAImB,GAAG,SAAS,IAAI,GAAGf,EAAG,eAAe,CAACE,YAAY,8BAA8B,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAOP,EAAI+O,gBAAgB,iBAAiB,SAAS,CAAC3O,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,KAAK,MAAQ,QAAQyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM2O,EAAMC,IAAIC,OAAO,IAAM,gBAAgBhP,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,cAAc,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,aAAa,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,UAAYP,EAAIqP,cAAc,MAAQ,UAAUjP,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,KAAK,MAAQ,SAASyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIsP,SAASJ,EAAMC,QAAQ,CAACnP,EAAImB,GAAG,gBAAgB,IAAI,GAAGf,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,eAAeP,EAAIuP,YAAYC,KAAK,OAASxP,EAAIuP,YAAYE,OAAO,MAAQzP,EAAIuP,YAAYG,OAAOvD,GAAG,CAAC,qBAAqB,SAASC,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,sBAAsB,SAASA,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,iBAAiBpM,EAAI2P,eAAe,IAAI,GAAGvP,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQP,EAAIwO,MAAM,QAAUxO,EAAI4P,YAAY,MAAQ,OAAOzD,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAI4P,YAAYxD,GAAQ,MAAQpM,EAAI8N,QAAQ,CAAC1N,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,UAAU,CAACE,YAAY,mBAAmBC,MAAM,CAAC,QAAS,EAAK,KAAO,SAASyM,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAIA,EAAOpK,KAAKqG,QAAQ,QAAQrI,EAAI2O,GAAGvC,EAAOwC,QAAQ,QAAQ,GAAGxC,EAAOxL,IAAI,SAAkB,KAAcZ,EAAI6O,OAAOzC,MAAW,CAAChM,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAI8O,WAAWnD,GAAKE,WAAW,iBAAiB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAe,YAAE0L,SAAS,SAAUC,GAAM3L,EAAI6P,YAAYlE,GAAKE,WAAW,kBAAkB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,MAAM,UAAY,IAAI4L,GAAG,CAAC,OAASnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAa,UAAE0L,SAAS,SAAUC,GAAM3L,EAAI8P,UAAUnE,GAAKE,WAAW,cAAc7L,EAAIQ,GAAIR,EAAY,UAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,YAAY,CAACQ,IAAID,EAAMJ,MAAM,CAAC,MAAQG,EAAK4L,KAAK,MAAQ5L,EAAKqP,kBAAiB,IAAI,GAAG3P,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,cAAc,CAACG,MAAM,CAAC,UAAY,GAAG,QAAUP,EAAIgQ,mBAAmB,MAAQ,CAAEC,cAAe,UAAW9D,GAAG,CAAC,OAASnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAIkQ,WAAWvE,GAAKE,WAAW,iBAAiB,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAI6O,SAAS,CAAC7O,EAAImB,GAAG,SAAS,IAAI,GAAGf,EAAG,eAAe,CAACE,YAAY,8BAA8B,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAOP,EAAImQ,eAAe,iBAAiB,SAAS,CAAC/P,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM2O,EAAMC,IAAItJ,MAAM,GAAGuJ,OAAO,IAAM,gBAAgBhP,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,aAAa,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,WAAWH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,WAAW,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,gBAAgB,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,cAAc,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,MAAMyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIsP,SAASJ,EAAMC,QAAQ,CAACnP,EAAImB,GAAG,gBAAgB,IAAI,GAAGf,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,eAAeP,EAAIuP,YAAYC,KAAK,OAASxP,EAAIuP,YAAYE,OAAO,MAAQzP,EAAIuP,YAAYG,OAAOvD,GAAG,CAAC,qBAAqB,SAASC,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,sBAAsB,SAASA,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,iBAAiBpM,EAAI2P,eAAe,IAAI,GAAGvP,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQP,EAAIwO,MAAM,QAAUxO,EAAIoQ,SAAS,MAAQ,OAAOjE,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAIoQ,SAAShE,GAAQ,MAAQpM,EAAI8N,QAAQ,CAAC1N,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,UAAU,CAACE,YAAY,mBAAmBC,MAAM,CAAC,QAAS,EAAK,KAAO,SAASyM,SAAS,CAAC,OAAS,SAASZ,GAAQA,EAAOsC,kBAAmB,MAAQ,SAAStC,GAAQ,OAAIA,EAAOpK,KAAKqG,QAAQ,QAAQrI,EAAI2O,GAAGvC,EAAOwC,QAAQ,QAAQ,GAAGxC,EAAOxL,IAAI,SAAkB,KAAcZ,EAAI6O,OAAOzC,MAAW,CAAChM,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAI8O,WAAWnD,GAAKE,WAAW,iBAAiB,GAAGzL,EAAG,eAAe,CAACA,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAI6O,SAAS,CAAC7O,EAAImB,GAAG,SAAS,IAAI,IAAI,IAAI,GAAGf,EAAG,eAAe,CAACE,YAAY,8BAA8B,CAACF,EAAG,WAAW,CAAC0L,IAAI,aAAajL,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,UAAUP,EAAIqQ,UAAU,KAAOrQ,EAAI+O,gBAAgB,iBAAiB,QAAQ5C,GAAG,CAAC,mBAAmBnM,EAAIsQ,wBAAwB,CAAClQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,qBAAoB,EAAK,KAAO,YAAY,MAAQ,QAAQH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM2O,EAAMC,IAAIC,OAAO,IAAM,gBAAgBhP,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,cAAc,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,cAAc,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,aAAa,MAAQ,WAAW,IAAI,GAAGH,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,eAAeP,EAAIuP,YAAYC,KAAK,OAASxP,EAAIuP,YAAYE,OAAO,MAAQzP,EAAIuP,YAAYG,OAAOvD,GAAG,CAAC,qBAAqB,SAASC,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,sBAAsB,SAASA,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,iBAAiBpM,EAAI2P,eAAe,GAAGvP,EAAG,OAAO,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAIoQ,UAAW,KAAS,CAACpQ,EAAImB,GAAG,SAASf,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIuQ,SAAS,CAACvQ,EAAImB,GAAG,UAAU,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQP,EAAIwO,MAAM,QAAUxO,EAAIwQ,SAAS,MAAQ,OAAOrE,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAIwQ,SAASpE,GAAQ,MAAQpM,EAAI8N,QAAQ,CAAC1N,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,UAAU,CAACE,YAAY,mBAAmBC,MAAM,CAAC,QAAS,EAAK,KAAO,SAASyM,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAIA,EAAOpK,KAAKqG,QAAQ,QAAQrI,EAAI2O,GAAGvC,EAAOwC,QAAQ,QAAQ,GAAGxC,EAAOxL,IAAI,SAAkB,KAAcZ,EAAI6O,OAAOzC,MAAW,CAAChM,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAI8O,WAAWnD,GAAKE,WAAW,iBAAiB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAe,YAAE0L,SAAS,SAAUC,GAAM3L,EAAI6P,YAAYlE,GAAKE,WAAW,kBAAkB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,MAAM,UAAY,IAAI4L,GAAG,CAAC,OAASnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAa,UAAE0L,SAAS,SAAUC,GAAM3L,EAAI8P,UAAUnE,GAAKE,WAAW,cAAc7L,EAAIQ,GAAIR,EAAY,UAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,YAAY,CAACQ,IAAID,EAAMJ,MAAM,CAAC,MAAQG,EAAK4L,KAAK,MAAQ5L,EAAKqP,kBAAiB,IAAI,GAAG3P,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,cAAc,CAACG,MAAM,CAAC,UAAY,GAAG,QAAUP,EAAIgQ,mBAAmB,MAAQ,CAAEC,cAAe,UAAW9D,GAAG,CAAC,OAASnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAIkQ,WAAWvE,GAAKE,WAAW,iBAAiB,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAI6O,SAAS,CAAC7O,EAAImB,GAAG,SAAS,IAAI,GAAGf,EAAG,eAAe,CAACE,YAAY,8BAA8B,CAACF,EAAG,WAAW,CAAC0L,IAAI,gBAAgBjL,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,UAAUP,EAAIqQ,UAAU,KAAOrQ,EAAImQ,eAAe,iBAAiB,QAAQhE,GAAG,CAAC,mBAAmBnM,EAAIsQ,wBAAwB,CAAClQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,qBAAoB,EAAK,MAAQ,KAAK,KAAO,eAAeH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM2O,EAAMC,IAAItJ,MAAM,GAAGuJ,OAAO,IAAM,iBAAiBhP,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,aAAa,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,WAAWH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,WAAW,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,gBAAgB,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,cAAc,MAAQ,WAAW,IAAI,GAAGH,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,eAAeP,EAAIuP,YAAYC,KAAK,OAASxP,EAAIuP,YAAYE,OAAO,MAAQzP,EAAIuP,YAAYG,OAAOvD,GAAG,CAAC,qBAAqB,SAASC,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,sBAAsB,SAASA,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,iBAAiBpM,EAAI2P,eAAe,GAAGvP,EAAG,OAAO,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAIwQ,UAAW,KAAS,CAACxQ,EAAImB,GAAG,SAASf,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIyQ,gBAAgB,CAACzQ,EAAImB,GAAG,UAAU,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQP,EAAI0Q,mBAAmB,QAAU1Q,EAAI2Q,kBAAkB,MAAQ,OAAOxE,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAI2Q,kBAAkBvE,GAAQ,MAAQpM,EAAI8N,QAAQ,CAAC1N,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,UAAU,CAACE,YAAY,mBAAmBC,MAAM,CAAC,QAAS,EAAK,KAAO,QAAQ,cAAc,QAAQyM,SAAS,CAAC,OAAS,SAASZ,GAAQA,EAAOsC,oBAAqB,CAACtO,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAI6O,QAAQpD,MAAM,CAACvM,MAAOc,EAAkB,eAAE0L,SAAS,SAAUC,GAAM3L,EAAI4Q,eAAejF,GAAKE,WAAW,qBAAqB,GAAGzL,EAAG,eAAe,CAACA,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI6O,OAAO,yBAAyB,CAAC7O,EAAImB,GAAG,SAAS,IAAI,IAAI,IAAI,GAAGf,EAAG,eAAe,CAACE,YAAY,8BAA8B,CAACF,EAAG,WAAW,CAAC0L,IAAI,gBAAgBjL,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,QAAQ,UAAU,SAAU4O,GAAM,OAAOA,EAAI0B,IAAM,KAAO7Q,EAAI8Q,sBAAsB,iBAAiB,QAAQ3E,GAAG,CAAC,mBAAmBnM,EAAIsQ,wBAAwB,CAAClQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,qBAAoB,EAAK,MAAQ,KAAK,KAAO,eAAeH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM2O,EAAMC,IAAI3C,SAAS,IAAM,kBAAkBpM,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,OAAO,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,WAAoC,QAAxBP,EAAI0Q,oBAAsD,QAAxB1Q,EAAI0Q,mBAA4BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,YAAYP,EAAIsB,KAA8B,UAAxBtB,EAAI0Q,mBAA8BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,QAAQP,EAAIsB,KAA8B,SAAxBtB,EAAI0Q,mBAA6BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,UAAYP,EAAI+Q,qBAAqB,MAAQ,aAAa/Q,EAAIsB,KAA8B,SAAxBtB,EAAI0Q,mBAA6BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,mBAAmB,UAAYP,EAAIgR,qBAAqB,MAAQ,UAAUhR,EAAIsB,KAA8B,SAAxBtB,EAAI0Q,mBAA6BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,oBAAoB,MAAQ,YAAYP,EAAIsB,KAA8B,SAAxBtB,EAAI0Q,mBAA6BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,UAAUP,EAAIsB,KAA8B,QAAxBtB,EAAI0Q,oBAAsD,QAAxB1Q,EAAI0Q,mBAA4BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,SAASP,EAAIsB,KAAKlB,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,gBAAgB,MAAQ,WAAW,IAAI,GAAGH,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,eAAeP,EAAIuP,YAAYC,KAAK,OAASxP,EAAIuP,YAAYE,OAAO,MAAQzP,EAAIuP,YAAYG,OAAOvD,GAAG,CAAC,qBAAqB,SAASC,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,sBAAsB,SAASA,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,iBAAiB,SAASA,GAAQ,OAAOpM,EAAI2P,WAAW,sBAAsB,GAAGvP,EAAG,OAAO,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAI2Q,mBAAoB,KAAS,CAAC3Q,EAAImB,GAAG,SAASf,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIiR,oBAAoB,CAACjR,EAAImB,GAAG,UAAU,IAAI,IAAI,IAC916BU,EAAkB,G,6MC8lBtB,GACEyI,KAAM,kBAENpI,WAAY,CACVgP,UAAJ,IACIC,eAAJ,cAIEhP,KATF,WAUI,MAAO,CACLyJ,WAAY,IACZgB,SAAU,CACRwE,gBAAgB,EAChBC,YAAY,EACZC,kBAAkB,EAClBC,aAAa,EACbC,UAAU,EACVC,cAAc,EACdC,oBAAoB,EACpBC,WAAY,GACZC,WAAY,CACVC,QACV,gGACUC,KAAM,oRAGV/F,eAAgB,CACdgG,cAAc,EACdC,qBAAqB,EACrBC,eAAe,EACfC,qBAAqB,EACrBC,oBAAoB,EACpBC,oBAAoB,EACpBC,wBAAwB,EACxBC,qBAAqB,EACrBC,uBAAuB,EACvBC,wBAAwB,EACxBC,WAAR,GAEMC,eAAgB,CACdC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,mBAAmB,EACnBC,cAAc,GAGhBC,UAAW,GACXC,iBAAkB,GAClBC,aAAc,GACdC,uBAAwB,GACxBC,OAAQ,CACd,CACQ,IAAR,iGAIMC,WAAY,GACZ7E,MAAO,GACPX,cAAc,EACdE,WAAY,CACVI,OAAQ,GACRmF,WAAY,GACZC,QAAS,GACTjJ,KAAM,GACN0D,SAAU,IAEZS,gBAAgB,EAChBmB,aAAa,EACbQ,UAAU,EACVI,UAAU,EACVjB,YAAa,CACXG,MAAO,GACPD,OAAQ,8CACRD,KAAM,GAERK,YAAa,GACbf,WAAY,GACZgB,UAAW,GACXI,WAAY,GACZsD,SAAU,GACVxD,mBAAoB,GACpBG,eAAgB,GAChBpB,gBAAiB,GACjB0E,eAAgB,GAChBlH,cAAe,GAEfqE,eAAgB,GAChBE,sBAAuB,GACvBH,mBAAmB,EACnBD,mBAAoB,GACpBgD,cAAe,GACfxH,aAAN,EACMY,kBAAmB,EACnBO,mBAAoB,IAIxBjL,SAAU,CACRiM,YAAa,WACX,OAAQpO,KAAK8N,WAAWI,QACtB,KAAK,EACH,MAAO,SAET,KAAK,EACH,MAAO,SAET,KAAK,EACH,MAAO,WAIbwF,aAAc,WACZ,GAAI1T,KAAK+S,UAAUzP,OAAQ,CACzB,IAAR,sDAkBQ,OAjBI7C,EAAK6C,QACP7C,EAAKkT,SAAQ,SAAvB,GACY,GAAIC,EAAKnH,MAAO,CACd,IAAd,qBACA,iBACc,IAAc,GAAV/L,EAAa,CACf,IAAhB,+BACgBkT,EAAKC,SAAW3Q,EAAI,GACpB0Q,EAAKE,SAAW5Q,EAAI,QAEpB0Q,EAAKC,SAAWD,EAAKnH,MACrBmH,EAAKE,SAAW,SAMjBrT,IAGXsT,QAAS,WACP,GAAI/T,KAAKgT,iBAAiB1P,OAAQ,CAChC,IAAR,6DACQ,GAAI7C,EAAK6C,OAeP,OAdA7C,EAAKkT,SAAQ,SAAvB,GACY,GAAIC,EAAKnH,MAAO,CACd,IAAd,qBACA,iBACc,IAAc,GAAV/L,EAAa,CACf,IAAhB,+BACgBkT,EAAKC,SAAW3Q,EAAI,GACpB0Q,EAAKE,SAAW5Q,EAAI,QAEpB0Q,EAAKC,SAAWD,EAAKnH,MACrBmH,EAAKE,SAAW,SAIfrT,IAIbuT,SAAU,WACR,GAAIhU,KAAKiT,aAAa3P,OAAQ,CAC5B,IAAR,yDACQ,GAAI7C,EAAK6C,OAeP,OAdA7C,EAAKkT,SAAQ,SAAvB,GACY,GAAIC,EAAKnH,MAAO,CACd,IAAd,qBACA,iBACc,IAAc,GAAV/L,EAAa,CACf,IAAhB,+BACgBkT,EAAKC,SAAW3Q,EAAI,GACpB0Q,EAAKE,SAAW5Q,EAAI,QAEpB0Q,EAAKC,SAAWD,EAAKnH,MACrBmH,EAAKE,SAAW,SAIfrT,IAIbwT,UAAW,WACT,IAAN,KAYM,OAXAjU,KAAKsM,cAAcqH,SAAQ,SAAjC,GACYlT,EAAKyT,MAAM5Q,QACb7C,EAAKyT,MAAMP,SAAQ,SAA7B,GACgBlT,EAAK0T,MAAM7Q,QACb7C,EAAK0T,MAAMR,SAAQ,SAAjC,GACgBzQ,EAAIK,KAAK9C,EAAKmQ,aAMjB1N,GAETkR,SAAU,WAAd,WACM,OAAOpU,KAAK6Q,sBAAsBwD,QAAO,SAA/C,GACQC,QAAQC,IAAI,EAApB,gBAKEnS,QAAS,CAEPoS,cAFJ,WAGM,IAAN,OACM,EAAN,mCACQ,GAAqB,KAAjBhS,EAAIC,UAAkB,CACxB,IAAV,SACA,GACY0O,eAAgBzO,EAAKyO,eACrBC,WAAY1O,EAAK0O,WACjBC,iBAAkB3O,EAAK2O,iBACvBC,YAAa5O,EAAK4O,YAClBC,SAAU7O,EAAK6O,SACfC,aAAc9O,EAAK8O,aACnBC,mBAAoB/O,EAAK+O,mBACzBC,WAAYhP,EAAK+R,OACjB9C,WAAY,CACVC,QACd,gGACcC,KAAM,oRAGpB,GACY6C,aAAchS,EAAKiS,aACnBC,YAAalS,EAAKmS,WAClBjC,kBAAmBlQ,EAAKoS,kBACxBC,YAAarS,EAAKsS,eAE9B,GACYtC,WAAYhQ,EAAKuS,YACjBtC,eAAgBjQ,EAAKwS,YACrBtC,kBAAmBlQ,EAAKyS,eACxBtC,kBAAmBnQ,EAAK0S,OACxBtC,aAAcpQ,EAAK2S,iBAE/B,KACU3S,EAAK4S,aAAa3B,SAAQ,SAApC,SACYZ,EAAUxP,MAAtB,GACcgS,eAAgB9U,EAAK8U,eACrBjC,QAAS7S,EAAK6S,QACd/E,MAAO9N,EAAK4L,KACZkH,SAAU9S,EAAK8S,SACfiC,QAAS/U,EAAK+U,SAL5B,4BAMA,YANA,0BAOA,UAPA,yBAQA,SARA,4BASA,YATA,yBAUA,SAVA,4BAWA,YAXA,OAcU,IAAV,KACU9S,EAAK+S,QAAQ9B,SAAQ,SAA/B,GACYX,EAAiBzP,KAAK,CACpBmS,UAAWjV,EAAKiV,UAChBpC,QAAS7S,EAAK6S,QACd/E,MAAO9N,EAAK4L,KACZsJ,UAAWlV,EAAKkV,UAChBH,QAAS/U,EAAK+U,QACdjC,SAAU9S,EAAK8S,SACfpE,OAAQ1O,EAAK0O,YAGjB,IAAV,KACUzM,EAAKkT,eAAejC,SAAQ,SAAtC,GACYV,EAAa1P,KAAK,CAChB+P,QAAS7S,EAAK6S,QACdzE,WAAYpO,EAAK4L,KACjBuD,YAAanP,EAAKmP,YAClBpD,cAAe/L,EAAKoP,UACpBV,OAAQ1O,EAAK0O,OACb0G,OAAQpV,EAAKoV,OACbpJ,MAAOhM,EAAKgM,MACZqJ,SAAUrV,EAAKqV,cAGnBxT,EAAKqK,SAAWA,EAChBrK,EAAKwJ,eAAiBA,EACtBxJ,EAAKmQ,eAAiBA,EAEtBnQ,EAAKyQ,UAAYA,EACjBzQ,EAAK0Q,iBAAmBA,EACxB1Q,EAAK2Q,aAAeA,OAK1B8C,cAvFJ,WAwFM,IAAN,OACMzT,EAAKwM,gBAAkB,GACvB,IAAN,GACQkH,QAAS1T,EAAKgN,YAAYC,MAExBjN,EAAKuM,aACPoH,EAAS,CACP1H,MAAOjM,EAAKuM,WACZmH,QAAS1T,EAAKgN,YAAYC,OAG9B,EAAN,2CAC6B,KAAjB/M,EAAIC,WACNH,EAAKwM,gBAAkBtM,EAAI0T,KAC3B5T,EAAKgN,YAAYG,MAAQjN,EAAI2T,OAE7B7T,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAKlBoM,cA/GJ,SA+GA,GACM,OAAOF,EAAIyG,UAAJzG,MAAkCA,EAAIsG,SAG/CY,kBAnHJ,WAoHM,IAAN,OACM9T,EAAKwM,gBAAkB,GACvB,IAAN,GACQkH,QAAS1T,EAAKgN,YAAYC,MAExBjN,EAAKuM,aACPoH,EAAS,CACP1H,MAAOjM,EAAKuM,WACZmH,QAAS1T,EAAKgN,YAAYC,OAG9B,EAAN,+CAC6B,KAAjB/M,EAAIC,WACNH,EAAKwM,gBAAkBtM,EAAI0T,KAC3B5T,EAAKgN,YAAYG,MAAQjN,EAAI2T,OAE7B7T,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlBqT,WA5IJ,WA4IA,WACA,GACQzG,YAAa5P,KAAK4P,YAClBC,UAAW7P,KAAK6P,UAChBhB,WAAY7O,KAAK6O,WACjBoB,WAAYjQ,KAAKiQ,WAAajQ,KAAKiQ,WAAW,GAAK,GACnDqG,QAAQ,EACRN,QAAShW,KAAKsP,YAAYC,MAE5B,EAAN,wCAC6B,KAAjB/M,EAAIC,WACN,EAAV,sBACU,EAAV,2BAEUH,KAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlBuT,YAlKJ,WAkKA,WACM,EAAN,wCAC6B,KAAjB/T,EAAIC,UACN,EAAV,gBAEUH,KAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlBwT,4BA/KJ,WA+KA,WACM,EAAN,wDACQ,GAAqB,KAAjBhU,EAAIC,UAAkB,CACxB,IAAV,KACUD,EAAIE,KAAKiR,SAAQ,SAA3B,GACY,IAAZ,GACc8C,MAAOjU,EAAI6J,KACXpN,MAAOuD,EAAIyN,WACXyG,SAAU,IAERlU,EAAI0R,OAAS1R,EAAI0R,MAAM5Q,QACzBd,EAAI0R,MAAMP,SAAQ,SAAhC,GACgBlU,EAAIiX,SAASnT,KAAK,CAChBkT,MAAOjU,EAAI6J,KACXpN,MAAOuD,EAAIyN,gBAKjB/M,EAAIK,KAAK9D,MAEX,EAAV,0BAEU6C,KAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlB2T,UA9MJ,WA+MM,IAAN,OACUrU,EAAKqK,SAAS+E,WAAWpO,QAAU,EACrChB,EAAKM,SAASC,MAAM,CAClBC,QAAS,aACTE,SAAU,OAIdV,EAAKsL,cAAe,EACpB5N,KAAKoT,WAAa,WAGpBjF,YA3NJ,WA4NM,IAAN,OACM,OAAQ7L,EAAKwL,WAAWI,QACtB,KAAK,EACH5L,EAAKqN,aAAc,EACnBrN,EAAKiM,MAAQ,OACbjM,EAAK+T,aACL,MACF,KAAK,EACH/T,EAAKkM,gBAAiB,EACtBlM,EAAKiM,MAAQ,OACbjM,EAAK8T,oBACL,MACF,KAAK,EACH9T,EAAKkM,gBAAiB,EACtBlM,EAAKiM,MAAQ,OACbjM,EAAKyT,gBACL,QAIN1G,SAhPJ,SAgPA,GACM,IAAN,OACM,OAAQ/M,EAAKwL,WAAWI,QACtB,KAAK,EACH5L,EAAKqN,aAAc,EACnBrN,EAAKiM,MAAQ,GACbjM,EAAKwL,WAAWzD,KAAO6E,EAAIL,WAC3BvM,EAAKwL,WAAWwF,QAAUpE,EAAIoE,QAC9BhR,EAAKwL,WAAWuF,WAAa,KAC7B,MACF,KAAK,EACH/Q,EAAKkM,gBAAiB,EACtBlM,EAAKiM,MAAQ,GACbjM,EAAKwL,WAAWzD,KAAO6E,EAAIX,MAC3BjM,EAAKwL,WAAWwF,QAAUpE,EAAI0H,YAC9BtU,EAAKwL,WAAWuF,WAAanE,EAAIqG,eACjC,MACF,KAAK,EACHjT,EAAKkM,gBAAiB,EACtBlM,EAAKiM,MAAQ,GACbjM,EAAKwL,WAAWzD,KAAO6E,EAAIX,MAC3BjM,EAAKwL,WAAWwF,QAAUpE,EAAI0H,YAC9BtU,EAAKwL,WAAWuF,WAAanE,EAAIwG,UACjC,QAINrH,YA3QJ,WA4QM,IAAN,OACM/L,EAAKwL,WAAWzD,KAAO,GACvB/H,EAAKwL,WAAWwF,QAAU,KAC1BhR,EAAKwL,WAAWuF,WAAa,MAG/B/E,WAlRJ,WAmRM,IAAN,OACM,GAAKhM,EAAKwL,WAAWC,SAOrB,GAAKzL,EAAKwL,WAAWI,OAOrB,GAAK5L,EAAKwL,WAAWuF,YAAe/Q,EAAKwL,WAAWwF,QAApD,CAOA,IAAN,GACQpF,OAAQ5L,EAAKwL,WAAWI,OACxBmF,WAAY/Q,EAAKwL,WAAWuF,WAC5BC,QAAShR,EAAKwL,WAAWwF,QACzBvF,SAAUzL,EAAKwL,WAAWC,UAE5BzL,EAAKqK,SAAS+E,WAAWnO,KAAK0S,QAZ5B3T,EAAKM,SAASC,MAAM,CAClBC,QAAS,UACTE,SAAU,WATZV,EAAKM,SAASC,MAAM,CAClBC,QAAS,UACTE,SAAU,WATZV,EAAKM,SAASC,MAAM,CAClBC,QAAS,QACTE,SAAU,OA2BhB6T,YAlTJ,SAkTA,GACMvC,QAAQC,IAAI,GAAI7T,GAChB,IAAN,OACA,6BACM4B,EAAKyJ,KACX,sBACA,IACA,0BAEMzJ,EAAKyJ,KAAKzJ,EAAKqK,SAAS+E,WAAYhR,EAAOjB,GAC3C6C,EAAKqK,SAAS+E,WAAapP,EAAKqK,SAAS+E,YAG3CoF,aA/TJ,SA+TA,GACM,IAAN,OACA,6BACMxU,EAAKyJ,KACX,sBACA,IACA,0BAEMzJ,EAAKyJ,KAAKzJ,EAAKqK,SAAS+E,WAAYhR,EAAOjB,IAG7CsX,UA1UJ,SA0UA,GACM/W,KAAK2M,SAAS+E,WAAWsF,OAAOtW,EAAO,IAGzCkO,OA9UJ,SA8UA,GACM,IAAN,OACM,OAAQtP,GACN,IAAK,qBAEHU,KAAKsP,YAAYC,KAAO,EACxB,IAAV,KACU,OAAQjN,EAAKmO,oBACX,IAAK,OACHwG,EAAU,uBACV,MACF,IAAK,OACHA,EAAU,uBACV,MACF,IAAK,SACHA,EAAU,2BACV,MACF,IAAK,QACHA,EAAU,wBACV,MACF,IAAK,QACHA,EAAU,0BACV,MACF,IAAK,QACHA,EAAU,2BACV,MAEJ3U,EAAK4U,kBAAkBD,GACvB,QAcNvH,WAxXJ,SAwXA,GACM,IAAN,OACM,OAAQ3N,GACN,IAAK,gBAEH,IAAV,KACU,OAAQO,EAAKmO,oBACX,IAAK,OACHwG,EAAU,uBACV,MACF,IAAK,OACHA,EAAU,uBACV,MACF,IAAK,SACHA,EAAU,2BACV,MACF,IAAK,QACHA,EAAU,wBACV,MACF,IAAK,QACHA,EAAU,0BACV,MACF,IAAK,QACHA,EAAU,2BACV,MAEJ3U,EAAK4U,kBAAkBD,GACvB,QAaNhJ,0BAhaJ,SAgaA,GACM,IAAN,OACA,GACQkB,OAAQnJ,GAEV,EAAN,uBACA,kBACA,iBACU,EAAV,8BAEU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,yBAEIgI,mBAlbJ,SAkbA,GACM,IAAN,OACA,KAEA,sBACA,sBACA,wBAEQmJ,GAAa,GAEf,IAAN,mBAEM,IAAKA,EAEH,OADAnX,KAAK4C,SAASC,MAAM,oBACb,EAET,IAAKuU,EAEH,OADApX,KAAK4C,SAASC,MAAM,sBACb,EAGT,IAAN,iBAMM,OALAwU,EAAOC,cAAcC,GACrBF,EAAOtR,OAAS,SAAUyR,GACxB,IAAR,kBACQlV,EAAK2L,0BAA0BjI,KAE1B,GAGTyR,gBAhdJ,WAidM,IAAN,OACMnV,EAAK6N,UAAW,EAChB7N,EAAKiM,MAAQ,OACbjM,EAAK8T,qBAGPsB,QAvdJ,WAwdM,IAAN,OACMpV,EAAK6N,UAAW,EAChB7N,EAAKiM,MAAQ,OACbjM,EAAKyT,iBAGP4B,UA9dJ,WA+dM,IAAN,OACMrV,EAAKiO,UAAW,EAChBjO,EAAKiM,MAAQ,OACbjM,EAAK+T,cAIP/F,OAteJ,WAueM,IAAN,OACM,GAAkB,QAAdhO,EAAKiM,MAAiB,CACxB,IAAKjM,EAAKkR,eAAelQ,OAKvB,YAJAhB,EAAKM,SAASC,MAAM,CAClBC,QAAS,WACTE,SAAU,MAIdV,EAAKyQ,UAAYzQ,EAAKkR,eAExB,GAAkB,QAAdlR,EAAKiM,MAAiB,CACxB,IAAKjM,EAAKkR,eAAelQ,OAKvB,YAJAhB,EAAKM,SAASC,MAAM,CAClBC,QAAS,WACTE,SAAU,MAIdV,EAAK0Q,iBAAmB1Q,EAAKkR,eAE/BlR,EAAK6N,UAAW,GAElByH,QA9fJ,SA8fA,GACM,OACN,+BACA,sBACA,uBAFA,MAOA,2EAKIpH,cA5gBJ,WA6gBM,IAAN,OACWlO,EAAKkR,eAAelQ,QAOzBhB,EAAK2Q,aAAe3Q,EAAKkR,eACzBlR,EAAKiO,UAAW,GAPdjO,EAAKM,SAASC,MAAM,CAClBC,QAAS,WACTE,SAAU,OAOhBoN,UAxhBJ,SAwhBA,GACM,MAAkB,QAAdpQ,KAAKuO,MACAW,EAAIwG,UACnB,mBACexG,EAAIqG,eAEJrG,EAAIoE,SAIfjD,sBAliBJ,SAkiBA,GACMrQ,KAAKwT,eAAiBlU,GAGxBuY,OAtiBJ,SAsiBA,KACkB,MAAR9V,EACF/B,KAAK+S,UAAUiE,OAAOtW,EAAO,GACrC,QACQV,KAAKgT,iBAAiBgE,OAAOtW,EAAO,GAC5C,SACQV,KAAKiT,aAAa+D,OAAOtW,EAAO,IAIpCmN,MAhjBJ,WAijBM7N,KAAK8X,MAAMxL,cAAcyL,iBACzB/X,KAAKyQ,mBAAqB,GAC1BzQ,KAAK2Q,eAAiB,GACtB3Q,KAAKsP,YAAYC,KAAO,GAwB1ByI,OA5kBJ,WA6kBM,IAAN,OACA,aACA,sBACA,sBACA,KACA,KACA,KACA,wBACM1D,QAAQC,IAAIjS,EAAKyQ,WACjBzQ,EAAKyQ,UAAUY,SAAQ,SAA7B,GACQ,IAAR,GACU/C,GAAInQ,EAAK8U,eACTjC,QAAS7S,EAAKmW,YAAcnW,EAAKmW,YAAcnW,EAAK6S,SAEtDgC,EAAa/R,KAAK9D,MAEpB6U,QAAQC,IAAIjS,EAAK0Q,kBACjB1Q,EAAK0Q,iBAAiBW,SAAQ,SAApC,GACQ,IAAR,GACU/C,GAAInQ,EAAKiV,UACTpC,QAAS7S,EAAKmW,YAAcnW,EAAKmW,YAAcnW,EAAK6S,SAEtDmC,EAAQlS,KAAK9D,MAEf6U,QAAQC,IAAIjS,EAAK2Q,cAEjB3Q,EAAK2Q,aAAaU,SAAQ,SAAhC,GACQ,IAAR,GACUL,QAAS7S,EAAK6S,SAEhBsC,EAAerS,KAAK9D,MAGtB,IAAN,GACQ0R,eAAgBxE,EAASwE,eACzBC,WAAYzE,EAASyE,WACrBC,iBAAkB1E,EAAS0E,iBAC3BC,YAAa3E,EAAS2E,YACtBC,SAAU5E,EAAS4E,SACnBC,aAAc7E,EAAS6E,aACvBC,mBAAoB9E,EAAS8E,mBAC7BkD,aAAc7I,EAAe4I,aAC7BG,WAAY/I,EAAe8I,YAC3BE,kBAAmBhJ,EAAe8G,kBAClCoC,cAAelJ,EAAeiJ,YAC9BE,YAAaxC,EAAeC,WAC5BwC,YAAazC,EAAeE,eAC5BwC,eAAgB1C,EAAeG,kBAC/BwC,OAAQ3C,EAAeI,kBACvBwC,gBAAiB5C,EAAeK,aAChCwC,aAAcA,EACdG,QAASA,EACTG,eAAgBA,EAChBnB,OAAQwD,GAEV,EAAN,uCAC6B,KAAjBzV,EAAIC,UACNH,EAAKM,SAASsV,QAAQ,CACpBpV,QAAS,OACTE,SAAU,MAGZV,EAAKM,SAASsV,QAAQ,CACpBpV,QAASN,EAAIO,QACbC,SAAU,UAOlBmV,gBAppBJ,SAopBA,GACM,IAAN,OACM7V,EAAKwJ,eAAe0G,UAAYvR,EAChCqB,EAAKwJ,eAAeoG,mBAAqBjR,EACzCqB,EAAKwJ,eAAeqG,mBAAqBlR,EACzCqB,EAAKwJ,eAAesG,uBAAyBnR,EAC7CqB,EAAKwJ,eAAeuG,oBAAsBpR,EAC1CqB,EAAKwJ,eAAewG,sBAAwBrR,EAC5CqB,EAAKwJ,eAAeyG,uBAAyBtR,GAK/CyM,iBAjqBJ,WAkqBM,IAAN,OACA,GACQrB,KAAM,GACN6H,MAAO,CACf,CACU,KAAV,GACU,MAAV,MAIM5R,EAAKgK,cAAc/I,KAAK9D,IAG1BgO,kBA/qBJ,SA+qBA,GACM6G,QAAQC,IAAI7T,GACZ,IAAN,OACA,GACQ2L,KAAM,GACN8H,MAAO,IAET7R,EAAKgK,cAAc5L,GAAOwT,MAAM3Q,KAAK9D,IAGvCwN,iBAzrBJ,SAyrBA,GACM,IAAN,OACM3K,EAAKgK,cAAc0K,OAAOtW,EAAO,IAGnC2M,kBA9rBJ,SA8rBA,KACM,IAAN,OACM/K,EAAKgK,cAAcM,GAAQsH,MAAM8C,OAAO9J,EAAQ,IAGlDK,SAnsBJ,SAmsBA,OACMvN,KAAKsM,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAM6C,OAAO1J,EAAQ,IAGhE4J,kBAvsBJ,SAusBA,GACM,IAAN,OACA,GACQlB,QAAS1T,EAAKgN,YAAYC,KAC1BlD,KAAM/J,EAAKqO,gBAEb,EAAN,mCAC6B,KAAjBnO,EAAIC,WACNH,EAAKuO,sBAAwBrO,EAAI0T,KACjC5T,EAAKgN,YAAYG,MAAQjN,EAAI2T,OAE7B7T,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlBwK,SA1tBJ,SA0tBA,OACM,IAAN,OACMlL,EAAKoO,mBAAoB,EACzBpO,EAAKmR,cAAgB,CAAC7G,EAAQM,GAE9B,IACN,EADA,KAEM,OAAQnL,GACN,IAAK,UACHkV,EAAU,uBACV3U,EAAKmO,mBAAqB,OAC1B2H,EAAO9V,EAAKgK,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAME,QAAO,SAAvE,kCACU,MACF,IAAK,UACH4C,EAAU,uBACV3U,EAAKmO,mBAAqB,OAC1B2H,EAAO9V,EAAKgK,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAME,QAAO,SAAvE,kCACU,MACF,IAAK,cACH4C,EAAU,2BACV3U,EAAKmO,mBAAqB,SAC1B2H,EAAO9V,EAAKgK,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAME,QAAO,SAAvE,oCACU,MACF,IAAK,WACH4C,EAAU,wBACV3U,EAAKmO,mBAAqB,QAC1B2H,EAAO9V,EAAKgK,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAME,QAAO,SAAvE,mCACU,MACF,IAAK,WACH4C,EAAU,0BACV3U,EAAKmO,mBAAqB,QAC1B2H,EAAO9V,EAAKgK,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAME,QAAO,SAAvE,mCAEU,MACF,IAAK,cACH4C,EAAU,2BACV3U,EAAKmO,mBAAqB,QAC1B2H,EAAO9V,EAAKgK,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAME,QAAO,SAAvE,mCACU,MAEJrU,KAAKkX,kBAAkBD,GAEnBmB,EAAK9U,QACP8U,EAAKzE,SAAQ,SAArB,GACclT,EAAK6S,UACP7S,EAAKmQ,GAAKnQ,EAAK6S,YAIrBhR,EAAK+V,WAAU,WACb/V,EAAKwV,MAAMxL,cAAcyL,iBACrBK,EAAK9U,QACP8U,EAAKzE,SAAQ,SAAvB,GACYrR,EAAKwV,MAAMxL,cAAcgM,mBAAmBpJ,UAMpD8B,kBArxBJ,WAsxBM,IAAN,OACM,GAAK1O,EAAKkR,eAAelQ,OAAzB,CAOA,IAAN,qBACA,qBACMhB,EAAKgK,cAAcM,GAAQsH,MAAMhH,GAAQiH,MAAQ,OAAvD,OAAuD,CAAvD,kBACM7R,EAAKoO,mBAAoB,EACzBpO,EAAKgN,YAAYC,KAAO,EACxBjN,EAAKkR,eAAiB,GACtBlR,EAAKwV,MAAMxL,cAAcyL,sBAZvBzV,EAAKM,SAASC,MAAM,CAClBC,QAAS,QACTE,SAAU,OAahB2K,wBAvyBJ,WAwyBM,IAAN,OACM,OAAQrL,EAAKqJ,YACX,IAAK,IACHrJ,EAAKwV,MAAM5G,eAAeqH,iBAC1B,MACF,IAAK,IACHjW,EAAKkW,2BACL,MACF,IAAK,IACHlW,EAAKmW,sBACL,QAMNA,oBAxzBJ,WA2zBM,IAAN,OACA,GACQC,SAAU,IAEZpW,EAAKgK,cAAcqH,SAAQ,SAAjC,KACQ,IAAR,GACUtH,KAAMsM,EAAMtM,KACZ6H,MAAO,IAELyE,EAAMzE,MAAM5Q,QACdqV,EAAMzE,MAAMP,SAAQ,SAA9B,KACYlU,EAAIyU,MAAMhH,GAAU,CAClBb,KAAMuM,EAAMvM,KACZ8H,MAAO,IAELyE,EAAMzE,MAAM7Q,QACdsV,EAAMzE,MAAMR,SAAQ,SAAlC,KACgBlU,EAAIyU,MAAMhH,GAAQiH,MAAM7G,GAAU,CAChCuC,UAAWgJ,EAAMhJ,UACjByD,QAASuF,EAAMvF,QAAUuF,EAAMvF,QAAUuF,EAAMjI,UAMzDqF,EAAOyC,SAASnV,KAAK9D,MAEvB,EAAN,oDAC6B,KAAjB+C,EAAIC,UACNH,EAAKM,SAASsV,QAAQ,CACpBpV,QAAS,OACTE,SAAU,MAGZV,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAOlBwV,yBAt2BJ,WAu2BM,IAAN,OACA,mBACM,EAAN,yDAC6B,KAAjBhW,EAAIC,UACNH,EAAKM,SAASsV,QAAQ,CACpBpV,QAAS,OACTE,SAAU,MAGZV,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UASlB8V,sBA33BJ,WA43BM,IAAN,OACM,EAAN,qDAC6B,KAAjBtW,EAAIC,UACNH,EAAKwJ,eAAiBtJ,EAAIE,KAE1BJ,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UASlB+V,iBA54BJ,WA64BM,IAAN,OACM,EAAN,gDACQ,GAAqB,KAAjBvW,EAAIC,UAAkB,CACxB,IAAKD,EAAIE,KAAKY,OAAQ,OACtBd,EAAIE,KAAKiR,SAAQ,SAA3B,GACgBlT,EAAKyT,MAAM5Q,QACb7C,EAAKyT,MAAMP,SAAQ,SAAjC,GACoBlT,EAAK0T,MAAM7Q,QACb7C,EAAK0T,MAAMR,SAAQ,SAArC,GACoBlT,EAAK4L,KAAO5L,EAAKuY,mBAM3B1W,EAAKgK,cAAgB9J,EAAIE,UAEzBJ,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAKlB8N,qBAr6BJ,SAq6BA,GACM,OAAwB,GAApB5B,EAAI+J,cAA6C,GAAxB/J,EAAIgK,iBACxB,MAEAhK,EAAI+J,cAGflI,qBA56BJ,SA46BA,GACM,OAAwB,GAApB7B,EAAI+J,cAA6C,GAAxB/J,EAAIgK,iBACxB,MAEAhK,EAAIgK,kBAIf9M,aAp7BJ,SAo7BA,GACMpM,KAAKiM,aAAX,IAOEnI,MAAO,CACL,oBAAqB,CACnBqV,QADN,WAEQnZ,KAAK8N,WAAWzD,KAAO,KAG3B,cAAJ,CACM8O,QADN,WAEQnZ,KAAKiM,aAAb,KAKEjI,QAnpCF,WAopCI,IAAJ,OACI1B,EAAKwW,yBAGP5U,QAxpCF,WAgqCIlE,KAAK+Y,qBC/vD8W,I,wBCQnXxU,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,8BCnBfnG,EAAOC,QAAU,k/C,oCCEjB,SAAS+a,EAAaC,EAAQC,GAC5B,IAAIC,EAAOD,EAAShW,OAChBkW,EAAOH,EAAO/V,OAClB,GAAIkW,EAAOD,EACT,OAAO,EAET,GAAIC,IAASD,EACX,OAAOF,IAAWC,EAEpBG,EAAO,IAAK,IAAI5R,EAAI,EAAG6R,EAAI,EAAG7R,EAAI2R,EAAM3R,IAAK,CAC3C,IAAI8R,EAAMN,EAAOtR,WAAWF,GAC5B,MAAO6R,EAAIH,EACT,GAAID,EAASvR,WAAW2R,OAASC,EAC/B,SAASF,EAGb,OAAO,EAET,OAAO,EAGTrb,EAAOC,QAAU+a,G,kCCvBjB,uBAMe,cAGXQ,YAAa,SAAA3D,GACT,OAAO4D,UAAS,iCAAkC5D,IAGtD6D,kBAAmB,SAAA7D,GACf,OAAO4D,UAAS,0BAA2B5D,IAG/C8D,eAAgB,SAAA9D,GACZ,OAAO4D,UAAS,sBAAuB5D,IAG3C+D,eAAgB,SAAA/D,GACZ,OAAO4D,UAAS,sBAAuB5D,IAG3CgE,2BAA4B,SAAAhE,GACxB,OAAO4D,UAAS,0CAA2C5D,IAG/DiE,0BAA2B,SAAAjE,GACvB,OAAO4D,UAAS,yCAA0C5D,IAI9DkE,mBAAoB,SAAAlE,GAClB,OAAO4D,iBAAgB,qBAAsB5D,M,qBCnCnD,IAAI3X,EAAS,EAAQ,QACjBU,EAAY,EAAQ,QACpB0L,EAAiB,EAAQ,QAGzB0P,EAAU,gBACVC,EAAe,qBAGfxb,EAAiBP,EAASA,EAAOQ,iBAAcC,EASnD,SAASub,EAAWrb,GAClB,OAAa,MAATA,OACeF,IAAVE,EAAsBob,EAAeD,EAEtCvb,GAAkBA,KAAkBL,OAAOS,GAC/CD,EAAUC,GACVyL,EAAezL,GAGrBb,EAAOC,QAAUic,G,oCC3BjB,uBAEe,cAEXtC,OAAQ,SAAA/B,GACJ,OAAO4D,UAAS,sBAAuB5D,IAG3CsE,IAAK,SAAAtE,GACD,OAAO4D,UAAS,mBAAoB5D,IAGxCuE,WAAY,SAAAvE,GACR,OAAO4D,UAAS,yBAA0B5D,IAG9CwE,eAAgB,SAAAxE,GACZ,OAAO4D,UAAS,kCAAmC5D,IAGvDyE,QAAS,SAAAzE,GACL,OAAO4D,UAAS,oBAAqB5D,IAGzC1C,SAAU,WACN,OAAOsG,UAAS,2BAGpBc,yBAA0B,SAAA1E,GACtB,OAAO4D,UAAS,gCAAiC5D,IAGrD2E,SAAU,SAAA3E,GACN,OAAO4D,UAAS,yBAA0B5D,IAG9C4E,qBAAsB,SAAA5E,GAClB,OAAO4D,UAAS,kCAAmC5D,IAGvD6E,qBAAsB,SAAA7E,GAClB,OAAO4D,UAAS,kCAAmC5D,IAGvD8E,sBAAuB,SAAA9E,GACnB,OAAO4D,UAAS,mCAAoC5D,IAGxD+E,wBAAyB,SAAA/E,GACrB,OAAO4D,UAAS,qCAAsC5D,IAG1DgF,yBAA0B,SAAAhF,GACtB,OAAO4D,UAAS,sCAAuC5D,IAG3DiF,yBAA0B,SAAAjF,GACtB,OAAO4D,UAAS,sCAAuC5D,IAG3DwC,oBAAqB,SAAAxC,GACjB,OAAO4D,UAAS,iCAAkC5D,IAGtD8C,iBAAkB,SAAA9C,GACd,OAAO4D,UAAS,8BAA+B5D,IAGnDkF,cAAe,SAAAlF,GACb,OAAO4D,UAAS,6BAA8B5D,IAGhDsC,eAAgB,SAAAtC,GACd,OAAO4D,UAAS,sBAAuB5D,IAGzCmF,YAAa,SAAAnF,GACX,OAAO4D,UAAS,2BAA4B5D,IAG9C6C,sBAAuB,SAAA7C,GACrB,OAAO4D,UAAS,yBAA0B5D,IAG5CuC,yBAA0B,SAAAvC,GACxB,OAAO4D,UAAS,4BAA6B5D,M,uBCrFnD,IAAI3K,EAAO,EAAQ,QAkBfhF,EAAM,WACR,OAAOgF,EAAKjF,KAAKC,OAGnBlI,EAAOC,QAAUiI,G,mBCRjB,SAAS+U,EAAKC,GACZ,IAAIhY,EAAkB,MAATgY,EAAgB,EAAIA,EAAMhY,OACvC,OAAOA,EAASgY,EAAMhY,EAAS,QAAKvE,EAGtCX,EAAOC,QAAUgd,G,mBCnBjBjd,EAAOC,QAAU,8vD,uBCAjB,IAAIkd,EAAoB9R,EAAQ,QAE5B+R,EAAkB/R,EAAQ,QAE1BgS,EAAoBhS,EAAQ,QAEhC,SAASiS,EAAmBxY,GAC1B,OAAOqY,EAAkBrY,IAAQsY,EAAgBtY,IAAQuY,IAG3Drd,EAAOC,QAAUqd,G,gDCVjB,IAAIC,EAAW,EAAQ,QA4BvB,SAASC,EAAU3c,GACjB,IAAIM,EAASoc,EAAS1c,GAClB4c,EAAYtc,EAAS,EAEzB,OAAOA,IAAWA,EAAUsc,EAAYtc,EAASsc,EAAYtc,EAAU,EAGzEnB,EAAOC,QAAUud,G,qBCnCjBxd,EAAOC,QAAU,kzC,oCCAjB,uBAMe,cAEXyd,aAAa,WACT,OAAOjC,UAAS,gCAEpBkC,UAAW,SAAA9F,GACP,OAAO4D,UAAS,kBAAmB5D,IAEvC+F,UAAW,SAAA/F,GACP,OAAO4D,UAAS,uBAAwB5D,IAG5CgG,eAAgB,SAAAhG,GACZ,OAAO4D,UAAS,4BAA6B5D,IAGjDiG,iBAAkB,SAAAjG,GACd,OAAO4D,UAAS,8BAA+B5D,IAGlDkG,uBAAuB,WACpB,OAAOtC,UAAS,iCAEpBuC,oBAAqB,SAAAnG,GACjB,OAAO4D,UAAS,gCAAiC5D,IAGrDoG,aAAc,SAAApG,GACV,OAAO4D,UAAS,oBAAqB5D,IAGzCqG,aAAc,SAAArG,GACV,OAAO4D,UAAS,oBAAqB5D,IAGzCsG,oBAAqB,SAAAtG,GACnB,OAAO4D,UAAS,uCAAwC5D,IAG1DuG,WAAY,SAAAvG,GACR,OAAO4D,UAAS,kBAAmB5D,M,qBC9C3C7X,EAAOC,QAAU,IAA0B,0B,2CCA3C,IAAIyB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iBAAiBoc,MAAO1c,EAAI2c,iBAC9I9a,EAAkB,GCMtB,GACA,qBACEE,MAAF,CAYI6a,kBAAJ,CACM5a,KAAN,OACMC,QAAN,WACQ,MAAO,CAAf,qDAMEC,WAAY,GAEZC,KAzBF,WA0BI,MAAO,IAMTC,SAAU,GAGVC,QAAS,CAEPsa,YAFJ,WAGM,IAAN,gDAEM,MAAN,CACA,aACA,sDACA,yBACA,gDACA,iBAME5Y,MAAO,GAEPE,QArDF,aAuDEE,QAvDF,cCPoY,I,wBCQhYK,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,0DCnBf,YACA,IAAI4G,EAA8B,iBAAVyR,GAAsBA,GAAUA,EAAOpe,SAAWA,QAAUoe,EAEpFxe,EAAOC,QAAU8M,I,qICHF,SAAS0R,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIld,UAAU,qCCFxB,SAASmd,EAAkBC,EAAQnb,GACjC,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CACrC,IAAIqV,EAAapb,EAAM+F,GACvBqV,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAInC,SAASK,EAAaR,EAAaS,EAAYC,GAG5D,OAFID,GAAYR,EAAkBD,EAAYte,UAAW+e,GACrDC,GAAaT,EAAkBD,EAAaU,GACzCV,E,yBCLHW,G,qBAEJ,WAAYC,GAAO,UACjB3d,KAAK2d,OAASA,E,0CAGhB,WAAkB,WAChB,OAAO,IAAIlY,SAAQ,SAACC,EAASkY,GAC3BC,IAAWC,KAAK,CACd,IAAO,mCAEP,QAAW,CAET,eACA,aACA,kBACA,mBACA,kBACA,oBACA,gBACA,sBAGHtU,MAAK,SAAAuU,GACJ,EAAKC,MAAQ,IAAID,EAAKE,IAAI,EAAKN,OAAOO,IAAI,EAAKP,OAAOQ,SACtDzY,EAAQ,EAAKsY,UAEdI,OAAM,SAAAC,GACL/J,QAAQC,IAAI8J,GACZT,EAAOS,W,0BAUb,WACEre,KAAKge,MAAMM,iBAAiB,WAE5Bte,KAAKge,MAAMO,WAAW,IAAIR,KAAKS,MAAM,CAAEC,SAAU,QAEjDze,KAAKge,MAAMO,WAAW,IAAIR,KAAKW,QAAQ,KAEvC1e,KAAKge,MAAMO,WAAW,IAAIR,KAAKY,YAAY,O,6BAW7C,SAAgBC,GACd5e,KAAKge,MAAMa,iBAAiB,GAAGD,K,qBAUjC,SAAQE,GACN,IAAIzT,EAAOrL,KACP+e,EAAQ,GACTD,EAAWE,WACZ3T,EAAK2S,MAAMiB,WAEVH,EAAWI,OACXH,EAAO,IAAIhB,KAAKoB,KAAK,CAChBC,KAAM,IAAIrB,KAAKsB,KAAK,GAAI,IACxB1Z,MAAOmZ,EAAWI,KAClBI,YAAa,IAAIvB,KAAKwB,MAAM,GAAI,OAGxC,IAAIC,EAAO,IAAIzB,KAAK0B,OAAO,CACzBhB,SAASK,EAAWL,SACpBS,KAAKH,IAEJD,EAAWY,OACZrU,EAAKsU,QAAQb,GAEfU,EAAKI,OAAOvU,EAAK2S,OACjBwB,EAAKtT,GAAG,SAAQ,WACdb,EAAKsU,QAAQb,Q,qBAUjB,SAAQe,GACN,IAAIC,EACCC,EAAQ,GACTA,EAAMxc,KAAK,QAAQsc,EAAWH,MAAM,WACpCI,EAAa,IAAI/B,KAAKiC,WAAW,CAC7BC,QAASF,EAAMhX,KAAK,SACpBmX,OAAQ,IAAInC,KAAKwB,MAAM,GAAI,IAC3BY,UAAS,IAEbL,EAAWM,KAAKpgB,KAAKge,MAAO6B,EAAWpB,Y,iCAI7C,SAAoB4B,EAAKC,GACvB,OAAO,IAAI7a,SAAQ,SAACC,EAASkY,GAE3B,IAAI2C,EAAW,IAAIxC,KAAKyC,SAAS,CAC/BC,KAAM,MACNC,OAAQ,MAGVH,EAASI,WAAW,CAACN,EAAKC,IAAM,SAAUM,EAAQrhB,GAChD,GAAe,aAAXqhB,GAAyBrhB,EAAOshB,UAAW,CAC7C,IAAIC,EAAWvhB,EAAOshB,UAAUE,iBAAiBD,SAC7CL,EAAOlhB,EAAOshB,UAAUE,iBAAiBN,KACzCO,EAAWzhB,EAAOshB,UAAUE,iBAAiBC,SAE7CC,EAAS1hB,EAAOshB,UAAUE,iBAAiBE,OAC3CC,EAAe3hB,EAAOshB,UAAUE,iBAAiBG,aAEjDC,EAAU5hB,EAAOshB,UAAUO,iBAAiBC,MAAML,GAAU,GAAKC,EAASC,EAC9Exb,EAAQ,CAACyb,QAAQA,EAAQL,SAASA,EAASL,KAAKA,EAAKO,SAASA,SAS9D1M,QAAQzR,MAAM,eACd+a,EAAOre,W,iCAQf,SAAoB+hB,GAClB,OAAO,IAAI7b,SAAQ,SAACC,EAASkY,GAC3B,IAAI2C,EAAW,IAAIxC,KAAKyC,SAAS,CAE/BC,KAAM,OAGRF,EAASgB,YAAYD,GAAS,SAAUV,EAAQrhB,GAC/B,aAAXqhB,GAAyC,OAAhBrhB,EAAOiiB,KAElC9b,EAAQnG,EAAOkiB,SAAS,GAAGC,UAG3B9D,EAAOre,W,4BAQf,SAAeoiB,EAAMC,GACnB,IAAIC,EAAc,KACdC,EAAc,IAAI/D,KAAKgE,YAAY,CAErCC,SAAU,EACVC,UAAW,EACXxB,KAAMoB,EAENlX,IAAK3K,KAAKge,MACV2D,MAAOA,EACPO,aAAa,EACbngB,KAAK,4HAMP,OAHA+f,EAAYK,OAAOP,GAAe,SAAShB,EAAOrhB,OAG3CuiB,I,qBAKT,SAAQM,GACNpiB,KAAKge,MAAMqE,QAAQD,K,uBAWrB,SAAUE,GACR,IAAIC,EAAS,IAAIxE,KAAKyE,OAAOF,EAAWC,OAAO,GAAGD,EAAWC,OAAO,IAChEE,EAAS,IAAI1E,KAAK0E,OAAO,CAC3BF,OAAOA,EACP7B,OAAO4B,EAAW5B,OAClBgC,YAAYJ,EAAWK,QACvBC,UAAUN,EAAWO,QACrBC,YAAYR,EAAWS,cAEzBN,EAAO7C,OAAO5f,KAAKge,S,yBAUrB,SAAYgF,GACV,OAAO,IAAIvd,SAAQ,SAAUC,EAASkY,GACpC,IAAI4D,EAAO,GACXzD,KAAKkF,QAAQ,CAAC,qBAAqB,WACjC,IAAInB,EAAc,IAAI/D,KAAKgE,YAAY,CACrChgB,KAAK,0HACLigB,SAASgB,EAAW5D,MAA0B,IAAlB4D,EAAW5D,KAAS4D,EAAW5D,KAAK,KAG/D4D,EAAWE,eACZpB,EAAYqB,aAAa,GAAGH,EAAWI,aAAaJ,EAAWK,OAAO,KAEtEvB,EAAYK,OAAOa,EAAWM,MAGhCvF,KAAKwF,MAAMC,YAAY1B,EAAa,YAAY,SAAUviB,GACxDA,EAAOkkB,QAAQC,KAAK/Y,KAAI,SAAU1L,GAChCuiB,EAAKje,KAAK,CACR8c,IAAIphB,EAAMyiB,SAASrB,IACnBC,IAAIrhB,EAAMyiB,SAASpB,IACnBjW,KAAKpL,EAAMoL,KACXiZ,KAAKrkB,EAAMkiB,aAGfzb,EAAQ8b,gB,MAUF9D,gB,oCCzQhB,W,2CCAA,IAAI5d,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iBAAiBoc,MAAO1c,EAAI2c,iBAC9I9a,EAAkB,GCKtB,G,UAAA,CACA,sBACEE,MAAF,CACI6hB,MAAJ,CACM5hB,KAAN,OACMC,QAAN,WAEI4hB,OAAJ,CACM7hB,KAAN,OACMC,QAAN,KAKEC,WAAY,GAEZC,KAhBF,WAiBI,MAAO,IAKTC,SAAU,GAGVC,QAAS,CAEPsa,YAFJ,WAGM,MAAN,CACA,8BACA,2BAME5Y,MAAO,GAEPE,QAtCF,aAwCEE,QAxCF,eCNqY,I,wBCQjYK,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,8BCnBfnG,EAAOC,QAAU,s6E,qBCAjB,IAAIwlB,EAAW,EAAQ,QAGnBC,EAAW,IACXC,EAAc,sBAyBlB,SAASpI,EAAS1c,GAChB,IAAKA,EACH,OAAiB,IAAVA,EAAcA,EAAQ,EAG/B,GADAA,EAAQ4kB,EAAS5kB,GACbA,IAAU6kB,GAAY7kB,KAAW6kB,EAAU,CAC7C,IAAIE,EAAQ/kB,EAAQ,GAAK,EAAI,EAC7B,OAAO+kB,EAAOD,EAEhB,OAAO9kB,IAAUA,EAAQA,EAAQ,EAGnCb,EAAOC,QAAUsd,G,6DCzCjB,W,qBCAAvd,EAAOC,QAAU,8pC,8PCAjB,SAASmB,EAAQC,GAWf,MAVsB,oBAAXnB,QAAoD,WAA3B,EAAOA,OAAOoB,UAChDtB,EAAOC,QAAUmB,EAAU,SAAiBC,GAC1C,SAAcA,IAGhBrB,EAAOC,QAAUmB,EAAU,SAAiBC,GAC1C,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,SAAhG,EAAkHgB,IAItHD,EAAQC,G,4DAGjBrB,EAAOC,QAAUmB,G,qBCKjB,SAASykB,EAAShlB,GAChB,OAAO,WACL,OAAOA,GAIXb,EAAOC,QAAU4lB,G,6DCzBjB,W,yCCAA,IC24CInC,ED34CAhiB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,UAAU8Z,QAAQ,YAAYllB,MAAOc,EAAW,QAAE6L,WAAW,YAAYvL,YAAY,yBAAyB,CAACF,EAAG,eAAe,CAACS,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,WAAW,CAACS,YAAY,CAAC,eAAe,kBAAkBN,MAAM,CAAC,MAAQ,UAAU,CAACH,EAAG,MAAM,CAACE,YAAY,gCAAgCO,YAAY,CAAC,gBAAgB,sBAAsB,CAACT,EAAG,WAAW,CAACE,YAAY,WAAWC,MAAM,CAAC,KAAO,QAAQ,YAAc,UAAU,cAAc,iBAAiB,UAAY,IAAI4L,GAAG,CAAC,MAAQnM,EAAIqkB,cAAcrX,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAIA,EAAOpK,KAAKqG,QAAQ,QAAQrI,EAAI2O,GAAGvC,EAAOwC,QAAQ,QAAQ,GAAGxC,EAAOxL,IAAI,SAAkB,KAAcZ,EAAIqkB,aAAajY,KAAUX,MAAM,CAACvM,MAAOc,EAAmB,gBAAE0L,SAAS,SAAUC,GAAM3L,EAAIskB,gBAAgC,kBAAR3Y,EAAkBA,EAAI4Y,OAAQ5Y,GAAME,WAAW,qBAAqBzL,EAAG,IAAI,CAACE,YAAY,eAAe6L,GAAG,CAAC,MAAQnM,EAAIwkB,mBAAmB,GAAGpkB,EAAG,UAAU,CAACE,YAAY,WAAWC,MAAM,CAAC,wBAAuB,EAAM,WAAW,KAAK,KAAOP,EAAIykB,WAAW,sBAAqB,EAAK,MAAQzkB,EAAI0kB,aAAa,wBAAwB1kB,EAAI2kB,0BAA0B,UAAY,GAAG,aAAa3kB,EAAI4kB,UAAU,aAAa5kB,EAAI6kB,WAAW1Y,GAAG,CAAC,aAAanM,EAAI8kB,gBAAgB,YAAY9kB,EAAI+kB,YAAY/V,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS2F,GAC75C,IAAI3J,EAAO2J,EAAI3J,KACf,OAAO/B,EAAG,OAAO,GAAG,CAACA,EAAG,OAAO,CAACE,YAAY,WAAW,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGe,EAAKd,eAAgBc,EAAY,QAAE/B,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,KAAMa,EAAgB,YAAE/B,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,MAAM,UAAU,GAAGlB,EAAG,eAAe,CAACA,EAAG,YAAY,CAACS,YAAY,CAAC,OAAS,OAAO,QAAU,QAAQ,CAACT,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,UAAU,CAACG,MAAM,CAAC,OAAS,GAAG,KAAO,QAAQ,cAAc,SAAS,CAACH,EAAG,eAAe,CAACA,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,cAAc,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAOc,EAAmB,gBAAE6L,WAAW,oBAAoBM,GAAG,CAAC,QAAUnM,EAAIglB,gBAAgB,CAAC5kB,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACN,EAAImB,GAAG,IAAInB,EAAIoB,GAAGpB,EAAIilB,iBAAiB,IAAIjlB,EAAIoB,GAAGpB,EAAIuP,YAAYG,OAAO,OAAOtP,EAAG,IAAI,CAACE,YAAY,wCAAwCF,EAAG,mBAAmB,CAACG,MAAM,CAAC,KAAO,YAAYwM,KAAK,YAAY,CAAC3M,EAAG,mBAAmB,CAACG,MAAM,CAAC,QAAU,QAAQ,CAACP,EAAImB,GAAG,WAAsC,GAA1BnB,EAAIklB,mBAAyB9kB,EAAG,mBAAmB,CAACG,MAAM,CAAC,QAAU,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,MAAM,IAAI,IAAI,KAAKlB,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,UAAU,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,MAAM,KAAO,QAAQ,WAAa,GAAG,UAAY,IAAI4L,GAAG,CAAC,OAASnM,EAAImlB,oBAAoB1Z,MAAM,CAACvM,MAAOc,EAAS,MAAE0L,SAAS,SAAUC,GAAM3L,EAAIolB,MAAMzZ,GAAKE,WAAW,UAAU7L,EAAIQ,GAAIR,EAAe,aAAE,SAASU,GAAM,OAAON,EAAG,YAAY,CAACQ,IAAIF,EAAKmQ,GAAGtQ,MAAM,CAAC,MAAQG,EAAK2kB,QAAQ,MAAQ3kB,EAAKmQ,SAAQ,IAAI,GAAGzQ,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,UAAU,UAAY,IAAI4L,GAAG,CAAC,OAASnM,EAAImlB,oBAAoB1Z,MAAM,CAACvM,MAAOc,EAAS,MAAE0L,SAAS,SAAUC,GAAM3L,EAAIslB,MAAM3Z,GAAKE,WAAW,UAAU7L,EAAIQ,GAAG,CACpyD,CAAE+kB,MAAO,KAAM1d,MAAM,GACrB,CAAE0d,MAAO,KAAM1d,MAAM,KAAW,SAASnH,GAAM,OAAON,EAAG,YAAY,CAACQ,IAAIF,EAAK6kB,MAAMhlB,MAAM,CAAC,MAAQG,EAAK6kB,MAAM,MAAQ7kB,EAAKmH,WAAU,IAAI,GAAGzH,EAAG,eAAe,CAAEJ,EAAiB,cAAEI,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,UAAU,KAAO,QAAQ,QAAUP,EAAIwlB,iBAAiBrZ,GAAG,CAAC,MAAQnM,EAAIylB,gBAAgB,CAACzlB,EAAImB,GAAG,QAAQnB,EAAIsB,MAAM,IAAI,IAAI,GAAGlB,EAAG,SAAS,CAACE,YAAY,aAAaC,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,UAAU,KAAO,SAAS4L,GAAG,CAAC,MAAQnM,EAAI0lB,mBAAmB,CAAC1lB,EAAImB,GAAG,WAAW,IAAI,IAAI,KAAKf,EAAG,UAAU,CAACS,YAAY,CAAC,QAAU,QAAQ,CAACT,EAAG,MAAM,CAACA,EAAG,WAAW,CAAC0L,IAAI,gBAAgBvL,MAAM,CAAC,KAAO,QAAQ,KAAOP,EAAIgT,UAAU,iBAAiB,SAAS7G,GAAG,CAAC,mBAAmBnM,EAAIsQ,wBAAwB,CAAClQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,YAAY,MAAQ,QAAQH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,KAAK,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,OAAO,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,OAAO,wBAAwB,GAAG,YAAY,SAASyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,OAAOlP,EAAIQ,GAAI0O,EAAMC,IAAU,QAAE,SAASzO,EAAKC,GAAO,OAAOP,EAAG,OAAO,CAACQ,IAAID,GAAO,CAACX,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAKW,YAAYrB,EAAIoB,GAAGV,EAAKilB,gBAAkB,MAAQ,IAAI3lB,EAAIoB,GAAG8N,EAAMC,IAAIyW,OAAOriB,QAAU5C,EAAQ,EAAI,GAAK,iBAAgBP,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,UAAU,MAAQ,QAAQH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,OAAO,UAAYP,EAAI6lB,gBAAgBzlB,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,KAAK,MAAQ,QAAQyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,UAAU,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI8lB,eAAe5W,EAAMC,QAAQ,CAACnP,EAAImB,GAAG,gBAAgB,IAAI,GAAInB,EAAIuP,YAAYG,MAAQ,EAAGtP,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,cAAc,CAACG,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,QAAUnM,EAAI+lB,eAAe,CAAC3lB,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,UAAU,KAAO,UAAU,CAACP,EAAImB,GAAG,UAAUf,EAAG,IAAI,CAACE,YAAY,wCAAwCF,EAAG,mBAAmB,CAACG,MAAM,CAAC,KAAO,WAAW,QAAU,SAASwM,KAAK,YAAY,CAAC3M,EAAG,mBAAmB,CAACG,MAAM,CAAC,QAAU,SAAS,CAACP,EAAImB,GAAG,QAAQf,EAAG,mBAAmB,CAACG,MAAM,CAAC,QAAU,iBAAiB,CAACP,EAAImB,GAAG,WAAW,IAAI,GAAGf,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,eAAeP,EAAIuP,YAAYC,KAAK,YAAYxP,EAAIuP,YAAYyW,UAAU,aAAa,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI,OAAShmB,EAAIuP,YAAYE,OAAO,MAAQzP,EAAIuP,YAAYG,OAAOvD,GAAG,CAAC,iBAAiBnM,EAAIimB,oBAAoB,qBAAqB,SAAS7Z,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,sBAAsB,SAASA,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,QAAa,GAAGpM,EAAIsB,QAAQ,IAAI,GAAGlB,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,OAAO,QAAUP,EAAIkmB,SAAS,MAAQ,SAAS/Z,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAIkmB,SAAS9Z,GAAQ,OAAS,SAASA,GAAQ,OAAOpM,EAAImmB,UAAU,gBAAgB,CAAC/lB,EAAG,UAAU,CAAC0L,IAAI,YAAYvL,MAAM,CAAC,MAAQP,EAAIomB,MAAM,MAAQpmB,EAAIqmB,UAAU,cAAc,QAAQ,KAAO,UAAU,CAACjmB,EAAG,MAAM,CAACE,YAAY,OAAO,CAACN,EAAImB,GAAG,UAAUf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,SAAS,CAACH,EAAG,WAAW,CAACqL,MAAM,CAACvM,MAAOc,EAAIqmB,UAAc,KAAE3a,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIqmB,UAAW,OAAQ1a,IAAME,WAAW,qBAAqB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,UAAU,CAACH,EAAG,WAAW,CAACqL,MAAM,CAACvM,MAAOc,EAAIqmB,UAAe,MAAE3a,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIqmB,UAAW,QAAS1a,IAAME,WAAW,sBAAsB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,UAAU,CAACH,EAAG,MAAM,CAACA,EAAG,WAAW,CAACqL,MAAM,CAACvM,MAAOc,EAAIqmB,UAAe,MAAE3a,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIqmB,UAAW,QAAS1a,IAAME,WAAW,qBAAqBzL,EAAG,OAAO,CAACE,YAAY,8BAA8BO,YAAY,CAAC,OAAS,SAAS,CAACb,EAAImB,GAAG,2CAA2C,KAAKf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,MAAM,KAAO,UAAU,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,MAAMkL,MAAM,CAACvM,MAAOc,EAAIqmB,UAAe,MAAE3a,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIqmB,UAAW,QAAS1a,IAAME,WAAW,sBAAsB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,WAAW,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAIqmB,UAAgB,OAAE3a,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIqmB,UAAW,SAAU1a,IAAME,WAAW,qBAAqB,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,MAAM,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,MAAM,CAACP,EAAImB,GAAG,QAAQ,IAAI,GAAGf,EAAG,MAAM,CAACE,YAAY,OAAO,CAACN,EAAImB,GAAG,UAAUf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,SAAS,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,MAAM,WAAa,IAAIkL,MAAM,CAACvM,MAAOc,EAAIqmB,UAAc,KAAE3a,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIqmB,UAAW,OAAQ1a,IAAME,WAAW,mBAAmB7L,EAAIQ,GAAIR,EAAe,aAAE,SAASU,GAAM,OAAON,EAAG,YAAY,CAACQ,IAAIF,EAAKmQ,GAAGtQ,MAAM,CAAC,MAAQG,EAAK2kB,QAAQ,MAAQ3kB,EAAKmQ,SAAQ,IAAI,GAAGzQ,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,WAAW,CAACP,EAAIQ,GAAIR,EAAIqmB,UAAgB,QAAE,SAAShnB,EAAIsB,GAAO,OAAOP,EAAG,SAAS,CAACQ,IAAIvB,EAAIinB,SAASra,MAAe,GAATtL,EAAa,GAAK,UAAUJ,MAAM,CAAC,SAAW,IAAI4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIumB,YAAYlnB,MAAQ,CAACW,EAAImB,GAAGnB,EAAIoB,GAAG/B,EAAIgC,YAAYrB,EAAIoB,GAAG/B,EAAIsmB,gBAAkB,MAAQ,UAASvlB,EAAG,UAAU,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,UAAU,WAAY,GAAO4L,GAAG,CAAC,MAAQnM,EAAIwmB,kBAAkB,CAACxmB,EAAImB,GAAG,QAASnB,EAAW,QAAEI,EAAG,IAAI,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,uCAAuCnB,EAAIsB,MAAM,IAAI,GAAGlB,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAImmB,UAAU,gBAAgB,CAACnmB,EAAImB,GAAG,QAAQf,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,QAAQ,KAAO,UAAU,QAAUP,EAAIymB,cAActa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI0mB,kBAAkB,gBAAgB,CAAC1mB,EAAImB,GAAG,SAAS,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,WAAW,MAAQ,QAAQ,QAAUP,EAAI2mB,gBAAgBxa,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAI2mB,eAAeva,GAAQ,MAAQpM,EAAI4mB,+BAA+B,CAACxmB,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACS,YAAY,CAAC,eAAe,sBAAsBN,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,WAAW,CAACE,YAAY,WAAWC,MAAM,CAAC,KAAO,QAAQ,YAAc,QAAQ,UAAY,IAAIkL,MAAM,CAACvM,MAAOc,EAAkB,eAAE0L,SAAS,SAAUC,GAAM3L,EAAI6mB,eAAelb,GAAKE,WAAW,oBAAoBzL,EAAG,eAAe,CAACE,YAAY,4BAA4B,CAACF,EAAG,UAAU,CAAC0L,IAAI,OAAOxL,YAAY,cAAcC,MAAM,CAAC,wBAAuB,EAAM,KAAOP,EAAI8mB,eAAe,gBAAgB,GAAG,WAAW,KAAK,wBAAwB,CAAC,GAAG,uBAAuB9mB,EAAI+mB,uBAAuB,MAAQ/mB,EAAI0kB,aAAa,kBAAiB,EAAK,qBAAqB1kB,EAAIgnB,WAAW,uBAAsB,GAAM7a,GAAG,CAAC,MAAQnM,EAAIinB,gBAAgBjY,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS2F,GACl/N,IAAI3J,EAAO2J,EAAI3J,KACrC,OAAO/B,EAAG,OAAO,GAAG,CAACA,EAAG,OAAO,CAACJ,EAAImB,GAAGnB,EAAIoB,GAAGe,EAAKd,eAAgBc,EAAY,QAAE/B,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,KAAMa,EAAgB,YAAE/B,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,MAAM,UAAU,IAAI,KAAKlB,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,MAAM,CAACJ,EAAImB,GAAG,YAAYf,EAAG,eAAe,CAACE,YAAY,4BAA4BN,EAAIQ,GAAIR,EAAe,aAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,iDAAiDO,YAAY,CAAC,MAAQ,OAAOsL,GAAG,CAAC,WAAa,SAASC,GAAQ,OAAOpM,EAAIknB,YAAYxmB,EAAMC,IAAQ,WAAa,SAASyL,GAAQ,OAAOpM,EAAImnB,aAAaxmB,MAAU,CAACP,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,MAAM,CAACJ,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAKW,eAAgBX,EAAY,QAAEN,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,KAAMZ,EAAgB,YAAEN,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,MAAM,GAAGlB,EAAG,MAAM,CAACE,YAAY,qCAAqC,CAAEI,EAAoB,gBAAEN,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACN,EAAImB,GAAG,WAAWnB,EAAIsB,KAAMZ,EAAK0mB,eAAiB1mB,EAAKilB,gBAAiBvlB,EAAG,MAAM,CAACE,YAAY,8BAA8BO,YAAY,CAAC,OAAS,WAAWsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIqnB,WAAW1mB,MAAU,CAACX,EAAImB,GAAG,aAAanB,EAAIsB,KAAKlB,EAAG,IAAI,CAACE,YAAY,gBAAgBO,YAAY,CAAC,OAAS,WAAWsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIsnB,cAAc3mB,EAAOD,cAAgB,IAAI,MAAM,GAAGN,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQnM,EAAI4mB,+BAA+B,CAAC5mB,EAAImB,GAAG,SAASf,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIunB,yBAAyB,CAACvnB,EAAImB,GAAG,UAAU,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,OAAO,QAAUP,EAAIwnB,aAAa,MAAQ,OAAOrb,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAIwnB,aAAapb,KAAU,CAAChM,EAAG,UAAU,CAAC0L,IAAI,aAAaxL,YAAY,gBAAgBC,MAAM,CAAC,MAAQP,EAAIynB,WAAW,MAAQznB,EAAI0nB,iBAAiB,cAAc,QAAQ,KAAO,UAAU,CAACtnB,EAAG,MAAM,CAACE,YAAY,OAAO,CAACN,EAAImB,GAAG,UAAUf,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,OAAO,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,QAAQ,SAAW,GAAG,YAAc,OAAOkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAa,GAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,KAAM9b,IAAME,WAAW,oBAAoB,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,QAAQ,YAAc,OAAOkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAe,KAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,OAAQ9b,IAAME,WAAW,sBAAsB,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,YAAc,UAAU,KAAO,SAASkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAgB,MAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,QAAS9b,IAAME,WAAW,uBAAuB,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,MAAM,KAAO,gBAAgB,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,KAAK,KAAO,QAAQ,YAAc,OAAOkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAsB,YAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,cAAe9b,IAAME,WAAW,6BAA6B,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,WAAW,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAIynB,WAAiB,OAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,SAAU9b,IAAME,WAAW,sBAAsB,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,MAAM,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,MAAM,CAACP,EAAImB,GAAG,QAAQ,IAAI,IAAI,GAAGf,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,iBAAiB,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,OAAO,YAAc,OAAO,KAAO,SAASkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAoB,UAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,YAAa9b,IAAME,WAAW,2BAA2B,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,YAAc,UAAU,KAAO,SAASkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAmB,SAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,WAAY9b,IAAME,WAAW,0BAA0B,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,QAAQ,YAAc,WAAWkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAkB,QAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,UAAW9b,IAAME,WAAW,yBAAyB,IAAI,IAAI,GAAGzL,EAAG,MAAM,CAACE,YAAY,OAAO,CAACN,EAAImB,GAAG,UAAUf,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,UAAU,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,MAAM,KAAO,QAAQ,WAAa,IAAIkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAgB,MAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,QAAS9b,IAAME,WAAW,qBAAqB7L,EAAIQ,GAAIR,EAAe,aAAE,SAASU,GAAM,OAAON,EAAG,YAAY,CAACQ,IAAIF,EAAKmQ,GAAGtQ,MAAM,CAAC,MAAQG,EAAK2kB,QAAQ,MAAQ3kB,EAAKmQ,SAAQ,IAAI,IAAI,GAAGzQ,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,iBAAiB,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,OAAO,YAAc,OAAO,KAAO,SAASkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAoB,UAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,YAAa9b,IAAME,WAAW,2BAA2B,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,WAAW,CAACH,EAAG,iBAAiB,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,OAAO,YAAc,OAAO,KAAO,SAASkL,MAAM,CAACvM,MAAOc,EAAIynB,WAA0B,gBAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,kBAAmB9b,IAAME,WAAW,iCAAiC,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,UAAU,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAIynB,WAAgB,MAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,QAAS9b,IAAME,WAAW,qBAAqB,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,QAAQf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,SAAS,IAAI,IAAI,GAAGf,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,iBAAiB,CAACG,MAAM,CAAC,gBAAgB,GAAG,KAAO,QAAQ,KAAO,YAAY,kBAAkB,IAAI,oBAAoB,OAAO,kBAAkB,QAAQkL,MAAM,CAACvM,MAAOc,EAAY,SAAE0L,SAAS,SAAUC,GAAM3L,EAAI2nB,SAAShc,GAAKE,WAAW,eAAe,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,WAAW,CAACH,EAAG,iBAAiB,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,OAAO,YAAc,OAAO,KAAO,SAASkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAoC,0BAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,4BAA6B9b,IAAME,WAAW,2CAA2C,IAAI,IAAI,GAAGzL,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACA,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,WAAW,CAACP,EAAIQ,GAAIR,EAAIynB,WAAiB,QAAE,SAASpoB,EAAIsB,GAAO,OAAOP,EAAG,SAAS,CAACQ,IAAIvB,EAAIinB,SAASra,MAAe,GAATtL,EAAa,GAAK,UAAUJ,MAAM,CAAC,SAAW,IAAI4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI4nB,gBAAgBvoB,MAAQ,CAACW,EAAImB,GAAGnB,EAAIoB,GAAG/B,EAAIgC,YAAYrB,EAAIoB,GAAG/B,EAAIsmB,gBAAkB,MAAQ,UAASvlB,EAAG,UAAU,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,UAAU,WAAY,GAAO4L,GAAG,CAAC,MAAQnM,EAAI6nB,mBAAmB,CAAC7nB,EAAImB,GAAG,SAAS,IAAI,IAAI,GAAGf,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,YAAY,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,WAAW,KAAO,EAAE,YAAc,SAASkL,MAAM,CAACvM,MAAOc,EAAIynB,WAAiB,OAAE/b,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIynB,WAAY,SAAU9b,IAAME,WAAW,wBAAwB,IAAI,IAAI,IAAI,GAAGzL,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAIwnB,cAAe,KAAS,CAACxnB,EAAImB,GAAG,SAASf,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,QAAQ,KAAO,UAAU,QAAUP,EAAIymB,cAActa,GAAG,CAAC,MAAQnM,EAAI8nB,eAAe,CAAC9nB,EAAImB,GAAG,UAAU,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,OAAO,eAAe,uBAAuB,QAAUP,EAAI+nB,gBAAgB,MAAQ,UAAU5b,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAI+nB,gBAAgB3b,GAAQ,MAAQpM,EAAIgoB,uBAAuB,CAAC5nB,EAAG,UAAU,CAACqL,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAI4L,WAAWD,GAAKE,WAAW,eAAe,CAACzL,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,MAAM,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,WAAWvL,MAAM,CAAC,MAAQP,EAAIioB,QAAQ,KAAO,QAAQ,MAAQjoB,EAAIkoB,SAAS,cAAc,UAAU,CAAC9nB,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,aAAa,CAACH,EAAG,aAAa,CAACG,MAAM,CAAC,QAAUP,EAAI8mB,eAAe,WAAa9mB,EAAImoB,WAAW,eAAiB,GAAG,cAAgB,QAAQ,YAAc,UAAU1c,MAAM,CAACvM,MAAOc,EAAIkoB,SAAiB,SAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,WAAYvc,IAAME,WAAW,wBAAwB,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,eAAe,CAACH,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,SAAS4K,MAAM,CAACvM,MAAOc,EAAIkoB,SAAmB,WAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,aAAcvc,IAAME,WAAW,0BAA0B,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,YAAY,CAACH,EAAG,iBAAiB,CAAC+L,GAAG,CAAC,OAASnM,EAAIooB,eAAe3c,MAAM,CAACvM,MAAOc,EAAIkoB,SAAgB,QAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,UAAWvc,IAAME,WAAW,qBAAqB,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,QAAQ,IAAI,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,gBAAgB,CAACH,EAAG,iBAAiB,CAACG,MAAM,CAAC,SAAWP,EAAIkoB,SAASG,SAAS5c,MAAM,CAACvM,MAAOc,EAAIkoB,SAAoB,YAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,cAAevc,IAAME,WAAW,yBAAyB,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,QAAQ,IAAI,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,MAAM,KAAO,WAAW,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAIkoB,SAAe,OAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,SAAUvc,IAAME,WAAW,oBAAoB,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,QAAQ,IAAI,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,oBAAoB,CAACH,EAAG,cAAc,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,eAAe,KAAO,QAAQ,QAAUP,EAAIsoB,SAASnc,GAAG,CAAC,OAASnM,EAAIuoB,cAAc9c,MAAM,CAACvM,MAAOc,EAAIkoB,SAAwB,gBAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,kBAAmBvc,IAAME,WAAW,+BAA+B,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,kBAAkB,CAACH,EAAG,WAAW,CAACE,YAAY,WAAWC,MAAM,CAAC,YAAc,WAAWkL,MAAM,CAACvM,MAAOc,EAAIkoB,SAAsB,cAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,gBAAiBvc,IAAME,WAAW,4BAA4BzL,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,UAAU,MAAQ,IAAI4L,GAAG,CAAC,MAAQnM,EAAIwoB,iBAAiB,CAACxoB,EAAImB,GAAG,WAAW,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,aAAa,CAACH,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,eAAeH,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,gBAAgB,IAAI,IAAI,GAAIP,EAAIkoB,SAAgB,QAAE9nB,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,MAAM,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,YAAYxL,YAAY,gBAAgBC,MAAM,CAAC,MAAQP,EAAIkoB,SAAS,MAAQloB,EAAIomB,MAAM,cAAc,QAAQ,KAAO,UAAU,CAAChmB,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,2BAA2B,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,MAAMkL,MAAM,CAACvM,MAAOc,EAAIkoB,SAA+B,uBAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,yBAA0Bvc,IAAME,WAAW,sCAAsC,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,WAAW,CAACH,EAAG,MAAM,CAACE,YAAY,aAAa,CAACN,EAAImB,GAAG,uBAAuBf,EAAG,YAAY,CAACG,MAAM,CAAC,OAAS,IAAI,MAAQ,EAAE,YAAY,eAAe,YAAYP,EAAIkoB,SAASO,UAAU,gBAAgBzoB,EAAIiO,oBAAoBe,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,OAAOuF,GAAG,SAAS2F,GACx/Y,IAAI0L,EAAO1L,EAAI0L,KACrC,OAAOpX,EAAG,MAAM,CAACS,YAAY,CAAC,OAAS,QAAQ,MAAQ,UAAU,CAACT,EAAG,WAAW,CAACE,YAAY,iCAAiCC,MAAM,CAAC,GAAKiX,EAAKkR,IAAI,IAAMlR,EAAKmR,IAAI,mBAAmB3oB,EAAI4oB,eAAe,UAAU,KAAK,IAAM,WAAWxoB,EAAG,OAAO,CAACE,YAAY,gCAAgC,CAACF,EAAG,OAAO,CAACE,YAAY,+BAA+B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI6oB,cAAcrR,MAAS,CAACpX,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,OAAO,CAACE,YAAY,8BAA8B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI8oB,aAAatR,EAAM,OAAO,CAACpX,EAAG,IAAI,CAACE,YAAY,wBAAwB,MAAM,MAAK,EAAM,aAAa,CAACF,EAAG,IAAI,CAACE,YAAY,uBAAuBO,YAAY,CAAC,YAAY,OAAO,MAAQ,QAAQN,MAAM,CAAC,KAAO,WAAWwM,KAAK,eAAe,GAAG3M,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,MAAM,CAACE,YAAY,aAAa,CAACN,EAAImB,GAAG,yBAAyBf,EAAG,YAAY,CAACG,MAAM,CAAC,OAAS,IAAI,MAAQ,EAAE,YAAY,eAAe,YAAYP,EAAIkoB,SAASa,gBAAgB,gBAAgB,SAAU3c,GAAU,OAAOpM,EAAIgpB,6BAA6B5c,GAAQ,KAAW4C,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,OAAOuF,GAAG,SAAS2F,GACrmC,IAAI0L,EAAO1L,EAAI0L,KACrC,OAAOpX,EAAG,MAAM,CAACS,YAAY,CAAC,OAAS,QAAQ,MAAQ,UAAU,CAACT,EAAG,WAAW,CAACE,YAAY,iCAAiCC,MAAM,CAAC,GAAKiX,EAAKkR,IAAI,IAAMlR,EAAKmR,IAAI,mBAAmB3oB,EAAIipB,eAAe,UAAU,KAAK,IAAM,WAAW7oB,EAAG,OAAO,CAACE,YAAY,gCAAgC,CAACF,EAAG,OAAO,CAACE,YAAY,+BAA+B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI6oB,cAAcrR,MAAS,CAACpX,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,OAAO,CAACE,YAAY,8BAA8B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI8oB,aAAatR,EAAM,OAAO,CAACpX,EAAG,IAAI,CAACE,YAAY,wBAAwB,MAAM,MAAK,EAAM,aAAa,CAACF,EAAG,IAAI,CAACE,YAAY,uBAAuBO,YAAY,CAAC,YAAY,OAAO,MAAQ,QAAQN,MAAM,CAAC,KAAO,WAAWwM,KAAK,eAAe,GAAG3M,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAIQ,GAAIR,EAAiB,eAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,YAAY,CAACQ,IAAID,EAAMJ,MAAM,CAAC,KAAOG,EAAKwoB,KAAO,UAAY,IAAI/c,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAImpB,iBAAiBxoB,MAAU,CAACX,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4J,YAAWlK,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,IAAI,oBAAoB,OAAO,kBAAkB,OAAO,YAAc,UAAUkL,MAAM,CAACvM,MAAOc,EAAIkoB,SAAqB,aAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,eAAgBvc,IAAME,WAAW,4BAA4B,IAAI,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,UAAU,CAACH,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAON,MAAM,CAAC,KAAO,YAAYkL,MAAM,CAACvM,MAAOc,EAAIkoB,SAAoB,YAAExc,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkoB,SAAU,cAAevc,IAAME,WAAW,2BAA2B,IAAI,IAAI,IAAI,GAAG7L,EAAIsB,KAAKlB,EAAG,cAAc,CAACG,MAAM,CAAC,KAAO,IAAI,MAAQ,aAAa,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,cAAcvL,MAAM,CAAC,wBAAuB,EAAM,uBAAsB,EAAK,kBAAiB,EAAK,KAAOP,EAAIic,UAAU,gBAAgB,GAAG,WAAW,KAAK,uBAAuBjc,EAAIopB,uBAAuB,MAAQppB,EAAI0kB,iBAAiB,IAAI,GAAGtkB,EAAG,cAAc,CAACG,MAAM,CAAC,KAAO,IAAI,MAAQ,aAAa,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,UAAUvL,MAAM,CAAC,wBAAuB,EAAM,uBAAsB,EAAK,kBAAiB,EAAK,KAAOP,EAAIic,UAAU,gBAAgB,GAAG,WAAW,KAAK,uBAAuBjc,EAAIqpB,uBAAuB,MAAQrpB,EAAI0kB,iBAAiB,IAAI,IAAI,GAAGtkB,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAI+nB,iBAAkB,KAAS,CAAC/nB,EAAImB,GAAG,SAASf,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,QAAQ,KAAO,UAAU,QAAUP,EAAIymB,cAActa,GAAG,CAAC,MAAQnM,EAAIspB,YAAY,CAACtpB,EAAImB,GAAG,UAAU,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,OAAO,eAAe,uBAAuB,QAAUP,EAAIupB,iBAAiB,MAAQ,UAAUpd,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAIupB,iBAAiBnd,GAAQ,OAASpM,EAAIwpB,mBAAmB,CAACppB,EAAG,UAAU,CAACqL,MAAM,CAACvM,MAAOc,EAAc,WAAE0L,SAAS,SAAUC,GAAM3L,EAAI4L,WAAWD,GAAKE,WAAW,eAAe,CAACzL,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,MAAM,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,mBAAmBvL,MAAM,CAAC,MAAQP,EAAIypB,QAAQ,KAAO,QAAQ,MAAQzpB,EAAI0pB,iBAAiB,cAAc,UAAU,CAACtpB,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,aAAa,CAACH,EAAG,aAAa,CAACG,MAAM,CAAC,QAAUP,EAAI8mB,eAAe,WAAa9mB,EAAImoB,WAAW,eAAiB,GAAG,cAAgB,QAAQ,YAAc,UAAU1c,MAAM,CAACvM,MAAOc,EAAI0pB,iBAAyB,SAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,WAAY/d,IAAME,WAAW,gCAAgC,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,eAAe,CAACH,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,SAAS4K,MAAM,CAACvM,MAAOc,EAAI0pB,iBAA2B,WAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,aAAc/d,IAAME,WAAW,kCAAkC,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,YAAY,CAACH,EAAG,iBAAiB,CAACG,MAAM,CAAC,UAAW,GAAM4L,GAAG,CAAC,OAASnM,EAAI2pB,mBAAmBle,MAAM,CAACvM,MAAOc,EAAI0pB,iBAAwB,QAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,UAAW/d,IAAME,WAAW,6BAA6B,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,QAAQ,GAAGf,EAAG,OAAO,CAACE,YAAY,gCAAgC,CAACN,EAAImB,GAAG,sBAAsB,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,gBAAgB,CAACH,EAAG,iBAAiB,CAACG,MAAM,CAAC,UAAW,GAAMkL,MAAM,CAACvM,MAAOc,EAAI0pB,iBAA4B,YAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,cAAe/d,IAAME,WAAW,iCAAiC,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,QAAQ,GAAGf,EAAG,OAAO,CAACE,YAAY,gCAAgC,CAACN,EAAImB,GAAG,2BAA2B,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,WAAW,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAI0pB,iBAAuB,OAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,SAAU/d,IAAME,WAAW,4BAA4B,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,QAAQ,IAAI,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAI0pB,iBAAuB,OAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,SAAU/d,IAAME,WAAW,4BAA4B,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,OAAOf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,QAAQ,IAAI,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,oBAAoB,CAACH,EAAG,cAAc,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,eAAe,KAAO,QAAQ,QAAUP,EAAIsoB,SAASnc,GAAG,CAAC,OAASnM,EAAIuoB,cAAc9c,MAAM,CAACvM,MAAOc,EAAI0pB,iBAAgC,gBAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,kBAAmB/d,IAAME,WAAW,uCAAuC,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,kBAAkB,CAACH,EAAG,WAAW,CAACE,YAAY,WAAWC,MAAM,CAAC,YAAc,WAAWyM,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAIA,EAAOpK,KAAKqG,QAAQ,QAAQrI,EAAI2O,GAAGvC,EAAOwC,QAAQ,QAAQ,GAAGxC,EAAOxL,IAAI,SAAkB,KAAcZ,EAAIwoB,eAAepc,KAAUX,MAAM,CAACvM,MAAOc,EAAI0pB,iBAA8B,cAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,gBAAiB/d,IAAME,WAAW,oCAAoCzL,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,UAAU,MAAQ,IAAI4L,GAAG,CAAC,MAAQnM,EAAIwoB,iBAAiB,CAACxoB,EAAImB,GAAG,WAAW,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,aAAa,CAACH,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,mBAAmBH,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,oBAAoB,IAAI,IAAI,GAAIP,EAAI0pB,iBAAwB,QAAEtpB,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,MAAM,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,oBAAoBvL,MAAM,CAAC,MAAQP,EAAI0pB,iBAAiB,MAAQ1pB,EAAIypB,QAAQ,cAAc,QAAQ,KAAO,UAAU,CAACrpB,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,2BAA2B,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,MAAMkL,MAAM,CAACvM,MAAOc,EAAI0pB,iBAAuC,uBAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,yBAA0B/d,IAAME,WAAW,8CAA8C,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,WAAW,CAACH,EAAG,MAAM,CAACE,YAAY,aAAa,CAACN,EAAImB,GAAG,uBAAuBf,EAAG,YAAY,CAACG,MAAM,CAAC,OAAS,IAAI,MAAQ,EAAE,YAAY,eAAe,YAAYP,EAAI0pB,iBAAiBjB,UAAU,gBAAgB,SAAUrc,GAAU,OAAOpM,EAAIiO,mBAAmB7B,GAAQ,KAAU4C,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,OAAOuF,GAAG,SAAS2F,GACpuP,IAAI0L,EAAO1L,EAAI0L,KACrC,OAAOpX,EAAG,MAAM,CAACS,YAAY,CAAC,OAAS,QAAQ,MAAQ,UAAU,CAACT,EAAG,WAAW,CAACE,YAAY,iCAAiCC,MAAM,CAAC,GAAKiX,EAAKkR,IAAI,IAAMlR,EAAKmR,IAAI,mBAAmB3oB,EAAI4pB,eAAe,UAAU,KAAK,IAAM,WAAWxpB,EAAG,OAAO,CAACE,YAAY,gCAAgC,CAACF,EAAG,OAAO,CAACE,YAAY,+BAA+B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI6oB,cAAcrR,MAAS,CAACpX,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,OAAO,CAACE,YAAY,8BAA8B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI8oB,aAAatR,EAAM,OAAO,CAACpX,EAAG,IAAI,CAACE,YAAY,wBAAwB,MAAM,MAAK,EAAM,aAAa,CAACF,EAAG,IAAI,CAACE,YAAY,uBAAuBO,YAAY,CAAC,YAAY,OAAO,MAAQ,QAAQN,MAAM,CAAC,KAAO,WAAWwM,KAAK,eAAe,GAAG3M,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACH,EAAG,MAAM,CAACE,YAAY,aAAa,CAACN,EAAImB,GAAG,yBAAyBf,EAAG,YAAY,CAACG,MAAM,CAAC,OAAS,IAAI,MAAQ,EAAE,YAAY,eAAe,YAAYP,EAAI0pB,iBAAiBX,gBAAgB,gBAAgB,SAAU3c,GAAU,OAAOpM,EAAIgpB,6BAA6B5c,GAAQ,KAAU4C,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,OAAOuF,GAAG,SAAS2F,GAC5mC,IAAI0L,EAAO1L,EAAI0L,KACrC,OAAOpX,EAAG,MAAM,CAACS,YAAY,CAAC,OAAS,QAAQ,MAAQ,UAAU,CAACT,EAAG,WAAW,CAACE,YAAY,iCAAiCC,MAAM,CAAC,GAAKiX,EAAKkR,IAAI,IAAMlR,EAAKmR,IAAI,mBAAmB3oB,EAAI6pB,eAAe,UAAU,KAAK,IAAM,WAAWzpB,EAAG,OAAO,CAACE,YAAY,gCAAgC,CAACF,EAAG,OAAO,CAACE,YAAY,+BAA+B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI6oB,cAAcrR,MAAS,CAACpX,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,OAAO,CAACE,YAAY,8BAA8B6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI8oB,aAAatR,EAAM,OAAO,CAACpX,EAAG,IAAI,CAACE,YAAY,wBAAwB,MAAM,MAAK,EAAM,WAAW,CAACF,EAAG,IAAI,CAACE,YAAY,uBAAuBO,YAAY,CAAC,YAAY,OAAO,MAAQ,QAAQN,MAAM,CAAC,KAAO,WAAWwM,KAAK,eAAe,GAAG3M,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAIQ,GAAIR,EAAiB,eAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,YAAY,CAACQ,IAAID,EAAMJ,MAAM,CAAC,KAAOG,EAAKwoB,KAAO,UAAY,IAAI/c,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAImpB,iBAAiBxoB,MAAU,CAACX,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4J,YAAWlK,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,IAAI,oBAAoB,OAAO,kBAAkB,OAAO,YAAc,SAAS,eAAe,YAAYkL,MAAM,CAACvM,MAAOc,EAAI0pB,iBAA6B,aAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,eAAgB/d,IAAME,WAAW,oCAAoC,IAAI,GAAGzL,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,KAAO,UAAU,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,KAAO,EAAE,KAAO,YAAYkL,MAAM,CAACvM,MAAOc,EAAI0pB,iBAA4B,YAAEhe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAI0pB,iBAAkB,cAAe/d,IAAME,WAAW,mCAAmC,IAAI,IAAI,IAAI,GAAG7L,EAAIsB,KAAKlB,EAAG,cAAc,CAACG,MAAM,CAAC,KAAO,IAAI,MAAQ,aAAa,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,aAAavL,MAAM,CAAC,wBAAuB,EAAM,uBAAsB,EAAK,kBAAiB,EAAK,KAAOP,EAAIic,UAAU,gBAAgB,GAAG,WAAW,KAAK,uBAAuBjc,EAAIopB,uBAAuB,MAAQppB,EAAI0kB,iBAAiB,IAAI,GAAGtkB,EAAG,cAAc,CAACG,MAAM,CAAC,KAAO,IAAI,MAAQ,aAAa,CAACH,EAAG,eAAe,CAACE,YAAY,uBAAuB,CAACF,EAAG,UAAU,CAAC0L,IAAI,cAAcvL,MAAM,CAAC,wBAAuB,EAAM,uBAAsB,EAAK,kBAAiB,EAAK,KAAOP,EAAIic,UAAU,gBAAgB,GAAG,WAAW,KAAK,uBAAuBjc,EAAIqpB,uBAAuB,MAAQrpB,EAAI0kB,iBAAiB,IAAI,IAAI,GAAGtkB,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAIupB,kBAAmB,KAAS,CAACvpB,EAAImB,GAAG,SAASf,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,QAAQ,KAAO,UAAU,QAAUP,EAAIymB,cAActa,GAAG,CAAC,MAAQnM,EAAI8pB,sBAAsB,CAAC9pB,EAAImB,GAAG,UAAU,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,QAAUP,EAAI+pB,cAAc,MAAQ,OAAO5d,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAI+pB,cAAc3d,KAAU,CAAChM,EAAG,WAAW,CAAC2M,KAAK,SAAS,CAAC3M,EAAG,OAAO,CAACE,YAAY,oCAAoC,CAACN,EAAImB,GAAG,YAAYf,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,MAAMnB,EAAIoB,GAAGpB,EAAIgqB,aAAa,WAAW5pB,EAAG,UAAU,CAAC0L,IAAI,gBAAgBxL,YAAY,yBAAyBC,MAAM,CAAC,MAAQP,EAAIiqB,WAAW,KAAO,QAAQ,MAAQjqB,EAAIkqB,cAAc,cAAc,UAAU,CAAC9pB,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,KAAK,KAAO,SAAS,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,MAAM,WAAa,IAAIkL,MAAM,CAACvM,MAAOc,EAAIkqB,cAAkB,KAAExe,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIkqB,cAAe,OAAQve,IAAME,WAAW,uBAAuB7L,EAAIQ,GAAIR,EAAe,aAAE,SAASU,GAAM,OAAON,EAAG,YAAY,CAACQ,IAAIF,EAAKmQ,GAAGtQ,MAAM,CAAC,MAAQG,EAAK2kB,QAAQ,MAAQ3kB,EAAKmQ,SAAQ,IAAI,IAAI,GAAGzQ,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAI+pB,eAAgB,KAAS,CAAC/pB,EAAImB,GAAG,SAASf,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,UAAU,KAAO,QAAQ,QAAUP,EAAIymB,cAActa,GAAG,CAAC,MAAQnM,EAAImqB,eAAe,CAACnqB,EAAImB,GAAG,UAAU,IAAI,GAAGf,EAAG,YAAY,CAACG,MAAM,CAAC,QAAUP,EAAIoqB,UAAUje,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAIoqB,SAAShe,KAAU,CAAChM,EAAG,WAAW,CAAC2M,KAAK,SAAS,CAAC3M,EAAG,OAAO,CAACE,YAAY,oCAAoC,CAACN,EAAImB,GAAG,cAAcf,EAAG,OAAO,CAACE,YAAY,cAAc,CAACN,EAAImB,GAAG,MAAMnB,EAAIoB,GAAGpB,EAAIgqB,aAAa,WAAW5pB,EAAG,SAAS,CAACG,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACS,YAAY,CAAC,eAAe,sBAAsBN,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,WAAW,CAACE,YAAY,WAAWC,MAAM,CAAC,KAAO,QAAQ,YAAc,QAAQ,UAAY,IAAIkL,MAAM,CAACvM,MAAOc,EAAkB,eAAE0L,SAAS,SAAUC,GAAM3L,EAAI6mB,eAAelb,GAAKE,WAAW,oBAAoBzL,EAAG,UAAU,CAAC0L,IAAI,OAAOxL,YAAY,cAAcC,MAAM,CAAC,wBAAuB,EAAM,KAAOP,EAAI8mB,eAAe,gBAAgB,GAAG,WAAW,KAAK,wBAAwB,CAAC,GAAG,MAAQ9mB,EAAI0kB,aAAa,kBAAiB,EAAK,qBAAqB1kB,EAAIgnB,WAAW,uBAAsB,GAAM7a,GAAG,CAAC,MAAQnM,EAAIinB,gBAAgBjY,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS2F,GAC1tK,IAAI3J,EAAO2J,EAAI3J,KACrC,OAAO/B,EAAG,OAAO,GAAG,CAACA,EAAG,OAAO,CAACJ,EAAImB,GAAGnB,EAAIoB,GAAGe,EAAKd,eAAgBc,EAAY,QAAE/B,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,KAAMa,EAAgB,YAAE/B,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,MAAM,UAAU,KAAKlB,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,MAAM,CAACJ,EAAImB,GAAG,YAAYnB,EAAIQ,GAAIR,EAAe,aAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,iDAAiD6L,GAAG,CAAC,WAAa,SAASC,GAAQ,OAAOpM,EAAIknB,YAAYxmB,EAAMC,IAAQ,WAAa,SAASyL,GAAQ,OAAOpM,EAAImnB,aAAaxmB,MAAU,CAACP,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,MAAM,CAACJ,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAKW,eAAgBX,EAAY,QAAEN,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,KAAMZ,EAAgB,YAAEN,EAAG,SAAS,CAACE,YAAY,UAAUC,MAAM,CAAC,KAAO,OAAO,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQnB,EAAIsB,MAAM,GAAGlB,EAAG,MAAM,CAACE,YAAY,qCAAqC,CAAEI,EAAoB,gBAAEN,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACN,EAAImB,GAAG,WAAWnB,EAAIsB,KAAMZ,EAAK0mB,eAAiB1mB,EAAKilB,gBAAiBvlB,EAAG,MAAM,CAACE,YAAY,8BAA8BO,YAAY,CAAC,OAAS,WAAWsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIqnB,WAAW1mB,MAAU,CAACX,EAAImB,GAAG,aAAanB,EAAIsB,KAAKlB,EAAG,IAAI,CAACE,YAAY,kBAAkB6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIsnB,cAAc3mB,EAAOD,eAAiB,MAAM,GAAGN,EAAG,MAAM,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAIoqB,UAAW,KAAS,CAACpqB,EAAImB,GAAG,SAASf,EAAG,YAAY,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,gBAAgB8Z,QAAQ,oBAAoB7jB,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIqqB,uBAAuB,CAACrqB,EAAImB,GAAG,UAAU,IAAI,IAAI,IACn6DU,EAAkB,G,2SCy3ClBC,EAAa,EAAjB,QAGA,GACEwI,KAAM,WACNpI,WAAY,CAAd,gBACEooB,iBAHF,SAGA,OACIC,GAAK,SAAT,GACMC,EAAGC,cAAgB9gB,EAAzB,sBACA,kBACA,kCAKExH,KAZF,WAYA,MACI,OAAO,EAAX,CACMuoB,cAAe,GACfhG,aAAc,CACZ/N,SAAU,QACVD,MAAO,cAET0S,uBAAwB,GACxBC,uBAAwB,GACxB7D,iBAAiB,EACjBiF,eAAe,EACfE,SAAS,EACTnoB,SAAS,EACTikB,cAAc,EACdmE,QAAQ,EACR5X,UAAW,GACXyR,WAAY,GACZxI,UAAW,GACX6K,eAAgB,GAChBnC,0BAA2B,CAAC,GAC5BkG,SAAU,GACVvG,gBAAiB,GACjBwG,UAAW,GACXd,YAAa,EACbD,eAAe,EACf9E,gBAAiB,GACjBC,mBAAoB,GACpB6F,YAAa,GACbC,YAAa,GACbC,WAAY,EACZ/E,UAAU,EACVS,gBAAgB,EAChBE,eAAgB,GAChBqE,YAAa,GACbnE,uBAAwB,GACxBgB,iBAAiB,EACjBP,cAAc,EACd4C,UAAU,EACVb,kBAAkB,EAClB4B,kBAAmB,GACnBC,WAAY,GACZzD,SAAU,IAxChB,gCAyCA,CACM,SAAN,QACM,MAAN,eA3CA,+BA8CA,CACM,KAAN,EACM,MAAN,EACM,UAAN,GACM,OAAN,oCAlDA,6BAsDA,CACM,KAAN,GACM,MAAN,GACM,MAAN,GACM,MAAN,GACM,OAAN,IACM,KAAN,GACM,KAAN,GACM,OAAN,KA9DA,yBAgEA,CACM,KAAN,EAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SACM,MAAN,EAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SACM,MAAN,CACA,CACQ,UAAR,EACQ,UAAR,8BACQ,QAAR,SAGM,OAAN,EAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,SACM,KAAN,EAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,WACM,OAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,aA7EA,8BAgFA,KAhFA,iCAiFA,CACA,CACM,KAAN,KACM,GAAN,EACM,MAAN,GAEA,CACM,KAAN,KACM,GAAN,EACM,MAAN,GAEA,CACM,KAAN,KACM,GAAN,EACM,MAAN,GAEA,CACM,KAAN,KACM,GAAN,EACM,MAAN,GAEA,CACM,KAAN,KACM,GAAN,EACM,MAAN,GAEA,CACM,KAAN,KACM,GAAN,EACM,MAAN,GAEA,CACM,KAAN,KACM,GAAN,EACM,MAAN,KAnHA,4BAuHA,CACM,QAAN,EACM,SAAN,KACM,WAAN,GACM,SAAN,EACM,aAAN,EACM,kBAAN,EACM,gBAAN,GACM,aAAN,GACM,SAAN,GACM,SAAN,GACM,cAAN,GACM,UAAN,GACM,SAAN,GACM,cAAN,GACM,UAAN,GACM,uBAAN,GACM,aAAN,GACM,kBAAN,GACM,gBAAN,GACM,mBAAN,GACM,YAAN,GACM,aAAN,GACM,gBAAN,KA9IA,2BAgJA,CACM,SAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,WAEM,OAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SAEM,WAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SAEM,QAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,WAAQ,QAAR,WAEM,YAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,WAAQ,QAAR,WAEM,gBAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,WAEM,cAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,WAEM,SAAN,CACA,CACQ,SAAR,EACQ,QAAR,UACQ,QAAR,sBA1KA,oCA+KA,CACM,GAAN,GACM,SAAN,GACM,WAAN,GACM,SAAN,EACM,QAAN,EACM,aAAN,EACM,QAAN,EACM,gBAAN,GACM,aAAN,GACM,SAAN,GACM,SAAN,GACM,cAAN,GACM,UAAN,GACM,SAAN,GACM,uBAAN,GACM,aAAN,GACM,kBAAN,GACM,gBAAN,GACM,mBAAN,GACM,YAAN,GACM,aAAN,GACM,gBAAN,GACM,UAAN,KAtMA,2BAwMA,CACM,SAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,WAEM,OAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SAEM,WAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SAEM,QAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,WAAQ,QAAR,WAEM,YAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,WAAQ,QAAR,WAEM,OAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,SAAQ,QAAR,WAEM,gBAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,WAEM,cAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,WAEM,SAAN,CACA,CACQ,UAAR,EACQ,QAAR,UACQ,QAAR,sBArOA,8BA0OA,CACM,GAAN,GACM,KAAN,GACM,OAAN,GACM,MAAN,GACM,KAAN,GACM,YAAN,GACM,OAAN,GACM,UAAN,GACM,QAAN,GACM,OAAN,GACM,UAAN,GACM,SAAN,GACM,gBAAN,GACM,MAAN,KAxPA,oCA0PA,CACM,GAAN,EAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SACM,KAAN,EAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,SACM,YAAN,CACA,CACQ,UAAR,EACQ,UAAR,8BACQ,QAAR,SAGM,OAAN,EAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,WACM,OAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,WAEM,MAAN,EAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,WACM,MAAN,CACA,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,aA1QA,iCA+QA,CACM,KAAN,KAhRA,8BAkRA,CACM,KAAN,EAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,aAnRA,8BAsRA,IAtRA,2BAuRA,iBAvRA,4BAyRA,IAzRA,0BA0RA,IA1RA,0BA2RA,GA3RA,yBA4RA,IA5RA,0BA6RA,MA7RA,kCA8RA,IA9RA,kCA+RA,IA/RA,kCAgSA,IAhSA,kCAiSA,IAjSA,GAqSE5jB,MAAO,CACL8iB,eADJ,SACA,GACM5mB,KAAK8X,MAAMsT,KAAK/W,OAAOpT,IAEzB6mB,gBAJJ,SAIA,cACU7mB,GACFjB,KAAKqY,WAAU,WACb,EAAV,wCACU,EAAV,yCAMEjW,QAAS,CAEPwjB,aAAc,SAAlB,GACM,OAAO1W,EAAImW,MAAQ,KAAO,MAG5B6C,WANJ,SAMA,GACM,MAAO,CACLpd,GAAIugB,EAAKza,GACT6F,MAAO4U,EAAKjqB,WACZsV,SAAU2U,EAAKnX,QAGnB6S,WAbJ,SAaA,KACM,OAAK9nB,IACsC,IAApCiD,EAAKd,WAAWgH,QAAQnJ,IAGjCmlB,aAlBJ,WAmBMpkB,KAAKsrB,aACLtrB,KAAKsP,YAAYC,KAAO,EACxBvP,KAAK6qB,UAAY7qB,KAAKqkB,gBACtBrkB,KAAK4qB,SAAW,GAChB5qB,KAAKurB,gBAIPD,WAAY,WAAhB,WACUhpB,EAAOtC,KACXsC,EAAKC,SAAU,EACf,IAAI0T,EAAS,CACXuV,UAAWlpB,EAAK+hB,iBAElB,EAAN,wBACA,kBACA,iBACU,EAAV,kBAGU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,eAIIoH,cAAe,WAAnB,WACUnpB,EAAOtC,KACXsC,EAAKC,SAAU,EACf,EAAN,oDACA,kBACA,iBACU,EAAV,iBAGU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,eAIIgiB,eAAgB,WACd,IAAIjiB,EAAOtC,KACXsC,EAAKqJ,WAAa,IAClBrJ,EAAKwlB,iBAAkB,EACvBxlB,EAAK2lB,SAAW,CACdyD,QAAQ,EACRC,SAAU,KACVvqB,WAAY,GACZgnB,SAAS,EACTwD,aAAa,EACbC,kBAAkB,EAClBC,gBAAiB,GACjBC,aAAc,GACdC,SAAU,GACVC,SAAU,GACVvqB,cAAe,GACfwqB,UAAW,GACXC,SAAU,GACVrrB,cAAe,GACf0nB,UAAW,GACX/mB,uBAAwB,GACxB2qB,aAAc,GACd7qB,kBAAmB,GACnBC,gBAAiB,GACjB4B,mBAAoB,GACpBzB,YAAa,GACb0qB,aAAc,GACdvD,gBAAiB,IAEnBxmB,EAAK0lB,QAAQ8D,gBAAkB,CACrC,CAAQ,UAAR,EAAQ,QAAR,QAAQ,QAAR,WAEMxpB,EAAK0lB,QAAQtmB,cAAgB,CACnC,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,WAGMY,EAAK0lB,QAAQmE,SAAW,CAC9B,CAAQ,UAAR,EAAQ,QAAR,UAAQ,QAAR,WAGM7pB,EAAKgqB,cAAc3Y,SAAQ,SAAjC,GACQ1S,EAAIgoB,MAAO,KAGb3mB,EAAK2lB,SAAS0D,SAAW,KACzBrpB,EAAKiqB,iBAAiBjqB,EAAKkiB,YAC3BliB,EAAKkqB,sBACLlqB,EAAKmoB,cAAgB,GACrBnoB,EAAKmpB,iBAGP1D,qBAzHJ,WA0HM,IAAN,OACMzlB,EAAKmqB,SAAW,MAQlBtE,cAnIJ,SAmIA,GACM,IAAN,OACU1R,IACFnU,EAAK2lB,SAAS2D,aAAc,GAK9BtpB,EAAKwV,MAAMmQ,SAASyE,gBAGhBpqB,EAAK2lB,SAASG,SAChB9lB,EAAK0lB,QAAQ8D,gBAAkB,CACvC,CAAU,UAAV,EAAU,QAAV,QAAU,QAAV,WAEQxpB,EAAK0lB,QAAQtmB,cAAgB,CACrC,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,WAEQY,EAAK0lB,QAAQmE,SAAW,CAChC,CACU,UAAV,EACU,QAAV,UACU,QAAV,sBAQQ7pB,EAAK0lB,QAAQ8D,gBAAkB,CACvC,CAAU,UAAV,EAAU,QAAV,QAAU,QAAV,WAEQxpB,EAAK0lB,QAAQtmB,cAAgB,CACrC,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,WAEQY,EAAK0lB,QAAQmE,SAAW,CAChC,CACU,UAAV,EACU,QAAV,UACU,QAAV,sBAUIQ,kBArLJ,aAyMIjD,kBAzMJ,SAyMA,GACM,IAAN,OACUjT,IACFnU,EAAKmnB,iBAAiBmC,aAAc,GAEtCtpB,EAAKwV,MAAM2R,iBAAiBiD,gBACxBpqB,EAAKmnB,iBAAiBrB,SACxB9lB,EAAKknB,QAAQsC,gBAAkB,CACvC,CAAU,UAAV,EAAU,QAAV,QAAU,QAAV,WAEQxpB,EAAKknB,QAAQ9nB,cAAgB,CACrC,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,WAEQY,EAAKknB,QAAQ2C,SAAW,CAChC,CACU,UAAV,EACU,QAAV,UACU,QAAV,sBAIQ7pB,EAAKknB,QAAQsC,gBAAkB,CACvC,CAAU,UAAV,EAAU,QAAV,QAAU,QAAV,WAEQxpB,EAAKknB,QAAQ9nB,cAAgB,CACrC,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,WAGQY,EAAKknB,QAAQ2C,SAAW,CAChC,CACU,UAAV,EACU,QAAV,UACU,QAAV,sBAOI7D,aAhPJ,SAgPA,GACM,GAAKrpB,EAAL,CAGA,IAAIqD,EAAOtC,KACXsC,EAAK2lB,SAAS6D,gBAAkB7sB,EAChCqD,EAAK2lB,SAAS8D,aAAe9sB,EAAM,GACnCqD,EAAK2lB,SAAS+D,SAAW/sB,EAAM,GAC/BqD,EAAK2lB,SAASgE,SAAWhtB,EAAM,GAE/B,IAAN,2CACA,uCACA,qCAEsB,OAAZ2tB,EAEFtqB,EAAKuqB,OAAOxK,QAAQyK,GAEpBxqB,EAAKuqB,OAAOxK,QAAQuK,KAMxBJ,oBAxQJ,WAyQM,IAAN,OACA,iDAEA,oBACQtO,IAAK6O,EACL5O,QAAS,CACP6O,KAAM,GACNC,cAAc,KAGlB3qB,EAAKuqB,OAASK,EAGdA,EAAMC,mBAAmB3jB,MAAK,SAApC,GAkDQ,GAjDA0jB,EAAME,aAAarP,GAInBA,EAAK7R,GAAG,SAAS,SAAzB,GACU5J,EAAK2lB,SAASiE,UAAYjrB,EAAIosB,OAAOhN,IACrC/d,EAAK2lB,SAASkE,SAAWlrB,EAAIosB,OAAO/M,IAEpChe,EAAKmnB,iBAAiByC,UAAYjrB,EAAIosB,OAAOhN,IAC7C/d,EAAKmnB,iBAAiB0C,SAAWlrB,EAAIosB,OAAO/M,IAExCwB,IACFA,EAAYwL,QACRxL,EAAYhiB,QACdgiB,EAAYhiB,OAAOytB,WAAWD,SAKlCJ,EACV,+CACA,kBACA,oBACc,EAAd,yCAEc,EAAd,SACgB,SAAhB,4BACgB,MAAhB,EACgB,MAAhB,iCACgB,WAAhB,MAGc,EAAd,iCACc,EAAd,SACgB,SAAhB,4BACgB,MAAhB,EACgB,MAAhB,yBACgB,WAAhB,KAGY,EAAZ,iBACA,WACA,OACA,eAGA,0BAGY5qB,EAAKgnB,iBACP,GAAIhnB,EAAKmnB,iBAAiBsC,aAAc,CACtC,IAAZ,mDACA,+CACA,+CACA,EACA,EACA,EACA,EACA,iCACYmB,EAAMM,oBAAoBrM,GAAS3X,MAAK,SAApD,GACc0jB,EAAMO,gBAAgB,CAAC/L,EAASrB,IAAKqB,EAASpB,MAC9C4M,EAAMQ,QAAQ,CACZjP,SAAU,CAACiD,EAASrB,IAAKqB,EAASpB,KAClCpB,MAAM,EACNQ,MAAOyB,EACPnC,WAAW,YAIX1c,EAAKmnB,iBAAiB0C,WAExBe,EAAMO,gBAAgB,CACpC,6BACA,8BAGcP,EAAMQ,QAAQ,CACZjP,SAAU,CAC1B,6BACA,6BAEgBS,MAAM,EACNQ,MAAOpd,EAAKmnB,iBAAiB/nB,cAC7Bsd,WAAW,IAGbkO,EACd,oBACA,6BACA,6BAEA,kBACA,mBACkB,EAAlB,yCAEkB,EAAlB,iCAEgB,EAAhB,iBACA,WACA,OACA,eAGA,4BAOIS,aArYJ,WAsYM,IAAN,OAEUC,EAAa,IAAI7P,KAAK8P,WAE1BD,EAAWE,cAAa,SAA9B,KACQ,GAAe,aAAXlN,GAAyC,OAAhBrhB,EAAOiiB,MAC9BjiB,GAAUA,EAAOkhB,MAAQlhB,EAAOwuB,OAAQ,CAC1C,IAAIjN,EAAWvhB,EAAOuhB,SAClBkN,EAAWzuB,EAAOkhB,KACLlhB,EAAOwuB,OACxBzrB,EAAK2rB,iBAAiBnN,EAAUkN,QASxCC,iBAzZJ,SAyZA,OACM,IAAN,OACA,0BACA,WACA,6BACM,GAAIC,EAAO,CACT,IAAR,gCACY5rB,EAAKgnB,kBACPhnB,EAAKmnB,iBAAiBsC,aAAeoC,EACrC7rB,EAAKmnB,iBAAiBuC,SAAWoC,EACjC9rB,EAAKmnB,iBAAiBwC,SAAWoC,EAEjC/rB,EAAKmnB,iBAAiBqC,gBAAkB,CAClD,EACA,EACA,KAGUxpB,EAAK2lB,SAAS8D,aAAeoC,EAC7B7rB,EAAK2lB,SAAS+D,SAAWoC,EACzB9rB,EAAK2lB,SAASgE,SAAWoC,EACzB/rB,EAAK2lB,SAAS6D,gBAAkB,CAC1C,EACA,EACA,QAGA,CACQ,IAAR,wBACA,YACA,mBACU,MACV,4CAGA,UACQ,GAAIwC,EAAOhrB,OAAS,EAAG,CACrB,IAAV,kBAEchB,EAAKgnB,iBACPhnB,EAAKmnB,iBAAiBqC,gBAAkB,CACpD,EACA,EACA,GAGYxpB,EAAK2lB,SAAS6D,gBAAkB,CAC5C,EACA,EACA,MAQIvC,iBAldJ,WAmdUzH,GACFA,EAAYwL,QAEdxL,EAAc,MAIhByG,eA1dJ,WA2dM,IAAN,OAEQzG,EADExf,EAAKgnB,iBACOhnB,EAAKuqB,OAAOtE,eAClC,YACA,kCAGsBjmB,EAAKuqB,OAAOtE,eAClC,QACA,0BAKM,IAAIxK,KAAKwF,MAAMC,YAAY1B,EAAa,iBAAiB,SAC/D,GAEQ,IAAR,wBAEA,EACA,4BACA,MACA,yBACA,yBACQxf,EAAK2rB,iBAAiBnN,EAAUL,EAAMyN,GAElC5rB,EAAKgnB,kBACPhnB,EAAKmnB,iBAAiB/nB,cAAgB6sB,EAAQC,SAAStsB,KAAKif,QAC5D7e,EAAKmnB,iBAAiByC,UAAYqC,EAAQC,SAAStsB,KAAKwf,SAASrB,IACjE/d,EAAKmnB,iBAAiB0C,SAAWoC,EAAQC,SAAStsB,KAAKwf,SAASpB,MAEhEhe,EAAK2lB,SAASvmB,cAAgB6sB,EAAQC,SAAStsB,KAAKif,QACpD7e,EAAK2lB,SAASiE,UAAYqC,EAAQC,SAAStsB,KAAKwf,SAASrB,IACzD/d,EAAK2lB,SAASkE,SAAWoC,EAAQC,SAAStsB,KAAKwf,SAASpB,SAM9DmO,aAlgBJ,WAmgBM,IAAInsB,EAAOtC,KACXsC,EAAKC,SAAU,EACf,EAAN,0BACA,kBACA,kBACU,EAAV,sBACU,EAAV,kBACA,wBACY,EAAZ,4BACY,EAAZ,2CACY,EAAZ,4CACY,EAAZ,qCAGU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,eAKIsmB,aA7hBJ,SA6hBA,KACM,IAAItR,GAAwB,YAAhBA,EAAKqJ,OAAjB,CACA,IAAN,OACM,OAAQ7e,GACN,KAAK,GACHO,EAAK2lB,SAASO,UAAY,GAC1B,MACF,KAAK,GACH,IAAV,wCACA,YAAY,OAAZ,gBAEUlmB,EAAK2lB,SAASa,gBAAgB9R,OAAOtW,EAAO,GAE5C4B,EAAK0mB,eAAehS,OAAOtW,EAAO,GAClC,MAEF,KAAK,GACH4B,EAAKmnB,iBAAiBjB,UAAY,GAClC,MACF,KAAK,GACH,IAAV,gDACA,YAAY,OAAZ,gBAGUlmB,EAAKmnB,iBAAiBX,gBAAgB9R,OAAO0X,EAAM,GACnDpsB,EAAKsnB,eAAe5S,OAAO0X,EAAM,GACjC,SAIN1gB,mBA3jBJ,SA2jBA,KACM,IAAN,OACA,qBACWoJ,GACH9U,EAAKM,SAASC,MAAM,qBAGtB,IAAN,iBAcM,OAbAwU,EAAOC,cAAcC,GACrBF,EAAOtR,OAAS,SAAtB,GACQ,IAAR,kBACQzD,EAAK+V,WAAU,WACTsW,GACFrsB,EAAKmnB,iBAAiBjB,UAAY,CAAC,CAA/C,gBACYlmB,EAAKqnB,eAAiB,CAAC3jB,KAEvB1D,EAAK2lB,SAASO,UAAY,CAAC,CAAvC,gBACYlmB,EAAKqmB,eAAiB,CAAC3iB,SAItB,GAGT+iB,6BAnlBJ,SAmlBA,KACM,IAAN,OACA,qBACW3R,GACH9U,EAAKM,SAASC,MAAM,qBAGtB,IAAN,iBAcM,OAbAwU,EAAOC,cAAcC,GACrBF,EAAOtR,OAAS,SAAtB,GACQ,IAAR,kBACQzD,EAAK+V,WAAU,WACTsW,GACFrsB,EAAKmnB,iBAAiBX,gBAAgBvlB,KAAK,CAAvD,QACYjB,EAAKsnB,eAAermB,KAAKyC,KAEzB1D,EAAK2lB,SAASa,gBAAgBvlB,KAAK,CAA/C,gBACYjB,EAAK0mB,eAAezlB,KAAKyC,SAIxB,GAGTkjB,iBA3mBJ,SA2mBA,GACM,IAAN,OACA,IACM5mB,EAAKgqB,cAAc5rB,GAAOuoB,MAAQ3mB,EAAKgqB,cAAc5rB,GAAOuoB,MAG9DI,UAjnBJ,WAinBA,WACU/mB,EAAOtC,KACXA,KAAK8X,MAAMmQ,SAAS2G,UAAS,SAAnC,GACQ,IAAIC,EA2DF,OAAO,EA1DPvsB,EAAKkkB,cAAe,EACpBlkB,EAAK2lB,SAAS8D,aAAezpB,EAAK2lB,SAAS6D,gBAAgB,GAC3DxpB,EAAK2lB,SAAS+D,SAAW1pB,EAAK2lB,SAAS6D,gBAAgB,GACvDxpB,EAAK2lB,SAASgE,SAAW3pB,EAAK2lB,SAAS6D,gBAAgB,GACvDxpB,EAAK2lB,SAAS1mB,kBAAoBe,EAAK2lB,SAASmE,aAC1D,sEACA,GACU9pB,EAAK2lB,SAASzmB,gBAAkBc,EAAK2lB,SAASmE,aACxD,sEACA,GACU9pB,EAAK2lB,SAASnnB,cACxB,oDACA,4BACA,GACUwB,EAAK2lB,SAAS7kB,mBAAqBvB,EAAWsB,KAAKb,EAAKgqB,eAClE,mBACY,OAAZ,UAEA,oBAAY,MAAZ,CACc5pB,KAAMzB,EAAI6J,GAAK,MAE7B,UAEUxI,EAAK2lB,SAASoE,aAAexqB,EAAWsB,KAClD,4BAEA,oBAAY,MAAZ,CACctC,SAAUI,EAAIynB,QAE5B,UACU,IAAIzS,EAAS,CACX6Y,iBAAkB,EAA9B,sCACYC,mBAAoB,EAAhC,mCAEA,8BACUza,QAAQC,IAClB,4EACA,GAEU,EAAV,2BACA,kBACA,kBACc,EAAd,yBACc,EAAd,mBACc,EAAd,aACc,EAAd,eACc,EAAd,iCAEc,EAAd,gBACgB,QAAhB,UACgB,SAAhB,SAIA,oBACY,EAAZ,uBAQIya,sBAprBJ,SAorBA,GACM,IAAN,OACA,GACQpe,GAAIA,GAEN,EAAN,kCACA,kBACQ,GAAR,kBACU,EAAV,oDACU,EAAV,sCAEU,EAAV,uDACA,YAEY,EAAZ,iCAAc,KAAd,GAAc,IAAd,IACY,EAAZ,sBAEA,YACY,QAAZ,UAIU,EAAV,+CACA,uBACA,8BACA,GAEU,IAAV,2BACA,SACA,sDACA,IACA,0BAEA,SACA,yBACA,SACA,sDACA,IACA,wBAEA,SAEU,EAAV,oCACU,EAAV,mCACA,yBACU,EAAV,wDACU,EAAV,gDAEU,EAAV,uCACY,EAAZ,6CACA,YAEc,EAAd,uCACgB,KAAhB,GACgB,IAAhB,IAEc,EAAd,0BAEA,YACc,QAAd,aAKU,EAAV,mCACY,EAAZ,6CACA,iBACgB,EAAhB,oBAKU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,oBAIIiU,gBAvwBJ,SAuwBA,GACM,IAAIviB,EAAOtC,KACXsC,EAAK2jB,UAAW,EAChB3jB,EAAKwlB,iBAAkB,EACvBxlB,EAAKsoB,SAAWnrB,EAAImR,GACpBtO,EAAK0iB,gBAAkBvlB,EAAI2B,WAC3BkB,EAAK2iB,mBAAqBxlB,EAAIksB,SAC9BrpB,EAAK2lB,SAASgH,OAASxvB,EAAImR,GAE3B5Q,KAAKsP,YAAYC,KAAO,EACxBvP,KAAK6qB,UAAY,GACjBvoB,EAAKipB,gBAKPzG,WAvxBJ,SAuxBA,OACM,IAAIoK,EAAeC,EAAajtB,KAAK0O,GACjCwe,EAAe,GACfC,EAAiB,GAEL,SAAZC,GACFF,EAAeG,EAASrtB,KAAK0O,GAC7B2e,EAASrtB,KAAKgS,MAAMP,SAAQ,SAApC,KACclT,EAAKmQ,IAAMue,EAAajtB,KAAK0O,IAC3BlQ,EAAQ,IACV2uB,EAAiBE,EAASrtB,KAAKgS,MAAMxT,EAAQ,GAAGkQ,QAI9D,aACQwe,EAAeG,EAASC,OAAOttB,KAAK0O,GACpC2e,EAASC,OAAOttB,KAAKgS,MAAMP,SAAQ,SAA3C,KACclT,EAAKmQ,IAAMue,EAAajtB,KAAK0O,IAC3BlQ,EAAQ,IACV2uB,EAAiBE,EAASC,OAAOttB,KAAKgS,MAAMxT,EAAQ,GAAGkQ,SAK7Dye,EAAiBE,EAASrtB,KAAK0O,GAC/Bwe,EAAeG,EAASC,OAAOttB,KAAK0O,IAEtC5Q,KAAKyvB,WAAWP,EAAcE,EAAcC,IAE9C1K,UApzBJ,SAozBA,GACM,OAAuB,GAAhB0G,EAAKnpB,KAAK0O,IAEnBgU,UAvzBJ,SAuzBA,OACM,SAAkB,QAAR7iB,GAA0B,QAARA,IAAuC,GAApBwtB,EAASrtB,KAAK0O,KAG/D6e,WAAY,SAAhB,OACM,IAAIntB,EAAOtC,KACPiW,EAAS,CACXyZ,aAAcR,EACdS,aAAcP,EACdQ,eAAgBP,GAElB,EAAN,2CAC6B,KAAjB7sB,EAAIC,WACNH,EAAKgpB,aACLhpB,EAAKoiB,0BAA4B,CAACzO,EAAOyZ,eAEzCptB,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlBkiB,mBA/0BJ,WAg1BM,IAAI5iB,EAAOtC,KACXsC,EAAKgN,YAAYC,KAAO,EACxBjN,EAAKipB,gBAGPA,aAAc,WACZ,IAAIjpB,EAAOtC,KACXsC,EAAKC,SAAU,EACf,IAAI0T,EAAS,CACXD,QAAS1T,EAAKgN,YAAYC,KAC1Bic,UAAWlpB,EAAKuoB,UAChBxE,SAAU/jB,EAAKsoB,SACfvF,MAAO/iB,EAAK+iB,MACZF,MAAO7iB,EAAK6iB,OAEd,EAAN,0BACA,kBACA,kBACU,EAAV,iBACU,EAAV,0BACU,EAAV,kCAEU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,eAIIa,oBAj3BJ,SAi3BA,GACM,IAAI1jB,EAAOtC,KACXsC,EAAKgN,YAAYC,KAAOA,EACxBjN,EAAKipB,gBAGPsE,WAAY,WACV,IAAIvtB,EAAOtC,KACPiW,EAAS,CACX8U,YAAazoB,EAAKyoB,aAEpB,EAAN,iDAC6B,KAAjBvoB,EAAIC,UACNH,EAAKwoB,YAActoB,EAAIE,KAEvBJ,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlByiB,iBAAkB,WAChB,IAAInjB,EAAOtC,KACXsC,EAAK8jB,UAAUT,OAAS,GACxBrjB,EAAK8jB,UAAUT,OAAOpiB,KAAK,CACzB8iB,SAAU/jB,EAAKsoB,SACfxpB,WAAYkB,EAAK0iB,gBACjBU,iBAAiB,IAEnBpjB,EAAK0oB,WAAa,EAClB1oB,EAAK2jB,UAAW,EAChB3jB,EAAKooB,SAAU,EACfpoB,EAAKutB,cAGPtJ,gBAt5BJ,WAu5BM,IAAIjkB,EAAOtC,KACXsC,EAAKokB,gBAAiB,EACtBpkB,EAAK2oB,YAAcppB,EAAWsB,KAAKnD,KAAKomB,UAAUT,QACxD,oBAAQ,MAAR,CACU/U,GAAI3P,EAAIolB,SACRX,gBAAiBzkB,EAAIykB,gBACrBtkB,WAAYH,EAAIG,WAChB+lB,cAAc,MAExB,UACM7kB,EAAKwkB,uBAAyBjlB,EAAWsB,KAAKnD,KAAKomB,UAAUT,QACnE,oBAAQ,OAAR,cACA,WAGIgB,6BAt6BJ,WAu6BM3mB,KAAK0mB,gBAAiB,EACtB1mB,KAAK4mB,eAAiB,GACtB5mB,KAAKirB,YAAc,GACnBjrB,KAAK8X,MAAMsT,KAAK0E,gBAAgB9vB,KAAKirB,cAIvCjE,eA96BJ,SA86BA,KACM,IAAI1kB,EAAOtC,KAMX,GALkC,oBAAvBiB,EAAIykB,kBACbzkB,EAAIkmB,cAAe,EACnBlmB,EAAIykB,iBAAkB,GAExBpjB,EAAK2oB,YAAc8E,EAAKC,aACpB1tB,EAAK2oB,YAAY3nB,OAAS,EAAG,CAC/B,IAAI2sB,EAAepuB,EAAWsB,KAAKnD,KAAKirB,aAChD,mBACU,OAAV,wBAEA,UACYgF,EAAa3sB,QAAU,IACzBhB,EAAKyJ,KAAKzJ,EAAK2oB,YAAY,GAAI,gBAAgB,GAC/C3oB,EAAKyJ,KAAKzJ,EAAK2oB,YAAY,GAAI,mBAAmB,IAGtD3oB,EAAK2oB,YAAYtX,SAAQ,SAA/B,GACalT,EAAKilB,kBACRpjB,EAAKyJ,KAAKtL,EAAM,gBAAgB,GAChC6B,EAAKyJ,KAAKtL,EAAM,mBAAmB,QAKzC4mB,cAAe,SAAnB,GACM,IAAI/kB,EAAOtC,KAEX,GADAsC,EAAK2oB,YAAYjU,OAAOtW,EAAO,GAC3B4B,EAAK2oB,YAAY3nB,OAAS,EAAG,CAC/B,IAAI2sB,EAAepuB,EAAWsB,KAAKnD,KAAKirB,aAChD,mBACU,OAAV,wBAEA,UACYgF,EAAa3sB,QAAU,IACzBhB,EAAKyJ,KAAKzJ,EAAK2oB,YAAY,GAAI,gBAAgB,GAC/C3oB,EAAKyJ,KAAKzJ,EAAK2oB,YAAY,GAAI,mBAAmB,IAGtDjrB,KAAK8X,MAAMsT,KAAK0E,gBAAgBxtB,EAAK2oB,cAGvChE,YAAa,SAAjB,KACM,IAAI3kB,EAAOtC,KACNS,EAAKilB,kBACRpjB,EAAK2oB,YAAYvqB,GAAOymB,cAAe,IAI3CD,aAAc,SAAlB,GACM,IAAI5kB,EAAOtC,KACXsC,EAAK2oB,YAAYvqB,GAAOymB,cAAe,GAGzCC,WAAY,SAAhB,GACM,IAAI9kB,EAAOtC,KACXsC,EAAK2oB,YAAYtX,SAAQ,SAA/B,GACQlT,EAAKilB,iBAAkB,KAEzBpjB,EAAK2oB,YAAYvqB,GAAOglB,iBAAkB,GAG5C4B,uBA7+BJ,WAi/BM,IAHA,IAAIhlB,EAAOtC,KAEPkD,EAAM,GAChB,wCACQA,EAAIK,KAAKjB,EAAK4oB,kBAAkB,GAAxC,IAGM,GADA5oB,EAAK4tB,iBAAmBhtB,EACpBZ,EAAK2oB,YAAY3nB,OAAS,EAAG,CAG/B,IADA,IAAIqiB,EAAS,GACJ9d,EAAI,EAAGA,EAAIvF,EAAK2oB,YAAY3nB,OAAQuE,IAAK,CAChD,IAAIsoB,EAAe,GACnBA,EAAa9J,SAAW/jB,EAAK2oB,YAAYpjB,GAAG+I,GAC5Cuf,EAAazK,gBAAkBpjB,EAAK2oB,YAAYpjB,GAAG6d,gBACnDyK,EAAa/uB,WAAakB,EAAK2oB,YAAYpjB,GAAGzG,WAC9CukB,EAAOpiB,KAAK4sB,GAES,GAAnB7tB,EAAK0oB,WACP1oB,EAAK8jB,UAAUT,OAASA,EAClC,kBACUrjB,EAAKklB,WAAW7B,OAASA,GAE3BrjB,EAAKokB,gBAAiB,OAEtBpkB,EAAKM,SAASC,MAAM,aAKxByjB,YA3gCJ,SA2gCA,GACMtmB,KAAKomB,UAAUT,OAAO3O,OAAOhX,KAAKomB,UAAUT,OAAOvd,QAAQhJ,GAAM,IAInEqnB,kBAhhCJ,WAihCM,IAAInkB,EAAOtC,KACXA,KAAK8X,MAAM,aAAa8W,UAAS,SAAvC,GACQ,GAAIC,EAAO,CACTvsB,EAAKkkB,cAAe,EACpB,IAAIvQ,EAAS,CACXrF,GAAItO,EAAK8jB,UAAUgK,MACnB/jB,KAAM/J,EAAK8jB,UAAU/b,KACrBgmB,MAAO/tB,EAAK8jB,UAAUiK,MACtBC,YAAahuB,EAAK8jB,UAAUmK,MAC5BpL,MAAO7iB,EAAK8jB,UAAUoK,KACtBC,OAAQnuB,EAAK8jB,UAAUqK,OACvBC,SAAU,GACVC,UAAW,GACXrP,QAAS,GACTsP,UAAW,GACXC,gBAAiB,GACjBC,kBAAmB,GACnBC,gBAAiB,GACjBpL,OAAQrjB,EAAK8jB,UAAUT,QAEzB,EAAV,6BACA,kBACA,kBACc,EAAd,uBACc,EAAd,YACc,EAAd,eACc,EAAd,kCAEc,EAAd,gBACgB,QAAhB,UACgB,SAAhB,SAIA,oBACY,EAAZ,wBAKIO,UAzjCJ,WA2jCM,IAAI5jB,EAAOtC,KACXA,KAAK8X,MAAM,aAAakZ,cACxB1uB,EAAK2jB,UAAW,GAGlBJ,eAhkCJ,SAgkCA,GACM,IAAIvjB,EAAOtC,KACXsC,EAAKilB,cAAe,EACpBjlB,EAAK0oB,WAAa,EAClB1oB,EAAK2oB,YAAc,GACnB3oB,EAAKklB,WAAahpB,OAAOyyB,OAAO,GAAI/hB,GACT,MAAvBA,EAAI6hB,gBACNzuB,EAAKolB,SAAW,GAEhBplB,EAAKolB,SAAW,CACxB,+BACA,8BAGMplB,EAAKutB,cAGPlI,gBAjlCJ,SAilCA,GACM3nB,KAAKwnB,WAAW7B,OAAO3O,OAAOhX,KAAKwnB,WAAW7B,OAAOvd,QAAQhJ,GAAM,IAGrEwoB,iBArlCJ,WAslCM,IAAItlB,EAAOtC,KACXA,KAAK0mB,gBAAiB,EACtB1mB,KAAKirB,YAAcppB,EAAWsB,KAAKnD,KAAKwnB,WAAW7B,QACzD,oBAAQ,MAAR,CACU/U,GAAI3P,EAAIolB,SACRX,gBAAiBzkB,EAAIykB,gBACrBtkB,WAAYH,EAAIG,WAChB+lB,cAAc,MAExB,UACM7kB,EAAKwkB,uBAAyBjlB,EAAWsB,KAAKnD,KAAKwnB,WAAW7B,QACpE,oBAAQ,OAAR,cACA,WAGIkC,aArmCJ,WAsmCM,IAAIvlB,EAAOtC,KACXA,KAAK8X,MAAM,cAAc8W,UAAS,SAAxC,GACQ,IAAIC,EA6CF,OAAO,EA5CPvsB,EAAKkkB,cAAe,EACpB,IAAIsK,EAAoB,GACpBC,EAAkB,GAClBzuB,EAAKolB,SAASpkB,OAAS,IACzBwtB,EAAoBxuB,EAAKolB,SAAS,GAClCqJ,EAAkBzuB,EAAKolB,SAAS,IAElC,IAAIzR,EAAS,CACXrF,GAAItO,EAAKklB,WAAW5W,GACpBvE,KAAM/J,EAAKklB,WAAWnb,KACtBikB,YAAahuB,EAAKklB,WAAW8I,YAC7BnL,MAAO7iB,EAAKklB,WAAWrC,MACvBE,MAAO/iB,EAAKklB,WAAWnC,MACvBoL,OAAQnuB,EAAKklB,WAAWiJ,OACxBC,SAAUpuB,EAAKklB,WAAWkJ,SAC1BC,UAAWruB,EAAKklB,WAAWmJ,UAC3BrP,QAAShf,EAAKklB,WAAWlG,QACzBsP,UAAWtuB,EAAKklB,WAAWoJ,UAC3BC,gBAAiBvuB,EAAKklB,WAAWqJ,gBACjCC,kBAAmBA,EACnBC,gBAAiBA,EACjBpL,OAAQrjB,EAAKklB,WAAW7B,OACxB0K,MAAO/tB,EAAKklB,WAAW6I,MACvBa,OAAQ5uB,EAAKklB,WAAW0J,OACxBC,0BACZ,wCAEU,EAAV,6BACA,kBACA,kBACc,EAAd,yBACc,EAAd,gBACc,EAAd,gBAEc,EAAd,gBACgB,QAAhB,UACgB,SAAhB,SAIA,oBACY,EAAZ,uBAQI9gB,sBA1pCJ,SA0pCA,GACM,IAAI/N,EAAOtC,KACPkD,EAAM,GACVZ,EAAK4oB,kBAAoBjqB,EACzBqB,EAAKynB,YAAcznB,EAAK4oB,kBAAkB5nB,OAC1C,IAAK,IAAX,wCACQJ,EAAIK,KAAKjB,EAAK4oB,kBAAkBrjB,GAAG+I,IAErCtO,EAAK6oB,WAAajoB,GAIpB4iB,aAtqCJ,SAsqCA,GACM,IAAIxjB,EAAOtC,KACX,GAAwB,GAApBsC,EAAKynB,YAKP,OAJAznB,EAAKM,SAASC,MAAM,CAClBC,QAAS,QACTE,SAAU,OAEL,EAEE,QAAP/B,GACFqB,EAAKutB,aACLvtB,EAAK2nB,cAAgB,CACnBuG,KAAM,IAERluB,EAAKwnB,eAAgB,GAC7B,oBACQ9pB,KAAKyuB,eACLnsB,EAAKskB,eAAiB,GACtBtkB,EAAK2oB,YAAc,GACfjrB,KAAK8X,MAAMsT,MACbprB,KAAK8X,MAAMsT,KAAK0E,gBAAgB9vB,KAAKirB,aAEvC3oB,EAAK6nB,UAAW,IAKpBpF,cAjsCJ,SAisCA,GACMzQ,QAAQC,IAAItT,GACZ,IAAIqB,EAAOtC,KACXsC,EAAK2jB,UAAW,EAChB3jB,EAAKqJ,WAAa,IAClBrJ,EAAKgqB,cAAc3Y,SAAQ,SAAjC,GACQ1S,EAAIgoB,MAAO,KAEF,OAAPhoB,GACFqB,EAAK+V,WAAU,WACb/V,EAAKwV,MAAMmQ,SAASyE,mBAEtBpqB,EAAK2lB,SAAW,CACdyD,QAAQ,EACRC,SAAU,KACVvqB,WAAY,GACZgnB,SAAS,EACTwD,aAAa,EACbE,gBAAiB,GACjBC,aAAc,GACdC,SAAU,GACVC,SAAU,GACVvqB,cAAe,GACfwqB,UAAW,GACXC,SAAU,IAEZ7pB,EAAK0lB,QAAQ8D,gBAAkB,CACvC,CAAU,UAAV,EAAU,QAAV,QAAU,QAAV,WAEQxpB,EAAK0lB,QAAQtmB,cAAgB,CACrC,CAAU,UAAV,EAAU,QAAV,UAAU,QAAV,WAGQY,EAAK0lB,QAAQmE,SAAW,CAChC,CACU,UAAV,EACU,QAAV,UACU,QAAV,oBAGQ7pB,EAAKwlB,iBAAkB,EACvBxlB,EAAK2lB,SAAS0D,SAAW,KACzBrpB,EAAKiqB,iBAAiBjqB,EAAKkiB,YAC3BliB,EAAKmoB,cAAgB,GACrBnoB,EAAKmpB,kBAEL,EAAR,oCACQ,EAAR,8BACA,iCACQnpB,EAAK+V,WAAU,WACb/V,EAAKwV,MAAM2R,iBAAiBiD,mBAG1BpqB,EAAKmnB,iBAAiBrB,SACxB9lB,EAAKknB,QAAQsC,gBAAkB,CACzC,CAAY,UAAZ,EAAY,QAAZ,QAAY,QAAZ,WAEUxpB,EAAKknB,QAAQ9nB,cAAgB,CACvC,CAAY,UAAZ,EAAY,QAAZ,UAAY,QAAZ,WAEUY,EAAKknB,QAAQ2C,SAAW,CAClC,CACY,UAAZ,EACY,QAAZ,UACY,QAAZ,sBAIU7pB,EAAKknB,QAAQsC,gBAAkB,CACzC,CAAY,UAAZ,EAAY,QAAZ,QAAY,QAAZ,WAEUxpB,EAAKknB,QAAQ9nB,cAAgB,CACvC,CAAY,UAAZ,EAAY,QAAZ,UAAY,QAAZ,WAEUY,EAAKknB,QAAQ2C,SAAW,CAClC,CACY,UAAZ,EACY,QAAZ,UACY,QAAZ,qBAIQ7pB,EAAK0sB,sBAAsB1sB,EAAKsoB,UAChCtoB,EAAKmoB,cAAgBnoB,EAAKsoB,SAC1BtoB,EAAKmpB,gBACLnpB,EAAKgnB,kBAAmB,EACxBhnB,EAAK+V,WAAU,WACb/V,EAAK8uB,YAAY9uB,EAAKsoB,cAG1BtoB,EAAKkqB,uBAGP,YA9xCJ,SA8xCA,2JACA,4DACA,iBACA,6CAEA,kCAGA,8DACA,kBACA,iDAVA,8CAeID,iBAAkB,SAAtB,GACM,IAAIjqB,EAAOtC,KACXqxB,EAAK1d,SAAQ,SAAnB,GACYlT,EAAKmQ,IAAMtO,EAAKsoB,WAClBtoB,EAAKmnB,iBAAiB7Y,GAAKnQ,EAAKmQ,GAChCtO,EAAKmnB,iBAAiBkC,SAAWlrB,EAAKkrB,SACtCrpB,EAAKmnB,iBAAiBroB,WAAaX,EAAKW,WACxCkB,EAAKmnB,iBAAiBrB,QAAU3nB,EAAK2nB,QACrC9lB,EAAKmnB,iBAAiBmC,YAAcnrB,EAAKmrB,YACzCtpB,EAAKmnB,iBAAiBnT,OAAS7V,EAAK6V,OACpChU,EAAK2lB,SAAS0D,SAAWlrB,EAAKmQ,GAC9BtO,EAAKmnB,iBAAiBqC,gBAAkB,CAClD,eACA,WACA,YAEUxpB,EAAKmnB,iBAAiBsC,aAAetrB,EAAKsrB,aAC1CzpB,EAAKmnB,iBAAiBuC,SAAWvrB,EAAKurB,SACtC1pB,EAAKmnB,iBAAiBwC,SAAWxrB,EAAKwrB,SACtC3pB,EAAKmnB,iBAAiB/nB,cAAgBjB,EAAKiB,cAC3CY,EAAKmnB,iBAAiByC,UAAYzrB,EAAKyrB,UACvC5pB,EAAKmnB,iBAAiB0C,SAAW1rB,EAAK0rB,UAEpC1rB,EAAKyT,OACP5R,EAAKiqB,iBAAiB9rB,EAAKyT,WAKjC2V,oBAAqB,WAAzB,WACUvnB,EAAOtC,KACXA,KAAK8X,MAAM2R,iBAAiBmF,UAAS,SAA3C,GACQ,GAAIC,EAAO,CACTvsB,EAAKkkB,cAAe,EAEpBlkB,EAAKmnB,iBAAiBloB,kBAAoBe,EAAKmnB,iBACzD,aACA,mCACA,GACUnnB,EAAKmnB,iBAAiBjoB,gBAAkBc,EAAKmnB,iBACvD,aACA,mCACA,GAEUnnB,EAAKmnB,iBAAiB3oB,cAChC,8BACA,sCACA,oCACA,GACUwB,EAAKmnB,iBAAiBrmB,mBAAqBvB,EAAWsB,KAChE,iBAEA,mBACY,OAAZ,UAEA,oBAAY,MAAZ,CACcT,KAAMzB,EAAI6J,GAAK,MAE7B,UAEUxI,EAAKmnB,iBAAiB4C,aAAexqB,EAAWsB,KAC1D,oCAEA,oBAAY,MAAZ,CACctC,SAAUI,EAAIynB,QAE5B,UACU,IAAIzS,EAAS,CACX6Y,iBAAkB,EAA9B,qCACYC,mBAAoB,EAAhC,uCAEA,sCACUza,QAAQC,IAClB,oFACA,GAGU,EAAV,2BACA,kBACA,mBACc,EAAd,aACc,EAAd,iCACc,EAAd,mBACc,EAAd,kBACgB,QAAhB,SAEc,EAAd,yCAEc,EAAd,gBACgB,WAAhB,EACgB,QAAhB,UACgB,SAAhB,SAIA,oBACY,EAAZ,oBACY,EAAZ,wBAMI2V,aAp5CJ,WAq5CM,IAAI5nB,EAAOtC,KACXsC,EAAK6nB,UAAW,EAChB7nB,EAAK8jB,UAAUT,OAASrjB,EAAK2oB,YAC7B3oB,EAAKwV,MAAM,iBAAiB8W,UAAS,SAA3C,GACYC,GACFvsB,EAAK2X,iCAMXA,2BAA4B,WAC1B,IAAI3X,EAAOtC,KACXsC,EAAKkkB,cAAe,EACpB,IAAIvQ,EAAS,CACXkV,WAAY7oB,EAAK6oB,WACjBmG,UAAWhvB,EAAK2nB,cAAcuG,MAEhC,EAAN,yCACA,kBACA,kBACU,EAAV,uBACU,EAAV,iBACU,EAAV,gBAEU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,oBAKIpG,qBA17CJ,WA27CM,IAAI9nB,EAAOtC,KACX,GAAIsC,EAAKynB,YAAc,EAAG,CAGxB,IADA,IAAIpE,EAAS,GACJ9d,EAAI,EAAGA,EAAIvF,EAAK2oB,YAAY3nB,OAAQuE,IAAK,CAChD,IAAIsoB,EAAe,GACnBA,EAAa9J,SAAW/jB,EAAK2oB,YAAYpjB,GAAG+I,GAC5Cuf,EAAazK,gBAAkBpjB,EAAK2oB,YAAYpjB,GAAG6d,gBACnDyK,EAAa/uB,WAAakB,EAAK2oB,YAAYpjB,GAAGzG,WAC9CukB,EAAOpiB,KAAK4sB,GAEd7tB,EAAKivB,WAAa5L,EAClBrjB,EAAK4X,8BAITA,0BAA2B,WACzB,IAAI5X,EAAOtC,KACXsC,EAAKC,SAAU,EACf,IAAI0T,EAAS,CACXkV,WAAY7oB,EAAK6oB,WACjBxF,OAAQrjB,EAAKivB,YAEf,EAAN,wCACA,kBACA,kBACU,EAAV,uBACU,EAAV,YACU,EAAV,gBAEU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,eAII/L,cAp+CJ,WAo+CA,WACUljB,EAAOtC,KACPiW,EAAS,CACXD,QAAS1T,EAAKgN,YAAYC,KAC1Bic,UAAWlpB,EAAKuoB,UAChBxE,SAAU/jB,EAAKsoB,SACfvF,MAAO/iB,EAAK+iB,MACZF,MAAO7iB,EAAK6iB,OAGd7iB,EAAKijB,iBAAkB,EACvB,EAAN,iCACA,kBACQ,EAAR,kBACU,QAAV,OACU,SAAV,SAEQ,IAAR,8BACA,gBAAU,KAAV,6BACQ,EAAR,qBACQ,EAAR,4BACQ,EAAR,oBACQ,SAAR,oBACQ,EAAR,QACQ,SAAR,uBAEA,oBACQ,EAAR,uBAIIqD,cAngDJ,SAmgDA,GACM3jB,SAASusB,eAAeja,EAAKkR,KAAKgJ,UAItCvtB,QAx0DF,WAy0DI,IAAI5B,EAAOtC,KACXsC,EAAKkoB,cAAgB9gB,EAAzB,sBACA,yBACA,8BAEIpH,EAAKmsB,eACLnsB,EAAKipB,eACLjpB,EAAKutB,eC7tGuW,I,wBCQ5WtrB,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,8BCnBfnG,EAAOC,QAAU,87B,4DCAJ,SAAUqzB,EAAEC,GAA0DvzB,EAAOC,QAAQszB,KAArF,CAAyK3xB,GAAK,WAAW,SAAS0xB,EAAEE,GAAG,IAAIC,EAAE,GAA2D,OAAxDD,EAAEE,QAAQD,EAAEtuB,KAAKouB,EAAEC,EAAEE,SAASF,EAAEG,MAAMF,EAAEtuB,KAAKyuB,EAAEJ,EAAEG,OAActsB,QAAQwsB,IAAIJ,GAAG,SAASF,EAAEC,GAAG,OAAO,IAAInsB,SAAQ,SAASysB,EAAEC,GAAG,IAAIC,EAAE,GAAG,GAAGR,EAAES,QAAQ,IAAI,IAAI/yB,EAAE,EAAEA,EAAEsyB,EAAES,QAAQ/uB,OAAOhE,GAAG,GAAG,GAAGgzB,EAAER,OAAOO,QAAQjqB,QAAQwpB,EAAES,QAAQ/yB,KAAK8yB,EAAE7uB,KAAKquB,EAAES,QAAQ/yB,IAAI,GAAGizB,EAAET,SAASD,EAAEW,OAAOL,EAAE,uBACze,GAAGI,EAAET,SAASD,EAAEY,QAAQ,CAACF,EAAET,OAAOD,EAAEtvB,QAAQ+vB,EAAER,OAAOY,QAAQd,EAAEc,SAASJ,EAAER,OAAOY,QAAQpzB,EAAEgzB,EAAER,OAAOY,QAAQ,IAAIC,EAAE1tB,SAAS2tB,MAAM3tB,SAAS4tB,KAAKC,EAAE7tB,SAASC,cAAc,UAAU4tB,EAAE/wB,KAAK,kBAAkB+wB,EAAEhtB,IAAI,8BAA8BxG,EAAE,WAAWwzB,EAAEC,QAAQ,SAASnB,GAAGW,EAAET,OAAOD,EAAEW,OAAOL,EAAE,iBAAqCW,EAAE/sB,OAAO,WAA6B,GAAlBwsB,EAAET,OAAOD,EAAEmB,OAAUZ,EAAE9uB,OAAO2vB,OAAOnB,OAAOoB,OAAOd,GAAE,WAAW,IAAI,IAAIR,EAAE,EAAEC,EAAEO,EAAE9uB,OAAOsuB,EAAEC,EAAED,IAAI,CAAC,IAAIO,EAAEC,EAAER,GAAGvQ,MAAM,KAAK1d,OAAO,GAAG,GAAGsvB,OAAOnB,OAAOK,GACrf1rB,UAAUmrB,GAAG,IAAIM,IAAIiB,EAAErB,OAAOxuB,QAAQ6vB,EAAErB,OAAO9a,OAAO,EAAE,GAAG,aAAY,IAAIkb,IAAIiB,EAAErB,OAAOxuB,QAAQ6vB,EAAErB,OAAO9a,OAAO,EAAE,GAAG,MAAM2b,EAAES,YAAYN,QAAQP,EAAET,SAASD,EAAEmB,OAAOpB,EAAEc,SAASd,EAAEc,UAAUJ,EAAER,OAAOY,QAAQP,EAAE,qBAAkEC,EAAE9uB,OAAO2vB,OAAOnB,OAAOoB,OAAOd,GAAE,WAAW,IAAI,IAAIR,EAAE,EAAEC,EAAEO,EAAE9uB,OAAOsuB,EAAEC,EAAED,IAAI,CAAC,IAAIO,EAAEC,EAAER,GAAGvQ,MAAM,KAAK1d,OAAO,GAAG,GAAGsvB,OAAOnB,OAAOK,GAAG1rB,UAAUmrB,GAAGM,OAAMA,IAAIN,EAAEc,SAASd,EAAEc,UAAUJ,EAAER,OAAOY,QAAQP,EAAE,qBACjdgB,EAAErB,OAAOvuB,MAAK,SAASquB,GAAGA,EAAEO,EAAEP,GAAGQ,EAAE9uB,OAAO2vB,OAAOnB,OAAOoB,OAAOd,GAAE,WAAW,IAAI,IAAIR,EAAE,EAAEC,EAAEO,EAAE9uB,OAAOsuB,EAAEC,EAAED,IAAI,CAAC,IAAIO,EAAEC,EAAER,GAAGvQ,MAAM,KAAK1d,OAAO,GAAG,GAAGsvB,OAAOnB,OAAOK,GAAG1rB,UAAUmrB,GAAGM,OAAMA,UAAQ,SAASF,EAAEJ,GAAG,OAAO,IAAInsB,SAAQ,SAASysB,EAAEC,GAAG,GAAGI,EAAER,OAAOF,EAAEW,OAAOL,EAAE,qBAAmD,GAAGI,EAAER,OAAOF,EAAEY,QAAQ,CAACF,EAAER,KAAKF,EAAEtvB,QAAQ+vB,EAAEP,KAAKW,QAAQd,EAAEc,SAASJ,EAAEP,KAAKW,QAAQ,IAAIN,EAAEE,EAAEP,KAAKW,QAAQpzB,EAAEgzB,EAAEvU,KAAK2U,QAAQW,WAAW,KAAKV,EAAEP,EAAEiB,WAAW,KAAK,GAAG/zB,IAAIqzB,IAAIrzB,GAAGqzB,EAAER,EAAE,4BAC7d,CAAC7yB,EAAEgzB,EAAE3xB,IAAIgyB,EAAE1tB,SAAS2tB,MAAM3tB,SAAS4tB,KAAK,IAAIC,EAAE7tB,SAASC,cAAc,UAAU4tB,EAAE/wB,KAAK,kBAAkB+wB,EAAEhtB,IAAI,kCAAkCssB,EAAE,QAAQ9yB,EAAEwzB,EAAEC,QAAQ,SAASnB,GAAGW,EAAER,KAAKF,EAAEW,OAAOL,EAAE,iBAAqCW,EAAE/sB,OAAO,WAA2B,IAAhBwsB,EAAER,KAAKF,EAAEmB,OAAWd,IAAIiB,EAAEpB,KAAKzuB,QAAQ6vB,EAAEpB,KAAK/a,OAAO,EAAE,GAAG,MAAM2b,EAAES,YAAYN,SAASP,EAAER,OAAOF,EAAEmB,OAAOpB,EAAEc,SAASd,EAAEc,UAAUJ,EAAEP,KAAKW,QAAQP,EAAE,mBAAgED,IAAIN,EAAEc,SAASd,EAAEc,UAAUJ,EAAEP,KAAKW,QACpfP,EAAE,mBAAgEgB,EAAEpB,KAAKxuB,MAAK,SAASquB,GAAGA,EAAEO,EAAEP,GAAGO,UAAQ,IAAIc,OAAO,MAAM/qB,MAAM,2CAA2C,IAAI2pB,GAAE,SAAUD,GAAGA,EAAEa,QAAQ,UAAUb,EAAErvB,QAAQ,UAAUqvB,EAAEoB,OAAO,SAASpB,EAAEY,OAAO,UAAhF,CAA2FX,IAAIA,EAAE,KAAK,IAAIS,EAAE,CAAC3xB,IAAI,GAAGod,KAAK,CAAC2U,QAAQ,SAASL,QAAQ,IAAIP,OAAO,CAACY,QAAQ,MAAML,QAAQ,IAAIN,KAAK,CAACW,QAAQ,UAAUH,EAAE,CAACxU,KAAK8T,EAAEY,QAAQX,OAAOD,EAAEY,QAAQV,KAAKF,EAAEY,SAASU,EAAE,CAACpV,KAAK,GAAG+T,OAAO,GAAGC,KAAK,IAAIuB,EAAE,GAAGC,EAAE,SAAS3B,GAAG,mBAAmBA,IACxfW,EAAExU,OAAO8T,EAAEmB,OAAOpB,EAAEqB,OAAOlV,MAAMuV,EAAE/vB,KAAKquB,KAAK,MAAM,CAAC9T,KAAK,SAAS8T,GAAG,OAAO,IAAInsB,SAAQ,SAASysB,EAAEC,GAAG,GAAGI,EAAExU,MAAM8T,EAAEW,OAAOL,EAAE,SAAS,GAAGI,EAAExU,MAAM8T,EAAEY,QAAQ,CAAC,IAAIL,EAAER,EAAEjxB,IAAIrB,EAAEsyB,EAAEc,QAAQC,EAAEf,EAAES,QAAQD,GAAGa,OAAOlV,MAAM,iBAAiB2D,SAAS8R,MAAMrB,EAAE,iBAAmEG,EAAE3xB,IAAIyxB,EAAEE,EAAEvU,KAAK2U,QAAQpzB,GAAGgzB,EAAEvU,KAAK2U,QAAQJ,EAAEvU,KAAKsU,QAAQM,GAAGL,EAAEvU,KAAKsU,QAAQE,EAAExU,KAAK8T,EAAEtvB,QAAQjD,EAAE2F,SAAS2tB,MAAM3tB,SAAS4tB,KAAKI,OAAOQ,eAAe,SAASnB,GAAgC,UAAtBW,OAAOQ,eAAkBnB,EAAEC,EAAExU,KACrf8T,EAAEW,OAAOL,EAAEG,QAAQ,IAAIC,EAAExU,KAAK8T,EAAEmB,OAAOtB,EAAEE,GAAGpoB,MAAK,WAAW0oB,EAAEe,OAAOlV,SAAQ,SAASoU,GAAGmB,EAAEhwB,QAAQgwB,EAAEtc,OAAO,EAAE,GAAG,MAAM2b,EAAE1tB,SAASC,cAAc,UAAUytB,EAAE5wB,KAAK,kBAAkB4wB,EAAE7sB,IAAI,0DAA0DwsB,EAAEvU,KAAK2U,QAAQ,QAAQN,EAAE,WAAWE,EAAEvU,KAAKsU,QAAQtpB,KAAK,KAAK4pB,EAAEI,QAAQ,SAASnB,GAAGW,EAAExU,KAAK8T,EAAEW,OAAOL,EAAEP,IAAItyB,EAAE8zB,YAAYT,IAAIR,EAAE,eAA8B,GAAGI,EAAExU,MAAM8T,EAAEmB,OAAO,GAAGpB,EAAEjxB,KAAKixB,EAAEjxB,MAAM2xB,EAAE3xB,IAAIwxB,EAAE,mBAAiD,GAAGP,EAAEc,SAClfd,EAAEc,UAAUJ,EAAEvU,KAAK2U,QAAQP,EAAE,wBAAqE,CAAM,GAALC,EAAE,GAAMR,EAAES,QAAQ,IAAI/yB,EAAE,EAAEA,EAAEsyB,EAAES,QAAQ/uB,OAAOhE,GAAG,GAAG,GAAGgzB,EAAEvU,KAAKsU,QAAQjqB,QAAQwpB,EAAES,QAAQ/yB,KAAK8yB,EAAE7uB,KAAKquB,EAAES,QAAQ/yB,IAAO8yB,EAAE9uB,OAAO2vB,OAAOlV,KAAK2V,OAAOtB,GAAE,WAAWV,EAAEE,GAAGpoB,MAAK,WAAW0oB,EAAEe,OAAOlV,SAAQ,SAASoU,MAAUT,EAAEE,GAAGpoB,MAAK,WAAW0oB,EAAEe,OAAOlV,SAAQ,SAASoU,QAAQ,GAAGP,EAAEjxB,KAAKixB,EAAEjxB,MAAM2xB,EAAE3xB,IAAIwxB,EAAE,mBAAiD,GAAGP,EAAEc,SAASd,EAAEc,UAAUJ,EAAEvU,KAAK2U,QAAQP,EAAE,wBACle,CAAC,IAAIW,EAAE,GAAG,GAAGlB,EAAES,QAAQ,IAAI/yB,EAAE,EAAEA,EAAEsyB,EAAES,QAAQ/uB,OAAOhE,GAAG,GAAG,GAAGgzB,EAAEvU,KAAKsU,QAAQjqB,QAAQwpB,EAAES,QAAQ/yB,KAAKwzB,EAAEvvB,KAAKquB,EAAES,QAAQ/yB,IAAIi0B,GAAE,WAAcT,EAAExvB,OAAO2vB,OAAOlV,KAAK2V,OAAOZ,GAAE,WAAWpB,EAAEE,GAAGpoB,MAAK,WAAW0oB,EAAEe,OAAOlV,SAAQ,SAASoU,MAAUT,EAAEE,GAAGpoB,MAAK,WAAW0oB,EAAEe,OAAOlV,SAAQ,SAASoU,WAASwB,MAAM,kBAAkBV,OAAOlV,YAAYkV,OAAOnB,cAAcmB,OAAOlB,KAAKO,EAAE,CAAC3xB,IAAI,GAAGod,KAAK,CAAC2U,QAAQ,SAASL,QAAQ,IAAIP,OAAO,CAACY,QAAQ,MAAML,QAAQ,IAAIN,KAAK,CAACW,QAAQ,UAAUH,EAAE,CAACxU,KAAK8T,EAAEY,QAAQX,OAAOD,EAAEY,QAClfV,KAAKF,EAAEY,SAASU,EAAE,CAACpV,KAAK,GAAG+T,OAAO,GAAGC,KAAK,U,2CCV1C,IAAIjyB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,UAAU8Z,QAAQ,YAAYllB,MAAOc,EAAW,QAAE6L,WAAW,YAAYvL,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACS,YAAY,CAAC,MAAQ,UAAU,CAACT,EAAG,eAAe,CAACS,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,mCAAmC,CAACF,EAAG,MAAM,CAACE,YAAY,8CAA8CO,YAAY,CAAC,OAAS,OAAO,MAAQ,OAAO,cAAc,SAAS,CAACT,EAAG,IAAI,CAACE,YAAY,mBAAmBN,EAAImB,GAAG,YAAYnB,EAAIQ,GAAIR,EAAI6zB,cAA2B,eAAE,SAASnzB,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,iIAAiIO,YAAY,CAAC,MAAQ,QAAQ,OAAS,SAAS6b,MAAM,CAC72B,gBAAiB/b,EAAQ,GAAK,GAAK,EAAI,oBAAsB,IAC5DwL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI8zB,aAAapzB,MAAS,CAACN,EAAG,WAAW,CAACS,YAAY,CAAC,OAAS,OAAO,MAAQ,QAAQN,MAAM,CAAC,IAAM,UAAQ,KAAkCG,EAAKqzB,KAAO,WAAW3zB,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4L,UAAU,OAAM,GAAGlM,EAAG,MAAM,CAACE,YAAY,mCAAmC,CAACF,EAAG,MAAM,CAACE,YAAY,yDAAyDO,YAAY,CAAC,OAAS,OAAO,MAAQ,OAAO,cAAc,SAAS,CAACT,EAAG,IAAI,CAACE,YAAY,mBAAmBN,EAAImB,GAAG,YAAYnB,EAAIQ,GAAIR,EAAI6zB,cAA4B,gBAAE,SAASnzB,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,iIAAiIO,YAAY,CAAC,MAAQ,QAAQ,OAAS,SAAS6b,MAAM,CACx0B,gBAAiB/b,EAAQ,GAAK,GAAK,EAAI,oBAAsB,IAC5DwL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAI8zB,aAAapzB,MAAS,CAACN,EAAG,WAAW,CAACS,YAAY,CAAC,OAAS,OAAO,MAAQ,QAAQN,MAAM,CAAC,IAAM,UAAQ,KAAkCG,EAAKqzB,KAAO,WAAW3zB,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4L,UAAU,OAAM,MAAM,GAAGlM,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,MAAM,CAACE,YAAY,qCAAqCO,YAAY,CAAC,aAAa,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,4BAA4BO,YAAY,CAAC,IAAM,MAAM,KAAO,MAAM,MAAQ,MAAM,UAAU,OAAO,CAACT,EAAG,WAAW,CAACG,MAAM,CAAC,IAAM,EAAQ,WAAwDH,EAAG,MAAM,CAACE,YAAY,yLAAyL,CAACF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIqB,eAAejB,EAAG,MAAM,CAACE,YAAY,4DAA4D,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM,EAAQ,YAA0C,KAAKP,EAAIg0B,GAAG,IAAI,GAAG5zB,EAAG,eAAe,CAACS,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,MAAM,CAACS,YAAY,CAAC,aAAa,SAAS,CAACT,EAAG,YAAY,CAACG,MAAM,CAAC,YAAc,SAAS,MAAQ,UAAU,UAAY,QAAQkL,MAAM,CAACvM,MAAOc,EAAS,MAAE0L,SAAS,SAAUC,GAAM3L,EAAIi0B,MAAMtoB,GAAKE,WAAW,UAAU7L,EAAIQ,GAAIR,EAAS,OAAE,SAASk0B,EAAKvzB,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAIszB,EAAKH,KAAOpzB,EAAML,YAAY,oBAAoBoc,MAAOwX,EAAKtF,QAAUsF,EAAKC,YAAcn0B,EAAIo0B,YAAc,GAAIjoB,GAAG,CAAC,WAAa,SAASC,GAAQ,OAAOpM,EAAIq0B,eAAeH,IAAO,WAAa,SAAS9nB,GAAQ,OAAOpM,EAAIs0B,oBAAoBJ,IAAO,MAAQ,SAAS9nB,GAAQ,OAAOpM,EAAIu0B,qBAAqBL,MAAS,CAAC9zB,EAAG,IAAI,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAOg1B,EAAW,OAAEroB,WAAW,gBAAgBvL,YAAY,iDAAiDO,YAAY,CAAC,MAAQ,MAAM,IAAM,MAAM,MAAQ,UAAU,UAAU,MAAMsL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIw0B,gBAAgB7zB,OAAWP,EAAGJ,EAAIy0B,SAASP,EAAKH,MAAM,CAAC5P,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAoB,YAAbg1B,EAAKH,KAAoBloB,WAAW,4BAA4BxM,IAAI,YAAYkB,MAAM,CAAC,WAAa2zB,EAAKQ,KAAKC,sBAAsBv0B,EAAGJ,EAAIy0B,SAASP,EAAKH,MAAM,CAAC5P,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAoB,aAAbg1B,EAAKH,KAAqBloB,WAAW,6BAA6BxM,IAAI,YAAYkB,MAAM,CAAC,aAAe2zB,EAAKQ,KAAKE,aAAaC,UAAU,UAAYX,EAAKQ,KAAKE,aAAaF,QAAQt0B,EAAGJ,EAAIy0B,SAASP,EAAKH,MAAM,CAAC5P,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAoB,cAAbg1B,EAAKH,KAAsBloB,WAAW,8BAA8BxM,IAAI,YAAYkB,MAAM,CAAC,cAAgB2zB,EAAKQ,KAAKI,kBAAkB10B,EAAGJ,EAAIy0B,SAASP,EAAKH,MAAM,CAAC5P,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAoB,YAAbg1B,EAAKH,KAAoBloB,WAAW,4BAA4BxM,IAAI,YAAYkB,MAAM,CAAC,gBAAkB2zB,EAAKQ,KAAKK,YAAY30B,EAAGJ,EAAIy0B,SAASP,EAAKH,MAAM,CAAC5P,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAoB,kBAAbg1B,EAAKH,KAA0BloB,WAAW,kCAAkCxM,IAAI,YAAYkB,MAAM,CAAC,MAAQ2zB,EAAKQ,KAAKM,eAAepR,MAAM,OAASsQ,EAAKQ,KAAKM,eAAenR,UAAUzjB,EAAGJ,EAAIy0B,SAASP,EAAKH,MAAM,CAAC5P,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAoB,iBAAbg1B,EAAKH,KAAyBloB,WAAW,iCAAiCxM,IAAI,YAAYkB,MAAM,CAAC,kBAAoB2zB,EAAKQ,KAAKO,kBAAkB,MAAK,IAAI,KAAKj1B,EAAIg0B,GAAG,IAAI,KAAK5zB,EAAG,MAAM,CAACS,YAAY,CAAC,MAAQ,UAAU,CAACT,EAAG,eAAe,CAACS,YAAY,CAAC,OAAS,SAAS,CAACT,EAAG,MAAM,CAAC+jB,WAAW,CAAC,CAAC7Z,KAAK,OAAO8Z,QAAQ,SAASllB,MAAoC,aAA7Bc,EAAIk1B,gBAAgBnB,KAAqBloB,WAAW,yCAAyC,CAACzL,EAAG,MAAM,CAACE,YAAY,6CAA6C,CAACF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,OAAOf,EAAG,OAAO,CAACE,YAAY,8BAA8B,CAACN,EAAImB,GAAG,8BAA8Bf,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,UAAY,QAAQkL,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAuB,mBAAEhpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAM,qBAAsB/oB,IAAME,WAAW,4CAA4C7L,EAAIQ,GAAIR,EAAIk1B,gBAAgBR,KACpqI,oBAAE,SAASh0B,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,kCAAkC,CAACF,EAAG,WAAW,CAACE,YAAY,cAAcC,MAAM,CAAC,IAAMG,EAAKioB,IAAI,IAAM,WAAWvoB,EAAG,MAAM,CAACE,YAAY,0CAA0C,CAAEI,EAAKy0B,SAA2B,IAAhBz0B,EAAKy0B,QAAe/0B,EAAG,OAAO,CAACE,YAAY,sCAAsC,CAACN,EAAImB,GAAG,SAASf,EAAG,OAAO,CAACE,YAAY,WAAW,CAACF,EAAG,OAAO,CAACE,YAAY,uBAAuB,CAACN,EAAImB,GAAG,IAAInB,EAAIoB,GAAGV,EAAK00B,eAAe,MAAMp1B,EAAIoB,GAAGV,EAAK20B,WAAW,KAAKj1B,EAAG,IAAI,CAACE,YAAY,gBAAgB6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIs1B,kBAAkB30B,aAAiBX,EAAIsB,KAAKlB,EAAG,cAAc,CAACE,YAAY,WAAWC,MAAM,CAAC,KAAO,UAAU,CAAEG,EAAKy0B,SAA2B,IAAhBz0B,EAAKy0B,QAAe/0B,EAAG,OAAO,CAACE,YAAY,8BAA8B,CAACN,EAAImB,GAAG,QAAQf,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAG,SAASf,EAAG,OAAO,CAACE,YAAY,sBAAsB,CAACN,EAAImB,GAAG,YAAYf,EAAG,mBAAmB,CAACG,MAAM,CAAC,KAAO,YAAYwM,KAAK,YAAY,CAAC3M,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,UAAW9M,GAAO,MAAU,CAACX,EAAImB,GAAG,QAAQf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,UAAW9M,GAAO,MAAU,CAACX,EAAImB,GAAG,QAAQf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,cAAe9M,GAAO,MAAU,CAACX,EAAImB,GAAG,UAAUf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,WAAY9M,GAAO,MAAU,CAACX,EAAImB,GAAG,SAASf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,WAAY9M,GAAO,MAAU,CAACX,EAAImB,GAAG,SAASf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,cAAe9M,GAAO,MAAU,CAACX,EAAImB,GAAG,UAAU,IAAI,IAAI,GAAGf,EAAG,IAAI,CAACE,YAAY,kCAAkC6L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIu1B,mBAAmB50B,QAAY,MAAK,GAAGP,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,EAAE,OAAS,IAAI,YAAY,eAAe,gBAAgB,SAAU6L,GAAU,OAAOpM,EAAIw1B,mBAAmBppB,KAAY4C,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,OAAOuF,GAAG,SAAS2F,GACnjEA,EAAI0L,KACjC,OAAOpX,EAAG,MAAM,CAAC+L,GAAG,CAAC,MAAQnM,EAAI4W,kBAAkB,CAACxW,EAAG,MAAM,CAACG,MAAM,CAAC,KAAO,WAAWwM,KAAK,WAAW,CAAC3M,EAAG,IAAI,CAACE,YAAY,uBAAuBO,YAAY,CAAC,YAAY,OAAO,MAAQ,eAAe,KAAmC,eAA7Bb,EAAIk1B,gBAAgBnB,KAAuB3zB,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,6CAA6C,CAACF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,YAAYf,EAAG,UAAU,CAACE,YAAY,UAAU,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,UAAU,CAACH,EAAG,oBAAoB,CAACE,YAAY,2BAA2BmL,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAmB,eAAEhpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAM,iBAAkB/oB,IAAME,WAAW,wCAAwC,CAACzL,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAImB,GAAG,UAAUf,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,YAAY,CAACP,EAAImB,GAAG,QAAQf,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,UAAU,CAACP,EAAImB,GAAG,UAAUf,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,aAAa,CAACP,EAAImB,GAAG,WAAW,IAAI,IAAI,IAAI,GAAGnB,EAAIsB,KAAmC,cAA7BtB,EAAIk1B,gBAAgBnB,KAAsB3zB,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,4DAA4D,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,UAAUf,EAAG,cAAc,CAACE,YAAY,oBAAoBO,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,UAAU,CAACH,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,YAAY,CAACP,EAAImB,GAAG,UAAUf,EAAG,mBAAmB,CAACG,MAAM,CAAC,KAAO,YAAYwM,KAAK,YAAY,CAAC3M,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,UAAW,IAAI,MAAS,CAACzN,EAAImB,GAAG,QAAQf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,UAAW,IAAI,MAAS,CAACzN,EAAImB,GAAG,QAAQf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,cAAe,IAAI,MAAS,CAACzN,EAAImB,GAAG,UAAUf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,WAAY,IAAI,MAAS,CAACzN,EAAImB,GAAG,SAASf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,WAAY,IAAI,MAAS,CAACzN,EAAImB,GAAG,SAASf,EAAG,mBAAmB,CAAC4M,SAAS,CAAC,MAAQ,SAASZ,GAAQ,OAAOpM,EAAIyN,SAAS,cAAe,IAAI,MAAS,CAACzN,EAAImB,GAAG,UAAU,IAAI,IAAI,GAAGf,EAAG,WAAW,CAACG,MAAM,CAAC,KAAOP,EAAIk1B,gBAAgBR,KAAKE,aAAaC,UAAU,KAAO,UAAU,CAACz0B,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,OAAO,MAAQ,QAAQH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,gBAAgB,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,WAAWH,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,MAAMyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,UAAU4L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpM,EAAIy1B,wBAAwBvmB,EAAMwmB,WAAW,CAAC11B,EAAImB,GAAG,YAAY,MAAK,EAAM,eAAe,GAAGf,EAAG,UAAU,CAACE,YAAY,UAAU,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,UAAU,CAACH,EAAG,oBAAoB,CAACE,YAAY,2BAA2BmL,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAKE,aAAiB,KAAElpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAKE,aAAc,OAAQjpB,IAAME,WAAW,2CAA2C,CAACzL,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAImB,GAAG,UAAUf,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,UAAU,CAACP,EAAImB,GAAG,UAAUf,EAAG,cAAc,CAACG,MAAM,CAAC,MAAQ,iBAAiB,CAACP,EAAImB,GAAG,WAAW,IAAI,IAAI,IAAI,GAAGnB,EAAIsB,KAAmC,mBAA7BtB,EAAIk1B,gBAAgBnB,KAA2B3zB,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,6CAA6C,CAACF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,YAAYf,EAAG,MAAM,CAACE,YAAY,uCAAuC,CAACF,EAAG,YAAY,CAACE,YAAY,WAAWO,YAAY,CAAC,MAAQ,OAAON,MAAM,CAAC,IAAMP,EAAI21B,YAAYlqB,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAKM,eAAqB,OAAEtpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAKM,eAAgB,SAAUrpB,IAAME,WAAW,gDAAgDzL,EAAG,OAAO,CAACE,YAAY,8BAA8B,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIk1B,gBAAgBR,KAAKM,eAAenR,QAAQ,UAAU,GAAGzjB,EAAG,UAAU,CAACE,YAAY,UAAU,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,UAAU,CAACH,EAAG,MAAM,CAACE,YAAY,0CAA0C,CAACF,EAAG,iBAAiB,CAACE,YAAY,WAAWmL,MAAM,CAACvM,MAAOc,EAAoB,iBAAE0L,SAAS,SAAUC,GAAM3L,EAAI41B,iBAAiBjqB,GAAKE,WAAW,qBAAqB,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,MAAM,CAACP,EAAImB,GAAG,QAAQf,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,MAAM,CAACP,EAAImB,GAAG,UAAU,GAA4B,KAAxBnB,EAAI41B,iBAAyBx1B,EAAG,MAAM,CAACE,YAAY,mCAAmC,CAACF,EAAG,kBAAkB,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,SAAS,UAAYP,EAAI61B,iBAAiBpqB,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAKM,eAAoB,MAAEtpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAKM,eAAgB,QAASrpB,IAAME,WAAW,+CAA+CzL,EAAG,YAAY,CAACS,YAAY,CAAC,cAAc,QAAQN,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAI81B,aAAa,CAAC91B,EAAImB,GAAG,UAAU,GAAGnB,EAAIsB,MAAM,MAAM,IAAI,GAAGtB,EAAIsB,KAAmC,kBAA7BtB,EAAIk1B,gBAAgBnB,KAA0B3zB,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,6CAA6C,CAACF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,YAAYf,EAAG,UAAU,CAACE,YAAY,UAAU,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,CAACH,EAAG,MAAM,CAACE,YAAY,mCAAmC,CAACF,EAAG,kBAAkB,CAACS,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,KAAO,SAAS,UAAYP,EAAI61B,iBAAiBpqB,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAKO,cAAmB,MAAEvpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAKO,cAAe,QAAStpB,IAAME,WAAW,8CAA8CzL,EAAG,YAAY,CAACS,YAAY,CAAC,cAAc,QAAQN,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAI81B,aAAa,CAAC91B,EAAImB,GAAG,UAAU,KAAKf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAKO,cAAuB,UAAEvpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAKO,cAAe,YAAatpB,IAAME,WAAW,iDAAiD,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAQ,CAACP,EAAImB,GAAG,SAASf,EAAG,WAAW,CAACG,MAAM,CAAC,OAAQ,IAAO,CAACP,EAAImB,GAAG,WAAW,IAAI,GAAGf,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,CAACH,EAAG,iBAAiB,CAACqL,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAKO,cAAyB,YAAEvpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAKO,cAAe,cAAetpB,IAAME,WAAW,mDAAmD,CAACzL,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,UAAU,CAACP,EAAImB,GAAG,QAAQf,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,WAAW,CAACP,EAAImB,GAAG,QAAQf,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,WAAW,CAACP,EAAImB,GAAG,SAAS,IAAI,IAAI,IAAI,GAAGnB,EAAIsB,KAAmC,aAA7BtB,EAAIk1B,gBAAgBnB,KAAqB3zB,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,6CAA6C,CAACF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,WAAWf,EAAG,QAAQ,CAACS,YAAY,CAAC,QAAU,QAAQN,MAAM,CAAC,KAAO,OAAO,GAAK,SAAS4L,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOsC,iBAAwB1O,EAAI+1B,wBAAwB31B,EAAG,eAAe,CAAC0L,IAAI,gBAAgBjL,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,QAAUP,EAAIg2B,cAAcvqB,MAAM,CAACvM,MAAOc,EAAIk1B,gBAAgBR,KAAa,SAAEhpB,SAAS,SAAUC,GAAM3L,EAAIgM,KAAKhM,EAAIk1B,gBAAgBR,KAAM,WAAY/oB,IAAME,WAAW,oCAAoC,GAAG7L,EAAIsB,QAAQ,KAAKlB,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQP,EAAI0Q,mBAAmB,QAAU1Q,EAAI2Q,kBAAkB,MAAQ,OAAOxE,GAAG,CAAC,iBAAiB,SAASC,GAAQpM,EAAI2Q,kBAAkBvE,GAAQ,MAAQpM,EAAIi2B,mBAAmB,CAAC71B,EAAG,SAAS,CAACA,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,UAAU,CAACE,YAAY,mBAAmBC,MAAM,CAAC,QAAS,EAAK,KAAO,QAAQ,cAAc,QAAQyM,SAAS,CAAC,OAAS,SAASZ,GAAQA,EAAOsC,oBAAqB,CAACtO,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,OAAO,CAACH,EAAG,WAAW,CAACG,MAAM,CAAC,UAAY,GAAG,YAAc,cAAc4L,GAAG,CAAC,MAAQnM,EAAIk2B,aAAazqB,MAAM,CAACvM,MAAOc,EAAmB,gBAAE0L,SAAS,SAAUC,GAAM3L,EAAIm2B,gBAAgBxqB,GAAKE,WAAW,sBAAsB,GAAGzL,EAAG,eAAe,CAACA,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIk2B,cAAc,CAACl2B,EAAImB,GAAG,SAAS,IAAI,IAAI,IAAI,GAAGf,EAAG,WAAW,CAAC0L,IAAI,cAAcjL,YAAY,CAAC,MAAQ,QAAQN,MAAM,CAAC,UAAU,SAAU4O,GAAO,OAAOA,EAAI0B,IAAM,KAAO7Q,EAAIqU,SAAS,iBAAiB,OAAO,OAAS,OAAO,yBAAyBrU,EAAIo2B,eAAejqB,GAAG,CAAC,iBAAiBnM,EAAIimB,oBAAoB,mBAAmBjmB,EAAIq2B,0BAA0B,CAAEr2B,EAAiB,cAAEI,EAAG,kBAAkB,CAACG,MAAM,CAAC,qBAAoB,EAAK,MAAQ,KAAK,KAAO,eAAeP,EAAIsB,KAAKlB,EAAG,kBAAkB,CAACG,MAAM,CAAC,MAAQ,QAAQyO,YAAYhP,EAAIiP,GAAG,CAAC,CAACrO,IAAI,UAAUuF,GAAG,SAAS+I,GAAO,MAAO,CAAC9O,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAM2O,EAAMC,IAAI3C,SAAS,IAAM,kBAAkBpM,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,OAAO,MAAQ,UAAUH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,QAAQ,MAAQ,WACpqR,QAA1BP,EAAI0Q,oBAA0D,QAA1B1Q,EAAI0Q,mBACxCtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,YAAYP,EAAIsB,KAAgC,UAA1BtB,EAAI0Q,mBAAgCtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQ,QAAQP,EAAIsB,KAAgC,SAA1BtB,EAAI0Q,mBAA+BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,UAAYP,EAAI+Q,qBAAqB,MAAQ,aAAa/Q,EAAIsB,KAAgC,SAA1BtB,EAAI0Q,mBAA+BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,mBAAmB,UAAYP,EAAIgR,qBAAqB,MAAQ,UAAUhR,EAAIsB,KAAgC,SAA1BtB,EAAI0Q,mBAA+BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,oBAAoB,MAAQ,YAAYP,EAAIsB,KAAgC,SAA1BtB,EAAI0Q,mBAA+BtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,UAAUP,EAAIsB,KAC5rB,QAA1BtB,EAAI0Q,oBAA0D,QAA1B1Q,EAAI0Q,mBACxCtQ,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,eAAe,MAAQ,SAASP,EAAIsB,KAAKlB,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,gBAAgB,MAAQ,WAAW,GAAGH,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,WAAa,GAAG,eAAeP,EAAIuP,YAAYC,KAAK,OAASxP,EAAIuP,YAAYE,OAAO,MAAQzP,EAAIuP,YAAYG,OAAOvD,GAAG,CAAC,qBAAqB,SAASC,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,sBAAsB,SAASA,GAAQ,OAAOpM,EAAIgM,KAAKhM,EAAIuP,YAAa,OAAQnD,IAAS,iBAAiBpM,EAAI2P,eAAe,GAAI3P,EAAiB,cAAEI,EAAG,OAAO,CAACE,YAAY,gBAAgBC,MAAM,CAAC,KAAO,UAAUwM,KAAK,UAAU,CAAC3M,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,SAAS4L,GAAG,CAAC,MAAQ,SAASC,GAAQpM,EAAI2Q,mBAAoB,KAAS,CAAC3Q,EAAImB,GAAG,SAASf,EAAG,YAAY,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,WAAW4L,GAAG,CAAC,MAAQnM,EAAIs2B,eAAe,CAACt2B,EAAImB,GAAG,UAAU,GAAGnB,EAAIsB,MAAM,IAAI,IAC/4BO,EAAkB,CAAC,WAAa,IAAI7B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACE,YAAY,0KAA0K,CAACF,EAAG,IAAI,CAACE,YAAY,mCAAmCF,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAG,uBAAuB,WAAa,IAAInB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,oIAAoIO,YAAY,CAAC,mBAAmB,QAAQ,MAAQ,OAAO,OAAS,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,0CAA0C,CAACF,EAAG,IAAI,CAACE,YAAY,yBAAyBO,YAAY,CAAC,MAAQ,aAAaT,EAAG,OAAO,CAACE,YAAY,UAAUO,YAAY,CAAC,MAAQ,YAAY,CAACb,EAAImB,GAAG,UAAUf,EAAG,MAAM,CAACE,YAAY,0CAA0C,CAACF,EAAG,IAAI,CAACE,YAAY,yCAAyCF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACN,EAAImB,GAAG,c,oKCX3pC,SAASo1B,EAA2BrrB,EAAGsrB,GACpD,IAAIC,EAEJ,GAAsB,qBAAXl4B,QAAgD,MAAtB2M,EAAE3M,OAAOoB,UAAmB,CAC/D,GAAIgF,MAAM2E,QAAQ4B,KAAOurB,EAAKC,eAA2BxrB,KAAOsrB,GAAkBtrB,GAAyB,kBAAbA,EAAE3H,OAAqB,CAC/GkzB,IAAIvrB,EAAIurB,GACZ,IAAI3uB,EAAI,EAEJ6uB,EAAI,aAER,MAAO,CACLC,EAAGD,EACHvD,EAAG,WACD,OAAItrB,GAAKoD,EAAE3H,OAAe,CACxBszB,MAAM,GAED,CACLA,MAAM,EACN33B,MAAOgM,EAAEpD,OAGbvI,EAAG,SAAW+B,GACZ,MAAMA,GAER+wB,EAAGsE,GAIP,MAAM,IAAI72B,UAAU,yIAGtB,IAEIwe,EAFAwY,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLH,EAAG,WACDH,EAAKvrB,EAAE3M,OAAOoB,aAEhByzB,EAAG,WACD,IAAI4D,EAAOP,EAAGlM,OAEd,OADAuM,EAAmBE,EAAKH,KACjBG,GAETz3B,EAAG,SAAW03B,GACZF,GAAS,EACTzY,EAAM2Y,GAER5E,EAAG,WACD,IACOyE,GAAoC,MAAhBL,EAAG,WAAmBA,EAAG,YADpD,QAGE,GAAIM,EAAQ,MAAMzY,K,yGCsmB1B,GACEhU,KAAM,iBACNvI,MAAO,GAEPG,WAAY,CACVgP,UAAJ,IACIgmB,YAAJ,kBAGE/0B,KATF,WAUI,MAAO,CACLK,SAAS,EACTyxB,MAAO,GACPQ,SAAUA,EAAhB,WACMS,gBAAiB,CACfR,KAAM,CACJC,mBAAoB,GACpBG,eAAgB,CAAC,OAAQ,UAAW,QAAS,YAC7CE,eAAgB,CAA1B,2BACUC,cAAe,CACbkC,WAAW,EACXvT,MAAO,UACPwT,YAAa,SAEfxC,aAAc,CACZC,UAAW,GACXH,KAAM,CAAC,OAAQ,QAAS,iBAE1BK,SAAU,KAGdlB,cAAe,GACfxyB,WAAY,GACZkO,YAAa,CACXG,MAAO,EACPD,OAAQ,8CACRD,KAAM,GAER6nB,cAAe,GACflB,gBAAiB,GACjB9hB,SAAU,GACV1D,mBAAmB,EACnBD,mBAAoB,GACpBwG,QAAS,GACTkf,eAAe,EACfkB,UAAW,GACXC,sBAAuB,GACvB3B,iBAAkB,IAClBD,WAAY,GACZE,gBAAiB,CACvB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEMG,aAAc,KAIlB5zB,SAAU,CACRo1B,OADJ,WAEM,OAAOv3B,KAAK8X,MAAM0f,cAAcC,QAIpCr1B,QAAS,CAEPmzB,mBAFJ,SAEA,GACM,IAAN,OACA,qBACM,IAAKne,EAEH,OADA9U,EAAKM,SAASC,MAAM,sBACb,EAET,IAAN,iBAcM,OAbAwU,EAAOC,cAAcC,GACrBF,EAAOtR,OAAS,SAAUyR,GACxB,IAAR,kBACQlV,EAAK+V,WAAU,WACb/V,EAAK2yB,gBAAgBR,KAAKC,mBAAmBnxB,KAAK,CAChDmlB,IAAK1iB,EACLkvB,QAAS,GACTE,UAAW,GACXvlB,UAAW,GACXrD,cAAe,UAId,GAGTgB,SA1BJ,SA0BA,OACM,IAAN,OACMlL,EAAKgN,YAAYC,KAAO,EACxBjN,EAAK6zB,cAAgBA,EACrB7zB,EAAK+0B,UAAYt1B,EACjBO,EAAKg1B,sBAAwB,GAC7B,IAAN,KACM,OAAQv1B,GACN,IAAK,UACHO,EAAK2U,QAAU,uBACf3U,EAAKmO,mBAAqB,OAC1BinB,EAAW,KACX,MACF,IAAK,UACHp1B,EAAK2U,QAAU,uBACf3U,EAAKmO,mBAAqB,OAC1BinB,EAAW,KACX,MACF,IAAK,cACHp1B,EAAK2U,QAAU,2BACf3U,EAAKmO,mBAAqB,SAC1BinB,EAAW,KACX,MACF,IAAK,WACHp1B,EAAK2U,QAAU,wBACf3U,EAAKmO,mBAAqB,QAC1BinB,EAAW,KACX,MACF,IAAK,WACHp1B,EAAK2U,QAAU,0BACf3U,EAAKmO,mBAAqB,QAC1BinB,EAAW,KACX,MACF,IAAK,cACHp1B,EAAK2U,QAAU,2BACf3U,EAAKmO,mBAAqB,QAC1BinB,EAAW,KACX,MAEJp1B,EAAK80B,cAAgB12B,EACrB4B,EAAK+T,WAAW/T,EAAK2U,SACrB3U,EAAKoO,mBAAoB,EAEzBpO,EAAK+V,WAAU,WACb/V,EAAKwV,MAAM6f,YAAY5f,iBACvBzD,QAAQC,IAAIjS,EAAK2yB,gBAAgBR,KAAKE,cAClCryB,EAAK2yB,gBAAgBR,KAAKE,aAAaC,UAAUtxB,QACnDhB,EAAK2yB,gBAAgBR,KAAKE,aAAaC,UAAUjhB,SAAQ,SAAnE,GACgBzE,EAAIW,WAAa6nB,GACnBp1B,EAAKwV,MAAM6f,YAAYrf,mBAAmBpJ,UAOpD4B,qBAlFJ,SAkFA,GACM,OAAwB,GAApB5B,EAAI+J,cAA6C,GAAxB/J,EAAIgK,iBACxB,MAEAhK,EAAI+J,cAGflI,qBAzFJ,SAyFA,GACM,OAAwB,GAApB7B,EAAI+J,cAA6C,GAAxB/J,EAAIgK,iBACxB,MAEAhK,EAAIgK,kBAIf8c,iBAjGJ,aAqGItmB,WArGJ,SAqGA,GACM,IAAN,OACMpN,EAAKgN,YAAYC,KAAOA,EACxBjN,EAAK+T,WAAW/T,EAAK2U,UAGvB+O,oBA3GJ,SA2GA,GACM,IAAN,OACU1jB,EAAK6zB,cACP7zB,EAAKwV,MAAM6f,YAAYrf,mBAAmBpJ,IAE1C5M,EAAK2yB,gBAAgBR,KAAKC,mBAClC,iBACA,aACQpyB,EAAK2yB,gBAAgBR,KAAKC,mBAClC,iBACA,iBACQpyB,EAAK2yB,gBAAgBR,KAAKC,mBAClC,iBACA,sBACQpyB,EAAK2yB,gBAAgBR,KAAKC,mBAClC,iBACA,8BAEQpyB,EAAKoO,mBAAoB,IAI7B2kB,kBAjIJ,WAkIM,IAAN,OACM/yB,EAAK2yB,gBAAgBR,KAAKC,mBAAmBpyB,EAAK80B,eAAelC,QACvE,GACM5yB,EAAK2yB,gBAAgBR,KAAKC,mBAChC,iBACA,aACMpyB,EAAK2yB,gBAAgBR,KAAKC,mBAChC,iBACA,aACMpyB,EAAK2yB,gBAAgBR,KAAKC,mBAChC,iBACA,kBAGIY,mBAhJJ,SAgJA,GACM,IAAN,OACMhzB,EAAK2yB,gBAAgBR,KAAKC,mBAAmB1d,OAAO0X,EAAM,IAI5D/W,UAtJJ,WAuJM,IAAN,OACMrV,EAAKiO,UAAW,EAChBjO,EAAKiM,MAAQ,OACbjM,EAAK+T,cAGP+d,eA7JJ,SA6JA,GACM,IADN,EACA,OADA,IAEA,SAFA,IAEA,0CACA,kBAHA,8BAKMH,EAAKC,aAAc,GAGrBG,oBArKJ,SAqKA,GACMJ,EAAKC,aAAc,GAGrBI,qBAzKJ,SAyKA,GACM,IADN,EACA,OADA,IAEA,SAFA,IAEA,0CACA,aAHA,8BAKML,EAAKtF,QAAS,EACdrsB,EAAK2yB,gBAAkBhB,GAGzBJ,aAlLJ,SAkLA,GACM,IADN,EACA,OADA,IAEA,SAFA,IAEA,0CACA,aAHA,8BAKM,IAAN,GACQC,KAAMrzB,EAAKqzB,KACXznB,KAAM5L,EAAK4L,KACXurB,SAAUn3B,EAAKm3B,SACfjJ,QAAQ,EACRuF,aAAa,EACbO,KAAM,CACJC,mBAAoB,GACpBG,eAAgB,CAAC,OAAQ,UAAW,QAAS,YAC7CE,eAAgB,CAA1B,2BACUC,cAAe,CACbkC,WAAW,EACXvT,MAAO,UACPwT,YAAa,SAEfxC,aAAc,CACZC,UAAW,GACXH,KAAM,CAAC,OAAQ,QAAS,iBAE1BK,SAAU,KAGdxyB,EAAK0xB,MAAMzwB,KAAK0wB,GAChB3xB,EAAK2yB,gBAAkBhB,GAGzBM,gBAjNJ,SAiNA,GACM,IAAN,OACMjyB,EAAK0xB,MAAMhd,OAAO0X,EAAM,GACxBpsB,EAAK2yB,gBAAgBnB,KAAO,QAI9BK,UAxNJ,WAyNM,MAAO,CACL0D,OAAQ,uBAKZC,cA/NJ,SA+NA,GACM,IAAN,OACMx1B,EAAKlB,WAAaH,GAGpBm1B,wBApOJ,SAoOA,GACM,IAAN,OACM9zB,EAAKg1B,sBAAwBS,GAG/B1B,aAzOJ,WA0OM,IAAN,OACM/zB,EAAKoO,mBAAoB,EACzB4D,QAAQC,IAAIjS,EAAK2yB,gBAAgBR,KAAKE,cACtC,IAAN,8CACQ,IAAR,wDACA,YAAU,OAAV,4BAEA,2CACQ,IAAKqD,EAAI,OAAO/2B,KAElBqB,EAAK2yB,gBAAgBR,KAAKE,aAAaC,UAAUrxB,KAAKmD,MAC5D,8CACA,IAII8uB,wBA1PJ,SA0PA,GACM,IAAN,OACMlzB,EAAK2yB,gBAAgBR,KAAKE,aAAaC,UAAU5d,OAAO0X,EAAM,IAGhEmH,WA/PJ,WAgQM,IAAN,OACMvzB,EAAK2yB,gBAAgBR,KAAKM,eAAepR,MAAQ,WAGnDsS,YApQJ,WAqQM,IAAN,OACM3zB,EAAKgN,YAAYC,KAAO,EACxBjN,EAAK+T,WAAW/T,EAAK2U,UAKvBZ,WA5QJ,SA4QA,GACM,IAAN,OACA,GACQL,QAAS1T,EAAKgN,YAAYC,KAC1BlD,KAAM/J,EAAK4zB,iBAEb,EAAN,mCAC6B,KAAjB1zB,EAAIC,WACNH,EAAK8R,SAAW5R,EAAI0T,KACpB5T,EAAKgN,YAAYG,MAAQjN,EAAI2T,OAE7B7T,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAMlBmY,cA/RJ,WAgSM,IAAN,OACA,KACM,EAAN,8CAC6B,KAAjB3Y,EAAIC,UACNH,EAAKsxB,cAAgBpxB,EAAIE,KAEzBJ,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAOlBuV,eA/SJ,WAgTM,IAAN,OACA,6BACQ,IAAR,GACU0f,eAAgBh3B,EAAI6yB,KACpBoE,mBAAoB51B,EAAK61B,qBAAqBl3B,GAC9C22B,SAAUlJ,GAEZ,OAAO0J,KAEf,mBACM91B,EAAKC,SAAU,EACf,EAAN,6BACA,kBACA,iBACU,EAAV,kBACY,QAAZ,OACY,SAAZ,MAGU,EAAV,gBACY,QAAZ,UACY,SAAZ,SAIA,oBACQ,EAAR,eAII41B,qBA9UJ,SA8UA,GACM,OAAQ13B,EAAKqzB,MACX,IAAK,WACH,OAAOuE,KAAKC,UAAU73B,EAAKg0B,KAAKK,UAClC,IAAK,WACH,OAAOuD,KAAKC,UAAU73B,EAAKg0B,KAAKC,oBAClC,IAAK,YACH,OAAO2D,KAAKC,UAAU73B,EAAKg0B,KAAKE,cAClC,IAAK,aACH,OAAO0D,KAAKC,UAAU73B,EAAKg0B,KAAKI,gBAClC,IAAK,iBACH,OAAOwD,KAAKC,UAAU73B,EAAKg0B,KAAKM,gBAClC,IAAK,gBACH,OAAOsD,KAAKC,UAAU73B,EAAKg0B,KAAKO,eAClC,QACE,MAAO,KAIb5Z,YAjWJ,WAkWM,IAAN,OACM,EAAN,2CAC6B,KAAjB5Y,EAAIC,UACNH,EAAK0xB,MAAQxxB,EAAIE,KAAKiI,KAAI,SAApC,GACY,OAAOrI,EAAKi2B,yBAAyBt3B,MAGvCqB,EAAKM,SAASC,MAAM,CAClBC,QAASN,EAAIO,QACbC,SAAU,UAOlBu1B,yBAlXJ,SAkXA,GACM,IAAN,GACQzE,KAAM7yB,EAAIg3B,eACV5rB,KAAMpL,EAAIg3B,eACVL,SAAU32B,EAAI22B,SACdjJ,QAAQ,EACRuF,aAAa,EACbO,KAAM,CACJC,mBAAoB,GACpBG,eAAgB,CAAC,OAAQ,UAAW,QAAS,YAC7CE,eAAgB,CAA1B,2BACUC,cAAe,CACbkC,WAAW,EACXvT,MAAO,UACPwT,YAAa,SAEfxC,aAAc,CACZC,UAAW,GACXH,KAAM,CAAC,OAAQ,QAAS,iBAE1BK,SAAU,KAId,OAAQ7zB,EAAIg3B,gBACV,IAAK,WAEb,iDACA,MAEQ,IAAK,WAEb,IAFA,EAEA,mCAFA,IAGA,GAHA,yBAGA,EAHA,QAIA,0CACA,YACA,WAEA,YACA,mBANA,+BAHA,8BAaA,4BACA,MAEQ,IAAK,YAEb,uCACA,6BACA,WAEA,sBACA,MAEQ,IAAK,aAEb,uCACA,wBAEA,MAEQ,IAAK,iBAEb,uCACA,wBAEA,MAEQ,IAAK,gBAEb,uCACA,uBACA,MAEQ,QACE,MAEJ,OAAOhE,GAGT6B,kBAncJ,WAocM,IAAN,OAEA,+BACM,GAAI0C,EAAMpZ,KAAO,KAAO,KAAO,EAE7B9c,EAAKM,SAASC,MAAM,CAA5B,wCAFM,CAKA,IAAN,0BACA,mBACA,wBACA,eAEM,IAAkC,IAA9B41B,EAASrwB,QAAQswB,GAArB,CAIA,IAAN,iBACMrhB,EAAOC,cAAckhB,GACrBnhB,EAAOtR,OAAS,SAAUyR,GACxB,IAAR,kBAEA,gCAEQlV,EAAKi1B,OAAOoB,YAAYr1B,EAAQ,QAAS0C,GAEzC1D,EAAKi1B,OAAOqB,aAAat1B,EAAS,SAZlChB,EAAKM,SAASi2B,QAAQ,sBAsB1BC,mBAxeJ,WAyeM,IAAN,OAEUC,EAAiB,CAC3B,uCACM,CAAN,2BACM,CAAN,CAAQ,OAAR,IAAQ,OAAR,IACM,CAAN,CAAQ,KAAR,YAAQ,KAAR,WACM,CAAN,CAAQ,OAAR,QAAQ,OAAR,UACM,CAAN,CAAQ,OAAR,OAAQ,OAAR,OACM,CAAN,CAAQ,UAAR,QACM,CAAN,CAAQ,KAAR,8BACM,CAAN,CAAQ,OAAR,mBACM,CAAN,CAAQ,MAAR,KAAQ,WAAR,KACM,CAAN,CAAQ,KAAR,KACM,CAAN,CAAQ,MAAR,KACM,CAAN,SACM,CAAN,UAGMz2B,EAAKyzB,aAAe,CAClBiD,QAAS,CAEPC,QAAS,CACPC,UAAWH,EACXI,SAAU,CACRxzB,MAAO,SAArB,GACoB1E,EAEFgE,SAASm0B,cAAc,UAAU3H,QAEjCzxB,KAAKy3B,MAAM4B,OAAO,SAAS,OAOrCC,MAAO,OACPC,YAAa,WAOnBz1B,MAAO,GAGPE,QAlmBF,WAmmBI,IAAJ,OACI1B,EAAKw2B,qBACLx2B,EAAKlB,WAAai3B,KAAKmB,MAC3B,qCACA,WACIl3B,EAAK6Y,gBACL7Y,EAAK8Y,eAGPlX,QA5mBF,cC1pBsX,I,wBCQlXK,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E;;AClBflG,EAAQo7B,KAAO,SAAUC,EAAQxZ,EAAQyZ,EAAMC,EAAMC,GACnD,IAAIv6B,EAAGoyB,EACHoI,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTpyB,EAAI8xB,EAAQE,EAAS,EAAK,EAC1BvH,EAAIqH,GAAQ,EAAI,EAChBhD,EAAI+C,EAAOxZ,EAASrY,GAOxB,IALAA,GAAKyqB,EAELhzB,EAAIq3B,GAAM,IAAOsD,GAAU,EAC3BtD,KAAQsD,EACRA,GAASH,EACFG,EAAQ,EAAG36B,EAAS,IAAJA,EAAWo6B,EAAOxZ,EAASrY,GAAIA,GAAKyqB,EAAG2H,GAAS,GAKvE,IAHAvI,EAAIpyB,GAAM,IAAO26B,GAAU,EAC3B36B,KAAQ26B,EACRA,GAASL,EACFK,EAAQ,EAAGvI,EAAS,IAAJA,EAAWgI,EAAOxZ,EAASrY,GAAIA,GAAKyqB,EAAG2H,GAAS,GAEvE,GAAU,IAAN36B,EACFA,EAAI,EAAI06B,MACH,IAAI16B,IAAMy6B,EACf,OAAOrI,EAAIwI,IAAsBC,KAAdxD,GAAK,EAAI,GAE5BjF,GAAQ0I,KAAKC,IAAI,EAAGT,GACpBt6B,GAAQ06B,EAEV,OAAQrD,GAAK,EAAI,GAAKjF,EAAI0I,KAAKC,IAAI,EAAG/6B,EAAIs6B,IAG5Cv7B,EAAQi8B,MAAQ,SAAUZ,EAAQz6B,EAAOihB,EAAQyZ,EAAMC,EAAMC,GAC3D,IAAIv6B,EAAGoyB,EAAGS,EACN2H,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBQ,EAAe,KAATX,EAAcQ,KAAKC,IAAI,GAAI,IAAMD,KAAKC,IAAI,GAAI,IAAM,EAC1DxyB,EAAI8xB,EAAO,EAAKE,EAAS,EACzBvH,EAAIqH,EAAO,GAAK,EAChBhD,EAAI13B,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQm7B,KAAKI,IAAIv7B,GAEbw7B,MAAMx7B,IAAUA,IAAUk7B,KAC5BzI,EAAI+I,MAAMx7B,GAAS,EAAI,EACvBK,EAAIy6B,IAEJz6B,EAAI86B,KAAKM,MAAMN,KAAK7lB,IAAItV,GAASm7B,KAAKO,KAClC17B,GAASkzB,EAAIiI,KAAKC,IAAI,GAAI/6B,IAAM,IAClCA,IACA6yB,GAAK,GAGLlzB,GADEK,EAAI06B,GAAS,EACNO,EAAKpI,EAELoI,EAAKH,KAAKC,IAAI,EAAG,EAAIL,GAE5B/6B,EAAQkzB,GAAK,IACf7yB,IACA6yB,GAAK,GAGH7yB,EAAI06B,GAASD,GACfrI,EAAI,EACJpyB,EAAIy6B,GACKz6B,EAAI06B,GAAS,GACtBtI,GAAMzyB,EAAQkzB,EAAK,GAAKiI,KAAKC,IAAI,EAAGT,GACpCt6B,GAAQ06B,IAERtI,EAAIzyB,EAAQm7B,KAAKC,IAAI,EAAGL,EAAQ,GAAKI,KAAKC,IAAI,EAAGT,GACjDt6B,EAAI,IAIDs6B,GAAQ,EAAGF,EAAOxZ,EAASrY,GAAS,IAAJ6pB,EAAU7pB,GAAKyqB,EAAGZ,GAAK,IAAKkI,GAAQ,GAI3E,IAFAt6B,EAAKA,GAAKs6B,EAAQlI,EAClBoI,GAAQF,EACDE,EAAO,EAAGJ,EAAOxZ,EAASrY,GAAS,IAAJvI,EAAUuI,GAAKyqB,EAAGhzB,GAAK,IAAKw6B,GAAQ,GAE1EJ,EAAOxZ,EAASrY,EAAIyqB,IAAU,IAAJqE,I,sBCnF5B;;;;;;;CAMA,SAA2CrrB,EAAMsvB,GAE/Cx8B,EAAOC,QAAUu8B,KAFnB,CASmB,qBAATvvB,MAAuBA,MAAa,WAC9C,OAAgB,SAAU2tB,GAEhB,IAAI6B,EAAmB,GAGvB,SAAS7vB,EAAoB8vB,GAG5B,GAAGD,EAAiBC,GACnB,OAAOD,EAAiBC,GAAUz8B,QAGnC,IAAID,EAASy8B,EAAiBC,GAAY,CACzCjzB,EAAGizB,EACHnI,GAAG,EACHt0B,QAAS,IAUV,OANA26B,EAAQ8B,GAAU37B,KAAKf,EAAOC,QAASD,EAAQA,EAAOC,QAAS2M,GAG/D5M,EAAOu0B,GAAI,EAGJv0B,EAAOC,QAqCf,OAhCA2M,EAAoB0mB,EAAIsH,EAGxBhuB,EAAoBmnB,EAAI0I,EAGxB7vB,EAAoBsnB,EAAI,SAASj0B,EAASgM,EAAM0wB,GAC3C/vB,EAAoBC,EAAE5M,EAASgM,IAClC7L,OAAO8e,eAAejf,EAASgM,EAAM,CACpC+S,cAAc,EACdD,YAAY,EACZ6d,IAAKD,KAMR/vB,EAAoBmoB,EAAI,SAAS/0B,GAChC,IAAI28B,EAAS38B,GAAUA,EAAO68B,WAC7B,WAAwB,OAAO78B,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADA4M,EAAoBsnB,EAAEyI,EAAQ,IAAKA,GAC5BA,GAIR/vB,EAAoBC,EAAI,SAASiwB,EAAQC,GAAY,OAAO38B,OAAOC,UAAUC,eAAeS,KAAK+7B,EAAQC,IAGzGnwB,EAAoB2mB,EAAI,GAGjB3mB,EAAoBA,EAAoB2rB,EAAI,KA9D7C,CAiEN,CAEJ,SAAUv4B,EAAQC,EAAS2M,GAEjC,aAEAxM,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIm8B,EAAcpwB,EAAoB,IAClCqwB,EAAWrwB,EAAoB,IAC/BswB,EAAStwB,EAAoB,IAC7BuwB,EAAWvwB,EAAoB,IAC/BwwB,EAAWxwB,EAAoB,IAC/BywB,EAAUzwB,EAAoB,IAC9B0wB,EAAU1wB,EAAoB,IAC9B2wB,EAAS3wB,EAAoB,IAC7B4wB,EAAe5wB,EAAoB,IACnC6wB,EAAU7wB,EAAoB,IAC9B8wB,EAAU9wB,EAAoB,IAC9B+wB,EAAU/wB,EAAoB,IAC9BgxB,EAAWhxB,EAAoB,GAC/BixB,EAAY,CACZC,MAAOF,EAASE,MAChBC,OAAQH,EAASG,OACjBC,KAAMJ,EAASI,KACfC,MAAOL,EAASK,MAChBC,SAAUN,EAASM,SACnBC,UAAWnB,EAAYp5B,QACvBw6B,OAAQnB,EAASr5B,QACjBy6B,KAAMnB,EAAOt5B,QACb06B,MAAOhB,EAAQ15B,QACf26B,OAAQpB,EAASv5B,QACjB46B,MAAOnB,EAAQz5B,QACf66B,OAAQrB,EAASx5B,QACjB86B,KAAMnB,EAAO35B,QACb+6B,WAAY,CACRC,UAAWpB,EAAa55B,QACxBi7B,MAAOpB,EAAQ75B,QACfk7B,MAAOpB,EAAQ95B,QACfm7B,MAAOpB,EAAQ/5B,UAGvB3D,EAAQ2D,QAAUi6B,GAKZ,SAAU79B,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIw+B,EAAgC,SAAUC,GAE1C,SAASD,EAAe36B,GACpB,IAAI66B,EAAQ39B,KAKZ,OAJA8C,EAAU,eAAiBA,EAC3B66B,EAAQD,EAAOv+B,KAAKa,KAAM8C,IAAY9C,KACtC29B,EAAM76B,QAAUA,EAChB66B,EAAMtzB,KAAOszB,EAAMh+B,YAAY0K,KACxBszB,EAEX,OATAP,EAAUK,EAAgBC,GASnBD,EAVwB,CAWjCv1B,OACF7J,EAAQo/B,eAAiBA,EACzB,IAKIvB,EALA0B,EAAa,GACbC,EAAU,GACVC,EAAO,GACPC,EAAQ,GAgBZ,SAAS5B,EAAO6B,EAAO/+B,GACnB,IAAImL,EAAQiyB,EAAM2B,GAClB,GAAa,MAAT5zB,EACA,MAAM,IAAIqzB,EAAe,oBAAsBO,EAAQ,SAE3D,IAAIC,EAAY7zB,EACZihB,EAEJ2S,aAAiBE,MAAQF,EAAM,cAAgBE,KAAKC,UAAYH,EAAQC,EAAU9B,OAAOl9B,GACzF,OAAO,IAAIg/B,EAAU5S,EAAMpsB,GAG/B,SAASm9B,EAAK/Q,EAAM+S,GAEhB,YADe,IAAXA,IAAqBA,GAAS,GACtB,MAAR/S,EACO,KAEmB,MAA1BA,EAAKhtB,EAAQggC,UACNhT,EAAKhtB,EAAQggC,UAAUC,KAC9BF,EACOhC,EAAK/Q,EAAKkT,WAAYH,GAC1B,KAGX,SAAS/B,EAAMA,EAAOptB,GAElB,IAAI7E,EACJ,QAFc,IAAV6E,IAAoBA,EAAQitB,EAAMsC,KAEjB,kBAAVnC,EACPjyB,EAAQ2zB,EAAM1B,IAAUuB,EAAWvB,QAGlC,GAAIA,aAAiBS,MAAQT,EAAM,cAAgB6B,KAAKC,UACzD/zB,EAAQ2zB,EAAM,aAEb,GAAqB,kBAAV1B,EACRA,EAAQH,EAAMuC,MAAQvC,EAAMwC,MAC5Bt0B,EAAQ2zB,EAAM,SAET1B,EAAQH,EAAMuC,MAAQvC,EAAMyC,SACjCv0B,EAAQ2zB,EAAM,gBAGjB,GAAI1B,aAAiBuC,YAAa,CACnC,IAAIC,GAASxC,EAAMyC,aAAa,UAAY,IAAIzd,MAAM,OACtD,IAAK,IAAIxZ,KAAKg3B,EAEV,GADAz0B,EAAQyzB,EAAQgB,EAAMh3B,IAClBuC,EACA,MAERA,EAAQA,GAAS0zB,EAAKzB,EAAM0C,SAEhC,OAAa,MAAT30B,EACO,KAEP6E,EAAQitB,EAAMuC,MAAQr0B,EAAM6E,OAASA,EAAQitB,EAAM8C,KAAO50B,EAAM6E,MACzD7E,EACJ,KAGX,SAASkyB,IAEL,IADA,IAAI2C,EAAc,GACTC,EAAK,EAAGA,EAAKz4B,UAAUnD,OAAQ47B,IACpCD,EAAYC,GAAMz4B,UAAUy4B,GAEhC,GAAID,EAAY37B,OAAS,EACrB,OAAO27B,EAAYt0B,KAAI,SAAU2nB,GAC7B,OAAOgK,EAAShK,MAGxB,IAAI6M,EAAaF,EAAY,GAC7B,GAAmC,kBAAxBE,EAAWC,UAAwD,kBAAxBD,EAAWE,SAC7D,MAAM,IAAI5B,EAAe,sBAExB,GAA4B,aAAxB0B,EAAWC,SAChB,MAAM,IAAI3B,EAAe,kCAG7B,GADAM,EAAMoB,EAAWC,UAAYD,EAAWE,UAAYF,EAClB,kBAAvBA,EAAWG,QAClB1B,EAAWuB,EAAWG,SAAWH,OAMjC,GAH4B,MAAxBA,EAAWI,YACX1B,EAAQsB,EAAWI,WAAaJ,GAEV,MAAtBA,EAAWJ,QAAiB,CACxBr6B,MAAM2E,QAAQ81B,EAAWJ,SACzBI,EAAWJ,QAAUI,EAAWJ,QAAQp0B,KAAI,SAAUo0B,GAClD,OAAOA,EAAQS,iBAInBL,EAAWJ,QAAUI,EAAWJ,QAAQS,cAE5C,IAAIC,EAAW/6B,MAAM2E,QAAQ81B,EAAWJ,SAAWI,EAAWJ,QAAU,CAACI,EAAWJ,SACpFU,EAAS9rB,SAAQ,SAAUvU,GACN,MAAb0+B,EAAK1+B,IAAwC,MAAxB+/B,EAAWI,YAChCzB,EAAK1+B,GAAO+/B,MAK5B,OAAOA,EApHX9gC,EAAQggC,SAAW,SAEnB,SAAWnC,GACPA,EAAMA,EAAM,QAAU,GAAK,OAC3BA,EAAMA,EAAM,SAAW,IAAM,QAC7BA,EAAMA,EAAM,aAAe,IAAM,YACjCA,EAAMA,EAAM,QAAU,IAAM,OAC5BA,EAAMA,EAAM,UAAY,GAAK,SAC7BA,EAAMA,EAAM,SAAW,IAAM,QAC7BA,EAAMA,EAAM,cAAgB,IAAM,aAClCA,EAAMA,EAAM,eAAiB,GAAK,cAClCA,EAAMA,EAAM,mBAAqB,GAAK,kBACtCA,EAAMA,EAAM,oBAAsB,GAAK,mBACvCA,EAAMA,EAAM,OAAS,IAAM,MAX/B,CAYGA,EAAQ79B,EAAQ69B,QAAU79B,EAAQ69B,MAAQ,KAY7C79B,EAAQ89B,OAASA,EAYjB99B,EAAQ+9B,KAAOA,EAmCf/9B,EAAQg+B,MAAQA,EA6ChBh+B,EAAQi+B,SAAWA,GAKb,SAAUl+B,EAAQC,EAAS2M,GAEjC,IAAI00B,EAAO10B,EAAoB,IAC3B20B,EAAQ30B,EAAoB,IAC5B40B,EAAS50B,EAAoB,GAC7B60B,EAAK70B,EAAoB,IAGzB80B,EAAiBC,OAAOC,aAAa,GAGrCC,EAAQ,SAAUC,GAEhBx7B,MAAM2E,QAAQ62B,GAChBlgC,KAAKkgC,IAAMA,EACK,MAAPA,GAAex7B,MAAM2E,QAAQ62B,EAAIA,KAC1ClgC,KAAKkgC,IAAMA,EAAIA,IAEflgC,KAAKkgC,IAAM,IAKfD,EAAMxhC,UAAU0hC,OAAS,SAAUC,EAAMxC,GACvC,IAAIyC,EAAQ,GACZ,OAAoB,IAAhBD,EAAK98B,OAAqBtD,MAC9BqgC,EAAMF,OAASC,EACG,MAAdxC,GAA4C,kBAAfA,GAA2Bp/B,OAAO0M,KAAK0yB,GAAYt6B,OAAS,IAC3F+8B,EAAMzC,WAAaA,GAEd59B,KAAKuD,KAAK88B,KAGnBJ,EAAMxhC,UAAU,UAAY,SAAU6E,GACpC,OAAIA,GAAU,EAAUtD,KACjBA,KAAKuD,KAAK,CAAE,OAAUD,KAG/B28B,EAAMxhC,UAAU6hC,OAAS,SAAUh9B,EAAQs6B,GACzC,GAAIt6B,GAAU,EAAG,OAAOtD,KACxB,IAAIqgC,EAAQ,CAAEC,OAAQh9B,GAItB,OAHkB,MAAds6B,GAA4C,kBAAfA,GAA2Bp/B,OAAO0M,KAAK0yB,GAAYt6B,OAAS,IAC3F+8B,EAAMzC,WAAaA,GAEd59B,KAAKuD,KAAK88B,IAGnBJ,EAAMxhC,UAAU8E,KAAO,SAAU88B,GAC/B,IAAI3/B,EAAQV,KAAKkgC,IAAI58B,OACjBi9B,EAASvgC,KAAKkgC,IAAIx/B,EAAQ,GAE9B,GADA2/B,EAAQT,GAAO,EAAM,GAAIS,GACH,kBAAXE,EAAqB,CAC9B,GAA+B,kBAApBF,EAAM,WAAsD,kBAArBE,EAAO,UAEvD,OADAvgC,KAAKkgC,IAAIx/B,EAAQ,GAAK,CAAE,OAAU6/B,EAAO,UAAYF,EAAM,WACpDrgC,KAIT,GAAgC,kBAArBugC,EAAO,WAA0C,MAAhBF,EAAMF,SAChDz/B,GAAS,EACT6/B,EAASvgC,KAAKkgC,IAAIx/B,EAAQ,GACJ,kBAAX6/B,GAET,OADAvgC,KAAKkgC,IAAIM,QAAQH,GACVrgC,KAGX,GAAI2/B,EAAMU,EAAMzC,WAAY2C,EAAO3C,YAAa,CAC9C,GAA4B,kBAAjByC,EAAMF,QAAgD,kBAAlBI,EAAOJ,OAGpD,OAFAngC,KAAKkgC,IAAIx/B,EAAQ,GAAK,CAAEy/B,OAAQI,EAAOJ,OAASE,EAAMF,QACtB,kBAArBE,EAAMzC,aAAyB59B,KAAKkgC,IAAIx/B,EAAQ,GAAGk9B,WAAayC,EAAMzC,YAC1E59B,KACF,GAA4B,kBAAjBqgC,EAAMC,QAAgD,kBAAlBC,EAAOD,OAG3D,OAFAtgC,KAAKkgC,IAAIx/B,EAAQ,GAAK,CAAE4/B,OAAQC,EAAOD,OAASD,EAAMC,QACtB,kBAArBD,EAAMzC,aAAyB59B,KAAKkgC,IAAIx/B,EAAQ,GAAGk9B,WAAayC,EAAMzC,YAC1E59B,MASb,OALIU,IAAUV,KAAKkgC,IAAI58B,OACrBtD,KAAKkgC,IAAI38B,KAAK88B,GAEdrgC,KAAKkgC,IAAIlpB,OAAOtW,EAAO,EAAG2/B,GAErBrgC,MAGTigC,EAAMxhC,UAAUgiC,KAAO,WACrB,IAAIF,EAASvgC,KAAKkgC,IAAIlgC,KAAKkgC,IAAI58B,OAAS,GAIxC,OAHIi9B,GAAUA,EAAOD,SAAWC,EAAO3C,YACrC59B,KAAKkgC,IAAIQ,MAEJ1gC,MAGTigC,EAAMxhC,UAAU4V,OAAS,SAAUssB,GACjC,OAAO3gC,KAAKkgC,IAAI7rB,OAAOssB,IAGzBV,EAAMxhC,UAAUkV,QAAU,SAAUgtB,GAClC3gC,KAAKkgC,IAAIvsB,QAAQgtB,IAGnBV,EAAMxhC,UAAUkM,IAAM,SAAUg2B,GAC9B,OAAO3gC,KAAKkgC,IAAIv1B,IAAIg2B,IAGtBV,EAAMxhC,UAAUmiC,UAAY,SAAUD,GACpC,IAAIE,EAAS,GAAIrO,EAAS,GAK1B,OAJAxyB,KAAK2T,SAAQ,SAASksB,GACpB,IAAI5iB,EAAS0jB,EAAUd,GAAMgB,EAASrO,EACtCvV,EAAO1Z,KAAKs8B,MAEP,CAACgB,EAAQrO,IAGlByN,EAAMxhC,UAAUqiC,OAAS,SAAUH,EAAWI,GAC5C,OAAO/gC,KAAKkgC,IAAIY,OAAOH,EAAWI,IAGpCd,EAAMxhC,UAAUuiC,aAAe,WAC7B,OAAOhhC,KAAK8gC,QAAO,SAAUx9B,EAAQ29B,GACnC,OAAIA,EAAKd,OACA78B,EAASu8B,EAAGv8B,OAAO29B,GACjBA,EAAKC,OACP59B,EAAS29B,EAAKC,OAEhB59B,IACN,IAGL28B,EAAMxhC,UAAU6E,OAAS,WACvB,OAAOtD,KAAK8gC,QAAO,SAAUx9B,EAAQ29B,GACnC,OAAO39B,EAASu8B,EAAGv8B,OAAO29B,KACzB,IAGLhB,EAAMxhC,UAAUkF,MAAQ,SAAUiF,EAAOC,GACvCD,EAAQA,GAAS,EACE,kBAARC,IAAkBA,EAAMsxB,KACnC,IAAI+F,EAAM,GACNz7B,EAAOo7B,EAAGngC,SAASM,KAAKkgC,KACxBx/B,EAAQ,EACZ,MAAOA,EAAQmI,GAAOpE,EAAK08B,UAAW,CACpC,IAAIC,EACA1gC,EAAQkI,EACVw4B,EAAS38B,EAAK6lB,KAAK1hB,EAAQlI,IAE3B0gC,EAAS38B,EAAK6lB,KAAKzhB,EAAMnI,GACzBw/B,EAAI38B,KAAK69B,IAEX1gC,GAASm/B,EAAGv8B,OAAO89B,GAErB,OAAO,IAAInB,EAAMC,IAInBD,EAAMxhC,UAAU4iC,QAAU,SAAUC,GAClC,IAAIC,EAAW1B,EAAGngC,SAASM,KAAKkgC,KAC5BsB,EAAY3B,EAAGngC,SAAS4hC,EAAMpB,KAC9BA,EAAM,GACNuB,EAAaD,EAAUE,OAC3B,GAAkB,MAAdD,GAAmD,kBAAtBA,EAAWnB,QAAgD,MAAzBmB,EAAW7D,WAAoB,CAChG,IAAI+D,EAAYF,EAAWnB,OAC3B,MAA+B,WAAxBiB,EAASK,YAA2BL,EAASM,cAAgBF,EAClEA,GAAaJ,EAASM,aACtB3B,EAAI38B,KAAKg+B,EAASjX,QAEhBmX,EAAWnB,OAASqB,EAAY,GAClCH,EAAUlX,KAAKmX,EAAWnB,OAASqB,GAGvC,IAAIG,EAAQ,IAAI7B,EAAMC,GACtB,MAAOqB,EAASJ,WAAaK,EAAUL,UACrC,GAA6B,WAAzBK,EAAUI,WACZE,EAAMv+B,KAAKi+B,EAAUlX,aAChB,GAA4B,WAAxBiX,EAASK,WAClBE,EAAMv+B,KAAKg+B,EAASjX,YACf,CACL,IAAIhnB,EAAS82B,KAAK2H,IAAIR,EAASM,aAAcL,EAAUK,cACnDG,EAAST,EAASjX,KAAKhnB,GACvB2+B,EAAUT,EAAUlX,KAAKhnB,GAC7B,GAA8B,kBAAnB2+B,EAAQ3B,OAAqB,CACtC,IAAID,EAAQ,GACiB,kBAAlB2B,EAAO1B,OAChBD,EAAMC,OAASh9B,EAEf+8B,EAAMF,OAAS6B,EAAO7B,OAGxB,IAAIvC,EAAaiC,EAAGjC,WAAWyD,QAAQW,EAAOpE,WAAYqE,EAAQrE,WAAqC,kBAAlBoE,EAAO1B,QAK5F,GAJI1C,IAAYyC,EAAMzC,WAAaA,GACnCkE,EAAMv+B,KAAK88B,IAGNmB,EAAUL,WAAaxB,EAAMmC,EAAM5B,IAAI4B,EAAM5B,IAAI58B,OAAS,GAAI+8B,GAAQ,CACzE,IAAI6B,EAAO,IAAIjC,EAAMsB,EAASW,QAC9B,OAAOJ,EAAMK,OAAOD,GAAMzB,YAKU,kBAAtBwB,EAAQ,WAAmD,kBAAlBD,EAAO1B,QAChEwB,EAAMv+B,KAAK0+B,GAIjB,OAAOH,EAAMrB,QAGfR,EAAMxhC,UAAU0jC,OAAS,SAAUb,GACjC,IAAIQ,EAAQ,IAAI7B,EAAMjgC,KAAKkgC,IAAIv8B,SAK/B,OAJI29B,EAAMpB,IAAI58B,OAAS,IACrBw+B,EAAMv+B,KAAK+9B,EAAMpB,IAAI,IACrB4B,EAAM5B,IAAM4B,EAAM5B,IAAIiC,OAAOb,EAAMpB,IAAIv8B,MAAM,KAExCm+B,GAGT7B,EAAMxhC,UAAUihC,KAAO,SAAU4B,EAAO5gC,GACtC,GAAIV,KAAKkgC,MAAQoB,EAAMpB,IACrB,OAAO,IAAID,EAEb,IAAImC,EAAU,CAACpiC,KAAMshC,GAAO32B,KAAI,SAAUm3B,GACxC,OAAOA,EAAMn3B,KAAI,SAAUk1B,GACzB,GAAiB,MAAbA,EAAGM,OACL,MAA4B,kBAAdN,EAAGM,OAAsBN,EAAGM,OAASL,EAErD,IAAIuC,EAAQP,IAAUR,EAAS,KAAO,OACtC,MAAM,IAAIp5B,MAAM,iBAAmBm6B,EAAO,oBACzCt5B,KAAK,OAEN+4B,EAAQ,IAAI7B,EACZqC,EAAa5C,EAAK0C,EAAQ,GAAIA,EAAQ,GAAI1hC,GAC1C6gC,EAAW1B,EAAGngC,SAASM,KAAKkgC,KAC5BsB,EAAY3B,EAAGngC,SAAS4hC,EAAMpB,KA6BlC,OA5BAoC,EAAW3uB,SAAQ,SAAUpP,GAC3B,IAAIjB,EAASiB,EAAU,GAAGjB,OAC1B,MAAOA,EAAS,EAAG,CACjB,IAAIi/B,EAAW,EACf,OAAQh+B,EAAU,IAChB,KAAKm7B,EAAK8C,OACRD,EAAWnI,KAAK2H,IAAIP,EAAUK,aAAcv+B,GAC5Cw+B,EAAMv+B,KAAKi+B,EAAUlX,KAAKiY,IAC1B,MACF,KAAK7C,EAAK+C,OACRF,EAAWnI,KAAK2H,IAAIz+B,EAAQi+B,EAASM,cACrCN,EAASjX,KAAKiY,GACdT,EAAM,UAAUS,GAChB,MACF,KAAK7C,EAAKgD,MACRH,EAAWnI,KAAK2H,IAAIR,EAASM,aAAcL,EAAUK,aAAcv+B,GACnE,IAAI0+B,EAAST,EAASjX,KAAKiY,GACvBN,EAAUT,EAAUlX,KAAKiY,GACzB5C,EAAMqC,EAAO7B,OAAQ8B,EAAQ9B,QAC/B2B,EAAMxB,OAAOiC,EAAU1C,EAAGjC,WAAW8B,KAAKsC,EAAOpE,WAAYqE,EAAQrE,aAErEkE,EAAMv+B,KAAK0+B,GAAS,UAAUM,GAEhC,MAEJj/B,GAAUi/B,MAGPT,EAAMrB,QAGfR,EAAMxhC,UAAUkkC,SAAW,SAAUhC,EAAWiC,GAC9CA,EAAUA,GAAW,KACrB,IAAIn+B,EAAOo7B,EAAGngC,SAASM,KAAKkgC,KACxB2C,EAAO,IAAI5C,EACXp4B,EAAI,EACR,MAAOpD,EAAK08B,UAAW,CACrB,GAAwB,WAApB18B,EAAKm9B,WAAyB,OAClC,IAAII,EAASv9B,EAAKi9B,OACd94B,EAAQi3B,EAAGv8B,OAAO0+B,GAAUv9B,EAAKo9B,aACjCnhC,EAAiC,kBAAlBshC,EAAO7B,OACxB6B,EAAO7B,OAAO/3B,QAAQw6B,EAASh6B,GAASA,GAAS,EACnD,GAAIlI,EAAQ,EACVmiC,EAAKt/B,KAAKkB,EAAK6lB,aACV,GAAI5pB,EAAQ,EACjBmiC,EAAKt/B,KAAKkB,EAAK6lB,KAAK5pB,QACf,CACL,IAA0D,IAAtDigC,EAAUkC,EAAMp+B,EAAK6lB,KAAK,GAAGsT,YAAc,GAAI/1B,GACjD,OAEFA,GAAK,EACLg7B,EAAO,IAAI5C,GAGX4C,EAAKv/B,SAAW,GAClBq9B,EAAUkC,EAAM,GAAIh7B,IAIxBo4B,EAAMxhC,UAAUqkC,UAAY,SAAUxB,EAAOyB,GAE3C,GADAA,IAAaA,EACQ,kBAAVzB,EACT,OAAOthC,KAAKgjC,kBAAkB1B,EAAOyB,GAEvC,IAAIxB,EAAW1B,EAAGngC,SAASM,KAAKkgC,KAC5BsB,EAAY3B,EAAGngC,SAAS4hC,EAAMpB,KAC9B4B,EAAQ,IAAI7B,EAChB,MAAOsB,EAASJ,WAAaK,EAAUL,UACrC,GAA4B,WAAxBI,EAASK,aAA4BmB,GAAqC,WAAzBvB,EAAUI,WAExD,GAA6B,WAAzBJ,EAAUI,WACnBE,EAAMv+B,KAAKi+B,EAAUlX,YAChB,CACL,IAAIhnB,EAAS82B,KAAK2H,IAAIR,EAASM,aAAcL,EAAUK,cACnDG,EAAST,EAASjX,KAAKhnB,GACvB2+B,EAAUT,EAAUlX,KAAKhnB,GAC7B,GAAI0+B,EAAO,UAET,SACSC,EAAQ,UACjBH,EAAMv+B,KAAK0+B,GAGXH,EAAMxB,OAAOh9B,EAAQu8B,EAAGjC,WAAWkF,UAAUd,EAAOpE,WAAYqE,EAAQrE,WAAYmF,SAdtFjB,EAAMxB,OAAOT,EAAGv8B,OAAOi+B,EAASjX,SAkBpC,OAAOwX,EAAMrB,QAGfR,EAAMxhC,UAAUukC,kBAAoB,SAAUtiC,EAAOqiC,GACnDA,IAAaA,EACb,IAAIxB,EAAW1B,EAAGngC,SAASM,KAAKkgC,KAC5BhgB,EAAS,EACb,MAAOqhB,EAASJ,WAAajhB,GAAUxf,EAAO,CAC5C,IAAI4C,EAASi+B,EAASM,aAClBoB,EAAW1B,EAASK,WACxBL,EAASjX,OACQ,WAAb2Y,GAGoB,WAAbA,IAA0B/iB,EAASxf,IAAUqiC,KACtDriC,GAAS4C,GAEX4c,GAAU5c,GALR5C,GAAS05B,KAAK2H,IAAIz+B,EAAQ5C,EAAQwf,GAOtC,OAAOxf,GAITtC,EAAOC,QAAU4hC,GAKX,SAAU7hC,EAAQC,GAExB,aAEA,IAAI6kC,EAAS1kC,OAAOC,UAAUC,eAC1BykC,EAAQ3kC,OAAOC,UAAUG,SACzB0e,EAAiB9e,OAAO8e,eACxB8lB,EAAO5kC,OAAO6kC,yBAEdh6B,EAAU,SAAiBnG,GAC9B,MAA6B,oBAAlBwB,MAAM2E,QACT3E,MAAM2E,QAAQnG,GAGK,mBAApBigC,EAAMhkC,KAAK+D,IAGfogC,EAAgB,SAAuB7jC,GAC1C,IAAKA,GAA2B,oBAApB0jC,EAAMhkC,KAAKM,GACtB,OAAO,EAGR,IASIkB,EATA4iC,EAAoBL,EAAO/jC,KAAKM,EAAK,eACrC+jC,EAAmB/jC,EAAIE,aAAeF,EAAIE,YAAYlB,WAAaykC,EAAO/jC,KAAKM,EAAIE,YAAYlB,UAAW,iBAE9G,GAAIgB,EAAIE,cAAgB4jC,IAAsBC,EAC7C,OAAO,EAMR,IAAK7iC,KAAOlB,GAEZ,MAAsB,qBAARkB,GAAuBuiC,EAAO/jC,KAAKM,EAAKkB,IAInD8iC,EAAc,SAAqBxmB,EAAQoL,GAC1C/K,GAAmC,cAAjB+K,EAAQhe,KAC7BiT,EAAeL,EAAQoL,EAAQhe,KAAM,CACpC8S,YAAY,EACZC,cAAc,EACdne,MAAOopB,EAAQqb,SACfrmB,UAAU,IAGXJ,EAAOoL,EAAQhe,MAAQge,EAAQqb,UAK7BC,EAAc,SAAqBlkC,EAAK4K,GAC3C,GAAa,cAATA,EAAsB,CACzB,IAAK64B,EAAO/jC,KAAKM,EAAK4K,GACrB,OACM,GAAI+4B,EAGV,OAAOA,EAAK3jC,EAAK4K,GAAMpL,MAIzB,OAAOQ,EAAI4K,IAGZjM,EAAOC,QAAU,SAASuhC,IACzB,IAAIvX,EAAShe,EAAMvE,EAAK89B,EAAMC,EAAaC,EACvC7mB,EAASxW,UAAU,GACnBoB,EAAI,EACJvE,EAASmD,UAAUnD,OACnBygC,GAAO,EAaX,IAVsB,mBAAX9mB,IACV8mB,EAAO9mB,EACPA,EAASxW,UAAU,IAAM,GAEzBoB,EAAI,IAES,MAAVoV,GAAqC,kBAAXA,GAAyC,oBAAXA,KAC3DA,EAAS,IAGHpV,EAAIvE,IAAUuE,EAGpB,GAFAwgB,EAAU5hB,UAAUoB,GAEL,MAAXwgB,EAEH,IAAKhe,KAAQge,EACZviB,EAAM69B,EAAY1mB,EAAQ5S,GAC1Bu5B,EAAOD,EAAYtb,EAAShe,GAGxB4S,IAAW2mB,IAEVG,GAAQH,IAASN,EAAcM,KAAUC,EAAcx6B,EAAQu6B,MAC9DC,GACHA,GAAc,EACdC,EAAQh+B,GAAOuD,EAAQvD,GAAOA,EAAM,IAEpCg+B,EAAQh+B,GAAOw9B,EAAcx9B,GAAOA,EAAM,GAI3C29B,EAAYxmB,EAAQ,CAAE5S,KAAMA,EAAMq5B,SAAU9D,EAAOmE,EAAMD,EAAOF,MAGtC,qBAATA,GACjBH,EAAYxmB,EAAQ,CAAE5S,KAAMA,EAAMq5B,SAAUE,KAQjD,OAAO3mB,IAMF,SAAU7e,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQ2lC,WAAa3lC,EAAQ4lC,mBAAgBllC,EAE/D,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZG,EAAUv5B,EAAoB,GAE9Bw5B,EAAWC,EAAuBF,GAElCG,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCE,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCE,EAAS95B,EAAoB,IAE7B+5B,EAAUN,EAAuBK,GAEjCE,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAElCE,EAAQl6B,EAAoB,GAE5Bm6B,EAASV,EAAuBS,GAEpC,SAAST,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIC,EAAiB,EAEjBzB,EAAa,SAAU0B,GAGzB,SAAS1B,IAGP,OAFAnnB,EAAgB7c,KAAMgkC,GAEfoB,EAA2BplC,MAAOgkC,EAAWzG,WAAa/+B,OAAO8lC,eAAeN,IAAat9B,MAAM1G,KAAMyG,YAwClH,OA7CA6+B,EAAUtB,EAAY0B,GAQtBnoB,EAAaymB,EAAY,CAAC,CACxBrjC,IAAK,SACL1B,MAAO,WACLklC,EAAKH,EAAWvlC,UAAU8+B,WAAa/+B,OAAO8lC,eAAeN,EAAWvlC,WAAY,SAAUuB,MAAMb,KAAKa,MACzGA,KAAK49B,WAAa,IAAIiH,EAAY7iC,QAAQ+6B,WAAWI,MAAMn9B,KAAK2lC,WAEjE,CACDhlC,IAAK,QACL1B,MAAO,WACL,OAAO,IAAI0lC,EAAa3iC,SAAUm+B,OAAOngC,KAAKf,SAAS,EAAIulC,EAASxiC,SAAShC,KAAK4lC,UAAW5lC,KAAK49B,WAAWiI,aAE9G,CACDllC,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GAC3B,IAAI6mC,EAAYjB,EAAY7iC,QAAQq6B,MAAMhyB,EAAMw6B,EAAY7iC,QAAQk6B,MAAM6J,iBACzD,MAAbD,GACF9lC,KAAK49B,WAAWkI,UAAUA,EAAW7mC,KAGxC,CACD0B,IAAK,WACL1B,MAAO,SAAkByB,EAAO4C,EAAQ+G,EAAMpL,GAC5Ce,KAAKq5B,OAAOhvB,EAAMpL,KAEnB,CACD0B,IAAK,WACL1B,MAAO,SAAkByB,EAAOzB,EAAO+mC,GACrC,GAAqB,kBAAV/mC,GAAsBA,EAAMgnC,SAAS,MAAO,CACrD,IAAIC,EAAQrB,EAAY7iC,QAAQm6B,OAAOS,EAAMwC,UAC7Cp/B,KAAKwvB,OAAO2W,aAAaD,EAAiB,IAAVxlC,EAAcV,KAAOA,KAAKsqB,MAC1D4b,EAAME,SAAS,EAAGnnC,EAAM0E,MAAM,GAAI,SAElCwgC,EAAKH,EAAWvlC,UAAU8+B,WAAa/+B,OAAO8lC,eAAeN,EAAWvlC,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAOzB,EAAO+mC,OAK9HhC,EA9CQ,CA+Cfa,EAAY7iC,QAAQ06B,OAEtBsH,EAAW/0B,MAAQ41B,EAAY7iC,QAAQk6B,MAAMmK,WAI7C,IAAIzJ,EAAQ,SAAU0J,GAGpB,SAAS1J,EAAM+I,GACb9oB,EAAgB7c,KAAM48B,GAEtB,IAAI2J,EAASnB,EAA2BplC,MAAO48B,EAAMW,WAAa/+B,OAAO8lC,eAAe1H,IAAQz9B,KAAKa,KAAM2lC,IAG3G,OADAY,EAAOC,MAAQ,GACRD,EAyHT,OAjIAjB,EAAU1I,EAAO0J,GAWjB/oB,EAAaqf,EAAO,CAAC,CACnBj8B,IAAK,QACL1B,MAAO,WAUL,OATwB,MAApBe,KAAKwmC,MAAM1E,QACb9hC,KAAKwmC,MAAM1E,MAAQ9hC,KAAKymC,YAAY5B,EAAY7iC,QAAQy6B,MAAMqE,QAAO,SAAUgB,EAAO4E,GACpF,OAAsB,IAAlBA,EAAKpjC,SACAw+B,EAEAA,EAAM3B,OAAOuG,EAAKznC,QAASglC,EAAcyC,MAEjD,IAAI/B,EAAa3iC,SAAWm+B,OAAO,KAAM8D,EAAcjkC,QAErDA,KAAKwmC,MAAM1E,QAEnB,CACDnhC,IAAK,WACL1B,MAAO,SAAkByB,EAAO4C,GAC9B6gC,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAO4C,GAC9GtD,KAAKwmC,MAAQ,KAEd,CACD7lC,IAAK,WACL1B,MAAO,SAAkByB,EAAO4C,EAAQ+G,EAAMpL,GACxCqE,GAAU,IACVuhC,EAAY7iC,QAAQq6B,MAAMhyB,EAAMw6B,EAAY7iC,QAAQk6B,MAAMwC,OACxDh+B,EAAQ4C,IAAWtD,KAAKsD,UAC1BtD,KAAKq5B,OAAOhvB,EAAMpL,GAGpBklC,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAO05B,KAAK2H,IAAIz+B,EAAQtD,KAAKsD,SAAW5C,EAAQ,GAAI2J,EAAMpL,GAEnKe,KAAKwmC,MAAQ,MAEd,CACD7lC,IAAK,WACL1B,MAAO,SAAkByB,EAAOzB,EAAO+mC,GACrC,GAAW,MAAPA,EAAa,OAAO7B,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAOzB,EAAO+mC,GAC7I,GAAqB,IAAjB/mC,EAAMqE,OAAV,CACA,IAAIqjC,EAAQ1nC,EAAMoiB,MAAM,MACpB+e,EAAOuG,EAAMC,QACbxG,EAAK98B,OAAS,IACZ5C,EAAQV,KAAKsD,SAAW,GAA2B,MAAtBtD,KAAK0W,SAASmwB,KAC7C1C,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMo6B,KAAK2H,IAAIrhC,EAAOV,KAAKsD,SAAW,GAAI88B,GAE3IpgC,KAAK0W,SAASmwB,KAAKT,SAASpmC,KAAK0W,SAASmwB,KAAKvjC,SAAU88B,GAE3DpgC,KAAKwmC,MAAQ,IAEf,IAAIN,EAAQlmC,KACZ2mC,EAAM7F,QAAO,SAAUpgC,EAAOmiC,GAG5B,OAFAqD,EAAQA,EAAM7kB,MAAM3gB,GAAO,GAC3BwlC,EAAME,SAAS,EAAGvD,GACXA,EAAKv/B,SACX5C,EAAQ0/B,EAAK98B,WAEjB,CACD3C,IAAK,eACL1B,MAAO,SAAsBq/B,EAAMzyB,GACjC,IAAIgnB,EAAO7yB,KAAK0W,SAASmc,KACzBsR,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,eAAgBuB,MAAMb,KAAKa,KAAMs+B,EAAMzyB,GAC7GgnB,aAAgBkS,EAAQ/iC,SAC1B6wB,EAAKiU,SAEP9mC,KAAKwmC,MAAQ,KAEd,CACD7lC,IAAK,SACL1B,MAAO,WAIL,OAHyB,MAArBe,KAAKwmC,MAAMljC,SACbtD,KAAKwmC,MAAMljC,OAAS6gC,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,SAAUuB,MAAMb,KAAKa,MAAQylC,GAEtHzlC,KAAKwmC,MAAMljC,SAEnB,CACD3C,IAAK,eACL1B,MAAO,SAAsBge,EAAQpR,GACnCs4B,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,eAAgBuB,MAAMb,KAAKa,KAAMid,EAAQpR,GACnH7L,KAAKwmC,MAAQ,KAEd,CACD7lC,IAAK,WACL1B,MAAO,SAAkBsH,GACvB49B,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMuG,GACvGvG,KAAKwmC,MAAQ,KAEd,CACD7lC,IAAK,OACL1B,MAAO,SAAcyB,GACnB,OAAOyjC,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,OAAQuB,MAAMb,KAAKa,KAAMU,GAAO,KAElH,CACDC,IAAK,cACL1B,MAAO,SAAqB8nC,GAC1B5C,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,cAAeuB,MAAMb,KAAKa,KAAM+mC,GAC1G/mC,KAAKwmC,MAAQ,KAEd,CACD7lC,IAAK,QACL1B,MAAO,SAAeyB,GACpB,IAAIsmC,EAAQvgC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAE3E,GAAIugC,IAAoB,IAAVtmC,GAAeA,GAASV,KAAKsD,SAAWmiC,GAAiB,CACrE,IAAI3B,EAAQ9jC,KAAK8jC,QACjB,OAAc,IAAVpjC,GACFV,KAAKwvB,OAAO2W,aAAarC,EAAO9jC,MACzBA,OAEPA,KAAKwvB,OAAO2W,aAAarC,EAAO9jC,KAAKsqB,MAC9BwZ,GAGT,IAAIxZ,EAAO6Z,EAAKvH,EAAMn+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1H,EAAMn+B,WAAY,QAASuB,MAAMb,KAAKa,KAAMU,EAAOsmC,GAEtH,OADAhnC,KAAKwmC,MAAQ,GACNlc,MAKNsS,EAlIG,CAmIViI,EAAY7iC,QAAQ46B,OAOtB,SAASqH,EAAc3F,GACrB,IAAIsH,EAAUn/B,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAElF,OAAY,MAAR63B,EAAqBsH,GACG,oBAAjBtH,EAAKsH,UACdA,GAAU,EAAIpB,EAASxiC,SAAS4jC,EAAStH,EAAKsH,YAE7B,MAAftH,EAAK9O,QAA0C,UAAxB8O,EAAK9O,OAAO4P,UAAwBd,EAAK9O,OAAOyX,QAAQh4B,QAAUqvB,EAAK2I,QAAQh4B,MACjG22B,EAEF3B,EAAc3F,EAAK9O,OAAQoW,IAfpChJ,EAAMwC,SAAW,QACjBxC,EAAMmC,QAAU,IAChBnC,EAAMsK,aAAe,QACrBtK,EAAMuK,gBAAkB,CAAClC,EAASjjC,QAAS6iC,EAAY7iC,QAAQ06B,MAAOyI,EAAOnjC,SAe7E3D,EAAQ4lC,cAAgBA,EACxB5lC,EAAQ2lC,WAAaA,EACrB3lC,EAAQ2D,QAAU46B,GAIZ,SAAUx+B,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQ+oC,SAAW/oC,EAAQgpC,kBAAetoC,EAE5D,IAAIS,EAA4B,oBAAXlB,QAAoD,kBAApBA,OAAOoB,SAAwB,SAAUD,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,gBAAkBgB,GAElQgL,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEnB/R,EAAoB,IAEpB,IAAI05B,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCgD,EAAU18B,EAAoB,IAE9B28B,EAAWlD,EAAuBiD,GAElCE,EAAY58B,EAAoB,GAEhC68B,EAAYpD,EAAuBmD,GAEnCE,EAAU98B,EAAoB,GAE9B+8B,EAAWtD,EAAuBqD,GAElClD,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCoD,EAAah9B,EAAoB,IAEjCi9B,EAAcxD,EAAuBuD,GAErCzD,EAAUv5B,EAAoB,GAE9Bw5B,EAAWC,EAAuBF,GAElC2D,EAAUl9B,EAAoB,IAE9Bm9B,EAAW1D,EAAuByD,GAElCE,EAASp9B,EAAoB,IAE7Bq9B,EAAU5D,EAAuB2D,GAErC,SAAS3D,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAAS6oC,EAAgB7oC,EAAKkB,EAAK1B,GAAiK,OAApJ0B,KAAOlB,EAAOjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAAE1B,MAAOA,EAAOke,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB5d,EAAIkB,GAAO1B,EAAgBQ,EAE3M,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,IAAI0oC,GAAQ,EAAIJ,EAASnmC,SAAS,SAE9BwmC,EAAQ,WAqDV,SAASA,EAAMtP,GACb,IAAIqN,EAASvmC,KAETqoB,EAAU5hB,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAMlF,GAJAoW,EAAgB7c,KAAMwoC,GAEtBxoC,KAAKqoB,QAAUgf,EAAanO,EAAW7Q,GACvCroB,KAAKk5B,UAAYl5B,KAAKqoB,QAAQ6Q,UACR,MAAlBl5B,KAAKk5B,UACP,OAAOqP,EAAM1lC,MAAM,0BAA2Bq2B,GAE5Cl5B,KAAKqoB,QAAQkgB,OACfC,EAAMD,MAAMvoC,KAAKqoB,QAAQkgB,OAE3B,IAAIE,EAAOzoC,KAAKk5B,UAAUwP,UAAUpkB,OACpCtkB,KAAKk5B,UAAUyP,UAAUC,IAAI,gBAC7B5oC,KAAKk5B,UAAUwP,UAAY,GAC3B1oC,KAAKk5B,UAAU2P,QAAU7oC,KACzBA,KAAKsL,KAAOtL,KAAK8oC,aAAa,aAC9B9oC,KAAKsL,KAAKq9B,UAAUC,IAAI,YACxB5oC,KAAKsL,KAAKy9B,aAAa,cAAc,GACrC/oC,KAAKgpC,mBAAqBhpC,KAAKqoB,QAAQ2gB,oBAAsBhpC,KAAKsL,KAClEtL,KAAKipC,QAAU,IAAIpB,EAAU7lC,QAC7BhC,KAAKkpC,OAASrE,EAAY7iC,QAAQm6B,OAAOn8B,KAAKsL,KAAM,CAClD29B,QAASjpC,KAAKipC,QACdE,UAAWnpC,KAAKqoB,QAAQud,UAE1B5lC,KAAKu3B,OAAS,IAAIoQ,EAAS3lC,QAAQhC,KAAKkpC,QACxClpC,KAAK+3B,UAAY,IAAIkQ,EAAYjmC,QAAQhC,KAAKkpC,OAAQlpC,KAAKipC,SAC3DjpC,KAAKs5B,MAAQ,IAAIt5B,KAAKqoB,QAAQiR,MAAMt5B,KAAMA,KAAKqoB,SAC/CroB,KAAKopC,SAAWppC,KAAKs5B,MAAM+P,UAAU,YACrCrpC,KAAKspC,UAAYtpC,KAAKs5B,MAAM+P,UAAU,aACtCrpC,KAAKupC,QAAUvpC,KAAKs5B,MAAM+P,UAAU,WACpCrpC,KAAKs5B,MAAMkQ,OACXxpC,KAAKipC,QAAQ/8B,GAAG27B,EAAU7lC,QAAQynC,OAAOC,eAAe,SAAU3nC,GAC5DA,IAAS8lC,EAAU7lC,QAAQynC,OAAOE,aACpCpD,EAAOj7B,KAAKq9B,UAAUiB,OAAO,WAAYrD,EAAOhP,OAAOsS,cAG3D7pC,KAAKipC,QAAQ/8B,GAAG27B,EAAU7lC,QAAQynC,OAAOK,eAAe,SAAUC,EAAQC,GACxE,IAAI3mB,EAAQkjB,EAAOxO,UAAUkS,UACzBvpC,EAAQ2iB,GAA0B,IAAjBA,EAAM/f,OAAe+f,EAAM3iB,WAAQ3B,EACxDmrC,EAAO/qC,KAAKonC,GAAQ,WAClB,OAAOA,EAAOhP,OAAO4S,OAAO,KAAMH,EAAWtpC,KAC5CqpC,MAEL,IAAIK,EAAWpqC,KAAKspC,UAAUe,QAAQ,yDAA2D5B,EAAO,qBACxGzoC,KAAKsqC,YAAYF,GACjBpqC,KAAKupC,QAAQjc,QACTttB,KAAKqoB,QAAQkR,aACfv5B,KAAKsL,KAAKy9B,aAAa,mBAAoB/oC,KAAKqoB,QAAQkR,aAEtDv5B,KAAKqoB,QAAQkiB,UACfvqC,KAAKwqC,UAmYT,OA7eAjtB,EAAairB,EAAO,KAAM,CAAC,CACzB7nC,IAAK,QACL1B,MAAO,SAAewrC,IACN,IAAVA,IACFA,EAAQ,OAEVtC,EAASnmC,QAAQ0oC,MAAMD,KAExB,CACD9pC,IAAK,OACL1B,MAAO,SAAcosB,GACnB,OAAOA,EAAKwd,SAAWhE,EAAY7iC,QAAQo6B,KAAK/Q,KAEjD,CACD1qB,IAAK,SACL1B,MAAO,SAAiBoL,GAItB,OAH0B,MAAtBrK,KAAK2qC,QAAQtgC,IACfk+B,EAAM1lC,MAAM,iBAAmBwH,EAAO,qCAEjCrK,KAAK2qC,QAAQtgC,KAErB,CACD1J,IAAK,WACL1B,MAAO,SAAkBgL,EAAMgT,GAC7B,IAAI0gB,EAAQ39B,KAER4qC,EAAYnkC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAE/E,GAAoB,kBAATwD,EAAmB,CAC5B,IAAII,EAAOJ,EAAKo1B,UAAYp1B,EAAKm1B,SACb,kBAAT/0B,EAETrK,KAAKs8B,SAAS,WAAajyB,EAAMJ,EAAMgT,GAEvCze,OAAO0M,KAAKjB,GAAM0J,SAAQ,SAAUhT,GAClCg9B,EAAMrB,SAAS37B,EAAKsJ,EAAKtJ,GAAMsc,WAIT,MAAtBjd,KAAK2qC,QAAQ1gC,IAAkB2gC,GACjCrC,EAAMsC,KAAK,eAAiB5gC,EAAO,QAASgT,GAE9Cjd,KAAK2qC,QAAQ1gC,GAAQgT,GAChBhT,EAAKopB,WAAW,WAAappB,EAAKopB,WAAW,cAAoC,aAApBpW,EAAOmiB,SACvEyF,EAAY7iC,QAAQs6B,SAASrf,GACpBhT,EAAKopB,WAAW,YAAyC,oBAApBpW,EAAOqf,UACrDrf,EAAOqf,eAgEf/e,EAAairB,EAAO,CAAC,CACnB7nC,IAAK,eACL1B,MAAO,SAAsBi6B,GAC3B,IAAI4R,EAAUrkC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,KAElF,GAAyB,kBAAdyyB,EAAwB,CACjC,IAAIqG,EAAYrG,EAChBA,EAAYj0B,SAASC,cAAc,OACnCg0B,EAAUyP,UAAUC,IAAIrJ,GAG1B,OADAv/B,KAAKk5B,UAAUiN,aAAajN,EAAW4R,GAChC5R,IAER,CACDv4B,IAAK,OACL1B,MAAO,WACLe,KAAK+3B,UAAUgT,SAAS,QAEzB,CACDpqC,IAAK,aACL1B,MAAO,SAAoByB,EAAO4C,EAAQymC,GACxC,IAAIiB,EAAShrC,KAETirC,EAAY7D,EAAS1mC,EAAO4C,EAAQymC,GAEpCmB,EAAazgC,EAAewgC,EAAW,GAM3C,OAJAvqC,EAAQwqC,EAAW,GACnB5nC,EAAS4nC,EAAW,GACpBnB,EAASmB,EAAW,GAEbhB,EAAO/qC,KAAKa,MAAM,WACvB,OAAOgrC,EAAOzT,OAAO4T,WAAWzqC,EAAO4C,KACtCymC,EAAQrpC,GAAQ,EAAI4C,KAExB,CACD3C,IAAK,UACL1B,MAAO,WACLe,KAAKorC,QAAO,KAEb,CACDzqC,IAAK,SACL1B,MAAO,WACL,IAAIosC,IAAU5kC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,KAAmBA,UAAU,GAE7EzG,KAAKkpC,OAAOkC,OAAOC,GACnBrrC,KAAKk5B,UAAUyP,UAAUiB,OAAO,eAAgByB,KAEjD,CACD1qC,IAAK,QACL1B,MAAO,WACL,IAAIqsC,EAAYtrC,KAAKgpC,mBAAmBsC,UACxCtrC,KAAK+3B,UAAUwT,QACfvrC,KAAKgpC,mBAAmBsC,UAAYA,EACpCtrC,KAAKwrC,mBAEN,CACD7qC,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GAC3B,IAAIwsC,EAASzrC,KAET+pC,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKohC,EAAU7lC,QAAQ0pC,QAAQ7xB,IAE3G,OAAOqwB,EAAO/qC,KAAKa,MAAM,WACvB,IAAIqjB,EAAQooB,EAAOE,cAAa,GAC5BC,EAAS,IAAIjH,EAAa3iC,QAC9B,GAAa,MAATqhB,EACF,OAAOuoB,EACF,GAAI/G,EAAY7iC,QAAQq6B,MAAMhyB,EAAMw6B,EAAY7iC,QAAQk6B,MAAMwC,OACnEkN,EAASH,EAAOlU,OAAOsU,WAAWxoB,EAAM3iB,MAAO2iB,EAAM/f,OAAQglC,EAAgB,GAAIj+B,EAAMpL,QAClF,IAAqB,IAAjBokB,EAAM/f,OAEf,OADAmoC,EAAO1T,UAAUsB,OAAOhvB,EAAMpL,GACvB2sC,EAEPA,EAASH,EAAOlU,OAAOuU,WAAWzoB,EAAM3iB,MAAO2iB,EAAM/f,OAAQglC,EAAgB,GAAIj+B,EAAMpL,IAGzF,OADAwsC,EAAO7S,aAAavV,EAAOwkB,EAAU7lC,QAAQ0pC,QAAQK,QAC9CH,IACN7B,KAEJ,CACDppC,IAAK,aACL1B,MAAO,SAAoByB,EAAO4C,EAAQ+G,EAAMpL,EAAO8qC,GACrD,IAAIiC,EAAShsC,KAET4lC,OAAU,EAEVqG,EAAa7E,EAAS1mC,EAAO4C,EAAQ+G,EAAMpL,EAAO8qC,GAElDmC,EAAazhC,EAAewhC,EAAY,GAO5C,OALAvrC,EAAQwrC,EAAW,GACnB5oC,EAAS4oC,EAAW,GACpBtG,EAAUsG,EAAW,GACrBnC,EAASmC,EAAW,GAEbhC,EAAO/qC,KAAKa,MAAM,WACvB,OAAOgsC,EAAOzU,OAAOsU,WAAWnrC,EAAO4C,EAAQsiC,KAC9CmE,EAAQrpC,EAAO,KAEnB,CACDC,IAAK,aACL1B,MAAO,SAAoByB,EAAO4C,EAAQ+G,EAAMpL,EAAO8qC,GACrD,IAAIoC,EAASnsC,KAET4lC,OAAU,EAEVwG,EAAahF,EAAS1mC,EAAO4C,EAAQ+G,EAAMpL,EAAO8qC,GAElDsC,EAAa5hC,EAAe2hC,EAAY,GAO5C,OALA1rC,EAAQ2rC,EAAW,GACnB/oC,EAAS+oC,EAAW,GACpBzG,EAAUyG,EAAW,GACrBtC,EAASsC,EAAW,GAEbnC,EAAO/qC,KAAKa,MAAM,WACvB,OAAOmsC,EAAO5U,OAAOuU,WAAWprC,EAAO4C,EAAQsiC,KAC9CmE,EAAQrpC,EAAO,KAEnB,CACDC,IAAK,YACL1B,MAAO,SAAmByB,GACxB,IAAI4C,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAE7EsnB,OAAS,EAEXA,EADmB,kBAAVrtB,EACAV,KAAK+3B,UAAUuU,UAAU5rC,EAAO4C,GAEhCtD,KAAK+3B,UAAUuU,UAAU5rC,EAAMA,MAAOA,EAAM4C,QAEvD,IAAIipC,EAAkBvsC,KAAKk5B,UAAUsT,wBACrC,MAAO,CACLC,OAAQ1e,EAAO0e,OAASF,EAAgBG,IACxC3nC,OAAQgpB,EAAOhpB,OACf4nC,KAAM5e,EAAO4e,KAAOJ,EAAgBI,KACpCC,MAAO7e,EAAO6e,MAAQL,EAAgBI,KACtCD,IAAK3e,EAAO2e,IAAMH,EAAgBG,IAClC5nC,MAAOipB,EAAOjpB,SAGjB,CACDnE,IAAK,cACL1B,MAAO,WACL,IAAIyB,EAAQ+F,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAC5EnD,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKzG,KAAK6sC,YAAcnsC,EAEhGosC,EAAa1F,EAAS1mC,EAAO4C,GAE7BypC,EAAatiC,EAAeqiC,EAAY,GAK5C,OAHApsC,EAAQqsC,EAAW,GACnBzpC,EAASypC,EAAW,GAEb/sC,KAAKu3B,OAAOyV,YAAYtsC,EAAO4C,KAEvC,CACD3C,IAAK,YACL1B,MAAO,WACL,IAAIyB,EAAQ+F,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKzG,KAAK2rC,cAAa,GAC9FroC,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAEjF,MAAqB,kBAAV/F,EACFV,KAAKu3B,OAAO0V,UAAUvsC,EAAO4C,GAE7BtD,KAAKu3B,OAAO0V,UAAUvsC,EAAMA,MAAOA,EAAM4C,UAGnD,CACD3C,IAAK,WACL1B,MAAO,SAAkBq/B,GACvB,OAAOA,EAAKpe,OAAOlgB,KAAKkpC,UAEzB,CACDvoC,IAAK,YACL1B,MAAO,WACL,OAAOe,KAAKkpC,OAAO5lC,WAEpB,CACD3C,IAAK,UACL1B,MAAO,SAAiByB,GACtB,OAAOV,KAAKkpC,OAAOxC,KAAKhmC,KAEzB,CACDC,IAAK,UACL1B,MAAO,SAAiByB,GACtB,OAAOV,KAAKkpC,OAAOrG,KAAKniC,KAEzB,CACDC,IAAK,WACL1B,MAAO,WACL,IAAIyB,EAAQ+F,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAC5EnD,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKymC,OAAOC,UAExF,MAAqB,kBAAVzsC,EACFV,KAAKkpC,OAAOvC,MAAMjmC,EAAMA,MAAOA,EAAM4C,QAErCtD,KAAKkpC,OAAOvC,MAAMjmC,EAAO4C,KAGnC,CACD3C,IAAK,YACL1B,MAAO,SAAmBoL,GACxB,OAAOrK,KAAKs5B,MAAMN,QAAQ3uB,KAE3B,CACD1J,IAAK,eACL1B,MAAO,WACL,IAAIssC,EAAQ9kC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAI3E,OAFI8kC,GAAOvrC,KAAKurC,QAChBvrC,KAAKmqC,SACEnqC,KAAK+3B,UAAUqV,WAAW,KAElC,CACDzsC,IAAK,UACL1B,MAAO,WACL,IAAIyB,EAAQ+F,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAC5EnD,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKzG,KAAK6sC,YAAcnsC,EAEhG2sC,EAAajG,EAAS1mC,EAAO4C,GAE7BgqC,EAAc7iC,EAAe4iC,EAAY,GAK7C,OAHA3sC,EAAQ4sC,EAAY,GACpBhqC,EAASgqC,EAAY,GAEdttC,KAAKu3B,OAAOgW,QAAQ7sC,EAAO4C,KAEnC,CACD3C,IAAK,WACL1B,MAAO,WACL,OAAOe,KAAK+3B,UAAUyV,aAEvB,CACD7sC,IAAK,cACL1B,MAAO,SAAqByB,EAAO+sC,EAAOxuC,GACxC,IAAIyuC,EAAS1tC,KAET+pC,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK+hC,EAAMkD,QAAQ7xB,IAE/F,OAAOqwB,EAAO/qC,KAAKa,MAAM,WACvB,OAAO0tC,EAAOnW,OAAOoB,YAAYj4B,EAAO+sC,EAAOxuC,KAC9C8qC,EAAQrpC,KAEZ,CACDC,IAAK,aACL1B,MAAO,SAAoByB,EAAO0/B,EAAM/1B,EAAMpL,EAAO8qC,GACnD,IAAI4D,EAAS3tC,KAET4lC,OAAU,EAEVgI,EAAcxG,EAAS1mC,EAAO,EAAG2J,EAAMpL,EAAO8qC,GAE9C8D,EAAcpjC,EAAemjC,EAAa,GAM9C,OAJAltC,EAAQmtC,EAAY,GACpBjI,EAAUiI,EAAY,GACtB9D,EAAS8D,EAAY,GAEd3D,EAAO/qC,KAAKa,MAAM,WACvB,OAAO2tC,EAAOpW,OAAOuW,WAAWptC,EAAO0/B,EAAMwF,KAC5CmE,EAAQrpC,EAAO0/B,EAAK98B,UAExB,CACD3C,IAAK,YACL1B,MAAO,WACL,OAAQe,KAAKk5B,UAAUyP,UAAUoF,SAAS,iBAE3C,CACDptC,IAAK,MACL1B,MAAO,WACL,OAAOe,KAAKipC,QAAQ+E,IAAItnC,MAAM1G,KAAKipC,QAASxiC,aAE7C,CACD9F,IAAK,KACL1B,MAAO,WACL,OAAOe,KAAKipC,QAAQ/8B,GAAGxF,MAAM1G,KAAKipC,QAASxiC,aAE5C,CACD9F,IAAK,OACL1B,MAAO,WACL,OAAOe,KAAKipC,QAAQ9hC,KAAKT,MAAM1G,KAAKipC,QAASxiC,aAE9C,CACD9F,IAAK,YACL1B,MAAO,SAAmByB,EAAO+nC,EAAMsB,GACrC/pC,KAAKspC,UAAU2E,qBAAqBvtC,EAAO+nC,EAAMsB,KAElD,CACDppC,IAAK,eACL1B,MAAO,SAAsByB,EAAO4C,EAAQymC,GAC1C,IAAImE,EAASluC,KAETmuC,EAAc/G,EAAS1mC,EAAO4C,EAAQymC,GAEtCqE,EAAc3jC,EAAe0jC,EAAa,GAM9C,OAJAztC,EAAQ0tC,EAAY,GACpB9qC,EAAS8qC,EAAY,GACrBrE,EAASqE,EAAY,GAEdlE,EAAO/qC,KAAKa,MAAM,WACvB,OAAOkuC,EAAO3W,OAAO8W,aAAa3tC,EAAO4C,KACxCymC,EAAQrpC,KAEZ,CACDC,IAAK,iBACL1B,MAAO,WACLe,KAAK+3B,UAAUyT,eAAexrC,KAAKgpC,sBAEpC,CACDroC,IAAK,cACL1B,MAAO,SAAqB6iC,GAC1B,IAAIwM,EAAUtuC,KAEV+pC,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKohC,EAAU7lC,QAAQ0pC,QAAQ7xB,IAE3G,OAAOqwB,EAAO/qC,KAAKa,MAAM,WACvB8hC,EAAQ,IAAI6C,EAAa3iC,QAAQ8/B,GACjC,IAAIx+B,EAASgrC,EAAQzB,YACjB0B,EAAUD,EAAQ/W,OAAO4T,WAAW,EAAG7nC,GACvCkrC,EAAUF,EAAQ/W,OAAOkX,WAAW3M,GACpCvB,EAASiO,EAAQtO,IAAIsO,EAAQtO,IAAI58B,OAAS,GAChC,MAAVi9B,GAA2C,kBAAlBA,EAAOJ,QAAmE,OAA5CI,EAAOJ,OAAOI,EAAOJ,OAAO78B,OAAS,KAC9FgrC,EAAQ/W,OAAO4T,WAAWmD,EAAQzB,YAAc,EAAG,GACnD2B,EAAQtN,OAAO,IAEjB,IAAIwN,EAAMH,EAAQlN,QAAQmN,GAC1B,OAAOE,IACN3E,KAEJ,CACDppC,IAAK,eACL1B,MAAO,SAAsByB,EAAO4C,EAAQymC,GAC1C,GAAa,MAATrpC,EACFV,KAAK+3B,UAAUgT,SAAS,KAAMznC,GAAUklC,EAAMkD,QAAQ7xB,SACjD,CACL,IAAI80B,EAAcvH,EAAS1mC,EAAO4C,EAAQymC,GAEtC6E,EAAcnkC,EAAekkC,EAAa,GAE9CjuC,EAAQkuC,EAAY,GACpBtrC,EAASsrC,EAAY,GACrB7E,EAAS6E,EAAY,GAErB5uC,KAAK+3B,UAAUgT,SAAS,IAAI/C,EAAW6G,MAAMnuC,EAAO4C,GAASymC,GACzDA,IAAWlC,EAAU7lC,QAAQ0pC,QAAQK,QACvC/rC,KAAK+3B,UAAUyT,eAAexrC,KAAKgpC,uBAIxC,CACDroC,IAAK,UACL1B,MAAO,SAAiBmhC,GACtB,IAAI2J,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKohC,EAAU7lC,QAAQ0pC,QAAQ7xB,IAEvGioB,GAAQ,IAAI6C,EAAa3iC,SAAUm+B,OAAOC,GAC9C,OAAOpgC,KAAKsqC,YAAYxI,EAAOiI,KAEhC,CACDppC,IAAK,SACL1B,MAAO,WACL,IAAI8qC,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKohC,EAAU7lC,QAAQ0pC,QAAQoD,KAEvGlD,EAAS5rC,KAAKkpC,OAAOiB,OAAOJ,GAEhC,OADA/pC,KAAK+3B,UAAUoS,OAAOJ,GACf6B,IAER,CACDjrC,IAAK,iBACL1B,MAAO,SAAwB6iC,GAC7B,IAAIiN,EAAU/uC,KAEV+pC,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKohC,EAAU7lC,QAAQ0pC,QAAQ7xB,IAE3G,OAAOqwB,EAAO/qC,KAAKa,MAAM,WAEvB,OADA8hC,EAAQ,IAAI6C,EAAa3iC,QAAQ8/B,GAC1BiN,EAAQxX,OAAOkX,WAAW3M,EAAOiI,KACvCA,GAAQ,OAIRvB,EA9eG,GAugBZ,SAASnB,EAAanO,EAAW8V,GAS/B,GARAA,GAAa,EAAIxK,EAASxiC,UAAS,EAAM,CACvCk3B,UAAWA,EACXF,QAAS,CACPsQ,WAAW,EACXF,UAAU,EACVG,SAAS,IAEVyF,GACEA,EAAW1V,OAAS0V,EAAW1V,QAAUkP,EAAMyG,SAAS3V,OAI3D,GADA0V,EAAW1V,MAAQkP,EAAM0G,OAAO,UAAYF,EAAW1V,OAC/B,MAApB0V,EAAW1V,MACb,MAAM,IAAIpxB,MAAM,iBAAmB8mC,EAAW1V,MAAQ,+BAJxD0V,EAAW1V,MAAQ+O,EAAQrmC,QAO7B,IAAImtC,GAAc,EAAI3K,EAASxiC,UAAS,EAAM,GAAIgtC,EAAW1V,MAAM2V,UACnE,CAACE,EAAaH,GAAYr7B,SAAQ,SAAUy7B,GAC1CA,EAAOpW,QAAUoW,EAAOpW,SAAW,GACnCx6B,OAAO0M,KAAKkkC,EAAOpW,SAASrlB,SAAQ,SAAUvV,IACb,IAA3BgxC,EAAOpW,QAAQ56B,KACjBgxC,EAAOpW,QAAQ56B,GAAU,UAI/B,IAAIixC,EAAc7wC,OAAO0M,KAAKikC,EAAYnW,SAASmJ,OAAO3jC,OAAO0M,KAAK8jC,EAAWhW,UAC7EsW,EAAeD,EAAYvO,QAAO,SAAUsO,EAAQ/kC,GACtD,IAAIklC,EAAc/G,EAAM0G,OAAO,WAAa7kC,GAM5C,OALmB,MAAfklC,EACFhH,EAAM1lC,MAAM,eAAiBwH,EAAO,4CAEpC+kC,EAAO/kC,GAAQklC,EAAYN,UAAY,GAElCG,IACN,IAmBH,OAjB0B,MAAtBJ,EAAWhW,SAAmBgW,EAAWhW,QAAQC,SAAW+V,EAAWhW,QAAQC,QAAQt5B,cAAgBnB,SACzGwwC,EAAWhW,QAAQC,QAAU,CAC3BC,UAAW8V,EAAWhW,QAAQC,UAGlC+V,GAAa,EAAIxK,EAASxiC,UAAS,EAAM,GAAIwmC,EAAMyG,SAAU,CAAEjW,QAASsW,GAAgBH,EAAaH,GACrG,CAAC,SAAU,YAAa,sBAAsBr7B,SAAQ,SAAUhT,GAC/B,kBAApBquC,EAAWruC,KACpBquC,EAAWruC,GAAOsE,SAASm0B,cAAc4V,EAAWruC,QAGxDquC,EAAWhW,QAAUx6B,OAAO0M,KAAK8jC,EAAWhW,SAAS8H,QAAO,SAAUsO,EAAQ/kC,GAI5E,OAHI2kC,EAAWhW,QAAQ3uB,KACrB+kC,EAAO/kC,GAAQ2kC,EAAWhW,QAAQ3uB,IAE7B+kC,IACN,IACIJ,EAKT,SAAS9E,EAAOsF,EAAUzF,EAAQrpC,EAAOkmC,GACvC,GAAI5mC,KAAKqoB,QAAQonB,SAAWzvC,KAAK0vC,aAAe3F,IAAWlC,EAAU7lC,QAAQ0pC,QAAQoD,KACnF,OAAO,IAAInK,EAAa3iC,QAE1B,IAAIqhB,EAAiB,MAAT3iB,EAAgB,KAAOV,KAAK2rC,eACpCgE,EAAW3vC,KAAKu3B,OAAOuK,MACvB8J,EAAS4D,IAUb,GATa,MAATnsB,KACY,IAAV3iB,IAAgBA,EAAQ2iB,EAAM3iB,OACrB,MAATkmC,EACFvjB,EAAQusB,EAAWvsB,EAAOuoB,EAAQ7B,GACf,IAAVnD,IACTvjB,EAAQusB,EAAWvsB,EAAO3iB,EAAOkmC,EAAOmD,IAE1C/pC,KAAK44B,aAAavV,EAAOwkB,EAAU7lC,QAAQ0pC,QAAQK,SAEjDH,EAAOtoC,SAAW,EAAG,CACvB,IAAIusC,EAKEC,EAHFtpC,EAAO,CAACqhC,EAAU7lC,QAAQynC,OAAOE,YAAaiC,EAAQ+D,EAAU5F,GAEpE,IADC8F,EAAW7vC,KAAKipC,SAAS8G,KAAKrpC,MAAMmpC,EAAU,CAAChI,EAAU7lC,QAAQynC,OAAOC,eAAevH,OAAO37B,IAC3FujC,IAAWlC,EAAU7lC,QAAQ0pC,QAAQK,QAGtC+D,EAAY9vC,KAAKipC,SAAS8G,KAAKrpC,MAAMopC,EAAWtpC,GAGrD,OAAOolC,EAGT,SAASxE,EAAS1mC,EAAO4C,EAAQ+G,EAAMpL,EAAO8qC,GAC5C,IAAInE,EAAU,GAwBd,MAvB2B,kBAAhBllC,EAAMA,OAA8C,kBAAjBA,EAAM4C,OAE5B,kBAAXA,GACTymC,EAAS9qC,EAAOA,EAAQoL,EAAMA,EAAO/G,EAAQA,EAAS5C,EAAM4C,OAAQ5C,EAAQA,EAAMA,QAElF4C,EAAS5C,EAAM4C,OAAQ5C,EAAQA,EAAMA,OAEZ,kBAAX4C,IAChBymC,EAAS9qC,EAAOA,EAAQoL,EAAMA,EAAO/G,EAAQA,EAAS,GAGY,YAA/C,qBAAT+G,EAAuB,YAAc7K,EAAQ6K,KACvDu7B,EAAUv7B,EACV0/B,EAAS9qC,GACgB,kBAAToL,IACH,MAATpL,EACF2mC,EAAQv7B,GAAQpL,EAEhB8qC,EAAS1/B,GAIb0/B,EAASA,GAAUlC,EAAU7lC,QAAQ0pC,QAAQ7xB,IACtC,CAACnZ,EAAO4C,EAAQsiC,EAASmE,GAGlC,SAAS6F,EAAWvsB,EAAO3iB,EAAO4C,EAAQymC,GACxC,GAAa,MAAT1mB,EAAe,OAAO,KAC1B,IAAIza,OAAQ,EACRC,OAAM,EACV,GAAInI,aAAiBikC,EAAa3iC,QAAS,CACzC,IAAIguC,EAAO,CAAC3sB,EAAM3iB,MAAO2iB,EAAM3iB,MAAQ2iB,EAAM/f,QAAQqH,KAAI,SAAUslC,GACjE,OAAOvvC,EAAMsiC,kBAAkBiN,EAAKlG,IAAWlC,EAAU7lC,QAAQ0pC,QAAQoD,SAGvEoB,EAAQzlC,EAAeulC,EAAM,GAEjCpnC,EAAQsnC,EAAM,GACdrnC,EAAMqnC,EAAM,OACP,CACL,IAAIC,EAAQ,CAAC9sB,EAAM3iB,MAAO2iB,EAAM3iB,MAAQ2iB,EAAM/f,QAAQqH,KAAI,SAAUslC,GAClE,OAAIA,EAAMvvC,GAASuvC,IAAQvvC,GAASqpC,IAAWlC,EAAU7lC,QAAQ0pC,QAAQoD,KAAamB,EAClF3sC,GAAU,EACL2sC,EAAM3sC,EAEN82B,KAAKgW,IAAI1vC,EAAOuvC,EAAM3sC,MAI7B+sC,EAAQ5lC,EAAe0lC,EAAO,GAElCvnC,EAAQynC,EAAM,GACdxnC,EAAMwnC,EAAM,GAEd,OAAO,IAAIrI,EAAW6G,MAAMjmC,EAAOC,EAAMD,GAvK3C4/B,EAAMyG,SAAW,CACflhB,OAAQ,KACR6X,QAAS,KACT5M,QAAS,GACTO,YAAa,GACbgR,UAAU,EACVvB,mBAAoB,KACpByG,QAAQ,EACRnW,MAAO,WAETkP,EAAMiB,OAAS5B,EAAU7lC,QAAQynC,OACjCjB,EAAMkD,QAAU7D,EAAU7lC,QAAQ0pC,QAElClD,EAAM9V,QAA2B,QAEjC8V,EAAMmC,QAAU,CACd,MAAShG,EAAa3iC,QACtB,UAAa6iC,EAAY7iC,QACzB,cAAe+lC,EAAS/lC,QACxB,aAAcqmC,EAAQrmC,SAuJxB3D,EAAQgpC,aAAeA,EACvBhpC,EAAQ+oC,SAAWA,EACnB/oC,EAAQ2D,QAAUwmC,GAIZ,SAAUpqC,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZc,EAAQl6B,EAAoB,GAE5Bm6B,EAASV,EAAuBS,GAEhCN,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI3I,EAAS,SAAUyT,GAGrB,SAASzT,IAGP,OAFAhgB,EAAgB7c,KAAM68B,GAEfuI,EAA2BplC,MAAO68B,EAAOU,WAAa/+B,OAAO8lC,eAAezH,IAASn2B,MAAM1G,KAAMyG,YA0C1G,OA/CA6+B,EAAUzI,EAAQyT,GAQlB/yB,EAAasf,EAAQ,CAAC,CACpBl8B,IAAK,WACL1B,MAAO,SAAkByB,EAAO4C,EAAQ+G,EAAMpL,GAC5C,GAAI49B,EAAO0T,QAAQvwC,KAAKinC,QAAQ7H,SAAU/0B,GAAQ,GAAKw6B,EAAY7iC,QAAQq6B,MAAMhyB,EAAMw6B,EAAY7iC,QAAQk6B,MAAMsU,MAAO,CACtH,IAAIlS,EAAOt+B,KAAKywC,QAAQ/vC,EAAO4C,GAC3BrE,GACFq/B,EAAKoS,KAAKrmC,EAAMpL,QAGlBklC,EAAKtH,EAAOp+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAezH,EAAOp+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAO4C,EAAQ+G,EAAMpL,KAGjI,CACD0B,IAAK,WACL1B,MAAO,SAAkBsH,GAEvB,GADA49B,EAAKtH,EAAOp+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAezH,EAAOp+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMuG,GACrGvG,KAAKwvB,kBAAkBqN,GAAUA,EAAO0T,QAAQvwC,KAAKinC,QAAQ7H,SAAUp/B,KAAKwvB,OAAOyX,QAAQ7H,UAAY,EAAG,CAC5G,IAAI5P,EAASxvB,KAAKwvB,OAAOihB,QAAQzwC,KAAKkgB,SAAUlgB,KAAKsD,UACrDtD,KAAK2wC,aAAanhB,GAClBA,EAAOkhB,KAAK1wC,UAGd,CAAC,CACHW,IAAK,UACL1B,MAAO,SAAiBoM,EAAMi2B,GAC5B,IAAIsP,EAAY/T,EAAOgU,MAAMzoC,QAAQiD,GACjCylC,EAAajU,EAAOgU,MAAMzoC,QAAQk5B,GACtC,OAAIsP,GAAa,GAAKE,GAAc,EAC3BF,EAAYE,EACVzlC,IAASi2B,EACX,EACEj2B,EAAOi2B,GACR,EAED,MAKNzE,EAhDI,CAiDXgI,EAAY7iC,QAAQ66B,QAEtBA,EAAOsK,gBAAkB,CAACtK,EAAQgI,EAAY7iC,QAAQ06B,MAAOyI,EAAOnjC,SAEpE66B,EAAOgU,MAAQ,CAAC,SAAU,SAC1B,YAAa,SAAU,SAAU,OAAQ,SAAU,OAAQ,QAG3DxyC,EAAQ2D,QAAU66B,GAIZ,SAAUz+B,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAI2lC,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIuL,EAAW,SAAUC,GAGvB,SAASD,IAGP,OAFAl0B,EAAgB7c,KAAM+wC,GAEf3L,EAA2BplC,MAAO+wC,EAASxT,WAAa/+B,OAAO8lC,eAAeyM,IAAWrqC,MAAM1G,KAAMyG,YAG9G,OARA6+B,EAAUyL,EAAUC,GAQbD,EATM,CAUblM,EAAY7iC,QAAQ86B,MAEtBz+B,EAAQ2D,QAAU+uC,GAIZ,SAAU3yC,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ6M,EAAgBjmC,EAAoB,IAEpCkmC,EAAiBzM,EAAuBwM,GAExC/I,EAAUl9B,EAAoB,IAE9Bm9B,EAAW1D,EAAuByD,GAEtC,SAASzD,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI+C,GAAQ,EAAIJ,EAASnmC,SAAS,gBAE9BmvC,EAAS,CAAC,kBAAmB,YAAa,UAAW,SAEzDA,EAAOx9B,SAAQ,SAAUy9B,GACvBnsC,SAASosC,iBAAiBD,GAAW,WACnC,IAAK,IAAIE,EAAO7qC,UAAUnD,OAAQkD,EAAO9B,MAAM4sC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3E/qC,EAAK+qC,GAAQ9qC,UAAU8qC,GAGzB,GAAG5tC,MAAMxE,KAAK8F,SAASusC,iBAAiB,kBAAkB79B,SAAQ,SAAU0X,GAGxE,IAAIomB,EADFpmB,EAAKwd,SAAWxd,EAAKwd,QAAQI,UAG9BwI,EAAwBpmB,EAAKwd,QAAQI,SAASyI,UAAUhrC,MAAM+qC,EAAuBjrC,YAM9F,IAAImrC,EAAU,SAAUC,GAGtB,SAASD,IACP90B,EAAgB7c,KAAM2xC,GAEtB,IAAIhU,EAAQyH,EAA2BplC,MAAO2xC,EAAQpU,WAAa/+B,OAAO8lC,eAAeqN,IAAUxyC,KAAKa,OAIxG,OAFA29B,EAAMkU,UAAY,GAClBlU,EAAMzxB,GAAG,QAASq8B,EAAM1lC,OACjB86B,EAmCT,OA5CA2H,EAAUqM,EAASC,GAYnBr0B,EAAao0B,EAAS,CAAC,CACrBhxC,IAAK,OACL1B,MAAO,WACLspC,EAAMh0B,IAAI7N,MAAM6hC,EAAO9hC,WACvB09B,EAAKwN,EAAQlzC,UAAU8+B,WAAa/+B,OAAO8lC,eAAeqN,EAAQlzC,WAAY,OAAQuB,MAAM0G,MAAM1G,KAAMyG,aAEzG,CACD9F,IAAK,YACL1B,MAAO,SAAmBskB,GACxB,IAAK,IAAIuuB,EAAQrrC,UAAUnD,OAAQkD,EAAO9B,MAAMotC,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACpGvrC,EAAKurC,EAAQ,GAAKtrC,UAAUsrC,IAG7B/xC,KAAK6xC,UAAUtuB,EAAMxhB,OAAS,IAAI4R,SAAQ,SAAUq+B,GACnD,IAAI3mB,EAAO2mB,EAAK3mB,KACZlS,EAAU64B,EAAK74B,SAEfoK,EAAMtG,SAAWoO,GAAQA,EAAK0iB,SAASxqB,EAAMtG,UAC/C9D,EAAQzS,WAAM3H,EAAW,CAACwkB,GAAO4e,OAAO37B,SAI7C,CACD7F,IAAK,YACL1B,MAAO,SAAmBmyC,EAAW/lB,EAAMlS,GACpCnZ,KAAK6xC,UAAUT,KAClBpxC,KAAK6xC,UAAUT,GAAa,IAE9BpxC,KAAK6xC,UAAUT,GAAW7tC,KAAK,CAAE8nB,KAAMA,EAAMlS,QAASA,QAInDw4B,EA7CK,CA8CZT,EAAelvC,SAEjB2vC,EAAQlI,OAAS,CACfC,cAAe,gBACfuI,qBAAsB,uBACtBC,gBAAiB,kBACjBpI,cAAe,gBACfqI,iBAAkB,mBAClBxI,YAAa,eAEfgI,EAAQjG,QAAU,CAChB7xB,IAAK,MACLkyB,OAAQ,SACR+C,KAAM,QAGRzwC,EAAQ2D,QAAU2vC,GAIZ,SAAUvzC,EAAQC,EAAS2M,GAEjC,aAOA,SAAS6R,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAJhHrB,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAKT,IAAImzC,EAAS,SAASA,EAAO3a,GAC3B,IAAIpP,EAAU5hB,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAElFoW,EAAgB7c,KAAMoyC,GAEtBpyC,KAAKy3B,MAAQA,EACbz3B,KAAKqoB,QAAUA,GAGjB+pB,EAAOnD,SAAW,GAElB5wC,EAAQ2D,QAAUowC,GAIZ,SAAUh0C,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAET,IAAIozC,EAAS,CAAC,QAAS,OAAQ,MAAO,QAClC3H,EAAQ,OAEZ,SAASnC,EAAM+J,GACb,GAAID,EAAOjqC,QAAQkqC,IAAWD,EAAOjqC,QAAQsiC,GAAQ,CAGnD,IAFA,IAAI6H,EAEKjB,EAAO7qC,UAAUnD,OAAQkD,EAAO9B,MAAM4sC,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAC9F/qC,EAAK+qC,EAAO,GAAK9qC,UAAU8qC,IAG5BgB,EAAWj+B,SAASg+B,GAAQ5rC,MAAM6rC,EAAU/rC,IAIjD,SAASgsC,EAAUC,GACjB,OAAOJ,EAAOvR,QAAO,SAAU4R,EAAQJ,GAErC,OADAI,EAAOJ,GAAU/J,EAAMoK,KAAKr+B,QAASg+B,EAAQG,GACtCC,IACN,IAGLnK,EAAMmC,MAAQ8H,EAAU9H,MAAQ,SAAUkI,GACxClI,EAAQkI,GAGVv0C,EAAQ2D,QAAUwwC,GAIZ,SAAUp0C,EAAQC,EAAS2M,GAEjC,IAAI6nC,EAASnuC,MAAMjG,UAAUkF,MACzBmvC,EAAa9nC,EAAoB,IACjC+nC,EAAc/nC,EAAoB,IAElCgoC,EAAY50C,EAAOC,QAAU,SAAU40C,EAAQC,EAAUC,GAG3D,OAFKA,IAAMA,EAAO,IAEdF,IAAWC,IAGJD,aAAkB5sC,MAAQ6sC,aAAoB7sC,KAChD4sC,EAAOG,YAAcF,EAASE,WAI3BH,IAAWC,GAA6B,iBAAVD,GAAyC,iBAAZC,EAC9DC,EAAK1D,OAASwD,IAAWC,EAAWD,GAAUC,EAS9CG,EAASJ,EAAQC,EAAUC,KAItC,SAASG,EAAkBr0C,GACzB,OAAiB,OAAVA,QAA4BF,IAAVE,EAG3B,SAASs0C,EAAUC,GACjB,SAAKA,GAAkB,kBAANA,GAAsC,kBAAbA,EAAElwC,UACtB,oBAAXkwC,EAAE5P,MAA0C,oBAAZ4P,EAAE7vC,SAGzC6vC,EAAElwC,OAAS,GAAqB,kBAATkwC,EAAE,KAI/B,SAASH,EAASzhB,EAAGC,EAAGshB,GACtB,IAAItrC,EAAGlH,EACP,GAAI2yC,EAAkB1hB,IAAM0hB,EAAkBzhB,GAC5C,OAAO,EAET,GAAID,EAAEnzB,YAAcozB,EAAEpzB,UAAW,OAAO,EAGxC,GAAIs0C,EAAYnhB,GACd,QAAKmhB,EAAYlhB,KAGjBD,EAAIihB,EAAO1zC,KAAKyyB,GAChBC,EAAIghB,EAAO1zC,KAAK0yB,GACTmhB,EAAUphB,EAAGC,EAAGshB,IAEzB,GAAII,EAAS3hB,GAAI,CACf,IAAK2hB,EAAS1hB,GACZ,OAAO,EAET,GAAID,EAAEtuB,SAAWuuB,EAAEvuB,OAAQ,OAAO,EAClC,IAAKuE,EAAI,EAAGA,EAAI+pB,EAAEtuB,OAAQuE,IACxB,GAAI+pB,EAAE/pB,KAAOgqB,EAAEhqB,GAAI,OAAO,EAE5B,OAAO,EAET,IACE,IAAI4rC,EAAKX,EAAWlhB,GAChB8hB,EAAKZ,EAAWjhB,GACpB,MAAOvyB,GACP,OAAO,EAIT,GAAIm0C,EAAGnwC,QAAUowC,EAAGpwC,OAClB,OAAO,EAKT,IAHAmwC,EAAGE,OACHD,EAAGC,OAEE9rC,EAAI4rC,EAAGnwC,OAAS,EAAGuE,GAAK,EAAGA,IAC9B,GAAI4rC,EAAG5rC,IAAM6rC,EAAG7rC,GACd,OAAO,EAIX,IAAKA,EAAI4rC,EAAGnwC,OAAS,EAAGuE,GAAK,EAAGA,IAE9B,GADAlH,EAAM8yC,EAAG5rC,IACJmrC,EAAUphB,EAAEjxB,GAAMkxB,EAAElxB,GAAMwyC,GAAO,OAAO,EAE/C,cAAcvhB,WAAaC,IAMvB,SAAUzzB,EAAQC,EAAS2M,GAEjC,aAEAxM,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI+8B,EAAWhxB,EAAoB,GAC/B+xB,EAA4B,WAC5B,SAASA,EAAWsC,EAAUC,EAASjX,QACnB,IAAZA,IAAsBA,EAAU,IACpCroB,KAAKq/B,SAAWA,EAChBr/B,KAAKs/B,QAAUA,EACf,IAAIsU,EAAe5X,EAASE,MAAM8C,KAAOhD,EAASE,MAAM2X,UACnC,MAAjBxrB,EAAQpZ,MAERjP,KAAKiP,MAASoZ,EAAQpZ,MAAQ+sB,EAASE,MAAMuC,MAASmV,EAGtD5zC,KAAKiP,MAAQ+sB,EAASE,MAAM2X,UAEP,MAArBxrB,EAAQ8gB,YACRnpC,KAAKmpC,UAAY9gB,EAAQ8gB,WAoCjC,OAlCApM,EAAW7xB,KAAO,SAAUmgB,GACxB,MAAO,GAAG1gB,IAAIxL,KAAKksB,EAAKuS,YAAY,SAAUn9B,GAC1C,OAAOA,EAAK4J,SAGpB0yB,EAAWt+B,UAAUmqC,IAAM,SAAUvd,EAAMpsB,GACvC,QAAKe,KAAK8zC,OAAOzoB,EAAMpsB,KAEvBosB,EAAK0d,aAAa/oC,KAAKs/B,QAASrgC,IACzB,IAEX89B,EAAWt+B,UAAUq1C,OAAS,SAAUzoB,EAAMpsB,GAC1C,IAAImL,EAAQ4xB,EAASK,MAAMhR,EAAM2Q,EAASE,MAAMsU,MAAQxwC,KAAKiP,MAAQ+sB,EAASE,MAAM8C,OACpF,OAAa,MAAT50B,IAEkB,MAAlBpK,KAAKmpC,YAEY,kBAAVlqC,EACAe,KAAKmpC,UAAU/gC,QAAQnJ,EAAM80C,QAAQ,QAAS,MAAQ,EAGtD/zC,KAAKmpC,UAAU/gC,QAAQnJ,IAAU,KAGhD89B,EAAWt+B,UAAUqoC,OAAS,SAAUzb,GACpCA,EAAK2oB,gBAAgBh0C,KAAKs/B,UAE9BvC,EAAWt+B,UAAUQ,MAAQ,SAAUosB,GACnC,IAAIpsB,EAAQosB,EAAKyT,aAAa9+B,KAAKs/B,SACnC,OAAIt/B,KAAK8zC,OAAOzoB,EAAMpsB,IAAUA,EACrBA,EAEJ,IAEJ89B,EAlDoB,GAoD/B1+B,EAAQ2D,QAAU+6B,GAKZ,SAAU3+B,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQy1B,UAAO/0B,EAEjC,IAAI0L,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZM,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCE,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCqP,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAEjCjP,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAElCE,EAAQl6B,EAAoB,GAE5Bm6B,EAASV,EAAuBS,GAEpC,SAAST,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI1R,EAAO,SAAUqgB,GAGnB,SAASrgB,IAGP,OAFAjX,EAAgB7c,KAAM8zB,GAEfsR,EAA2BplC,MAAO8zB,EAAKyJ,WAAa/+B,OAAO8lC,eAAexQ,IAAOptB,MAAM1G,KAAMyG,YAGtG,OARA6+B,EAAUxR,EAAMqgB,GAQTrgB,EATE,CAUTmR,EAASjjC,SAEX8xB,EAAKsL,SAAW,OAChBtL,EAAKiL,QAAU,OAEf,IAAIqV,EAAY,SAAUC,GAGxB,SAASD,IAGP,OAFAv3B,EAAgB7c,KAAMo0C,GAEfhP,EAA2BplC,MAAOo0C,EAAU7W,WAAa/+B,OAAO8lC,eAAe8P,IAAY1tC,MAAM1G,KAAMyG,YA6HhH,OAlIA6+B,EAAU8O,EAAWC,GAQrB92B,EAAa62B,EAAW,CAAC,CACvBzzC,IAAK,QACL1B,MAAO,WACL,IAAI+rC,EAAShrC,KAETogC,EAAOpgC,KAAK2lC,QAAQ2O,YAKxB,OAJIlU,EAAK6F,SAAS,QAEhB7F,EAAOA,EAAKz8B,MAAM,GAAI,IAEjBy8B,EAAK/e,MAAM,MAAMyf,QAAO,SAAUgB,EAAOyS,GAC9C,OAAOzS,EAAM3B,OAAOoU,GAAMpU,OAAO,KAAM6K,EAAOpF,aAC7C,IAAIjB,EAAa3iC,WAErB,CACDrB,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GAC3B,GAAIoL,IAASrK,KAAKinC,QAAQ7H,WAAYngC,EAAtC,CAEA,IAAIu1C,EAAcx0C,KAAKy0C,WAAWtP,EAAOnjC,QAAShC,KAAKsD,SAAW,GAC9DoxC,EAAejqC,EAAe+pC,EAAa,GAC3CpU,EAAOsU,EAAa,GAEZ,MAARtU,GACFA,EAAKuU,SAASvU,EAAK98B,SAAW,EAAG,GAEnC6gC,EAAKiQ,EAAU31C,UAAU8+B,WAAa/+B,OAAO8lC,eAAe8P,EAAU31C,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqK,EAAMpL,MAEpH,CACD0B,IAAK,WACL1B,MAAO,SAAkByB,EAAO4C,EAAQ+G,EAAMpL,GAC5C,GAAe,IAAXqE,GACoE,MAApEuhC,EAAY7iC,QAAQq6B,MAAMhyB,EAAMw6B,EAAY7iC,QAAQk6B,MAAMwC,SAAkBr0B,IAASrK,KAAKinC,QAAQ7H,UAAYngC,IAAUe,KAAKinC,QAAQrB,QAAQ5lC,KAAK2lC,UAAtJ,CAGA,IAAIiP,EAAc50C,KAAK60C,aAAan0C,GACpC,KAAIk0C,EAAc,GAAKA,GAAel0C,EAAQ4C,GAA9C,CACA,IAAIwxC,EAAc90C,KAAK60C,aAAan0C,GAAO,GAAQ,EAC/Cq0C,EAAgBH,EAAcE,EAAc,EAC5CxW,EAAOt+B,KAAKywC,QAAQqE,EAAaC,GACjCzqB,EAAOgU,EAAKhU,KAChBgU,EAAKjF,OAAOhvB,EAAMpL,GACdqrB,aAAgB8pB,GAClB9pB,EAAK0qB,SAAS,EAAGt0C,EAAQo0C,EAAcxxC,EAASyxC,EAAe1qC,EAAMpL,OAGxE,CACD0B,IAAK,WACL1B,MAAO,SAAkByB,EAAOzB,EAAO+mC,GACrC,GAAW,MAAPA,EAAJ,CAEA,IAAIiP,EAAej1C,KAAKy0C,WAAWtP,EAAOnjC,QAAStB,GAC/Cw0C,EAAezqC,EAAewqC,EAAc,GAC5C7U,EAAO8U,EAAa,GACpBh1B,EAASg1B,EAAa,GAE1B9U,EAAKgG,SAASlmB,EAAQjhB,MAEvB,CACD0B,IAAK,SACL1B,MAAO,WACL,IAAIqE,EAAStD,KAAK2lC,QAAQ2O,YAAYhxC,OACtC,OAAKtD,KAAK2lC,QAAQ2O,YAAYrO,SAAS,MAGhC3iC,EAFEA,EAAS,IAInB,CACD3C,IAAK,eACL1B,MAAO,SAAsBk2C,GAC3B,IAAIC,EAAU3uC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAE7E,GAAK2uC,EAIH,OAAOp1C,KAAK2lC,QAAQ2O,YAAY3wC,MAAM,EAAGwxC,GAAaE,YAAY,MAHlE,IAAIn1B,EAASlgB,KAAK2lC,QAAQ2O,YAAY3wC,MAAMwxC,GAAa/sC,QAAQ,MACjE,OAAO8X,GAAU,EAAIi1B,EAAcj1B,GAAU,IAKhD,CACDvf,IAAK,WACL1B,MAAO,SAAkBsH,GAClBvG,KAAK2lC,QAAQ2O,YAAYrO,SAAS,OACrCjmC,KAAKozB,YAAYyR,EAAY7iC,QAAQm6B,OAAO,OAAQ,OAEtDgI,EAAKiQ,EAAU31C,UAAU8+B,WAAa/+B,OAAO8lC,eAAe8P,EAAU31C,WAAY,WAAYuB,MAAMb,KAAKa,KAAMuG,GAC/G,IAAI+jB,EAAOtqB,KAAKsqB,KACJ,MAARA,GAAgBA,EAAKgrB,OAASt1C,MAAQsqB,EAAK2c,QAAQ7H,WAAap/B,KAAKinC,QAAQ7H,UAAYp/B,KAAKinC,QAAQrB,QAAQ5lC,KAAK2lC,WAAarb,EAAK2c,QAAQrB,QAAQtb,EAAKqb,WAC5Jrb,EAAKirB,SAAShvC,GACd+jB,EAAKqmB,aAAa3wC,MAClBsqB,EAAKwc,YAGR,CACDnmC,IAAK,UACL1B,MAAO,SAAiBge,GACtBknB,EAAKiQ,EAAU31C,UAAU8+B,WAAa/+B,OAAO8lC,eAAe8P,EAAU31C,WAAY,UAAWuB,MAAMb,KAAKa,KAAMid,GAC9G,GAAGtZ,MAAMxE,KAAKa,KAAK2lC,QAAQ6L,iBAAiB,MAAM79B,SAAQ,SAAU0X,GAClE,IAAIiT,EAAOuG,EAAY7iC,QAAQo6B,KAAK/Q,GACxB,MAARiT,EACFjT,EAAKkT,WAAWiX,YAAYnqB,GACnBiT,aAAgBuG,EAAY7iC,QAAQ06B,MAC7C4B,EAAKwI,SAELxI,EAAKmX,eAIT,CAAC,CACH90C,IAAK,SACL1B,MAAO,SAAgBA,GACrB,IAAI0mC,EAAUxB,EAAKiQ,EAAU7W,WAAa/+B,OAAO8lC,eAAe8P,GAAY,SAAUp0C,MAAMb,KAAKa,KAAMf,GAEvG,OADA0mC,EAAQoD,aAAa,cAAc,GAC5BpD,IAER,CACDhlC,IAAK,UACL1B,MAAO,WACL,OAAO,MAIJm1C,EAnIO,CAoIdF,EAAQlyC,SAEVoyC,EAAUhV,SAAW,aACrBgV,EAAUrV,QAAU,MACpBqV,EAAUsB,IAAM,KAEhBr3C,EAAQy1B,KAAOA,EACfz1B,EAAQ2D,QAAUoyC,GAIZ,SAAUh2C,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIO,EAA4B,oBAAXlB,QAAoD,kBAApBA,OAAOoB,SAAwB,SAAUD,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,gBAAkBgB,GAElQgL,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEf2nB,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCiR,EAAM3qC,EAAoB,IAE1B4qC,EAAOnR,EAAuBkR,GAE9B/Q,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCiR,EAAQ7qC,EAAoB,IAE5B8qC,EAASrR,EAAuBoR,GAEhCE,EAAU/qC,EAAoB,IAE9BgrC,EAAWvR,EAAuBsR,GAElC9B,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAEjCnP,EAAS95B,EAAoB,IAE7B+5B,EAAUN,EAAuBK,GAEjCmR,EAASjrC,EAAoB,IAE7BkrC,EAAUzR,EAAuBwR,GAEjCE,EAAanrC,EAAoB,IAEjCorC,EAAc3R,EAAuB0R,GAErC5R,EAAUv5B,EAAoB,GAE9Bw5B,EAAWC,EAAuBF,GAEtC,SAASE,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAAS6oC,EAAgB7oC,EAAKkB,EAAK1B,GAAiK,OAApJ0B,KAAOlB,EAAOjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAAE1B,MAAOA,EAAOke,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB5d,EAAIkB,GAAO1B,EAAgBQ,EAE3M,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,IAAIw2C,EAAQ,WAERC,EAAS,WACX,SAASA,EAAOpN,GACdrsB,EAAgB7c,KAAMs2C,GAEtBt2C,KAAKkpC,OAASA,EACdlpC,KAAK8hC,MAAQ9hC,KAAKu2C,WA6PpB,OA1PAh5B,EAAa+4B,EAAQ,CAAC,CACpB31C,IAAK,aACL1B,MAAO,SAAoB6iC,GACzB,IAAInE,EAAQ39B,KAERw2C,GAAqB,EACzBx2C,KAAKkpC,OAAOiB,SACZ,IAAIsM,EAAez2C,KAAKkpC,OAAO5lC,SAoD/B,OAnDAtD,KAAKkpC,OAAOwN,aACZ5U,EAAQ6U,EAAe7U,GACvBA,EAAMhB,QAAO,SAAUpgC,EAAOm/B,GAC5B,IAAIv8B,EAASu8B,EAAGS,QAAUT,EAAGqB,QAAUrB,EAAGM,OAAO78B,QAAU,EACvDs6B,EAAaiC,EAAGjC,YAAc,GAClC,GAAiB,MAAbiC,EAAGM,OAAgB,CACrB,GAAyB,kBAAdN,EAAGM,OAAqB,CACjC,IAAIC,EAAOP,EAAGM,OACVC,EAAK6F,SAAS,OAASuQ,IACzBA,GAAqB,EACrBpW,EAAOA,EAAKz8B,MAAM,GAAI,IAEpBjD,GAAS+1C,IAAiBrW,EAAK6F,SAAS,QAC1CuQ,GAAqB,GAEvB7Y,EAAMuL,OAAO9C,SAAS1lC,EAAO0/B,GAE7B,IAAIwW,EAAejZ,EAAMuL,OAAOrG,KAAKniC,GACjCm2C,EAAgBpsC,EAAemsC,EAAc,GAC7C/T,EAAOgU,EAAc,GACrB32B,EAAS22B,EAAc,GAEvBjR,GAAU,EAAIpB,EAASxiC,SAAS,IAAI,EAAIiyC,EAAOhQ,eAAepB,IAClE,GAAIA,aAAgBqR,EAAQlyC,QAAS,CACnC,IAAI80C,EAAmBjU,EAAK4R,WAAW5P,EAAY7iC,QAAQy6B,KAAMvc,GAC7D62B,EAAoBtsC,EAAeqsC,EAAkB,GACrDpQ,EAAOqQ,EAAkB,GAE7BnR,GAAU,EAAIpB,EAASxiC,SAAS4jC,GAAS,EAAIqO,EAAOhQ,eAAeyC,IAErE9I,EAAagY,EAAK5zC,QAAQ47B,WAAW8B,KAAKkG,EAAShI,IAAe,QAC7D,GAA2B,WAAvBp+B,EAAQqgC,EAAGM,QAAsB,CAC1C,IAAIx/B,EAAMnC,OAAO0M,KAAK20B,EAAGM,QAAQ,GACjC,GAAW,MAAPx/B,EAAa,OAAOD,EACxBi9B,EAAMuL,OAAO9C,SAAS1lC,EAAOC,EAAKk/B,EAAGM,OAAOx/B,IAE9C81C,GAAgBnzC,EAKlB,OAHA9E,OAAO0M,KAAK0yB,GAAYjqB,SAAQ,SAAUtJ,GACxCszB,EAAMuL,OAAO8L,SAASt0C,EAAO4C,EAAQ+G,EAAMuzB,EAAWvzB,OAEjD3J,EAAQ4C,IACd,GACHw+B,EAAMhB,QAAO,SAAUpgC,EAAOm/B,GAC5B,MAAyB,kBAAdA,EAAGqB,QACZvD,EAAMuL,OAAOyL,SAASj0C,EAAOm/B,EAAGqB,QACzBxgC,GAEFA,GAASm/B,EAAGS,QAAUT,EAAGM,OAAO78B,QAAU,KAChD,GACHtD,KAAKkpC,OAAO8N,WACLh3C,KAAKmqC,OAAOrI,KAEpB,CACDnhC,IAAK,aACL1B,MAAO,SAAoByB,EAAO4C,GAEhC,OADAtD,KAAKkpC,OAAOyL,SAASj0C,EAAO4C,GACrBtD,KAAKmqC,QAAO,IAAIxF,EAAa3iC,SAAUs+B,OAAO5/B,GAAOwgC,OAAO59B,MAEpE,CACD3C,IAAK,aACL1B,MAAO,SAAoByB,EAAO4C,GAChC,IAAIijC,EAASvmC,KAET4lC,EAAUn/B,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAoBlF,OAlBAzG,KAAKkpC,OAAOiB,SACZ3rC,OAAO0M,KAAK06B,GAASjyB,SAAQ,SAAU0lB,GACrC,GAA+B,MAA3BkN,EAAO2C,OAAOC,WAAsB5C,EAAO2C,OAAOC,UAAU9P,GAAhE,CACA,IAAIsN,EAAQJ,EAAO2C,OAAOvC,MAAMjmC,EAAO05B,KAAKgW,IAAI9sC,EAAQ,IACpD2zC,EAAkB3zC,EACtBqjC,EAAMhzB,SAAQ,SAAUkvB,GACtB,IAAIqU,EAAarU,EAAKv/B,SACtB,GAAMu/B,aAAgBiT,EAAO9zC,QAEtB,CACL,IAAIm1C,EAAYz2C,EAAQmiC,EAAK3iB,OAAOqmB,EAAO2C,QACvCkO,EAAavU,EAAKgS,aAAasC,EAAYF,GAAmBE,EAAY,EAC9EtU,EAAKmS,SAASmC,EAAWC,EAAY/d,EAAQuM,EAAQvM,SAJrDwJ,EAAKxJ,OAAOA,EAAQuM,EAAQvM,IAM9B4d,GAAmBC,SAGvBl3C,KAAKkpC,OAAOqM,WACLv1C,KAAKmqC,QAAO,IAAIxF,EAAa3iC,SAAUs+B,OAAO5/B,GAAO4/B,OAAOh9B,GAAQ,EAAI4yC,EAAQl0C,SAAS4jC,OAEjG,CACDjlC,IAAK,aACL1B,MAAO,SAAoByB,EAAO4C,GAChC,IAAI0nC,EAAShrC,KAET4lC,EAAUn/B,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAKlF,OAHAjI,OAAO0M,KAAK06B,GAASjyB,SAAQ,SAAU0lB,GACrC2R,EAAO9B,OAAO8L,SAASt0C,EAAO4C,EAAQ+1B,EAAQuM,EAAQvM,OAEjDr5B,KAAKmqC,QAAO,IAAIxF,EAAa3iC,SAAUs+B,OAAO5/B,GAAO4/B,OAAOh9B,GAAQ,EAAI4yC,EAAQl0C,SAAS4jC,OAEjG,CACDjlC,IAAK,cACL1B,MAAO,SAAqByB,EAAO4C,GACjC,OAAOtD,KAAK8hC,MAAMn+B,MAAMjD,EAAOA,EAAQ4C,KAExC,CACD3C,IAAK,WACL1B,MAAO,WACL,OAAOe,KAAKkpC,OAAOvC,QAAQ7F,QAAO,SAAUgB,EAAOe,GACjD,OAAOf,EAAMK,OAAOU,EAAKf,WACxB,IAAI6C,EAAa3iC,WAErB,CACDrB,IAAK,YACL1B,MAAO,SAAmByB,GACxB,IAAI4C,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAE7EkgC,EAAQ,GACR0Q,EAAS,GACE,IAAX/zC,EACFtD,KAAKkpC,OAAOj/B,KAAKvJ,GAAOiT,SAAQ,SAAU1J,GACxC,IAAIqtC,EAAQ7sC,EAAeR,EAAM,GAC7Bq0B,EAAOgZ,EAAM,GAEbhZ,aAAgB4V,EAAQlyC,QAC1B2kC,EAAMpjC,KAAK+6B,GACFA,aAAgBuG,EAAY7iC,QAAQy6B,MAC7C4a,EAAO9zC,KAAK+6B,OAIhBqI,EAAQ3mC,KAAKkpC,OAAOvC,MAAMjmC,EAAO4C,GACjC+zC,EAASr3C,KAAKkpC,OAAOzC,YAAY5B,EAAY7iC,QAAQy6B,KAAM/7B,EAAO4C,IAEpE,IAAIi0C,EAAa,CAAC5Q,EAAO0Q,GAAQ1sC,KAAI,SAAU6sC,GAC7C,GAAqB,IAAjBA,EAAMl0C,OAAc,MAAO,GAC/B,IAAIsiC,GAAU,EAAIqO,EAAOhQ,eAAeuT,EAAM5Q,SAC9C,MAAOpoC,OAAO0M,KAAK06B,GAAStiC,OAAS,EAAG,CACtC,IAAIg7B,EAAOkZ,EAAM5Q,QACjB,GAAY,MAARtI,EAAc,OAAOsH,EACzBA,EAAU6R,GAAe,EAAIxD,EAAOhQ,eAAe3F,GAAOsH,GAE5D,OAAOA,KAET,OAAOpB,EAASxiC,QAAQ0E,MAAM89B,EAASxiC,QAASu1C,KAEjD,CACD52C,IAAK,UACL1B,MAAO,SAAiByB,EAAO4C,GAC7B,OAAOtD,KAAKgtC,YAAYtsC,EAAO4C,GAAQ+Q,QAAO,SAAUwrB,GACtD,MAA4B,kBAAdA,EAAGM,UAChBx1B,KAAI,SAAUk1B,GACf,OAAOA,EAAGM,UACTp3B,KAAK,MAET,CACDpI,IAAK,cACL1B,MAAO,SAAqByB,EAAO+sC,EAAOxuC,GAExC,OADAe,KAAKkpC,OAAO9C,SAAS1lC,EAAO+sC,EAAOxuC,GAC5Be,KAAKmqC,QAAO,IAAIxF,EAAa3iC,SAAUs+B,OAAO5/B,GAAOy/B,OAAOmI,EAAgB,GAAImF,EAAOxuC,OAE/F,CACD0B,IAAK,aACL1B,MAAO,SAAoByB,EAAO0/B,GAChC,IAAIqL,EAASzrC,KAET4lC,EAAUn/B,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAOlF,OALA25B,EAAOA,EAAK2T,QAAQ,QAAS,MAAMA,QAAQ,MAAO,MAClD/zC,KAAKkpC,OAAO9C,SAAS1lC,EAAO0/B,GAC5B5hC,OAAO0M,KAAK06B,GAASjyB,SAAQ,SAAU0lB,GACrCoS,EAAOvC,OAAO8L,SAASt0C,EAAO0/B,EAAK98B,OAAQ+1B,EAAQuM,EAAQvM,OAEtDr5B,KAAKmqC,QAAO,IAAIxF,EAAa3iC,SAAUs+B,OAAO5/B,GAAOy/B,OAAOC,GAAM,EAAI8V,EAAQl0C,SAAS4jC,OAE/F,CACDjlC,IAAK,UACL1B,MAAO,WACL,GAAmC,GAA/Be,KAAKkpC,OAAOxyB,SAASpT,OAAa,OAAO,EAC7C,GAAItD,KAAKkpC,OAAOxyB,SAASpT,OAAS,EAAG,OAAO,EAC5C,IAAI4iC,EAAQlmC,KAAKkpC,OAAOxyB,SAASmc,KACjC,OAAIqT,EAAMe,QAAQ7H,WAAa8U,EAAQlyC,QAAQo9B,aAC3C8G,EAAMxvB,SAASpT,OAAS,IACrB4iC,EAAMxvB,SAASmc,gBAAgBkS,EAAQ/iC,WAE/C,CACDrB,IAAK,eACL1B,MAAO,SAAsByB,EAAO4C,GAClC,IAAI88B,EAAOpgC,KAAKutC,QAAQ7sC,EAAO4C,GAE3Bo0C,EAAgB13C,KAAKkpC,OAAOrG,KAAKniC,EAAQ4C,GACzCq0C,EAAgBltC,EAAeitC,EAAe,GAC9C7U,EAAO8U,EAAc,GACrBz3B,EAASy3B,EAAc,GAEvBC,EAAe,EACflf,EAAS,IAAIiM,EAAa3iC,QAClB,MAAR6gC,IAIA+U,EAHI/U,aAAgBiT,EAAO9zC,QAGZ6gC,EAAKgS,aAAa30B,GAAUA,EAAS,EAFrC2iB,EAAKv/B,SAAW4c,EAIjCwY,EAASmK,EAAKf,QAAQn+B,MAAMuc,EAAQA,EAAS03B,EAAe,GAAGzX,OAAO,OAExE,IAAIiK,EAAWpqC,KAAKgtC,YAAYtsC,EAAO4C,EAASs0C,GAC5ClY,EAAO0K,EAAS1K,MAAK,IAAIiF,EAAa3iC,SAAUm+B,OAAOC,GAAM+B,OAAOzJ,IACpEoJ,GAAQ,IAAI6C,EAAa3iC,SAAUs+B,OAAO5/B,GAAOyhC,OAAOzC,GAC5D,OAAO1/B,KAAKyuC,WAAW3M,KAExB,CACDnhC,IAAK,SACL1B,MAAO,SAAgB2sC,GACrB,IAAI5B,EAAYvjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAChFoxC,EAAcpxC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,QAAK1H,EAElF4wC,EAAW3vC,KAAK8hC,MACpB,GAAyB,IAArBkI,EAAU1mC,QAAsC,kBAAtB0mC,EAAU,GAAGjoC,MAA4BioC,EAAU,GAAG/sB,OAAO/a,KAAKkI,MAAMisC,IAAUxR,EAAY7iC,QAAQo6B,KAAK4N,EAAU,GAAG/sB,QAAS,CAE7J,IAAI66B,EAAWjT,EAAY7iC,QAAQo6B,KAAK4N,EAAU,GAAG/sB,QACjD2oB,GAAU,EAAIqO,EAAOhQ,eAAe6T,GACpCp3C,EAAQo3C,EAAS53B,OAAOlgB,KAAKkpC,QAC7B6O,EAAW/N,EAAU,GAAG+N,SAAShE,QAAQiC,EAASh0C,QAAQg2C,SAAU,IACpEC,GAAU,IAAItT,EAAa3iC,SAAUm+B,OAAO4X,GAC5CG,GAAU,IAAIvT,EAAa3iC,SAAUm+B,OAAO2X,EAAS74C,SACrDk5C,GAAY,IAAIxT,EAAa3iC,SAAUs+B,OAAO5/B,GAAOyhC,OAAO8V,EAAQvY,KAAKwY,EAASL,IACtFjM,EAASuM,EAAUrX,QAAO,SAAUgB,EAAOjC,GACzC,OAAIA,EAAGM,OACE2B,EAAM3B,OAAON,EAAGM,OAAQyF,GAExB9D,EAAMv+B,KAAKs8B,KAEnB,IAAI8E,EAAa3iC,SACpBhC,KAAK8hC,MAAQ6N,EAAStO,QAAQuK,QAE9B5rC,KAAK8hC,MAAQ9hC,KAAKu2C,WACb3K,IAAW,EAAIwK,EAAYp0C,SAAS2tC,EAAStO,QAAQuK,GAAS5rC,KAAK8hC,SACtE8J,EAAS+D,EAASjQ,KAAK1/B,KAAK8hC,MAAO+V,IAGvC,OAAOjM,MAIJ0K,EAlQI,GAqQb,SAASmB,EAAe7R,EAASwS,GAC/B,OAAO55C,OAAO0M,KAAKktC,GAAUtX,QAAO,SAAUuX,EAAQhuC,GACpD,OAAqB,MAAjBu7B,EAAQv7B,KACR+tC,EAAS/tC,KAAUu7B,EAAQv7B,GAC7BguC,EAAOhuC,GAAQ+tC,EAAS/tC,GACf3F,MAAM2E,QAAQ+uC,EAAS/tC,IAC5B+tC,EAAS/tC,GAAMjC,QAAQw9B,EAAQv7B,IAAS,IAC1CguC,EAAOhuC,GAAQ+tC,EAAS/tC,GAAM83B,OAAO,CAACyD,EAAQv7B,MAGhDguC,EAAOhuC,GAAQ,CAAC+tC,EAAS/tC,GAAOu7B,EAAQv7B,KARRguC,IAWjC,IAGL,SAAS1B,EAAe7U,GACtB,OAAOA,EAAMhB,QAAO,SAAUgB,EAAOjC,GACnC,GAAkB,IAAdA,EAAGM,OAAc,CACnB,IAAIvC,GAAa,EAAIsY,EAAQl0C,SAAS69B,EAAGjC,YAEzC,cADOA,EAAW,SACXkE,EAAM3B,OAAO,CAAEx6B,MAAOk6B,EAAGjC,WAAWj4B,OAASi4B,GAWtD,GATqB,MAAjBiC,EAAGjC,aAA8C,IAAvBiC,EAAGjC,WAAWvM,OAA0C,IAAzBwO,EAAGjC,WAAW0a,SACzEzY,GAAK,EAAIqW,EAAQl0C,SAAS69B,GACtBA,EAAGjC,WAAWvM,KAChBwO,EAAGjC,WAAWvM,KAAO,WAErBwO,EAAGjC,WAAWvM,KAAO,gBACdwO,EAAGjC,WAAW0a,SAGA,kBAAdzY,EAAGM,OAAqB,CACjC,IAAIC,EAAOP,EAAGM,OAAO4T,QAAQ,QAAS,MAAMA,QAAQ,MAAO,MAC3D,OAAOjS,EAAM3B,OAAOC,EAAMP,EAAGjC,YAE/B,OAAOkE,EAAMv+B,KAAKs8B,KACjB,IAAI8E,EAAa3iC,SAGtB3D,EAAQ2D,QAAUs0C,GAIZ,SAAUl4C,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQwwC,WAAQ9vC,EAElC,IAAI0L,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEf6nB,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCqR,EAASjrC,EAAoB,IAE7BkrC,EAAUzR,EAAuBwR,GAEjCE,EAAanrC,EAAoB,IAEjCorC,EAAc3R,EAAuB0R,GAErCvO,EAAY58B,EAAoB,GAEhC68B,EAAYpD,EAAuBmD,GAEnCM,EAAUl9B,EAAoB,IAE9Bm9B,EAAW1D,EAAuByD,GAEtC,SAASzD,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASic,EAAmBxY,GAAO,GAAIwB,MAAM2E,QAAQnG,GAAM,CAAE,IAAK,IAAI2E,EAAI,EAAGyB,EAAO5E,MAAMxB,EAAII,QAASuE,EAAI3E,EAAII,OAAQuE,IAAOyB,EAAKzB,GAAK3E,EAAI2E,GAAM,OAAOyB,EAAe,OAAO5E,MAAMvB,KAAKD,GAE1L,SAAS2Z,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,IAAI0oC,GAAQ,EAAIJ,EAASnmC,SAAS,mBAE9B6sC,EAAQ,SAASA,EAAMnuC,GACzB,IAAI4C,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAEjFoW,EAAgB7c,KAAM6uC,GAEtB7uC,KAAKU,MAAQA,EACbV,KAAKsD,OAASA,GAGZi1C,EAAY,WACd,SAASA,EAAUrP,EAAQD,GACzB,IAAItL,EAAQ39B,KAEZ6c,EAAgB7c,KAAMu4C,GAEtBv4C,KAAKipC,QAAUA,EACfjpC,KAAKkpC,OAASA,EACdlpC,KAAKw4C,WAAY,EACjBx4C,KAAKy4C,WAAY,EACjBz4C,KAAKsL,KAAOtL,KAAKkpC,OAAOvD,QACxB3lC,KAAK04C,OAAS7T,EAAY7iC,QAAQm6B,OAAO,SAAUn8B,MAEnDA,KAAKiqC,UAAYjqC,KAAK24C,WAAa,IAAI9J,EAAM,EAAG,GAChD7uC,KAAK44C,oBACL54C,KAAK64C,iBACL74C,KAAKipC,QAAQ6P,UAAU,kBAAmB7zC,UAAU,WAC7C04B,EAAM8a,WACT1xC,WAAW42B,EAAMwM,OAAOwI,KAAKhV,EAAOkK,EAAU7lC,QAAQ0pC,QAAQoD,MAAO,MAGzE9uC,KAAKipC,QAAQ/8B,GAAG27B,EAAU7lC,QAAQynC,OAAOC,eAAe,SAAU3nC,EAAM+/B,GAClE//B,IAAS8lC,EAAU7lC,QAAQynC,OAAOE,aAAe7H,EAAMx+B,SAAW,GACpEq6B,EAAMwM,OAAOtC,EAAU7lC,QAAQ0pC,QAAQK,WAG3C/rC,KAAKipC,QAAQ/8B,GAAG27B,EAAU7lC,QAAQynC,OAAOwI,sBAAsB,WAC7D,GAAKtU,EAAM6P,WAAX,CACA,IAAIuL,EAASpb,EAAMqb,iBACL,MAAVD,GACAA,EAAOnwC,MAAMyiB,OAASsS,EAAM+a,OAAOO,UAEvCtb,EAAMsL,QAAQ9hC,KAAK0gC,EAAU7lC,QAAQynC,OAAOK,eAAe,WACzD,IACEnM,EAAMub,eAAeH,EAAOnwC,MAAMyiB,KAAM0tB,EAAOnwC,MAAMsX,OAAQ64B,EAAOlwC,IAAIwiB,KAAM0tB,EAAOlwC,IAAIqX,QACzF,MAAOi5B,YAGbn5C,KAAKipC,QAAQ/8B,GAAG27B,EAAU7lC,QAAQynC,OAAOyI,iBAAiB,SAAUlI,EAAWzjC,GAC7E,GAAIA,EAAQ8c,MAAO,CACjB,IAAI+1B,EAAiB7yC,EAAQ8c,MACzBg2B,EAAYD,EAAeC,UAC3BC,EAAcF,EAAeE,YAC7BC,EAAUH,EAAeG,QACzBC,EAAYJ,EAAeI,UAE/B7b,EAAMub,eAAeG,EAAWC,EAAaC,EAASC,OAG1Dx5C,KAAKmqC,OAAOtC,EAAU7lC,QAAQ0pC,QAAQK,QA8WxC,OA3WAxuB,EAAag7B,EAAW,CAAC,CACvB53C,IAAK,oBACL1B,MAAO,WACL,IAAIsnC,EAASvmC,KAEbA,KAAKsL,KAAK+lC,iBAAiB,oBAAoB,WAC7C9K,EAAOiS,WAAY,KAErBx4C,KAAKsL,KAAK+lC,iBAAiB,kBAAkB,WAE3C,GADA9K,EAAOiS,WAAY,EACfjS,EAAOmS,OAAOlpB,OAAQ,CACxB,IAAInM,EAAQkjB,EAAOmS,OAAOe,UAC1B,IAAKp2B,EAAO,OACZtc,YAAW,WACTw/B,EAAO2S,eAAe71B,EAAMg2B,UAAWh2B,EAAMi2B,YAAaj2B,EAAMk2B,QAASl2B,EAAMm2B,aAC9E,SAIR,CACD74C,IAAK,iBACL1B,MAAO,WACL,IAAI+rC,EAAShrC,KAEbA,KAAKipC,QAAQ6P,UAAU,YAAa7zC,SAAS2tB,MAAM,WACjDoY,EAAOyN,WAAY,KAErBz4C,KAAKipC,QAAQ6P,UAAU,UAAW7zC,SAAS2tB,MAAM,WAC/CoY,EAAOyN,WAAY,EACnBzN,EAAOb,OAAOtC,EAAU7lC,QAAQ0pC,QAAQoD,WAG3C,CACDnuC,IAAK,QACL1B,MAAO,WACDe,KAAKwtC,aACTxtC,KAAKsL,KAAKigC,QACVvrC,KAAK+qC,SAAS/qC,KAAK24C,eAEpB,CACDh4C,IAAK,SACL1B,MAAO,SAAgBy6C,EAASz6C,GAC9B,GAA6B,MAAzBe,KAAKkpC,OAAOC,WAAsBnpC,KAAKkpC,OAAOC,UAAUuQ,GAA5D,CACA15C,KAAKkpC,OAAOiB,SACZ,IAAIwP,EAAc35C,KAAKg5C,iBACvB,GAAmB,MAAfW,GAAwBA,EAAYZ,OAAOa,YAAa/U,EAAY7iC,QAAQq6B,MAAMqd,EAAS7U,EAAY7iC,QAAQk6B,MAAMwC,OAAzH,CACA,GAAIib,EAAY/wC,MAAMyiB,OAASrrB,KAAK04C,OAAOO,SAAU,CACnD,IAAI3a,EAAOuG,EAAY7iC,QAAQo6B,KAAKud,EAAY/wC,MAAMyiB,MAAM,GAC5D,GAAY,MAARiT,EAAc,OAElB,GAAIA,aAAgBuG,EAAY7iC,QAAQy6B,KAAM,CAC5C,IAAIod,EAAQvb,EAAKjd,MAAMs4B,EAAY/wC,MAAMsX,QACzCoe,EAAK9O,OAAO2W,aAAanmC,KAAK04C,OAAQmB,QAEtCvb,EAAK6H,aAAanmC,KAAK04C,OAAQiB,EAAY/wC,MAAMyiB,MAEnDrrB,KAAK04C,OAAOoB,SAEd95C,KAAK04C,OAAOrf,OAAOqgB,EAASz6C,GAC5Be,KAAKkpC,OAAOqM,WACZv1C,KAAKk5C,eAAel5C,KAAK04C,OAAOO,SAAUj5C,KAAK04C,OAAOO,SAAS/2C,KAAKoB,QACpEtD,KAAKmqC,aAEN,CACDxpC,IAAK,YACL1B,MAAO,SAAmByB,GACxB,IAAI4C,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAE7EgwC,EAAez2C,KAAKkpC,OAAO5lC,SAC/B5C,EAAQ05B,KAAK2H,IAAIrhC,EAAO+1C,EAAe,GACvCnzC,EAAS82B,KAAK2H,IAAIrhC,EAAQ4C,EAAQmzC,EAAe,GAAK/1C,EACtD,IAAI2qB,OAAO,EACP0uB,EAAe/5C,KAAKkpC,OAAOxC,KAAKhmC,GAChCs5C,EAAgBvvC,EAAesvC,EAAc,GAC7CrT,EAAOsT,EAAc,GACrB95B,EAAS85B,EAAc,GAC3B,GAAY,MAARtT,EAAc,OAAO,KAEzB,IAAIuT,EAAiBvT,EAAKjoB,SAASyB,GAAQ,GAEvCg6B,EAAkBzvC,EAAewvC,EAAgB,GAErD5uB,EAAO6uB,EAAgB,GACvBh6B,EAASg6B,EAAgB,GAEzB,IAAI72B,EAAQpe,SAASk1C,cACrB,GAAI72C,EAAS,EAAG,CACd+f,EAAM+2B,SAAS/uB,EAAMnL,GAErB,IAAIm6B,EAAgBr6C,KAAKkpC,OAAOxC,KAAKhmC,EAAQ4C,GAEzCg3C,EAAgB7vC,EAAe4vC,EAAe,GAKlD,GAHA3T,EAAO4T,EAAc,GACrBp6B,EAASo6B,EAAc,GAEX,MAAR5T,EAAc,OAAO,KAEzB,IAAI6T,EAAkB7T,EAAKjoB,SAASyB,GAAQ,GAExCs6B,EAAkB/vC,EAAe8vC,EAAiB,GAMtD,OAJAlvB,EAAOmvB,EAAgB,GACvBt6B,EAASs6B,EAAgB,GAEzBn3B,EAAMo3B,OAAOpvB,EAAMnL,GACZmD,EAAMmpB,wBAEb,IAAIkO,EAAO,OACPC,OAAO,EAeX,OAdItvB,aAAgByR,MACd5c,EAASmL,EAAKnpB,KAAKoB,QACrB+f,EAAM+2B,SAAS/uB,EAAMnL,GACrBmD,EAAMo3B,OAAOpvB,EAAMnL,EAAS,KAE5BmD,EAAM+2B,SAAS/uB,EAAMnL,EAAS,GAC9BmD,EAAMo3B,OAAOpvB,EAAMnL,GACnBw6B,EAAO,SAETC,EAAOt3B,EAAMmpB,0BAEbmO,EAAOjU,EAAKf,QAAQ6G,wBAChBtsB,EAAS,IAAGw6B,EAAO,UAElB,CACLjO,OAAQkO,EAAKjO,IAAMiO,EAAK51C,OACxBA,OAAQ41C,EAAK51C,OACb4nC,KAAMgO,EAAKD,GACX9N,MAAO+N,EAAKD,GACZhO,IAAKiO,EAAKjO,IACV5nC,MAAO,KAIZ,CACDnE,IAAK,iBACL1B,MAAO,WACL,IAAI84B,EAAY9yB,SAAS0mC,eACzB,GAAiB,MAAb5T,GAAqBA,EAAU6iB,YAAc,EAAG,OAAO,KAC3D,IAAIjB,EAAc5hB,EAAU8iB,WAAW,GACvC,GAAmB,MAAflB,EAAqB,OAAO,KAChC,IAAIt2B,EAAQrjB,KAAK86C,gBAAgBnB,GAEjC,OADApR,EAAM/mB,KAAK,iBAAkB6B,GACtBA,IAER,CACD1iB,IAAK,WACL1B,MAAO,WACL,IAAI87C,EAAa/6C,KAAKg5C,iBACtB,GAAkB,MAAd+B,EAAoB,MAAO,CAAC,KAAM,MACtC,IAAI13B,EAAQrjB,KAAKg7C,kBAAkBD,GACnC,MAAO,CAAC13B,EAAO03B,KAEhB,CACDp6C,IAAK,WACL1B,MAAO,WACL,OAAOgG,SAASg2C,gBAAkBj7C,KAAKsL,OAExC,CACD3K,IAAK,oBACL1B,MAAO,SAA2BokB,GAChC,IAAIooB,EAASzrC,KAETk7C,EAAY,CAAC,CAAC73B,EAAMza,MAAMyiB,KAAMhI,EAAMza,MAAMsX,SAC3CmD,EAAM01B,OAAOa,WAChBsB,EAAU33C,KAAK,CAAC8f,EAAMxa,IAAIwiB,KAAMhI,EAAMxa,IAAIqX,SAE5C,IAAIi7B,EAAUD,EAAUvwC,KAAI,SAAU8T,GACpC,IAAI28B,EAAY3wC,EAAegU,EAAU,GACrC4M,EAAO+vB,EAAU,GACjBl7B,EAASk7B,EAAU,GAEnB9c,EAAOuG,EAAY7iC,QAAQo6B,KAAK/Q,GAAM,GACtC3qB,EAAQ49B,EAAKpe,OAAOurB,EAAOvC,QAC/B,OAAe,IAAXhpB,EACKxf,EACE49B,aAAgBuG,EAAY7iC,QAAQu6B,UACtC77B,EAAQ49B,EAAKh7B,SAEb5C,EAAQ49B,EAAK59B,MAAM2qB,EAAMnL,MAGhCrX,EAAMuxB,KAAK2H,IAAI3H,KAAKgW,IAAI1pC,MAAM0zB,KAAM1e,EAAmBy/B,IAAWn7C,KAAKkpC,OAAO5lC,SAAW,GACzFsF,EAAQwxB,KAAK2H,IAAIr7B,MAAM0zB,KAAM,CAACvxB,GAAKs5B,OAAOzmB,EAAmBy/B,KACjE,OAAO,IAAItM,EAAMjmC,EAAOC,EAAMD,KAE/B,CACDjI,IAAK,kBACL1B,MAAO,SAAyB06C,GAC9B,IAAK5L,EAAS/tC,KAAKsL,KAAMquC,EAAY0B,kBAAoB1B,EAAYC,YAAc7L,EAAS/tC,KAAKsL,KAAMquC,EAAY2B,cACjH,OAAO,KAET,IAAIj4B,EAAQ,CACVza,MAAO,CAAEyiB,KAAMsuB,EAAY0B,eAAgBn7B,OAAQy5B,EAAYL,aAC/DzwC,IAAK,CAAEwiB,KAAMsuB,EAAY2B,aAAcp7B,OAAQy5B,EAAYH,WAC3DT,OAAQY,GAkBV,MAhBA,CAACt2B,EAAMza,MAAOya,EAAMxa,KAAK8K,SAAQ,SAAU8K,GACzC,IAAI4M,EAAO5M,EAAS4M,KAChBnL,EAASzB,EAASyB,OACtB,QAASmL,aAAgByR,OAASzR,EAAKkwB,WAAWj4C,OAAS,EACzD,GAAI+nB,EAAKkwB,WAAWj4C,OAAS4c,EAC3BmL,EAAOA,EAAKkwB,WAAWr7B,GACvBA,EAAS,MACJ,IAAImL,EAAKkwB,WAAWj4C,SAAW4c,EAIpC,MAHAmL,EAAOA,EAAKmwB,UACZt7B,EAASmL,aAAgByR,KAAOzR,EAAKnpB,KAAKoB,OAAS+nB,EAAKkwB,WAAWj4C,OAAS,EAKhFmb,EAAS4M,KAAOA,EAAM5M,EAASyB,OAASA,KAEnCmD,IAER,CACD1iB,IAAK,gBACL1B,MAAO,SAAuBokB,GAC5B,IAAI2oB,EAAShsC,KAETm7C,EAAU93B,EAAMu2B,UAAY,CAACv2B,EAAM3iB,OAAS,CAAC2iB,EAAM3iB,MAAO2iB,EAAM3iB,MAAQ2iB,EAAM/f,QAC9EkD,EAAO,GACPiwC,EAAez2C,KAAKkpC,OAAO5lC,SAoB/B,OAnBA63C,EAAQxnC,SAAQ,SAAUjT,EAAOmH,GAC/BnH,EAAQ05B,KAAK2H,IAAI0U,EAAe,EAAG/1C,GACnC,IAAI2qB,OAAO,EACPowB,EAAgBzP,EAAO9C,OAAOxC,KAAKhmC,GACnCg7C,EAAgBjxC,EAAegxC,EAAe,GAC9C/U,EAAOgV,EAAc,GACrBx7B,EAASw7B,EAAc,GACvBC,EAAkBjV,EAAKjoB,SAASyB,EAAc,IAANrY,GAExC+zC,EAAkBnxC,EAAekxC,EAAiB,GAEtDtwB,EAAOuwB,EAAgB,GACvB17B,EAAS07B,EAAgB,GAEzBp1C,EAAKjD,KAAK8nB,EAAMnL,MAEd1Z,EAAKlD,OAAS,IAChBkD,EAAOA,EAAK27B,OAAO37B,IAEdA,IAER,CACD7F,IAAK,iBACL1B,MAAO,SAAwB+pC,GAC7B,IAAI3lB,EAAQrjB,KAAKiqC,UACjB,GAAa,MAAT5mB,EAAJ,CACA,IAAI0K,EAAS/tB,KAAKssC,UAAUjpB,EAAM3iB,MAAO2iB,EAAM/f,QAC/C,GAAc,MAAVyqB,EAAJ,CACA,IAAI0c,EAAQzqC,KAAKkpC,OAAO5lC,SAAW,EAE/BszC,EAAe52C,KAAKkpC,OAAOrG,KAAKzI,KAAK2H,IAAI1e,EAAM3iB,MAAO+pC,IACtDoM,EAAgBpsC,EAAemsC,EAAc,GAC7CiF,EAAQhF,EAAc,GAEtBx7B,EAAOwgC,EACX,GAAIx4B,EAAM/f,OAAS,EAAG,CACpB,IAAIo0C,EAAgB13C,KAAKkpC,OAAOrG,KAAKzI,KAAK2H,IAAI1e,EAAM3iB,MAAQ2iB,EAAM/f,OAAQmnC,IAEtEkN,EAAgBltC,EAAeitC,EAAe,GAElDr8B,EAAOs8B,EAAc,GAEvB,GAAa,MAATkE,GAAyB,MAARxgC,EAArB,CACA,IAAIygC,EAAe9S,EAAmBwD,wBAClCze,EAAO2e,IAAMoP,EAAapP,IAC5B1D,EAAmBsC,WAAawQ,EAAapP,IAAM3e,EAAO2e,IACjD3e,EAAO0e,OAASqP,EAAarP,SACtCzD,EAAmBsC,WAAavd,EAAO0e,OAASqP,EAAarP,aAGhE,CACD9rC,IAAK,iBACL1B,MAAO,SAAwBo6C,EAAWC,GACxC,IAAIC,EAAU9yC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK4yC,EAC9EG,EAAY/yC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK6yC,EAChFtS,EAAQvgC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAG3E,GADA8hC,EAAM/mB,KAAK,iBAAkB63B,EAAWC,EAAaC,EAASC,GAC7C,MAAbH,GAA8C,MAAxBr5C,KAAKsL,KAAKizB,YAA8C,MAAxB8a,EAAU9a,YAA4C,MAAtBgb,EAAQhb,WAAlG,CAGA,IAAIxG,EAAY9yB,SAAS0mC,eACzB,GAAiB,MAAb5T,EACJ,GAAiB,MAAbshB,EAAmB,CAChBr5C,KAAKwtC,YAAYxtC,KAAKsL,KAAKigC,QAChC,IAAIwN,GAAU/4C,KAAKg5C,kBAAoB,IAAID,OAC3C,GAAc,MAAVA,GAAkB/R,GAASqS,IAAcN,EAAOsC,gBAAkB/B,IAAgBP,EAAOO,aAAeC,IAAYR,EAAOuC,cAAgB9B,IAAcT,EAAOS,UAAW,CAEpJ,MAArBH,EAAUta,UACZua,EAAc,GAAGlxC,QAAQjJ,KAAKk6C,EAAU9a,WAAWgd,WAAYlC,GAC/DA,EAAYA,EAAU9a,YAED,MAAnBgb,EAAQxa,UACVya,EAAY,GAAGpxC,QAAQjJ,KAAKo6C,EAAQhb,WAAWgd,WAAYhC,GAC3DA,EAAUA,EAAQhb,YAEpB,IAAIlb,EAAQpe,SAASk1C,cACrB92B,EAAM+2B,SAASf,EAAWC,GAC1Bj2B,EAAMo3B,OAAOlB,EAASC,GACtBzhB,EAAUgkB,kBACVhkB,EAAUikB,SAAS34B,SAGrB0U,EAAUgkB,kBACV/7C,KAAKsL,KAAK2wC,OACVh3C,SAAS2tB,KAAK2Y,WAGjB,CACD5qC,IAAK,WACL1B,MAAO,SAAkBokB,GACvB,IAAI2jB,EAAQvgC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GACvEsjC,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKohC,EAAU7lC,QAAQ0pC,QAAQ7xB,IAO3G,GALqB,kBAAVmtB,IACT+C,EAAS/C,EACTA,GAAQ,GAEVuB,EAAM/mB,KAAK,WAAY6B,GACV,MAATA,EAAe,CACjB,IAAI7c,EAAOxG,KAAKk8C,cAAc74B,GAC9BrjB,KAAKk5C,eAAexyC,MAAM1G,KAAM0b,EAAmBlV,GAAM27B,OAAO,CAAC6E,UAEjEhnC,KAAKk5C,eAAe,MAEtBl5C,KAAKmqC,OAAOJ,KAEb,CACDppC,IAAK,SACL1B,MAAO,WACL,IAAI8qC,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKohC,EAAU7lC,QAAQ0pC,QAAQoD,KAEvGqN,EAAWn8C,KAAKiqC,UAEhBmS,EAAYp8C,KAAKotC,WACjBiP,EAAa5xC,EAAe2xC,EAAW,GACvCnS,EAAYoS,EAAW,GACvB1C,EAAc0C,EAAW,GAM7B,GAJAr8C,KAAKiqC,UAAYA,EACK,MAAlBjqC,KAAKiqC,YACPjqC,KAAK24C,WAAa34C,KAAKiqC,aAEpB,EAAImM,EAAYp0C,SAASm6C,EAAUn8C,KAAKiqC,WAAY,CACvD,IAAI4F,GAEC7vC,KAAKw4C,WAA4B,MAAfmB,GAAuBA,EAAYZ,OAAOa,WAAaD,EAAY/wC,MAAMyiB,OAASrrB,KAAK04C,OAAOO,UACnHj5C,KAAK04C,OAAOe,UAEd,IAGM3J,EAHFtpC,EAAO,CAACqhC,EAAU7lC,QAAQynC,OAAO0I,kBAAkB,EAAI+D,EAAQl0C,SAAShC,KAAKiqC,YAAY,EAAIiM,EAAQl0C,SAASm6C,GAAWpS,GAE7H,IADC8F,EAAW7vC,KAAKipC,SAAS8G,KAAKrpC,MAAMmpC,EAAU,CAAChI,EAAU7lC,QAAQynC,OAAOC,eAAevH,OAAO37B,IAC3FujC,IAAWlC,EAAU7lC,QAAQ0pC,QAAQK,QAGtC+D,EAAY9vC,KAAKipC,SAAS8G,KAAKrpC,MAAMopC,EAAWtpC,QAMlD+xC,EA/ZO,GAkahB,SAASxK,EAASve,EAAQilB,GACxB,IAEEA,EAAWlW,WACX,MAAOj/B,GACP,OAAO,EAOT,OAHIm1C,aAAsB3X,OACxB2X,EAAaA,EAAWlW,YAEnB/O,EAAOue,SAAS0G,GAGzBp2C,EAAQwwC,MAAQA,EAChBxwC,EAAQ2D,QAAUu2C,GAIZ,SAAUn6C,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI8W,EAAQ,SAAU5W,GAGpB,SAAS4W,IAGP,OAFAz/B,EAAgB7c,KAAMs8C,GAEflX,EAA2BplC,MAAOs8C,EAAM/e,WAAa/+B,OAAO8lC,eAAegY,IAAQ51C,MAAM1G,KAAMyG,YA6BxG,OAlCA6+B,EAAUgX,EAAO5W,GAQjBnoB,EAAa++B,EAAO,CAAC,CACnB37C,IAAK,aACL1B,MAAO,SAAoBuwB,EAAQ3jB,GACF,IAA3B2jB,EAAO9Y,SAASpT,OAClB6gC,EAAKmY,EAAM79C,UAAU8+B,WAAa/+B,OAAO8lC,eAAegY,EAAM79C,WAAY,aAAcuB,MAAMb,KAAKa,KAAMwvB,EAAQ3jB,GAEjH7L,KAAK8mC,WAGR,CACDnmC,IAAK,SACL1B,MAAO,WACL,OAAO,IAER,CACD0B,IAAK,QACL1B,MAAO,WACL,MAAO,MAEP,CAAC,CACH0B,IAAK,QACL1B,MAAO,gBAKFq9C,EAnCG,CAoCVzX,EAAY7iC,QAAQ06B,OAEtB4f,EAAMld,SAAW,QACjBkd,EAAMvd,QAAU,KAEhB1gC,EAAQ2D,QAAUs6C,GAIZ,SAAUl+C,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIs9C,EAAgBvxC,EAAoB,IACpCwxC,EAAWxxC,EAAoB,IAC/BgxB,EAAWhxB,EAAoB,GAC/ByxC,EAA+B,SAAU/e,GAEzC,SAAS+e,EAAc9W,GACnB,IAAIhI,EAAQD,EAAOv+B,KAAKa,KAAM2lC,IAAY3lC,KAE1C,OADA29B,EAAM+e,QACC/e,EAwNX,OA5NAP,EAAUqf,EAAe/e,GAMzB+e,EAAch+C,UAAU20B,YAAc,SAAUkO,GAC5CthC,KAAKmmC,aAAa7E,IAEtBmb,EAAch+C,UAAUq7C,OAAS,WAC7Bpc,EAAOj/B,UAAUq7C,OAAO36C,KAAKa,MAC7BA,KAAK0W,SAAS/C,SAAQ,SAAUozB,GAC5BA,EAAM+S,aAGd2C,EAAch+C,UAAUi+C,MAAQ,WAC5B,IAAI/e,EAAQ39B,KACZA,KAAK0W,SAAW,IAAI6lC,EAAcv6C,QAElC,GAAG2B,MACExE,KAAKa,KAAK2lC,QAAQ4V,YAClBnG,UACAzhC,SAAQ,SAAU0X,GACnB,IACI,IAAI0b,EAAQ4V,EAAStxB,GACrBsS,EAAMwI,aAAaY,EAAOpJ,EAAMjnB,SAASmc,WAAQ9zB,GAErD,MAAOsf,GACH,GAAIA,aAAe2d,EAASyB,eACxB,OAEA,MAAMpf,OAItBo+B,EAAch+C,UAAUk2C,SAAW,SAAUj0C,EAAO4C,GAChD,GAAc,IAAV5C,GAAe4C,IAAWtD,KAAKsD,SAC/B,OAAOtD,KAAK8mC,SAEhB9mC,KAAK0W,SAASkmC,UAAUl8C,EAAO4C,GAAQ,SAAUyjC,EAAO7mB,EAAQ5c,GAC5DyjC,EAAM4N,SAASz0B,EAAQ5c,OAG/Bm5C,EAAch+C,UAAUg2C,WAAa,SAAUoI,EAAUn8C,GACrD,IAAIo8C,EAAK98C,KAAK0W,SAAS0lB,KAAK17B,GAAQqmC,EAAQ+V,EAAG,GAAI58B,EAAS48B,EAAG,GAC/D,OAA0B,MAArBD,EAASzd,UAAoByd,EAAS9V,IACjB,MAArB8V,EAASzd,UAAoB2H,aAAiB8V,EACxC,CAAC9V,EAAO7mB,GAEV6mB,aAAiB0V,EACf1V,EAAM0N,WAAWoI,EAAU38B,GAG3B,CAAC,MAAO,IAGvBu8B,EAAch+C,UAAUgoC,YAAc,SAAUoW,EAAUn8C,EAAO4C,QAC/C,IAAV5C,IAAoBA,EAAQ,QACjB,IAAX4C,IAAqBA,EAAS4pC,OAAOC,WACzC,IAAI1G,EAAc,GACdsW,EAAaz5C,EAWjB,OAVAtD,KAAK0W,SAASkmC,UAAUl8C,EAAO4C,GAAQ,SAAUyjC,EAAOrmC,EAAO4C,IACjC,MAArBu5C,EAASzd,UAAoByd,EAAS9V,IACjB,MAArB8V,EAASzd,UAAoB2H,aAAiB8V,IAC/CpW,EAAYljC,KAAKwjC,GAEjBA,aAAiB0V,IACjBhW,EAAcA,EAAYtE,OAAO4E,EAAMN,YAAYoW,EAAUn8C,EAAOq8C,KAExEA,GAAcz5C,KAEXmjC,GAEXgW,EAAch+C,UAAUu+C,OAAS,WAC7Bh9C,KAAK0W,SAAS/C,SAAQ,SAAUozB,GAC5BA,EAAMiW,YAEVtf,EAAOj/B,UAAUu+C,OAAO79C,KAAKa,OAEjCy8C,EAAch+C,UAAUu2C,SAAW,SAAUt0C,EAAO4C,EAAQ+G,EAAMpL,GAC9De,KAAK0W,SAASkmC,UAAUl8C,EAAO4C,GAAQ,SAAUyjC,EAAO7mB,EAAQ5c,GAC5DyjC,EAAMiO,SAAS90B,EAAQ5c,EAAQ+G,EAAMpL,OAG7Cw9C,EAAch+C,UAAU2nC,SAAW,SAAU1lC,EAAOzB,EAAO+mC,GACvD,IAAI8W,EAAK98C,KAAK0W,SAAS0lB,KAAK17B,GAAQqmC,EAAQ+V,EAAG,GAAI58B,EAAS48B,EAAG,GAC/D,GAAI/V,EACAA,EAAMX,SAASlmB,EAAQjhB,EAAO+mC,OAE7B,CACD,IAAI1H,EAAc,MAAP0H,EAAchK,EAASG,OAAO,OAAQl9B,GAAS+8B,EAASG,OAAOl9B,EAAO+mC,GACjFhmC,KAAKozB,YAAYkL,KAGzBme,EAAch+C,UAAU0nC,aAAe,SAAU8W,EAAWC,GACxD,GAAoC,MAAhCl9C,KAAKinC,QAAQE,kBACZnnC,KAAKinC,QAAQE,gBAAgBnmC,MAAK,SAAU+lC,GACzC,OAAOkW,aAAqBlW,KAEhC,MAAM,IAAI/K,EAASyB,eAAe,iBAAmBwf,EAAUhW,QAAQ7H,SAAW,SAAWp/B,KAAKinC,QAAQ7H,UAE9G6d,EAAUE,WAAWn9C,KAAMk9C,IAE/BT,EAAch+C,UAAU6E,OAAS,WAC7B,OAAOtD,KAAK0W,SAASoqB,QAAO,SAAUsc,EAAMrW,GACxC,OAAOqW,EAAOrW,EAAMzjC,WACrB,IAEPm5C,EAAch+C,UAAUkyC,aAAe,SAAU0M,EAAcvS,GAC3D9qC,KAAK0W,SAAS/C,SAAQ,SAAUozB,GAC5BsW,EAAalX,aAAaY,EAAO+D,OAGzC2R,EAAch+C,UAAU82C,SAAW,SAAUhvC,GAEzC,GADAm3B,EAAOj/B,UAAU82C,SAASp2C,KAAKa,KAAMuG,GACR,IAAzBvG,KAAK0W,SAASpT,OACd,GAAiC,MAA7BtD,KAAKinC,QAAQC,aAAsB,CACnC,IAAIH,EAAQ/K,EAASG,OAAOn8B,KAAKinC,QAAQC,cACzClnC,KAAKozB,YAAY2T,GACjBA,EAAMwO,SAAShvC,QAGfvG,KAAK8mC,UAIjB2V,EAAch+C,UAAUwL,KAAO,SAAUvJ,EAAO48C,QAC1B,IAAdA,IAAwBA,GAAY,GACxC,IAAIR,EAAK98C,KAAK0W,SAAS0lB,KAAK17B,EAAO48C,GAAYvW,EAAQ+V,EAAG,GAAI58B,EAAS48B,EAAG,GACtEr+B,EAAW,CAAC,CAACze,KAAMU,IACvB,OAAIqmC,aAAiB0V,EACVh+B,EAAS0jB,OAAO4E,EAAM98B,KAAKiW,EAAQo9B,KAE5B,MAATvW,GACLtoB,EAASlb,KAAK,CAACwjC,EAAO7mB,IAEnBzB,IAEXg+B,EAAch+C,UAAU+2C,YAAc,SAAUzO,GAC5C/mC,KAAK0W,SAASowB,OAAOC,IAEzB0V,EAAch+C,UAAUs1C,QAAU,SAAU92B,GACpCA,aAAkBw/B,GAClBx/B,EAAO0zB,aAAa3wC,MAExB09B,EAAOj/B,UAAUs1C,QAAQ50C,KAAKa,KAAMid,IAExCw/B,EAAch+C,UAAU4iB,MAAQ,SAAU3gB,EAAOsmC,GAE7C,QADc,IAAVA,IAAoBA,GAAQ,IAC3BA,EAAO,CACR,GAAc,IAAVtmC,EACA,OAAOV,KACX,GAAIU,IAAUV,KAAKsD,SACf,OAAOtD,KAAKsqB,KAEpB,IAAIuvB,EAAQ75C,KAAK8jC,QAMjB,OALA9jC,KAAKwvB,OAAO2W,aAAa0T,EAAO75C,KAAKsqB,MACrCtqB,KAAK0W,SAASkmC,UAAUl8C,EAAOV,KAAKsD,UAAU,SAAUyjC,EAAO7mB,EAAQ5c,GACnEyjC,EAAQA,EAAM1lB,MAAMnB,EAAQ8mB,GAC5B6S,EAAMzmB,YAAY2T,MAEf8S,GAEX4C,EAAch+C,UAAUg3C,OAAS,WAC7Bz1C,KAAK2wC,aAAa3wC,KAAKwvB,OAAQxvB,KAAKsqB,MACpCtqB,KAAK8mC,UAET2V,EAAch+C,UAAU0rC,OAAS,SAAUH,EAAWzjC,GAClD,IAAIo3B,EAAQ39B,KACRu9C,EAAa,GACbC,EAAe,GACnBxT,EAAUr2B,SAAQ,SAAU8pC,GACpBA,EAASxgC,SAAW0gB,EAAMgI,SAA6B,cAAlB8X,EAAS17C,OAC9Cw7C,EAAWh6C,KAAKmD,MAAM62C,EAAYE,EAASF,YAC3CC,EAAaj6C,KAAKmD,MAAM82C,EAAcC,EAASD,kBAGvDA,EAAa7pC,SAAQ,SAAU0X,GAI3B,KAAuB,MAAnBA,EAAKkT,YAEY,WAAjBlT,EAAK0T,SACL95B,SAAS2tB,KAAK8qB,wBAAwBryB,GAAQ6S,KAAKyf,gCAHvD,CAMA,IAAIrf,EAAOtC,EAASI,KAAK/Q,GACb,MAARiT,IAE2B,MAA3BA,EAAKqH,QAAQpH,YAAsBD,EAAKqH,QAAQpH,aAAeZ,EAAMgI,SACrErH,EAAK0e,cAGbO,EACKlpC,QAAO,SAAUgX,GAClB,OAAOA,EAAKkT,YAAcZ,EAAMgI,WAE/BgO,MAAK,SAAU/hB,EAAGC,GACnB,OAAID,IAAMC,EACC,EACPD,EAAE8rB,wBAAwB7rB,GAAKqM,KAAK0f,4BAC7B,GAEH,KAEPjqC,SAAQ,SAAU0X,GACnB,IAAI6xB,EAAU,KACU,MAApB7xB,EAAKwyB,cACLX,EAAUlhB,EAASI,KAAK/Q,EAAKwyB,cAEjC,IAAIvf,EAAOqe,EAAStxB,GAChBiT,EAAKhU,MAAQ4yB,GAAwB,MAAb5e,EAAKhU,OACV,MAAfgU,EAAK9O,QACL8O,EAAK9O,OAAOgmB,YAAY7X,GAE5BA,EAAMwI,aAAa7H,EAAM4e,QAAWn+C,QAIzC09C,EA7NuB,CA8NhCD,EAASx6C,SACX,SAAS26C,EAAStxB,GACd,IAAIiT,EAAOtC,EAASI,KAAK/Q,GACzB,GAAY,MAARiT,EACA,IACIA,EAAOtC,EAASG,OAAO9Q,GAE3B,MAAO/rB,GACHg/B,EAAOtC,EAASG,OAAOH,EAASE,MAAMyC,QACtC,GAAGh7B,MAAMxE,KAAKksB,EAAKkwB,YAAY5nC,SAAQ,SAAUozB,GAE7CzI,EAAKqH,QAAQvS,YAAY2T,MAEzB1b,EAAKkT,YACLlT,EAAKkT,WAAWuf,aAAaxf,EAAKqH,QAASta,GAE/CiT,EAAKwb,SAGb,OAAOxb,EAEXjgC,EAAQ2D,QAAUy6C,GAKZ,SAAUr+C,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI28B,EAAe5wB,EAAoB,IACnC+wB,EAAU/wB,EAAoB,IAC9BowB,EAAcpwB,EAAoB,IAClCgxB,EAAWhxB,EAAoB,GAC/B+yC,EAA4B,SAAUrgB,GAEtC,SAASqgB,EAAWpY,GAChB,IAAIhI,EAAQD,EAAOv+B,KAAKa,KAAM2lC,IAAY3lC,KAE1C,OADA29B,EAAMC,WAAa,IAAI7B,EAAQ/5B,QAAQ27B,EAAMgI,SACtChI,EAmDX,OAvDAP,EAAU2gB,EAAYrgB,GAMtBqgB,EAAWnY,QAAU,SAAUD,GAC3B,MAA4B,kBAAjB3lC,KAAK++B,UAGPr6B,MAAM2E,QAAQrJ,KAAK++B,SACjB4G,EAAQ5G,QAAQif,mBADtB,IAKTD,EAAWt/C,UAAU46B,OAAS,SAAUhvB,EAAMpL,GAC1C,IAAIo6B,EAAS2C,EAASK,MAAMhyB,GACxBgvB,aAAkBuC,EAAa55B,QAC/BhC,KAAK49B,WAAWkI,UAAUzM,EAAQp6B,GAE7BA,IACS,MAAVo6B,GAAmBhvB,IAASrK,KAAKinC,QAAQ7H,UAAYp/B,KAAK4lC,UAAUv7B,KAAUpL,GAC9Ee,KAAKi+C,YAAY5zC,EAAMpL,KAInC8+C,EAAWt/C,UAAUmnC,QAAU,WAC3B,IAAIA,EAAU5lC,KAAK49B,WAAWiI,SAC1BxM,EAASr5B,KAAKinC,QAAQrB,QAAQ5lC,KAAK2lC,SAIvC,OAHc,MAAVtM,IACAuM,EAAQ5lC,KAAKinC,QAAQ7H,UAAY/F,GAE9BuM,GAEXmY,EAAWt/C,UAAUw/C,YAAc,SAAU5zC,EAAMpL,GAC/C,IAAIi/C,EAAcxgB,EAAOj/B,UAAUw/C,YAAY9+C,KAAKa,KAAMqK,EAAMpL,GAEhE,OADAe,KAAK49B,WAAWgG,KAAKsa,GACdA,GAEXH,EAAWt/C,UAAU0rC,OAAS,SAAUH,EAAWzjC,GAC/C,IAAIo3B,EAAQ39B,KACZ09B,EAAOj/B,UAAU0rC,OAAOhrC,KAAKa,KAAMgqC,EAAWzjC,GAC1CyjC,EAAUhpC,MAAK,SAAUy8C,GACzB,OAAOA,EAASxgC,SAAW0gB,EAAMgI,SAA6B,eAAlB8X,EAAS17C,SAErD/B,KAAK49B,WAAW8e,SAGxBqB,EAAWt/C,UAAUiyC,KAAO,SAAUrmC,EAAMpL,GACxC,IAAIk/C,EAAUzgB,EAAOj/B,UAAUiyC,KAAKvxC,KAAKa,KAAMqK,EAAMpL,GAIrD,OAHIk/C,aAAmBJ,GAAcI,EAAQlX,QAAQh4B,QAAUjP,KAAKinC,QAAQh4B,OACxEjP,KAAK49B,WAAWwgB,KAAKD,GAElBA,GAEJJ,EAxDoB,CAyD7B3iB,EAAYp5B,SACd3D,EAAQ2D,QAAU+7C,GAKZ,SAAU3/C,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIu9C,EAAWxxC,EAAoB,IAC/BgxB,EAAWhxB,EAAoB,GAC/BqzC,EAA0B,SAAU3gB,GAEpC,SAAS2gB,IACL,OAAkB,OAAX3gB,GAAmBA,EAAOh3B,MAAM1G,KAAMyG,YAAczG,KAuB/D,OAzBAo9B,EAAUihB,EAAU3gB,GAIpB2gB,EAASp/C,MAAQ,SAAU0mC,GACvB,OAAO,GAEX0Y,EAAS5/C,UAAUiC,MAAQ,SAAU2qB,EAAMnL,GACvC,OAAIlgB,KAAK2lC,UAAYta,GACjBrrB,KAAK2lC,QAAQ+X,wBAAwBryB,GAAQ6S,KAAKyf,+BAC3CvjB,KAAK2H,IAAI7hB,EAAQ,IAEpB,GAEZm+B,EAAS5/C,UAAUggB,SAAW,SAAU/d,EAAO48C,GAC3C,IAAIp9B,EAAS,GAAG9X,QAAQjJ,KAAKa,KAAKwvB,OAAOmW,QAAQ4V,WAAYv7C,KAAK2lC,SAGlE,OAFIjlC,EAAQ,IACRwf,GAAU,GACP,CAAClgB,KAAKwvB,OAAOmW,QAASzlB,IAEjCm+B,EAAS5/C,UAAUQ,MAAQ,WACvB,IAAI69C,EACJ,OAAOA,EAAK,GAAIA,EAAG98C,KAAKinC,QAAQ7H,UAAYp/B,KAAKinC,QAAQhoC,MAAMe,KAAK2lC,WAAY,EAAMmX,GAE1FuB,EAASpvC,MAAQ+sB,EAASE,MAAMoiB,YACzBD,EA1BkB,CA2B3B7B,EAASx6C,SACX3D,EAAQ2D,QAAUq8C,GAKZ,SAAUjgD,EAAQC,EAAS2M,GAEjC,IAAI20B,EAAQ30B,EAAoB,IAC5B40B,EAAS50B,EAAoB,GAG7BuzC,EAAM,CACR3gB,WAAY,CACVyD,QAAS,SAAUzP,EAAGC,EAAG2sB,GACN,kBAAN5sB,IAAgBA,EAAI,IACd,kBAANC,IAAgBA,EAAI,IAC/B,IAAI+L,EAAagC,GAAO,EAAM,GAAI/N,GASlC,IAAK,IAAIlxB,KARJ69C,IACH5gB,EAAap/B,OAAO0M,KAAK0yB,GAAYkD,QAAO,SAAU8C,EAAMjjC,GAI1D,OAHuB,MAAnBi9B,EAAWj9B,KACbijC,EAAKjjC,GAAOi9B,EAAWj9B,IAElBijC,IACN,KAEWhS,OACC7yB,IAAX6yB,EAAEjxB,SAAiC5B,IAAX8yB,EAAElxB,KAC5Bi9B,EAAWj9B,GAAOixB,EAAEjxB,IAGxB,OAAOnC,OAAO0M,KAAK0yB,GAAYt6B,OAAS,EAAIs6B,OAAa7+B,GAG3D2gC,KAAM,SAAS9N,EAAGC,GACC,kBAAND,IAAgBA,EAAI,IACd,kBAANC,IAAgBA,EAAI,IAC/B,IAAI+L,EAAap/B,OAAO0M,KAAK0mB,GAAGuQ,OAAO3jC,OAAO0M,KAAK2mB,IAAIiP,QAAO,SAAUlD,EAAYj9B,GAIlF,OAHKg/B,EAAM/N,EAAEjxB,GAAMkxB,EAAElxB,MACnBi9B,EAAWj9B,QAAkB5B,IAAX8yB,EAAElxB,GAAqB,KAAOkxB,EAAElxB,IAE7Ci9B,IACN,IACH,OAAOp/B,OAAO0M,KAAK0yB,GAAYt6B,OAAS,EAAIs6B,OAAa7+B,GAG3D+jC,UAAW,SAAUlR,EAAGC,EAAGkR,GACzB,GAAiB,kBAANnR,EAAgB,OAAOC,EAClC,GAAiB,kBAANA,EAAX,CACA,IAAKkR,EAAU,OAAOlR,EACtB,IAAI+L,EAAap/B,OAAO0M,KAAK2mB,GAAGiP,QAAO,SAAUlD,EAAYj9B,GAE3D,YADe5B,IAAX6yB,EAAEjxB,KAAoBi9B,EAAWj9B,GAAOkxB,EAAElxB,IACvCi9B,IACN,IACH,OAAOp/B,OAAO0M,KAAK0yB,GAAYt6B,OAAS,EAAIs6B,OAAa7+B,KAI7DW,SAAU,SAAUwgC,GAClB,OAAO,IAAIue,EAASve,IAGtB58B,OAAQ,SAAUu8B,GAChB,MAA4B,kBAAjBA,EAAG,UACLA,EAAG,UACoB,kBAAdA,EAAGS,OACZT,EAAGS,OAEkB,kBAAdT,EAAGM,OAAsBN,EAAGM,OAAO78B,OAAS,IAMhE,SAASm7C,EAASve,GAChBlgC,KAAKkgC,IAAMA,EACXlgC,KAAKU,MAAQ,EACbV,KAAKkgB,OAAS,EAGhBu+B,EAAShgD,UAAU0iC,QAAU,WAC3B,OAAOnhC,KAAK6hC,aAAe1H,KAG7BskB,EAAShgD,UAAU6rB,KAAO,SAAUhnB,GAC7BA,IAAQA,EAAS62B,KACtB,IAAIiH,EAASphC,KAAKkgC,IAAIlgC,KAAKU,OAC3B,GAAI0gC,EAAQ,CACV,IAAIlhB,EAASlgB,KAAKkgB,OACdqiB,EAAWgc,EAAIj7C,OAAO89B,GAQ1B,GAPI99B,GAAUi/B,EAAWriB,GACvB5c,EAASi/B,EAAWriB,EACpBlgB,KAAKU,OAAS,EACdV,KAAKkgB,OAAS,GAEdlgB,KAAKkgB,QAAU5c,EAEe,kBAArB89B,EAAO,UAChB,MAAO,CAAE,OAAU99B,GAEnB,IAAIo7C,EAAQ,GAYZ,OAXItd,EAAOxD,aACT8gB,EAAM9gB,WAAawD,EAAOxD,YAEC,kBAAlBwD,EAAOd,OAChBoe,EAAMpe,OAASh9B,EACmB,kBAAlB89B,EAAOjB,OACvBue,EAAMve,OAASiB,EAAOjB,OAAOwe,OAAOz+B,EAAQ5c,GAG5Co7C,EAAMve,OAASiB,EAAOjB,OAEjBue,EAGT,MAAO,CAAEpe,OAAQnG,MAIrBskB,EAAShgD,UAAUijC,KAAO,WACxB,OAAO1hC,KAAKkgC,IAAIlgC,KAAKU,QAGvB+9C,EAAShgD,UAAUojC,WAAa,WAC9B,OAAI7hC,KAAKkgC,IAAIlgC,KAAKU,OAET69C,EAAIj7C,OAAOtD,KAAKkgC,IAAIlgC,KAAKU,QAAUV,KAAKkgB,OAExCia,KAIXskB,EAAShgD,UAAUmjC,SAAW,WAC5B,OAAI5hC,KAAKkgC,IAAIlgC,KAAKU,OAC8B,kBAAnCV,KAAKkgC,IAAIlgC,KAAKU,OAAO,UACvB,SACyC,kBAAhCV,KAAKkgC,IAAIlgC,KAAKU,OAAO4/B,OAC9B,SAEA,SAGJ,UAGTme,EAAShgD,UAAUyjC,KAAO,WACxB,GAAKliC,KAAKmhC,UAEH,IAAoB,IAAhBnhC,KAAKkgB,OACd,OAAOlgB,KAAKkgC,IAAIv8B,MAAM3D,KAAKU,OAE3B,IAAIwf,EAASlgB,KAAKkgB,OACdxf,EAAQV,KAAKU,MACb4pB,EAAOtqB,KAAKsqB,OACZ4X,EAAOliC,KAAKkgC,IAAIv8B,MAAM3D,KAAKU,OAG/B,OAFAV,KAAKkgB,OAASA,EACdlgB,KAAKU,MAAQA,EACN,CAAC4pB,GAAM6X,OAAOD,GAVrB,MAAO,IAeX9jC,EAAOC,QAAUkgD,GAKX,SAAUngD,EAAQC,GAExB,IAAIylC,EAAQ,WACZ,aAEA,SAAS8a,EAAYn/C,EAAKsC,GACxB,OAAe,MAARA,GAAgBtC,aAAesC,EAGxC,IAAI88C,EASAC,EAOAC,EAfJ,IACEF,EAAY5gC,IACZ,MAAM+gC,GAGNH,EAAY,aAId,IACEC,EAAYG,IACZ,MAAMD,GACNF,EAAY,aAId,IACEC,EAAgBt5C,QAChB,MAAMu5C,GACND,EAAgB,aAwBlB,SAASjb,EAAMtU,EAAQ0vB,EAAUC,EAAO1gD,EAAW2gD,GACzB,kBAAbF,IACTC,EAAQD,EAASC,MACjB1gD,EAAYygD,EAASzgD,UACrB2gD,EAAuBF,EAASE,qBAChCF,EAAWA,EAASA,UAItB,IAAIG,EAAa,GACbC,EAAc,GAEdC,EAA6B,oBAAVC,EASvB,SAASvJ,EAAOzmB,EAAQ2vB,GAEtB,GAAe,OAAX3vB,EACF,OAAO,KAET,GAAc,IAAV2vB,EACF,OAAO3vB,EAET,IAAIuX,EACA0Y,EACJ,GAAqB,iBAAVjwB,EACT,OAAOA,EAGT,GAAIovB,EAAYpvB,EAAQqvB,GACtB9X,EAAQ,IAAI8X,OACP,GAAID,EAAYpvB,EAAQsvB,GAC7B/X,EAAQ,IAAI+X,OACP,GAAIF,EAAYpvB,EAAQuvB,GAC7BhY,EAAQ,IAAIgY,GAAc,SAAUr5C,EAASkY,GAC3C4R,EAAOhmB,MAAK,SAASvK,GACnByG,EAAQuwC,EAAOh3C,EAAOkgD,EAAQ,OAC7B,SAAS9gC,GACVT,EAAOq4B,EAAO53B,EAAK8gC,EAAQ,eAG1B,GAAIrb,EAAM4b,UAAUlwB,GACzBuX,EAAQ,QACH,GAAIjD,EAAM6b,WAAWnwB,GAC1BuX,EAAQ,IAAI6Y,OAAOpwB,EAAOua,OAAQ8V,EAAiBrwB,IAC/CA,EAAOswB,YAAW/Y,EAAM+Y,UAAYtwB,EAAOswB,gBAC1C,GAAIhc,EAAMic,SAASvwB,GACxBuX,EAAQ,IAAI1gC,KAAKmpB,EAAO4jB,eACnB,IAAImM,GAAaC,EAAOjM,SAAS/jB,GAStC,OANEuX,EAFEyY,EAAOQ,YAEDR,EAAOQ,YAAYxwB,EAAOlsB,QAG1B,IAAIk8C,EAAOhwB,EAAOlsB,QAE5BksB,EAAOoU,KAAKmD,GACLA,EACE6X,EAAYpvB,EAAQtnB,OAC7B6+B,EAAQvoC,OAAO29B,OAAO3M,GAEE,oBAAb/wB,GACTghD,EAAQjhD,OAAO8lC,eAAe9U,GAC9BuX,EAAQvoC,OAAO29B,OAAOsjB,KAGtB1Y,EAAQvoC,OAAO29B,OAAO19B,GACtBghD,EAAQhhD,GAIZ,GAAIygD,EAAU,CACZ,IAAIx+C,EAAQ2+C,EAAWj3C,QAAQonB,GAE/B,IAAc,GAAV9uB,EACF,OAAO4+C,EAAY5+C,GAErB2+C,EAAW97C,KAAKisB,GAChB8vB,EAAY/7C,KAAKwjC,GAiBnB,IAAK,IAAIl/B,KAdL+2C,EAAYpvB,EAAQqvB,IACtBrvB,EAAO7b,SAAQ,SAAS1U,EAAO0B,GAC7B,IAAIs/C,EAAWhK,EAAOt1C,EAAKw+C,EAAQ,GAC/Be,EAAajK,EAAOh3C,EAAOkgD,EAAQ,GACvCpY,EAAMoZ,IAAIF,EAAUC,MAGpBtB,EAAYpvB,EAAQsvB,IACtBtvB,EAAO7b,SAAQ,SAAS1U,GACtB,IAAImhD,EAAanK,EAAOh3C,EAAOkgD,EAAQ,GACvCpY,EAAM6B,IAAIwX,MAIA5wB,EAAQ,CACpB,IAAIlvB,EACAm/C,IACFn/C,EAAQ9B,OAAO6kC,yBAAyBoc,EAAO53C,IAG7CvH,GAAsB,MAAbA,EAAM6/C,MAGnBpZ,EAAMl/B,GAAKouC,EAAOzmB,EAAO3nB,GAAIs3C,EAAQ,IAGvC,GAAI3gD,OAAO6hD,sBACT,KAAIC,EAAU9hD,OAAO6hD,sBAAsB7wB,GAC3C,IAAS3nB,EAAI,EAAGA,EAAIy4C,EAAQh9C,OAAQuE,IAAK,CAGvC,IAAI04C,EAASD,EAAQz4C,GACjBqV,EAAa1e,OAAO6kC,yBAAyB7T,EAAQ+wB,KACrDrjC,GAAeA,EAAWC,YAAeiiC,KAG7CrY,EAAMwZ,GAAUtK,EAAOzmB,EAAO+wB,GAASpB,EAAQ,GAC1CjiC,EAAWC,YACd3e,OAAO8e,eAAeypB,EAAOwZ,EAAQ,CACnCpjC,YAAY,MAMpB,GAAIiiC,EACF,KAAIoB,EAAmBhiD,OAAOiiD,oBAAoBjxB,GAClD,IAAS3nB,EAAI,EAAGA,EAAI24C,EAAiBl9C,OAAQuE,IAAK,CAChD,IAAI64C,EAAeF,EAAiB34C,GAChCqV,EAAa1e,OAAO6kC,yBAAyB7T,EAAQkxB,GACrDxjC,GAAcA,EAAWC,aAG7B4pB,EAAM2Z,GAAgBzK,EAAOzmB,EAAOkxB,GAAevB,EAAQ,GAC3D3gD,OAAO8e,eAAeypB,EAAO2Z,EAAc,CACzCvjC,YAAY,MAKlB,OAAO4pB,EAGT,MAxIuB,oBAAZmY,IACTA,GAAW,GAEO,oBAATC,IACTA,EAAQhlB,KAoIH8b,EAAOzmB,EAAQ2vB,GAqBxB,SAASwB,EAAW11C,GAClB,OAAOzM,OAAOC,UAAUG,SAASO,KAAK8L,GAIxC,SAAS80C,EAAS90C,GAChB,MAAoB,kBAANA,GAAoC,kBAAlB01C,EAAW11C,GAI7C,SAASy0C,EAAUz0C,GACjB,MAAoB,kBAANA,GAAoC,mBAAlB01C,EAAW11C,GAI7C,SAAS00C,EAAW10C,GAClB,MAAoB,kBAANA,GAAoC,oBAAlB01C,EAAW11C,GAI7C,SAAS40C,EAAiBe,GACxB,IAAIC,EAAQ,GAIZ,OAHID,EAAGhkC,SAAQikC,GAAS,KACpBD,EAAGE,aAAYD,GAAS,KACxBD,EAAGG,YAAWF,GAAS,KACpBA,EAIT,OAxCA/c,EAAMkd,eAAiB,SAAwBxxB,GAC7C,GAAe,OAAXA,EACF,OAAO,KAET,IAAI2C,EAAI,aAER,OADAA,EAAE1zB,UAAY+wB,EACP,IAAI2C,GAQb2R,EAAM6c,WAAaA,EAKnB7c,EAAMic,SAAWA,EAKjBjc,EAAM4b,UAAYA,EAKlB5b,EAAM6b,WAAaA,EASnB7b,EAAM+b,iBAAmBA,EAElB/b,EA3PK,GA8PU,kBAAX1lC,GAAuBA,EAAOC,UACvCD,EAAOC,QAAUylC,IAMb,SAAU1lC,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIwL,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCiL,EAAW7kC,EAAoB,GAE/B8kC,EAAYrL,EAAuBoL,GAEnCoE,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAEjCnP,EAAS95B,EAAoB,IAE7B+5B,EAAUN,EAAuBK,GAEjC+Q,EAAQ7qC,EAAoB,IAE5B8qC,EAASrR,EAAuBoR,GAEhCoL,EAAaj2C,EAAoB,IAEjCk2C,EAAczc,EAAuBwc,GAEzC,SAASxc,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,SAAS2b,EAAO7iB,GACd,OAAOA,aAAgB4V,EAAQlyC,SAAWs8B,aAAgB2V,EAAOjQ,WAGnE,IAAIrH,EAAS,SAAUykB,GAGrB,SAASzkB,EAAOgJ,EAASyJ,GACvBvyB,EAAgB7c,KAAM28B,GAEtB,IAAIgB,EAAQyH,EAA2BplC,MAAO28B,EAAOY,WAAa/+B,OAAO8lC,eAAe3H,IAASx9B,KAAKa,KAAM2lC,IAa5G,OAXAhI,EAAMsL,QAAUmG,EAAOnG,QACnBvkC,MAAM2E,QAAQ+lC,EAAOjG,aACvBxL,EAAMwL,UAAYiG,EAAOjG,UAAUrI,QAAO,SAAUqI,EAAW9P,GAE7D,OADA8P,EAAU9P,IAAU,EACb8P,IACN,KAGLxL,EAAMgI,QAAQ0L,iBAAiB,mBAAmB,eAClD1T,EAAM4X,WACN5X,EAAMyN,SACCzN,EA0KT,OA5LA2H,EAAU3I,EAAQykB,GAqBlB7jC,EAAaof,EAAQ,CAAC,CACpBh8B,IAAK,aACL1B,MAAO,WACLe,KAAKqhD,OAAQ,IAEd,CACD1gD,IAAK,WACL1B,MAAO,WACLe,KAAKqhD,OAAQ,EACbrhD,KAAKu1C,aAEN,CACD50C,IAAK,WACL1B,MAAO,SAAkByB,EAAO4C,GAC9B,IAAIg+C,EAAQthD,KAAK6iC,KAAKniC,GAClB6gD,EAAS92C,EAAe62C,EAAO,GAC/BzF,EAAQ0F,EAAO,GACfrhC,EAASqhC,EAAO,GAEhBC,EAASxhD,KAAK6iC,KAAKniC,EAAQ4C,GAC3Bm+C,EAASh3C,EAAe+2C,EAAQ,GAChCnmC,EAAOomC,EAAO,GAGlB,GADAtd,EAAKxH,EAAOl+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe3H,EAAOl+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAO4C,GACpG,MAAR+X,GAAgBwgC,IAAUxgC,GAAQ6E,EAAS,EAAG,CAChD,GAAI27B,aAAiB5H,EAAOjQ,YAAc3oB,aAAgB44B,EAAOjQ,WAE/D,YADAhkC,KAAKu1C,WAGP,GAAIsG,aAAiB/F,EAAO9zC,QAAS,CACnC,IAAI6yC,EAAegH,EAAMhH,aAAagH,EAAMv4C,UAAU,GACtD,GAAIuxC,GAAgB,IAClBgH,EAAQA,EAAMx6B,MAAMwzB,EAAe,GAC/BgH,IAAUxgC,GAEZ,YADArb,KAAKu1C,gBAIJ,GAAIl6B,aAAgBy6B,EAAO9zC,QAAS,CACzC,IAAI0/C,EAAgBrmC,EAAKw5B,aAAa,GAClC6M,GAAiB,GACnBrmC,EAAKgG,MAAMqgC,EAAgB,GAG/B,IAAI71C,EAAMwP,EAAK3E,SAASmc,gBAAgBkS,EAAQ/iC,QAAU,KAAOqZ,EAAK3E,SAASmc,KAC/EgpB,EAAMlL,aAAat1B,EAAMxP,GACzBgwC,EAAM/U,SAER9mC,KAAKu1C,aAEN,CACD50C,IAAK,SACL1B,MAAO,WACL,IAAIosC,IAAU5kC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,KAAmBA,UAAU,GAE7EzG,KAAK2lC,QAAQoD,aAAa,kBAAmBsC,KAE9C,CACD1qC,IAAK,WACL1B,MAAO,SAAkByB,EAAO4C,EAAQ+1B,EAAQp6B,IACxB,MAAlBe,KAAKmpC,WAAsBnpC,KAAKmpC,UAAU9P,MAC9C8K,EAAKxH,EAAOl+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe3H,EAAOl+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAO4C,EAAQ+1B,EAAQp6B,GAChIe,KAAKu1C,cAEN,CACD50C,IAAK,WACL1B,MAAO,SAAkByB,EAAOzB,EAAO+mC,GACrC,GAAW,MAAPA,GAAiC,MAAlBhmC,KAAKmpC,WAAsBnpC,KAAKmpC,UAAUlqC,GAA7D,CACA,GAAIyB,GAASV,KAAKsD,SAChB,GAAW,MAAP0iC,GAAoF,MAArEnB,EAAY7iC,QAAQq6B,MAAMp9B,EAAO4lC,EAAY7iC,QAAQk6B,MAAMwC,OAAgB,CAC5F,IAAIJ,EAAOuG,EAAY7iC,QAAQm6B,OAAOn8B,KAAKinC,QAAQC,cACnDlnC,KAAKozB,YAAYkL,GACN,MAAP0H,GAAe/mC,EAAMgnC,SAAS,QAChChnC,EAAQA,EAAM0E,MAAM,GAAI,IAE1B26B,EAAK8H,SAAS,EAAGnnC,EAAO+mC,OACnB,CACL,IAAIyH,EAAQ5I,EAAY7iC,QAAQm6B,OAAOl9B,EAAO+mC,GAC9ChmC,KAAKozB,YAAYqa,QAGnBtJ,EAAKxH,EAAOl+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe3H,EAAOl+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMU,EAAOzB,EAAO+mC,GAEzHhmC,KAAKu1C,cAEN,CACD50C,IAAK,eACL1B,MAAO,SAAsBq/B,EAAMzyB,GACjC,GAAIyyB,EAAK2I,QAAQh4B,QAAU41B,EAAY7iC,QAAQk6B,MAAMoiB,YAAa,CAChE,IAAIH,EAAUtZ,EAAY7iC,QAAQm6B,OAAOn8B,KAAKinC,QAAQC,cACtDiX,EAAQ/qB,YAAYkL,GACpBA,EAAO6f,EAETha,EAAKxH,EAAOl+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe3H,EAAOl+B,WAAY,eAAgBuB,MAAMb,KAAKa,KAAMs+B,EAAMzyB,KAEpH,CACDlL,IAAK,OACL1B,MAAO,SAAcyB,GACnB,OAAOV,KAAKiK,KAAKvJ,GAAOggC,OAAS,CAAC,MAAO,KAE1C,CACD//B,IAAK,OACL1B,MAAO,SAAcyB,GACnB,OAAIA,IAAUV,KAAKsD,SACVtD,KAAK6iC,KAAKniC,EAAQ,GAEpBV,KAAKy0C,WAAW0M,EAAQzgD,KAEhC,CACDC,IAAK,QACL1B,MAAO,WACL,IAAIyB,EAAQ+F,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,EAC5EnD,EAASmD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKymC,OAAOC,UAEpFwU,EAAW,SAASA,EAASrjB,EAAM59B,EAAO4C,GAC5C,IAAIqjC,EAAQ,GACRoW,EAAaz5C,EASjB,OARAg7B,EAAK5nB,SAASkmC,UAAUl8C,EAAO4C,GAAQ,SAAUyjC,EAAOrmC,EAAO4C,GACzD69C,EAAOpa,GACTJ,EAAMpjC,KAAKwjC,GACFA,aAAiBlC,EAAY7iC,QAAQu6B,YAC9CoK,EAAQA,EAAMxE,OAAOwf,EAAS5a,EAAOrmC,EAAOq8C,KAE9CA,GAAcz5C,KAETqjC,GAET,OAAOgb,EAAS3hD,KAAMU,EAAO4C,KAE9B,CACD3C,IAAK,WACL1B,MAAO,WACL,IAAI+qC,EAAYvjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAChFF,EAAUE,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,IAE/D,IAAfzG,KAAKqhD,QACTld,EAAKxH,EAAOl+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe3H,EAAOl+B,WAAY,WAAYuB,MAAMb,KAAKa,KAAMgqC,EAAWzjC,GAChHyjC,EAAU1mC,OAAS,GACrBtD,KAAKipC,QAAQ8G,KAAKD,EAAU9tC,QAAQynC,OAAOyI,gBAAiBlI,EAAWzjC,MAG1E,CACD5F,IAAK,OACL1B,MAAO,SAAcyB,GACnB,OAAOyjC,EAAKxH,EAAOl+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe3H,EAAOl+B,WAAY,OAAQuB,MAAMb,KAAKa,KAAMU,GAAOiD,MAAM,KAE1H,CACDhD,IAAK,SACL1B,MAAO,SAAgB+qC,GACrB,IAAmB,IAAfhqC,KAAKqhD,MAAT,CACA,IAAItX,EAAS+F,EAAU9tC,QAAQ0pC,QAAQoD,KACd,kBAAd9E,IACTD,EAASC,GAENtlC,MAAM2E,QAAQ2gC,KACjBA,EAAYhqC,KAAK4hD,SAASC,eAExB7X,EAAU1mC,OAAS,GACrBtD,KAAKipC,QAAQ8G,KAAKD,EAAU9tC,QAAQynC,OAAOwI,qBAAsBlI,EAAQC,GAE3E7F,EAAKxH,EAAOl+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe3H,EAAOl+B,WAAY,SAAUuB,MAAMb,KAAKa,KAAMgqC,EAAU7H,OAAO,KACpH6H,EAAU1mC,OAAS,GACrBtD,KAAKipC,QAAQ8G,KAAKD,EAAU9tC,QAAQynC,OAAOK,cAAeC,EAAQC,QAKjErN,EA7LI,CA8LXkI,EAAY7iC,QAAQ26B,QAEtBA,EAAOyC,SAAW,SAClBzC,EAAO4C,UAAY,YACnB5C,EAAOoC,QAAU,MACjBpC,EAAOuK,aAAe,QACtBvK,EAAOwK,gBAAkB,CAAC+M,EAAQlyC,QAASiyC,EAAOjQ,WAAYkd,EAAYl/C,SAE1E3D,EAAQ2D,QAAU26B,GAIZ,SAAUv+B,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQyjD,SAAWzjD,EAAQ2D,aAAUjD,EAErC,IAAIS,EAA4B,oBAAXlB,QAAoD,kBAApBA,OAAOoB,SAAwB,SAAUD,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,gBAAkBgB,GAElQgL,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfk5B,EAASjrC,EAAoB,IAE7BkrC,EAAUzR,EAAuBwR,GAEjCE,EAAanrC,EAAoB,IAEjCorC,EAAc3R,EAAuB0R,GAErC5R,EAAUv5B,EAAoB,GAE9Bw5B,EAAWC,EAAuBF,GAElCG,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCiR,EAAM3qC,EAAoB,IAE1B4qC,EAAOnR,EAAuBkR,GAE9B/Q,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCmd,EAAS/2C,EAAoB,GAE7Bg3C,EAAUvd,EAAuBsd,GAEjC7Z,EAAUl9B,EAAoB,IAE9Bm9B,EAAW1D,EAAuByD,GAElCJ,EAAU98B,EAAoB,GAE9B+8B,EAAWtD,EAAuBqD,GAEtC,SAASrD,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAAS6oC,EAAgB7oC,EAAKkB,EAAK1B,GAAiK,OAApJ0B,KAAOlB,EAAOjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAAE1B,MAAOA,EAAOke,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB5d,EAAIkB,GAAO1B,EAAgBQ,EAE3M,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI+C,GAAQ,EAAIJ,EAASnmC,SAAS,kBAE9B8/C,EAAW,OAAOG,KAAKC,UAAUC,UAAY,UAAY,UAEzDC,EAAW,SAAUC,GAgBvB,SAASD,EAAS3qB,EAAOpP,GACvBxL,EAAgB7c,KAAMoiD,GAEtB,IAAIzkB,EAAQyH,EAA2BplC,MAAOoiD,EAAS7kB,WAAa/+B,OAAO8lC,eAAe8d,IAAWjjD,KAAKa,KAAMy3B,EAAOpP,IAyBvH,OAvBAsV,EAAM2kB,SAAW,GACjB9jD,OAAO0M,KAAKyyB,EAAMtV,QAAQi6B,UAAU3uC,SAAQ,SAAUtJ,IACvC,kBAATA,GAAsD,MAA1BotB,EAAMyR,OAAOC,WAAsB1R,EAAMyR,OAAOC,UAAU,UAGtFxL,EAAMtV,QAAQi6B,SAASj4C,IACzBszB,EAAM4kB,WAAW5kB,EAAMtV,QAAQi6B,SAASj4C,OAG5CszB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAKs3C,MAAOC,SAAU,MAAQC,GAC/D/kB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAKs3C,MAAOG,QAAS,KAAMC,QAAS,KAAMC,OAAQ,OAAQ,eACvF,WAAWZ,KAAKC,UAAUY,YAE5BnlB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAK63C,WAAa,CAAEnJ,WAAW,GAAQoJ,GACxErlB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAKu3B,QAAU,CAAEmX,WAAW,GAAQqJ,KAErEtlB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAK63C,WAAa,CAAEnJ,WAAW,EAAMsJ,OAAQ,QAAUF,GACxFrlB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAKu3B,QAAU,CAAEmX,WAAW,EAAMlhB,OAAQ,QAAUuqB,IAEvFtlB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAK63C,WAAa,CAAEnJ,WAAW,GAASuJ,GACzExlB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAKu3B,QAAU,CAAEmX,WAAW,GAASuJ,GACtExlB,EAAM4kB,WAAW,CAAE5hD,IAAKyhD,EAASl3C,KAAK63C,UAAWF,OAAQ,KAAMD,QAAS,KAAMD,QAAS,KAAMF,SAAU,MAAQ,CAAE7I,WAAW,EAAM15B,OAAQ,GAAK8iC,GAC/IrlB,EAAMylB,SACCzlB,EA+FT,OA1IA2H,EAAU8c,EAAUC,GAEpB9kC,EAAa6kC,EAAU,KAAM,CAAC,CAC5BzhD,IAAK,QACL1B,MAAO,SAAeuY,EAAK6rC,GAEzB,OADAA,EAAUC,EAAUD,IAChB,CAAC,SAAU,UAAW,UAAW,YAAYriD,MAAK,SAAUL,GAC9D,QAAS0iD,EAAQ1iD,KAAS6W,EAAI7W,IAAyB,OAAjB0iD,EAAQ1iD,OAIzC0iD,EAAQ1iD,OAAS6W,EAAI+rC,OAAS/rC,EAAI7I,aAmC7C4O,EAAa6kC,EAAU,CAAC,CACtBzhD,IAAK,aACL1B,MAAO,SAAoB0B,GACzB,IAAI4F,EAAUE,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAC9E0S,EAAU1S,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAE9E48C,EAAUC,EAAU3iD,GACxB,GAAe,MAAX0iD,GAAkC,MAAfA,EAAQ1iD,IAC7B,OAAO4nC,EAAMsC,KAAK,4CAA6CwY,GAE1C,oBAAZ98C,IACTA,EAAU,CAAE4S,QAAS5S,IAEA,oBAAZ4S,IACTA,EAAU,CAAEA,QAASA,IAEvBkqC,GAAU,EAAI7e,EAASxiC,SAASqhD,EAAS98C,EAAS4S,GAClDnZ,KAAKsiD,SAASe,EAAQ1iD,KAAOX,KAAKsiD,SAASe,EAAQ1iD,MAAQ,GAC3DX,KAAKsiD,SAASe,EAAQ1iD,KAAK4C,KAAK8/C,KAEjC,CACD1iD,IAAK,SACL1B,MAAO,WACL,IAAIsnC,EAASvmC,KAEbA,KAAKy3B,MAAMnsB,KAAK+lC,iBAAiB,WAAW,SAAU75B,GACpD,IAAIA,EAAIgsC,iBAAR,CACA,IAAID,EAAQ/rC,EAAI+rC,OAAS/rC,EAAI7I,QACzB2zC,GAAY/b,EAAO+b,SAASiB,IAAU,IAAIlvC,QAAO,SAAUgvC,GAC7D,OAAOjB,EAASh4C,MAAMoN,EAAK6rC,MAE7B,GAAwB,IAApBf,EAASh/C,OAAb,CACA,IAAI+f,EAAQkjB,EAAO9O,MAAMkU,eACzB,GAAa,MAATtoB,GAAkBkjB,EAAO9O,MAAM+V,WAAnC,CAEA,IAAIiW,EAAiBld,EAAO9O,MAAMisB,QAAQrgC,EAAM3iB,OAC5CijD,EAAkBl5C,EAAeg5C,EAAgB,GACjD5gB,EAAO8gB,EAAgB,GACvBzjC,EAASyjC,EAAgB,GAEzBC,EAAiBrd,EAAO9O,MAAMosB,QAAQxgC,EAAM3iB,OAC5CojD,EAAkBr5C,EAAem5C,EAAgB,GACjDG,EAAYD,EAAgB,GAC5BE,EAAcF,EAAgB,GAE9B9R,EAAwB,IAAjB3uB,EAAM/f,OAAe,CAACygD,EAAWC,GAAezd,EAAO9O,MAAMosB,QAAQxgC,EAAM3iB,MAAQ2iB,EAAM/f,QAChG2gD,EAAQx5C,EAAeunC,EAAM,GAC7BkS,EAAUD,EAAM,GAChBE,EAAYF,EAAM,GAElBG,EAAaL,aAAqBlf,EAAY7iC,QAAQ86B,KAAOinB,EAAU9kD,QAAQ0E,MAAM,EAAGqgD,GAAe,GACvGK,EAAaH,aAAmBrf,EAAY7iC,QAAQ86B,KAAOonB,EAAQjlD,QAAQ0E,MAAMwgD,GAAa,GAC9FG,EAAa,CACf1K,UAA4B,IAAjBv2B,EAAM/f,OACjBihD,MAAwB,IAAjBlhC,EAAM/f,QAAgBu/B,EAAKv/B,UAAY,EAC9C+1B,OAAQkN,EAAO9O,MAAMwV,UAAU5pB,GAC/BnD,OAAQA,EACRgjC,OAAQkB,EACR1rB,OAAQ2rB,GAENG,EAAYlC,EAASthD,MAAK,SAAUqiD,GACtC,GAAyB,MAArBA,EAAQzJ,WAAqByJ,EAAQzJ,YAAc0K,EAAW1K,UAAW,OAAO,EACpF,GAAqB,MAAjByJ,EAAQkB,OAAiBlB,EAAQkB,QAAUD,EAAWC,MAAO,OAAO,EACxE,GAAsB,MAAlBlB,EAAQnjC,QAAkBmjC,EAAQnjC,SAAWokC,EAAWpkC,OAAQ,OAAO,EAC3E,GAAIxb,MAAM2E,QAAQg6C,EAAQhqB,SAExB,GAAIgqB,EAAQhqB,OAAOorB,OAAM,SAAUp6C,GACjC,OAAkC,MAA3Bi6C,EAAWjrB,OAAOhvB,MAEzB,OAAO,OAEJ,GAAgC,WAA5B7K,EAAQ6jD,EAAQhqB,UAEpB76B,OAAO0M,KAAKm4C,EAAQhqB,QAAQorB,OAAM,SAAUp6C,GAC/C,OAA6B,IAAzBg5C,EAAQhqB,OAAOhvB,GAAkD,MAA3Bi6C,EAAWjrB,OAAOhvB,IAC/B,IAAzBg5C,EAAQhqB,OAAOhvB,GAAmD,MAA3Bi6C,EAAWjrB,OAAOhvB,IACtD,EAAI+rC,EAAYp0C,SAASqhD,EAAQhqB,OAAOhvB,GAAOi6C,EAAWjrB,OAAOhvB,OAExE,OAAO,EAGX,QAAsB,MAAlBg5C,EAAQH,SAAmBG,EAAQH,OAAOjB,KAAKqC,EAAWpB,aACxC,MAAlBG,EAAQ3qB,SAAmB2qB,EAAQ3qB,OAAOupB,KAAKqC,EAAW5rB,WACH,IAApD2qB,EAAQlqC,QAAQha,KAAKonC,EAAQljB,EAAOihC,OAEzCE,GACFhtC,EAAI/I,2BAML2zC,EA3IM,CA4Ibra,EAAS/lC,SAqLX,SAAS0iD,EAAsB/jD,EAAK8hD,GAClC,IAAIkC,EAEA/6C,EAAQjJ,IAAQyhD,EAASl3C,KAAK05C,KAAO,SAAW,SACpD,OAAOD,EAAQ,CACbhkD,IAAKA,EACL8hD,SAAUA,EACVI,OAAQ,MACPva,EAAgBqc,EAAO/6C,EAAO,MAAO0+B,EAAgBqc,EAAO,WAAW,SAAiBthC,GACzF,IAAI3iB,EAAQ2iB,EAAM3iB,MACdC,IAAQyhD,EAASl3C,KAAK25C,QACxBnkD,GAAS2iB,EAAM/f,OAAS,GAG1B,IAAIwhD,EAAkB9kD,KAAKy3B,MAAMosB,QAAQnjD,GACrCqkD,EAAkBt6C,EAAeq6C,EAAiB,GAClDpe,EAAOqe,EAAgB,GAE3B,QAAMre,aAAgB7B,EAAY7iC,QAAQ06B,SACtC/7B,IAAQyhD,EAASl3C,KAAK05C,KACpBnC,EACFziD,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ,EAAG2iB,EAAM/f,OAAS,EAAG0+C,EAAQhgD,QAAQ0pC,QAAQoD,MAEnF9uC,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ,EAAGshD,EAAQhgD,QAAQ0pC,QAAQoD,MAG/D2T,EACFziD,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAO2iB,EAAM/f,OAAS,EAAG0+C,EAAQhgD,QAAQ0pC,QAAQoD,MAE/E9uC,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ2iB,EAAM/f,OAAS,EAAG0+C,EAAQhgD,QAAQ0pC,QAAQoD,OAG7E,MACL6V,EAGN,SAAS3B,EAAgB3/B,EAAO9c,GAC9B,KAAoB,IAAhB8c,EAAM3iB,OAAeV,KAAKy3B,MAAMoV,aAAe,GAAnD,CAEA,IAAImY,EAAmBhlD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,OAC5CukD,EAAmBx6C,EAAeu6C,EAAkB,GACpDniB,EAAOoiB,EAAiB,GAExBrf,EAAU,GACd,GAAuB,IAAnBr/B,EAAQ2Z,OAAc,CACxB,IAAIglC,EAAmBllD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,MAAQ,GACpDykD,EAAmB16C,EAAey6C,EAAkB,GACpD5P,EAAO6P,EAAiB,GAE5B,GAAY,MAAR7P,GAAgBA,EAAKhyC,SAAW,EAAG,CACrC,IAAI8hD,EAAaviB,EAAK+C,UAClByf,EAAcrlD,KAAKy3B,MAAMwV,UAAU5pB,EAAM3iB,MAAQ,EAAG,GACxDklC,EAAUgQ,EAAK5zC,QAAQ47B,WAAW8B,KAAK0lB,EAAYC,IAAgB,IAIvE,IAAI/hD,EAAS,kCAAkC2+C,KAAK17C,EAAQ28C,QAAU,EAAI,EAC1EljD,KAAKy3B,MAAM0T,WAAW9nB,EAAM3iB,MAAQ4C,EAAQA,EAAQ0+C,EAAQhgD,QAAQ0pC,QAAQoD,MACxEtwC,OAAO0M,KAAK06B,GAAStiC,OAAS,GAChCtD,KAAKy3B,MAAMoU,WAAWxoB,EAAM3iB,MAAQ4C,EAAQA,EAAQsiC,EAASoc,EAAQhgD,QAAQ0pC,QAAQoD,MAEvF9uC,KAAKy3B,MAAM8T,SAGb,SAAS0X,EAAa5/B,EAAO9c,GAE3B,IAAIjD,EAAS,kCAAkC2+C,KAAK17C,EAAQmyB,QAAU,EAAI,EAC1E,KAAIrV,EAAM3iB,OAASV,KAAKy3B,MAAMoV,YAAcvpC,GAA5C,CACA,IAAIsiC,EAAU,GACV0f,EAAa,EAEbC,EAAmBvlD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,OAC5C8kD,EAAmB/6C,EAAe86C,EAAkB,GACpD1iB,EAAO2iB,EAAiB,GAE5B,GAAIj/C,EAAQ2Z,QAAU2iB,EAAKv/B,SAAW,EAAG,CACvC,IAAImiD,EAAmBzlD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,MAAQ,GACpDglD,EAAmBj7C,EAAeg7C,EAAkB,GACpDn7B,EAAOo7B,EAAiB,GAE5B,GAAIp7B,EAAM,CACR,IAAI86B,EAAaviB,EAAK+C,UAClB+f,EAAc3lD,KAAKy3B,MAAMwV,UAAU5pB,EAAM3iB,MAAO,GACpDklC,EAAUgQ,EAAK5zC,QAAQ47B,WAAW8B,KAAK0lB,EAAYO,IAAgB,GACnEL,EAAah7B,EAAKhnB,UAGtBtD,KAAKy3B,MAAM0T,WAAW9nB,EAAM3iB,MAAO4C,EAAQ0+C,EAAQhgD,QAAQ0pC,QAAQoD,MAC/DtwC,OAAO0M,KAAK06B,GAAStiC,OAAS,GAChCtD,KAAKy3B,MAAMoU,WAAWxoB,EAAM3iB,MAAQ4kD,EAAa,EAAGhiD,EAAQsiC,EAASoc,EAAQhgD,QAAQ0pC,QAAQoD,OAIjG,SAASqU,EAAkB9/B,GACzB,IAAIsjB,EAAQ3mC,KAAKy3B,MAAMkqB,SAASt+B,GAC5BuiB,EAAU,GACd,GAAIe,EAAMrjC,OAAS,EAAG,CACpB,IAAIsiD,EAAejf,EAAM,GAAGf,UACxBigB,EAAclf,EAAMA,EAAMrjC,OAAS,GAAGsiC,UAC1CA,EAAUgQ,EAAK5zC,QAAQ47B,WAAW8B,KAAKmmB,EAAaD,IAAiB,GAEvE5lD,KAAKy3B,MAAM0T,WAAW9nB,EAAO2+B,EAAQhgD,QAAQ0pC,QAAQoD,MACjDtwC,OAAO0M,KAAK06B,GAAStiC,OAAS,GAChCtD,KAAKy3B,MAAMoU,WAAWxoB,EAAM3iB,MAAO,EAAGklC,EAASoc,EAAQhgD,QAAQ0pC,QAAQoD,MAEzE9uC,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAOshD,EAAQhgD,QAAQ0pC,QAAQK,QAC7D/rC,KAAKy3B,MAAM8T,QAGb,SAASmX,EAAYr/B,EAAO9c,GAC1B,IAAIykC,EAAShrC,KAETqjB,EAAM/f,OAAS,GACjBtD,KAAKy3B,MAAMyR,OAAOyL,SAAStxB,EAAM3iB,MAAO2iB,EAAM/f,QAEhD,IAAIwiD,EAActnD,OAAO0M,KAAK3E,EAAQ8yB,QAAQyH,QAAO,SAAUglB,EAAazsB,GAI1E,OAHIwL,EAAY7iC,QAAQq6B,MAAMhD,EAAQwL,EAAY7iC,QAAQk6B,MAAMwC,SAAWh6B,MAAM2E,QAAQ9C,EAAQ8yB,OAAOA,MACtGysB,EAAYzsB,GAAU9yB,EAAQ8yB,OAAOA,IAEhCysB,IACN,IACH9lD,KAAKy3B,MAAMqW,WAAWzqB,EAAM3iB,MAAO,KAAMolD,EAAa9D,EAAQhgD,QAAQ0pC,QAAQoD,MAG9E9uC,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ,EAAGshD,EAAQhgD,QAAQ0pC,QAAQK,QACjE/rC,KAAKy3B,MAAM8T,QACX/sC,OAAO0M,KAAK3E,EAAQ8yB,QAAQ1lB,SAAQ,SAAUtJ,GACnB,MAArBy7C,EAAYz7C,KACZ3F,MAAM2E,QAAQ9C,EAAQ8yB,OAAOhvB,KACpB,SAATA,GACJ2gC,EAAOvT,MAAM4B,OAAOhvB,EAAM9D,EAAQ8yB,OAAOhvB,GAAO23C,EAAQhgD,QAAQ0pC,QAAQoD,UAI5E,SAASiX,EAAqBC,GAC5B,MAAO,CACLrlD,IAAKyhD,EAASl3C,KAAKwqC,IACnB+M,UAAWuD,EACX3sB,OAAQ,CAAE,cAAc,GACxBlgB,QAAS,SAAiBkK,GACxB,IAAI+wB,EAAYvP,EAAY7iC,QAAQq6B,MAAM,cACtC37B,EAAQ2iB,EAAM3iB,MACd4C,EAAS+f,EAAM/f,OAEf2iD,EAAwBjmD,KAAKy3B,MAAMyR,OAAOuL,WAAWL,EAAW1zC,GAChEwlD,EAAyBz7C,EAAew7C,EAAuB,GAC/D/f,EAAQggB,EAAuB,GAC/BhmC,EAASgmC,EAAuB,GAEpC,GAAa,MAAThgB,EAAJ,CACA,IAAIigB,EAAcnmD,KAAKy3B,MAAM2uB,SAASlgB,GAClCt9B,EAAQs9B,EAAM2O,aAAa30B,GAAQ,GAAQ,EAC3CrX,EAAMq9B,EAAM2O,aAAasR,EAAcjmC,EAAS5c,GAChDqjC,EAAQT,EAAMP,QAAQ2O,YAAY3wC,MAAMiF,EAAOC,GAAKwY,MAAM,MAC9DnB,EAAS,EACTymB,EAAMhzB,SAAQ,SAAUkvB,EAAMh7B,GACxBm+C,GACF9f,EAAME,SAASx9B,EAAQsX,EAAQk0B,EAAUsB,KACzCx1B,GAAUk0B,EAAUsB,IAAIpyC,OACd,IAANuE,EACFnH,GAAS0zC,EAAUsB,IAAIpyC,OAEvBA,GAAU8wC,EAAUsB,IAAIpyC,QAEjBu/B,EAAKxP,WAAW+gB,EAAUsB,OACnCxP,EAAMyO,SAAS/rC,EAAQsX,EAAQk0B,EAAUsB,IAAIpyC,QAC7C4c,GAAUk0B,EAAUsB,IAAIpyC,OACd,IAANuE,EACFnH,GAAS0zC,EAAUsB,IAAIpyC,OAEvBA,GAAU8wC,EAAUsB,IAAIpyC,QAG5B4c,GAAU2iB,EAAKv/B,OAAS,KAE1BtD,KAAKy3B,MAAM0S,OAAO6X,EAAQhgD,QAAQ0pC,QAAQoD,MAC1C9uC,KAAKy3B,MAAMmB,aAAal4B,EAAO4C,EAAQ0+C,EAAQhgD,QAAQ0pC,QAAQK,WAKrE,SAASsa,EAAkBhtB,GACzB,MAAO,CACL14B,IAAK04B,EAAO,GAAGmG,cACf8mB,UAAU,EACVntC,QAAS,SAAiBkK,EAAO9c,GAC/BvG,KAAKy3B,MAAM4B,OAAOA,GAAS9yB,EAAQ8yB,OAAOA,GAAS2oB,EAAQhgD,QAAQ0pC,QAAQoD,QAKjF,SAASwU,EAAUD,GACjB,GAAuB,kBAAZA,GAA2C,kBAAZA,EACxC,OAAOC,EAAU,CAAE3iD,IAAK0iD,IAK1B,GAH0E,YAAlD,qBAAZA,EAA0B,YAAc7jD,EAAQ6jD,MAC1DA,GAAU,EAAInN,EAAQl0C,SAASqhD,GAAS,IAEf,kBAAhBA,EAAQ1iD,IACjB,GAAgD,MAA5CyhD,EAASl3C,KAAKm4C,EAAQ1iD,IAAI6+B,eAC5B6jB,EAAQ1iD,IAAMyhD,EAASl3C,KAAKm4C,EAAQ1iD,IAAI6+B,mBACnC,IAA2B,IAAvB6jB,EAAQ1iD,IAAI2C,OAGrB,OAAO,KAFP+/C,EAAQ1iD,IAAM0iD,EAAQ1iD,IAAI6+B,cAAcz3B,WAAW,GASvD,OAJIs7C,EAAQiD,WACVjD,EAAQvB,GAAYuB,EAAQiD,gBACrBjD,EAAQiD,UAEVjD,EAtYTjB,EAASl3C,KAAO,CACd63C,UAAW,EACXrN,IAAK,EACL8M,MAAO,GACP+D,OAAQ,GACR3B,KAAM,GACN4B,GAAI,GACJ3B,MAAO,GACP4B,KAAM,GACNhkB,OAAQ,IAGV2f,EAASnT,SAAW,CAClBqT,SAAU,CACR,KAAQ+D,EAAkB,QAC1B,OAAUA,EAAkB,UAC5B,UAAaA,EAAkB,aAC/B,OAAU,CAER1lD,IAAKyhD,EAASl3C,KAAKwqC,IACnBrc,OAAQ,CAAC,aAAc,SAAU,QACjClgB,QAAS,SAAiBkK,EAAO9c,GAC/B,GAAIA,EAAQqzC,WAAgC,IAAnBrzC,EAAQ2Z,OAAc,OAAO,EACtDlgB,KAAKy3B,MAAM4B,OAAO,SAAU,KAAM2oB,EAAQhgD,QAAQ0pC,QAAQoD,QAG9D,QAAW,CACTnuC,IAAKyhD,EAASl3C,KAAKwqC,IACnB+M,UAAU,EACVppB,OAAQ,CAAC,aAAc,SAAU,QAEjClgB,QAAS,SAAiBkK,EAAO9c,GAC/B,GAAIA,EAAQqzC,WAAgC,IAAnBrzC,EAAQ2Z,OAAc,OAAO,EACtDlgB,KAAKy3B,MAAM4B,OAAO,SAAU,KAAM2oB,EAAQhgD,QAAQ0pC,QAAQoD,QAG9D,oBAAqB,CACnBnuC,IAAKyhD,EAASl3C,KAAK63C,UACnBnJ,WAAW,EACX6I,SAAU,KACVE,QAAS,KACTC,QAAS,KACTC,OAAQ,KACRxpB,OAAQ,CAAC,SAAU,QACnBnZ,OAAQ,EACR/G,QAAS,SAAiBkK,EAAO9c,GACF,MAAzBA,EAAQ8yB,OAAO2sB,OACjBhmD,KAAKy3B,MAAM4B,OAAO,SAAU,KAAM2oB,EAAQhgD,QAAQ0pC,QAAQoD,MAC1B,MAAvBvoC,EAAQ8yB,OAAOhI,MACxBrxB,KAAKy3B,MAAM4B,OAAO,QAAQ,EAAO2oB,EAAQhgD,QAAQ0pC,QAAQoD,QAI/D,oBAAqBiX,GAAqB,GAC1C,qBAAsBA,GAAqB,GAC3C,aAAc,CACZplD,IAAKyhD,EAASl3C,KAAKwqC,IACnB+M,UAAU,EACV7I,WAAW,EACXsJ,OAAQ,MACR/pC,QAAS,SAAiBkK,GACxBrjB,KAAKy3B,MAAM0T,WAAW9nB,EAAM3iB,MAAQ,EAAG,EAAGshD,EAAQhgD,QAAQ0pC,QAAQoD,QAGtE,IAAO,CACLnuC,IAAKyhD,EAASl3C,KAAKwqC,IACnBv8B,QAAS,SAAiBkK,GACxBrjB,KAAKy3B,MAAM8R,QAAQmd,SACnB,IAAI5kB,GAAQ,IAAI6C,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,OAAOwgC,OAAO7d,EAAM/f,QAAQ68B,OAAO,MACvFngC,KAAKy3B,MAAMkvB,eAAe7kB,EAAOkgB,EAAQhgD,QAAQ0pC,QAAQoD,MACzD9uC,KAAKy3B,MAAM8R,QAAQmd,SACnB1mD,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ,EAAGshD,EAAQhgD,QAAQ0pC,QAAQK,UAGrE,mBAAoB,CAClBprC,IAAKyhD,EAASl3C,KAAKs3C,MACnB5I,WAAW,EACXvgB,OAAQ,CAAC,QACTkrB,OAAO,EACPprC,QAAS,SAAiBkK,EAAO9c,GAC/BvG,KAAKy3B,MAAM4B,OAAO,QAAQ,EAAO2oB,EAAQhgD,QAAQ0pC,QAAQoD,MACrDvoC,EAAQ8yB,OAAO2sB,QACjBhmD,KAAKy3B,MAAM4B,OAAO,UAAU,EAAO2oB,EAAQhgD,QAAQ0pC,QAAQoD,QAIjE,kBAAmB,CACjBnuC,IAAKyhD,EAASl3C,KAAKs3C,MACnB5I,WAAW,EACXvgB,OAAQ,CAAEhI,KAAM,WAChBlY,QAAS,SAAiBkK,GACxB,IAAIujC,EAAkB5mD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,OAC3CmmD,EAAkBp8C,EAAem8C,EAAiB,GAClD/jB,EAAOgkB,EAAgB,GACvB3mC,EAAS2mC,EAAgB,GAEzBjhB,GAAU,EAAIpB,EAASxiC,SAAS,GAAI6gC,EAAK+C,UAAW,CAAEvU,KAAM,YAC5DyQ,GAAQ,IAAI6C,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,OAAOy/B,OAAO,KAAMyF,GAAStF,OAAOuC,EAAKv/B,SAAW4c,EAAS,GAAGogB,OAAO,EAAG,CAAEjP,KAAM,cACtIrxB,KAAKy3B,MAAMkvB,eAAe7kB,EAAOkgB,EAAQhgD,QAAQ0pC,QAAQoD,MACzD9uC,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ,EAAGshD,EAAQhgD,QAAQ0pC,QAAQK,QACjE/rC,KAAKy3B,MAAM+T,mBAGf,eAAgB,CACd7qC,IAAKyhD,EAASl3C,KAAKs3C,MACnB5I,WAAW,EACXvgB,OAAQ,CAAC,UACTX,OAAQ,KACRvf,QAAS,SAAiBkK,EAAO9c,GAC/B,IAAIugD,EAAkB9mD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,OAC3CqmD,EAAkBt8C,EAAeq8C,EAAiB,GAClDjkB,EAAOkkB,EAAgB,GACvB7mC,EAAS6mC,EAAgB,GAEzBjlB,GAAQ,IAAI6C,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,OAAOy/B,OAAO,KAAM55B,EAAQ8yB,QAAQiH,OAAOuC,EAAKv/B,SAAW4c,EAAS,GAAGogB,OAAO,EAAG,CAAE0mB,OAAQ,OAC/IhnD,KAAKy3B,MAAMkvB,eAAe7kB,EAAOkgB,EAAQhgD,QAAQ0pC,QAAQoD,MACzD9uC,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ,EAAGshD,EAAQhgD,QAAQ0pC,QAAQK,QACjE/rC,KAAKy3B,MAAM+T,mBAGf,gBAAiB,CACf7qC,IAAK,IACLi5C,WAAW,EACXvgB,OAAQ,CAAEhI,MAAM,GAChB6xB,OAAQ,kCACR/pC,QAAS,SAAiBkK,EAAO9c,GAC/B,IAAIjD,EAASiD,EAAQ28C,OAAO5/C,OAExB2jD,EAAkBjnD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,OAC3CwmD,EAAkBz8C,EAAew8C,EAAiB,GAClDpkB,EAAOqkB,EAAgB,GACvBhnC,EAASgnC,EAAgB,GAE7B,GAAIhnC,EAAS5c,EAAQ,OAAO,EAC5B,IAAIrE,OAAQ,EACZ,OAAQsH,EAAQ28C,OAAO5+B,QACrB,IAAK,KAAK,IAAK,MACbrlB,EAAQ,YACR,MACF,IAAK,MACHA,EAAQ,UACR,MACF,IAAK,IAAI,IAAK,IACZA,EAAQ,SACR,MACF,QACEA,EAAQ,UAEZe,KAAKy3B,MAAMqW,WAAWzqB,EAAM3iB,MAAO,IAAKshD,EAAQhgD,QAAQ0pC,QAAQoD,MAChE9uC,KAAKy3B,MAAM8R,QAAQmd,SACnB,IAAI5kB,GAAQ,IAAI6C,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,MAAQwf,GAAQghB,OAAO59B,EAAS,GAAGg9B,OAAOuC,EAAKv/B,SAAW,EAAI4c,GAAQogB,OAAO,EAAG,CAAEjP,KAAMpyB,IAC5Ie,KAAKy3B,MAAMkvB,eAAe7kB,EAAOkgB,EAAQhgD,QAAQ0pC,QAAQoD,MACzD9uC,KAAKy3B,MAAM8R,QAAQmd,SACnB1mD,KAAKy3B,MAAMmB,aAAavV,EAAM3iB,MAAQ4C,EAAQ0+C,EAAQhgD,QAAQ0pC,QAAQK,UAG1E,YAAa,CACXprC,IAAKyhD,EAASl3C,KAAKs3C,MACnB5I,WAAW,EACXvgB,OAAQ,CAAC,cACT6pB,OAAQ,QACRxqB,OAAQ,QACRvf,QAAS,SAAiBkK,GACxB,IAAI8jC,EAAkBnnD,KAAKy3B,MAAMisB,QAAQrgC,EAAM3iB,OAC3C0mD,EAAmB38C,EAAe08C,EAAiB,GACnDtkB,EAAOukB,EAAiB,GACxBlnC,EAASknC,EAAiB,GAE1BtlB,GAAQ,IAAI6C,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,MAAQmiC,EAAKv/B,SAAW4c,EAAS,GAAGogB,OAAO,EAAG,CAAE,aAAc,OAAQY,OAAO,GACjIlhC,KAAKy3B,MAAMkvB,eAAe7kB,EAAOkgB,EAAQhgD,QAAQ0pC,QAAQoD,QAG7D,aAAc4V,EAAsBtC,EAASl3C,KAAK05C,MAAM,GACxD,mBAAoBF,EAAsBtC,EAASl3C,KAAK05C,MAAM,GAC9D,cAAeF,EAAsBtC,EAASl3C,KAAK25C,OAAO,GAC1D,oBAAqBH,EAAsBtC,EAASl3C,KAAK25C,OAAO,KA0NpExmD,EAAQ2D,QAAUogD,EAClB/jD,EAAQyjD,SAAWA,GAIb,SAAU1jD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIwL,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjBskC,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ7mB,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEf6nB,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCM,EAAQl6B,EAAoB,GAE5Bm6B,EAASV,EAAuBS,GAEpC,SAAST,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI6hB,EAAS,SAAU3hB,GAUrB,SAAS2hB,EAAO1hB,EAAS5N,GACvBlb,EAAgB7c,KAAMqnD,GAEtB,IAAI1pB,EAAQyH,EAA2BplC,MAAOqnD,EAAO9pB,WAAa/+B,OAAO8lC,eAAe+iB,IAASloD,KAAKa,KAAM2lC,IAM5G,OAJAhI,EAAM5F,UAAYA,EAClB4F,EAAMsb,SAAWh0C,SAASqiD,eAAeD,EAAOrP,UAChDra,EAAMgI,QAAQvS,YAAYuK,EAAMsb,UAChCtb,EAAM4pB,QAAU,EACT5pB,EAwHT,OA1IA2H,EAAU+hB,EAAQ3hB,GAElBnoB,EAAa8pC,EAAQ,KAAM,CAAC,CAC1B1mD,IAAK,QACL1B,MAAO,gBAiBTse,EAAa8pC,EAAQ,CAAC,CACpB1mD,IAAK,SACL1B,MAAO,WAEc,MAAfe,KAAKwvB,QAAgBxvB,KAAKwvB,OAAOgmB,YAAYx1C,QAElD,CACDW,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GAC3B,GAAqB,IAAjBe,KAAKunD,QACP,OAAOpjB,EAAKkjB,EAAO5oD,UAAU8+B,WAAa/+B,OAAO8lC,eAAe+iB,EAAO5oD,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqK,EAAMpL,GAEtH,IAAIge,EAASjd,KACTU,EAAQ,EACZ,MAAiB,MAAVuc,GAAkBA,EAAOgqB,QAAQh4B,QAAU41B,EAAY7iC,QAAQk6B,MAAMmK,WAC1E3lC,GAASuc,EAAOiD,OAAOjD,EAAOuS,QAC9BvS,EAASA,EAAOuS,OAEJ,MAAVvS,IACFjd,KAAKunD,QAAUF,EAAOrP,SAAS10C,OAC/B2Z,EAAOs4B,WACPt4B,EAAO+3B,SAASt0C,EAAO2mD,EAAOrP,SAAS10C,OAAQ+G,EAAMpL,GACrDe,KAAKunD,QAAU,KAGlB,CACD5mD,IAAK,QACL1B,MAAO,SAAeosB,EAAMnL,GAC1B,OAAImL,IAASrrB,KAAKi5C,SAAiB,EAC5B9U,EAAKkjB,EAAO5oD,UAAU8+B,WAAa/+B,OAAO8lC,eAAe+iB,EAAO5oD,WAAY,QAASuB,MAAMb,KAAKa,KAAMqrB,EAAMnL,KAEpH,CACDvf,IAAK,SACL1B,MAAO,WACL,OAAOe,KAAKunD,UAEb,CACD5mD,IAAK,WACL1B,MAAO,WACL,MAAO,CAACe,KAAKi5C,SAAUj5C,KAAKi5C,SAAS/2C,KAAKoB,UAE3C,CACD3C,IAAK,SACL1B,MAAO,WACLklC,EAAKkjB,EAAO5oD,UAAU8+B,WAAa/+B,OAAO8lC,eAAe+iB,EAAO5oD,WAAY,SAAUuB,MAAMb,KAAKa,MACjGA,KAAKwvB,OAAS,OAEf,CACD7uB,IAAK,UACL1B,MAAO,WACL,IAAIe,KAAK+3B,UAAUygB,WAA4B,MAAfx4C,KAAKwvB,OAArC,CACA,IAAIypB,EAAWj5C,KAAKi5C,SAChB51B,EAAQrjB,KAAK+3B,UAAUihB,iBACvBwO,OAAc,EACd5+C,OAAQ,EACRC,OAAM,EACV,GAAa,MAATwa,GAAiBA,EAAMza,MAAMyiB,OAAS4tB,GAAY51B,EAAMxa,IAAIwiB,OAAS4tB,EAAU,CACjF,IAAIjH,EAAO,CAACiH,EAAU51B,EAAMza,MAAMsX,OAAQmD,EAAMxa,IAAIqX,QACpDsnC,EAAcxV,EAAK,GACnBppC,EAAQopC,EAAK,GACbnpC,EAAMmpC,EAAK,GAGb,MAAiC,MAA1BhyC,KAAK2lC,QAAQ6V,WAAqBx7C,KAAK2lC,QAAQ6V,YAAcx7C,KAAKi5C,SACvEj5C,KAAK2lC,QAAQpH,WAAW4H,aAAanmC,KAAK2lC,QAAQ6V,UAAWx7C,KAAK2lC,SAEpE,GAAI3lC,KAAKi5C,SAAS/2C,OAASmlD,EAAOrP,SAAU,CAC1C,IAAI5X,EAAOpgC,KAAKi5C,SAAS/2C,KAAKmf,MAAMgmC,EAAOrP,UAAUjvC,KAAK,IACtD/I,KAAKsqB,gBAAgB6a,EAAOnjC,SAC9BwlD,EAAcxnD,KAAKsqB,KAAKqb,QACxB3lC,KAAKsqB,KAAK8b,SAAS,EAAGhG,GACtBpgC,KAAKi5C,SAAS/2C,KAAOmlD,EAAOrP,WAE5Bh4C,KAAKi5C,SAAS/2C,KAAOk+B,EACrBpgC,KAAKwvB,OAAO2W,aAAatB,EAAY7iC,QAAQm6B,OAAOn8B,KAAKi5C,UAAWj5C,MACpEA,KAAKi5C,SAAWh0C,SAASqiD,eAAeD,EAAOrP,UAC/Ch4C,KAAK2lC,QAAQvS,YAAYpzB,KAAKi5C,WAIlC,GADAj5C,KAAK8mC,SACQ,MAATl+B,EAAe,CACjB,IAAIonC,EAAO,CAACpnC,EAAOC,GAAK8B,KAAI,SAAUuV,GACpC,OAAOka,KAAKgW,IAAI,EAAGhW,KAAK2H,IAAIylB,EAAYtlD,KAAKoB,OAAQ4c,EAAS,OAG5DgwB,EAAQzlC,EAAeulC,EAAM,GAKjC,OAHApnC,EAAQsnC,EAAM,GACdrnC,EAAMqnC,EAAM,GAEL,CACLmJ,UAAWmO,EACXlO,YAAa1wC,EACb2wC,QAASiO,EACThO,UAAW3wC,OAIhB,CACDlI,IAAK,SACL1B,MAAO,SAAgB+qC,EAAWzjC,GAChC,IAAIggC,EAASvmC,KAEb,GAAIgqC,EAAUhpC,MAAK,SAAUy8C,GAC3B,MAAyB,kBAAlBA,EAAS17C,MAA4B07C,EAASxgC,SAAWspB,EAAO0S,YACrE,CACF,IAAI51B,EAAQrjB,KAAKy5C,UACbp2B,IAAO9c,EAAQ8c,MAAQA,MAG9B,CACD1iB,IAAK,QACL1B,MAAO,WACL,MAAO,OAIJooD,EA3II,CA4IXxiB,EAAY7iC,QAAQ06B,OAEtB2qB,EAAOjoB,SAAW,SAClBioB,EAAO9nB,UAAY,YACnB8nB,EAAOtoB,QAAU,OACjBsoB,EAAOrP,SAAW,SAGlB35C,EAAQ2D,QAAUqlD,GAIZ,SAAUjpD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAI2lC,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCqP,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAErC,SAASxP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIjJ,EAAY,SAAUkrB,GAGxB,SAASlrB,IAGP,OAFA1f,EAAgB7c,KAAMu8B,GAEf6I,EAA2BplC,MAAOu8B,EAAUgB,WAAa/+B,OAAO8lC,eAAe/H,IAAY71B,MAAM1G,KAAMyG,YAGhH,OARA6+B,EAAU/I,EAAWkrB,GAQdlrB,EATO,CAUdsI,EAAY7iC,QAAQu6B,WAEtBA,EAAU4K,gBAAkB,CAAC+M,EAAQlyC,QAASiyC,EAAOjQ,WAAYzH,GAEjEl+B,EAAQ2D,QAAUu6B,GAIZ,SAAUn+B,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQqpD,WAAarpD,EAAQspD,WAAatpD,EAAQupD,qBAAkB7oD,EAEpE,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIoiB,EAAkB,SAAUC,GAG9B,SAASD,IAGP,OAFA/qC,EAAgB7c,KAAM4nD,GAEfxiB,EAA2BplC,MAAO4nD,EAAgBrqB,WAAa/+B,OAAO8lC,eAAesjB,IAAkBlhD,MAAM1G,KAAMyG,YAe5H,OApBA6+B,EAAUsiB,EAAiBC,GAQ3BtqC,EAAaqqC,EAAiB,CAAC,CAC7BjnD,IAAK,QACL1B,MAAO,SAAe0mC,GACpB,IAAI1mC,EAAQklC,EAAKyjB,EAAgBnpD,UAAU8+B,WAAa/+B,OAAO8lC,eAAesjB,EAAgBnpD,WAAY,QAASuB,MAAMb,KAAKa,KAAM2lC,GACpI,OAAK1mC,EAAMo0B,WAAW,SACtBp0B,EAAQA,EAAM80C,QAAQ,UAAW,IAAIA,QAAQ,UAAW,IACjD,IAAM90C,EAAMoiB,MAAM,KAAK1W,KAAI,SAAUpG,GAC1C,OAAQ,KAAOujD,SAASvjD,GAAW3F,SAAS,KAAK+E,OAAO,MACvDoF,KAAK,KAJ8B9J,MAQnC2oD,EArBa,CAsBpB/iB,EAAY7iC,QAAQ+6B,WAAWG,OAE7ByqB,EAAa,IAAI9iB,EAAY7iC,QAAQ+6B,WAAWE,MAAM,QAAS,WAAY,CAC7EhuB,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,SAE/B+oB,EAAa,IAAIE,EAAgB,QAAS,QAAS,CACrD34C,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,SAGnCtgC,EAAQupD,gBAAkBA,EAC1BvpD,EAAQspD,WAAaA,EACrBtpD,EAAQqpD,WAAaA,GAIf,SAAUtpD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ0pD,SAAW1pD,EAAQ2D,aAAUjD,EAErC,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZY,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAEtC,SAASP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIwiB,EAAO,SAAU7T,GAGnB,SAAS6T,IAGP,OAFAnrC,EAAgB7c,KAAMgoD,GAEf5iB,EAA2BplC,MAAOgoD,EAAKzqB,WAAa/+B,OAAO8lC,eAAe0jB,IAAOthD,MAAM1G,KAAMyG,YAgCtG,OArCA6+B,EAAU0iB,EAAM7T,GAQhB52B,EAAayqC,EAAM,CAAC,CAClBrnD,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GAC3B,GAAIoL,IAASrK,KAAKinC,QAAQ7H,WAAangC,EAAO,OAAOklC,EAAK6jB,EAAKvpD,UAAU8+B,WAAa/+B,OAAO8lC,eAAe0jB,EAAKvpD,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqK,EAAMpL,GAC9JA,EAAQe,KAAKL,YAAYooD,SAAS9oD,GAClCe,KAAK2lC,QAAQoD,aAAa,OAAQ9pC,MAElC,CAAC,CACH0B,IAAK,SACL1B,MAAO,SAAgBA,GACrB,IAAIosB,EAAO8Y,EAAK6jB,EAAKzqB,WAAa/+B,OAAO8lC,eAAe0jB,GAAO,SAAUhoD,MAAMb,KAAKa,KAAMf,GAK1F,OAJAA,EAAQe,KAAK+nD,SAAS9oD,GACtBosB,EAAK0d,aAAa,OAAQ9pC,GAC1BosB,EAAK0d,aAAa,MAAO,uBACzB1d,EAAK0d,aAAa,SAAU,UACrB1d,IAER,CACD1qB,IAAK,UACL1B,MAAO,SAAiB0mC,GACtB,OAAOA,EAAQ7G,aAAa,UAE7B,CACDn+B,IAAK,WACL1B,MAAO,SAAkBypB,GACvB,OAAOu/B,EAAUv/B,EAAK1oB,KAAKkoD,oBAAsBx/B,EAAM1oB,KAAKmoD,kBAIzDH,EAtCE,CAuCT/iB,EAASjjC,SAOX,SAASimD,EAAUv/B,EAAK0/B,GACtB,IAAIC,EAASpjD,SAASC,cAAc,KACpCmjD,EAAOC,KAAO5/B,EACd,IAAI6/B,EAAWF,EAAOC,KAAK3kD,MAAM,EAAG0kD,EAAOC,KAAKlgD,QAAQ,MACxD,OAAOggD,EAAUhgD,QAAQmgD,IAAa,EATxCP,EAAK5oB,SAAW,OAChB4oB,EAAKjpB,QAAU,IACfipB,EAAKG,cAAgB,cACrBH,EAAKE,mBAAqB,CAAC,OAAQ,QAAS,SAAU,OAStD7pD,EAAQ2D,QAAUgmD,EAClB3pD,EAAQ0pD,SAAWE,GAIb,SAAU7pD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIO,EAA4B,oBAAXlB,QAAoD,kBAApBA,OAAOoB,SAAwB,SAAUD,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,gBAAkBgB,GAElQ8d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfyrC,EAAYx9C,EAAoB,IAEhCy9C,EAAahkB,EAAuB+jB,GAEpCE,EAAY19C,EAAoB,KAEhC29C,EAAalkB,EAAuBikB,GAExC,SAASjkB,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,IAAI+oD,EAAiB,EAErB,SAASC,EAAoBrlD,EAASsiC,GACpCtiC,EAAQulC,aAAajD,IAAiD,SAApCtiC,EAAQs7B,aAAagH,KAGzD,IAAIgjB,EAAS,WACX,SAASA,EAAOzlD,GACd,IAAIs6B,EAAQ39B,KAEZ6c,EAAgB7c,KAAM8oD,GAEtB9oD,KAAKqD,OAASA,EACdrD,KAAKk5B,UAAYj0B,SAASC,cAAc,QACxClF,KAAK+oD,cACL/oD,KAAKqD,OAAOoZ,MAAMusC,QAAU,OAC5BhpD,KAAKqD,OAAOk7B,WAAW4H,aAAanmC,KAAKk5B,UAAWl5B,KAAKqD,QAEzDrD,KAAKyW,MAAM46B,iBAAiB,aAAa,WACvC1T,EAAMsrB,kBAERjpD,KAAKyW,MAAM46B,iBAAiB,WAAW,SAAU9tB,GAC/C,OAAQA,EAAM5U,SAEZ,KAAK85C,EAAWzmD,QAAQkJ,KAAKs3C,MAC3B7kB,EAAMsrB,eACN,MAGF,KAAKR,EAAWzmD,QAAQkJ,KAAKq7C,OAC3B5oB,EAAMurB,SACN3lC,EAAM9U,iBACN,MACF,aAGJzO,KAAKqD,OAAOguC,iBAAiB,SAAUrxC,KAAKmqC,OAAOwI,KAAK3yC,OA4K1D,OAzKAud,EAAaurC,EAAQ,CAAC,CACpBnoD,IAAK,eACL1B,MAAO,WACLe,KAAKk5B,UAAUyP,UAAUiB,OAAO,eAEhCif,EAAoB7oD,KAAKyW,MAAO,iBAChCoyC,EAAoB7oD,KAAKqoB,QAAS,iBAEnC,CACD1nB,IAAK,YACL1B,MAAO,SAAmB0e,GACxB,IAAI4oB,EAASvmC,KAETS,EAAOwE,SAASC,cAAc,QA+BlC,OA9BAzE,EAAK0oD,SAAW,IAChB1oD,EAAKsoC,aAAa,OAAQ,UAE1BtoC,EAAKkoC,UAAUC,IAAI,kBACfjrB,EAAOyrC,aAAa,UACtB3oD,EAAKsoC,aAAa,aAAcprB,EAAOmhB,aAAa,UAElDnhB,EAAO22B,aACT7zC,EAAKsoC,aAAa,aAAcprB,EAAO22B,aAEzC7zC,EAAK4wC,iBAAiB,SAAS,WAC7B9K,EAAO8iB,WAAW5oD,GAAM,MAE1BA,EAAK4wC,iBAAiB,WAAW,SAAU9tB,GACzC,OAAQA,EAAM5U,SAEZ,KAAK85C,EAAWzmD,QAAQkJ,KAAKs3C,MAC3Bjc,EAAO8iB,WAAW5oD,GAAM,GACxB8iB,EAAM9U,iBACN,MAGF,KAAKg6C,EAAWzmD,QAAQkJ,KAAKq7C,OAC3BhgB,EAAO2iB,SACP3lC,EAAM9U,iBACN,MACF,aAIGhO,IAER,CACDE,IAAK,aACL1B,MAAO,WACL,IAAIwX,EAAQxR,SAASC,cAAc,QAOnC,OANAuR,EAAMkyB,UAAUC,IAAI,mBACpBnyB,EAAMiyB,UAAYigB,EAAW3mD,QAC7ByU,EAAM0yC,SAAW,IACjB1yC,EAAMsyB,aAAa,OAAQ,UAC3BtyB,EAAMsyB,aAAa,gBAAiB,SACpC/oC,KAAKk5B,UAAU9F,YAAY3c,GACpBA,IAER,CACD9V,IAAK,eACL1B,MAAO,WACL,IAAI+rC,EAAShrC,KAETqoB,EAAUpjB,SAASC,cAAc,QACrCmjB,EAAQsgB,UAAUC,IAAI,qBAGtBvgB,EAAQ0gB,aAAa,cAAe,QACpC1gB,EAAQ8gC,SAAW,KAGnB9gC,EAAQvd,GAAK,qBAAuB89C,EACpCA,GAAkB,EAClB5oD,KAAKyW,MAAMsyB,aAAa,gBAAiB1gB,EAAQvd,IAEjD9K,KAAKqoB,QAAUA,EAEf,GAAG1kB,MAAMxE,KAAKa,KAAKqD,OAAOglB,SAAS1U,SAAQ,SAAUgK,GACnD,IAAIld,EAAOuqC,EAAOse,UAAU3rC,GAC5B0K,EAAQ+K,YAAY3yB,IACI,IAApBkd,EAAO6Q,UACTwc,EAAOqe,WAAW5oD,MAGtBT,KAAKk5B,UAAU9F,YAAY/K,KAE5B,CACD1nB,IAAK,cACL1B,MAAO,WACL,IAAIwsC,EAASzrC,KAEb,GAAG2D,MAAMxE,KAAKa,KAAKqD,OAAOu6B,YAAYjqB,SAAQ,SAAUlT,GACtDgrC,EAAOvS,UAAU6P,aAAatoC,EAAK4J,KAAM5J,EAAKxB,UAEhDe,KAAKk5B,UAAUyP,UAAUC,IAAI,aAC7B5oC,KAAKyW,MAAQzW,KAAKupD,aAClBvpD,KAAKwpD,iBAEN,CACD7oD,IAAK,SACL1B,MAAO,WACL,IAAI+sC,EAAShsC,KAGbA,KAAK6N,QAGL9G,YAAW,WACT,OAAOilC,EAAOv1B,MAAM80B,UACnB,KAEJ,CACD5qC,IAAK,QACL1B,MAAO,WACLe,KAAKk5B,UAAUyP,UAAU7B,OAAO,eAChC9mC,KAAKyW,MAAMsyB,aAAa,gBAAiB,SACzC/oC,KAAKqoB,QAAQ0gB,aAAa,cAAe,UAE1C,CACDpoC,IAAK,aACL1B,MAAO,SAAoBwB,GACzB,IAAIgpD,EAAUhjD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAEzE+nB,EAAWxuB,KAAKk5B,UAAUE,cAAc,gBAC5C,GAAI34B,IAAS+tB,IACG,MAAZA,GACFA,EAASma,UAAU7B,OAAO,eAEhB,MAARrmC,IACJA,EAAKkoC,UAAUC,IAAI,eACnB5oC,KAAKqD,OAAOqmD,cAAgB,GAAGthD,QAAQjJ,KAAKsB,EAAK89B,WAAW7nB,SAAUjW,GAClEA,EAAK2oD,aAAa,cACpBppD,KAAKyW,MAAMsyB,aAAa,aAActoC,EAAKq+B,aAAa,eAExD9+B,KAAKyW,MAAMu9B,gBAAgB,cAEzBvzC,EAAK2oD,aAAa,cACpBppD,KAAKyW,MAAMsyB,aAAa,aAActoC,EAAKq+B,aAAa,eAExD9+B,KAAKyW,MAAMu9B,gBAAgB,cAEzByV,IAAS,CACX,GAAqB,oBAAVE,MACT3pD,KAAKqD,OAAOumD,cAAc,IAAID,MAAM,gBAC/B,GAAsE,YAAhD,qBAAVA,MAAwB,YAAcnqD,EAAQmqD,QAAsB,CAErF,IAAIpmC,EAAQte,SAAS4kD,YAAY,SACjCtmC,EAAMumC,UAAU,UAAU,GAAM,GAChC9pD,KAAKqD,OAAOumD,cAAcrmC,GAE5BvjB,KAAK6N,WAGR,CACDlN,IAAK,SACL1B,MAAO,WACL,IAAI0e,OAAS,EACb,GAAI3d,KAAKqD,OAAOqmD,eAAiB,EAAG,CAClC,IAAIjpD,EAAOT,KAAKk5B,UAAUE,cAAc,sBAAsB1iB,SAAS1W,KAAKqD,OAAOqmD,eACnF/rC,EAAS3d,KAAKqD,OAAOglB,QAAQroB,KAAKqD,OAAOqmD,eACzC1pD,KAAKqpD,WAAW5oD,QAEhBT,KAAKqpD,WAAW,MAElB,IAAIU,EAAqB,MAAVpsC,GAAkBA,IAAW3d,KAAKqD,OAAO+1B,cAAc,oBACtEp5B,KAAKyW,MAAMkyB,UAAUiB,OAAO,YAAamgB,OAItCjB,EA1MI,GA6MbzqD,EAAQ2D,QAAU8mD,GAIZ,SAAU1qD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAI2lC,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCmd,EAAS/2C,EAAoB,GAE7Bg3C,EAAUvd,EAAuBsd,GAEjC9N,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAEjCnP,EAAS95B,EAAoB,IAE7B+5B,EAAUN,EAAuBK,GAEjCmc,EAAaj2C,EAAoB,IAEjCk2C,EAAczc,EAAuBwc,GAErClL,EAAU/qC,EAAoB,IAE9BgrC,EAAWvR,EAAuBsR,GAElCiU,EAASh/C,EAAoB,IAE7Bi/C,EAAUxlB,EAAuBulB,GAEjChlB,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAElCklB,EAAUl/C,EAAoB,IAE9Bm/C,EAAW1lB,EAAuBylB,GAElChlB,EAAQl6B,EAAoB,GAE5Bm6B,EAASV,EAAuBS,GAEhCklB,EAAap/C,EAAoB,IAEjCq/C,EAAc5lB,EAAuB2lB,GAErCE,EAAWt/C,EAAoB,IAE/Bu/C,EAAY9lB,EAAuB6lB,GAEnC9B,EAAYx9C,EAAoB,IAEhCy9C,EAAahkB,EAAuB+jB,GAExC,SAAS/jB,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvFuiD,EAAQhgD,QAAQs6B,SAAS,CACvB,cAAe4X,EAAQlyC,QACvB,oBAAqBiyC,EAAOjQ,WAC5B,cAAee,EAAQ/iC,QACvB,kBAAmBk/C,EAAYl/C,QAC/B,eAAgBg0C,EAASh0C,QACzB,cAAeioD,EAAQjoD,QACvB,eAAgBijC,EAASjjC,QACzB,eAAgBmoD,EAASnoD,QACzB,aAAcmjC,EAAOnjC,QAErB,oBAAqBqoD,EAAYroD,QACjC,kBAAmBuoD,EAAUvoD,QAC7B,mBAAoBymD,EAAWzmD,UAGjC6iC,EAAY7iC,QAAQs6B,SAAS4X,EAAQlyC,QAAS+iC,EAAQ/iC,QAASg0C,EAASh0C,QAASijC,EAASjjC,QAASmoD,EAASnoD,QAASmjC,EAAOnjC,SAE5H3D,EAAQ2D,QAAUggD,EAAQhgD,SAIpB,SAAU5D,EAAQC,EAAS2M,GAEjC,aAEAxM,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI+8B,EAAWhxB,EAAoB,GAC/Bw/C,EAA4B,WAC5B,SAASA,EAAW7kB,GAChB3lC,KAAK2lC,QAAUA,EAEf3lC,KAAK2lC,QAAQ3J,EAASqC,UAAY,CAAEC,KAAMt+B,MAkJ9C,OAhJAxB,OAAO8e,eAAektC,EAAW/rD,UAAW,UAAW,CAEnDu8B,IAAK,WACD,OAAOh7B,KAAKL,aAEhBwd,YAAY,EACZC,cAAc,IAElBotC,EAAWruB,OAAS,SAAUl9B,GAC1B,GAAoB,MAAhBe,KAAK++B,QACL,MAAM,IAAI/C,EAASyB,eAAe,mCAEtC,IAAIpS,EAwBJ,OAvBI3mB,MAAM2E,QAAQrJ,KAAK++B,UACE,kBAAV9/B,IACPA,EAAQA,EAAMugC,cACVsoB,SAAS7oD,GAAOL,aAAeK,IAC/BA,EAAQ6oD,SAAS7oD,KAIrBosB,EADiB,kBAAVpsB,EACAgG,SAASC,cAAclF,KAAK++B,QAAQ9/B,EAAQ,IAE9Ce,KAAK++B,QAAQ32B,QAAQnJ,IAAU,EAC7BgG,SAASC,cAAcjG,GAGvBgG,SAASC,cAAclF,KAAK++B,QAAQ,KAI/C1T,EAAOpmB,SAASC,cAAclF,KAAK++B,SAEnC/+B,KAAKu/B,WACLlU,EAAKsd,UAAUC,IAAI5oC,KAAKu/B,WAErBlU,GAEXm/B,EAAW/rD,UAAUq7C,OAAS,WACP,MAAf95C,KAAKwvB,SACLxvB,KAAKkpC,OAASlpC,KAAKwvB,OAAO0Z,SAGlCshB,EAAW/rD,UAAUqlC,MAAQ,WACzB,IAAI6B,EAAU3lC,KAAK2lC,QAAQ8kB,WAAU,GACrC,OAAOzuB,EAASG,OAAOwJ,IAE3B6kB,EAAW/rD,UAAUu+C,OAAS,WACP,MAAfh9C,KAAKwvB,QACLxvB,KAAKwvB,OAAOgmB,YAAYx1C,aAErBA,KAAK2lC,QAAQ3J,EAASqC,WAEjCmsB,EAAW/rD,UAAUk2C,SAAW,SAAUj0C,EAAO4C,GAC7C,IAAIg7B,EAAOt+B,KAAKywC,QAAQ/vC,EAAO4C,GAC/Bg7B,EAAKwI,UAET0jB,EAAW/rD,UAAUu2C,SAAW,SAAUt0C,EAAO4C,EAAQ+G,EAAMpL,GAC3D,IAAIq/B,EAAOt+B,KAAKywC,QAAQ/vC,EAAO4C,GAC/B,GAAiD,MAA7C04B,EAASK,MAAMhyB,EAAM2xB,EAASE,MAAMsU,OAAiBvxC,EACrDq/B,EAAKoS,KAAKrmC,EAAMpL,QAEf,GAAsD,MAAlD+8B,EAASK,MAAMhyB,EAAM2xB,EAASE,MAAM2X,WAAoB,CAC7D,IAAIrkB,EAASwM,EAASG,OAAOn8B,KAAKinC,QAAQh4B,OAC1CqvB,EAAKoS,KAAKlhB,GACVA,EAAO6J,OAAOhvB,EAAMpL,KAG5BurD,EAAW/rD,UAAU2nC,SAAW,SAAU1lC,EAAOzB,EAAO+mC,GACpD,IAAI1H,EAAc,MAAP0H,EAAchK,EAASG,OAAO,OAAQl9B,GAAS+8B,EAASG,OAAOl9B,EAAO+mC,GAC7En6B,EAAM7L,KAAKqhB,MAAM3gB,GACrBV,KAAKwvB,OAAO2W,aAAa7H,EAAMzyB,IAEnC2+C,EAAW/rD,UAAU0+C,WAAa,SAAUuN,EAAYxN,QACpC,IAAZA,IAAsBA,EAAU,MACjB,MAAfl9C,KAAKwvB,QACLxvB,KAAKwvB,OAAO9Y,SAASowB,OAAO9mC,MAEhC,IAAI2qD,EAAa,KACjBD,EAAWh0C,SAASyvB,aAAanmC,KAAMk9C,GACxB,MAAXA,IACAyN,EAAazN,EAAQvX,SAErB3lC,KAAK2lC,QAAQpH,YAAcmsB,EAAW/kB,SACtC3lC,KAAK2lC,QAAQkY,aAAe8M,GAC5BD,EAAW/kB,QAAQQ,aAAanmC,KAAK2lC,QAASglB,GAElD3qD,KAAKwvB,OAASk7B,EACd1qD,KAAK85C,UAET0Q,EAAW/rD,UAAUgyC,QAAU,SAAU/vC,EAAO4C,GAC5C,IAAI2Z,EAASjd,KAAKqhB,MAAM3gB,GAExB,OADAuc,EAAOoE,MAAM/d,GACN2Z,GAEXutC,EAAW/rD,UAAU6E,OAAS,WAC1B,OAAO,GAEXknD,EAAW/rD,UAAUyhB,OAAS,SAAU5U,GAEpC,YADa,IAATA,IAAmBA,EAAOtL,KAAKwvB,QAChB,MAAfxvB,KAAKwvB,QAAkBxvB,MAAQsL,EACxB,EACJtL,KAAKwvB,OAAO9Y,SAASwJ,OAAOlgB,MAAQA,KAAKwvB,OAAOtP,OAAO5U,IAElEk/C,EAAW/rD,UAAU82C,SAAW,SAAUhvC,GAGC,MAAnCvG,KAAK2lC,QAAQ3J,EAASqC,kBAEfr+B,KAAK2lC,QAAQ3J,EAASqC,UAAU2L,WAG/CwgB,EAAW/rD,UAAUqoC,OAAS,WACK,MAA3B9mC,KAAK2lC,QAAQpH,YACbv+B,KAAK2lC,QAAQpH,WAAWiX,YAAYx1C,KAAK2lC,SAE7C3lC,KAAKg9C,UAETwN,EAAW/rD,UAAUs1C,QAAU,SAAU92B,GAChB,MAAjBA,EAAOuS,SAEXvS,EAAOuS,OAAO2W,aAAanmC,KAAMid,EAAOqN,MACxCrN,EAAO6pB,WAEX0jB,EAAW/rD,UAAUw/C,YAAc,SAAU5zC,EAAMpL,GAC/C,IAAIi/C,EAA8B,kBAAT7zC,EAAoB2xB,EAASG,OAAO9xB,EAAMpL,GAASoL,EAE5E,OADA6zC,EAAYnK,QAAQ/zC,MACbk+C,GAEXsM,EAAW/rD,UAAU4iB,MAAQ,SAAU3gB,EAAOsmC,GAC1C,OAAiB,IAAVtmC,EAAcV,KAAOA,KAAKsqB,MAErCkgC,EAAW/rD,UAAU0rC,OAAS,SAAUH,EAAWzjC,KAGnDikD,EAAW/rD,UAAUiyC,KAAO,SAAUrmC,EAAMpL,GACxC,IAAIk/C,EAA0B,kBAAT9zC,EAAoB2xB,EAASG,OAAO9xB,EAAMpL,GAASoL,EAKxE,OAJmB,MAAfrK,KAAKwvB,QACLxvB,KAAKwvB,OAAO2W,aAAagY,EAASn+C,KAAKsqB,MAE3C6zB,EAAQ/qB,YAAYpzB,MACbm+C,GAEXqM,EAAWprB,SAAW,WACforB,EAtJoB,GAwJ/BnsD,EAAQ2D,QAAUwoD,GAKZ,SAAUpsD,EAAQC,EAAS2M,GAEjC,aAEAxM,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI28B,EAAe5wB,EAAoB,IACnC6wB,EAAU7wB,EAAoB,IAC9B8wB,EAAU9wB,EAAoB,IAC9BgxB,EAAWhxB,EAAoB,GAC/B4/C,EAAiC,WACjC,SAASA,EAAgBjlB,GACrB3lC,KAAK49B,WAAa,GAClB59B,KAAK2lC,QAAUA,EACf3lC,KAAK08C,QAyDT,OAvDAkO,EAAgBnsD,UAAUqnC,UAAY,SAAUA,EAAW7mC,GAEnDA,EACI6mC,EAAU8C,IAAI5oC,KAAK2lC,QAAS1mC,KACS,MAAjC6mC,EAAU7mC,MAAMe,KAAK2lC,SACrB3lC,KAAK49B,WAAWkI,EAAUzG,UAAYyG,SAG/B9lC,KAAK49B,WAAWkI,EAAUzG,YAKzCyG,EAAUgB,OAAO9mC,KAAK2lC,gBACf3lC,KAAK49B,WAAWkI,EAAUzG,YAGzCurB,EAAgBnsD,UAAUi+C,MAAQ,WAC9B,IAAI/e,EAAQ39B,KACZA,KAAK49B,WAAa,GAClB,IAAIA,EAAahC,EAAa55B,QAAQkJ,KAAKlL,KAAK2lC,SAC5C9H,EAAUhC,EAAQ75B,QAAQkJ,KAAKlL,KAAK2lC,SACpCklB,EAAS/uB,EAAQ95B,QAAQkJ,KAAKlL,KAAK2lC,SACvC/H,EACKuE,OAAOtE,GACPsE,OAAO0oB,GACPl3C,SAAQ,SAAUtJ,GACnB,IAAIygD,EAAO9uB,EAASK,MAAMhyB,EAAM2xB,EAASE,MAAM2X,WAC3CiX,aAAgBlvB,EAAa55B,UAC7B27B,EAAMC,WAAWktB,EAAKzrB,UAAYyrB,OAI9CF,EAAgBnsD,UAAUmlC,KAAO,SAAU3mB,GACvC,IAAI0gB,EAAQ39B,KACZxB,OAAO0M,KAAKlL,KAAK49B,YAAYjqB,SAAQ,SAAUhT,GAC3C,IAAI1B,EAAQ0+B,EAAMC,WAAWj9B,GAAK1B,MAAM0+B,EAAMgI,SAC9C1oB,EAAOoc,OAAO14B,EAAK1B,OAG3B2rD,EAAgBnsD,UAAU2/C,KAAO,SAAUnhC,GACvC,IAAI0gB,EAAQ39B,KACZA,KAAK4jC,KAAK3mB,GACVze,OAAO0M,KAAKlL,KAAK49B,YAAYjqB,SAAQ,SAAUhT,GAC3Cg9B,EAAMC,WAAWj9B,GAAKmmC,OAAOnJ,EAAMgI,YAEvC3lC,KAAK49B,WAAa,IAEtBgtB,EAAgBnsD,UAAUonC,OAAS,WAC/B,IAAIlI,EAAQ39B,KACZ,OAAOxB,OAAO0M,KAAKlL,KAAK49B,YAAYkD,QAAO,SAAUlD,EAAYvzB,GAE7D,OADAuzB,EAAWvzB,GAAQszB,EAAMC,WAAWvzB,GAAMpL,MAAM0+B,EAAMgI,SAC/C/H,IACR,KAEAgtB,EA7DyB,GA+DpCvsD,EAAQ2D,QAAU4oD,GAKZ,SAAUxsD,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI28B,EAAe5wB,EAAoB,IACvC,SAASZ,EAAMihB,EAAM63B,GACjB,IAAI3jB,EAAYlU,EAAKyT,aAAa,UAAY,GAC9C,OAAOS,EAAUle,MAAM,OAAOhN,QAAO,SAAUhK,GAC3C,OAAsC,IAA/BA,EAAKjC,QAAQ86C,EAAS,QAGrC,IAAI6H,EAAiC,SAAUrtB,GAE3C,SAASqtB,IACL,OAAkB,OAAXrtB,GAAmBA,EAAOh3B,MAAM1G,KAAMyG,YAAczG,KA+B/D,OAjCAo9B,EAAU2tB,EAAiBrtB,GAI3BqtB,EAAgB7/C,KAAO,SAAUmgB,GAC7B,OAAQA,EAAKyT,aAAa,UAAY,IAAIzd,MAAM,OAAO1W,KAAI,SAAUN,GACjE,OAAOA,EACFgX,MAAM,KACN1d,MAAM,GAAI,GACVoF,KAAK,SAGlBgiD,EAAgBtsD,UAAUmqC,IAAM,SAAUvd,EAAMpsB,GAC5C,QAAKe,KAAK8zC,OAAOzoB,EAAMpsB,KAEvBe,KAAK8mC,OAAOzb,GACZA,EAAKsd,UAAUC,IAAI5oC,KAAKs/B,QAAU,IAAMrgC,IACjC,IAEX8rD,EAAgBtsD,UAAUqoC,OAAS,SAAUzb,GACzC,IAAI2/B,EAAU5gD,EAAMihB,EAAMrrB,KAAKs/B,SAC/B0rB,EAAQr3C,SAAQ,SAAUtJ,GACtBghB,EAAKsd,UAAU7B,OAAOz8B,MAEI,IAA1BghB,EAAKsd,UAAUrlC,QACf+nB,EAAK2oB,gBAAgB,UAG7B+W,EAAgBtsD,UAAUQ,MAAQ,SAAUosB,GACxC,IAAI9rB,EAAS6K,EAAMihB,EAAMrrB,KAAKs/B,SAAS,IAAM,GACzCrgC,EAAQM,EAAOoE,MAAM3D,KAAKs/B,QAAQh8B,OAAS,GAC/C,OAAOtD,KAAK8zC,OAAOzoB,EAAMpsB,GAASA,EAAQ,IAEvC8rD,EAlCyB,CAmClCnvB,EAAa55B,SACf3D,EAAQ2D,QAAU+oD,GAKZ,SAAU3sD,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAI28B,EAAe5wB,EAAoB,IACvC,SAASigD,EAAS5gD,GACd,IAAIpB,EAAQoB,EAAKgX,MAAM,KACnB6gB,EAAOj5B,EACNtF,MAAM,GACNgH,KAAI,SAAUugD,GACf,OAAOA,EAAK,GAAG1rB,cAAgB0rB,EAAKvnD,MAAM,MAEzCoF,KAAK,IACV,OAAOE,EAAM,GAAKi5B,EAEtB,IAAIipB,EAAiC,SAAUztB,GAE3C,SAASytB,IACL,OAAkB,OAAXztB,GAAmBA,EAAOh3B,MAAM1G,KAAMyG,YAAczG,KA2B/D,OA7BAo9B,EAAU+tB,EAAiBztB,GAI3BytB,EAAgBjgD,KAAO,SAAUmgB,GAC7B,OAAQA,EAAKyT,aAAa,UAAY,IAAIzd,MAAM,KAAK1W,KAAI,SAAU1L,GAC/D,IAAIiE,EAAMjE,EAAMoiB,MAAM,KACtB,OAAOne,EAAI,GAAGohB,WAGtB6mC,EAAgB1sD,UAAUmqC,IAAM,SAAUvd,EAAMpsB,GAC5C,QAAKe,KAAK8zC,OAAOzoB,EAAMpsB,KAGvBosB,EAAK5O,MAAMwuC,EAASjrD,KAAKs/B,UAAYrgC,GAC9B,IAEXksD,EAAgB1sD,UAAUqoC,OAAS,SAAUzb,GAEzCA,EAAK5O,MAAMwuC,EAASjrD,KAAKs/B,UAAY,GAChCjU,EAAKyT,aAAa,UACnBzT,EAAK2oB,gBAAgB,UAG7BmX,EAAgB1sD,UAAUQ,MAAQ,SAAUosB,GAExC,IAAIpsB,EAAQosB,EAAK5O,MAAMwuC,EAASjrD,KAAKs/B,UACrC,OAAOt/B,KAAK8zC,OAAOzoB,EAAMpsB,GAASA,EAAQ,IAEvCksD,EA9ByB,CA+BlCvvB,EAAa55B,SACf3D,EAAQ2D,QAAUmpD,GAKZ,SAAU/sD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEnB,SAASF,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,IAAIurD,EAAQ,WACV,SAASA,EAAM3zB,EAAOpP,GACpBxL,EAAgB7c,KAAMorD,GAEtBprD,KAAKy3B,MAAQA,EACbz3B,KAAKqoB,QAAUA,EACfroB,KAAKg5B,QAAU,GAuBjB,OApBAzb,EAAa6tC,EAAO,CAAC,CACnBzqD,IAAK,OACL1B,MAAO,WACL,IAAI0+B,EAAQ39B,KAEZxB,OAAO0M,KAAKlL,KAAKqoB,QAAQ2Q,SAASrlB,SAAQ,SAAUtJ,GACvB,MAAvBszB,EAAM3E,QAAQ3uB,IAChBszB,EAAM0L,UAAUh/B,QAIrB,CACD1J,IAAK,YACL1B,MAAO,SAAmBoL,GACxB,IAAIklC,EAAcvvC,KAAKy3B,MAAM93B,YAAYuvC,OAAO,WAAa7kC,GAE7D,OADArK,KAAKg5B,QAAQ3uB,GAAQ,IAAIklC,EAAYvvC,KAAKy3B,MAAOz3B,KAAKqoB,QAAQ2Q,QAAQ3uB,IAAS,IACxErK,KAAKg5B,QAAQ3uB,OAIjB+gD,EA7BG,GAgCZA,EAAMnc,SAAW,CACfjW,QAAS,IAEXoyB,EAAMC,OAAS,CACb,QAAWD,GAGb/sD,EAAQ2D,QAAUopD,GAIZ,SAAUhtD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCM,EAAQl6B,EAAoB,GAE5Bm6B,EAASV,EAAuBS,GAEpC,SAAST,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI8lB,EAAa,SAEb5uB,EAAQ,SAAUgJ,GAGpB,SAAShJ,EAAMrR,GACbxO,EAAgB7c,KAAM08B,GAEtB,IAAIiB,EAAQyH,EAA2BplC,MAAO08B,EAAMa,WAAa/+B,OAAO8lC,eAAe5H,IAAQv9B,KAAKa,KAAMqrB,IAY1G,OAVAsS,EAAM4tB,YAActmD,SAASC,cAAc,QAC3Cy4B,EAAM4tB,YAAYxiB,aAAa,mBAAmB,GAClD,GAAGplC,MAAMxE,KAAKw+B,EAAMgI,QAAQ4V,YAAY5nC,SAAQ,SAAU63C,GACxD7tB,EAAM4tB,YAAYn4B,YAAYo4B,MAEhC7tB,EAAM8tB,UAAYxmD,SAASqiD,eAAegE,GAC1C3tB,EAAM+tB,WAAazmD,SAASqiD,eAAegE,GAC3C3tB,EAAMgI,QAAQvS,YAAYuK,EAAM8tB,WAChC9tB,EAAMgI,QAAQvS,YAAYuK,EAAM4tB,aAChC5tB,EAAMgI,QAAQvS,YAAYuK,EAAM+tB,YACzB/tB,EAiET,OAlFA2H,EAAU5I,EAAOgJ,GAoBjBnoB,EAAamf,EAAO,CAAC,CACnB/7B,IAAK,QACL1B,MAAO,SAAeosB,EAAMnL,GAC1B,OAAImL,IAASrrB,KAAKyrD,UAAkB,EAChCpgC,IAASrrB,KAAK0rD,WAAmB,EAC9BvnB,EAAKzH,EAAMj+B,UAAU8+B,WAAa/+B,OAAO8lC,eAAe5H,EAAMj+B,WAAY,QAASuB,MAAMb,KAAKa,KAAMqrB,EAAMnL,KAElH,CACDvf,IAAK,UACL1B,MAAO,SAAiBosB,GACtB,IAAIhI,OAAQ,EACR41B,OAAW,EACX7Y,EAAO/U,EAAKnpB,KAAKmf,MAAMiqC,GAAYviD,KAAK,IAC5C,GAAIsiB,IAASrrB,KAAKyrD,UAChB,GAAIzrD,KAAKs1C,gBAAgBnQ,EAAOnjC,QAAS,CACvC,IAAI2pD,EAAa3rD,KAAKs1C,KAAKhyC,SAC3BtD,KAAKs1C,KAAKlP,SAASulB,EAAYvrB,GAC/B/c,EAAQ,CACNg2B,UAAWr5C,KAAKs1C,KAAK3P,QACrB2T,YAAaqS,EAAavrB,EAAK98B,aAGjC21C,EAAWh0C,SAASqiD,eAAelnB,GACnCpgC,KAAKwvB,OAAO2W,aAAatB,EAAY7iC,QAAQm6B,OAAO8c,GAAWj5C,MAC/DqjB,EAAQ,CACNg2B,UAAWJ,EACXK,YAAalZ,EAAK98B,aAGb+nB,IAASrrB,KAAK0rD,aACnB1rD,KAAKsqB,gBAAgB6a,EAAOnjC,SAC9BhC,KAAKsqB,KAAK8b,SAAS,EAAGhG,GACtB/c,EAAQ,CACNg2B,UAAWr5C,KAAKsqB,KAAKqb,QACrB2T,YAAalZ,EAAK98B,UAGpB21C,EAAWh0C,SAASqiD,eAAelnB,GACnCpgC,KAAKwvB,OAAO2W,aAAatB,EAAY7iC,QAAQm6B,OAAO8c,GAAWj5C,KAAKsqB,MACpEjH,EAAQ,CACNg2B,UAAWJ,EACXK,YAAalZ,EAAK98B,UAKxB,OADA+nB,EAAKnpB,KAAOopD,EACLjoC,IAER,CACD1iB,IAAK,SACL1B,MAAO,SAAgB+qC,EAAWzjC,GAChC,IAAIggC,EAASvmC,KAEbgqC,EAAUr2B,SAAQ,SAAU8pC,GAC1B,GAAsB,kBAAlBA,EAAS17C,OAA6B07C,EAASxgC,SAAWspB,EAAOklB,WAAahO,EAASxgC,SAAWspB,EAAOmlB,YAAa,CACxH,IAAIroC,EAAQkjB,EAAOkT,QAAQgE,EAASxgC,QAChCoG,IAAO9c,EAAQ8c,MAAQA,WAM5BqZ,EAnFG,CAoFVmI,EAAY7iC,QAAQ06B,OAEtBr+B,EAAQ2D,QAAU06B,GAIZ,SAAUt+B,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQutD,WAAavtD,EAAQwtD,WAAaxtD,EAAQytD,oBAAiB/sD,EAEnE,IAAI6lC,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,IAAI2vC,EAAS,CACXngC,MAAO41B,EAAY7iC,QAAQk6B,MAAMwC,MACjCyK,UAAW,CAAC,QAAS,SAAU,YAG7B2iB,EAAiB,IAAIjnB,EAAY7iC,QAAQ+6B,WAAWC,UAAU,QAAS,QAASoS,GAChFyc,EAAa,IAAIhnB,EAAY7iC,QAAQ+6B,WAAWE,MAAM,QAAS,WAAYmS,GAC3Ewc,EAAa,IAAI/mB,EAAY7iC,QAAQ+6B,WAAWG,MAAM,QAAS,aAAckS,GAEjF/wC,EAAQytD,eAAiBA,EACzBztD,EAAQwtD,WAAaA,EACrBxtD,EAAQutD,WAAaA,GAIf,SAAUxtD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ0tD,gBAAkB1tD,EAAQ2tD,qBAAkBjtD,EAEpD,IAAI6lC,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCqnB,EAASjhD,EAAoB,IAEjC,SAASy5B,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,IAAIusD,EAAkB,IAAInnB,EAAY7iC,QAAQ+6B,WAAWE,MAAM,aAAc,QAAS,CACpFhuB,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,SAE/BotB,EAAkB,IAAIE,EAAOrE,gBAAgB,aAAc,mBAAoB,CACjF34C,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,SAGnCtgC,EAAQ2tD,gBAAkBA,EAC1B3tD,EAAQ0tD,gBAAkBA,GAIpB,SAAU3tD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ6tD,eAAiB7tD,EAAQ8tD,eAAiB9tD,EAAQ+tD,wBAAqBrtD,EAE/E,IAAI6lC,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,IAAI2vC,EAAS,CACXngC,MAAO41B,EAAY7iC,QAAQk6B,MAAMwC,MACjCyK,UAAW,CAAC,QAGVijB,EAAqB,IAAIvnB,EAAY7iC,QAAQ+6B,WAAWC,UAAU,YAAa,MAAOoS,GACtF+c,EAAiB,IAAItnB,EAAY7iC,QAAQ+6B,WAAWE,MAAM,YAAa,eAAgBmS,GACvF8c,EAAiB,IAAIrnB,EAAY7iC,QAAQ+6B,WAAWG,MAAM,YAAa,YAAakS,GAExF/wC,EAAQ+tD,mBAAqBA,EAC7B/tD,EAAQ8tD,eAAiBA,EACzB9tD,EAAQ6tD,eAAiBA,GAInB,SAAU9tD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQguD,UAAYhuD,EAAQiuD,eAAYvtD,EAExC,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI4J,EAAS,CACXngC,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,OACjCwK,UAAW,CAAC,QAAS,cAGnBkjB,EAAY,IAAIxnB,EAAY7iC,QAAQ+6B,WAAWE,MAAM,OAAQ,UAAWmS,GAExEmd,EAAsB,SAAU1E,GAGlC,SAAS0E,IAGP,OAFA1vC,EAAgB7c,KAAMusD,GAEfnnB,EAA2BplC,MAAOusD,EAAoBhvB,WAAa/+B,OAAO8lC,eAAeioB,IAAsB7lD,MAAM1G,KAAMyG,YAUpI,OAfA6+B,EAAUinB,EAAqB1E,GAQ/BtqC,EAAagvC,EAAqB,CAAC,CACjC5rD,IAAK,QACL1B,MAAO,SAAeosB,GACpB,OAAO8Y,EAAKooB,EAAoB9tD,UAAU8+B,WAAa/+B,OAAO8lC,eAAeioB,EAAoB9tD,WAAY,QAASuB,MAAMb,KAAKa,KAAMqrB,GAAM0oB,QAAQ,QAAS,QAI3JwY,EAhBiB,CAiBxB1nB,EAAY7iC,QAAQ+6B,WAAWG,OAE7BovB,EAAY,IAAIC,EAAoB,OAAQ,cAAend,GAE/D/wC,EAAQiuD,UAAYA,EACpBjuD,EAAQguD,UAAYA,GAId,SAAUjuD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQmuD,UAAYnuD,EAAQouD,eAAY1tD,EAExC,IAAI6lC,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,IAAIgtD,EAAY,IAAI5nB,EAAY7iC,QAAQ+6B,WAAWE,MAAM,OAAQ,UAAW,CAC1EhuB,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,OACjCwK,UAAW,CAAC,QAAS,QAAS,UAE5BqjB,EAAY,IAAI3nB,EAAY7iC,QAAQ+6B,WAAWG,MAAM,OAAQ,YAAa,CAC5EjuB,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,OACjCwK,UAAW,CAAC,OAAQ,OAAQ,UAG9B9qC,EAAQouD,UAAYA,EACpBpuD,EAAQmuD,UAAYA,GAId,SAAUpuD,EAAQC,EAAS2M,GAEjC,aAGA5M,EAAOC,QAAU,CACf,MAAS,CACP,GAAI2M,EAAoB,IACxB,OAAUA,EAAoB,IAC9B,MAASA,EAAoB,IAC7B,QAAWA,EAAoB,KAEjC,WAAcA,EAAoB,IAClC,WAAcA,EAAoB,IAClC,KAAQA,EAAoB,IAC5B,MAASA,EAAoB,IAC7B,KAAQA,EAAoB,IAC5B,aAAcA,EAAoB,IAClC,MAASA,EAAoB,IAC7B,UAAa,CACX,GAAIA,EAAoB,IACxB,IAAOA,EAAoB,KAE7B,MAAS,CACP,OAAUA,EAAoB,IAC9B,KAAQA,EAAoB,IAC5B,KAAQA,EAAoB,IAC5B,MAASA,EAAoB,KAE/B,QAAWA,EAAoB,IAC/B,OAAU,CACR,EAAKA,EAAoB,IACzB,EAAKA,EAAoB,KAE3B,OAAUA,EAAoB,IAC9B,MAASA,EAAoB,IAC7B,OAAU,CACR,KAAMA,EAAoB,IAC1B,KAAMA,EAAoB,KAE5B,KAAQA,EAAoB,IAC5B,KAAQ,CACN,QAAWA,EAAoB,IAC/B,OAAUA,EAAoB,KAC9B,MAASA,EAAoB,MAE/B,OAAU,CACR,IAAOA,EAAoB,KAC3B,MAASA,EAAoB,MAE/B,OAAUA,EAAoB,KAC9B,UAAaA,EAAoB,KACjC,MAASA,EAAoB,OAKzB,SAAU5M,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQquD,mBAAqBruD,EAAQ2D,aAAUjD,EAE/C,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEf6nB,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCmd,EAAS/2C,EAAoB,GAE7Bg3C,EAAUvd,EAAuBsd,GAEjCja,EAAU98B,EAAoB,GAE9B+8B,EAAWtD,EAAuBqD,GAEtC,SAASrD,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAImnB,EAAU,SAAUtK,GAGtB,SAASsK,EAAQl1B,EAAOpP,GACtBxL,EAAgB7c,KAAM2sD,GAEtB,IAAIhvB,EAAQyH,EAA2BplC,MAAO2sD,EAAQpvB,WAAa/+B,OAAO8lC,eAAeqoB,IAAUxtD,KAAKa,KAAMy3B,EAAOpP,IAkBrH,OAhBAsV,EAAMivB,aAAe,EACrBjvB,EAAMkvB,cAAe,EACrBlvB,EAAMrQ,QACNqQ,EAAMlG,MAAMvrB,GAAG81C,EAAQhgD,QAAQynC,OAAOC,eAAe,SAAU0H,EAAWtP,EAAO6N,EAAU5F,GACrFqH,IAAc4Q,EAAQhgD,QAAQynC,OAAOE,aAAehM,EAAMkvB,eACzDlvB,EAAMtV,QAAQykC,UAAY/iB,IAAWiY,EAAQhgD,QAAQ0pC,QAAQoD,KAGhEnR,EAAMmF,UAAUhB,GAFhBnE,EAAMovB,OAAOjrB,EAAO6N,OAKxBhS,EAAMlG,MAAM2R,SAASmZ,WAAW,CAAE5hD,IAAK,IAAK2lD,UAAU,GAAQ3oB,EAAMqvB,KAAKra,KAAKhV,IAC9EA,EAAMlG,MAAM2R,SAASmZ,WAAW,CAAE5hD,IAAK,IAAK2lD,UAAU,EAAM7D,UAAU,GAAQ9kB,EAAMsvB,KAAKta,KAAKhV,IAC1F,OAAOskB,KAAKC,UAAUC,WACxBxkB,EAAMlG,MAAM2R,SAASmZ,WAAW,CAAE5hD,IAAK,IAAK2lD,UAAU,GAAQ3oB,EAAMsvB,KAAKta,KAAKhV,IAEzEA,EAwET,OA/FA2H,EAAUqnB,EAAStK,GA0BnB9kC,EAAaovC,EAAS,CAAC,CACrBhsD,IAAK,SACL1B,MAAO,SAAgB8qC,EAAQmjB,GAC7B,GAAkC,IAA9BltD,KAAKmtD,MAAMpjB,GAAQzmC,OAAvB,CACA,IAAIw+B,EAAQ9hC,KAAKmtD,MAAMpjB,GAAQrJ,MAC/B1gC,KAAKmtD,MAAMD,GAAM3pD,KAAKu+B,GACtB9hC,KAAK4sD,aAAe,EACpB5sD,KAAK6sD,cAAe,EACpB7sD,KAAKy3B,MAAMkvB,eAAe7kB,EAAMiI,GAASiY,EAAQhgD,QAAQ0pC,QAAQoD,MACjE9uC,KAAK6sD,cAAe,EACpB,IAAInsD,EAAQgsD,EAAmB5qB,EAAMiI,IACrC/pC,KAAKy3B,MAAMmB,aAAal4B,MAEzB,CACDC,IAAK,QACL1B,MAAO,WACLe,KAAKmtD,MAAQ,CAAEH,KAAM,GAAIC,KAAM,MAEhC,CACDtsD,IAAK,SACL1B,MAAO,WACLe,KAAK4sD,aAAe,IAErB,CACDjsD,IAAK,SACL1B,MAAO,SAAgBmuD,EAAazd,GAClC,GAA+B,IAA3Byd,EAAYltB,IAAI58B,OAApB,CACAtD,KAAKmtD,MAAMF,KAAO,GAClB,IAAII,EAAYrtD,KAAKy3B,MAAMuV,cAActN,KAAKiQ,GAC1C2d,EAAYjnD,KAAKC,MACrB,GAAItG,KAAK4sD,aAAe5sD,KAAKqoB,QAAQzhB,MAAQ0mD,GAAattD,KAAKmtD,MAAMH,KAAK1pD,OAAS,EAAG,CACpF,IAAIw+B,EAAQ9hC,KAAKmtD,MAAMH,KAAKtsB,MAC5B2sB,EAAYA,EAAUhsB,QAAQS,EAAMkrB,MACpCI,EAActrB,EAAMmrB,KAAK5rB,QAAQ+rB,QAEjCptD,KAAK4sD,aAAeU,EAEtBttD,KAAKmtD,MAAMH,KAAKzpD,KAAK,CACnB0pD,KAAMG,EACNJ,KAAMK,IAEJrtD,KAAKmtD,MAAMH,KAAK1pD,OAAStD,KAAKqoB,QAAQklC,UACxCvtD,KAAKmtD,MAAMH,KAAKpmB,WAGnB,CACDjmC,IAAK,OACL1B,MAAO,WACLe,KAAK4rC,OAAO,OAAQ,UAErB,CACDjrC,IAAK,YACL1B,MAAO,SAAmB6iC,GACxB9hC,KAAKmtD,MAAMH,KAAKr5C,SAAQ,SAAUi4B,GAChCA,EAAOohB,KAAOlrB,EAAMgB,UAAU8I,EAAOohB,MAAM,GAC3CphB,EAAOqhB,KAAOnrB,EAAMgB,UAAU8I,EAAOqhB,MAAM,MAE7CjtD,KAAKmtD,MAAMF,KAAKt5C,SAAQ,SAAUi4B,GAChCA,EAAOohB,KAAOlrB,EAAMgB,UAAU8I,EAAOohB,MAAM,GAC3CphB,EAAOqhB,KAAOnrB,EAAMgB,UAAU8I,EAAOqhB,MAAM,QAG9C,CACDtsD,IAAK,OACL1B,MAAO,WACLe,KAAK4rC,OAAO,OAAQ,YAIjB+gB,EAhGK,CAiGZ5kB,EAAS/lC,SAQX,SAASwrD,EAAsB1rB,GAC7B,IAAIvB,EAASuB,EAAM5B,IAAI4B,EAAM5B,IAAI58B,OAAS,GAC1C,OAAc,MAAVi9B,IACiB,MAAjBA,EAAOJ,OACuB,kBAAlBI,EAAOJ,QAAuBI,EAAOJ,OAAO8F,SAAS,MAE5C,MAArB1F,EAAO3C,YACFp/B,OAAO0M,KAAKq1B,EAAO3C,YAAY58B,MAAK,SAAU8pD,GACnD,OAA2E,MAApEjmB,EAAY7iC,QAAQq6B,MAAMyuB,EAAMjmB,EAAY7iC,QAAQk6B,MAAMwC,WAMvE,SAASguB,EAAmB5qB,GAC1B,IAAI2rB,EAAe3rB,EAAMhB,QAAO,SAAUx9B,EAAQu8B,GAEhD,OADAv8B,GAAUu8B,EAAGqB,QAAU,EAChB59B,IACN,GACCoqD,EAAc5rB,EAAMx+B,SAAWmqD,EAInC,OAHID,EAAsB1rB,KACxB4rB,GAAe,GAEVA,EA7BTf,EAAQ1d,SAAW,CACjBroC,MAAO,IACP2mD,SAAU,IACVT,UAAU,GA6BZzuD,EAAQ2D,QAAU2qD,EAClBtuD,EAAQquD,mBAAqBA,GAIvB,SAAUtuD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQsvD,iBAAc5uD,EAExC,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZG,EAAUv5B,EAAoB,GAE9Bw5B,EAAWC,EAAuBF,GAElCG,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCmL,EAAW7kC,EAAoB,GAE/B8kC,EAAYrL,EAAuBoL,GAEnC2Y,EAAYx9C,EAAoB,IAEhCy9C,EAAahkB,EAAuB+jB,GAEpCpgB,EAASp9B,EAAoB,IAE7Bq9B,EAAU5D,EAAuB2D,GAEjCwlB,EAAe5iD,EAAoB,IAEnC6iD,EAAgBppB,EAAuBmpB,GAEvCE,EAAc9iD,EAAoB,IAElC+iD,EAAetpB,EAAuBqpB,GAEtCE,EAAUhjD,EAAoB,IAE9BijD,EAAWxpB,EAAuBupB,GAElCE,EAAWljD,EAAoB,IAE/BmjD,EAAY1pB,EAAuBypB,GAEvC,SAASzpB,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI4oB,EAAS,EAAC,EAAO,SAAU,QAAS,WAEpCC,EAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAEhYC,EAAQ,EAAC,EAAO,QAAS,aAEzBC,EAAU,CAAC,IAAK,IAAK,KAAK,GAE1BC,EAAQ,CAAC,SAAS,EAAO,QAAS,QAElCC,EAAY,SAAUC,GAGxB,SAASD,EAAUh3B,EAAOpP,GACxBxL,EAAgB7c,KAAMyuD,GAEtB,IAAI9wB,EAAQyH,EAA2BplC,MAAOyuD,EAAUlxB,WAAa/+B,OAAO8lC,eAAemqB,IAAYtvD,KAAKa,KAAMy3B,EAAOpP,IAErHsmC,EAAW,SAASA,EAASrvD,GAC/B,IAAK2F,SAAS2tB,KAAKmb,SAAStW,EAAMnsB,MAChC,OAAOrG,SAAS2tB,KAAKg8B,oBAAoB,QAASD,GAE/B,MAAjBhxB,EAAMkxB,SAAoBlxB,EAAMkxB,QAAQvjD,KAAKyiC,SAASzuC,EAAE2d,SAAWhY,SAASg2C,gBAAkBtd,EAAMkxB,QAAQC,SAAYnxB,EAAMlG,MAAM+V,YACtI7P,EAAMkxB,QAAQE,OAEK,MAAjBpxB,EAAMqxB,SACRrxB,EAAMqxB,QAAQr7C,SAAQ,SAAUs7C,GACzBA,EAAO/1B,UAAU6U,SAASzuC,EAAE2d,SAC/BgyC,EAAOphD,YAMf,OADA4pB,EAAMwR,QAAQ6P,UAAU,QAAS7zC,SAAS2tB,KAAM+7B,GACzChxB,EAyET,OAhGA2H,EAAUmpB,EAAWC,GA0BrBnxC,EAAakxC,EAAW,CAAC,CACvB9tD,IAAK,YACL1B,MAAO,SAAmBoL,GACxB,IAAIjM,EAAS+lC,EAAKsqB,EAAUhwD,UAAU8+B,WAAa/+B,OAAO8lC,eAAemqB,EAAUhwD,WAAY,YAAauB,MAAMb,KAAKa,KAAMqK,GAI7H,MAHa,YAATA,GACFrK,KAAKkvD,cAAc9wD,GAEdA,IAER,CACDuC,IAAK,eACL1B,MAAO,SAAsBkwD,EAASpwC,GACpCowC,EAAQx7C,SAAQ,SAAUy7C,GACxB,IAAI7vB,EAAY6vB,EAAOtwB,aAAa,UAAY,GAChDS,EAAUle,MAAM,OAAO1N,SAAQ,SAAUtJ,GACvC,GAAKA,EAAKgpB,WAAW,SACrBhpB,EAAOA,EAAK1G,MAAM,MAAML,QACL,MAAfyb,EAAM1U,IACV,GAAa,cAATA,EACF+kD,EAAO1mB,UAAY3pB,EAAM1U,GAAM,IAAM0U,EAAM1U,GAAM,YAC5C,GAA2B,kBAAhB0U,EAAM1U,GACtB+kD,EAAO1mB,UAAY3pB,EAAM1U,OACpB,CACL,IAAIpL,EAAQmwD,EAAOnwD,OAAS,GACf,MAATA,GAAiB8f,EAAM1U,GAAMpL,KAC/BmwD,EAAO1mB,UAAY3pB,EAAM1U,GAAMpL,aAMxC,CACD0B,IAAK,eACL1B,MAAO,SAAsBowD,EAAStwC,GACpC,IAAIwnB,EAASvmC,KAEbA,KAAKgvD,QAAUK,EAAQ1kD,KAAI,SAAUtH,GACnC,GAAIA,EAAOslC,UAAUoF,SAAS,YAI5B,OAHsC,MAAlC1qC,EAAO+1B,cAAc,WACvBk2B,EAAWjsD,EAAQ+qD,GAEd,IAAIL,EAAa/rD,QAAQqB,EAAQ0b,EAAMwwC,OACzC,GAAIlsD,EAAOslC,UAAUoF,SAAS,kBAAoB1qC,EAAOslC,UAAUoF,SAAS,YAAa,CAC9F,IAAI1U,EAASh2B,EAAOslC,UAAUoF,SAAS,iBAAmB,aAAe,QAIzE,OAHsC,MAAlC1qC,EAAO+1B,cAAc,WACvBk2B,EAAWjsD,EAAQgrD,EAAmB,eAAXh1B,EAA0B,UAAY,WAE5D,IAAIw0B,EAAc7rD,QAAQqB,EAAQ0b,EAAMsa,IAW/C,OATsC,MAAlCh2B,EAAO+1B,cAAc,YACnB/1B,EAAOslC,UAAUoF,SAAS,WAC5BuhB,EAAWjsD,EAAQirD,GACVjrD,EAAOslC,UAAUoF,SAAS,aACnCuhB,EAAWjsD,EAAQkrD,GACVlrD,EAAOslC,UAAUoF,SAAS,YACnCuhB,EAAWjsD,EAAQmrD,IAGhB,IAAIP,EAASjsD,QAAQqB,MAGhC,IAAI8mC,EAAS,WACX5D,EAAOyoB,QAAQr7C,SAAQ,SAAUs7C,GAC/BA,EAAO9kB,aAGXnqC,KAAKy3B,MAAMvrB,GAAG4jC,EAAU9tC,QAAQynC,OAAOC,cAAeS,OAInDskB,EAjGO,CAkGdpmB,EAAQrmC,SAEVysD,EAAUxf,UAAW,EAAIzK,EAASxiC,UAAS,EAAM,GAAIqmC,EAAQrmC,QAAQitC,SAAU,CAC7EjW,QAAS,CACPC,QAAS,CACPE,SAAU,CACRq2B,QAAS,WACPxvD,KAAKy3B,MAAM6B,MAAMu1B,QAAQY,KAAK,YAEhC9pD,MAAO,WACL,IAAIqlC,EAAShrC,KAET0vD,EAAY1vD,KAAKk5B,UAAUE,cAAc,6BAC5B,MAAbs2B,IACFA,EAAYzqD,SAASC,cAAc,SACnCwqD,EAAU3mB,aAAa,OAAQ,QAC/B2mB,EAAU3mB,aAAa,SAAU,6DACjC2mB,EAAU/mB,UAAUC,IAAI,YACxB8mB,EAAUre,iBAAiB,UAAU,WACnC,GAAuB,MAAnBqe,EAAUl3B,OAAuC,MAAtBk3B,EAAUl3B,MAAM,GAAY,CACzD,IAAInhB,EAAS,IAAIs4C,WACjBt4C,EAAOtR,OAAS,SAAUzG,GACxB,IAAI+jB,EAAQ2nB,EAAOvT,MAAMkU,cAAa,GACtCX,EAAOvT,MAAMkvB,gBAAe,IAAIhiB,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,OAAOwgC,OAAO7d,EAAM/f,QAAQ68B,OAAO,CAAEx6B,MAAOrG,EAAE2d,OAAO1d,SAAWuwC,EAAU9tC,QAAQ0pC,QAAQoD,MAC9J9D,EAAOvT,MAAMmB,aAAavV,EAAM3iB,MAAQ,EAAGovC,EAAU9tC,QAAQ0pC,QAAQK,QACrE2jB,EAAUzwD,MAAQ,IAEpBoY,EAAOC,cAAco4C,EAAUl3B,MAAM,QAGzCx4B,KAAKk5B,UAAU9F,YAAYs8B,IAE7BA,EAAUj+B,SAEZm+B,MAAO,WACL5vD,KAAKy3B,MAAM6B,MAAMu1B,QAAQY,KAAK,eAOxC,IAAI9B,EAAc,SAAUkC,GAG1B,SAASlC,EAAYl2B,EAAOq4B,GAC1BjzC,EAAgB7c,KAAM2tD,GAEtB,IAAIliB,EAASrG,EAA2BplC,MAAO2tD,EAAYpwB,WAAa/+B,OAAO8lC,eAAeqpB,IAAcxuD,KAAKa,KAAMy3B,EAAOq4B,IAI9H,OAFArkB,EAAOqjB,QAAUrjB,EAAOngC,KAAK8tB,cAAc,sBAC3CqS,EAAO2X,SACA3X,EA2FT,OApGAnG,EAAUqoB,EAAakC,GAYvBtyC,EAAaowC,EAAa,CAAC,CACzBhtD,IAAK,SACL1B,MAAO,WACL,IAAI+sC,EAAShsC,KAEbA,KAAK8uD,QAAQzd,iBAAiB,WAAW,SAAU9tB,GAC7CklC,EAAWzmD,QAAQoI,MAAMmZ,EAAO,UAClCyoB,EAAO+jB,OACPxsC,EAAM9U,kBACGg6C,EAAWzmD,QAAQoI,MAAMmZ,EAAO,YACzCyoB,EAAOgkB,SACPzsC,EAAM9U,uBAIX,CACD9N,IAAK,SACL1B,MAAO,WACLe,KAAK+uD,SAEN,CACDpuD,IAAK,OACL1B,MAAO,WACL,IAAIgxD,EAAOxpD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,OAC3EypD,EAAUzpD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,KAElFzG,KAAKsL,KAAKq9B,UAAU7B,OAAO,aAC3B9mC,KAAKsL,KAAKq9B,UAAUC,IAAI,cACT,MAAXsnB,EACFlwD,KAAK8uD,QAAQ7vD,MAAQixD,EACZD,IAASjwD,KAAKsL,KAAKwzB,aAAa,eACzC9+B,KAAK8uD,QAAQ7vD,MAAQ,IAEvBe,KAAKye,SAASze,KAAKy3B,MAAM6U,UAAUtsC,KAAKy3B,MAAMM,UAAU4gB,aACxD34C,KAAK8uD,QAAQzrD,SACbrD,KAAK8uD,QAAQ/lB,aAAa,cAAe/oC,KAAK8uD,QAAQhwB,aAAa,QAAUmxB,IAAS,IACtFjwD,KAAKsL,KAAKy9B,aAAa,YAAaknB,KAErC,CACDtvD,IAAK,eACL1B,MAAO,WACL,IAAIqsC,EAAYtrC,KAAKy3B,MAAMuR,mBAAmBsC,UAC9CtrC,KAAKy3B,MAAM8T,QACXvrC,KAAKy3B,MAAMuR,mBAAmBsC,UAAYA,IAE3C,CACD3qC,IAAK,OACL1B,MAAO,WACL,IAAIA,EAAQe,KAAK8uD,QAAQ7vD,MACzB,OAAQe,KAAKsL,KAAKwzB,aAAa,cAC7B,IAAK,OAED,IAAIwM,EAAYtrC,KAAKy3B,MAAMnsB,KAAKggC,UAC5BtrC,KAAKmwD,WACPnwD,KAAKy3B,MAAMqU,WAAW9rC,KAAKmwD,UAAW,OAAQlxD,EAAO6wC,EAAU9tC,QAAQ0pC,QAAQoD,aACxE9uC,KAAKmwD,YAEZnwD,KAAKowD,eACLpwD,KAAKy3B,MAAM4B,OAAO,OAAQp6B,EAAO6wC,EAAU9tC,QAAQ0pC,QAAQoD,OAE7D9uC,KAAKy3B,MAAMnsB,KAAKggC,UAAYA,EAC5B,MAEJ,IAAK,QAEDrsC,EAAQoxD,EAAgBpxD,GAE5B,IAAK,UAED,IAAKA,EAAO,MACZ,IAAIokB,EAAQrjB,KAAKy3B,MAAMkU,cAAa,GACpC,GAAa,MAATtoB,EAAe,CACjB,IAAI3iB,EAAQ2iB,EAAM3iB,MAAQ2iB,EAAM/f,OAChCtD,KAAKy3B,MAAMkB,YAAYj4B,EAAOV,KAAKsL,KAAKwzB,aAAa,aAAc7/B,EAAO6wC,EAAU9tC,QAAQ0pC,QAAQoD,MACxD,YAAxC9uC,KAAKsL,KAAKwzB,aAAa,cACzB9+B,KAAKy3B,MAAMqW,WAAWptC,EAAQ,EAAG,IAAKovC,EAAU9tC,QAAQ0pC,QAAQoD,MAElE9uC,KAAKy3B,MAAMmB,aAAal4B,EAAQ,EAAGovC,EAAU9tC,QAAQ0pC,QAAQoD,MAE/D,MAEJ,SAEF9uC,KAAK8uD,QAAQ7vD,MAAQ,GACrBe,KAAK+uD,WAIFpB,EArGS,CAsGhBQ,EAAUnsD,SAEZ,SAASquD,EAAgB3nC,GACvB,IAAIte,EAAQse,EAAIte,MAAM,+EAAiFse,EAAIte,MAAM,kEACjH,OAAIA,GACMA,EAAM,IAAM,SAAW,4BAA8BA,EAAM,GAAK,eAEtEA,EAAQse,EAAIte,MAAM,oDAEZA,EAAM,IAAM,SAAW,6BAA+BA,EAAM,GAAK,IAEpEse,EAGT,SAAS4mC,EAAWjsD,EAAQwiC,GAC1B,IAAIyqB,EAAe7pD,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAElFo/B,EAAOlyB,SAAQ,SAAU1U,GACvB,IAAI0e,EAAS1Y,SAASC,cAAc,UAChCjG,IAAUqxD,EACZ3yC,EAAOorB,aAAa,WAAY,YAEhCprB,EAAOorB,aAAa,QAAS9pC,GAE/BoE,EAAO+vB,YAAYzV,MAIvBtf,EAAQsvD,YAAcA,EACtBtvD,EAAQ2D,QAAUysD,GAIZ,SAAUrwD,EAAQC,EAAS2M,GAEjC,aAEAxM,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIsxD,EAA4B,WAC5B,SAASA,IACLvwD,KAAK6yB,KAAO7yB,KAAK6mC,KAAO,KACxB7mC,KAAKsD,OAAS,EA8HlB,OA5HAitD,EAAW9xD,UAAU+xD,OAAS,WAE1B,IADA,IAAIC,EAAQ,GACHvxB,EAAK,EAAGA,EAAKz4B,UAAUnD,OAAQ47B,IACpCuxB,EAAMvxB,GAAMz4B,UAAUy4B,GAE1Bl/B,KAAKmmC,aAAasqB,EAAM,GAAI,MACxBA,EAAMntD,OAAS,GACftD,KAAKwwD,OAAO9pD,MAAM1G,KAAMywD,EAAM9sD,MAAM,KAG5C4sD,EAAW9xD,UAAUsvC,SAAW,SAAU1iB,GACtC,IAAIqlC,EAAKpmC,EAAOtqB,KAAKN,WACrB,MAAQgxD,EAAMpmC,IACV,GAAIomC,IAAQrlC,EACR,OAAO,EAEf,OAAO,GAEXklC,EAAW9xD,UAAU0nC,aAAe,SAAU9a,EAAMyf,GAC3Czf,IAELA,EAAKf,KAAOwgB,EACG,MAAXA,GACAzf,EAAKiqB,KAAOxK,EAAQwK,KACA,MAAhBxK,EAAQwK,OACRxK,EAAQwK,KAAKhrB,KAAOe,GAExByf,EAAQwK,KAAOjqB,EACXyf,IAAY9qC,KAAK6yB,OACjB7yB,KAAK6yB,KAAOxH,IAGE,MAAbrrB,KAAK6mC,MACV7mC,KAAK6mC,KAAKvc,KAAOe,EACjBA,EAAKiqB,KAAOt1C,KAAK6mC,KACjB7mC,KAAK6mC,KAAOxb,IAGZA,EAAKiqB,KAAO,KACZt1C,KAAK6yB,KAAO7yB,KAAK6mC,KAAOxb,GAE5BrrB,KAAKsD,QAAU,IAEnBitD,EAAW9xD,UAAUyhB,OAAS,SAAUjD,GACpC,IAAIvc,EAAQ,EAAGgwD,EAAM1wD,KAAK6yB,KAC1B,MAAc,MAAP69B,EAAa,CAChB,GAAIA,IAAQzzC,EACR,OAAOvc,EACXA,GAASgwD,EAAIptD,SACbotD,EAAMA,EAAIpmC,KAEd,OAAQ,GAEZimC,EAAW9xD,UAAUqoC,OAAS,SAAUzb,GAC/BrrB,KAAK+tC,SAAS1iB,KAEF,MAAbA,EAAKiqB,OACLjqB,EAAKiqB,KAAKhrB,KAAOe,EAAKf,MACT,MAAbe,EAAKf,OACLe,EAAKf,KAAKgrB,KAAOjqB,EAAKiqB,MACtBjqB,IAASrrB,KAAK6yB,OACd7yB,KAAK6yB,KAAOxH,EAAKf,MACjBe,IAASrrB,KAAK6mC,OACd7mC,KAAK6mC,KAAOxb,EAAKiqB,MACrBt1C,KAAKsD,QAAU,IAEnBitD,EAAW9xD,UAAUiB,SAAW,SAAUixD,GAGtC,YAFgB,IAAZA,IAAsBA,EAAU3wD,KAAK6yB,MAElC,WACH,IAAI6b,EAAMiiB,EAGV,OAFe,MAAXA,IACAA,EAAUA,EAAQrmC,MACfokB,IAGf6hB,EAAW9xD,UAAU29B,KAAO,SAAU17B,EAAO48C,QACvB,IAAdA,IAAwBA,GAAY,GACxC,IAAIoT,EAAKpmC,EAAOtqB,KAAKN,WACrB,MAAQgxD,EAAMpmC,IAAS,CACnB,IAAIhnB,EAASotD,EAAIptD,SACjB,GAAI5C,EAAQ4C,GACPg6C,GAAa58C,IAAU4C,IAAuB,MAAZotD,EAAIpmC,MAAsC,IAAtBomC,EAAIpmC,KAAKhnB,UAChE,MAAO,CAACotD,EAAKhwD,GAEjBA,GAAS4C,EAEb,MAAO,CAAC,KAAM,IAElBitD,EAAW9xD,UAAUkV,QAAU,SAAUlI,GACrC,IAAIilD,EAAKpmC,EAAOtqB,KAAKN,WACrB,MAAQgxD,EAAMpmC,IACV7e,EAASilD,IAGjBH,EAAW9xD,UAAUm+C,UAAY,SAAUl8C,EAAO4C,EAAQmI,GACtD,KAAInI,GAAU,GAAd,CAEA,IACIotD,EADA5T,EAAK98C,KAAKo8B,KAAK17B,GAAQ24C,EAAYyD,EAAG,GAAI58B,EAAS48B,EAAG,GACjD8T,EAAWlwD,EAAQwf,EAAQoK,EAAOtqB,KAAKN,SAAS25C,GACzD,OAAQqX,EAAMpmC,MAAWsmC,EAAWlwD,EAAQ4C,EAAQ,CAChD,IAAIutD,EAAYH,EAAIptD,SAChB5C,EAAQkwD,EACRnlD,EAASilD,EAAKhwD,EAAQkwD,EAAUx2B,KAAK2H,IAAIz+B,EAAQstD,EAAWC,EAAYnwD,IAGxE+K,EAASilD,EAAK,EAAGt2B,KAAK2H,IAAI8uB,EAAWnwD,EAAQ4C,EAASstD,IAE1DA,GAAYC,KAGpBN,EAAW9xD,UAAUkM,IAAM,SAAUc,GACjC,OAAOzL,KAAK8gC,QAAO,SAAUsc,EAAMsT,GAE/B,OADAtT,EAAK75C,KAAKkI,EAASilD,IACZtT,IACR,KAEPmT,EAAW9xD,UAAUqiC,OAAS,SAAUr1B,EAAU2xC,GAC9C,IAAIsT,EAAKpmC,EAAOtqB,KAAKN,WACrB,MAAQgxD,EAAMpmC,IACV8yB,EAAO3xC,EAAS2xC,EAAMsT,GAE1B,OAAOtT,GAEJmT,EAjIoB,GAmI/BlyD,EAAQ2D,QAAUuuD,GAKZ,SAAUnyD,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIm8B,EAAcpwB,EAAoB,IAClCgxB,EAAWhxB,EAAoB,GAC/B8lD,EAAkB,CAClBlzB,YAAY,EACZmzB,eAAe,EACfC,uBAAuB,EACvBC,WAAW,EACXC,SAAS,GAETC,EAA0B,IAC1BC,EAA4B,SAAU1zB,GAEtC,SAAS0zB,EAAW/lC,GAChB,IAAIsS,EAAQD,EAAOv+B,KAAKa,KAAMqrB,IAASrrB,KAOvC,OANA29B,EAAMuL,OAASvL,EACfA,EAAMikB,SAAW,IAAIyP,kBAAiB,SAAUrnB,GAC5CrM,EAAMwM,OAAOH,MAEjBrM,EAAMikB,SAAS0P,QAAQ3zB,EAAMgI,QAASmrB,GACtCnzB,EAAMmc,SACCnc,EA8IX,OAvJAP,EAAUg0B,EAAY1zB,GAWtB0zB,EAAW3yD,UAAUu+C,OAAS,WAC1Btf,EAAOj/B,UAAUu+C,OAAO79C,KAAKa,MAC7BA,KAAK4hD,SAAS2P,cAElBH,EAAW3yD,UAAUk2C,SAAW,SAAUj0C,EAAO4C,GAC7CtD,KAAKmqC,SACS,IAAVzpC,GAAe4C,IAAWtD,KAAKsD,SAC/BtD,KAAK0W,SAAS/C,SAAQ,SAAUozB,GAC5BA,EAAMD,YAIVpJ,EAAOj/B,UAAUk2C,SAASx1C,KAAKa,KAAMU,EAAO4C,IAGpD8tD,EAAW3yD,UAAUu2C,SAAW,SAAUt0C,EAAO4C,EAAQ+G,EAAMpL,GAC3De,KAAKmqC,SACLzM,EAAOj/B,UAAUu2C,SAAS71C,KAAKa,KAAMU,EAAO4C,EAAQ+G,EAAMpL,IAE9DmyD,EAAW3yD,UAAU2nC,SAAW,SAAU1lC,EAAOzB,EAAO+mC,GACpDhmC,KAAKmqC,SACLzM,EAAOj/B,UAAU2nC,SAASjnC,KAAKa,KAAMU,EAAOzB,EAAO+mC,IAEvDorB,EAAW3yD,UAAU82C,SAAW,SAAUvL,EAAWzjC,GACjD,IAAIo3B,EAAQ39B,UACM,IAAdgqC,IAAwBA,EAAY,SACxB,IAAZzjC,IAAsBA,EAAU,IACpCm3B,EAAOj/B,UAAU82C,SAASp2C,KAAKa,KAAMuG,GAErC,IAAIirD,EAAU,GAAG7tD,MAAMxE,KAAKa,KAAK4hD,SAASC,eAG1C,MAAO2P,EAAQluD,OAAS,EACpB0mC,EAAUzmC,KAAKiuD,EAAQ9wB,OA+B3B,IA7BA,IAAIlhB,EAAO,SAAU8e,EAAMmzB,QACJ,IAAfA,IAAyBA,GAAa,GAC9B,MAARnzB,GAAgBA,IAASX,GAEE,MAA3BW,EAAKqH,QAAQpH,aAGgC,MAA7CD,EAAKqH,QAAQ3J,EAASqC,UAAU2L,YAEhC1L,EAAKqH,QAAQ3J,EAASqC,UAAU2L,UAAY,IAE5CynB,GACAjyC,EAAK8e,EAAK9O,UAEd+lB,EAAW,SAAUjX,GAIc,MAAnCA,EAAKqH,QAAQ3J,EAASqC,WAE2B,MAA7CC,EAAKqH,QAAQ3J,EAASqC,UAAU2L,YAGhC1L,aAAgBlD,EAAYp5B,SAC5Bs8B,EAAK5nB,SAAS/C,QAAQ4hC,GAE1BjX,EAAKiX,SAAShvC,KAEdmrD,EAAY1nB,EACPniC,EAAI,EAAG6pD,EAAUpuD,OAAS,EAAGuE,GAAK,EAAG,CAC1C,GAAIA,GAAKspD,EACL,MAAM,IAAIjpD,MAAM,mDAEpBwpD,EAAU/9C,SAAQ,SAAU8pC,GACxB,IAAInf,EAAOtC,EAASI,KAAKqhB,EAASxgC,QAAQ,GAC9B,MAARqhB,IAEAA,EAAKqH,UAAY8X,EAASxgC,SACJ,cAAlBwgC,EAAS17C,MACTyd,EAAKwc,EAASI,KAAKqhB,EAASkU,iBAAiB,IAC7C,GAAGh+C,QAAQxU,KAAKs+C,EAASF,YAAY,SAAUlyB,GAC3C,IAAI0b,EAAQ/K,EAASI,KAAK/Q,GAAM,GAChC7L,EAAKunB,GAAO,GACRA,aAAiB3L,EAAYp5B,SAC7B+kC,EAAMrwB,SAAS/C,SAAQ,SAAUi+C,GAC7BpyC,EAAKoyC,GAAY,UAKN,eAAlBnU,EAAS17C,MACdyd,EAAK8e,EAAKgX,OAGlB91B,EAAK8e,OAETt+B,KAAK0W,SAAS/C,QAAQ4hC,GACtBmc,EAAY,GAAG/tD,MAAMxE,KAAKa,KAAK4hD,SAASC,eACxC2P,EAAUE,EAAU/tD,QACpB,MAAO6tD,EAAQluD,OAAS,EACpB0mC,EAAUzmC,KAAKiuD,EAAQ9wB,SAGnC0wB,EAAW3yD,UAAU0rC,OAAS,SAAUH,EAAWzjC,GAC/C,IAAIo3B,EAAQ39B,UACI,IAAZuG,IAAsBA,EAAU,IACpCyjC,EAAYA,GAAahqC,KAAK4hD,SAASC,cAEvC7X,EACKr/B,KAAI,SAAU8yC,GACf,IAAInf,EAAOtC,EAASI,KAAKqhB,EAASxgC,QAAQ,GAC1C,OAAY,MAARqhB,EACO,KAEsC,MAA7CA,EAAKqH,QAAQ3J,EAASqC,UAAU2L,WAEhC1L,EAAKqH,QAAQ3J,EAASqC,UAAU2L,UAAY,CAACyT,GACtCnf,IAIPA,EAAKqH,QAAQ3J,EAASqC,UAAU2L,UAAUzmC,KAAKk6C,GACxC,SAGV9pC,SAAQ,SAAU2qB,GACP,MAARA,GACAA,IAASX,GAE0B,MAAnCW,EAAKqH,QAAQ3J,EAASqC,WAG1BC,EAAK6L,OAAO7L,EAAKqH,QAAQ3J,EAASqC,UAAU2L,WAAa,GAAIzjC,MAGhB,MAA7CvG,KAAK2lC,QAAQ3J,EAASqC,UAAU2L,WAEhCtM,EAAOj/B,UAAU0rC,OAAOhrC,KAAKa,KAAMA,KAAK2lC,QAAQ3J,EAASqC,UAAU2L,UAAWzjC,GAElFvG,KAAKu1C,SAASvL,EAAWzjC,IAE7B6qD,EAAWhyB,SAAW,SACtBgyB,EAAWlqB,aAAe,QAC1BkqB,EAAWniD,MAAQ+sB,EAASE,MAAMmK,WAClC+qB,EAAWryB,QAAU,MACdqyB,EAxJoB,CAyJ7Bh2B,EAAYp5B,SACd3D,EAAQ2D,QAAUovD,GAKZ,SAAUhzD,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIo8B,EAAWrwB,EAAoB,IAC/BgxB,EAAWhxB,EAAoB,GAEnC,SAAS6mD,EAAQC,EAAMC,GACnB,GAAIvzD,OAAO0M,KAAK4mD,GAAMxuD,SAAW9E,OAAO0M,KAAK6mD,GAAMzuD,OAC/C,OAAO,EAEX,IAAK,IAAI0uD,KAAQF,EAEb,GAAIA,EAAKE,KAAUD,EAAKC,GACpB,OAAO,EAEf,OAAO,EAEX,IAAIC,EAA4B,SAAUv0B,GAEtC,SAASu0B,IACL,OAAkB,OAAXv0B,GAAmBA,EAAOh3B,MAAM1G,KAAMyG,YAAczG,KA8C/D,OAhDAo9B,EAAU60B,EAAYv0B,GAItBu0B,EAAWrsB,QAAU,SAAUD,GAC3B,GAAIA,EAAQ5G,UAAYkzB,EAAWlzB,QAEnC,OAAOrB,EAAOkI,QAAQzmC,KAAKa,KAAM2lC,IAErCssB,EAAWxzD,UAAU46B,OAAS,SAAUhvB,EAAMpL,GAC1C,IAAI0+B,EAAQ39B,KACRqK,IAASrK,KAAKinC,QAAQ7H,UAAangC,EAUnCy+B,EAAOj/B,UAAU46B,OAAOl6B,KAAKa,KAAMqK,EAAMpL,IATzCe,KAAK0W,SAAS/C,SAAQ,SAAUozB,GACtBA,aAAiB1L,EAASr5B,UAC5B+kC,EAAQA,EAAM2J,KAAKuhB,EAAW7yB,UAAU,IAE5CzB,EAAMC,WAAWgG,KAAKmD,MAE1B/mC,KAAKy1C,WAMbwc,EAAWxzD,UAAUu2C,SAAW,SAAUt0C,EAAO4C,EAAQ+G,EAAMpL,GAC3D,GAA4B,MAAxBe,KAAK4lC,UAAUv7B,IAAiB2xB,EAASK,MAAMhyB,EAAM2xB,EAASE,MAAM2X,WAAY,CAChF,IAAIvV,EAAOt+B,KAAKywC,QAAQ/vC,EAAO4C,GAC/Bg7B,EAAKjF,OAAOhvB,EAAMpL,QAGlBy+B,EAAOj/B,UAAUu2C,SAAS71C,KAAKa,KAAMU,EAAO4C,EAAQ+G,EAAMpL,IAGlEgzD,EAAWxzD,UAAU82C,SAAW,SAAUhvC,GACtCm3B,EAAOj/B,UAAU82C,SAASp2C,KAAKa,KAAMuG,GACrC,IAAIq/B,EAAU5lC,KAAK4lC,UACnB,GAAoC,IAAhCpnC,OAAO0M,KAAK06B,GAAStiC,OACrB,OAAOtD,KAAKy1C,SAEhB,IAAInrB,EAAOtqB,KAAKsqB,KACZA,aAAgB2nC,GAAc3nC,EAAKgrB,OAASt1C,MAAQ6xD,EAAQjsB,EAAStb,EAAKsb,aAC1Etb,EAAKqmB,aAAa3wC,MAClBsqB,EAAKwc,WAGbmrB,EAAW7yB,SAAW,SACtB6yB,EAAWhjD,MAAQ+sB,EAASE,MAAMoiB,YAClC2T,EAAWlzB,QAAU,OACdkzB,EAjDoB,CAkD7B52B,EAASr5B,SACX3D,EAAQ2D,QAAUiwD,GAKZ,SAAU7zD,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIo8B,EAAWrwB,EAAoB,IAC/BgxB,EAAWhxB,EAAoB,GAC/BknD,EAA2B,SAAUx0B,GAErC,SAASw0B,IACL,OAAkB,OAAXx0B,GAAmBA,EAAOh3B,MAAM1G,KAAMyG,YAAczG,KAiD/D,OAnDAo9B,EAAU80B,EAAWx0B,GAIrBw0B,EAAUtsB,QAAU,SAAUD,GAC1B,IAAI5G,EAAU/C,EAASK,MAAM61B,EAAU9yB,UAAUL,QACjD,GAAI4G,EAAQ5G,UAAYA,EAExB,OAAOrB,EAAOkI,QAAQzmC,KAAKa,KAAM2lC,IAErCusB,EAAUzzD,UAAU46B,OAAS,SAAUhvB,EAAMpL,GACS,MAA9C+8B,EAASK,MAAMhyB,EAAM2xB,EAASE,MAAMwC,SAG/Br0B,IAASrK,KAAKinC,QAAQ7H,UAAangC,EAIxCy+B,EAAOj/B,UAAU46B,OAAOl6B,KAAKa,KAAMqK,EAAMpL,GAHzCe,KAAKi+C,YAAYiU,EAAU9yB,YAMnC8yB,EAAUzzD,UAAUu2C,SAAW,SAAUt0C,EAAO4C,EAAQ+G,EAAMpL,GACR,MAA9C+8B,EAASK,MAAMhyB,EAAM2xB,EAASE,MAAMwC,OACpC1+B,KAAKq5B,OAAOhvB,EAAMpL,GAGlBy+B,EAAOj/B,UAAUu2C,SAAS71C,KAAKa,KAAMU,EAAO4C,EAAQ+G,EAAMpL,IAGlEizD,EAAUzzD,UAAU2nC,SAAW,SAAU1lC,EAAOzB,EAAO+mC,GACnD,GAAW,MAAPA,GAA+D,MAAhDhK,EAASK,MAAMp9B,EAAO+8B,EAASE,MAAMyC,QAEpDjB,EAAOj/B,UAAU2nC,SAASjnC,KAAKa,KAAMU,EAAOzB,EAAO+mC,OAElD,CACD,IAAI6T,EAAQ75C,KAAKqhB,MAAM3gB,GACnB49B,EAAOtC,EAASG,OAAOl9B,EAAO+mC,GAClC6T,EAAMrqB,OAAO2W,aAAa7H,EAAMub,KAGxCqY,EAAUzzD,UAAU0rC,OAAS,SAAUH,EAAWzjC,GAC1C27C,UAAUY,UAAU14C,MAAM,WAC1BpK,KAAK08C,QAGLhf,EAAOj/B,UAAU0rC,OAAOhrC,KAAKa,KAAMgqC,EAAWzjC,IAGtD2rD,EAAU9yB,SAAW,QACrB8yB,EAAUjjD,MAAQ+sB,EAASE,MAAMmK,WACjC6rB,EAAUnzB,QAAU,IACbmzB,EApDmB,CAqD5B72B,EAASr5B,SACX3D,EAAQ2D,QAAUkwD,GAKZ,SAAU9zD,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIq8B,EAAStwB,EAAoB,IAC7BmnD,EAA2B,SAAUz0B,GAErC,SAASy0B,IACL,OAAkB,OAAXz0B,GAAmBA,EAAOh3B,MAAM1G,KAAMyG,YAAczG,KAsB/D,OAxBAo9B,EAAU+0B,EAAWz0B,GAIrBy0B,EAAUvsB,QAAU,SAAUD,KAG9BwsB,EAAU1zD,UAAU46B,OAAS,SAAUhvB,EAAMpL,GAIzCy+B,EAAOj/B,UAAUu2C,SAAS71C,KAAKa,KAAM,EAAGA,KAAKsD,SAAU+G,EAAMpL,IAEjEkzD,EAAU1zD,UAAUu2C,SAAW,SAAUt0C,EAAO4C,EAAQ+G,EAAMpL,GAC5C,IAAVyB,GAAe4C,IAAWtD,KAAKsD,SAC/BtD,KAAKq5B,OAAOhvB,EAAMpL,GAGlBy+B,EAAOj/B,UAAUu2C,SAAS71C,KAAKa,KAAMU,EAAO4C,EAAQ+G,EAAMpL,IAGlEkzD,EAAU1zD,UAAUmnC,QAAU,WAC1B,OAAO5lC,KAAKinC,QAAQrB,QAAQ5lC,KAAK2lC,UAE9BwsB,EAzBmB,CA0B5B72B,EAAOt5B,SACT3D,EAAQ2D,QAAUmwD,GAKZ,SAAU/zD,EAAQC,EAAS2M,GAEjC,aAEA,IAAIoyB,EAAap9B,MAAQA,KAAKo9B,WAAc,WACxC,IAAIC,EAAgB7+B,OAAO8+B,gBACtB,CAAEC,UAAW,cAAgB74B,OAAS,SAAU4tB,EAAGT,GAAKS,EAAEiL,UAAY1L,IACvE,SAAUS,EAAGT,GAAK,IAAK,IAAIF,KAAKE,EAAOA,EAAEnzB,eAAeizB,KAAIW,EAAEX,GAAKE,EAAEF,KACzE,OAAO,SAAUW,EAAGT,GAEhB,SAAS2L,IAAOx9B,KAAKL,YAAc2yB,EADnC+K,EAAc/K,EAAGT,GAEjBS,EAAE7zB,UAAkB,OAANozB,EAAarzB,OAAO29B,OAAOtK,IAAM2L,EAAG/+B,UAAYozB,EAAEpzB,UAAW,IAAI++B,IAP3C,GAU5Ch/B,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,IACtD,IAAIq8B,EAAStwB,EAAoB,IAC7BgxB,EAAWhxB,EAAoB,GAC/B+lC,EAA0B,SAAUrT,GAEpC,SAASqT,EAAS1lB,GACd,IAAIsS,EAAQD,EAAOv+B,KAAKa,KAAMqrB,IAASrrB,KAEvC,OADA29B,EAAMyC,KAAOzC,EAAMsJ,QAAQhoC,MAAM0+B,EAAMgI,SAChChI,EA0EX,OA9EAP,EAAU2T,EAAUrT,GAMpBqT,EAAS5U,OAAS,SAAUl9B,GACxB,OAAOgG,SAASqiD,eAAeroD,IAEnC8xC,EAAS9xC,MAAQ,SAAU0mC,GACvB,IAAIvF,EAAOuF,EAAQzjC,KAInB,OAFIk+B,EAAK,eACLA,EAAOA,EAAK,gBACTA,GAEX2Q,EAAStyC,UAAUk2C,SAAW,SAAUj0C,EAAO4C,GAC3CtD,KAAK2lC,QAAQzjC,KAAOlC,KAAKogC,KAAOpgC,KAAKogC,KAAKz8B,MAAM,EAAGjD,GAASV,KAAKogC,KAAKz8B,MAAMjD,EAAQ4C,IAExFytC,EAAStyC,UAAUiC,MAAQ,SAAU2qB,EAAMnL,GACvC,OAAIlgB,KAAK2lC,UAAYta,EACVnL,GAEH,GAEZ6wB,EAAStyC,UAAU2nC,SAAW,SAAU1lC,EAAOzB,EAAO+mC,GACvC,MAAPA,GACAhmC,KAAKogC,KAAOpgC,KAAKogC,KAAKz8B,MAAM,EAAGjD,GAASzB,EAAQe,KAAKogC,KAAKz8B,MAAMjD,GAChEV,KAAK2lC,QAAQzjC,KAAOlC,KAAKogC,MAGzB1C,EAAOj/B,UAAU2nC,SAASjnC,KAAKa,KAAMU,EAAOzB,EAAO+mC,IAG3D+K,EAAStyC,UAAU6E,OAAS,WACxB,OAAOtD,KAAKogC,KAAK98B,QAErBytC,EAAStyC,UAAU82C,SAAW,SAAUhvC,GACpCm3B,EAAOj/B,UAAU82C,SAASp2C,KAAKa,KAAMuG,GACrCvG,KAAKogC,KAAOpgC,KAAKinC,QAAQhoC,MAAMe,KAAK2lC,SACX,IAArB3lC,KAAKogC,KAAK98B,OACVtD,KAAK8mC,SAEA9mC,KAAKsqB,gBAAgBymB,GAAY/wC,KAAKsqB,KAAKgrB,OAASt1C,OACzDA,KAAKomC,SAASpmC,KAAKsD,SAAUtD,KAAKsqB,KAAKrrB,SACvCe,KAAKsqB,KAAKwc,WAGlBiK,EAAStyC,UAAUggB,SAAW,SAAU/d,EAAO48C,GAE3C,YADkB,IAAdA,IAAwBA,GAAY,GACjC,CAACt9C,KAAK2lC,QAASjlC,IAE1BqwC,EAAStyC,UAAU4iB,MAAQ,SAAU3gB,EAAOsmC,GAExC,QADc,IAAVA,IAAoBA,GAAQ,IAC3BA,EAAO,CACR,GAAc,IAAVtmC,EACA,OAAOV,KACX,GAAIU,IAAUV,KAAKsD,SACf,OAAOtD,KAAKsqB,KAEpB,IAAIuvB,EAAQ7d,EAASG,OAAOn8B,KAAK2lC,QAAQysB,UAAU1xD,IAGnD,OAFAV,KAAKwvB,OAAO2W,aAAa0T,EAAO75C,KAAKsqB,MACrCtqB,KAAKogC,KAAOpgC,KAAKinC,QAAQhoC,MAAMe,KAAK2lC,SAC7BkU,GAEX9I,EAAStyC,UAAU0rC,OAAS,SAAUH,EAAWzjC,GAC7C,IAAIo3B,EAAQ39B,KACRgqC,EAAUhpC,MAAK,SAAUy8C,GACzB,MAAyB,kBAAlBA,EAAS17C,MAA4B07C,EAASxgC,SAAW0gB,EAAMgI,aAEtE3lC,KAAKogC,KAAOpgC,KAAKinC,QAAQhoC,MAAMe,KAAK2lC,WAG5CoL,EAAStyC,UAAUQ,MAAQ,WACvB,OAAOe,KAAKogC,MAEhB2Q,EAAS3R,SAAW,OACpB2R,EAAS9hC,MAAQ+sB,EAASE,MAAMoiB,YACzBvN,EA/EkB,CAgF3BzV,EAAOt5B,SACT3D,EAAQ2D,QAAU+uC,GAKZ,SAAU3yC,EAAQC,EAAS2M,GAEjC,aAGA,IAAIi2B,EAAOh8B,SAASC,cAAc,OAElC,GADA+7B,EAAK0H,UAAUiB,OAAO,cAAc,GAChC3I,EAAK0H,UAAUoF,SAAS,cAAe,CACzC,IAAIskB,EAAUC,aAAa7zD,UAAUmrC,OACrC0oB,aAAa7zD,UAAUmrC,OAAS,SAAU2oB,EAAOvrB,GAC/C,OAAIvgC,UAAUnD,OAAS,IAAMtD,KAAK+tC,SAASwkB,MAAYvrB,EAC9CA,EAEAqrB,EAAQlzD,KAAKa,KAAMuyD,IAK3BxyB,OAAOthC,UAAU40B,aACpB0M,OAAOthC,UAAU40B,WAAa,SAAUm/B,EAAc/zC,GAEpD,OADAA,EAAWA,GAAY,EAChBze,KAAK2+C,OAAOlgC,EAAU+zC,EAAalvD,UAAYkvD,IAIrDzyB,OAAOthC,UAAUwnC,WACpBlG,OAAOthC,UAAUwnC,SAAW,SAAUusB,EAAc/zC,GAClD,IAAIg0C,EAAgBzyD,KAAKpB,YACD,kBAAb6f,IAA0Bi0C,SAASj0C,IAAa2b,KAAKM,MAAMjc,KAAcA,GAAYA,EAAWg0C,EAAcnvD,UACvHmb,EAAWg0C,EAAcnvD,QAE3Bmb,GAAY+zC,EAAalvD,OACzB,IAAIw8C,EAAY2S,EAAcrqD,QAAQoqD,EAAc/zC,GACpD,OAAsB,IAAfqhC,GAAoBA,IAAcrhC,IAIxC/Z,MAAMjG,UAAU29B,MACnB59B,OAAO8e,eAAe5Y,MAAMjG,UAAW,OAAQ,CAC7CQ,MAAO,SAAe0hC,GACpB,GAAa,OAAT3gC,KACF,MAAM,IAAIH,UAAU,oDAEtB,GAAyB,oBAAd8gC,EACT,MAAM,IAAI9gC,UAAU,gCAOtB,IALA,IAGIZ,EAHAoyB,EAAO7yB,OAAOwB,MACdsD,EAAS+tB,EAAK/tB,SAAW,EACzBqvD,EAAUlsD,UAAU,GAGfoB,EAAI,EAAGA,EAAIvE,EAAQuE,IAE1B,GADA5I,EAAQoyB,EAAKxpB,GACT84B,EAAUxhC,KAAKwzD,EAAS1zD,EAAO4I,EAAGwpB,GACpC,OAAOpyB,KAQjBgG,SAASosC,iBAAiB,oBAAoB,WAE5CpsC,SAAS2tD,YAAY,wBAAwB,GAAO,GAEpD3tD,SAAS2tD,YAAY,iBAAiB,GAAO,OAKzC,SAAUx0D,EAAQC,GAiCxB,IAAIw0D,GAAe,EACfC,EAAc,EACdC,EAAa,EAWjB,SAASC,EAAUC,EAAOC,EAAOC,GAE/B,GAAIF,GAASC,EACX,OAAID,EACK,CAAC,CAACF,EAAYE,IAEhB,IAILE,EAAa,GAAKF,EAAM3vD,OAAS6vD,KACnCA,EAAa,MAIf,IAAIC,EAAeC,EAAkBJ,EAAOC,GACxCI,EAAeL,EAAMM,UAAU,EAAGH,GACtCH,EAAQA,EAAMM,UAAUH,GACxBF,EAAQA,EAAMK,UAAUH,GAGxBA,EAAeI,EAAkBP,EAAOC,GACxC,IAAIO,EAAeR,EAAMM,UAAUN,EAAM3vD,OAAS8vD,GAClDH,EAAQA,EAAMM,UAAU,EAAGN,EAAM3vD,OAAS8vD,GAC1CF,EAAQA,EAAMK,UAAU,EAAGL,EAAM5vD,OAAS8vD,GAG1C,IAAIM,EAAQC,EAAcV,EAAOC,GAcjC,OAXII,GACFI,EAAMlzB,QAAQ,CAACuyB,EAAYO,IAEzBG,GACFC,EAAMnwD,KAAK,CAACwvD,EAAYU,IAE1BG,EAAkBF,GACA,MAAdP,IACFO,EAAQG,EAAWH,EAAOP,IAE5BO,EAAQI,EAAUJ,GACXA,EAWT,SAASC,EAAcV,EAAOC,GAC5B,IAAIQ,EAEJ,IAAKT,EAEH,MAAO,CAAC,CAACH,EAAaI,IAGxB,IAAKA,EAEH,MAAO,CAAC,CAACL,EAAaI,IAGxB,IAAIc,EAAWd,EAAM3vD,OAAS4vD,EAAM5vD,OAAS2vD,EAAQC,EACjDc,EAAYf,EAAM3vD,OAAS4vD,EAAM5vD,OAAS4vD,EAAQD,EAClDprD,EAAIksD,EAAS3rD,QAAQ4rD,GACzB,IAAU,GAANnsD,EASF,OAPA6rD,EAAQ,CAAC,CAACZ,EAAaiB,EAASR,UAAU,EAAG1rD,IACpC,CAACkrD,EAAYiB,GACb,CAAClB,EAAaiB,EAASR,UAAU1rD,EAAImsD,EAAU1wD,UAEpD2vD,EAAM3vD,OAAS4vD,EAAM5vD,SACvBowD,EAAM,GAAG,GAAKA,EAAM,GAAG,GAAKb,GAEvBa,EAGT,GAAwB,GAApBM,EAAU1wD,OAGZ,MAAO,CAAC,CAACuvD,EAAaI,GAAQ,CAACH,EAAaI,IAI9C,IAAIe,EAAKC,EAAgBjB,EAAOC,GAChC,GAAIe,EAAI,CAEN,IAAIE,EAAUF,EAAG,GACbG,EAAUH,EAAG,GACbI,EAAUJ,EAAG,GACbK,EAAUL,EAAG,GACbM,EAAaN,EAAG,GAEhBO,EAAUxB,EAAUmB,EAASE,GAC7BI,EAAUzB,EAAUoB,EAASE,GAEjC,OAAOE,EAAQryB,OAAO,CAAC,CAAC4wB,EAAYwB,IAAcE,GAGpD,OAAOC,EAAazB,EAAOC,GAa7B,SAASwB,EAAazB,EAAOC,GAW3B,IATA,IAAIyB,EAAe1B,EAAM3vD,OACrBsxD,EAAe1B,EAAM5vD,OACrBuxD,EAAQz6B,KAAK06B,MAAMH,EAAeC,GAAgB,GAClDG,EAAWF,EACXG,EAAW,EAAIH,EACfI,EAAK,IAAIvwD,MAAMswD,GACfE,EAAK,IAAIxwD,MAAMswD,GAGVxhB,EAAI,EAAGA,EAAIwhB,EAAUxhB,IAC5ByhB,EAAGzhB,IAAM,EACT0hB,EAAG1hB,IAAM,EAEXyhB,EAAGF,EAAW,GAAK,EACnBG,EAAGH,EAAW,GAAK,EAWnB,IAVA,IAAIjzB,EAAQ6yB,EAAeC,EAGvBO,EAASrzB,EAAQ,GAAK,EAGtBszB,EAAU,EACVC,EAAQ,EACRC,EAAU,EACVC,EAAQ,EACHjjC,EAAI,EAAGA,EAAIuiC,EAAOviC,IAAK,CAE9B,IAAK,IAAIkjC,GAAMljC,EAAI8iC,EAASI,GAAMljC,EAAI+iC,EAAOG,GAAM,EAAG,CACpD,IAAIC,EAAYV,EAAWS,EAGzBE,EADEF,IAAOljC,GAAMkjC,GAAMljC,GAAK2iC,EAAGQ,EAAY,GAAKR,EAAGQ,EAAY,GACxDR,EAAGQ,EAAY,GAEfR,EAAGQ,EAAY,GAAK,EAE3B,IAAIE,EAAKD,EAAKF,EACd,MAAOE,EAAKf,GAAgBgB,EAAKf,GAC1B3B,EAAM2C,OAAOF,IAAOxC,EAAM0C,OAAOD,GACtCD,IACAC,IAGF,GADAV,EAAGQ,GAAaC,EACZA,EAAKf,EAEPU,GAAS,OACJ,GAAIM,EAAKf,EAEdQ,GAAW,OACN,GAAID,EAAO,CAChB,IAAIU,EAAYd,EAAWjzB,EAAQ0zB,EACnC,GAAIK,GAAa,GAAKA,EAAYb,IAA8B,GAAlBE,EAAGW,GAAkB,CAEjE,IAAIC,EAAKnB,EAAeO,EAAGW,GAC3B,GAAIH,GAAMI,EAER,OAAOC,EAAkB9C,EAAOC,EAAOwC,EAAIC,KAOnD,IAAK,IAAIK,GAAM1jC,EAAIgjC,EAASU,GAAM1jC,EAAIijC,EAAOS,GAAM,EAAG,CAChDH,EAAYd,EAAWiB,EAGzBF,EADEE,IAAO1jC,GAAM0jC,GAAM1jC,GAAK4iC,EAAGW,EAAY,GAAKX,EAAGW,EAAY,GACxDX,EAAGW,EAAY,GAEfX,EAAGW,EAAY,GAAK,EAE3B,IAAII,EAAKH,EAAKE,EACd,MAAOF,EAAKnB,GAAgBsB,EAAKrB,GAC1B3B,EAAM2C,OAAOjB,EAAemB,EAAK,IACjC5C,EAAM0C,OAAOhB,EAAeqB,EAAK,GACtCH,IACAG,IAGF,GADAf,EAAGW,GAAaC,EACZA,EAAKnB,EAEPY,GAAS,OACJ,GAAIU,EAAKrB,EAEdU,GAAW,OACN,IAAKH,EAAO,CACbM,EAAYV,EAAWjzB,EAAQk0B,EACnC,GAAIP,GAAa,GAAKA,EAAYT,IAA8B,GAAlBC,EAAGQ,GAAkB,CACjE,IAAIC,EAAKT,EAAGQ,GACRE,EAAKZ,EAAWW,EAAKD,EAGzB,GADAK,EAAKnB,EAAemB,EAChBJ,GAAMI,EAER,OAAOC,EAAkB9C,EAAOC,EAAOwC,EAAIC,MAQrD,MAAO,CAAC,CAAC9C,EAAaI,GAAQ,CAACH,EAAaI,IAa9C,SAAS6C,EAAkB9C,EAAOC,EAAO1f,EAAG0iB,GAC1C,IAAIC,EAASlD,EAAMM,UAAU,EAAG/f,GAC5B4iB,EAASlD,EAAMK,UAAU,EAAG2C,GAC5BG,EAASpD,EAAMM,UAAU/f,GACzB8iB,EAASpD,EAAMK,UAAU2C,GAGzBxC,EAAQV,EAAUmD,EAAQC,GAC1BG,EAASvD,EAAUqD,EAAQC,GAE/B,OAAO5C,EAAMvxB,OAAOo0B,GAWtB,SAASlD,EAAkBJ,EAAOC,GAEhC,IAAKD,IAAUC,GAASD,EAAM2C,OAAO,IAAM1C,EAAM0C,OAAO,GACtD,OAAO,EAIT,IAAIY,EAAa,EACbC,EAAar8B,KAAK2H,IAAIkxB,EAAM3vD,OAAQ4vD,EAAM5vD,QAC1CozD,EAAaD,EACbE,EAAe,EACnB,MAAOH,EAAaE,EACdzD,EAAMM,UAAUoD,EAAcD,IAC9BxD,EAAMK,UAAUoD,EAAcD,IAChCF,EAAaE,EACbC,EAAeH,GAEfC,EAAaC,EAEfA,EAAat8B,KAAKM,OAAO+7B,EAAaD,GAAc,EAAIA,GAE1D,OAAOE,EAUT,SAASlD,EAAkBP,EAAOC,GAEhC,IAAKD,IAAUC,GACXD,EAAM2C,OAAO3C,EAAM3vD,OAAS,IAAM4vD,EAAM0C,OAAO1C,EAAM5vD,OAAS,GAChE,OAAO,EAIT,IAAIkzD,EAAa,EACbC,EAAar8B,KAAK2H,IAAIkxB,EAAM3vD,OAAQ4vD,EAAM5vD,QAC1CozD,EAAaD,EACbG,EAAa,EACjB,MAAOJ,EAAaE,EACdzD,EAAMM,UAAUN,EAAM3vD,OAASozD,EAAYzD,EAAM3vD,OAASszD,IAC1D1D,EAAMK,UAAUL,EAAM5vD,OAASozD,EAAYxD,EAAM5vD,OAASszD,IAC5DJ,EAAaE,EACbE,EAAaJ,GAEbC,EAAaC,EAEfA,EAAat8B,KAAKM,OAAO+7B,EAAaD,GAAc,EAAIA,GAE1D,OAAOE,EAcT,SAASxC,EAAgBjB,EAAOC,GAC9B,IAAIa,EAAWd,EAAM3vD,OAAS4vD,EAAM5vD,OAAS2vD,EAAQC,EACjDc,EAAYf,EAAM3vD,OAAS4vD,EAAM5vD,OAAS4vD,EAAQD,EACtD,GAAIc,EAASzwD,OAAS,GAAwB,EAAnB0wD,EAAU1wD,OAAaywD,EAASzwD,OACzD,OAAO,KAeT,SAASuzD,EAAiB9C,EAAUC,EAAWnsD,GAE7C,IAGIivD,EAAiBC,EAAiBC,EAAkBC,EAHpDC,EAAOnD,EAASR,UAAU1rD,EAAGA,EAAIuyB,KAAKM,MAAMq5B,EAASzwD,OAAS,IAC9DoW,GAAK,EACLy9C,EAAc,GAElB,OAAgD,IAAxCz9C,EAAIs6C,EAAU5rD,QAAQ8uD,EAAMx9C,EAAI,IAAW,CACjD,IAAI09C,EAAe/D,EAAkBU,EAASR,UAAU1rD,GACnBmsD,EAAUT,UAAU75C,IACrDk+B,EAAe4b,EAAkBO,EAASR,UAAU,EAAG1rD,GACtBmsD,EAAUT,UAAU,EAAG75C,IACxDy9C,EAAY7zD,OAASs0C,EAAewf,IACtCD,EAAcnD,EAAUT,UAAU75C,EAAIk+B,EAAcl+B,GAChDs6C,EAAUT,UAAU75C,EAAGA,EAAI09C,GAC/BN,EAAkB/C,EAASR,UAAU,EAAG1rD,EAAI+vC,GAC5Cmf,EAAkBhD,EAASR,UAAU1rD,EAAIuvD,GACzCJ,EAAmBhD,EAAUT,UAAU,EAAG75C,EAAIk+B,GAC9Cqf,EAAmBjD,EAAUT,UAAU75C,EAAI09C,IAG/C,OAAyB,EAArBD,EAAY7zD,QAAcywD,EAASzwD,OAC9B,CAACwzD,EAAiBC,EACjBC,EAAkBC,EAAkBE,GAErC,KAKX,IAKIlD,EAaAE,EAASC,EAASC,EAASC,EAlB3B+C,EAAMR,EAAiB9C,EAAUC,EACV55B,KAAK06B,KAAKf,EAASzwD,OAAS,IAEnDg0D,EAAMT,EAAiB9C,EAAUC,EACV55B,KAAK06B,KAAKf,EAASzwD,OAAS,IAEvD,IAAK+zD,IAAQC,EACX,OAAO,KAOPrD,EANUqD,EAEAD,GAILA,EAAI,GAAG/zD,OAASg0D,EAAI,GAAGh0D,OAAS+zD,EAHhCC,EAFAD,EAUHpE,EAAM3vD,OAAS4vD,EAAM5vD,QACvB6wD,EAAUF,EAAG,GACbG,EAAUH,EAAG,GACbI,EAAUJ,EAAG,GACbK,EAAUL,EAAG,KAEbI,EAAUJ,EAAG,GACbK,EAAUL,EAAG,GACbE,EAAUF,EAAG,GACbG,EAAUH,EAAG,IAEf,IAAIM,EAAaN,EAAG,GACpB,MAAO,CAACE,EAASC,EAASC,EAASC,EAASC,GAS9C,SAASX,EAAkBF,GACzBA,EAAMnwD,KAAK,CAACwvD,EAAY,KACxB,IAKIK,EALAmE,EAAU,EACVC,EAAe,EACfC,EAAe,EACfC,EAAc,GACdC,EAAc,GAElB,MAAOJ,EAAU7D,EAAMpwD,OACrB,OAAQowD,EAAM6D,GAAS,IACrB,KAAKzE,EACH2E,IACAE,GAAejE,EAAM6D,GAAS,GAC9BA,IACA,MACF,KAAK1E,EACH2E,IACAE,GAAehE,EAAM6D,GAAS,GAC9BA,IACA,MACF,KAAKxE,EAECyE,EAAeC,EAAe,GACX,IAAjBD,GAAuC,IAAjBC,IAExBrE,EAAeC,EAAkBsE,EAAaD,GACzB,IAAjBtE,IACGmE,EAAUC,EAAeC,EAAgB,GAC1C/D,EAAM6D,EAAUC,EAAeC,EAAe,GAAG,IACjD1E,EACFW,EAAM6D,EAAUC,EAAeC,EAAe,GAAG,IAC7CE,EAAYpE,UAAU,EAAGH,IAE7BM,EAAM18C,OAAO,EAAG,EAAG,CAAC+7C,EACA4E,EAAYpE,UAAU,EAAGH,KAC7CmE,KAEFI,EAAcA,EAAYpE,UAAUH,GACpCsE,EAAcA,EAAYnE,UAAUH,IAGtCA,EAAeI,EAAkBmE,EAAaD,GACzB,IAAjBtE,IACFM,EAAM6D,GAAS,GAAKI,EAAYpE,UAAUoE,EAAYr0D,OAClD8vD,GAAgBM,EAAM6D,GAAS,GACnCI,EAAcA,EAAYpE,UAAU,EAAGoE,EAAYr0D,OAC/C8vD,GACJsE,EAAcA,EAAYnE,UAAU,EAAGmE,EAAYp0D,OAC/C8vD,KAIa,IAAjBoE,EACF9D,EAAM18C,OAAOugD,EAAUE,EACnBD,EAAeC,EAAc,CAAC3E,EAAa6E,IACrB,IAAjBF,EACT/D,EAAM18C,OAAOugD,EAAUC,EACnBA,EAAeC,EAAc,CAAC5E,EAAa6E,IAE/ChE,EAAM18C,OAAOugD,EAAUC,EAAeC,EAClCD,EAAeC,EAAc,CAAC5E,EAAa6E,GAC3C,CAAC5E,EAAa6E,IAEpBJ,EAAUA,EAAUC,EAAeC,GACxBD,EAAe,EAAI,IAAMC,EAAe,EAAI,GAAK,GACvC,IAAZF,GAAiB7D,EAAM6D,EAAU,GAAG,IAAMxE,GAEnDW,EAAM6D,EAAU,GAAG,IAAM7D,EAAM6D,GAAS,GACxC7D,EAAM18C,OAAOugD,EAAS,IAEtBA,IAEFE,EAAe,EACfD,EAAe,EACfE,EAAc,GACdC,EAAc,GACd,MAG6B,KAA/BjE,EAAMA,EAAMpwD,OAAS,GAAG,IAC1BowD,EAAMhzB,MAMR,IAAIk3B,GAAU,EACdL,EAAU,EAEV,MAAOA,EAAU7D,EAAMpwD,OAAS,EAC1BowD,EAAM6D,EAAU,GAAG,IAAMxE,GACzBW,EAAM6D,EAAU,GAAG,IAAMxE,IAEvBW,EAAM6D,GAAS,GAAGhE,UAAUG,EAAM6D,GAAS,GAAGj0D,OAC9CowD,EAAM6D,EAAU,GAAG,GAAGj0D,SAAWowD,EAAM6D,EAAU,GAAG,IAEtD7D,EAAM6D,GAAS,GAAK7D,EAAM6D,EAAU,GAAG,GACnC7D,EAAM6D,GAAS,GAAGhE,UAAU,EAAGG,EAAM6D,GAAS,GAAGj0D,OACrBowD,EAAM6D,EAAU,GAAG,GAAGj0D,QACtDowD,EAAM6D,EAAU,GAAG,GAAK7D,EAAM6D,EAAU,GAAG,GAAK7D,EAAM6D,EAAU,GAAG,GACnE7D,EAAM18C,OAAOugD,EAAU,EAAG,GAC1BK,GAAU,GACDlE,EAAM6D,GAAS,GAAGhE,UAAU,EAAGG,EAAM6D,EAAU,GAAG,GAAGj0D,SAC5DowD,EAAM6D,EAAU,GAAG,KAErB7D,EAAM6D,EAAU,GAAG,IAAM7D,EAAM6D,EAAU,GAAG,GAC5C7D,EAAM6D,GAAS,GACX7D,EAAM6D,GAAS,GAAGhE,UAAUG,EAAM6D,EAAU,GAAG,GAAGj0D,QAClDowD,EAAM6D,EAAU,GAAG,GACvB7D,EAAM18C,OAAOugD,EAAU,EAAG,GAC1BK,GAAU,IAGdL,IAGEK,GACFhE,EAAkBF,GAKtB,IAAIh0B,EAAOszB,EAmBX,SAAS6E,EAAuBnE,EAAOP,GACrC,GAAmB,IAAfA,EACF,MAAO,CAACJ,EAAYW,GAEtB,IAAK,IAAIoE,EAAc,EAAGjwD,EAAI,EAAGA,EAAI6rD,EAAMpwD,OAAQuE,IAAK,CACtD,IAAIyqB,EAAIohC,EAAM7rD,GACd,GAAIyqB,EAAE,KAAOugC,GAAevgC,EAAE,KAAOygC,EAAY,CAC/C,IAAIgF,EAAWD,EAAcxlC,EAAE,GAAGhvB,OAClC,GAAI6vD,IAAe4E,EACjB,MAAO,CAAClwD,EAAI,EAAG6rD,GACV,GAAIP,EAAa4E,EAAU,CAEhCrE,EAAQA,EAAM/vD,QAEd,IAAIq0D,EAAY7E,EAAa2E,EACzBG,EAAS,CAAC3lC,EAAE,GAAIA,EAAE,GAAG3uB,MAAM,EAAGq0D,IAC9BE,EAAU,CAAC5lC,EAAE,GAAIA,EAAE,GAAG3uB,MAAMq0D,IAEhC,OADAtE,EAAM18C,OAAOnP,EAAG,EAAGowD,EAAQC,GACpB,CAACrwD,EAAI,EAAG6rD,GAEfoE,EAAcC,GAIpB,MAAM,IAAI7vD,MAAM,gCAqBlB,SAAS2rD,EAAYH,EAAOP,GAC1B,IAAIgF,EAAON,EAAsBnE,EAAOP,GACpCiF,EAASD,EAAK,GACdE,EAAiBF,EAAK,GACtB7lC,EAAI8lC,EAAOC,GACXC,EAASF,EAAOC,EAAiB,GAErC,GAAS,MAAL/lC,EAGF,OAAOohC,EACF,GAAIphC,EAAE,KAAOygC,EAGlB,OAAOW,EAEP,GAAc,MAAV4E,GAAkBhmC,EAAE,GAAKgmC,EAAO,KAAOA,EAAO,GAAKhmC,EAAE,GAIvD,OADA8lC,EAAOphD,OAAOqhD,EAAgB,EAAGC,EAAQhmC,GAClCimC,EAAaH,EAAQC,EAAgB,GACvC,GAAc,MAAVC,GAA8C,IAA5BA,EAAO,GAAGlwD,QAAQkqB,EAAE,IAAW,CAK1D8lC,EAAOphD,OAAOqhD,EAAgB,EAAG,CAACC,EAAO,GAAIhmC,EAAE,IAAK,CAAC,EAAGA,EAAE,KAC1D,IAAIoG,EAAS4/B,EAAO,GAAG30D,MAAM2uB,EAAE,GAAGhvB,QAIlC,OAHIo1B,EAAOp1B,OAAS,GAClB80D,EAAOphD,OAAOqhD,EAAiB,EAAG,EAAG,CAACC,EAAO,GAAI5/B,IAE5C6/B,EAAaH,EAAQC,EAAgB,GAG5C,OAAO3E,EAab,SAASI,EAAWJ,GAQlB,IAPA,IAAI8E,GAAU,EACVC,EAAuB,SAASC,GAClC,OAAOA,EAAI3wD,WAAW,IAAM,OAAU2wD,EAAI3wD,WAAW,IAAM,OAEzD4wD,EAAuB,SAASD,GAClC,OAAOA,EAAI3wD,WAAW2wD,EAAIp1D,OAAO,IAAM,OAAUo1D,EAAI3wD,WAAW2wD,EAAIp1D,OAAO,IAAM,OAE1EuE,EAAI,EAAGA,EAAI6rD,EAAMpwD,OAAQuE,GAAK,EACjC6rD,EAAM7rD,EAAE,GAAG,KAAOkrD,GAAc4F,EAAqBjF,EAAM7rD,EAAE,GAAG,KAChE6rD,EAAM7rD,EAAE,GAAG,KAAOgrD,GAAe4F,EAAqB/E,EAAM7rD,EAAE,GAAG,KACjE6rD,EAAM7rD,GAAG,KAAOirD,GAAe2F,EAAqB/E,EAAM7rD,GAAG,MAC/D2wD,GAAU,EAEV9E,EAAM7rD,EAAE,GAAG,GAAK6rD,EAAM7rD,EAAE,GAAG,GAAGlE,OAAO,GAAK+vD,EAAM7rD,EAAE,GAAG,GACrD6rD,EAAM7rD,GAAG,GAAK6rD,EAAM7rD,EAAE,GAAG,GAAGlE,OAAO,GAAK+vD,EAAM7rD,GAAG,GAEjD6rD,EAAM7rD,EAAE,GAAG,GAAK6rD,EAAM7rD,EAAE,GAAG,GAAGlE,MAAM,GAAI,IAG5C,IAAK60D,EACH,OAAO9E,EAET,IAAIkF,EAAc,GAClB,IAAS/wD,EAAI,EAAGA,EAAI6rD,EAAMpwD,OAAQuE,GAAK,EACjC6rD,EAAM7rD,GAAG,GAAGvE,OAAS,GACvBs1D,EAAYr1D,KAAKmwD,EAAM7rD,IAG3B,OAAO+wD,EAYT,SAASL,EAAc7E,EAAO9qD,EAAOtF,GAEnC,IAAK,IAAIuE,EAAIe,EAAQtF,EAAS,EAAGuE,GAAK,GAAKA,GAAKe,EAAQ,EAAGf,IACzD,GAAIA,EAAI,EAAI6rD,EAAMpwD,OAAQ,CACxB,IAAIu1D,EAASnF,EAAM7rD,GACfixD,EAAUpF,EAAM7rD,EAAE,GAClBgxD,EAAO,KAAOC,EAAQ,IACxBpF,EAAM18C,OAAOnP,EAAG,EAAG,CAACgxD,EAAO,GAAIA,EAAO,GAAKC,EAAQ,KAIzD,OAAOpF,EAlKTh0B,EAAK8C,OAASswB,EACdpzB,EAAK+C,OAASowB,EACdnzB,EAAKgD,MAAQqwB,EAEb30D,EAAOC,QAAUqhC,GAoKX,SAAUthC,EAAQC,GAMxB,SAAS06D,EAAMt5D,GACb,IAAIyL,EAAO,GACX,IAAK,IAAIvK,KAAOlB,EAAKyL,EAAK3H,KAAK5C,GAC/B,OAAOuK,EAPT7M,EAAUD,EAAOC,QAAiC,oBAAhBG,OAAO0M,KACrC1M,OAAO0M,KAAO6tD,EAElB16D,EAAQ06D,KAAOA,GAUT,SAAU36D,EAAQC,GAExB,IAAI26D,EAEI,sBAFqB,WAC3B,OAAOx6D,OAAOC,UAAUG,SAASO,KAAKsH,WADX,GAO7B,SAASwyD,EAAU/9B,GACjB,MAAiD,sBAA1C18B,OAAOC,UAAUG,SAASO,KAAK+7B,GAIxC,SAASg+B,EAAYh+B,GACnB,OAAOA,GACY,iBAAVA,GACiB,iBAAjBA,EAAO53B,QACd9E,OAAOC,UAAUC,eAAeS,KAAK+7B,EAAQ,YAC5C18B,OAAOC,UAAU06D,qBAAqBh6D,KAAK+7B,EAAQ,YACpD,EAdJ78B,EAAUD,EAAOC,QAAU26D,EAAyBC,EAAYC,EAEhE76D,EAAQ46D,UAAYA,EAKpB56D,EAAQ66D,YAAcA,GAahB,SAAU96D,EAAQC,GAExB,aAEA,IAAI+6D,EAAM56D,OAAOC,UAAUC,eACvBwkD,EAAS,IASb,SAASmW,KA4BT,SAASC,EAAGpzD,EAAIK,EAASY,GACvBnH,KAAKkG,GAAKA,EACVlG,KAAKuG,QAAUA,EACfvG,KAAKmH,KAAOA,IAAQ,EAUtB,SAASoyD,IACPv5D,KAAKw5D,QAAU,IAAIH,EACnBr5D,KAAKy5D,aAAe,EAlClBj7D,OAAO29B,SACTk9B,EAAO56D,UAAYD,OAAO29B,OAAO,OAM5B,IAAIk9B,GAAS97B,YAAW2lB,GAAS,IAqCxCqW,EAAa96D,UAAUi7D,WAAa,WAClC,IACIjwB,EACAp/B,EAFAw0B,EAAQ,GAIZ,GAA0B,IAAtB7+B,KAAKy5D,aAAoB,OAAO56B,EAEpC,IAAKx0B,KAASo/B,EAASzpC,KAAKw5D,QACtBJ,EAAIj6D,KAAKsqC,EAAQp/B,IAAOw0B,EAAMt7B,KAAK2/C,EAAS74C,EAAK1G,MAAM,GAAK0G,GAGlE,OAAI7L,OAAO6hD,sBACFxhB,EAAMsD,OAAO3jC,OAAO6hD,sBAAsB5W,IAG5C5K,GAWT06B,EAAa96D,UAAUozC,UAAY,SAAmBtuB,EAAOo2C,GAC3D,IAAIniD,EAAM0rC,EAASA,EAAS3/B,EAAQA,EAChCq2C,EAAY55D,KAAKw5D,QAAQhiD,GAE7B,GAAImiD,EAAQ,QAASC,EACrB,IAAKA,EAAW,MAAO,GACvB,GAAIA,EAAU1zD,GAAI,MAAO,CAAC0zD,EAAU1zD,IAEpC,IAAK,IAAI2B,EAAI,EAAG8qB,EAAIinC,EAAUt2D,OAAQu2D,EAAK,IAAIn1D,MAAMiuB,GAAI9qB,EAAI8qB,EAAG9qB,IAC9DgyD,EAAGhyD,GAAK+xD,EAAU/xD,GAAG3B,GAGvB,OAAO2zD,GAUTN,EAAa96D,UAAUsxC,KAAO,SAAcxsB,EAAOu2C,EAAIC,EAAIC,EAAIC,EAAIC,GACjE,IAAI1iD,EAAM0rC,EAASA,EAAS3/B,EAAQA,EAEpC,IAAKvjB,KAAKw5D,QAAQhiD,GAAM,OAAO,EAE/B,IAEIhR,EACAqB,EAHAgqC,EAAY7xC,KAAKw5D,QAAQhiD,GACzB1P,EAAMrB,UAAUnD,OAIpB,GAAIuuC,EAAU3rC,GAAI,CAGhB,OAFI2rC,EAAU1qC,MAAMnH,KAAKm6D,eAAe52C,EAAOsuB,EAAU3rC,QAAInH,GAAW,GAEhE+I,GACN,KAAK,EAAG,OAAO+pC,EAAU3rC,GAAG/G,KAAK0yC,EAAUtrC,UAAU,EACrD,KAAK,EAAG,OAAOsrC,EAAU3rC,GAAG/G,KAAK0yC,EAAUtrC,QAASuzD,IAAK,EACzD,KAAK,EAAG,OAAOjoB,EAAU3rC,GAAG/G,KAAK0yC,EAAUtrC,QAASuzD,EAAIC,IAAK,EAC7D,KAAK,EAAG,OAAOloB,EAAU3rC,GAAG/G,KAAK0yC,EAAUtrC,QAASuzD,EAAIC,EAAIC,IAAK,EACjE,KAAK,EAAG,OAAOnoB,EAAU3rC,GAAG/G,KAAK0yC,EAAUtrC,QAASuzD,EAAIC,EAAIC,EAAIC,IAAK,EACrE,KAAK,EAAG,OAAOpoB,EAAU3rC,GAAG/G,KAAK0yC,EAAUtrC,QAASuzD,EAAIC,EAAIC,EAAIC,EAAIC,IAAK,EAG3E,IAAKryD,EAAI,EAAGrB,EAAO,IAAI9B,MAAMoD,EAAK,GAAID,EAAIC,EAAKD,IAC7CrB,EAAKqB,EAAI,GAAKpB,UAAUoB,GAG1BgqC,EAAU3rC,GAAGQ,MAAMmrC,EAAUtrC,QAASC,OACjC,CACL,IACIkT,EADApW,EAASuuC,EAAUvuC,OAGvB,IAAKuE,EAAI,EAAGA,EAAIvE,EAAQuE,IAGtB,OAFIgqC,EAAUhqC,GAAGV,MAAMnH,KAAKm6D,eAAe52C,EAAOsuB,EAAUhqC,GAAG3B,QAAInH,GAAW,GAEtE+I,GACN,KAAK,EAAG+pC,EAAUhqC,GAAG3B,GAAG/G,KAAK0yC,EAAUhqC,GAAGtB,SAAU,MACpD,KAAK,EAAGsrC,EAAUhqC,GAAG3B,GAAG/G,KAAK0yC,EAAUhqC,GAAGtB,QAASuzD,GAAK,MACxD,KAAK,EAAGjoB,EAAUhqC,GAAG3B,GAAG/G,KAAK0yC,EAAUhqC,GAAGtB,QAASuzD,EAAIC,GAAK,MAC5D,KAAK,EAAGloB,EAAUhqC,GAAG3B,GAAG/G,KAAK0yC,EAAUhqC,GAAGtB,QAASuzD,EAAIC,EAAIC,GAAK,MAChE,QACE,IAAKxzD,EAAM,IAAKkT,EAAI,EAAGlT,EAAO,IAAI9B,MAAMoD,EAAK,GAAI4R,EAAI5R,EAAK4R,IACxDlT,EAAKkT,EAAI,GAAKjT,UAAUiT,GAG1Bm4B,EAAUhqC,GAAG3B,GAAGQ,MAAMmrC,EAAUhqC,GAAGtB,QAASC,IAKpD,OAAO,GAYT+yD,EAAa96D,UAAUyN,GAAK,SAAYqX,EAAOrd,EAAIK,GACjD,IAAIooD,EAAW,IAAI2K,EAAGpzD,EAAIK,GAAWvG,MACjCwX,EAAM0rC,EAASA,EAAS3/B,EAAQA,EAMpC,OAJKvjB,KAAKw5D,QAAQhiD,GACRxX,KAAKw5D,QAAQhiD,GAAKtR,GACvBlG,KAAKw5D,QAAQhiD,GAAO,CAACxX,KAAKw5D,QAAQhiD,GAAMm3C,GADb3uD,KAAKw5D,QAAQhiD,GAAKjU,KAAKorD,IAD/B3uD,KAAKw5D,QAAQhiD,GAAOm3C,EAAU3uD,KAAKy5D,gBAIpDz5D,MAYTu5D,EAAa96D,UAAU0I,KAAO,SAAcoc,EAAOrd,EAAIK,GACrD,IAAIooD,EAAW,IAAI2K,EAAGpzD,EAAIK,GAAWvG,MAAM,GACvCwX,EAAM0rC,EAASA,EAAS3/B,EAAQA,EAMpC,OAJKvjB,KAAKw5D,QAAQhiD,GACRxX,KAAKw5D,QAAQhiD,GAAKtR,GACvBlG,KAAKw5D,QAAQhiD,GAAO,CAACxX,KAAKw5D,QAAQhiD,GAAMm3C,GADb3uD,KAAKw5D,QAAQhiD,GAAKjU,KAAKorD,IAD/B3uD,KAAKw5D,QAAQhiD,GAAOm3C,EAAU3uD,KAAKy5D,gBAIpDz5D,MAaTu5D,EAAa96D,UAAU07D,eAAiB,SAAwB52C,EAAOrd,EAAIK,EAASY,GAClF,IAAIqQ,EAAM0rC,EAASA,EAAS3/B,EAAQA,EAEpC,IAAKvjB,KAAKw5D,QAAQhiD,GAAM,OAAOxX,KAC/B,IAAKkG,EAGH,OAF4B,MAAtBlG,KAAKy5D,aAAoBz5D,KAAKw5D,QAAU,IAAIH,SACtCr5D,KAAKw5D,QAAQhiD,GAClBxX,KAGT,IAAI6xC,EAAY7xC,KAAKw5D,QAAQhiD,GAE7B,GAAIq6B,EAAU3rC,GAEP2rC,EAAU3rC,KAAOA,GACfiB,IAAQ0qC,EAAU1qC,MAClBZ,GAAWsrC,EAAUtrC,UAAYA,IAEV,MAAtBvG,KAAKy5D,aAAoBz5D,KAAKw5D,QAAU,IAAIH,SACtCr5D,KAAKw5D,QAAQhiD,QAEtB,CACL,IAAK,IAAI3P,EAAI,EAAG4hC,EAAS,GAAInmC,EAASuuC,EAAUvuC,OAAQuE,EAAIvE,EAAQuE,KAE7DgqC,EAAUhqC,GAAG3B,KAAOA,GACnBiB,IAAS0qC,EAAUhqC,GAAGV,MACtBZ,GAAWsrC,EAAUhqC,GAAGtB,UAAYA,IAExCkjC,EAAOlmC,KAAKsuC,EAAUhqC,IAOtB4hC,EAAOnmC,OAAQtD,KAAKw5D,QAAQhiD,GAAyB,IAAlBiyB,EAAOnmC,OAAemmC,EAAO,GAAKA,EACxC,MAAtBzpC,KAAKy5D,aAAoBz5D,KAAKw5D,QAAU,IAAIH,SAC3Cr5D,KAAKw5D,QAAQhiD,GAG3B,OAAOxX,MAUTu5D,EAAa96D,UAAU27D,mBAAqB,SAA4B72C,GACtE,IAAI/L,EAaJ,OAXI+L,GACF/L,EAAM0rC,EAASA,EAAS3/B,EAAQA,EAC5BvjB,KAAKw5D,QAAQhiD,KACa,MAAtBxX,KAAKy5D,aAAoBz5D,KAAKw5D,QAAU,IAAIH,SACtCr5D,KAAKw5D,QAAQhiD,MAG3BxX,KAAKw5D,QAAU,IAAIH,EACnBr5D,KAAKy5D,aAAe,GAGfz5D,MAMTu5D,EAAa96D,UAAUuvC,IAAMurB,EAAa96D,UAAU07D,eACpDZ,EAAa96D,UAAU+kB,YAAc+1C,EAAa96D,UAAUyN,GAK5DqtD,EAAa96D,UAAU47D,gBAAkB,WACvC,OAAOr6D,MAMTu5D,EAAae,SAAWpX,EAKxBqW,EAAaA,aAAeA,EAKxB,qBAAuBn7D,IACzBA,EAAOC,QAAUk7D,IAMb,SAAUn7D,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQk8D,UAAYl8D,EAAQm8D,aAAen8D,EAAQo8D,aAAep8D,EAAQq8D,UAAYr8D,EAAQs8D,gBAAkBt8D,EAAQ2D,aAAUjD,EAElI,IAAIS,EAA4B,oBAAXlB,QAAoD,kBAApBA,OAAOoB,SAAwB,SAAUD,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,gBAAkBgB,GAElQgL,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfynB,EAAWx5B,EAAoB,GAE/B4vD,EAAWn2B,EAAuBD,GAElCE,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCE,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCmd,EAAS/2C,EAAoB,GAE7Bg3C,EAAUvd,EAAuBsd,GAEjC7Z,EAAUl9B,EAAoB,IAE9Bm9B,EAAW1D,EAAuByD,GAElCJ,EAAU98B,EAAoB,GAE9B+8B,EAAWtD,EAAuBqD,GAElC+yB,EAAS7vD,EAAoB,IAE7B8vD,EAAc9vD,EAAoB,IAElC6qC,EAAQ7qC,EAAoB,IAE5B8qC,EAASrR,EAAuBoR,GAEhCoW,EAASjhD,EAAoB,IAE7B+vD,EAAa/vD,EAAoB,IAEjCgwD,EAAQhwD,EAAoB,IAE5BiwD,EAAQjwD,EAAoB,IAEhC,SAASy5B,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAAS6oC,EAAgB7oC,EAAKkB,EAAK1B,GAAiK,OAApJ0B,KAAOlB,EAAOjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAAE1B,MAAOA,EAAOke,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB5d,EAAIkB,GAAO1B,EAAgBQ,EAE3M,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI+C,GAAQ,EAAIJ,EAASnmC,SAAS,mBAE9Bk5D,EAAU,eAEVC,EAAmB,CAAC,CAACj9B,KAAKC,UAAWo8B,GAAY,CAACr8B,KAAKC,UAAWs8B,GAAe,CAAC,KAAMW,GAAa,CAACl9B,KAAKm9B,aAAcZ,GAAe,CAACv8B,KAAKm9B,aAAcX,GAAY,CAACx8B,KAAKm9B,aAAcb,GAAe,CAACt8B,KAAKm9B,aAAcV,GAAkB,CAACz8B,KAAKm9B,aAAcC,GAAc,CAAC,KAAMC,GAAc,CAAC,IAAKC,EAAW7oB,KAAK6oB,EAAY,SAAU,CAAC,IAAKA,EAAW7oB,KAAK6oB,EAAY,WAAY,CAAC,QAASC,IAE5YC,EAAwB,CAACb,EAAO/O,eAAgBiP,EAAW3O,oBAAoBtrB,QAAO,SAAUsc,EAAM0N,GAExG,OADA1N,EAAK0N,EAAKxrB,SAAWwrB,EACd1N,IACN,IAECue,EAAoB,CAACd,EAAOjP,WAAYkP,EAAY/O,gBAAiBE,EAAOvE,WAAYqT,EAAW7O,eAAgB8O,EAAM1O,UAAW2O,EAAMzO,WAAW1rB,QAAO,SAAUsc,EAAM0N,GAE9K,OADA1N,EAAK0N,EAAKxrB,SAAWwrB,EACd1N,IACN,IAECwe,EAAY,SAAUvZ,GAGxB,SAASuZ,EAAUnkC,EAAOpP,GACxBxL,EAAgB7c,KAAM47D,GAEtB,IAAIj+B,EAAQyH,EAA2BplC,MAAO47D,EAAUr+B,WAAa/+B,OAAO8lC,eAAes3B,IAAYz8D,KAAKa,KAAMy3B,EAAOpP,IAezH,OAbAsV,EAAMlG,MAAMnsB,KAAK+lC,iBAAiB,QAAS1T,EAAMk+B,QAAQlpB,KAAKhV,IAC9DA,EAAMzE,UAAYyE,EAAMlG,MAAMqR,aAAa,gBAC3CnL,EAAMzE,UAAU6P,aAAa,mBAAmB,GAChDpL,EAAMzE,UAAU6P,aAAa,YAAa,GAC1CpL,EAAMm+B,SAAW,GACjBX,EAAiBh5B,OAAOxE,EAAMtV,QAAQyzC,UAAUnoD,SAAQ,SAAUq+B,GAChE,IAAIiS,EAAQx5C,EAAeunC,EAAM,GAC7B+pB,EAAW9X,EAAM,GACjB95C,EAAU85C,EAAM,IAEf57B,EAAQ2zC,aAAe7xD,IAAYqwD,IACxC78B,EAAMs+B,WAAWF,EAAU5xD,MAEtBwzB,EAsGT,OA1HA2H,EAAUs2B,EAAWvZ,GAuBrB9kC,EAAaq+C,EAAW,CAAC,CACvBj7D,IAAK,aACL1B,MAAO,SAAoB88D,EAAU5xD,GACnCnK,KAAK87D,SAASv4D,KAAK,CAACw4D,EAAU5xD,MAE/B,CACDxJ,IAAK,UACL1B,MAAO,SAAiBwpC,GACtB,GAAoB,kBAATA,EAET,OADAzoC,KAAKk5B,UAAUwP,UAAYD,EAAKsL,QAAQ,eAAgB,MACjD/zC,KAAKqqC,UAEd,IAAIzE,EAAU5lC,KAAKy3B,MAAMwV,UAAUjtC,KAAKy3B,MAAMM,UAAU4gB,WAAWj4C,OACnE,GAAIklC,EAAQkQ,EAAO9zC,QAAQo9B,UAAW,CACpC,IAAIgB,EAAOpgC,KAAKk5B,UAAUgjC,UAE1B,OADAl8D,KAAKk5B,UAAUwP,UAAY,IACpB,IAAI/D,EAAa3iC,SAAUm+B,OAAOC,EAAMkI,EAAgB,GAAIwN,EAAO9zC,QAAQo9B,SAAUwG,EAAQkQ,EAAO9zC,QAAQo9B,YAGrH,IAAI+8B,EAAmBn8D,KAAKo8D,kBACxBC,EAAoB5xD,EAAe0xD,EAAkB,GACrDG,EAAkBD,EAAkB,GACpCE,EAAeF,EAAkB,GAEjCv6B,EAAQ06B,EAASx8D,KAAKk5B,UAAWojC,EAAiBC,GAOtD,OALIE,EAAc36B,EAAO,OAAuD,MAA9CA,EAAM5B,IAAI4B,EAAM5B,IAAI58B,OAAS,GAAGs6B,aAChEkE,EAAQA,EAAMT,SAAQ,IAAIsD,EAAa3iC,SAAUs+B,OAAOwB,EAAMx+B,SAAW,GAAG49B,OAAO,KAErFqH,EAAMh0B,IAAI,UAAWvU,KAAKk5B,UAAUwP,UAAW5G,GAC/C9hC,KAAKk5B,UAAUwP,UAAY,GACpB5G,IAER,CACDnhC,IAAK,uBACL1B,MAAO,SAA8ByB,EAAO+nC,GAC1C,IAAIsB,EAAStjC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAKu7C,EAAQhgD,QAAQ0pC,QAAQ7xB,IAEzG,GAAqB,kBAAVnZ,EACTV,KAAKy3B,MAAM6S,YAAYtqC,KAAKqqC,QAAQ3pC,GAAQ+nC,GAC5CzoC,KAAKy3B,MAAMmB,aAAa,EAAGopB,EAAQhgD,QAAQ0pC,QAAQK,YAC9C,CACL,IAAI2wB,EAAQ18D,KAAKqqC,QAAQ5B,GACzBzoC,KAAKy3B,MAAMkvB,gBAAe,IAAIhiB,EAAa3iC,SAAUs+B,OAAO5/B,GAAOyhC,OAAOu6B,GAAQ3yB,GAClF/pC,KAAKy3B,MAAMmB,aAAal4B,EAAQg8D,EAAMp5D,SAAU0+C,EAAQhgD,QAAQ0pC,QAAQK,WAG3E,CACDprC,IAAK,UACL1B,MAAO,SAAiBK,GACtB,IAAIinC,EAASvmC,KAEb,IAAIV,EAAEkkD,kBAAqBxjD,KAAKy3B,MAAMiY,YAAtC,CACA,IAAIrsB,EAAQrjB,KAAKy3B,MAAMkU,eACnB7J,GAAQ,IAAI6C,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,OAChD4qC,EAAYtrC,KAAKy3B,MAAMuR,mBAAmBsC,UAC9CtrC,KAAKk5B,UAAUqS,QACfvrC,KAAKy3B,MAAMM,UAAUoS,OAAO6X,EAAQhgD,QAAQ0pC,QAAQK,QACpDhlC,YAAW,WACT+6B,EAAQA,EAAMK,OAAOoE,EAAO8D,WAAWnJ,OAAO7d,EAAM/f,QACpDijC,EAAO9O,MAAMkvB,eAAe7kB,EAAOkgB,EAAQhgD,QAAQ0pC,QAAQoD,MAE3DvI,EAAO9O,MAAMmB,aAAakJ,EAAMx+B,SAAW+f,EAAM/f,OAAQ0+C,EAAQhgD,QAAQ0pC,QAAQK,QACjFxF,EAAO9O,MAAMuR,mBAAmBsC,UAAYA,EAC5C/E,EAAO9O,MAAM8T,UACZ,MAEJ,CACD5qC,IAAK,kBACL1B,MAAO,WACL,IAAI+rC,EAAShrC,KAETs8D,EAAkB,GAClBC,EAAe,GAsBnB,OArBAv8D,KAAK87D,SAASnoD,SAAQ,SAAUgpD,GAC9B,IAAIC,EAAQnyD,EAAekyD,EAAM,GAC7BZ,EAAWa,EAAM,GACjBzyD,EAAUyyD,EAAM,GAEpB,OAAQb,GACN,KAAK79B,KAAKC,UACRo+B,EAAah5D,KAAK4G,GAClB,MACF,KAAK+zB,KAAKm9B,aACRiB,EAAgB/4D,KAAK4G,GACrB,MACF,QACE,GAAGwJ,QAAQxU,KAAK6rC,EAAO9R,UAAUsY,iBAAiBuqB,IAAW,SAAU1wC,GAErEA,EAAK6vC,GAAW7vC,EAAK6vC,IAAY,GACjC7vC,EAAK6vC,GAAS33D,KAAK4G,MAErB,UAGC,CAACmyD,EAAiBC,OAItBX,EA3HO,CA4Hd7zB,EAAS/lC,SAOX,SAAS66D,EAAY/6B,EAAOzI,EAAQp6B,GAClC,MAAwE,YAAjD,qBAAXo6B,EAAyB,YAAc75B,EAAQ65B,IAClD76B,OAAO0M,KAAKmuB,GAAQyH,QAAO,SAAUgB,EAAOnhC,GACjD,OAAOk8D,EAAY/6B,EAAOnhC,EAAK04B,EAAO14B,MACrCmhC,GAEIA,EAAMhB,QAAO,SAAUgB,EAAOjC,GACnC,OAAIA,EAAGjC,YAAciC,EAAGjC,WAAWvE,GAC1ByI,EAAMv+B,KAAKs8B,GAEXiC,EAAM3B,OAAON,EAAGM,QAAQ,EAAIy6B,EAAS54D,SAAS,GAAIsmC,EAAgB,GAAIjP,EAAQp6B,GAAQ4gC,EAAGjC,eAEjG,IAAI+G,EAAa3iC,SAIxB,SAAS86D,EAAazxC,GACpB,GAAIA,EAAK0xC,WAAa7+B,KAAKm9B,aAAc,MAAO,GAChD,IAAIH,EAAU,sBACd,OAAO7vC,EAAK6vC,KAAa7vC,EAAK6vC,GAAWjoC,OAAO+pC,iBAAiB3xC,IAGnE,SAASoxC,EAAc36B,EAAO1B,GAE5B,IADA,IAAI68B,EAAU,GACLp1D,EAAIi6B,EAAM5B,IAAI58B,OAAS,EAAGuE,GAAK,GAAKo1D,EAAQ35D,OAAS88B,EAAK98B,SAAUuE,EAAG,CAC9E,IAAIg4B,EAAKiC,EAAM5B,IAAIr4B,GACnB,GAAyB,kBAAdg4B,EAAGM,OAAqB,MACnC88B,EAAUp9B,EAAGM,OAAS88B,EAExB,OAAOA,EAAQt5D,OAAO,EAAIy8B,EAAK98B,UAAY88B,EAG7C,SAAS+gB,EAAO91B,GACd,GAA+B,IAA3BA,EAAKkwB,WAAWj4C,OAAc,OAAO,EACzC,IAAImZ,EAAQqgD,EAAazxC,GACzB,MAAO,CAAC,QAAS,aAAajjB,QAAQqU,EAAMusC,UAAY,EAG1D,SAASwT,EAASnxC,EAAMixC,EAAiBC,GAEvC,OAAIlxC,EAAK0xC,WAAa1xC,EAAK8S,UAClBo+B,EAAaz7B,QAAO,SAAUgB,EAAO33B,GAC1C,OAAOA,EAAQkhB,EAAMyW,KACpB,IAAI6C,EAAa3iC,SACXqpB,EAAK0xC,WAAa1xC,EAAKgwC,aACzB,GAAGv6B,OAAO3hC,KAAKksB,EAAKkwB,YAAc,IAAI,SAAUzZ,EAAO0pB,GAC5D,IAAI0R,EAAgBV,EAAShR,EAAW8Q,EAAiBC,GASzD,OARI/Q,EAAUuR,WAAa1xC,EAAKgwC,eAC9B6B,EAAgBZ,EAAgBx7B,QAAO,SAAUo8B,EAAe/yD,GAC9D,OAAOA,EAAQqhD,EAAW0R,KACzBA,GACHA,GAAiB1R,EAAU0P,IAAY,IAAIp6B,QAAO,SAAUo8B,EAAe/yD,GACzE,OAAOA,EAAQqhD,EAAW0R,KACzBA,IAEEp7B,EAAMK,OAAO+6B,KACnB,IAAIv4B,EAAa3iC,SAEb,IAAI2iC,EAAa3iC,QAI5B,SAASw5D,EAAWniC,EAAQhO,EAAMyW,GAChC,OAAO+6B,EAAY/6B,EAAOzI,GAAQ,GAGpC,SAASshC,EAAgBtvC,EAAMyW,GAC7B,IAAIlE,EAAaiH,EAAY7iC,QAAQ+6B,WAAWC,UAAU9xB,KAAKmgB,GAC3DwS,EAAUgH,EAAY7iC,QAAQ+6B,WAAWE,MAAM/xB,KAAKmgB,GACpDw/B,EAAShmB,EAAY7iC,QAAQ+6B,WAAWG,MAAMhyB,KAAKmgB,GACnDua,EAAU,GAoBd,OAnBAhI,EAAWuE,OAAOtE,GAASsE,OAAO0oB,GAAQl3C,SAAQ,SAAUtJ,GAC1D,IAAIygD,EAAOjmB,EAAY7iC,QAAQq6B,MAAMhyB,EAAMw6B,EAAY7iC,QAAQk6B,MAAM2X,WACzD,MAARiX,IACFllB,EAAQklB,EAAKzrB,UAAYyrB,EAAK7rD,MAAMosB,GAChCua,EAAQklB,EAAKzrB,aAEnByrB,EAAO4Q,EAAsBrxD,GACjB,MAARygD,GAAiBA,EAAKzrB,WAAah1B,GAAQygD,EAAKxrB,UAAYj1B,IAC9Du7B,EAAQklB,EAAKzrB,UAAYyrB,EAAK7rD,MAAMosB,SAAStsB,GAE/C+rD,EAAO6Q,EAAkBtxD,GACb,MAARygD,GAAiBA,EAAKzrB,WAAah1B,GAAQygD,EAAKxrB,UAAYj1B,IAC9DygD,EAAO6Q,EAAkBtxD,GACzBu7B,EAAQklB,EAAKzrB,UAAYyrB,EAAK7rD,MAAMosB,SAAStsB,OAG7CP,OAAO0M,KAAK06B,GAAStiC,OAAS,IAChCw+B,EAAQ+6B,EAAY/6B,EAAO8D,IAEtB9D,EAGT,SAAS44B,EAAUrvC,EAAMyW,GACvB,IAAI13B,EAAQy6B,EAAY7iC,QAAQq6B,MAAMhR,GACtC,GAAa,MAATjhB,EAAe,OAAO03B,EAC1B,GAAI13B,EAAM3L,qBAAqBomC,EAAY7iC,QAAQ06B,MAAO,CACxD,IAAI+Q,EAAQ,GACRxuC,EAAQmL,EAAMnL,MAAMosB,GACX,MAATpsB,IACFwuC,EAAMrjC,EAAMg1B,UAAYngC,EACxB6iC,GAAQ,IAAI6C,EAAa3iC,SAAUm+B,OAAOsN,EAAOrjC,EAAMw7B,QAAQva,SAE/B,oBAAlBjhB,EAAMw7B,UACtB9D,EAAQ+6B,EAAY/6B,EAAO13B,EAAMg1B,SAAUh1B,EAAMw7B,QAAQva,KAE3D,OAAOyW,EAGT,SAASs5B,EAAW/vC,EAAMyW,GAIxB,OAHK26B,EAAc36B,EAAO,OACxBA,EAAM3B,OAAO,MAER2B,EAGT,SAAS25B,IACP,OAAO,IAAI92B,EAAa3iC,QAG1B,SAASu5D,EAAYlwC,EAAMyW,GACzB,IAAI13B,EAAQy6B,EAAY7iC,QAAQq6B,MAAMhR,GACtC,GAAa,MAATjhB,GAAoC,cAAnBA,EAAMg1B,WAA6Bq9B,EAAc36B,EAAO,MAC3E,OAAOA,EAET,IAAIkkB,GAAU,EACVx2B,EAASnE,EAAKkT,WAClB,OAAQ/O,EAAOmZ,UAAUoF,SAAS,gBAC2B,UAAtDlJ,EAAY7iC,QAAQq6B,MAAM7M,IAAW,IAAI4P,WAC5C4mB,GAAU,GAEZx2B,EAASA,EAAO+O,WAElB,OAAIynB,GAAU,EAAUlkB,EACjBA,EAAMT,SAAQ,IAAIsD,EAAa3iC,SAAUs+B,OAAOwB,EAAMx+B,SAAW,GAAGg9B,OAAO,EAAG,CAAE0lB,OAAQA,KAGjG,SAASyU,EAAapvC,EAAMyW,GAM1B,OALK26B,EAAc36B,EAAO,QACpBqf,EAAO91B,IAASyW,EAAMx+B,SAAW,GAAK+nB,EAAKwyB,aAAesD,EAAO91B,EAAKwyB,eACxE/b,EAAM3B,OAAO,MAGV2B,EAGT,SAAS04B,EAAanvC,EAAMyW,GAC1B,GAAIqf,EAAO91B,IAAoC,MAA3BA,EAAK8xC,qBAA+BV,EAAc36B,EAAO,QAAS,CACpF,IAAIs7B,EAAa/xC,EAAKgyC,aAAeC,WAAWR,EAAazxC,GAAMkyC,WAAaD,WAAWR,EAAazxC,GAAMmyC,cAC1GnyC,EAAK8xC,mBAAmBM,UAAYpyC,EAAKoyC,UAAyB,IAAbL,GACvDt7B,EAAM3B,OAAO,MAGjB,OAAO2B,EAGT,SAASw5B,EAAYjwC,EAAMyW,GACzB,IAAI8D,EAAU,GACVnpB,EAAQ4O,EAAK5O,OAAS,GAc1B,OAbIA,EAAMihD,WAA8C,WAAjCZ,EAAazxC,GAAMqyC,YACxC93B,EAAQ+3B,QAAS,GAEflhD,EAAMmhD,aAAed,EAAazxC,GAAMuyC,WAAWvqC,WAAW,SAAWy0B,SAASgV,EAAazxC,GAAMuyC,aAAe,OACtHh4B,EAAQi4B,MAAO,GAEbr/D,OAAO0M,KAAK06B,GAAStiC,OAAS,IAChCw+B,EAAQ+6B,EAAY/6B,EAAO8D,IAEzB03B,WAAW7gD,EAAMqhD,YAAc,GAAK,IAEtCh8B,GAAQ,IAAI6C,EAAa3iC,SAAUm+B,OAAO,MAAMgC,OAAOL,IAElDA,EAGT,SAASy4B,EAAUlvC,EAAMyW,GACvB,IAAI1B,EAAO/U,EAAKnpB,KAEhB,GAAgC,QAA5BmpB,EAAKkT,WAAWQ,QAClB,OAAO+C,EAAM3B,OAAOC,EAAK9b,QAE3B,GAA2B,IAAvB8b,EAAK9b,OAAOhhB,QAAgB+nB,EAAKkT,WAAWoK,UAAUoF,SAAS,gBACjE,OAAOjM,EAET,IAAKg7B,EAAazxC,EAAKkT,YAAYw/B,WAAW1qC,WAAW,OAAQ,CAE/D,IAAI2qC,EAAW,SAAkBC,EAAU7zD,GAEzC,OADAA,EAAQA,EAAM2pC,QAAQ,aAAc,IAC7B3pC,EAAM9G,OAAS,GAAK26D,EAAW,IAAM7zD,GAE9Cg2B,EAAOA,EAAK2T,QAAQ,QAAS,KAAKA,QAAQ,MAAO,KACjD3T,EAAOA,EAAK2T,QAAQ,SAAUiqB,EAASrrB,KAAKqrB,GAAU,KAC1B,MAAxB3yC,EAAKsmC,iBAA2BxQ,EAAO91B,EAAKkT,aAAuC,MAAxBlT,EAAKsmC,iBAA2BxQ,EAAO91B,EAAKsmC,oBACzGvxB,EAAOA,EAAK2T,QAAQ,OAAQiqB,EAASrrB,KAAKqrB,GAAU,MAE9B,MAApB3yC,EAAKwyB,aAAuBsD,EAAO91B,EAAKkT,aAAmC,MAApBlT,EAAKwyB,aAAuBsD,EAAO91B,EAAKwyB,gBACjGzd,EAAOA,EAAK2T,QAAQ,OAAQiqB,EAASrrB,KAAKqrB,GAAU,KAGxD,OAAOl8B,EAAM3B,OAAOC,GA5MtBw7B,EAAU3sB,SAAW,CACnB6sB,SAAU,GACVE,aAAa,GA6Mf39D,EAAQ2D,QAAU45D,EAClBv9D,EAAQs8D,gBAAkBA,EAC1Bt8D,EAAQq8D,UAAYA,EACpBr8D,EAAQo8D,aAAeA,EACvBp8D,EAAQm8D,aAAeA,EACvBn8D,EAAQk8D,UAAYA,GAId,SAAUn8D,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZY,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAEtC,SAASP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI04B,EAAO,SAAU/pB,GAGnB,SAAS+pB,IAGP,OAFArhD,EAAgB7c,KAAMk+D,GAEf94B,EAA2BplC,MAAOk+D,EAAK3gC,WAAa/+B,OAAO8lC,eAAe45B,IAAOx3D,MAAM1G,KAAMyG,YAuBtG,OA5BA6+B,EAAU44B,EAAM/pB,GAQhB52B,EAAa2gD,EAAM,CAAC,CAClBv9D,IAAK,WACL1B,MAAO,SAAkBsH,GACvB49B,EAAK+5B,EAAKz/D,UAAU8+B,WAAa/+B,OAAO8lC,eAAe45B,EAAKz/D,WAAY,WAAYuB,MAAMb,KAAKa,KAAMuG,GACjGvG,KAAK2lC,QAAQ5G,UAAY/+B,KAAKinC,QAAQlI,QAAQ,IAChD/+B,KAAKi+C,YAAYj+C,KAAKinC,QAAQ7H,aAGhC,CAAC,CACHz+B,IAAK,SACL1B,MAAO,WACL,OAAOklC,EAAK+5B,EAAK3gC,WAAa/+B,OAAO8lC,eAAe45B,GAAO,SAAUl+D,MAAMb,KAAKa,QAEjF,CACDW,IAAK,UACL1B,MAAO,WACL,OAAO,MAIJi/D,EA7BE,CA8BTj5B,EAASjjC,SAEXk8D,EAAK9+B,SAAW,OAChB8+B,EAAKn/B,QAAU,CAAC,SAAU,KAE1B1gC,EAAQ2D,QAAUk8D,GAIZ,SAAU9/D,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ8/D,YAAc9/D,EAAQ2D,aAAUjD,EAExC,IAAI0L,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjB0d,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEf2nB,EAAc15B,EAAoB,GAElC25B,EAAeF,EAAuBC,GAEtCE,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCmd,EAAS/2C,EAAoB,GAE7Bg3C,EAAUvd,EAAuBsd,GAEjC7Z,EAAUl9B,EAAoB,IAE9Bm9B,EAAW1D,EAAuByD,GAElCJ,EAAU98B,EAAoB,GAE9B+8B,EAAWtD,EAAuBqD,GAEtC,SAASrD,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAAS6oC,EAAgB7oC,EAAKkB,EAAK1B,GAAiK,OAApJ0B,KAAOlB,EAAOjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAAE1B,MAAOA,EAAOke,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB5d,EAAIkB,GAAO1B,EAAgBQ,EAE3M,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI+C,GAAQ,EAAIJ,EAASnmC,SAAS,iBAE9Bo8D,EAAU,SAAU/b,GAGtB,SAAS+b,EAAQ3mC,EAAOpP,GACtBxL,EAAgB7c,KAAMo+D,GAEtB,IAaMC,EAbF1gC,EAAQyH,EAA2BplC,MAAOo+D,EAAQ7gC,WAAa/+B,OAAO8lC,eAAe85B,IAAUj/D,KAAKa,KAAMy3B,EAAOpP,IAErH,GAAI3jB,MAAM2E,QAAQs0B,EAAMtV,QAAQ6Q,WAAY,CAC1C,IAAIA,EAAYj0B,SAASC,cAAc,OACvCi5D,EAAYjlC,EAAWyE,EAAMtV,QAAQ6Q,WACrCzB,EAAMyB,UAAUqF,WAAW4H,aAAajN,EAAWzB,EAAMyB,WACzDyE,EAAMzE,UAAYA,MAC0B,kBAA5ByE,EAAMtV,QAAQ6Q,UAC9ByE,EAAMzE,UAAYj0B,SAASm0B,cAAcuE,EAAMtV,QAAQ6Q,WAEvDyE,EAAMzE,UAAYyE,EAAMtV,QAAQ6Q,UAElC,OAAMyE,EAAMzE,qBAAqB0F,aAKjCjB,EAAMzE,UAAUyP,UAAUC,IAAI,cAC9BjL,EAAM2gC,SAAW,GACjB3gC,EAAMxE,SAAW,GACjB36B,OAAO0M,KAAKyyB,EAAMtV,QAAQ8Q,UAAUxlB,SAAQ,SAAU0lB,GACpDsE,EAAM4gC,WAAWllC,EAAQsE,EAAMtV,QAAQ8Q,SAASE,OAElD,GAAG1lB,QAAQxU,KAAKw+B,EAAMzE,UAAUsY,iBAAiB,mBAAmB,SAAUxT,GAC5EL,EAAMmc,OAAO9b,MAEfL,EAAMlG,MAAMvrB,GAAG81C,EAAQhgD,QAAQynC,OAAOC,eAAe,SAAU3nC,EAAMshB,GAC/DthB,IAASigD,EAAQhgD,QAAQynC,OAAO0I,kBAClCxU,EAAMwM,OAAO9mB,MAGjBsa,EAAMlG,MAAMvrB,GAAG81C,EAAQhgD,QAAQynC,OAAOyI,iBAAiB,WACrD,IAAIssB,EAAwB7gC,EAAMlG,MAAMM,UAAUqV,WAC9CqxB,EAAyBh0D,EAAe+zD,EAAuB,GAC/Dn7C,EAAQo7C,EAAuB,GAGnC9gC,EAAMwM,OAAO9mB,MAERsa,IAxBE0gC,EAAO91B,EAAM1lC,MAAM,iCAAkC86B,EAAMtV,SAAU+c,EAA2BzH,EAAO0gC,IA0IlH,OA9JA/4B,EAAU84B,EAAS/b,GA+CnB9kC,EAAa6gD,EAAS,CAAC,CACrBz9D,IAAK,aACL1B,MAAO,SAAoBo6B,EAAQlgB,GACjCnZ,KAAKm5B,SAASE,GAAUlgB,IAEzB,CACDxY,IAAK,SACL1B,MAAO,SAAgB++B,GACrB,IAAIuI,EAASvmC,KAETq5B,EAAS,GAAG+C,KAAKj9B,KAAK6+B,EAAM2K,WAAW,SAAUpJ,GACnD,OAAoC,IAA7BA,EAAUn3B,QAAQ,UAE3B,GAAKixB,EAAL,CAKA,GAJAA,EAASA,EAAO11B,MAAM,MAAML,QACN,WAAlB06B,EAAMe,SACRf,EAAM+K,aAAa,OAAQ,UAEA,MAAzB/oC,KAAKm5B,SAASE,GAAiB,CACjC,GAAmC,MAA/Br5B,KAAKy3B,MAAMyR,OAAOC,WAA4D,MAAvCnpC,KAAKy3B,MAAMyR,OAAOC,UAAU9P,GAErE,YADAkP,EAAMsC,KAAK,wCAAyCxR,EAAQ2E,GAG9D,GAAyC,MAArC6G,EAAY7iC,QAAQq6B,MAAMhD,GAE5B,YADAkP,EAAMsC,KAAK,2CAA4CxR,EAAQ2E,GAInE,IAAIoT,EAA8B,WAAlBpT,EAAMe,QAAuB,SAAW,QACxDf,EAAMqT,iBAAiBD,GAAW,SAAU9xC,GAC1C,IAAIL,OAAQ,EACZ,GAAsB,WAAlB++B,EAAMe,QAAsB,CAC9B,GAAIf,EAAM0rB,cAAgB,EAAG,OAC7B,IAAIl7B,EAAWwP,EAAM3V,QAAQ2V,EAAM0rB,eAEjCzqD,GADEuvB,EAAS46B,aAAa,cAGhB56B,EAASvvB,QAAS,QAI1BA,GADE++B,EAAM2K,UAAUoF,SAAS,eAGnB/P,EAAM/+B,QAAU++B,EAAMorB,aAAa,UAE7C9pD,EAAEmP,iBAEJ83B,EAAO9O,MAAM8T,QAEb,IAAImzB,EAAwBn4B,EAAO9O,MAAMM,UAAUqV,WAC/CuxB,EAAyBl0D,EAAei0D,EAAuB,GAC/Dr7C,EAAQs7C,EAAuB,GAEnC,GAA+B,MAA3Bp4B,EAAOpN,SAASE,GAClBkN,EAAOpN,SAASE,GAAQl6B,KAAKonC,EAAQtnC,QAChC,GAAI4lC,EAAY7iC,QAAQq6B,MAAMhD,GAAQ56B,qBAAqBomC,EAAY7iC,QAAQ06B,MAAO,CAE3F,GADAz9B,EAAQ2/D,OAAO,SAAWvlC,IACrBp6B,EAAO,OACZsnC,EAAO9O,MAAMkvB,gBAAe,IAAIhiB,EAAa3iC,SAAUs+B,OAAOjd,EAAM3iB,OAAOwgC,OAAO7d,EAAM/f,QAAQ68B,OAAOmI,EAAgB,GAAIjP,EAAQp6B,IAAS+iD,EAAQhgD,QAAQ0pC,QAAQoD,WAEpKvI,EAAO9O,MAAM4B,OAAOA,EAAQp6B,EAAO+iD,EAAQhgD,QAAQ0pC,QAAQoD,MAE7DvI,EAAO4D,OAAO9mB,MAGhBrjB,KAAKs+D,SAAS/6D,KAAK,CAAC81B,EAAQ2E,OAE7B,CACDr9B,IAAK,SACL1B,MAAO,SAAgBokB,GACrB,IAAIuiB,EAAmB,MAATviB,EAAgB,GAAKrjB,KAAKy3B,MAAMwV,UAAU5pB,GACxDrjB,KAAKs+D,SAAS3qD,SAAQ,SAAUgpD,GAC9B,IAAIC,EAAQnyD,EAAekyD,EAAM,GAC7BtjC,EAASujC,EAAM,GACf5+B,EAAQ4+B,EAAM,GAElB,GAAsB,WAAlB5+B,EAAMe,QAAsB,CAC9B,IAAIphB,OAAS,EACb,GAAa,MAAT0F,EACF1F,EAAS,UACJ,GAAuB,MAAnBioB,EAAQvM,GACjB1b,EAASqgB,EAAM5E,cAAc,yBACxB,IAAK10B,MAAM2E,QAAQu8B,EAAQvM,IAAU,CAC1C,IAAIp6B,EAAQ2mC,EAAQvM,GACC,kBAAVp6B,IACTA,EAAQA,EAAM80C,QAAQ,MAAO,QAE/Bp2B,EAASqgB,EAAM5E,cAAc,iBAAmBn6B,EAAQ,MAE5C,MAAV0e,GACFqgB,EAAM/+B,MAAQ,GACd++B,EAAM0rB,eAAiB,GAEvB/rC,EAAO6Q,UAAW,OAGpB,GAAa,MAATnL,EACF2a,EAAM2K,UAAU7B,OAAO,kBAClB,GAAI9I,EAAMorB,aAAa,SAAU,CAGtC,IAAIW,EAAWnkB,EAAQvM,KAAY2E,EAAMc,aAAa,UAA+B,MAAnB8G,EAAQvM,IAAmBuM,EAAQvM,GAAQz6B,aAAeo/B,EAAMc,aAAa,UAA+B,MAAnB8G,EAAQvM,KAAoB2E,EAAMc,aAAa,SAC1Md,EAAM2K,UAAUiB,OAAO,YAAamgB,QAEpC/rB,EAAM2K,UAAUiB,OAAO,YAAgC,MAAnBhE,EAAQvM,WAO/C+kC,EA/JK,CAgKZr2B,EAAS/lC,SAIX,SAAS68D,EAAU3lC,EAAWG,EAAQp6B,GACpC,IAAI++B,EAAQ/4B,SAASC,cAAc,UACnC84B,EAAM+K,aAAa,OAAQ,UAC3B/K,EAAM2K,UAAUC,IAAI,MAAQvP,GACf,MAATp6B,IACF++B,EAAM/+B,MAAQA,GAEhBi6B,EAAU9F,YAAY4K,GAGxB,SAASmgC,EAAYjlC,EAAW4lC,GACzBp6D,MAAM2E,QAAQy1D,EAAO,MACxBA,EAAS,CAACA,IAEZA,EAAOnrD,SAAQ,SAAU2qD,GACvB,IAAIS,EAAQ95D,SAASC,cAAc,QACnC65D,EAAMp2B,UAAUC,IAAI,cACpB01B,EAAS3qD,SAAQ,SAAUqrD,GACzB,GAAuB,kBAAZA,EACTH,EAAUE,EAAOC,OACZ,CACL,IAAI3lC,EAAS76B,OAAO0M,KAAK8zD,GAAS,GAC9B//D,EAAQ+/D,EAAQ3lC,GAChB30B,MAAM2E,QAAQpK,GAChBggE,EAAUF,EAAO1lC,EAAQp6B,GAEzB4/D,EAAUE,EAAO1lC,EAAQp6B,OAI/Bi6B,EAAU9F,YAAY2rC,MAI1B,SAASE,EAAU/lC,EAAWG,EAAQwM,GACpC,IAAI7H,EAAQ/4B,SAASC,cAAc,UACnC84B,EAAM2K,UAAUC,IAAI,MAAQvP,GAC5BwM,EAAOlyB,SAAQ,SAAU1U,GACvB,IAAI0e,EAAS1Y,SAASC,cAAc,WACtB,IAAVjG,EACF0e,EAAOorB,aAAa,QAAS9pC,GAE7B0e,EAAOorB,aAAa,WAAY,YAElC/K,EAAM5K,YAAYzV,MAEpBub,EAAU9F,YAAY4K,GAhDxBogC,EAAQnvB,SAAW,GAmDnBmvB,EAAQnvB,SAAW,CACjB/V,UAAW,KACXC,SAAU,CACR+lC,MAAO,WACL,IAAIl0B,EAAShrC,KAETqjB,EAAQrjB,KAAKy3B,MAAMkU,eACvB,GAAa,MAATtoB,EACJ,GAAoB,GAAhBA,EAAM/f,OAAa,CACrB,IAAIsiC,EAAU5lC,KAAKy3B,MAAMwV,YACzBzuC,OAAO0M,KAAK06B,GAASjyB,SAAQ,SAAUtJ,GAEoC,MAArEw6B,EAAY7iC,QAAQq6B,MAAMhyB,EAAMw6B,EAAY7iC,QAAQk6B,MAAMyC,SAC5DqM,EAAOvT,MAAM4B,OAAOhvB,GAAM,WAI9BrK,KAAKy3B,MAAM4W,aAAahrB,EAAO2+B,EAAQhgD,QAAQ0pC,QAAQoD,OAG3DqwB,UAAW,SAAmBlgE,GAC5B,IAAIswD,EAAQvvD,KAAKy3B,MAAMwV,YAAY,SACrB,QAAVhuC,GAA4B,MAATswD,EACrBvvD,KAAKy3B,MAAM4B,OAAO,QAAS,QAAS2oB,EAAQhgD,QAAQ0pC,QAAQoD,MAClD7vC,GAAmB,UAAVswD,GACnBvvD,KAAKy3B,MAAM4B,OAAO,SAAS,EAAO2oB,EAAQhgD,QAAQ0pC,QAAQoD,MAE5D9uC,KAAKy3B,MAAM4B,OAAO,YAAap6B,EAAO+iD,EAAQhgD,QAAQ0pC,QAAQoD,OAEhEkX,OAAQ,SAAgB/mD,GACtB,IAAIokB,EAAQrjB,KAAKy3B,MAAMkU,eACnB/F,EAAU5lC,KAAKy3B,MAAMwV,UAAU5pB,GAC/B2iC,EAAS8B,SAASliB,EAAQogB,QAAU,GACxC,GAAc,OAAV/mD,GAA4B,OAAVA,EAAgB,CACpC,IAAIuwC,EAAqB,OAAVvwC,EAAiB,GAAK,EACX,QAAtB2mC,EAAQu5B,YAAqB3vB,IAAa,GAC9CxvC,KAAKy3B,MAAM4B,OAAO,SAAU2sB,EAASxW,EAAUwS,EAAQhgD,QAAQ0pC,QAAQoD,QAG3EswB,KAAM,SAAcngE,IACJ,IAAVA,IACFA,EAAQ2/D,OAAO,oBAEjB5+D,KAAKy3B,MAAM4B,OAAO,OAAQp6B,EAAO+iD,EAAQhgD,QAAQ0pC,QAAQoD,OAE3Dzd,KAAM,SAAcpyB,GAClB,IAAIokB,EAAQrjB,KAAKy3B,MAAMkU,eACnB/F,EAAU5lC,KAAKy3B,MAAMwV,UAAU5pB,GACrB,UAAVpkB,EACsB,YAApB2mC,EAAQ,SAA6C,cAApBA,EAAQ,QAC3C5lC,KAAKy3B,MAAM4B,OAAO,QAAQ,EAAO2oB,EAAQhgD,QAAQ0pC,QAAQoD,MAEzD9uC,KAAKy3B,MAAM4B,OAAO,OAAQ,YAAa2oB,EAAQhgD,QAAQ0pC,QAAQoD,MAGjE9uC,KAAKy3B,MAAM4B,OAAO,OAAQp6B,EAAO+iD,EAAQhgD,QAAQ0pC,QAAQoD,SAMjEzwC,EAAQ2D,QAAUo8D,EAClB//D,EAAQ8/D,YAAcA,GAIhB,SAAU//D,EAAQC,GAExBD,EAAOC,QAAU,uOAIX,SAAUD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ4pB,EAAUhjD,EAAoB,IAE9BijD,EAAWxpB,EAAuBupB,GAEtC,SAASvpB,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI65B,EAAc,SAAUC,GAG1B,SAASD,EAAYh8D,EAAQoT,GAC3BoG,EAAgB7c,KAAMq/D,GAEtB,IAAI1hC,EAAQyH,EAA2BplC,MAAOq/D,EAAY9hC,WAAa/+B,OAAO8lC,eAAe+6B,IAAclgE,KAAKa,KAAMqD,IAOtH,OALAs6B,EAAMlnB,MAAMiyB,UAAYjyB,EACxBknB,EAAMzE,UAAUyP,UAAUC,IAAI,mBAC9B,GAAGjlC,MAAMxE,KAAKw+B,EAAMzE,UAAUsY,iBAAiB,mBAAoB,EAAG,GAAG79B,SAAQ,SAAUlT,GACzFA,EAAKkoC,UAAUC,IAAI,iBAEdjL,EA0BT,OAtCA2H,EAAU+5B,EAAaC,GAevB/hD,EAAa8hD,EAAa,CAAC,CACzB1+D,IAAK,YACL1B,MAAO,SAAmB0e,GACxB,IAAIld,EAAO0jC,EAAKk7B,EAAY5gE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe+6B,EAAY5gE,WAAY,YAAauB,MAAMb,KAAKa,KAAM2d,GAE/H,OADAld,EAAKgc,MAAM8iD,gBAAkB5hD,EAAOmhB,aAAa,UAAY,GACtDr+B,IAER,CACDE,IAAK,aACL1B,MAAO,SAAoBwB,EAAMgpD,GAC/BtlB,EAAKk7B,EAAY5gE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe+6B,EAAY5gE,WAAY,aAAcuB,MAAMb,KAAKa,KAAMS,EAAMgpD,GAC3H,IAAI+V,EAAax/D,KAAKyW,MAAM2iB,cAAc,mBACtCn6B,EAAQwB,GAAOA,EAAKq+B,aAAa,eAAsB,GACvD0gC,IACyB,SAAvBA,EAAWzgC,QACbygC,EAAW/iD,MAAMgjD,OAASxgE,EAE1BugE,EAAW/iD,MAAMijD,KAAOzgE,OAMzBogE,EAvCS,CAwChBpR,EAASjsD,SAEX3D,EAAQ2D,QAAUq9D,GAIZ,SAAUjhE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ4pB,EAAUhjD,EAAoB,IAE9BijD,EAAWxpB,EAAuBupB,GAEtC,SAASvpB,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIm6B,EAAa,SAAUL,GAGzB,SAASK,EAAWt8D,EAAQ0b,GAC1BlC,EAAgB7c,KAAM2/D,GAEtB,IAAIhiC,EAAQyH,EAA2BplC,MAAO2/D,EAAWpiC,WAAa/+B,OAAO8lC,eAAeq7B,IAAaxgE,KAAKa,KAAMqD,IAQpH,OANAs6B,EAAMzE,UAAUyP,UAAUC,IAAI,kBAC9B,GAAGj1B,QAAQxU,KAAKw+B,EAAMzE,UAAUsY,iBAAiB,oBAAoB,SAAU/wC,GAC7EA,EAAKioC,UAAY3pB,EAAMte,EAAKq+B,aAAa,eAAiB,OAE5DnB,EAAMiiC,YAAcjiC,EAAMzE,UAAUE,cAAc,gBAClDuE,EAAM0rB,WAAW1rB,EAAMiiC,aAChBjiC,EAYT,OAzBA2H,EAAUq6B,EAAYL,GAgBtB/hD,EAAaoiD,EAAY,CAAC,CACxBh/D,IAAK,aACL1B,MAAO,SAAoBwB,EAAMgpD,GAC/BtlB,EAAKw7B,EAAWlhE,UAAU8+B,WAAa/+B,OAAO8lC,eAAeq7B,EAAWlhE,WAAY,aAAcuB,MAAMb,KAAKa,KAAMS,EAAMgpD,GACzHhpD,EAAOA,GAAQT,KAAK4/D,YACpB5/D,KAAKyW,MAAMiyB,UAAYjoC,EAAKioC,cAIzBi3B,EA1BQ,CA2Bf1R,EAASjsD,SAEX3D,EAAQ2D,QAAU29D,GAIZ,SAAUvhE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEnB,SAASF,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,IAAIggE,EAAU,WACZ,SAASA,EAAQpoC,EAAOq4B,GACtB,IAAInyB,EAAQ39B,KAEZ6c,EAAgB7c,KAAM6/D,GAEtB7/D,KAAKy3B,MAAQA,EACbz3B,KAAK8vD,gBAAkBA,GAAmB7qD,SAAS2tB,KACnD5yB,KAAKsL,KAAOmsB,EAAMqR,aAAa,cAC/B9oC,KAAKsL,KAAKo9B,UAAY1oC,KAAKL,YAAYmgE,SACnC9/D,KAAKy3B,MAAMnsB,OAAStL,KAAKy3B,MAAMuR,oBACjChpC,KAAKy3B,MAAMnsB,KAAK+lC,iBAAiB,UAAU,WACzC1T,EAAMryB,KAAKmR,MAAM8gD,WAAa,EAAI5/B,EAAMlG,MAAMnsB,KAAKggC,UAAY,QAGnEtrC,KAAK+uD,OA4CP,OAzCAxxC,EAAasiD,EAAS,CAAC,CACrBl/D,IAAK,OACL1B,MAAO,WACLe,KAAKsL,KAAKq9B,UAAUC,IAAI,eAEzB,CACDjoC,IAAK,WACL1B,MAAO,SAAkB8gE,GACvB,IAAIpzB,EAAOozB,EAAUpzB,KAAOozB,EAAUj7D,MAAQ,EAAI9E,KAAKsL,KAAK00D,YAAc,EAEtEtzB,EAAMqzB,EAAUtzB,OAASzsC,KAAKy3B,MAAMnsB,KAAKggC,UAC7CtrC,KAAKsL,KAAKmR,MAAMkwB,KAAOA,EAAO,KAC9B3sC,KAAKsL,KAAKmR,MAAMiwB,IAAMA,EAAM,KAC5B1sC,KAAKsL,KAAKq9B,UAAU7B,OAAO,WAC3B,IAAIyF,EAAkBvsC,KAAK8vD,gBAAgBtjB,wBACvCyzB,EAAajgE,KAAKsL,KAAKkhC,wBACvB5F,EAAQ,EASZ,GARIq5B,EAAWrzB,MAAQL,EAAgBK,QACrChG,EAAQ2F,EAAgBK,MAAQqzB,EAAWrzB,MAC3C5sC,KAAKsL,KAAKmR,MAAMkwB,KAAOA,EAAO/F,EAAQ,MAEpCq5B,EAAWtzB,KAAOJ,EAAgBI,OACpC/F,EAAQ2F,EAAgBI,KAAOszB,EAAWtzB,KAC1C3sC,KAAKsL,KAAKmR,MAAMkwB,KAAOA,EAAO/F,EAAQ,MAEpCq5B,EAAWxzB,OAASF,EAAgBE,OAAQ,CAC9C,IAAI1nC,EAASk7D,EAAWxzB,OAASwzB,EAAWvzB,IACxCwzB,EAAgBH,EAAUtzB,OAASszB,EAAUrzB,IAAM3nC,EACvD/E,KAAKsL,KAAKmR,MAAMiwB,IAAMA,EAAMwzB,EAAgB,KAC5ClgE,KAAKsL,KAAKq9B,UAAUC,IAAI,WAE1B,OAAOhC,IAER,CACDjmC,IAAK,OACL1B,MAAO,WACLe,KAAKsL,KAAKq9B,UAAU7B,OAAO,cAC3B9mC,KAAKsL,KAAKq9B,UAAU7B,OAAO,iBAIxB+4B,EA3DK,GA8DdxhE,EAAQ2D,QAAU69D,GAIZ,SAAUzhE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIwL,EAAiB,WAAc,SAAS68B,EAAcpkC,EAAK2E,GAAK,IAAI0/B,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWpmC,OAAKtC,EAAW,IAAM,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAA6B,GAArBD,EAAKhkC,KAAKpC,EAAGlC,OAAY4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAAW,MAAOwW,GAAOopB,GAAK,EAAMpmC,EAAKgd,EAAO,QAAU,KAAWmpB,GAAMtI,EAAG,WAAWA,EAAG,YAAe,QAAU,GAAIuI,EAAI,MAAMpmC,GAAQ,OAAOkmC,EAAQ,OAAO,SAAUrkC,EAAK2E,GAAK,GAAInD,MAAM2E,QAAQnG,GAAQ,OAAOA,EAAY,GAAI5E,OAAOoB,YAAYlB,OAAO0E,GAAQ,OAAOokC,EAAcpkC,EAAK2E,GAAa,MAAM,IAAIhI,UAAU,yDAAjkB,GAEjBskC,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ7mB,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfwnB,EAAUv5B,EAAoB,GAE9Bw5B,EAAWC,EAAuBF,GAElCsL,EAAW7kC,EAAoB,GAE/B8kC,EAAYrL,EAAuBoL,GAEnCswB,EAAQn1D,EAAoB,IAE5Bo1D,EAAS37B,EAAuB07B,GAEhCE,EAAQr1D,EAAoB,IAE5Bs1D,EAAS77B,EAAuB47B,GAEhCr4B,EAAah9B,EAAoB,IAEjCu1D,EAASv1D,EAAoB,IAE7Bw1D,EAAU/7B,EAAuB87B,GAErC,SAAS97B,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIi7B,EAAiB,CAAC,CAAC,CAAEzZ,OAAQ,CAAC,IAAK,IAAK,KAAK,KAAW,CAAC,OAAQ,SAAU,YAAa,QAAS,CAAC,CAAE31B,KAAM,WAAa,CAAEA,KAAM,WAAa,CAAC,UAE7IqvC,EAAY,SAAUC,GAGxB,SAASD,EAAUjpC,EAAOpP,GACxBxL,EAAgB7c,KAAM0gE,GAES,MAA3Br4C,EAAQ2Q,QAAQC,SAAwD,MAArC5Q,EAAQ2Q,QAAQC,QAAQC,YAC7D7Q,EAAQ2Q,QAAQC,QAAQC,UAAYunC,GAGtC,IAAI9iC,EAAQyH,EAA2BplC,MAAO0gE,EAAUnjC,WAAa/+B,OAAO8lC,eAAeo8B,IAAYvhE,KAAKa,KAAMy3B,EAAOpP,IAGzH,OADAsV,EAAMlG,MAAMyB,UAAUyP,UAAUC,IAAI,WAC7BjL,EAkBT,OA9BA2H,EAAUo7B,EAAWC,GAerBpjD,EAAamjD,EAAW,CAAC,CACvB//D,IAAK,gBACL1B,MAAO,SAAuBg6B,GAC5BA,EAAQC,UAAUyP,UAAUC,IAAI,WAChC5oC,KAAK4gE,aAAa,GAAGj9D,MAAMxE,KAAK85B,EAAQC,UAAUsY,iBAAiB,WAAYgvB,EAAQx+D,SACvFhC,KAAK6gE,aAAa,GAAGl9D,MAAMxE,KAAK85B,EAAQC,UAAUsY,iBAAiB,WAAYgvB,EAAQx+D,SACvFhC,KAAK6uD,QAAU,IAAIiS,EAAY9gE,KAAKy3B,MAAOz3B,KAAKqoB,QAAQ0F,QACpDkL,EAAQC,UAAUE,cAAc,aAClCp5B,KAAKy3B,MAAM2R,SAASmZ,WAAW,CAAE5hD,IAAK,IAAK2lD,UAAU,IAAQ,SAAUjjC,EAAO9c,GAC5E0yB,EAAQE,SAAS,QAAQh6B,KAAK85B,GAAU1yB,EAAQ8yB,OAAO+lC,aAMxDsB,EA/BO,CAgCdN,EAAOp+D,SAET0+D,EAAUzxB,UAAW,EAAIzK,EAASxiC,UAAS,EAAM,GAAIo+D,EAAOp+D,QAAQitC,SAAU,CAC5EjW,QAAS,CACPC,QAAS,CACPE,SAAU,CACRimC,KAAM,SAAcngE,GAClB,GAAIA,EAAO,CACT,IAAIokB,EAAQrjB,KAAKy3B,MAAMkU,eACvB,GAAa,MAATtoB,GAAiC,GAAhBA,EAAM/f,OAAa,OACxC,IAAI4sD,EAAUlwD,KAAKy3B,MAAM8V,QAAQlqB,GAC7B,iBAAiB4+B,KAAKiO,IAA2C,IAA/BA,EAAQ9nD,QAAQ,aACpD8nD,EAAU,UAAYA,GAExB,IAAIrB,EAAU7uD,KAAKy3B,MAAM6B,MAAMu1B,QAC/BA,EAAQY,KAAK,OAAQS,QAErBlwD,KAAKy3B,MAAM4B,OAAO,QAAQ,SAQtC,IAAIynC,EAAc,SAAUC,GAG1B,SAASD,EAAYrpC,EAAO1J,GAC1BlR,EAAgB7c,KAAM8gE,GAEtB,IAAIv6B,EAASnB,EAA2BplC,MAAO8gE,EAAYvjC,WAAa/+B,OAAO8lC,eAAew8B,IAAc3hE,KAAKa,KAAMy3B,EAAO1J,IAG9H,OADAwY,EAAO2pB,QAAU3pB,EAAOj7B,KAAK8tB,cAAc,gBACpCmN,EA0DT,OAlEAjB,EAAUw7B,EAAaC,GAWvBxjD,EAAaujD,EAAa,CAAC,CACzBngE,IAAK,SACL1B,MAAO,WACL,IAAI+rC,EAAShrC,KAEbmkC,EAAK28B,EAAYriE,UAAU8+B,WAAa/+B,OAAO8lC,eAAew8B,EAAYriE,WAAY,SAAUuB,MAAMb,KAAKa,MAC3GA,KAAKsL,KAAK8tB,cAAc,eAAeiY,iBAAiB,SAAS,SAAU9tB,GACrEynB,EAAO1/B,KAAKq9B,UAAUoF,SAAS,cACjC/C,EAAO+kB,OAEP/kB,EAAOykB,KAAK,OAAQzkB,EAAOklB,QAAQ5b,aAErC/wB,EAAM9U,oBAERzO,KAAKsL,KAAK8tB,cAAc,eAAeiY,iBAAiB,SAAS,SAAU9tB,GACzE,GAAwB,MAApBynB,EAAOmlB,UAAmB,CAC5B,IAAI9sC,EAAQ2nB,EAAOmlB,UACnBnlB,EAAOolB,eACPplB,EAAOvT,MAAMqU,WAAWzoB,EAAO,QAAQ,EAAOysB,EAAU9tC,QAAQ0pC,QAAQoD,aACjE9D,EAAOmlB,UAEhB5sC,EAAM9U,iBACNu8B,EAAO+jB,UAET/uD,KAAKy3B,MAAMvrB,GAAG4jC,EAAU9tC,QAAQynC,OAAO0I,kBAAkB,SAAU9uB,EAAO84B,EAAUpS,GAClF,GAAa,MAAT1mB,EAAJ,CACA,GAAqB,IAAjBA,EAAM/f,QAAgBymC,IAAW+F,EAAU9tC,QAAQ0pC,QAAQoD,KAAM,CACnE,IAAImX,EAAwBjb,EAAOvT,MAAMyR,OAAOuL,WAAW6rB,EAAOt+D,QAASqhB,EAAM3iB,OAC7EwlD,EAAyBz7C,EAAew7C,EAAuB,GAC/DmZ,EAAOlZ,EAAuB,GAC9BhmC,EAASgmC,EAAuB,GAEpC,GAAY,MAARkZ,EAAc,CAChBp0B,EAAOmlB,UAAY,IAAInoB,EAAW6G,MAAMxrB,EAAM3iB,MAAQwf,EAAQk/C,EAAK97D,UACnE,IAAI4sD,EAAUoQ,EAAOt+D,QAAQ4jC,QAAQw5B,EAAKz5B,SAK1C,OAJAqF,EAAOklB,QAAQ5b,YAAc4b,EAC7BllB,EAAOklB,QAAQnnB,aAAa,OAAQmnB,GACpCllB,EAAOg2B,YACPh2B,EAAOvsB,SAASusB,EAAOvT,MAAM6U,UAAUtB,EAAOmlB,yBAIzCnlB,EAAOmlB,UAEhBnlB,EAAO+jB,aAGV,CACDpuD,IAAK,OACL1B,MAAO,WACLklC,EAAK28B,EAAYriE,UAAU8+B,WAAa/+B,OAAO8lC,eAAew8B,EAAYriE,WAAY,OAAQuB,MAAMb,KAAKa,MACzGA,KAAKsL,KAAK0oC,gBAAgB,iBAIvB8sB,EAnES,CAoEhBX,EAAMxS,aAERmT,EAAYhB,SAAW,CAAC,0FAA2F,mGAAoG,4BAA6B,6BAA6B/2D,KAAK,IAEtR1K,EAAQ2D,QAAU0+D,GAIZ,SAAUtiE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIgiE,EAAQj2D,EAAoB,IAE5Bk2D,EAASz8B,GAAuBw8B,GAEhCpG,EAAS7vD,EAAoB,IAE7B+vD,EAAa/vD,EAAoB,IAEjCm2D,EAAUn2D,EAAoB,IAE9Bo2D,EAAcp2D,EAAoB,IAElCq2D,EAAe58B,GAAuB28B,GAEtCE,EAAUt2D,EAAoB,IAE9Bu2D,EAAW98B,GAAuB68B,GAElCE,EAAQx2D,EAAoB,IAE5By2D,EAASh9B,GAAuB+8B,GAEhC1G,EAAc9vD,EAAoB,IAElCihD,EAASjhD,EAAoB,IAE7BgwD,EAAQhwD,EAAoB,IAE5BiwD,EAAQjwD,EAAoB,IAE5B02D,EAAQ12D,EAAoB,IAE5B22D,EAASl9B,GAAuBi9B,GAEhCE,EAAU52D,EAAoB,IAE9B62D,EAAWp9B,GAAuBm9B,GAElCvB,EAAQr1D,EAAoB,IAE5Bs1D,EAAS77B,GAAuB47B,GAEhCyB,EAAU92D,EAAoB,IAE9B+2D,EAAWt9B,GAAuBq9B,GAElCE,EAAUh3D,EAAoB,IAE9Bi3D,EAAWx9B,GAAuBu9B,GAElCE,EAAal3D,EAAoB,IAEjCm3D,EAAc19B,GAAuBy9B,GAErCE,EAASp3D,EAAoB,IAE7Bq3D,EAAU59B,GAAuB29B,GAEjCE,EAASt3D,EAAoB,IAE7Bu3D,EAAU99B,GAAuB69B,GAEjCzsB,EAAQ7qC,EAAoB,IAE5B8qC,EAASrR,GAAuBoR,GAEhC2sB,EAAWx3D,EAAoB,IAE/By3D,EAAYh+B,GAAuB+9B,GAEnCE,EAAU13D,EAAoB,IAE9B23D,EAAWl+B,GAAuBi+B,GAElCE,EAAW53D,EAAoB,IAE/B63D,EAAYp+B,GAAuBm+B,GAEnCrC,EAASv1D,EAAoB,IAE7Bw1D,EAAU/7B,GAAuB87B,GAEjCvS,EAAUhjD,EAAoB,IAE9BijD,EAAWxpB,GAAuBupB,GAElCJ,EAAe5iD,EAAoB,IAEnC6iD,EAAgBppB,GAAuBmpB,GAEvCE,EAAc9iD,EAAoB,IAElC+iD,EAAetpB,GAAuBqpB,GAEtCI,EAAWljD,EAAoB,IAE/BmjD,EAAY1pB,GAAuBypB,GAEnC4U,EAAU93D,EAAoB,KAE9B+3D,EAAWt+B,GAAuBq+B,GAElCE,GAAQh4D,EAAoB,IAE5Bi4D,GAASx+B,GAAuBu+B,IAEpC,SAASv+B,GAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvFyhE,EAAOl/D,QAAQs6B,SAAS,CACtB,kCAAmCy+B,EAAW3O,mBAE9C,0BAA2ByO,EAAOhP,WAClC,+BAAgCiP,EAAY9O,gBAC5C,0BAA2BC,EAAOtE,WAClC,8BAA+BoT,EAAW5O,eAC1C,yBAA0B6O,EAAM3O,UAChC,yBAA0B4O,EAAMxO,UAEhC,0BAA2BoO,EAAOjP,WAClC,+BAAgCkP,EAAY/O,gBAC5C,0BAA2BE,EAAOvE,WAClC,8BAA+BqT,EAAW7O,eAC1C,yBAA0B8O,EAAM1O,UAChC,yBAA0B2O,EAAMzO,YAC/B,GAEH0U,EAAOl/D,QAAQs6B,SAAS,CACtB,gBAAiBu+B,EAAOhP,WACxB,oBAAqBkP,EAAW5O,eAChC,iBAAkBgV,EAAQ+B,YAE1B,qBAAsBpI,EAAY/O,gBAClC,gBAAiBE,EAAOvE,WACxB,eAAgBsT,EAAM3O,UACtB,eAAgB4O,EAAMxO,UAEtB,qBAAsB4U,EAAar/D,QACnC,qBAAsB8zC,EAAO9zC,QAC7B,iBAAkBu/D,EAASv/D,QAC3B,eAAgBy/D,EAAOz/D,QAEvB,eAAgB2/D,EAAO3/D,QACvB,eAAgB6zC,EAAM/hB,KACtB,iBAAkB+tC,EAAS7/D,QAC3B,eAAgBs+D,EAAOt+D,QACvB,iBAAkB+/D,EAAS//D,QAC3B,iBAAkBigE,EAASjgE,QAC3B,oBAAqBmgE,EAAYngE,QAEjC,gBAAiBqgE,EAAQrgE,QACzB,gBAAiBugE,EAAQvgE,QAEzB,oBAAqBw/D,EAAM2B,SAE3B,kBAAmBV,EAAUzgE,QAC7B,iBAAkB2gE,EAAS3gE,QAC3B,kBAAmB6gE,EAAU7gE,QAE7B,gBAAiB+gE,EAAS/gE,QAC1B,cAAeihE,GAAOjhE,QAEtB,WAAYw+D,EAAQx+D,QACpB,YAAaisD,EAASjsD,QACtB,iBAAkB+rD,EAAa/rD,QAC/B,kBAAmB6rD,EAAc7rD,QACjC,aAAcmsD,EAAUnsD,UACvB,GAEH3D,EAAQ2D,QAAUk/D,EAAOl/D,SAInB,SAAU5D,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ6kE,iBAAcnkE,EAEtB,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAEzC,SAASH,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI49B,EAAkB,SAAUvb,GAG9B,SAASub,IAGP,OAFAvmD,EAAgB7c,KAAMojE,GAEfh+B,EAA2BplC,MAAOojE,EAAgB7lC,WAAa/+B,OAAO8lC,eAAe8+B,IAAkB18D,MAAM1G,KAAMyG,YA6B5H,OAlCA6+B,EAAU89B,EAAiBvb,GAQ3BtqC,EAAa6lD,EAAiB,CAAC,CAC7BziE,IAAK,MACL1B,MAAO,SAAaosB,EAAMpsB,GACxB,GAAc,OAAVA,GAA4B,OAAVA,EAAgB,CACpC,IAAI+mD,EAAShmD,KAAKf,MAAMosB,IAAS,EACjCpsB,EAAkB,OAAVA,EAAiB+mD,EAAS,EAAIA,EAAS,EAEjD,OAAc,IAAV/mD,GACFe,KAAK8mC,OAAOzb,IACL,GAEA8Y,EAAKi/B,EAAgB3kE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe8+B,EAAgB3kE,WAAY,MAAOuB,MAAMb,KAAKa,KAAMqrB,EAAMpsB,KAGtI,CACD0B,IAAK,SACL1B,MAAO,SAAgBosB,EAAMpsB,GAC3B,OAAOklC,EAAKi/B,EAAgB3kE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe8+B,EAAgB3kE,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqrB,EAAMpsB,IAAUklC,EAAKi/B,EAAgB3kE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe8+B,EAAgB3kE,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqrB,EAAMy8B,SAAS7oD,MAEzR,CACD0B,IAAK,QACL1B,MAAO,SAAeosB,GACpB,OAAOy8B,SAAS3jB,EAAKi/B,EAAgB3kE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe8+B,EAAgB3kE,WAAY,QAASuB,MAAMb,KAAKa,KAAMqrB,UAAUtsB,MAI/IqkE,EAnCa,CAoCpBv+B,EAAY7iC,QAAQ+6B,WAAWE,OAE7BimC,EAAc,IAAIE,EAAgB,SAAU,YAAa,CAC3Dn0D,MAAO41B,EAAY7iC,QAAQk6B,MAAMwC,MACjCyK,UAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAGnC9qC,EAAQ6kE,YAAcA,GAIhB,SAAU9kE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIg1C,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAErC,SAASxP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI69B,EAAa,SAAUhvB,GAGzB,SAASgvB,IAGP,OAFAxmD,EAAgB7c,KAAMqjE,GAEfj+B,EAA2BplC,MAAOqjE,EAAW9lC,WAAa/+B,OAAO8lC,eAAe++B,IAAa38D,MAAM1G,KAAMyG,YAGlH,OARA6+B,EAAU+9B,EAAYhvB,GAQfgvB,EATQ,CAUfnvB,EAAQlyC,SAEVqhE,EAAWjkC,SAAW,aACtBikC,EAAWtkC,QAAU,aAErB1gC,EAAQ2D,QAAUqhE,GAIZ,SAAUjlE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfk3B,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAErC,SAASxP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI89B,EAAS,SAAUjvB,GAGrB,SAASivB,IAGP,OAFAzmD,EAAgB7c,KAAMsjE,GAEfl+B,EAA2BplC,MAAOsjE,EAAO/lC,WAAa/+B,OAAO8lC,eAAeg/B,IAAS58D,MAAM1G,KAAMyG,YAU1G,OAfA6+B,EAAUg+B,EAAQjvB,GAQlB92B,EAAa+lD,EAAQ,KAAM,CAAC,CAC1B3iE,IAAK,UACL1B,MAAO,SAAiB0mC,GACtB,OAAO3lC,KAAK++B,QAAQ32B,QAAQu9B,EAAQ5G,SAAW,MAI5CukC,EAhBI,CAiBXpvB,EAAQlyC,SAEVshE,EAAOlkC,SAAW,SAClBkkC,EAAOvkC,QAAU,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAEhD1gC,EAAQ2D,QAAUshE,GAIZ,SAAUllE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQ8kE,cAAWpkE,EAErC,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCqP,EAASjpC,EAAoB,GAE7BkpC,EAAUzP,EAAuBwP,GAEjCgN,EAAaj2C,EAAoB,IAEjCk2C,EAAczc,EAAuBwc,GAEzC,SAASxc,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAAS6oC,EAAgB7oC,EAAKkB,EAAK1B,GAAiK,OAApJ0B,KAAOlB,EAAOjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAAE1B,MAAOA,EAAOke,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB5d,EAAIkB,GAAO1B,EAAgBQ,EAE3M,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAI29B,EAAW,SAAU9uB,GAGvB,SAAS8uB,IAGP,OAFAtmD,EAAgB7c,KAAMmjE,GAEf/9B,EAA2BplC,MAAOmjE,EAAS5lC,WAAa/+B,OAAO8lC,eAAe6+B,IAAWz8D,MAAM1G,KAAMyG,YAwC9G,OA7CA6+B,EAAU69B,EAAU9uB,GAQpB92B,EAAa4lD,EAAU,CAAC,CACtBxiE,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GACvBoL,IAAS6L,EAAKkpB,UAAangC,EAG7BklC,EAAKg/B,EAAS1kE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe6+B,EAAS1kE,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqK,EAAMpL,GAFjHe,KAAKi+C,YAAYpZ,EAAY7iC,QAAQm6B,OAAOn8B,KAAKinC,QAAQh4B,UAK5D,CACDtO,IAAK,SACL1B,MAAO,WACY,MAAbe,KAAKs1C,MAA6B,MAAbt1C,KAAKsqB,KAC5BtqB,KAAKwvB,OAAOsX,SAEZ3C,EAAKg/B,EAAS1kE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe6+B,EAAS1kE,WAAY,SAAUuB,MAAMb,KAAKa,QAGxG,CACDW,IAAK,cACL1B,MAAO,SAAqBoL,EAAMpL,GAEhC,OADAe,KAAKwvB,OAAOihB,QAAQzwC,KAAKkgB,OAAOlgB,KAAKwvB,QAASxvB,KAAKsD,UAC/C+G,IAASrK,KAAKwvB,OAAOyX,QAAQ7H,UAC/Bp/B,KAAKwvB,OAAOyuB,YAAY5zC,EAAMpL,GACvBe,OAEPA,KAAKwvB,OAAOimB,SACLtR,EAAKg/B,EAAS1kE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe6+B,EAAS1kE,WAAY,cAAeuB,MAAMb,KAAKa,KAAMqK,EAAMpL,OAG/H,CAAC,CACH0B,IAAK,UACL1B,MAAO,SAAiB0mC,GACtB,OAAOA,EAAQ5G,UAAY/+B,KAAK++B,aAAUhgC,EAAYolC,EAAKg/B,EAAS5lC,WAAa/+B,OAAO8lC,eAAe6+B,GAAW,UAAWnjE,MAAMb,KAAKa,KAAM2lC,OAI3Iw9B,EA9CM,CA+CbjvB,EAAQlyC,SAEVmhE,EAAS/jC,SAAW,YACpB+jC,EAASpkC,QAAU,KAEnB,IAAI7oB,EAAO,SAAUqtD,GA4BnB,SAASrtD,EAAKyvB,GACZ9oB,EAAgB7c,KAAMkW,GAEtB,IAAIqwB,EAASnB,EAA2BplC,MAAOkW,EAAKqnB,WAAa/+B,OAAO8lC,eAAepuB,IAAO/W,KAAKa,KAAM2lC,IAErG69B,EAAmB,SAA0BlkE,GAC/C,GAAIA,EAAE2d,OAAOshB,aAAeoH,EAA5B,CACA,IAAItM,EAASkN,EAAOU,QAAQrB,QAAQD,GAChCrH,EAAOuG,EAAY7iC,QAAQo6B,KAAK98B,EAAE2d,QACvB,YAAXoc,EACFiF,EAAKjF,OAAO,OAAQ,aACA,cAAXA,GACTiF,EAAKjF,OAAO,OAAQ,aAMxB,OAFAsM,EAAQ0L,iBAAiB,aAAcmyB,GACvC79B,EAAQ0L,iBAAiB,YAAamyB,GAC/Bj9B,EAiDT,OA9FAjB,EAAUpvB,EAAMqtD,GAEhBhmD,EAAarH,EAAM,KAAM,CAAC,CACxBvV,IAAK,SACL1B,MAAO,SAAgBA,GACrB,IAAI8/B,EAAoB,YAAV9/B,EAAsB,KAAO,KACvCosB,EAAO8Y,EAAKjuB,EAAKqnB,WAAa/+B,OAAO8lC,eAAepuB,GAAO,SAAUlW,MAAMb,KAAKa,KAAM++B,GAI1F,MAHc,YAAV9/B,GAAiC,cAAVA,GACzBosB,EAAK0d,aAAa,eAA0B,YAAV9pC,GAE7BosB,IAER,CACD1qB,IAAK,UACL1B,MAAO,SAAiB0mC,GACtB,MAAwB,OAApBA,EAAQ5G,QAAyB,UACb,OAApB4G,EAAQ5G,QACN4G,EAAQyjB,aAAa,gBACyB,SAAzCzjB,EAAQ7G,aAAa,gBAA6B,UAAY,YAE9D,cAJX,MAgCJvhB,EAAarH,EAAM,CAAC,CAClBvV,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GACvBe,KAAK0W,SAASpT,OAAS,GACzBtD,KAAK0W,SAASmwB,KAAKxN,OAAOhvB,EAAMpL,KAGnC,CACD0B,IAAK,UACL1B,MAAO,WAEL,OAAOqpC,EAAgB,GAAItoC,KAAKinC,QAAQ7H,SAAUp/B,KAAKinC,QAAQrB,QAAQ5lC,KAAK2lC,YAE7E,CACDhlC,IAAK,eACL1B,MAAO,SAAsBq/B,EAAMzyB,GACjC,GAAIyyB,aAAgB6kC,EAClBh/B,EAAKjuB,EAAKzX,UAAU8+B,WAAa/+B,OAAO8lC,eAAepuB,EAAKzX,WAAY,eAAgBuB,MAAMb,KAAKa,KAAMs+B,EAAMzyB,OAC1G,CACL,IAAInL,EAAe,MAAPmL,EAAc7L,KAAKsD,SAAWuI,EAAIqU,OAAOlgB,MACjD65C,EAAQ75C,KAAKqhB,MAAM3gB,GACvBm5C,EAAMrqB,OAAO2W,aAAa7H,EAAMub,MAGnC,CACDl5C,IAAK,WACL1B,MAAO,SAAkBsH,GACvB49B,EAAKjuB,EAAKzX,UAAU8+B,WAAa/+B,OAAO8lC,eAAepuB,EAAKzX,WAAY,WAAYuB,MAAMb,KAAKa,KAAMuG,GACrG,IAAI+jB,EAAOtqB,KAAKsqB,KACJ,MAARA,GAAgBA,EAAKgrB,OAASt1C,MAAQsqB,EAAK2c,QAAQ7H,WAAap/B,KAAKinC,QAAQ7H,UAAY9U,EAAKqb,QAAQ5G,UAAY/+B,KAAK2lC,QAAQ5G,SAAWzU,EAAKqb,QAAQ7G,aAAa,kBAAoB9+B,KAAK2lC,QAAQ7G,aAAa,kBACpNxU,EAAKqmB,aAAa3wC,MAClBsqB,EAAKwc,YAGR,CACDnmC,IAAK,UACL1B,MAAO,SAAiBge,GACtB,GAAIA,EAAOgqB,QAAQ7H,WAAap/B,KAAKinC,QAAQ7H,SAAU,CACrD,IAAI3+B,EAAOokC,EAAY7iC,QAAQm6B,OAAOn8B,KAAKinC,QAAQC,cACnDjqB,EAAO0zB,aAAalwC,GACpBT,KAAKozB,YAAY3yB,GAEnB0jC,EAAKjuB,EAAKzX,UAAU8+B,WAAa/+B,OAAO8lC,eAAepuB,EAAKzX,WAAY,UAAWuB,MAAMb,KAAKa,KAAMid,OAIjG/G,EA/FE,CAgGTgrC,EAAYl/C,SAEdkU,EAAKkpB,SAAW,OAChBlpB,EAAKjH,MAAQ41B,EAAY7iC,QAAQk6B,MAAMmK,WACvCnwB,EAAK6oB,QAAU,CAAC,KAAM,MACtB7oB,EAAKgxB,aAAe,YACpBhxB,EAAKixB,gBAAkB,CAACg8B,GAExB9kE,EAAQ8kE,SAAWA,EACnB9kE,EAAQ2D,QAAUkU,GAIZ,SAAU9X,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIyiE,EAAQ12D,EAAoB,IAE5B22D,EAASl9B,EAAuBi9B,GAEpC,SAASj9B,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIi+B,EAAS,SAAUC,GAGrB,SAASD,IAGP,OAFA5mD,EAAgB7c,KAAMyjE,GAEfr+B,EAA2BplC,MAAOyjE,EAAOlmC,WAAa/+B,OAAO8lC,eAAem/B,IAAS/8D,MAAM1G,KAAMyG,YAG1G,OARA6+B,EAAUm+B,EAAQC,GAQXD,EATI,CAUX9B,EAAO3/D,SAETyhE,EAAOrkC,SAAW,SAClBqkC,EAAO1kC,QAAU,CAAC,KAAM,KAExB1gC,EAAQ2D,QAAUyhE,GAIZ,SAAUrlE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZY,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAEtC,SAASP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIm+B,EAAS,SAAUxvB,GAGrB,SAASwvB,IAGP,OAFA9mD,EAAgB7c,KAAM2jE,GAEfv+B,EAA2BplC,MAAO2jE,EAAOpmC,WAAa/+B,OAAO8lC,eAAeq/B,IAASj9D,MAAM1G,KAAMyG,YAuB1G,OA5BA6+B,EAAUq+B,EAAQxvB,GAQlB52B,EAAaomD,EAAQ,KAAM,CAAC,CAC1BhjE,IAAK,SACL1B,MAAO,SAAgBA,GACrB,MAAc,UAAVA,EACKgG,SAASC,cAAc,OACX,QAAVjG,EACFgG,SAASC,cAAc,OAEvBi/B,EAAKw/B,EAAOpmC,WAAa/+B,OAAO8lC,eAAeq/B,GAAS,SAAU3jE,MAAMb,KAAKa,KAAMf,KAG7F,CACD0B,IAAK,UACL1B,MAAO,SAAiB0mC,GACtB,MAAwB,QAApBA,EAAQ5G,QAA0B,MACd,QAApB4G,EAAQ5G,QAA0B,aAAtC,MAKG4kC,EA7BI,CA8BX1+B,EAASjjC,SAEX2hE,EAAOvkC,SAAW,SAClBukC,EAAO5kC,QAAU,CAAC,MAAO,OAEzB1gC,EAAQ2D,QAAU2hE,GAIZ,SAAUvlE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAI+lC,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAEtC,SAASP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIo+B,EAAS,SAAUzvB,GAGrB,SAASyvB,IAGP,OAFA/mD,EAAgB7c,KAAM4jE,GAEfx+B,EAA2BplC,MAAO4jE,EAAOrmC,WAAa/+B,OAAO8lC,eAAes/B,IAASl9D,MAAM1G,KAAMyG,YAG1G,OARA6+B,EAAUs+B,EAAQzvB,GAQXyvB,EATI,CAUX3+B,EAASjjC,SAEX4hE,EAAOxkC,SAAW,SAClBwkC,EAAO7kC,QAAU,IAEjB1gC,EAAQ2D,QAAU4hE,GAIZ,SAAUxlE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAI+lC,EAAUh6B,EAAoB,GAE9Bi6B,EAAWR,EAAuBO,GAEtC,SAASP,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIq+B,EAAY,SAAU1vB,GAGxB,SAAS0vB,IAGP,OAFAhnD,EAAgB7c,KAAM6jE,GAEfz+B,EAA2BplC,MAAO6jE,EAAUtmC,WAAa/+B,OAAO8lC,eAAeu/B,IAAYn9D,MAAM1G,KAAMyG,YAGhH,OARA6+B,EAAUu+B,EAAW1vB,GAQd0vB,EATO,CAUd5+B,EAASjjC,SAEX6hE,EAAUzkC,SAAW,YACrBykC,EAAU9kC,QAAU,IAEpB1gC,EAAQ2D,QAAU6hE,GAIZ,SAAUzlE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCy7B,EAAQr1D,EAAoB,IAEhC,SAASy5B,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIs+B,EAAa,CAAC,MAAO,SAAU,SAE/Bl+D,EAAQ,SAAU8/B,GAGpB,SAAS9/B,IAGP,OAFAiX,EAAgB7c,KAAM4F,GAEfw/B,EAA2BplC,MAAO4F,EAAM23B,WAAa/+B,OAAO8lC,eAAe1+B,IAAQc,MAAM1G,KAAMyG,YAqDxG,OA1DA6+B,EAAU1/B,EAAO8/B,GAQjBnoB,EAAa3X,EAAO,CAAC,CACnBjF,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GACvB6kE,EAAW17D,QAAQiC,IAAS,EAC1BpL,EACFe,KAAK2lC,QAAQoD,aAAa1+B,EAAMpL,GAEhCe,KAAK2lC,QAAQqO,gBAAgB3pC,GAG/B85B,EAAKv+B,EAAMnH,UAAU8+B,WAAa/+B,OAAO8lC,eAAe1+B,EAAMnH,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqK,EAAMpL,MAG7G,CAAC,CACH0B,IAAK,SACL1B,MAAO,SAAgBA,GACrB,IAAIosB,EAAO8Y,EAAKv+B,EAAM23B,WAAa/+B,OAAO8lC,eAAe1+B,GAAQ,SAAU5F,MAAMb,KAAKa,KAAMf,GAI5F,MAHqB,kBAAVA,GACTosB,EAAK0d,aAAa,MAAO/oC,KAAK+nD,SAAS9oD,IAElCosB,IAER,CACD1qB,IAAK,UACL1B,MAAO,SAAiB0mC,GACtB,OAAOm+B,EAAWhjC,QAAO,SAAU8E,EAASE,GAI1C,OAHIH,EAAQyjB,aAAatjB,KACvBF,EAAQE,GAAaH,EAAQ7G,aAAagH,IAErCF,IACN,MAEJ,CACDjlC,IAAK,QACL1B,MAAO,SAAeypB,GACpB,MAAQ,qBAAqBu5B,KAAKv5B,IAAQ,yBAAyBu5B,KAAKv5B,KAGzE,CACD/nB,IAAK,WACL1B,MAAO,SAAkBypB,GACvB,OAAO,EAAI23C,EAAMtY,UAAUr/B,EAAK,CAAC,OAAQ,QAAS,SAAWA,EAAM,SAEpE,CACD/nB,IAAK,QACL1B,MAAO,SAAe0mC,GACpB,OAAOA,EAAQ7G,aAAa,WAIzBl5B,EA3DG,CA4DVi/B,EAAY7iC,QAAQ06B,OAEtB92B,EAAMw5B,SAAW,QACjBx5B,EAAMm5B,QAAU,MAEhB1gC,EAAQ2D,QAAU4D,GAIZ,SAAUxH,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAGT,IAAIse,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ6P,EAASjpC,EAAoB,GAE7Bq1D,EAAQr1D,EAAoB,IAE5Bs1D,EAAS77B,EAAuB47B,GAEpC,SAAS57B,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIs+B,EAAa,CAAC,SAAU,SAExBC,EAAQ,SAAUC,GAGpB,SAASD,IAGP,OAFAlnD,EAAgB7c,KAAM+jE,GAEf3+B,EAA2BplC,MAAO+jE,EAAMxmC,WAAa/+B,OAAO8lC,eAAey/B,IAAQr9D,MAAM1G,KAAMyG,YA+CxG,OApDA6+B,EAAUy+B,EAAOC,GAQjBzmD,EAAawmD,EAAO,CAAC,CACnBpjE,IAAK,SACL1B,MAAO,SAAgBoL,EAAMpL,GACvB6kE,EAAW17D,QAAQiC,IAAS,EAC1BpL,EACFe,KAAK2lC,QAAQoD,aAAa1+B,EAAMpL,GAEhCe,KAAK2lC,QAAQqO,gBAAgB3pC,GAG/B85B,EAAK4/B,EAAMtlE,UAAU8+B,WAAa/+B,OAAO8lC,eAAey/B,EAAMtlE,WAAY,SAAUuB,MAAMb,KAAKa,KAAMqK,EAAMpL,MAG7G,CAAC,CACH0B,IAAK,SACL1B,MAAO,SAAgBA,GACrB,IAAIosB,EAAO8Y,EAAK4/B,EAAMxmC,WAAa/+B,OAAO8lC,eAAey/B,GAAQ,SAAU/jE,MAAMb,KAAKa,KAAMf,GAI5F,OAHAosB,EAAK0d,aAAa,cAAe,KACjC1d,EAAK0d,aAAa,mBAAmB,GACrC1d,EAAK0d,aAAa,MAAO/oC,KAAK+nD,SAAS9oD,IAChCosB,IAER,CACD1qB,IAAK,UACL1B,MAAO,SAAiB0mC,GACtB,OAAOm+B,EAAWhjC,QAAO,SAAU8E,EAASE,GAI1C,OAHIH,EAAQyjB,aAAatjB,KACvBF,EAAQE,GAAaH,EAAQ7G,aAAagH,IAErCF,IACN,MAEJ,CACDjlC,IAAK,WACL1B,MAAO,SAAkBypB,GACvB,OAAO43C,EAAOt+D,QAAQ+lD,SAASr/B,KAEhC,CACD/nB,IAAK,QACL1B,MAAO,SAAe0mC,GACpB,OAAOA,EAAQ7G,aAAa,WAIzBilC,EArDG,CAsDV9vB,EAAOjQ,YAET+/B,EAAM3kC,SAAW,QACjB2kC,EAAMxkC,UAAY,WAClBwkC,EAAMhlC,QAAU,SAEhB1gC,EAAQ2D,QAAU+hE,GAIZ,SAAU3lE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQ4lE,iBAAcllE,EAExC,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ4lB,EAASh/C,EAAoB,IAE7Bi/C,EAAUxlB,EAAuBulB,GAEjCjI,EAAS/2C,EAAoB,GAE7Bg3C,EAAUvd,EAAuBsd,GAEjCja,EAAU98B,EAAoB,GAE9B+8B,EAAWtD,EAAuBqD,GAEtC,SAASrD,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIy+B,EAAc,SAAUC,GAG1B,SAASD,IAGP,OAFApnD,EAAgB7c,KAAMikE,GAEf7+B,EAA2BplC,MAAOikE,EAAY1mC,WAAa/+B,OAAO8lC,eAAe2/B,IAAcv9D,MAAM1G,KAAMyG,YAuBpH,OA5BA6+B,EAAU2+B,EAAaC,GAQvB3mD,EAAa0mD,EAAa,KAAM,CAAC,CAC/BtjE,IAAK,SACL1B,MAAO,SAAgBA,GACrB,IAAIosB,EAAO8Y,EAAK8/B,EAAY1mC,WAAa/+B,OAAO8lC,eAAe2/B,GAAc,SAAUjkE,MAAMb,KAAKa,KAAMf,GAQxG,MAPqB,kBAAVA,IACTg0B,OAAOkxC,MAAMrkE,OAAOb,EAAOosB,EAAM,CAC/B+4C,cAAc,EACdC,WAAY,SAEdh5C,EAAK0d,aAAa,aAAc9pC,IAE3BosB,IAER,CACD1qB,IAAK,QACL1B,MAAO,SAAe0mC,GACpB,OAAOA,EAAQ7G,aAAa,kBAIzBmlC,EA7BS,CA8BhBha,EAAQjoD,SAEViiE,EAAY7kC,SAAW,UACvB6kC,EAAY1kC,UAAY,aACxB0kC,EAAYllC,QAAU,OAEtB,IAAIulC,EAAU,SAAUjiB,GAUtB,SAASiiB,IACPznD,EAAgB7c,KAAMskE,GAEtB,IAAI/9B,EAASnB,EAA2BplC,MAAOskE,EAAQ/mC,WAAa/+B,OAAO8lC,eAAeggC,IAAUnlE,KAAKa,OAEzG,GAAoB,MAAhBizB,OAAOkxC,MACT,MAAM,IAAIj8D,MAAM,kCAElB,OAAOq+B,EAGT,OApBAjB,EAAUg/B,EAASjiB,GAEnB9kC,EAAa+mD,EAAS,KAAM,CAAC,CAC3B3jE,IAAK,WACL1B,MAAO,WACL+iD,EAAQhgD,QAAQs6B,SAAS2nC,GAAa,OAenCK,EArBK,CAsBZv8B,EAAS/lC,SAEX3D,EAAQ4lE,YAAcA,EACtB5lE,EAAQ2D,QAAUsiE,GAIZ,SAAUlmE,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQkmE,UAAYlmE,EAAQ+1C,eAAYr1C,EAE1D,IAAIwe,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfonB,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZQ,EAAa55B,EAAoB,GAEjC65B,EAAcJ,EAAuBG,GAErCmd,EAAS/2C,EAAoB,GAE7Bg3C,EAAUvd,EAAuBsd,GAEjCja,EAAU98B,EAAoB,GAE9B+8B,EAAWtD,EAAuBqD,GAElC+N,EAAQ7qC,EAAoB,IAE5B8qC,EAASrR,EAAuBoR,GAEpC,SAASpR,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIg/B,EAAkB,SAAUC,GAG9B,SAASD,IAGP,OAFA3nD,EAAgB7c,KAAMwkE,GAEfp/B,EAA2BplC,MAAOwkE,EAAgBjnC,WAAa/+B,OAAO8lC,eAAekgC,IAAkB99D,MAAM1G,KAAMyG,YAyB5H,OA9BA6+B,EAAUk/B,EAAiBC,GAQ3BlnD,EAAainD,EAAiB,CAAC,CAC7B7jE,IAAK,cACL1B,MAAO,SAAqBinC,GAC1BlmC,KAAK2lC,QAAQ2O,YAAct0C,KAAK2lC,QAAQ2O,YACxCt0C,KAAK85C,SACL3V,EAAKqgC,EAAgB/lE,UAAU8+B,WAAa/+B,OAAO8lC,eAAekgC,EAAgB/lE,WAAY,cAAeuB,MAAMb,KAAKa,KAAMkmC,KAE/H,CACDvlC,IAAK,YACL1B,MAAO,SAAmBylE,GACxB,IAAItkC,EAAOpgC,KAAK2lC,QAAQ2O,YACpBt0C,KAAK2kE,aAAevkC,KAClBA,EAAK9b,OAAOhhB,OAAS,GAAwB,MAAnBtD,KAAK2kE,cACjC3kE,KAAK2lC,QAAQ+C,UAAYg8B,EAAWtkC,GACpCpgC,KAAK2lC,QAAQ2d,YACbtjD,KAAK85C,UAEP95C,KAAK2kE,WAAavkC,OAKjBokC,EA/Ba,CAgCpB1uB,EAAO9zC,SAETwiE,EAAgBjlC,UAAY,YAE5B,IAAIglC,EAAY,IAAI1/B,EAAY7iC,QAAQ+6B,WAAWE,MAAM,QAAS,OAAQ,CACxEhuB,MAAO41B,EAAY7iC,QAAQk6B,MAAMyC,SAG/BimC,EAAS,SAAUviB,GAWrB,SAASuiB,EAAOntC,EAAOpP,GACrBxL,EAAgB7c,KAAM4kE,GAEtB,IAAIr+B,EAASnB,EAA2BplC,MAAO4kE,EAAOrnC,WAAa/+B,OAAO8lC,eAAesgC,IAASzlE,KAAKa,KAAMy3B,EAAOpP,IAEpH,GAAwC,oBAA7Bke,EAAOle,QAAQw8C,UACxB,MAAM,IAAI38D,MAAM,6FAElB,IAAIrB,EAAQ,KASZ,OARA0/B,EAAO9O,MAAMvrB,GAAG81C,EAAQhgD,QAAQynC,OAAOyI,iBAAiB,WACtDprC,aAAaD,GACbA,EAAQE,YAAW,WACjBw/B,EAAOs+B,YACPh+D,EAAQ,OACP0/B,EAAOle,QAAQy8C,aAEpBv+B,EAAOs+B,YACAt+B,EAqBT,OAhDAjB,EAAUs/B,EAAQviB,GAElB9kC,EAAaqnD,EAAQ,KAAM,CAAC,CAC1BjkE,IAAK,WACL1B,MAAO,WACL+iD,EAAQhgD,QAAQs6B,SAASioC,GAAW,GACpCviB,EAAQhgD,QAAQs6B,SAASkoC,GAAiB,OAwB9CjnD,EAAaqnD,EAAQ,CAAC,CACpBjkE,IAAK,YACL1B,MAAO,WACL,IAAI+rC,EAAShrC,KAEb,IAAIA,KAAKy3B,MAAMM,UAAUygB,UAAzB,CACAx4C,KAAKy3B,MAAM0S,OAAO6X,EAAQhgD,QAAQ0pC,QAAQoD,MAC1C,IAAIzrB,EAAQrjB,KAAKy3B,MAAMkU,eACvB3rC,KAAKy3B,MAAMyR,OAAOzC,YAAY+9B,GAAiB7wD,SAAQ,SAAU/L,GAC/DA,EAAKi9D,UAAU75B,EAAO3iB,QAAQw8C,cAEhC7kE,KAAKy3B,MAAM0S,OAAO6X,EAAQhgD,QAAQ0pC,QAAQK,QAC7B,MAAT1oB,GACFrjB,KAAKy3B,MAAMmB,aAAavV,EAAO2+B,EAAQhgD,QAAQ0pC,QAAQK,aAKtD64B,EAjDI,CAkDX78B,EAAS/lC,SAEX4iE,EAAO31B,SAAW,CAChB41B,UAAW,WACT,OAAmB,MAAf5xC,OAAO8xC,KAAqB,KACzB,SAAU3kC,GACf,IAAI7gC,EAAS0zB,OAAO8xC,KAAKC,cAAc5kC,GACvC,OAAO7gC,EAAON,OAJP,GAOX6lE,SAAU,KAGZzmE,EAAQ+1C,UAAYowB,EACpBnmE,EAAQkmE,UAAYA,EACpBlmE,EAAQ2D,QAAU4iE,GAIZ,SAAUxmE,EAAQC,GAExBD,EAAOC,QAAU,8LAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,+LAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,+LAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,+LAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,g7EAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,sTAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,iRAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,sUAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,oPAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,mVAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,kVAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,qOAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,mOAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,0WAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,6YAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,03CAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,gkBAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,goBAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,gMAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,0OAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,yQAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,+PAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,+ZAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,osBAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,uVAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,6XAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,wqBAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,ijBAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,6gBAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,gMAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,+qBAIX,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,oKAIX,SAAUD,EAAQC,EAAS2M,GAEjC,aAGAxM,OAAO8e,eAAejf,EAAS,aAAc,CAC3CY,OAAO,IAETZ,EAAQ2D,QAAU3D,EAAQ4mE,mBAAgBlmE,EAE1C,IAAIolC,EAAO,SAASnJ,EAAIE,EAAQC,EAAUiJ,GAA2B,OAAXlJ,IAAiBA,EAAS3vB,SAAS9M,WAAW,IAAI4lC,EAAO7lC,OAAO6kC,yBAAyBnI,EAAQC,GAAW,QAAap8B,IAATslC,EAAoB,CAAE,IAAI7U,EAAShxB,OAAO8lC,eAAepJ,GAAS,OAAe,OAAX1L,OAAmB,EAAkCwL,EAAIxL,EAAQ2L,EAAUiJ,GAAoB,GAAI,UAAWC,EAAQ,OAAOA,EAAKplC,MAAgB,IAAI87B,EAASsJ,EAAKrJ,IAAK,YAAej8B,IAAXg8B,EAAmDA,EAAO57B,KAAKilC,QAAnE,GAErZ7mB,EAAe,WAAc,SAAS2mB,EAAiBjnB,EAAQnb,GAAS,IAAK,IAAI+F,EAAI,EAAGA,EAAI/F,EAAMwB,OAAQuE,IAAK,CAAE,IAAIqV,EAAapb,EAAM+F,GAAIqV,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAM7e,OAAO8e,eAAeL,EAAQC,EAAWvc,IAAKuc,IAAiB,OAAO,SAAUH,EAAaS,EAAYC,GAAiJ,OAA9HD,GAAY0mB,EAAiBnnB,EAAYte,UAAW+e,GAAiBC,GAAaymB,EAAiBnnB,EAAaU,GAAqBV,GAA7gB,GAEfwnB,EAAUv5B,EAAoB,GAE9Bw5B,EAAWC,EAAuBF,GAElCsL,EAAW7kC,EAAoB,GAE/B8kC,EAAYrL,EAAuBoL,GAEnCswB,EAAQn1D,EAAoB,IAE5Bo1D,EAAS37B,EAAuB07B,GAEhCn4B,EAAah9B,EAAoB,IAEjCu1D,EAASv1D,EAAoB,IAE7Bw1D,EAAU/7B,EAAuB87B,GAErC,SAAS97B,EAAuBhlC,GAAO,OAAOA,GAAOA,EAAIw7B,WAAax7B,EAAM,CAAEuC,QAASvC,GAEvF,SAASod,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIld,UAAU,qCAEhH,SAASulC,EAA2B/5B,EAAMlM,GAAQ,IAAKkM,EAAQ,MAAM,IAAIg6B,eAAe,6DAAgE,OAAOlmC,GAAyB,kBAATA,GAAqC,oBAATA,EAA8BkM,EAAPlM,EAElO,SAASmmC,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI3lC,UAAU,kEAAoE2lC,GAAeD,EAAS9mC,UAAYD,OAAO29B,OAAOqJ,GAAcA,EAAW/mC,UAAW,CAAEkB,YAAa,CAAEV,MAAOsmC,EAAUpoB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAeooB,IAAYhnC,OAAO8+B,eAAiB9+B,OAAO8+B,eAAeiI,EAAUC,GAAcD,EAAShI,UAAYiI,GAEje,IAAIi7B,EAAiB,CAAC,CAAC,OAAQ,SAAU,QAAS,CAAC,CAAEzZ,OAAQ,GAAK,CAAEA,OAAQ,GAAK,eAE7Eke,EAAc,SAAUvE,GAG1B,SAASuE,EAAYztC,EAAOpP,GAC1BxL,EAAgB7c,KAAMklE,GAES,MAA3B78C,EAAQ2Q,QAAQC,SAAwD,MAArC5Q,EAAQ2Q,QAAQC,QAAQC,YAC7D7Q,EAAQ2Q,QAAQC,QAAQC,UAAYunC,GAGtC,IAAI9iC,EAAQyH,EAA2BplC,MAAOklE,EAAY3nC,WAAa/+B,OAAO8lC,eAAe4gC,IAAc/lE,KAAKa,KAAMy3B,EAAOpP,IAG7H,OADAsV,EAAMlG,MAAMyB,UAAUyP,UAAUC,IAAI,aAC7BjL,EAaT,OAzBA2H,EAAU4/B,EAAavE,GAevBpjD,EAAa2nD,EAAa,CAAC,CACzBvkE,IAAK,gBACL1B,MAAO,SAAuBg6B,GAC5Bj5B,KAAK6uD,QAAU,IAAIoW,EAAcjlE,KAAKy3B,MAAOz3B,KAAKqoB,QAAQ0F,QAC1D/tB,KAAK6uD,QAAQvjD,KAAK8nB,YAAY6F,EAAQC,WACtCl5B,KAAK4gE,aAAa,GAAGj9D,MAAMxE,KAAK85B,EAAQC,UAAUsY,iBAAiB,WAAYgvB,EAAQx+D,SACvFhC,KAAK6gE,aAAa,GAAGl9D,MAAMxE,KAAK85B,EAAQC,UAAUsY,iBAAiB,WAAYgvB,EAAQx+D,aAIpFkjE,EA1BS,CA2BhB9E,EAAOp+D,SAETkjE,EAAYj2B,UAAW,EAAIzK,EAASxiC,UAAS,EAAM,GAAIo+D,EAAOp+D,QAAQitC,SAAU,CAC9EjW,QAAS,CACPC,QAAS,CACPE,SAAU,CACRimC,KAAM,SAAcngE,GACbA,EAGHe,KAAKy3B,MAAM6B,MAAMu1B,QAAQY,OAFzBzvD,KAAKy3B,MAAM4B,OAAO,QAAQ,SAUtC,IAAI4rC,EAAgB,SAAUlE,GAG5B,SAASkE,EAAcxtC,EAAO1J,GAC5BlR,EAAgB7c,KAAMilE,GAEtB,IAAI1+B,EAASnB,EAA2BplC,MAAOilE,EAAc1nC,WAAa/+B,OAAO8lC,eAAe2gC,IAAgB9lE,KAAKa,KAAMy3B,EAAO1J,IAwBlI,OAtBAwY,EAAO9O,MAAMvrB,GAAG4jC,EAAU9tC,QAAQynC,OAAOC,eAAe,SAAU3nC,EAAMshB,EAAO84B,EAAUpS,GACvF,GAAIhoC,IAAS+tC,EAAU9tC,QAAQynC,OAAO0I,iBACtC,GAAa,MAAT9uB,GAAiBA,EAAM/f,OAAS,GAAKymC,IAAW+F,EAAU9tC,QAAQ0pC,QAAQoD,KAAM,CAClFvI,EAAOy6B,OAEPz6B,EAAOj7B,KAAKmR,MAAMkwB,KAAO,MACzBpG,EAAOj7B,KAAKmR,MAAM3X,MAAQ,GAC1ByhC,EAAOj7B,KAAKmR,MAAM3X,MAAQyhC,EAAOj7B,KAAK00D,YAAc,KACpD,IAAIr5B,EAAQJ,EAAO9O,MAAMkqB,SAASt+B,EAAM3iB,MAAO2iB,EAAM/f,QACrD,GAAqB,IAAjBqjC,EAAMrjC,OACRijC,EAAO9nB,SAAS8nB,EAAO9O,MAAM6U,UAAUjpB,QAClC,CACL,IAAI8hD,EAAWx+B,EAAMA,EAAMrjC,OAAS,GAChC5C,EAAQ6lC,EAAO9O,MAAM2uB,SAAS+e,GAC9B7hE,EAAS82B,KAAK2H,IAAIojC,EAAS7hE,SAAW,EAAG+f,EAAM3iB,MAAQ2iB,EAAM/f,OAAS5C,GACtE0kE,EAAU7+B,EAAO9O,MAAM6U,UAAU,IAAItE,EAAW6G,MAAMnuC,EAAO4C,IACjEijC,EAAO9nB,SAAS2mD,SAETngE,SAASg2C,gBAAkB1U,EAAOuoB,SAAWvoB,EAAO9O,MAAM+V,YACnEjH,EAAOwoB,UAGJxoB,EAuCT,OApEAjB,EAAU2/B,EAAelE,GAgCzBxjD,EAAa0nD,EAAe,CAAC,CAC3BtkE,IAAK,SACL1B,MAAO,WACL,IAAI+rC,EAAShrC,KAEbmkC,EAAK8gC,EAAcxmE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe2gC,EAAcxmE,WAAY,SAAUuB,MAAMb,KAAKa,MAC/GA,KAAKsL,KAAK8tB,cAAc,aAAaiY,iBAAiB,SAAS,WAC7DrG,EAAO1/B,KAAKq9B,UAAU7B,OAAO,iBAE/B9mC,KAAKy3B,MAAMvrB,GAAG4jC,EAAU9tC,QAAQynC,OAAOyI,iBAAiB,WAEtDnrC,YAAW,WACT,IAAIikC,EAAO1/B,KAAKq9B,UAAUoF,SAAS,aAAnC,CACA,IAAI1qB,EAAQ2nB,EAAOvT,MAAMkU,eACZ,MAATtoB,GACF2nB,EAAOvsB,SAASusB,EAAOvT,MAAM6U,UAAUjpB,OAExC,QAGN,CACD1iB,IAAK,SACL1B,MAAO,WACLe,KAAKghE,SAEN,CACDrgE,IAAK,WACL1B,MAAO,SAAkB8gE,GACvB,IAAIn5B,EAAQzC,EAAK8gC,EAAcxmE,UAAU8+B,WAAa/+B,OAAO8lC,eAAe2gC,EAAcxmE,WAAY,WAAYuB,MAAMb,KAAKa,KAAM+/D,GAC/HsF,EAAQrlE,KAAKsL,KAAK8tB,cAAc,qBAEpC,GADAisC,EAAM5oD,MAAM6oD,WAAa,GACX,IAAV1+B,EAAa,OAAOA,EACxBy+B,EAAM5oD,MAAM6oD,YAAc,EAAI1+B,EAAQy+B,EAAMrF,YAAc,EAAI,SAI3DiF,EArEW,CAsElB9E,EAAMxS,aAERsX,EAAcnF,SAAW,CAAC,yCAA0C,kCAAmC,mGAAoG,2BAA4B,UAAU/2D,KAAK,IAEtP1K,EAAQ4mE,cAAgBA,EACxB5mE,EAAQ2D,QAAUkjE,GAIZ,SAAU9mE,EAAQC,EAAS2M,GAEjC5M,EAAOC,QAAU2M,EAAoB,OAIzB,gB,gDCxyWZ,SAASs9B,EAAgB7oC,EAAKkB,EAAK1B,GAYjC,OAXI0B,KAAOlB,EACTjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAC9B1B,MAAOA,EACPke,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ5d,EAAIkB,GAAO1B,EAGNQ,EAGTrB,EAAOC,QAAUiqC,G,wBCfhB,SAAS/U,EAAEj0B,GAAqDlB,EAAOC,QAAQiB,EAAE,EAAQ,SAAzF,CAA8PU,GAAK,SAASuzB,GAAG,OAAO,SAASA,GAAG,SAASj0B,EAAEuI,GAAG,GAAGsrB,EAAEtrB,GAAG,OAAOsrB,EAAEtrB,GAAGxJ,QAAQ,IAAIs0B,EAAEQ,EAAEtrB,GAAG,CAACA,EAAEA,EAAE8qB,GAAE,EAAGt0B,QAAQ,IAAI,OAAOk1B,EAAE1rB,GAAG1I,KAAKwzB,EAAEt0B,QAAQs0B,EAAEA,EAAEt0B,QAAQiB,GAAGqzB,EAAEA,GAAE,EAAGA,EAAEt0B,QAAQ,IAAI80B,EAAE,GAAG,OAAO7zB,EAAEoyB,EAAE6B,EAAEj0B,EAAE6yB,EAAEgB,EAAE7zB,EAAEuI,EAAE,SAAS0rB,GAAG,OAAOA,GAAGj0B,EAAEgzB,EAAE,SAASiB,EAAEJ,EAAEtrB,GAAGvI,EAAE2L,EAAEsoB,EAAEJ,IAAI30B,OAAO8e,eAAeiW,EAAEJ,EAAE,CAAC/V,cAAa,EAAGD,YAAW,EAAG6d,IAAInzB,KAAKvI,EAAE6zB,EAAE,SAASI,GAAG,IAAIJ,EAAEI,GAAGA,EAAE0H,WAAW,WAAW,OAAO1H,EAAEvxB,SAAS,WAAW,OAAOuxB,GAAG,OAAOj0B,EAAEgzB,EAAEa,EAAE,IAAIA,GAAGA,GAAG7zB,EAAE2L,EAAE,SAASsoB,EAAEj0B,GAAG,OAAOd,OAAOC,UAAUC,eAAeS,KAAKo0B,EAAEj0B,IAAIA,EAAEqyB,EAAE,IAAIryB,EAAEA,EAAEq3B,EAAE,GAAze,CAA6e,CAAC,SAASr3B,EAAE6zB,GAAG7zB,EAAEjB,QAAQk1B,GAAG,SAASA,EAAEj0B,EAAE6zB,GAAG,aAAa30B,OAAO8e,eAAehe,EAAE,aAAa,CAACL,OAAM,IAAK,IAAI4I,EAAEsrB,EAAE,GAAGR,EAAEQ,EAAEA,EAAEtrB,GAAGoD,EAAEkoB,EAAE,GAAGnB,EAAEmB,EAAE,GAAGoyC,EAAEvzC,EAAEW,EAAEf,EAAE3mB,EAAE2mB,GAAE,EAAG,KAAK,KAAK,MAAMtyB,EAAE0C,QAAQujE,EAAElnE,SAAS,SAASk1B,EAAEj0B,EAAE6zB,GAAG,aAAa,SAAStrB,EAAE0rB,GAAG,OAAOA,GAAGA,EAAE0H,WAAW1H,EAAE,CAACvxB,QAAQuxB,GAAG/0B,OAAO8e,eAAehe,EAAE,aAAa,CAACL,OAAM,IAAKK,EAAEkmE,QAAQlmE,EAAE23B,YAAY33B,EAAEkpC,WAAM,EAAO,IAAI7V,EAAEQ,EAAE,GAAGloB,EAAEpD,EAAE8qB,GAAGX,EAAEmB,EAAE,GAAGoyC,EAAE19D,EAAEmqB,GAAG2E,EAAE1D,OAAOuV,OAAOv9B,EAAEjJ,QAAQ4vB,EAAE,SAAS2B,EAAEj0B,GAAGA,IAAIimE,EAAEvjE,QAAQF,MAAM2jE,cAAczjE,QAAQ,WAAW,OAAO1C,IAAIi0B,EAAEhvB,UAAUghE,EAAEvjE,QAAQqI,KAAKk7D,EAAEvjE,UAAUmwB,EAAE,CAACqW,MAAM7R,EAAEM,YAAYsuC,EAAEvjE,QAAQwjE,QAAQ5zC,GAAGtyB,EAAE0C,QAAQmwB,EAAE7yB,EAAEkpC,MAAM7R,EAAEr3B,EAAE23B,YAAYsuC,EAAEvjE,QAAQ1C,EAAEkmE,QAAQ5zC,GAAG,SAAS2B,EAAEj0B,EAAE6zB,GAAG,aAAa30B,OAAO8e,eAAehe,EAAE,aAAa,CAACL,OAAM,IAAKK,EAAE0C,QAAQ,CAACs3B,MAAM,OAAOosC,SAASzgE,SAAS2tB,KAAKoG,QAAQ,CAACC,QAAQ,CAAC,CAAC,OAAO,SAAS,YAAY,UAAU,CAAC,aAAa,cAAc,CAAC,CAAC+tB,OAAO,GAAG,CAACA,OAAO,IAAI,CAAC,CAAC31B,KAAK,WAAW,CAACA,KAAK,WAAW,CAAC,CAACs0C,OAAO,OAAO,CAACA,OAAO,UAAU,CAAC,CAAC3f,OAAO,MAAM,CAACA,OAAO,OAAO,CAAC,CAACmZ,UAAU,QAAQ,CAAC,CAAC//C,KAAK,CAAC,SAAQ,EAAG,QAAQ,UAAU,CAAC,CAAC4nC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,KAAM,CAAC,CAAC4e,MAAM,IAAI,CAACC,WAAW,KAAK,CAAC,CAACC,KAAK,KAAK,CAAC,CAACvW,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,QAAQ,WAAWh2B,YAAY,uBAAuBgR,UAAS,IAAK,SAAShX,EAAEj0B,EAAE6zB,GAAG,aAAa,SAAStrB,EAAE0rB,GAAG,OAAOA,GAAGA,EAAE0H,WAAW1H,EAAE,CAACvxB,QAAQuxB,GAAG/0B,OAAO8e,eAAehe,EAAE,aAAa,CAACL,OAAM,IAAK,IAAI0zB,EAAEQ,EAAE,GAAGloB,EAAEpD,EAAE8qB,GAAGX,EAAEmB,EAAE,GAAGoyC,EAAE19D,EAAEmqB,GAAG2E,EAAE1D,OAAOuV,OAAOv9B,EAAEjJ,QAAQ,mBAAmBxD,OAAOyyB,QAAQzyB,OAAO8e,eAAe9e,OAAO,SAAS,CAACS,MAAM,SAASs0B,EAAEj0B,GAAG,GAAG,MAAMi0B,EAAE,MAAM,IAAI1zB,UAAU,8CAA8C,IAAI,IAAIszB,EAAE30B,OAAO+0B,GAAG1rB,EAAE,EAAEA,EAAEpB,UAAUnD,OAAOuE,IAAI,CAAC,IAAI8qB,EAAElsB,UAAUoB,GAAG,GAAG,MAAM8qB,EAAE,IAAI,IAAI1nB,KAAK0nB,EAAEn0B,OAAOC,UAAUC,eAAeS,KAAKwzB,EAAE1nB,KAAKkoB,EAAEloB,GAAG0nB,EAAE1nB,IAAI,OAAOkoB,GAAG9V,UAAS,EAAGD,cAAa,IAAK9d,EAAE0C,QAAQ,CAACqI,KAAK,eAAenI,KAAK,WAAW,MAAM,CAAC6jE,SAAS,GAAGC,SAAS,GAAGC,eAAeV,EAAEvjE,UAAUF,MAAM,CAACme,QAAQ8f,OAAO9gC,MAAM8gC,OAAOmmC,SAAS,CAACnkE,KAAKokE,QAAQnkE,SAAQ,GAAIqmB,QAAQ,CAACtmB,KAAKvD,OAAO4nE,UAAS,EAAGpkE,QAAQ,WAAW,MAAM,KAAKyjE,cAAc,CAAC1jE,KAAKvD,OAAO4nE,UAAS,EAAGpkE,QAAQ,WAAW,MAAM,MAAMkC,QAAQ,WAAWlE,KAAKqmE,cAAchiE,cAAc,WAAWrE,KAAKy3B,MAAM,YAAYz3B,KAAKy3B,OAAOr1B,QAAQ,CAACikE,WAAW,WAAW,IAAI9yC,EAAEvzB,KAAKA,KAAKsmE,MAAMtmE,KAAK+lE,SAASvnE,OAAOyyB,OAAO,GAAGjxB,KAAKimE,eAAejmE,KAAKylE,cAAczlE,KAAKqoB,SAASroB,KAAKy3B,MAAM,IAAId,EAAE32B,KAAK8X,MAAMyf,OAAOv3B,KAAK+lE,UAAU/lE,KAAKy3B,MAAM2T,QAAO,IAAKprC,KAAKf,OAAOe,KAAKigB,UAAUjgB,KAAKy3B,MAAM8uC,UAAUvmE,KAAKf,OAAOe,KAAKigB,SAASjgB,KAAKkmE,UAAUlmE,KAAKy3B,MAAM2T,QAAO,GAAIprC,KAAKy3B,MAAMvrB,GAAG,oBAAmB,SAAS5M,GAAGA,EAAEi0B,EAAE5wB,MAAM,QAAQ4wB,EAAEkE,OAAOlE,EAAE5wB,MAAM,OAAO4wB,EAAEkE,UAASz3B,KAAKy3B,MAAMvrB,GAAG,eAAc,SAAS5M,EAAE6zB,EAAEtrB,GAAG,IAAI8qB,EAAEY,EAAEzb,MAAMyf,OAAO7gB,SAAS,GAAGgyB,UAAUz9B,EAAEsoB,EAAEkE,MAAMzF,EAAEuB,EAAEkE,MAAM8V,UAAU,gBAAgB5a,IAAIA,EAAE,IAAIY,EAAEyyC,SAASrzC,EAAEY,EAAE5wB,MAAM,QAAQ4wB,EAAEyyC,UAAUzyC,EAAE5wB,MAAM,SAAS,CAAC8lC,KAAK9V,EAAEyN,KAAKpO,EAAEyF,MAAMxsB,OAAMjL,KAAK2C,MAAM,QAAQ3C,KAAKy3B,UAAU3zB,MAAM,CAACmc,QAAQ,SAASsT,EAAEj0B,GAAGU,KAAKy3B,QAAQlE,GAAGA,IAAIvzB,KAAKgmE,UAAUhmE,KAAKgmE,SAASzyC,EAAEvzB,KAAKy3B,MAAM8uC,UAAUhzC,IAAIA,GAAGvzB,KAAKy3B,MAAM+uC,QAAQ,MAAMvnE,MAAM,SAASs0B,EAAEj0B,GAAGU,KAAKy3B,QAAQlE,GAAGA,IAAIvzB,KAAKgmE,UAAUhmE,KAAKgmE,SAASzyC,EAAEvzB,KAAKy3B,MAAM8uC,UAAUhzC,IAAIA,GAAGvzB,KAAKy3B,MAAM+uC,QAAQ,MAAMN,SAAS,SAAS3yC,EAAEj0B,GAAGU,KAAKy3B,OAAOz3B,KAAKy3B,MAAM2T,QAAQ7X,OAAO,SAASA,EAAEj0B,GAAGi0B,EAAEl1B,QAAQ,SAASk1B,EAAEj0B,EAAE6zB,EAAEtrB,EAAE8qB,EAAE1nB,GAAG,IAAI+mB,EAAEuzC,EAAEhyC,EAAEA,GAAG,GAAGoD,SAASpD,EAAEvxB,QAAQ,WAAW20B,GAAG,aAAaA,IAAI3E,EAAEuB,EAAEgyC,EAAEhyC,EAAEvxB,SAAS,IAA4JmwB,EAAxJP,EAAE,mBAAmB2zC,EAAEA,EAAEl9C,QAAQk9C,EAAyH,GAAvHjmE,IAAIsyB,EAAE9xB,OAAOR,EAAEQ,OAAO8xB,EAAEhwB,gBAAgBtC,EAAEsC,gBAAgBgwB,EAAE60C,WAAU,GAAItzC,IAAIvB,EAAE80C,YAAW,GAAI/zC,IAAIf,EAAE+0C,SAASh0C,GAAY1nB,GAAGknB,EAAE,SAASoB,GAAGA,EAAEA,GAAGvzB,KAAK4mE,QAAQ5mE,KAAK4mE,OAAOC,YAAY7mE,KAAKwvB,QAAQxvB,KAAKwvB,OAAOo3C,QAAQ5mE,KAAKwvB,OAAOo3C,OAAOC,WAAWtzC,GAAG,oBAAoBuzC,sBAAsBvzC,EAAEuzC,qBAAqBj/D,GAAGA,EAAE1I,KAAKa,KAAKuzB,GAAGA,GAAGA,EAAEwzC,uBAAuBxzC,EAAEwzC,sBAAsBn+B,IAAI39B,IAAI2mB,EAAEo1C,aAAa70C,GAAGtqB,IAAIsqB,EAAEtqB,GAAGsqB,EAAE,CAAC,IAAIG,EAAEV,EAAE80C,WAAWt0C,EAAEE,EAAEV,EAAE9xB,OAAO8xB,EAAE7tB,aAAauuB,GAAGV,EAAEq1C,cAAc90C,EAAEP,EAAE9xB,OAAO,SAASyzB,EAAEj0B,GAAG,OAAO6yB,EAAEhzB,KAAKG,GAAG8yB,EAAEmB,EAAEj0B,KAAKsyB,EAAE7tB,aAAaquB,EAAE,GAAG+P,OAAO/P,EAAED,GAAG,CAACA,GAAG,MAAM,CAAC+0C,SAASl1C,EAAE3zB,QAAQknE,EAAEl9C,QAAQuJ,KAAK,SAAS2B,EAAEj0B,EAAE6zB,GAAG,aAAa,IAAItrB,EAAE,WAAW,IAAI0rB,EAAEvzB,KAAKV,EAAEi0B,EAAErzB,eAAeizB,EAAEI,EAAEnzB,MAAMD,IAAIb,EAAE,OAAO6zB,EAAE,MAAM,CAAC9yB,YAAY,gBAAgB,CAACkzB,EAAE4zC,GAAG,WAAW5zC,EAAEryB,GAAG,KAAKiyB,EAAE,MAAM,CAACtnB,IAAI,YAAY,IAAI8mB,EAAE,GAAG1nB,EAAE,CAACnL,OAAO+H,EAAEjG,gBAAgB+wB,GAAGrzB,EAAEsyB,EAAE3mB,S,qBCAt0J7M,EAAOC,QAAU,kvD,uBCOjB,IAAI+oE,EAAW,SAAU/oE,GACvB,aAEA,IAEIU,EAFAsoE,EAAK7oE,OAAOC,UACZykC,EAASmkC,EAAG3oE,eAEZ4oE,EAA4B,oBAAXhpE,OAAwBA,OAAS,GAClDipE,EAAiBD,EAAQ5nE,UAAY,aACrC8nE,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQxoE,aAAe,gBAE/C,SAAS4xC,EAAKi3B,EAASC,EAASv8D,EAAMw8D,GAEpC,IAAIC,EAAiBF,GAAWA,EAAQnpE,qBAAqBspE,EAAYH,EAAUG,EAC/EC,EAAYxpE,OAAO29B,OAAO2rC,EAAerpE,WACzC8H,EAAU,IAAI0hE,EAAQJ,GAAe,IAMzC,OAFAG,EAAUE,QAAUC,EAAiBR,EAASt8D,EAAM9E,GAE7CyhE,EAcT,SAASI,EAASliE,EAAIzG,EAAK4oE,GACzB,IACE,MAAO,CAAEtmE,KAAM,SAAUsmE,IAAKniE,EAAG/G,KAAKM,EAAK4oE,IAC3C,MAAOhqD,GACP,MAAO,CAAEtc,KAAM,QAASsmE,IAAKhqD,IAhBjChgB,EAAQqyC,KAAOA,EAoBf,IAAI43B,EAAyB,iBACzBC,EAAyB,iBACzBC,EAAoB,YACpBC,EAAoB,YAIpBC,EAAmB,GAMvB,SAASX,KACT,SAASY,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBA,EAAkBtB,GAAkB,WAClC,OAAOvnE,MAGT,IAAI8oE,EAAWtqE,OAAO8lC,eAClBykC,EAA0BD,GAAYA,EAASA,EAASjjC,EAAO,MAC/DkjC,GACAA,IAA4B1B,GAC5BnkC,EAAO/jC,KAAK4pE,EAAyBxB,KAGvCsB,EAAoBE,GAGtB,IAAIC,EAAKJ,EAA2BnqE,UAClCspE,EAAUtpE,UAAYD,OAAO29B,OAAO0sC,GAQtC,SAASI,EAAsBxqE,GAC7B,CAAC,OAAQ,QAAS,UAAUkV,SAAQ,SAAS2+B,GAC3C7zC,EAAU6zC,GAAU,SAAS+1B,GAC3B,OAAOroE,KAAKkoE,QAAQ51B,EAAQ+1B,OAoClC,SAASa,EAAclB,GACrB,SAASmB,EAAO72B,EAAQ+1B,EAAK3iE,EAASkY,GACpC,IAAImvC,EAASqb,EAASJ,EAAU11B,GAAS01B,EAAWK,GACpD,GAAoB,UAAhBtb,EAAOhrD,KAEJ,CACL,IAAIxC,EAASwtD,EAAOsb,IAChBppE,EAAQM,EAAON,MACnB,OAAIA,GACiB,kBAAVA,GACPikC,EAAO/jC,KAAKF,EAAO,WACdwG,QAAQC,QAAQzG,EAAMmqE,SAAS5/D,MAAK,SAASvK,GAClDkqE,EAAO,OAAQlqE,EAAOyG,EAASkY,MAC9B,SAASS,GACV8qD,EAAO,QAAS9qD,EAAK3Y,EAASkY,MAI3BnY,QAAQC,QAAQzG,GAAOuK,MAAK,SAAS6/D,GAI1C9pE,EAAON,MAAQoqE,EACf3jE,EAAQnG,MACP,SAASsD,GAGV,OAAOsmE,EAAO,QAAStmE,EAAO6C,EAASkY,MAvBzCA,EAAOmvC,EAAOsb,KA4BlB,IAAIiB,EAEJ,SAASC,EAAQj3B,EAAQ+1B,GACvB,SAASmB,IACP,OAAO,IAAI/jE,SAAQ,SAASC,EAASkY,GACnCurD,EAAO72B,EAAQ+1B,EAAK3iE,EAASkY,MAIjC,OAAO0rD,EAaLA,EAAkBA,EAAgB9/D,KAChCggE,EAGAA,GACEA,IAKRxpE,KAAKkoE,QAAUqB,EAwBjB,SAASpB,EAAiBR,EAASt8D,EAAM9E,GACvC,IAAI+e,EAAQgjD,EAEZ,OAAO,SAAgBh2B,EAAQ+1B,GAC7B,GAAI/iD,IAAUkjD,EACZ,MAAM,IAAItgE,MAAM,gCAGlB,GAAIod,IAAUmjD,EAAmB,CAC/B,GAAe,UAAXn2B,EACF,MAAM+1B,EAKR,OAAOoB,IAGTljE,EAAQ+rC,OAASA,EACjB/rC,EAAQ8hE,IAAMA,EAEd,MAAO,EAAM,CACX,IAAIqB,EAAWnjE,EAAQmjE,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUnjE,GACnD,GAAIojE,EAAgB,CAClB,GAAIA,IAAmBjB,EAAkB,SACzC,OAAOiB,GAIX,GAAuB,SAAnBpjE,EAAQ+rC,OAGV/rC,EAAQsjE,KAAOtjE,EAAQujE,MAAQvjE,EAAQ8hE,SAElC,GAAuB,UAAnB9hE,EAAQ+rC,OAAoB,CACrC,GAAIhtB,IAAUgjD,EAEZ,MADAhjD,EAAQmjD,EACFliE,EAAQ8hE,IAGhB9hE,EAAQwjE,kBAAkBxjE,EAAQ8hE,SAEN,WAAnB9hE,EAAQ+rC,QACjB/rC,EAAQyjE,OAAO,SAAUzjE,EAAQ8hE,KAGnC/iD,EAAQkjD,EAER,IAAIzb,EAASqb,EAAST,EAASt8D,EAAM9E,GACrC,GAAoB,WAAhBwmD,EAAOhrD,KAAmB,CAO5B,GAJAujB,EAAQ/e,EAAQqwB,KACZ6xC,EACAF,EAEAxb,EAAOsb,MAAQK,EACjB,SAGF,MAAO,CACLzpE,MAAO8tD,EAAOsb,IACdzxC,KAAMrwB,EAAQqwB,MAGS,UAAhBm2B,EAAOhrD,OAChBujB,EAAQmjD,EAGRliE,EAAQ+rC,OAAS,QACjB/rC,EAAQ8hE,IAAMtb,EAAOsb,OAU7B,SAASuB,EAAoBF,EAAUnjE,GACrC,IAAI+rC,EAASo3B,EAAShqE,SAAS6G,EAAQ+rC,QACvC,GAAIA,IAAWvzC,EAAW,CAKxB,GAFAwH,EAAQmjE,SAAW,KAEI,UAAnBnjE,EAAQ+rC,OAAoB,CAE9B,GAAIo3B,EAAShqE,SAAS,YAGpB6G,EAAQ+rC,OAAS,SACjB/rC,EAAQ8hE,IAAMtpE,EACd6qE,EAAoBF,EAAUnjE,GAEP,UAAnBA,EAAQ+rC,QAGV,OAAOo2B,EAIXniE,EAAQ+rC,OAAS,QACjB/rC,EAAQ8hE,IAAM,IAAIxoE,UAChB,kDAGJ,OAAO6oE,EAGT,IAAI3b,EAASqb,EAAS91B,EAAQo3B,EAAShqE,SAAU6G,EAAQ8hE,KAEzD,GAAoB,UAAhBtb,EAAOhrD,KAIT,OAHAwE,EAAQ+rC,OAAS,QACjB/rC,EAAQ8hE,IAAMtb,EAAOsb,IACrB9hE,EAAQmjE,SAAW,KACZhB,EAGT,IAAIlnD,EAAOurC,EAAOsb,IAElB,OAAM7mD,EAOFA,EAAKoV,MAGPrwB,EAAQmjE,EAASO,YAAczoD,EAAKviB,MAGpCsH,EAAQ+jB,KAAOo/C,EAASQ,QAQD,WAAnB3jE,EAAQ+rC,SACV/rC,EAAQ+rC,OAAS,OACjB/rC,EAAQ8hE,IAAMtpE,GAUlBwH,EAAQmjE,SAAW,KACZhB,GANElnD,GA3BPjb,EAAQ+rC,OAAS,QACjB/rC,EAAQ8hE,IAAM,IAAIxoE,UAAU,oCAC5B0G,EAAQmjE,SAAW,KACZhB,GAoDX,SAASyB,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxBpqE,KAAK0qE,WAAWnnE,KAAK8mE,GAGvB,SAASM,EAAcN,GACrB,IAAItd,EAASsd,EAAMO,YAAc,GACjC7d,EAAOhrD,KAAO,gBACPgrD,EAAOsb,IACdgC,EAAMO,WAAa7d,EAGrB,SAASkb,EAAQJ,GAIf7nE,KAAK0qE,WAAa,CAAC,CAAEJ,OAAQ,SAC7BzC,EAAYl0D,QAAQw2D,EAAcnqE,MAClCA,KAAK2zB,OAAM,GA8Bb,SAASkS,EAAOglC,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAStD,GAC9B,GAAIuD,EACF,OAAOA,EAAe3rE,KAAK0rE,GAG7B,GAA6B,oBAAlBA,EAASvgD,KAClB,OAAOugD,EAGT,IAAKpwC,MAAMowC,EAASvnE,QAAS,CAC3B,IAAIuE,GAAK,EAAGyiB,EAAO,SAASA,IAC1B,QAASziB,EAAIgjE,EAASvnE,OACpB,GAAI4/B,EAAO/jC,KAAK0rE,EAAUhjE,GAGxB,OAFAyiB,EAAKrrB,MAAQ4rE,EAAShjE,GACtByiB,EAAKsM,MAAO,EACLtM,EAOX,OAHAA,EAAKrrB,MAAQF,EACburB,EAAKsM,MAAO,EAELtM,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMm/C,GAIjB,SAASA,IACP,MAAO,CAAExqE,MAAOF,EAAW63B,MAAM,GA+MnC,OAxmBA+xC,EAAkBlqE,UAAYuqE,EAAGrpE,YAAcipE,EAC/CA,EAA2BjpE,YAAcgpE,EACzCC,EAA2BlB,GACzBiB,EAAkBoC,YAAc,oBAYlC1sE,EAAQ2sE,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,oBAAXD,GAAyBA,EAAOtrE,YAClD,QAAOurE,IACHA,IAASvC,GAG2B,uBAAnCuC,EAAKH,aAAeG,EAAK7gE,QAIhChM,EAAQmhB,KAAO,SAASyrD,GAUtB,OATIzsE,OAAO8+B,eACT9+B,OAAO8+B,eAAe2tC,EAAQrC,IAE9BqC,EAAO1tC,UAAYqrC,EACblB,KAAqBuD,IACzBA,EAAOvD,GAAqB,sBAGhCuD,EAAOxsE,UAAYD,OAAO29B,OAAO6sC,GAC1BiC,GAOT5sE,EAAQ8sE,MAAQ,SAAS9C,GACvB,MAAO,CAAEe,QAASf,IAsEpBY,EAAsBC,EAAczqE,WACpCyqE,EAAczqE,UAAU+oE,GAAuB,WAC7C,OAAOxnE,MAET3B,EAAQ6qE,cAAgBA,EAKxB7qE,EAAQ+sE,MAAQ,SAASzD,EAASC,EAASv8D,EAAMw8D,GAC/C,IAAIpjE,EAAO,IAAIykE,EACbx4B,EAAKi3B,EAASC,EAASv8D,EAAMw8D,IAG/B,OAAOxpE,EAAQ2sE,oBAAoBpD,GAC/BnjE,EACAA,EAAK6lB,OAAO9gB,MAAK,SAASjK,GACxB,OAAOA,EAAOq3B,KAAOr3B,EAAON,MAAQwF,EAAK6lB,WAuKjD2+C,EAAsBD,GAEtBA,EAAGtB,GAAqB,YAOxBsB,EAAGzB,GAAkB,WACnB,OAAOvnE,MAGTgpE,EAAGpqE,SAAW,WACZ,MAAO,sBAkCTP,EAAQ6M,KAAO,SAASgwB,GACtB,IAAIhwB,EAAO,GACX,IAAK,IAAIvK,KAAOu6B,EACdhwB,EAAK3H,KAAK5C,GAMZ,OAJAuK,EAAKkqC,UAIE,SAAS9qB,IACd,MAAOpf,EAAK5H,OAAQ,CAClB,IAAI3C,EAAMuK,EAAKw1B,MACf,GAAI//B,KAAOu6B,EAGT,OAFA5Q,EAAKrrB,MAAQ0B,EACb2pB,EAAKsM,MAAO,EACLtM,EAQX,OADAA,EAAKsM,MAAO,EACLtM,IAsCXjsB,EAAQwnC,OAASA,EAMjBoiC,EAAQxpE,UAAY,CAClBkB,YAAasoE,EAEbt0C,MAAO,SAAS03C,GAcd,GAbArrE,KAAKs1C,KAAO,EACZt1C,KAAKsqB,KAAO,EAGZtqB,KAAK6pE,KAAO7pE,KAAK8pE,MAAQ/qE,EACzBiB,KAAK42B,MAAO,EACZ52B,KAAK0pE,SAAW,KAEhB1pE,KAAKsyC,OAAS,OACdtyC,KAAKqoE,IAAMtpE,EAEXiB,KAAK0qE,WAAW/2D,QAAQg3D,IAEnBU,EACH,IAAK,IAAIhhE,KAAQrK,KAEQ,MAAnBqK,EAAKurD,OAAO,IACZ1yB,EAAO/jC,KAAKa,KAAMqK,KACjBowB,OAAOpwB,EAAK1G,MAAM,MACrB3D,KAAKqK,GAAQtL,IAMrBusE,KAAM,WACJtrE,KAAK42B,MAAO,EAEZ,IAAI20C,EAAYvrE,KAAK0qE,WAAW,GAC5Bc,EAAaD,EAAUX,WAC3B,GAAwB,UAApBY,EAAWzpE,KACb,MAAMypE,EAAWnD,IAGnB,OAAOroE,KAAKyrE,MAGd1B,kBAAmB,SAAS2B,GAC1B,GAAI1rE,KAAK42B,KACP,MAAM80C,EAGR,IAAInlE,EAAUvG,KACd,SAAS2rE,EAAOC,EAAKC,GAYnB,OAXA9e,EAAOhrD,KAAO,QACdgrD,EAAOsb,IAAMqD,EACbnlE,EAAQ+jB,KAAOshD,EAEXC,IAGFtlE,EAAQ+rC,OAAS,OACjB/rC,EAAQ8hE,IAAMtpE,KAGN8sE,EAGZ,IAAK,IAAIhkE,EAAI7H,KAAK0qE,WAAWpnE,OAAS,EAAGuE,GAAK,IAAKA,EAAG,CACpD,IAAIwiE,EAAQrqE,KAAK0qE,WAAW7iE,GACxBklD,EAASsd,EAAMO,WAEnB,GAAqB,SAAjBP,EAAMC,OAIR,OAAOqB,EAAO,OAGhB,GAAItB,EAAMC,QAAUtqE,KAAKs1C,KAAM,CAC7B,IAAIw2B,EAAW5oC,EAAO/jC,KAAKkrE,EAAO,YAC9B0B,EAAa7oC,EAAO/jC,KAAKkrE,EAAO,cAEpC,GAAIyB,GAAYC,EAAY,CAC1B,GAAI/rE,KAAKs1C,KAAO+0B,EAAME,SACpB,OAAOoB,EAAOtB,EAAME,UAAU,GACzB,GAAIvqE,KAAKs1C,KAAO+0B,EAAMG,WAC3B,OAAOmB,EAAOtB,EAAMG,iBAGjB,GAAIsB,GACT,GAAI9rE,KAAKs1C,KAAO+0B,EAAME,SACpB,OAAOoB,EAAOtB,EAAME,UAAU,OAG3B,KAAIwB,EAMT,MAAM,IAAI7jE,MAAM,0CALhB,GAAIlI,KAAKs1C,KAAO+0B,EAAMG,WACpB,OAAOmB,EAAOtB,EAAMG,gBAU9BR,OAAQ,SAASjoE,EAAMsmE,GACrB,IAAK,IAAIxgE,EAAI7H,KAAK0qE,WAAWpnE,OAAS,EAAGuE,GAAK,IAAKA,EAAG,CACpD,IAAIwiE,EAAQrqE,KAAK0qE,WAAW7iE,GAC5B,GAAIwiE,EAAMC,QAAUtqE,KAAKs1C,MACrBpS,EAAO/jC,KAAKkrE,EAAO,eACnBrqE,KAAKs1C,KAAO+0B,EAAMG,WAAY,CAChC,IAAIwB,EAAe3B,EACnB,OAIA2B,IACU,UAATjqE,GACS,aAATA,IACDiqE,EAAa1B,QAAUjC,GACvBA,GAAO2D,EAAaxB,aAGtBwB,EAAe,MAGjB,IAAIjf,EAASif,EAAeA,EAAapB,WAAa,GAItD,OAHA7d,EAAOhrD,KAAOA,EACdgrD,EAAOsb,IAAMA,EAET2D,GACFhsE,KAAKsyC,OAAS,OACdtyC,KAAKsqB,KAAO0hD,EAAaxB,WAClB9B,GAGF1oE,KAAKisE,SAASlf,IAGvBkf,SAAU,SAASlf,EAAQ0d,GACzB,GAAoB,UAAhB1d,EAAOhrD,KACT,MAAMgrD,EAAOsb,IAcf,MAXoB,UAAhBtb,EAAOhrD,MACS,aAAhBgrD,EAAOhrD,KACT/B,KAAKsqB,KAAOyiC,EAAOsb,IACM,WAAhBtb,EAAOhrD,MAChB/B,KAAKyrE,KAAOzrE,KAAKqoE,IAAMtb,EAAOsb,IAC9BroE,KAAKsyC,OAAS,SACdtyC,KAAKsqB,KAAO,OACa,WAAhByiC,EAAOhrD,MAAqB0oE,IACrCzqE,KAAKsqB,KAAOmgD,GAGP/B,GAGTwD,OAAQ,SAAS1B,GACf,IAAK,IAAI3iE,EAAI7H,KAAK0qE,WAAWpnE,OAAS,EAAGuE,GAAK,IAAKA,EAAG,CACpD,IAAIwiE,EAAQrqE,KAAK0qE,WAAW7iE,GAC5B,GAAIwiE,EAAMG,aAAeA,EAGvB,OAFAxqE,KAAKisE,SAAS5B,EAAMO,WAAYP,EAAMI,UACtCE,EAAcN,GACP3B,IAKb,MAAS,SAAS4B,GAChB,IAAK,IAAIziE,EAAI7H,KAAK0qE,WAAWpnE,OAAS,EAAGuE,GAAK,IAAKA,EAAG,CACpD,IAAIwiE,EAAQrqE,KAAK0qE,WAAW7iE,GAC5B,GAAIwiE,EAAMC,SAAWA,EAAQ,CAC3B,IAAIvd,EAASsd,EAAMO,WACnB,GAAoB,UAAhB7d,EAAOhrD,KAAkB,CAC3B,IAAIoqE,EAASpf,EAAOsb,IACpBsC,EAAcN,GAEhB,OAAO8B,GAMX,MAAM,IAAIjkE,MAAM,0BAGlBkkE,cAAe,SAASvB,EAAUZ,EAAYC,GAa5C,OAZAlqE,KAAK0pE,SAAW,CACdhqE,SAAUmmC,EAAOglC,GACjBZ,WAAYA,EACZC,QAASA,GAGS,SAAhBlqE,KAAKsyC,SAGPtyC,KAAKqoE,IAAMtpE,GAGN2pE,IAQJrqE,EAvrBK,CA8rBiBD,EAAOC,SAGtC,IACEguE,mBAAqBjF,EACrB,MAAOkF,GAUP/gE,SAAS,IAAK,yBAAdA,CAAwC67D,K,uBCptB1C,SAASmF,EAAsBrpE,EAAK2E,GAClC,GAAMvJ,OAAOoB,YAAYlB,OAAO0E,IAAgD,uBAAxC1E,OAAOC,UAAUG,SAASO,KAAK+D,GAAvE,CAIA,IAAIqkC,EAAO,GACPC,GAAK,EACLC,GAAK,EACLpmC,OAAKtC,EAET,IACE,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAG5E,GAFAD,EAAKhkC,KAAKpC,EAAGlC,OAET4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAE9B,MAAOwW,GACPopB,GAAK,EACLpmC,EAAKgd,EARP,QAUE,IACOmpB,GAAsB,MAAhBtI,EAAG,WAAmBA,EAAG,YADtC,QAGE,GAAIuI,EAAI,MAAMpmC,GAIlB,OAAOkmC,G,sEAGTnpC,EAAOC,QAAUkuE,G,uBC9BjB,IAAIjhE,EAAO,EAAQ,QAGfhN,EAASgN,EAAKhN,OAElBF,EAAOC,QAAUC,G,qBCLjBF,EAAOC,QAAU,IAA0B,0B;;;;;;;ACM3C,SAASmB,EAAQC,GAWf,OATED,EADoB,oBAAXlB,QAAoD,kBAApBA,OAAOoB,SACtC,SAAUD,GAClB,cAAcA,GAGN,SAAUA,GAClB,OAAOA,GAAyB,oBAAXnB,QAAyBmB,EAAIE,cAAgBrB,QAAUmB,IAAQnB,OAAOG,UAAY,gBAAkBgB,GAItHD,EAAQC,GAGjB,SAAS6oC,EAAgB7oC,EAAKkB,EAAK1B,GAYjC,OAXI0B,KAAOlB,EACTjB,OAAO8e,eAAe7d,EAAKkB,EAAK,CAC9B1B,MAAOA,EACPke,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ5d,EAAIkB,GAAO1B,EAGNQ,EAGT,SAAS+sE,IAeP,OAdAA,EAAWhuE,OAAOyyB,QAAU,SAAUhU,GACpC,IAAK,IAAIpV,EAAI,EAAGA,EAAIpB,UAAUnD,OAAQuE,IAAK,CACzC,IAAIkiC,EAAStjC,UAAUoB,GAEvB,IAAK,IAAIlH,KAAOopC,EACVvrC,OAAOC,UAAUC,eAAeS,KAAK4qC,EAAQppC,KAC/Csc,EAAOtc,GAAOopC,EAAOppC,IAK3B,OAAOsc,GAGFuvD,EAAS9lE,MAAM1G,KAAMyG,WAG9B,SAASgmE,EAAcxvD,GACrB,IAAK,IAAIpV,EAAI,EAAGA,EAAIpB,UAAUnD,OAAQuE,IAAK,CACzC,IAAIkiC,EAAyB,MAAhBtjC,UAAUoB,GAAapB,UAAUoB,GAAK,GAC/C6kE,EAAUluE,OAAO0M,KAAK6+B,GAEkB,oBAAjCvrC,OAAO6hD,wBAChBqsB,EAAUA,EAAQvqC,OAAO3jC,OAAO6hD,sBAAsBtW,GAAQ11B,QAAO,SAAUs4D,GAC7E,OAAOnuE,OAAO6kC,yBAAyB0G,EAAQ4iC,GAAKxvD,gBAIxDuvD,EAAQ/4D,SAAQ,SAAUhT,GACxB2nC,EAAgBrrB,EAAQtc,EAAKopC,EAAOppC,OAIxC,OAAOsc,EAGT,SAAS2vD,EAA8B7iC,EAAQ8iC,GAC7C,GAAc,MAAV9iC,EAAgB,MAAO,GAC3B,IAEIppC,EAAKkH,EAFLoV,EAAS,GACT6vD,EAAatuE,OAAO0M,KAAK6+B,GAG7B,IAAKliC,EAAI,EAAGA,EAAIilE,EAAWxpE,OAAQuE,IACjClH,EAAMmsE,EAAWjlE,GACbglE,EAASzkE,QAAQzH,IAAQ,IAC7Bsc,EAAOtc,GAAOopC,EAAOppC,IAGvB,OAAOsc,EAGT,SAAS8vD,EAAyBhjC,EAAQ8iC,GACxC,GAAc,MAAV9iC,EAAgB,MAAO,GAE3B,IAEIppC,EAAKkH,EAFLoV,EAAS2vD,EAA8B7iC,EAAQ8iC,GAInD,GAAIruE,OAAO6hD,sBAAuB,CAChC,IAAI2sB,EAAmBxuE,OAAO6hD,sBAAsBtW,GAEpD,IAAKliC,EAAI,EAAGA,EAAImlE,EAAiB1pE,OAAQuE,IACvClH,EAAMqsE,EAAiBnlE,GACnBglE,EAASzkE,QAAQzH,IAAQ,GACxBnC,OAAOC,UAAU06D,qBAAqBh6D,KAAK4qC,EAAQppC,KACxDsc,EAAOtc,GAAOopC,EAAOppC,IAIzB,OAAOsc,EAGT,SAASvB,EAAmBxY,GAC1B,OAAOkG,EAAmBlG,IAAQsB,EAAiBtB,IAAQtD,IAG7D,SAASwJ,EAAmBlG,GAC1B,GAAIwB,MAAM2E,QAAQnG,GAAM,CACtB,IAAK,IAAI2E,EAAI,EAAGyB,EAAO,IAAI5E,MAAMxB,EAAII,QAASuE,EAAI3E,EAAII,OAAQuE,IAAKyB,EAAKzB,GAAK3E,EAAI2E,GAEjF,OAAOyB,GAIX,SAAS9E,EAAiBC,GACxB,GAAInG,OAAOoB,YAAYlB,OAAOiG,IAAkD,uBAAzCjG,OAAOC,UAAUG,SAASO,KAAKsF,GAAgC,OAAOC,MAAMvB,KAAKsB,GAG1H,SAAS7E,IACP,MAAM,IAAIC,UAAU,mDA7HtB,kIAgIA,IAAI6yB,EAAU,SAEd,SAASowB,EAAUmqB,GACjB,GAAsB,qBAAXh6C,QAA0BA,OAAOivB,UAC1C,QAEAA,UAAUY,UAAU14C,MAAM6iE,GAI9B,IAAIC,EAAapqB,EAAU,yDACvBqqB,EAAOrqB,EAAU,SACjBsqB,EAAUtqB,EAAU,YACpBuqB,EAASvqB,EAAU,aAAeA,EAAU,aAAeA,EAAU,YACrEwqB,EAAMxqB,EAAU,mBAChByqB,EAAmBzqB,EAAU,YAAcA,EAAU,YAErD0qB,EAAc,CAChBC,SAAS,EACTC,SAAS,GAGX,SAASxhE,EAAGyhE,EAAIpqD,EAAOrd,GACrBynE,EAAGt8B,iBAAiB9tB,EAAOrd,GAAKgnE,GAAcM,GAGhD,SAASx/B,EAAI2/B,EAAIpqD,EAAOrd,GACtBynE,EAAG/e,oBAAoBrrC,EAAOrd,GAAKgnE,GAAcM,GAGnD,SAASxiB,EAET2iB,EAEA5R,GACE,GAAKA,EAAL,CAGA,GAFgB,MAAhBA,EAAS,KAAeA,EAAWA,EAASxI,UAAU,IAElDoa,EACF,IACE,GAAIA,EAAG3iB,QACL,OAAO2iB,EAAG3iB,QAAQ+Q,GACb,GAAI4R,EAAGC,kBACZ,OAAOD,EAAGC,kBAAkB7R,GACvB,GAAI4R,EAAGE,sBACZ,OAAOF,EAAGE,sBAAsB9R,GAElC,MAAO/c,GACP,OAAO,EAIX,OAAO,GAGT,SAAS8uB,EAAgBH,GACvB,OAAOA,EAAGn6C,MAAQm6C,IAAO1oE,UAAY0oE,EAAGn6C,KAAKupC,SAAW4Q,EAAGn6C,KAAOm6C,EAAGpvC,WAGvE,SAASwvC,EAETJ,EAEA5R,EAEA52D,EAAK6oE,GACH,GAAIL,EAAI,CACNxoE,EAAMA,GAAOF,SAEb,EAAG,CACD,GAAgB,MAAZ82D,IAAqC,MAAhBA,EAAS,GAAa4R,EAAGpvC,aAAep5B,GAAO6lD,EAAQ2iB,EAAI5R,GAAY/Q,EAAQ2iB,EAAI5R,KAAciS,GAAcL,IAAOxoE,EAC7I,OAAOwoE,EAGT,GAAIA,IAAOxoE,EAAK,YAETwoE,EAAKG,EAAgBH,IAGhC,OAAO,KAGT,IAgWIM,EAhWAC,EAAU,OAEd,SAASC,EAAYR,EAAItjE,EAAMib,GAC7B,GAAIqoD,GAAMtjE,EACR,GAAIsjE,EAAGhlC,UACLglC,EAAGhlC,UAAUrjB,EAAQ,MAAQ,UAAUjb,OAClC,CACL,IAAIk1B,GAAa,IAAMouC,EAAGpuC,UAAY,KAAKwU,QAAQm6B,EAAS,KAAKn6B,QAAQ,IAAM1pC,EAAO,IAAK,KAC3FsjE,EAAGpuC,WAAaA,GAAaja,EAAQ,IAAMjb,EAAO,KAAK0pC,QAAQm6B,EAAS,MAK9E,SAASE,EAAIT,EAAI3b,EAAM/wD,GACrB,IAAIwb,EAAQkxD,GAAMA,EAAGlxD,MAErB,GAAIA,EAAO,CACT,QAAY,IAARxb,EAOF,OANIgE,SAASopE,aAAeppE,SAASopE,YAAYrR,iBAC/C/7D,EAAMgE,SAASopE,YAAYrR,iBAAiB2Q,EAAI,IACvCA,EAAGW,eACZrtE,EAAM0sE,EAAGW,mBAGK,IAATtc,EAAkB/wD,EAAMA,EAAI+wD,GAE7BA,KAAQv1C,IAAsC,IAA5Bu1C,EAAK5pD,QAAQ,YACnC4pD,EAAO,WAAaA,GAGtBv1C,EAAMu1C,GAAQ/wD,GAAsB,kBAARA,EAAmB,GAAK,OAK1D,SAASstE,EAAOZ,EAAIa,GAClB,IAAIC,EAAoB,GAExB,GAAkB,kBAAPd,EACTc,EAAoBd,OAEpB,EAAG,CACD,IAAI7qC,EAAYsrC,EAAIT,EAAI,aAEpB7qC,GAA2B,SAAdA,IACf2rC,EAAoB3rC,EAAY,IAAM2rC,UAIhCD,IAAab,EAAKA,EAAGpvC,aAGjC,IAAImwC,EAAWz7C,OAAO07C,WAAa17C,OAAO27C,iBAAmB37C,OAAO47C,WAAa57C,OAAO67C,YAGxF,OAAOJ,GAAY,IAAIA,EAASD,GAGlC,SAASryC,EAAKj3B,EAAK45B,EAASr/B,GAC1B,GAAIyF,EAAK,CACP,IAAIksB,EAAOlsB,EAAI4pE,qBAAqBhwC,GAChCl3B,EAAI,EACJsrB,EAAI9B,EAAK/tB,OAEb,GAAI5D,EACF,KAAOmI,EAAIsrB,EAAGtrB,IACZnI,EAAS2xB,EAAKxpB,GAAIA,GAItB,OAAOwpB,EAGT,MAAO,GAGT,SAAS29C,IACP,IAAIC,EAAmBhqE,SAASgqE,iBAEhC,OAAIA,GAGKhqE,SAASiqE,gBAcpB,SAASC,EAAQxB,EAAIyB,EAA2BC,EAA2BC,EAAWp2C,GACpF,GAAKy0C,EAAGnhC,uBAAyBmhC,IAAO16C,OAAxC,CACA,IAAIs8C,EAAQ7iC,EAAKC,EAAMF,EAAQG,EAAO7nC,EAAQD,EAmB9C,GAjBI6oE,IAAO16C,QAAU06C,IAAOqB,KAC1BO,EAAS5B,EAAGnhC,wBACZE,EAAM6iC,EAAO7iC,IACbC,EAAO4iC,EAAO5iC,KACdF,EAAS8iC,EAAO9iC,OAChBG,EAAQ2iC,EAAO3iC,MACf7nC,EAASwqE,EAAOxqE,OAChBD,EAAQyqE,EAAOzqE,QAEf4nC,EAAM,EACNC,EAAO,EACPF,EAASxZ,OAAOu8C,YAChB5iC,EAAQ3Z,OAAOw8C,WACf1qE,EAASkuB,OAAOu8C,YAChB1qE,EAAQmuB,OAAOw8C,aAGZL,GAA6BC,IAA8B1B,IAAO16C,SAErEiG,EAAYA,GAAay0C,EAAGpvC,YAGvB2uC,GACH,GACE,GAAIh0C,GAAaA,EAAUsT,wBAA0D,SAAhC4hC,EAAIl1C,EAAW,cAA2Bm2C,GAA4D,WAA/BjB,EAAIl1C,EAAW,aAA2B,CACpK,IAAIw2C,EAAgBx2C,EAAUsT,wBAE9BE,GAAOgjC,EAAchjC,IAAMob,SAASsmB,EAAIl1C,EAAW,qBACnDyT,GAAQ+iC,EAAc/iC,KAAOmb,SAASsmB,EAAIl1C,EAAW,sBACrDuT,EAASC,EAAM6iC,EAAOxqE,OACtB6nC,EAAQD,EAAO4iC,EAAOzqE,MACtB,aAIKo0B,EAAYA,EAAUqF,YAInC,GAAI+wC,GAAa3B,IAAO16C,OAAQ,CAE9B,IAAI08C,EAAWpB,EAAOr1C,GAAay0C,GAC/BiC,EAASD,GAAYA,EAAS/9C,EAC9Bi+C,EAASF,GAAYA,EAASr9C,EAE9Bq9C,IACFjjC,GAAOmjC,EACPljC,GAAQijC,EACR9qE,GAAS8qE,EACT7qE,GAAU8qE,EACVpjC,EAASC,EAAM3nC,EACf6nC,EAAQD,EAAO7nC,GAInB,MAAO,CACL4nC,IAAKA,EACLC,KAAMA,EACNF,OAAQA,EACRG,MAAOA,EACP9nC,MAAOA,EACPC,OAAQA,IAYZ,SAAS+qE,EAAenC,EAAIoC,EAAQC,GAClC,IAAIxgD,EAASygD,EAA2BtC,GAAI,GACxCuC,EAAYf,EAAQxB,GAAIoC,GAG5B,MAAOvgD,EAAQ,CACb,IAAI2gD,EAAgBhB,EAAQ3/C,GAAQwgD,GAChCI,OAAU,EAQd,GALEA,EADiB,QAAfJ,GAAuC,SAAfA,EAChBE,GAAaC,EAEbD,GAAaC,GAGpBC,EAAS,OAAO5gD,EACrB,GAAIA,IAAWw/C,IAA6B,MAC5Cx/C,EAASygD,EAA2BzgD,GAAQ,GAG9C,OAAO,EAYT,SAAS6gD,EAAS1C,EAAI2C,EAAUjoD,GAC9B,IAAIkoD,EAAe,EACf1oE,EAAI,EACJ6O,EAAWi3D,EAAGj3D,SAElB,MAAO7O,EAAI6O,EAASpT,OAAQ,CAC1B,GAAkC,SAA9BoT,EAAS7O,GAAG4U,MAAMusC,SAAsBtyC,EAAS7O,KAAO2oE,GAASC,OAAS/5D,EAAS7O,KAAO2oE,GAASE,SAAW3C,EAAQr3D,EAAS7O,GAAIwgB,EAAQpX,UAAW08D,GAAI,GAAQ,CACpK,GAAI4C,IAAiBD,EACnB,OAAO55D,EAAS7O,GAGlB0oE,IAGF1oE,IAGF,OAAO,KAUT,SAAS2zC,EAAUmyB,EAAI5R,GACrB,IAAI1gD,EAAOsyD,EAAGgD,iBAEd,MAAOt1D,IAASA,IAASm1D,GAASC,OAAkC,SAAzBrC,EAAI/yD,EAAM,YAAyB0gD,IAAa/Q,EAAQ3vC,EAAM0gD,IACvG1gD,EAAOA,EAAKu1D,uBAGd,OAAOv1D,GAAQ,KAWjB,SAAS3a,EAAMitE,EAAI5R,GACjB,IAAIr7D,EAAQ,EAEZ,IAAKitE,IAAOA,EAAGpvC,WACb,OAAQ,EAKV,MAAOovC,EAAKA,EAAGiD,uBACqB,aAA9BjD,EAAGkD,SAASrxC,eAAgCmuC,IAAO6C,GAAS1sC,OAAWi4B,IAAY/Q,EAAQ2iB,EAAI5R,IACjGr7D,IAIJ,OAAOA,EAUT,SAASowE,EAAwBnD,GAC/B,IAAIoD,EAAa,EACbtT,EAAY,EACZuT,EAAchC,IAElB,GAAIrB,EACF,EAAG,CACD,IAAIgC,EAAWpB,EAAOZ,GAClBiC,EAASD,EAAS/9C,EAClBi+C,EAASF,EAASr9C,EACtBy+C,GAAcpD,EAAGsD,WAAarB,EAC9BnS,GAAakQ,EAAGriC,UAAYukC,QACrBlC,IAAOqD,IAAgBrD,EAAKA,EAAGpvC,aAG1C,MAAO,CAACwyC,EAAYtT,GAUtB,SAASyT,EAAchuE,EAAKzD,GAC1B,IAAK,IAAIoI,KAAK3E,EACZ,GAAKA,EAAIxE,eAAemJ,GAExB,IAAK,IAAIlH,KAAOlB,EACd,GAAIA,EAAIf,eAAeiC,IAAQlB,EAAIkB,KAASuC,EAAI2E,GAAGlH,GAAM,OAAOusC,OAAOrlC,GAI3E,OAAQ,EAGV,SAASooE,EAA2BtC,EAAIwD,GAEtC,IAAKxD,IAAOA,EAAGnhC,sBAAuB,OAAOwiC,IAC7C,IAAI/tC,EAAO0sC,EACPyD,GAAU,EAEd,GAEE,GAAInwC,EAAKowC,YAAcpwC,EAAKqwC,aAAerwC,EAAKswC,aAAetwC,EAAKuwC,aAAc,CAChF,IAAIC,EAAUrD,EAAIntC,GAElB,GAAIA,EAAKowC,YAAcpwC,EAAKqwC,cAAqC,QAArBG,EAAQC,WAA4C,UAArBD,EAAQC,YAA0BzwC,EAAKswC,aAAetwC,EAAKuwC,eAAsC,QAArBC,EAAQE,WAA4C,UAArBF,EAAQE,WAAwB,CACpN,IAAK1wC,EAAKuL,uBAAyBvL,IAASh8B,SAAS2tB,KAAM,OAAOo8C,IAClE,GAAIoC,GAAWD,EAAa,OAAOlwC,EACnCmwC,GAAU,UAKPnwC,EAAOA,EAAK1C,YAErB,OAAOywC,IAGT,SAASpvC,EAAOgyC,EAAK9rE,GACnB,GAAI8rE,GAAO9rE,EACT,IAAK,IAAInF,KAAOmF,EACVA,EAAIpH,eAAeiC,KACrBixE,EAAIjxE,GAAOmF,EAAInF,IAKrB,OAAOixE,EAGT,SAASC,EAAYC,EAAOC,GAC1B,OAAO33C,KAAK43C,MAAMF,EAAMplC,OAAStS,KAAK43C,MAAMD,EAAMrlC,MAAQtS,KAAK43C,MAAMF,EAAMnlC,QAAUvS,KAAK43C,MAAMD,EAAMplC,OAASvS,KAAK43C,MAAMF,EAAM/sE,UAAYq1B,KAAK43C,MAAMD,EAAMhtE,SAAWq1B,KAAK43C,MAAMF,EAAMhtE,SAAWs1B,KAAK43C,MAAMD,EAAMjtE,OAKvN,SAASmB,EAASwF,EAAUwmE,GAC1B,OAAO,WACL,IAAKhE,EAAkB,CACrB,IAAIznE,EAAOC,UACPk3B,EAAQ39B,KAEQ,IAAhBwG,EAAKlD,OACPmI,EAAStM,KAAKw+B,EAAOn3B,EAAK,IAE1BiF,EAAS/E,MAAMi3B,EAAOn3B,GAGxBynE,EAAmBlnE,YAAW,WAC5BknE,OAAmB,IAClBgE,KAKT,SAASC,IACPprE,aAAamnE,GACbA,OAAmB,EAGrB,SAASkE,EAASxE,EAAIn6B,EAAG0iB,GACvByX,EAAGsD,YAAcz9B,EACjBm6B,EAAGriC,WAAa4qB,EAGlB,SAASpyB,EAAM6pC,GACb,IAAIyE,EAAUn/C,OAAOm/C,QACjBC,EAAIp/C,OAAOq/C,QAAUr/C,OAAOs/C,MAEhC,OAAIH,GAAWA,EAAQl0D,IACdk0D,EAAQl0D,IAAIyvD,GAAIljB,WAAU,GACxB4nB,EACFA,EAAE1E,GAAI7pC,OAAM,GAAM,GAElB6pC,EAAGljB,WAAU,GAIxB,SAAS+nB,EAAQ7E,EAAIhzB,GACnByzB,EAAIT,EAAI,WAAY,YACpBS,EAAIT,EAAI,MAAOhzB,EAAKjO,KACpB0hC,EAAIT,EAAI,OAAQhzB,EAAKhO,MACrByhC,EAAIT,EAAI,QAAShzB,EAAK71C,OACtBspE,EAAIT,EAAI,SAAUhzB,EAAK51C,QAGzB,SAAS0tE,EAAU9E,GACjBS,EAAIT,EAAI,WAAY,IACpBS,EAAIT,EAAI,MAAO,IACfS,EAAIT,EAAI,OAAQ,IAChBS,EAAIT,EAAI,QAAS,IACjBS,EAAIT,EAAI,SAAU,IAGpB,IAAI+E,EAAU,YAAa,IAAIrsE,MAAO+sC,UAEtC,SAASu/B,IACP,IACIC,EADAC,EAAkB,GAEtB,MAAO,CACLC,sBAAuB,WAErB,GADAD,EAAkB,GACb7yE,KAAKqoB,QAAQ0qD,UAAlB,CACA,IAAIr8D,EAAW,GAAG/S,MAAMxE,KAAKa,KAAK2tE,GAAGj3D,UACrCA,EAAS/C,SAAQ,SAAUozB,GACzB,GAA8B,SAA1BqnC,EAAIrnC,EAAO,YAAyBA,IAAUypC,GAASC,MAA3D,CACAoC,EAAgBtvE,KAAK,CACnB0Z,OAAQ8pB,EACR4T,KAAMw0B,EAAQpoC,KAGhB,IAAIisC,EAAWvG,EAAc,GAAIoG,EAAgBA,EAAgBvvE,OAAS,GAAGq3C,MAG7E,GAAI5T,EAAMksC,sBAAuB,CAC/B,IAAIC,EAAc3E,EAAOxnC,GAAO,GAE5BmsC,IACFF,EAAStmC,KAAOwmC,EAAY9gD,EAC5B4gD,EAASrmC,MAAQumC,EAAY5zE,GAIjCynC,EAAMisC,SAAWA,QAGrBG,kBAAmB,SAA2B7tD,GAC5CutD,EAAgBtvE,KAAK+hB,IAEvB8tD,qBAAsB,SAA8Bn2D,GAClD41D,EAAgB77D,OAAOk6D,EAAc2B,EAAiB,CACpD51D,OAAQA,IACN,IAENo2D,WAAY,SAAoB5nE,GAC9B,IAAIkyB,EAAQ39B,KAEZ,IAAKA,KAAKqoB,QAAQ0qD,UAGhB,OAFAjsE,aAAa8rE,QACW,oBAAbnnE,GAAyBA,KAItC,IAAI6nE,GAAY,EACZC,EAAgB,EACpBV,EAAgBl/D,SAAQ,SAAU2R,GAChC,IAAIkuD,EAAO,EACPv2D,EAASqI,EAAMrI,OACf+1D,EAAW/1D,EAAO+1D,SAClBS,EAAStE,EAAQlyD,GACjBy2D,EAAez2D,EAAOy2D,aACtBC,EAAa12D,EAAO02D,WACpBC,EAAgBtuD,EAAMq1B,KACtBk5B,EAAetF,EAAOtxD,GAAQ,GAE9B42D,IAEFJ,EAAO/mC,KAAOmnC,EAAazhD,EAC3BqhD,EAAO9mC,MAAQknC,EAAav0E,GAG9B2d,EAAOw2D,OAASA,EAEZx2D,EAAOg2D,uBAELpB,EAAY6B,EAAcD,KAAY5B,EAAYmB,EAAUS,KAC/DG,EAAclnC,IAAM+mC,EAAO/mC,MAAQknC,EAAcjnC,KAAO8mC,EAAO9mC,SAAWqmC,EAAStmC,IAAM+mC,EAAO/mC,MAAQsmC,EAASrmC,KAAO8mC,EAAO9mC,QAE9H6mC,EAAOM,EAAkBF,EAAeF,EAAcC,EAAYh2C,EAAMtV,UAKvEwpD,EAAY4B,EAAQT,KACvB/1D,EAAOy2D,aAAeV,EACtB/1D,EAAO02D,WAAaF,EAEfD,IACHA,EAAO71C,EAAMtV,QAAQ0qD,WAGvBp1C,EAAMo2C,QAAQ92D,EAAQ22D,EAAeH,EAAQD,IAG3CA,IACFF,GAAY,EACZC,EAAgBn5C,KAAKgW,IAAImjC,EAAeC,GACxC1sE,aAAamW,EAAO+2D,qBACpB/2D,EAAO+2D,oBAAsBjtE,YAAW,WACtCkW,EAAOs2D,cAAgB,EACvBt2D,EAAOy2D,aAAe,KACtBz2D,EAAO+1D,SAAW,KAClB/1D,EAAO02D,WAAa,KACpB12D,EAAOg2D,sBAAwB,OAC9BO,GACHv2D,EAAOg2D,sBAAwBO,MAGnC1sE,aAAa8rE,GAERU,EAGHV,EAAsB7rE,YAAW,WACP,oBAAb0E,GAAyBA,MACnC8nE,GAJqB,oBAAb9nE,GAAyBA,IAOtConE,EAAkB,IAEpBkB,QAAS,SAAiB92D,EAAQg3D,EAAaR,EAAQzwE,GACrD,GAAIA,EAAU,CACZorE,EAAInxD,EAAQ,aAAc,IAC1BmxD,EAAInxD,EAAQ,YAAa,IACzB,IAAI0yD,EAAWpB,EAAOvuE,KAAK2tE,IACvBiC,EAASD,GAAYA,EAAS/9C,EAC9Bi+C,EAASF,GAAYA,EAASr9C,EAC9B4hD,GAAcD,EAAYtnC,KAAO8mC,EAAO9mC,OAASijC,GAAU,GAC3DuE,GAAcF,EAAYvnC,IAAM+mC,EAAO/mC,MAAQmjC,GAAU,GAC7D5yD,EAAOm3D,aAAeF,EACtBj3D,EAAOo3D,aAAeF,EACtB/F,EAAInxD,EAAQ,YAAa,eAAiBi3D,EAAa,MAAQC,EAAa,SAC5EG,EAAQr3D,GAERmxD,EAAInxD,EAAQ,aAAc,aAAeja,EAAW,MAAQhD,KAAKqoB,QAAQksD,OAAS,IAAMv0E,KAAKqoB,QAAQksD,OAAS,KAC9GnG,EAAInxD,EAAQ,YAAa,sBACE,kBAApBA,EAAOu3D,UAAyB1tE,aAAamW,EAAOu3D,UAC3Dv3D,EAAOu3D,SAAWztE,YAAW,WAC3BqnE,EAAInxD,EAAQ,aAAc,IAC1BmxD,EAAInxD,EAAQ,YAAa,IACzBA,EAAOu3D,UAAW,EAClBv3D,EAAOm3D,YAAa,EACpBn3D,EAAOo3D,YAAa,IACnBrxE,MAMX,SAASsxE,EAAQr3D,GACf,OAAOA,EAAO+iD,YAGhB,SAAS8T,EAAkBF,EAAeZ,EAAUS,EAAQprD,GAC1D,OAAO+R,KAAKq6C,KAAKr6C,KAAKC,IAAI24C,EAAStmC,IAAMknC,EAAclnC,IAAK,GAAKtS,KAAKC,IAAI24C,EAASrmC,KAAOinC,EAAcjnC,KAAM,IAAMvS,KAAKq6C,KAAKr6C,KAAKC,IAAI24C,EAAStmC,IAAM+mC,EAAO/mC,IAAK,GAAKtS,KAAKC,IAAI24C,EAASrmC,KAAO8mC,EAAO9mC,KAAM,IAAMtkB,EAAQ0qD,UAG7N,IAAI1gD,GAAU,GACVqiD,GAAW,CACbC,qBAAqB,GAEnBC,GAAgB,CAClBC,MAAO,SAAenhD,GAEpB,IAAK,IAAI/V,KAAU+2D,GACbA,GAASh2E,eAAeif,MAAaA,KAAU+V,KACjDA,EAAO/V,GAAU+2D,GAAS/2D,IAI9B0U,GAAQ9uB,KAAKmwB,IAEfohD,YAAa,SAAqB1jC,EAAW2jC,EAAUv9D,GACrD,IAAImmB,EAAQ39B,KAEZA,KAAKg1E,eAAgB,EAErBx9D,EAAIw4C,OAAS,WACXryB,EAAMq3C,eAAgB,GAGxB,IAAIC,EAAkB7jC,EAAY,SAClC/e,GAAQ1e,SAAQ,SAAU+f,GACnBqhD,EAASrhD,EAAOwhD,cAEjBH,EAASrhD,EAAOwhD,YAAYD,IAC9BF,EAASrhD,EAAOwhD,YAAYD,GAAiBxI,EAAc,CACzDsI,SAAUA,GACTv9D,IAKDu9D,EAAS1sD,QAAQqL,EAAOwhD,aAAeH,EAASrhD,EAAOwhD,YAAY9jC,IACrE2jC,EAASrhD,EAAOwhD,YAAY9jC,GAAWq7B,EAAc,CACnDsI,SAAUA,GACTv9D,SAIT29D,kBAAmB,SAA2BJ,EAAUpH,EAAI+G,EAAUrsD,GAYpE,IAAK,IAAI1K,KAXT0U,GAAQ1e,SAAQ,SAAU+f,GACxB,IAAIwhD,EAAaxhD,EAAOwhD,WACxB,GAAKH,EAAS1sD,QAAQ6sD,IAAgBxhD,EAAOihD,oBAA7C,CACA,IAAIS,EAAc,IAAI1hD,EAAOqhD,EAAUpH,EAAIoH,EAAS1sD,SACpD+sD,EAAYL,SAAWA,EACvBK,EAAY/sD,QAAU0sD,EAAS1sD,QAC/B0sD,EAASG,GAAcE,EAEvB5I,EAASkI,EAAUU,EAAYV,cAGdK,EAAS1sD,QAC1B,GAAK0sD,EAAS1sD,QAAQ3pB,eAAeif,GAArC,CACA,IAAI03D,EAAWr1E,KAAKs1E,aAAaP,EAAUp3D,EAAQo3D,EAAS1sD,QAAQ1K,IAE5C,qBAAb03D,IACTN,EAAS1sD,QAAQ1K,GAAU03D,KAIjCE,mBAAoB,SAA4BlrE,EAAM0qE,GACpD,IAAIS,EAAkB,GAMtB,OALAnjD,GAAQ1e,SAAQ,SAAU+f,GACc,oBAA3BA,EAAO8hD,iBAElBhJ,EAASgJ,EAAiB9hD,EAAO8hD,gBAAgBr2E,KAAK41E,EAASrhD,EAAOwhD,YAAa7qE,OAE9EmrE,GAETF,aAAc,SAAsBP,EAAU1qE,EAAMpL,GAClD,IAAIw2E,EASJ,OARApjD,GAAQ1e,SAAQ,SAAU+f,GAEnBqhD,EAASrhD,EAAOwhD,aAEjBxhD,EAAOgiD,iBAA2D,oBAAjChiD,EAAOgiD,gBAAgBrrE,KAC1DorE,EAAgB/hD,EAAOgiD,gBAAgBrrE,GAAMlL,KAAK41E,EAASrhD,EAAOwhD,YAAaj2E,OAG5Ew2E,IAIX,SAAS7rB,GAAc5X,GACrB,IAAI+iC,EAAW/iC,EAAK+iC,SAChBY,EAAS3jC,EAAK2jC,OACdtrE,EAAO2nC,EAAK3nC,KACZurE,EAAW5jC,EAAK4jC,SAChBC,EAAU7jC,EAAK6jC,QACfC,EAAO9jC,EAAK8jC,KACZC,EAAS/jC,EAAK+jC,OACdC,EAAWhkC,EAAKgkC,SAChBC,EAAWjkC,EAAKikC,SAChBC,EAAoBlkC,EAAKkkC,kBACzBC,EAAoBnkC,EAAKmkC,kBACzBC,EAAgBpkC,EAAKokC,cACrBC,EAAcrkC,EAAKqkC,YACnBC,EAAuBtkC,EAAKskC,qBAEhC,GADAvB,EAAWA,GAAYY,GAAUA,EAAOjD,GACnCqC,EAAL,CACA,IAAIv9D,EACA6Q,EAAU0sD,EAAS1sD,QACnBkuD,EAAS,KAAOlsE,EAAKurD,OAAO,GAAGp2B,cAAgBn1B,EAAKs0C,OAAO,IAE3D1rB,OAAOujD,aAAgBtJ,GAAeC,GAMxC31D,EAAMvS,SAAS4kD,YAAY,SAC3BryC,EAAIsyC,UAAUz/C,GAAM,GAAM,IAN1BmN,EAAM,IAAIg/D,YAAYnsE,EAAM,CAC1BosE,SAAS,EACTC,YAAY,IAOhBl/D,EAAIm/D,GAAKb,GAAQH,EACjBn+D,EAAIrU,KAAO4yE,GAAUJ,EACrBn+D,EAAI/W,KAAOm1E,GAAYD,EACvBn+D,EAAIssB,MAAQ+xC,EACZr+D,EAAIw+D,SAAWA,EACfx+D,EAAIy+D,SAAWA,EACfz+D,EAAI0+D,kBAAoBA,EACxB1+D,EAAI2+D,kBAAoBA,EACxB3+D,EAAI4+D,cAAgBA,EACpB5+D,EAAIo/D,SAAWP,EAAcA,EAAYQ,iBAAc93E,EAEvD,IAAI+3E,EAAqBrK,EAAc,GAAI6J,EAAsB1B,GAAcW,mBAAmBlrE,EAAM0qE,IAExG,IAAK,IAAIp3D,KAAUm5D,EACjBt/D,EAAImG,GAAUm5D,EAAmBn5D,GAG/Bg4D,GACFA,EAAO/rB,cAAcpyC,GAGnB6Q,EAAQkuD,IACVluD,EAAQkuD,GAAQp3E,KAAK41E,EAAUv9D,IAInC,IAAIs9D,GAAc,SAAqB1jC,EAAW2jC,GAChD,IAAI/iC,EAAOvrC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,GAAmBA,UAAU,GAAK,GAC3E2vE,EAAgBpkC,EAAKx6B,IACrBtV,EAAO6qE,EAAyB/6B,EAAM,CAAC,QAE3C4iC,GAAcE,YAAYniC,KAAK69B,GAA/BoE,CAAyCxjC,EAAW2jC,EAAUtI,EAAc,CAC1EsK,OAAQA,GACRC,SAAUA,GACVC,QAASA,GACTtB,OAAQA,GACRuB,OAAQA,GACRC,WAAYA,GACZtB,QAASA,GACTuB,YAAaA,GACbC,YAAaC,GACbjB,YAAaA,GACbkB,eAAgB/G,GAASgH,OACzBpB,cAAeA,EACfJ,SAAUA,GACVE,kBAAmBA,GACnBD,SAAUA,GACVE,kBAAmBA,GACnBsB,mBAAoBC,GACpBC,qBAAsBC,GACtBC,eAAgB,WACdT,IAAc,GAEhBU,cAAe,WACbV,IAAc,GAEhBW,sBAAuB,SAA+B1tE,GACpD2tE,GAAe,CACbjD,SAAUA,EACV1qE,KAAMA,EACN+rE,cAAeA,MAGlBl0E,KAGL,SAAS81E,GAAex2D,GACtBooC,GAAc6iB,EAAc,CAC1B4J,YAAaA,GACbR,QAASA,GACTD,SAAUmB,GACVpB,OAAQA,GACRK,SAAUA,GACVE,kBAAmBA,GACnBD,SAAUA,GACVE,kBAAmBA,IAClB30D,IAGL,IAAIu1D,GACAC,GACAC,GACAtB,GACAuB,GACAC,GACAtB,GACAuB,GACApB,GACAC,GACAC,GACAC,GACA8B,GACA5B,GAIA6B,GACAC,GACAC,GACAC,GACAC,GACAC,GACAjB,GACAkB,GACAC,GAGAC,GAEJC,GAhBIC,IAAsB,EACtBC,IAAkB,EAClBC,GAAY,GAUZC,IAAwB,EACxBC,IAAyB,EAIzBC,GAAmC,GAEvCC,IAAU,EACNC,GAAoB,GAGpBC,GAAqC,qBAAbn0E,SACxBo0E,GAA0B/L,EAC1BgM,GAAmBnM,GAAQD,EAAa,WAAa,QAEzDqM,GAAmBH,KAAmB7L,IAAqBD,GAAO,cAAeroE,SAASC,cAAc,OACpGs0E,GAA0B,WAC5B,GAAKJ,GAAL,CAEA,GAAIlM,EACF,OAAO,EAGT,IAAIS,EAAK1oE,SAASC,cAAc,KAEhC,OADAyoE,EAAGlxD,MAAMg9D,QAAU,sBACe,SAA3B9L,EAAGlxD,MAAMi9D,eATY,GAW1BC,GAAmB,SAA0BhM,EAAItlD,GACnD,IAAIuxD,EAAQxL,EAAIT,GACZkM,EAAU/xB,SAAS8xB,EAAM90E,OAASgjD,SAAS8xB,EAAME,aAAehyB,SAAS8xB,EAAMG,cAAgBjyB,SAAS8xB,EAAMI,iBAAmBlyB,SAAS8xB,EAAMK,kBAChJC,EAAS7J,EAAS1C,EAAI,EAAGtlD,GACzB8xD,EAAS9J,EAAS1C,EAAI,EAAGtlD,GACzB+xD,EAAgBF,GAAU9L,EAAI8L,GAC9BG,EAAiBF,GAAU/L,EAAI+L,GAC/BG,EAAkBF,GAAiBtyB,SAASsyB,EAAc9U,YAAcxd,SAASsyB,EAAcG,aAAepL,EAAQ+K,GAAQp1E,MAC9H01E,EAAmBH,GAAkBvyB,SAASuyB,EAAe/U,YAAcxd,SAASuyB,EAAeE,aAAepL,EAAQgL,GAAQr1E,MAEtI,GAAsB,SAAlB80E,EAAM5wB,QACR,MAA+B,WAAxB4wB,EAAMa,eAAsD,mBAAxBb,EAAMa,cAAqC,WAAa,aAGrG,GAAsB,SAAlBb,EAAM5wB,QACR,OAAO4wB,EAAMc,oBAAoBr5D,MAAM,KAAK/d,QAAU,EAAI,WAAa,aAGzE,GAAI42E,GAAUE,EAAc,UAAuC,SAA3BA,EAAc,SAAqB,CACzE,IAAIO,EAAgD,SAA3BP,EAAc,SAAsB,OAAS,QACtE,OAAOD,GAAoC,SAAzBE,EAAe/sD,OAAoB+sD,EAAe/sD,QAAUqtD,EAAmC,aAAb,WAGtG,OAAOT,IAAqC,UAA1BE,EAAcpxB,SAAiD,SAA1BoxB,EAAcpxB,SAAgD,UAA1BoxB,EAAcpxB,SAAiD,SAA1BoxB,EAAcpxB,SAAsBsxB,GAAmBT,GAAuC,SAA5BD,EAAMN,KAAgCa,GAAsC,SAA5BP,EAAMN,KAAgCgB,EAAkBE,EAAmBX,GAAW,WAAa,cAEnVe,GAAqB,SAA4BC,EAAUC,EAAYC,GACzE,IAAIC,EAAcD,EAAWF,EAASluC,KAAOkuC,EAASnuC,IAClDuuC,EAAcF,EAAWF,EAASjuC,MAAQiuC,EAASpuC,OACnDyuC,EAAkBH,EAAWF,EAAS/1E,MAAQ+1E,EAAS91E,OACvDo2E,EAAcJ,EAAWD,EAAWnuC,KAAOmuC,EAAWpuC,IACtD0uC,EAAcL,EAAWD,EAAWluC,MAAQkuC,EAAWruC,OACvD4uC,EAAkBN,EAAWD,EAAWh2E,MAAQg2E,EAAW/1E,OAC/D,OAAOi2E,IAAgBG,GAAeF,IAAgBG,GAAeJ,EAAcE,EAAkB,IAAMC,EAAcE,EAAkB,GAS7IC,GAA8B,SAAqC9nC,EAAG0iB,GACpE,IAAIxnB,EAYJ,OAXAoqC,GAAU93E,MAAK,SAAU+zE,GACvB,IAAIv5B,EAAUu5B,GAAd,CACA,IAAIp6B,EAAOw0B,EAAQ4F,GACfwG,EAAYxG,EAASrC,GAASrqD,QAAQmzD,qBACtCC,EAAqBjoC,GAAKmH,EAAKhO,KAAO4uC,GAAa/nC,GAAKmH,EAAK/N,MAAQ2uC,EACrEG,EAAmBxlB,GAAKvb,EAAKjO,IAAM6uC,GAAarlB,GAAKvb,EAAKlO,OAAS8uC,EAEvE,OAAIA,GAAaE,GAAsBC,EAC9BhtC,EAAMqmC,OADf,MAIKrmC,GAELitC,GAAgB,SAAuBtzD,GACzC,SAASuzD,EAAK38E,EAAO48E,GACnB,OAAO,SAAUlF,EAAIxzE,EAAM4zE,EAAQv/D,GACjC,IAAIskE,EAAYnF,EAAGtuD,QAAQ02C,MAAM10D,MAAQlH,EAAKklB,QAAQ02C,MAAM10D,MAAQssE,EAAGtuD,QAAQ02C,MAAM10D,OAASlH,EAAKklB,QAAQ02C,MAAM10D,KAEjH,GAAa,MAATpL,IAAkB48E,GAAQC,GAG5B,OAAO,EACF,GAAa,MAAT78E,IAA2B,IAAVA,EAC1B,OAAO,EACF,GAAI48E,GAAkB,UAAV58E,EACjB,OAAOA,EACF,GAAqB,oBAAVA,EAChB,OAAO28E,EAAK38E,EAAM03E,EAAIxzE,EAAM4zE,EAAQv/D,GAAMqkE,EAAnCD,CAAyCjF,EAAIxzE,EAAM4zE,EAAQv/D,GAElE,IAAIukE,GAAcF,EAAOlF,EAAKxzE,GAAMklB,QAAQ02C,MAAM10D,KAClD,OAAiB,IAAVpL,GAAmC,kBAAVA,GAAsBA,IAAU88E,GAAc98E,EAAM8J,MAAQ9J,EAAMmJ,QAAQ2zE,IAAe,GAK/H,IAAIhd,EAAQ,GACRid,EAAgB3zD,EAAQ02C,MAEvBid,GAA2C,UAA1Bx8E,EAAQw8E,KAC5BA,EAAgB,CACd3xE,KAAM2xE,IAIVjd,EAAM10D,KAAO2xE,EAAc3xE,KAC3B00D,EAAMkd,UAAYL,EAAKI,EAAcH,MAAM,GAC3C9c,EAAMmd,SAAWN,EAAKI,EAAcG,KACpCpd,EAAMqd,YAAcJ,EAAcI,YAClC/zD,EAAQ02C,MAAQA,GAEd2Y,GAAsB,YACnB8B,IAA2BvC,IAC9B7I,EAAI6I,GAAS,UAAW,SAGxBW,GAAwB,YACrB4B,IAA2BvC,IAC9B7I,EAAI6I,GAAS,UAAW,KAKxBmC,IACFn0E,SAASosC,iBAAiB,SAAS,SAAU75B,GAC3C,GAAIqhE,GAKF,OAJArhE,EAAI/I,iBACJ+I,EAAIxK,iBAAmBwK,EAAIxK,kBAC3BwK,EAAI6kE,0BAA4B7kE,EAAI6kE,2BACpCxD,IAAkB,GACX,KAER,GAGL,IAAIyD,GAAgC,SAAuC9kE,GACzE,GAAIu/D,GAAQ,CACVv/D,EAAMA,EAAI+kE,QAAU/kE,EAAI+kE,QAAQ,GAAK/kE,EAErC,IAAIglE,EAAUlB,GAA4B9jE,EAAIilE,QAASjlE,EAAIklE,SAE3D,GAAIF,EAAS,CAEX,IAAIj5D,EAAQ,GAEZ,IAAK,IAAI1b,KAAK2P,EACRA,EAAI9Y,eAAemJ,KACrB0b,EAAM1b,GAAK2P,EAAI3P,IAInB0b,EAAMtG,OAASsG,EAAMoyD,OAAS6G,EAC9Bj5D,EAAM9U,oBAAiB,EACvB8U,EAAMvW,qBAAkB,EAExBwvE,EAAQ9J,GAASiK,YAAYp5D,MAK/Bq5D,GAAwB,SAA+BplE,GACrDu/D,IACFA,GAAOx4C,WAAWm0C,GAASmK,iBAAiBrlE,EAAIyF,SAUpD,SAASuzD,GAAS7C,EAAItlD,GACpB,IAAMslD,IAAMA,EAAG5Q,UAA4B,IAAhB4Q,EAAG5Q,SAC5B,KAAM,8CAA8C56B,OAAO,GAAGvjC,SAASO,KAAKwuE,IAG9E3tE,KAAK2tE,GAAKA,EAEV3tE,KAAKqoB,QAAUA,EAAUmkD,EAAS,GAAInkD,GAEtCslD,EAAG+E,GAAW1yE,KACd,IAAI00E,EAAW,CACb3V,MAAO,KACPprB,MAAM,EACNuyB,UAAU,EACV4W,MAAO,KACPnR,OAAQ,KACR16D,UAAW,WAAWgxC,KAAK0rB,EAAGkD,UAAY,MAAQ,KAClDkM,cAAe,EAEfC,YAAY,EAEZC,sBAAuB,KAEvBC,mBAAmB,EACnB/d,UAAW,WACT,OAAOwa,GAAiBhM,EAAI3tE,KAAKqoB,UAEnC80D,WAAY,iBACZC,YAAa,kBACbC,UAAW,gBACXC,OAAQ,SACRjpE,OAAQ,KACRkpE,iBAAiB,EACjBxK,UAAW,EACXwB,OAAQ,KACRiJ,QAAS,SAAiBC,EAAc1G,GACtC0G,EAAaD,QAAQ,OAAQzG,EAAOziC,cAEtCopC,YAAY,EACZC,gBAAgB,EAChBC,WAAY,UACZh3E,MAAO,EACPi3E,kBAAkB,EAClBC,qBAAsB5wC,OAAO4a,SAAW5a,OAASja,QAAQ60B,SAAS70B,OAAO8qD,iBAAkB,KAAO,EAClGC,eAAe,EACfC,cAAe,oBACfC,gBAAgB,EAChBC,kBAAmB,EACnBC,eAAgB,CACd5qC,EAAG,EACH0iB,EAAG,GAELmoB,gBAA4C,IAA5B7N,GAAS6N,gBAA4B,iBAAkBprD,OACvEuoD,qBAAsB,GAIxB,IAAK,IAAInxE,KAFTuqE,GAAcO,kBAAkBn1E,KAAM2tE,EAAI+G,GAEzBA,IACbrqE,KAAQge,KAAaA,EAAQhe,GAAQqqE,EAASrqE,IAMlD,IAAK,IAAInE,KAHTy1E,GAActzD,GAGCroB,KACQ,MAAjBkG,EAAG0vD,OAAO,IAAkC,oBAAb51D,KAAKkG,KACtClG,KAAKkG,GAAMlG,KAAKkG,GAAIysC,KAAK3yC,OAK7BA,KAAKs+E,iBAAkBj2D,EAAQ21D,eAAwBzE,GAEnDv5E,KAAKs+E,kBAEPt+E,KAAKqoB,QAAQy1D,oBAAsB,GAIjCz1D,EAAQg2D,eACVnyE,EAAGyhE,EAAI,cAAe3tE,KAAKu+E,cAE3BryE,EAAGyhE,EAAI,YAAa3tE,KAAKu+E,aACzBryE,EAAGyhE,EAAI,aAAc3tE,KAAKu+E,cAGxBv+E,KAAKs+E,kBACPpyE,EAAGyhE,EAAI,WAAY3tE,MACnBkM,EAAGyhE,EAAI,YAAa3tE,OAGtB84E,GAAUv1E,KAAKvD,KAAK2tE,IAEpBtlD,EAAQy0D,OAASz0D,EAAQy0D,MAAM9hD,KAAOh7B,KAAK2zC,KAAKtrB,EAAQy0D,MAAM9hD,IAAIh7B,OAAS,IAE3EwsE,EAASxsE,KAAM2yE,KAqpCjB,SAAS6L,GAEThnE,GACMA,EAAIimE,eACNjmE,EAAIimE,aAAagB,WAAa,QAGhCjnE,EAAIk/D,YAAcl/D,EAAI/I,iBAGxB,SAASiwE,GAAQ3I,EAAQD,EAAMiB,EAAQ8D,EAAUjF,EAAUkF,EAAY1E,EAAeuI,GACpF,IAAInnE,EAGAonE,EAFA7J,EAAWgB,EAAOrD,GAClBmM,EAAW9J,EAAS1sD,QAAQy2D,OA2BhC,OAxBI7rD,OAAOujD,aAAgBtJ,GAAeC,GAMxC31D,EAAMvS,SAAS4kD,YAAY,SAC3BryC,EAAIsyC,UAAU,QAAQ,GAAM,IAN5BtyC,EAAM,IAAIg/D,YAAY,OAAQ,CAC5BC,SAAS,EACTC,YAAY,IAOhBl/D,EAAIm/D,GAAKb,EACTt+D,EAAIrU,KAAO4yE,EACXv+D,EAAIk5D,QAAUqG,EACdv/D,EAAIunE,YAAclE,EAClBrjE,EAAIwnE,QAAUpJ,GAAYE,EAC1Bt+D,EAAIynE,YAAcnE,GAAc3L,EAAQ2G,GACxCt+D,EAAImnE,gBAAkBA,EACtBnnE,EAAI4+D,cAAgBA,EACpBL,EAAOnsB,cAAcpyC,GAEjBqnE,IACFD,EAASC,EAAS1/E,KAAK41E,EAAUv9D,EAAK4+D,IAGjCwI,EAGT,SAASM,GAAkBvR,GACzBA,EAAG18D,WAAY,EAGjB,SAASkuE,KACPjG,IAAU,EAGZ,SAASkG,GAAa5nE,EAAKujE,EAAUhG,GACnC,IAAIp6B,EAAOw0B,EAAQ3zB,EAAUu5B,EAASpH,GAAIoH,EAAS1sD,QAAQpX,YACvDouE,EAAS,GACb,OAAOtE,EAAWvjE,EAAIilE,QAAU9hC,EAAK/N,MAAQyyC,GAAU7nE,EAAIilE,SAAW9hC,EAAK/N,OAASp1B,EAAIklE,QAAU/hC,EAAKlO,QAAUj1B,EAAIilE,SAAW9hC,EAAKhO,KAAOn1B,EAAIilE,QAAU9hC,EAAK/N,OAASp1B,EAAIklE,QAAU/hC,EAAKjO,KAAOl1B,EAAIilE,SAAW9hC,EAAK/N,OAASp1B,EAAIklE,QAAU/hC,EAAKlO,OAAS4yC,EAG7P,SAASC,GAAkB9nE,EAAKyF,EAAQ69D,EAAYC,EAAUgC,EAAeE,EAAuBD,EAAYuC,GAC9G,IAAIC,EAAczE,EAAWvjE,EAAIklE,QAAUllE,EAAIilE,QAC3CgD,EAAe1E,EAAWD,EAAW/1E,OAAS+1E,EAAWh2E,MACzD46E,EAAW3E,EAAWD,EAAWpuC,IAAMouC,EAAWnuC,KAClDgzC,EAAW5E,EAAWD,EAAWruC,OAASquC,EAAWluC,MACrDgzC,GAAS,EAEb,IAAK5C,EAEH,GAAIuC,GAAgB7G,GAAqB+G,EAAe1C,GAQtD,IALKhE,KAA4C,IAAlBN,GAAsB+G,EAAcE,EAAWD,EAAexC,EAAwB,EAAIuC,EAAcG,EAAWF,EAAexC,EAAwB,KAEvLlE,IAAwB,GAGrBA,GAOH6G,GAAS,OALT,GAAsB,IAAlBnH,GAAsB+G,EAAcE,EAAWhH,GACjD8G,EAAcG,EAAWjH,GACzB,OAAQD,QAOZ,GAAI+G,EAAcE,EAAWD,GAAgB,EAAI1C,GAAiB,GAAKyC,EAAcG,EAAWF,GAAgB,EAAI1C,GAAiB,EACnI,OAAO8C,GAAoB5iE,GAOjC,OAFA2iE,EAASA,GAAU5C,EAEf4C,IAEEJ,EAAcE,EAAWD,EAAexC,EAAwB,GAAKuC,EAAcG,EAAWF,EAAexC,EAAwB,GAChIuC,EAAcE,EAAWD,EAAe,EAAI,GAAK,EAIrD,EAUT,SAASI,GAAoB5iE,GAC3B,OAAIvc,EAAMq2E,IAAUr2E,EAAMuc,GACjB,GAEC,EAWZ,SAAS6iE,GAAYnS,GACnB,IAAIjV,EAAMiV,EAAG5uC,QAAU4uC,EAAGpuC,UAAYouC,EAAG7nE,IAAM6nE,EAAGrlB,KAAOqlB,EAAGr5B,YACxDzsC,EAAI6wD,EAAIp1D,OACRy8E,EAAM,EAEV,MAAOl4E,IACLk4E,GAAOrnB,EAAI3wD,WAAWF,GAGxB,OAAOk4E,EAAInhF,SAAS,IAGtB,SAASohF,GAAuB10E,GAC9B6tE,GAAkB71E,OAAS,EAC3B,IAAI28E,EAAS30E,EAAKyjE,qBAAqB,SACnCmR,EAAMD,EAAO38E,OAEjB,MAAO48E,IAAO,CACZ,IAAIvS,EAAKsS,EAAOC,GAChBvS,EAAGwS,SAAWhH,GAAkB51E,KAAKoqE,IAIzC,SAASyS,GAAUl6E,GACjB,OAAOa,WAAWb,EAAI,GAGxB,SAASm6E,GAAgBv1E,GACvB,OAAOhE,aAAagE,GA3yCtB0lE,GAAS/xE,UAET,CACEkB,YAAa6wE,GACbqM,iBAAkB,SAA0B5/D,GACrCjd,KAAK2tE,GAAG5/B,SAAS9wB,IAAWA,IAAWjd,KAAK2tE,KAC/C6K,GAAa,OAGjB8H,cAAe,SAAuB9oE,EAAKyF,GACzC,MAAyC,oBAA3Bjd,KAAKqoB,QAAQ82C,UAA2Bn/D,KAAKqoB,QAAQ82C,UAAUhgE,KAAKa,KAAMwX,EAAKyF,EAAQ85D,IAAU/2E,KAAKqoB,QAAQ82C,WAE9Hof,YAAa,SAEb/mE,GACE,GAAKA,EAAIk/D,WAAT,CAEA,IAAI/4C,EAAQ39B,KACR2tE,EAAK3tE,KAAK2tE,GACVtlD,EAAUroB,KAAKqoB,QACfk1D,EAAkBl1D,EAAQk1D,gBAC1Bx7E,EAAOyV,EAAIzV,KACXw+E,EAAQ/oE,EAAI+kE,SAAW/kE,EAAI+kE,QAAQ,IAAM/kE,EAAIgpE,aAAmC,UAApBhpE,EAAIgpE,aAA2BhpE,EAC3FyF,GAAUsjE,GAAS/oE,GAAKyF,OACxBwjE,EAAiBjpE,EAAIyF,OAAOyjE,aAAelpE,EAAIvN,MAAQuN,EAAIvN,KAAK,IAAMuN,EAAImpE,cAAgBnpE,EAAImpE,eAAe,KAAO1jE,EACpH5I,EAASgU,EAAQhU,OAKrB,GAHA2rE,GAAuBrS,IAGnBoJ,MAIA,wBAAwB90B,KAAKlgD,IAAwB,IAAfyV,EAAI43C,QAAgB/mC,EAAQ69C,YAKlEua,EAAeG,oBAInB3jE,EAAS8wD,EAAQ9wD,EAAQoL,EAAQpX,UAAW08D,GAAI,KAE5C1wD,IAAUA,EAAOu3D,WAIjB2C,KAAel6D,GAAnB,CASA,GAHA+4D,GAAWt1E,EAAMuc,GACjBi5D,GAAoBx1E,EAAMuc,EAAQoL,EAAQpX,WAEpB,oBAAXoD,GACT,GAAIA,EAAOlV,KAAKa,KAAMwX,EAAKyF,EAAQjd,MAcjC,OAbAg4E,GAAe,CACbjD,SAAUp3C,EACVg4C,OAAQ8K,EACRp2E,KAAM,SACNurE,SAAU34D,EACV64D,KAAMnI,EACNoI,OAAQpI,IAGVmH,GAAY,SAAUn3C,EAAO,CAC3BnmB,IAAKA,SAEP+lE,GAAmB/lE,EAAIk/D,YAAcl/D,EAAI/I,uBAGtC,GAAI4F,IACTA,EAASA,EAAOgN,MAAM,KAAKrgB,MAAK,SAAU67C,GAGxC,GAFAA,EAAWkxB,EAAQ0S,EAAgB5jC,EAASv4B,OAAQqpD,GAAI,GAEpD9wB,EAaF,OAZAm7B,GAAe,CACbjD,SAAUp3C,EACVg4C,OAAQ94B,EACRxyC,KAAM,SACNurE,SAAU34D,EACV84D,OAAQpI,EACRmI,KAAMnI,IAGRmH,GAAY,SAAUn3C,EAAO,CAC3BnmB,IAAKA,KAEA,KAIPnD,GAEF,YADAkpE,GAAmB/lE,EAAIk/D,YAAcl/D,EAAI/I,kBAKzC4Z,EAAQsjD,SAAWoC,EAAQ0S,EAAgBp4D,EAAQsjD,OAAQgC,GAAI,IAKnE3tE,KAAK6gF,kBAAkBrpE,EAAK+oE,EAAOtjE,MAErC4jE,kBAAmB,SAEnBrpE,EAEA+oE,EAEAtjE,GACE,IAII6jE,EAJAnjD,EAAQ39B,KACR2tE,EAAKhwC,EAAMgwC,GACXtlD,EAAUsV,EAAMtV,QAChB04D,EAAgBpT,EAAGoT,cAGvB,GAAI9jE,IAAW85D,IAAU95D,EAAOshB,aAAeovC,EAAI,CACjD,IAAIkN,EAAW1L,EAAQlyD,GAwEvB,GAvEA04D,GAAShI,EACToJ,GAAS95D,EACT+5D,GAAWD,GAAOx4C,WAClB24C,GAASH,GAAOl5B,YAChBs5B,GAAal6D,EACbg7D,GAAc5vD,EAAQ02C,MACtByR,GAASE,QAAUqG,GACnBmB,GAAS,CACPj7D,OAAQ85D,GACR0F,SAAU8D,GAAS/oE,GAAKilE,QACxBC,SAAU6D,GAAS/oE,GAAKklE,SAE1BpE,GAAkBJ,GAAOuE,QAAU5B,EAASluC,KAC5C4rC,GAAiBL,GAAOwE,QAAU7B,EAASnuC,IAC3C1sC,KAAKghF,QAAUT,GAAS/oE,GAAKilE,QAC7Bz8E,KAAKihF,QAAUV,GAAS/oE,GAAKklE,QAC7B3F,GAAOt6D,MAAM,eAAiB,MAE9BqkE,EAAc,WACZhM,GAAY,aAAcn3C,EAAO,CAC/BnmB,IAAKA,IAGHg5D,GAASwE,cACXr3C,EAAMujD,WAORvjD,EAAMwjD,6BAED/T,GAAWzvC,EAAM2gD,kBACpBvH,GAAO9lE,WAAY,GAIrB0sB,EAAMyjD,kBAAkB5pE,EAAK+oE,GAG7BvI,GAAe,CACbjD,SAAUp3C,EACVtzB,KAAM,SACN+rE,cAAe5+D,IAIjB22D,EAAY4I,GAAQ1uD,EAAQ+0D,aAAa,KAI3C/0D,EAAQi1D,OAAOj8D,MAAM,KAAK1N,SAAQ,SAAUkpC,GAC1CzgB,EAAK26C,GAAQl6B,EAASv4B,OAAQ46D,OAEhChzE,EAAG60E,EAAe,WAAYzE,IAC9BpwE,EAAG60E,EAAe,YAAazE,IAC/BpwE,EAAG60E,EAAe,YAAazE,IAC/BpwE,EAAG60E,EAAe,UAAWpjD,EAAMujD,SACnCh1E,EAAG60E,EAAe,WAAYpjD,EAAMujD,SACpCh1E,EAAG60E,EAAe,cAAepjD,EAAMujD,SAEnC9T,GAAWptE,KAAKs+E,kBAClBt+E,KAAKqoB,QAAQy1D,oBAAsB,EACnC/G,GAAO9lE,WAAY,GAGrB6jE,GAAY,aAAc90E,KAAM,CAC9BwX,IAAKA,KAGH6Q,EAAQzhB,OAAWyhB,EAAQw1D,mBAAoB0C,GAAYvgF,KAAKs+E,kBAAqBnR,GAAQD,GAkB/F4T,QAlB6G,CAC7G,GAAItQ,GAASwE,cAGX,YAFAh1E,KAAKkhF,UAQPh1E,EAAG60E,EAAe,UAAWpjD,EAAM0jD,qBACnCn1E,EAAG60E,EAAe,WAAYpjD,EAAM0jD,qBACpCn1E,EAAG60E,EAAe,cAAepjD,EAAM0jD,qBACvCn1E,EAAG60E,EAAe,YAAapjD,EAAM2jD,8BACrCp1E,EAAG60E,EAAe,YAAapjD,EAAM2jD,8BACrCj5D,EAAQg2D,gBAAkBnyE,EAAG60E,EAAe,cAAepjD,EAAM2jD,8BACjE3jD,EAAM4jD,gBAAkBx6E,WAAW+5E,EAAaz4D,EAAQzhB,UAM9D06E,6BAA8B,SAE9BhiF,GACE,IAAIihF,EAAQjhF,EAAEi9E,QAAUj9E,EAAEi9E,QAAQ,GAAKj9E,EAEnC86B,KAAKgW,IAAIhW,KAAKI,IAAI+lD,EAAM9D,QAAUz8E,KAAKghF,QAAS5mD,KAAKI,IAAI+lD,EAAM7D,QAAU18E,KAAKihF,UAAY7mD,KAAKM,MAAM16B,KAAKqoB,QAAQy1D,qBAAuB99E,KAAKs+E,iBAAmBrrD,OAAO8qD,kBAAoB,KAC9L/9E,KAAKqhF,uBAGTA,oBAAqB,WACnBtK,IAAUmI,GAAkBnI,IAC5BjwE,aAAa9G,KAAKuhF,iBAElBvhF,KAAKmhF,6BAEPA,0BAA2B,WACzB,IAAIJ,EAAgB/gF,KAAK2tE,GAAGoT,cAC5B/yC,EAAI+yC,EAAe,UAAW/gF,KAAKqhF,qBACnCrzC,EAAI+yC,EAAe,WAAY/gF,KAAKqhF,qBACpCrzC,EAAI+yC,EAAe,cAAe/gF,KAAKqhF,qBACvCrzC,EAAI+yC,EAAe,YAAa/gF,KAAKshF,8BACrCtzC,EAAI+yC,EAAe,YAAa/gF,KAAKshF,8BACrCtzC,EAAI+yC,EAAe,cAAe/gF,KAAKshF,+BAEzCF,kBAAmB,SAEnB5pE,EAEA+oE,GACEA,EAAQA,GAA4B,SAAnB/oE,EAAIgpE,aAA0BhpE,GAE1CxX,KAAKs+E,iBAAmBiC,EACvBvgF,KAAKqoB,QAAQg2D,eACfnyE,EAAGjH,SAAU,cAAejF,KAAKwhF,cAEjCt1E,EAAGjH,SADMs7E,EACI,YAEA,YAFavgF,KAAKwhF,eAKjCt1E,EAAG6qE,GAAQ,UAAW/2E,MACtBkM,EAAGypE,GAAQ,YAAa31E,KAAKyhF,eAG/B,IACMx8E,SAAS8yB,UAEXqoD,IAAU,WACRn7E,SAAS8yB,UAAUwsB,WAGrBtxB,OAAO0Y,eAAeoQ,kBAExB,MAAO19B,MAEXqjE,aAAc,SAAsBC,EAAUnqE,GAI5C,GAFAohE,IAAsB,EAElBjD,IAAUoB,GAAQ,CACpBjC,GAAY,cAAe90E,KAAM,CAC/BwX,IAAKA,IAGHxX,KAAKs+E,iBACPpyE,EAAGjH,SAAU,WAAY23E,IAG3B,IAAIv0D,EAAUroB,KAAKqoB,SAElBs5D,GAAYxT,EAAY4I,GAAQ1uD,EAAQg1D,WAAW,GACpDlP,EAAY4I,GAAQ1uD,EAAQ80D,YAAY,GACxC3M,GAASgH,OAASx3E,KAClB2hF,GAAY3hF,KAAK4hF,eAEjB5J,GAAe,CACbjD,SAAU/0E,KACVqK,KAAM,QACN+rE,cAAe5+D,SAGjBxX,KAAK6hF,YAGTC,iBAAkB,WAChB,GAAI3J,GAAU,CACZn4E,KAAKghF,OAAS7I,GAASsE,QACvBz8E,KAAKihF,OAAS9I,GAASuE,QAEvBhF,KAEA,IAAIz6D,EAAShY,SAAS88E,iBAAiB5J,GAASsE,QAAStE,GAASuE,SAC9DltD,EAASvS,EAEb,MAAOA,GAAUA,EAAOyjE,WAAY,CAElC,GADAzjE,EAASA,EAAOyjE,WAAWqB,iBAAiB5J,GAASsE,QAAStE,GAASuE,SACnEz/D,IAAWuS,EAAQ,MACvBA,EAASvS,EAKX,GAFA85D,GAAOx4C,WAAWm0C,GAASmK,iBAAiB5/D,GAExCuS,EACF,EAAG,CACD,GAAIA,EAAOkjD,GAAU,CACnB,IAAIsP,OAAW,EAQf,GAPAA,EAAWxyD,EAAOkjD,GAASiK,YAAY,CACrCF,QAAStE,GAASsE,QAClBC,QAASvE,GAASuE,QAClBz/D,OAAQA,EACR04D,OAAQnmD,IAGNwyD,IAAahiF,KAAKqoB,QAAQs1D,eAC5B,MAIJ1gE,EAASuS,QAGJA,EAASA,EAAO+O,YAGzBq5C,OAGJ4J,aAAc,SAEdhqE,GACE,GAAI0gE,GAAQ,CACV,IAAI7vD,EAAUroB,KAAKqoB,QACf81D,EAAoB91D,EAAQ81D,kBAC5BC,EAAiB/1D,EAAQ+1D,eACzBmC,EAAQ/oE,EAAI+kE,QAAU/kE,EAAI+kE,QAAQ,GAAK/kE,EACvCyqE,EAAchL,IAAW1I,EAAO0I,IAAS,GACzCrH,EAASqH,IAAWgL,GAAeA,EAAYrwD,EAC/Ci+C,EAASoH,IAAWgL,GAAeA,EAAY3vD,EAC/C4vD,EAAuB7I,IAA2BV,IAAuB7H,EAAwB6H,IACjGwJ,GAAM5B,EAAM9D,QAAUvE,GAAOuE,QAAU2B,EAAe5qC,IAAMo8B,GAAU,IAAMsS,EAAuBA,EAAqB,GAAKjJ,GAAiC,GAAK,IAAMrJ,GAAU,GACnLwS,GAAM7B,EAAM7D,QAAUxE,GAAOwE,QAAU0B,EAAeloB,IAAM2Z,GAAU,IAAMqS,EAAuBA,EAAqB,GAAKjJ,GAAiC,GAAK,IAAMpJ,GAAU,GAEvL,IAAKW,GAASgH,SAAWoB,GAAqB,CAC5C,GAAIuF,GAAqB/jD,KAAKgW,IAAIhW,KAAKI,IAAI+lD,EAAM9D,QAAUz8E,KAAKghF,QAAS5mD,KAAKI,IAAI+lD,EAAM7D,QAAU18E,KAAKihF,SAAW9C,EAChH,OAGFn+E,KAAKyhF,aAAajqE,GAAK,GAGzB,GAAIy/D,GAAS,CACPgL,GACFA,EAAY3iF,GAAK6iF,GAAM/J,IAAU,GACjC6J,EAAY7vD,GAAKgwD,GAAM/J,IAAU,IAEjC4J,EAAc,CACZrwD,EAAG,EACHC,EAAG,EACHM,EAAG,EACHG,EAAG,EACHhzB,EAAG6iF,EACH/vD,EAAGgwD,GAIP,IAAIC,EAAY,UAAUlgD,OAAO8/C,EAAYrwD,EAAG,KAAKuQ,OAAO8/C,EAAYpwD,EAAG,KAAKsQ,OAAO8/C,EAAY9vD,EAAG,KAAKgQ,OAAO8/C,EAAY3vD,EAAG,KAAK6P,OAAO8/C,EAAY3iF,EAAG,KAAK6iC,OAAO8/C,EAAY7vD,EAAG,KACvLg8C,EAAI6I,GAAS,kBAAmBoL,GAChCjU,EAAI6I,GAAS,eAAgBoL,GAC7BjU,EAAI6I,GAAS,cAAeoL,GAC5BjU,EAAI6I,GAAS,YAAaoL,GAC1BjK,GAAS+J,EACT9J,GAAS+J,EACTjK,GAAWoI,EAGb/oE,EAAIk/D,YAAcl/D,EAAI/I,mBAG1BmzE,aAAc,WAGZ,IAAK3K,GAAS,CACZ,IAAI/9C,EAAYl5B,KAAKqoB,QAAQ61D,eAAiBj5E,SAAS2tB,KAAO+iD,GAC1Dh7B,EAAOw0B,EAAQ4H,IAAQ,EAAMsC,IAAyB,EAAMngD,GAC5D7Q,EAAUroB,KAAKqoB,QAEnB,GAAIgxD,GAAyB,CAE3BV,GAAsBz/C,EAEtB,MAAgD,WAAzCk1C,EAAIuK,GAAqB,aAAsE,SAA1CvK,EAAIuK,GAAqB,cAA2BA,KAAwB1zE,SACtI0zE,GAAsBA,GAAoBp6C,WAGxCo6C,KAAwB1zE,SAAS2tB,MAAQ+lD,KAAwB1zE,SAASiqE,iBACxEyJ,KAAwB1zE,WAAU0zE,GAAsB3J,KAC5Dr0B,EAAKjO,KAAOisC,GAAoBrtC,UAChCqP,EAAKhO,MAAQgsC,GAAoB1H,YAEjC0H,GAAsB3J,IAGxBiK,GAAmCnI,EAAwB6H,IAG7D1B,GAAUF,GAAOtsB,WAAU,GAC3B0jB,EAAY8I,GAAS5uD,EAAQ80D,YAAY,GACzChP,EAAY8I,GAAS5uD,EAAQ41D,eAAe,GAC5C9P,EAAY8I,GAAS5uD,EAAQg1D,WAAW,GACxCjP,EAAI6I,GAAS,aAAc,IAC3B7I,EAAI6I,GAAS,YAAa,IAC1B7I,EAAI6I,GAAS,aAAc,cAC3B7I,EAAI6I,GAAS,SAAU,GACvB7I,EAAI6I,GAAS,MAAOt8B,EAAKjO,KACzB0hC,EAAI6I,GAAS,OAAQt8B,EAAKhO,MAC1ByhC,EAAI6I,GAAS,QAASt8B,EAAK71C,OAC3BspE,EAAI6I,GAAS,SAAUt8B,EAAK51C,QAC5BqpE,EAAI6I,GAAS,UAAW,OACxB7I,EAAI6I,GAAS,WAAYoC,GAA0B,WAAa,SAChEjL,EAAI6I,GAAS,SAAU,UACvB7I,EAAI6I,GAAS,gBAAiB,QAC9BzG,GAASC,MAAQwG,GACjB/9C,EAAU9F,YAAY6jD,IAEtB7I,EAAI6I,GAAS,mBAAoBqB,GAAkBxwB,SAASmvB,GAAQx6D,MAAM3X,OAAS,IAAM,KAAOyzE,GAAiBzwB,SAASmvB,GAAQx6D,MAAM1X,QAAU,IAAM,OAG5J08E,aAAc,SAEdjqE,EAEAmqE,GACE,IAAIhkD,EAAQ39B,KAERy9E,EAAejmE,EAAIimE,aACnBp1D,EAAUsV,EAAMtV,QACpBysD,GAAY,YAAa90E,KAAM,CAC7BwX,IAAKA,IAGHg5D,GAASwE,cACXh1E,KAAKkhF,WAKPpM,GAAY,aAAc90E,MAErBwwE,GAASwE,gBACZa,GAAU/xC,EAAMizC,IAChBlB,GAAQ5kE,WAAY,EACpB4kE,GAAQp5D,MAAM,eAAiB,GAE/Bzc,KAAKsiF,aAELnU,EAAY0H,GAAS71E,KAAKqoB,QAAQ+0D,aAAa,GAC/C5M,GAAS1sC,MAAQ+xC,IAInBl4C,EAAM4kD,QAAUnC,IAAU,WACxBtL,GAAY,QAASn3C,GACjB6yC,GAASwE,gBAERr3C,EAAMtV,QAAQ60D,mBACjBvH,GAAOxvC,aAAa0vC,GAASkB,IAG/Bp5C,EAAM2kD,aAENtK,GAAe,CACbjD,SAAUp3C,EACVtzB,KAAM,eAGTs3E,GAAYxT,EAAY4I,GAAQ1uD,EAAQg1D,WAAW,GAEhDsE,GACF9I,IAAkB,EAClBl7C,EAAM6kD,QAAUC,YAAY9kD,EAAMmkD,iBAAkB,MAGpD9zC,EAAI/oC,SAAU,UAAW04B,EAAMujD,SAC/BlzC,EAAI/oC,SAAU,WAAY04B,EAAMujD,SAChClzC,EAAI/oC,SAAU,cAAe04B,EAAMujD,SAE/BzD,IACFA,EAAaiF,cAAgB,OAC7Br6D,EAAQm1D,SAAWn1D,EAAQm1D,QAAQr+E,KAAKw+B,EAAO8/C,EAAc1G,KAG/D7qE,EAAGjH,SAAU,OAAQ04B,GAErBywC,EAAI2I,GAAQ,YAAa,kBAG3B6B,IAAsB,EACtBj7C,EAAMglD,aAAevC,GAAUziD,EAAM+jD,aAAa/uC,KAAKhV,EAAOgkD,EAAUnqE,IACxEtL,EAAGjH,SAAU,cAAe04B,GAC5B25C,IAAQ,EAEJjK,GACFe,EAAInpE,SAAS2tB,KAAM,cAAe,UAItC+pD,YAAa,SAEbnlE,GACE,IAEIqjE,EACAC,EACA8H,EAOA7H,EAXApN,EAAK3tE,KAAK2tE,GACV1wD,EAASzF,EAAIyF,OAIboL,EAAUroB,KAAKqoB,QACf02C,EAAQ12C,EAAQ02C,MAChBwY,EAAiB/G,GAASgH,OAC1BqL,EAAU5K,KAAgBlZ,EAC1B+jB,EAAUz6D,EAAQsrB,KAClBovC,EAAe1M,IAAekB,EAE9B55C,EAAQ39B,KACRgjF,GAAiB,EAErB,IAAI9J,GAAJ,CAgHA,QAN2B,IAAvB1hE,EAAI/I,gBACN+I,EAAIk/D,YAAcl/D,EAAI/I,iBAGxBwO,EAAS8wD,EAAQ9wD,EAAQoL,EAAQpX,UAAW08D,GAAI,GAChDsV,EAAc,YACVzS,GAASwE,cAAe,OAAOgO,EAEnC,GAAIjM,GAAOhpC,SAASv2B,EAAIyF,SAAWA,EAAOu3D,UAAYv3D,EAAOm3D,YAAcn3D,EAAOo3D,YAAc12C,EAAMulD,wBAA0BjmE,EAC9H,OAAOkmE,GAAU,GAKnB,GAFAtK,IAAkB,EAEdtB,IAAmBlvD,EAAQ69C,WAAa2c,EAAUC,IAAYF,GAAUjN,GAAO5nC,SAASgpC,KAC1FV,KAAgBr2E,OAASA,KAAK62E,YAAcoB,GAAYgE,UAAUj8E,KAAMu3E,EAAgBR,GAAQv/D,KAASunD,EAAMmd,SAASl8E,KAAMu3E,EAAgBR,GAAQv/D,IAAO,CAI7J,GAHAujE,EAA+C,aAApC/6E,KAAKsgF,cAAc9oE,EAAKyF,GACnC49D,EAAW1L,EAAQ4H,IACnBkM,EAAc,iBACVzS,GAASwE,cAAe,OAAOgO,EAEnC,GAAIJ,EAiBF,OAhBA5L,GAAWrB,GAEXlI,IAEAztE,KAAKsiF,aAELW,EAAc,UAETzS,GAASwE,gBACRkC,GACFvB,GAAOxvC,aAAa4wC,GAAQG,IAE5BvB,GAAOviD,YAAY2jD,KAIhBoM,GAAU,GAGnB,IAAIC,EAAc5nC,EAAUmyB,EAAItlD,EAAQpX,WAExC,IAAKmyE,GAAehE,GAAa5nE,EAAKujE,EAAU/6E,QAAUojF,EAAY5O,SAAU,CAE9E,GAAI4O,IAAgBrM,GAClB,OAAOoM,GAAU,GAYnB,GARIC,GAAezV,IAAOn2D,EAAIyF,SAC5BA,EAASmmE,GAGPnmE,IACF69D,EAAa3L,EAAQlyD,KAG0D,IAA7EyhE,GAAQ/I,GAAQhI,EAAIoJ,GAAQ8D,EAAU59D,EAAQ69D,EAAYtjE,IAAOyF,GAMnE,OALAwwD,IACAE,EAAGv6C,YAAY2jD,IACfC,GAAWrJ,EAEX0V,IACOF,GAAU,QAEd,GAAIlmE,EAAOshB,aAAeovC,EAAI,CACnCmN,EAAa3L,EAAQlyD,GACrB,IACIqmE,EAcAC,EAfApkB,EAAY,EAEZqkB,EAAiBzM,GAAOx4C,aAAeovC,EACvC8V,GAAmB7I,GAAmB7D,GAAOvC,UAAYuC,GAAOtD,QAAUoH,EAAU59D,EAAOu3D,UAAYv3D,EAAOw2D,QAAUqH,EAAYC,GACpI2I,EAAQ3I,EAAW,MAAQ,OAC3B4I,EAAkB7T,EAAe7yD,EAAQ,MAAO,QAAU6yD,EAAeiH,GAAQ,MAAO,OACxF6M,EAAeD,EAAkBA,EAAgBr4C,eAAY,EAWjE,GATIktC,KAAev7D,IACjBqmE,EAAwBxI,EAAW4I,GACnC3K,IAAwB,EACxBC,IAA0ByK,GAAmBp7D,EAAQ20D,YAAcwG,GAGrErkB,EAAYmgB,GAAkB9nE,EAAKyF,EAAQ69D,EAAYC,EAAU0I,EAAkB,EAAIp7D,EAAQ00D,cAAgD,MAAjC10D,EAAQ40D,sBAAgC50D,EAAQ00D,cAAgB10D,EAAQ40D,sBAAuBjE,GAAwBR,KAAev7D,GAGlO,IAAdkiD,EAAiB,CAEnB,IAAI0kB,EAAYnjF,EAAMq2E,IAEtB,GACE8M,GAAa1kB,EACbokB,EAAUvM,GAAStgE,SAASmtE,SACrBN,IAAwC,SAA5BnV,EAAImV,EAAS,YAAyBA,IAAYtM,KAIzE,GAAkB,IAAd9X,GAAmBokB,IAAYtmE,EACjC,OAAOkmE,GAAU,GAGnB3K,GAAav7D,EACbw7D,GAAgBtZ,EAChB,IAAIthB,EAAc5gC,EAAOkgD,mBACrBtjB,GAAQ,EACZA,EAAsB,IAAdslB,EAER,IAAI2kB,EAAapF,GAAQ/I,GAAQhI,EAAIoJ,GAAQ8D,EAAU59D,EAAQ69D,EAAYtjE,EAAKqiC,GAEhF,IAAmB,IAAfiqC,EA4BF,OA3BmB,IAAfA,IAAoC,IAAhBA,IACtBjqC,EAAuB,IAAfiqC,GAGV5K,IAAU,EACVnyE,WAAWo4E,GAAW,IACtB1R,IAEI5zB,IAAUgE,EACZ8vB,EAAGv6C,YAAY2jD,IAEf95D,EAAOshB,WAAW4H,aAAa4wC,GAAQl9B,EAAQgE,EAAc5gC,GAI3D0mE,GACFxR,EAASwR,EAAiB,EAAGC,EAAeD,EAAgBr4C,WAG9D0rC,GAAWD,GAAOx4C,gBAGYx/B,IAA1BukF,GAAwCtK,KAC1CN,GAAqBt+C,KAAKI,IAAI8oD,EAAwBnU,EAAQlyD,GAAQymE,KAGxEL,IACOF,GAAU,GAIrB,GAAIxV,EAAG5/B,SAASgpC,IACd,OAAOoM,GAAU,GAIrB,OAAO,EAzPP,SAASF,EAAc54E,EAAM05E,GAC3BjP,GAAYzqE,EAAMszB,EAAO8uC,EAAc,CACrCj1D,IAAKA,EACLqrE,QAASA,EACTmB,KAAMjJ,EAAW,WAAa,aAC9B6H,OAAQA,EACR/H,SAAUA,EACVC,WAAYA,EACZgI,QAASA,EACTC,aAAcA,EACd9lE,OAAQA,EACRkmE,UAAWA,EACXrE,OAAQ,SAAgB7hE,EAAQ48B,GAC9B,OAAO6kC,GAAQ/I,GAAQhI,EAAIoJ,GAAQ8D,EAAU59D,EAAQkyD,EAAQlyD,GAASzF,EAAKqiC,IAE7EwpC,QAASA,GACRU,IAIL,SAAStW,IACPwV,EAAc,4BAEdtlD,EAAMm1C,wBAEFn1C,IAAUolD,GACZA,EAAajQ,wBAKjB,SAASqQ,EAAUc,GAuDjB,OAtDAhB,EAAc,oBAAqB,CACjCgB,UAAWA,IAGTA,IAEEpB,EACFtL,EAAe+K,aAEf/K,EAAe2M,WAAWvmD,GAGxBA,IAAUolD,IAEZ5U,EAAY4I,GAAQV,GAAcA,GAAYhuD,QAAQ80D,WAAa5F,EAAelvD,QAAQ80D,YAAY,GACtGhP,EAAY4I,GAAQ1uD,EAAQ80D,YAAY,IAGtC9G,KAAgB14C,GAASA,IAAU6yC,GAASgH,OAC9CnB,GAAc14C,EACLA,IAAU6yC,GAASgH,QAAUnB,KACtCA,GAAc,MAIZ0M,IAAiBplD,IACnBA,EAAMulD,sBAAwBjmE,GAGhC0gB,EAAM01C,YAAW,WACf4P,EAAc,6BACdtlD,EAAMulD,sBAAwB,QAG5BvlD,IAAUolD,IACZA,EAAa1P,aACb0P,EAAaG,sBAAwB,QAKrCjmE,IAAW85D,KAAWA,GAAOvC,UAAYv3D,IAAW0wD,IAAO1wD,EAAOu3D,YACpEgE,GAAa,MAIVnwD,EAAQs1D,gBAAmBnmE,EAAIm+D,QAAU14D,IAAWhY,WACvD8xE,GAAOx4C,WAAWm0C,GAASmK,iBAAiBrlE,EAAIyF,SAG/CgnE,GAAa3H,GAA8B9kE,KAG7C6Q,EAAQs1D,gBAAkBnmE,EAAIxK,iBAAmBwK,EAAIxK,kBAC/Cg2E,GAAiB,EAI1B,SAASK,IACPpN,GAAWv1E,EAAMq2E,IACjBZ,GAAoBz1E,EAAMq2E,GAAQ1uD,EAAQpX,WAE1C+mE,GAAe,CACbjD,SAAUp3C,EACVtzB,KAAM,SACNyrE,KAAMnI,EACNsI,SAAUA,GACVE,kBAAmBA,GACnBC,cAAe5+D,MAuJrB0rE,sBAAuB,KACvBiB,eAAgB,WACdn2C,EAAI/oC,SAAU,YAAajF,KAAKwhF,cAChCxzC,EAAI/oC,SAAU,YAAajF,KAAKwhF,cAChCxzC,EAAI/oC,SAAU,cAAejF,KAAKwhF,cAClCxzC,EAAI/oC,SAAU,WAAYq3E,IAC1BtuC,EAAI/oC,SAAU,YAAaq3E,IAC3BtuC,EAAI/oC,SAAU,YAAaq3E,KAE7B8H,aAAc,WACZ,IAAIrD,EAAgB/gF,KAAK2tE,GAAGoT,cAC5B/yC,EAAI+yC,EAAe,UAAW/gF,KAAKkhF,SACnClzC,EAAI+yC,EAAe,WAAY/gF,KAAKkhF,SACpClzC,EAAI+yC,EAAe,YAAa/gF,KAAKkhF,SACrClzC,EAAI+yC,EAAe,cAAe/gF,KAAKkhF,SACvClzC,EAAI/oC,SAAU,cAAejF,OAE/BkhF,QAAS,SAET1pE,GACE,IAAIm2D,EAAK3tE,KAAK2tE,GACVtlD,EAAUroB,KAAKqoB,QAEnB4tD,GAAWv1E,EAAMq2E,IACjBZ,GAAoBz1E,EAAMq2E,GAAQ1uD,EAAQpX,WAC1C6jE,GAAY,OAAQ90E,KAAM,CACxBwX,IAAKA,IAEPw/D,GAAWD,IAAUA,GAAOx4C,WAE5B03C,GAAWv1E,EAAMq2E,IACjBZ,GAAoBz1E,EAAMq2E,GAAQ1uD,EAAQpX,WAEtCu/D,GAASwE,gBAMb4D,IAAsB,EACtBI,IAAyB,EACzBD,IAAwB,EACxBsL,cAAcrkF,KAAKwiF,SACnB17E,aAAa9G,KAAKuhF,iBAElBlB,GAAgBrgF,KAAKuiF,SAErBlC,GAAgBrgF,KAAK2iF,cAGjB3iF,KAAKs+E,kBACPtwC,EAAI/oC,SAAU,OAAQjF,MACtBguC,EAAI2/B,EAAI,YAAa3tE,KAAKyhF,eAG5BzhF,KAAKmkF,iBAELnkF,KAAKokF,eAED/W,GACFe,EAAInpE,SAAS2tB,KAAM,cAAe,IAGpCw7C,EAAI2I,GAAQ,YAAa,IAErBv/D,IACE8/D,KACF9/D,EAAIk/D,YAAcl/D,EAAI/I,kBACrB4Z,EAAQq1D,YAAclmE,EAAIxK,mBAG7BiqE,IAAWA,GAAQ14C,YAAc04C,GAAQ14C,WAAWiX,YAAYyhC,KAE5DtB,KAAWqB,IAAYX,IAA2C,UAA5BA,GAAYQ,cAEpDhB,IAAWA,GAAQt3C,YAAcs3C,GAAQt3C,WAAWiX,YAAYqgC,IAG9DkB,KACE/2E,KAAKs+E,iBACPtwC,EAAI+oC,GAAQ,UAAW/2E,MAGzBk/E,GAAkBnI,IAElBA,GAAOt6D,MAAM,eAAiB,GAG1B66D,KAAUsB,IACZzK,EAAY4I,GAAQV,GAAcA,GAAYhuD,QAAQ80D,WAAan9E,KAAKqoB,QAAQ80D,YAAY,GAG9FhP,EAAY4I,GAAQ/2E,KAAKqoB,QAAQ+0D,aAAa,GAE9CpF,GAAe,CACbjD,SAAU/0E,KACVqK,KAAM,WACNyrE,KAAMkB,GACNf,SAAU,KACVE,kBAAmB,KACnBC,cAAe5+D,IAGbm+D,KAAWqB,IACTf,IAAY,IAEd+B,GAAe,CACbrC,OAAQqB,GACR3sE,KAAM,MACNyrE,KAAMkB,GACNjB,OAAQJ,GACRS,cAAe5+D,IAIjBwgE,GAAe,CACbjD,SAAU/0E,KACVqK,KAAM,SACNyrE,KAAMkB,GACNZ,cAAe5+D,IAIjBwgE,GAAe,CACbrC,OAAQqB,GACR3sE,KAAM,OACNyrE,KAAMkB,GACNjB,OAAQJ,GACRS,cAAe5+D,IAGjBwgE,GAAe,CACbjD,SAAU/0E,KACVqK,KAAM,OACNyrE,KAAMkB,GACNZ,cAAe5+D,KAInB6+D,IAAeA,GAAYtmB,QAEvBkmB,KAAaD,IACXC,IAAY,IAEd+B,GAAe,CACbjD,SAAU/0E,KACVqK,KAAM,SACNyrE,KAAMkB,GACNZ,cAAe5+D,IAGjBwgE,GAAe,CACbjD,SAAU/0E,KACVqK,KAAM,OACNyrE,KAAMkB,GACNZ,cAAe5+D,KAMnBg5D,GAASgH,SAEK,MAAZvB,KAAkC,IAAdA,KACtBA,GAAWD,GACXG,GAAoBD,IAGtB8B,GAAe,CACbjD,SAAU/0E,KACVqK,KAAM,MACNyrE,KAAMkB,GACNZ,cAAe5+D,IAIjBxX,KAAK+vD,WA9IT/vD,KAAK6hF,YAqJTA,SAAU,WACR/M,GAAY,UAAW90E,MACvB21E,GAASoB,GAASC,GAAWC,GAAUC,GAASrB,GAAUsB,GAAaC,GAAcc,GAASC,GAAWb,GAAQrB,GAAWE,GAAoBH,GAAWE,GAAoBsC,GAAaC,GAAgBpC,GAAc4B,GAAczH,GAASE,QAAUF,GAASC,MAAQD,GAAS1sC,MAAQ0sC,GAASgH,OAAS,KAC/S2B,GAAkBxlE,SAAQ,SAAUg6D,GAClCA,EAAGwS,SAAU,KAEfhH,GAAkB71E,OAAS80E,GAASC,GAAS,GAE/CiM,YAAa,SAEb9sE,GACE,OAAQA,EAAIzV,MACV,IAAK,OACL,IAAK,UACH/B,KAAKkhF,QAAQ1pE,GAEb,MAEF,IAAK,YACL,IAAK,WACCu/D,KACF/2E,KAAK28E,YAAYnlE,GAEjBgnE,GAAgBhnE,IAGlB,MAEF,IAAK,cACHA,EAAI/I,iBACJ,QAQN1E,QAAS,WAQP,IAPA,IACI4jE,EADA98B,EAAQ,GAERn6B,EAAW1W,KAAK2tE,GAAGj3D,SACnB7O,EAAI,EACJsrB,EAAIzc,EAASpT,OACb+kB,EAAUroB,KAAKqoB,QAEZxgB,EAAIsrB,EAAGtrB,IACZ8lE,EAAKj3D,EAAS7O,GAEVkmE,EAAQJ,EAAItlD,EAAQpX,UAAWjR,KAAK2tE,IAAI,IAC1C98B,EAAMttC,KAAKoqE,EAAG7uC,aAAazW,EAAQu1D,aAAekC,GAAYnS,IAIlE,OAAO98B,GAOT8C,KAAM,SAAc9C,GAClB,IAAI0zC,EAAQ,GACR5O,EAAS31E,KAAK2tE,GAClB3tE,KAAK+J,UAAU4J,SAAQ,SAAU7I,EAAIjD,GACnC,IAAI8lE,EAAKgI,EAAOj/D,SAAS7O,GAErBkmE,EAAQJ,EAAI3tE,KAAKqoB,QAAQpX,UAAW0kE,GAAQ,KAC9C4O,EAAMz5E,GAAM6iE,KAEb3tE,MACH6wC,EAAMl9B,SAAQ,SAAU7I,GAClBy5E,EAAMz5E,KACR6qE,EAAOngC,YAAY+uC,EAAMz5E,IACzB6qE,EAAOviD,YAAYmxD,EAAMz5E,SAQ/BilD,KAAM,WACJ,IAAI+sB,EAAQ98E,KAAKqoB,QAAQy0D,MACzBA,GAASA,EAAM38B,KAAO28B,EAAM38B,IAAIngD,OASlC+tE,QAAS,SAAmBJ,EAAI5R,GAC9B,OAAOgS,EAAQJ,EAAI5R,GAAY/7D,KAAKqoB,QAAQpX,UAAWjR,KAAK2tE,IAAI,IASlEhwD,OAAQ,SAAgBtT,EAAMpL,GAC5B,IAAIopB,EAAUroB,KAAKqoB,QAEnB,QAAc,IAAVppB,EACF,OAAOopB,EAAQhe,GAEf,IAAIorE,EAAgBb,GAAcU,aAAat1E,KAAMqK,EAAMpL,GAGzDopB,EAAQhe,GADmB,qBAAlBorE,EACOA,EAEAx2E,EAGL,UAAToL,GACFsxE,GAActzD,IAQpBm8D,QAAS,WACP1P,GAAY,UAAW90E,MACvB,IAAI2tE,EAAK3tE,KAAK2tE,GACdA,EAAG+E,GAAW,KACd1kC,EAAI2/B,EAAI,YAAa3tE,KAAKu+E,aAC1BvwC,EAAI2/B,EAAI,aAAc3tE,KAAKu+E,aAC3BvwC,EAAI2/B,EAAI,cAAe3tE,KAAKu+E,aAExBv+E,KAAKs+E,kBACPtwC,EAAI2/B,EAAI,WAAY3tE,MACpBguC,EAAI2/B,EAAI,YAAa3tE,OAIvB0E,MAAMjG,UAAUkV,QAAQxU,KAAKwuE,EAAGn8B,iBAAiB,gBAAgB,SAAUm8B,GACzEA,EAAG35B,gBAAgB,gBAGrBh0C,KAAKkhF,UAELlhF,KAAKmhF,4BAELrI,GAAU9hE,OAAO8hE,GAAU1wE,QAAQpI,KAAK2tE,IAAK,GAC7C3tE,KAAK2tE,GAAKA,EAAK,MAEjB2U,WAAY,WACV,IAAKlL,GAAa,CAEhB,GADAtC,GAAY,YAAa90E,MACrBwwE,GAASwE,cAAe,OAC5B5G,EAAIyH,GAAS,UAAW,QAEpB71E,KAAKqoB,QAAQ60D,mBAAqBrH,GAAQt3C,YAC5Cs3C,GAAQt3C,WAAWiX,YAAYqgC,IAGjCuB,IAAc,IAGlB8M,WAAY,SAAoB7N,GAC9B,GAAgC,UAA5BA,EAAYQ,aAMhB,GAAIO,GAAa,CAEf,GADAtC,GAAY,YAAa90E,MACrBwwE,GAASwE,cAAe,OAExBW,GAAO5nC,SAASgpC,MAAY/2E,KAAKqoB,QAAQ02C,MAAMqd,YACjDzG,GAAOxvC,aAAa0vC,GAASkB,IACpBG,GACTvB,GAAOxvC,aAAa0vC,GAASqB,IAE7BvB,GAAOviD,YAAYyiD,IAGjB71E,KAAKqoB,QAAQ02C,MAAMqd,aACrBp8E,KAAK+zE,QAAQgD,GAAQlB,IAGvBzH,EAAIyH,GAAS,UAAW,IACxBuB,IAAc,QAtBdp3E,KAAKsiF,eAwLPlJ,IACFltE,EAAGjH,SAAU,aAAa,SAAUuS,IAC7Bg5D,GAASgH,QAAUoB,KAAwBphE,EAAIk/D,YAClDl/D,EAAI/I,oBAMV+hE,GAASiU,MAAQ,CACfv4E,GAAIA,EACJ8hC,IAAKA,EACLogC,IAAKA,EACLhyC,KAAMA,EACNpE,GAAI,SAAY21C,EAAI5R,GAClB,QAASgS,EAAQJ,EAAI5R,EAAU4R,GAAI,IAErC/tC,OAAQA,EACR35B,SAAUA,EACV8nE,QAASA,EACTI,YAAaA,EACbrqC,MAAOA,EACPpjC,MAAOA,EACPgkF,SAAUtE,GACVuE,eAAgBtE,GAChBuE,gBAAiBjL,GACjBtJ,SAAUA,GAQZG,GAASx1C,IAAM,SAAUx3B,GACvB,OAAOA,EAAQkvE,IAQjBlC,GAASqE,MAAQ,WACf,IAAK,IAAIvjC,EAAO7qC,UAAUnD,OAAQ+uB,EAAU,IAAI3tB,MAAM4sC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAClFlf,EAAQkf,GAAQ9qC,UAAU8qC,GAGxBlf,EAAQ,GAAG1yB,cAAgB+E,QAAO2tB,EAAUA,EAAQ,IACxDA,EAAQ1e,SAAQ,SAAU+f,GACxB,IAAKA,EAAOj1B,YAAci1B,EAAOj1B,UAAUkB,YACzC,KAAM,gEAAgEwiC,OAAO,GAAGvjC,SAASO,KAAKu0B,IAG5FA,EAAO+wD,QAAOjU,GAASiU,MAAQhY,EAAc,GAAI+D,GAASiU,MAAO/wD,EAAO+wD,QAC5E7P,GAAcC,MAAMnhD,OAUxB88C,GAASr0C,OAAS,SAAUwxC,EAAItlD,GAC9B,OAAO,IAAImoD,GAAS7C,EAAItlD,IAI1BmoD,GAAS99C,QAAUA,EAEnB,IACImyD,GACAC,GAEAC,GACAC,GACAC,GACAC,GAPAC,GAAc,GAGdC,IAAY,EAMhB,SAASC,KACP,SAASC,IAQP,IAAK,IAAIp/E,KAPTlG,KAAK00E,SAAW,CACdxrC,QAAQ,EACRq8C,kBAAmB,GACnBC,YAAa,GACbC,cAAc,GAGDzlF,KACQ,MAAjBkG,EAAG0vD,OAAO,IAAkC,oBAAb51D,KAAKkG,KACtClG,KAAKkG,GAAMlG,KAAKkG,GAAIysC,KAAK3yC,OA4F/B,OAvFAslF,EAAW7mF,UAAY,CACrB44E,YAAa,SAAqBrlC,GAChC,IAAIokC,EAAgBpkC,EAAKokC,cAErBp2E,KAAK+0E,SAASuJ,gBAChBpyE,EAAGjH,SAAU,WAAYjF,KAAK0lF,mBAE1B1lF,KAAKqoB,QAAQg2D,eACfnyE,EAAGjH,SAAU,cAAejF,KAAK2lF,2BACxBvP,EAAcmG,QACvBrwE,EAAGjH,SAAU,YAAajF,KAAK2lF,2BAE/Bz5E,EAAGjH,SAAU,YAAajF,KAAK2lF,4BAIrCC,kBAAmB,SAA2B3hC,GAC5C,IAAImyB,EAAgBnyB,EAAMmyB,cAGrBp2E,KAAKqoB,QAAQw9D,gBAAmBzP,EAAcT,QACjD31E,KAAK0lF,kBAAkBtP,IAG3B0P,KAAM,WACA9lF,KAAK+0E,SAASuJ,gBAChBtwC,EAAI/oC,SAAU,WAAYjF,KAAK0lF,oBAE/B13C,EAAI/oC,SAAU,cAAejF,KAAK2lF,2BAClC33C,EAAI/oC,SAAU,YAAajF,KAAK2lF,2BAChC33C,EAAI/oC,SAAU,YAAajF,KAAK2lF,4BAGlCI,KACAC,KACA9T,KAEF+T,QAAS,WACPhB,GAAaH,GAAeD,GAAWO,GAAYF,GAA6BH,GAAkBC,GAAkB,KACpHG,GAAY7hF,OAAS,GAEvBqiF,0BAA2B,SAAmCnuE,GAC5DxX,KAAK0lF,kBAAkBluE,GAAK,IAE9BkuE,kBAAmB,SAA2BluE,EAAKmqE,GACjD,IAAIhkD,EAAQ39B,KAERwzC,GAAKh8B,EAAI+kE,QAAU/kE,EAAI+kE,QAAQ,GAAK/kE,GAAKilE,QACzCvmB,GAAK1+C,EAAI+kE,QAAU/kE,EAAI+kE,QAAQ,GAAK/kE,GAAKklE,QACzCz7C,EAAOh8B,SAAS88E,iBAAiBvuC,EAAG0iB,GAMxC,GALA+uB,GAAaztE,EAKTmqE,GAAYxU,GAAQD,GAAcG,EAAQ,CAC5C6Y,GAAW1uE,EAAKxX,KAAKqoB,QAAS4Y,EAAM0gD,GAEpC,IAAIwE,EAAiBlW,EAA2BhvC,GAAM,IAElDmkD,IAAeF,IAA8B1xC,IAAMuxC,IAAmB7uB,IAAM8uB,KAC9EE,IAA8Ba,KAE9Bb,GAA6BzC,aAAY,WACvC,IAAI2D,EAAUnW,EAA2BhrE,SAAS88E,iBAAiBvuC,EAAG0iB,IAAI,GAEtEkwB,IAAYD,IACdA,EAAiBC,EACjBJ,MAGFE,GAAW1uE,EAAKmmB,EAAMtV,QAAS+9D,EAASzE,KACvC,IACHoD,GAAkBvxC,EAClBwxC,GAAkB9uB,OAEf,CAEL,IAAKl2D,KAAKqoB,QAAQo9D,cAAgBxV,EAA2BhvC,GAAM,KAAU+tC,IAE3E,YADAgX,KAIFE,GAAW1uE,EAAKxX,KAAKqoB,QAAS4nD,EAA2BhvC,GAAM,IAAQ,MAItEurC,EAAS8Y,EAAY,CAC1BpQ,WAAY,SACZP,qBAAqB,IAIzB,SAASqR,KACPb,GAAYxxE,SAAQ,SAAUuyE,GAC5B7B,cAAc6B,EAAWG,QAE3BlB,GAAc,GAGhB,SAASY,KACP1B,cAAca,IAGhB,IAoLIoB,GApLAJ,GAAajgF,GAAS,SAAUuR,EAAK6Q,EAASstD,EAAQ4Q,GAExD,GAAKl+D,EAAQ6gB,OAAb,CACA,IAMIs9C,EANAhzC,GAAKh8B,EAAI+kE,QAAU/kE,EAAI+kE,QAAQ,GAAK/kE,GAAKilE,QACzCvmB,GAAK1+C,EAAI+kE,QAAU/kE,EAAI+kE,QAAQ,GAAK/kE,GAAKklE,QACzC+J,EAAOp+D,EAAQk9D,kBACfmB,EAAQr+D,EAAQm9D,YAChBxU,EAAchC,IACd2X,GAAqB,EAGrB7B,KAAiBnP,IACnBmP,GAAenP,EACfqQ,KACAnB,GAAWx8D,EAAQ6gB,OACnBs9C,EAAiBn+D,EAAQu+D,UAER,IAAb/B,KACFA,GAAW5U,EAA2B0F,GAAQ,KAIlD,IAAIkR,EAAY,EACZC,EAAgBjC,GAEpB,EAAG,CACD,IAAIlX,EAAKmZ,EACLnsC,EAAOw0B,EAAQxB,GACfjhC,EAAMiO,EAAKjO,IACXD,EAASkO,EAAKlO,OACdE,EAAOgO,EAAKhO,KACZC,EAAQ+N,EAAK/N,MACb9nC,EAAQ61C,EAAK71C,MACbC,EAAS41C,EAAK51C,OACdgiF,OAAa,EACbC,OAAa,EACb1V,EAAc3D,EAAG2D,YACjBE,EAAe7D,EAAG6D,aAClBoI,EAAQxL,EAAIT,GACZsZ,EAAatZ,EAAGsD,WAChBiW,EAAavZ,EAAGriC,UAEhBqiC,IAAOqD,GACT+V,EAAajiF,EAAQwsE,IAAoC,SAApBsI,EAAMlI,WAA4C,WAApBkI,EAAMlI,WAA8C,YAApBkI,EAAMlI,WACzGsV,EAAajiF,EAASysE,IAAqC,SAApBoI,EAAMjI,WAA4C,WAApBiI,EAAMjI,WAA8C,YAApBiI,EAAMjI,aAE3GoV,EAAajiF,EAAQwsE,IAAoC,SAApBsI,EAAMlI,WAA4C,WAApBkI,EAAMlI,WACzEsV,EAAajiF,EAASysE,IAAqC,SAApBoI,EAAMjI,WAA4C,WAApBiI,EAAMjI,YAG7E,IAAIwV,EAAKJ,IAAe3sD,KAAKI,IAAIoS,EAAQ4G,IAAMizC,GAAQQ,EAAaniF,EAAQwsE,IAAgBl3C,KAAKI,IAAImS,EAAO6G,IAAMizC,KAAUQ,GACxHG,EAAKJ,IAAe5sD,KAAKI,IAAIiS,EAASypB,IAAMuwB,GAAQS,EAAaniF,EAASysE,IAAiBp3C,KAAKI,IAAIkS,EAAMwpB,IAAMuwB,KAAUS,GAE9H,IAAK/B,GAAY0B,GACf,IAAK,IAAIh/E,EAAI,EAAGA,GAAKg/E,EAAWh/E,IACzBs9E,GAAYt9E,KACfs9E,GAAYt9E,GAAK,IAKnBs9E,GAAY0B,GAAWM,IAAMA,GAAMhC,GAAY0B,GAAWO,IAAMA,GAAMjC,GAAY0B,GAAWlZ,KAAOA,IACtGwX,GAAY0B,GAAWlZ,GAAKA,EAC5BwX,GAAY0B,GAAWM,GAAKA,EAC5BhC,GAAY0B,GAAWO,GAAKA,EAC5B/C,cAAcc,GAAY0B,GAAWR,KAE3B,GAANc,GAAiB,GAANC,IACbT,GAAqB,EAGrBxB,GAAY0B,GAAWR,IAAM5D,YAAY,WAEnC8D,GAA6B,IAAfvmF,KAAKqnF,OACrB7W,GAASgH,OAAOgK,aAAayD,IAI/B,IAAIqC,EAAgBnC,GAAYnlF,KAAKqnF,OAAOD,GAAKjC,GAAYnlF,KAAKqnF,OAAOD,GAAKV,EAAQ,EAClFa,EAAgBpC,GAAYnlF,KAAKqnF,OAAOF,GAAKhC,GAAYnlF,KAAKqnF,OAAOF,GAAKT,EAAQ,EAExD,oBAAnBF,GACoI,aAAzIA,EAAernF,KAAKqxE,GAASE,QAAQnyC,WAAWm0C,GAAU6U,EAAeD,EAAe9vE,EAAKytE,GAAYE,GAAYnlF,KAAKqnF,OAAO1Z,KAKvIwE,EAASgT,GAAYnlF,KAAKqnF,OAAO1Z,GAAI4Z,EAAeD,IACpD30C,KAAK,CACL00C,MAAOR,IACL,MAIRA,UACOx+D,EAAQo9D,cAAgBqB,IAAkB9V,IAAgB8V,EAAgB7W,EAA2B6W,GAAe,KAE7H1B,GAAYuB,KACX,IAECb,GAAO,SAAc9zC,GACvB,IAAIokC,EAAgBpkC,EAAKokC,cACrBC,EAAcrkC,EAAKqkC,YACnBU,EAAS/kC,EAAK+kC,OACdQ,EAAiBvlC,EAAKulC,eACtBQ,EAAwB/lC,EAAK+lC,sBAC7BN,EAAqBzlC,EAAKylC,mBAC1BE,EAAuB3lC,EAAK2lC,qBAChC,GAAKvB,EAAL,CACA,IAAIoR,EAAanR,GAAekB,EAChCE,IACA,IAAI8I,EAAQnK,EAAcqR,gBAAkBrR,EAAcqR,eAAenkF,OAAS8yE,EAAcqR,eAAe,GAAKrR,EAChHn5D,EAAShY,SAAS88E,iBAAiBxB,EAAM9D,QAAS8D,EAAM7D,SAC5D/E,IAEI6P,IAAeA,EAAW7Z,GAAG5/B,SAAS9wB,KACxC86D,EAAsB,SACtB/3E,KAAK0nF,QAAQ,CACX3Q,OAAQA,EACRV,YAAaA,OAKnB,SAASsR,MAsCT,SAASC,MAoBT,SAASC,KACP,SAASC,IACP9nF,KAAK00E,SAAW,CACdqT,UAAW,2BA6Df,OAzDAD,EAAKrpF,UAAY,CACfupF,UAAW,SAAmBh2C,GAC5B,IAAI+kC,EAAS/kC,EAAK+kC,OAClBuP,GAAavP,GAEfkR,cAAe,SAAuBhkC,GACpC,IAAIk/B,EAAYl/B,EAAMk/B,UAClBlmE,EAASgnC,EAAMhnC,OACf6hE,EAAS76B,EAAM66B,OACfvH,EAAiBtzB,EAAMszB,eACvB8L,EAAUp/B,EAAMo/B,QAChBrzB,EAAS/L,EAAM+L,OACnB,GAAKunB,EAAelvD,QAAQ6/D,KAA5B,CACA,IAAIva,EAAK3tE,KAAK+0E,SAASpH,GACnBtlD,EAAUroB,KAAKqoB,QAEnB,GAAIpL,GAAUA,IAAW0wD,EAAI,CAC3B,IAAIwa,EAAa7B,IAEM,IAAnBxH,EAAO7hE,IACTkxD,EAAYlxD,EAAQoL,EAAQ0/D,WAAW,GACvCzB,GAAarpE,GAEbqpE,GAAa,KAGX6B,GAAcA,IAAe7B,IAC/BnY,EAAYga,EAAY9/D,EAAQ0/D,WAAW,GAI/C1E,IACAF,GAAU,GACVnzB,MAEF81B,KAAM,SAAcnhC,GAClB,IAAI4yB,EAAiB5yB,EAAM4yB,eACvBlB,EAAc1xB,EAAM0xB,YACpBU,EAASpyB,EAAMoyB,OACfyQ,EAAanR,GAAer2E,KAAK+0E,SACjC1sD,EAAUroB,KAAKqoB,QACnBi+D,IAAcnY,EAAYmY,GAAYj+D,EAAQ0/D,WAAW,GAErDzB,KAAej+D,EAAQ6/D,MAAQ7R,GAAeA,EAAYhuD,QAAQ6/D,OAChEnR,IAAWuP,KACbkB,EAAW1U,wBACP0U,IAAejQ,GAAgBA,EAAezE,wBAClDsV,GAAUrR,EAAQuP,IAClBkB,EAAWnU,aACPmU,IAAejQ,GAAgBA,EAAelE,eAIxD4S,QAAS,WACPK,GAAa,OAGV9Z,EAASsb,EAAM,CACpB5S,WAAY,OACZM,gBAAiB,WACf,MAAO,CACL6S,SAAU/B,OAMlB,SAAS8B,GAAUE,EAAIC,GACrB,IAEIC,EACAC,EAHAC,EAAKJ,EAAG/pD,WACRoqD,EAAKJ,EAAGhqD,WAGPmqD,GAAOC,IAAMD,EAAGE,YAAYL,KAAOI,EAAGC,YAAYN,KACvDE,EAAK9nF,EAAM4nF,GACXG,EAAK/nF,EAAM6nF,GAEPG,EAAGE,YAAYD,IAAOH,EAAKC,GAC7BA,IAGFC,EAAGviD,aAAaoiD,EAAIG,EAAGhyE,SAAS8xE,IAChCG,EAAGxiD,aAAamiD,EAAIK,EAAGjyE,SAAS+xE,KAhJlCd,GAAOlpF,UAAY,CACjBoqF,WAAY,KACZb,UAAW,SAAmB/jC,GAC5B,IAAIiyB,EAAoBjyB,EAAMiyB,kBAC9Bl2E,KAAK6oF,WAAa3S,GAEpBwR,QAAS,SAAiB/iC,GACxB,IAAIoyB,EAASpyB,EAAMoyB,OACfV,EAAc1xB,EAAM0xB,YACxBr2E,KAAK+0E,SAASjC,wBAEVuD,GACFA,EAAYvD,wBAGd,IAAIj1B,EAAcwyB,EAASrwE,KAAK+0E,SAASpH,GAAI3tE,KAAK6oF,WAAY7oF,KAAKqoB,SAE/Dw1B,EACF79C,KAAK+0E,SAASpH,GAAGxnC,aAAa4wC,EAAQl5B,GAEtC79C,KAAK+0E,SAASpH,GAAGv6C,YAAY2jD,GAG/B/2E,KAAK+0E,SAAS1B,aAEVgD,GACFA,EAAYhD,cAGhByS,KAAMA,IAGRtZ,EAASmb,GAAQ,CACfzS,WAAY,kBAKd0S,GAAOnpF,UAAY,CACjBipF,QAAS,SAAiBoB,GACxB,IAAI/R,EAAS+R,EAAM/R,OACfV,EAAcyS,EAAMzS,YACpB0S,EAAiB1S,GAAer2E,KAAK+0E,SACzCgU,EAAejW,wBACfiE,EAAOx4C,YAAcw4C,EAAOx4C,WAAWiX,YAAYuhC,GACnDgS,EAAe1V,cAEjByS,KAAMA,IAGRtZ,EAASob,GAAQ,CACf1S,WAAY,kBAgGd,IAEI8T,GAEJC,GAMIC,GACAC,GACAC,GAZAC,GAAoB,GACpBC,GAAkB,GAIlBC,IAAiB,EAErBC,IAAU,EAEVnS,IAAc,EAKd,SAASoS,KACP,SAASC,EAAU3U,GAEjB,IAAK,IAAI7uE,KAAMlG,KACQ,MAAjBkG,EAAG0vD,OAAO,IAAkC,oBAAb51D,KAAKkG,KACtClG,KAAKkG,GAAMlG,KAAKkG,GAAIysC,KAAK3yC,OAIzB+0E,EAAS1sD,QAAQg2D,eACnBnyE,EAAGjH,SAAU,YAAajF,KAAK2pF,qBAE/Bz9E,EAAGjH,SAAU,UAAWjF,KAAK2pF,oBAC7Bz9E,EAAGjH,SAAU,WAAYjF,KAAK2pF,qBAGhCz9E,EAAGjH,SAAU,UAAWjF,KAAK4pF,eAC7B19E,EAAGjH,SAAU,QAASjF,KAAK6pF,aAC3B7pF,KAAK00E,SAAW,CACdoV,cAAe,oBACfC,aAAc,KACdvM,QAAS,SAAiBC,EAAc1G,GACtC,IAAI70E,EAAO,GAEPmnF,GAAkB/lF,QAAU2lF,KAAsBlU,EACpDsU,GAAkB11E,SAAQ,SAAUq2E,EAAkBniF,GACpD3F,IAAU2F,EAAS,KAAL,IAAamiF,EAAiB11C,eAG9CpyC,EAAO60E,EAAOziC,YAGhBmpC,EAAaD,QAAQ,OAAQt7E,KAkcnC,OA7bAwnF,EAAUjrF,UAAY,CACpBwrF,kBAAkB,EAClBC,aAAa,EACbC,iBAAkB,SAA0Bn4C,GAC1C,IAAI0+B,EAAU1+B,EAAK+kC,OACnBmS,GAAWxY,GAEb0Z,WAAY,WACVpqF,KAAKkqF,aAAeb,GAAkBjhF,QAAQ8gF,KAEhDmB,WAAY,SAAoBpmC,GAC9B,IAAI8wB,EAAW9wB,EAAM8wB,SACjB/kB,EAAS/L,EAAM+L,OACnB,GAAKhwD,KAAKkqF,YAAV,CAEA,IAAK,IAAIriF,EAAI,EAAGA,EAAIwhF,GAAkB/lF,OAAQuE,IAC5CyhF,GAAgB/lF,KAAKugC,EAAMulD,GAAkBxhF,KAC7CyhF,GAAgBzhF,GAAGyiF,cAAgBjB,GAAkBxhF,GAAGyiF,cACxDhB,GAAgBzhF,GAAGoJ,WAAY,EAC/Bq4E,GAAgBzhF,GAAG4U,MAAM,eAAiB,GAC1C0xD,EAAYmb,GAAgBzhF,GAAI7H,KAAKqoB,QAAQyhE,eAAe,GAC5DT,GAAkBxhF,KAAOqhF,IAAY/a,EAAYmb,GAAgBzhF,GAAI7H,KAAKqoB,QAAQ+0D,aAAa,GAGjGrI,EAASuN,aAETtyB,MAEFlsB,MAAO,SAAe6gB,GACpB,IAAIowB,EAAWpwB,EAAMowB,SACjBY,EAAShxB,EAAMgxB,OACfoC,EAAwBpzB,EAAMozB,sBAC9B/nB,EAASrL,EAAMqL,OACdhwD,KAAKkqF,cAELlqF,KAAKqoB,QAAQ60D,mBACZmM,GAAkB/lF,QAAU2lF,KAAsBlU,IACpDwV,IAAsB,EAAM5U,GAC5BoC,EAAsB,SACtB/nB,OAINw6B,UAAW,SAAmB1B,GAC5B,IAAIhR,EAAgBgR,EAAMhR,cACtBnC,EAASmT,EAAMnT,OACf3lB,EAAS84B,EAAM94B,OACdhwD,KAAKkqF,cACVK,IAAsB,EAAO5U,GAC7B2T,GAAgB31E,SAAQ,SAAUmwB,GAChCsqC,EAAItqC,EAAO,UAAW,OAExBg0C,IACAsR,IAAe,EACfp5B,MAEFy6B,UAAW,SAAmBC,GAC5B,IAAI/sD,EAAQ39B,KAGR63E,GADW6S,EAAM3V,SACA2V,EAAM7S,gBACvB7nB,EAAS06B,EAAM16B,OACdhwD,KAAKkqF,cACVZ,GAAgB31E,SAAQ,SAAUmwB,GAChCsqC,EAAItqC,EAAO,UAAW,QAElBnG,EAAMtV,QAAQ60D,mBAAqBp5C,EAAMvF,YAC3CuF,EAAMvF,WAAWiX,YAAY1R,MAGjC+zC,IACAuR,IAAe,EACfp5B,MAEF26B,gBAAiB,SAAyBC,GACzBA,EAAM7V,UAEhB/0E,KAAKkqF,aAAejB,IACvBA,GAAkB4B,UAAUlB,qBAG9BN,GAAkB11E,SAAQ,SAAUq2E,GAClCA,EAAiBM,cAAgB5pF,EAAMspF,MAGzCX,GAAoBA,GAAkB11C,MAAK,SAAU/hB,EAAGC,GACtD,OAAOD,EAAE04D,cAAgBz4D,EAAEy4D,iBAE7BjT,IAAc,GAEhBA,YAAa,SAAqByT,GAChC,IAAIvkD,EAASvmC,KAET+0E,EAAW+V,EAAM/V,SACrB,GAAK/0E,KAAKkqF,YAAV,CAEA,GAAIlqF,KAAKqoB,QAAQsrB,OAOfohC,EAASjC,wBAEL9yE,KAAKqoB,QAAQ0qD,WAAW,CAC1BsW,GAAkB11E,SAAQ,SAAUq2E,GAC9BA,IAAqBd,IACzB9a,EAAI4b,EAAkB,WAAY,eAEpC,IAAInP,EAAW1L,EAAQ+Z,IAAU,GAAO,GAAM,GAC9CG,GAAkB11E,SAAQ,SAAUq2E,GAC9BA,IAAqBd,IACzB1W,EAAQwX,EAAkBnP,MAE5B2O,IAAU,EACVD,IAAiB,EAIrBxU,EAAS1B,YAAW,WAClBmW,IAAU,EACVD,IAAiB,EAEbhjD,EAAOle,QAAQ0qD,WACjBsW,GAAkB11E,SAAQ,SAAUq2E,GAClCvX,EAAUuX,MAKVzjD,EAAOle,QAAQsrB,MACjBo3C,UAINC,SAAU,SAAkBC,GAC1B,IAAIhuE,EAASguE,EAAMhuE,OACfkmE,EAAY8H,EAAM9H,UAClBnzB,EAASi7B,EAAMj7B,OAEfw5B,KAAYH,GAAkBjhF,QAAQ6U,KACxCkmE,GAAU,GACVnzB,MAGJ4yB,OAAQ,SAAgBsI,GACtB,IAAInI,EAAemI,EAAMnI,aACrBpN,EAASuV,EAAMvV,OACfZ,EAAWmW,EAAMnW,SACjB8F,EAAWqQ,EAAMrQ,SAEjBwO,GAAkB/lF,OAAS,IAE7B+lF,GAAkB11E,SAAQ,SAAUq2E,GAClCjV,EAAS5B,kBAAkB,CACzBl2D,OAAQ+sE,EACRrvC,KAAM6uC,GAAUra,EAAQ6a,GAAoBnP,IAE9CpI,EAAUuX,GACVA,EAAiBhX,SAAW6H,EAC5BkI,EAAa3P,qBAAqB4W,MAEpCR,IAAU,EACV2B,IAAyBnrF,KAAKqoB,QAAQ60D,kBAAmBvH,KAG7DiQ,kBAAmB,SAA2BwF,GAC5C,IAAIrW,EAAWqW,EAAOrW,SAClB8N,EAAUuI,EAAOvI,QACjBoB,EAAYmH,EAAOnH,UACnB1M,EAAiB6T,EAAO7T,eACxBP,EAAWoU,EAAOpU,SAClBX,EAAc+U,EAAO/U,YACrBhuD,EAAUroB,KAAKqoB,QAEnB,GAAI47D,EAAW,CAQb,GANIpB,GACFtL,EAAe+K,aAGjBiH,IAAiB,EAEblhE,EAAQ0qD,WAAasW,GAAkB/lF,OAAS,IAAMkmF,KAAY3G,IAAYtL,EAAelvD,QAAQsrB,OAAS0iC,GAAc,CAE9H,IAAIgV,EAAmBlc,EAAQ+Z,IAAU,GAAO,GAAM,GACtDG,GAAkB11E,SAAQ,SAAUq2E,GAC9BA,IAAqBd,KACzB1W,EAAQwX,EAAkBqB,GAG1BrU,EAAS5jD,YAAY42D,OAEvBR,IAAU,EAIZ,IAAK3G,EAMH,GAJK2G,IACHuB,KAGE1B,GAAkB/lF,OAAS,EAAG,CAChC,IAAIgoF,EAAqBlC,GAEzB7R,EAAe2M,WAAWnP,GAGtBwC,EAAelvD,QAAQ0qD,YAAcqW,IAAgBkC,GACvDhC,GAAgB31E,SAAQ,SAAUmwB,GAChCyzC,EAAepE,kBAAkB,CAC/Bl2D,OAAQ6mB,EACR6W,KAAMwuC,KAERrlD,EAAMkvC,SAAWmW,GACjBrlD,EAAMmvC,sBAAwB,aAIlCsE,EAAe2M,WAAWnP,KAKlCwW,yBAA0B,SAAkCC,GAC1D,IAAI3Q,EAAW2Q,EAAO3Q,SAClBgI,EAAU2I,EAAO3I,QACjBtL,EAAiBiU,EAAOjU,eAK5B,GAJA8R,GAAkB11E,SAAQ,SAAUq2E,GAClCA,EAAiB/W,sBAAwB,QAGvCsE,EAAelvD,QAAQ0qD,YAAc8P,GAAWtL,EAAesT,UAAUX,YAAa,CACxFf,GAAiB3c,EAAS,GAAIqO,GAC9B,IAAI4Q,EAAald,EAAO2a,IAAU,GAClCC,GAAez8C,KAAO++C,EAAWr5D,EACjC+2D,GAAex8C,MAAQ8+C,EAAWnsF,IAGtCosF,0BAA2B,WACrBlC,KACFA,IAAU,EACVuB,OAGJjF,KAAM,SAAc6F,GAClB,IAAIn0E,EAAMm0E,EAAOvV,cACbT,EAASgW,EAAOhW,OAChBqB,EAAW2U,EAAO3U,SAClBjC,EAAW4W,EAAO5W,SAClBgD,EAAwB4T,EAAO5T,sBAC/B/B,EAAW2V,EAAO3V,SAClBK,EAAcsV,EAAOtV,YACrBmR,EAAanR,GAAer2E,KAAK+0E,SACrC,GAAKv9D,EAAL,CACA,IAAI6Q,EAAUroB,KAAKqoB,QACf3R,EAAWsgE,EAAStgE,SAExB,IAAK2gE,GAOH,GANIhvD,EAAQ0hE,eAAiB/pF,KAAKiqF,kBAChCjqF,KAAK2pF,qBAGPxb,EAAY+a,GAAU7gE,EAAQyhE,gBAAiBT,GAAkBjhF,QAAQ8gF,MAEnEG,GAAkBjhF,QAAQ8gF,IA8C9BG,GAAkBryE,OAAOqyE,GAAkBjhF,QAAQ8gF,IAAW,GAC9DF,GAAsB,KACtBp/B,GAAc,CACZmrB,SAAUA,EACVY,OAAQA,EACRtrE,KAAM,WACNurE,SAAUsT,GACV0C,YAAap0E,QArD0B,CAUzC,GATA6xE,GAAkB9lF,KAAK2lF,IACvBt/B,GAAc,CACZmrB,SAAUA,EACVY,OAAQA,EACRtrE,KAAM,SACNurE,SAAUsT,GACV0C,YAAap0E,IAGXA,EAAIirC,UAAYumC,IAAuBjU,EAASpH,GAAG5/B,SAASi7C,IAAsB,CACpF,IAMM71D,EAAGtrB,EANLi4C,EAAYp/C,EAAMsoF,IAClB6C,EAAenrF,EAAMwoF,IAEzB,IAAKppC,IAAc+rC,GAAgB/rC,IAAc+rC,EAa/C,IARIA,EAAe/rC,GACjBj4C,EAAIi4C,EACJ3sB,EAAI04D,IAEJhkF,EAAIgkF,EACJ14D,EAAI2sB,EAAY,GAGXj4C,EAAIsrB,EAAGtrB,KACPwhF,GAAkBjhF,QAAQsO,EAAS7O,MACxCsmE,EAAYz3D,EAAS7O,GAAIwgB,EAAQyhE,eAAe,GAChDT,GAAkB9lF,KAAKmT,EAAS7O,IAChC+hD,GAAc,CACZmrB,SAAUA,EACVY,OAAQA,EACRtrE,KAAM,SACNurE,SAAUl/D,EAAS7O,GACnB+jF,YAAap0E,UAKnBwxE,GAAsBE,GAGxBD,GAAoBzB,EAexB,GAAInQ,IAAer3E,KAAKkqF,YAAa,CAEnC,IAAKlT,EAAStE,GAASrqD,QAAQsrB,MAAQqjC,IAAarB,IAAW0T,GAAkB/lF,OAAS,EAAG,CAC3F,IAAIu3E,EAAW1L,EAAQ+Z,IACnB4C,EAAiBprF,EAAMwoF,GAAU,SAAWlpF,KAAKqoB,QAAQyhE,cAAgB,KAI7E,IAHKP,IAAkBlhE,EAAQ0qD,YAAWmW,GAASjW,sBAAwB,MAC3EuU,EAAW1U,yBAENyW,KACClhE,EAAQ0qD,YACVmW,GAASlW,SAAW6H,EACpBwO,GAAkB11E,SAAQ,SAAUq2E,GAGlC,GAFAA,EAAiB/W,sBAAwB,KAErC+W,IAAqBd,GAAU,CACjC,IAAIvuC,EAAO6uC,GAAUra,EAAQ6a,GAAoBnP,EACjDmP,EAAiBhX,SAAWr4B,EAE5B6sC,EAAWrU,kBAAkB,CAC3Bl2D,OAAQ+sE,EACRrvC,KAAMA,SAQdowC,KACA1B,GAAkB11E,SAAQ,SAAUq2E,GAC9BtzE,EAASo1E,GACX9U,EAAS7wC,aAAa6jD,EAAkBtzE,EAASo1E,IAEjD9U,EAAS5jD,YAAY42D,GAGvB8B,OAKE9V,IAAat1E,EAAMwoF,KAAW,CAChC,IAAI/+C,GAAS,EACbk/C,GAAkB11E,SAAQ,SAAUq2E,GAC9BA,EAAiBM,gBAAkB5pF,EAAMspF,KAC3C7/C,GAAS,MAKTA,GACF4tC,EAAsB,UAM5BsR,GAAkB11E,SAAQ,SAAUq2E,GAClCvX,EAAUuX,MAEZxC,EAAWnU,aAGb4V,GAAoBzB,GAIlB7R,IAAWqB,GAAYX,GAA2C,UAA5BA,EAAYQ,cACpDyS,GAAgB31E,SAAQ,SAAUmwB,GAChCA,EAAMvF,YAAcuF,EAAMvF,WAAWiX,YAAY1R,QAIvDioD,cAAe,WACb/rF,KAAKkqF,YAAc7S,IAAc,EACjCiS,GAAgBhmF,OAAS,GAE3B0oF,cAAe,WACbhsF,KAAK2pF,qBAEL37C,EAAI/oC,SAAU,YAAajF,KAAK2pF,oBAChC37C,EAAI/oC,SAAU,UAAWjF,KAAK2pF,oBAC9B37C,EAAI/oC,SAAU,WAAYjF,KAAK2pF,oBAC/B37C,EAAI/oC,SAAU,UAAWjF,KAAK4pF,eAC9B57C,EAAI/oC,SAAU,QAASjF,KAAK6pF,cAE9BF,mBAAoB,SAA4BnyE,GAC9C,IAA2B,qBAAhB6/D,KAA+BA,KAEtC4R,KAAsBjpF,KAAK+0E,YAE3Bv9D,IAAOu2D,EAAQv2D,EAAIyF,OAAQjd,KAAKqoB,QAAQpX,UAAWjR,KAAK+0E,SAASpH,IAAI,OAErEn2D,GAAsB,IAAfA,EAAI43C,QAEf,MAAOi6B,GAAkB/lF,OAAQ,CAC/B,IAAIqqE,EAAK0b,GAAkB,GAC3Blb,EAAYR,EAAI3tE,KAAKqoB,QAAQyhE,eAAe,GAC5CT,GAAkBziD,QAClBgjB,GAAc,CACZmrB,SAAU/0E,KAAK+0E,SACfY,OAAQ31E,KAAK+0E,SAASpH,GACtBtjE,KAAM,WACNurE,SAAUjI,EACVie,YAAap0E,MAInBoyE,cAAe,SAAuBpyE,GAChCA,EAAI7W,MAAQX,KAAKqoB,QAAQ0hE,eAC3B/pF,KAAKiqF,kBAAmB,IAG5BJ,YAAa,SAAqBryE,GAC5BA,EAAI7W,MAAQX,KAAKqoB,QAAQ0hE,eAC3B/pF,KAAKiqF,kBAAmB,KAIvBzd,EAASkd,EAAW,CAEzBxU,WAAY,YACZuP,MAAO,CAKLphF,OAAQ,SAAgBsqE,GACtB,IAAIoH,EAAWpH,EAAGpvC,WAAWm0C,GACxBqC,GAAaA,EAAS1sD,QAAQwiE,aAAcxB,GAAkBjhF,QAAQulE,KAEvEsb,IAAqBA,KAAsBlU,IAC7CkU,GAAkB4B,UAAUlB,qBAE5BV,GAAoBlU,GAGtB5G,EAAYR,EAAIoH,EAAS1sD,QAAQyhE,eAAe,GAChDT,GAAkB9lF,KAAKoqE,KAOzBse,SAAU,SAAkBte,GAC1B,IAAIoH,EAAWpH,EAAGpvC,WAAWm0C,GACzBhyE,EAAQ2oF,GAAkBjhF,QAAQulE,GACjCoH,GAAaA,EAAS1sD,QAAQwiE,YAAenqF,IAClDytE,EAAYR,EAAIoH,EAAS1sD,QAAQyhE,eAAe,GAChDT,GAAkBryE,OAAOtW,EAAO,MAGpC80E,gBAAiB,WACf,IAAIxqC,EAAShrC,KAETksF,EAAc,GACdC,EAAc,GAsBlB,OArBA9C,GAAkB11E,SAAQ,SAAUq2E,GAMlC,IAAI/T,EALJiW,EAAY3oF,KAAK,CACfymF,iBAAkBA,EAClBtpF,MAAOspF,EAAiBM,gBAMxBrU,EADEuT,IAAWQ,IAAqBd,IACtB,EACHM,GACE9oF,EAAMspF,EAAkB,SAAWh/C,EAAO3iB,QAAQyhE,cAAgB,KAElEppF,EAAMspF,GAGnBmC,EAAY5oF,KAAK,CACfymF,iBAAkBA,EAClBtpF,MAAOu1E,OAGJ,CACLsO,MAAO7oE,EAAmB2tE,IAC1B+C,OAAQ,GAAGjqD,OAAOmnD,IAClB4C,YAAaA,EACbC,YAAaA,IAGjBzW,gBAAiB,CACfqU,aAAc,SAAsBppF,GASlC,OARAA,EAAMA,EAAIq9C,cAEE,SAARr9C,EACFA,EAAM,UACGA,EAAI2C,OAAS,IACtB3C,EAAMA,EAAIi1D,OAAO,GAAGp2B,cAAgB7+B,EAAIg+C,OAAO,IAG1Ch+C,MAMf,SAASwqF,GAAwBkB,EAAgB1W,GAC/C0T,GAAkB11E,SAAQ,SAAUq2E,EAAkBniF,GACpD,IAAIoV,EAAS04D,EAAOj/D,SAASszE,EAAiBM,eAAiB+B,EAAiBn/C,OAAOrlC,GAAK,IAExFoV,EACF04D,EAAOxvC,aAAa6jD,EAAkB/sE,GAEtC04D,EAAOviD,YAAY42D,MAWzB,SAASO,GAAsB+B,EAAkB3W,GAC/C2T,GAAgB31E,SAAQ,SAAUmwB,EAAOj8B,GACvC,IAAIoV,EAAS04D,EAAOj/D,SAASotB,EAAMwmD,eAAiBgC,EAAmBp/C,OAAOrlC,GAAK,IAE/EoV,EACF04D,EAAOxvC,aAAarC,EAAO7mB,GAE3B04D,EAAOviD,YAAY0Q,MAKzB,SAASinD,KACP1B,GAAkB11E,SAAQ,SAAUq2E,GAC9BA,IAAqBd,IACzBc,EAAiBzrD,YAAcyrD,EAAiBzrD,WAAWiX,YAAYw0C,MAI3ExZ,GAASqE,MAAM,IAAIwQ,IACnB7U,GAASqE,MAAM+S,GAAQD,IAER,iB,mBCjnHfvpF,EAAOC,QAAU,05E,yCCAjB,IAAIyB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,YAAY,CAA2B,GAAzBN,EAAI2R,WAAWpO,OAAanD,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,SAASN,MAAM,CAAC,KAAO,cAAc,IAAM,iEAAiE,IAAM,SAASwM,KAAK,gBAAgB3M,EAAG,MAAM,CAACA,EAAG,cAAc,CAACG,MAAM,CAAC,OAAS,QAAQ,MAAQ,UAAUP,EAAIQ,GAAIR,EAAc,YAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,mBAAmB,CAACQ,IAAID,GAAO,CAACP,EAAG,WAAW,CAACS,YAAY,CAAC,MAAQ,OAAO,OAAS,QAAQN,MAAM,CAAC,IAAMG,EAAKioB,IAAI,IAAM,YAAY,MAAK,IAAI,IAAI,IAC9mB9mB,EAAkB,GCatB,GACA,gBACEE,MAAF,CACI4P,WAAJ,CACM3P,KAAN,MACMC,QAAN,WACQ,MAAO,MAKbC,WAAY,GAEZC,KAbF,WAcI,MAAO,IAKTC,SAAU,GAGVC,QAAS,GAET0B,MAAO,GAEPE,QA1BF,aA6BEE,QA7BF,cCd+X,I,wBCQ3XK,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,8BCnBf,IAAI0C,EAAW,EAAQ,QACnBX,EAAM,EAAQ,QACdud,EAAW,EAAQ,QAGnB0oE,EAAkB,sBAGlBC,EAAYpyD,KAAKgW,IACjBq8C,EAAYryD,KAAK2H,IAwDrB,SAASp7B,EAASS,EAAMjB,EAAMkiB,GAC5B,IAAIqkE,EACAC,EACAC,EACArtF,EACAstF,EACAC,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAAR9lF,EACT,MAAM,IAAIvH,UAAU0sF,GAUtB,SAASY,EAAW3Z,GAClB,IAAIhtE,EAAOkmF,EACP/5B,EAAUg6B,EAKd,OAHAD,EAAWC,OAAW5tF,EACtBguF,EAAiBvZ,EACjBj0E,EAAS6H,EAAKV,MAAMisD,EAASnsD,GACtBjH,EAGT,SAAS6tF,EAAY5Z,GAMnB,OAJAuZ,EAAiBvZ,EAEjBqZ,EAAU9lF,WAAWsmF,EAAclnF,GAE5B6mF,EAAUG,EAAW3Z,GAAQj0E,EAGtC,SAAS+tF,EAAc9Z,GACrB,IAAI+Z,EAAoB/Z,EAAOsZ,EAC3BU,EAAsBha,EAAOuZ,EAC7BU,EAActnF,EAAOonF,EAEzB,OAAON,EACHR,EAAUgB,EAAab,EAAUY,GACjCC,EAGN,SAASC,EAAala,GACpB,IAAI+Z,EAAoB/Z,EAAOsZ,EAC3BU,EAAsBha,EAAOuZ,EAKjC,YAAyBhuF,IAAjB+tF,GAA+BS,GAAqBpnF,GACzDonF,EAAoB,GAAON,GAAUO,GAAuBZ,EAGjE,SAASS,IACP,IAAI7Z,EAAOltE,IACX,GAAIonF,EAAala,GACf,OAAOma,EAAana,GAGtBqZ,EAAU9lF,WAAWsmF,EAAcC,EAAc9Z,IAGnD,SAASma,EAAana,GAKpB,OAJAqZ,OAAU9tF,EAINmuF,GAAYR,EACPS,EAAW3Z,IAEpBkZ,EAAWC,OAAW5tF,EACfQ,GAGT,SAASywD,SACSjxD,IAAZ8tF,GACF/lF,aAAa+lF,GAEfE,EAAiB,EACjBL,EAAWI,EAAeH,EAAWE,OAAU9tF,EAGjD,SAAS6uF,IACP,YAAmB7uF,IAAZ8tF,EAAwBttF,EAASouF,EAAarnF,KAGvD,SAASunF,IACP,IAAIra,EAAOltE,IACPwnF,EAAaJ,EAAala,GAM9B,GAJAkZ,EAAWjmF,UACXkmF,EAAW3sF,KACX8sF,EAAetZ,EAEXsa,EAAY,CACd,QAAgB/uF,IAAZ8tF,EACF,OAAOO,EAAYN,GAErB,GAAIG,EAIF,OAFAnmF,aAAa+lF,GACbA,EAAU9lF,WAAWsmF,EAAclnF,GAC5BgnF,EAAWL,GAMtB,YAHgB/tF,IAAZ8tF,IACFA,EAAU9lF,WAAWsmF,EAAclnF,IAE9B5G,EAIT,OA3GA4G,EAAO0d,EAAS1d,IAAS,EACrBc,EAASohB,KACX2kE,IAAY3kE,EAAQ2kE,QACpBC,EAAS,YAAa5kE,EACtBukE,EAAUK,EAAST,EAAU3oE,EAASwE,EAAQukE,UAAY,EAAGzmF,GAAQymF,EACrEM,EAAW,aAAc7kE,IAAYA,EAAQ6kE,SAAWA,GAoG1DW,EAAU79B,OAASA,EACnB69B,EAAUD,MAAQA,EACXC,EAGTzvF,EAAOC,QAAUsI,G,mBC9LjBvI,EAAOC,QAAU,s2B,4CCAjB,IAAI4I,EAAW,EAAQ,QACnB8mF,EAAW,EAAQ,QAGnBC,EAAM,IAGNC,EAAS,aAGTC,EAAa,qBAGbC,EAAa,aAGbC,EAAY,cAGZC,EAAevmC,SAyBnB,SAASjkC,EAAS5kB,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI8uF,EAAS9uF,GACX,OAAO+uF,EAET,GAAI/mF,EAAShI,GAAQ,CACnB,IAAIqiC,EAAgC,mBAAjBriC,EAAMqvF,QAAwBrvF,EAAMqvF,UAAYrvF,EACnEA,EAAQgI,EAASq6B,GAAUA,EAAQ,GAAMA,EAE3C,GAAoB,iBAATriC,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQA,EAAM80C,QAAQk6C,EAAQ,IAC9B,IAAIM,EAAWJ,EAAWlsC,KAAKhjD,GAC/B,OAAQsvF,GAAYH,EAAUnsC,KAAKhjD,GAC/BovF,EAAapvF,EAAM0E,MAAM,GAAI4qF,EAAW,EAAI,GAC3CL,EAAWjsC,KAAKhjD,GAAS+uF,GAAO/uF,EAGvCb,EAAOC,QAAUwlB,G,mCCjEjB;;;;;;;AAUA,IAAI7d,EAAS,EAAQ,QACjBwoF,EAAU,EAAQ,QAClBnlF,EAAU,EAAQ,QAuCtB,SAASolF,IACP,IACE,IAAIvrF,EAAM,IAAIyE,WAAW,GAEzB,OADAzE,EAAIq6B,UAAY,CAACA,UAAW51B,WAAWlJ,UAAWiwF,IAAK,WAAc,OAAO,KACvD,KAAdxrF,EAAIwrF,OACiB,oBAAjBxrF,EAAIyrF,UACuB,IAAlCzrF,EAAIyrF,SAAS,EAAG,GAAGtnF,WACvB,MAAO/H,GACP,OAAO,GAIX,SAASsvF,IACP,OAAOpvC,EAAOqvC,oBACV,WACA,WAGN,SAASC,EAAcxsF,EAAMgB,GAC3B,GAAIsrF,IAAetrF,EACjB,MAAM,IAAIyrF,WAAW,8BAcvB,OAZIvvC,EAAOqvC,qBAETvsF,EAAO,IAAIqF,WAAWrE,GACtBhB,EAAKi7B,UAAYiiB,EAAO/gD,YAGX,OAAT6D,IACFA,EAAO,IAAIk9C,EAAOl8C,IAEpBhB,EAAKgB,OAASA,GAGThB,EAaT,SAASk9C,EAAQ6oB,EAAK2mB,EAAkB1rF,GACtC,IAAKk8C,EAAOqvC,uBAAyB7uF,gBAAgBw/C,GACnD,OAAO,IAAIA,EAAO6oB,EAAK2mB,EAAkB1rF,GAI3C,GAAmB,kBAAR+kE,EAAkB,CAC3B,GAAgC,kBAArB2mB,EACT,MAAM,IAAI9mF,MACR,qEAGJ,OAAO83C,EAAYhgD,KAAMqoE,GAE3B,OAAOllE,EAAKnD,KAAMqoE,EAAK2mB,EAAkB1rF,GAW3C,SAASH,EAAMb,EAAMrD,EAAO+vF,EAAkB1rF,GAC5C,GAAqB,kBAAVrE,EACT,MAAM,IAAIY,UAAU,yCAGtB,MAA2B,qBAAhBovF,aAA+BhwF,aAAiBgwF,YAClDC,EAAgB5sF,EAAMrD,EAAO+vF,EAAkB1rF,GAGnC,kBAAVrE,EACFkwF,EAAW7sF,EAAMrD,EAAO+vF,GAG1BI,EAAW9sF,EAAMrD,GA4B1B,SAASowF,EAAYjwE,GACnB,GAAoB,kBAATA,EACT,MAAM,IAAIvf,UAAU,oCACf,GAAIuf,EAAO,EAChB,MAAM,IAAI2vE,WAAW,wCAIzB,SAASO,EAAOhtF,EAAM8c,EAAMsgD,EAAM6vB,GAEhC,OADAF,EAAWjwE,GACPA,GAAQ,EACH0vE,EAAaxsF,EAAM8c,QAEfrgB,IAAT2gE,EAIyB,kBAAb6vB,EACVT,EAAaxsF,EAAM8c,GAAMsgD,KAAKA,EAAM6vB,GACpCT,EAAaxsF,EAAM8c,GAAMsgD,KAAKA,GAE7BovB,EAAaxsF,EAAM8c,GAW5B,SAAS4gC,EAAa19C,EAAM8c,GAG1B,GAFAiwE,EAAWjwE,GACX9c,EAAOwsF,EAAaxsF,EAAM8c,EAAO,EAAI,EAAoB,EAAhB+gE,EAAQ/gE,KAC5CogC,EAAOqvC,oBACV,IAAK,IAAIhnF,EAAI,EAAGA,EAAIuX,IAAQvX,EAC1BvF,EAAKuF,GAAK,EAGd,OAAOvF,EAgBT,SAAS6sF,EAAY7sF,EAAMktF,EAAQD,GAKjC,GAJwB,kBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGR/vC,EAAOiwC,WAAWF,GACrB,MAAM,IAAI1vF,UAAU,8CAGtB,IAAIyD,EAAwC,EAA/B+D,EAAWmoF,EAAQD,GAChCjtF,EAAOwsF,EAAaxsF,EAAMgB,GAE1B,IAAI2vC,EAAS3wC,EAAKg4B,MAAMk1D,EAAQD,GAShC,OAPIt8C,IAAW3vC,IAIbhB,EAAOA,EAAKqB,MAAM,EAAGsvC,IAGhB3wC,EAGT,SAASotF,EAAeptF,EAAMgZ,GAC5B,IAAIhY,EAASgY,EAAMhY,OAAS,EAAI,EAA4B,EAAxB68E,EAAQ7kE,EAAMhY,QAClDhB,EAAOwsF,EAAaxsF,EAAMgB,GAC1B,IAAK,IAAIuE,EAAI,EAAGA,EAAIvE,EAAQuE,GAAK,EAC/BvF,EAAKuF,GAAgB,IAAXyT,EAAMzT,GAElB,OAAOvF,EAGT,SAAS4sF,EAAiB5sF,EAAMgZ,EAAOq0E,EAAYrsF,GAGjD,GAFAgY,EAAMjU,WAEFsoF,EAAa,GAAKr0E,EAAMjU,WAAasoF,EACvC,MAAM,IAAIZ,WAAW,6BAGvB,GAAIzzE,EAAMjU,WAAasoF,GAAcrsF,GAAU,GAC7C,MAAM,IAAIyrF,WAAW,6BAmBvB,OAfEzzE,OADiBvc,IAAf4wF,QAAuC5wF,IAAXuE,EACtB,IAAIqE,WAAW2T,QACHvc,IAAXuE,EACD,IAAIqE,WAAW2T,EAAOq0E,GAEtB,IAAIhoF,WAAW2T,EAAOq0E,EAAYrsF,GAGxCk8C,EAAOqvC,qBAETvsF,EAAOgZ,EACPhZ,EAAKi7B,UAAYiiB,EAAO/gD,WAGxB6D,EAAOotF,EAAcptF,EAAMgZ,GAEtBhZ,EAGT,SAAS8sF,EAAY9sF,EAAM7C,GACzB,GAAI+/C,EAAOjM,SAAS9zC,GAAM,CACxB,IAAIqI,EAA4B,EAAtBq4E,EAAQ1gF,EAAI6D,QAGtB,OAFAhB,EAAOwsF,EAAaxsF,EAAMwF,GAEN,IAAhBxF,EAAKgB,OACAhB,GAGT7C,EAAImkC,KAAKthC,EAAM,EAAG,EAAGwF,GACdxF,GAGT,GAAI7C,EAAK,CACP,GAA4B,qBAAhBwvF,aACRxvF,EAAIi6B,kBAAkBu1D,aAAgB,WAAYxvF,EACpD,MAA0B,kBAAfA,EAAI6D,QAAuBssF,GAAMnwF,EAAI6D,QACvCwrF,EAAaxsF,EAAM,GAErBotF,EAAcptF,EAAM7C,GAG7B,GAAiB,WAAbA,EAAIsC,MAAqBsH,EAAQ5J,EAAIyC,MACvC,OAAOwtF,EAAcptF,EAAM7C,EAAIyC,MAInC,MAAM,IAAIrC,UAAU,sFAGtB,SAASsgF,EAAS78E,GAGhB,GAAIA,GAAUsrF,IACZ,MAAM,IAAIG,WAAW,0DACaH,IAAahwF,SAAS,IAAM,UAEhE,OAAgB,EAAT0E,EAGT,SAASusF,EAAYvsF,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJk8C,EAAO8vC,OAAOhsF,GA+EvB,SAAS+D,EAAYmoF,EAAQD,GAC3B,GAAI/vC,EAAOjM,SAASi8C,GAClB,OAAOA,EAAOlsF,OAEhB,GAA2B,qBAAhB2rF,aAA6D,oBAAvBA,YAAYa,SACxDb,YAAYa,OAAON,IAAWA,aAAkBP,aACnD,OAAOO,EAAOnoF,WAEM,kBAAXmoF,IACTA,EAAS,GAAKA,GAGhB,IAAI1nF,EAAM0nF,EAAOlsF,OACjB,GAAY,IAARwE,EAAW,OAAO,EAItB,IADA,IAAIioF,GAAc,IAEhB,OAAQR,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOznF,EACT,IAAK,OACL,IAAK,QACL,UAAK/I,EACH,OAAOixF,EAAYR,GAAQlsF,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAANwE,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOmoF,EAAcT,GAAQlsF,OAC/B,QACE,GAAIysF,EAAa,OAAOC,EAAYR,GAAQlsF,OAC5CisF,GAAY,GAAKA,GAAUvxC,cAC3B+xC,GAAc,GAMtB,SAASG,EAAcX,EAAU3mF,EAAOC,GACtC,IAAIknF,GAAc,EAclB,SALchxF,IAAV6J,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQ5I,KAAKsD,OACf,MAAO,GAOT,SAJYvE,IAAR8J,GAAqBA,EAAM7I,KAAKsD,UAClCuF,EAAM7I,KAAKsD,QAGTuF,GAAO,EACT,MAAO,GAOT,GAHAA,KAAS,EACTD,KAAW,EAEPC,GAAOD,EACT,MAAO,GAGJ2mF,IAAUA,EAAW,QAE1B,MAAO,EACL,OAAQA,GACN,IAAK,MACH,OAAOY,EAASnwF,KAAM4I,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOunF,EAAUpwF,KAAM4I,EAAOC,GAEhC,IAAK,QACH,OAAOwnF,EAAWrwF,KAAM4I,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOynF,EAAYtwF,KAAM4I,EAAOC,GAElC,IAAK,SACH,OAAO0nF,EAAYvwF,KAAM4I,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO2nF,EAAaxwF,KAAM4I,EAAOC,GAEnC,QACE,GAAIknF,EAAa,MAAM,IAAIlwF,UAAU,qBAAuB0vF,GAC5DA,GAAYA,EAAW,IAAIvxC,cAC3B+xC,GAAc,GAStB,SAAS7H,EAAMr2D,EAAGsB,EAAGzB,GACnB,IAAI7pB,EAAIgqB,EAAEsB,GACVtB,EAAEsB,GAAKtB,EAAEH,GACTG,EAAEH,GAAK7pB,EAmIT,SAAS4oF,EAAsB/2D,EAAQz4B,EAAK0uF,EAAYJ,EAAUmB,GAEhE,GAAsB,IAAlBh3D,EAAOp2B,OAAc,OAAQ,EAmBjC,GAhB0B,kBAAfqsF,GACTJ,EAAWI,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACVl1D,MAAMk1D,KAERA,EAAae,EAAM,EAAKh3D,EAAOp2B,OAAS,GAItCqsF,EAAa,IAAGA,EAAaj2D,EAAOp2B,OAASqsF,GAC7CA,GAAcj2D,EAAOp2B,OAAQ,CAC/B,GAAIotF,EAAK,OAAQ,EACZf,EAAaj2D,EAAOp2B,OAAS,OAC7B,GAAIqsF,EAAa,EAAG,CACzB,IAAIe,EACC,OAAQ,EADJf,EAAa,EAUxB,GALmB,kBAAR1uF,IACTA,EAAMu+C,EAAOr8C,KAAKlC,EAAKsuF,IAIrB/vC,EAAOjM,SAAStyC,GAElB,OAAmB,IAAfA,EAAIqC,QACE,EAEHqtF,EAAaj3D,EAAQz4B,EAAK0uF,EAAYJ,EAAUmB,GAClD,GAAmB,kBAARzvF,EAEhB,OADAA,GAAY,IACRu+C,EAAOqvC,qBACiC,oBAAjClnF,WAAWlJ,UAAU2J,QAC1BsoF,EACK/oF,WAAWlJ,UAAU2J,QAAQjJ,KAAKu6B,EAAQz4B,EAAK0uF,GAE/ChoF,WAAWlJ,UAAU42C,YAAYl2C,KAAKu6B,EAAQz4B,EAAK0uF,GAGvDgB,EAAaj3D,EAAQ,CAAEz4B,GAAO0uF,EAAYJ,EAAUmB,GAG7D,MAAM,IAAI7wF,UAAU,wCAGtB,SAAS8wF,EAAcztF,EAAKjC,EAAK0uF,EAAYJ,EAAUmB,GACrD,IA0BI7oF,EA1BA+oF,EAAY,EACZC,EAAY3tF,EAAII,OAChBwtF,EAAY7vF,EAAIqC,OAEpB,QAAiBvE,IAAbwwF,IACFA,EAAWxvD,OAAOwvD,GAAUvxC,cACX,SAAbuxC,GAAoC,UAAbA,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAIrsF,EAAII,OAAS,GAAKrC,EAAIqC,OAAS,EACjC,OAAQ,EAEVstF,EAAY,EACZC,GAAa,EACbC,GAAa,EACbnB,GAAc,EAIlB,SAASl2D,EAAMs3D,EAAKlpF,GAClB,OAAkB,IAAd+oF,EACKG,EAAIlpF,GAEJkpF,EAAIC,aAAanpF,EAAI+oF,GAKhC,GAAIF,EAAK,CACP,IAAIO,GAAc,EAClB,IAAKppF,EAAI8nF,EAAY9nF,EAAIgpF,EAAWhpF,IAClC,GAAI4xB,EAAKv2B,EAAK2E,KAAO4xB,EAAKx4B,GAAqB,IAAhBgwF,EAAoB,EAAIppF,EAAIopF,IAEzD,IADoB,IAAhBA,IAAmBA,EAAappF,GAChCA,EAAIopF,EAAa,IAAMH,EAAW,OAAOG,EAAaL,OAEtC,IAAhBK,IAAmBppF,GAAKA,EAAIopF,GAChCA,GAAc,OAKlB,IADItB,EAAamB,EAAYD,IAAWlB,EAAakB,EAAYC,GAC5DjpF,EAAI8nF,EAAY9nF,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAIqpF,GAAQ,EACHx3E,EAAI,EAAGA,EAAIo3E,EAAWp3E,IAC7B,GAAI+f,EAAKv2B,EAAK2E,EAAI6R,KAAO+f,EAAKx4B,EAAKyY,GAAI,CACrCw3E,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOrpF,EAItB,OAAQ,EAeV,SAASspF,EAAUJ,EAAKvB,EAAQtvE,EAAQ5c,GACtC4c,EAASgtB,OAAOhtB,IAAW,EAC3B,IAAIwxC,EAAYq/B,EAAIztF,OAAS4c,EACxB5c,GAGHA,EAAS4pC,OAAO5pC,GACZA,EAASouD,IACXpuD,EAASouD,IAJXpuD,EAASouD,EASX,IAAI0/B,EAAS5B,EAAOlsF,OACpB,GAAI8tF,EAAS,IAAM,EAAG,MAAM,IAAIvxF,UAAU,sBAEtCyD,EAAS8tF,EAAS,IACpB9tF,EAAS8tF,EAAS,GAEpB,IAAK,IAAIvpF,EAAI,EAAGA,EAAIvE,IAAUuE,EAAG,CAC/B,IAAIwpF,EAASvpC,SAAS0nC,EAAO7wC,OAAW,EAAJ92C,EAAO,GAAI,IAC/C,GAAI4yB,MAAM42D,GAAS,OAAOxpF,EAC1BkpF,EAAI7wE,EAASrY,GAAKwpF,EAEpB,OAAOxpF,EAGT,SAASypF,EAAWP,EAAKvB,EAAQtvE,EAAQ5c,GACvC,OAAOiuF,GAAWvB,EAAYR,EAAQuB,EAAIztF,OAAS4c,GAAS6wE,EAAK7wE,EAAQ5c,GAG3E,SAASkuF,EAAYT,EAAKvB,EAAQtvE,EAAQ5c,GACxC,OAAOiuF,GAAWE,EAAajC,GAASuB,EAAK7wE,EAAQ5c,GAGvD,SAASouF,EAAaX,EAAKvB,EAAQtvE,EAAQ5c,GACzC,OAAOkuF,EAAWT,EAAKvB,EAAQtvE,EAAQ5c,GAGzC,SAASquF,EAAaZ,EAAKvB,EAAQtvE,EAAQ5c,GACzC,OAAOiuF,GAAWtB,EAAcT,GAASuB,EAAK7wE,EAAQ5c,GAGxD,SAASsuF,EAAWb,EAAKvB,EAAQtvE,EAAQ5c,GACvC,OAAOiuF,GAAWM,EAAerC,EAAQuB,EAAIztF,OAAS4c,GAAS6wE,EAAK7wE,EAAQ5c,GAkF9E,SAASitF,EAAaQ,EAAKnoF,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQkoF,EAAIztF,OACtB0C,EAAOuB,cAAcwpF,GAErB/qF,EAAOuB,cAAcwpF,EAAIptF,MAAMiF,EAAOC,IAIjD,SAASunF,EAAWW,EAAKnoF,EAAOC,GAC9BA,EAAMuxB,KAAK2H,IAAIgvD,EAAIztF,OAAQuF,GAC3B,IAAIrG,EAAM,GAENqF,EAAIe,EACR,MAAOf,EAAIgB,EAAK,CACd,IAQMipF,EAAYC,EAAWC,EAAYC,EARrCC,EAAYnB,EAAIlpF,GAChBsqF,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAIrqF,EAAIuqF,GAAoBvpF,EAG1B,OAAQupF,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EACHJ,EAAaf,EAAIlpF,EAAI,GACO,OAAV,IAAbiqF,KACHG,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,EACzCG,EAAgB,MAClBE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAaf,EAAIlpF,EAAI,GACrBkqF,EAAYhB,EAAIlpF,EAAI,GACQ,OAAV,IAAbiqF,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAaf,EAAIlpF,EAAI,GACrBkqF,EAAYhB,EAAIlpF,EAAI,GACpBmqF,EAAajB,EAAIlpF,EAAI,GACO,OAAV,IAAbiqF,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CE,EAAYF,IAMJ,OAAdE,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACb3vF,EAAIe,KAAK4uF,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvB3vF,EAAIe,KAAK4uF,GACTtqF,GAAKuqF,EAGP,OAAOC,EAAsB7vF,GA98B/BnE,EAAQmhD,OAASA,EACjBnhD,EAAQwxF,WAAaA,EACrBxxF,EAAQi0F,kBAAoB,GA0B5B9yC,EAAOqvC,yBAAqD9vF,IAA/B6d,EAAOiyE,oBAChCjyE,EAAOiyE,oBACPJ,IAKJpwF,EAAQuwF,WAAaA,IAkErBpvC,EAAO+yC,SAAW,KAGlB/yC,EAAOgzC,SAAW,SAAUtvF,GAE1B,OADAA,EAAIq6B,UAAYiiB,EAAO/gD,UAChByE,GA2BTs8C,EAAOr8C,KAAO,SAAUlE,EAAO+vF,EAAkB1rF,GAC/C,OAAOH,EAAK,KAAMlE,EAAO+vF,EAAkB1rF,IAGzCk8C,EAAOqvC,sBACTrvC,EAAO/gD,UAAU8+B,UAAY51B,WAAWlJ,UACxC+gD,EAAOjiB,UAAY51B,WACG,qBAAXrJ,QAA0BA,OAAOm0F,SACxCjzC,EAAOlhD,OAAOm0F,WAAajzC,GAE7BhhD,OAAO8e,eAAekiC,EAAQlhD,OAAOm0F,QAAS,CAC5CxzF,MAAO,KACPme,cAAc,KAiCpBoiC,EAAO8vC,MAAQ,SAAUlwE,EAAMsgD,EAAM6vB,GACnC,OAAOD,EAAM,KAAMlwE,EAAMsgD,EAAM6vB,IAiBjC/vC,EAAOQ,YAAc,SAAU5gC,GAC7B,OAAO4gC,EAAY,KAAM5gC,IAK3BogC,EAAOkzC,gBAAkB,SAAUtzE,GACjC,OAAO4gC,EAAY,KAAM5gC,IAiH3BogC,EAAOjM,SAAW,SAAmB1hB,GACnC,QAAe,MAALA,IAAaA,EAAE8gE,YAG3BnzC,EAAOjP,QAAU,SAAkB3e,EAAGC,GACpC,IAAK2tB,EAAOjM,SAAS3hB,KAAO4tB,EAAOjM,SAAS1hB,GAC1C,MAAM,IAAIhyB,UAAU,6BAGtB,GAAI+xB,IAAMC,EAAG,OAAO,EAKpB,IAHA,IAAI2hB,EAAI5hB,EAAEtuB,OACN4yD,EAAIrkC,EAAEvuB,OAEDuE,EAAI,EAAGC,EAAMsyB,KAAK2H,IAAIyR,EAAG0iB,GAAIruD,EAAIC,IAAOD,EAC/C,GAAI+pB,EAAE/pB,KAAOgqB,EAAEhqB,GAAI,CACjB2rC,EAAI5hB,EAAE/pB,GACNquD,EAAIrkC,EAAEhqB,GACN,MAIJ,OAAI2rC,EAAI0iB,GAAW,EACfA,EAAI1iB,EAAU,EACX,GAGTgM,EAAOiwC,WAAa,SAAqBF,GACvC,OAAQxvD,OAAOwvD,GAAUvxC,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIbwB,EAAOrd,OAAS,SAAiB9Q,EAAM/tB,GACrC,IAAK+F,EAAQgoB,GACX,MAAM,IAAIxxB,UAAU,+CAGtB,GAAoB,IAAhBwxB,EAAK/tB,OACP,OAAOk8C,EAAO8vC,MAAM,GAGtB,IAAIznF,EACJ,QAAe9I,IAAXuE,EAEF,IADAA,EAAS,EACJuE,EAAI,EAAGA,EAAIwpB,EAAK/tB,SAAUuE,EAC7BvE,GAAU+tB,EAAKxpB,GAAGvE,OAItB,IAAIo2B,EAAS8lB,EAAOQ,YAAY18C,GAC5B2sC,EAAM,EACV,IAAKpoC,EAAI,EAAGA,EAAIwpB,EAAK/tB,SAAUuE,EAAG,CAChC,IAAIkpF,EAAM1/D,EAAKxpB,GACf,IAAK23C,EAAOjM,SAASw9C,GACnB,MAAM,IAAIlxF,UAAU,+CAEtBkxF,EAAIntD,KAAKlK,EAAQuW,GACjBA,GAAO8gD,EAAIztF,OAEb,OAAOo2B,GA8CT8lB,EAAOn4C,WAAaA,EA0EpBm4C,EAAO/gD,UAAUk0F,WAAY,EAQ7BnzC,EAAO/gD,UAAUm0F,OAAS,WACxB,IAAI9qF,EAAM9H,KAAKsD,OACf,GAAIwE,EAAM,IAAM,EACd,MAAM,IAAIinF,WAAW,6CAEvB,IAAK,IAAIlnF,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5BqgF,EAAKloF,KAAM6H,EAAGA,EAAI,GAEpB,OAAO7H,MAGTw/C,EAAO/gD,UAAUo0F,OAAS,WACxB,IAAI/qF,EAAM9H,KAAKsD,OACf,GAAIwE,EAAM,IAAM,EACd,MAAM,IAAIinF,WAAW,6CAEvB,IAAK,IAAIlnF,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5BqgF,EAAKloF,KAAM6H,EAAGA,EAAI,GAClBqgF,EAAKloF,KAAM6H,EAAI,EAAGA,EAAI,GAExB,OAAO7H,MAGTw/C,EAAO/gD,UAAUq0F,OAAS,WACxB,IAAIhrF,EAAM9H,KAAKsD,OACf,GAAIwE,EAAM,IAAM,EACd,MAAM,IAAIinF,WAAW,6CAEvB,IAAK,IAAIlnF,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5BqgF,EAAKloF,KAAM6H,EAAGA,EAAI,GAClBqgF,EAAKloF,KAAM6H,EAAI,EAAGA,EAAI,GACtBqgF,EAAKloF,KAAM6H,EAAI,EAAGA,EAAI,GACtBqgF,EAAKloF,KAAM6H,EAAI,EAAGA,EAAI,GAExB,OAAO7H,MAGTw/C,EAAO/gD,UAAUG,SAAW,WAC1B,IAAI0E,EAAuB,EAAdtD,KAAKsD,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBmD,UAAUnD,OAAqB8sF,EAAUpwF,KAAM,EAAGsD,GAC/C4sF,EAAaxpF,MAAM1G,KAAMyG,YAGlC+4C,EAAO/gD,UAAUs0F,OAAS,SAAiBlhE,GACzC,IAAK2tB,EAAOjM,SAAS1hB,GAAI,MAAM,IAAIhyB,UAAU,6BAC7C,OAAIG,OAAS6xB,GACsB,IAA5B2tB,EAAOjP,QAAQvwC,KAAM6xB,IAG9B2tB,EAAO/gD,UAAUu0F,QAAU,WACzB,IAAIt6B,EAAM,GACNtoB,EAAM/xC,EAAQi0F,kBAKlB,OAJItyF,KAAKsD,OAAS,IAChBo1D,EAAM14D,KAAKpB,SAAS,MAAO,EAAGwxC,GAAKhmC,MAAM,SAASrB,KAAK,KACnD/I,KAAKsD,OAAS8sC,IAAKsoB,GAAO,UAEzB,WAAaA,EAAM,KAG5BlZ,EAAO/gD,UAAU8xC,QAAU,SAAkBtzB,EAAQrU,EAAOC,EAAKoqF,EAAWC,GAC1E,IAAK1zC,EAAOjM,SAASt2B,GACnB,MAAM,IAAIpd,UAAU,6BAgBtB,QAbcd,IAAV6J,IACFA,EAAQ,QAEE7J,IAAR8J,IACFA,EAAMoU,EAASA,EAAO3Z,OAAS,QAEfvE,IAAdk0F,IACFA,EAAY,QAEEl0F,IAAZm0F,IACFA,EAAUlzF,KAAKsD,QAGbsF,EAAQ,GAAKC,EAAMoU,EAAO3Z,QAAU2vF,EAAY,GAAKC,EAAUlzF,KAAKsD,OACtE,MAAM,IAAIyrF,WAAW,sBAGvB,GAAIkE,GAAaC,GAAWtqF,GAASC,EACnC,OAAO,EAET,GAAIoqF,GAAaC,EACf,OAAQ,EAEV,GAAItqF,GAASC,EACX,OAAO,EAQT,GALAD,KAAW,EACXC,KAAS,EACToqF,KAAe,EACfC,KAAa,EAETlzF,OAASid,EAAQ,OAAO,EAS5B,IAPA,IAAIu2B,EAAI0/C,EAAUD,EACd/8B,EAAIrtD,EAAMD,EACVd,EAAMsyB,KAAK2H,IAAIyR,EAAG0iB,GAElBi9B,EAAWnzF,KAAK2D,MAAMsvF,EAAWC,GACjCE,EAAan2E,EAAOtZ,MAAMiF,EAAOC,GAE5BhB,EAAI,EAAGA,EAAIC,IAAOD,EACzB,GAAIsrF,EAAStrF,KAAOurF,EAAWvrF,GAAI,CACjC2rC,EAAI2/C,EAAStrF,GACbquD,EAAIk9B,EAAWvrF,GACf,MAIJ,OAAI2rC,EAAI0iB,GAAW,EACfA,EAAI1iB,EAAU,EACX,GA6HTgM,EAAO/gD,UAAU40F,SAAW,SAAmBpyF,EAAK0uF,EAAYJ,GAC9D,OAAoD,IAA7CvvF,KAAKoI,QAAQnH,EAAK0uF,EAAYJ,IAGvC/vC,EAAO/gD,UAAU2J,QAAU,SAAkBnH,EAAK0uF,EAAYJ,GAC5D,OAAOkB,EAAqBzwF,KAAMiB,EAAK0uF,EAAYJ,GAAU,IAG/D/vC,EAAO/gD,UAAU42C,YAAc,SAAsBp0C,EAAK0uF,EAAYJ,GACpE,OAAOkB,EAAqBzwF,KAAMiB,EAAK0uF,EAAYJ,GAAU,IAkD/D/vC,EAAO/gD,UAAU67B,MAAQ,SAAgBk1D,EAAQtvE,EAAQ5c,EAAQisF,GAE/D,QAAexwF,IAAXmhB,EACFqvE,EAAW,OACXjsF,EAAStD,KAAKsD,OACd4c,EAAS,OAEJ,QAAenhB,IAAXuE,GAA0C,kBAAX4c,EACxCqvE,EAAWrvE,EACX5c,EAAStD,KAAKsD,OACd4c,EAAS,MAEJ,KAAIwyC,SAASxyC,GAWlB,MAAM,IAAIhY,MACR,2EAXFgY,GAAkB,EACdwyC,SAASpvD,IACXA,GAAkB,OACDvE,IAAbwwF,IAAwBA,EAAW,UAEvCA,EAAWjsF,EACXA,OAASvE,GASb,IAAI2yD,EAAY1xD,KAAKsD,OAAS4c,EAG9B,SAFenhB,IAAXuE,GAAwBA,EAASouD,KAAWpuD,EAASouD,GAEpD89B,EAAOlsF,OAAS,IAAMA,EAAS,GAAK4c,EAAS,IAAOA,EAASlgB,KAAKsD,OACrE,MAAM,IAAIyrF,WAAW,0CAGlBQ,IAAUA,EAAW,QAG1B,IADA,IAAIQ,GAAc,IAEhB,OAAQR,GACN,IAAK,MACH,OAAO4B,EAASnxF,KAAMwvF,EAAQtvE,EAAQ5c,GAExC,IAAK,OACL,IAAK,QACH,OAAOguF,EAAUtxF,KAAMwvF,EAAQtvE,EAAQ5c,GAEzC,IAAK,QACH,OAAOkuF,EAAWxxF,KAAMwvF,EAAQtvE,EAAQ5c,GAE1C,IAAK,SACL,IAAK,SACH,OAAOouF,EAAY1xF,KAAMwvF,EAAQtvE,EAAQ5c,GAE3C,IAAK,SAEH,OAAOquF,EAAY3xF,KAAMwvF,EAAQtvE,EAAQ5c,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOsuF,EAAU5xF,KAAMwvF,EAAQtvE,EAAQ5c,GAEzC,QACE,GAAIysF,EAAa,MAAM,IAAIlwF,UAAU,qBAAuB0vF,GAC5DA,GAAY,GAAKA,GAAUvxC,cAC3B+xC,GAAc,IAKtBvwC,EAAO/gD,UAAU60F,OAAS,WACxB,MAAO,CACLvxF,KAAM,SACNG,KAAMwC,MAAMjG,UAAUkF,MAAMxE,KAAKa,KAAKunC,MAAQvnC,KAAM,KAwFxD,IAAIuzF,EAAuB,KAE3B,SAASlB,EAAuBmB,GAC9B,IAAI1rF,EAAM0rF,EAAWlwF,OACrB,GAAIwE,GAAOyrF,EACT,OAAOxzD,OAAOC,aAAat5B,MAAMq5B,OAAQyzD,GAI3C,IAAIhxF,EAAM,GACNqF,EAAI,EACR,MAAOA,EAAIC,EACTtF,GAAOu9B,OAAOC,aAAat5B,MACzBq5B,OACAyzD,EAAW7vF,MAAMkE,EAAGA,GAAK0rF,IAG7B,OAAO/wF,EAGT,SAAS6tF,EAAYU,EAAKnoF,EAAOC,GAC/B,IAAI6lC,EAAM,GACV7lC,EAAMuxB,KAAK2H,IAAIgvD,EAAIztF,OAAQuF,GAE3B,IAAK,IAAIhB,EAAIe,EAAOf,EAAIgB,IAAOhB,EAC7B6mC,GAAO3O,OAAOC,aAAsB,IAAT+wD,EAAIlpF,IAEjC,OAAO6mC,EAGT,SAAS4hD,EAAaS,EAAKnoF,EAAOC,GAChC,IAAI6lC,EAAM,GACV7lC,EAAMuxB,KAAK2H,IAAIgvD,EAAIztF,OAAQuF,GAE3B,IAAK,IAAIhB,EAAIe,EAAOf,EAAIgB,IAAOhB,EAC7B6mC,GAAO3O,OAAOC,aAAa+wD,EAAIlpF,IAEjC,OAAO6mC,EAGT,SAASyhD,EAAUY,EAAKnoF,EAAOC,GAC7B,IAAIf,EAAMipF,EAAIztF,SAETsF,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMf,KAAKe,EAAMf,GAGxC,IADA,IAAI2rF,EAAM,GACD5rF,EAAIe,EAAOf,EAAIgB,IAAOhB,EAC7B4rF,GAAOC,EAAM3C,EAAIlpF,IAEnB,OAAO4rF,EAGT,SAASjD,EAAcO,EAAKnoF,EAAOC,GAGjC,IAFA,IAAI8qF,EAAQ5C,EAAIptF,MAAMiF,EAAOC,GACzBrG,EAAM,GACDqF,EAAI,EAAGA,EAAI8rF,EAAMrwF,OAAQuE,GAAK,EACrCrF,GAAOu9B,OAAOC,aAAa2zD,EAAM9rF,GAAoB,IAAf8rF,EAAM9rF,EAAI,IAElD,OAAOrF,EA0CT,SAASoxF,EAAa1zE,EAAQ2zE,EAAKvwF,GACjC,GAAK4c,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI6uE,WAAW,sBAC3D,GAAI7uE,EAAS2zE,EAAMvwF,EAAQ,MAAM,IAAIyrF,WAAW,yCA+JlD,SAAS+E,EAAU/C,EAAK9xF,EAAOihB,EAAQ2zE,EAAKzjD,EAAKrO,GAC/C,IAAKyd,EAAOjM,SAASw9C,GAAM,MAAM,IAAIlxF,UAAU,+CAC/C,GAAIZ,EAAQmxC,GAAOnxC,EAAQ8iC,EAAK,MAAM,IAAIgtD,WAAW,qCACrD,GAAI7uE,EAAS2zE,EAAM9C,EAAIztF,OAAQ,MAAM,IAAIyrF,WAAW,sBAkDtD,SAASgF,EAAmBhD,EAAK9xF,EAAOihB,EAAQ8zE,GAC1C/0F,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAI4I,EAAI,EAAG6R,EAAI0gB,KAAK2H,IAAIgvD,EAAIztF,OAAS4c,EAAQ,GAAIrY,EAAI6R,IAAK7R,EAC7DkpF,EAAI7wE,EAASrY,IAAM5I,EAAS,KAAS,GAAK+0F,EAAensF,EAAI,EAAIA,MAClC,GAA5BmsF,EAAensF,EAAI,EAAIA,GA8B9B,SAASosF,EAAmBlD,EAAK9xF,EAAOihB,EAAQ8zE,GAC1C/0F,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAI4I,EAAI,EAAG6R,EAAI0gB,KAAK2H,IAAIgvD,EAAIztF,OAAS4c,EAAQ,GAAIrY,EAAI6R,IAAK7R,EAC7DkpF,EAAI7wE,EAASrY,GAAM5I,IAAuC,GAA5B+0F,EAAensF,EAAI,EAAIA,GAAU,IAmJnE,SAASqsF,EAAcnD,EAAK9xF,EAAOihB,EAAQ2zE,EAAKzjD,EAAKrO,GACnD,GAAI7hB,EAAS2zE,EAAM9C,EAAIztF,OAAQ,MAAM,IAAIyrF,WAAW,sBACpD,GAAI7uE,EAAS,EAAG,MAAM,IAAI6uE,WAAW,sBAGvC,SAASoF,EAAYpD,EAAK9xF,EAAOihB,EAAQ8zE,EAAcI,GAKrD,OAJKA,GACHF,EAAanD,EAAK9xF,EAAOihB,EAAQ,EAAG,sBAAyB,sBAE/DsuE,EAAQl0D,MAAMy2D,EAAK9xF,EAAOihB,EAAQ8zE,EAAc,GAAI,GAC7C9zE,EAAS,EAWlB,SAASm0E,EAAatD,EAAK9xF,EAAOihB,EAAQ8zE,EAAcI,GAKtD,OAJKA,GACHF,EAAanD,EAAK9xF,EAAOihB,EAAQ,EAAG,uBAA0B,uBAEhEsuE,EAAQl0D,MAAMy2D,EAAK9xF,EAAOihB,EAAQ8zE,EAAc,GAAI,GAC7C9zE,EAAS,EA/clBs/B,EAAO/gD,UAAUkF,MAAQ,SAAgBiF,EAAOC,GAC9C,IAoBIyrF,EApBAxsF,EAAM9H,KAAKsD,OAqBf,GApBAsF,IAAUA,EACVC,OAAc9J,IAAR8J,EAAoBf,IAAQe,EAE9BD,EAAQ,GACVA,GAASd,EACLc,EAAQ,IAAGA,EAAQ,IACdA,EAAQd,IACjBc,EAAQd,GAGNe,EAAM,GACRA,GAAOf,EACHe,EAAM,IAAGA,EAAM,IACVA,EAAMf,IACfe,EAAMf,GAGJe,EAAMD,IAAOC,EAAMD,GAGnB42C,EAAOqvC,oBACTyF,EAASt0F,KAAK2uF,SAAS/lF,EAAOC,GAC9ByrF,EAAO/2D,UAAYiiB,EAAO/gD,cACrB,CACL,IAAI81F,EAAW1rF,EAAMD,EACrB0rF,EAAS,IAAI90C,EAAO+0C,OAAUx1F,GAC9B,IAAK,IAAI8I,EAAI,EAAGA,EAAI0sF,IAAY1sF,EAC9BysF,EAAOzsF,GAAK7H,KAAK6H,EAAIe,GAIzB,OAAO0rF,GAWT90C,EAAO/gD,UAAU+1F,WAAa,SAAqBt0E,EAAQ7Y,EAAY+sF,GACrEl0E,GAAkB,EAClB7Y,GAA0B,EACrB+sF,GAAUR,EAAY1zE,EAAQ7Y,EAAYrH,KAAKsD,QAEpD,IAAIrC,EAAMjB,KAAKkgB,GACXu0E,EAAM,EACN5sF,EAAI,EACR,QAASA,EAAIR,IAAeotF,GAAO,KACjCxzF,GAAOjB,KAAKkgB,EAASrY,GAAK4sF,EAG5B,OAAOxzF,GAGTu+C,EAAO/gD,UAAUi2F,WAAa,SAAqBx0E,EAAQ7Y,EAAY+sF,GACrEl0E,GAAkB,EAClB7Y,GAA0B,EACrB+sF,GACHR,EAAY1zE,EAAQ7Y,EAAYrH,KAAKsD,QAGvC,IAAIrC,EAAMjB,KAAKkgB,IAAW7Y,GACtBotF,EAAM,EACV,MAAOptF,EAAa,IAAMotF,GAAO,KAC/BxzF,GAAOjB,KAAKkgB,IAAW7Y,GAAcotF,EAGvC,OAAOxzF,GAGTu+C,EAAO/gD,UAAUk2F,UAAY,SAAoBz0E,EAAQk0E,GAEvD,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACpCtD,KAAKkgB,IAGds/B,EAAO/gD,UAAUm2F,aAAe,SAAuB10E,EAAQk0E,GAE7D,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACpCtD,KAAKkgB,GAAWlgB,KAAKkgB,EAAS,IAAM,GAG7Cs/B,EAAO/gD,UAAUuyF,aAAe,SAAuB9wE,EAAQk0E,GAE7D,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACnCtD,KAAKkgB,IAAW,EAAKlgB,KAAKkgB,EAAS,IAG7Cs/B,EAAO/gD,UAAUo2F,aAAe,SAAuB30E,EAAQk0E,GAG7D,OAFKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,SAElCtD,KAAKkgB,GACTlgB,KAAKkgB,EAAS,IAAM,EACpBlgB,KAAKkgB,EAAS,IAAM,IACD,SAAnBlgB,KAAKkgB,EAAS,IAGrBs/B,EAAO/gD,UAAUq2F,aAAe,SAAuB50E,EAAQk0E,GAG7D,OAFKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QAEpB,SAAftD,KAAKkgB,IACTlgB,KAAKkgB,EAAS,IAAM,GACrBlgB,KAAKkgB,EAAS,IAAM,EACrBlgB,KAAKkgB,EAAS,KAGlBs/B,EAAO/gD,UAAUs2F,UAAY,SAAoB70E,EAAQ7Y,EAAY+sF,GACnEl0E,GAAkB,EAClB7Y,GAA0B,EACrB+sF,GAAUR,EAAY1zE,EAAQ7Y,EAAYrH,KAAKsD,QAEpD,IAAIrC,EAAMjB,KAAKkgB,GACXu0E,EAAM,EACN5sF,EAAI,EACR,QAASA,EAAIR,IAAeotF,GAAO,KACjCxzF,GAAOjB,KAAKkgB,EAASrY,GAAK4sF,EAM5B,OAJAA,GAAO,IAEHxzF,GAAOwzF,IAAKxzF,GAAOm5B,KAAKC,IAAI,EAAG,EAAIhzB,IAEhCpG,GAGTu+C,EAAO/gD,UAAUu2F,UAAY,SAAoB90E,EAAQ7Y,EAAY+sF,GACnEl0E,GAAkB,EAClB7Y,GAA0B,EACrB+sF,GAAUR,EAAY1zE,EAAQ7Y,EAAYrH,KAAKsD,QAEpD,IAAIuE,EAAIR,EACJotF,EAAM,EACNxzF,EAAMjB,KAAKkgB,IAAWrY,GAC1B,MAAOA,EAAI,IAAM4sF,GAAO,KACtBxzF,GAAOjB,KAAKkgB,IAAWrY,GAAK4sF,EAM9B,OAJAA,GAAO,IAEHxzF,GAAOwzF,IAAKxzF,GAAOm5B,KAAKC,IAAI,EAAG,EAAIhzB,IAEhCpG,GAGTu+C,EAAO/gD,UAAUw2F,SAAW,SAAmB/0E,EAAQk0E,GAErD,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACtB,IAAftD,KAAKkgB,IAC0B,GAA5B,IAAOlgB,KAAKkgB,GAAU,GADKlgB,KAAKkgB,IAI3Cs/B,EAAO/gD,UAAUy2F,YAAc,SAAsBh1E,EAAQk0E,GACtDA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QAC3C,IAAIrC,EAAMjB,KAAKkgB,GAAWlgB,KAAKkgB,EAAS,IAAM,EAC9C,OAAc,MAANjf,EAAsB,WAANA,EAAmBA,GAG7Cu+C,EAAO/gD,UAAU02F,YAAc,SAAsBj1E,EAAQk0E,GACtDA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QAC3C,IAAIrC,EAAMjB,KAAKkgB,EAAS,GAAMlgB,KAAKkgB,IAAW,EAC9C,OAAc,MAANjf,EAAsB,WAANA,EAAmBA,GAG7Cu+C,EAAO/gD,UAAU22F,YAAc,SAAsBl1E,EAAQk0E,GAG3D,OAFKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QAEnCtD,KAAKkgB,GACVlgB,KAAKkgB,EAAS,IAAM,EACpBlgB,KAAKkgB,EAAS,IAAM,GACpBlgB,KAAKkgB,EAAS,IAAM,IAGzBs/B,EAAO/gD,UAAU42F,YAAc,SAAsBn1E,EAAQk0E,GAG3D,OAFKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QAEnCtD,KAAKkgB,IAAW,GACrBlgB,KAAKkgB,EAAS,IAAM,GACpBlgB,KAAKkgB,EAAS,IAAM,EACpBlgB,KAAKkgB,EAAS,IAGnBs/B,EAAO/gD,UAAU62F,YAAc,SAAsBp1E,EAAQk0E,GAE3D,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACpCkrF,EAAQ/0D,KAAKz5B,KAAMkgB,GAAQ,EAAM,GAAI,IAG9Cs/B,EAAO/gD,UAAU82F,YAAc,SAAsBr1E,EAAQk0E,GAE3D,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACpCkrF,EAAQ/0D,KAAKz5B,KAAMkgB,GAAQ,EAAO,GAAI,IAG/Cs/B,EAAO/gD,UAAU+2F,aAAe,SAAuBt1E,EAAQk0E,GAE7D,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACpCkrF,EAAQ/0D,KAAKz5B,KAAMkgB,GAAQ,EAAM,GAAI,IAG9Cs/B,EAAO/gD,UAAUg3F,aAAe,SAAuBv1E,EAAQk0E,GAE7D,OADKA,GAAUR,EAAY1zE,EAAQ,EAAGlgB,KAAKsD,QACpCkrF,EAAQ/0D,KAAKz5B,KAAMkgB,GAAQ,EAAO,GAAI,IAS/Cs/B,EAAO/gD,UAAUi3F,YAAc,SAAsBz2F,EAAOihB,EAAQ7Y,EAAY+sF,GAI9E,GAHAn1F,GAASA,EACTihB,GAAkB,EAClB7Y,GAA0B,GACrB+sF,EAAU,CACb,IAAIuB,EAAWv7D,KAAKC,IAAI,EAAG,EAAIhzB,GAAc,EAC7CysF,EAAS9zF,KAAMf,EAAOihB,EAAQ7Y,EAAYsuF,EAAU,GAGtD,IAAIlB,EAAM,EACN5sF,EAAI,EACR7H,KAAKkgB,GAAkB,IAARjhB,EACf,QAAS4I,EAAIR,IAAeotF,GAAO,KACjCz0F,KAAKkgB,EAASrY,GAAM5I,EAAQw1F,EAAO,IAGrC,OAAOv0E,EAAS7Y,GAGlBm4C,EAAO/gD,UAAUm3F,YAAc,SAAsB32F,EAAOihB,EAAQ7Y,EAAY+sF,GAI9E,GAHAn1F,GAASA,EACTihB,GAAkB,EAClB7Y,GAA0B,GACrB+sF,EAAU,CACb,IAAIuB,EAAWv7D,KAAKC,IAAI,EAAG,EAAIhzB,GAAc,EAC7CysF,EAAS9zF,KAAMf,EAAOihB,EAAQ7Y,EAAYsuF,EAAU,GAGtD,IAAI9tF,EAAIR,EAAa,EACjBotF,EAAM,EACVz0F,KAAKkgB,EAASrY,GAAa,IAAR5I,EACnB,QAAS4I,GAAK,IAAM4sF,GAAO,KACzBz0F,KAAKkgB,EAASrY,GAAM5I,EAAQw1F,EAAO,IAGrC,OAAOv0E,EAAS7Y,GAGlBm4C,EAAO/gD,UAAUo3F,WAAa,SAAqB52F,EAAOihB,EAAQk0E,GAMhE,OALAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,IAAM,GACjDs/B,EAAOqvC,sBAAqB5vF,EAAQm7B,KAAKM,MAAMz7B,IACpDe,KAAKkgB,GAAmB,IAARjhB,EACTihB,EAAS,GAWlBs/B,EAAO/gD,UAAUq3F,cAAgB,SAAwB72F,EAAOihB,EAAQk0E,GAUtE,OATAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,MAAQ,GACpDs/B,EAAOqvC,qBACT7uF,KAAKkgB,GAAmB,IAARjhB,EAChBe,KAAKkgB,EAAS,GAAMjhB,IAAU,GAE9B80F,EAAkB/zF,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAGlBs/B,EAAO/gD,UAAUs3F,cAAgB,SAAwB92F,EAAOihB,EAAQk0E,GAUtE,OATAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,MAAQ,GACpDs/B,EAAOqvC,qBACT7uF,KAAKkgB,GAAWjhB,IAAU,EAC1Be,KAAKkgB,EAAS,GAAc,IAARjhB,GAEpB80F,EAAkB/zF,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAUlBs/B,EAAO/gD,UAAUu3F,cAAgB,SAAwB/2F,EAAOihB,EAAQk0E,GAYtE,OAXAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,WAAY,GACxDs/B,EAAOqvC,qBACT7uF,KAAKkgB,EAAS,GAAMjhB,IAAU,GAC9Be,KAAKkgB,EAAS,GAAMjhB,IAAU,GAC9Be,KAAKkgB,EAAS,GAAMjhB,IAAU,EAC9Be,KAAKkgB,GAAmB,IAARjhB,GAEhBg1F,EAAkBj0F,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAGlBs/B,EAAO/gD,UAAUw3F,cAAgB,SAAwBh3F,EAAOihB,EAAQk0E,GAYtE,OAXAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,WAAY,GACxDs/B,EAAOqvC,qBACT7uF,KAAKkgB,GAAWjhB,IAAU,GAC1Be,KAAKkgB,EAAS,GAAMjhB,IAAU,GAC9Be,KAAKkgB,EAAS,GAAMjhB,IAAU,EAC9Be,KAAKkgB,EAAS,GAAc,IAARjhB,GAEpBg1F,EAAkBj0F,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAGlBs/B,EAAO/gD,UAAUy3F,WAAa,SAAqBj3F,EAAOihB,EAAQ7Y,EAAY+sF,GAG5E,GAFAn1F,GAASA,EACTihB,GAAkB,GACbk0E,EAAU,CACb,IAAI3pD,EAAQrQ,KAAKC,IAAI,EAAG,EAAIhzB,EAAa,GAEzCysF,EAAS9zF,KAAMf,EAAOihB,EAAQ7Y,EAAYojC,EAAQ,GAAIA,GAGxD,IAAI5iC,EAAI,EACJ4sF,EAAM,EACN0B,EAAM,EACVn2F,KAAKkgB,GAAkB,IAARjhB,EACf,QAAS4I,EAAIR,IAAeotF,GAAO,KAC7Bx1F,EAAQ,GAAa,IAARk3F,GAAsC,IAAzBn2F,KAAKkgB,EAASrY,EAAI,KAC9CsuF,EAAM,GAERn2F,KAAKkgB,EAASrY,IAAO5I,EAAQw1F,GAAQ,GAAK0B,EAAM,IAGlD,OAAOj2E,EAAS7Y,GAGlBm4C,EAAO/gD,UAAU23F,WAAa,SAAqBn3F,EAAOihB,EAAQ7Y,EAAY+sF,GAG5E,GAFAn1F,GAASA,EACTihB,GAAkB,GACbk0E,EAAU,CACb,IAAI3pD,EAAQrQ,KAAKC,IAAI,EAAG,EAAIhzB,EAAa,GAEzCysF,EAAS9zF,KAAMf,EAAOihB,EAAQ7Y,EAAYojC,EAAQ,GAAIA,GAGxD,IAAI5iC,EAAIR,EAAa,EACjBotF,EAAM,EACN0B,EAAM,EACVn2F,KAAKkgB,EAASrY,GAAa,IAAR5I,EACnB,QAAS4I,GAAK,IAAM4sF,GAAO,KACrBx1F,EAAQ,GAAa,IAARk3F,GAAsC,IAAzBn2F,KAAKkgB,EAASrY,EAAI,KAC9CsuF,EAAM,GAERn2F,KAAKkgB,EAASrY,IAAO5I,EAAQw1F,GAAQ,GAAK0B,EAAM,IAGlD,OAAOj2E,EAAS7Y,GAGlBm4C,EAAO/gD,UAAU43F,UAAY,SAAoBp3F,EAAOihB,EAAQk0E,GAO9D,OANAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,KAAO,KAClDs/B,EAAOqvC,sBAAqB5vF,EAAQm7B,KAAKM,MAAMz7B,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCe,KAAKkgB,GAAmB,IAARjhB,EACTihB,EAAS,GAGlBs/B,EAAO/gD,UAAU63F,aAAe,SAAuBr3F,EAAOihB,EAAQk0E,GAUpE,OATAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,OAAS,OACrDs/B,EAAOqvC,qBACT7uF,KAAKkgB,GAAmB,IAARjhB,EAChBe,KAAKkgB,EAAS,GAAMjhB,IAAU,GAE9B80F,EAAkB/zF,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAGlBs/B,EAAO/gD,UAAU83F,aAAe,SAAuBt3F,EAAOihB,EAAQk0E,GAUpE,OATAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,OAAS,OACrDs/B,EAAOqvC,qBACT7uF,KAAKkgB,GAAWjhB,IAAU,EAC1Be,KAAKkgB,EAAS,GAAc,IAARjhB,GAEpB80F,EAAkB/zF,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAGlBs/B,EAAO/gD,UAAU+3F,aAAe,SAAuBv3F,EAAOihB,EAAQk0E,GAYpE,OAXAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,YAAa,YACzDs/B,EAAOqvC,qBACT7uF,KAAKkgB,GAAmB,IAARjhB,EAChBe,KAAKkgB,EAAS,GAAMjhB,IAAU,EAC9Be,KAAKkgB,EAAS,GAAMjhB,IAAU,GAC9Be,KAAKkgB,EAAS,GAAMjhB,IAAU,IAE9Bg1F,EAAkBj0F,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAGlBs/B,EAAO/gD,UAAUg4F,aAAe,SAAuBx3F,EAAOihB,EAAQk0E,GAapE,OAZAn1F,GAASA,EACTihB,GAAkB,EACbk0E,GAAUN,EAAS9zF,KAAMf,EAAOihB,EAAQ,EAAG,YAAa,YACzDjhB,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxCugD,EAAOqvC,qBACT7uF,KAAKkgB,GAAWjhB,IAAU,GAC1Be,KAAKkgB,EAAS,GAAMjhB,IAAU,GAC9Be,KAAKkgB,EAAS,GAAMjhB,IAAU,EAC9Be,KAAKkgB,EAAS,GAAc,IAARjhB,GAEpBg1F,EAAkBj0F,KAAMf,EAAOihB,GAAQ,GAElCA,EAAS,GAgBlBs/B,EAAO/gD,UAAUi4F,aAAe,SAAuBz3F,EAAOihB,EAAQk0E,GACpE,OAAOD,EAAWn0F,KAAMf,EAAOihB,GAAQ,EAAMk0E,IAG/C50C,EAAO/gD,UAAUk4F,aAAe,SAAuB13F,EAAOihB,EAAQk0E,GACpE,OAAOD,EAAWn0F,KAAMf,EAAOihB,GAAQ,EAAOk0E,IAWhD50C,EAAO/gD,UAAUm4F,cAAgB,SAAwB33F,EAAOihB,EAAQk0E,GACtE,OAAOC,EAAYr0F,KAAMf,EAAOihB,GAAQ,EAAMk0E,IAGhD50C,EAAO/gD,UAAUo4F,cAAgB,SAAwB53F,EAAOihB,EAAQk0E,GACtE,OAAOC,EAAYr0F,KAAMf,EAAOihB,GAAQ,EAAOk0E,IAIjD50C,EAAO/gD,UAAUmlC,KAAO,SAAe3mB,EAAQ65E,EAAaluF,EAAOC,GAQjE,GAPKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAM7I,KAAKsD,QAC9BwzF,GAAe75E,EAAO3Z,SAAQwzF,EAAc75E,EAAO3Z,QAClDwzF,IAAaA,EAAc,GAC5BjuF,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlBqU,EAAO3Z,QAAgC,IAAhBtD,KAAKsD,OAAc,OAAO,EAGrD,GAAIwzF,EAAc,EAChB,MAAM,IAAI/H,WAAW,6BAEvB,GAAInmF,EAAQ,GAAKA,GAAS5I,KAAKsD,OAAQ,MAAM,IAAIyrF,WAAW,6BAC5D,GAAIlmF,EAAM,EAAG,MAAM,IAAIkmF,WAAW,2BAG9BlmF,EAAM7I,KAAKsD,SAAQuF,EAAM7I,KAAKsD,QAC9B2Z,EAAO3Z,OAASwzF,EAAcjuF,EAAMD,IACtCC,EAAMoU,EAAO3Z,OAASwzF,EAAcluF,GAGtC,IACIf,EADAC,EAAMe,EAAMD,EAGhB,GAAI5I,OAASid,GAAUrU,EAAQkuF,GAAeA,EAAcjuF,EAE1D,IAAKhB,EAAIC,EAAM,EAAGD,GAAK,IAAKA,EAC1BoV,EAAOpV,EAAIivF,GAAe92F,KAAK6H,EAAIe,QAEhC,GAAId,EAAM,MAAS03C,EAAOqvC,oBAE/B,IAAKhnF,EAAI,EAAGA,EAAIC,IAAOD,EACrBoV,EAAOpV,EAAIivF,GAAe92F,KAAK6H,EAAIe,QAGrCjB,WAAWlJ,UAAU0hD,IAAIhhD,KACvB8d,EACAjd,KAAK2uF,SAAS/lF,EAAOA,EAAQd,GAC7BgvF,GAIJ,OAAOhvF,GAOT03C,EAAO/gD,UAAUihE,KAAO,SAAez+D,EAAK2H,EAAOC,EAAK0mF,GAEtD,GAAmB,kBAARtuF,EAAkB,CAS3B,GARqB,kBAAV2H,GACT2mF,EAAW3mF,EACXA,EAAQ,EACRC,EAAM7I,KAAKsD,QACa,kBAARuF,IAChB0mF,EAAW1mF,EACXA,EAAM7I,KAAKsD,QAEM,IAAfrC,EAAIqC,OAAc,CACpB,IAAIsE,EAAO3G,EAAI8G,WAAW,GACtBH,EAAO,MACT3G,EAAM2G,GAGV,QAAiB7I,IAAbwwF,GAA8C,kBAAbA,EACnC,MAAM,IAAI1vF,UAAU,6BAEtB,GAAwB,kBAAb0vF,IAA0B/vC,EAAOiwC,WAAWF,GACrD,MAAM,IAAI1vF,UAAU,qBAAuB0vF,OAErB,kBAARtuF,IAChBA,GAAY,KAId,GAAI2H,EAAQ,GAAK5I,KAAKsD,OAASsF,GAAS5I,KAAKsD,OAASuF,EACpD,MAAM,IAAIkmF,WAAW,sBAGvB,GAAIlmF,GAAOD,EACT,OAAO5I,KAQT,IAAI6H,EACJ,GANAe,KAAkB,EAClBC,OAAc9J,IAAR8J,EAAoB7I,KAAKsD,OAASuF,IAAQ,EAE3C5H,IAAKA,EAAM,GAGG,kBAARA,EACT,IAAK4G,EAAIe,EAAOf,EAAIgB,IAAOhB,EACzB7H,KAAK6H,GAAK5G,MAEP,CACL,IAAI0yF,EAAQn0C,EAAOjM,SAAStyC,GACxBA,EACA+uF,EAAY,IAAIxwC,EAAOv+C,EAAKsuF,GAAU3wF,YACtCkJ,EAAM6rF,EAAMrwF,OAChB,IAAKuE,EAAI,EAAGA,EAAIgB,EAAMD,IAASf,EAC7B7H,KAAK6H,EAAIe,GAAS+qF,EAAM9rF,EAAIC,GAIhC,OAAO9H,MAMT,IAAI+2F,EAAoB,qBAExB,SAASC,EAAat+B,GAIpB,GAFAA,EAAMu+B,EAAWv+B,GAAK3kB,QAAQgjD,EAAmB,IAE7Cr+B,EAAIp1D,OAAS,EAAG,MAAO,GAE3B,MAAOo1D,EAAIp1D,OAAS,IAAM,EACxBo1D,GAAY,IAEd,OAAOA,EAGT,SAASu+B,EAAYv+B,GACnB,OAAIA,EAAIp0C,KAAao0C,EAAIp0C,OAClBo0C,EAAI3kB,QAAQ,aAAc,IAGnC,SAAS2/C,EAAOvgE,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAEv0B,SAAS,IAC7Bu0B,EAAEv0B,SAAS,IAGpB,SAASoxF,EAAaR,EAAQ0H,GAE5B,IAAI/E,EADJ+E,EAAQA,GAAS/8D,IAMjB,IAJA,IAAI72B,EAASksF,EAAOlsF,OAChB6zF,EAAgB,KAChBxD,EAAQ,GAEH9rF,EAAI,EAAGA,EAAIvE,IAAUuE,EAAG,CAI/B,GAHAsqF,EAAY3C,EAAOznF,WAAWF,GAG1BsqF,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKgF,EAAe,CAElB,GAAIhF,EAAY,MAAQ,EAEjB+E,GAAS,IAAM,GAAGvD,EAAMpwF,KAAK,IAAM,IAAM,KAC9C,SACK,GAAIsE,EAAI,IAAMvE,EAAQ,EAEtB4zF,GAAS,IAAM,GAAGvD,EAAMpwF,KAAK,IAAM,IAAM,KAC9C,SAIF4zF,EAAgBhF,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjB+E,GAAS,IAAM,GAAGvD,EAAMpwF,KAAK,IAAM,IAAM,KAC9C4zF,EAAgBhF,EAChB,SAIFA,EAAkE,OAArDgF,EAAgB,OAAU,GAAKhF,EAAY,YAC/CgF,IAEJD,GAAS,IAAM,GAAGvD,EAAMpwF,KAAK,IAAM,IAAM,KAMhD,GAHA4zF,EAAgB,KAGZhF,EAAY,IAAM,CACpB,IAAK+E,GAAS,GAAK,EAAG,MACtBvD,EAAMpwF,KAAK4uF,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAK+E,GAAS,GAAK,EAAG,MACtBvD,EAAMpwF,KACJ4uF,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAK+E,GAAS,GAAK,EAAG,MACtBvD,EAAMpwF,KACJ4uF,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAIjqF,MAAM,sBARhB,IAAKgvF,GAAS,GAAK,EAAG,MACtBvD,EAAMpwF,KACJ4uF,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOwB,EAGT,SAASlC,EAAc/4B,GAErB,IADA,IAAI0+B,EAAY,GACPvvF,EAAI,EAAGA,EAAI6wD,EAAIp1D,SAAUuE,EAEhCuvF,EAAU7zF,KAAyB,IAApBm1D,EAAI3wD,WAAWF,IAEhC,OAAOuvF,EAGT,SAASvF,EAAgBn5B,EAAKw+B,GAG5B,IAFA,IAAI/kE,EAAGklE,EAAIC,EACPF,EAAY,GACPvvF,EAAI,EAAGA,EAAI6wD,EAAIp1D,SAAUuE,EAAG,CACnC,IAAKqvF,GAAS,GAAK,EAAG,MAEtB/kE,EAAIumC,EAAI3wD,WAAWF,GACnBwvF,EAAKllE,GAAK,EACVmlE,EAAKnlE,EAAI,IACTilE,EAAU7zF,KAAK+zF,GACfF,EAAU7zF,KAAK8zF,GAGjB,OAAOD,EAGT,SAASnH,EAAev3B,GACtB,OAAO1yD,EAAOsB,YAAY0vF,EAAYt+B,IAGxC,SAAS64B,GAAYzrF,EAAK8rE,EAAK1xD,EAAQ5c,GACrC,IAAK,IAAIuE,EAAI,EAAGA,EAAIvE,IAAUuE,EAAG,CAC/B,GAAKA,EAAIqY,GAAU0xD,EAAItuE,QAAYuE,GAAK/B,EAAIxC,OAAS,MACrDsuE,EAAI/pE,EAAIqY,GAAUpa,EAAI+B,GAExB,OAAOA,EAGT,SAAS+nF,GAAO3uF,GACd,OAAOA,IAAQA,K,yDC3vDF,SAASs2F,EAAkBr0F,EAAK4E,IAClC,MAAPA,GAAeA,EAAM5E,EAAII,UAAQwE,EAAM5E,EAAII,QAE/C,IAAK,IAAIuE,EAAI,EAAGyB,EAAO,IAAI5E,MAAMoD,GAAMD,EAAIC,EAAKD,IAC9CyB,EAAKzB,GAAK3E,EAAI2E,GAGhB,OAAOyB,EAPT,mC,yCCAA,IAAIxJ,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,IAAI,CAACE,YAAY,aAAam3F,SAAS,CAAC,UAAYz3F,EAAIoB,GAAGpB,EAAI03F,gBACtN71F,EAAkB,GCStB,G,sEAAA,CACA,gBACEE,MAAF,CACI41F,gBAAJ,CACM31F,KAAN,OACMC,QAAN,KAIEC,WAAY,GAEZC,KAXF,WAYI,MAAO,CACLu1F,SAAN,KAKEt1F,SAAU,GAGVC,QAAS,GAET0B,MAAO,CACL4zF,gBADJ,SACA,GACM,IAAN,IACA,0BACM13F,KAAKy3F,SAAWE,EAAK5jD,QAAQ6jD,EAAO,mCAIxC7zF,aA/BF,aAiCEC,QAjCF,WAkCI,IAAJ,uBACA,0BACIhE,KAAKy3F,SAAWE,EAAK5jD,QAAQ6jD,EAAO,kCAGtC3zF,YAvCF,aAyCEC,QAzCF,aA2CEC,aA3CF,aA6CEC,QA7CF,aA+CEC,cA/CF,aAiDEC,UAjDF,eCV+X,I,wBCQ3XC,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,+BCnBf,SAA2C+G,EAAMsvB,GAE/Cx8B,EAAOC,QAAUu8B,EAAQ,EAAQ,UAFnC,CASoB,qBAATvvB,MAAuBA,MAAc,SAASwsF,GACzD,OAAgB,SAAU7+D,GAEhB,IAAI6B,EAAmB,GAGvB,SAAS7vB,EAAoB8vB,GAG5B,GAAGD,EAAiBC,GACnB,OAAOD,EAAiBC,GAAUz8B,QAGnC,IAAID,EAASy8B,EAAiBC,GAAY,CACzCjzB,EAAGizB,EACHnI,GAAG,EACHt0B,QAAS,IAUV,OANA26B,EAAQ8B,GAAU37B,KAAKf,EAAOC,QAASD,EAAQA,EAAOC,QAAS2M,GAG/D5M,EAAOu0B,GAAI,EAGJv0B,EAAOC,QA0Df,OArDA2M,EAAoB0mB,EAAIsH,EAGxBhuB,EAAoBmnB,EAAI0I,EAGxB7vB,EAAoBsnB,EAAI,SAASj0B,EAASgM,EAAM0wB,GAC3C/vB,EAAoBC,EAAE5M,EAASgM,IAClC7L,OAAO8e,eAAejf,EAASgM,EAAM,CAAE8S,YAAY,EAAM6d,IAAKD,KAKhE/vB,EAAoBgnB,EAAI,SAAS3zB,GACX,qBAAXC,QAA0BA,OAAOQ,aAC1CN,OAAO8e,eAAejf,EAASC,OAAOQ,YAAa,CAAEG,MAAO,WAE7DT,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,KAQvD+L,EAAoBuoB,EAAI,SAASt0B,EAAOgxD,GAEvC,GADU,EAAPA,IAAUhxD,EAAQ+L,EAAoB/L,IAC/B,EAAPgxD,EAAU,OAAOhxD,EACpB,GAAW,EAAPgxD,GAA8B,kBAAVhxD,GAAsBA,GAASA,EAAMg8B,WAAY,OAAOh8B,EAChF,IAAIwzC,EAAKj0C,OAAO29B,OAAO,MAGvB,GAFAnxB,EAAoBgnB,EAAEygB,GACtBj0C,OAAO8e,eAAem1B,EAAI,UAAW,CAAEt1B,YAAY,EAAMle,MAAOA,IACtD,EAAPgxD,GAA4B,iBAAThxD,EAAmB,IAAI,IAAI0B,KAAO1B,EAAO+L,EAAoBsnB,EAAEmgB,EAAI9xC,EAAK,SAASA,GAAO,OAAO1B,EAAM0B,IAAQgyC,KAAK,KAAMhyC,IAC9I,OAAO8xC,GAIRznC,EAAoBmoB,EAAI,SAAS/0B,GAChC,IAAI28B,EAAS38B,GAAUA,EAAO68B,WAC7B,WAAwB,OAAO78B,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADA4M,EAAoBsnB,EAAEyI,EAAQ,IAAKA,GAC5BA,GAIR/vB,EAAoBC,EAAI,SAASiwB,EAAQC,GAAY,OAAO38B,OAAOC,UAAUC,eAAeS,KAAK+7B,EAAQC,IAGzGnwB,EAAoB2mB,EAAI,GAIjB3mB,EAAoBA,EAAoB2rB,EAAI,QAnF7C,CAsFN,CAEJ,OACA,SAAUv4B,EAAQC,EAAS2M,GAEjC,aAEA,IAAI8sF,EAAU9sF,EAAoB,QAC9B+sF,EAAU/sF,EAAoB,QAC9BgtF,EAAWhtF,EAAoB,QAC/B+jD,EAAO/jD,EAAoB,QAC3BitF,EAAYjtF,EAAoB,QAChCktF,EAAcltF,EAAoB,QAClCmtF,EAAiBntF,EAAoB,QACrCs5B,EAAiBt5B,EAAoB,QACrCotF,EAAWptF,EAAoB,OAApBA,CAA4B,YACvCqtF,IAAU,GAAGntF,MAAQ,QAAU,GAAGA,QAClCotF,EAAc,aACdC,EAAO,OACPC,EAAS,SAETC,EAAa,WAAc,OAAOz4F,MAEtC5B,EAAOC,QAAU,SAAUq6F,EAAMC,EAAM57E,EAAauN,EAAMsuE,EAASC,EAAQC,GACzEZ,EAAYn7E,EAAa47E,EAAMruE,GAC/B,IAeIloB,EAASzB,EAAKkoE,EAfdkwB,EAAY,SAAUC,GACxB,IAAKX,GAASW,KAAQv5C,EAAO,OAAOA,EAAMu5C,GAC1C,OAAQA,GACN,KAAKT,EAAM,OAAO,WAAkB,OAAO,IAAIx7E,EAAY/c,KAAMg5F,IACjE,KAAKR,EAAQ,OAAO,WAAoB,OAAO,IAAIz7E,EAAY/c,KAAMg5F,IACrE,OAAO,WAAqB,OAAO,IAAIj8E,EAAY/c,KAAMg5F,KAEzDC,EAAMN,EAAO,YACbO,EAAaN,GAAWJ,EACxBW,GAAa,EACb15C,EAAQi5C,EAAKj6F,UACb26F,EAAU35C,EAAM24C,IAAa34C,EAAM64C,IAAgBM,GAAWn5C,EAAMm5C,GACpES,EAAWD,GAAWL,EAAUH,GAChCU,EAAWV,EAAWM,EAAwBH,EAAU,WAArBM,OAAkCt6F,EACrEw6F,EAAqB,SAARZ,GAAkBl5C,EAAM+5C,SAAqBJ,EAwB9D,GArBIG,IACF1wB,EAAoBvkC,EAAei1D,EAAWp6F,KAAK,IAAIu5F,IACnD7vB,IAAsBrqE,OAAOC,WAAaoqE,EAAkBv+C,OAE9D6tE,EAAetvB,EAAmBowB,GAAK,GAElCnB,GAAiD,mBAA/BjvB,EAAkBuvB,IAAyBrpC,EAAK8Z,EAAmBuvB,EAAUK,KAIpGS,GAAcE,GAAWA,EAAQ/uF,OAASmuF,IAC5CW,GAAa,EACbE,EAAW,WAAoB,OAAOD,EAAQj6F,KAAKa,QAG/C83F,IAAWgB,IAAYT,IAASc,GAAe15C,EAAM24C,IACzDrpC,EAAKtP,EAAO24C,EAAUiB,GAGxBpB,EAAUU,GAAQU,EAClBpB,EAAUgB,GAAOR,EACbG,EAMF,GALAx2F,EAAU,CACRyjC,OAAQqzD,EAAaG,EAAWN,EAAUP,GAC1CttF,KAAM2tF,EAASQ,EAAWN,EAAUR,GACpCiB,QAASF,GAEPR,EAAQ,IAAKn4F,KAAOyB,EAChBzB,KAAO8+C,GAAQu4C,EAASv4C,EAAO9+C,EAAKyB,EAAQzB,SAC7Co3F,EAAQA,EAAQ0B,EAAI1B,EAAQrhE,GAAK2hE,GAASc,GAAaR,EAAMv2F,GAEtE,OAAOA,IAMH,OACA,SAAUhE,EAAQC,EAAS2M,GAEjC,IAAI4Q,EAAY5Q,EAAoB,QAChC0uF,EAAU1uF,EAAoB,QAGlC5M,EAAOC,QAAU,SAAUs7F,GACzB,OAAO,SAAUr3F,EAAM2tC,GACrB,IAGIre,EAAGC,EAHH8E,EAAIoJ,OAAO25D,EAAQp3F,IACnBuF,EAAI+T,EAAUq0B,GACdtd,EAAIgE,EAAErzB,OAEV,OAAIuE,EAAI,GAAKA,GAAK8qB,EAAUgnE,EAAY,QAAK56F,GAC7C6yB,EAAI+E,EAAE5uB,WAAWF,GACV+pB,EAAI,OAAUA,EAAI,OAAU/pB,EAAI,IAAM8qB,IAAMd,EAAI8E,EAAE5uB,WAAWF,EAAI,IAAM,OAAUgqB,EAAI,MACxF8nE,EAAYhjE,EAAEi/B,OAAO/tD,GAAK+pB,EAC1B+nE,EAAYhjE,EAAEhzB,MAAMkE,EAAGA,EAAI,GAA2BgqB,EAAI,OAAzBD,EAAI,OAAU,IAAqB,UAOtE,OACA,SAAUxzB,EAAQC,EAAS2M,GAEjC,aAEA,IAAI4uF,EAAK5uF,EAAoB,OAApBA,EAA4B,GAIrC5M,EAAOC,QAAU,SAAUw7F,EAAGn5F,EAAOo5F,GACnC,OAAOp5F,GAASo5F,EAAUF,EAAGC,EAAGn5F,GAAO4C,OAAS,KAM5C,OACA,SAAUlF,EAAQC,EAAS2M,GAEjC,aAGA,IAAI+uF,EAAW/uF,EAAoB,QACnC5M,EAAOC,QAAU,WACf,IAAIiE,EAAOy3F,EAAS/5F,MAChBT,EAAS,GAMb,OALI+C,EAAKsa,SAAQrd,GAAU,KACvB+C,EAAKw+C,aAAYvhD,GAAU,KAC3B+C,EAAKy+C,YAAWxhD,GAAU,KAC1B+C,EAAKw3F,UAASv6F,GAAU,KACxB+C,EAAK03F,SAAQz6F,GAAU,KACpBA,IAMH,OACA,SAAUnB,EAAQC,EAAS2M,GAGjC,IAAIivF,EAAQjvF,EAAoB,QAC5BkvF,EAAclvF,EAAoB,QAEtC5M,EAAOC,QAAUG,OAAO0M,MAAQ,SAAcivF,GAC5C,OAAOF,EAAME,EAAGD,KAMZ,KACA,SAAU97F,EAAQC,EAAS2M,GAEjC,IAAIovF,EAAKpvF,EAAoB,QACzB+uF,EAAW/uF,EAAoB,QAC/BqvF,EAAUrvF,EAAoB,QAElC5M,EAAOC,QAAU2M,EAAoB,QAAUxM,OAAO0lC,iBAAmB,SAA0Bi2D,EAAGG,GACpGP,EAASI,GACT,IAGIV,EAHAvuF,EAAOmvF,EAAQC,GACfh3F,EAAS4H,EAAK5H,OACduE,EAAI,EAER,MAAOvE,EAASuE,EAAGuyF,EAAGhoE,EAAE+nE,EAAGV,EAAIvuF,EAAKrD,KAAMyyF,EAAWb,IACrD,OAAOU,IAMH,OACA,SAAU/7F,EAAQC,EAAS2M,GAEjC,aAEAA,EAAoB,QACpB,IAAIgtF,EAAWhtF,EAAoB,QAC/B+jD,EAAO/jD,EAAoB,QAC3BuvF,EAAQvvF,EAAoB,QAC5B0uF,EAAU1uF,EAAoB,QAC9BwvF,EAAMxvF,EAAoB,QAC1ByvF,EAAazvF,EAAoB,QAEjC0vF,EAAUF,EAAI,WAEdG,GAAiCJ,GAAM,WAIzC,IAAI35C,EAAK,IAMT,OALAA,EAAGg6C,KAAO,WACR,IAAIr7F,EAAS,GAEb,OADAA,EAAOu/D,OAAS,CAAEltC,EAAG,KACdryB,GAEyB,MAA3B,GAAGw0C,QAAQ6M,EAAI,WAGpBi6C,EAAoC,WAEtC,IAAIj6C,EAAK,OACLk6C,EAAel6C,EAAGg6C,KACtBh6C,EAAGg6C,KAAO,WAAc,OAAOE,EAAap0F,MAAM1G,KAAMyG,YACxD,IAAIlH,EAAS,KAAK8hB,MAAMu/B,GACxB,OAAyB,IAAlBrhD,EAAO+D,QAA8B,MAAd/D,EAAO,IAA4B,MAAdA,EAAO,GANpB,GASxCnB,EAAOC,QAAU,SAAU08F,EAAKz3F,EAAQs3F,GACtC,IAAII,EAASR,EAAIO,GAEbE,GAAuBV,GAAM,WAE/B,IAAIJ,EAAI,GAER,OADAA,EAAEa,GAAU,WAAc,OAAO,GACZ,GAAd,GAAGD,GAAKZ,MAGbe,EAAoBD,GAAuBV,GAAM,WAEnD,IAAIY,GAAa,EACbv6C,EAAK,IAST,OARAA,EAAGg6C,KAAO,WAAiC,OAAnBO,GAAa,EAAa,MACtC,UAARJ,IAGFn6C,EAAGjhD,YAAc,GACjBihD,EAAGjhD,YAAY+6F,GAAW,WAAc,OAAO95C,IAEjDA,EAAGo6C,GAAQ,KACHG,UACLp8F,EAEL,IACGk8F,IACAC,GACQ,YAARH,IAAsBJ,GACd,UAARI,IAAoBF,EACrB,CACA,IAAIO,EAAqB,IAAIJ,GACzBK,EAAMT,EACRlB,EACAsB,EACA,GAAGD,IACH,SAAyBO,EAAcC,EAAQ7iC,EAAK8iC,EAAMC,GACxD,OAAIF,EAAOX,OAASH,EACdQ,IAAwBQ,EAInB,CAAE7kE,MAAM,EAAM33B,MAAOm8F,EAAmBj8F,KAAKo8F,EAAQ7iC,EAAK8iC,IAE5D,CAAE5kE,MAAM,EAAM33B,MAAOq8F,EAAan8F,KAAKu5D,EAAK6iC,EAAQC,IAEtD,CAAE5kE,MAAM,MAGf8kE,EAAQL,EAAI,GACZM,EAAON,EAAI,GAEfrD,EAASj4D,OAAOthC,UAAWs8F,EAAKW,GAChC3sC,EAAKnP,OAAOnhD,UAAWu8F,EAAkB,GAAV13F,EAG3B,SAAUksF,EAAQnnB,GAAO,OAAOszB,EAAKx8F,KAAKqwF,EAAQxvF,KAAMqoE,IAGxD,SAAUmnB,GAAU,OAAOmM,EAAKx8F,KAAKqwF,EAAQxvF,WAQ/C,OACA,SAAU5B,EAAQC,EAAS2M,GAEjC,IAAI/D,EAAW+D,EAAoB,QAC/B/F,EAAW+F,EAAoB,QAAQ/F,SAEvC+yB,EAAK/wB,EAAShC,IAAagC,EAAShC,EAASC,eACjD9G,EAAOC,QAAU,SAAUm4B,GACzB,OAAOwB,EAAK/yB,EAASC,cAAcsxB,GAAM,KAMrC,OACA,SAAUp4B,EAAQC,EAAS2M,GAGjC,IAAI4wF,EAAM5wF,EAAoB,QAC1BiuF,EAAMjuF,EAAoB,OAApBA,CAA4B,eAElC6wF,EAAkD,aAA5CD,EAAI,WAAc,OAAOn1F,UAArB,IAGVq1F,EAAS,SAAUtlE,EAAI71B,GACzB,IACE,OAAO61B,EAAG71B,GACV,MAAOrB,MAGXlB,EAAOC,QAAU,SAAUm4B,GACzB,IAAI2jE,EAAG4B,EAAGC,EACV,YAAcj9F,IAAPy3B,EAAmB,YAAqB,OAAPA,EAAc,OAEN,iBAApCulE,EAAID,EAAO3B,EAAI37F,OAAOg4B,GAAKyiE,IAAoB8C,EAEvDF,EAAMD,EAAIzB,GAEM,WAAf6B,EAAIJ,EAAIzB,KAAsC,mBAAZA,EAAE8B,OAAuB,YAAcD,IAM1E,KACA,SAAU59F,EAAQC,GAExBA,EAAQ+zB,EAAI5zB,OAAO6hD,uBAKb,OACA,SAAUjiD,EAAQC,EAAS2M,GAEjC,IAAI4R,EAAS5R,EAAoB,QAC7B+jD,EAAO/jD,EAAoB,QAC3BouD,EAAMpuD,EAAoB,QAC1BkxF,EAAMlxF,EAAoB,OAApBA,CAA4B,OAClCmxF,EAAYnxF,EAAoB,QAChC2uF,EAAY,WACZyC,GAAO,GAAKD,GAAW96E,MAAMs4E,GAEjC3uF,EAAoB,QAAQqxF,cAAgB,SAAU7lE,GACpD,OAAO2lE,EAAUh9F,KAAKq3B,KAGvBp4B,EAAOC,QAAU,SAAU87F,EAAGx5F,EAAKM,EAAKq7F,GACvC,IAAIC,EAA2B,mBAAPt7F,EACpBs7F,IAAYnjC,EAAIn4D,EAAK,SAAW8tD,EAAK9tD,EAAK,OAAQN,IAClDw5F,EAAEx5F,KAASM,IACXs7F,IAAYnjC,EAAIn4D,EAAKi7F,IAAQntC,EAAK9tD,EAAKi7F,EAAK/B,EAAEx5F,GAAO,GAAKw5F,EAAEx5F,GAAOy7F,EAAIrzF,KAAKg3B,OAAOp/B,MACnFw5F,IAAMv9E,EACRu9E,EAAEx5F,GAAOM,EACCq7F,EAGDnC,EAAEx5F,GACXw5F,EAAEx5F,GAAOM,EAET8tD,EAAKorC,EAAGx5F,EAAKM,WALNk5F,EAAEx5F,GACTouD,EAAKorC,EAAGx5F,EAAKM,OAOdsK,SAAS9M,UAAWk7F,GAAW,WAChC,MAAsB,mBAAR35F,MAAsBA,KAAKk8F,IAAQC,EAAUh9F,KAAKa,UAM5D,OACA,SAAU5B,EAAQC,EAAS2M,GAGjC,IAAI+uF,EAAW/uF,EAAoB,QAC/BwxF,EAAMxxF,EAAoB,QAC1BkvF,EAAclvF,EAAoB,QAClCyxF,EAAWzxF,EAAoB,OAApBA,CAA4B,YACvC0xF,EAAQ,aACRC,EAAY,YAGZC,EAAa,WAEf,IAIIC,EAJAC,EAAS9xF,EAAoB,OAApBA,CAA4B,UACrCnD,EAAIqyF,EAAY52F,OAChBy5F,EAAK,IACLC,EAAK,IAETF,EAAOrgF,MAAMusC,QAAU,OACvBh+C,EAAoB,QAAQooB,YAAY0pE,GACxCA,EAAOh3F,IAAM,cAGb+2F,EAAiBC,EAAOG,cAAch4F,SACtC43F,EAAez8E,OACfy8E,EAAeviE,MAAMyiE,EAAK,SAAWC,EAAK,oBAAsBD,EAAK,UAAYC,GACjFH,EAAehvF,QACf+uF,EAAaC,EAAenmE,EAC5B,MAAO7uB,WAAY+0F,EAAWD,GAAWzC,EAAYryF,IACrD,OAAO+0F,KAGTx+F,EAAOC,QAAUG,OAAO29B,QAAU,SAAgBg+D,EAAGG,GACnD,IAAI/6F,EAQJ,OAPU,OAAN46F,GACFuC,EAAMC,GAAa5C,EAASI,GAC5B56F,EAAS,IAAIm9F,EACbA,EAAMC,GAAa,KAEnBp9F,EAAOk9F,GAAYtC,GACd56F,EAASq9F,SACM79F,IAAfu7F,EAA2B/6F,EAASi9F,EAAIj9F,EAAQ+6F,KAMnD,OACA,SAAUl8F,EAAQC,EAAS2M,GAEjC,IAAI8xE,EAAQ9xE,EAAoB,OAApBA,CAA4B,OACpCyd,EAAMzd,EAAoB,QAC1B1M,EAAS0M,EAAoB,QAAQ1M,OACrC4+F,EAA8B,mBAAV5+F,EAEpB6+F,EAAW/+F,EAAOC,QAAU,SAAUgM,GACxC,OAAOyyE,EAAMzyE,KAAUyyE,EAAMzyE,GAC3B6yF,GAAc5+F,EAAO+L,KAAU6yF,EAAa5+F,EAASmqB,GAAK,UAAYpe,KAG1E8yF,EAASrgB,MAAQA,GAKX,OACA,SAAU1+E,EAAQC,GAExBD,EAAOC,SAAU,GAKX,OACA,SAAUD,EAAQC,GAExB,IAAIO,EAAW,GAAGA,SAElBR,EAAOC,QAAU,SAAUm4B,GACzB,OAAO53B,EAASO,KAAKq3B,GAAI7yB,MAAM,GAAI,KAM/B,OACA,SAAUvF,EAAQC,EAAS2M,GAEjC,aAGA,IAAI+sF,EAAU/sF,EAAoB,QAC9BzE,EAAUyE,EAAoB,QAC9BoyF,EAAW,WAEfrF,EAAQA,EAAQ0B,EAAI1B,EAAQrhE,EAAI1rB,EAAoB,OAApBA,CAA4BoyF,GAAW,SAAU,CAC/E/J,SAAU,SAAkB7gC,GAC1B,SAAUjsD,EAAQvG,KAAMwyD,EAAc4qC,GACnCh1F,QAAQoqD,EAAc/rD,UAAUnD,OAAS,EAAImD,UAAU,QAAK1H,OAO7D,OACA,SAAUX,EAAQC,EAAS2M,GAEjC,IAAIovF,EAAKpvF,EAAoB,QACzBqyF,EAAaryF,EAAoB,QACrC5M,EAAOC,QAAU2M,EAAoB,QAAU,SAAUkwB,EAAQv6B,EAAK1B,GACpE,OAAOm7F,EAAGhoE,EAAE8I,EAAQv6B,EAAK08F,EAAW,EAAGp+F,KACrC,SAAUi8B,EAAQv6B,EAAK1B,GAEzB,OADAi8B,EAAOv6B,GAAO1B,EACPi8B,IAMH,OACA,SAAU98B,EAAQC,EAAS2M,GAGjC,IAAIouD,EAAMpuD,EAAoB,QAC1BsyF,EAAWtyF,EAAoB,QAC/ByxF,EAAWzxF,EAAoB,OAApBA,CAA4B,YACvCuyF,EAAc/+F,OAAOC,UAEzBL,EAAOC,QAAUG,OAAO8lC,gBAAkB,SAAU61D,GAElD,OADAA,EAAImD,EAASnD,GACT/gC,EAAI+gC,EAAGsC,GAAkBtC,EAAEsC,GACH,mBAAjBtC,EAAEx6F,aAA6Bw6F,aAAaA,EAAEx6F,YAChDw6F,EAAEx6F,YAAYlB,UACd07F,aAAa37F,OAAS++F,EAAc,OAMzC,OACA,SAAUn/F,EAAQC,EAAS2M,GAEjC,aAEA,IAAImxB,EAASnxB,EAAoB,QAC7BkS,EAAalS,EAAoB,QACjCmtF,EAAiBntF,EAAoB,QACrC69D,EAAoB,GAGxB79D,EAAoB,OAApBA,CAA4B69D,EAAmB79D,EAAoB,OAApBA,CAA4B,aAAa,WAAc,OAAOhL,QAE7G5B,EAAOC,QAAU,SAAU0e,EAAa47E,EAAMruE,GAC5CvN,EAAYte,UAAY09B,EAAO0sC,EAAmB,CAAEv+C,KAAMpN,EAAW,EAAGoN,KACxE6tE,EAAep7E,EAAa47E,EAAO,eAM/B,OACA,SAAUv6F,EAAQC,EAAS2M,GAGjC,IAAIsyF,EAAWtyF,EAAoB,QAC/BivF,EAAQjvF,EAAoB,QAEhCA,EAAoB,OAApBA,CAA4B,QAAQ,WAClC,OAAO,SAAcwrB,GACnB,OAAOyjE,EAAMqD,EAAS9mE,SAOpB,KACA,SAAUp4B,EAAQC,GAGxB,IAAIy2D,EAAO16B,KAAK06B,KACZp6B,EAAQN,KAAKM,MACjBt8B,EAAOC,QAAU,SAAUm4B,GACzB,OAAOiE,MAAMjE,GAAMA,GAAM,GAAKA,EAAK,EAAIkE,EAAQo6B,GAAMt+B,KAMjD,KACA,SAAUp4B,EAAQC,GAExBD,EAAOC,QAAU,SAAUm/F,EAAQv+F,GACjC,MAAO,CACLke,aAAuB,EAATqgF,GACdpgF,eAAyB,EAATogF,GAChBngF,WAAqB,EAATmgF,GACZv+F,MAAOA,KAOL,OACA,SAAUb,EAAQC,EAAS2M,GAGjC,IAAI0uF,EAAU1uF,EAAoB,QAClC5M,EAAOC,QAAU,SAAUm4B,GACzB,OAAOh4B,OAAOk7F,EAAQljE,MAMlB,KACA,SAAUp4B,EAAQC,EAAS2M,GAEjC,IAAIyyF,EAAQzyF,EAAoB,OAApBA,CAA4B,SACxC5M,EAAOC,QAAU,SAAU08F,GACzB,IAAIn6C,EAAK,IACT,IACE,MAAMm6C,GAAKn6C,GACX,MAAOthD,GACP,IAEE,OADAshD,EAAG68C,IAAS,GACJ,MAAM1C,GAAKn6C,GACnB,MAAOxuB,KACT,OAAO,IAML,OACA,SAAUh0B,EAAQC,EAAS2M,GAEjC,aAGA,IAAI0yF,EAAc1yF,EAAoB,QAElC2yF,EAAa/9C,OAAOnhD,UAAUm8F,KAI9BgD,EAAgB79D,OAAOthC,UAAUs1C,QAEjC8pD,EAAcF,EAEdG,EAAa,YAEbC,EAA2B,WAC7B,IAAIC,EAAM,IACNC,EAAM,MAGV,OAFAN,EAAWx+F,KAAK6+F,EAAK,KACrBL,EAAWx+F,KAAK8+F,EAAK,KACM,IAApBD,EAAIF,IAAyC,IAApBG,EAAIH,GALP,GAS3BI,OAAuCn/F,IAAvB,OAAO67F,KAAK,IAAI,GAEhCuD,EAAQJ,GAA4BG,EAEpCC,IACFN,EAAc,SAAcnlC,GAC1B,IACI5Y,EAAWs+C,EAAQh0F,EAAOvC,EAD1B+4C,EAAK5gD,KAwBT,OArBIk+F,IACFE,EAAS,IAAIx+C,OAAO,IAAMgB,EAAG7W,OAAS,WAAY2zD,EAAYv+F,KAAKyhD,KAEjEm9C,IAA0Bj+C,EAAYc,EAAGk9C,IAE7C1zF,EAAQuzF,EAAWx+F,KAAKyhD,EAAI8X,GAExBqlC,GAA4B3zF,IAC9Bw2C,EAAGk9C,GAAcl9C,EAAGhkC,OAASxS,EAAM1J,MAAQ0J,EAAM,GAAG9G,OAASw8C,GAE3Do+C,GAAiB9zF,GAASA,EAAM9G,OAAS,GAI3Cs6F,EAAcz+F,KAAKiL,EAAM,GAAIg0F,GAAQ,WACnC,IAAKv2F,EAAI,EAAGA,EAAIpB,UAAUnD,OAAS,EAAGuE,SACf9I,IAAjB0H,UAAUoB,KAAkBuC,EAAMvC,QAAK9I,MAK1CqL,IAIXhM,EAAOC,QAAUw/F,GAKX,OACA,SAAUz/F,EAAQC,GAExBA,EAAQ+zB,EAAI,GAAG+mC,sBAKT,KACA,SAAU/6D,EAAQC,EAAS2M,GAEjC,IAAIqzF,EAAOrzF,EAAoB,QAC3B4R,EAAS5R,EAAoB,QAC7BszF,EAAS,qBACTxhB,EAAQlgE,EAAO0hF,KAAY1hF,EAAO0hF,GAAU,KAE/ClgG,EAAOC,QAAU,SAAUsC,EAAK1B,GAC/B,OAAO69E,EAAMn8E,KAASm8E,EAAMn8E,QAAiB5B,IAAVE,EAAsBA,EAAQ,MAChE,WAAY,IAAIsE,KAAK,CACtBmvB,QAAS2rE,EAAK3rE,QACdu9B,KAAMjlD,EAAoB,QAAU,OAAS,SAC7CuzF,UAAW,0CAMP,OACA,SAAUngG,EAAQC,EAAS2M,GAEjC,IAAI4R,EAAS5R,EAAoB,QAC7BqzF,EAAOrzF,EAAoB,QAC3B+jD,EAAO/jD,EAAoB,QAC3BgtF,EAAWhtF,EAAoB,QAC/B7F,EAAM6F,EAAoB,QAC1B2xF,EAAY,YAEZ5E,EAAU,SAAUh2F,EAAMsI,EAAM0/B,GAClC,IAQIppC,EAAK69F,EAAK/K,EAAKgL,EARfC,EAAY38F,EAAOg2F,EAAQrhE,EAC3BioE,EAAY58F,EAAOg2F,EAAQ6G,EAC3BC,EAAY98F,EAAOg2F,EAAQ8B,EAC3BiF,EAAW/8F,EAAOg2F,EAAQ0B,EAC1BsF,EAAUh9F,EAAOg2F,EAAQiE,EACzB/+E,EAAS0hF,EAAY/hF,EAASiiF,EAAYjiF,EAAOvS,KAAUuS,EAAOvS,GAAQ,KAAOuS,EAAOvS,IAAS,IAAIsyF,GACrGt+F,EAAUsgG,EAAYN,EAAOA,EAAKh0F,KAAUg0F,EAAKh0F,GAAQ,IACzD20F,EAAW3gG,EAAQs+F,KAAet+F,EAAQs+F,GAAa,IAG3D,IAAKh8F,KADDg+F,IAAW50D,EAAS1/B,GACZ0/B,EAEVy0D,GAAOE,GAAazhF,QAA0Ble,IAAhBke,EAAOtc,GAErC8yF,GAAO+K,EAAMvhF,EAAS8sB,GAAQppC,GAE9B89F,EAAMM,GAAWP,EAAMr5F,EAAIsuF,EAAK72E,GAAUkiF,GAA0B,mBAAPrL,EAAoBtuF,EAAIoG,SAASpM,KAAMs0F,GAAOA,EAEvGx2E,GAAQ+6E,EAAS/6E,EAAQtc,EAAK8yF,EAAK1xF,EAAOg2F,EAAQkH,GAElD5gG,EAAQsC,IAAQ8yF,GAAK1kC,EAAK1wD,EAASsC,EAAK89F,GACxCK,GAAYE,EAASr+F,IAAQ8yF,IAAKuL,EAASr+F,GAAO8yF,IAG1D72E,EAAOyhF,KAAOA,EAEdtG,EAAQrhE,EAAI,EACZqhE,EAAQ6G,EAAI,EACZ7G,EAAQ8B,EAAI,EACZ9B,EAAQ0B,EAAI,EACZ1B,EAAQiE,EAAI,GACZjE,EAAQmH,EAAI,GACZnH,EAAQkH,EAAI,GACZlH,EAAQoH,EAAI,IACZ/gG,EAAOC,QAAU05F,GAKX,OACA,SAAU35F,EAAQC,EAAS2M,GAGjC,IAAI+sF,EAAU/sF,EAAoB,QAC9BqzF,EAAOrzF,EAAoB,QAC3BuvF,EAAQvvF,EAAoB,QAChC5M,EAAOC,QAAU,SAAU08F,EAAKH,GAC9B,IAAI10F,GAAMm4F,EAAK7/F,QAAU,IAAIu8F,IAAQv8F,OAAOu8F,GACxC0D,EAAM,GACVA,EAAI1D,GAAOH,EAAK10F,GAChB6xF,EAAQA,EAAQ8B,EAAI9B,EAAQrhE,EAAI6jE,GAAM,WAAcr0F,EAAG,MAAQ,SAAUu4F,KAMrE,OACA,SAAUrgG,EAAQC,EAAS2M,GAEjC,aAGA,IAAIo0F,EAAUp0F,EAAoB,QAC9Bq0F,EAAcz/C,OAAOnhD,UAAUm8F,KAInCx8F,EAAOC,QAAU,SAAU8gG,EAAGtF,GAC5B,IAAIe,EAAOuE,EAAEvE,KACb,GAAoB,oBAATA,EAAqB,CAC9B,IAAIr7F,EAASq7F,EAAKz7F,KAAKggG,EAAGtF,GAC1B,GAAsB,kBAAXt6F,EACT,MAAM,IAAIM,UAAU,sEAEtB,OAAON,EAET,GAAmB,WAAf6/F,EAAQD,GACV,MAAM,IAAIt/F,UAAU,+CAEtB,OAAOw/F,EAAYlgG,KAAKggG,EAAGtF,KAMvB,OACA,SAAUz7F,EAAQC,EAAS2M,GAEjC,IAAIs0F,EAASt0F,EAAoB,OAApBA,CAA4B,QACrCyd,EAAMzd,EAAoB,QAC9B5M,EAAOC,QAAU,SAAUsC,GACzB,OAAO2+F,EAAO3+F,KAAS2+F,EAAO3+F,GAAO8nB,EAAI9nB,MAMrC,OACA,SAAUvC,EAAQC,EAAS2M,GAGjC,IAAI4wF,EAAM5wF,EAAoB,QAE9B5M,EAAOC,QAAUG,OAAO,KAAK26D,qBAAqB,GAAK36D,OAAS,SAAUg4B,GACxE,MAAkB,UAAXolE,EAAIplE,GAAkBA,EAAGnV,MAAM,IAAM7iB,OAAOg4B,KAM/C,KACA,SAAUp4B,EAAQC,EAAS2M,GAEjC,aAGA,IAAI+sF,EAAU/sF,EAAoB,QAC9Bu0F,EAAYv0F,EAAoB,OAApBA,EAA4B,GAE5C+sF,EAAQA,EAAQ0B,EAAG,QAAS,CAC1BpG,SAAU,SAAkB1lB,GAC1B,OAAO4xB,EAAUv/F,KAAM2tE,EAAIlnE,UAAUnD,OAAS,EAAImD,UAAU,QAAK1H,MAIrEiM,EAAoB,OAApBA,CAA4B,aAKtB,KACA,SAAU5M,EAAQC,EAAS2M,GAGjC,IAAIw0F,EAAUx0F,EAAoB,QAC9B0uF,EAAU1uF,EAAoB,QAClC5M,EAAOC,QAAU,SAAUm4B,GACzB,OAAOgpE,EAAQ9F,EAAQljE,MAMnB,OACA,SAAUp4B,EAAQC,GAExB,IAAIK,EAAiB,GAAGA,eACxBN,EAAOC,QAAU,SAAUm4B,EAAI71B,GAC7B,OAAOjC,EAAeS,KAAKq3B,EAAI71B,KAM3B,OACA,SAAUvC,EAAQC,EAAS2M,GAGjC,IAAI/D,EAAW+D,EAAoB,QAGnC5M,EAAOC,QAAU,SAAUm4B,EAAIqjE,GAC7B,IAAK5yF,EAASuvB,GAAK,OAAOA,EAC1B,IAAItwB,EAAIjF,EACR,GAAI44F,GAAkC,mBAArB3zF,EAAKswB,EAAG53B,YAA4BqI,EAAShG,EAAMiF,EAAG/G,KAAKq3B,IAAM,OAAOv1B,EACzF,GAAgC,mBAApBiF,EAAKswB,EAAG83D,WAA2BrnF,EAAShG,EAAMiF,EAAG/G,KAAKq3B,IAAM,OAAOv1B,EACnF,IAAK44F,GAAkC,mBAArB3zF,EAAKswB,EAAG53B,YAA4BqI,EAAShG,EAAMiF,EAAG/G,KAAKq3B,IAAM,OAAOv1B,EAC1F,MAAMpB,UAAU,6CAMZ,KACA,SAAUzB,EAAQC,EAAS2M,GAEjC,aAGA,IAAIqvF,EAAUrvF,EAAoB,QAC9By0F,EAAOz0F,EAAoB,QAC3B00F,EAAM10F,EAAoB,QAC1BsyF,EAAWtyF,EAAoB,QAC/Bw0F,EAAUx0F,EAAoB,QAC9B20F,EAAUnhG,OAAOyyB,OAGrB7yB,EAAOC,SAAWshG,GAAW30F,EAAoB,OAApBA,EAA4B,WACvD,IAAI40F,EAAI,GACJ5D,EAAI,GAEJnC,EAAIv7F,SACJuhG,EAAI,uBAGR,OAFAD,EAAE/F,GAAK,EACPgG,EAAEx+E,MAAM,IAAI1N,SAAQ,SAAUmf,GAAKkpE,EAAElpE,GAAKA,KACd,GAArB6sE,EAAQ,GAAIC,GAAG/F,IAAWr7F,OAAO0M,KAAKy0F,EAAQ,GAAI3D,IAAIjzF,KAAK,KAAO82F,KACtE,SAAgB5iF,EAAQ8sB,GAC3B,IAAIgyD,EAAIuB,EAASrgF,GACb6iF,EAAOr5F,UAAUnD,OACjB5C,EAAQ,EACRq/F,EAAaN,EAAKrtE,EAClB4tE,EAASN,EAAIttE,EACjB,MAAO0tE,EAAOp/F,EAAO,CACnB,IAIIC,EAJAk5F,EAAI2F,EAAQ/4F,UAAU/F,MACtBwK,EAAO60F,EAAa1F,EAAQR,GAAG13D,OAAO49D,EAAWlG,IAAMQ,EAAQR,GAC/Dv2F,EAAS4H,EAAK5H,OACdoW,EAAI,EAER,MAAOpW,EAASoW,EAAOsmF,EAAO7gG,KAAK06F,EAAGl5F,EAAMuK,EAAKwO,QAAOqiF,EAAEp7F,GAAOk5F,EAAEl5F,IACnE,OAAOo7F,GACP4D,GAKE,KACA,SAAUvhG,EAAQC,GAGxB,IAAIue,EAASxe,EAAOC,QAA2B,oBAAV40B,QAAyBA,OAAOmH,MAAQA,KACzEnH,OAAwB,oBAAR5nB,MAAuBA,KAAK+uB,MAAQA,KAAO/uB,KAE3DE,SAAS,cAATA,GACc,iBAAP00F,MAAiBA,IAAMrjF,IAK5B,OACA,SAAUxe,EAAQC,EAAS2M,GAEjC,IAAI4Q,EAAY5Q,EAAoB,QAChColC,EAAMhW,KAAKgW,IACXrO,EAAM3H,KAAK2H,IACf3jC,EAAOC,QAAU,SAAUqC,EAAO4C,GAEhC,OADA5C,EAAQkb,EAAUlb,GACXA,EAAQ,EAAI0vC,EAAI1vC,EAAQ4C,EAAQ,GAAKy+B,EAAIrhC,EAAO4C,KAMnD,OACA,SAAUlF,EAAQC,GAExBD,EAAOC,QAAU,SAAUu8F,GACzB,IACE,QAASA,IACT,MAAOt7F,GACP,OAAO,KAOL,OACA,SAAUlB,EAAQC,EAAS2M,GAEjC,IAAIg7B,EAAMh7B,EAAoB,QAAQonB,EAClCgnC,EAAMpuD,EAAoB,QAC1BiuF,EAAMjuF,EAAoB,OAApBA,CAA4B,eAEtC5M,EAAOC,QAAU,SAAUm4B,EAAIp3B,EAAK8gG,GAC9B1pE,IAAO4iC,EAAI5iC,EAAK0pE,EAAO1pE,EAAKA,EAAG/3B,UAAWw6F,IAAMjzD,EAAIxP,EAAIyiE,EAAK,CAAE77E,cAAc,EAAMne,MAAOG,MAM1F,KACA,SAAUhB,EAAQC,GAExB,IAAIggG,EAAOjgG,EAAOC,QAAU,CAAEq0B,QAAS,SACrB,iBAAPytE,MAAiBA,IAAM9B,IAK5B,OACA,SAAUjgG,EAAQC,GAExBD,EAAOC,QAAU,IAKX,OACA,SAAUD,EAAQC,EAAS2M,GAEjC,IAAI+uF,EAAW/uF,EAAoB,QAC/Bo1F,EAAiBp1F,EAAoB,QACrCq1F,EAAcr1F,EAAoB,QAClCovF,EAAK57F,OAAO8e,eAEhBjf,EAAQ+zB,EAAIpnB,EAAoB,QAAUxM,OAAO8e,eAAiB,SAAwB68E,EAAGV,EAAG6G,GAI9F,GAHAvG,EAASI,GACTV,EAAI4G,EAAY5G,GAAG,GACnBM,EAASuG,GACLF,EAAgB,IAClB,OAAOhG,EAAGD,EAAGV,EAAG6G,GAChB,MAAOhhG,IACT,GAAI,QAASghG,GAAc,QAASA,EAAY,MAAMzgG,UAAU,4BAEhE,MADI,UAAWygG,IAAYnG,EAAEV,GAAK6G,EAAWrhG,OACtCk7F,IAMH,OACA,SAAU/7F,EAAQC,EAAS2M,GAGjC,IAAIu1F,EAAYv1F,EAAoB,QACpC5M,EAAOC,QAAU,SAAU6H,EAAI5D,EAAMgB,GAEnC,GADAi9F,EAAUr6F,QACGnH,IAATuD,EAAoB,OAAO4D,EAC/B,OAAQ5C,GACN,KAAK,EAAG,OAAO,SAAUsuB,GACvB,OAAO1rB,EAAG/G,KAAKmD,EAAMsvB,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAO3rB,EAAG/G,KAAKmD,EAAMsvB,EAAGC,IAE1B,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGM,GAC7B,OAAOjsB,EAAG/G,KAAKmD,EAAMsvB,EAAGC,EAAGM,IAG/B,OAAO,WACL,OAAOjsB,EAAGQ,MAAMpE,EAAMmE,cAOpB,OACA,SAAUrI,EAAQC,EAAS2M,GAGjC,IAAIw1F,EAAcx1F,EAAoB,OAApBA,CAA4B,eAC1Cy1F,EAAa/7F,MAAMjG,eACQM,GAA3B0hG,EAAWD,IAA2Bx1F,EAAoB,OAApBA,CAA4By1F,EAAYD,EAAa,IAC/FpiG,EAAOC,QAAU,SAAUsC,GACzB8/F,EAAWD,GAAa7/F,IAAO,IAM3B,OACA,SAAUvC,EAAQC,EAAS2M,GAGjC,IAAI4Q,EAAY5Q,EAAoB,QAChC+2B,EAAM3H,KAAK2H,IACf3jC,EAAOC,QAAU,SAAUm4B,GACzB,OAAOA,EAAK,EAAIuL,EAAInmB,EAAU4a,GAAK,kBAAoB,IAMnD,OACA,SAAUp4B,EAAQC,EAAS2M,GAGjC5M,EAAOC,SAAW2M,EAAoB,OAApBA,EAA4B,WAC5C,OAA+E,GAAxExM,OAAO8e,eAAe,GAAI,IAAK,CAAE0d,IAAK,WAAc,OAAO,KAAQpJ,MAMtE,KACA,SAAUxzB,EAAQC,GAExBD,EAAOC,QAAUw5F,GAIX,KACA,SAAUz5F,EAAQC,EAAS2M,GAEjC,aAGA,IAAI+uF,EAAW/uF,EAAoB,QAC/BsyF,EAAWtyF,EAAoB,QAC/B01F,EAAW11F,EAAoB,QAC/B4Q,EAAY5Q,EAAoB,QAChC21F,EAAqB31F,EAAoB,QACzC41F,EAAa51F,EAAoB,QACjColC,EAAMhW,KAAKgW,IACXrO,EAAM3H,KAAK2H,IACXrH,EAAQN,KAAKM,MACbmmE,EAAuB,4BACvBC,EAAgC,oBAEhCC,EAAgB,SAAUvqE,GAC5B,YAAcz3B,IAAPy3B,EAAmBA,EAAKuJ,OAAOvJ,IAIxCxrB,EAAoB,OAApBA,CAA4B,UAAW,GAAG,SAAU0uF,EAASsH,EAASC,EAAUC,GAC9E,MAAO,CAGL,SAAiBC,EAAaC,GAC5B,IAAIjH,EAAIT,EAAQ15F,MACZkG,OAAoBnH,GAAfoiG,OAA2BpiG,EAAYoiG,EAAYH,GAC5D,YAAcjiG,IAAPmH,EACHA,EAAG/G,KAAKgiG,EAAahH,EAAGiH,GACxBH,EAAS9hG,KAAK4gC,OAAOo6D,GAAIgH,EAAaC,IAI5C,SAAU7F,EAAQ6F,GAChB,IAAI5+F,EAAM0+F,EAAgBD,EAAU1F,EAAQv7F,KAAMohG,GAClD,GAAI5+F,EAAIo0B,KAAM,OAAOp0B,EAAIvD,MAEzB,IAAIoiG,EAAKtH,EAASwB,GACd1B,EAAI95D,OAAO//B,MACXshG,EAA4C,oBAAjBF,EAC1BE,IAAmBF,EAAerhE,OAAOqhE,IAC9C,IAAIxkF,EAASykF,EAAGzkF,OAChB,GAAIA,EAAQ,CACV,IAAI2kF,EAAcF,EAAGvH,QACrBuH,EAAGvhD,UAAY,EAEjB,IAAIvxB,EAAU,GACd,MAAO,EAAM,CACX,IAAIhvB,EAASqhG,EAAWS,EAAIxH,GAC5B,GAAe,OAAXt6F,EAAiB,MAErB,GADAgvB,EAAQhrB,KAAKhE,IACRqd,EAAQ,MACb,IAAI4kF,EAAWzhE,OAAOxgC,EAAO,IACZ,KAAbiiG,IAAiBH,EAAGvhD,UAAY6gD,EAAmB9G,EAAG6G,EAASW,EAAGvhD,WAAYyhD,IAIpF,IAFA,IAAIE,EAAoB,GACpBC,EAAqB,EAChB75F,EAAI,EAAGA,EAAI0mB,EAAQjrB,OAAQuE,IAAK,CACvCtI,EAASgvB,EAAQ1mB,GASjB,IARA,IAAI85F,EAAU5hE,OAAOxgC,EAAO,IACxBkf,EAAW2xB,EAAIrO,EAAInmB,EAAUrc,EAAOmB,OAAQm5F,EAAEv2F,QAAS,GACvDs+F,EAAW,GAMNloF,EAAI,EAAGA,EAAIna,EAAO+D,OAAQoW,IAAKkoF,EAASr+F,KAAKw9F,EAAcxhG,EAAOma,KAC3E,IAAImoF,EAAgBtiG,EAAOu/D,OAC3B,GAAIwiC,EAAmB,CACrB,IAAIQ,EAAe,CAACH,GAASx/D,OAAOy/D,EAAUnjF,EAAUo7E,QAClC96F,IAAlB8iG,GAA6BC,EAAav+F,KAAKs+F,GACnD,IAAI3jD,EAAcne,OAAOqhE,EAAa16F,WAAM3H,EAAW+iG,SAEvD5jD,EAAc6jD,EAAgBJ,EAAS9H,EAAGp7E,EAAUmjF,EAAUC,EAAeT,GAE3E3iF,GAAYijF,IACdD,GAAqB5H,EAAEl2F,MAAM+9F,EAAoBjjF,GAAYy/B,EAC7DwjD,EAAqBjjF,EAAWkjF,EAAQr+F,QAG5C,OAAOm+F,EAAoB5H,EAAEl2F,MAAM+9F,KAKvC,SAASK,EAAgBJ,EAASjpC,EAAKj6C,EAAUmjF,EAAUC,EAAe3jD,GACxE,IAAI8jD,EAAUvjF,EAAWkjF,EAAQr+F,OAC7BouB,EAAIkwE,EAASt+F,OACbg9C,EAAUwgD,EAKd,YAJsB/hG,IAAlB8iG,IACFA,EAAgBvE,EAASuE,GACzBvhD,EAAUugD,GAELI,EAAS9hG,KAAK++C,EAAaoC,GAAS,SAAUl2C,EAAO63F,GAC1D,IAAIx0B,EACJ,OAAQw0B,EAAGrsC,OAAO,IAChB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAO+rC,EACjB,IAAK,IAAK,OAAOjpC,EAAI/0D,MAAM,EAAG8a,GAC9B,IAAK,IAAK,OAAOi6C,EAAI/0D,MAAMq+F,GAC3B,IAAK,IACHv0B,EAAUo0B,EAAcI,EAAGt+F,MAAM,GAAI,IACrC,MACF,QACE,IAAIwvB,GAAK8uE,EACT,GAAU,IAAN9uE,EAAS,OAAO/oB,EACpB,GAAI+oB,EAAIzB,EAAG,CACT,IAAIU,EAAIsI,EAAMvH,EAAI,IAClB,OAAU,IAANf,EAAgBhoB,EAChBgoB,GAAKV,OAA8B3yB,IAApB6iG,EAASxvE,EAAI,GAAmB6vE,EAAGrsC,OAAO,GAAKgsC,EAASxvE,EAAI,GAAK6vE,EAAGrsC,OAAO,GACvFxrD,EAETqjE,EAAUm0B,EAASzuE,EAAI,GAE3B,YAAmBp0B,IAAZ0uE,EAAwB,GAAKA,UAQpC,KACA,SAAUrvE,EAAQC,EAAS2M,GAGjC,IAAI/D,EAAW+D,EAAoB,QAC/B4wF,EAAM5wF,EAAoB,QAC1ByyF,EAAQzyF,EAAoB,OAApBA,CAA4B,SACxC5M,EAAOC,QAAU,SAAUm4B,GACzB,IAAI0rE,EACJ,OAAOj7F,EAASuvB,UAAmCz3B,KAA1BmjG,EAAW1rE,EAAGinE,MAA0ByE,EAAsB,UAAXtG,EAAIplE,MAM5E,KACA,SAAUp4B,EAAQC,EAAS2M,GA+CjC,IA7CA,IAAIm3F,EAAan3F,EAAoB,QACjCqvF,EAAUrvF,EAAoB,QAC9BgtF,EAAWhtF,EAAoB,QAC/B4R,EAAS5R,EAAoB,QAC7B+jD,EAAO/jD,EAAoB,QAC3BitF,EAAYjtF,EAAoB,QAChCwvF,EAAMxvF,EAAoB,QAC1BotF,EAAWoC,EAAI,YACf4H,EAAgB5H,EAAI,eACpB6H,EAAcpK,EAAUvzF,MAExB49F,EAAe,CACjBC,aAAa,EACbC,qBAAqB,EACrBC,cAAc,EACdC,gBAAgB,EAChBC,aAAa,EACbC,eAAe,EACftwC,cAAc,EACduwC,sBAAsB,EACtBC,UAAU,EACVC,mBAAmB,EACnBC,gBAAgB,EAChBC,iBAAiB,EACjBC,mBAAmB,EACnBC,WAAW,EACXC,eAAe,EACfC,cAAc,EACdC,UAAU,EACVC,kBAAkB,EAClBC,QAAQ,EACRC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,eAAe,EACfC,kBAAkB,EAClBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAkB,EAClBC,eAAe,EACfC,WAAW,GAGJC,EAAchK,EAAQiI,GAAez6F,EAAI,EAAGA,EAAIw8F,EAAY/gG,OAAQuE,IAAK,CAChF,IAIIlH,EAJAg4F,EAAO0L,EAAYx8F,GACnBy8F,EAAWhC,EAAa3J,GACxB4L,EAAa3nF,EAAO+7E,GACpBl5C,EAAQ8kD,GAAcA,EAAW9lG,UAErC,GAAIghD,IACGA,EAAM24C,IAAWrpC,EAAKtP,EAAO24C,EAAUiK,GACvC5iD,EAAM2iD,IAAgBrzC,EAAKtP,EAAO2iD,EAAezJ,GACtDV,EAAUU,GAAQ0J,EACdiC,GAAU,IAAK3jG,KAAOwhG,EAAiB1iD,EAAM9+C,IAAMq3F,EAASv4C,EAAO9+C,EAAKwhG,EAAWxhG,IAAM,KAO3F,KACA,SAAUvC,EAAQC,EAAS2M,GAEjC,aAEA,IAAIyvF,EAAazvF,EAAoB,QACrCA,EAAoB,OAApBA,CAA4B,CAC1BiS,OAAQ,SACRwiC,OAAO,EACP+kD,OAAQ/J,IAAe,IAAIG,MAC1B,CACDA,KAAMH,KAMF,KACA,SAAUr8F,EAAQC,GAGxBD,EAAOC,QAAU,SAAUm4B,GACzB,QAAUz3B,GAANy3B,EAAiB,MAAM32B,UAAU,yBAA2B22B,GAChE,OAAOA,IAMH,KACA,SAAUp4B,EAAQC,EAAS2M,GAIjC,IAAIy5F,EAAYz5F,EAAoB,QAChC01F,EAAW11F,EAAoB,QAC/B05F,EAAkB15F,EAAoB,QAC1C5M,EAAOC,QAAU,SAAUsmG,GACzB,OAAO,SAAUC,EAAOj3B,EAAIk3B,GAC1B,IAGI5lG,EAHAk7F,EAAIsK,EAAUG,GACdthG,EAASo9F,EAASvG,EAAE72F,QACpB5C,EAAQgkG,EAAgBG,EAAWvhG,GAIvC,GAAIqhG,GAAeh3B,GAAMA,GAAI,MAAOrqE,EAAS5C,EAG3C,GAFAzB,EAAQk7F,EAAEz5F,KAENzB,GAASA,EAAO,OAAO,OAEtB,KAAMqE,EAAS5C,EAAOA,IAAS,IAAIikG,GAAejkG,KAASy5F,IAC5DA,EAAEz5F,KAAWitE,EAAI,OAAOg3B,GAAejkG,GAAS,EACpD,OAAQikG,IAAgB,KAOxB,KACA,SAAUvmG,EAAQ0mG,EAAqB95F,GAE7C,cAC4B,SAAS4R,GAAwC5R,EAAoBsnB,EAAEwyE,EAAqB,KAAK,WAAa,OAAOC,KAClH/5F,EAAoBsnB,EAAEwyE,EAAqB,KAAK,WAAa,OAAO75C,KACpEjgD,EAAoBsnB,EAAEwyE,EAAqB,KAAK,WAAa,OAAOxwF,KACpEtJ,EAAoBsnB,EAAEwyE,EAAqB,KAAK,WAAa,OAAOE,KACRh6F,EAAoB,QAI/G,SAASi6F,IACP,MAAsB,qBAAXhyE,OACFA,OAAO3e,QAGTsI,EAAOtI,QAGhB,IAAIA,EAAU2wF,IAEd,SAASC,EAAOh/F,GACd,IAAIsgC,EAAQhoC,OAAO29B,OAAO,MAC1B,OAAO,SAAkBu8B,GACvB,IAAIysC,EAAM3+D,EAAMkyB,GAChB,OAAOysC,IAAQ3+D,EAAMkyB,GAAOxyD,EAAGwyD,KAInC,IAAIk/B,EAAQ,SACR3sC,EAAWi6C,GAAO,SAAUxsC,GAC9B,OAAOA,EAAI3kB,QAAQ6jD,GAAO,SAAU54C,EAAG7sB,GACrC,OAAOA,EAAIA,EAAEqN,cAAgB,SAIjC,SAASwlE,EAAW35E,GACS,OAAvBA,EAAK+5E,eACP/5E,EAAK+5E,cAAc5vD,YAAYnqB,GAInC,SAAS05E,EAAaM,EAAYh6E,EAAM5M,GACtC,IAAIqsB,EAAuB,IAAbrsB,EAAiB4mF,EAAW3uF,SAAS,GAAK2uF,EAAW3uF,SAAS+H,EAAW,GAAGo/B,YAC1FwnD,EAAWl/D,aAAa9a,EAAMyf,MAIH3rC,KAAKa,KAAMgL,EAAoB,UAItD,KACA,SAAU5M,EAAQC,EAAS2M,GAEjC5M,EAAOC,SAAW2M,EAAoB,UAAYA,EAAoB,OAApBA,EAA4B,WAC5E,OAA+G,GAAxGxM,OAAO8e,eAAetS,EAAoB,OAApBA,CAA4B,OAAQ,IAAK,CAAEgwB,IAAK,WAAc,OAAO,KAAQpJ,MAMtG,KACA,SAAUxzB,EAAQC,GAExB,IAAIk0B,EAGJA,EAAI,WACH,OAAOvyB,KADJ,GAIJ,IAECuyB,EAAIA,GAAK,IAAIhnB,SAAS,cAAb,GACR,MAAOjM,GAEc,kBAAX2zB,SAAqBV,EAAIU,QAOrC70B,EAAOC,QAAUk0B,GAKX,KACA,SAAUn0B,EAAQC,GAExB,IAAIyM,EAAK,EACLw6F,EAAKlrE,KAAKmrE,SACdnnG,EAAOC,QAAU,SAAUsC,GACzB,MAAO,UAAUwhC,YAAepjC,IAAR4B,EAAoB,GAAKA,EAAK,QAASmK,EAAKw6F,GAAI1mG,SAAS,OAM7E,KACA,SAAUR,EAAQC,EAAS2M,GAEjC,aAEA,IAAIw6F,EAAmBx6F,EAAoB,QACvC+rB,EAAO/rB,EAAoB,QAC3BitF,EAAYjtF,EAAoB,QAChCy5F,EAAYz5F,EAAoB,QAMpC5M,EAAOC,QAAU2M,EAAoB,OAApBA,CAA4BtG,MAAO,SAAS,SAAU+gG,EAAUzM,GAC/Eh5F,KAAKmnE,GAAKs9B,EAAUgB,GACpBzlG,KAAKk/B,GAAK,EACVl/B,KAAK0O,GAAKsqF,KAET,WACD,IAAImB,EAAIn6F,KAAKmnE,GACT6xB,EAAOh5F,KAAK0O,GACZhO,EAAQV,KAAKk/B,KACjB,OAAKi7D,GAAKz5F,GAASy5F,EAAE72F,QACnBtD,KAAKmnE,QAAKpoE,EACHg4B,EAAK,IAEaA,EAAK,EAApB,QAARiiE,EAA+Bt4F,EACvB,UAARs4F,EAAiCmB,EAAEz5F,GACxB,CAACA,EAAOy5F,EAAEz5F,OACxB,UAGHu3F,EAAUyN,UAAYzN,EAAUvzF,MAEhC8gG,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,YAKX,KACA,SAAUpnG,EAAQC,EAAS2M,GAEjC,IAAI/D,EAAW+D,EAAoB,QACnC5M,EAAOC,QAAU,SAAUm4B,GACzB,IAAKvvB,EAASuvB,GAAK,MAAM32B,UAAU22B,EAAK,sBACxC,OAAOA,IAMH,KACA,SAAUp4B,EAAQC,EAAS2M,GAEjC,IAAIouD,EAAMpuD,EAAoB,QAC1By5F,EAAYz5F,EAAoB,QAChC2lF,EAAe3lF,EAAoB,OAApBA,EAA4B,GAC3CyxF,EAAWzxF,EAAoB,OAApBA,CAA4B,YAE3C5M,EAAOC,QAAU,SAAU68B,EAAQ2D,GACjC,IAGIl+B,EAHAw5F,EAAIsK,EAAUvpE,GACdrzB,EAAI,EACJtI,EAAS,GAEb,IAAKoB,KAAOw5F,EAAOx5F,GAAO87F,GAAUrjC,EAAI+gC,EAAGx5F,IAAQpB,EAAOgE,KAAK5C,GAE/D,MAAOk+B,EAAMv7B,OAASuE,EAAOuxD,EAAI+gC,EAAGx5F,EAAMk+B,EAAMh3B,SAC7C8oF,EAAapxF,EAAQoB,IAAQpB,EAAOgE,KAAK5C,IAE5C,OAAOpB,IAMH,KACA,SAAUnB,EAAQC,EAAS2M,GAGjC,IAAIk3F,EAAWl3F,EAAoB,QAC/B0uF,EAAU1uF,EAAoB,QAElC5M,EAAOC,QAAU,SAAUiE,EAAMkwD,EAAcmmC,GAC7C,GAAIuJ,EAAS1vC,GAAe,MAAM3yD,UAAU,UAAY84F,EAAO,0BAC/D,OAAO54D,OAAO25D,EAAQp3F,MAMlB,KACA,SAAUlE,EAAQC,GAExBD,EAAOC,QAAU,SAAUm4B,GACzB,MAAqB,kBAAPA,EAAyB,OAAPA,EAA4B,oBAAPA,IAMjD,KACA,SAAUp4B,EAAQC,GAExBD,EAAOC,QAAU,SAAUu4B,EAAM33B,GAC/B,MAAO,CAAEA,MAAOA,EAAO23B,OAAQA,KAM3B,KACA,SAAUx4B,EAAQC,GAExBD,EAAOC,QAAU,SAAUm4B,GACzB,GAAiB,mBAANA,EAAkB,MAAM32B,UAAU22B,EAAK,uBAClD,OAAOA,IAMH,KACA,SAAUp4B,EAAQC,GAGxBD,EAAOC,QAAU,gGAEfgjB,MAAM,MAKF,KACA,SAAUjjB,EAAQC,EAAS2M,GAEjC,aAGA,IAAI+sF,EAAU/sF,EAAoB,QAC9B01F,EAAW11F,EAAoB,QAC/BzE,EAAUyE,EAAoB,QAC9B26F,EAAc,aACdC,EAAc,GAAGD,GAErB5N,EAAQA,EAAQ0B,EAAI1B,EAAQrhE,EAAI1rB,EAAoB,OAApBA,CAA4B26F,GAAc,SAAU,CAClFtyE,WAAY,SAAoBm/B,GAC9B,IAAIlwD,EAAOiE,EAAQvG,KAAMwyD,EAAcmzC,GACnCjlG,EAAQggG,EAAStmE,KAAK2H,IAAIt7B,UAAUnD,OAAS,EAAImD,UAAU,QAAK1H,EAAWuD,EAAKgB,SAChF6e,EAAS4d,OAAOyyB,GACpB,OAAOozC,EACHA,EAAYzmG,KAAKmD,EAAM6f,EAAQzhB,GAC/B4B,EAAKqB,MAAMjD,EAAOA,EAAQyhB,EAAO7e,UAAY6e,MAO/C,KACA,SAAU/jB,EAAQC,IAMxB,SAAU4G,GACR,IAAI4gG,EAAgB,gBAChBC,EAAU7gG,EAAS8pE,qBAAqB,UAGtC82B,KAAiB5gG,GACrBzG,OAAO8e,eAAerY,EAAU4gG,EAAe,CAC7C7qE,IAAK,WAIH,IAAM,MAAM,IAAI9yB,MAChB,MAAOmW,GAIL,IAAIxW,EAAGrF,GAAO,+BAAiCo4F,KAAKv8E,EAAI8uC,QAAU,EAAC,IAAQ,GAG3E,IAAItlD,KAAKi+F,EACP,GAAGA,EAAQj+F,GAAG/B,KAAOtD,GAAgC,eAAzBsjG,EAAQj+F,GAAGk+F,WACrC,OAAOD,EAAQj+F,GAKnB,OAAO,UA1BjB,CA+BG5C,WAKG,KACA,SAAU7G,EAAQC,EAAS2M,GAGjC,IAAI+sF,EAAU/sF,EAAoB,QAElC+sF,EAAQA,EAAQ8B,EAAI9B,EAAQrhE,EAAG,SAAU,CAAEzF,OAAQjmB,EAAoB,WAKjE,KACA,SAAU5M,EAAQC,EAAS2M,GAEjC5M,EAAOC,QAAU2M,EAAoB,OAApBA,CAA4B,4BAA6BO,SAAS3M,WAK7E,KACA,SAAUR,EAAQC,EAAS2M,GAEjC,IAAI/F,EAAW+F,EAAoB,QAAQ/F,SAC3C7G,EAAOC,QAAU4G,GAAYA,EAASiqE,iBAKhC,KACA,SAAU9wE,EAAQ0mG,EAAqB95F,GAE7C,aAYE,IAAIg7F,GAVNh7F,EAAoBgnB,EAAE8yE,GAKA,qBAAX7xE,UAEPjoB,EAAoB,SAIjBg7F,EAAkB/yE,OAAOhuB,SAAS4gG,iBAAmBG,EAAkBA,EAAgBlgG,IAAIsE,MAAM,8BACpGY,EAAoB2mB,EAAIq0E,EAAgB,KAQpBh7F,EAAoB,QAGfA,EAAoB,QAG1BA,EAAoB,QAGlBA,EAAoB,QAGvBA,EAAoB,QAG1C,SAASi7F,EAAgB/iG,GACvB,GAAIwB,MAAM2E,QAAQnG,GAAM,OAAOA,EAGjC,SAASqpE,EAAsBrpE,EAAK2E,GAClC,GAAsB,qBAAXvJ,QAA4BA,OAAOoB,YAAYlB,OAAO0E,GAAjE,CACA,IAAIqkC,EAAO,GACPC,GAAK,EACLC,GAAK,EACLpmC,OAAKtC,EAET,IACE,IAAK,IAAiCoC,EAA7B+9B,EAAKh8B,EAAI5E,OAAOoB,cAAmB8nC,GAAMrmC,EAAK+9B,EAAG5U,QAAQsM,MAAO4Q,GAAK,EAG5E,GAFAD,EAAKhkC,KAAKpC,EAAGlC,OAET4I,GAAK0/B,EAAKjkC,SAAWuE,EAAG,MAE9B,MAAOwW,GACPopB,GAAK,EACLpmC,EAAKgd,EACL,QACA,IACOmpB,GAAsB,MAAhBtI,EAAG,WAAmBA,EAAG,YACpC,QACA,GAAIuI,EAAI,MAAMpmC,GAIlB,OAAOkmC,GAGT,SAASgwD,EAAkBr0F,EAAK4E,IACnB,MAAPA,GAAeA,EAAM5E,EAAII,UAAQwE,EAAM5E,EAAII,QAE/C,IAAK,IAAIuE,EAAI,EAAGyB,EAAO,IAAI5E,MAAMoD,GAAMD,EAAIC,EAAKD,IAC9CyB,EAAKzB,GAAK3E,EAAI2E,GAGhB,OAAOyB,EAIT,SAAS48F,EAA4Bj7F,EAAGk7F,GACtC,GAAKl7F,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOssF,EAAkBtsF,EAAGk7F,GACvD,IAAIhzE,EAAI30B,OAAOC,UAAUG,SAASO,KAAK8L,GAAGtH,MAAM,GAAI,GAEpD,MADU,WAANwvB,GAAkBloB,EAAEtL,cAAawzB,EAAIloB,EAAEtL,YAAY0K,MAC7C,QAAN8oB,GAAqB,QAANA,EAAoBzuB,MAAMvB,KAAK8H,GACxC,cAANkoB,GAAqB,2CAA2C8uB,KAAK9uB,GAAWokE,EAAkBtsF,EAAGk7F,QAAzG,GAGF,SAASC,IACP,MAAM,IAAIvmG,UAAU,6IAOtB,SAAS4K,EAAevH,EAAK2E,GAC3B,OAAOo+F,EAAgB/iG,IAAQqpE,EAAsBrpE,EAAK2E,IAAMq+F,EAA4BhjG,EAAK2E,IAAMu+F,IAGhFp7F,EAAoB,QAGnBA,EAAoB,QAI9C,SAAS5B,EAAmBlG,GAC1B,GAAIwB,MAAM2E,QAAQnG,GAAM,OAAOq0F,EAAkBr0F,GAGnD,SAASsB,EAAiBC,GACxB,GAAsB,qBAAXnG,QAA0BA,OAAOoB,YAAYlB,OAAOiG,GAAO,OAAOC,MAAMvB,KAAKsB,GAG1F,SAAS7E,IACP,MAAM,IAAIC,UAAU,wIAOtB,SAAS6b,EAAmBxY,GAC1B,OAAOkG,EAAmBlG,IAAQsB,EAAiBtB,IAAQgjG,EAA4BhjG,IAAQtD,IAGjG,IAAIymG,EAAkFr7F,EAAoB,QACtGs7F,EAAsGt7F,EAAoBmoB,EAAEkzE,GAG5HE,EAASv7F,EAAoB,QAejC,SAASw7F,EAAetrE,EAAQurE,EAAUxnG,GACxC,YAAcF,IAAVE,IAIJi8B,EAASA,GAAU,GACnBA,EAAOurE,GAAYxnG,GAJVi8B,EAQX,SAASwrE,EAAeC,EAAQnjG,GAC9B,OAAOmjG,EAAOh8F,KAAI,SAAUi8F,GAC1B,OAAOA,EAAIC,OACVz+F,QAAQ5E,GAGb,SAASsjG,EAAgBC,EAAOrwF,EAAUswF,EAAcC,GACtD,IAAKF,EACH,MAAO,GAGT,IAAIG,EAAeH,EAAMp8F,KAAI,SAAUi8F,GACrC,OAAOA,EAAIC,OAETM,EAAczwF,EAASpT,OAAS2jG,EAEhCG,EAAa1rF,EAAmBhF,GAAU/L,KAAI,SAAUi8F,EAAK1mB,GAC/D,OAAOA,GAAOinB,EAAcD,EAAa5jG,OAAS4jG,EAAa9+F,QAAQw+F,MAGzE,OAAOI,EAAeI,EAAW/yF,QAAO,SAAUgzF,GAChD,OAAgB,IAATA,KACJD,EAGP,SAASr3D,EAAKu3D,EAASC,GACrB,IAAI5pE,EAAQ39B,KAEZA,KAAKqY,WAAU,WACb,OAAOslB,EAAMh7B,MAAM2kG,EAAQtpD,cAAeupD,MAI9C,SAASC,EAAgBF,GACvB,IAAI/gE,EAASvmC,KAEb,OAAO,SAAUunG,GACS,OAApBhhE,EAAOkhE,UACTlhE,EAAO,SAAW+gE,GAASC,GAG7Bx3D,EAAK5wC,KAAKonC,EAAQ+gE,EAASC,IAI/B,SAASG,EAAiBr9F,GACxB,MAAO,CAAC,mBAAoB,mBAAmBgpF,SAAShpF,GAG1D,SAASs9F,EAA0BZ,GACjC,IAAKA,GAA0B,IAAjBA,EAAMzjG,OAClB,OAAO,EAGT,IAAIskG,EAASn9F,EAAes8F,EAAO,GAC/Bc,EAAmBD,EAAO,GAAGC,iBAEjC,QAAKA,GAIEH,EAAiBG,EAAiBzoG,KAG3C,SAAS0oG,EAAQh7F,EAAMi7F,EAAYpnG,GACjC,OAAOmM,EAAKnM,KAASonG,EAAWpnG,GAAOonG,EAAWpnG,UAAS5B,GAG7D,SAASipG,EAA0BtxF,EAAU5J,EAAMi7F,GACjD,IAAIE,EAAe,EACfhB,EAAe,EACfjgD,EAAS8gD,EAAQh7F,EAAMi7F,EAAY,UAEnC/gD,IACFihD,EAAejhD,EAAO1jD,OACtBoT,EAAWA,EAAW,GAAGyrB,OAAOzmB,EAAmBsrC,GAAStrC,EAAmBhF,IAAagF,EAAmBsrC,IAGjH,IAAIkhD,EAASJ,EAAQh7F,EAAMi7F,EAAY,UAOvC,OALIG,IACFjB,EAAeiB,EAAO5kG,OACtBoT,EAAWA,EAAW,GAAGyrB,OAAOzmB,EAAmBhF,GAAWgF,EAAmBwsF,IAAWxsF,EAAmBwsF,IAG1G,CACLxxF,SAAUA,EACVuxF,aAAcA,EACdhB,aAAcA,GAIlB,SAASkB,EAAuBC,EAAQC,GACtC,IAAIzqE,EAAa,KAEbuM,EAAS,SAAgB9/B,EAAMpL,GACjC2+B,EAAa4oE,EAAe5oE,EAAYvzB,EAAMpL,IAG5CqB,EAAQ9B,OAAO0M,KAAKk9F,GAAQ/zF,QAAO,SAAU1T,GAC/C,MAAe,OAARA,GAAgBA,EAAI0yB,WAAW,YACrCyN,QAAO,SAAUt+B,EAAK7B,GAEvB,OADA6B,EAAI7B,GAAOynG,EAAOznG,GACX6B,IACN,IAGH,GAFA2nC,EAAO,QAAS7pC,IAEX+nG,EACH,OAAOzqE,EAGT,IAAI1xB,EAAKm8F,EAAcn8F,GACnBpK,EAAQumG,EAAcvmG,MACtBwmG,EAAqBD,EAAc/nG,MAIvC,OAHA6pC,EAAO,KAAMj+B,GACbi+B,EAAO,QAASroC,GAChBtD,OAAOyyB,OAAO2M,EAAWt9B,MAAOgoG,GACzB1qE,EAGT,IAAI2qE,EAAiB,CAAC,QAAS,MAAO,SAAU,SAAU,OACtDC,EAAe,CAAC,SAAU,WAAY,OAAQ,SAAU,SACxDC,EAAqB,CAAC,QAAQtmE,OAAOomE,EAAgBC,GAAc79F,KAAI,SAAU6M,GACnF,MAAO,KAAOA,KAEZkxF,EAAkB,KAClB5mG,EAAQ,CACVumB,QAAS7pB,OACT6yB,KAAM,CACJtvB,KAAM2C,MACN0hE,UAAU,EACVpkE,QAAS,MAEX/C,MAAO,CACL8C,KAAM2C,MACN0hE,UAAU,EACVpkE,QAAS,MAEX2mG,mBAAoB,CAClB5mG,KAAMokE,QACNnkE,SAAS,GAEX8hC,MAAO,CACL/hC,KAAMwJ,SACNvJ,QAAS,SAAkB4mG,GACzB,OAAOA,IAGXplG,QAAS,CACPzB,KAAMg+B,OACN/9B,QAAS,OAEX5C,IAAK,CACH2C,KAAMg+B,OACN/9B,QAAS,MAEXo8C,KAAM,CACJr8C,KAAMwJ,SACNvJ,QAAS,MAEXqmG,cAAe,CACbtmG,KAAMvD,OACN4nE,UAAU,EACVpkE,QAAS,OAGT6mG,EAAqB,CACvBx+F,KAAM,YACNy+F,cAAc,EACdhnG,MAAOA,EACPI,KAAM,WACJ,MAAO,CACL6mG,gBAAgB,EAChBC,6BAA6B,IAGjClpG,OAAQ,SAAgBoyB,GACtB,IAAI60E,EAAQ/mG,KAAKipG,OAAOjnG,QACxBhC,KAAK+oG,eAAiBpB,EAA0BZ,GAEhD,IAAImC,EAAwBlB,EAA0BjB,EAAO/mG,KAAKipG,OAAQjpG,KAAKmpG,cAC3EzyF,EAAWwyF,EAAsBxyF,SACjCuxF,EAAeiB,EAAsBjB,aACrChB,EAAeiC,EAAsBjC,aAEzCjnG,KAAKioG,aAAeA,EACpBjoG,KAAKinG,aAAeA,EACpB,IAAIrpE,EAAauqE,EAAuBnoG,KAAKooG,OAAQpoG,KAAKqoG,eAC1D,OAAOn2E,EAAElyB,KAAKopG,SAAUxrE,EAAYlnB,IAEtC1S,QAAS,WACW,OAAdhE,KAAKqxB,MAAgC,OAAfrxB,KAAKf,OAC7BsnG,EAAO,KAAmB1jG,MAAM,2EAGb,QAAjB7C,KAAKwD,SACP+iG,EAAO,KAAmB17D,KAAK,qKAGZ9rC,IAAjBiB,KAAKqoB,SACPk+E,EAAO,KAAmB17D,KAAK,wMAGnC3mC,QAAS,WACP,IAAI8mC,EAAShrC,KAIb,GAFAA,KAAKgpG,4BAA8BhpG,KAAKopG,SAASprD,gBAAkBh+C,KAAKsmE,IAAIuK,SAAS7yB,gBAAkBh+C,KAAKqpG,kBAExGrpG,KAAKgpG,6BAA+BhpG,KAAK+oG,eAC3C,MAAM,IAAI7gG,MAAM,6HAA6Hi6B,OAAOniC,KAAKopG,WAG3J,IAAIE,EAAe,GACnBf,EAAe50F,SAAQ,SAAUizF,GAC/B0C,EAAa,KAAO1C,GAAOY,EAAgBroG,KAAK6rC,EAAQ47D,MAE1D4B,EAAa70F,SAAQ,SAAUizF,GAC7B0C,EAAa,KAAO1C,GAAO72D,EAAK4C,KAAK3H,EAAQ47D,MAE/C,IAAIhpE,EAAap/B,OAAO0M,KAAKlL,KAAKooG,QAAQtnE,QAAO,SAAUt+B,EAAK7B,GAE9D,OADA6B,EAAIhE,OAAO+nG,EAAO,KAAd/nG,CAAmCmC,IAAQqqC,EAAOo9D,OAAOznG,GACtD6B,IACN,IACC6lB,EAAU7pB,OAAOyyB,OAAO,GAAIjxB,KAAKqoB,QAASuV,EAAY0rE,EAAc,CACtExqB,OAAQ,SAAgBtnE,EAAK4+D,GAC3B,OAAOprC,EAAOu+D,WAAW/xF,EAAK4+D,QAGhC,cAAe/tD,KAAaA,EAAQpX,UAAY,MAClDjR,KAAKwpG,UAAY,IAAIlD,EAAuF10E,EAAE5xB,KAAKypG,cAAephF,GAClIroB,KAAK0pG,kBAEPrlG,cAAe,gBACUtF,IAAnBiB,KAAKwpG,WAAyBxpG,KAAKwpG,UAAUhlB,WAEnDriF,SAAU,CACRsnG,cAAe,WACb,OAAOzpG,KAAK+oG,eAAiB/oG,KAAKsmE,IAAI5vD,SAAS,GAAK1W,KAAKsmE,KAE3DmhC,SAAU,WACR,OAAOznG,KAAKqxB,KAAOrxB,KAAKqxB,KAAOrxB,KAAKf,QAGxC6E,MAAO,CACLukB,QAAS,CACPlP,QAAS,SAAiBwwF,GACxB3pG,KAAK4pG,cAAcD,IAErB5lE,MAAM,GAERqkE,OAAQ,CACNjvF,QAAS,SAAiBwwF,GACxB3pG,KAAK4pG,cAAcD,IAErB5lE,MAAM,GAER0jE,SAAU,WACRznG,KAAK0pG,mBAGTtnG,QAAS,CACPinG,gBAAiB,WACf,IAAIQ,EAAY7pG,KAAK8pG,OAAOD,UAC5B,OAAOA,GAAaA,EAAUnjC,YAEhC0iC,OAAQ,WACN,OAAOppG,KAAKZ,KAAOY,KAAKwD,SAE1BomG,cAAe,SAAuBD,GACpC,IAAK,IAAIxuE,KAAYwuE,EAAgB,CACnC,IAAI1qG,EAAQT,OAAO+nG,EAAO,KAAd/nG,CAAmC28B,IAEJ,IAAvCstE,EAAmBrgG,QAAQnJ,IAC7Be,KAAKwpG,UAAU7rF,OAAO1e,EAAO0qG,EAAexuE,MAIlD4uE,iBAAkB,WAChB,GAAI/pG,KAAKgpG,4BACP,OAAOhpG,KAAKgqG,UAAU,GAAGf,OAAOjnG,QAGlC,IAAIioG,EAAWjqG,KAAKipG,OAAOjnG,QAC3B,OAAOhC,KAAK+oG,eAAiBkB,EAAS,GAAGljE,MAAMkiE,OAAOjnG,QAAUioG,GAElEP,eAAgB,WACd,IAAIj+D,EAASzrC,KAEbA,KAAKqY,WAAU,WACbozB,EAAOy+D,eAAiBpD,EAAgBr7D,EAAOs+D,mBAAoBt+D,EAAOg+D,cAAc/yF,SAAU+0B,EAAOs9D,eAAgBt9D,EAAOw7D,kBAGpIkD,gBAAiB,SAAyBC,GACxC,IAAI1pG,EAAQgmG,EAAe1mG,KAAK+pG,oBAAsB,GAAIK,GAE1D,IAAe,IAAX1pG,EAGF,OAAO,KAGT,IAAI8C,EAAUxD,KAAKynG,SAAS/mG,GAC5B,MAAO,CACLA,MAAOA,EACP8C,QAASA,IAGb6mG,yCAA0C,SAAkDr4D,GAC1F,IAAIs4D,EAAMt4D,EAAKu4D,QAEf,OAAKD,GAAQA,EAAIE,UAAa9C,EAAiB4C,EAAIE,SAASC,eAKrDH,EAAII,UAJH,aAAcJ,IAAiC,IAAzBA,EAAIN,UAAU1mG,QAAgB,aAAcgnG,EAAIN,UAAU,GAAWM,EAAIN,UAAU,GACxGM,GAKXK,YAAa,SAAqBnzF,GAChC,IAAIw0B,EAAShsC,KAEbA,KAAKqY,WAAU,WACb2zB,EAAOrpC,MAAM,SAAU6U,OAG3BozF,UAAW,SAAmBC,GAC5B,GAAI7qG,KAAKqxB,KACPw5E,EAAO7qG,KAAKqxB,UADd,CAKA,IAAIy5E,EAAUpvF,EAAmB1b,KAAKf,OAEtC4rG,EAAOC,GACP9qG,KAAK2C,MAAM,QAASmoG,KAEtBC,WAAY,WACV,IAAIC,EAAavkG,UAEbskG,EAAa,SAAoB15E,GACnC,OAAOA,EAAKra,OAAOtQ,MAAM2qB,EAAM3V,EAAmBsvF,KAGpDhrG,KAAK4qG,UAAUG,IAEjBE,eAAgB,SAAwBj1B,EAAUC,GAChD,IAAIg1B,EAAiB,SAAwB55E,GAC3C,OAAOA,EAAKra,OAAOi/D,EAAU,EAAG5kD,EAAKra,OAAOg/D,EAAU,GAAG,KAG3Dh2E,KAAK4qG,UAAUK,IAEjBC,+BAAgC,SAAwCjnD,GACtE,IAAI0yB,EAAK1yB,EAAM0yB,GACXqI,EAAU/6B,EAAM+6B,QAChBz6E,EAAYvE,KAAKqqG,yCAAyC1zB,GAE9D,IAAKpyE,EACH,MAAO,CACLA,UAAWA,GAIf,IAAI8sB,EAAO9sB,EAAUkjG,SACjBlhG,EAAU,CACZ8qB,KAAMA,EACN9sB,UAAWA,GAGb,GAAIoyE,IAAOqI,GAAW3tD,GAAQ9sB,EAAU4lG,gBAAiB,CACvD,IAAIgB,EAAc5mG,EAAU4lG,gBAAgBnrB,GAE5C,GAAImsB,EACF,OAAO3sG,OAAOyyB,OAAOk6E,EAAa5kG,GAItC,OAAOA,GAET6kG,WAAY,SAAoBC,GAC9B,IAAIlwD,EAAUn7C,KAAKkqG,eACfoB,EAAgBnwD,EAAQ73C,OAC5B,OAAO+nG,EAAWC,EAAgB,EAAIA,EAAgBnwD,EAAQkwD,IAEhEE,aAAc,WACZ,OAAOvrG,KAAKipG,OAAOjnG,QAAQ,GAAGwpG,mBAEhCC,oBAAqB,SAA6B/qG,GAChD,GAAKV,KAAK2oG,oBAAuB3oG,KAAK+oG,eAAtC,CAIA,IAAIt4C,EAAQzwD,KAAK+pG,mBACjBt5C,EAAM/vD,GAAOwB,KAAO,KACpB,IAAIwpG,EAAsB1rG,KAAKurG,eAC/BG,EAAoBh1F,SAAW,GAC/Bg1F,EAAoBC,UAAO5sG,IAE7B6sG,YAAa,SAAqBp0F,GAChCxX,KAAKuG,QAAUvG,KAAKmqG,gBAAgB3yF,EAAI/W,MACxC+W,EAAI/W,KAAKorG,gBAAkB7rG,KAAK8jC,MAAM9jC,KAAKuG,QAAQ/C,SACnDklG,EAAkBlxF,EAAI/W,MAExBqrG,UAAW,SAAmBt0F,GAC5B,IAAIhU,EAAUgU,EAAI/W,KAAKorG,gBAEvB,QAAgB9sG,IAAZyE,EAAJ,CAIAhF,OAAO+nG,EAAO,KAAd/nG,CAAqCgZ,EAAI/W,MACzC,IAAIw1E,EAAWj2E,KAAKorG,WAAW5zF,EAAIy+D,UACnCj2E,KAAK+qG,WAAW90B,EAAU,EAAGzyE,GAC7BxD,KAAK0pG,iBACL,IAAIqC,EAAQ,CACVvoG,QAASA,EACTyyE,SAAUA,GAEZj2E,KAAK2qG,YAAY,CACfoB,MAAOA,MAGXC,aAAc,SAAsBx0F,GAGlC,GAFAhZ,OAAO+nG,EAAO,KAAd/nG,CAAuCwB,KAAKypG,cAAejyF,EAAI/W,KAAM+W,EAAIw+D,UAEpD,UAAjBx+D,EAAIo/D,SAAR,CAKA,IAAIZ,EAAWh2E,KAAKuG,QAAQ7F,MAC5BV,KAAK+qG,WAAW/0B,EAAU,GAC1B,IAAIi2B,EAAU,CACZzoG,QAASxD,KAAKuG,QAAQ/C,QACtBwyE,SAAUA,GAEZh2E,KAAKyrG,oBAAoBz1B,GACzBh2E,KAAK2qG,YAAY,CACfsB,QAASA,SAZTztG,OAAO+nG,EAAO,KAAd/nG,CAAqCgZ,EAAIssB,QAe7CooE,aAAc,SAAsB10F,GAClChZ,OAAO+nG,EAAO,KAAd/nG,CAAqCgZ,EAAI/W,MACzCjC,OAAO+nG,EAAO,KAAd/nG,CAAuCgZ,EAAIrU,KAAMqU,EAAI/W,KAAM+W,EAAIw+D,UAC/D,IAAIA,EAAWh2E,KAAKuG,QAAQ7F,MACxBu1E,EAAWj2E,KAAKorG,WAAW5zF,EAAIy+D,UACnCj2E,KAAKirG,eAAej1B,EAAUC,GAC9B,IAAIqB,EAAQ,CACV9zE,QAASxD,KAAKuG,QAAQ/C,QACtBwyE,SAAUA,EACVC,SAAUA,GAEZj2E,KAAK2qG,YAAY,CACfrzB,MAAOA,KAGX60B,eAAgB,SAAwB30F,EAAKkpC,GAC3ClpC,EAAI9Y,eAAegiD,KAAkBlpC,EAAIkpC,IAAiB1gD,KAAKioG,eAEjEmE,mBAAoB,SAA4BC,EAAgB70F,GAC9D,IAAK60F,EAAe7oG,QAClB,OAAO,EAGT,IAAI8oG,EAAc5wF,EAAmBlE,EAAIm/D,GAAGjgE,UAAUrC,QAAO,SAAUs5D,GACrE,MAA+B,SAAxBA,EAAGlxD,MAAM,cAGd8vF,EAAkBD,EAAYlkG,QAAQoP,EAAIwnE,SAC1C6M,EAAewgB,EAAe9nG,UAAU6mG,WAAWmB,GACnDC,GAA0D,IAA1CF,EAAYlkG,QAAQsgG,GACxC,OAAO8D,IAAkBh1F,EAAImnE,gBAAkBkN,EAAeA,EAAe,GAE/E0d,WAAY,SAAoB/xF,EAAK4+D,GACnC,IAAI0I,EAAS9+E,KAAKo+C,KAElB,IAAK0gC,IAAW9+E,KAAKynG,SACnB,OAAO,EAGT,IAAI4E,EAAiBrsG,KAAKkrG,+BAA+B1zF,GACrDi1F,EAAiBzsG,KAAKuG,QACtBmmG,EAAc1sG,KAAKosG,mBAAmBC,EAAgB70F,GAC1DhZ,OAAOyyB,OAAOw7E,EAAgB,CAC5BC,YAAaA,IAEf,IAAIC,EAAUnuG,OAAOyyB,OAAO,GAAIzZ,EAAK,CACnC60F,eAAgBA,EAChBI,eAAgBA,IAElB,OAAO3tB,EAAO6tB,EAASv2B,IAEzBw2B,UAAW,WACT5sG,KAAK0pG,iBACLhB,EAAkB,QAKF,qBAAXz1E,QAA0B,QAASA,QAC5CA,OAAO45E,IAAItoG,UAAU,YAAaskG,GAGP,IAAIiE,EAAe,EAIHhI,EAAoB,WAAa,KAMlE,e,mBC74EZ,SAASiI,KAIT3uG,EAAOC,QAAU0uG,G,iEChBjB,SAAS9G,EAAgB/iG,GACvB,GAAIwB,MAAM2E,QAAQnG,GAAM,OAAOA,EAGjC9E,EAAOC,QAAU4nG,G,mBCJjB,SAASG,IACP,MAAM,IAAIvmG,UAAU,wDAGtBzB,EAAOC,QAAU+nG,G,kCCJjB,uBAEe,cAEX/jG,oBAAqB,SAAA4T,GACjB,OAAO4D,UAAS,wBAAyB5D,IAG5C+2F,mBAAoB,SAAA/2F,GACnB,OAAO4D,UAAS,sCAAuC5D,M,8ECT7D,SAASg3F,EAAmBC,EAAKxnG,EAASkY,EAAQuvF,EAAOC,EAAQzsG,EAAK0nE,GACpE,IACE,IAAI7mD,EAAO0rF,EAAIvsG,GAAK0nE,GAChBppE,EAAQuiB,EAAKviB,MACjB,MAAO4D,GAEP,YADA+a,EAAO/a,GAIL2e,EAAKoV,KACPlxB,EAAQzG,GAERwG,QAAQC,QAAQzG,GAAOuK,KAAK2jG,EAAOC,GAIxB,SAASC,EAAkBnnG,GACxC,OAAO,WACL,IAAImF,EAAOrL,KACPwG,EAAOC,UACX,OAAO,IAAIhB,SAAQ,SAAUC,EAASkY,GACpC,IAAIsvF,EAAMhnG,EAAGQ,MAAM2E,EAAM7E,GAEzB,SAAS2mG,EAAMluG,GACbguG,EAAmBC,EAAKxnG,EAASkY,EAAQuvF,EAAOC,EAAQ,OAAQnuG,GAGlE,SAASmuG,EAAO/uF,GACd4uF,EAAmBC,EAAKxnG,EAASkY,EAAQuvF,EAAOC,EAAQ,QAAS/uF,GAGnE8uF,OAAMpuG,S;;;;;;AC1BZX,EAAOC,QACE,SAAU26B,GAET,IAAI6B,EAAmB,GAGvB,SAAS7vB,EAAoB8vB,GAG5B,GAAGD,EAAiBC,GACnB,OAAOD,EAAiBC,GAAUz8B,QAGnC,IAAID,EAASy8B,EAAiBC,GAAY,CACzCjzB,EAAGizB,EACHnI,GAAG,EACHt0B,QAAS,IAUV,OANA26B,EAAQ8B,GAAU37B,KAAKf,EAAOC,QAASD,EAAQA,EAAOC,QAAS2M,GAG/D5M,EAAOu0B,GAAI,EAGJv0B,EAAOC,QA0Df,OArDA2M,EAAoB0mB,EAAIsH,EAGxBhuB,EAAoBmnB,EAAI0I,EAGxB7vB,EAAoBsnB,EAAI,SAASj0B,EAASgM,EAAM0wB,GAC3C/vB,EAAoBC,EAAE5M,EAASgM,IAClC7L,OAAO8e,eAAejf,EAASgM,EAAM,CAAE8S,YAAY,EAAM6d,IAAKD,KAKhE/vB,EAAoBgnB,EAAI,SAAS3zB,GACX,qBAAXC,QAA0BA,OAAOQ,aAC1CN,OAAO8e,eAAejf,EAASC,OAAOQ,YAAa,CAAEG,MAAO,WAE7DT,OAAO8e,eAAejf,EAAS,aAAc,CAAEY,OAAO,KAQvD+L,EAAoBuoB,EAAI,SAASt0B,EAAOgxD,GAEvC,GADU,EAAPA,IAAUhxD,EAAQ+L,EAAoB/L,IAC/B,EAAPgxD,EAAU,OAAOhxD,EACpB,GAAW,EAAPgxD,GAA8B,kBAAVhxD,GAAsBA,GAASA,EAAMg8B,WAAY,OAAOh8B,EAChF,IAAIwzC,EAAKj0C,OAAO29B,OAAO,MAGvB,GAFAnxB,EAAoBgnB,EAAEygB,GACtBj0C,OAAO8e,eAAem1B,EAAI,UAAW,CAAEt1B,YAAY,EAAMle,MAAOA,IACtD,EAAPgxD,GAA4B,iBAAThxD,EAAmB,IAAI,IAAI0B,KAAO1B,EAAO+L,EAAoBsnB,EAAEmgB,EAAI9xC,EAAK,SAASA,GAAO,OAAO1B,EAAM0B,IAAQgyC,KAAK,KAAMhyC,IAC9I,OAAO8xC,GAIRznC,EAAoBmoB,EAAI,SAAS/0B,GAChC,IAAI28B,EAAS38B,GAAUA,EAAO68B,WAC7B,WAAwB,OAAO78B,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADA4M,EAAoBsnB,EAAEyI,EAAQ,IAAKA,GAC5BA,GAIR/vB,EAAoBC,EAAI,SAASiwB,EAAQC,GAAY,OAAO38B,OAAOC,UAAUC,eAAeS,KAAK+7B,EAAQC,IAGzGnwB,EAAoB2mB,EAAI,IAIjB3mB,EAAoBA,EAAoB2rB,EAAI,IAnFpD,CAsFC,CAEJ,SAAUv4B,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,GAExBD,EAAOC,QAAU,EAAQ,SAInB,SAAUD,EAAQC,EAAS2M,KAM3B,SAAU5M,EAAQ0mG,EAAqB95F,GAE7C,aACAA,EAAoBgnB,EAAE8yE,GAGtB,IAAIwI,EAAiBtiG,EAAoB,GACrCuiG,EAAqCviG,EAAoBmoB,EAAEm6E,GAG3DE,EAAqBxiG,EAAoB,GACzCyiG,EAAyCziG,EAAoBmoB,EAAEq6E,GAG/DE,EAAkB1iG,EAAoB,GACtC2iG,EAAsC3iG,EAAoBmoB,EAAEu6E,GAG5DE,EAAwB5iG,EAAoB,GAC5C6iG,EAA4C7iG,EAAoBmoB,EAAEy6E,GAGlEE,EAAQ9iG,EAAoB,GAC5B+iG,EAA4B/iG,EAAoBmoB,EAAE26E,GAOlDE,EAA0DD,EAAan8E,EAU3E,SAASq8E,EAAYC,GACnB,OAAO,SAAqB12F,GAC1B,GAAiB,cAAbA,EAAIzV,MAAuC,IAAfyV,EAAI43C,OAAc,CAChD,IAAK,IAAI9d,EAAO7qC,UAAUnD,OAAQkD,EAAO,IAAI9B,MAAM4sC,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClG/qC,EAAK+qC,EAAO,GAAK9qC,UAAU8qC,GAG7B28D,EAAiB/uG,KAAKuH,MAAMwnG,EAAkB,CAACluG,KAAMwX,GAAK2qB,OAAO37B,MAKvE,SAASglC,EAAe2iE,EAAcC,GACpC,IAAIC,EAAiBF,EAAa3hE,wBAC9B8hE,EAAcF,EAAW5hE,wBACzB+hE,EAAaH,EAAW/wC,aAAe,EAEvCixC,EAAY7hE,OAAS8hE,EAAaF,EAAe5hE,OACnD0hE,EAAa7iE,UAAYlR,KAAK2H,IAAIqsE,EAAW3wC,UAAY2wC,EAAW78B,aAAe48B,EAAa9wC,aAAekxC,EAAYJ,EAAa38B,cAC/H88B,EAAY5hE,IAAM6hE,EAAaF,EAAe3hE,MACvDyhE,EAAa7iE,UAAYlR,KAAKgW,IAAIg+D,EAAW3wC,UAAY8wC,EAAY,IAIzE,IAiBIC,EAjBAC,EAAYzjG,EAAoB,GAChC0jG,EAAgC1jG,EAAoBmoB,EAAEs7E,GAKtDE,EAAuB3jG,EAAoB,GAC3C4jG,EAA2C5jG,EAAoBmoB,EAAEw7E,GAGrE,SAASE,EAAgB3rG,EAAK+9B,GAC5B,IAAIi/C,EAAMh9E,EAAIkF,QAAQ64B,IACT,IAATi/C,GAAYh9E,EAAI8T,OAAOkpE,EAAK,GAMlC,IAAI4uB,EAAa,GACbC,EAAoB,IAExB,SAASC,IACPR,EAAa/rB,aAAY,WACvBqsB,EAAWn7F,QAAQsuC,KAClB8sD,GAGL,SAASzjC,IACP+Y,cAAcmqB,GACdA,EAAa,KAGf,SAASvsD,EAAKxhD,GACZ,IAAI6lE,EAAM7lE,EAAK6lE,IACX3X,EAAWluD,EAAKkuD,SAChBsgD,EAAYxuG,EAAKwuG,UACjBC,EAAazuG,EAAKyuG,WAClBpqG,EAAQwhE,EAAItG,YACZj7D,EAASuhE,EAAIjJ,aAEb4xC,IAAcnqG,GAASoqG,IAAenqG,IACxCtE,EAAKwuG,UAAYnqG,EACjBrE,EAAKyuG,WAAanqG,EAClB4pD,EAAS,CACP7pD,MAAOA,EACPC,OAAQA,KAKd,SAASoqG,EAAgB7oC,EAAK3X,GAC5B,IAAIluD,EAAO,CACT6lE,IAAKA,EACL3X,SAAUA,EACVsgD,UAAW,KACXC,WAAY,MAGVE,EAAU,WACZP,EAAgBC,EAAYruG,GACvBquG,EAAWxrG,QAAQgoE,KAM1B,OAHAwjC,EAAWvrG,KAAK9C,GAChBwhD,EAAKxhD,GACLuuG,IACOI,EAGT,SAASC,EAAU/oC,EAAK3X,GACtB,IAAI2gD,EAAkC,IAA1BrqG,SAASsqG,aACjBC,GAAS,EAETC,EAAkB,WACpB,OAAOD,GAAU7gD,EAASjoD,WAAM,EAAQD,YAGtCipG,EAAiBJ,EAAQH,EAAkBP,EAA4Bh9E,EACvE+9E,EAAoBD,EAAeppC,EAAKmpC,GAE5C,OADAD,GAAS,EACFG,EAGT,SAASC,EAAkBtpC,GACzB,IAAIupC,EAAiB,GACjBnF,EAAUpkC,EAAI/nC,WAElB,MAAOmsE,GAAgC,SAArBA,EAAQ75B,UAAuB65B,EAAQ3tC,WAAa93D,SAASo2D,aACzEy0C,EAAepF,IAAUmF,EAAetsG,KAAKmnG,GACjDA,EAAUA,EAAQnsE,WAIpB,OADAsxE,EAAetsG,KAAK0vB,QACb48E,EAGT,SAASC,EAAexpC,GACtB,IAAIypC,EAAoB/yC,iBAAiBsJ,GACrC0pC,EAAWD,EAAkBC,SAC7Bt+B,EAAYq+B,EAAkBr+B,UAC9BC,EAAYo+B,EAAkBp+B,UAElC,MAAO,wBAAwB1vB,KAAK+tD,EAAWr+B,EAAYD,GAG7D,SAASu+B,EAAmC3pC,EAAK3X,GAC/C,IAAIkhD,EAAiBD,EAAkBtpC,GASvC,OARArzC,OAAOoe,iBAAiB,SAAUsd,EAAU,CAC1C+e,SAAS,IAEXmiC,EAAel8F,SAAQ,SAAUu8F,GAC/BA,EAAa7+D,iBAAiB,SAAUsd,EAAU,CAChD+e,SAAS,OAGN,WACLz6C,OAAO27B,oBAAoB,SAAUD,EAAU,CAC7C+e,SAAS,IAEXmiC,EAAel8F,SAAQ,SAAUw8F,GAC/BA,EAAcvhD,oBAAoB,SAAUD,EAAU,CACpD+e,SAAS,QAMjB,SAAS0iC,EAAY58D,GACnB,OAAOA,IAAMA,EAGf,IAAI68D,EAAuBrlG,EAAoB,GAC3CslG,EAA2CtlG,EAAoBmoB,EAAEk9E,GAKjEE,EAAQvlG,EAAoB,GAC5BwlG,EAA4BxlG,EAAoBmoB,EAAEo9E,GAKlDE,EAAYzlG,EAAoB,GAChC0lG,EAAgC1lG,EAAoBmoB,EAAEs9E,GAKtDE,EAAY3lG,EAAoB,IAChC4lG,EAAgC5lG,EAAoBmoB,EAAEw9E,GAKtDE,EAAY,WACd,OAAOryG,OAAO29B,OAAO,OAGnB20E,EAAU9lG,EAAoB,IAC9B+lG,EAA8B/lG,EAAoBmoB,EAAE29E,GAKxD,SAASxtE,EAAcrkC,GACrB,OAAa,MAATA,GAA6C,WAA5B8xG,IAAiB9xG,IAC/BT,OAAO8lC,eAAerlC,KAAWT,OAAOC,UAGjD,SAASmlC,EAAKnkC,EAAKkB,EAAK1B,GAClBqkC,EAAcrkC,IAChBQ,EAAIkB,KAASlB,EAAIkB,GAAO,IACxBqwG,EAAWvxG,EAAIkB,GAAM1B,IAErBQ,EAAIkB,GAAO1B,EAIf,SAAS+xG,EAAW/zF,EAAQ8sB,GAC1B,GAAIzG,EAAcyG,GAGhB,IAFA,IAAI7+B,EAAO1M,OAAO0M,KAAK6+B,GAEdliC,EAAI,EAAGC,EAAMoD,EAAK5H,OAAQuE,EAAIC,EAAKD,IAC1C+7B,EAAK3mB,EAAQ/R,EAAKrD,GAAIkiC,EAAO7+B,EAAKrD,KAItC,OAAOoV,EAGT,IAAIg0F,EAAQjmG,EAAoB,IAC5BkmG,EAA4BlmG,EAAoBmoB,EAAE89E,GAKtD,SAAS5d,EAAS8d,EAAUlwE,GAC1B,OAAmC,IAA5BkwE,EAAS/oG,QAAQ64B,GAG1B,SAAS7E,EAAKl5B,EAAKy9B,EAAWx7B,GAC5B,IAAK,IAAI0C,EAAI,EAAGC,EAAM5E,EAAII,OAAQuE,EAAIC,EAAKD,IACzC,GAAI84B,EAAUxhC,KAAKgG,EAAKjC,EAAI2E,GAAIA,EAAG3E,GAAM,OAAOA,EAAI2E,GAMxD,SAASupG,EAAUC,EAAMC,GACvB,GAAID,EAAK/tG,SAAWguG,EAAKhuG,OAAQ,OAAO,EAExC,IAAK,IAAIuE,EAAI,EAAGA,EAAIwpG,EAAK/tG,OAAQuE,IAC/B,GAAIwpG,EAAKxpG,KAAOypG,EAAKzpG,GAAI,OAAO,EAGlC,OAAO,EAuBT,IAAI0pG,EAAiB,KACjBC,EAAY,EACZC,GAAgB,EAChBC,GAAU,EACVC,GAAe,eACfC,GAAkB,kBAClBC,GAAgB,gBAChBC,GAAmB,mBACnBC,GAAoB,oBACpBC,GAAwB,wBACxBC,GAAe,eACfC,GAAM,MACNC,GAAkB,kBAClBC,GAAgB,gBAChBC,GAAyB,yBACzBC,GAAiB,iBACjB7zE,GAAQ,QACR8zE,GAAQ,QACRC,GAAY,CACdzvD,UAAW,EACXP,MAAO,GACP+D,OAAQ,GACRksD,IAAK,GACLC,KAAM,GACNC,WAAY,GACZC,SAAU,GACVC,YAAa,GACbC,WAAY,GACZrwE,OAAQ,IAENswE,GAAiE,IACjEC,GAAkB,EAClBC,GAAc,GAMlB,SAASvmC,GAAQxxC,EAAQg4E,GAAkB,IAAIhoG,EAAO1M,OAAO0M,KAAKgwB,GAAS,GAAI18B,OAAO6hD,sBAAuB,CAAE,IAAIC,EAAU9hD,OAAO6hD,sBAAsBnlB,GAAag4E,IAAgB5yD,EAAUA,EAAQjsC,QAAO,SAAUs4D,GAAO,OAAOnuE,OAAO6kC,yBAAyBnI,EAAQyxC,GAAKxvD,eAAgBjS,EAAK3H,KAAKmD,MAAMwE,EAAMo1C,GAAY,OAAOp1C,EAE9U,SAASuhE,GAAcxvD,GAAU,IAAK,IAAIpV,EAAI,EAAGA,EAAIpB,UAAUnD,OAAQuE,IAAK,CAAE,IAAIkiC,EAAyB,MAAhBtjC,UAAUoB,GAAapB,UAAUoB,GAAK,GAAQA,EAAI,EAAK6kE,GAAQ3iC,GAAQ,GAAMp2B,SAAQ,SAAUhT,GAAOgtG,IAAyB1wF,EAAQtc,EAAKopC,EAAOppC,OAAsBnC,OAAO20G,0BAA6B30G,OAAO0lC,iBAAiBjnB,EAAQze,OAAO20G,0BAA0BppE,IAAmB2iC,GAAQ3iC,GAAQp2B,SAAQ,SAAUhT,GAAOnC,OAAO8e,eAAeL,EAAQtc,EAAKnC,OAAO6kC,yBAAyB0G,EAAQppC,OAAe,OAAOsc,EAMtgB,SAASm2F,GAAiBxhF,EAAGC,GAC3B,IAAIhqB,EAAI,EAER,EAAG,CACD,GAAI+pB,EAAE8Y,MAAQ7iC,EAAG,OAAQ,EACzB,GAAIgqB,EAAE6Y,MAAQ7iC,EAAG,OAAO,EACxB,GAAI+pB,EAAElxB,MAAMmH,KAAOgqB,EAAEnxB,MAAMmH,GAAI,OAAO+pB,EAAElxB,MAAMmH,GAAKgqB,EAAEnxB,MAAMmH,GAC3DA,UACO,GAGX,SAASwrG,GAAiBzhF,EAAGC,GAC3B,OAAOD,EAAE8Y,QAAU7Y,EAAE6Y,MAAQ0oE,GAAiBxhF,EAAGC,GAAKD,EAAE8Y,MAAQ7Y,EAAE6Y,MAGpE,SAAS4oE,KACP,MAAO,CACLC,UAAU,EACVC,WAAW,EACXC,aAAc,IAIlB,SAASC,GAAyBz0G,GAChC,MAAqB,kBAAVA,EAA2BA,EACjB,kBAAVA,GAAuBmxG,EAAYnxG,GACvC,GADsDA,EAAQ,GAIvE,SAASmL,GAAMupG,EAAkBt6F,EAAQC,GACvC,OAAOq6F,EAAmB9F,IAA+Bx0F,EAAQC,GAAY+5E,EAAS/5E,EAAUD,GAGlG,SAASu6F,GAAgBv1F,GACvB,OAAOA,EAAIvb,SAAWi9B,OAAO1hB,GAG/B,IAAIw1F,GAAa,EACgBC,GAAkB,CACjDC,QAAS,WACP,MAAO,CACLj3F,SAAU9c,OAGd8B,MAAO,CACLkyG,sBAAuB,CACrBjyG,KAAMokE,QACNnkE,SAAS,GAEXiyG,kCAAmC,CACjClyG,KAAMokE,QACNnkE,SAAS,GAEXkyG,WAAY,CACVnyG,KAAMokE,QACNnkE,SAAS,GAEXmyG,aAAc,CACZpyG,KAAMokE,QACNnkE,SAAS,GAEXopE,MAAO,CACLrpE,KAAMokE,QACNnkE,SAAS,GAEXoyG,UAAW,CACTryG,KAAMokE,QACNnkE,SAAS,GAEXqyG,oBAAqB,CACnBtyG,KAAMokE,QACNnkE,SAAS,GAEXsyG,sBAAuB,CACrBvyG,KAAMokE,QACNnkE,SAAS,GAEXuyG,wBAAyB,CACvBxyG,KAAMokE,QACNnkE,SAAS,GAEXwyG,oBAAqB,CACnBzyG,KAAMokE,QACNnkE,SAAS,GAEXyyG,sBAAuB,CACrB1yG,KAAMokE,QACNnkE,SAAS,GAEX0yG,iBAAkB,CAChB3yG,KAAMokE,QACNnkE,SAAS,GAEX2yG,eAAgB,CACd5yG,KAAMwJ,SACNvJ,QAAS4uG,KAAmB,IAE9BgE,iBAAkB,CAChB7yG,KAAMokE,QACNnkE,SAAS,GAEX6yG,aAAc,CACZ9yG,KAAMokE,QACNnkE,SAAS,GAEX8yG,UAAW,CACT/yG,KAAMokE,QACNnkE,SAAS,GAEX+yG,aAAc,CACZhzG,KAAMg+B,OACN/9B,QAAS,aAEXgzG,cAAe,CACbjzG,KAAMokE,QACNnkE,SAAS,GAEXizG,eAAgB,CACdlzG,KAAMg+B,OACN/9B,QAAS,eAEXkzG,cAAe,CACbnzG,KAAMokE,QACNnkE,SAAS,GAEXmzG,mBAAoB,CAClBpzG,KAAMmrC,OACNlrC,QAAS,GAEXikE,eAAgB,CACdjkE,SAAS,GAEXozG,cAAe,CACbrzG,KAAMokE,QACNnkE,SAAS,GAEXqzG,UAAW,CACTtzG,KAAMg+B,OACN/9B,QAAS,KAEXszG,qBAAsB,CACpBvzG,KAAMokE,QACNnkE,SAAS,GAEXuzG,mBAAoB,CAClBxzG,KAAMokE,QACNnkE,SAAS,GAEXkkE,SAAU,CACRnkE,KAAMokE,QACNnkE,SAAS,GAEXwzG,qBAAsB,CACpBzzG,KAAMokE,QACNnkE,SAAS,GAEXyzG,KAAM,CACJ1zG,KAAMokE,QACNnkE,SAAS,GAEX6xG,WAAY,CACV7xG,QAAS,WACP,MAAO,GAAGmgC,OAAO0xE,KAAc,OAEjC9xG,KAAM,CAACg+B,OAAQmN,SAEjBwoE,WAAY,CACV3zG,KAAMokE,QACNnkE,SAAS,GAEXyoC,MAAO,CACL1oC,KAAMmrC,OACNlrC,QAASm4B,KAEXw7E,UAAW,CACT5zG,KAAMwJ,SACNvJ,QAAS,SAA0B4zG,GACjC,MAAO,OAAOzzE,OAAOyzE,EAAO,WAGhCC,YAAa,CACX9zG,KAAMg+B,OACN/9B,QAAS,cAEX8zG,YAAa,CACX/zG,KAAMwJ,UAERwqG,UAAW,CACTh0G,KAAM2C,MACN1C,QAAS4uG,IAAmB,CAAC,WAE/BoF,UAAW,CACTj0G,KAAMmrC,OACNlrC,QAAS,KAEXi0G,SAAU,CACRl0G,KAAMokE,QACNnkE,SAAS,GAEXqI,KAAM,CACJtI,KAAMg+B,QAERm2E,eAAgB,CACdn0G,KAAMg+B,OACN/9B,QAAS,mBAEXm0G,cAAe,CACbp0G,KAAMg+B,OACN/9B,QAAS,yBAEXo0G,cAAe,CACbr0G,KAAMg+B,OACN/9B,QAAS,uBAEXkmB,WAAY,CACVnmB,KAAMwJ,SACNvJ,QAAS0uG,EAAiB9+E,GAE5BykF,cAAe,CACbt0G,KAAMg+B,OACN/9B,QAAS,OACTs0G,UAAW,SAAmBr3G,GAC5B,IAAIs3G,EAAmB,CAAC,OAAQ,MAAO,SAAU,QAAS,SAC1D,OAAOljB,EAASkjB,EAAkBt3G,KAGtCu3G,YAAa,CACXz0G,KAAMokE,QACNnkE,SAAS,GAEXy0G,YAAa,CACX10G,KAAMokE,QACNnkE,SAAS,GAEXqmB,QAAS,CACPtmB,KAAM2C,OAER60B,YAAa,CACXx3B,KAAMg+B,OACN/9B,QAAS,aAEXokE,SAAU,CACRrkE,KAAMokE,QACNnkE,SAAS,GAEX00G,UAAW,CACT30G,KAAMg+B,OACN/9B,QAAS,UAEX20G,WAAY,CACV50G,KAAMg+B,OACN/9B,QAAS,kBAEX40G,WAAY,CACV70G,KAAMokE,QACNnkE,SAAS,GAEX60G,aAAc,CACZ90G,KAAMokE,QACNnkE,SAAS,GAEX80G,iBAAkB,CAChB/0G,KAAMg+B,OACN/9B,QAAS,qBAEX+0G,UAAW,CACTh1G,KAAMokE,QACNnkE,SAAS,GAEXg1G,YAAa,CACXj1G,KAAMg+B,OACN/9B,QAAS2vG,GACT2E,UAAW,SAAmBr3G,GAC5B,IAAIs3G,EAAmB,CAAC5E,GAAcC,GAAiBC,GAAeC,IACtE,OAAOze,EAASkjB,EAAkBt3G,KAGtCg4G,kBAAmB,KACnBC,YAAa,CACXn1G,KAAMg+B,OACN/9B,QAASswG,GACTgE,UAAW,SAAmBr3G,GAC5B,IAAIs3G,EAAmB,CAACjE,GAAgB7zE,GAAO8zE,IAC/C,OAAOlf,EAASkjB,EAAkBt3G,KAGtCkqD,SAAU,CACRpnD,KAAMmrC,OACNlrC,QAAS,GAEX/C,MAAO,KACPk4G,gBAAiB,CACfp1G,KAAMg+B,OACN/9B,QAASmwG,GACTmE,UAAW,SAAmBr3G,GAC5B,IAAIs3G,EAAmB,CAACrE,GAAKC,GAAiBC,GAAeC,IAC7D,OAAOhf,EAASkjB,EAAkBt3G,KAGtCm4G,YAAa,CACXr1G,KAAMg+B,OACN/9B,QAAS,MAEXq1G,OAAQ,CACNt1G,KAAM,CAACmrC,OAAQnN,QACf/9B,QAAS,MAGbE,KAAM,WACJ,MAAO,CACLunD,QAAS,CACP6tD,WAAW,EACXC,YAAa,IAEfC,KAAM,CACJC,QAAQ,EACRC,QAAS,KACTC,mBAAoB,EACpBC,UAAW,UAEbC,OAAQ,CACNC,kBAAmB,GACnBC,QAASlH,IACTmH,gBAAiBnH,IACjBoH,gBAAiBj4G,KAAKk4G,iCACtBC,gBAAiBtH,KAEnBuH,kBAAmB9E,KACnB+E,YAAa,CACX7gC,QAAQ,EACR8gC,WAAW,EACXC,SAAU1H,KAEZ2H,aAAc3H,MAGlB1uG,SAAU,CACRs2G,cAAe,WACb,OAAOz4G,KAAK63G,OAAOI,gBAAgBttG,IAAI3K,KAAK04G,UAE9CC,cAAe,WACb,IAEIA,EAFAh7E,EAAQ39B,KAIZ,GAAIA,KAAK44G,QAAU54G,KAAKy1G,MAAQz1G,KAAKu1G,oBAAsBv1G,KAAKm3G,kBAAoBjF,GAClFyG,EAAgB34G,KAAK63G,OAAOI,gBAAgBt0G,aACvC,GAAI3D,KAAKm3G,kBAAoBhF,GAClCwG,EAAgB34G,KAAK63G,OAAOI,gBAAgB5jG,QAAO,SAAUvJ,GAC3D,IAAIugB,EAAOsS,EAAM+6E,QAAQ5tG,GAEzB,QAAIugB,EAAKwtF,aACDl7E,EAAMm7E,WAAWztF,EAAKkT,oBAE3B,GAAIv+B,KAAKm3G,kBAAoB/E,GAClCuG,EAAgB34G,KAAK63G,OAAOI,gBAAgB5jG,QAAO,SAAUvJ,GAC3D,IAAIugB,EAAOsS,EAAM+6E,QAAQ5tG,GAEzB,QAAIugB,EAAK0tF,QACuB,IAAzB1tF,EAAK3U,SAASpT,eAElB,GAAItD,KAAKm3G,kBAAoB9E,GAAwB,CAC1D,IAAI2G,EAEAC,EAAuB,GAC3BN,EAAgB34G,KAAK63G,OAAOI,gBAAgBt0G,QAC5C3D,KAAKy4G,cAAc9kG,SAAQ,SAAUulG,GACnCA,EAAaC,UAAUxlG,SAAQ,SAAUylG,GACnC/lB,EAAS4lB,EAAsBG,EAAStuG,KACxCuoF,EAASslB,EAAeS,EAAStuG,KACrCmuG,EAAqB11G,KAAK61G,EAAStuG,WAItCkuG,EAAiBL,GAAep1G,KAAKmD,MAAMsyG,EAAgBC,GAa9D,OAVIj5G,KAAKk3G,cAAgBz4E,GACvBk6E,EAAchlE,MAAK,SAAU/hB,EAAGC,GAC9B,OAAOwhF,GAAiB11E,EAAM+6E,QAAQ9mF,GAAI+L,EAAM+6E,QAAQ7mF,OAEjD7xB,KAAKk3G,cAAgB3E,IAC9BoG,EAAchlE,MAAK,SAAU/hB,EAAGC,GAC9B,OAAOuhF,GAAiBz1E,EAAM+6E,QAAQ9mF,GAAI+L,EAAM+6E,QAAQ7mF,OAIrD8mF,GAETU,SAAU,WACR,OAAOr5G,KAAK24G,cAAcr1G,OAAS,GAErCs1G,OAAQ,WACN,OAAQ54G,KAAKi2G,UAEfqD,iBAAkB,WAChB,IAAI/yE,EAASvmC,KAETs5G,EAAmB,GAUvB,OATAt5G,KAAKu5G,yBAAwB,SAAUluF,GAKrC,GAJKkb,EAAO8xE,YAAY7gC,SAAUjxC,EAAOizE,qCAAqCnuF,IAC5EiuF,EAAiB/1G,KAAK8nB,EAAKvgB,IAGzBugB,EAAKouF,WAAalzE,EAAOmzE,aAAaruF,GACxC,OAAO,KAGJiuF,GAETK,kBAAmB,WACjB,OAAwC,IAAjC35G,KAAKs5G,iBAAiBh2G,QAE/Bs2G,0BAA2B,WACzB,MAAyC,mBAA3B55G,KAAKi3G,kBAAkCj3G,KAAKi3G,kBAAoBj3G,KAAK+2G,WAErF8C,eAAgB,WACd,OAAO75G,KAAK63G,OAAOC,kBAAkB92G,MAAK,SAAU84G,GAClD,OAAOA,EAASL,aAGpBM,qBAAsB,WACpB,OAAO/5G,KAAKq4G,YAAY7gC,QAAUx3E,KAAKs1G,uBAG3CxxG,MAAO,CACLowG,WAAY,SAAoBxwE,GAC1BA,EAAU1jC,KAAKg6G,WAAgBh6G,KAAKi6G,aAE1CrF,iBAAkB,WAChB50G,KAAKqmE,cAEPH,SAAU,SAAkBxiC,GACtBA,GAAY1jC,KAAKw3G,KAAKC,OAAQz3G,KAAKi6G,YAAsBv2E,GAAa1jC,KAAKw3G,KAAKC,SAAUz3G,KAAKk0G,YAAYl0G,KAAKg6G,YAEtHvE,KAAM,WACJz1G,KAAKqmE,cAEPsyC,cAAe,SAAuBj1E,EAAUqU,GAC9C,IAAImiE,EAAa9I,EAAU1tE,EAAUqU,GACjCmiE,GAAYl6G,KAAK2C,MAAM,QAAS3C,KAAKm6G,WAAYn6G,KAAKo6G,kBAE5DrE,UAAW,WACT/1G,KAAKqmE,cAEP4vC,SAAU,SAAkBvyE,GACtBA,GAAU1jC,KAAKq6G,oBAErBhyF,QAAS,CACPlP,QAAS,WACHnZ,KAAKorE,QACTprE,KAAKqmE,aACLrmE,KAAKo4G,kBAAkB7E,SAAW7uG,MAAM2E,QAAQrJ,KAAKqoB,WAEvD0b,MAAM,EACNu2E,WAAW,GAEb,sBAAuB,WACjBt6G,KAAKorE,MACPprE,KAAKu6G,qBAELv6G,KAAKw6G,oBAGPx6G,KAAK2C,MAAM,gBAAiB3C,KAAKypD,QAAQ8tD,YAAav3G,KAAKo6G,kBAE7Dn7G,MAAO,WACL,IAAIw7G,EAAmBz6G,KAAKk4G,iCACxBgC,EAAa9I,EAAUqJ,EAAkBz6G,KAAK24G,eAC9CuB,GAAYl6G,KAAK06G,mBAAmBD,KAG5Cr4G,QAAS,CACPu4G,YAAa,WACX,IAAI3vE,EAAShrC,KAwBb,GAtBAguG,GAAgB,WACd,OAAOhjE,EAAOogC,OAAQpgC,EAAO4rE,cAC5B,WACD,MAAO,yEAGW,MAAhB52G,KAAKqoB,SAAoBroB,KAAK81G,aAChC9H,GAAgB,WACd,OAAO,KACN,WACD,MAAO,oFAIPhuG,KAAKy1G,MACPzH,GAAgB,WACd,OAAOhjE,EAAOirE,YACb,WACD,MAAO,sEAINj2G,KAAKy1G,KAAM,CACd,IAAImF,EAAY,CAAC,sBAAuB,wBAAyB,wBAAyB,2BAC1FA,EAAUjnG,SAAQ,SAAU8yF,GAC1BuH,GAAgB,WACd,OAAQhjE,EAAOy7D,MACd,WACD,MAAO,IAAKtkE,OAAOskE,EAAU,wCAKrCoU,WAAY,WACV76G,KAAK86G,eAAgB,GAEvBz0C,WAAY,WACV,IAAIh+C,EAAUroB,KAAKorE,MAAQprE,KAAK+6G,uBAAuB1yF,QAAUroB,KAAKqoB,QAEtE,GAAI3jB,MAAM2E,QAAQgf,GAAU,CAC1B,IAAI2yF,EAAch7G,KAAK63G,OAAOE,QAC9B/3G,KAAK63G,OAAOE,QAAUlH,IACtB7wG,KAAKi7G,wBAAwBD,GAC7Bh7G,KAAK63G,OAAOC,kBAAoB93G,KAAKsjD,UAAUiuD,EAAgBlpF,EAAS2yF,GACxEh7G,KAAK06G,mBAAmB16G,KAAK24G,oBAE7B34G,KAAK63G,OAAOC,kBAAoB,IAGpCsC,cAAe,WACb,OAA0B,MAAnBp6G,KAAK6zG,WAAqB7zG,KAAK8K,GAAK9K,KAAK6zG,YAElDsG,SAAU,WACR,IAAI1uE,EAASzrC,KAEb,GAAyB,OAArBA,KAAKo3G,YACP,OAAOp3G,KAAKi2G,SAAWj2G,KAAK24G,cAAch1G,QAAU3D,KAAK24G,cAAc,GAGzE,IAAI1O,EAAWjqG,KAAK24G,cAAchuG,KAAI,SAAUG,GAC9C,OAAO2gC,EAAOitE,QAAQ5tG,GAAIowG,OAE5B,OAAOl7G,KAAKi2G,SAAWhM,EAAWA,EAAS,IAE7CyO,QAAS,SAAiByC,GAMxB,OALAnN,GAAgB,WACd,OAAiB,MAAVmN,KACN,WACD,MAAO,oBAAoBh5E,OAAOg5E,MAEtB,MAAVA,EAAuB,KACpBA,KAAUn7G,KAAK63G,OAAOE,QAAU/3G,KAAK63G,OAAOE,QAAQoD,GAAUn7G,KAAKo7G,mBAAmBD,IAE/FC,mBAAoB,SAA4BtwG,GAC9C,IAAIowG,EAAMl7G,KAAKq7G,qBAAqBvwG,GAChC2L,EAAQzW,KAAKs7G,mBAAmBJ,GAAKzkG,OAAS,GAAG0rB,OAAOr3B,EAAI,cAC5DywG,EAAe,CACjBzwG,GAAIA,EACJ2L,MAAOA,EACP0iG,UAAW,GACX56E,WAAYgzE,EACZiK,gBAAgB,EAChB3C,YAAY,EACZE,QAAQ,EACRU,UAAU,EACVgC,YAAY,EACZC,OAAO,EACPh7G,MAAO,EAAE,GACTgqC,MAAO,EACPwwE,IAAKA,GAEP,OAAOl7G,KAAK+L,KAAK/L,KAAK63G,OAAOE,QAASjtG,EAAIywG,IAE5CrD,+BAAgC,WAC9B,IAAIlsE,EAAShsC,KAEb,OAAkB,MAAdA,KAAKf,MAAsB,GAEN,OAArBe,KAAKo3G,YACAp3G,KAAKi2G,SAAWj2G,KAAKf,MAAM0E,QAAU,CAAC3D,KAAKf,QAG5Ce,KAAKi2G,SAAWj2G,KAAKf,MAAQ,CAACe,KAAKf,QAAQ0L,KAAI,SAAU0gB,GAC/D,OAAO2gB,EAAOsvE,mBAAmBjwF,MAChC1gB,KAAI,SAAU0gB,GACf,OAAOA,EAAKvgB,OAGhBuwG,qBAAsB,SAA8BvwG,GAClD,IAAIqhC,EAASnsC,KAET27G,EAAc,CAChB7wG,GAAIA,GAGN,GAAyB,OAArB9K,KAAKo3G,YACP,OAAOuE,EAGT,IAAIC,EAAa57G,KAAKi2G,SAAWvxG,MAAM2E,QAAQrJ,KAAKf,OAASe,KAAKf,MAAQ,GAAKe,KAAKf,MAAQ,CAACe,KAAKf,OAAS,GACvG0iG,EAAUvlE,EAAKw/E,GAAY,SAAUvwF,GACvC,OAAOA,GAAQ8gB,EAAOmvE,mBAAmBjwF,GAAMvgB,KAAOA,KAExD,OAAO62F,GAAWga,GAEpBjB,mBAAoB,SAA4BmB,GAC9C,IAAInuE,EAAS1tC,KAET87G,EAAsB,GAE1B,GAAI97G,KAAK44G,QAAU54G,KAAKy1G,MAAQz1G,KAAKu1G,oBAAsBv1G,KAAKm3G,kBAAoBjF,GAClF4J,EAAsBD,OACjB,GAAI77G,KAAKm3G,kBAAoBhF,GAClC0J,EAAsBloG,SAAQ,SAAUwnG,GACtCW,EAAoBv4G,KAAK43G,GAEzB,IAAI9vF,EAAOqiB,EAAOgrE,QAAQyC,GAEtB9vF,EAAKouF,UAAU/rE,EAAOquE,uBAAuB1wF,GAAM,SAAUopB,GAC/DqnE,EAAoBv4G,KAAKkxC,EAAW3pC,eAGnC,GAAI9K,KAAKm3G,kBAAoB/E,GAAe,CACjD,IAAIznG,EAAMkmG,IACNmL,EAAQH,EAAsBl4G,QAElC,MAAOq4G,EAAM14G,OAAQ,CACnB,IAAI63G,EAASa,EAAMp1E,QACfvb,EAAOrrB,KAAK04G,QAAQyC,GACxBW,EAAoBv4G,KAAK43G,GACrB9vF,EAAKwtF,aACHxtF,EAAKkT,WAAWzzB,MAAMH,IAAMA,EAAI0gB,EAAKkT,WAAWzzB,IAAMugB,EAAKkT,WAAW7nB,SAASpT,QACnD,MAA5BqH,EAAI0gB,EAAKkT,WAAWzzB,KAAWkxG,EAAMz4G,KAAK8nB,EAAKkT,WAAWzzB,WAE7D,GAAI9K,KAAKm3G,kBAAoB9E,GAAwB,CAC1D,IAAIriE,EAAO6gE,IAEPoL,EAASJ,EAAsBxnG,QAAO,SAAU8mG,GAClD,IAAI9vF,EAAOqiB,EAAOgrE,QAAQyC,GAE1B,OAAO9vF,EAAK0tF,QAAmC,IAAzB1tF,EAAK3U,SAASpT,UAGtC,MAAO24G,EAAO34G,OAAQ,CACpB,IAAI44G,EAAUD,EAAOr1E,QAEjBu1E,EAAQn8G,KAAK04G,QAAQwD,GAEzBJ,EAAoBv4G,KAAK24G,GACrBC,EAAMtD,aACJsD,EAAM59E,WAAWzzB,MAAMklC,IAAOA,EAAKmsE,EAAM59E,WAAWzzB,IAAMqxG,EAAM59E,WAAW7nB,SAASpT,QACtD,MAA9B0sC,EAAKmsE,EAAM59E,WAAWzzB,KAAWmxG,EAAO14G,KAAK44G,EAAM59E,WAAWzzB,MAIxE,IAAIovG,EAAa9I,EAAUpxG,KAAK63G,OAAOI,gBAAiB6D,GACpD5B,IAAYl6G,KAAK63G,OAAOI,gBAAkB6D,GAC9C97G,KAAKq6G,oBAEPY,wBAAyB,SAAiCD,GACxD,IAAIrtE,EAAS3tC,KAEbA,KAAK63G,OAAOI,gBAAgBtkG,SAAQ,SAAU7I,GAC5C,GAAKkwG,EAAYlwG,GAAjB,CAEA,IAAIugB,EAAOohD,GAAc,GAAIuuC,EAAYlwG,GAAK,CAC5C0wG,gBAAgB,IAGlB7tE,EAAO5hC,KAAK4hC,EAAOkqE,OAAOE,QAASjtG,EAAIugB,QAG3CytF,WAAY,SAAoBztF,GAC9B,OAAgD,IAAzCrrB,KAAK63G,OAAOM,gBAAgB9sF,EAAKvgB,KAE1CixG,uBAAwB,SAAgCx9E,EAAY9yB,GAClE,GAAK8yB,EAAWk7E,SAAhB,CACA,IAAIuC,EAAQz9E,EAAW7nB,SAAS/S,QAEhC,MAAOq4G,EAAM14G,OAAQ,CACnB,IAAI84G,EAAWJ,EAAM,GACjBI,EAAS3C,UAAUuC,EAAMz4G,KAAKmD,MAAMs1G,EAAOvO,IAA4B2O,EAAS1lG,WACpFjL,EAAS2wG,GACTJ,EAAMp1E,WAGVy1E,uBAAwB,SAAgC99E,EAAY9yB,GAClE,IAAIyiC,EAASluC,KAERu+B,EAAWk7E,UAChBl7E,EAAW7nB,SAAS/C,SAAQ,SAAUozB,GACpCmH,EAAOmuE,uBAAuBt1E,EAAOt7B,GAErCA,EAASs7B,OAGbu1E,oBAAqB,SAA6B7wG,GAChD,IAAI6iC,EAAUtuC,KAEdA,KAAK63G,OAAOC,kBAAkBnkG,SAAQ,SAAUmmG,GAC9CxrE,EAAQ+tE,uBAAuBvC,EAAUruG,GAEzCA,EAASquG,OAGbP,wBAAyB,SAAiC9tG,GACxD,IAAI8wG,EAAO,SAASA,EAAKh+E,GACvBA,EAAW7nB,SAAS/C,SAAQ,SAAUozB,IACZ,IAApBt7B,EAASs7B,IAAoBA,EAAM0yE,UACrC8C,EAAKx1E,OAKXw1E,EAAK,CACH7lG,SAAU1W,KAAK63G,OAAOC,qBAG1B0E,wBAAyB,SAAiCnxE,GACpDA,EACFpmC,SAASosC,iBAAiB,YAAarxC,KAAKy8G,oBAAoB,GAEhEx3G,SAAS2pD,oBAAoB,YAAa5uD,KAAKy8G,oBAAoB,IAGvEC,kBAAmB,WACjB,OAAO18G,KAAK8X,MAAMknD,QAAQlnD,MAAM,oBAElC6kG,SAAU,WACR,OAAO38G,KAAK08G,oBAAoB5kG,MAAMkmB,OAExC4+E,WAAY,WACV58G,KAAK28G,WAAWpxE,SAElBsxE,UAAW,WACT78G,KAAK28G,WAAW1gE,QAElB6gE,gBAAiB7O,GAAY,SAAyBz2F,GAGpD,GAFAA,EAAI/I,iBACJ+I,EAAIxK,mBACAhN,KAAKkmE,SAAT,CACA,IAAI62C,EAA4B/8G,KAAK08G,oBAAoBp2C,IAAIv4B,SAASv2B,EAAIyF,QAEtE8/F,IAA8B/8G,KAAKw3G,KAAKC,SAAWz3G,KAAKw2G,aAAex2G,KAAKypD,QAAQ6tD,YACtFt3G,KAAKg6G,WAGHh6G,KAAK86G,cACP96G,KAAK68G,YAEL78G,KAAK48G,aAGP58G,KAAK66G,iBAEP4B,mBAAoB,SAA4BjlG,GAC1CxX,KAAK8X,MAAMqmC,UAAYn+C,KAAK8X,MAAMqmC,QAAQpQ,SAASv2B,EAAIyF,UACzDjd,KAAK68G,YACL78G,KAAKi6G,cAGTO,kBAAmB,WACjB,IAAIzrE,EAAU/uC,KAEVu3G,EAAcv3G,KAAKypD,QAAQ8tD,YAE3B3gF,EAAO,WACT,OAAOmY,EAAQiuE,qCAAoC,IAGrD,IAAKzF,EAEH,OADAv3G,KAAKq4G,YAAY7gC,QAAS,EACnB5gD,IAGT52B,KAAKq4G,YAAY7gC,QAAS,EAC1Bx3E,KAAKq4G,YAAYC,WAAY,EAC7Bt4G,KAAKs8G,qBAAoB,SAAUjxF,GAE/B,IAAI4xF,EADF5xF,EAAKouF,WAGPpuF,EAAK6xF,oBAAqB,EAC1B7xF,EAAK8xF,yBAA0B,EAC/B9xF,EAAK+xF,WAAY,EACjB/xF,EAAKgyF,uBAAwB,EAE7BtuE,EAAQhjC,KAAKgjC,EAAQspE,YAAYE,SAAUltF,EAAKvgB,IAAKmyG,EAAe,GAAItP,IAAyBsP,EAActL,GAAc,GAAIhE,IAAyBsP,EAAcrL,GAAiB,GAAIjE,IAAyBsP,EAAcpL,GAAe,GAAIlE,IAAyBsP,EAAcnL,GAAkB,GAAImL,QAGxT,IAAIK,EAAwB/F,EAAYjzF,OAAOi5F,oBAC3CC,EAAmBF,EAAsBvpE,QAAQ,OAAQ,KAAK1yB,MAAM,KACxErhB,KAAKs8G,qBAAoB,SAAUjxF,GAC7B0jB,EAAQ8nE,cAAgB2G,EAAiBl6G,OAAS,EACpD+nB,EAAK+xF,UAAYI,EAAiB/4D,OAAM,SAAUg5D,GAChD,OAAOrzG,IAAM,EAAOqzG,EAAapyF,EAAKqyF,sBAGxCryF,EAAK+xF,UAAYruE,EAAQgnE,UAAU/0G,MAAK,SAAU28G,GAChD,OAAOvzG,IAAO2kC,EAAQymE,qBAAsB8H,EAAuBjyF,EAAKuyF,WAAWD,OAInFtyF,EAAK+xF,YACPruE,EAAQspE,YAAYC,WAAY,EAChCjtF,EAAK8tF,UAAUxlG,SAAQ,SAAUylG,GAC/B,OAAOrqE,EAAQspE,YAAYE,SAASa,EAAStuG,IAAI8mG,SAE/CvmF,EAAK0tF,QAAQ1tF,EAAK8tF,UAAUxlG,SAAQ,SAAUylG,GAChD,OAAOrqE,EAAQspE,YAAYE,SAASa,EAAStuG,IAAIgnG,SAG/CzmF,EAAKkT,aAAegzE,IACtBxiE,EAAQspE,YAAYE,SAASltF,EAAKkT,WAAWzzB,IAAI6mG,KAAiB,EAC9DtmF,EAAK0tF,SAAQhqE,EAAQspE,YAAYE,SAASltF,EAAKkT,WAAWzzB,IAAI+mG,KAAkB,MAInFxmF,EAAK+xF,WAAa/xF,EAAKouF,UAAYpuF,EAAK6xF,qBAAuB7xF,EAAKkT,aAAegzE,IACtFlmF,EAAKkT,WAAW2+E,oBAAqB,EACrC7xF,EAAKkT,WAAW8+E,uBAAwB,MAG5CzmF,KAEF2jF,mBAAoB,WAClB,IAAIsD,EAAU79G,KAEVu3G,EAAcv3G,KAAKypD,QAAQ8tD,YAC3BltC,EAAQrqE,KAAK+6G,uBAEbnkF,EAAO,WACTinF,EAAQx3C,aAERw3C,EAAQb,qCAAoC,IAG9C,IAAqB,KAAhBzF,GAAsBv3G,KAAK60G,eAAiBxqC,EAAMkpC,SACrD,OAAO38E,IAGT52B,KAAK89G,oBAAoB,CACvBC,OAAQ9L,GACRzrG,KAAM,CACJ+wG,YAAaA,GAEfyG,UAAW,WACT,OAAO3zC,EAAMmpC,WAEf5qG,MAAO,WACLyhE,EAAMmpC,WAAY,EAClBnpC,EAAMkpC,UAAW,EACjBlpC,EAAMopC,aAAe,IAEvBwK,QAAS,SAAiB51F,GACxBgiD,EAAMkpC,UAAW,EACjBlpC,EAAMhiD,QAAUA,EACZw1F,EAAQp0D,QAAQ8tD,cAAgBA,GAAa3gF,KAEnDsnF,KAAM,SAAc7/F,GAClBgsD,EAAMopC,aAAeG,GAAgBv1F,IAEvCxV,IAAK,WACHwhE,EAAMmpC,WAAY,MAIxBuH,qBAAsB,WACpB,IAAIoD,EAAUn+G,KAEVu3G,EAAcv3G,KAAKypD,QAAQ8tD,YAE3BltC,EAAQrqE,KAAKw4G,aAAajB,IAAgB9qC,GAAc,GAAI6mC,KAA4B,CAC1FjrF,QAAS,KAWX,GARAroB,KAAKo+G,QAAO,WACV,OAAO/zC,EAAMhiD,WACZ,WACG81F,EAAQ10D,QAAQ8tD,cAAgBA,GAAa4G,EAAQ93C,eACxD,CACDtiC,MAAM,IAGY,KAAhBwzE,EAAoB,CACtB,GAAI7yG,MAAM2E,QAAQrJ,KAAKimE,gBAGrB,OAFAoE,EAAMhiD,QAAUroB,KAAKimE,eACrBoE,EAAMkpC,UAAW,EACVlpC,EACF,IAA4B,IAAxBrqE,KAAKimE,eAEd,OADAoE,EAAMkpC,UAAW,EACVlpC,EAQX,OAJKrqE,KAAKw4G,aAAajB,IACrBv3G,KAAK+L,KAAK/L,KAAKw4G,aAAcjB,EAAaltC,GAGrCA,GAETqvC,aAAc,SAAsBruF,GAClC,OAAOrrB,KAAKq4G,YAAY7gC,OAASnsD,EAAK6xF,mBAAqB7xF,EAAKgzF,YAElE7E,qCAAsC,SAA8CnuF,GAClF,QAAIA,EAAK+xF,eACL/xF,EAAKouF,WAAYpuF,EAAKgyF,uBAA0Br9G,KAAKs1G,yBACpDjqF,EAAKwtF,aAAcxtF,EAAKkT,WAAW4+E,2BAG1CmB,uBAAwB,SAAgCjzF,GACtD,QAAIrrB,KAAKq4G,YAAY7gC,SAAWx3E,KAAKw5G,qCAAqCnuF,KAM5EkzF,WAAY,WACV,OAAOv+G,KAAK8X,MAAMknD,QAAQsH,KAE5Bk4C,QAAS,WACP,IAAI3yG,EAAM7L,KAAKm0G,aAAen0G,KAAK8X,MAAM2mG,OAAOC,aAAe1+G,KAC3D2+G,EAAQ9yG,EAAIiM,MAAM0/F,KAAK1/F,MAAM0/F,KACjC,OAAOmH,GAA4B,aAAnBA,EAAM9tC,SAA0B8tC,EAAQ,MAE1DC,4BAA6B,SAAqCvzF,GAChE,IAAIwzF,EAAU7+G,KAEVkpC,IAASziC,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,KAAmBA,UAAU,GACxE6uC,EAAOt1C,KAAKw3G,KAAKE,QASrB,GAPY,MAARpiE,GAAgBA,KAAQt1C,KAAK63G,OAAOE,UACtC/3G,KAAK63G,OAAOE,QAAQziE,GAAMwpE,eAAgB,GAG5C9+G,KAAKw3G,KAAKE,QAAUrsF,EAAKvgB,GACzBugB,EAAKyzF,eAAgB,EAEjB9+G,KAAKw3G,KAAKC,QAAUvuE,EAAQ,CAC9B,IAAI61E,EAAiB,WACnB,IAAIJ,EAAQE,EAAQL,UAEhBQ,EAAUL,EAAMvlF,cAAc,oCAAqC+I,OAAO9W,EAAKvgB,GAAI,OACnFk0G,GAASxzE,EAAemzE,EAAOK,IAGjCh/G,KAAKw+G,UACPO,IAEA/+G,KAAKqY,UAAU0mG,KAIrB/B,oCAAqC,WACnC,IAAIiC,EAAax4G,UAAUnD,OAAS,QAAsBvE,IAAjB0H,UAAU,IAAmBA,UAAU,GAC5EixG,EAAU13G,KAAKw3G,KAAKE,SAEpBuH,GAAyB,MAAXvH,GAAqBA,KAAW13G,KAAK63G,OAAOE,SAAa/3G,KAAKs+G,uBAAuBt+G,KAAK04G,QAAQhB,KAClH13G,KAAKk/G,wBAGTA,qBAAsB,WACpB,GAAKl/G,KAAK25G,kBAAV,CACA,IAAI99D,EAAQ77C,KAAKs5G,iBAAiB,GAClCt5G,KAAK4+G,4BAA4B5+G,KAAK04G,QAAQ78D,MAEhDsjE,oBAAqB,WACnB,GAAKn/G,KAAK25G,kBAAV,CACA,IAAIrkE,EAAOt1C,KAAKs5G,iBAAiBlxG,QAAQpI,KAAKw3G,KAAKE,SAAW,EAC9D,IAAc,IAAVpiE,EAAa,OAAOt1C,KAAKo/G,sBAC7Bp/G,KAAK4+G,4BAA4B5+G,KAAK04G,QAAQ14G,KAAKs5G,iBAAiBhkE,OAEtE+pE,oBAAqB,WACnB,GAAKr/G,KAAK25G,kBAAV,CACA,IAAIrvF,EAAOtqB,KAAKs5G,iBAAiBlxG,QAAQpI,KAAKw3G,KAAKE,SAAW,EAC9D,GAAIptF,IAAStqB,KAAKs5G,iBAAiBh2G,OAAQ,OAAOtD,KAAKk/G,uBACvDl/G,KAAK4+G,4BAA4B5+G,KAAK04G,QAAQ14G,KAAKs5G,iBAAiBhvF,OAEtE80F,oBAAqB,WACnB,GAAKp/G,KAAK25G,kBAAV,CACA,IAAIt+F,EAAO61F,IAAelxG,KAAKs5G,kBAC/Bt5G,KAAK4+G,4BAA4B5+G,KAAK04G,QAAQr9F,MAEhDikG,iBAAkB,WAChBt/G,KAAKypD,QAAQ8tD,YAAc,IAE7B0C,UAAW,YACJj6G,KAAKw3G,KAAKC,SAAWz3G,KAAKkmE,UAAYlmE,KAAKk0G,aAChDl0G,KAAKu/G,yBACLv/G,KAAKw3G,KAAKC,QAAS,EACnBz3G,KAAKw8G,yBAAwB,GAC7Bx8G,KAAKs/G,mBACLt/G,KAAK2C,MAAM,QAAS3C,KAAKm6G,WAAYn6G,KAAKo6G,mBAE5CJ,SAAU,WACJh6G,KAAKkmE,UAAYlmE,KAAKw3G,KAAKC,SAC/Bz3G,KAAKw3G,KAAKC,QAAS,EACnBz3G,KAAKqY,UAAUrY,KAAKg9G,qCACpBh9G,KAAKqY,UAAUrY,KAAKw/G,2BACfx/G,KAAKqoB,SAAYroB,KAAKorE,OAAOprE,KAAKy/G,kBACvCz/G,KAAKw8G,yBAAwB,GAC7Bx8G,KAAK2C,MAAM,OAAQ3C,KAAKo6G,mBAE1BsF,WAAY,WACN1/G,KAAKw3G,KAAKC,OACZz3G,KAAKi6G,YAELj6G,KAAKg6G,YAGT2F,eAAgB,SAAwBt0F,GACtC,IAAIu0F,EAEA5/G,KAAKq4G,YAAY7gC,QACnBooC,EAAYv0F,EAAK6xF,oBAAsB7xF,EAAK6xF,mBACxC0C,IAAWv0F,EAAK8xF,yBAA0B,IAE9CyC,EAAYv0F,EAAKgzF,YAAchzF,EAAKgzF,WAGlCuB,IAAcv0F,EAAKw0F,eAAetM,UACpCvzG,KAAK8/G,oBAAoBz0F,IAG7BgvF,iBAAkB,WAChB,IAAI0F,EAAU//G,KAEVm4G,EAAkBtH,IACtB7wG,KAAK63G,OAAOI,gBAAgBtkG,SAAQ,SAAUqsG,GAC5C7H,EAAgB6H,IAAkB,KAEpChgH,KAAK63G,OAAOM,gBAAkBA,EAC9B,IAAIH,EAAkBnH,IAElB7wG,KAAKi2G,WACPj2G,KAAKu5G,yBAAwB,SAAUluF,GACrC2sF,EAAgB3sF,EAAKvgB,IAAM0mG,KAE7BxxG,KAAKy4G,cAAc9kG,SAAQ,SAAUulG,GACnClB,EAAgBkB,EAAapuG,IAAM4mG,GAE9BqO,EAAQtK,MAASsK,EAAQxK,oBAC5B2D,EAAaC,UAAUxlG,SAAQ,SAAUssG,GAClCF,EAAQjH,WAAWmH,KACtBjI,EAAgBiI,EAAan1G,IAAM2mG,WAO7CzxG,KAAK63G,OAAOG,gBAAkBA,GAEhCsD,mBAAoB,SAA4BJ,GAC9C,OAAOzuC,GAAc,GAAIyuC,EAAK,GAAIl7G,KAAKkoB,WAAWgzF,EAAKl7G,KAAKo6G,mBAE9D92D,UAAW,SAAmB/kB,EAAYkyB,EAAOuqD,GAC/C,IAAIkF,EAAUlgH,KAEV83G,EAAoBrnD,EAAM9lD,KAAI,SAAU0gB,GAC1C,MAAO,CAAC60F,EAAQ5E,mBAAmBjwF,GAAOA,MACzC1gB,KAAI,SAAUqnC,EAAMtxC,GACrB,IAAIujD,EAAQspD,IAAwBv7D,EAAM,GACtC3mB,EAAO44B,EAAM,GACbi3D,EAAMj3D,EAAM,GAEhBi8D,EAAQC,iBAAiB90F,GAEzB60F,EAAQE,gBAAgB/0F,GAExB,IAAIvgB,EAAKugB,EAAKvgB,GACV2L,EAAQ4U,EAAK5U,MACbC,EAAW2U,EAAK3U,SAChB2pG,EAAoBh1F,EAAKg1F,kBACzBxH,EAAat6E,IAAegzE,EAC5B7mE,EAAQmuE,EAAa,EAAIt6E,EAAWmM,MAAQ,EAC5C+uE,EAAW/0G,MAAM2E,QAAQqN,IAA0B,OAAbA,EACtCqiG,GAAUU,EACVgC,IAAepwF,EAAKowF,aAAeyE,EAAQzK,OAASoD,GAAct6E,EAAWk9E,WAC7EC,IAAUrwF,EAAKqwF,MAEfkC,EAAasC,EAAQnK,UAAUj1E,QAAO,SAAUwU,EAAM30C,GACxD,OAAO8rE,GAAc,GAAIn3B,EAAMq4D,IAAyB,GAAIhtG,EAAK+yG,GAAyBroF,EAAK1qB,IAAM48G,wBACpG,IAECG,EAAoB7E,EAAa+E,EAAWnnG,MAAQ8nB,EAAWm/E,kBAAoB,IAAME,EAAWnnG,MAEpGskC,EAAamlE,EAAQn0G,KAAKm0G,EAAQrI,OAAOE,QAASjtG,EAAI+lG,KAkC1D,GAhCAqP,EAAQn0G,KAAKgvC,EAAY,KAAMjwC,GAE/Bo1G,EAAQn0G,KAAKgvC,EAAY,QAAStkC,GAElCypG,EAAQn0G,KAAKgvC,EAAY,QAASrQ,GAElCw1E,EAAQn0G,KAAKgvC,EAAY,YAAa89D,EAAa,GAAK,CAACt6E,GAAY4D,OAAO5D,EAAW46E,YAEvF+G,EAAQn0G,KAAKgvC,EAAY,SAAU89D,EAAa,GAAKt6E,EAAW79B,OAAOyhC,OAAOzhC,IAE9Ew/G,EAAQn0G,KAAKgvC,EAAY,aAAcxc,GAEvC2hF,EAAQn0G,KAAKgvC,EAAY,aAAc6iE,GAEvCsC,EAAQn0G,KAAKgvC,EAAY,oBAAqB2iE,GAE9CwC,EAAQn0G,KAAKgvC,EAAY,aAAc0gE,GAEvCyE,EAAQn0G,KAAKgvC,EAAY,QAAS2gE,GAElCwE,EAAQn0G,KAAKgvC,EAAY,aAAa,GAEtCmlE,EAAQn0G,KAAKgvC,EAAY,iBAAiB,GAE1CmlE,EAAQn0G,KAAKgvC,EAAY,WAAY0+D,GAErCyG,EAAQn0G,KAAKgvC,EAAY,SAAUg+D,GAEnCmH,EAAQn0G,KAAKgvC,EAAY,aAAc89D,GAEvCqH,EAAQn0G,KAAKgvC,EAAY,MAAOmgE,GAE5BzB,EAAU,CACZ,IAAI6G,EAEA/M,EAAW7uG,MAAM2E,QAAQqN,GAE7BwpG,EAAQn0G,KAAKgvC,EAAY,iBAAkB0xB,GAAc,GAAI6mC,KAA4B,CACvFC,SAAUA,KAGZ2M,EAAQn0G,KAAKgvC,EAAY,aAA2C,mBAAtBslE,EAAkCA,EAAoB31E,EAAQw1E,EAAQ/K,oBAEpH+K,EAAQn0G,KAAKgvC,EAAY,yBAAyB,GAElDmlE,EAAQn0G,KAAKgvC,EAAY,0BAA0B,GAEnDmlE,EAAQn0G,KAAKgvC,EAAY,sBAAsB,GAE/CmlE,EAAQn0G,KAAKgvC,EAAY,2BAA2B,GAEpDmlE,EAAQn0G,KAAKgvC,EAAY,SAAUulE,EAAe,GAAI3S,IAAyB2S,EAAc3O,GAAc,GAAIhE,IAAyB2S,EAAc1O,GAAiB,GAAIjE,IAAyB2S,EAAczO,GAAe,GAAIlE,IAAyB2S,EAAcxO,GAAkB,GAAIwO,IAElSJ,EAAQn0G,KAAKgvC,EAAY,WAAYw4D,EAAW2M,EAAQ58D,UAAUvI,EAAYrkC,EAAUskG,GAAe,KAE7E,IAAtBqF,GAA4BtlE,EAAWo+D,UAAUxlG,SAAQ,SAAUylG,GACrEA,EAASiF,YAAa,KAGnB9K,GAA2C,oBAAxB2M,EAAQpK,aAMpBvC,GAAYx4D,EAAWsjE,YACjC6B,EAAQJ,oBAAoB/kE,GAN5BizD,GAAgB,WACd,OAAO,KACN,WACD,MAAO,yFAoBb,GAbAjzD,EAAWo+D,UAAUxlG,SAAQ,SAAUylG,GACrC,OAAOA,EAASxD,MAAMhE,SAEpBmH,GAAQh+D,EAAWo+D,UAAUxlG,SAAQ,SAAUylG,GACjD,OAAOA,EAASxD,MAAM9D,SAGnB+G,IACHt6E,EAAWq3E,MAAMjE,KAAiB,EAC9BoH,IAAQx6E,EAAWq3E,MAAM/D,KAAkB,GAC3C4J,IAAYl9E,EAAWgiF,wBAAyB,IAGlDvF,GAAeA,EAAYlwG,GAAK,CAClC,IAAIwqC,EAAO0lE,EAAYlwG,GACvBiwC,EAAWqiE,UAAY9nE,EAAK8nE,UAC5BriE,EAAWoiE,wBAA0B7nE,EAAK6nE,wBAC1CpiE,EAAW+jE,cAAgBxpE,EAAKwpE,cAE5BxpE,EAAKmkE,UAAY1+D,EAAW0+D,WAC9B1+D,EAAWsjE,WAAa/oE,EAAK+oE,WAC7BtjE,EAAWmiE,mBAAqB5nE,EAAK4nE,mBAEjC5nE,EAAKuqE,eAAetM,WAAax4D,EAAW8kE,eAAetM,SAC7Dx4D,EAAWsjE,YAAa,EAExBtjE,EAAW8kE,eAAiBpzC,GAAc,GAAIn3B,EAAKuqE,iBAKzD,OAAO9kE,KAGT,GAAI/6C,KAAK40G,iBAAkB,CACzB,IAAI4L,EAAc1I,EAAkBzjG,QAAO,SAAUsJ,GACnD,OAAOA,EAAO87F,YAEZgH,EAAY3I,EAAkBzjG,QAAO,SAAUsJ,GACjD,OAAOA,EAAOo7F,UAEhBjB,EAAoB0I,EAAYr+E,OAAOs+E,GAGzC,OAAO3I,GAET2H,gBAAiB,WACf,IAAIiB,EAAU1gH,KAEdA,KAAK89G,oBAAoB,CACvBC,OAAQhM,GACRiM,UAAW,WACT,OAAO0C,EAAQtI,kBAAkB5E,WAEnC5qG,MAAO,WACL83G,EAAQtI,kBAAkB5E,WAAY,EACtCkN,EAAQtI,kBAAkB3E,aAAe,IAE3CwK,QAAS,WACPyC,EAAQtI,kBAAkB7E,UAAW,EAErCmN,EAAQroG,WAAU,WAChBqoG,EAAQ1D,qCAAoC,OAGhDkB,KAAM,SAAc7/F,GAClBqiG,EAAQtI,kBAAkB3E,aAAeG,GAAgBv1F,IAE3DxV,IAAK,WACH63G,EAAQtI,kBAAkB5E,WAAY,MAI5CsM,oBAAqB,SAA6BvhF,GAChD,IAAIoiF,EAAU3gH,KAEV8K,EAAKyzB,EAAWzzB,GAChBowG,EAAM38E,EAAW28E,IACrBl7G,KAAK89G,oBAAoB,CACvBC,OAAQ/L,GACRxrG,KAAM,CACJ+3B,WAAY28E,GAEd8C,UAAW,WACT,OAAO2C,EAAQjI,QAAQ5tG,GAAI+0G,eAAerM,WAE5C5qG,MAAO,WACL+3G,EAAQjI,QAAQ5tG,GAAI+0G,eAAerM,WAAY,EAC/CmN,EAAQjI,QAAQ5tG,GAAI+0G,eAAepM,aAAe,IAEpDwK,QAAS,WACP0C,EAAQjI,QAAQ5tG,GAAI+0G,eAAetM,UAAW,GAEhD2K,KAAM,SAAc7/F,GAClBsiG,EAAQjI,QAAQ5tG,GAAI+0G,eAAepM,aAAeG,GAAgBv1F,IAEpExV,IAAK,WACH83G,EAAQjI,QAAQ5tG,GAAI+0G,eAAerM,WAAY,MAIrDsK,oBAAqB,SAA6Bn5D,GAChD,IAAIo5D,EAASp5D,EAAMo5D,OACfv3G,EAAOm+C,EAAMn+C,KACbw3G,EAAYr5D,EAAMq5D,UAClBp1G,EAAQ+7C,EAAM/7C,MACdq1G,EAAUt5D,EAAMs5D,QAChBC,EAAOv5D,EAAMu5D,KACbr1G,EAAM87C,EAAM97C,IAEhB,GAAK7I,KAAK81G,cAAekI,IAAzB,CAIAp1G,IACA,IAAI6C,EAAW+kG,KAAe,SAAUnyF,EAAK9e,GACvC8e,EACF6/F,EAAK7/F,GAEL4/F,EAAQ1+G,GAGVsJ,OAEEtJ,EAASS,KAAK81G,YAAYrpC,GAAc,CAC1C3hE,GAAI9K,KAAKo6G,gBACTvG,WAAY7zG,KAAKo6G,gBACjB2D,OAAQA,GACPv3G,EAAM,CACPiF,SAAUA,KAGR6kG,IAA8B/wG,IAChCA,EAAOiK,MAAK,WACViC,OACC,SAAU4S,GACX5S,EAAS4S,MACRD,OAAM,SAAUC,GACjB/J,QAAQzR,MAAMwb,QAIpB8hG,iBAAkB,SAA0B90F,GAC1C,IAAIu1F,EAAU5gH,KAEdguG,GAAgB,WACd,QAAS3iF,EAAKvgB,MAAM81G,EAAQ/I,OAAOE,UAAY6I,EAAQ/I,OAAOE,QAAQ1sF,EAAKvgB,IAAI0wG,mBAC9E,WACD,MAAO,0CAA0Cr5E,OAAO9J,KAAKC,UAAUjN,EAAKvgB,IAAK,MAAQ,qBAAsBq3B,OAAOy+E,EAAQ/I,OAAOE,QAAQ1sF,EAAKvgB,IAAI2L,MAAO,WAAa0rB,OAAO9W,EAAK5U,MAAO,uBAGjM2pG,gBAAiB,SAAyB/0F,GACxC2iF,GAAgB,WACd,aAA2BjvG,IAAlBssB,EAAK3U,WAA4C,IAAlB2U,EAAKouF,aAC5C,WACD,MAAO,sIAGXp2G,OAAQ,SAAgBgoB,GACtB,IAAIrrB,KAAKkmE,WAAY76C,EAAKowF,WAA1B,CAIIz7G,KAAK44G,QACP54G,KAAKstB,QAGP,IAAIsyF,EAAY5/G,KAAKi2G,WAAaj2G,KAAKy1G,KAAOz1G,KAAK63G,OAAOG,gBAAgB3sF,EAAKvgB,MAAQ0mG,GAAaxxG,KAAK84G,WAAWztF,GAEhHu0F,EACF5/G,KAAK6gH,YAAYx1F,GAEjBrrB,KAAK8gH,cAAcz1F,GAGrBrrB,KAAKq6G,mBAEDuF,EACF5/G,KAAK2C,MAAM,SAAU0oB,EAAK6vF,IAAKl7G,KAAKo6G,iBAEpCp6G,KAAK2C,MAAM,WAAY0oB,EAAK6vF,IAAKl7G,KAAKo6G,iBAGpCp6G,KAAKq4G,YAAY7gC,QAAUooC,IAAc5/G,KAAK44G,QAAU54G,KAAKg1G,gBAC/Dh1G,KAAKs/G,mBAGHt/G,KAAK44G,QAAU54G,KAAKk1G,gBACtBl1G,KAAKi6G,YAEDj6G,KAAK42G,aACP52G,KAAK86G,eAAgB,MAI3BxtF,MAAO,WACL,IAAIyzF,EAAU/gH,KAEVA,KAAKq5G,WACHr5G,KAAK44G,QAAU54G,KAAKg0G,sBACtBh0G,KAAK63G,OAAOI,gBAAkB,GAE5Bj4G,KAAK63G,OAAOI,gBAAkBj4G,KAAK63G,OAAOI,gBAAgB5jG,QAAO,SAAU8mG,GACzE,OAAO4F,EAAQrI,QAAQyC,GAAQM,cAIrCz7G,KAAKq6G,qBAGTwG,YAAa,SAAqBx1F,GAChC,IAAI21F,EAAUhhH,KAEd,GAAIA,KAAK44G,QAAU54G,KAAKu1G,mBACtB,OAAOv1G,KAAKihH,SAAS51F,GAGvB,GAAIrrB,KAAKy1G,KAaP,OAZAz1G,KAAKihH,SAAS51F,QAEVrrB,KAAKw0G,oBACPnpF,EAAK8tF,UAAUxlG,SAAQ,SAAUylG,GAC1B4H,EAAQlI,WAAWM,IAAcA,EAASqC,YAAYuF,EAAQC,SAAS7H,MAErEp5G,KAAKy0G,uBACdz0G,KAAK+7G,uBAAuB1wF,GAAM,SAAUopB,GACrCusE,EAAQlI,WAAWrkE,IAAgBA,EAAWgnE,YAAYuF,EAAQC,SAASxsE,OAOtF,IAAIysE,EAAiB71F,EAAK0tF,SAAW1tF,EAAKk1F,wBAA0BvgH,KAAKi0G,kCAczE,GAZIiN,GACFlhH,KAAKihH,SAAS51F,GAGZA,EAAKouF,UACPz5G,KAAK+7G,uBAAuB1wF,GAAM,SAAUopB,GACrCA,EAAWgnE,aAAcuF,EAAQ/M,mCACpC+M,EAAQC,SAASxsE,MAKnBysE,EAAgB,CAClB,IAAIC,EAAO91F,EAEX,OAAQ81F,EAAOA,EAAK5iF,cAAgBgzE,EAAgB,CAClD,IAAI4P,EAAKzqG,SAAS+tC,MAAMzkD,KAAK84G,YAAsC,MAAzB94G,KAAKihH,SAASE,MAI9DL,cAAe,SAAuBz1F,GACpC,IAAI+1F,EAAUphH,KAEd,GAAIA,KAAKu1G,mBACP,OAAOv1G,KAAKqhH,YAAYh2F,GAG1B,GAAIrrB,KAAKy1G,KAaP,OAZAz1G,KAAKqhH,YAAYh2F,QAEbrrB,KAAKs0G,sBACPjpF,EAAK8tF,UAAUxlG,SAAQ,SAAUylG,GAC3BgI,EAAQtI,WAAWM,KAAcA,EAASqC,YAAY2F,EAAQC,YAAYjI,MAEvEp5G,KAAKu0G,yBACdv0G,KAAK+7G,uBAAuB1wF,GAAM,SAAUopB,GACtC2sE,EAAQtI,WAAWrkE,KAAgBA,EAAWgnE,YAAY2F,EAAQC,YAAY5sE,OAOxF,IAAI6sE,GAA8B,EAYlC,GAVIj2F,EAAKouF,UACPz5G,KAAKq8G,uBAAuBhxF,GAAM,SAAUopB,GACrCA,EAAWgnE,aAAc2F,EAAQnN,oCACpCmN,EAAQC,YAAY5sE,GAEpB6sE,GAA8B,MAKhCj2F,EAAK0tF,QAAUuI,GAAwD,IAAzBj2F,EAAK3U,SAASpT,OAAc,CAC5EtD,KAAKqhH,YAAYh2F,GACjB,IAAI81F,EAAO91F,EAEX,OAAQ81F,EAAOA,EAAK5iF,cAAgBgzE,EAAgB,CAClD,IAAIvxG,KAAK84G,WAAWqI,GAAmC,MAA5BnhH,KAAKqhH,YAAYF,MAIlDF,SAAU,SAAkB51F,GAC1BrrB,KAAK63G,OAAOI,gBAAgB10G,KAAK8nB,EAAKvgB,IACtC9K,KAAK63G,OAAOM,gBAAgB9sF,EAAKvgB,KAAM,GAEzCu2G,YAAa,SAAqBh2F,GAChCwjF,EAAgB7uG,KAAK63G,OAAOI,gBAAiB5sF,EAAKvgB,WAC3C9K,KAAK63G,OAAOM,gBAAgB9sF,EAAKvgB,KAE1Cy2G,gBAAiB,WACf,GAAKvhH,KAAKq5G,SAAV,CACA,GAAIr5G,KAAK44G,OAAQ,OAAO54G,KAAKstB,QAC7B,IAAIk0F,EAAYtQ,IAAelxG,KAAK24G,eAChC8I,EAAmBzhH,KAAK04G,QAAQ8I,GACpCxhH,KAAKqD,OAAOo+G,KAEdlC,uBAAwB,WACtB,IAAIZ,EAAQ3+G,KAAKw+G,UACbG,IAAO3+G,KAAKw3G,KAAKG,mBAAqBgH,EAAMrzE,YAElDk0E,0BAA2B,WACzB,IAAIb,EAAQ3+G,KAAKw+G,UACbG,IAAOA,EAAMrzE,UAAYtrC,KAAKw3G,KAAKG,sBAG3C3zG,QAAS,WACPhE,KAAK26G,cACL36G,KAAK66G,cAEP32G,QAAS,WACHlE,KAAKo0G,WAAWp0G,KAAK48G,aACpB58G,KAAKqoB,SAAYroB,KAAKorE,QAASprE,KAAKq0G,qBAAqBr0G,KAAKy/G,kBAC/Dz/G,KAAKk0G,YAAYl0G,KAAKg6G,WACtBh6G,KAAKorE,OAASprE,KAAKimE,gBAAgBjmE,KAAKu6G,sBAE9Cj2G,UAAW,WACTtE,KAAKw8G,yBAAwB,KAMjC,SAASkF,GAAeziH,GACtB,MAAqB,kBAAVA,EAA2BA,EACzB,MAATA,GAAkBmxG,EAAYnxG,GAC3B,GAD0Co5B,KAAKC,UAAUr5B,GAIrC,IA0HzB0iH,GAAqB//G,GA1HQggH,GAAuC,CACtEv3G,KAAM,gCACNw3G,OAAQ,CAAC,YACTn7C,YAAY,EACZ5mE,OAAQ,SAAgBk/C,EAAGz4C,GACzB,IAAI2rB,EAAIzrB,UAAU,GACdqW,EAAWvW,EAAQu7G,WAAWhlG,SAClC,IAAKA,EAASzS,MAAQyS,EAASopD,WAAappD,EAASu8F,SAAU,OAAO,KACtE,IAAI0I,EAAoBjlG,EAAS67F,cAAchuG,IAAI+2G,IAEnD,OADI5kG,EAASm5F,UAAYn5F,EAAS44F,aAAYqM,EAAoB,CAACA,EAAkBh5G,KAAK+T,EAASu4F,aAC5F0M,EAAkBp3G,KAAI,SAAUq3G,EAAkBn6G,GACvD,OAAOqqB,EAAE,QAAS,CAChB5xB,MAAO,CACLyB,KAAM,SACNsI,KAAMyS,EAASzS,MAEjBmtF,SAAU,CACR,MAASwqB,GAEXrhH,IAAK,gBAAkBkH,SAMGo6G,GAAkD,GAQpF,SAASC,GACPC,EACAriH,EACA8B,EACAwgH,EACAC,EACAC,EACAC,EACAC,GAGA,IAqBIC,EArBAp6F,EAAmC,oBAAlB85F,EACjBA,EAAc95F,QACd85F,EAiDJ,GA9CIriH,IACFuoB,EAAQvoB,OAASA,EACjBuoB,EAAQzmB,gBAAkBA,EAC1BymB,EAAQo+C,WAAY,GAIlB27C,IACF/5F,EAAQq+C,YAAa,GAInB47C,IACFj6F,EAAQs+C,SAAW,UAAY27C,GAI7BC,GACFE,EAAO,SAAUl8G,GAEfA,EACEA,GACCvG,KAAK4mE,QAAU5mE,KAAK4mE,OAAOC,YAC3B7mE,KAAKwvB,QAAUxvB,KAAKwvB,OAAOo3C,QAAU5mE,KAAKwvB,OAAOo3C,OAAOC,WAEtDtgE,GAA0C,qBAAxBugE,sBACrBvgE,EAAUugE,qBAGRu7C,GACFA,EAAaljH,KAAKa,KAAMuG,GAGtBA,GAAWA,EAAQwgE,uBACrBxgE,EAAQwgE,sBAAsBn+B,IAAI25E,IAKtCl6F,EAAQ2+C,aAAey7C,GACdJ,IACTI,EAAOD,EACH,WAAcH,EAAaljH,KAAKa,KAAMA,KAAK0iH,MAAMlY,SAAS9pB,aAC1D2hC,GAGFI,EACF,GAAIp6F,EAAQq+C,WAAY,CAGtBr+C,EAAQ4+C,cAAgBw7C,EAExB,IAAIE,EAAiBt6F,EAAQvoB,OAC7BuoB,EAAQvoB,OAAS,SAAmCoyB,EAAG3rB,GAErD,OADAk8G,EAAKtjH,KAAKoH,GACHo8G,EAAezwF,EAAG3rB,QAEtB,CAEL,IAAIq8G,EAAWv6F,EAAQtkB,aACvBskB,EAAQtkB,aAAe6+G,EACnB,GAAGzgF,OAAOygF,EAAUH,GACpB,CAACA,GAIT,MAAO,CACLpkH,QAAS8jH,EACT95F,QAASA,GAYb,IAAI9jB,GAAY29G,GACdD,GACAN,GACA//G,IACA,EACA,KACA,KACA,MAMF2C,GAAU8jB,QAAQw6F,OAAS,kCACE,IA8RzBC,GAAcC,GA9ReC,GAAgBz+G,GAAiB,QAE9D0+G,GAA6Cj4G,EAAoB,IACjEk4G,GAAiEl4G,EAAoBmoB,EAAE8vF,IAMvFE,GAA+B,CAAC3Q,GAAUhwD,MAAOgwD,GAAUC,IAAKD,GAAUE,KAAMF,GAAUG,WAAYH,GAAUI,SAAUJ,GAAUK,YAAaL,GAAUM,YAC9HsQ,GAAgC,CAC/D/4G,KAAM,wBACNw3G,OAAQ,CAAC,YACT3/G,KAAM,WACJ,MAAO,CACLmhH,WAAYrQ,GACZ/zG,MAAO,KAGXkD,SAAU,CACRmhH,aAAc,WACZ,IAAIxmG,EAAW9c,KAAK8c,SACpB,OAAOA,EAAS85F,aAAe95F,EAASopD,UAAYppD,EAASm5F,UAE/DsN,WAAY,WACV,MAAO,CACLz+G,MAAO9E,KAAKsjH,aAAe,GAAGnhF,OAAOniC,KAAKqjH,WAAY,MAAQ,QAIpEv/G,MAAO,CACL,+BAAgC,SAAoC4/B,GAClE1jC,KAAKf,MAAQykC,GAEfzkC,MAAO,WACDe,KAAKsjH,cAActjH,KAAKqY,UAAUrY,KAAKwjH,oBAG/Cx/G,QAAS,WACPhE,KAAKyjH,kBAAoB/U,IAAmB1uG,KAAK0jH,kBAAmB3Q,GAAsB,CACxF/lB,SAAS,EACTE,UAAU,KAGd9qF,QAAS,CACPkrB,MAAO,WACLttB,KAAK2jH,QAAQ,CACX1mG,OAAQ,CACNhe,MAAO,OAIbssC,MAAO,WACL,IAAIzuB,EAAW9c,KAAK8c,SAEfA,EAASopD,UACZlmE,KAAK8X,MAAMkmB,OAASh+B,KAAK8X,MAAMkmB,MAAMuN,SAGzC0Q,KAAM,WACJj8C,KAAK8X,MAAMkmB,OAASh+B,KAAK8X,MAAMkmB,MAAMie,QAEvC2nE,QAAS,WACP,IAAI9mG,EAAW9c,KAAK8c,SACpBA,EAAS2sC,QAAQ6tD,WAAY,EACzBx6F,EAAS25F,aAAa35F,EAASk9F,YAErC6J,OAAQ,WACN,IAAI/mG,EAAW9c,KAAK8c,SAChB06F,EAAO16F,EAAS0hG,UAEpB,GAAIhH,GAAQvyG,SAASg2C,gBAAkBu8D,EACrC,OAAOx3G,KAAKurC,QAGdzuB,EAAS2sC,QAAQ6tD,WAAY,EAC7Bx6F,EAASm9F,aAEX0J,QAAS,SAAiBnsG,GACxB,IAAIvY,EAAQuY,EAAIyF,OAAOhe,MACvBe,KAAKf,MAAQA,EAETA,EACFe,KAAKyjH,qBAELzjH,KAAKyjH,kBAAkBzzD,SACvBhwD,KAAK0jH,sBAGTI,UAAW,SAAmBtsG,GAC5B,IAAIsF,EAAW9c,KAAK8c,SAChBnc,EAAM,UAAW6W,EAAMA,EAAI+rC,MAAQ/rC,EAAI7I,QAC3C,KAAI6I,EAAIorC,SAAWprC,EAAIirC,UAAYjrC,EAAIqrC,QAAUrrC,EAAImrC,SAArD,CAEA,IAAK7lC,EAAS06F,KAAKC,QAAUpkB,EAAS8vB,GAA8BxiH,GAElE,OADA6W,EAAI/I,iBACGqO,EAASk9F,WAGlB,OAAQr5G,GACN,KAAK6xG,GAAUzvD,UAEPjmC,EAAS43F,mBAAqB10G,KAAKf,MAAMqE,QAC3CwZ,EAASykG,kBAGX,MAGJ,KAAK/O,GAAUhwD,MAGX,GADAhrC,EAAI/I,iBAC0B,OAA1BqO,EAAS06F,KAAKE,QAAkB,OACpC,IAAIA,EAAU56F,EAAS47F,QAAQ57F,EAAS06F,KAAKE,SAC7C,GAAIA,EAAQ+B,UAAY38F,EAASy4F,mBAAoB,OACrDz4F,EAASzZ,OAAOq0G,GAChB,MAGJ,KAAKlF,GAAUjsD,OAEPvmD,KAAKf,MAAMqE,OACbtD,KAAKstB,QACIxQ,EAAS06F,KAAKC,QACvB36F,EAASm9F,YAGX,MAGJ,KAAKzH,GAAUC,IAEXj7F,EAAI/I,iBACJqO,EAASsiG,sBACT,MAGJ,KAAK5M,GAAUE,KAEXl7F,EAAI/I,iBACJqO,EAASoiG,uBACT,MAGJ,KAAK1M,GAAUG,WAEX,IAAIoR,EAAWjnG,EAAS47F,QAAQ57F,EAAS06F,KAAKE,SAE1CqM,EAAStK,UAAY38F,EAAS48F,aAAaqK,IAC7CvsG,EAAI/I,iBACJqO,EAAS6iG,eAAeoE,KACdA,EAASlL,aAAekL,EAAShL,QAAUgL,EAAStK,WAAa38F,EAAS48F,aAAaqK,MACjGvsG,EAAI/I,iBACJqO,EAAS8hG,4BAA4BmF,EAASxlF,aAGhD,MAGJ,KAAKi0E,GAAUI,SAEXp7F,EAAI/I,iBACJqO,EAASqiG,sBACT,MAGJ,KAAK3M,GAAUK,YAEX,IAAImR,EAAYlnG,EAAS47F,QAAQ57F,EAAS06F,KAAKE,SAE3CsM,EAAUvK,WAAa38F,EAAS48F,aAAasK,KAC/CxsG,EAAI/I,iBACJqO,EAAS6iG,eAAeqE,IAG1B,MAGJ,KAAKxR,GAAUM,WAEXt7F,EAAI/I,iBACJqO,EAASuiG,sBACT,MAGJ,KAAK7M,GAAU/vE,OAEP3lB,EAASs4F,gBAAkBp1G,KAAKf,MAAMqE,QACxCwZ,EAASykG,kBAGX,MAGJ,QAEIzkG,EAASk9F,cAIjBiK,YAAa,SAAqBzsG,GAC5BxX,KAAKf,MAAMqE,QACbkU,EAAIxK,mBAGRk3G,qBAAsB,WACpB,IAAIhyF,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBhb,EAAQ,GACR4U,EAAW,GA0Bf,OAxBIoG,EAAS85F,aAAe95F,EAASopD,WACnCxvD,EAASnT,KAAKvD,KAAKmkH,eACfnkH,KAAKsjH,cAAc5sG,EAASnT,KAAKvD,KAAKokH,gBAGvCtnG,EAAS85F,YACZ5F,EAAWlvG,EAAO,CAChBoK,GAAI,CACFq/B,MAAOvrC,KAAK4jH,QACZ3nE,KAAMj8C,KAAK6jH,OACXQ,QAASrkH,KAAK8jH,WAEhBj4G,IAAK,UAIJiR,EAAS85F,YAAe95F,EAASopD,UACpC8qC,EAAWlvG,EAAO,CAChBxB,MAAO,CACL6oD,SAAUrsC,EAASqsC,YAKlBj3B,EAAE,MAAOgxF,KAAoD,CAAC,CACnE,MAAS,mCACRphH,IAAS,CAAC4U,KAEfytG,YAAa,WACX,IAAIjyF,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOoV,EAAE,QAAS,CAChBrmB,IAAK,QACL,MAAS,wBACTvL,MAAO,CACLyB,KAAM,OACNuiH,aAAc,MACdn7D,SAAUrsC,EAASqsC,SACnBid,SAAUtpD,EAASspD,WAAatpD,EAASu8F,UAE3C7hB,SAAU,CACR,MAASx3F,KAAKf,OAEhBwd,MAAOzc,KAAKujH,WACZr3G,GAAI,CACF,MAASlM,KAAK4jH,QACd,MAAS5jH,KAAK2jH,QACd,KAAQ3jH,KAAK6jH,OACb,QAAW7jH,KAAK8jH,UAChB,UAAa9jH,KAAKikH,gBAIxBG,YAAa,WACX,IAAIlyF,EAAIlyB,KAAKE,eACb,OAAOgyB,EAAE,MAAO,CACdrmB,IAAK,QACL,MAAS,yBACR,CAAC7L,KAAKf,SAEXukH,iBAAkB,WAChBxjH,KAAKqjH,WAAajpF,KAAKgW,IAAI4iE,GAAiBhzG,KAAK8X,MAAMysG,MAAMjzC,YAAc,KAE7EoyC,kBAAmB,WACjB,IAAI5mG,EAAW9c,KAAK8c,SACpBA,EAAS2sC,QAAQ8tD,YAAcv3G,KAAKf,QAGxCa,OAAQ,WACN,OAAOE,KAAKkkH,yBAIkBM,GAA2C,GASzEC,GAAkBvC,GACpBsC,GACA1B,GACAC,IACA,EACA,KACA,KACA,MAMF0B,GAAgBp8F,QAAQw6F,OAAS,2BACJ,IAqBzB6B,GAAoBC,GArBSC,GAASH,GAAuB,QAEhCI,GAAsC,CACrEx6G,KAAM,8BACNw3G,OAAQ,CAAC,YACT/hH,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GACdqW,EAAW9c,KAAK8c,SAChBgoG,EAAmB,CACrB,+BAA+B,EAC/B,yCAAyC,EACzC,6BAA8BhoG,EAASu8F,UAAYv8F,EAAS2sC,QAAQ8tD,aAEtE,OAAOrlF,EAAE,MAAO,CACd,MAAS4yF,GACR,CAAChoG,EAASyc,gBAIiBwrF,GAAiD,GAS/EC,GAAwB9C,GAC1B6C,GACAL,GACAC,IACA,EACA,KACA,KACA,MAMFK,GAAsB38F,QAAQw6F,OAAS,iCACV,IAgCzBoC,GAAoBC,GAhCSC,GAAeH,GAA6B,QAI5CI,GAAsC,CACrE/6G,KAAM,+BACNw3G,OAAQ,CAAC,YACTz/G,QAAS,CACPijH,uBAAwB,WACtB,IAAIvoG,EAAW9c,KAAK8c,SAChBuO,EAAOvO,EAAS27F,cAAc,GAC9B6M,EAA2BxoG,EAASqsF,aAAa,eACrD,OAAOmc,EAA2BA,EAAyB,CACzDj6F,KAAMA,IACHA,EAAK5U,QAGd3W,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GACdqW,EAAW9c,KAAK8c,SAChByoG,EAAuBvlH,KAAK0qG,QAAQ6a,qBACpCC,EAAkB1oG,EAASu8F,WAAav8F,EAAS2sC,QAAQ8tD,YAC7D,OAAOgO,EAAqB,CAACC,GAAmBtzF,EAAE,MAAO,CACvD,MAAS,gCACR,CAAClyB,KAAKqlH,2BAA4BnzF,EAAEizF,IAAcjzF,EAAE0yF,GAAO,CAC5D/4G,IAAK,cAKuB45G,GAAiD,GAS/EC,GAAwBxD,GAC1BuD,GACAR,GACAC,IACA,EACA,KACA,KACA,MAMFQ,GAAsBr9F,QAAQw6F,OAAS,iCACV,IAAI8C,GAAeD,GAA6B,QAEzEE,GAA6C,WAC/C,IAAI7lH,EAAMC,KACNC,EAAKF,EAAIG,eACTC,EAAKJ,EAAIK,MAAMD,IAAMF,EACzB,OAAOE,EACL,MACA,CACEG,MAAO,CACLulH,MAAO,6BACPC,QAAS,wBAGb,CACE3lH,EAAG,OAAQ,CACTG,MAAO,CACLgyB,EACE,4gBAMRyzF,GAAsD,GAC1DH,GAA2CI,eAAgB,EAM9B,IAAIC,GAAiC,CAChE57G,KAAM,qBAG0B67G,GAAuC,GASrEC,GAAmBjE,GACrBgE,GACAN,GACAG,IACA,EACA,KACA,KACA,MAMFI,GAAiB99F,QAAQw6F,OAAS,kCACL,IAkDzBuD,GAAuBC,GAlDMxuG,GAAUsuG,GAAwB,QAIlCG,GAAyC,CACxEj8G,KAAM,mCACNw3G,OAAQ,CAAC,YACT//G,MAAO,CACLupB,KAAM,CACJtpB,KAAMvD,OACN4nE,UAAU,IAGdhkE,QAAS,CACP06G,gBAAiB7O,GAAY,WAC3B,IAAInxF,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChBvO,EAASzZ,OAAOgoB,OAGpBvrB,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GACdqW,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KACZk7F,EAAY,CACd,oCAAoC,EACpC,4CAA6Cl7F,EAAKowF,WAClD,uCAAwCpwF,EAAKqwF,OAE3C4J,EAA2BxoG,EAASqsF,aAAa,eACjDqd,EAAgBlB,EAA2BA,EAAyB,CACtEj6F,KAAMA,IACHA,EAAK5U,MACV,OAAOyb,EAAE,MAAO,CACd,MAAS,8CACR,CAACA,EAAE,MAAO,CACX,MAASq0F,EACTr6G,GAAI,CACF,UAAalM,KAAK88G,kBAEnB,CAAC5qF,EAAE,OAAQ,CACZ,MAAS,qCACR,CAACs0F,IAAiBt0F,EAAE,OAAQ,CAC7B,MAAS,qDACR,CAACA,EAAEra,YAIwB4uG,GAAoD,GASlFC,GAA2BxE,GAC7BuE,GACAL,GACAC,IACA,EACA,KACA,KACA,MAMFK,GAAyBr+F,QAAQw6F,OAAS,oCACb,IA0DzB8D,GAAmBC,GA1DUC,GAAkBH,GAAgC,QAMlDI,GAAqC,CACpEz8G,KAAM,8BACNw3G,OAAQ,CAAC,YACTz/G,QAAS,CACP2kH,sBAAuB,WACrB,IAAI70F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOA,EAAS67F,cAAch1G,MAAM,EAAGmZ,EAAS2tB,OAAO9/B,IAAImS,EAAS47F,SAAS/tG,KAAI,SAAU0gB,GACzF,OAAO6G,EAAE20F,GAAgB,CACvBlmH,IAAK,oBAAoBwhC,OAAO9W,EAAKvgB,IACrCxK,MAAO,CACL+qB,KAAMA,SAKd27F,qBAAsB,WACpB,IAAI90F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChB84F,EAAQ94F,EAAS67F,cAAcr1G,OAASwZ,EAAS2tB,MACrD,OAAImrE,GAAS,EAAU,KAChB1jF,EAAE,MAAO,CACd,MAAS,kEACTvxB,IAAK,oBACJ,CAACuxB,EAAE,OAAQ,CACZ,MAAS,kCACR,CAACpV,EAAS64F,UAAUC,SAG3B91G,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GACd8+G,EAAuBvlH,KAAK0qG,QAAQ6a,qBACpC0B,EAAuB,CACzBnlH,MAAO,CACL1C,IAAK,MACLiL,KAAM,+CACN68G,QAAQ,IAGZ,OAAO3B,EAAqBrzF,EAAE,mBAAoBgxF,KAAoD,CAAC,CACrG,MAAS,+BACR+D,IAAwB,CAACjnH,KAAK+mH,wBAAyB/mH,KAAKgnH,uBAAwB90F,EAAEizF,GAAa,CACpGxkH,IAAK,gBACHuxB,EAAE0yF,GAAO,CACX/4G,IAAK,QACLlL,IAAK,eAKuBwmH,GAAgD,GAS9EC,GAAuBlF,GACzBiF,GACAR,GACAC,IACA,EACA,KACA,KACA,MAMFQ,GAAqB/+F,QAAQw6F,OAAS,gCACT,IAAIwE,GAAcD,GAA4B,QAEvEE,GAA4C,WAC9C,IAAIvnH,EAAMC,KACNC,EAAKF,EAAIG,eACTC,EAAKJ,EAAIK,MAAMD,IAAMF,EACzB,OAAOE,EACL,MACA,CACEG,MAAO,CACLulH,MAAO,6BACPC,QAAS,wBAGb,CACE3lH,EAAG,OAAQ,CACTG,MAAO,CACLgyB,EACE,wUAMRi1F,GAAqD,GACzDD,GAA0CtB,eAAgB,EAM7B,IAAIwB,GAAgC,CAC/Dn9G,KAAM,yBAG0Bo9G,GAAsC,GASpEC,GAAkBxF,GACpBuF,GACAH,GACAC,IACA,EACA,KACA,KACA,MAMFG,GAAgBr/F,QAAQw6F,OAAS,iCACJ,IA+GzB8E,GAAgBC,GA/GaC,GAASH,GAAuB,QAOhCI,GAAkC,CACjEz9G,KAAM,0BACNw3G,OAAQ,CAAC,YACT1/G,SAAU,CACR4lH,YAAa,WACX,IAAIjrG,EAAW9c,KAAK8c,SACpB,OAAOA,EAASg4F,YAAch4F,EAASopD,UAAYppD,EAASu8F,WAAar5G,KAAKgoH,oBAAsBlrG,EAASk3F,wBAE/GiU,gBAAiB,WACf,IAAInrG,EAAW9c,KAAK8c,SACpB,OAAKA,EAASo3F,aACNp3F,EAAS06F,KAAKC,QAExBuQ,mBAAoB,WAClB,IAAIlrG,EAAW9c,KAAK8c,SACpB,OAAOA,EAASu8F,UAAYv8F,EAAS67F,cAAc33G,MAAK,SAAU8J,GAChE,OAAQgS,EAAS47F,QAAQ5tG,GAAI2wG,gBAInCr5G,QAAS,CACP8lH,QAAS,WACP,IAAIh2F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChB4C,EAAQ5C,EAASm5F,SAAWn5F,EAASi4F,aAAej4F,EAASm4F,eACjE,OAAKj1G,KAAK+nH,YACH71F,EAAE,MAAO,CACd,MAAS,8BACT5xB,MAAO,CACLof,MAAOA,GAETxT,GAAI,CACF,UAAalM,KAAKmoH,qBAEnB,CAACj2F,EAAEra,GAAQ,CACZ,MAAS,wBAVmB,MAahCuwG,YAAa,WACX,IAAIl2F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBurG,EAAa,CACf,iCAAiC,EACjC,yCAA0CvrG,EAAS06F,KAAKC,QAE1D,OAAKz3G,KAAKioH,gBACH/1F,EAAE,MAAO,CACd,MAAS,0CACThmB,GAAI,CACF,UAAalM,KAAKsoH,yBAEnB,CAACp2F,EAAE21F,GAAO,CACX,MAASQ,MAPuB,MAUpCF,mBAAoBla,GAAY,SAA4Bz2F,GAC1DA,EAAIxK,kBACJwK,EAAI/I,iBACJ,IAAIqO,EAAW9c,KAAK8c,SAChBvd,EAASud,EAAS63F,iBAElBx7F,EAAU,SAAiBovG,GACzBA,GAAazrG,EAASwQ,SAGxBgjF,IAA8B/wG,GAChCA,EAAOiK,KAAK2P,GAEZpS,YAAW,WACT,OAAOoS,EAAQ5Z,KACd,MAGP+oH,uBAAwBra,GAAY,SAAgCz2F,GAClEA,EAAI/I,iBACJ+I,EAAIxK,kBACJ,IAAI8P,EAAW9c,KAAK8c,SACpBA,EAAS8/F,aACT9/F,EAAS4iG,gBAEX6F,qBAAsB,SAA8B7uG,GAClD,IAAIwb,EAAIlyB,KAAKE,eACb,OAAOgyB,EAAE,MAAO,CACd,MAAS,mCACR,CAACxb,MAGR5W,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GACdqW,EAAW9c,KAAK8c,SAChB0rG,EAAiB1rG,EAAS87F,OAAS+M,GAAc0B,GACrD,OAAOn1F,EAAE,MAAO,CACd,MAAS,0BACThmB,GAAI,CACF,UAAa4Q,EAASggG,kBAEvB,CAAC5qF,EAAEs2F,EAAgB,CACpB38G,IAAK,oBACH7L,KAAKkoH,UAAWloH,KAAKooH,kBAIKK,GAA6C,GAS3EC,GAAoBxG,GACtBuG,GACAd,GACAC,IACA,EACA,KACA,KACA,MAMFc,GAAkBrgG,QAAQw6F,OAAS,6BACN,IAiCzB8F,GAAYC,GAjCiBC,GAAWH,GAAyB,QAEpCI,GAA8B,CAC7Dz+G,KAAM,sBACNq8D,YAAY,EACZ5kE,MAAO,CACLC,KAAM,CACJA,KAAMg+B,OACNqmC,UAAU,GAEZlnD,KAAM,CACJnd,KAAMg+B,OACNqmC,UAAU,IAGdtmE,OAAQ,SAAgBk/C,EAAGz4C,GACzB,IAAI2rB,EAAIzrB,UAAU,GACd3E,EAAQyE,EAAQzE,MAChB4U,EAAWnQ,EAAQmQ,SACvB,OAAOwb,EAAE,MAAO,CACd,MAAS,uCAAuCiQ,OAAOrgC,EAAMC,KAAM,SAClE,CAACmwB,EAAE,MAAO,CACX,MAAS,kCACR,CAACA,EAAE,OAAQ,CACZ,MAAS,wBAAwBiQ,OAAOrgC,EAAMod,UAC1CgT,EAAE,OAAQ,CACd,MAAS,4CAA4CiQ,OAAOrgC,EAAMC,KAAM,cACvE,CAAC2U,QAI0BqyG,GAAyC,GASvEC,GAAgB9G,GAClB6G,GACAJ,GACAC,IACA,EACA,KACA,KACA,MAMFI,GAAc3gG,QAAQw6F,OAAS,yBACF,IAOzBoG,GAAkBC,GAAWC,GAkQ7BC,GAAeC,GAzQcC,GAAON,GAAqB,QAQzDO,GAAS,CACXl/G,KAAM,yBACNw3G,OAAQ,CAAC,YACT//G,MAAO,CACLupB,KAAM,CACJtpB,KAAMvD,OACN4nE,UAAU,IAGdjkE,SAAU,CACRu3G,aAAc,WACZ,IAAI58F,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChB,OAAOA,EAAKouF,UAAY38F,EAAS48F,aAAaruF,IAEhDm+F,WAAY,WACV,IAAI1sG,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChB,OAAOvO,EAASwhG,uBAAuBjzF,KAG3CjpB,QAAS,CACPqnH,aAAc,WACZ,IAAIv3F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KACZq+F,EAAc,CAChB,0BAA0B,EAC1B,mCAAoCr+F,EAAKowF,WACzC,mCAAoC3+F,EAASg8F,WAAWztF,GACxD,oCAAqCA,EAAKyzF,cAC1C,kCAAmChiG,EAASu7F,YAAY7gC,QAAUnsD,EAAK+xF,UACvE,gCAAiCp9G,KAAKwpH,YAExC,OAAOt3F,EAAE,MAAO,CACd,MAASw3F,EACTx9G,GAAI,CACF,WAAclM,KAAK2pH,wBAErBrpH,MAAO,CACL,UAAW+qB,EAAKvgB,KAEjB,CAAC9K,KAAKooH,cAAepoH,KAAK4pH,qBAAqB,CAAC5pH,KAAK6pH,wBAAwB,CAAC7pH,KAAK8pH,mBAAoB9pH,KAAK+pH,mBAEjHC,qBAAsB,WACpB,IAAI93F,EAAIlyB,KAAKE,eACb,OAAKF,KAAK05G,aACHxnF,EAAE,MAAO,CACd,MAAS,wBACR,CAAClyB,KAAKiqH,mBAAoBjqH,KAAKkqH,sBAAuBlqH,KAAKmqH,2BAA4BnqH,KAAKoqH,kCAHhE,MAKjChC,YAAa,WACX,IAAIl2F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChB,GAAIvO,EAASi9F,sBAAwB/5G,KAAKwpH,WAAY,OAAO,KAE7D,GAAIn+F,EAAKouF,SAAU,CACjB,IAAI4Q,EAAkB,CACpBvoH,MAAO,CACLuI,KAAM,wCACN68G,QAAQ,IAGRmB,EAAa,CACf,gCAAgC,EAChC,wCAAyCroH,KAAK05G,cAEhD,OAAOxnF,EAAE,MAAO,CACd,MAAS,yCACThmB,GAAI,CACF,UAAalM,KAAKsoH,yBAEnB,CAACp2F,EAAE,aAAcm4F,EAAiB,CAACn4F,EAAE21F,GAAO,CAC7C,MAASQ,QAIb,OAAIvrG,EAAS+8F,gBACNoP,KAAkBA,GAAmB/2F,EAAE,MAAO,CACjD,MAAS,4CACR,CAAC,OACG+2F,IAGF,MAETW,qBAAsB,SAA8BlzG,GAClD,IAAIwb,EAAIlyB,KAAKE,eACb,OAAOgyB,EAAE,MAAO,CACd,MAAS,kCACThmB,GAAI,CACF,UAAalM,KAAKsqH,kCAEnB,CAAC5zG,KAENmzG,wBAAyB,SAAiCnzG,GACxD,IAAIwb,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChB,OAAIvO,EAAS87F,QACT97F,EAASy4F,oBAAsBlqF,EAAKouF,SADZ,KAErBvnF,EAAE,MAAO,CACd,MAAS,sCACR,CAACxb,KAENozG,eAAgB,WACd,IAAI53F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KACZk/F,EAAeztG,EAAS+6F,OAAOG,gBAAgB3sF,EAAKvgB,IACpD0/G,EAAgB,CAClB,4BAA4B,EAC5B,oCAAqCD,IAAiB7Y,GACtD,0CAA2C6Y,IAAiB9Y,GAC5D,sCAAuC8Y,IAAiB/Y,EACxD,qCAAsCnmF,EAAKowF,YAQ7C,OANKyN,KAAWA,GAAYh3F,EAAE,OAAQ,CACpC,MAAS,gCAENi3F,KAAWA,GAAYj3F,EAAE,OAAQ,CACpC,MAAS,gCAEJA,EAAE,OAAQ,CACf,MAASs4F,GACR,CAACtB,GAAWC,MAEjBY,YAAa,WACX,IAAI73F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KACZo/F,EAAkBp/F,EAAKouF,WAAa38F,EAASu7F,YAAY7gC,OAAS16D,EAAS88F,0BAA4B98F,EAASi6F,WAChHnB,EAAQ6U,EAAkB3tG,EAASu7F,YAAY7gC,OAAS16D,EAASu7F,YAAYE,SAASltF,EAAKvgB,IAAIgS,EAASk6F,aAAe3rF,EAAKuqF,MAAM94F,EAASk6F,aAAe98E,IAC1JwwF,EAAiB,wBACjBC,EAAiB,wBACjBC,EAAsB9tG,EAASqsF,aAAa,gBAChD,OAAIyhB,EAA4BA,EAAoB,CAClDv/F,KAAMA,EACNo/F,gBAAiBA,EACjB7U,MAAOA,EACP8U,eAAgBA,EAChBC,eAAgBA,IAEXz4F,EAAE,QAAS,CAChB,MAASw4F,GACR,CAACr/F,EAAK5U,MAAOg0G,GAAmBv4F,EAAE,OAAQ,CAC3C,MAASy4F,GACR,CAAC,IAAK/U,EAAO,SAElBqU,iBAAkB,WAChB,IAAI/3F,EAAIlyB,KAAKE,eACTmrB,EAAOrrB,KAAKqrB,KAChB,OAAKA,EAAKw0F,eAAetM,SAClBloF,EAAK3U,SAAS/L,KAAI,SAAU6gD,GACjC,OAAOt5B,EAAEq3F,GAAQ,CACfjpH,MAAO,CACL+qB,KAAMmgC,GAER7qD,IAAK6qD,EAAU1gD,QANuB,MAU5Co/G,oBAAqB,WACnB,IAAIh4F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChB,OAAKA,EAAKw0F,eAAetM,UAAYloF,EAAK3U,SAASpT,OAAe,KAC3D4uB,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,cACNmd,KAAM,YAEP,CAACpC,EAASo5F,kBAEfiU,yBAA0B,WACxB,IAAIj4F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChB,OAAKA,EAAKw0F,eAAerM,UAClBthF,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,UACNmd,KAAM,WAEP,CAACpC,EAAS+4F,cAN8B,MAQ7CuU,8BAA+B,WAC7B,IAAIl4F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChB,OAAKA,EAAKw0F,eAAepM,aAClBvhF,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,QACNmd,KAAM,UAEP,CAACmM,EAAKw0F,eAAepM,aAAcvhF,EAAE,IAAK,CAC3C,MAAS,wBACT5xB,MAAO,CACLof,MAAO5C,EAAS65F,YAElBzqG,GAAI,CACF,UAAalM,KAAK6qH,yBAEnB,CAAC/tG,EAAS45F,cAdiC,MAgBhDiT,uBAAwB,SAAgCnyG,GACtD,IAAIsF,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KACZ7T,EAAIyF,SAAWzF,EAAIszG,eACvBhuG,EAAS8hG,4BAA4BvzF,GAAM,IAE7Ci9F,uBAAwBra,GAAY,WAClC,IAAInxF,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChBvO,EAAS6iG,eAAet0F,MAE1Bi/F,gCAAiCrc,GAAY,WAC3C,IAAInxF,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAEZA,EAAKouF,UAAY38F,EAASy4F,mBAC5Bz4F,EAAS6iG,eAAet0F,GAExBvO,EAASzZ,OAAOgoB,MAGpBw/F,uBAAwB5c,GAAY,WAClC,IAAInxF,EAAW9c,KAAK8c,SAChBuO,EAAOrrB,KAAKqrB,KAChBvO,EAASgjG,oBAAoBz0F,OAGjCvrB,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GACd4kB,EAAOrrB,KAAKqrB,KACZ0/F,EAAc/qH,KAAK8c,SAASi9F,qBAAuB,EAAI1uF,EAAKqf,MAE5DsgF,EAAgBrd,IAAyB,CAC3C,6BAA6B,GAC5B,gCAAgCxrE,OAAO4oF,IAAc,GAEpDV,EAAkB,CACpBvoH,MAAO,CACLuI,KAAM,qCAGV,OAAO6nB,EAAE,MAAO,CACd,MAAS84F,GACR,CAAChrH,KAAKypH,eAAgBp+F,EAAKouF,UAAYvnF,EAAE,aAAcm4F,EAAiB,CAACrqH,KAAKgqH,6BAGpDiB,GAAiC,GAEhCC,GAA4C,GAS1EC,GAAmBjJ,GACrBgJ,GACA9B,GACAC,IACA,EACA,KACA,KACA,MAMF8B,GAAiB9iG,QAAQw6F,OAAS,4BACL,IA+RzBuI,GAAaC,GA/RgBC,GAAqBH,GAAwB,QAM1EI,GAAe,CACjB7+E,IAAK,MACLD,OAAQ,SACR++E,MAAO,MACPC,MAAO,UAEwBC,GAA+B,CAC9DrhH,KAAM,uBACNw3G,OAAQ,CAAC,YACT1/G,SAAU,CACRwpH,UAAW,WACT,IAAI7uG,EAAW9c,KAAK8c,SACpB,MAAO,CACLk5F,UAAWl5F,EAASk5F,UAAY,OAGpC4V,mBAAoB,WAClB,IAAI9uG,EAAW9c,KAAK8c,SACpB,MAAO,CACLu6F,OAAQv6F,EAASq3F,aAAe,KAAOr3F,EAASu6F,UAItDvzG,MAAO,CACL,uBAAwB,SAA4B4/B,GAC9CA,EACF1jC,KAAKqY,UAAUrY,KAAK6rH,YAEpB7rH,KAAK8rH,gBAIX9nH,QAAS,WACPhE,KAAK+rH,gBAAkB,KACvB/rH,KAAKgsH,kCAAoC,MAE3C9nH,QAAS,WACP,IAAI4Y,EAAW9c,KAAK8c,SAChBA,EAAS06F,KAAKC,QAAQz3G,KAAKqY,UAAUrY,KAAK6rH,aAEhDvnH,UAAW,WACTtE,KAAK8rH,eAEP1pH,QAAS,CACP6pH,WAAY,WACV,IAAI/5F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAKA,EAAS06F,KAAKC,OACZvlF,EAAE,MAAO,CACdrmB,IAAK,OACL,MAAS,uBACTK,GAAI,CACF,UAAa4Q,EAASggG,iBAExBrgG,MAAOzc,KAAK2rH,WACX,CAAC3rH,KAAKksH,mBAAoBpvG,EAASsuD,MAAQprE,KAAKmsH,6BAA+BrvG,EAASu7F,YAAY7gC,OAASx3E,KAAKosH,6BAA+BpsH,KAAKqsH,wBAAyBrsH,KAAKssH,oBARrJ,MAUpCJ,iBAAkB,WAChB,IAAIpvG,EAAW9c,KAAK8c,SAChByvG,EAAqBzvG,EAASqsF,aAAa,eAC/C,OAAOojB,EAAqBA,IAAuB,MAErDD,gBAAiB,WACf,IAAIxvG,EAAW9c,KAAK8c,SAChB0vG,EAAoB1vG,EAASqsF,aAAa,cAC9C,OAAOqjB,EAAoBA,IAAsB,MAEnDH,sBAAuB,WACrB,IAAIvvG,EAAW9c,KAAK8c,SAEpB,OAAIA,EAASs7F,kBAAkB5E,UACtBxzG,KAAKysH,0BACH3vG,EAASs7F,kBAAkB3E,aAC7BzzG,KAAK0sH,mCACH5vG,EAASs7F,kBAAkB7E,UAAyD,IAA7Cz2F,EAAS+6F,OAAOC,kBAAkBx0G,OAC3EtD,KAAK2sH,8BAEL3sH,KAAK4sH,oBAGhBR,2BAA4B,WAC1B,IAAItvG,EAAW9c,KAAK8c,SAEpB,OAAIA,EAASs7F,kBAAkB5E,UACtBxzG,KAAKysH,0BACH3vG,EAASs7F,kBAAkB3E,aAC7BzzG,KAAK0sH,mCACH5vG,EAASs7F,kBAAkB7E,UAAyD,IAA7Cz2F,EAAS+6F,OAAOC,kBAAkBx0G,OAC3EtD,KAAK2sH,8BACH7vG,EAASu7F,YAAYC,UACvBt4G,KAAK6sH,qBAEL7sH,KAAK4sH,oBAGhBT,2BAA4B,WAC1B,IAAIrvG,EAAW9c,KAAK8c,SAChButD,EAAQvtD,EAASi+F,uBACjB+R,EAA6D,KAAjChwG,EAAS2sC,QAAQ8tD,cAAuBz6F,EAASmpD,eAC7E8mD,GAAyBD,IAAoCziD,EAAMkpC,UAAqC,IAAzBlpC,EAAMhiD,QAAQ/kB,QAEjG,OAAIwpH,EACK9sH,KAAKgtH,wBACH3iD,EAAMmpC,UACRxzG,KAAKysH,0BACHpiD,EAAMopC,aACRzzG,KAAKitH,mCACHF,EACF/sH,KAAK6sH,qBAEL7sH,KAAK4sH,oBAGhBA,iBAAkB,WAChB,IAAI16F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOoV,EAAE,MAAO,CACd,MAAS,wBACR,CAACpV,EAAS+6F,OAAOC,kBAAkBntG,KAAI,SAAUmvG,GAClD,OAAO5nF,EAAEo5F,GAAmB,CAC1BhrH,MAAO,CACL+qB,KAAMyuF,GAERn5G,IAAKm5G,EAAShvG,WAIpBkiH,sBAAuB,WACrB,IAAI96F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOoV,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,gBACNmd,KAAM,YAEP,CAACpC,EAASg6F,oBAEf2V,wBAAyB,WACvB,IAAIv6F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOoV,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,UACNmd,KAAM,WAEP,CAACpC,EAAS+4F,eAEf6W,iCAAkC,WAChC,IAAIx6F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOoV,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,QACNmd,KAAM,UAEP,CAACpC,EAASs7F,kBAAkB3E,aAAcvhF,EAAE,IAAK,CAClD,MAAS,wBACThmB,GAAI,CACF,MAAS4Q,EAAS2iG,iBAEpBn/G,MAAO,CACLof,MAAO5C,EAAS65F,aAEjB,CAAC75F,EAAS45F,eAEfuW,iCAAkC,WAChC,IAAI/6F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SAChButD,EAAQvtD,EAASi+F,uBACrB,OAAO7oF,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,QACNmd,KAAM,UAEP,CAACmrD,EAAMopC,aAAcvhF,EAAE,IAAK,CAC7B,MAAS,wBACThmB,GAAI,CACF,MAAS4Q,EAASy9F,oBAEpBj6G,MAAO,CACLof,MAAO5C,EAAS65F,aAEjB,CAAC75F,EAAS45F,eAEfiW,4BAA6B,WAC3B,IAAIz6F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOoV,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,aACNmd,KAAM,YAEP,CAACpC,EAASq5F,iBAEf0W,mBAAoB,WAClB,IAAI36F,EAAIlyB,KAAKE,eACT4c,EAAW9c,KAAK8c,SACpB,OAAOoV,EAAEo3F,GAAK,CACZhpH,MAAO,CACLyB,KAAM,aACNmd,KAAM,YAEP,CAACpC,EAASs5F,iBAEfyV,WAAY,WACV7rH,KAAKktH,0BACLltH,KAAKmtH,uBACLntH,KAAKotH,0CAEPtB,YAAa,WACX9rH,KAAKqtH,wBACLrtH,KAAKstH,2CAEPJ,wBAAyB,WACvB,IAAIpwG,EAAW9c,KAAK8c,SACpB,GAAKA,EAAS06F,KAAKC,OAAnB,CACA,IAAIkH,EAAQ7hG,EAAS0hG,UACjB+O,EAAWzwG,EAASyhG,aACpBiP,EAAW7O,EAAMnyE,wBACjBihF,EAAcF,EAAS/gF,wBACvBkhF,EAAaF,EAASzoH,OACtB4oH,EAAiB16F,OAAOu8C,YACxBo+C,EAAaH,EAAY/gF,IACzBmhF,EAAa56F,OAAOu8C,YAAci+C,EAAYhhF,OAC9CqhF,EAAsBL,EAAY/gF,KAAO,GAAK+gF,EAAY/gF,KAAOihF,GAAkBF,EAAY/gF,IAAM,GAAK+gF,EAAYhhF,OAAS,EAC/HshF,EAAsBF,EAAaH,EAAaza,GAChD+a,EAAsBJ,EAAaF,EAAaza,GAE/C6a,EAEiC,SAA3BhxG,EAASu5F,cAClBv5F,EAAS06F,KAAKI,UAAY2T,GAAazuG,EAASu5F,eAEhDv5F,EAAS06F,KAAKI,UADLmW,IAAwBC,EACP,SAEA,MAN1BlxG,EAASm9F,cASbkT,qBAAsB,WACpB,IAAIrwG,EAAW9c,KAAK8c,SAChB6hG,EAAQ7hG,EAAS0hG,UACjBx+G,KAAK+rH,kBACT/rH,KAAK+rH,gBAAkB,CACrBjlF,OAAQuoE,EAAUsP,EAAO3+G,KAAKktH,4BAGlCE,uCAAwC,WACtC,IAAItwG,EAAW9c,KAAK8c,SAChBywG,EAAWzwG,EAASyhG,aACpBv+G,KAAKgsH,oCACThsH,KAAKgsH,kCAAoC,CACvCllF,OAAQmpE,EAAmCsd,EAAUvtH,KAAKktH,4BAG9DG,sBAAuB,WAChBrtH,KAAK+rH,kBACV/rH,KAAK+rH,gBAAgBjlF,SACrB9mC,KAAK+rH,gBAAkB,OAEzBuB,wCAAyC,WAClCttH,KAAKgsH,oCACVhsH,KAAKgsH,kCAAkCllF,SACvC9mC,KAAKgsH,kCAAoC,QAG7ClsH,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GAClB,OAAOyrB,EAAE,MAAO,CACdrmB,IAAK,iBACL,MAAS,iCACT4Q,MAAOzc,KAAK4rH,oBACX,CAAC15F,EAAE,aAAc,CAClB5xB,MAAO,CACL+J,KAAM,qCAEP,CAACrK,KAAKisH,mBAIqBgC,GAA0C,GASxEC,GAAiBhM,GACnB+L,GACA7C,GACAC,IACA,EACA,KACA,KACA,MAMF6C,GAAe7lG,QAAQw6F,OAAS,0BACH,IAAIsL,GAAQD,GAAsB,QAE3DE,GAAgBpjH,EAAoB,IACpCqjH,GAAoCrjH,EAAoBmoB,EAAEi7F,IAK9D,SAASE,GAA0CpzF,EAAQg4E,GAAkB,IAAIhoG,EAAO1M,OAAO0M,KAAKgwB,GAAS,GAAI18B,OAAO6hD,sBAAuB,CAAE,IAAIC,EAAU9hD,OAAO6hD,sBAAsBnlB,GAAag4E,IAAgB5yD,EAAUA,EAAQjsC,QAAO,SAAUs4D,GAAO,OAAOnuE,OAAO6kC,yBAAyBnI,EAAQyxC,GAAKxvD,eAAgBjS,EAAK3H,KAAKmD,MAAMwE,EAAMo1C,GAAY,OAAOp1C,EAEhX,SAASqjH,GAA+CtxG,GAAU,IAAK,IAAIpV,EAAI,EAAGA,EAAIpB,UAAUnD,OAAQuE,IAAK,CAAE,IAAIkiC,EAAyB,MAAhBtjC,UAAUoB,GAAapB,UAAUoB,GAAK,GAAQA,EAAI,EAAKymH,GAA0CvkF,GAAQ,GAAMp2B,SAAQ,SAAUhT,GAAOgtG,IAAyB1wF,EAAQtc,EAAKopC,EAAOppC,OAAsBnC,OAAO20G,0BAA6B30G,OAAO0lC,iBAAiBjnB,EAAQze,OAAO20G,0BAA0BppE,IAAmBukF,GAA0CvkF,GAAQp2B,SAAQ,SAAUhT,GAAOnC,OAAO8e,eAAeL,EAAQtc,EAAKnC,OAAO6kC,yBAAyB0G,EAAQppC,OAAe,OAAOsc,EAK3mB,IA+GIsc,GAuCAi1F,GAAmBC,GAtJnBC,GAAe,CACjBrkH,KAAM,gCACNw3G,OAAQ,CAAC,YACT/9G,MAAO,CACL,uBAAwB,SAA4B4/B,GAC9CA,EACF1jC,KAAK2uH,gBAEL3uH,KAAK4uH,kBAGT,0BAA2B,WACzB5uH,KAAK6uH,8BAGT7qH,QAAS,WACPhE,KAAK8uH,qCAAuC,KAC5C9uH,KAAK+uH,mBAAqB,MAE5B7qH,QAAS,WACP,IAAI4Y,EAAW9c,KAAK8c,SAChBA,EAAS06F,KAAKC,QAAQz3G,KAAK2uH,iBAEjCvsH,QAAS,CACPusH,cAAe,WACb3uH,KAAKgvH,cACLhvH,KAAK6uH,4BACL7uH,KAAKivH,4CACLjvH,KAAKkvH,2BAEPN,eAAgB,WACd5uH,KAAKmvH,6CACLnvH,KAAKovH,4BAEPH,0CAA2C,WACzC,IAAInyG,EAAW9c,KAAK8c,SAChBywG,EAAWzwG,EAASyhG,aACpBv+G,KAAK8uH,uCACT9uH,KAAK8uH,qCAAuC,CAC1ChoF,OAAQmpE,EAAmCsd,EAAUvtH,KAAK6uH,8BAG9DK,wBAAyB,WACvB,IAAIvxF,EAAQ39B,KAER8c,EAAW9c,KAAK8c,SAChBywG,EAAWzwG,EAASyhG,aACpBv+G,KAAK+uH,qBACT/uH,KAAK+uH,mBAAqB,CACxBjoF,OAAQuoE,EAAUke,GAAU,WAC1B5vF,EAAMqxF,cAENrxF,EAAMkxF,kCAIZM,2CAA4C,WACrCnvH,KAAK8uH,uCACV9uH,KAAK8uH,qCAAqChoF,SAC1C9mC,KAAK8uH,qCAAuC,OAE9CM,yBAA0B,WACnBpvH,KAAK+uH,qBACV/uH,KAAK+uH,mBAAmBjoF,SACxB9mC,KAAK+uH,mBAAqB,OAE5BC,YAAa,WACX,IAAIlyG,EAAW9c,KAAK8c,SAChBuyG,EAAgBrvH,KAAKsmE,IACrBinD,EAAWzwG,EAASyhG,aACpBkP,EAAcF,EAAS/gF,wBAC3B6iF,EAAc5yG,MAAM3X,MAAQ2oH,EAAY3oH,MAAQ,MAElD+pH,0BAA2B,WACzB,IAAI/xG,EAAW9c,KAAK8c,SAChBywG,EAAWzwG,EAASyhG,aACpB8Q,EAAgBrvH,KAAKsmE,IACrBmnD,EAAcF,EAAS/gF,wBACvB8iF,EAAmBD,EAAc7iF,wBACjC+iF,EAAsC,WAA5BzyG,EAAS06F,KAAKI,UAAyB6V,EAAY1oH,OAAS,EACtE4nC,EAAOvS,KAAK43C,MAAMy7C,EAAY9gF,KAAO2iF,EAAiB3iF,MAAQ,KAC9DD,EAAMtS,KAAK43C,MAAMy7C,EAAY/gF,IAAM4iF,EAAiB5iF,IAAM6iF,GAAW,KACrE3D,EAAqB5rH,KAAK8X,MAAM0/F,KAAK1/F,MAAM,kBAAkB2E,MAC7D+yG,EAAsB,CAAC,YAAa,kBAAmB,eAAgB,eACvE1sF,EAAY1G,EAAKozF,GAAqB,SAAUj8F,GAClD,OAAOA,KAAKtuB,SAAS2tB,KAAKnW,SAE5BmvG,EAAmB9oF,GAAa,aAAaX,OAAOwK,EAAM,MAAMxK,OAAOuK,EAAK,OAGhF5sC,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GACdqW,EAAW9c,KAAK8c,SAChB2yG,EAAoB,CAAC,gCAAiC3yG,EAAS4yG,cAC/DC,EAAoB,CACtBtY,OAAQv6F,EAASu6F,QAEnB,OAAOnlF,EAAE,MAAO,CACd,MAASu9F,EACThzG,MAAOkzG,EACPrvH,MAAO,CACL,mBAAoBwc,EAASs9F,kBAE9B,CAACloF,EAAEi8F,GAAM,CACVtiH,IAAK,YAGTvH,UAAW,WACTtE,KAAK4uH,mBAIwBgB,GAAqC,CACpEvlH,KAAM,8BACNrG,QAAS,WACPhE,KAAK0+G,aAAe,MAEtBx6G,QAAS,WACPlE,KAAK6vH,SAEPvrH,UAAW,WACTtE,KAAK8vH,YAEP1tH,QAAS,CACPytH,MAAO,WACL,IAAIliD,EAAK1oE,SAASC,cAAc,OAChCD,SAAS2tB,KAAKQ,YAAYu6C,GAC1B3tE,KAAK0+G,aAAe,IAAI2P,GAAqBz8F,EAAE28F,GAA+C,CAC5F5gD,GAAIA,EACJn+C,OAAQxvB,MACP0uH,MAELoB,SAAU,WACR7qH,SAAS2tB,KAAK4iB,YAAYx1C,KAAK0+G,aAAap4C,KAC5CtmE,KAAK0+G,aAAap4C,IAAI59B,UAAY,GAClC1oC,KAAK0+G,aAAaqR,WAClB/vH,KAAK0+G,aAAe,OAGxB5+G,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GAIlB,OAHK8yB,KAAaA,GAAcrH,EAAE,MAAO,CACvC,MAAS,sCAEJqH,KAIuBy2F,GAAgD,GAS9EC,GAAuB/N,GACzB8N,GACAxB,GACAC,IACA,EACA,KACA,KACA,MAMFwB,GAAqB5nG,QAAQw6F,OAAS,gCACT,IA6CzBqN,GAAmBC,GA7CUC,GAAcH,GAA4B,QAO1CI,GAAqC,CACpEhmH,KAAM,iBACNimH,OAAQ,CAACxc,IACT3xG,SAAU,CACRutH,aAAc,WACZ,MAAO,CACL,kBAAkB,EAClB,yBAA0B1vH,KAAK44G,OAC/B,wBAAyB54G,KAAKi2G,SAC9B,6BAA8Bj2G,KAAK42G,WACnC,2BAA4B52G,KAAKkmE,SACjC,0BAA2BlmE,KAAKypD,QAAQ6tD,UACxC,4BAA6Bt3G,KAAKq5G,SAClC,uBAAwBr5G,KAAKw3G,KAAKC,OAClC,6BAAsD,QAAxBz3G,KAAKw3G,KAAKI,UACxC,6BAAsD,WAAxB53G,KAAKw3G,KAAKI,UACxC,wCAAyC53G,KAAKu1G,mBAC9C,iCAAkCv1G,KAAKm0G,gBAI7Cr0G,OAAQ,WACN,IAAIoyB,EAAIzrB,UAAU,GAClB,OAAOyrB,EAAE,MAAO,CACdrmB,IAAK,UACL,MAAS7L,KAAK0vH,cACb,CAACx9F,EAAE8wF,IAAe9wF,EAAE22F,GAAS,CAC9Bh9G,IAAK,YACH7L,KAAKm0G,aAAejiF,EAAEk+F,GAAY,CACpCvkH,IAAK,WACFqmB,EAAEi8F,GAAM,CACXtiH,IAAK,aAKuB0kH,GAAgD,GAS9EC,GAAuBtO,GACzBqO,GACAL,GACAC,IACA,EACA,KACA,KACA,MAMFK,GAAqBnoG,QAAQw6F,OAAS,gCACT,IAAI4N,GAAcD,GAA4B,QAE/DxlH,EAAoB,IAGDA,EAAoBsnB,EAAEwyE,EAAqB,WAAW,WAAa,OAAO4rB,MAC/D1lH,EAAoBsnB,EAAEwyE,EAAqB,cAAc,WAAa,OAAO2rB,MACxEzlH,EAAoBsnB,EAAEwyE,EAAqB,mBAAmB,WAAa,OAAOgP,MAChF9oG,EAAoBsnB,EAAEwyE,EAAqB,qBAAqB,WAAa,OAAOiN,MAChF/mG,EAAoBsnB,EAAEwyE,EAAqB,yBAAyB,WAAa,OAAOkN,MACjGhnG,EAAoBsnB,EAAEwyE,EAAqB,gBAAgB,WAAa,OAAOmN,MAIpFnN,EAAoB,WAAa,GAA3C,IAGzB4rB,GAAU,Y,yGC3zHRC,EAAc,GAChBC,EAAmBnnH,UAKrBmnH,EAAiB1lH,OAAOyI,SAAQ,SAAAk9G,GAC9B,IAAI58F,EAAO28F,EAAiBC,GAC5BF,EAAYE,EAAS98E,QAAQ,kBAAmB,OAAS9f,EAAKjyB,WAEjD2uH,gB,mBCMjB,SAASG,EAAS7xH,GAChB,OAAOA,EAGTb,EAAOC,QAAUyyH,G,mBCpBjB1yH,EAAOC,QAAU,soD,qBCAjB,IAAIsM,EAAM,CACT,uBAAwB,OACxB,sBAAuB,OACvB,iBAAkB,OAClB,mBAAoB,OACpB,kBAAmB,OACnB,yBAA0B,OAC1B,iBAAkB,QAInB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIvL,EAAI,IAAI4I,MAAM,uBAAyB2C,EAAM,KAEjD,MADAvL,EAAEsI,KAAO,mBACHtI,EAEP,OAAOqL,EAAIE,GAEZD,EAAeM,KAAO,WACrB,OAAO1M,OAAO0M,KAAKP,IAEpBC,EAAelF,QAAUqF,EACzB3M,EAAOC,QAAUuM,EACjBA,EAAeE,GAAK,Q,qFC3BL,SAAS1B,EAAmBlG,GACzC,GAAIwB,MAAM2E,QAAQnG,GAAM,OAAO6tH,eAAiB7tH,G,sECFnC,SAASsB,EAAiBC,GACvC,GAAsB,qBAAXnG,QAA0BA,OAAOoB,YAAYlB,OAAOiG,GAAO,OAAOC,MAAMvB,KAAKsB,G,gBCD3E,SAAS7E,IACtB,MAAM,IAAIC,UAAU,wICGP,SAAS6b,EAAmBxY,GACzC,OAAOqY,EAAkBrY,IAAQsY,EAAgBtY,IAAQuzB,eAA2BvzB,IAAQuY,M,kCCL9F,W,kCCAA,W,mBCAArd,EAAOC,QAAU,0gC,iJCCF,SAAS6nG,EAA4Bj7F,EAAGk7F,GACrD,GAAKl7F,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO8lH,eAAiB9lH,EAAGk7F,GACtD,IAAIhzE,EAAI30B,OAAOC,UAAUG,SAASO,KAAK8L,GAAGtH,MAAM,GAAI,GAEpD,MADU,WAANwvB,GAAkBloB,EAAEtL,cAAawzB,EAAIloB,EAAEtL,YAAY0K,MAC7C,QAAN8oB,GAAqB,QAANA,EAAoBzuB,MAAMvB,KAAK8H,GACxC,cAANkoB,GAAqB,2CAA2C8uB,KAAK9uB,GAAW49F,eAAiB9lH,EAAGk7F,QAAxG,K,kCCPF,W,kCCAA,WAAIzlG,EAAQ,SAAW8C,EAASmrD,GAC/B,IAAIqiE,EAAS/rH,SAASC,cAAc,KAChC+rH,EAASD,EAAO59F,YAAYnuB,SAASC,cAAc,MACnDgsH,EAAcF,EAAO59F,YAAYnuB,SAASC,cAAc,MACxDisH,EAAcF,EAAO79F,YAAYnuB,SAASC,cAAc,MAExD+pG,OAAY,EACZC,OAAa,EAUjB,OARA+hB,EAAOx0G,MAAMg9D,QAAUu3C,EAAOv0G,MAAMg9D,QAAU,+HAC9C03C,EAAY10G,MAAMg9D,QAAUy3C,EAAYz0G,MAAMg9D,QAAU,qDACxD03C,EAAY10G,MAAM3X,MAAQqsH,EAAY10G,MAAM1X,OAAS,OAErDvB,EAAQ4vB,YAAY49F,GAEpB/uE,IAEOqpB,EAEP,SAASrpB,IACRmvE,IAEA,IAAItsH,EAAQtB,EAAQw8D,YAChBj7D,EAASvB,EAAQ65D,aAEjBv4D,IAAUmqG,GAAalqG,IAAWmqG,IACrCD,EAAYnqG,EACZoqG,EAAanqG,EAEbmsH,EAAYz0G,MAAM3X,MAAgB,EAARA,EAAY,KACtCosH,EAAYz0G,MAAM1X,OAAkB,EAATA,EAAa,KAExCisH,EAAO//C,WAAa+/C,EAAO1/C,YAC3B0/C,EAAO1lF,UAAY0lF,EAAOx/C,aAC1By/C,EAAOhgD,WAAaggD,EAAO3/C,YAC3B2/C,EAAO3lF,UAAY2lF,EAAOz/C,aAE1B7iB,EAAS,CAAE7pD,MAAOA,EAAOC,OAAQA,KAGlCksH,EAAO5/E,iBAAiB,SAAU4Q,GAClC+uE,EAAO3/E,iBAAiB,SAAU4Q,GAGnC,SAASmvE,IACRH,EAAOriE,oBAAoB,SAAU3M,GACrC+uE,EAAOpiE,oBAAoB,SAAU3M,GAGtC,SAASqpB,IACR8lD,IAEA5tH,EAAQgyC,YAAYw7E,KAIP,gB,qBCxDf,IAAIp1G,EAAY,EAAQ,QAGpB2wE,EAAkB,sBAmBtB,SAASrlF,EAAOisB,EAAG/rB,GACjB,IAAI7H,EACJ,GAAmB,mBAAR6H,EACT,MAAM,IAAIvH,UAAU0sF,GAGtB,OADAp5D,EAAIvX,EAAUuX,GACP,WAOL,QANMA,EAAI,IACR5zB,EAAS6H,EAAKV,MAAM1G,KAAMyG,YAExB0sB,GAAK,IACP/rB,OAAOrI,GAEFQ,GAIXnB,EAAOC,QAAU6I,G,kCCvCjB,W,mBCAA,IAAItI,EAAW,GAAGA,SAElBR,EAAOC,QAAUqG,MAAM2E,SAAW,SAAUnG,GAC1C,MAA6B,kBAAtBtE,EAASO,KAAK+D,K,6GCuCvB,SAASmuH,KAtCM,cAEb7kG,oBAFa,WAGX,OAAO,IAAI/mB,SAAQ,SAACC,EAASkY,GACzBC,IAAWC,KAAK,CACd,IAAO,mCAEP,QAAW,CAET,eACA,aACA,kBACA,mBACA,kBACA,oBACA,gBACA,sBAWHtU,MAAK,SAAAuU,GACJrY,EAAQqY,MAETK,OAAM,SAAAC,GACLT,EAAOS,WAiBjBgzG,EAAQ5yH,UAAUizB,EAAI,SAAU4/F,GAQ/B,OAPgB,MAAZtxH,KAAK2K,MACR3K,KAAK2K,IAAM,IAAIoT,KAAKE,IAAIqzG,EAAa,CAC3BrkG,cAAc,EACdD,KAAM,GACNukG,gBAAgB,KAGpBvxH,KAAK2K,KAMb0mH,EAAQ5yH,UAAU+yH,gBAAkB,SAAUC,GAAS,WACtD,GAAgB,MAAZzxH,KAAK2K,IACR,OAAO,EAER3K,KAAKyxH,QAAUA,EACf1zG,KAAK2V,OAAO,CAAC,oBAAoB,qBAAoB,WAChD,IAAIg+F,EAAc,CAChB1zF,MAAOyzF,GAETnN,aAAc,IAAIvmG,KAAK4zG,aAAaD,GAClB,IAAI3zG,KAAKgE,YAAY,CACjCtB,KAAK,GACL9V,IAAI,EAAKA,MAEfoT,KAAKwF,MAAMC,YAAY8gG,aAAc,UAAU,SAAChlH,GAE7C,IAAIghB,EAAMhhB,EAAEsyH,IAAIlwG,SAASpB,IACrBD,EAAM/gB,EAAEsyH,IAAIlwG,SAASrB,IACzB,EAAKwxG,UAAUxxG,EAAKC,UAQ7B+wG,EAAQ5yH,UAAUozH,UAAY,SAAUvxG,EAAKD,EAAKyxG,GACjD,GAAgB,MAAZ9xH,KAAK2K,IACR,OAAO,EAGR3K,KAAK2K,IAAIsU,WACT,IAAIC,EAAO,IAAInB,KAAKoB,KAAK,CAClBxZ,MAAQ,sBAERosH,UAAY,IAAIh0G,KAAKsB,KAAK,GAAG,OAGhCyyG,QAAyB/yH,IAAb+yH,IACf9xH,KAAK2K,IAAIqnH,UAAU,CAAC1xG,EAAKD,IAEV,IAAItC,KAAK0B,OAAO,CAC5B9U,IAAK3K,KAAK2K,IACb8T,SAAU,CAAC6B,EAAKD,GAChBnB,KAAMA,KAORmyG,EAAQ5yH,UAAUwzH,eAAiB,WAAY,WAC9C,OAAgB,MAAZjyH,KAAK2K,KAGF3K,KAAK2K,IAAIuB,GAAG,SAAS,SAAC5M,GAC5B,IAAIghB,EAAMhhB,EAAE+tB,OAAO6kG,SACf7xG,EAAM/gB,EAAE+tB,OAAO8kG,SAEnB,OADA,EAAKN,UAAUxxG,EAAKC,GAAK,GAClB,EAAKa,QAAQ7hB,EAAE+tB,YAOxBgkG,EAAQ5yH,UAAU2zH,OAAS,WAAW,WACrC,OAAgB,MAAZpyH,KAAK2K,KAGF3K,KAAK2K,IAAI+oB,OAAO,oBAAoB,WAClB,MAApB,EAAK2+F,cACR,EAAKA,YAAc,IAAIt0G,KAAKY,YAAY,CAC9B2zG,oBAAoB,EACpBC,QAAS,IACTC,aAAc,IAAIz0G,KAAKwB,MAAM,GAAI,IACjCkzG,gBAAgB,EAChBC,eAAe,QAIpB,EAAK/nH,IAAI4T,WAAW,EAAK8zG,aACzB,EAAKA,YAAYM,qBAEjB50G,KAAKwF,MAAMC,YAAY,EAAK6uG,YAAa,YAAY,SAACnwH,GAErD,OADA,EAAK2vH,UAAU3vH,EAAKuc,SAAS0zG,SAAUjwH,EAAKuc,SAASyzG,UAC9C,EAAK/wG,QAAQjf,EAAKuc,aAG1BV,KAAKwF,MAAMC,YAAY,EAAK6uG,YAAa,SAAS,SAASnwH,GAE1D,OADAoS,QAAQC,IAAI,SACL,SAQhB88G,EAAQ5yH,UAAU0iB,QAAU,SAASkM,GAAQ,WAC5C,QAAKA,IAGgB,MAAjBrtB,KAAKugB,UACRxC,KAAK2V,OAAO,iBAAgB,WAC3B,EAAKnT,SAAW,IAAIxC,KAAKyC,SAAS,OAI7BxgB,KAAKugB,SAASI,WAAW0M,GAAQ,SAACzM,EAAQrhB,GAChD,GAAc,YAAVqhB,EAAsB,CAEzB,IAAIO,EAAU5hB,EAAOshB,UAAUO,iBAI/B,OAHoB,MAAhB,EAAKqwG,UACRxsH,SAASusB,eAAe,EAAKigG,SAASxyH,MAAQkiB,GAExCA,EAEP,OAAO,Q,sBCxLT,SAASoS,EAAEj0B,GAAwDlB,EAAOC,QAAQiB,IAAlF,CAA8N2zB,QAAO,WAAY,OAAO,SAASM,GAAG,IAAIj0B,EAAE,GAAG,SAAS0yB,EAAEmB,GAAG,GAAG7zB,EAAE6zB,GAAG,OAAO7zB,EAAE6zB,GAAG90B,QAAQ,IAAI4M,EAAE3L,EAAE6zB,GAAG,CAACtrB,EAAEsrB,EAAER,GAAE,EAAGt0B,QAAQ,IAAI,OAAOk1B,EAAEJ,GAAGh0B,KAAK8L,EAAE5M,QAAQ4M,EAAEA,EAAE5M,QAAQ2zB,GAAG/mB,EAAE0nB,GAAE,EAAG1nB,EAAE5M,QAAQ,OAAO2zB,EAAEN,EAAE6B,EAAEvB,EAAEG,EAAE7yB,EAAE0yB,EAAEM,EAAE,SAASiB,EAAEj0B,EAAE6zB,GAAGnB,EAAE/mB,EAAEsoB,EAAEj0B,IAAId,OAAO8e,eAAeiW,EAAEj0B,EAAE,CAAC6d,YAAW,EAAG6d,IAAI7H,KAAKnB,EAAEA,EAAE,SAASuB,GAAG,oBAAoBj1B,QAAQA,OAAOQ,aAAaN,OAAO8e,eAAeiW,EAAEj1B,OAAOQ,YAAY,CAACG,MAAM,WAAWT,OAAO8e,eAAeiW,EAAE,aAAa,CAACt0B,OAAM,KAAM+yB,EAAEuB,EAAE,SAASA,EAAEj0B,GAAG,GAAG,EAAEA,IAAIi0B,EAAEvB,EAAEuB,IAAI,EAAEj0B,EAAE,OAAOi0B,EAAE,GAAG,EAAEj0B,GAAG,iBAAiBi0B,GAAGA,GAAGA,EAAE0H,WAAW,OAAO1H,EAAE,IAAIJ,EAAE30B,OAAO29B,OAAO,MAAM,GAAGnK,EAAEA,EAAEmB,GAAG30B,OAAO8e,eAAe6V,EAAE,UAAU,CAAChW,YAAW,EAAGle,MAAMs0B,IAAI,EAAEj0B,GAAG,iBAAiBi0B,EAAE,IAAI,IAAItoB,KAAKsoB,EAAEvB,EAAEM,EAAEa,EAAEloB,EAAE,SAAS3L,GAAG,OAAOi0B,EAAEj0B,IAAIqzC,KAAK,KAAK1nC,IAAI,OAAOkoB,GAAGnB,EAAEmB,EAAE,SAASI,GAAG,IAAIj0B,EAAEi0B,GAAGA,EAAE0H,WAAW,WAAW,OAAO1H,EAAEvxB,SAAS,WAAW,OAAOuxB,GAAG,OAAOvB,EAAEM,EAAEhzB,EAAE,IAAIA,GAAGA,GAAG0yB,EAAE/mB,EAAE,SAASsoB,EAAEj0B,GAAG,OAAOd,OAAOC,UAAUC,eAAeS,KAAKo0B,EAAEj0B,IAAI0yB,EAAEL,EAAE,GAAGK,EAAEA,EAAE2E,EAAE,IAAj5B,CAAs5B,CAAC,SAASpD,EAAEj0B,EAAE0yB,GAAG,aAAa,IAAImB,EAAEnB,EAAE,GAAG/mB,EAAE,iBAAiBI,MAAMA,MAAMA,KAAK7M,SAASA,QAAQ6M,KAAKumB,EAAEuB,EAAEvB,GAAG3mB,GAAGM,SAAS,cAATA,GAA0BjM,EAAEsyB,EAAEA,GAAG,SAAS2B,EAAEj0B,EAAE0yB,GAAGuB,EAAEl1B,QAAQ2zB,EAAE,IAAI,SAASuB,EAAEj0B,EAAE0yB,GAAG,cAAa,SAAUuB,GAAG,IAAIJ,EAAEnB,EAAE,GAAG/mB,EAA4B5M,IAAUA,EAAQ0+D,UAAU1+D,EAAQuzB,EAAE3mB,GAAG,iBAAiBsoB,GAAGA,IAAIA,EAAEwpC,UAAUxpC,EAAEpB,EAAEP,GAAGA,EAAEvzB,UAAU4M,GAAGkoB,EAAEvB,EAAEghG,QAAQ/qH,EAAE,WAAW,IAAI,IAAI0rB,EAAE3B,GAAGA,EAAEnoB,SAASmoB,EAAEnoB,QAAQ,QAAQs0B,MAAM,OAAOxK,GAAGpB,GAAGA,EAAEkxB,SAASlxB,EAAEkxB,QAAQ,QAAQ,MAAM9vB,KAA3G,GAAmHj0B,EAAEsyB,EAAE/pB,IAAI1I,KAAKa,KAAKgyB,EAAE,EAAFA,CAAKuB,KAAK,SAASA,EAAEj0B,EAAE0yB,GAAG,cAAa,SAAUuB,GAAG,IAAIvB,EAAE,iBAAiBuB,GAAGA,GAAGA,EAAE/0B,SAASA,QAAQ+0B,EAAEj0B,EAAEsyB,EAAEI,IAAI7yB,KAAKa,KAAKgyB,EAAE,KAAK,SAASuB,EAAEj0B,EAAE0yB,GAAG,cAAa,SAAUuB,GAAG,IAAIJ,EAAEnB,EAAE,GAAG/mB,EAAE+mB,EAAE,GAAGJ,EAA4BvzB,IAAUA,EAAQ0+D,UAAU1+D,EAAQ8zB,EAAEP,GAAG,iBAAiB2B,GAAGA,IAAIA,EAAEwpC,UAAUxpC,EAAE1rB,EAAEsqB,GAAGA,EAAE9zB,UAAUuzB,EAAEuB,EAAEvB,EAAE4tB,YAAO,EAAO+lB,GAAG19D,EAAEA,EAAE0rC,cAAS,IAAStoC,EAAE2mB,EAAEtyB,EAAEsyB,EAAE2zC,IAAIpmE,KAAKa,KAAKgyB,EAAE,EAAFA,CAAKuB,KAAK,SAASA,EAAEj0B,GAAGi0B,EAAEl1B,QAAQ,SAASk1B,GAAG,IAAIA,EAAEs/F,gBAAgB,CAAC,IAAIvzH,EAAEd,OAAO29B,OAAO5I,GAAGj0B,EAAEoX,WAAWpX,EAAEoX,SAAS,IAAIlY,OAAO8e,eAAehe,EAAE,SAAS,CAAC6d,YAAW,EAAG6d,IAAI,WAAW,OAAO17B,EAAEqzB,KAAKn0B,OAAO8e,eAAehe,EAAE,KAAK,CAAC6d,YAAW,EAAG6d,IAAI,WAAW,OAAO17B,EAAEuI,KAAKrJ,OAAO8e,eAAehe,EAAE,UAAU,CAAC6d,YAAW,IAAK7d,EAAEuzH,gBAAgB,EAAE,OAAOvzH,IAAI,SAASi0B,EAAEj0B,EAAE0yB,GAAG,aAAa1yB,EAAEsyB,EAAE,WAAW,OAAM,IAAK,SAAS2B,EAAEj0B,EAAE0yB,GAAG,cAAa,SAAUuB,GAAG,IAAIJ,EAAEnB,EAAE,GAAG/mB,EAA4B5M,IAAUA,EAAQ0+D,UAAU1+D,EAAQuzB,EAAE3mB,GAAG,iBAAiBsoB,GAAGA,IAAIA,EAAEwpC,UAAUxpC,EAAEpB,EAAEP,GAAGA,EAAEvzB,UAAU4M,EAAEkoB,EAAEvB,EAAE4tB,YAAO,EAAO33C,EAAEsqB,EAAEA,EAAE6tB,iBAAY,EAAO1gD,EAAEsyB,EAAE,SAAS2B,EAAEj0B,GAAG,GAAGA,EAAE,OAAOi0B,EAAE5vB,QAAQ,IAAIquB,EAAEuB,EAAEjwB,OAAO6vB,EAAEtrB,EAAEA,EAAEmqB,GAAG,IAAIuB,EAAE5zB,YAAYqyB,GAAG,OAAOuB,EAAEqQ,KAAKzQ,GAAGA,KAAKh0B,KAAKa,KAAKgyB,EAAE,EAAFA,CAAKuB,KAAK,SAASA,GAAGA,EAAEl1B,QAAQg6B,KAAKmB,MAAM,qm8DAAqm8D,SAASjG,EAAEj0B,GAAG,IAAI0yB,EAAEA,EAAE,WAAW,OAAOhyB,KAAlB,GAA0B,IAAIgyB,EAAEA,GAAG,IAAIzmB,SAAS,cAAb,GAA8B,MAAMgoB,GAAG,iBAAiBN,SAASjB,EAAEiB,QAAQM,EAAEl1B,QAAQ2zB,GAAG,SAASuB,EAAEj0B,EAAE0yB,GAAG,aAAaA,EAAEA,EAAE1yB,GAAG0yB,EAAEM,EAAEhzB,EAAE,uBAAsB,WAAY,OAAOwzH,MAAM9gG,EAAEM,EAAEhzB,EAAE,cAAa,WAAY,OAAOyzH,MAAM/gG,EAAEM,EAAEhzB,EAAE,2BAA0B,WAAY,OAAO0zH,MAAMhhG,EAAEM,EAAEhzB,EAAE,kBAAiB,WAAY,OAAO2zH,MAAMjhG,EAAEM,EAAEhzB,EAAE,cAAa,WAAY,OAAO4zH,MAAMlhG,EAAEM,EAAEhzB,EAAE,cAAa,WAAY,OAAO6zH,MAAM,IAAIhgG,EAAEnB,EAAE,GAAG/mB,EAAE+mB,EAAEmB,EAAEA,GAAOvB,EAAE,WAAW5xB,KAAKozH,SAAS,GAAGpzH,KAAKof,KAAK,GAAO+S,EAAE,SAASoB,EAAEj0B,GAAG,OAAOi0B,IAAIj0B,GAAGi0B,GAAGA,GAAGj0B,GAAGA,GAAOuI,EAAE,SAAS0rB,EAAEj0B,GAAG,IAAI,IAAI0yB,EAAEuB,EAAEjwB,OAAO0uB,KAAK,GAAGG,EAAEoB,EAAEvB,GAAG,GAAG1yB,GAAG,OAAO0yB,EAAE,OAAO,GAAGuzC,EAAE7gE,MAAMjG,UAAUuY,OAAWob,EAAE,SAASmB,GAAG,IAAIj0B,EAAEU,KAAKozH,SAASphG,EAAEnqB,EAAEvI,EAAEi0B,GAAG,QAAQvB,EAAE,KAAKA,GAAG1yB,EAAEgE,OAAO,EAAEhE,EAAEohC,MAAM6kC,EAAEpmE,KAAKG,EAAE0yB,EAAE,KAAKhyB,KAAKof,MAAK,IAASuX,EAAE,SAASpD,GAAG,IAAIj0B,EAAEU,KAAKozH,SAASphG,EAAEnqB,EAAEvI,EAAEi0B,GAAG,OAAOvB,EAAE,OAAE,EAAO1yB,EAAE0yB,GAAG,IAAQW,EAAE,SAASY,GAAG,OAAO1rB,EAAE7H,KAAKozH,SAAS7/F,IAAI,GAAO8/F,EAAE,SAAS9/F,EAAEj0B,GAAG,IAAI0yB,EAAEhyB,KAAKozH,SAASjgG,EAAEtrB,EAAEmqB,EAAEuB,GAAG,OAAOJ,EAAE,KAAKnzB,KAAKof,KAAK4S,EAAEzuB,KAAK,CAACgwB,EAAEj0B,KAAK0yB,EAAEmB,GAAG,GAAG7zB,EAAEU,MAAM,SAAS2xB,EAAE4B,GAAG,IAAIj0B,GAAG,EAAE0yB,EAAE,MAAMuB,EAAE,EAAEA,EAAEjwB,OAAO,IAAItD,KAAKstB,UAAUhuB,EAAE0yB,GAAG,CAAC,IAAImB,EAAEI,EAAEj0B,GAAGU,KAAKmgD,IAAIhtB,EAAE,GAAGA,EAAE,KAAKxB,EAAElzB,UAAU6uB,MAAMsE,EAAED,EAAElzB,UAAUyiC,OAAO9O,EAAET,EAAElzB,UAAUu8B,IAAIrE,EAAEhF,EAAElzB,UAAU26D,IAAIzmC,EAAEhB,EAAElzB,UAAU0hD,IAAIkzE,EAAE,IAAmuBt3B,EAA/tBlqE,EAAEF,EAAMukC,EAAE,WAAWl2D,KAAKozH,SAAS,IAAIvhG,EAAE7xB,KAAKof,KAAK,GAAO8S,EAAE,SAASqB,GAAG,IAAIj0B,EAAEU,KAAKozH,SAASphG,EAAE1yB,EAAE4hC,OAAO3N,GAAG,OAAOvzB,KAAKof,KAAK9f,EAAE8f,KAAK4S,GAAOtY,EAAE,SAAS6Z,GAAG,OAAOvzB,KAAKozH,SAASp4F,IAAIzH,IAAQjB,EAAE,SAASiB,GAAG,OAAOvzB,KAAKozH,SAASh6D,IAAI7lC,IAAIyrB,EAAEhtB,EAAE,GAAGO,EAAEysB,EAAEptB,EAAEtzB,OAAO67F,EAAE37F,OAAOC,UAAU60H,EAAEn5B,EAAEz7F,eAAekhG,EAAEzF,EAAEv7F,SAAS40C,EAAEjhB,EAAEA,EAAEzzB,iBAAY,EAAW4yB,EAAE,SAAS6B,GAAG,IAAIj0B,EAAEg0H,EAAEn0H,KAAKo0B,EAAEigB,GAAGxhB,EAAEuB,EAAEigB,GAAG,IAAIjgB,EAAEigB,QAAG,EAAO,IAAIrgB,GAAE,EAAG,MAAMI,IAAI,IAAItoB,EAAE20F,EAAEzgG,KAAKo0B,GAAG,OAAOJ,IAAI7zB,EAAEi0B,EAAEigB,GAAGxhB,SAASuB,EAAEigB,IAAIvoC,GAAGwuF,EAAEj7F,OAAOC,UAAUG,SAAai7F,EAAE,SAAStmE,GAAG,OAAOkmE,EAAEt6F,KAAKo0B,IAAIggG,EAAEhhG,EAAEA,EAAEzzB,iBAAY,EAAW43B,EAAE,SAASnD,GAAG,OAAO,MAAMA,OAAE,IAASA,EAAE,qBAAqB,gBAAgBggG,GAAGA,KAAK/0H,OAAO+0B,GAAG7B,EAAE6B,GAAGsmE,EAAEtmE,IAAQigG,EAAE,SAASjgG,GAAG,IAAIj0B,SAASi0B,EAAE,OAAO,MAAMA,IAAI,UAAUj0B,GAAG,YAAYA,IAAUm0H,EAAE,SAASlgG,GAAG,IAAIigG,EAAEjgG,GAAG,OAAM,EAAG,IAAIj0B,EAAEo3B,EAAEnD,GAAG,MAAM,qBAAqBj0B,GAAG,8BAA8BA,GAAG,0BAA0BA,GAAG,kBAAkBA,GAAG2/F,EAAEjgD,EAAEptB,EAAE,sBAAsB8hG,GAAG33B,EAAE,SAASnB,KAAKqE,GAAGA,EAAE/zF,MAAM+zF,EAAE/zF,KAAKuxF,UAAU,KAAK,iBAAiBV,EAAE,GAAOjpE,EAAE,SAASS,GAAG,QAAQmgG,GAAGA,KAAKngG,GAAGogG,EAAEpoH,SAAS9M,UAAUG,SAAao9F,EAAE,SAASzoE,GAAG,GAAG,MAAMA,EAAE,CAAC,IAAI,OAAOogG,EAAEx0H,KAAKo0B,GAAG,MAAMA,IAAI,IAAI,OAAOA,EAAE,GAAG,MAAMA,KAAK,MAAM,IAAIqgG,EAAE,8BAA8BvhD,EAAE9mE,SAAS9M,UAAUo1H,EAAEr1H,OAAOC,UAAUq1H,EAAEzhD,EAAEzzE,SAASugG,EAAE00B,EAAEn1H,eAAewgG,EAAEt/C,OAAO,IAAIk0E,EAAE30H,KAAKggG,GAAGprD,QAAQ,sBAAsB,QAAQA,QAAQ,yDAAyD,SAAS,KAASggF,EAAE,SAASxgG,GAAG,SAASigG,EAAEjgG,IAAIT,EAAES,MAAMkgG,EAAElgG,GAAG2rE,EAAE00B,GAAG3xE,KAAK+5C,EAAEzoE,KAASD,EAAE,SAASC,EAAEj0B,GAAG,OAAO,MAAMi0B,OAAE,EAAOA,EAAEj0B,IAAQs/F,EAAE,SAASrrE,EAAEj0B,GAAG,IAAI0yB,EAAEsB,EAAEC,EAAEj0B,GAAG,OAAOy0H,EAAE/hG,GAAGA,OAAE,GAAQgiG,EAAEp1B,EAAE5/C,EAAEptB,EAAE,OAAOqiG,EAAEr1B,EAAEpgG,OAAO,UAAcqhG,EAAE,WAAW7/F,KAAKozH,SAASa,EAAEA,EAAE,MAAM,GAAGj0H,KAAKof,KAAK,GAAO80G,EAAE,SAAS3gG,GAAG,IAAIj0B,EAAEU,KAAKo5D,IAAI7lC,WAAWvzB,KAAKozH,SAAS7/F,GAAG,OAAOvzB,KAAKof,MAAM9f,EAAE,EAAE,EAAEA,GAAG60H,EAAE31H,OAAOC,UAAUC,eAAmB01H,EAAE,SAAS7gG,GAAG,IAAIj0B,EAAEU,KAAKozH,SAAS,GAAGa,EAAE,CAAC,IAAIjiG,EAAE1yB,EAAEi0B,GAAG,MAAM,8BAA8BvB,OAAE,EAAOA,EAAE,OAAOmiG,EAAEh1H,KAAKG,EAAEi0B,GAAGj0B,EAAEi0B,QAAG,GAAQ8gG,EAAE71H,OAAOC,UAAUC,eAAmB41H,GAAG,SAAS/gG,GAAG,IAAIj0B,EAAEU,KAAKozH,SAAS,OAAOa,OAAE,IAAS30H,EAAEi0B,GAAG8gG,EAAEl1H,KAAKG,EAAEi0B,IAAQghG,GAAG,SAAShhG,EAAEj0B,GAAG,IAAI0yB,EAAEhyB,KAAKozH,SAAS,OAAOpzH,KAAKof,MAAMpf,KAAKo5D,IAAI7lC,GAAG,EAAE,EAAEvB,EAAEuB,GAAG0gG,QAAG,IAAS30H,EAAE,4BAA4BA,EAAEU,MAAM,SAASu6B,GAAGhH,GAAG,IAAIj0B,GAAG,EAAE0yB,EAAE,MAAMuB,EAAE,EAAEA,EAAEjwB,OAAO,IAAItD,KAAKstB,UAAUhuB,EAAE0yB,GAAG,CAAC,IAAImB,EAAEI,EAAEj0B,GAAGU,KAAKmgD,IAAIhtB,EAAE,GAAGA,EAAE,KAAKoH,GAAG97B,UAAU6uB,MAAMuyE,EAAEtlE,GAAG97B,UAAUyiC,OAAOgzF,EAAE35F,GAAG97B,UAAUu8B,IAAIo5F,EAAE75F,GAAG97B,UAAU26D,IAAIk7D,GAAG/5F,GAAG97B,UAAU0hD,IAAIo0E,GAAG,IAAIC,GAAGj6F,GAAOk6F,GAAG,WAAWz0H,KAAKof,KAAK,EAAEpf,KAAKozH,SAAS,CAACsB,KAAK,IAAIF,GAAG7pH,IAAI,IAAIqpH,GAAGniG,GAAG29D,OAAO,IAAIglC,KAAS56B,GAAG,SAASrmE,GAAG,IAAIj0B,SAASi0B,EAAE,MAAM,UAAUj0B,GAAG,UAAUA,GAAG,UAAUA,GAAG,WAAWA,EAAE,cAAci0B,EAAE,OAAOA,GAAOohG,GAAG,SAASphG,EAAEj0B,GAAG,IAAI0yB,EAAEuB,EAAE6/F,SAAS,OAAOx5B,GAAGt6F,GAAG0yB,EAAE,iBAAiB1yB,EAAE,SAAS,QAAQ0yB,EAAErnB,KAAS6rB,GAAG,SAASjD,GAAG,IAAIj0B,EAAEq1H,GAAG30H,KAAKuzB,GAAG2N,OAAO3N,GAAG,OAAOvzB,KAAKof,MAAM9f,EAAE,EAAE,EAAEA,GAAOs1H,GAAG,SAASrhG,GAAG,OAAOohG,GAAG30H,KAAKuzB,GAAGyH,IAAIzH,IAAQshG,GAAG,SAASthG,GAAG,OAAOohG,GAAG30H,KAAKuzB,GAAG6lC,IAAI7lC,IAAQuhG,GAAG,SAASvhG,EAAEj0B,GAAG,IAAI0yB,EAAE2iG,GAAG30H,KAAKuzB,GAAGJ,EAAEnB,EAAE5S,KAAK,OAAO4S,EAAEmuB,IAAI5sB,EAAEj0B,GAAGU,KAAKof,MAAM4S,EAAE5S,MAAM+T,EAAE,EAAE,EAAEnzB,MAAM,SAAS+8F,GAAGxpE,GAAG,IAAIj0B,GAAG,EAAE0yB,EAAE,MAAMuB,EAAE,EAAEA,EAAEjwB,OAAO,IAAItD,KAAKstB,UAAUhuB,EAAE0yB,GAAG,CAAC,IAAImB,EAAEI,EAAEj0B,GAAGU,KAAKmgD,IAAIhtB,EAAE,GAAGA,EAAE,KAAK4pE,GAAGt+F,UAAU6uB,MAAMmnG,GAAG13B,GAAGt+F,UAAUyiC,OAAO1K,GAAGumE,GAAGt+F,UAAUu8B,IAAI45F,GAAG73B,GAAGt+F,UAAU26D,IAAIy7D,GAAG93B,GAAGt+F,UAAU0hD,IAAI20E,GAAG,IAAIC,GAAGh4B,GAAOi4B,GAAG,SAASzhG,EAAEj0B,GAAG,IAAI0yB,EAAEhyB,KAAKozH,SAAS,GAAGphG,aAAaH,EAAE,CAAC,IAAIsB,EAAEnB,EAAEohG,SAAS,IAAIY,GAAG7gG,EAAE7vB,OAAO,IAAI,OAAO6vB,EAAE5vB,KAAK,CAACgwB,EAAEj0B,IAAIU,KAAKof,OAAO4S,EAAE5S,KAAKpf,KAAKgyB,EAAEhyB,KAAKozH,SAAS,IAAI2B,GAAG5hG,GAAG,OAAOnB,EAAEmuB,IAAI5sB,EAAEj0B,GAAGU,KAAKof,KAAK4S,EAAE5S,KAAKpf,MAAM,SAASi1H,GAAG1hG,GAAG,IAAIj0B,EAAEU,KAAKozH,SAAS,IAAIvhG,EAAE0B,GAAGvzB,KAAKof,KAAK9f,EAAE8f,KAAK61G,GAAGx2H,UAAU6uB,MAAM4oC,EAAE++D,GAAGx2H,UAAUyiC,OAAOhP,EAAE+iG,GAAGx2H,UAAUu8B,IAAIthB,EAAEu7G,GAAGx2H,UAAU26D,IAAI9mC,EAAE2iG,GAAGx2H,UAAU0hD,IAAI60E,GAAG,IAAIE,GAAGD,GAAOE,GAAG,SAAS5hG,EAAEj0B,GAAG,IAAI,IAAI0yB,GAAG,EAAEmB,EAAE,MAAMI,EAAE,EAAEA,EAAEjwB,SAAS0uB,EAAEmB,IAAG,IAAK7zB,EAAEi0B,EAAEvB,GAAGA,EAAEuB,KAAK,OAAOA,GAAG6hG,GAAG,WAAW,IAAI,IAAI7hG,EAAEqrE,EAAEpgG,OAAO,kBAAkB,OAAO+0B,EAAE,GAAG,GAAG,IAAIA,EAAE,MAAMA,KAA3E,GAAuF8hG,GAAG,SAAS9hG,EAAEj0B,EAAE0yB,GAAG,aAAa1yB,GAAG81H,GAAGA,GAAG7hG,EAAEj0B,EAAE,CAAC8d,cAAa,EAAGD,YAAW,EAAGle,MAAM+yB,EAAE3U,UAAS,IAAKkW,EAAEj0B,GAAG0yB,GAAGm1C,GAAG3oE,OAAOC,UAAUC,eAAmBs+F,GAAG,SAASzpE,EAAEj0B,EAAE0yB,GAAG,IAAImB,EAAEI,EAAEj0B,GAAG6nE,GAAGhoE,KAAKo0B,EAAEj0B,IAAI6yB,EAAEgB,EAAEnB,UAAK,IAASA,GAAG1yB,KAAKi0B,IAAI8hG,GAAG9hG,EAAEj0B,EAAE0yB,IAAQsjG,GAAG,SAAS/hG,EAAEj0B,EAAE0yB,EAAEmB,GAAG,IAAIloB,GAAG+mB,EAAEA,IAAIA,EAAE,IAAI,IAAI,IAAIJ,GAAG,EAAEO,EAAE7yB,EAAEgE,SAASsuB,EAAEO,GAAG,CAAC,IAAItqB,EAAEvI,EAAEsyB,GAAG2zC,EAAEpyC,EAAEA,EAAEnB,EAAEnqB,GAAG0rB,EAAE1rB,GAAGA,EAAEmqB,EAAEuB,QAAG,OAAO,IAASgyC,IAAIA,EAAEhyC,EAAE1rB,IAAIoD,EAAEoqH,GAAGrjG,EAAEnqB,EAAE09D,GAAGy3B,GAAGhrE,EAAEnqB,EAAE09D,GAAG,OAAOvzC,GAAOujG,GAAG,SAAShiG,EAAEj0B,GAAG,IAAI,IAAI0yB,GAAG,EAAEmB,EAAEzuB,MAAM6uB,KAAKvB,EAAEuB,GAAGJ,EAAEnB,GAAG1yB,EAAE0yB,GAAG,OAAOmB,GAAOqiG,GAAG,SAASjiG,GAAG,OAAO,MAAMA,GAAG,iBAAiBA,GAAOkiG,GAAG,SAASliG,GAAG,OAAOiiG,GAAGjiG,IAAI,sBAAsBmD,EAAEnD,IAAImiG,GAAGl3H,OAAOC,UAAUk3H,GAAGD,GAAGh3H,eAAek3H,GAAGF,GAAGv8D,qBAAqB08D,GAAGJ,GAAG,WAAW,OAAOhvH,UAAlB,IAAgCgvH,GAAG,SAASliG,GAAG,OAAOiiG,GAAGjiG,IAAIoiG,GAAGx2H,KAAKo0B,EAAE,YAAYqiG,GAAGz2H,KAAKo0B,EAAE,WAAWuiG,GAAGpxH,MAAM2E,QAAQ0sH,GAAG/jG,EAAE,GAAGgkG,GAAG,mBAAuBC,GAAG,SAAS1iG,EAAEj0B,GAAG,IAAI0yB,SAASuB,EAAE,SAASj0B,EAAE,MAAMA,EAAE,iBAAiBA,KAAK,UAAU0yB,GAAG,UAAUA,GAAGgkG,GAAG/zE,KAAK1uB,KAAKA,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAEj0B,GAAO42H,GAAG,SAAS3iG,GAAG,MAAM,iBAAiBA,GAAGA,GAAG,GAAGA,EAAE,GAAG,GAAGA,GAAG,kBAAkB4iG,GAAG,GAAGA,GAAG,yBAAyBA,GAAG,yBAAyBA,GAAG,sBAAsBA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,8BAA8BA,GAAG,wBAAwBA,GAAG,yBAAwB,EAAGA,GAAG,sBAAsBA,GAAG,kBAAkBA,GAAG,wBAAwBA,GAAG,oBAAoBA,GAAG,qBAAqBA,GAAG,iBAAiBA,GAAG,kBAAkBA,GAAG,qBAAqBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,qBAAoB,EAAG,IAAIC,GAAG,SAAS7iG,GAAG,OAAOiiG,GAAGjiG,IAAI2iG,GAAG3iG,EAAEjwB,WAAW6yH,GAAGz/F,EAAEnD,KAAS8iG,GAAG,SAAS9iG,GAAG,OAAO,SAASj0B,GAAG,OAAOi0B,EAAEj0B,KAAKg3H,GAAGtkG,EAAE,GAAGukG,GAAGD,GAAG1kG,GAAG0kG,GAAG1kG,EAAE4kG,aAAaC,GAAGF,GAAGF,GAAGE,IAAIH,GAAGM,GAAGl4H,OAAOC,UAAUC,eAAmBi4H,GAAG,SAASpjG,EAAEj0B,GAAG,IAAI0yB,EAAE8jG,GAAGviG,GAAGJ,GAAGnB,GAAG6jG,GAAGtiG,GAAGtoB,GAAG+mB,IAAImB,GAAG30B,OAAOu3H,GAAGnkG,EAAVpzB,CAAa+0B,GAAG3B,GAAGI,IAAImB,IAAIloB,GAAGwrH,GAAGljG,GAAGpB,EAAEH,GAAGmB,GAAGloB,GAAG2mB,EAAE/pB,EAAEsqB,EAAEojG,GAAGhiG,EAAEjwB,OAAOy8B,QAAQ,GAAGwlC,EAAE19D,EAAEvE,OAAO,IAAI,IAAI8uB,KAAKmB,GAAGj0B,IAAIo3H,GAAGv3H,KAAKo0B,EAAEnB,IAAID,IAAI,UAAUC,GAAGnnB,IAAI,UAAUmnB,GAAG,UAAUA,IAAIR,IAAI,UAAUQ,GAAG,cAAcA,GAAG,cAAcA,IAAI6jG,GAAG7jG,EAAEmzC,KAAK19D,EAAEtE,KAAK6uB,GAAG,OAAOvqB,GAAG+uH,GAAGp4H,OAAOC,UAAco4H,GAAG,SAAStjG,GAAG,IAAIj0B,EAAEi0B,GAAGA,EAAE5zB,YAAY,OAAO4zB,KAAK,mBAAmBj0B,GAAGA,EAAEb,WAAWm4H,KAASE,GAAG,SAASvjG,EAAEj0B,GAAG,OAAO,SAAS0yB,GAAG,OAAOuB,EAAEj0B,EAAE0yB,MAAM+kG,GAAGD,GAAGt4H,OAAO0M,KAAK1M,QAAQw4H,GAAGx4H,OAAOC,UAAUC,eAAmBu4H,GAAG,SAAS1jG,GAAG,IAAIsjG,GAAGtjG,GAAG,OAAOwjG,GAAGxjG,GAAG,IAAIj0B,EAAE,GAAG,IAAI,IAAI0yB,KAAKxzB,OAAO+0B,GAAGyjG,GAAG73H,KAAKo0B,EAAEvB,IAAI,eAAeA,GAAG1yB,EAAEiE,KAAKyuB,GAAG,OAAO1yB,GAAO43H,GAAG,SAAS3jG,GAAG,OAAO,MAAMA,GAAG2iG,GAAG3iG,EAAEjwB,UAAUmwH,EAAElgG,IAAQ4jG,GAAG,SAAS5jG,GAAG,OAAO2jG,GAAG3jG,GAAGojG,GAAGpjG,GAAG0jG,GAAG1jG,IAAQ6jG,GAAG,SAAS7jG,EAAEj0B,GAAG,OAAOi0B,GAAG+hG,GAAGh2H,EAAE63H,GAAG73H,GAAGi0B,IAAQ8jG,GAAG,SAAS9jG,GAAG,IAAIj0B,EAAE,GAAG,GAAG,MAAMi0B,EAAE,IAAI,IAAIvB,KAAKxzB,OAAO+0B,GAAGj0B,EAAEiE,KAAKyuB,GAAG,OAAO1yB,GAAGg4H,GAAG94H,OAAOC,UAAUC,eAAmB64H,GAAG,SAAShkG,GAAG,IAAIigG,EAAEjgG,GAAG,OAAO8jG,GAAG9jG,GAAG,IAAIj0B,EAAEu3H,GAAGtjG,GAAGvB,EAAE,GAAG,IAAI,IAAImB,KAAKI,GAAG,eAAeJ,IAAI7zB,GAAGg4H,GAAGn4H,KAAKo0B,EAAEJ,KAAKnB,EAAEzuB,KAAK4vB,GAAG,OAAOnB,GAAOwlG,GAAG,SAASjkG,GAAG,OAAO2jG,GAAG3jG,GAAGojG,GAAGpjG,GAAE,GAAIgkG,GAAGhkG,IAAQsmC,GAAG,SAAStmC,EAAEj0B,GAAG,OAAOi0B,GAAG+hG,GAAGh2H,EAAEk4H,GAAGl4H,GAAGi0B,IAAIqtB,GAAG5uB,EAAE,GAAOylG,GAAG,SAASlkG,EAAEj0B,GAAG,IAAI0yB,GAAG,EAAEmB,EAAEI,EAAEjwB,OAAO,IAAIhE,IAAIA,EAAEoF,MAAMyuB,MAAMnB,EAAEmB,GAAG7zB,EAAE0yB,GAAGuB,EAAEvB,GAAG,OAAO1yB,GAAOo4H,GAAG,SAASnkG,EAAEj0B,GAAG,IAAI,IAAI0yB,GAAG,EAAEmB,EAAE,MAAMI,EAAE,EAAEA,EAAEjwB,OAAO2H,EAAE,EAAE2mB,EAAE,KAAKI,EAAEmB,GAAG,CAAC,IAAIhB,EAAEoB,EAAEvB,GAAG1yB,EAAE6yB,EAAEH,EAAEuB,KAAK3B,EAAE3mB,KAAKknB,GAAG,OAAOP,GAAO+lG,GAAG,WAAW,MAAM,IAAIC,GAAGp5H,OAAOC,UAAU06D,qBAAqB0+D,GAAGr5H,OAAO6hD,sBAAsBy3E,GAAGD,GAAG,SAAStkG,GAAG,OAAO,MAAMA,EAAE,IAAIA,EAAE/0B,OAAO+0B,GAAGmkG,GAAGG,GAAGtkG,IAAG,SAAUj0B,GAAG,OAAOs4H,GAAGz4H,KAAKo0B,EAAEj0B,QAAQq4H,GAAOI,GAAG,SAASxkG,EAAEj0B,GAAG,OAAOg2H,GAAG/hG,EAAEukG,GAAGvkG,GAAGj0B,IAAQ04H,GAAG,SAASzkG,EAAEj0B,GAAG,IAAI,IAAI0yB,GAAG,EAAEmB,EAAE7zB,EAAEgE,OAAO2H,EAAEsoB,EAAEjwB,SAAS0uB,EAAEmB,GAAGI,EAAEtoB,EAAE+mB,GAAG1yB,EAAE0yB,GAAG,OAAOuB,GAAG0kG,GAAGnB,GAAGt4H,OAAO8lC,eAAe9lC,QAAQ05H,GAAG15H,OAAO6hD,sBAAsB,SAAS9sB,GAAG,IAAI,IAAIj0B,EAAE,GAAGi0B,GAAGykG,GAAG14H,EAAEw4H,GAAGvkG,IAAIA,EAAE0kG,GAAG1kG,GAAG,OAAOj0B,GAAGq4H,GAAOQ,GAAG,SAAS5kG,EAAEj0B,GAAG,OAAOg2H,GAAG/hG,EAAE2kG,GAAG3kG,GAAGj0B,IAAQ84H,GAAG,SAAS7kG,EAAEj0B,EAAE0yB,GAAG,IAAImB,EAAE7zB,EAAEi0B,GAAG,OAAOuiG,GAAGviG,GAAGJ,EAAE6kG,GAAG7kG,EAAEnB,EAAEuB,KAAS8kG,GAAG,SAAS9kG,GAAG,OAAO6kG,GAAG7kG,EAAE4jG,GAAGW,KAASQ,GAAG,SAAS/kG,GAAG,OAAO6kG,GAAG7kG,EAAEikG,GAAGU,KAAKK,GAAG35B,EAAE5/C,EAAEptB,EAAE,YAAY4mG,GAAG55B,EAAE5/C,EAAEptB,EAAE,WAAWvwB,GAAGu9F,EAAE5/C,EAAEptB,EAAE,OAAO6mG,GAAG75B,EAAE5/C,EAAEptB,EAAE,WAAW8mG,GAAG18B,EAAEu8B,IAAII,GAAG38B,EAAEg4B,GAAG4E,GAAG58B,EAAEw8B,IAAIK,GAAG78B,EAAE36F,IAAIy3H,GAAG98B,EAAEy8B,IAAIM,GAAGriG,GAAG6hG,IAAI,qBAAqBQ,GAAG,IAAIR,GAAG,IAAItpC,YAAY,MAAM+kC,GAAG,gBAAgB+E,GAAG,IAAI/E,IAAIwE,IAAI,oBAAoBO,GAAGP,GAAG9yH,YAAYrE,IAAI,gBAAgB03H,GAAG,IAAI13H,KAAKo3H,IAAI,oBAAoBM,GAAG,IAAIN,OAAOM,GAAG,SAASxlG,GAAG,IAAIj0B,EAAEo3B,EAAEnD,GAAGvB,EAAE,mBAAmB1yB,EAAEi0B,EAAE5zB,iBAAY,EAAOwzB,EAAEnB,EAAEgqE,EAAEhqE,GAAG,GAAG,GAAGmB,EAAE,OAAOA,GAAG,KAAKulG,GAAG,MAAM,oBAAoB,KAAKC,GAAG,MAAM,eAAe,KAAKC,GAAG,MAAM,mBAAmB,KAAKC,GAAG,MAAM,eAAe,KAAKC,GAAG,MAAM,mBAAmB,OAAOx5H,IAAI,IAAI05H,GAAGD,GAAGE,GAAGz6H,OAAOC,UAAUC,eAAmBw6H,GAAG,SAAS3lG,GAAG,IAAIj0B,EAAEi0B,EAAEjwB,OAAO0uB,EAAE,IAAIuB,EAAE5zB,YAAYL,GAAG,OAAOA,GAAG,iBAAiBi0B,EAAE,IAAI0lG,GAAG95H,KAAKo0B,EAAE,WAAWvB,EAAEtxB,MAAM6yB,EAAE7yB,MAAMsxB,EAAEgM,MAAMzK,EAAEyK,OAAOhM,GAAGmnG,GAAGn6E,EAAEptB,EAAEjqB,WAAeyxH,GAAG,SAAS7lG,GAAG,IAAIj0B,EAAE,IAAIi0B,EAAE5zB,YAAY4zB,EAAElsB,YAAY,OAAO,IAAI8xH,GAAG75H,GAAG6gD,IAAI,IAAIg5E,GAAG5lG,IAAIj0B,GAAO+5H,GAAG,SAAS9lG,EAAEj0B,GAAG,IAAI0yB,EAAE1yB,EAAE85H,GAAG7lG,EAAEmG,QAAQnG,EAAEmG,OAAO,OAAO,IAAInG,EAAE5zB,YAAYqyB,EAAEuB,EAAEo8D,WAAWp8D,EAAElsB,aAAaiyH,GAAG,OAAWC,GAAG,SAAShmG,GAAG,IAAIj0B,EAAE,IAAIi0B,EAAE5zB,YAAY4zB,EAAEwW,OAAOuvF,GAAG1+B,KAAKrnE,IAAI,OAAOj0B,EAAEwgD,UAAUvsB,EAAEusB,UAAUxgD,GAAGk6H,GAAGjnG,EAAEA,EAAE9zB,eAAU,EAAOg7H,GAAGD,GAAGA,GAAGlrC,aAAQ,EAAWorC,GAAG,SAASnmG,GAAG,OAAOkmG,GAAGj7H,OAAOi7H,GAAGt6H,KAAKo0B,IAAI,IAAQomG,GAAG,SAASpmG,EAAEj0B,GAAG,IAAI0yB,EAAE1yB,EAAE85H,GAAG7lG,EAAEmG,QAAQnG,EAAEmG,OAAO,OAAO,IAAInG,EAAE5zB,YAAYqyB,EAAEuB,EAAEo8D,WAAWp8D,EAAEjwB,SAAas2H,GAAG,SAASrmG,EAAEj0B,EAAE0yB,GAAG,IAAImB,EAAEI,EAAE5zB,YAAY,OAAOL,GAAG,IAAI,uBAAuB,OAAO85H,GAAG7lG,GAAG,IAAI,mBAAmB,IAAI,gBAAgB,OAAO,IAAIJ,GAAGI,GAAG,IAAI,oBAAoB,OAAO8lG,GAAG9lG,EAAEvB,GAAG,IAAI,wBAAwB,IAAI,wBAAwB,IAAI,qBAAqB,IAAI,sBAAsB,IAAI,sBAAsB,IAAI,sBAAsB,IAAI,6BAA6B,IAAI,uBAAuB,IAAI,uBAAuB,OAAO2nG,GAAGpmG,EAAEvB,GAAG,IAAI,eAAe,OAAO,IAAImB,EAAE,IAAI,kBAAkB,IAAI,kBAAkB,OAAO,IAAIA,EAAEI,GAAG,IAAI,kBAAkB,OAAOgmG,GAAGhmG,GAAG,IAAI,eAAe,OAAO,IAAIJ,EAAE,IAAI,kBAAkB,OAAOumG,GAAGnmG,KAAKsmG,GAAGr7H,OAAO29B,OAAO29F,GAAG,WAAW,SAASvmG,KAAK,OAAO,SAASj0B,GAAG,IAAIk0H,EAAEl0H,GAAG,MAAM,GAAG,GAAGu6H,GAAG,OAAOA,GAAGv6H,GAAGi0B,EAAE90B,UAAUa,EAAE,IAAI0yB,EAAE,IAAIuB,EAAE,OAAOA,EAAE90B,eAAU,EAAOuzB,GAArI,GAA+I+nG,GAAG,SAASxmG,GAAG,MAAM,mBAAmBA,EAAE5zB,aAAak3H,GAAGtjG,GAAG,GAAGumG,GAAG7B,GAAG1kG,KAASymG,GAAG,SAASzmG,GAAG,OAAOiiG,GAAGjiG,IAAI,gBAAgBylG,GAAGzlG,IAAI0mG,GAAG3D,GAAG1kG,GAAG0kG,GAAG1kG,EAAEsoG,MAAMC,GAAGF,GAAG5D,GAAG4D,IAAID,GAAOI,GAAG,SAAS7mG,GAAG,OAAOiiG,GAAGjiG,IAAI,gBAAgBylG,GAAGzlG,IAAI8mG,GAAG/D,GAAG1kG,GAAG0kG,GAAG1kG,EAAE0oG,MAAMC,GAAGF,GAAGhE,GAAGgE,IAAID,GAAGI,GAAG,GAAGA,GAAG,sBAAsBA,GAAG,kBAAkBA,GAAG,wBAAwBA,GAAG,qBAAqBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,yBAAyBA,GAAG,yBAAyBA,GAAG,sBAAsBA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,uBAAuBA,GAAG,8BAA8BA,GAAG,wBAAwBA,GAAG,yBAAwB,EAAGA,GAAG,kBAAkBA,GAAG,qBAAqBA,GAAG,qBAAoB,EAAG,IAAIC,GAAG,SAASlnG,EAAEj0B,EAAE0yB,EAAEmB,EAAEloB,EAAE2mB,EAAEO,GAAG,IAAItqB,EAAE09D,EAAE,EAAEvzC,EAAEI,EAAE,EAAEJ,EAAE2E,EAAE,EAAE3E,EAAE,GAAGmB,IAAItrB,EAAE+pB,EAAEuB,EAAE7zB,EAAE2L,EAAE2mB,EAAEO,GAAGgB,EAAE7zB,SAAI,IAASuI,EAAE,OAAOA,EAAE,IAAI2rH,EAAEl0H,GAAG,OAAOA,EAAE,IAAIqzB,EAAEmjG,GAAGx2H,GAAG,GAAGqzB,GAAG,GAAG9qB,EAAEqxH,GAAG55H,IAAIimE,EAAE,OAAOkyD,GAAGn4H,EAAEuI,OAAO,CAAC,IAAIwrH,EAAE2F,GAAG15H,GAAGqyB,EAAE,qBAAqB0hG,GAAG,8BAA8BA,EAAE,GAAG70H,OAAOu3H,GAAGnkG,EAAVpzB,CAAac,GAAG,OAAOd,OAAOoiD,GAAGhvB,EAAVpzB,CAAac,EAAEimE,GAAG,GAAG,mBAAmB8tD,GAAG,sBAAsBA,GAAG1hG,IAAIC,GAAG,GAAG/pB,EAAEuqB,GAAGT,EAAE,GAAGooG,GAAGz6H,IAAIimE,EAAE,OAAOnzC,EAAE+lG,GAAG74H,EAAEu6D,GAAGhyD,EAAEvI,IAAIy4H,GAAGz4H,EAAE83H,GAAGvvH,EAAEvI,QAAQ,CAAC,IAAIk7H,GAAGnH,GAAG,OAAOzhG,EAAEtyB,EAAE,GAAGuI,EAAE+xH,GAAGt6H,EAAE+zH,EAAE9tD,IAAIpzC,IAAIA,EAAE,IAAI+iG,IAAI,IAAIrjG,EAAEM,EAAE6I,IAAI17B,GAAG,GAAGuyB,EAAE,OAAOA,EAAEM,EAAEguB,IAAI7gD,EAAEuI,GAAG0yH,GAAGj7H,GAAGA,EAAEqU,SAAQ,SAAU1I,GAAGpD,EAAE+gC,IAAIrV,EAAEtoB,EAAE+mB,EAAEmB,EAAEloB,EAAE3L,EAAE6yB,OAAOgoG,GAAG76H,IAAIA,EAAEqU,SAAQ,SAAU1I,EAAE2mB,GAAG/pB,EAAEs4C,IAAIvuB,EAAE2B,EAAEtoB,EAAE+mB,EAAEmB,EAAEvB,EAAEtyB,EAAE6yB,OAAO,IAAI+jC,EAAEv/B,EAAEvE,EAAEkmG,GAAGD,GAAGjmG,EAAEsoG,OAAOvD,GAAGjlG,EAAES,OAAE,EAAOujC,EAAE52D,GAAG,OAAO61H,GAAGjjG,GAAG5yB,GAAE,SAAU2L,EAAE2mB,GAAGM,IAAIjnB,EAAE3L,EAAEsyB,EAAE3mB,IAAI+xF,GAAGn1F,EAAE+pB,EAAE2B,EAAEtoB,EAAE+mB,EAAEmB,EAAEvB,EAAEtyB,EAAE6yB,OAAOtqB,GAAO8yH,GAAG,SAASpnG,GAAG,OAAOknG,GAAGlnG,EAAE,IAAI2/F,GAAG,GAAGC,GAAG,GAAGyH,GAAG3vH,EAAE2mB,EAAE,IAAImhG,GAAG,GAAGD,GAAG,GAAG,IAAI,IAAI+H,MAAM3H,GAAG,IAAI,KAAK0H,GAAG7H,GAAGxvH,KAAK,CAACtE,MAAM47H,GAAGpkH,MAAMmkH,GAAGC,MAAM3H,GAAG2H,IAAID,GAAGC,IAAI1H,GAAGyH,GAAGC,KAAK,CAACjzH,KAAKizH,IAAI1H,GAAGyH,GAAGC,KAAK,MAAM,CAACjzH,KAAK,IAAI,IAAI,IAAIkzH,GAAG,EAAEC,GAAGhI,GAAGzvH,OAAOw3H,GAAGC,GAAGD,KAAK,CAAC,IAAIE,GAAGjI,GAAG+H,IAAI77H,MAAMg8H,GAAGlI,GAAG+H,IAAIrkH,MAAMykH,GAAG,GAAG,IAAI,IAAIC,MAAMlwH,EAAE2mB,EAAEopG,IAAIE,GAAG33H,KAAK,CAACtE,MAAMk8H,GAAG1kH,MAAMxL,EAAE2mB,EAAEopG,IAAIG,MAAMjI,GAAGiI,IAAIlwH,EAAE2mB,EAAEopG,IAAIG,IAAIhI,GAAG8H,IAAIhwH,EAAE2mB,EAAEopG,IAAIG,KAAK,CAACvzH,KAAKuzH,IAAIhI,GAAG8H,IAAIhwH,EAAE2mB,EAAEopG,IAAIG,KAAK,MAAM,CAACvzH,KAAK,IAAIszH,GAAG53H,SAASyvH,GAAG+H,IAAIpkH,SAASwkH,IAAIpI,GAAG6H,GAAG5H,IAAI,IAAI,IAAIqI,GAAG,EAAEC,GAAGtI,GAAGzvH,OAAO83H,GAAGC,GAAGD,KAAK,CAAC,IAAIE,GAAGvI,GAAGqI,IAAI1kH,SAAS6kH,GAAGxI,GAAGqI,IAAI3kH,MAAM,GAAG6kH,GAAG,IAAI,IAAIE,GAAG,EAAEC,GAAGH,GAAGh4H,OAAOk4H,GAAGC,GAAGD,KAAK,CAAC,IAAIE,GAAGJ,GAAGE,IAAIv8H,MAAM08H,GAAGL,GAAGE,IAAI/kH,MAAMmlH,GAAG,GAAG,IAAI,IAAIC,MAAM5wH,EAAE2mB,EAAE8pG,IAAIE,GAAGr4H,KAAK,CAACtE,MAAM48H,GAAGplH,MAAMxL,EAAE2mB,EAAE8pG,IAAIG,MAAM3I,GAAG2I,IAAI5wH,EAAE2mB,EAAE8pG,IAAIG,IAAI1I,GAAGoI,IAAII,IAAI1wH,EAAE2mB,EAAE8pG,IAAIG,KAAK,CAACj0H,KAAKi0H,IAAID,GAAGt4H,SAASg4H,GAAGE,IAAI9kH,SAASklH,KAAK,IAAI5I,GAAG2H,GAAG7H,IAAIE,GAAGxyF,QAAQ,CAACvhC,MAAM,GAAGwX,MAAM,OAAO,IAAI,IAAIqlH,GAAG,EAAEC,GAAG/I,GAAG1vH,OAAOw4H,GAAGC,GAAGD,KAAK,CAAC,IAAIE,GAAGhJ,GAAG8I,IAAIplH,SAAS,GAAGslH,IAAIA,GAAG14H,OAAO,CAAC04H,GAAGx7F,QAAQ,CAACvhC,MAAM,GAAGwX,MAAM,OAAO,IAAI,IAAIwlH,GAAG,EAAEC,GAAGF,GAAG14H,OAAO24H,GAAGC,GAAGD,KAAK,CAAC,IAAIE,GAAGH,GAAGC,IAAIvlH,SAASylH,IAAIA,GAAG74H,QAAQ64H,GAAG37F,QAAQ,CAACvhC,MAAM,GAAGwX,MAAM,SAAS,IAAIw8G,GAAG0H,GAAG5H,IAAIE,GAAGzyF,QAAQ,CAACvhC,MAAM,GAAGwX,MAAM,OAAO,IAAI,IAAI2lH,GAAG,EAAEC,GAAGpJ,GAAG3vH,OAAO84H,GAAGC,GAAGD,KAAK,CAAC,IAAIE,GAAGrJ,GAAGmJ,IAAI1lH,SAAS,GAAG4lH,IAAIA,GAAGh5H,OAAO,CAACg5H,GAAG97F,QAAQ,CAACvhC,MAAM,GAAGwX,MAAM,OAAO,IAAI,IAAI8lH,GAAG,EAAEC,GAAGF,GAAGh5H,OAAOi5H,GAAGC,GAAGD,KAAK,CAAC,IAAIE,GAAGH,GAAGC,IAAI7lH,SAAS+lH,IAAIA,GAAGn5H,QAAQm5H,GAAGj8F,QAAQ,CAACvhC,MAAM,GAAGwX,MAAM,iB,kCCAt18E,uBAMe,cAEXimH,WAAY,SAAAzmH,GACR,OAAO4D,UAAS,mBAAoB5D,IAGxC0mH,cAAe,SAAA1mH,GACX,OAAO4D,UAAS,qBAAsB5D,IAG1C2mH,cAAc,SAAA3mH,GACV,OAAO4D,UAAS,qBAAsB5D,IAG1C4mH,iBAAkB,SAAA5mH,GACd,OAAO4D,UAAS,kBAAmB5D,M,kCCrB3C,W,mDCAe,cACX6mH,iBAAkB,SAAUC,EAAM99H,EAAOwM,GAChB,KAAjBxM,EAAMqlB,OACFy4G,EAAK32D,SACL36D,EAAS,IAAIvD,MAAM,YAEnBuD,IAGC,oBAAoBw2C,KAAKhjD,GAG1BwM,IAFAA,EAAS,IAAIvD,MAAM,gBAM/B80H,WAAY,SAAUD,EAAM99H,EAAOwM,GACV,KAAjBxM,EAAMqlB,OACFy4G,EAAK32D,SACL36D,EAAS,IAAIvD,MAAM,UAEnBuD,IAGC,0EAA0Ew2C,KAAKhjD,GAGhFwM,IAFAA,EAAS,IAAIvD,MAAM,gB,yCCzBnC,IAAIpI,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAa,CAAEN,EAAIk9H,aAAa35H,OAAS,EAAGnD,EAAG,MAAM,CAACE,YAAY,4CAA4CN,EAAIQ,GAAIR,EAAgB,cAAE,SAASU,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,mEAAmE,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,OAAS,QAAQ,MAAQ,SAASN,MAAM,CAAC,IAAMG,EAAK8L,SAAS,IAAM,WAAYxM,EAAIm9H,UAAUl8H,MAAK,SAAUC,GAAM,MAAY,QAALA,KAAiBd,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,UAAU,KAAO,SAAS,CAACP,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK+L,kBAAkBrM,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAK4L,UAAU,GAAGlM,EAAG,MAAM,CAACE,YAAY,mBAAmBO,YAAY,CAAC,cAAc,aAAa,CAAEb,EAAIm9H,UAAUl8H,MAAK,SAAUC,GAAM,MAAY,SAALA,KAAkBd,EAAG,MAAM,CAACE,YAAY,aAAa,CAACN,EAAImB,GAAG,IAAInB,EAAIoB,GAAGpB,EAAIo9H,GAAG,YAAPp9H,CAAoBU,EAAKgM,WAAW1M,EAAIsB,KAAMtB,EAAIm9H,UAAUl8H,MAAK,SAAUC,GAAM,MAAY,gBAALA,KAAyBd,EAAG,MAAM,CAACE,YAAY,4BAA4BO,YAAY,CAAC,kBAAkB,iBAAiB,CAACb,EAAImB,GAAGnB,EAAIoB,GAAGV,EAAKiM,iBAAiB3M,EAAIsB,SAAStB,EAAIsB,MAAM,MAAK,GAAGlB,EAAG,MAAM,CAACE,YAAY,4CAA4CN,EAAIQ,GAAG,GAAI,SAASE,EAAKC,GAAO,OAAOP,EAAG,MAAM,CAACQ,IAAID,EAAML,YAAY,mEAAmE,CAACF,EAAG,WAAW,CAACS,YAAY,CAAC,OAAS,SAASN,MAAM,CAAC,IAAM,oEAAoEH,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,UAAU,KAAO,SAAS,CAACP,EAAImB,GAAG,QAAQf,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAImB,GAAG,aAAa,GAAGnB,EAAIg0B,GAAG,GAAE,MAAS,MAAK,MAC9yDnyB,EAAkB,CAAC,WAAa,IAAI7B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,2BAA2BO,YAAY,CAAC,cAAc,aAAa,CAACT,EAAG,OAAO,CAACE,YAAY,aAAa,CAACN,EAAImB,GAAG,aAAaf,EAAG,OAAO,CAACE,YAAY,oBAAoBO,YAAY,CAAC,kBAAkB,iBAAiB,CAACb,EAAImB,GAAG,eCwChW,GACA,iBACEY,MAAF,CACIm7H,aAAJ,CACMl7H,KAAN,MACMC,QAAN,WACQ,MAAO,KAGXk7H,UAAJ,CACMn7H,KAAN,MACMC,QAAN,WACQ,MAAO,CAAC,OAAhB,2BAKEC,WAAY,GAEZC,KAnBF,WAoBI,MAAO,CAELk7H,QAAN,CACA,8PACA,ozBAMEj7H,SAAU,GAGVC,QAAS,GAGT0B,MAAO,GAEPE,QAtCF,aAwCEE,QAxCF,cCzCgY,I,wBCQ5XK,EAAY,eACd,EACAzE,EACA8B,GACA,EACA,KACA,KACA,MAIa,aAAA2C,E,8BCnBf,IAAI+V,EAAa,EAAQ,QACrB3V,EAAe,EAAQ,QAGvB04H,EAAY,kBAmBhB,SAAStvC,EAAS9uF,GAChB,MAAuB,iBAATA,GACX0F,EAAa1F,IAAUqb,EAAWrb,IAAUo+H,EAGjDj/H,EAAOC,QAAU0vF","file":"chunk-46ac04ec.1739001309915.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/bg.b762a99e.png\";","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAAEgvhuhAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAALqADAAQAAAABAAAALgAAAABSkiQEAAACU0lEQVRoBe1avW7CMBCuI9TubAiQ+jztO3QFnoBOHTrBEwBrR0ak9nmQ+MkEezuQ+ouwZeJLzonsViAjoTi+7747Pl3si1uxXC7vD4fD913h08LkcDh82G632tjv90UCoDmpHHODujGvpYYWUOA00RiL2WyWWZNCTHPkZrPRxiRJpqvVamzFOJ1OYzBYBkVbalCAi2ueEJXVBcq4ATb/fZgzMzYweqg0qJeTdG/uAOF0/IqBmM/nkyzLcjErcNoEh7106OgZXwNdJlLOvSQlI1BSkkAzq1oy3jzYVIYdk49qqRdqQ36fSgENDXjaEhSdXLG+GnJUuulHWaGqalBhyq6qRpWdqii2ZpUzd6XIOR9neyQnpQoqi1WKxXIiU3KcDJp57b3EJWkhRNputx9b2KRGo5HeJVycOcxisXg+Ho/rILIMBoNPrFlByNUvs6plt9tNVHOkQA7XtNfrPUqtf0yslXkDYvB1ZD+5NokxtsiLgBr31mrqk9zKI5JbkmAiyhJlIRUgJ6+jWqjXKGvJvZoNOqjm9d4UyJqgJ+WuNA3SWtDh/M0i8bxtAaXv1sVfmpdMeNVCqxW0Vi5D+r272sStdaWoS8PWrkhT6x4LYLfbfa1yYhVv2DZWxWRtLjHZxNko/wSIif+18FHxqLijArFUHIXyBouKe5PSkeimFU8dRfAJY2OyiuMA7/y6ypJ5yDxFLMTkuNi29nzqiBazss3kAvm2s4r7DuiLL5GK5iWA421fpKF4VI7IWeC/FeR5/LsM9oKj81BBffCeRf6Qf5x4+wUwsrSy2TMrJgAAAABJRU5ErkJggg==\"","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"EntityInfo \"},[_c('div',{staticClass:\"box padbm_10\"},[_c('div',{staticClass:\"position_relative\"},[_c('el-carousel',{attrs:{\"height\":\"200px\",\"arrow\":\"never\"}},_vm._l((_vm.onlineEntityInfo.PhotoURLList),function(item,index){return _c('el-carousel-item',{key:index},[_c('el-image',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\"},attrs:{\"src\":item.PhotoURL,\"fit\":\"cover\"}})],1)}),1),_c('el-image',{staticClass:\"logo radius5\",staticStyle:{\"width\":\"45px\",\"height\":\"45px\",\"z-index\":\"9\"},attrs:{\"fit\":\"cover\",\"src\":_vm.onlineEntityInfo.EntityLogoURL}})],1),(_vm.StoreShowInfo.some(function (val){return val == 'Name'}))?_c('div',{staticClass:\"title font_18 color_333 pad_0_10 martp_10\"},[_vm._v(_vm._s(_vm.onlineEntityInfo.EntityName))]):_vm._e(),_c('div',{staticClass:\"martp_5 pad_0_10\"},[_c('el-image',{staticStyle:{\"width\":\"11px\",\"height\":\"11px\"},attrs:{\"src\":require('../../../../assets/img/store/time@2x.png')}}),_c('span',{staticClass:\"font_14 color_666 marlt_5\"},[_vm._v(\"营业时间 \"+_vm._s(_vm.formatBusinessDate())+\" \"+_vm._s(_vm.onlineEntityInfo.BusinessStartTime)+\" -- \"+_vm._s(_vm.onlineEntityInfo.BusinessEndTime))])],1),(_vm.StoreShowInfo.some(function (val){return val == 'Phone'}))?_c('div',{staticClass:\"dis_flex flex_x_between flex_y_center martp_5 pad_0_10\"},[_c('div',[_c('el-image',{staticStyle:{\"width\":\"11px\",\"height\":\"11px\"},attrs:{\"src\":require('../../../../assets/img/store/dh@2x.png')}}),_c('span',{staticClass:\"font_14 color_666 marlt_5\"},[_vm._v(\"服务电话:\"+_vm._s(_vm.onlineEntityInfo.ServiceTelephoneNumber))])],1),_c('div',{staticClass:\"line dis_flex flex_y_center pad_0_10\"},[_c('el-image',{staticStyle:{\"width\":\"11px\",\"height\":\"15px\"},attrs:{\"src\":require('../../../../assets/img/store/phone.png')}})],1)]):_vm._e(),(_vm.StoreShowInfo.some(function (val){return val == 'Address'}))?_c('div',{staticClass:\"dis_flex flex_x_between flex_y_center martp_5 pad_0_10\"},[_c('div',[_c('el-image',{staticStyle:{\"width\":\"9px\",\"height\":\"12px\"},attrs:{\"src\":require('../../../../assets/img/store/dz@2x.png')}}),_c('span',{staticClass:\"font_14 color_666 marlt_5\"},[_vm._v(\"门店地址:\"+_vm._s(_vm.onlineEntityInfo.AddressDetail))])],1),_c('div',{staticClass:\"line dis_flex flex_y_center pad_0_10\"},[_c('el-image',{staticStyle:{\"width\":\"11px\",\"height\":\"16px\"},attrs:{\"src\":require('../../../../assets/img/store/wz@2x.png')}})],1)]):_vm._e(),(_vm.StoreShowInfo.some(function (val){return val == 'Describe'}))?_c('div',{staticClass:\"font_14 color_666 martp_5 pad_0_10\"},[_vm._v(\"简介:\"+_vm._s(_vm.onlineEntityInfo.Description))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntityInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntityInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EntityInfo.vue?vue&type=template&id=5d12209f&\"\nimport script from \"./EntityInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./EntityInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EntityInfo.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","module.exports = __webpack_public_path__ + \"img/PhoneStatus Bar2.c94a46a2.png\";","\r\nfunction getBase64Image(img, width, height) {\r\n var canvas = document.createElement(\"canvas\");\r\n canvas.width = width ? width : img.width;\r\n canvas.height = height ? height : img.height;\r\n var ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n var dataURL = canvas.toDataURL();\r\n return dataURL;\r\n}\r\n\r\n\r\nexport default {\r\n // 通过图片地址获取 base64\r\n getCanvasBase64(img) {\r\n return new Promise((resolve) => {\r\n var image = new Image();\r\n //至关重要\r\n image.crossOrigin = '';\r\n image.src = img;\r\n //至关重要\r\n if (img) {\r\n image.onload = function () {\r\n let base64 = getBase64Image(image);//将base64传给done上传处理\r\n resolve(base64);//将base64传给done上传处理\r\n //document.getElementById(\"container2\").appendChild(image);\r\n }\r\n // return deferred;//问题要让onload完成后再return sessionStorage['imgTest']\r\n }\r\n })\r\n },\r\n // 函数节流\r\n throttle(fn,wait){\r\n var pre = Date.now();\r\n wait = wait || 500;\r\n return function(){\r\n var context = this;\r\n var args = arguments;\r\n var now = Date.now();\r\n if( now - pre >= wait){\r\n fn.apply(context,args);\r\n pre = Date.now();\r\n }\r\n }\r\n },\r\n\r\n /** * 函数防抖 */\r\n debounce(fn, delay) {\r\n // 记录上一次的延时器\r\n var timer = null;\r\n delay = delay || 200;\r\n return function() {\r\n var args = arguments;\r\n var that = this;\r\n // 清除上一次延时器\r\n clearTimeout(timer)\r\n timer = setTimeout(function() {\r\n fn.apply(that,args)\r\n }, delay);\r\n }\r\n },\r\n // 深拷贝\r\n deepClone(obj) {\r\n // 判断传入目标 类型 \r\n if (typeof obj !== \"object\") {\r\n return obj;\r\n } else {\r\n var result = (obj instanceof Array) ? [] : {};\r\n for (let key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n result[key] = this.deepClone(obj[key]);\r\n }\r\n }\r\n return result;\r\n }\r\n}\r\n\r\n}","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\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!./GoodsList.vue?vue&type=style&index=0&lang=scss&\"","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAAEgBckRAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAEcUlEQVRoBe2azUtUURTAZ8bJIChIaDG0SFr0D9gmokXhJs1aBG0qF4EzurJNGFouxEJpoyudcWfOooEWGRqBFBG2sv/BoBQMDSYYspyp35nmPt+8j/veG99UQz643HvPOfd833vPezORiOmZnp5eU9OYGkxNTf3kSYCcEFg0l8s1b25ubisCoxdKY2IaGKxMsPLQFWEltM+RNWSGRt2Em4nqMVZycc8XLX8IvzkRzMzMXDDgipsB8BjEzXjd4r6+vqjQVi0wL5axIqqC67hWEeomeGceQ8/paAxcNps9KpN0Op0wgKaBLW0KhcJJUbNUKn1EUt5Eax9CWJU5QmG1MQqXNUl6+3I7JBqNjtuhGohIs9mgoS+jjMCh2gKqdTgtcAygE6EVJippJdTMWUmqyehyyioOuh7uReIwSJvFOatNTU3tPT09b3VrBOcpgBw8QFp9F2LlAyIwgJBhQG+AOUZC6D0f8Ukmk7mqIxTLUCKpo7HhWLSBlnM2hAsAa8oHKMqcspHIXqDVbqaN4y5APBBDeqK3t3dxFxzuKPBeCyp+X4Cnx+ruorgcw5JOnqrUSOB5VCi+cs8Vi8UnzFdI68sK7tX7clGF+RLWtsFwWY4HL8YK70sAms/DvDWVSq2jvdxsMXUhK0ZuvacAtF1ktzfTus1M8vn8lpy0ZpjTWBsDzigpUG+h9ZGKW8oKxWKxIdrLnZ2dFXWEOzHXwuQI9vK1HOXQBM9AKQH9LoRuiOZYSjpaIGe6MOfRus+8WO4O1myYYWostdEYzAYUIKyerFtvaWlpjQvzmgOl0YYYdm5tba16pqmGhxbFnpHSLFE3AUp64wswik1lkvSSpua5nzFZs8iO77TSOgoIM6v+0xi4+dvqf5nvx8DJK1WwumdRXT+MkAzjvi+VKrs1E47pQU7RUZqVd4l7/D6n7EPN8sAoq5DADMwLuBznUbwLz9ytlE8GGpy8N46Bew7Od2FoMHAZOG4zF1pXMF4/hHJLtDNChJKzVmKBiQG0Lox5x7ydaBSsdEHne4oAykRR/jH9dQR/jsfj/ZR6cyi3w3xYGQJeas4RekjiN6CZZH4MfBYjbtIHvnxYX35qNoAbTz5GjdK2UaqDbxavfrOMRCql/h3mpyuwFb5rPDJ/15DKEUPk1fkg7R4X3IMKbaAusAFS6/KqkEMKezKGA1OZQBItxEQwyXeWNOASRl5LJpNPLSTaqW8D8Fgbir8mDQ4T8kk24m0t54BI9sUEvPvh/RVDzhOt935YeBpAqhyH0TLtBO0FXr+C13/4YR6UhmjIV69nrLtI+0A7S2p90vGp23uBTmhYOKI1Xn7vEIZhVolhKajjI2Uzz0DdawmdEmHg9g0Iw4t74dHwEfBdC3FOu/6MshcPOq3ldFngnrnkhLPCfBsAQ9tLr5XZ35g3fAo1vAG+UyiMPRAkt/2mo28D9veAX5cGpGv4PRAjL9fFaErZf/KYdAqI0lV0L//Nhq/VIxB2U935+iuCE9M/Cas4fZbP+MO/AAYg8Xpp4dj3AAAAAElFTkSuQmCC\"","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","module.exports = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","import route from \"../../router\";\r\n\r\nvar Enumerable = require(\"linq\");\r\n\r\nexport default {\r\n permission: function (permission, code) {\r\n var isPermission = Enumerable.from(permission)\r\n .where(function (i) {\r\n return i.PermissionCode == code\r\n })\r\n .select(val => val.IsPermission)\r\n .toArray()\r\n\r\n return isPermission[0] || false;\r\n },\r\n routerPermission:function(path){\r\n return route.matcher.match(path).name!=\"Home\";\r\n },\r\n}","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var map = {\n\t\"./AuxiliaryBlank.vue\": \"5d08\",\n\t\"./AuxiliaryLine.vue\": \"52c9\",\n\t\"./Carousel.vue\": \"b03e\",\n\t\"./EntityInfo.vue\": \"0f4e\",\n\t\"./GoodsList.vue\": \"fd37\",\n\t\"./RichText.vue\": \"b695\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"2b38\";","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"EShopDecoration content_body\"},[_c('div',{staticClass:\"dis_flex flex_dir_column\",staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"flex_box\"},[_c('el-tabs',{model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"首页\",\"name\":\"0\"}},[_c('HomeDecoration',{ref:\"HomeDecoration\"})],1),_c('el-tab-pane',{attrs:{\"label\":\"个人中心\",\"name\":\"1\"}},[_c('div',{staticClass:\"dis_flex \"},[_c('div',{staticClass:\"flex_box back_f8\"},[_c('el-scrollbar',{staticStyle:{\"height\":\"78vh\"}},[_c('div',{staticClass:\"model border back_F5\"},[_c('el-image',{staticStyle:{\"width\":\"100%\",\"height\":\"240px\"},attrs:{\"src\":require('../../../assets/img/store/bg.png'),\"fit\":\"fill\"}}),_c('div',{staticClass:\"center\"},[(_vm.centerFormData.ShowAppointmentBill)?_c('div',{staticClass:\"appointment pad_0_10 martp_10 backfff dis_flex flex_y_center flex_x_between\"},[_c('div',{staticClass:\"color_333 font_16 dis_flex flex_y_center\"},[_c('el-image',{staticStyle:{\"width\":\"25px\",\"height\":\"20px\",\"margin-right\":\"14px\"},attrs:{\"src\":require('../../../assets/img/store/work1.png'),\"fit\":\"fill\"}}),_vm._v(\" 预约\")],1),_c('div',{staticClass:\"dis_flex flex_y_center\"},[_c('div',{staticClass:\"num dis_flex flex_x_center flex_y_center\"}),_c('i',{staticClass:\"marlt_10 el-icon-arrow-right color_999\"})])]):_vm._e(),(_vm.centerFormData.ShowTeam)?_c('div',{staticClass:\"appointment pad_0_10 martp_10 backfff dis_flex flex_y_center flex_x_between\"},[_c('div',{staticClass:\"color_333 font_16 dis_flex flex_y_center\"},[_c('el-image',{staticStyle:{\"width\":\"24px\",\"height\":\"24px\",\"margin-right\":\"14px\"},attrs:{\"src\":require('../../../assets/img/store/work2.png'),\"fit\":\"fill\"}}),_vm._v(\" 团队\")],1),_c('div',{staticClass:\"dis_flex flex_y_center\"},[_c('i',{staticClass:\"marlt_10 el-icon-arrow-right color_999\"})])]):_vm._e(),(_vm.centerFormData.ShowAccount)?_c('div',{staticClass:\"appointment pad_0_10 martp_10 backfff dis_flex flex_y_center flex_x_between\"},[_c('div',{staticClass:\"color_333 font_16 dis_flex flex_y_center\"},[_c('el-image',{staticStyle:{\"width\":\"23px\",\"height\":\"19px\",\"margin-right\":\"14px\"},attrs:{\"src\":require('../../../assets/img/store/work3.png'),\"fit\":\"fill\"}}),_vm._v(\" 账户存量\")],1),_c('div',{staticClass:\"dis_flex flex_y_center\"},[_c('i',{staticClass:\"marlt_10 el-icon-arrow-right color_999\"})])]):_vm._e(),(_vm.centerFormData.ShowWeightPlan)?_c('div',{staticClass:\"appointment pad_0_10 martp_10 backfff dis_flex flex_y_center flex_x_between\"},[_c('div',{staticClass:\"color_333 font_16 dis_flex flex_y_center\"},[_c('el-image',{staticStyle:{\"width\":\"23px\",\"height\":\"22px\",\"margin-right\":\"14px\"},attrs:{\"src\":require('../../../assets/img/store/work1.png'),\"fit\":\"fill\"}}),_vm._v(\" 减重计划\")],1),_c('div',{staticClass:\"dis_flex flex_y_center\"},[_c('i',{staticClass:\"marlt_10 el-icon-arrow-right color_999\"})])]):_vm._e()]),_c('div',{staticClass:\"dis_flex flex_dir_row flex_x_around pad_10 border_box border_top position_absolute\",staticStyle:{\"background-color\":\"white\",\"height\":\"49px\",\"bottom\":\"0\",\"left\":\"0\",\"right\":\"0\"}},[_c('div',{staticClass:\"dis_flex flex_dir_column flex_y_center color_999\"},[_c('i',{staticClass:\"el-icon-s-home font_20 \"}),_c('span',{staticClass:\"font_12\"},[_vm._v(\"首页\")])]),_c('div',{staticClass:\"dis_flex flex_dir_column flex_y_center\",staticStyle:{\"color\":\"#1E9EFA\"}},[_c('i',{staticClass:\"el-icon-user-solid font_20 \"}),_c('span',{staticClass:\"font_12 \"},[_vm._v(\"我的\")])])])],1)])],1),_c('div',{staticClass:\"pad_0_10\",staticStyle:{\"width\":\"400px\"}},[_c('el-scrollbar',{staticStyle:{\"height\":\"78vh\"}},[_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.centerFormData,\"label-width\":\"0px\"}},[_c('el-form-item',[_c('div',{staticClass:\"switchBox pad_0_10 dis_flex flex_x_between flex_y_center\"},[_c('span',[_vm._v(\"预约\")]),_c('el-switch',{model:{value:(_vm.centerFormData.ShowAppointmentBill),callback:function ($$v) {_vm.$set(_vm.centerFormData, \"ShowAppointmentBill\", $$v)},expression:\"centerFormData.ShowAppointmentBill\"}})],1)]),_c('el-form-item',[_c('div',{staticClass:\"switchBox pad_0_10 dis_flex flex_x_between flex_y_center\"},[_c('span',[_vm._v(\"团队\")]),_c('el-switch',{model:{value:(_vm.centerFormData.ShowTeam),callback:function ($$v) {_vm.$set(_vm.centerFormData, \"ShowTeam\", $$v)},expression:\"centerFormData.ShowTeam\"}})],1)]),_c('el-form-item',[_c('div',{staticClass:\"switchBox pad_0_10 dis_flex flex_x_between flex_y_center\"},[_c('span',[_vm._v(\"账户存量\")]),_c('el-switch',{model:{value:(_vm.centerFormData.ShowAccount),callback:function ($$v) {_vm.$set(_vm.centerFormData, \"ShowAccount\", $$v)},expression:\"centerFormData.ShowAccount\"}})],1)]),_c('el-form-item',[_c('div',{staticClass:\"switchBox pad_0_10 dis_flex flex_x_between flex_y_center\"},[_c('span',[_vm._v(\"减重计划\")]),_c('el-switch',{model:{value:(_vm.centerFormData.ShowWeightPlan),callback:function ($$v) {_vm.$set(_vm.centerFormData, \"ShowWeightPlan\", $$v)},expression:\"centerFormData.ShowWeightPlan\"}})],1)])],1)],1)],1)])]),_c('el-tab-pane',{attrs:{\"label\":\"商品分类\",\"name\":\"2\"}},[_c('div',{staticClass:\"dis_flex position_relative\"},[_c('div',{staticClass:\"dis_flex flex_x_center flex_box pad_10 back_f8\"},[_c('div',{staticClass:\"model border classify\",staticStyle:{\"height\":\"78vh\"}},[_c('div',{staticClass:\"text_center backfff font_16 color_333\",staticStyle:{\"height\":\"50px\",\"line-height\":\"50px\"}},[_vm._v(\"商品分类\")]),_c('div',{staticClass:\"dis_flex flex_x_center flex_y_center\",staticStyle:{\"height\":\"45px\"}},[_c('div',{staticClass:\"backfff font_12 dis_flex flex_y_center\",staticStyle:{\"height\":\"30px\",\"width\":\"95%\"}},[_c('i',{staticClass:\"el-icon-search color_999 marlt_5\"}),_vm._v(\" \"),_c('span',{staticClass:\"marlt_5 color_999\"},[_vm._v(\"搜索\")])])]),_c('div',{staticClass:\"dis_flex\",staticStyle:{\"height\":\"calc(78vh - 95px)\"}},[_c('div',{staticStyle:{\"height\":\"100%\",\"width\":\"25%\",\"overflow\":\"hidden\"}},_vm._l((_vm.goodsClassify),function(item,index){return _c('div',{key:index,staticClass:\"dis_flex oneLine flex_x_center font_14 color_333 \",class:index==_vm.leftNavIndex ? 'backfff active ' : '',staticStyle:{\"height\":\"40px\",\"line-height\":\"40px\"},on:{\"click\":function($event){return _vm.clickLeftNav(index)}}},[_vm._v(_vm._s(item.Name))])}),0),_c('div',{staticClass:\"backfff\",staticStyle:{\"height\":\"100%\",\"width\":\"75%\"}},[(_vm.goodsClassify.length > 0)?_c('el-scrollbar',{staticStyle:{\"height\":\"100%\",\"overflow-x\":\"hidden!important\"}},_vm._l((_vm.goodsClassify[_vm.leftNavIndex].Child),function(item,index){return _c('div',{key:index},[_c('div',{staticClass:\"marlt_10 font_14 color_999 oneLine\",staticStyle:{\"height\":\"40px\",\"line-height\":\"40px\",\"width\":\"90%\"}},[_vm._v(_vm._s(item.Name))]),_vm._l((item.Goods),function(item,index){return _c('div',{key:index},[_c('el-row',[_c('el-col',{attrs:{\"span\":8}},[_c('el-image',{staticClass:\"marlt_10\",staticStyle:{\"width\":\"80px\",\"height\":\"80px\"},attrs:{\"src\":item.ImageURL,\"fit\":\"cover\"}})],1),_c('el-col',{attrs:{\"span\":16}},[_c('div',{staticClass:\"dis_flex flex_dir_column flex_x_between pad_0_10\",staticStyle:{\"height\":\"80px\"}},[_c('el-row',[_c('el-col',{attrs:{\"span\":24}},[_c('el-tag',{attrs:{\"color\":\"#ff5510\",\"size\":\"mini\",\"type\":\"warning\",\"effect\":\"dark\"}},[_vm._v(_vm._s(item.GoodsTypeName)+\" \")]),_c('span',{staticClass:\"color_333 font_14 marlt_5\"},[_vm._v(_vm._s(item.Name))])],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":16}},[_c('div',{staticClass:\"font_14 color_333\"},[_vm._v(\"¥\"+_vm._s(item.Price))]),(item.OriginalText)?_c('div',{staticClass:\"font_12 color_999\",staticStyle:{\"text-decoration\":\"line-through\"}},[_vm._v(\"¥\"+_vm._s(item.OriginalText))]):_vm._e()]),_c('el-col',{attrs:{\"span\":8}},[_c('div',{staticClass:\"tag border font_14 color_999\"},[_vm._v(\"详情\")])])],1)],1)])],1)],1)})],2)}),0):_vm._e()],1)])])]),_c('div',{staticClass:\"marlt_20\",staticStyle:{\"width\":\"500px\"}},[_c('el-form',{ref:\"form\",staticClass:\"padrt_10\",attrs:{\"model\":_vm.formData,\"label-width\":\"0px\"}},[_c('el-row',[_c('el-col',{staticClass:\"dis_flex flex_x_between\",attrs:{\"span\":24}},[_c('span',[_vm._v(\"商品分类\")])]),_c('el-col',{attrs:{\"span\":24}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\",staticStyle:{\"height\":\"calc(78vh - 10px)\"}},[_c('el-col',{attrs:{\"span\":24}},[_c('draggable',{attrs:{\"chosenClass\":\"chosen\",\"group\":\"people1\",\"animation\":\"1000\"},model:{value:(_vm.goodsClassify),callback:function ($$v) {_vm.goodsClassify=$$v},expression:\"goodsClassify\"}},_vm._l((_vm.goodsClassify),function(item,index1){return _c('div',{key:index1,staticClass:\"martp_10 marrt_10\"},[_c('el-collapse',{attrs:{\"accordion\":\"\"},model:{value:(_vm.firstCollapseName),callback:function ($$v) {_vm.firstCollapseName=$$v},expression:\"firstCollapseName\"}},[_c('el-collapse-item',{attrs:{\"name\":index1}},[_c('template',{slot:\"title\"},[_c('el-col',{staticClass:\"text_center\",attrs:{\"span\":6}},[_c('span',[_vm._v(\" 分类\"+_vm._s(index1+1)+\":\")])]),_c('el-col',{attrs:{\"span\":18}},[_c('el-input',{staticStyle:{\"width\":\"200px\"},attrs:{\"size\":\"small\",\"placeholder\":\"标题建议2-4个子\"},nativeOn:{\"click\":function($event){$event.stopPropagation();}},model:{value:(item.Name),callback:function ($$v) {_vm.$set(item, \"Name\", $$v)},expression:\"item.Name\"}})],1),_c('i',{staticClass:\"el-icon-error\",on:{\"click\":function($event){$event.stopPropagation();return _vm.delFirstClassify(index1)}}})],1),_c('el-row',[_c('el-col',{staticClass:\"dis_flex flex_x_center\",attrs:{\"span\":24}},[_c('draggable',{attrs:{\"chosenClass\":\"chosen\",\"forceFallback\":\"true\",\"group\":\"people2\",\"animation\":\"1000\"},model:{value:(item.Child),callback:function ($$v) {_vm.$set(item, \"Child\", $$v)},expression:\"item.Child\"}},_vm._l((item.Child),function(item,index2){return _c('div',{key:index2,staticClass:\"martp_10 classSon \",staticStyle:{\"width\":\"430px\"}},[_c('el-card',{attrs:{\"shadow\":\"always\",\"body-style\":{ padding: '0px' }}},[_c('el-collapse',{attrs:{\"accordion\":\"\"},model:{value:(_vm.secondCollapseName),callback:function ($$v) {_vm.secondCollapseName=$$v},expression:\"secondCollapseName\"}},[_c('el-collapse-item',{attrs:{\"name\":index2}},[_c('template',{slot:\"title\"},[_c('el-col',{staticClass:\"text_right\",attrs:{\"span\":6}},[_c('span',[_vm._v(\" 子分类\"+_vm._s(index2+1)+\":\")])]),_c('el-col',{attrs:{\"span\":18}},[_c('el-input',{staticStyle:{\"width\":\"200px\"},attrs:{\"size\":\"small\",\"placeholder\":\"标题建议2-4个子\"},nativeOn:{\"click\":function($event){$event.stopPropagation();}},model:{value:(item.Name),callback:function ($$v) {_vm.$set(item, \"Name\", $$v)},expression:\"item.Name\"}})],1),_c('i',{staticClass:\"el-icon-error\",on:{\"click\":function($event){$event.stopPropagation();return _vm.delSecondClassify(index1,index2)}}})],1),_c('el-row',{staticClass:\"dis_flex flex_y_center flex_dir_column \"},[_c('el-col',{attrs:{\"span\":23}},[_c('draggable',{attrs:{\"chosenClass\":\"chosen\",\"forceFallback\":\"true\",\"group\":\"people3\",\"animation\":\"1000\"},model:{value:(item.Goods),callback:function ($$v) {_vm.$set(item, \"Goods\", $$v)},expression:\"item.Goods\"}},_vm._l((item.Goods),function(item,index3){return _c('div',{key:index3,staticClass:\"dis_flex flex_y_center pad_10 mar_10_0 back_f7f8fa good\"},[_c('el-image',{staticStyle:{\"width\":\"48px\",\"height\":\"48px\"},attrs:{\"src\":item.ImageURL,\"fit\":\"cover\"}}),_c('span',{staticClass:\"marlt_10 font_13 color_333 \"},[_vm._v(_vm._s(item.Name))]),_c('i',{staticClass:\"el-icon-error\",on:{\"click\":function($event){$event.stopPropagation();return _vm.delGoods(index1,index2,index3)}}})],1)}),0)],1),_c('el-col',{attrs:{\"span\":23}},[_c('div',{staticClass:\"back_f7f8fa text_center mar_lr_center \",staticStyle:{\"height\":\"40px\",\"line-height\":\"40px\"}},[_c('el-dropdown',[_c('div',{staticClass:\"el-dropdown-link \"},[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\" 添加商品 \")]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.addGoods('project',index1,index2)}}},[_vm._v(\"项目\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.addGoods('product',index1,index2)}}},[_vm._v(\"产品\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.addGoods('generalCard',index1,index2)}}},[_vm._v(\"通用次卡\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.addGoods('timeCard',index1,index2)}}},[_vm._v(\"时效卡\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.addGoods('saveCard',index1,index2)}}},[_vm._v(\"储值卡\")]),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.addGoods('packageCard',index1,index2)}}},[_vm._v(\"套餐卡\")])],1)],1)],1)])],1)],2)],1)],1)],1)}),0)],1),_c('el-col',{staticClass:\"martp_10 dis_flex flex_x_center\",attrs:{\"span\":24}},[_c('el-card',{attrs:{\"shadow\":\"always\",\"body-style\":{ padding: '0px' }}},[_c('div',{staticClass:\"text_center mar_lr_center \",staticStyle:{\"height\":\"50px\",\"width\":\"430px\",\"background\":\"#fff\",\"line-height\":\"50px\"},on:{\"click\":function($event){return _vm.addSecondClassify(index1)}}},[_vm._v(\"添加子分类\")])])],1)],1)],2)],1)],1)}),0)],1),_c('el-col',{attrs:{\"span\":24}},[_c('div',{staticClass:\"back_f7f8fa text_center martp_10 font_14 \",staticStyle:{\"height\":\"60px\",\"line-height\":\"60px\"},on:{\"click\":_vm.addFirstClassify}},[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\" 添加主分类\")])])],1)],1)],1)],1)],1)])])],1),_c('div',{staticClass:\"configBtn\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.SaveEShopDecorationConf}},[_vm._v(\" 保 存 \")])],1)],1)]),_c('el-dialog',{attrs:{\"title\":\"上传banner\",\"visible\":_vm.BannerDialog,\"width\":\"45%\"},on:{\"update:visible\":function($event){_vm.BannerDialog=$event},\"close\":_vm.close}},[_c('el-form',{ref:\"bannerForm\",attrs:{\"size\":\"small\",\"model\":_vm.bannerForm,\"label-width\":\"80px\"}},[_c('el-form-item',{attrs:{\"label\":\"图片展示\"}},[(_vm.bannerForm.ImageUrl)?_c('el-image',{staticStyle:{\"width\":\"210px\",\"height\":\"120px\"},attrs:{\"src\":_vm.bannerForm.ImageUrl,\"fit\":\"fill\"}}):_vm._e(),_c('el-upload',{staticClass:\"upload-demo\",attrs:{\"action\":\"#\",\"show-file-list\":false,\"before-upload\":_vm.beforeAvatarUpload,\"http-request\":_vm.updateCustomerUploadImage}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"点击上传\")]),_c('div',{staticClass:\"el-upload__tip\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\" 只能上传jpg/png文件,且不超过500kb \")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"配置链接\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\"},model:{value:(_vm.bannerForm.TypeID),callback:function ($$v) {_vm.$set(_vm.bannerForm, \"TypeID\", $$v)},expression:\"bannerForm.TypeID\"}},[_c('el-option',{attrs:{\"label\":\"请选择网店商品\",\"value\":1}}),_c('el-option',{attrs:{\"label\":\"请选择拼团商品\",\"value\":2}}),_c('el-option',{attrs:{\"label\":\"请选择秒杀商品\",\"value\":3}})],1),(_vm.bannerForm.TypeID && !_vm.bannerForm.name)?_c('el-button',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"type\":\"primary\"},on:{\"click\":_vm.selGoodsBtn}},[_vm._v(_vm._s(_vm.selGoodName))]):_vm._e()],1),(_vm.bannerForm.name)?_c('el-form-item',{attrs:{\"label\":\"商品名称\"}},[_vm._v(\" \"+_vm._s(_vm.bannerForm.name)+\" \"),_c('el-button',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"type\":\"danger\"},on:{\"click\":_vm.delGoodsBtn}},[_vm._v(\"删除\")])],1):_vm._e()],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.BannerDialog = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.bannerSave}},[_vm._v(\"保存\")])],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.Title,\"visible\":_vm.activityDialog,\"width\":\"90%\"},on:{\"update:visible\":function($event){_vm.activityDialog=$event},\"close\":_vm.close}},[_c('el-row',[_c('el-col',{attrs:{\"span\":6}},[_c('el-form',{staticClass:\"demo-form-inline\",attrs:{\"inline\":true,\"size\":\"small\"},nativeOn:{\"submit\":function($event){$event.preventDefault();},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.Search($event)}}},[_c('el-form-item',{attrs:{\"label\":\"线上名称\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"输入商品线上名称搜索\"},on:{\"clear\":_vm.Search},model:{value:(_vm.OnlineName),callback:function ($$v) {_vm.OnlineName=$$v},expression:\"OnlineName\"}})],1)],1)],1),_c('el-col',{attrs:{\"span\":2}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.Search}},[_vm._v(\"搜索\")])],1)],1),_c('el-scrollbar',{staticClass:\"el_scrollbar_height active\"},[_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.activeTableData,\"tooltip-effect\":\"dark\"}},[_c('el-table-column',{attrs:{\"prop\":\"ID\",\"label\":\"主图缩略\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-image',{staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"src\":scope.row.ImgURL,\"fit\":\"fit\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"Title\",\"label\":\"线上别名\"}}),_c('el-table-column',{attrs:{\"prop\":\"OfflineType\",\"label\":\"线下类型\"}}),_c('el-table-column',{attrs:{\"prop\":\"activeTime\",\"label\":\"线下名称\"}}),_c('el-table-column',{attrs:{\"formatter\":_vm.formatterTime,\"label\":\"活动时间\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"width\":\"120px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.selGoods(scope.row)}}},[_vm._v(\"选择\")])]}}])})],1)],1),_c('div',{staticClass:\"pad_10 dis_flex flex_x_end\"},[_c('el-pagination',{attrs:{\"background\":\"\",\"current-page\":_vm.paginations.page,\"layout\":_vm.paginations.layout,\"total\":_vm.paginations.total},on:{\"update:currentPage\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"current-change\":_vm.pageChange}})],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.Title,\"visible\":_vm.GoodsDialog,\"width\":\"90%\"},on:{\"update:visible\":function($event){_vm.GoodsDialog=$event},\"close\":_vm.close}},[_c('el-row',[_c('el-col',{attrs:{\"span\":22}},[_c('el-form',{staticClass:\"demo-form-inline\",attrs:{\"inline\":true,\"size\":\"small\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.Search($event)}}},[_c('el-form-item',{attrs:{\"label\":\"线上名称\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"输入商品线上名称搜索\"},on:{\"clear\":_vm.Search},model:{value:(_vm.OnlineName),callback:function ($$v) {_vm.OnlineName=$$v},expression:\"OnlineName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"线下名称\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"输入商品线下名称搜索\"},on:{\"clear\":_vm.Search},model:{value:(_vm.OfflineName),callback:function ($$v) {_vm.OfflineName=$$v},expression:\"OfflineName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"商品类型\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\",\"clearable\":\"\"},on:{\"change\":_vm.Search},model:{value:(_vm.GoodsType),callback:function ($$v) {_vm.GoodsType=$$v},expression:\"GoodsType\"}},_vm._l((_vm.GoodType),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.Name,\"value\":item.GoodsTypeID}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"线上分类\"}},[_c('el-cascader',{attrs:{\"clearable\":\"\",\"options\":_vm.GoodsCategoryValid,\"props\":{ expandTrigger: 'hover' }},on:{\"change\":_vm.Search},model:{value:(_vm.CategoryID),callback:function ($$v) {_vm.CategoryID=$$v},expression:\"CategoryID\"}})],1)],1)],1),_c('el-col',{attrs:{\"span\":2}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.Search}},[_vm._v(\"搜索\")])],1)],1),_c('el-scrollbar',{staticClass:\"el_scrollbar_height active\"},[_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.GoodstableData,\"tooltip-effect\":\"dark\"}},[_c('el-table-column',{attrs:{\"label\":\"主图缩略\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-image',{staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"src\":scope.row.Image[0].ImgURL,\"fit\":\"fit\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"OnlineName\",\"label\":\"线上别名\"}}),_c('el-table-column',{attrs:{\"prop\":\"Price\",\"label\":\"售价(元)\"}}),_c('el-table-column',{attrs:{\"prop\":\"CategoryName\",\"label\":\"线上分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"Sequence\",\"label\":\"线上排序\"}}),_c('el-table-column',{attrs:{\"prop\":\"GoodsTypeName\",\"label\":\"线下类型\"}}),_c('el-table-column',{attrs:{\"prop\":\"OfflineName\",\"label\":\"线下名称\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.selGoods(scope.row)}}},[_vm._v(\"选择\")])]}}])})],1)],1),_c('div',{staticClass:\"pad_10 dis_flex flex_x_end\"},[_c('el-pagination',{attrs:{\"background\":\"\",\"current-page\":_vm.paginations.page,\"layout\":_vm.paginations.layout,\"total\":_vm.paginations.total},on:{\"update:currentPage\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"current-change\":_vm.pageChange}})],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.Title,\"visible\":_vm.PMDialog,\"width\":\"70%\"},on:{\"update:visible\":function($event){_vm.PMDialog=$event},\"close\":_vm.close}},[_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form',{staticClass:\"demo-form-inline\",attrs:{\"inline\":true,\"size\":\"small\"},nativeOn:{\"submit\":function($event){$event.preventDefault();},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.Search($event)}}},[_c('el-form-item',{attrs:{\"label\":\"线上名称\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"输入商品线上名称搜索\"},on:{\"clear\":_vm.Search},model:{value:(_vm.OnlineName),callback:function ($$v) {_vm.OnlineName=$$v},expression:\"OnlineName\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.Search}},[_vm._v(\"搜索\")])],1)],1)],1)],1),_c('el-scrollbar',{staticClass:\"el_scrollbar_height active\"},[_c('el-table',{ref:\"PMTableRef\",staticStyle:{\"width\":\"100%\"},attrs:{\"row-key\":_vm.rowKeyFun,\"data\":_vm.activeTableData,\"tooltip-effect\":\"dark\"},on:{\"selection-change\":_vm.handleSelectionChange}},[_c('el-table-column',{attrs:{\"reserve-selection\":true,\"type\":\"selection\",\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"label\":\"主图缩略\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-image',{staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"src\":scope.row.ImgURL,\"fit\":\"fit\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"Title\",\"label\":\"线上别名\"}}),_c('el-table-column',{attrs:{\"prop\":\"OfflineType\",\"label\":\"线下类型\"}}),_c('el-table-column',{attrs:{\"prop\":\"OfflineName\",\"label\":\"线下名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"activeTime\",\"label\":\"线下名称\"}})],1)],1),_c('div',{staticClass:\"pad_10 dis_flex flex_x_end\"},[_c('el-pagination',{attrs:{\"background\":\"\",\"current-page\":_vm.paginations.page,\"layout\":_vm.paginations.layout,\"total\":_vm.paginations.total},on:{\"update:currentPage\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"current-change\":_vm.pageChange}})],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.PMDialog = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.savePM}},[_vm._v(\"确 定\")])],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.Title,\"visible\":_vm.RmDialog,\"width\":\"90%\"},on:{\"update:visible\":function($event){_vm.RmDialog=$event},\"close\":_vm.close}},[_c('el-row',[_c('el-col',{attrs:{\"span\":22}},[_c('el-form',{staticClass:\"demo-form-inline\",attrs:{\"inline\":true,\"size\":\"small\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.Search($event)}}},[_c('el-form-item',{attrs:{\"label\":\"线上名称\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"输入商品线上名称搜索\"},on:{\"clear\":_vm.Search},model:{value:(_vm.OnlineName),callback:function ($$v) {_vm.OnlineName=$$v},expression:\"OnlineName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"线下名称\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"输入商品线下名称搜索\"},on:{\"clear\":_vm.Search},model:{value:(_vm.OfflineName),callback:function ($$v) {_vm.OfflineName=$$v},expression:\"OfflineName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"商品类型\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\",\"clearable\":\"\"},on:{\"change\":_vm.Search},model:{value:(_vm.GoodsType),callback:function ($$v) {_vm.GoodsType=$$v},expression:\"GoodsType\"}},_vm._l((_vm.GoodType),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.Name,\"value\":item.GoodsTypeID}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"线上分类\"}},[_c('el-cascader',{attrs:{\"clearable\":\"\",\"options\":_vm.GoodsCategoryValid,\"props\":{ expandTrigger: 'hover' }},on:{\"change\":_vm.Search},model:{value:(_vm.CategoryID),callback:function ($$v) {_vm.CategoryID=$$v},expression:\"CategoryID\"}})],1)],1)],1),_c('el-col',{attrs:{\"span\":2}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.Search}},[_vm._v(\"搜索\")])],1)],1),_c('el-scrollbar',{staticClass:\"el_scrollbar_height active\"},[_c('el-table',{ref:\"multipleTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"row-key\":_vm.rowKeyFun,\"data\":_vm.GoodstableData,\"tooltip-effect\":\"dark\"},on:{\"selection-change\":_vm.handleSelectionChange}},[_c('el-table-column',{attrs:{\"reserve-selection\":true,\"width\":\"55\",\"type\":\"selection\"}}),_c('el-table-column',{attrs:{\"label\":\"主图缩略\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-image',{staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"src\":scope.row.Image[0].ImgURL,\"fit\":\"fill\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"OnlineName\",\"label\":\"线上别名\"}}),_c('el-table-column',{attrs:{\"prop\":\"Price\",\"label\":\"售价(元)\"}}),_c('el-table-column',{attrs:{\"prop\":\"CategoryName\",\"label\":\"线上分类\"}}),_c('el-table-column',{attrs:{\"prop\":\"Sequence\",\"label\":\"线上排序\"}}),_c('el-table-column',{attrs:{\"prop\":\"GoodsTypeName\",\"label\":\"线下类型\"}}),_c('el-table-column',{attrs:{\"prop\":\"OfflineName\",\"label\":\"线下名称\"}})],1)],1),_c('div',{staticClass:\"pad_10 dis_flex flex_x_end\"},[_c('el-pagination',{attrs:{\"background\":\"\",\"current-page\":_vm.paginations.page,\"layout\":_vm.paginations.layout,\"total\":_vm.paginations.total},on:{\"update:currentPage\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"current-change\":_vm.pageChange}})],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.RmDialog = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.saveRecommend}},[_vm._v(\"确 定\")])],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.goodsClassifyTitle,\"visible\":_vm.goodsClassifyBool,\"width\":\"60%\"},on:{\"update:visible\":function($event){_vm.goodsClassifyBool=$event},\"close\":_vm.close}},[_c('el-row',[_c('el-col',{attrs:{\"span\":22}},[_c('el-form',{staticClass:\"demo-form-inline\",attrs:{\"inline\":true,\"size\":\"small\",\"label-width\":\"40px\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',{attrs:{\"label\":\"名称\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"输入商品线上名称搜索\"},on:{\"clear\":_vm.Search},model:{value:(_vm.goodSearchName),callback:function ($$v) {_vm.goodSearchName=$$v},expression:\"goodSearchName\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.Search('goodClassifySearch')}}},[_vm._v(\"搜索\")])],1)],1)],1)],1),_c('el-scrollbar',{staticClass:\"el_scrollbar_height active\"},[_c('el-table',{ref:\"goodsClassify\",staticStyle:{\"width\":\"100%\"},attrs:{\"size\":\"small\",\"row-key\":function (row){ return row.ID; },\"data\":_vm.GoodsCategoryGoodList,\"tooltip-effect\":\"dark\"},on:{\"selection-change\":_vm.handleSelectionChange}},[_c('el-table-column',{attrs:{\"reserve-selection\":true,\"width\":\"55\",\"type\":\"selection\"}}),_c('el-table-column',{attrs:{\"label\":\"主图缩略\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-image',{staticStyle:{\"width\":\"35px\",\"height\":\"35px\"},attrs:{\"src\":scope.row.ImageURL,\"fit\":\"cover\"}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"Name\",\"label\":\"商品名称\"}}),_c('el-table-column',{attrs:{\"prop\":\"Price\",\"label\":\"售价(元)\"}}),(_vm.goodsClassifyTitle=='项目列表' || _vm.goodsClassifyTitle=='产品列表')?_c('el-table-column',{attrs:{\"prop\":\"OriginalText\",\"label\":\"划线价(元)\"}}):_vm._e(),(_vm.goodsClassifyTitle=='通用次卡列表')?_c('el-table-column',{attrs:{\"prop\":\"Amount\",\"label\":\"次数\"}}):_vm._e(),(_vm.goodsClassifyTitle=='时效卡列表')?_c('el-table-column',{attrs:{\"prop\":\"ConsumeCycle\",\"formatter\":_vm.formatterTimeCardDay,\"label\":\"消耗周期(天)\"}}):_vm._e(),(_vm.goodsClassifyTitle=='时效卡列表')?_c('el-table-column',{attrs:{\"prop\":\"CycleLimitAmount\",\"formatter\":_vm.formatterTimeCardNum,\"label\":\"周期次数\"}}):_vm._e(),(_vm.goodsClassifyTitle=='时效卡列表')?_c('el-table-column',{attrs:{\"prop\":\"PerformanceAmount\",\"label\":\"消耗提成次数\"}}):_vm._e(),(_vm.goodsClassifyTitle=='储值卡列表')?_c('el-table-column',{attrs:{\"prop\":\"LargessPrice\",\"label\":\"赠送金额\"}}):_vm._e(),(_vm.goodsClassifyTitle!='项目列表' && _vm.goodsClassifyTitle!='产品列表')?_c('el-table-column',{attrs:{\"prop\":\"ValidDayName\",\"label\":\"有效期\"}}):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"GoodsTypeName\",\"label\":\"商品类型\"}})],1)],1),_c('div',{staticClass:\"pad_10 dis_flex flex_x_end\"},[_c('el-pagination',{attrs:{\"background\":\"\",\"current-page\":_vm.paginations.page,\"layout\":_vm.paginations.layout,\"total\":_vm.paginations.total},on:{\"update:currentPage\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"current-change\":function($event){return _vm.pageChange('goodsClassify')}}})],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.goodsClassifyBool = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.saveGoodsClassify}},[_vm._v(\"确 定\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EShopDecoration.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EShopDecoration.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EShopDecoration.vue?vue&type=template&id=37dfe6dd&\"\nimport script from \"./EShopDecoration.vue?vue&type=script&lang=js&\"\nexport * from \"./EShopDecoration.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EShopDecoration.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAAEgBckRAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAADzElEQVRoBe1ZzWsTQRTPbkqKWAXjB3hSwZuCB2/qX1A9WcjBQy6lSfGgooIKUlAQ9WYvbdqQg0IuEU/F/gu9eRPBq2AFm1AxRaol6+9NMpvJ7M7szmRXU8jCZt687zdvPt5sMo1GI5cxeRzOvLq6es3zvDX0N8rl8iWOZ+3KyorHES4H4rdLlcoLmXu5Uvkq41h/aXnZU9pIkJAhr8hYqBcSMi6fL6aNQhxOXwKAMjqRSYSVAsign1lRwKFhR5pPikgtrMyTJEUzj0bUjat9q9V6mvG8BxnTsVUGLXnkdwcEqtXqHaIgB7d8DgkYEJibm3sl0QPdAYEANQSRjIDrulMhyruo1IfVMbVgPvmUwWkIpl5pVPkkrtM4bb6GmMCEjg9Tt9jpdF4Tj+M421hpxD8F+Dvgw4AniaZa/ETTGoDys6Jwb40slkqlEyRMD9b5gfX19cnp6endLmbwV2sAyhcG2YO9QqHwK4jtY1LPwcgZuEfB43x+1B8EPaTNgSyKnJyScVF9h3b7rWZzF/Pw5c35+YdRAnHook6XnQ4kRSdEQo+o06GzCkdk8Wg+fxpT7ncSNkSdxrujiQNY8Zv9JCeYA77RoSh6wxziCBPvoni5zpFbaFGOB+ipR9BPcsA2K2FY8YrZQO0WzoDjItwT+YYVrqz3tAZIgXQewIa3Axw7DwC7OJR2eoZCG+0QoYB5FirVQyKaDox0dDxaAyjeHuuEiYZoDup4tAZ0gnFpYwORIzV6Q4SpaXTTjh0Bii62WjHvc3hDr3HK8eJbq5LBgsB1xo7AwgYTSd8AHdBkikoNWy9lOVHn/j/0WV0UKLoSrDDk4bPts2GXi0P4+W8umbZeR8hhU9mcoIrU/zhCAojqWD6/kFSVGuFDbDKr1/lHnJ6f8L1/waONg28esbX+B0bZz9T3obRj3PcBRFalqhHELfkcaDMquiH+B758LBrKMHbrAHDiX4GGJ3ibeJ/jfYt3E0XqH7T8syV3qg38IcLTU6vVCD6/t7d3H+117CbbaDkvwPiPdQAwmkcQH+DYxfjmupyzs7M/AW3gnUEZdBXtWpdi/jvMGniXy+XI+FAPBuB9Npu9jG0ya6PIOgOYs59tDIbJICOUDatnmAxYGUxaaBxA0iNqqm+cAdWIYZs1uxmqFEXg08zAGcH2VL1ePyL0EwOtt9EwD1Be3Ab+Bg64C3jZvy2cr91ut3BofUH/I75r3cWnp0+cNkybaAC9esaqJLANIs0pZOuTkdy+D2B8qTfKd8LM2Kn7l3ps2kXST3+wjPKlXvSTLvV/AbkSinVCBNaUAAAAAElFTkSuQmCC\"","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n","/**\r\n * Created by jerry on 2020/02/14.\r\n * 组织架构api\r\n */\r\nimport * as API from '@/api/index'\r\n\r\nexport default {\r\n\r\n // 通讯录-员工列表\r\n getEmployee: params => {\r\n return API.POST('api/employee/empPermissionList', params)\r\n },\r\n //用户管理\r\n getEmployeeManage: params => {\r\n return API.POST('api/employeeManage/list', params)\r\n },\r\n // 通讯录-新增员工\r\n createEmployee: params => {\r\n return API.POST('api/employee/create', params)\r\n },\r\n // 通讯录-保存员工\r\n updateEmployee: params => {\r\n return API.POST('api/employee/update', params)\r\n },\r\n // 通讯录-批量更新员工职务\r\n updateEmployeeJobTypeBatch: params => {\r\n return API.POST('api/employee/updateEmployeeJobTypeBatch', params)\r\n },\r\n // 通讯录-批量更新员工部门\r\n updateEmployeeEntityBatch: params => {\r\n return API.POST('api/employee/updateEmployeeEntityBatch', params)\r\n },\r\n\r\n // 营业报表-消耗统计\r\n exportEmployeeExce: params => {\r\n return API.exportExcel('api/employee/excel', params)\r\n },\r\n}","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","// 网店装修\r\nimport * as API from '@/api/index'\r\nexport default {\r\n /** 配置保存*/\r\n Create: params => {\r\n return API.POST('api/homeConf/create', params)\r\n },\r\n /** 配置详情*/\r\n All: params => {\r\n return API.POST('api/homeConf/all', params)\r\n },\r\n /** 秒杀列表*/\r\n GetSecKill: params => {\r\n return API.POST('api/SecKill/getSecKill', params)\r\n },\r\n /** 拼团列表*/\r\n GetBookingList: params => {\r\n return API.POST('api/GroupBooking/getBookingList', params)\r\n },\r\n /** 商品列表*/\r\n GoodAll: params => {\r\n return API.POST('api/Commodity/all', params)\r\n },\r\n /** 商品分类*/\r\n GoodType: () => {\r\n return API.POST('api/Commodity/GoodType')\r\n },\r\n /** 线上分类 - 排除没有子类的分类*/\r\n AppletGoodsCategoryValid: params => {\r\n return API.POST('api/appletGoodsCategory/valid', params)\r\n },\r\n /** 上传图片*/\r\n AddImage: params => {\r\n return API.POST('api/Commodity/addImage', params)\r\n },\r\n // 网店商品分类新增项目商品列表\r\n GoodsCategoryProject: params => {\r\n return API.POST('api/appletGoodsCategory/project', params)\r\n },\r\n // 网店商品分类新增产品商品列表\r\n GoodsCategoryProduct: params => {\r\n return API.POST('api/appletGoodsCategory/product', params)\r\n },\r\n // 网店商品分类新增时效卡商品列表\r\n GoodsCategoryTimeCard: params => {\r\n return API.POST('api/appletGoodsCategory/timeCard', params)\r\n },\r\n // 网店商品分类新增储值卡商品列表\r\n GoodsCategorySavingCard: params => {\r\n return API.POST('api/appletGoodsCategory/savingCard', params)\r\n },\r\n // 网店商品分类新增通用次卡商品列表\r\n GoodsCategoryGeneralCard: params => {\r\n return API.POST('api/appletGoodsCategory/generalCard', params)\r\n },\r\n // 网店商品分类新增套餐卡商品列表\r\n GoodsCategoryPackageCard: params => {\r\n return API.POST('api/appletGoodsCategory/packageCard', params)\r\n },\r\n // 网店商品分类新增\r\n GoodsCategoryCreate: params => {\r\n return API.POST('api/appletGoodsCategory/create', params)\r\n },\r\n // 网店商品分类配置\r\n GoodsCategoryAll: params => {\r\n return API.POST('api/appletGoodsCategory/all', params)\r\n },\r\n /** 首页配置组件列表 */\r\n getComponents: params => {\r\n return API.POST('api/homeConf/getComponents', params)\r\n },\r\n /** 保存首页配置信息 */\r\n HomeConfcreate: params => {\r\n return API.POST('api/homeConf/create', params)\r\n },\r\n /** 获取首页配置信息 */\r\n getHomeConf: params => {\r\n return API.POST('api/homeConf/getHomeConf', params)\r\n },\r\n /** 个人中心配置查询 */\r\n getPersonalCenterConf: params => {\r\n return API.POST('api/PersonalCenter/all', params)\r\n },\r\n /** 个人中心配置保存 */\r\n PersonalCenterConfCreate: params => {\r\n return API.POST('api/PersonalCenter/create', params)\r\n },\r\n}\r\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAABCCAMAAAArKNU4AAAAq1BMVEUAAAAxMTEzMzM0NDQzMzMzMzMyMjIzMzMzMzMzMzMzMzMxMTEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMjIzMzMzMzMzMzMyMjIzMzMyMjIyMjIzMzMzMzMyMjIzMzMyMjIzMzMyMjIyMjIxMTEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMjIyMjIyMjIzMzMyMjIyMjIzMzMzMzMyMjIyMjIzMzMyMjJu07b0AAAAOXRSTlMAB/UM7v00y+bh2RDr8rP4FM+5pzgbyNSgQCati5phv5AwKR8Y3X1nWMR4XE87Ii1zhG9MllNIbEMEtirpAAAD9ElEQVRIx5WW55qiQBBFl5xzjhIEERQQTO//ZFsN67gzozNwf/p50Tp9LPvP+hDdLVxdwrZ0dTqvbln3kxEEK0tqdzjt+Y28rqYeB0MTOdldxaK91wGnUJwRrmll8XnP4RRVnPvlJYuOXY2kIPypWd66hjpPSjiuUFp9XUowvZxskWQZhsUpZkcvq229PnBEktPrksEpu8qXfJTQXsuAw0UtKO/VHlc2V2FBi+h20Z7FxX1ySf1qr0iyh/1essyd4ZBSoZ8uOdHGjMIa5oIjHsNNQUpOtDMtQkgHTeIj+lfd0yq0gYUdNZ0AcnmlQ9ph9xvBe40IFnJ/9wUYyDokPKvX2c8E/WspczirGbUJJUgeuxxn7NofYaQ312ZxdhNeMnVm5w8BW0SV9UMpP04Eef10+HhbVm5EPrxu3xP0L8lE8BwDwceracKQTm2q7xdGkzATwSqD0iO0W+DMLiPeEbzWMk+SvDx4LfGfEseAVOzKwt4QHE86sGCMngaCz2B3HYwcCew1wcFloAUsss8t4bBXcN3DXhL0bsH0BcvR+oIpb2xFNMzXBGFhkKSWxPT2y2OF7qbhYOQrgnGikSS3P1984vu6AyOZF0ZaYzkRDG7H/Pvg2zEEI8vsK8HsMBN0h/QVrbyJCi64+V9adG8ggvJpRLp/j38LuCJq8k8EW2+Yj7h+51xW6iwfjttPK7eKgKDIJA0i+DJdCEaWR/VZssz47EgSEKw6FcOIOYIgEBj2NDLiJe3WCU+CwIKXpEKuD7SfW1buo2QpTWfWE44ZiIrdWMRj5WaXcCNSFM7pZdxUVdXE8Q5l6Pvd9ePpmAdG7g9Aa26ZtaGJCgU91mFsFGaOpmmbc9w+oI0bMPI+t1T/3sPCoOYoioLPkaYoJJPQ/x5vVWBk8M/IYxPBwkCN6Z0ki8IVPIrDS7goH2ayRHZjpOJhpNec9Q1E12WUwEBx3QhyTtDxa/Cjm42skZHpXGsz05tzRDGn0FPS9JLsRc6dp9teQ17cPIwknifzykK3eEyXV1HBfhgJpfeBnc+g6dCabHcGx7lNvuhfdJTFf9NlNRiZwM5c0qNDG02XIyNtMNJTl9TQ1i9EO6Sx2cghFRbVhLTXYLpRxUyDBSNzYuEd4QDTMUOqerL0MHLZdAxZuHH3MHJh2tjl4O9+hB1JBsc/SyPQaLpNXzs459IrrqtousJ1Odi5k5FLp0sYUnIcCYzsFrdmrSgcp9hg8FfUBLPWKMhsy4rpLjIJS2Myck3PTNAFdDZy7XTUZOSawHJzKIqJWzBy3XQ6qewv6Oe6brqzJs5Grp3OASPXRj32Mhi5Nhhc6E+g1uqeX8HNbn1U77/D/gsIg2yOYd2OuAAAAABJRU5ErkJggg==\"","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA0CAMAAADPNIq/AAAAkFBMVEUAAACZmZmZmZmWlpaZmZmbm5uZmZmZmZmZmZmZmZmampqampqZmZmYmJiZmZmZmZmZmZmZmZmYmJiZmZmZmZmZmZmampqYmJiZmZmYmJiYmJiZmZmZmZmZmZmZmZmZmZmYmJiZmZmampqbm5uZmZmZmZmampqZmZmZmZmZmZmYmJiZmZmcnJyampqWlpaZmZnc8NVHAAAAL3RSTlMA+fQF7Avw5tkwHxDMFt6M4c+EvLKRazzCTxrHt3fUXDeYcCutnklBpHxlRSNVKMCW9DwAAALBSURBVEjHjVXXdusgEARUQA0JVav34pr//7vrOFkh24rPnTfQeNczW0ASSnbu2qKiBBOV20XbnTMFvUGxTCPtotDmKsFYpywPoy41TOuVaxm1G9qMftO+ML4HpcwO3dqwnmiamcStreKvJ2DVbuPE1DZE8+oGXAeeZOo8cK/mJt4U5erXLtQ8mtaYWermMu1r+txNs1+9iX+AeHsxD37y0G4ZcQDx9mMG8UO7WY/86yP4WJv3zE1U6Z+JetU2CjLTYuMLJpRVQlSMku1lkJpoKu3Nlc4Gt4zj0h3Y9ud2OaGy5esZe4exS5u+b9JuPHh4pfK2RGNBVyItuvmWWXdkt7kr6EqkxYgCe5WiBn6jKb/dpDV+oK5yRIAEI3CsjnOmyO6cjxV8IV6FPIpXbVdH23SUcw0IBpEU6XAgfEl+EkPyZOEEZBJEQJsuXAM9wXCFvhryiAjF75+J/aNZgKjq/0HEREeckt/U9ntqsA6rHsoZATFjojwNZjJy+MYECtfwepE6W9WObBc1D1E0ePCHRZk4iuQlpQDDvSFCJ5fJih4NWULjKLuAuSeUxDnGUKjw1FwcS9Ms59KcQo9ArjxOkDMNsog8iE5zb5r9fIoCvhZQHSYHTIArsfhxXcf+IlQsZ9v/Nu5yWrxNi3uVsG1ReZsGZ9Fjsu/qDvqncaVhfdMePpwjSP4C8ALa2azbivy1UojtTxm06OU6gBWvIGxJM22tQl+GHt4N6A3d7WnfxruCsH6IYefCzO1uPl1EMB7yRfAFlkzpoAk8EJRN4+uyIncHLyBEJr/VLXt1sFy7aSuoh36RDp4dtPckNWVItw6OEyyEFzjz8bBKx3yIL28U6P4ZnhFwcAdQdfFTddUGB3ehmdeFkZ8pAQf/yH7rBo7Bwb8Brw4NwcF9wKZl+REc/MDM5m5pz9LBD4Im/9i/Xf8D4Xy1dHOAVXAAAAAASUVORK5CYII=\"","/**\r\n * Created by jerry on 2020/02/14.\r\n * 组织架构api\r\n */\r\nimport * as API from '@/api/index'\r\n\r\nexport default {\r\n // 通讯录-组织架构\r\n getEntityAll:() =>{\r\n return API.POST('api/entity/entityPermission')\r\n },\r\n getEntity: params => {\r\n return API.POST('api/entity/list', params)\r\n },\r\n storeList: params => {\r\n return API.POST('api/entity/storeList', params)\r\n },\r\n //采购门店权限回显\r\n purchaseEntity: params => {\r\n return API.POST('api/entity/purchaseEntity', params)\r\n },\r\n //调拨门店回显\r\n allocationEntity: params => {\r\n return API.POST('api/entity/allocationEntity', params)\r\n },\r\n // 用户管理-组织架构\r\n getEntityAllManagement:() =>{\r\n return API.POST('api/entityEmployeeManage/all')\r\n },\r\n getEntityManagement: params => {\r\n return API.POST('api/entityEmployeeManage/list', params)\r\n },\r\n // 通讯录-新增组织架构\r\n createEntity: params => {\r\n return API.POST('api/entity/create', params)\r\n },\r\n // 通讯录-编辑组织架构\r\n updateEntity: params => {\r\n return API.POST('api/entity/update', params)\r\n },\r\n // 获取门店其他信息\r\n getOnlineEntityByID: params => {\r\n return API.POST('api/onlineEntity/getOnlineEntityByID', params)\r\n },\r\n // 通讯录-组织架构调整顺序\r\n moveEntity: params => {\r\n return API.POST('api/entity/move', params)\r\n },\r\n}","module.exports = __webpack_public_path__ + \"img/work1.72d40d9e.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"AuxiliaryLine \",style:(_vm.customStyle())})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuxiliaryLine.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuxiliaryLine.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AuxiliaryLine.vue?vue&type=template&id=5326e304&\"\nimport script from \"./AuxiliaryLine.vue?vue&type=script&lang=js&\"\nexport * from \"./AuxiliaryLine.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AuxiliaryLine.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import AMapLoader from '@amap/amap-jsapi-loader';\r\nimport {regionData,regionDataPlus,CodeToText,TextToCode,} from \"element-china-area-data\";\r\n\r\n/**\r\n * 高德地图封装\r\n *\r\n * @class Maps\r\n */\r\nclass Maps{\r\n\r\n constructor(option){\r\n this.option = option;\r\n }\r\n\r\n createAMapLoader(){\r\n return new Promise((resolve, reject) =>{\r\n AMapLoader.load({\r\n \"key\": \"099636a0fa6f7a6406346197ebcad3d8\", // 申请好的Web端开发者Key,首次调用 load 时必填\r\n // \"version\": \"2.0\", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15\r\n \"plugins\": [\r\n // 'AMap.ElasticMarker', // 灵活点标记,可以随着地图级别改变样式和大小的 Marker\r\n 'AMap.ToolBar', // 工具条,控制地图的缩放、平移等\r\n 'AMap.Scale', // 比例尺,显示当前地图中心的比例尺\r\n 'AMap.ControlBar', //\r\n 'AMap.Geolocation', //定位,提供了获取用户当前准确位置、所在城市的方法\r\n 'AMap.CitySearch',//城市获取服务,获取用户所在城市信息或根据给定IP参数查询城市信息\r\n 'AMap.Autocomplete', // 输入提示,提供了根据关键字获得提示信息的功能\r\n 'AMap.Geocoder', // 地理编码\r\n 'AMap.PlaceSearch', // 地点搜索服务插件,提供某一特定地区的位置查询服务\r\n ], // 需要使用的的插件列表,如比例尺'AMap.Scale'等\r\n })\r\n .then(AMap=>{\r\n this.gdmap = new AMap.Map(this.option.dom,this.option.setting);\r\n resolve(this.gdmap);\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n reject(err)\r\n })\r\n })\r\n }\r\n\r\n /**\r\n * 设置工具栏\r\n *\r\n * @memberOf Maps\r\n */\r\n setGdControl(){\r\n this.gdmap.setDefaultCursor(\"pointer\");\r\n // 比例尺\r\n this.gdmap.addControl(new AMap.Scale({ position: \"RB\" }));\r\n // 缩放控件\r\n this.gdmap.addControl(new AMap.ToolBar({}));\r\n // 定位信息\r\n this.gdmap.addControl(new AMap.Geolocation({}));\r\n }\r\n\r\n\r\n /**\r\n * 重新设置地图中心点\r\n *\r\n * @param {any} poisition\r\n *\r\n * @memberOf Maps\r\n */\r\n changeMapCenter(poisition){\r\n this.gdmap.setZoomAndCenter(15,poisition)\r\n }\r\n\r\n /**\r\n * 在地图上添加mark(定位标记图标)\r\n *\r\n * @param {any} markOption\r\n *\r\n * @memberOf Maps\r\n */\r\n addMark(markOption){\r\n let self = this\r\n let icons = ''\r\n if(markOption.clearMark){\r\n self.gdmap.clearMap()\r\n }\r\n if(markOption.icon){\r\n icons= new AMap.Icon({\r\n size: new AMap.Size(40, 50), //图标大小\r\n image: markOption.icon,\r\n imageOffset: new AMap.Pixel(0, -60)\r\n })\r\n }\r\n let mark = new AMap.Marker({\r\n position:markOption.position,\r\n icon:icons\r\n })\r\n if(markOption.title){\r\n self.addInfo(markOption);\r\n }\r\n mark.setMap(self.gdmap)\r\n mark.on(\"click\",function () {\r\n self.addInfo(markOption);\r\n })\r\n }\r\n /**\r\n * 在地图上添加信息展示窗口\r\n *\r\n * @param {any} infoOption\r\n *\r\n * @memberOf Maps\r\n */\r\n addInfo(infoOption){\r\n let infoWindow;\r\n let infos = [];\r\n infos.push(\"
\"+infoOption.title+\"
\");\r\n infoWindow = new AMap.InfoWindow({\r\n content: infos.join(\"
\"), //使用默认信息窗体框样式,显示信息内容\r\n offset: new AMap.Pixel(0, -30),\r\n autoMove:true\r\n });\r\n infoWindow.open(this.gdmap, infoOption.position);\r\n }\r\n\r\n /** 逆向地理编码 返回 详细地址 、省 、市、区 */\r\n getAddress_geocoder(lng, lat) {\r\n return new Promise((resolve, reject) =>{\r\n // let that = this;\r\n var geocoder = new AMap.Geocoder({\r\n city: \"010\", //城市设为北京,默认:“全国”\r\n radius: 1000, //范围,默认:500\r\n }); \r\n \r\n geocoder.getAddress([lng, lat], function (status, result) {\r\n if (status === \"complete\" && result.regeocode) {\r\n let province = result.regeocode.addressComponent.province; // 省\r\n let city = result.regeocode.addressComponent.city; // 市\r\n let district = result.regeocode.addressComponent.district; // 区\r\n // let township = result.regeocode.addressComponent.township; // 街道\r\n let street = result.regeocode.addressComponent.street; // 路\r\n let streetNumber = result.regeocode.addressComponent.streetNumber; // 号\r\n \r\n var address = result.regeocode.formattedAddress.split(district)[1] + street + streetNumber; // 格式化地址\r\n resolve({address:address,province:province,city:city,district:district});\r\n // if (that.editOrganization) {\r\n \r\n // that.ruleOrganization.AddressDetail = address;\r\n // } else {\r\n // that.ruleForm.AddressDetail = address;\r\n // }\r\n // that.getChinaAreaCode(province, city, district);\r\n } else {\r\n console.error(\"根据经纬度查询地址失败\");\r\n reject(result)\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n /** 正向地理编码 传入地址 返回经纬度 */\r\n getAddress_location(Address) {\r\n return new Promise((resolve, reject) =>{\r\n var geocoder = new AMap.Geocoder({\r\n // city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode\r\n city: \"全国\",\r\n });\r\n\r\n geocoder.getLocation(Address, function (status, result) {\r\n if (status === \"complete\" && result.info === \"OK\") {\r\n // result中对应详细地理坐标信息\r\n resolve(result.geocodes[0].location)\r\n }\r\n else{\r\n reject(result)\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n /** 地点搜索服务插件,提供某一特定地区的位置查询服务 */\r\n getPlaceSearch(panel,searchAddress) {\r\n let currentCity = \"全国\"; //地点搜索 范围 默认全国\r\n let placeSearch = new AMap.PlaceSearch({\r\n //构造地点查询类\r\n pageSize: 5, // 单页显示结果条数\r\n pageIndex: 1, // 页码\r\n city: currentCity, // 兴趣点城市\r\n // citylimit: true, //是否强制限制在设置的城市内搜索\r\n map: this.gdmap, // 展现结果的地图实例\r\n panel: panel, // 结果列表将在此容器中进行展示。\r\n autoFitView: true, // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围\r\n type:\"汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施\"\r\n });\r\n \r\n placeSearch.search(searchAddress, function(status,result){\r\n });\r\n\r\n return placeSearch;\r\n \r\n }\r\n \r\n /** 设置城市 */\r\n setCity(cityName){\r\n this.gdmap.setCity(cityName);\r\n }\r\n \r\n\r\n /**\r\n *\r\n * 在地图上标记园\r\n * @param {any} circleInfo\r\n *\r\n * @memberOf Maps\r\n */\r\n addCircle(circleInfo){\r\n let center = new AMap.LngLat(circleInfo.center[0],circleInfo.center[1])\r\n let Circle = new AMap.Circle({\r\n center:center,\r\n radius:circleInfo.radius,\r\n fillOpacity:circleInfo.Opacity,\r\n fillColor:circleInfo.bgColor,\r\n strokeColor:circleInfo.borderColor\r\n })\r\n Circle.setMap(this.gdmap)\r\n }\r\n /**\r\n * 按关键字搜索并返回地址列表\r\n *\r\n * @param {any} searchInfo 搜索配置信息isGeographicis经纬度,addr地址\r\n * @returns {arry} info 返回地址数组列表\r\n *\r\n * @memberOf Maps\r\n */\r\n searchPlace(searchInfo){\r\n return new Promise(function (resolve, reject) {\r\n let info = [];\r\n AMap.service([\"AMap.PlaceSearch\"], function() {\r\n let placeSearch = new AMap.PlaceSearch({\r\n type:\"汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施\",\r\n pageSize:searchInfo.size || searchInfo.size===0?searchInfo.size:10\r\n });\r\n //判断是否用经纬度搜索\r\n if(searchInfo.isGeographicis){\r\n placeSearch.searchNearBy('',searchInfo.Geographicis,searchInfo.range||1000);\r\n }else{\r\n placeSearch.search(searchInfo.addr)\r\n }\r\n //监听是否搜索完毕\r\n AMap.event.addListener(placeSearch, \"complete\", function (result) {\r\n result.poiList.pois.map(function (value) {\r\n info.push({\r\n lng:value.location.lng,\r\n lat:value.location.lat,\r\n name:value.name,\r\n addr:value.address\r\n });\r\n });\r\n resolve(info)\r\n });\r\n });\r\n });\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport default Maps;\r\n\r\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!./AuxiliaryLine.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"AuxiliaryBlank\",style:(_vm.customStyle())})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuxiliaryBlank.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuxiliaryBlank.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AuxiliaryBlank.vue?vue&type=template&id=20223e78&\"\nimport script from \"./AuxiliaryBlank.vue?vue&type=script&lang=js&\"\nexport * from \"./AuxiliaryBlank.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AuxiliaryBlank.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,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\"","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\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!./Carousel.vue?vue&type=style&index=0&lang=scss&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAA6CAMAAAD81Uu1AAAAmVBMVEUAAAA3NzczMzMzMzMzMzMyMjI0NDQwMDAyMjIyMjIyMjIzMzMzMzMyMjIyMjIzMzMyMjIyMjIzMzMzMzMyMjIzMzMzMzMzMzMzMzMzMzMyMjIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMjI0NDQzMzMzMzMyMjIzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMjI0NDQzMzNRa70HAAAAMnRSTlMABLju+DMSBscWDtqmPCP0wbTpvHBTHdGCd0dDLObhrpuTjolmMOprXCbj3XxN1aBWYrF5M5oAAAJFSURBVEjHjZXZeqowFIUThgAiKlIHJsW5rXY4ef+HO1k0QcqQdF/UnS8/ycqeShorTuF0Qv5kucWF+X+h34DCLGpkXxyu7GRAvekPt/Dx91vPWj8CXBLsxK+91sFHoNcVXNfBVxo2ArtZS/FYnMfhWGx/MrVKxGo+LsQW226zms3FMh6FcXEruDes33Qnt/JGfZ3qpdhsifQAv4zBodgsmhVbQEY0BmM3b2ok5NpII9ev0nftOuhMm8BUxu0KdjHCqlhNn4p4RQ3p3tReBvZIdMaQYKrUW0Rv78i3ciIDvFdZgArPAKeC2cOZoyoMsIv2gGgLVxhgiurIZOX7xGCVgL7E7xqiLwb4o62jMsAeKmIlv3ICA31ARUA9RsHBABdc5uWMo2cGeiFDTUO0qwHO1NHfcFYG2odqNTeWhjfmXPbLzDTAYLE6McVnDx2KE9UbLdAfevoB5iacoEQ3uBpUTiInQp/hErvQC0HS3yH7leMB+opagfE99Uj7qYTSPn0CUzX/DOYyOSy9Xw+dGlCBuDXf8S1js9WXA9c5dU9nd/VIsuVdSybd8kPPXusr/zld2qJDj9zUZ0RLRe3Sc8l7zayuTzy463hn2zv/mFMh0Ed8JkMTmMe9WRPYqLReQyag93Toyinp2mQD2poMjKKQ9CwIQftB5wxElfRtfQddRr3OW5IBC2olzrb1TBYqzX3dCYeFeaP4U7b0kFGZ7iT3KLucUTS68ZOVvXRrBj07/GYrsON2iZ+onxGTFdNyzu0wfsge+w9ifm/pO/yUoAAAAABJRU5ErkJggg==\"","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\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!./EShopDecoration.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"content_body Employee\"},[_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-aside',{staticStyle:{\"border-right\":\"1px solid #ddd\"},attrs:{\"width\":\"280px\"}},[_c('div',{staticClass:\"dis_flex flex_y_center pad_10\",staticStyle:{\"border-bottom\":\"1px solid #e4e6e9\"}},[_c('el-input',{staticClass:\"marrt_10\",attrs:{\"size\":\"small\",\"placeholder\":\"搜索部门、员工\",\"prefix-icon\":\"el-icon-search\",\"clearable\":\"\"},on:{\"clear\":_vm.contactQuery},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.contactQuery($event)}},model:{value:(_vm.tissueSearchKey),callback:function ($$v) {_vm.tissueSearchKey=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"tissueSearchKey\"}}),_c('i',{staticClass:\"el-icon-plus\",on:{\"click\":_vm.addEntityModal}})],1),_c('el-tree',{staticClass:\"padtp_10\",attrs:{\"expand-on-click-node\":false,\"node-key\":\"ID\",\"data\":_vm.entityList,\"auto-expand-parent\":true,\"props\":_vm.defaultProps,\"default-expanded-keys\":_vm.entityDefaultExpandedKeys,\"draggable\":\"\",\"allow-drag\":_vm.allowDrag,\"allow-drop\":_vm.allowDrop},on:{\"node-click\":_vm.handleNodeClick,\"node-drop\":_vm.handleDrop},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar data = ref.data;\nreturn _c('span',{},[_c('span',{staticClass:\"font_14\"},[_vm._v(_vm._s(data.EntityName))]),(data.IsStore)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"门店\")]):_vm._e(),(data.IsWarehouse)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"仓库\")]):_vm._e()],1)}}])})],1),_c('el-container',[_c('el-header',{staticStyle:{\"height\":\"auto\",\"padding\":\"0px\"}},[_c('div',{staticClass:\"nav_header\"},[_c('el-row',[_c('el-col',{attrs:{\"span\":22}},[_c('el-form',{attrs:{\"inline\":\"\",\"size\":\"small\",\"label-width\":\"80px\"}},[_c('el-form-item',[_c('div',{staticClass:\"padlt_10\"},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.departmentTitle),expression:\"departmentTitle\"}],on:{\"command\":_vm.handleCommand}},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\" \"+_vm._s(_vm.departmentTitle)+\"(\"+_vm._s(_vm.paginations.total)+\"人) \"),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"add\"}},[_vm._v(\"添加子部门\")]),(_vm.departmentParentID != 0)?_c('el-dropdown-item',{attrs:{\"command\":\"edit\"}},[_vm._v(\"修改\")]):_vm._e()],1)],1)],1)]),_c('el-form-item',{attrs:{\"label\":\"职务\",\"prop\":\"JobID\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\",\"size\":\"small\",\"filterable\":\"\",\"clearable\":\"\"},on:{\"change\":_vm.searchEmployeeData},model:{value:(_vm.JobID),callback:function ($$v) {_vm.JobID=$$v},expression:\"JobID\"}},_vm._l((_vm.jobTypeData),function(item){return _c('el-option',{key:item.ID,attrs:{\"label\":item.JobName,\"value\":item.ID}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"在职状态\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择会员等级\",\"clearable\":\"\"},on:{\"change\":_vm.searchEmployeeData},model:{value:(_vm.State),callback:function ($$v) {_vm.State=$$v},expression:\"State\"}},_vm._l(([\n { state: '在职', code: true },\n { state: '离职', code: false } ]),function(item){return _c('el-option',{key:item.state,attrs:{\"label\":item.state,\"value\":item.code}})}),1)],1),_c('el-form-item',[(_vm.employeeExcel)?_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\",\"loading\":_vm.downloadLoading},on:{\"click\":_vm.downloadExcel}},[_vm._v(\"导出\")]):_vm._e()],1)],1)],1),_c('el-col',{staticClass:\"text_right\",attrs:{\"span\":2}},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.addEmployeeModal}},[_vm._v(\"新增员工\")])],1)],1)],1)]),_c('el-main',{staticStyle:{\"padding\":\"0px\"}},[_c('div',[_c('el-table',{ref:\"multipleTable\",attrs:{\"size\":\"small\",\"data\":_vm.tableData,\"tooltip-effect\":\"light\"},on:{\"selection-change\":_vm.handleSelectionChange}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"width\":\"55\"}}),_c('el-table-column',{attrs:{\"prop\":\"ID\",\"label\":\"员工编号\"}}),_c('el-table-column',{attrs:{\"prop\":\"Name\",\"label\":\"员工姓名\"}}),_c('el-table-column',{attrs:{\"label\":\"所属单位\",\"show-overflow-tooltip\":\"\",\"min-width\":\"140px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._l((scope.row.Entity),function(item,index){return _c('span',{key:index},[_vm._v(_vm._s(item.EntityName)+_vm._s(item.IsPrimaryEntity ? \"[主]\" : \"\")+_vm._s(scope.row.Entity.length == index + 1 ? \"\" : \",\"))])})}}])}),_c('el-table-column',{attrs:{\"prop\":\"JobName\",\"label\":\"职务\"}}),_c('el-table-column',{attrs:{\"prop\":\"State\",\"label\":\"在职状态\",\"formatter\":_vm.formatStatus}}),_c('el-table-column',{attrs:{\"label\":\"操作\",\"width\":\"80px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.toStaffDetails(scope.row)}}},[_vm._v(\"编辑\")])]}}])})],1)],1),(_vm.paginations.total > 0)?_c('div',{staticClass:\"pad_10 dis_flex flex_x_between\"},[_c('el-dropdown',{attrs:{\"size\":\"small\"},on:{\"command\":_vm.handleSelect}},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"type\":\"primary\",\"size\":\"small\"}},[_vm._v(\" 批量设置 \"),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\",\"trigger\":\"click\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"duty\"}},[_vm._v(\"职务\")]),_c('el-dropdown-item',{attrs:{\"command\":\"belongToUnit\"}},[_vm._v(\"所属单位\")])],1)],1),_c('el-pagination',{attrs:{\"background\":\"\",\"current-page\":_vm.paginations.page,\"page-size\":_vm.paginations.page_size,\"page-sizes\":[10, 15, 20, 30, 40, 50],\"layout\":_vm.paginations.layout,\"total\":_vm.paginations.total},on:{\"current-change\":_vm.handleCurrentChange,\"update:currentPage\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.paginations, \"page\", $event)}}})],1):_vm._e()])],1)],1),_c('el-dialog',{attrs:{\"title\":\"新增员工\",\"visible\":_vm.addstaff,\"width\":\"950px\"},on:{\"update:visible\":function($event){_vm.addstaff=$event},\"closed\":function($event){return _vm.resetForm('ruleForms')}}},[_c('el-form',{ref:\"ruleForms\",attrs:{\"rules\":_vm.rules,\"model\":_vm.ruleForms,\"label-width\":\"120px\",\"size\":\"small\"}},[_c('div',{staticClass:\"tip\"},[_vm._v(\"基础档案\")]),_c('el-form-item',{attrs:{\"label\":\"员工姓名\",\"prop\":\"name\"}},[_c('el-input',{model:{value:(_vm.ruleForms.name),callback:function ($$v) {_vm.$set(_vm.ruleForms, \"name\", $$v)},expression:\"ruleForms.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"员工花名\",\"prop\":\"Alias\"}},[_c('el-input',{model:{value:(_vm.ruleForms.Alias),callback:function ($$v) {_vm.$set(_vm.ruleForms, \"Alias\", $$v)},expression:\"ruleForms.Alias\"}})],1),_c('el-form-item',{attrs:{\"label\":\"员工编号\",\"prop\":\"empId\"}},[_c('div',[_c('el-input',{model:{value:(_vm.ruleForms.empId),callback:function ($$v) {_vm.$set(_vm.ruleForms, \"empId\", $$v)},expression:\"ruleForms.empId\"}}),_c('span',{staticClass:\"color_gray padlt_20 font_12\",staticStyle:{\"height\":\"18px\"}},[_vm._v(\"员工唯一标识,设定后不允许修改,可以使用工号、邮箱等公司系统内统一的ID\")])],1)]),_c('el-form-item',{attrs:{\"label\":\"手机号\",\"prop\":\"phone\"}},[_c('el-input',{attrs:{\"maxlength\":\"11\"},model:{value:(_vm.ruleForms.phone),callback:function ($$v) {_vm.$set(_vm.ruleForms, \"phone\", $$v)},expression:\"ruleForms.phone\"}})],1),_c('el-form-item',{attrs:{\"label\":\"性别\",\"prop\":\"Gender\"}},[_c('el-radio-group',{model:{value:(_vm.ruleForms.Gender),callback:function ($$v) {_vm.$set(_vm.ruleForms, \"Gender\", $$v)},expression:\"ruleForms.Gender\"}},[_c('el-radio',{attrs:{\"label\":\"2\"}},[_vm._v(\"女\")]),_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"男\")])],1)],1),_c('div',{staticClass:\"tip\"},[_vm._v(\"聘用信息\")]),_c('el-form-item',{attrs:{\"label\":\"职务\",\"prop\":\"duty\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\",\"filterable\":\"\"},model:{value:(_vm.ruleForms.duty),callback:function ($$v) {_vm.$set(_vm.ruleForms, \"duty\", $$v)},expression:\"ruleForms.duty\"}},_vm._l((_vm.jobTypeData),function(item){return _c('el-option',{key:item.ID,attrs:{\"label\":item.JobName,\"value\":item.ID}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"所属单位\",\"prop\":\"Entity\"}},[_vm._l((_vm.ruleForms.Entity),function(tag,index){return _c('el-tag',{key:tag.EntityID,class:index == 0 ? '' : 'marlt_5',attrs:{\"closable\":\"\"},on:{\"close\":function($event){return _vm.handleClose(tag)}}},[_vm._v(_vm._s(tag.EntityName)+_vm._s(tag.IsPrimaryEntity ? \"[主]\" : \"\"))])}),_c('el-link',{staticClass:\"marlt_5\",attrs:{\"type\":\"primary\",\"underline\":false},on:{\"click\":_vm.addModifyEntity}},[_vm._v(\"修改\")]),(_vm.showTip)?_c('p',{staticClass:\"font_12 color_red\"},[_vm._v(\" 友情提醒:员工一般要配置到门店或仓库等具体部门才能开展业务 ! \")]):_vm._e()],2)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.resetForm('ruleForms')}}},[_vm._v(\"取消\")]),_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\",\"type\":\"primary\",\"loading\":_vm.modalLoading},on:{\"click\":function($event){return _vm.submitAddEmployee('ruleForms')}}},[_vm._v(\"保存\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"选择员工所在部门\",\"width\":\"950px\",\"visible\":_vm.addBelongToDia},on:{\"update:visible\":function($event){_vm.addBelongToDia=$event},\"close\":_vm.clickAddEmpBelongToCancalBtn}},[_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{staticStyle:{\"border-right\":\"1px dotted #dce1e6\"},attrs:{\"span\":12}},[_c('div',{staticClass:\"back_f7 min_hei_300 pad_10_15\"},[_c('el-input',{staticClass:\"marbm_15\",attrs:{\"size\":\"small\",\"placeholder\":\"请输入名称\",\"clearable\":\"\"},model:{value:(_vm.departmentName),callback:function ($$v) {_vm.departmentName=$$v},expression:\"departmentName\"}}),_c('el-scrollbar',{staticClass:\"el_scrollbar_height_dept\"},[_c('el-tree',{ref:\"tree\",staticClass:\"filter-tree\",attrs:{\"expand-on-click-node\":false,\"data\":_vm.entityTreeList,\"show-checkbox\":\"\",\"node-key\":\"ID\",\"default-expanded-keys\":[1],\"default-checked-keys\":_vm.treeDefaultCheckedKeys,\"props\":_vm.defaultProps,\"check-strictly\":true,\"filter-node-method\":_vm.filterNode,\"check-on-click-node\":true},on:{\"check\":_vm.getCheckedData},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var data = ref.data;\nreturn _c('span',{},[_c('span',[_vm._v(_vm._s(data.EntityName))]),(data.IsStore)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"门店\")]):_vm._e(),(data.IsWarehouse)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"仓库\")]):_vm._e()],1)}}])})],1)],1)]),_c('el-col',{attrs:{\"span\":12}},[_c('div',{staticClass:\"back_f7 min_hei_300 pad_10_15\"},[_c('div',[_vm._v(\"已选择的部门\")]),_c('el-scrollbar',{staticClass:\"el_scrollbar_height_dept\"},_vm._l((_vm.checkedData),function(item,index){return _c('div',{key:index,staticClass:\"martp_15 dis_flex flex_x_between flex_y_center\",staticStyle:{\"width\":\"98%\"},on:{\"mouseenter\":function($event){return _vm.dataDetails(item, index)},\"mouseleave\":function($event){return _vm.hiddenDetail(index)}}},[_c('div',{staticClass:\"dis_flex font_14\"},[_c('div',[_vm._v(_vm._s(item.EntityName))]),(item.IsStore)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"门店\")]):_vm._e(),(item.IsWarehouse)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"仓库\")]):_vm._e()],1),_c('div',{staticClass:\"dis_flex flex_y_center flex_x_end\"},[(item.IsPrimaryEntity)?_c('div',{staticClass:\"marrt_10 font_12 color_gray\"},[_vm._v(\" 主部门 \")]):_vm._e(),(item.isMouseenter && !item.IsPrimaryEntity)?_c('div',{staticClass:\"marrt_10 font_12 color_gray\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.setSection(index)}}},[_vm._v(\" 设为主部门 \")]):_vm._e(),_c('i',{staticClass:\"el-icon-close\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.removeSection(index, item)}}})])])}),0)],1)])],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\"},on:{\"click\":_vm.clickAddEmpBelongToCancalBtn}},[_vm._v(\"取 消\")]),_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.clickAddEmpBelongToBtn}},[_vm._v(\"确 定\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"员工详情\",\"visible\":_vm.empEditState,\"width\":\"60%\"},on:{\"update:visible\":function($event){_vm.empEditState=$event}}},[_c('el-form',{ref:\"formInline\",staticClass:\"demo-ruleForm\",attrs:{\"model\":_vm.formInline,\"rules\":_vm.rules_formInline,\"label-width\":\"120px\",\"size\":\"small\"}},[_c('div',{staticClass:\"tip\"},[_vm._v(\"基础档案\")]),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"员工编号\",\"prop\":\"ID\"}},[_c('el-input',{attrs:{\"size\":\"small\",\"disabled\":\"\",\"placeholder\":\"请输入\"},model:{value:(_vm.formInline.ID),callback:function ($$v) {_vm.$set(_vm.formInline, \"ID\", $$v)},expression:\"formInline.ID\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"员工姓名\",\"prop\":\"Name\"}},[_c('el-input',{attrs:{\"size\":\"small\",\"placeholder\":\"请输入\"},model:{value:(_vm.formInline.Name),callback:function ($$v) {_vm.$set(_vm.formInline, \"Name\", $$v)},expression:\"formInline.Name\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"员工花名\"}},[_c('el-input',{attrs:{\"placeholder\":\"请输入员工花名\",\"size\":\"small\"},model:{value:(_vm.formInline.Alias),callback:function ($$v) {_vm.$set(_vm.formInline, \"Alias\", $$v)},expression:\"formInline.Alias\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"手机号\",\"prop\":\"PhoneNumber\"}},[_c('el-input',{attrs:{\"maxlength\":\"11\",\"size\":\"small\",\"placeholder\":\"请输入\"},model:{value:(_vm.formInline.PhoneNumber),callback:function ($$v) {_vm.$set(_vm.formInline, \"PhoneNumber\", $$v)},expression:\"formInline.PhoneNumber\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"性别\",\"prop\":\"Gender\"}},[_c('el-radio-group',{model:{value:(_vm.formInline.Gender),callback:function ($$v) {_vm.$set(_vm.formInline, \"Gender\", $$v)},expression:\"formInline.Gender\"}},[_c('el-radio',{attrs:{\"label\":\"2\"}},[_vm._v(\"女\")]),_c('el-radio',{attrs:{\"label\":\"1\"}},[_vm._v(\"男\")])],1)],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"出生日期\"}},[_c('el-date-picker',{staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"date\",\"placeholder\":\"选择日期\",\"size\":\"small\"},model:{value:(_vm.formInline.Birthdate),callback:function ($$v) {_vm.$set(_vm.formInline, \"Birthdate\", $$v)},expression:\"formInline.Birthdate\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"证件号码\"}},[_c('el-input',{attrs:{\"placeholder\":\"请输入证件号码\",\"size\":\"small\"},model:{value:(_vm.formInline.IDNumber),callback:function ($$v) {_vm.$set(_vm.formInline, \"IDNumber\", $$v)},expression:\"formInline.IDNumber\"}})],1)],1),_c('el-col',{attrs:{\"span\":16}},[_c('el-form-item',{attrs:{\"label\":\"地址\"}},[_c('el-input',{attrs:{\"size\":\"small\",\"placeholder\":\"请输入地址信息\"},model:{value:(_vm.formInline.Address),callback:function ($$v) {_vm.$set(_vm.formInline, \"Address\", $$v)},expression:\"formInline.Address\"}})],1)],1)],1),_c('div',{staticClass:\"tip\"},[_vm._v(\"聘用信息\")]),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"职务\",\"prop\":\"JobID\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\",\"size\":\"small\",\"filterable\":\"\"},model:{value:(_vm.formInline.JobID),callback:function ($$v) {_vm.$set(_vm.formInline, \"JobID\", $$v)},expression:\"formInline.JobID\"}},_vm._l((_vm.jobTypeData),function(item){return _c('el-option',{key:item.ID,attrs:{\"label\":item.JobName,\"value\":item.ID}})}),1)],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"入职日期\"}},[_c('el-date-picker',{staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"date\",\"placeholder\":\"选择日期\",\"size\":\"small\"},model:{value:(_vm.formInline.EntryDate),callback:function ($$v) {_vm.$set(_vm.formInline, \"EntryDate\", $$v)},expression:\"formInline.EntryDate\"}})],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"试用期到期日\"}},[_c('el-date-picker',{staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"date\",\"placeholder\":\"选择日期\",\"size\":\"small\"},model:{value:(_vm.formInline.TrialExpiryDate),callback:function ($$v) {_vm.$set(_vm.formInline, \"TrialExpiryDate\", $$v)},expression:\"formInline.TrialExpiryDate\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"在职状态\",\"prop\":\"State\"}},[_c('el-radio-group',{model:{value:(_vm.formInline.State),callback:function ($$v) {_vm.$set(_vm.formInline, \"State\", $$v)},expression:\"formInline.State\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"在职\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"离职\")])],1)],1)],1),_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"合同日期\"}},[_c('el-date-picker',{attrs:{\"unlink-panels\":\"\",\"size\":\"small\",\"type\":\"daterange\",\"range-separator\":\"至\",\"start-placeholder\":\"开始日期\",\"end-placeholder\":\"结束日期\"},model:{value:(_vm.timeData),callback:function ($$v) {_vm.timeData=$$v},expression:\"timeData\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":8}},[_c('el-form-item',{attrs:{\"label\":\"社保缴纳日期\"}},[_c('el-date-picker',{staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"date\",\"placeholder\":\"选择日期\",\"size\":\"small\"},model:{value:(_vm.formInline.SocialSecurityPaymentDate),callback:function ($$v) {_vm.$set(_vm.formInline, \"SocialSecurityPaymentDate\", $$v)},expression:\"formInline.SocialSecurityPaymentDate\"}})],1)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',[_c('el-form-item',{attrs:{\"label\":\"所属单位\",\"prop\":\"Entity\"}},[_vm._l((_vm.formInline.Entity),function(tag,index){return _c('el-tag',{key:tag.EntityID,class:index == 0 ? '' : 'marlt_5',attrs:{\"closable\":\"\"},on:{\"close\":function($event){return _vm.handleCloseEdit(tag)}}},[_vm._v(_vm._s(tag.EntityName)+_vm._s(tag.IsPrimaryEntity ? \"[主]\" : \"\"))])}),_c('el-link',{staticClass:\"marlt_5\",attrs:{\"type\":\"primary\",\"underline\":false},on:{\"click\":_vm.editModifyEntity}},[_vm._v(\"修改\")])],2)],1)],1),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":\"备注\",\"prop\":\"Content\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":4,\"placeholder\":\"请填写备注\"},model:{value:(_vm.formInline.Remark),callback:function ($$v) {_vm.$set(_vm.formInline, \"Remark\", $$v)},expression:\"formInline.Remark\"}})],1)],1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.empEditState = false}}},[_vm._v(\"取 消\")]),_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\",\"type\":\"primary\",\"loading\":_vm.modalLoading},on:{\"click\":_vm.clickSaveBtn}},[_vm._v(\"保 存\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"新增组织\",\"custom-class\":\"addorganizationClass\",\"visible\":_vm.addorganization,\"width\":\"1000px\"},on:{\"update:visible\":function($event){_vm.addorganization=$event},\"close\":_vm.addorganizationClose}},[_c('el-tabs',{model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"基础信息\",\"name\":\"0\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-form',{ref:\"ruleForm\",attrs:{\"rules\":_vm.rules_2,\"size\":\"small\",\"model\":_vm.ruleForm,\"label-width\":\"120px\"}},[_c('el-form-item',{attrs:{\"label\":\"上级单位\",\"prop\":\"ParentID\"}},[_c('treeselect',{attrs:{\"options\":_vm.entityTreeList,\"normalizer\":_vm.normalizer,\"clearValueText\":\"\",\"noResultsText\":\"无匹配数据\",\"placeholder\":\"选择上级部门\"},model:{value:(_vm.ruleForm.ParentID),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"ParentID\", $$v)},expression:\"ruleForm.ParentID\"}})],1),_c('el-form-item',{attrs:{\"label\":\"单位名称\",\"prop\":\"EntityName\"}},[_c('el-input',{staticStyle:{\"width\":\"200px\"},model:{value:(_vm.ruleForm.EntityName),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"EntityName\", $$v)},expression:\"ruleForm.EntityName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"是否门店\",\"prop\":\"IsStore\"}},[_c('el-radio-group',{on:{\"change\":_vm.IsStoreChange},model:{value:(_vm.ruleForm.IsStore),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"IsStore\", $$v)},expression:\"ruleForm.IsStore\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"否\")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"是否仓库\",\"prop\":\"IsWarehouse\"}},[_c('el-radio-group',{attrs:{\"disabled\":_vm.ruleForm.IsStore},model:{value:(_vm.ruleForm.IsWarehouse),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"IsWarehouse\", $$v)},expression:\"ruleForm.IsWarehouse\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"否\")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"加盟店\",\"prop\":\"IsJoin\"}},[_c('el-radio-group',{model:{value:(_vm.ruleForm.IsJoin),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"IsJoin\", $$v)},expression:\"ruleForm.IsJoin\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"否\")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"地址\",\"prop\":\"selectedOptions\"}},[_c('el-cascader',{attrs:{\"clearable\":\"\",\"placeholder\":\"请选择省 / 市 / 区\",\"size\":\"small\",\"options\":_vm.options},on:{\"change\":_vm.handleChange},model:{value:(_vm.ruleForm.selectedOptions),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"selectedOptions\", $$v)},expression:\"ruleForm.selectedOptions\"}})],1),_c('el-form-item',{attrs:{\"label\":\"详细地址\",\"prop\":\"AddressDetail\"}},[_c('el-input',{staticClass:\"marrt_10\",attrs:{\"placeholder\":\"请输入具体地址\"},model:{value:(_vm.ruleForm.AddressDetail),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"AddressDetail\", $$v)},expression:\"ruleForm.AddressDetail\"}}),_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\"},on:{\"click\":_vm.getPlaceSearch}},[_vm._v(\"搜索地图\")])],1),_c('el-form-item',{attrs:{\"label\":\"地图定位\",\"prop\":\"Latitude\"}},[_c('div',{staticClass:\"position_relative\"},[_c('div',{attrs:{\"id\":\"container\"}}),_c('div',{attrs:{\"id\":\"panel\"}})])])],1)],1)],1),(_vm.ruleForm.IsStore)?_c('el-tab-pane',{attrs:{\"label\":\"门店信息\",\"name\":\"1\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-form',{ref:\"ruleForm1\",staticClass:\"demo-ruleForm\",attrs:{\"model\":_vm.ruleForm,\"rules\":_vm.rules,\"label-width\":\"100px\",\"size\":\"small\"}},[_c('el-form-item',{attrs:{\"label\":\"客服电话\",\"prop\":\"ServiceTelephoneNumber\"}},[_c('el-input',{attrs:{\"maxlength\":\"11\"},model:{value:(_vm.ruleForm.ServiceTelephoneNumber),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"ServiceTelephoneNumber\", $$v)},expression:\"ruleForm.ServiceTelephoneNumber\"}})],1),_c('el-form-item',{attrs:{\"label\":\"门店logo\"}},[_c('div',{staticClass:\"color_999\"},[_vm._v(\"只上传1张,建议尺寸宽:高为1:1\")]),_c('el-upload',{attrs:{\"action\":\"#\",\"limit\":1,\"list-type\":\"picture-card\",\"file-list\":_vm.ruleForm.Logo_file,\"before-upload\":_vm.beforeAvatarUpload},scopedSlots:_vm._u([{key:\"file\",fn:function(ref){\n var file = ref.file;\nreturn _c('div',{staticStyle:{\"height\":\"100px\",\"width\":\"100px\"}},[_c('el-image',{staticClass:\"el-upload-list__item-thumbnail\",attrs:{\"id\":file.uid,\"src\":file.url,\"preview-src-list\":_vm.showFileList_1,\"z-index\":9999,\"fit\":\"cover\"}}),_c('span',{staticClass:\"el-upload-list__item-actions\"},[_c('span',{staticClass:\"el-upload-list__item-preview\",on:{\"click\":function($event){return _vm.DialogPreview(file)}}},[_c('i',{staticClass:\"el-icon-zoom-in\"})]),_c('span',{staticClass:\"el-upload-list__item-delete\",on:{\"click\":function($event){return _vm.handleRemove(file, 10)}}},[_c('i',{staticClass:\"el-icon-delete\"})])])],1)}}],null,false,1859347006)},[_c('i',{staticClass:\"el-icon-camera-solid\",staticStyle:{\"font-size\":\"40px\",\"color\":\"#999\"},attrs:{\"slot\":\"default\"},slot:\"default\"})])],1),_c('el-form-item',{attrs:{\"label\":\"门店照片\"}},[_c('div',{staticClass:\"color_999\"},[_vm._v(\"最多上传5张,建议尺寸宽:高为16:9\")]),_c('el-upload',{attrs:{\"action\":\"#\",\"limit\":5,\"list-type\":\"picture-card\",\"file-list\":_vm.ruleForm.Photo_file_list,\"before-upload\":function ($event) { return _vm.storePhotoBeforeAvatarUpload($event, false); }},scopedSlots:_vm._u([{key:\"file\",fn:function(ref){\n var file = ref.file;\nreturn _c('div',{staticStyle:{\"height\":\"100px\",\"width\":\"100px\"}},[_c('el-image',{staticClass:\"el-upload-list__item-thumbnail\",attrs:{\"id\":file.uid,\"src\":file.url,\"preview-src-list\":_vm.showFileList_2,\"z-index\":9999,\"fit\":\"cover\"}}),_c('span',{staticClass:\"el-upload-list__item-actions\"},[_c('span',{staticClass:\"el-upload-list__item-preview\",on:{\"click\":function($event){return _vm.DialogPreview(file)}}},[_c('i',{staticClass:\"el-icon-zoom-in\"})]),_c('span',{staticClass:\"el-upload-list__item-delete\",on:{\"click\":function($event){return _vm.handleRemove(file, 20)}}},[_c('i',{staticClass:\"el-icon-delete\"})])])],1)}}],null,false,2132275326)},[_c('i',{staticClass:\"el-icon-camera-solid\",staticStyle:{\"font-size\":\"40px\",\"color\":\"#999\"},attrs:{\"slot\":\"default\"},slot:\"default\"})])],1),_c('el-form-item',{attrs:{\"label\":\"营业时间\"}},[_vm._l((_vm.businessHours),function(item,index){return _c('el-button',{key:index,attrs:{\"type\":item.bool ? 'primary' : ''},on:{\"click\":function($event){return _vm.selBusinessHours(index)}}},[_vm._v(_vm._s(item.name))])}),_c('div',{staticClass:\"martp_20\"},[_c('el-time-picker',{attrs:{\"is-range\":\"\",\"arrow-control\":\"\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"placeholder\":\"选择时间范围\"},model:{value:(_vm.ruleForm.BusinessTime),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"BusinessTime\", $$v)},expression:\"ruleForm.BusinessTime\"}})],1)],2),_c('el-form-item',{attrs:{\"label\":\"店铺简介\",\"prop\":\"intro\"}},[_c('el-input',{staticStyle:{\"width\":\"95%\"},attrs:{\"type\":\"textarea\"},model:{value:(_vm.ruleForm.Description),callback:function ($$v) {_vm.$set(_vm.ruleForm, \"Description\", $$v)},expression:\"ruleForm.Description\"}})],1)],1)],1)],1):_vm._e(),_c('el-tab-pane',{attrs:{\"name\":\"2\",\"label\":\"可采购门店/仓库\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-tree',{ref:\"refPurchase\",attrs:{\"expand-on-click-node\":false,\"check-on-click-node\":true,\"check-strictly\":true,\"data\":_vm.storeList,\"show-checkbox\":\"\",\"node-key\":\"ID\",\"default-checked-keys\":_vm.defaultCheckedPurchase,\"props\":_vm.defaultProps}})],1)],1),_c('el-tab-pane',{attrs:{\"name\":\"3\",\"label\":\"可调拨门店/仓库\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-tree',{ref:\"refSale\",attrs:{\"expand-on-click-node\":false,\"check-on-click-node\":true,\"check-strictly\":true,\"data\":_vm.storeList,\"show-checkbox\":\"\",\"node-key\":\"ID\",\"default-checked-keys\":_vm.defaultCheckedKeysSale,\"props\":_vm.defaultProps}})],1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.addorganization = false}}},[_vm._v(\"取 消\")]),_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\",\"type\":\"primary\",\"loading\":_vm.modalLoading},on:{\"click\":_vm.addEntity}},[_vm._v(\"保 存\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"编辑组织\",\"custom-class\":\"addorganizationClass\",\"visible\":_vm.editOrganization,\"width\":\"1000px\"},on:{\"update:visible\":function($event){_vm.editOrganization=$event},\"closed\":_vm.closedEditDialog}},[_c('el-tabs',{model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"基础信息\",\"name\":\"0\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-form',{ref:\"ruleOrganization\",attrs:{\"rules\":_vm.rules_3,\"size\":\"small\",\"model\":_vm.ruleOrganization,\"label-width\":\"120px\"}},[_c('el-form-item',{attrs:{\"label\":\"上级单位\",\"prop\":\"ParentID\"}},[_c('treeselect',{attrs:{\"options\":_vm.entityTreeList,\"normalizer\":_vm.normalizer,\"clearValueText\":\"\",\"noResultsText\":\"无匹配数据\",\"placeholder\":\"选择上级部门\"},model:{value:(_vm.ruleOrganization.ParentID),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"ParentID\", $$v)},expression:\"ruleOrganization.ParentID\"}})],1),_c('el-form-item',{attrs:{\"label\":\"单位名称\",\"prop\":\"EntityName\"}},[_c('el-input',{staticStyle:{\"width\":\"200px\"},model:{value:(_vm.ruleOrganization.EntityName),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"EntityName\", $$v)},expression:\"ruleOrganization.EntityName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"是否门店\",\"prop\":\"IsStore\"}},[_c('el-radio-group',{attrs:{\"disabled\":true},on:{\"change\":_vm.IsEditStoreChange},model:{value:(_vm.ruleOrganization.IsStore),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"IsStore\", $$v)},expression:\"ruleOrganization.IsStore\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"否\")])],1),_c('span',{staticClass:\"padlt_20 marlt_20 color_gray\"},[_vm._v(\"当前单位可为部门、区域、市场等\")])],1),_c('el-form-item',{attrs:{\"label\":\"是否仓库\",\"prop\":\"IsWarehouse\"}},[_c('el-radio-group',{attrs:{\"disabled\":true},model:{value:(_vm.ruleOrganization.IsWarehouse),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"IsWarehouse\", $$v)},expression:\"ruleOrganization.IsWarehouse\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"否\")])],1),_c('span',{staticClass:\"padlt_20 marlt_20 color_gray\"},[_vm._v(\"当前单位既是仓库也是单位(门店或非门店)\")])],1),_c('el-form-item',{attrs:{\"label\":\"是否有效\",\"prop\":\"Active\"}},[_c('el-radio-group',{model:{value:(_vm.ruleOrganization.Active),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"Active\", $$v)},expression:\"ruleOrganization.Active\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"否\")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"加盟店\"}},[_c('el-radio-group',{model:{value:(_vm.ruleOrganization.IsJoin),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"IsJoin\", $$v)},expression:\"ruleOrganization.IsJoin\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"是\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"否\")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"地址\",\"prop\":\"selectedOptions\"}},[_c('el-cascader',{attrs:{\"clearable\":\"\",\"placeholder\":\"请选择省 / 市 / 区\",\"size\":\"small\",\"options\":_vm.options},on:{\"change\":_vm.handleChange},model:{value:(_vm.ruleOrganization.selectedOptions),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"selectedOptions\", $$v)},expression:\"ruleOrganization.selectedOptions\"}})],1),_c('el-form-item',{attrs:{\"label\":\"详细地址\",\"prop\":\"AddressDetail\"}},[_c('el-input',{staticClass:\"marrt_10\",attrs:{\"placeholder\":\"请输入具体地址\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getPlaceSearch($event)}},model:{value:(_vm.ruleOrganization.AddressDetail),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"AddressDetail\", $$v)},expression:\"ruleOrganization.AddressDetail\"}}),_c('el-button',{attrs:{\"type\":\"primary\",\"plain\":\"\"},on:{\"click\":_vm.getPlaceSearch}},[_vm._v(\"搜索地图\")])],1),_c('el-form-item',{attrs:{\"label\":\"地图定位\",\"prop\":\"Latitude\"}},[_c('div',{staticClass:\"position_relative\"},[_c('div',{attrs:{\"id\":\"editContainer\"}}),_c('div',{attrs:{\"id\":\"editPanel\"}})])])],1)],1)],1),(_vm.ruleOrganization.IsStore)?_c('el-tab-pane',{attrs:{\"label\":\"门店信息\",\"name\":\"1\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-form',{ref:\"ruleOrganization1\",attrs:{\"model\":_vm.ruleOrganization,\"rules\":_vm.rules_3,\"label-width\":\"100px\",\"size\":\"small\"}},[_c('el-form-item',{attrs:{\"label\":\"客服电话\",\"prop\":\"ServiceTelephoneNumber\"}},[_c('el-input',{attrs:{\"maxlength\":\"11\"},model:{value:(_vm.ruleOrganization.ServiceTelephoneNumber),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"ServiceTelephoneNumber\", $$v)},expression:\"ruleOrganization.ServiceTelephoneNumber\"}})],1),_c('el-form-item',{attrs:{\"label\":\"门店logo\"}},[_c('div',{staticClass:\"color_999\"},[_vm._v(\"只上传1张,建议尺寸宽:高为1:1\")]),_c('el-upload',{attrs:{\"action\":\"#\",\"limit\":1,\"list-type\":\"picture-card\",\"file-list\":_vm.ruleOrganization.Logo_file,\"before-upload\":function ($event) { return _vm.beforeAvatarUpload($event, true); }},scopedSlots:_vm._u([{key:\"file\",fn:function(ref){\n var file = ref.file;\nreturn _c('div',{staticStyle:{\"height\":\"100px\",\"width\":\"100px\"}},[_c('el-image',{staticClass:\"el-upload-list__item-thumbnail\",attrs:{\"id\":file.uid,\"src\":file.url,\"preview-src-list\":_vm.showFileList_3,\"z-index\":9999,\"fit\":\"cover\"}}),_c('span',{staticClass:\"el-upload-list__item-actions\"},[_c('span',{staticClass:\"el-upload-list__item-preview\",on:{\"click\":function($event){return _vm.DialogPreview(file)}}},[_c('i',{staticClass:\"el-icon-zoom-in\"})]),_c('span',{staticClass:\"el-upload-list__item-delete\",on:{\"click\":function($event){return _vm.handleRemove(file, 30)}}},[_c('i',{staticClass:\"el-icon-delete\"})])])],1)}}],null,false,1447571774)},[_c('i',{staticClass:\"el-icon-camera-solid\",staticStyle:{\"font-size\":\"40px\",\"color\":\"#999\"},attrs:{\"slot\":\"default\"},slot:\"default\"})])],1),_c('el-form-item',{attrs:{\"label\":\"门店照片\"}},[_c('div',{staticClass:\"color_999\"},[_vm._v(\"最多上传5张,建议尺寸宽:高为16:9\")]),_c('el-upload',{attrs:{\"action\":\"#\",\"limit\":5,\"list-type\":\"picture-card\",\"file-list\":_vm.ruleOrganization.Photo_file_list,\"before-upload\":function ($event) { return _vm.storePhotoBeforeAvatarUpload($event, true); }},scopedSlots:_vm._u([{key:\"file\",fn:function(ref){\n var file = ref.file;\nreturn _c('div',{staticStyle:{\"height\":\"100px\",\"width\":\"100px\"}},[_c('el-image',{staticClass:\"el-upload-list__item-thumbnail\",attrs:{\"id\":file.uid,\"src\":file.url,\"preview-src-list\":_vm.showFileList_4,\"z-index\":9999,\"fit\":\"cover\"}}),_c('span',{staticClass:\"el-upload-list__item-actions\"},[_c('span',{staticClass:\"el-upload-list__item-preview\",on:{\"click\":function($event){return _vm.DialogPreview(file)}}},[_c('i',{staticClass:\"el-icon-zoom-in\"})]),_c('span',{staticClass:\"el-upload-list__item-delete\",on:{\"click\":function($event){return _vm.handleRemove(file, 40)}}},[_c('i',{staticClass:\"el-icon-delete\"})])])],1)}}],null,false,48318334)},[_c('i',{staticClass:\"el-icon-camera-solid\",staticStyle:{\"font-size\":\"40px\",\"color\":\"#999\"},attrs:{\"slot\":\"default\"},slot:\"default\"})])],1),_c('el-form-item',{attrs:{\"label\":\"营业时间\"}},[_vm._l((_vm.businessHours),function(item,index){return _c('el-button',{key:index,attrs:{\"type\":item.bool ? 'primary' : ''},on:{\"click\":function($event){return _vm.selBusinessHours(index)}}},[_vm._v(_vm._s(item.name))])}),_c('div',{staticClass:\"martp_20\"},[_c('el-time-picker',{attrs:{\"is-range\":\"\",\"arrow-control\":\"\",\"range-separator\":\"至\",\"start-placeholder\":\"开始时间\",\"end-placeholder\":\"结束时间\",\"placeholder\":\"选择时间范围\",\"value-format\":\"HH:mm:ss\"},model:{value:(_vm.ruleOrganization.BusinessTime),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"BusinessTime\", $$v)},expression:\"ruleOrganization.BusinessTime\"}})],1)],2),_c('el-form-item',{attrs:{\"label\":\"店铺简介\",\"prop\":\"intro\"}},[_c('el-input',{attrs:{\"rows\":4,\"type\":\"textarea\"},model:{value:(_vm.ruleOrganization.Description),callback:function ($$v) {_vm.$set(_vm.ruleOrganization, \"Description\", $$v)},expression:\"ruleOrganization.Description\"}})],1)],1)],1)],1):_vm._e(),_c('el-tab-pane',{attrs:{\"name\":\"2\",\"label\":\"可采购门店/仓库\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-tree',{ref:\"refEditPur\",attrs:{\"expand-on-click-node\":false,\"check-on-click-node\":true,\"check-strictly\":true,\"data\":_vm.storeList,\"show-checkbox\":\"\",\"node-key\":\"ID\",\"default-checked-keys\":_vm.defaultCheckedPurchase,\"props\":_vm.defaultProps}})],1)],1),_c('el-tab-pane',{attrs:{\"name\":\"3\",\"label\":\"可调拨门店/仓库\"}},[_c('el-scrollbar',{staticClass:\"el_scrollbar_height\"},[_c('el-tree',{ref:\"refEditSale\",attrs:{\"expand-on-click-node\":false,\"check-on-click-node\":true,\"check-strictly\":true,\"data\":_vm.storeList,\"show-checkbox\":\"\",\"node-key\":\"ID\",\"default-checked-keys\":_vm.defaultCheckedKeysSale,\"props\":_vm.defaultProps}})],1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.editOrganization = false}}},[_vm._v(\"取 消\")]),_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\",\"type\":\"primary\",\"loading\":_vm.modalLoading},on:{\"click\":_vm.submitoOrganization}},[_vm._v(\"保 存\")])],1)],1),_c('el-dialog',{attrs:{\"visible\":_vm.dialogVisible,\"width\":\"30%\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('template',{slot:\"title\"},[_c('span',{staticClass:\"font_18 font_weight_300 marrt_15\"},[_vm._v(\"批量设置职务\")]),_c('span',{staticClass:\"color_gray\"},[_vm._v(\"已选中\"+_vm._s(_vm.employeeNum)+\"个员工\")])]),_c('el-form',{ref:\"dutyRuleForms\",staticClass:\"demo-ruleForm padtp_20\",attrs:{\"rules\":_vm.rules_duty,\"size\":\"small\",\"model\":_vm.dutyRuleForms,\"label-width\":\"120px\"}},[_c('el-form-item',{attrs:{\"label\":\"职务\",\"prop\":\"duty\"}},[_c('el-select',{attrs:{\"placeholder\":\"请选择\",\"filterable\":\"\"},model:{value:(_vm.dutyRuleForms.duty),callback:function ($$v) {_vm.$set(_vm.dutyRuleForms, \"duty\", $$v)},expression:\"dutyRuleForms.duty\"}},_vm._l((_vm.jobTypeData),function(item){return _c('el-option',{key:item.ID,attrs:{\"label\":item.JobName,\"value\":item.ID}})}),1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.dialogVisible = false}}},[_vm._v(\"取 消\")]),_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"type\":\"primary\",\"size\":\"small\",\"loading\":_vm.modalLoading},on:{\"click\":_vm.clickSureBtn}},[_vm._v(\"确 定\")])],1)],2),_c('el-dialog',{attrs:{\"visible\":_vm.belongto},on:{\"update:visible\":function($event){_vm.belongto=$event}}},[_c('template',{slot:\"title\"},[_c('span',{staticClass:\"font_18 font_weight_300 marrt_15\"},[_vm._v(\"批量设置所属单位\")]),_c('span',{staticClass:\"color_gray\"},[_vm._v(\"已选中\"+_vm._s(_vm.employeeNum)+\"个员工\")])]),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{staticStyle:{\"border-right\":\"1px dotted #dce1e6\"},attrs:{\"span\":12}},[_c('div',{staticClass:\"back_f7 min_hei_300 pad_10_15\"},[_c('el-input',{staticClass:\"marbm_15\",attrs:{\"size\":\"small\",\"placeholder\":\"请输入名称\",\"clearable\":\"\"},model:{value:(_vm.departmentName),callback:function ($$v) {_vm.departmentName=$$v},expression:\"departmentName\"}}),_c('el-tree',{ref:\"tree\",staticClass:\"filter-tree\",attrs:{\"expand-on-click-node\":false,\"data\":_vm.entityTreeList,\"show-checkbox\":\"\",\"node-key\":\"ID\",\"default-expanded-keys\":[1],\"props\":_vm.defaultProps,\"check-strictly\":true,\"filter-node-method\":_vm.filterNode,\"check-on-click-node\":true},on:{\"check\":_vm.getCheckedData},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var data = ref.data;\nreturn _c('span',{},[_c('span',[_vm._v(_vm._s(data.EntityName))]),(data.IsStore)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"门店\")]):_vm._e(),(data.IsWarehouse)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"仓库\")]):_vm._e()],1)}}])})],1)]),_c('el-col',{attrs:{\"span\":12}},[_c('div',{staticClass:\"back_f7 min_hei_300 pad_10_15\"},[_c('div',[_vm._v(\"已选择的部门\")]),_vm._l((_vm.checkedData),function(item,index){return _c('div',{key:index,staticClass:\"martp_15 dis_flex flex_x_between flex_y_center\",on:{\"mouseenter\":function($event){return _vm.dataDetails(item, index)},\"mouseleave\":function($event){return _vm.hiddenDetail(index)}}},[_c('div',{staticClass:\"dis_flex font_14\"},[_c('div',[_vm._v(_vm._s(item.EntityName))]),(item.IsStore)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"门店\")]):_vm._e(),(item.IsWarehouse)?_c('el-tag',{staticClass:\"marlt_5\",attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_vm._v(\"仓库\")]):_vm._e()],1),_c('div',{staticClass:\"dis_flex flex_y_center flex_x_end\"},[(item.IsPrimaryEntity)?_c('div',{staticClass:\"marrt_10 font_12 color_gray\"},[_vm._v(\" 主部门 \")]):_vm._e(),(item.isMouseenter && !item.IsPrimaryEntity)?_c('div',{staticClass:\"marrt_10 font_12 color_gray\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.setSection(index)}}},[_vm._v(\" 设为主部门 \")]):_vm._e(),_c('i',{staticClass:\"el-icon-close r\",on:{\"click\":function($event){return _vm.removeSection(index, item)}}})])])})],2)])],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.belongto = false}}},[_vm._v(\"取 消\")]),_c('el-button',{directives:[{name:\"prevent-click\",rawName:\"v-prevent-click\"}],attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.clickBelongToSureBtn}},[_vm._v(\"确 定\")])],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./employee.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./employee.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./employee.vue?vue&type=template&id=0ba2cea6&\"\nimport script from \"./employee.vue?vue&type=script&lang=js&\"\nexport * from \"./employee.vue?vue&type=script&lang=js&\"\nimport style0 from \"./employee.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAhFBMVEUAAACZmZmZmZmZmZmampqZmZmYmJiZmZmZmZmZmZmgoKCZmZmZmZmXl5ebm5uZmZmZmZmZmZmZmZmZmZmZmZmSkpKYmJiZmZmZmZmZmZmZmZmbm5uZmZmampqZmZmZmZmZmZmampqampqZmZmZmZmfn5+ZmZmZmZmZmZmYmJiZmZmZmZloGaYAAAAAK3RSTlMA+vLrktow9tKYBubLMxrusL7ehbkPQE1oWUYexW86jbZyUNCbENenZCV7WFDGMAAAAbpJREFUOMudlelypSAQhVlFBRUR9/WuScb3f7/RTKaQnqS8Necn9Xm6GrqPyClOq4YtN0mEoEZp1lRpjP5RXPZBPc564FRgQeRz0PNYJ30J2TJoZ624pATjFW8olVzpuQ1K3y+dmkhRvHrCVEXN5NVP68LybOMAmXFb1OnBrytyun4rmhddGju/wZWF5Ye/nnE5QT/oOZXxZ7+NBX7A0zafvfft3RyOhVR5rqQ4fGrubb9VTtgtc4fC6PeqetdGuLPsxpIYpdfleC8kZAFCAQvJoQpZrinqLspxPuhIdenQyPh6Bq6cjSjS8hyUOkJWZedgpiwKjTgHhQmRpPgcxFQiIl4BBUGOO4Af433JvzQ8pVgx/t6x/Eim6kttoeUOUuKD/K1NPNW/tNxLGyn8oQ515Oktf5K9GcUJGH/DPRlJ8H49y37hoENPQuD9wt0TQoEndEMBBYbCjRkUGDM3uFBgcN0qQIFVcMsFBZcLPV5Z18ceAI/zAHjEL0aKC6l5+Cmkhrk7BF9//SH2jC2u/f8EqYvmTGC8IVhkLpph2Cf1hWll6Ib++S1cYNi7nsbIhpJgTGRoo7E7Vv0NciufvotaVE4AAAAASUVORK5CYII=\"","'use strict';(function(m,p){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=p():\"function\"===typeof define&&define.amd?define(p):(m=m||self,m.AMapLoader=p())})(this,function(){function m(a){var b=[];a.AMapUI&&b.push(p(a.AMapUI));a.Loca&&b.push(r(a.Loca));return Promise.all(b)}function p(a){return new Promise(function(h,c){var f=[];if(a.plugins)for(var e=0;e= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeDecoration.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeDecoration.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomeDecoration.vue?vue&type=template&id=ad858d72&\"\nimport script from \"./HomeDecoration.vue?vue&type=script&lang=js&\"\nexport * from \"./HomeDecoration.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomeDecoration.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default,\n },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node = \n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n }\n else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n }\n else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n }\n else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n }\n else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n};\n\nDelta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n};\n\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = (delta === other) ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ?\n thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n};\n\nDelta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n\n return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\n\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n if (head instanceof _break2.default) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }\n }]);\n\n return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
' + html + '


');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n\n return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\n\nfunction normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({ image: op.attributes.image }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: { list: 'checked' },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n}\n\nfunction handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n}\n\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n}\n\nfunction makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n}\n\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n this.options = options;\n\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = { undo: [], redo: [] };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n}\n\nfunction getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n } // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n}\n\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\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\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n}\n\nfunction computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n}\n\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n}\n\nfunction matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n}\n\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n}\n\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\n\nfunction addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n );\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"quill\")):\"function\"==typeof define&&define.amd?define([\"quill\"],e):\"object\"==typeof exports?exports.VueQuillEditor=e(require(\"quill\")):t.VueQuillEditor=e(t.Quill)}(this,function(t){return function(t){function e(i){if(n[i])return n[i].exports;var l=n[i]={i:i,l:!1,exports:{}};return t[i].call(l.exports,l,l.exports,e),l.l=!0,l.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=2)}([function(e,n){e.exports=t},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(4),l=n.n(i),o=n(6),r=n(5),u=r(l.a,o.a,!1,null,null,null);e.default=u.exports},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.install=e.quillEditor=e.Quill=void 0;var l=n(0),o=i(l),r=n(1),u=i(r),s=window.Quill||o.default,a=function(t,e){e&&(u.default.props.globalOptions.default=function(){return e}),t.component(u.default.name,u.default)},c={Quill:s,quillEditor:u.default,install:a};e.default=c,e.Quill=s,e.quillEditor=u.default,e.install=a},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={theme:\"snow\",boundary:document.body,modules:{toolbar:[[\"bold\",\"italic\",\"underline\",\"strike\"],[\"blockquote\",\"code-block\"],[{header:1},{header:2}],[{list:\"ordered\"},{list:\"bullet\"}],[{script:\"sub\"},{script:\"super\"}],[{indent:\"-1\"},{indent:\"+1\"}],[{direction:\"rtl\"}],[{size:[\"small\",!1,\"large\",\"huge\"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],[\"clean\"],[\"link\",\"image\",\"video\"]]},placeholder:\"Insert text here ...\",readOnly:!1}},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(0),o=i(l),r=n(3),u=i(r),s=window.Quill||o.default;\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(t,e){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(t),i=1;i

\"===l&&(l=\"\"),t._content=l,t.$emit(\"input\",t._content),t.$emit(\"change\",{html:l,text:r,quill:o})}),this.$emit(\"ready\",this.quill))}},watch:{content:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},value:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},disabled:function(t,e){this.quill&&this.quill.enable(!t)}}}},function(t,e){t.exports=function(t,e,n,i,l,o){var r,u=t=t||{},s=typeof t.default;\"object\"!==s&&\"function\"!==s||(r=t,u=t.default);var a=\"function\"==typeof u?u.options:u;e&&(a.render=e.render,a.staticRenderFns=e.staticRenderFns,a._compiled=!0),n&&(a.functional=!0),l&&(a._scopeId=l);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},a._ssrRegister=c):i&&(c=i),c){var d=a.functional,f=d?a.render:a.beforeCreate;d?(a._injectStyles=c,a.render=function(t,e){return c.call(e),f(t,e)}):a.beforeCreate=f?[].concat(f,c):[c]}return{esModule:r,exports:u,options:a}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"quill-editor\"},[t._t(\"toolbar\"),t._v(\" \"),n(\"div\",{ref:\"editor\"})],2)},l=[],o={render:i,staticRenderFns:l};e.a=o}])});","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAqCAYAAAGCSOjsAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAKgAAAADxZ+MvAAAEiklEQVRYCe2ZTWgTURCAszFpBbFCEbEH8e8iHkTUg/TgQUXBehAPBW3x0Jb+KHqoSrH+Ei3+oaCI/UWxVJBe/EGDIuLFi4d68SiIUlBQmkNr1bZp6zchb3nZ7GZ3E1cMuvB48+bvzbyZnTfZGIODgyUjIyMTIevT2dk5a8XJOqyQwtDT07NdrUNOEoYitLS0CPzAMIzo7OzsDqOrq+sCQJupIg2YElaCtzVqZ9jnXU5uQ6hpyx4CDjFiYqHz5soPkfTymEelM3Pgc/R1PB4vNdf6DsBvFMEqpPDKAXPtBtialEtIYvSJGFXkYlI0AntRwZ5m8de3Sa4C+smJGRHdloGBgbKxsbHH2FoZiUQWJZPJoebm5uXd3d1Hm5qaLuu8IcmkDITNIsMHNLmaJzo8MembpXzAnCfy4ghBvUxpeJeYofAy+3pE2DnvnVRJajBS5jjx5ItPnarkHScaz1eJm5zvKLgptNIzMs9KVGtcvQu8l4x8jrfbFJ6MPDQzM3MtHA7fYG4m4lFFU7PjBii9CVNLSUnJqvr6+hrgGo7TYKTSJI2/Dl6GPAeFzpNR9m036OvrW9rQ0LAfIRnmkxZOlVYTqQFW5UKyjQHKP2pyBYG2GxSk0SJc/Bs4XsQWT30vCfjn8vLyZRFSq00qlm8NLgK8I1WJROJDYDHgSpCSWxHYBsrBf2gD6TmV2/rc29u7mfvkpY7TYdtapDNQl8qnpqboZ0dCBG0O6Ze6vqV9ApeYnp6WTJxL1qwjsGZ7pXTkjAGW3RLlpaWlK2kctrCeEkHmHpQn2ayW8j2Pcj2fci39ZNZj60F/f/+88fHxb3C/1t6R9yh+Ktcg+BcaPoTl3+liFmRpB5G1AUpOoPwsVq1B8K0uhLVVHAeGZ9Z84amtrR3VeRWctQEXyZ26urpzisE62ym38ujrrBigfFhnKBTO2qBQhVb54t8gI8jpFDS9JKBxyRzwJ0GuNwkApOkuWTvJmLxWBpPwGwDRXfwx8N+O+zg6YngxsEvfhx15s4oDqaZCNOjFMW+Nf1BQEpSnLfAkDdqn/w4EfcJu+os+AhlXjZu3bnSand28WJ3wjdKmVdI6fM0lQx9YAf8Vxh7FR2U5z/XWrtZuc8EOyE8YDOhlyEe2cUaMcXhiYuILDsUw5rRuBF3yRhpZKSFr6TOF9CgajS6T38zougruGBWmio5vAx1fqkfV5a1wXg7w4XcrRtxC2RIM+clox9BrnJ76YHYJI46DP8d8AL4OaO2sFyI3CXyZH4aV1dXVP3SDMLgVB+/zVe4ZePma2KrT7WDzpnS7BzjNTRhwGyUrMGCS+QxGXMKIaTvFgkv/pHgFfxkneqSxsfGeE69fvNwDIuMpAhg/jPGL4e/AkA4voRXlpEWCabXAQT2eHCA9lgRlQKF6i76M/neg0BQoVL7oI+D4ElN5zH8dnE6J8viEF3ynolPasn4cKpo2D1Gyz6p1PvsoWZk93wO60N8Aq3ug6FMoTBp8lhOVnuZvOFkvNihbxXZDPk3yPTmG4D5uW0//enrZJEie9KH308qc+gW3Mwz17SXKRQAAAABJRU5ErkJggg==\"","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","module.exports = __webpack_public_path__ + \"img/work2.525edef0.png\";","/**!\n * Sortable 1.10.2\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.2\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","module.exports = \"data:image/png;base64,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\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Carousel\"},[(_vm.bannerList.length == 0)?_c('el-image',{staticStyle:{\"width\":\"100%\",\"height\":\"140px\"},attrs:{\"slot\":\"placeholder\",\"src\":\"http://pic1.win4000.com/wallpaper/2019-01-23/5c481007f3822.jpg\",\"fit\":\"cover\"},slot:\"placeholder\"}):_c('div',[_c('el-carousel',{attrs:{\"height\":\"180px\",\"arrow\":\"never\"}},_vm._l((_vm.bannerList),function(item,index){return _c('el-carousel-item',{key:index},[_c('el-image',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\"},attrs:{\"src\":item.url,\"fit\":\"cover\"}})],1)}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Carousel.vue?vue&type=template&id=9a9dadc2&\"\nimport script from \"./Carousel.vue?vue&type=script&lang=js&\"\nexport * from \"./Carousel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Carousel.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA0CAMAAADlhHsQAAAAkFBMVEUAAAD/UQD/VRD/VRD/VQ//Uxn/VRD/VQ//VRD/VRD/VQ//VRD/VRD/VRD/VBD/VQ//VBD/VRD/VRD/VRD/VRD/VBD/VRD/VQ//VQ//VRD/VQ//VQ//YAD/VRD/VRD/VQ//VBH/VRD/VhH/VQz/VRX/VRD/VRD/VRD/Vg//VRD/Vg//VBD/VRD/VhH/VQ//VRDHL6+wAAAAL3RSTlMABu1P9wr7If3uyq6PimBID/Pr3tek8LSXkndUBM29t2o6LBQM48/BY1dEQDBZQgSM0l4AAAFpSURBVEjHpZbZdoJQDEUDKPMkigPgbJ3b/P/ftd6gqy0v5LhfeNor3OQELvXnXASlRzAjZh5dYT3kHwYZqjv8nr8Uv4bLG9wN6B9ZSBq0vDDLqcvQmYeFy32YdAKQJzb3x779tdOCVbjVL9kqWU2Uv059YoDxva29YohBavQ5C35Uew08znBHAIcPsUuLEKo2SZh9CCRHQ4LYSNe2hBFKBkB77xtdXdxaBHZs0UUCRFqShxZTbPSFWp+avSPJ66fWHkpqaWye6rx5RgvkJXiv1bcSFpLGk5bUaOtnC7TIksbPAWiRNasf4w8W6m35Mra7J4yZ0U+gnbEhxeyDhMXGdtxas6HC7EjsMVT8vhTbz9Rq410in4VY0jdiiHWbld0EsVevg+eRSuz+EypXJxf/8nJT3QySvPPx6NcA1w7nzpC65DNucQihSVg4EsbGRcsL9cDoSwLJxHfe80NCuZo7P8F45bQ4U2++AbGmokNRVHOpAAAAAElFTkSuQmCC\"","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"RichText ql-container ql-snow\"},[_c('p',{staticClass:\" ql-editor\",domProps:{\"innerHTML\":_vm._s(_vm.richText)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RichText.vue?vue&type=template&id=578d2c61&\"\nimport script from \"./RichText.vue?vue&type=script&lang=js&\"\nexport * from \"./RichText.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RichText.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"sortablejs\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"sortablejs\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vuedraggable\"] = factory(require(\"sortablejs\"));\n\telse\n\t\troot[\"vuedraggable\"] = factory(root[\"Sortable\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE_a352__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"01f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(\"2d00\");\nvar $export = __webpack_require__(\"5ca1\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar $iterCreate = __webpack_require__(\"41a0\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar getPrototypeOf = __webpack_require__(\"38fd\");\nvar ITERATOR = __webpack_require__(\"2b4c\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n\n/***/ \"02f4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar defined = __webpack_require__(\"be13\");\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n\n/***/ \"0390\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(\"02f4\")(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n/***/ }),\n\n/***/ \"0bfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(\"cb7c\");\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"0d58\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(\"ce10\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"1495\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar anObject = __webpack_require__(\"cb7c\");\nvar getKeys = __webpack_require__(\"0d58\");\n\nmodule.exports = __webpack_require__(\"9e1e\") ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"214f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(\"b0c5\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar fails = __webpack_require__(\"79e5\");\nvar defined = __webpack_require__(\"be13\");\nvar wks = __webpack_require__(\"2b4c\");\nvar regexpExec = __webpack_require__(\"520a\");\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n\n/***/ \"230e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nvar document = __webpack_require__(\"7726\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"23c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(\"2d95\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"2621\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"2aba\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar has = __webpack_require__(\"69a8\");\nvar SRC = __webpack_require__(\"ca5a\")('src');\nvar $toString = __webpack_require__(\"fa5b\");\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(\"8378\").inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n\n/***/ \"2aeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(\"cb7c\");\nvar dPs = __webpack_require__(\"1495\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(\"230e\")('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(\"fab2\").appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"2b4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"5537\")('wks');\nvar uid = __webpack_require__(\"ca5a\");\nvar Symbol = __webpack_require__(\"7726\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"2d95\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"2fdb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(\"5ca1\");\nvar context = __webpack_require__(\"d2c8\");\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"32e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar createDesc = __webpack_require__(\"4630\");\nmodule.exports = __webpack_require__(\"9e1e\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ \"38fd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(\"69a8\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"41a0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(\"2aeb\");\nvar descriptor = __webpack_require__(\"4630\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(\"32e9\")(IteratorPrototype, __webpack_require__(\"2b4c\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"456d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(\"4bf8\");\nvar $keys = __webpack_require__(\"0d58\");\n\n__webpack_require__(\"5eda\")('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n\n/***/ \"4588\":\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"4630\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"4bf8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"5147\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n\n/***/ \"520a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(\"0bfb\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n\n/***/ \"52a7\":\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"5537\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(\"8378\");\nvar global = __webpack_require__(\"7726\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(\"2d00\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"5ca1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar core = __webpack_require__(\"8378\");\nvar hide = __webpack_require__(\"32e9\");\nvar redefine = __webpack_require__(\"2aba\");\nvar ctx = __webpack_require__(\"9b43\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"5eda\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(\"5ca1\");\nvar core = __webpack_require__(\"8378\");\nvar fails = __webpack_require__(\"79e5\");\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ \"5f1b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(\"23c6\");\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n\n/***/ \"613b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"5537\")('keys');\nvar uid = __webpack_require__(\"ca5a\");\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"626a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(\"2d95\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"6762\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(\"5ca1\");\nvar $includes = __webpack_require__(\"c366\")(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(\"9c6c\")('includes');\n\n\n/***/ }),\n\n/***/ \"6821\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(\"626a\");\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"69a8\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"6a99\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(\"d3f4\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"7333\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(\"0d58\");\nvar gOPS = __webpack_require__(\"2621\");\nvar pIE = __webpack_require__(\"52a7\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IObject = __webpack_require__(\"626a\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(\"79e5\")(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n\n/***/ \"7726\":\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"77f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"79e5\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ \"7f20\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(\"86cc\").f;\nvar has = __webpack_require__(\"69a8\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"8378\":\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"84f2\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"86cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"c69a\");\nvar toPrimitive = __webpack_require__(\"6a99\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(\"9e1e\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"9b43\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(\"d8e8\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"9c6c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(\"2b4c\")('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(\"32e9\")(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ \"9def\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(\"4588\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"9e1e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"a352\":\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_a352__;\n\n/***/ }),\n\n/***/ \"a481\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar toLength = __webpack_require__(\"9def\");\nvar toInteger = __webpack_require__(\"4588\");\nvar advanceStringIndex = __webpack_require__(\"0390\");\nvar regExpExec = __webpack_require__(\"5f1b\");\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(\"214f\")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n\n/***/ \"aae3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(\"d3f4\");\nvar cof = __webpack_require__(\"2d95\");\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ \"ac6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(\"cadf\");\nvar getKeys = __webpack_require__(\"0d58\");\nvar redefine = __webpack_require__(\"2aba\");\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar wks = __webpack_require__(\"2b4c\");\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/***/ }),\n\n/***/ \"b0c5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(\"520a\");\n__webpack_require__(\"5ca1\")({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n/***/ }),\n\n/***/ \"be13\":\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"c366\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(\"6821\");\nvar toLength = __webpack_require__(\"9def\");\nvar toAbsoluteIndex = __webpack_require__(\"77f1\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n\n/***/ \"c649\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return insertNodeAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return camelize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return console; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return removeNode; });\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"a481\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction getConsole() {\n if (typeof window !== \"undefined\") {\n return window.console;\n }\n\n return global.console;\n}\n\nvar console = getConsole();\n\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n\nvar regex = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(regex, function (_, c) {\n return c ? c.toUpperCase() : \"\";\n });\n});\n\nfunction removeNode(node) {\n if (node.parentElement !== null) {\n node.parentElement.removeChild(node);\n }\n}\n\nfunction insertNodeAt(fatherNode, node, position) {\n var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling;\n fatherNode.insertBefore(node, refNode);\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"c69a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(\"9e1e\") && !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty(__webpack_require__(\"230e\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"ca5a\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"cadf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(\"9c6c\");\nvar step = __webpack_require__(\"d53b\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar toIObject = __webpack_require__(\"6821\");\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(\"01f9\")(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"cb7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"ce10\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"69a8\");\nvar toIObject = __webpack_require__(\"6821\");\nvar arrayIndexOf = __webpack_require__(\"c366\")(false);\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"d2c8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(\"aae3\");\nvar defined = __webpack_require__(\"be13\");\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n\n/***/ \"d3f4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"d53b\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ \"d8e8\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"e11e\":\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"f559\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(\"5ca1\");\nvar toLength = __webpack_require__(\"9def\");\nvar context = __webpack_require__(\"d2c8\");\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n\n/***/ \"f6fd\":\n/***/ (function(module, exports) {\n\n// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n\n\n/***/ }),\n\n/***/ \"f751\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(\"5ca1\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(\"7333\") });\n\n\n/***/ }),\n\n/***/ \"fa5b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"5537\")('native-function-to-string', Function.toString);\n\n\n/***/ }),\n\n/***/ \"fab2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(\"7726\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (true) {\n __webpack_require__(\"f6fd\")\n }\n\n var setPublicPath_i\n if ((setPublicPath_i = window.document.currentScript) && (setPublicPath_i = setPublicPath_i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_require__.p = setPublicPath_i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js\nvar es6_object_assign = __webpack_require__(\"f751\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.starts-with.js\nvar es6_string_starts_with = __webpack_require__(\"f559\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js\nvar web_dom_iterable = __webpack_require__(\"ac6a\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js\nvar es6_array_iterator = __webpack_require__(\"cadf\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js\nvar es6_object_keys = __webpack_require__(\"456d\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n\n\n\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js\nvar es7_array_includes = __webpack_require__(\"6762\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js\nvar es6_string_includes = __webpack_require__(\"2fdb\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n// EXTERNAL MODULE: external {\"commonjs\":\"sortablejs\",\"commonjs2\":\"sortablejs\",\"amd\":\"sortablejs\",\"root\":\"Sortable\"}\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_ = __webpack_require__(\"a352\");\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_);\n\n// EXTERNAL MODULE: ./src/util/helper.js\nvar helper = __webpack_require__(\"c649\");\n\n// CONCATENATED MODULE: ./src/vuedraggable.js\n\n\n\n\n\n\n\n\n\n\n\n\nfunction buildAttribute(object, propName, value) {\n if (value === undefined) {\n return object;\n }\n\n object = object || {};\n object[propName] = value;\n return object;\n}\n\nfunction computeVmIndex(vnodes, element) {\n return vnodes.map(function (elt) {\n return elt.elm;\n }).indexOf(element);\n}\n\nfunction _computeIndexes(slots, children, isTransition, footerOffset) {\n if (!slots) {\n return [];\n }\n\n var elmFromNodes = slots.map(function (elt) {\n return elt.elm;\n });\n var footerIndex = children.length - footerOffset;\n\n var rawIndexes = _toConsumableArray(children).map(function (elt, idx) {\n return idx >= footerIndex ? elmFromNodes.length : elmFromNodes.indexOf(elt);\n });\n\n return isTransition ? rawIndexes.filter(function (ind) {\n return ind !== -1;\n }) : rawIndexes;\n}\n\nfunction emit(evtName, evtData) {\n var _this = this;\n\n this.$nextTick(function () {\n return _this.$emit(evtName.toLowerCase(), evtData);\n });\n}\n\nfunction delegateAndEmit(evtName) {\n var _this2 = this;\n\n return function (evtData) {\n if (_this2.realList !== null) {\n _this2[\"onDrag\" + evtName](evtData);\n }\n\n emit.call(_this2, evtName, evtData);\n };\n}\n\nfunction isTransitionName(name) {\n return [\"transition-group\", \"TransitionGroup\"].includes(name);\n}\n\nfunction vuedraggable_isTransition(slots) {\n if (!slots || slots.length !== 1) {\n return false;\n }\n\n var _slots = _slicedToArray(slots, 1),\n componentOptions = _slots[0].componentOptions;\n\n if (!componentOptions) {\n return false;\n }\n\n return isTransitionName(componentOptions.tag);\n}\n\nfunction getSlot(slot, scopedSlot, key) {\n return slot[key] || (scopedSlot[key] ? scopedSlot[key]() : undefined);\n}\n\nfunction computeChildrenAndOffsets(children, slot, scopedSlot) {\n var headerOffset = 0;\n var footerOffset = 0;\n var header = getSlot(slot, scopedSlot, \"header\");\n\n if (header) {\n headerOffset = header.length;\n children = children ? [].concat(_toConsumableArray(header), _toConsumableArray(children)) : _toConsumableArray(header);\n }\n\n var footer = getSlot(slot, scopedSlot, \"footer\");\n\n if (footer) {\n footerOffset = footer.length;\n children = children ? [].concat(_toConsumableArray(children), _toConsumableArray(footer)) : _toConsumableArray(footer);\n }\n\n return {\n children: children,\n headerOffset: headerOffset,\n footerOffset: footerOffset\n };\n}\n\nfunction getComponentAttributes($attrs, componentData) {\n var attributes = null;\n\n var update = function update(name, value) {\n attributes = buildAttribute(attributes, name, value);\n };\n\n var attrs = Object.keys($attrs).filter(function (key) {\n return key === \"id\" || key.startsWith(\"data-\");\n }).reduce(function (res, key) {\n res[key] = $attrs[key];\n return res;\n }, {});\n update(\"attrs\", attrs);\n\n if (!componentData) {\n return attributes;\n }\n\n var on = componentData.on,\n props = componentData.props,\n componentDataAttrs = componentData.attrs;\n update(\"on\", on);\n update(\"props\", props);\n Object.assign(attributes.attrs, componentDataAttrs);\n return attributes;\n}\n\nvar eventsListened = [\"Start\", \"Add\", \"Remove\", \"Update\", \"End\"];\nvar eventsToEmit = [\"Choose\", \"Unchoose\", \"Sort\", \"Filter\", \"Clone\"];\nvar readonlyProperties = [\"Move\"].concat(eventsListened, eventsToEmit).map(function (evt) {\n return \"on\" + evt;\n});\nvar draggingElement = null;\nvar props = {\n options: Object,\n list: {\n type: Array,\n required: false,\n default: null\n },\n value: {\n type: Array,\n required: false,\n default: null\n },\n noTransitionOnDrag: {\n type: Boolean,\n default: false\n },\n clone: {\n type: Function,\n default: function _default(original) {\n return original;\n }\n },\n element: {\n type: String,\n default: \"div\"\n },\n tag: {\n type: String,\n default: null\n },\n move: {\n type: Function,\n default: null\n },\n componentData: {\n type: Object,\n required: false,\n default: null\n }\n};\nvar draggableComponent = {\n name: \"draggable\",\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n transitionMode: false,\n noneFunctionalComponentMode: false\n };\n },\n render: function render(h) {\n var slots = this.$slots.default;\n this.transitionMode = vuedraggable_isTransition(slots);\n\n var _computeChildrenAndOf = computeChildrenAndOffsets(slots, this.$slots, this.$scopedSlots),\n children = _computeChildrenAndOf.children,\n headerOffset = _computeChildrenAndOf.headerOffset,\n footerOffset = _computeChildrenAndOf.footerOffset;\n\n this.headerOffset = headerOffset;\n this.footerOffset = footerOffset;\n var attributes = getComponentAttributes(this.$attrs, this.componentData);\n return h(this.getTag(), attributes, children);\n },\n created: function created() {\n if (this.list !== null && this.value !== null) {\n helper[\"b\" /* console */].error(\"Value and list props are mutually exclusive! Please set one or another.\");\n }\n\n if (this.element !== \"div\") {\n helper[\"b\" /* console */].warn(\"Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props\");\n }\n\n if (this.options !== undefined) {\n helper[\"b\" /* console */].warn(\"Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props\");\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.noneFunctionalComponentMode = this.getTag().toLowerCase() !== this.$el.nodeName.toLowerCase() && !this.getIsFunctional();\n\n if (this.noneFunctionalComponentMode && this.transitionMode) {\n throw new Error(\"Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: \".concat(this.getTag()));\n }\n\n var optionsAdded = {};\n eventsListened.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = delegateAndEmit.call(_this3, elt);\n });\n eventsToEmit.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = emit.bind(_this3, elt);\n });\n var attributes = Object.keys(this.$attrs).reduce(function (res, key) {\n res[Object(helper[\"a\" /* camelize */])(key)] = _this3.$attrs[key];\n return res;\n }, {});\n var options = Object.assign({}, this.options, attributes, optionsAdded, {\n onMove: function onMove(evt, originalEvent) {\n return _this3.onDragMove(evt, originalEvent);\n }\n });\n !(\"draggable\" in options) && (options.draggable = \">*\");\n this._sortable = new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer, options);\n this.computeIndexes();\n },\n beforeDestroy: function beforeDestroy() {\n if (this._sortable !== undefined) this._sortable.destroy();\n },\n computed: {\n rootContainer: function rootContainer() {\n return this.transitionMode ? this.$el.children[0] : this.$el;\n },\n realList: function realList() {\n return this.list ? this.list : this.value;\n }\n },\n watch: {\n options: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n $attrs: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n realList: function realList() {\n this.computeIndexes();\n }\n },\n methods: {\n getIsFunctional: function getIsFunctional() {\n var fnOptions = this._vnode.fnOptions;\n return fnOptions && fnOptions.functional;\n },\n getTag: function getTag() {\n return this.tag || this.element;\n },\n updateOptions: function updateOptions(newOptionValue) {\n for (var property in newOptionValue) {\n var value = Object(helper[\"a\" /* camelize */])(property);\n\n if (readonlyProperties.indexOf(value) === -1) {\n this._sortable.option(value, newOptionValue[property]);\n }\n }\n },\n getChildrenNodes: function getChildrenNodes() {\n if (this.noneFunctionalComponentMode) {\n return this.$children[0].$slots.default;\n }\n\n var rawNodes = this.$slots.default;\n return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes;\n },\n computeIndexes: function computeIndexes() {\n var _this4 = this;\n\n this.$nextTick(function () {\n _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode, _this4.footerOffset);\n });\n },\n getUnderlyingVm: function getUnderlyingVm(htmlElt) {\n var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt);\n\n if (index === -1) {\n //Edge case during move callback: related element might be\n //an element different from collection\n return null;\n }\n\n var element = this.realList[index];\n return {\n index: index,\n element: element\n };\n },\n getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) {\n var vue = _ref.__vue__;\n\n if (!vue || !vue.$options || !isTransitionName(vue.$options._componentTag)) {\n if (!(\"realList\" in vue) && vue.$children.length === 1 && \"realList\" in vue.$children[0]) return vue.$children[0];\n return vue;\n }\n\n return vue.$parent;\n },\n emitChanges: function emitChanges(evt) {\n var _this5 = this;\n\n this.$nextTick(function () {\n _this5.$emit(\"change\", evt);\n });\n },\n alterList: function alterList(onList) {\n if (this.list) {\n onList(this.list);\n return;\n }\n\n var newList = _toConsumableArray(this.value);\n\n onList(newList);\n this.$emit(\"input\", newList);\n },\n spliceList: function spliceList() {\n var _arguments = arguments;\n\n var spliceList = function spliceList(list) {\n return list.splice.apply(list, _toConsumableArray(_arguments));\n };\n\n this.alterList(spliceList);\n },\n updatePosition: function updatePosition(oldIndex, newIndex) {\n var updatePosition = function updatePosition(list) {\n return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\n };\n\n this.alterList(updatePosition);\n },\n getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) {\n var to = _ref2.to,\n related = _ref2.related;\n var component = this.getUnderlyingPotencialDraggableComponent(to);\n\n if (!component) {\n return {\n component: component\n };\n }\n\n var list = component.realList;\n var context = {\n list: list,\n component: component\n };\n\n if (to !== related && list && component.getUnderlyingVm) {\n var destination = component.getUnderlyingVm(related);\n\n if (destination) {\n return Object.assign(destination, context);\n }\n }\n\n return context;\n },\n getVmIndex: function getVmIndex(domIndex) {\n var indexes = this.visibleIndexes;\n var numberIndexes = indexes.length;\n return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex];\n },\n getComponent: function getComponent() {\n return this.$slots.default[0].componentInstance;\n },\n resetTransitionData: function resetTransitionData(index) {\n if (!this.noTransitionOnDrag || !this.transitionMode) {\n return;\n }\n\n var nodes = this.getChildrenNodes();\n nodes[index].data = null;\n var transitionContainer = this.getComponent();\n transitionContainer.children = [];\n transitionContainer.kept = undefined;\n },\n onDragStart: function onDragStart(evt) {\n this.context = this.getUnderlyingVm(evt.item);\n evt.item._underlying_vm_ = this.clone(this.context.element);\n draggingElement = evt.item;\n },\n onDragAdd: function onDragAdd(evt) {\n var element = evt.item._underlying_vm_;\n\n if (element === undefined) {\n return;\n }\n\n Object(helper[\"d\" /* removeNode */])(evt.item);\n var newIndex = this.getVmIndex(evt.newIndex);\n this.spliceList(newIndex, 0, element);\n this.computeIndexes();\n var added = {\n element: element,\n newIndex: newIndex\n };\n this.emitChanges({\n added: added\n });\n },\n onDragRemove: function onDragRemove(evt) {\n Object(helper[\"c\" /* insertNodeAt */])(this.rootContainer, evt.item, evt.oldIndex);\n\n if (evt.pullMode === \"clone\") {\n Object(helper[\"d\" /* removeNode */])(evt.clone);\n return;\n }\n\n var oldIndex = this.context.index;\n this.spliceList(oldIndex, 1);\n var removed = {\n element: this.context.element,\n oldIndex: oldIndex\n };\n this.resetTransitionData(oldIndex);\n this.emitChanges({\n removed: removed\n });\n },\n onDragUpdate: function onDragUpdate(evt) {\n Object(helper[\"d\" /* removeNode */])(evt.item);\n Object(helper[\"c\" /* insertNodeAt */])(evt.from, evt.item, evt.oldIndex);\n var oldIndex = this.context.index;\n var newIndex = this.getVmIndex(evt.newIndex);\n this.updatePosition(oldIndex, newIndex);\n var moved = {\n element: this.context.element,\n oldIndex: oldIndex,\n newIndex: newIndex\n };\n this.emitChanges({\n moved: moved\n });\n },\n updateProperty: function updateProperty(evt, propertyName) {\n evt.hasOwnProperty(propertyName) && (evt[propertyName] += this.headerOffset);\n },\n computeFutureIndex: function computeFutureIndex(relatedContext, evt) {\n if (!relatedContext.element) {\n return 0;\n }\n\n var domChildren = _toConsumableArray(evt.to.children).filter(function (el) {\n return el.style[\"display\"] !== \"none\";\n });\n\n var currentDOMIndex = domChildren.indexOf(evt.related);\n var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex);\n var draggedInList = domChildren.indexOf(draggingElement) !== -1;\n return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\n },\n onDragMove: function onDragMove(evt, originalEvent) {\n var onMove = this.move;\n\n if (!onMove || !this.realList) {\n return true;\n }\n\n var relatedContext = this.getRelatedContextFromMoveEvent(evt);\n var draggedContext = this.context;\n var futureIndex = this.computeFutureIndex(relatedContext, evt);\n Object.assign(draggedContext, {\n futureIndex: futureIndex\n });\n var sendEvt = Object.assign({}, evt, {\n relatedContext: relatedContext,\n draggedContext: draggedContext\n });\n return onMove(sendEvt, originalEvent);\n },\n onDragEnd: function onDragEnd() {\n this.computeIndexes();\n draggingElement = null;\n }\n }\n};\n\nif (typeof window !== \"undefined\" && \"Vue\" in window) {\n window.Vue.component(\"draggable\", draggableComponent);\n}\n\n/* harmony default export */ var vuedraggable = (draggableComponent);\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (vuedraggable);\n\n\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=vuedraggable.umd.js.map","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","// 网点信息\r\nimport * as API from '@/api/index'\r\nexport default {\r\n /** 上传图片*/\r\n getOnlineEntityInfo: params => {\r\n return API.POST('api/onlineEntity/list', params)\r\n },\r\n /** 门店信息更新*/\r\n updateOnlineEntity: params => {\r\n return API.POST('api/onlineEntity/updateOnlineEntity', params)\r\n },\r\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/*!\n * vue-treeselect v0.4.0 | (c) 2017-2019 Riophae Lee\n * Released under the MIT License.\n * https://vue-treeselect.js.org/\n */\nmodule.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 16);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@babel/runtime/helpers/slicedToArray\");\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@babel/runtime/helpers/toConsumableArray\");\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@babel/runtime/helpers/defineProperty\");\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"fuzzysearch\");\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"lodash/noop\");\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"lodash/debounce\");\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"watch-size\");\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"is-promise\");\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"lodash/once\");\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"lodash/identity\");\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"lodash/constant\");\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@babel/runtime/helpers/typeof\");\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"lodash/last\");\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"babel-helper-vue-jsx-merge-props\");\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"@babel/runtime/helpers/slicedToArray\"\nvar slicedToArray_ = __webpack_require__(0);\nvar slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray_);\n\n// EXTERNAL MODULE: external \"@babel/runtime/helpers/toConsumableArray\"\nvar toConsumableArray_ = __webpack_require__(1);\nvar toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray_);\n\n// EXTERNAL MODULE: external \"@babel/runtime/helpers/defineProperty\"\nvar defineProperty_ = __webpack_require__(2);\nvar defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty_);\n\n// EXTERNAL MODULE: external \"fuzzysearch\"\nvar external_fuzzysearch_ = __webpack_require__(3);\nvar external_fuzzysearch_default = /*#__PURE__*/__webpack_require__.n(external_fuzzysearch_);\n\n// EXTERNAL MODULE: external \"lodash/noop\"\nvar noop_ = __webpack_require__(4);\nvar noop_default = /*#__PURE__*/__webpack_require__.n(noop_);\n\n// CONCATENATED MODULE: ./src/utils/noop.js\n\n// CONCATENATED MODULE: ./src/utils/warning.js\n\n\nvar warning_warning = process.env.NODE_ENV === 'production' ? noop_default.a : function warning(checker, complainer) {\n if (!checker()) {\n var _console;\n\n var message = ['[Vue-Treeselect Warning]'].concat(complainer());\n\n (_console = console).error.apply(_console, toConsumableArray_default()(message));\n }\n};\n// CONCATENATED MODULE: ./src/utils/onLeftClick.js\nfunction onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n mouseDownHandler.call.apply(mouseDownHandler, [this, evt].concat(args));\n }\n };\n}\n// CONCATENATED MODULE: ./src/utils/scrollIntoView.js\nfunction scrollIntoView($scrollingEl, $focusedEl) {\n var scrollingReact = $scrollingEl.getBoundingClientRect();\n var focusedRect = $focusedEl.getBoundingClientRect();\n var overScroll = $focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min($focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll, $scrollingEl.scrollHeight);\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0);\n }\n}\n// EXTERNAL MODULE: external \"lodash/debounce\"\nvar debounce_ = __webpack_require__(5);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// CONCATENATED MODULE: ./src/utils/debounce.js\n\n// EXTERNAL MODULE: external \"watch-size\"\nvar external_watch_size_ = __webpack_require__(6);\nvar external_watch_size_default = /*#__PURE__*/__webpack_require__.n(external_watch_size_);\n\n// CONCATENATED MODULE: ./src/utils/removeFromArray.js\nfunction removeFromArray(arr, elem) {\n var idx = arr.indexOf(elem);\n if (idx !== -1) arr.splice(idx, 1);\n}\n// CONCATENATED MODULE: ./src/utils/watchSize.js\n\n\nvar intervalId;\nvar registered = [];\nvar INTERVAL_DURATION = 100;\n\nfunction run() {\n intervalId = setInterval(function () {\n registered.forEach(test);\n }, INTERVAL_DURATION);\n}\n\nfunction stop() {\n clearInterval(intervalId);\n intervalId = null;\n}\n\nfunction test(item) {\n var $el = item.$el,\n listener = item.listener,\n lastWidth = item.lastWidth,\n lastHeight = item.lastHeight;\n var width = $el.offsetWidth;\n var height = $el.offsetHeight;\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width;\n item.lastHeight = height;\n listener({\n width: width,\n height: height\n });\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n var item = {\n $el: $el,\n listener: listener,\n lastWidth: null,\n lastHeight: null\n };\n\n var unwatch = function unwatch() {\n removeFromArray(registered, item);\n if (!registered.length) stop();\n };\n\n registered.push(item);\n test(item);\n run();\n return unwatch;\n}\n\nfunction watchSize($el, listener) {\n var isIE9 = document.documentMode === 9;\n var locked = true;\n\n var wrappedListener = function wrappedListener() {\n return locked || listener.apply(void 0, arguments);\n };\n\n var implementation = isIE9 ? watchSizeForIE9 : external_watch_size_default.a;\n var removeSizeWatcher = implementation($el, wrappedListener);\n locked = false;\n return removeSizeWatcher;\n}\n// CONCATENATED MODULE: ./src/utils/setupResizeAndScrollEventListeners.js\nfunction findScrollParents($el) {\n var $scrollParents = [];\n var $parent = $el.parentNode;\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent);\n $parent = $parent.parentNode;\n }\n\n $scrollParents.push(window);\n return $scrollParents;\n}\n\nfunction isScrollElment($el) {\n var _getComputedStyle = getComputedStyle($el),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX);\n}\n\nfunction setupResizeAndScrollEventListeners($el, listener) {\n var $scrollParents = findScrollParents($el);\n window.addEventListener('resize', listener, {\n passive: true\n });\n $scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', listener, {\n passive: true\n });\n });\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, {\n passive: true\n });\n $scrollParents.forEach(function ($scrollParent) {\n $scrollParent.removeEventListener('scroll', listener, {\n passive: true\n });\n });\n };\n}\n// CONCATENATED MODULE: ./src/utils/isNaN.js\nfunction isNaN_isNaN(x) {\n return x !== x;\n}\n// EXTERNAL MODULE: external \"is-promise\"\nvar external_is_promise_ = __webpack_require__(7);\nvar external_is_promise_default = /*#__PURE__*/__webpack_require__.n(external_is_promise_);\n\n// CONCATENATED MODULE: ./src/utils/isPromise.js\n\n// EXTERNAL MODULE: external \"lodash/once\"\nvar once_ = __webpack_require__(8);\nvar once_default = /*#__PURE__*/__webpack_require__.n(once_);\n\n// CONCATENATED MODULE: ./src/utils/once.js\n\n// EXTERNAL MODULE: external \"lodash/identity\"\nvar identity_ = __webpack_require__(9);\nvar identity_default = /*#__PURE__*/__webpack_require__.n(identity_);\n\n// CONCATENATED MODULE: ./src/utils/identity.js\n\n// EXTERNAL MODULE: external \"lodash/constant\"\nvar constant_ = __webpack_require__(10);\nvar constant_default = /*#__PURE__*/__webpack_require__.n(constant_);\n\n// CONCATENATED MODULE: ./src/utils/constant.js\n\n// CONCATENATED MODULE: ./src/utils/createMap.js\nvar createMap = function createMap() {\n return Object.create(null);\n};\n// EXTERNAL MODULE: external \"@babel/runtime/helpers/typeof\"\nvar typeof_ = __webpack_require__(11);\nvar typeof_default = /*#__PURE__*/__webpack_require__.n(typeof_);\n\n// CONCATENATED MODULE: ./src/utils/deepExtend.js\n\n\nfunction isPlainObject(value) {\n if (value == null || typeof_default()(value) !== 'object') return false;\n return Object.getPrototypeOf(value) === Object.prototype;\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {});\n deepExtend(obj[key], value);\n } else {\n obj[key] = value;\n }\n}\n\nfunction deepExtend(target, source) {\n if (isPlainObject(source)) {\n var keys = Object.keys(source);\n\n for (var i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]]);\n }\n }\n\n return target;\n}\n// EXTERNAL MODULE: external \"lodash/last\"\nvar last_ = __webpack_require__(12);\nvar last_default = /*#__PURE__*/__webpack_require__.n(last_);\n\n// CONCATENATED MODULE: ./src/utils/last.js\n\n// CONCATENATED MODULE: ./src/utils/includes.js\nfunction includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1;\n}\n// CONCATENATED MODULE: ./src/utils/find.js\nfunction find(arr, predicate, ctx) {\n for (var i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i];\n }\n\n return undefined;\n}\n// CONCATENATED MODULE: ./src/utils/quickDiff.js\nfunction quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true;\n\n for (var i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true;\n }\n\n return false;\n}\n// CONCATENATED MODULE: ./src/utils/index.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// CONCATENATED MODULE: ./src/constants.js\nvar NO_PARENT_NODE = null;\nvar UNCHECKED = 0;\nvar INDETERMINATE = 1;\nvar CHECKED = 2;\nvar ALL_CHILDREN = 'ALL_CHILDREN';\nvar ALL_DESCENDANTS = 'ALL_DESCENDANTS';\nvar LEAF_CHILDREN = 'LEAF_CHILDREN';\nvar LEAF_DESCENDANTS = 'LEAF_DESCENDANTS';\nvar LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS';\nvar LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS';\nvar ASYNC_SEARCH = 'ASYNC_SEARCH';\nvar ALL = 'ALL';\nvar BRANCH_PRIORITY = 'BRANCH_PRIORITY';\nvar LEAF_PRIORITY = 'LEAF_PRIORITY';\nvar ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE';\nvar ORDER_SELECTED = 'ORDER_SELECTED';\nvar LEVEL = 'LEVEL';\nvar INDEX = 'INDEX';\nvar KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46\n};\nvar INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing' ? 10 : 200;\nvar MIN_INPUT_WIDTH = 5;\nvar MENU_BUFFER = 40;\n// CONCATENATED MODULE: ./src/mixins/treeselectMixin.js\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\nfunction sortValueByIndex(a, b) {\n var i = 0;\n\n do {\n if (a.level < i) return -1;\n if (b.level < i) return 1;\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i];\n i++;\n } while (true);\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level ? sortValueByIndex(a, b) : a.level - b.level;\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: ''\n };\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' && !isNaN_isNaN(value)) return value + '';\n return '';\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch ? external_fuzzysearch_default()(needle, haystack) : includes(haystack, needle);\n}\n\nfunction getErrorMessage(err) {\n return err.message || String(err);\n}\n\nvar instanceId = 0;\n/* harmony default export */ var treeselectMixin = ({\n provide: function provide() {\n return {\n instance: this\n };\n },\n props: {\n allowClearingDisabled: {\n type: Boolean,\n default: false\n },\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false\n },\n alwaysOpen: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: false\n },\n async: {\n type: Boolean,\n default: false\n },\n autoFocus: {\n type: Boolean,\n default: false\n },\n autoLoadRootOptions: {\n type: Boolean,\n default: true\n },\n autoDeselectAncestors: {\n type: Boolean,\n default: false\n },\n autoDeselectDescendants: {\n type: Boolean,\n default: false\n },\n autoSelectAncestors: {\n type: Boolean,\n default: false\n },\n autoSelectDescendants: {\n type: Boolean,\n default: false\n },\n backspaceRemoves: {\n type: Boolean,\n default: true\n },\n beforeClearAll: {\n type: Function,\n default: constant_default()(true)\n },\n branchNodesFirst: {\n type: Boolean,\n default: false\n },\n cacheOptions: {\n type: Boolean,\n default: true\n },\n clearable: {\n type: Boolean,\n default: true\n },\n clearAllText: {\n type: String,\n default: 'Clear all'\n },\n clearOnSelect: {\n type: Boolean,\n default: false\n },\n clearValueText: {\n type: String,\n default: 'Clear value'\n },\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n defaultExpandLevel: {\n type: Number,\n default: 0\n },\n defaultOptions: {\n default: false\n },\n deleteRemoves: {\n type: Boolean,\n default: true\n },\n delimiter: {\n type: String,\n default: ','\n },\n flattenSearchResults: {\n type: Boolean,\n default: false\n },\n disableBranchNodes: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n disableFuzzyMatching: {\n type: Boolean,\n default: false\n },\n flat: {\n type: Boolean,\n default: false\n },\n instanceId: {\n default: function _default() {\n return \"\".concat(instanceId++, \"$$\");\n },\n type: [String, Number]\n },\n joinValues: {\n type: Boolean,\n default: false\n },\n limit: {\n type: Number,\n default: Infinity\n },\n limitText: {\n type: Function,\n default: function limitTextDefault(count) {\n return \"and \".concat(count, \" more\");\n }\n },\n loadingText: {\n type: String,\n default: 'Loading...'\n },\n loadOptions: {\n type: Function\n },\n matchKeys: {\n type: Array,\n default: constant_default()(['label'])\n },\n maxHeight: {\n type: Number,\n default: 300\n },\n multiple: {\n type: Boolean,\n default: false\n },\n name: {\n type: String\n },\n noChildrenText: {\n type: String,\n default: 'No sub-options.'\n },\n noOptionsText: {\n type: String,\n default: 'No options available.'\n },\n noResultsText: {\n type: String,\n default: 'No results found...'\n },\n normalizer: {\n type: Function,\n default: identity_default.a\n },\n openDirection: {\n type: String,\n default: 'auto',\n validator: function validator(value) {\n var acceptableValues = ['auto', 'top', 'bottom', 'above', 'below'];\n return includes(acceptableValues, value);\n }\n },\n openOnClick: {\n type: Boolean,\n default: true\n },\n openOnFocus: {\n type: Boolean,\n default: false\n },\n options: {\n type: Array\n },\n placeholder: {\n type: String,\n default: 'Select...'\n },\n required: {\n type: Boolean,\n default: false\n },\n retryText: {\n type: String,\n default: 'Retry?'\n },\n retryTitle: {\n type: String,\n default: 'Click to retry'\n },\n searchable: {\n type: Boolean,\n default: true\n },\n searchNested: {\n type: Boolean,\n default: false\n },\n searchPromptText: {\n type: String,\n default: 'Type to search...'\n },\n showCount: {\n type: Boolean,\n default: false\n },\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator: function validator(value) {\n var acceptableValues = [ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS];\n return includes(acceptableValues, value);\n }\n },\n showCountOnSearch: null,\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator: function validator(value) {\n var acceptableValues = [ORDER_SELECTED, LEVEL, INDEX];\n return includes(acceptableValues, value);\n }\n },\n tabIndex: {\n type: Number,\n default: 0\n },\n value: null,\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator: function validator(value) {\n var acceptableValues = [ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE];\n return includes(acceptableValues, value);\n }\n },\n valueFormat: {\n type: String,\n default: 'id'\n },\n zIndex: {\n type: [Number, String],\n default: 999\n }\n },\n data: function data() {\n return {\n trigger: {\n isFocused: false,\n searchQuery: ''\n },\n menu: {\n isOpen: false,\n current: null,\n lastScrollPosition: 0,\n placement: 'bottom'\n },\n forest: {\n normalizedOptions: [],\n nodeMap: createMap(),\n checkedStateMap: createMap(),\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n selectedNodeMap: createMap()\n },\n rootOptionsStates: createAsyncOptionsStates(),\n localSearch: {\n active: false,\n noResults: true,\n countMap: createMap()\n },\n remoteSearch: createMap()\n };\n },\n computed: {\n selectedNodes: function selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode);\n },\n internalValue: function internalValue() {\n var _this = this;\n\n var internalValue;\n\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice();\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(function (id) {\n var node = _this.getNode(id);\n\n if (node.isRootNode) return true;\n return !_this.isSelected(node.parentNode);\n });\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(function (id) {\n var node = _this.getNode(id);\n\n if (node.isLeaf) return true;\n return node.children.length === 0;\n });\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n var _internalValue;\n\n var indeterminateNodeIds = [];\n internalValue = this.forest.selectedNodeIds.slice();\n this.selectedNodes.forEach(function (selectedNode) {\n selectedNode.ancestors.forEach(function (ancestor) {\n if (includes(indeterminateNodeIds, ancestor.id)) return;\n if (includes(internalValue, ancestor.id)) return;\n indeterminateNodeIds.push(ancestor.id);\n });\n });\n\n (_internalValue = internalValue).push.apply(_internalValue, indeterminateNodeIds);\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort(function (a, b) {\n return sortValueByLevel(_this.getNode(a), _this.getNode(b));\n });\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort(function (a, b) {\n return sortValueByIndex(_this.getNode(a), _this.getNode(b));\n });\n }\n\n return internalValue;\n },\n hasValue: function hasValue() {\n return this.internalValue.length > 0;\n },\n single: function single() {\n return !this.multiple;\n },\n visibleOptionIds: function visibleOptionIds() {\n var _this2 = this;\n\n var visibleOptionIds = [];\n this.traverseAllNodesByIndex(function (node) {\n if (!_this2.localSearch.active || _this2.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id);\n }\n\n if (node.isBranch && !_this2.shouldExpand(node)) {\n return false;\n }\n });\n return visibleOptionIds;\n },\n hasVisibleOptions: function hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0;\n },\n showCountOnSearchComputed: function showCountOnSearchComputed() {\n return typeof this.showCountOnSearch === 'boolean' ? this.showCountOnSearch : this.showCount;\n },\n hasBranchNodes: function hasBranchNodes() {\n return this.forest.normalizedOptions.some(function (rootNode) {\n return rootNode.isBranch;\n });\n },\n shouldFlattenOptions: function shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults;\n }\n },\n watch: {\n alwaysOpen: function alwaysOpen(newValue) {\n if (newValue) this.openMenu();else this.closeMenu();\n },\n branchNodesFirst: function branchNodesFirst() {\n this.initialize();\n },\n disabled: function disabled(newValue) {\n if (newValue && this.menu.isOpen) this.closeMenu();else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu();\n },\n flat: function flat() {\n this.initialize();\n },\n internalValue: function internalValue(newValue, oldValue) {\n var hasChanged = quickDiff(newValue, oldValue);\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId());\n },\n matchKeys: function matchKeys() {\n this.initialize();\n },\n multiple: function multiple(newValue) {\n if (newValue) this.buildForestState();\n },\n options: {\n handler: function handler() {\n if (this.async) return;\n this.initialize();\n this.rootOptionsStates.isLoaded = Array.isArray(this.options);\n },\n deep: true,\n immediate: true\n },\n 'trigger.searchQuery': function triggerSearchQuery() {\n if (this.async) {\n this.handleRemoteSearch();\n } else {\n this.handleLocalSearch();\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId());\n },\n value: function value() {\n var nodeIdsFromValue = this.extractCheckedNodeIdsFromValue();\n var hasChanged = quickDiff(nodeIdsFromValue, this.internalValue);\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue);\n }\n },\n methods: {\n verifyProps: function verifyProps() {\n var _this3 = this;\n\n warning_warning(function () {\n return _this3.async ? _this3.searchable : true;\n }, function () {\n return 'For async search mode, the value of \"searchable\" prop must be true.';\n });\n\n if (this.options == null && !this.loadOptions) {\n warning_warning(function () {\n return false;\n }, function () {\n return 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.';\n });\n }\n\n if (this.flat) {\n warning_warning(function () {\n return _this3.multiple;\n }, function () {\n return 'You are using flat mode. But you forgot to add \"multiple=true\"?';\n });\n }\n\n if (!this.flat) {\n var propNames = ['autoSelectAncestors', 'autoSelectDescendants', 'autoDeselectAncestors', 'autoDeselectDescendants'];\n propNames.forEach(function (propName) {\n warning_warning(function () {\n return !_this3[propName];\n }, function () {\n return \"\\\"\".concat(propName, \"\\\" only applies to flat mode.\");\n });\n });\n }\n },\n resetFlags: function resetFlags() {\n this._blurOnSelect = false;\n },\n initialize: function initialize() {\n var options = this.async ? this.getRemoteSearchEntry().options : this.options;\n\n if (Array.isArray(options)) {\n var prevNodeMap = this.forest.nodeMap;\n this.forest.nodeMap = createMap();\n this.keepDataOfSelectedNodes(prevNodeMap);\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap);\n this.fixSelectedNodeIds(this.internalValue);\n } else {\n this.forest.normalizedOptions = [];\n }\n },\n getInstanceId: function getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId;\n },\n getValue: function getValue() {\n var _this4 = this;\n\n if (this.valueFormat === 'id') {\n return this.multiple ? this.internalValue.slice() : this.internalValue[0];\n }\n\n var rawNodes = this.internalValue.map(function (id) {\n return _this4.getNode(id).raw;\n });\n return this.multiple ? rawNodes : rawNodes[0];\n },\n getNode: function getNode(nodeId) {\n warning_warning(function () {\n return nodeId != null;\n }, function () {\n return \"Invalid node id: \".concat(nodeId);\n });\n if (nodeId == null) return null;\n return nodeId in this.forest.nodeMap ? this.forest.nodeMap[nodeId] : this.createFallbackNode(nodeId);\n },\n createFallbackNode: function createFallbackNode(id) {\n var raw = this.extractNodeFromValue(id);\n var label = this.enhancedNormalizer(raw).label || \"\".concat(id, \" (unknown)\");\n var fallbackNode = {\n id: id,\n label: label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [-1],\n level: 0,\n raw: raw\n };\n return this.$set(this.forest.nodeMap, id, fallbackNode);\n },\n extractCheckedNodeIdsFromValue: function extractCheckedNodeIdsFromValue() {\n var _this5 = this;\n\n if (this.value == null) return [];\n\n if (this.valueFormat === 'id') {\n return this.multiple ? this.value.slice() : [this.value];\n }\n\n return (this.multiple ? this.value : [this.value]).map(function (node) {\n return _this5.enhancedNormalizer(node);\n }).map(function (node) {\n return node.id;\n });\n },\n extractNodeFromValue: function extractNodeFromValue(id) {\n var _this6 = this;\n\n var defaultNode = {\n id: id\n };\n\n if (this.valueFormat === 'id') {\n return defaultNode;\n }\n\n var valueArray = this.multiple ? Array.isArray(this.value) ? this.value : [] : this.value ? [this.value] : [];\n var matched = find(valueArray, function (node) {\n return node && _this6.enhancedNormalizer(node).id === id;\n });\n return matched || defaultNode;\n },\n fixSelectedNodeIds: function fixSelectedNodeIds(nodeIdListOfPrevValue) {\n var _this7 = this;\n\n var nextSelectedNodeIds = [];\n\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue;\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(function (nodeId) {\n nextSelectedNodeIds.push(nodeId);\n\n var node = _this7.getNode(nodeId);\n\n if (node.isBranch) _this7.traverseDescendantsBFS(node, function (descendant) {\n nextSelectedNodeIds.push(descendant.id);\n });\n });\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n var map = createMap();\n var queue = nodeIdListOfPrevValue.slice();\n\n while (queue.length) {\n var nodeId = queue.shift();\n var node = this.getNode(nodeId);\n nextSelectedNodeIds.push(nodeId);\n if (node.isRootNode) continue;\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length;\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id);\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n var _map = createMap();\n\n var _queue = nodeIdListOfPrevValue.filter(function (nodeId) {\n var node = _this7.getNode(nodeId);\n\n return node.isLeaf || node.children.length === 0;\n });\n\n while (_queue.length) {\n var _nodeId = _queue.shift();\n\n var _node = this.getNode(_nodeId);\n\n nextSelectedNodeIds.push(_nodeId);\n if (_node.isRootNode) continue;\n if (!(_node.parentNode.id in _map)) _map[_node.parentNode.id] = _node.parentNode.children.length;\n if (--_map[_node.parentNode.id] === 0) _queue.push(_node.parentNode.id);\n }\n }\n\n var hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds);\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds;\n this.buildForestState();\n },\n keepDataOfSelectedNodes: function keepDataOfSelectedNodes(prevNodeMap) {\n var _this8 = this;\n\n this.forest.selectedNodeIds.forEach(function (id) {\n if (!prevNodeMap[id]) return;\n\n var node = _objectSpread({}, prevNodeMap[id], {\n isFallbackNode: true\n });\n\n _this8.$set(_this8.forest.nodeMap, id, node);\n });\n },\n isSelected: function isSelected(node) {\n return this.forest.selectedNodeMap[node.id] === true;\n },\n traverseDescendantsBFS: function traverseDescendantsBFS(parentNode, callback) {\n if (!parentNode.isBranch) return;\n var queue = parentNode.children.slice();\n\n while (queue.length) {\n var currNode = queue[0];\n if (currNode.isBranch) queue.push.apply(queue, toConsumableArray_default()(currNode.children));\n callback(currNode);\n queue.shift();\n }\n },\n traverseDescendantsDFS: function traverseDescendantsDFS(parentNode, callback) {\n var _this9 = this;\n\n if (!parentNode.isBranch) return;\n parentNode.children.forEach(function (child) {\n _this9.traverseDescendantsDFS(child, callback);\n\n callback(child);\n });\n },\n traverseAllNodesDFS: function traverseAllNodesDFS(callback) {\n var _this10 = this;\n\n this.forest.normalizedOptions.forEach(function (rootNode) {\n _this10.traverseDescendantsDFS(rootNode, callback);\n\n callback(rootNode);\n });\n },\n traverseAllNodesByIndex: function traverseAllNodesByIndex(callback) {\n var walk = function walk(parentNode) {\n parentNode.children.forEach(function (child) {\n if (callback(child) !== false && child.isBranch) {\n walk(child);\n }\n });\n };\n\n walk({\n children: this.forest.normalizedOptions\n });\n },\n toggleClickOutsideEvent: function toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false);\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false);\n }\n },\n getValueContainer: function getValueContainer() {\n return this.$refs.control.$refs['value-container'];\n },\n getInput: function getInput() {\n return this.getValueContainer().$refs.input;\n },\n focusInput: function focusInput() {\n this.getInput().focus();\n },\n blurInput: function blurInput() {\n this.getInput().blur();\n },\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this.disabled) return;\n var isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target);\n\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu();\n }\n\n if (this._blurOnSelect) {\n this.blurInput();\n } else {\n this.focusInput();\n }\n\n this.resetFlags();\n }),\n handleClickOutside: function handleClickOutside(evt) {\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput();\n this.closeMenu();\n }\n },\n handleLocalSearch: function handleLocalSearch() {\n var _this11 = this;\n\n var searchQuery = this.trigger.searchQuery;\n\n var done = function done() {\n return _this11.resetHighlightedOptionWhenNecessary(true);\n };\n\n if (!searchQuery) {\n this.localSearch.active = false;\n return done();\n }\n\n this.localSearch.active = true;\n this.localSearch.noResults = true;\n this.traverseAllNodesDFS(function (node) {\n if (node.isBranch) {\n var _this11$$set;\n\n node.isExpandedOnSearch = false;\n node.showAllChildrenOnSearch = false;\n node.isMatched = false;\n node.hasMatchedDescendants = false;\n\n _this11.$set(_this11.localSearch.countMap, node.id, (_this11$$set = {}, defineProperty_default()(_this11$$set, ALL_CHILDREN, 0), defineProperty_default()(_this11$$set, ALL_DESCENDANTS, 0), defineProperty_default()(_this11$$set, LEAF_CHILDREN, 0), defineProperty_default()(_this11$$set, LEAF_DESCENDANTS, 0), _this11$$set));\n }\n });\n var lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase();\n var splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ');\n this.traverseAllNodesDFS(function (node) {\n if (_this11.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(function (filterValue) {\n return match(false, filterValue, node.nestedSearchLabel);\n });\n } else {\n node.isMatched = _this11.matchKeys.some(function (matchKey) {\n return match(!_this11.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]);\n });\n }\n\n if (node.isMatched) {\n _this11.localSearch.noResults = false;\n node.ancestors.forEach(function (ancestor) {\n return _this11.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++;\n });\n if (node.isLeaf) node.ancestors.forEach(function (ancestor) {\n return _this11.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++;\n });\n\n if (node.parentNode !== NO_PARENT_NODE) {\n _this11.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1;\n if (node.isLeaf) _this11.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1;\n }\n }\n\n if ((node.isMatched || node.isBranch && node.isExpandedOnSearch) && node.parentNode !== NO_PARENT_NODE) {\n node.parentNode.isExpandedOnSearch = true;\n node.parentNode.hasMatchedDescendants = true;\n }\n });\n done();\n },\n handleRemoteSearch: function handleRemoteSearch() {\n var _this12 = this;\n\n var searchQuery = this.trigger.searchQuery;\n var entry = this.getRemoteSearchEntry();\n\n var done = function done() {\n _this12.initialize();\n\n _this12.resetHighlightedOptionWhenNecessary(true);\n };\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done();\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: {\n searchQuery: searchQuery\n },\n isPending: function isPending() {\n return entry.isLoading;\n },\n start: function start() {\n entry.isLoading = true;\n entry.isLoaded = false;\n entry.loadingError = '';\n },\n succeed: function succeed(options) {\n entry.isLoaded = true;\n entry.options = options;\n if (_this12.trigger.searchQuery === searchQuery) done();\n },\n fail: function fail(err) {\n entry.loadingError = getErrorMessage(err);\n },\n end: function end() {\n entry.isLoading = false;\n }\n });\n },\n getRemoteSearchEntry: function getRemoteSearchEntry() {\n var _this13 = this;\n\n var searchQuery = this.trigger.searchQuery;\n\n var entry = this.remoteSearch[searchQuery] || _objectSpread({}, createAsyncOptionsStates(), {\n options: []\n });\n\n this.$watch(function () {\n return entry.options;\n }, function () {\n if (_this13.trigger.searchQuery === searchQuery) _this13.initialize();\n }, {\n deep: true\n });\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions;\n entry.isLoaded = true;\n return entry;\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true;\n return entry;\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry);\n }\n\n return entry;\n },\n shouldExpand: function shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded;\n },\n shouldOptionBeIncludedInSearchResult: function shouldOptionBeIncludedInSearchResult(node) {\n if (node.isMatched) return true;\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true;\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true;\n return false;\n },\n shouldShowOptionInMenu: function shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false;\n }\n\n return true;\n },\n getControl: function getControl() {\n return this.$refs.control.$el;\n },\n getMenu: function getMenu() {\n var ref = this.appendToBody ? this.$refs.portal.portalTarget : this;\n var $menu = ref.$refs.menu.$refs.menu;\n return $menu && $menu.nodeName !== '#comment' ? $menu : null;\n },\n setCurrentHighlightedOption: function setCurrentHighlightedOption(node) {\n var _this14 = this;\n\n var scroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var prev = this.menu.current;\n\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false;\n }\n\n this.menu.current = node.id;\n node.isHighlighted = true;\n\n if (this.menu.isOpen && scroll) {\n var scrollToOption = function scrollToOption() {\n var $menu = _this14.getMenu();\n\n var $option = $menu.querySelector(\".vue-treeselect__option[data-id=\\\"\".concat(node.id, \"\\\"]\"));\n if ($option) scrollIntoView($menu, $option);\n };\n\n if (this.getMenu()) {\n scrollToOption();\n } else {\n this.$nextTick(scrollToOption);\n }\n }\n },\n resetHighlightedOptionWhenNecessary: function resetHighlightedOptionWhenNecessary() {\n var forceReset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var current = this.menu.current;\n\n if (forceReset || current == null || !(current in this.forest.nodeMap) || !this.shouldShowOptionInMenu(this.getNode(current))) {\n this.highlightFirstOption();\n }\n },\n highlightFirstOption: function highlightFirstOption() {\n if (!this.hasVisibleOptions) return;\n var first = this.visibleOptionIds[0];\n this.setCurrentHighlightedOption(this.getNode(first));\n },\n highlightPrevOption: function highlightPrevOption() {\n if (!this.hasVisibleOptions) return;\n var prev = this.visibleOptionIds.indexOf(this.menu.current) - 1;\n if (prev === -1) return this.highlightLastOption();\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]));\n },\n highlightNextOption: function highlightNextOption() {\n if (!this.hasVisibleOptions) return;\n var next = this.visibleOptionIds.indexOf(this.menu.current) + 1;\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption();\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]));\n },\n highlightLastOption: function highlightLastOption() {\n if (!this.hasVisibleOptions) return;\n var last = last_default()(this.visibleOptionIds);\n this.setCurrentHighlightedOption(this.getNode(last));\n },\n resetSearchQuery: function resetSearchQuery() {\n this.trigger.searchQuery = '';\n },\n closeMenu: function closeMenu() {\n if (!this.menu.isOpen || !this.disabled && this.alwaysOpen) return;\n this.saveMenuScrollPosition();\n this.menu.isOpen = false;\n this.toggleClickOutsideEvent(false);\n this.resetSearchQuery();\n this.$emit('close', this.getValue(), this.getInstanceId());\n },\n openMenu: function openMenu() {\n if (this.disabled || this.menu.isOpen) return;\n this.menu.isOpen = true;\n this.$nextTick(this.resetHighlightedOptionWhenNecessary);\n this.$nextTick(this.restoreMenuScrollPosition);\n if (!this.options && !this.async) this.loadRootOptions();\n this.toggleClickOutsideEvent(true);\n this.$emit('open', this.getInstanceId());\n },\n toggleMenu: function toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu();\n } else {\n this.openMenu();\n }\n },\n toggleExpanded: function toggleExpanded(node) {\n var nextState;\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch;\n if (nextState) node.showAllChildrenOnSearch = true;\n } else {\n nextState = node.isExpanded = !node.isExpanded;\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node);\n }\n },\n buildForestState: function buildForestState() {\n var _this15 = this;\n\n var selectedNodeMap = createMap();\n this.forest.selectedNodeIds.forEach(function (selectedNodeId) {\n selectedNodeMap[selectedNodeId] = true;\n });\n this.forest.selectedNodeMap = selectedNodeMap;\n var checkedStateMap = createMap();\n\n if (this.multiple) {\n this.traverseAllNodesByIndex(function (node) {\n checkedStateMap[node.id] = UNCHECKED;\n });\n this.selectedNodes.forEach(function (selectedNode) {\n checkedStateMap[selectedNode.id] = CHECKED;\n\n if (!_this15.flat && !_this15.disableBranchNodes) {\n selectedNode.ancestors.forEach(function (ancestorNode) {\n if (!_this15.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE;\n }\n });\n }\n });\n }\n\n this.forest.checkedStateMap = checkedStateMap;\n },\n enhancedNormalizer: function enhancedNormalizer(raw) {\n return _objectSpread({}, raw, {}, this.normalizer(raw, this.getInstanceId()));\n },\n normalize: function normalize(parentNode, nodes, prevNodeMap) {\n var _this16 = this;\n\n var normalizedOptions = nodes.map(function (node) {\n return [_this16.enhancedNormalizer(node), node];\n }).map(function (_ref, index) {\n var _ref2 = slicedToArray_default()(_ref, 2),\n node = _ref2[0],\n raw = _ref2[1];\n\n _this16.checkDuplication(node);\n\n _this16.verifyNodeShape(node);\n\n var id = node.id,\n label = node.label,\n children = node.children,\n isDefaultExpanded = node.isDefaultExpanded;\n var isRootNode = parentNode === NO_PARENT_NODE;\n var level = isRootNode ? 0 : parentNode.level + 1;\n var isBranch = Array.isArray(children) || children === null;\n var isLeaf = !isBranch;\n var isDisabled = !!node.isDisabled || !_this16.flat && !isRootNode && parentNode.isDisabled;\n var isNew = !!node.isNew;\n\n var lowerCased = _this16.matchKeys.reduce(function (prev, key) {\n return _objectSpread({}, prev, defineProperty_default()({}, key, stringifyOptionPropValue(node[key]).toLocaleLowerCase()));\n }, {});\n\n var nestedSearchLabel = isRootNode ? lowerCased.label : parentNode.nestedSearchLabel + ' ' + lowerCased.label;\n\n var normalized = _this16.$set(_this16.forest.nodeMap, id, createMap());\n\n _this16.$set(normalized, 'id', id);\n\n _this16.$set(normalized, 'label', label);\n\n _this16.$set(normalized, 'level', level);\n\n _this16.$set(normalized, 'ancestors', isRootNode ? [] : [parentNode].concat(parentNode.ancestors));\n\n _this16.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index));\n\n _this16.$set(normalized, 'parentNode', parentNode);\n\n _this16.$set(normalized, 'lowerCased', lowerCased);\n\n _this16.$set(normalized, 'nestedSearchLabel', nestedSearchLabel);\n\n _this16.$set(normalized, 'isDisabled', isDisabled);\n\n _this16.$set(normalized, 'isNew', isNew);\n\n _this16.$set(normalized, 'isMatched', false);\n\n _this16.$set(normalized, 'isHighlighted', false);\n\n _this16.$set(normalized, 'isBranch', isBranch);\n\n _this16.$set(normalized, 'isLeaf', isLeaf);\n\n _this16.$set(normalized, 'isRootNode', isRootNode);\n\n _this16.$set(normalized, 'raw', raw);\n\n if (isBranch) {\n var _this16$$set;\n\n var isLoaded = Array.isArray(children);\n\n _this16.$set(normalized, 'childrenStates', _objectSpread({}, createAsyncOptionsStates(), {\n isLoaded: isLoaded\n }));\n\n _this16.$set(normalized, 'isExpanded', typeof isDefaultExpanded === 'boolean' ? isDefaultExpanded : level < _this16.defaultExpandLevel);\n\n _this16.$set(normalized, 'hasMatchedDescendants', false);\n\n _this16.$set(normalized, 'hasDisabledDescendants', false);\n\n _this16.$set(normalized, 'isExpandedOnSearch', false);\n\n _this16.$set(normalized, 'showAllChildrenOnSearch', false);\n\n _this16.$set(normalized, 'count', (_this16$$set = {}, defineProperty_default()(_this16$$set, ALL_CHILDREN, 0), defineProperty_default()(_this16$$set, ALL_DESCENDANTS, 0), defineProperty_default()(_this16$$set, LEAF_CHILDREN, 0), defineProperty_default()(_this16$$set, LEAF_DESCENDANTS, 0), _this16$$set));\n\n _this16.$set(normalized, 'children', isLoaded ? _this16.normalize(normalized, children, prevNodeMap) : []);\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(function (ancestor) {\n ancestor.isExpanded = true;\n });\n\n if (!isLoaded && typeof _this16.loadOptions !== 'function') {\n warning_warning(function () {\n return false;\n }, function () {\n return 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.';\n });\n } else if (!isLoaded && normalized.isExpanded) {\n _this16.loadChildrenOptions(normalized);\n }\n }\n\n normalized.ancestors.forEach(function (ancestor) {\n return ancestor.count[ALL_DESCENDANTS]++;\n });\n if (isLeaf) normalized.ancestors.forEach(function (ancestor) {\n return ancestor.count[LEAF_DESCENDANTS]++;\n });\n\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1;\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1;\n if (isDisabled) parentNode.hasDisabledDescendants = true;\n }\n\n if (prevNodeMap && prevNodeMap[id]) {\n var prev = prevNodeMap[id];\n normalized.isMatched = prev.isMatched;\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch;\n normalized.isHighlighted = prev.isHighlighted;\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded;\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch;\n\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n normalized.isExpanded = false;\n } else {\n normalized.childrenStates = _objectSpread({}, prev.childrenStates);\n }\n }\n }\n\n return normalized;\n });\n\n if (this.branchNodesFirst) {\n var branchNodes = normalizedOptions.filter(function (option) {\n return option.isBranch;\n });\n var leafNodes = normalizedOptions.filter(function (option) {\n return option.isLeaf;\n });\n normalizedOptions = branchNodes.concat(leafNodes);\n }\n\n return normalizedOptions;\n },\n loadRootOptions: function loadRootOptions() {\n var _this17 = this;\n\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: function isPending() {\n return _this17.rootOptionsStates.isLoading;\n },\n start: function start() {\n _this17.rootOptionsStates.isLoading = true;\n _this17.rootOptionsStates.loadingError = '';\n },\n succeed: function succeed() {\n _this17.rootOptionsStates.isLoaded = true;\n\n _this17.$nextTick(function () {\n _this17.resetHighlightedOptionWhenNecessary(true);\n });\n },\n fail: function fail(err) {\n _this17.rootOptionsStates.loadingError = getErrorMessage(err);\n },\n end: function end() {\n _this17.rootOptionsStates.isLoading = false;\n }\n });\n },\n loadChildrenOptions: function loadChildrenOptions(parentNode) {\n var _this18 = this;\n\n var id = parentNode.id,\n raw = parentNode.raw;\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n parentNode: raw\n },\n isPending: function isPending() {\n return _this18.getNode(id).childrenStates.isLoading;\n },\n start: function start() {\n _this18.getNode(id).childrenStates.isLoading = true;\n _this18.getNode(id).childrenStates.loadingError = '';\n },\n succeed: function succeed() {\n _this18.getNode(id).childrenStates.isLoaded = true;\n },\n fail: function fail(err) {\n _this18.getNode(id).childrenStates.loadingError = getErrorMessage(err);\n },\n end: function end() {\n _this18.getNode(id).childrenStates.isLoading = false;\n }\n });\n },\n callLoadOptionsProp: function callLoadOptionsProp(_ref3) {\n var action = _ref3.action,\n args = _ref3.args,\n isPending = _ref3.isPending,\n start = _ref3.start,\n succeed = _ref3.succeed,\n fail = _ref3.fail,\n end = _ref3.end;\n\n if (!this.loadOptions || isPending()) {\n return;\n }\n\n start();\n var callback = once_default()(function (err, result) {\n if (err) {\n fail(err);\n } else {\n succeed(result);\n }\n\n end();\n });\n var result = this.loadOptions(_objectSpread({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action: action\n }, args, {\n callback: callback\n }));\n\n if (external_is_promise_default()(result)) {\n result.then(function () {\n callback();\n }, function (err) {\n callback(err);\n }).catch(function (err) {\n console.error(err);\n });\n }\n },\n checkDuplication: function checkDuplication(node) {\n var _this19 = this;\n\n warning_warning(function () {\n return !(node.id in _this19.forest.nodeMap && !_this19.forest.nodeMap[node.id].isFallbackNode);\n }, function () {\n return \"Detected duplicate presence of node id \".concat(JSON.stringify(node.id), \". \") + \"Their labels are \\\"\".concat(_this19.forest.nodeMap[node.id].label, \"\\\" and \\\"\").concat(node.label, \"\\\" respectively.\");\n });\n },\n verifyNodeShape: function verifyNodeShape(node) {\n warning_warning(function () {\n return !(node.children === undefined && node.isBranch === true);\n }, function () {\n return 'Are you meant to declare an unloaded branch node? ' + '`isBranch: true` is no longer supported, please use `children: null` instead.';\n });\n },\n select: function select(node) {\n if (this.disabled || node.isDisabled) {\n return;\n }\n\n if (this.single) {\n this.clear();\n }\n\n var nextState = this.multiple && !this.flat ? this.forest.checkedStateMap[node.id] === UNCHECKED : !this.isSelected(node);\n\n if (nextState) {\n this._selectNode(node);\n } else {\n this._deselectNode(node);\n }\n\n this.buildForestState();\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId());\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId());\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery();\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu();\n\n if (this.searchable) {\n this._blurOnSelect = true;\n }\n }\n },\n clear: function clear() {\n var _this20 = this;\n\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = [];\n } else {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(function (nodeId) {\n return _this20.getNode(nodeId).isDisabled;\n });\n }\n\n this.buildForestState();\n }\n },\n _selectNode: function _selectNode(node) {\n var _this21 = this;\n\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node);\n }\n\n if (this.flat) {\n this.addValue(node);\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(function (ancestor) {\n if (!_this21.isSelected(ancestor) && !ancestor.isDisabled) _this21.addValue(ancestor);\n });\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, function (descendant) {\n if (!_this21.isSelected(descendant) && !descendant.isDisabled) _this21.addValue(descendant);\n });\n }\n\n return;\n }\n\n var isFullyChecked = node.isLeaf || !node.hasDisabledDescendants || this.allowSelectingDisabledDescendants;\n\n if (isFullyChecked) {\n this.addValue(node);\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, function (descendant) {\n if (!descendant.isDisabled || _this21.allowSelectingDisabledDescendants) {\n _this21.addValue(descendant);\n }\n });\n }\n\n if (isFullyChecked) {\n var curr = node;\n\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr);else break;\n }\n }\n },\n _deselectNode: function _deselectNode(node) {\n var _this22 = this;\n\n if (this.disableBranchNodes) {\n return this.removeValue(node);\n }\n\n if (this.flat) {\n this.removeValue(node);\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(function (ancestor) {\n if (_this22.isSelected(ancestor) && !ancestor.isDisabled) _this22.removeValue(ancestor);\n });\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, function (descendant) {\n if (_this22.isSelected(descendant) && !descendant.isDisabled) _this22.removeValue(descendant);\n });\n }\n\n return;\n }\n\n var hasUncheckedSomeDescendants = false;\n\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, function (descendant) {\n if (!descendant.isDisabled || _this22.allowSelectingDisabledDescendants) {\n _this22.removeValue(descendant);\n\n hasUncheckedSomeDescendants = true;\n }\n });\n }\n\n if (node.isLeaf || hasUncheckedSomeDescendants || node.children.length === 0) {\n this.removeValue(node);\n var curr = node;\n\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr);else break;\n }\n }\n },\n addValue: function addValue(node) {\n this.forest.selectedNodeIds.push(node.id);\n this.forest.selectedNodeMap[node.id] = true;\n },\n removeValue: function removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id);\n delete this.forest.selectedNodeMap[node.id];\n },\n removeLastValue: function removeLastValue() {\n if (!this.hasValue) return;\n if (this.single) return this.clear();\n var lastValue = last_default()(this.internalValue);\n var lastSelectedNode = this.getNode(lastValue);\n this.select(lastSelectedNode);\n },\n saveMenuScrollPosition: function saveMenuScrollPosition() {\n var $menu = this.getMenu();\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop;\n },\n restoreMenuScrollPosition: function restoreMenuScrollPosition() {\n var $menu = this.getMenu();\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition;\n }\n },\n created: function created() {\n this.verifyProps();\n this.resetFlags();\n },\n mounted: function mounted() {\n if (this.autoFocus) this.focusInput();\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions();\n if (this.alwaysOpen) this.openMenu();\n if (this.async && this.defaultOptions) this.handleRemoteSearch();\n },\n destroyed: function destroyed() {\n this.toggleClickOutsideEvent(false);\n }\n});\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HiddenFields.vue?vue&type=script&lang=js&\n\n\nfunction stringifyValue(value) {\n if (typeof value === 'string') return value;\n if (value != null && !isNaN_isNaN(value)) return JSON.stringify(value);\n return '';\n}\n\n/* harmony default export */ var HiddenFieldsvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--hidden-fields',\n inject: ['instance'],\n functional: true,\n render: function render(_, context) {\n var h = arguments[0];\n var instance = context.injections.instance;\n if (!instance.name || instance.disabled || !instance.hasValue) return null;\n var stringifiedValues = instance.internalValue.map(stringifyValue);\n if (instance.multiple && instance.joinValues) stringifiedValues = [stringifiedValues.join(instance.delimiter)];\n return stringifiedValues.map(function (stringifiedValue, i) {\n return h(\"input\", {\n attrs: {\n type: \"hidden\",\n name: instance.name\n },\n domProps: {\n \"value\": stringifiedValue\n },\n key: 'hidden-field-' + i\n });\n });\n }\n});\n// CONCATENATED MODULE: ./src/components/HiddenFields.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_HiddenFieldsvue_type_script_lang_js_ = (HiddenFieldsvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n// CONCATENATED MODULE: ./src/components/HiddenFields.vue\nvar HiddenFields_render, staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_HiddenFieldsvue_type_script_lang_js_,\n HiddenFields_render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/HiddenFields.vue\"\n/* harmony default export */ var HiddenFields = (component.exports);\n// EXTERNAL MODULE: external \"babel-helper-vue-jsx-merge-props\"\nvar external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(13);\nvar external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);\n\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Input.vue?vue&type=script&lang=js&\n\n\n\nvar keysThatRequireMenuBeingOpen = [KEY_CODES.ENTER, KEY_CODES.END, KEY_CODES.HOME, KEY_CODES.ARROW_LEFT, KEY_CODES.ARROW_UP, KEY_CODES.ARROW_RIGHT, KEY_CODES.ARROW_DOWN];\n/* harmony default export */ var Inputvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--input',\n inject: ['instance'],\n data: function data() {\n return {\n inputWidth: MIN_INPUT_WIDTH,\n value: ''\n };\n },\n computed: {\n needAutoSize: function needAutoSize() {\n var instance = this.instance;\n return instance.searchable && !instance.disabled && instance.multiple;\n },\n inputStyle: function inputStyle() {\n return {\n width: this.needAutoSize ? \"\".concat(this.inputWidth, \"px\") : null\n };\n }\n },\n watch: {\n 'instance.trigger.searchQuery': function instanceTriggerSearchQuery(newValue) {\n this.value = newValue;\n },\n value: function value() {\n if (this.needAutoSize) this.$nextTick(this.updateInputWidth);\n }\n },\n created: function created() {\n this.debouncedCallback = debounce_default()(this.updateSearchQuery, INPUT_DEBOUNCE_DELAY, {\n leading: true,\n trailing: true\n });\n },\n methods: {\n clear: function clear() {\n this.onInput({\n target: {\n value: ''\n }\n });\n },\n focus: function focus() {\n var instance = this.instance;\n\n if (!instance.disabled) {\n this.$refs.input && this.$refs.input.focus();\n }\n },\n blur: function blur() {\n this.$refs.input && this.$refs.input.blur();\n },\n onFocus: function onFocus() {\n var instance = this.instance;\n instance.trigger.isFocused = true;\n if (instance.openOnFocus) instance.openMenu();\n },\n onBlur: function onBlur() {\n var instance = this.instance;\n var menu = instance.getMenu();\n\n if (menu && document.activeElement === menu) {\n return this.focus();\n }\n\n instance.trigger.isFocused = false;\n instance.closeMenu();\n },\n onInput: function onInput(evt) {\n var value = evt.target.value;\n this.value = value;\n\n if (value) {\n this.debouncedCallback();\n } else {\n this.debouncedCallback.cancel();\n this.updateSearchQuery();\n }\n },\n onKeyDown: function onKeyDown(evt) {\n var instance = this.instance;\n var key = 'which' in evt ? evt.which : evt.keyCode;\n if (evt.ctrlKey || evt.shiftKey || evt.altKey || evt.metaKey) return;\n\n if (!instance.menu.isOpen && includes(keysThatRequireMenuBeingOpen, key)) {\n evt.preventDefault();\n return instance.openMenu();\n }\n\n switch (key) {\n case KEY_CODES.BACKSPACE:\n {\n if (instance.backspaceRemoves && !this.value.length) {\n instance.removeLastValue();\n }\n\n break;\n }\n\n case KEY_CODES.ENTER:\n {\n evt.preventDefault();\n if (instance.menu.current === null) return;\n var current = instance.getNode(instance.menu.current);\n if (current.isBranch && instance.disableBranchNodes) return;\n instance.select(current);\n break;\n }\n\n case KEY_CODES.ESCAPE:\n {\n if (this.value.length) {\n this.clear();\n } else if (instance.menu.isOpen) {\n instance.closeMenu();\n }\n\n break;\n }\n\n case KEY_CODES.END:\n {\n evt.preventDefault();\n instance.highlightLastOption();\n break;\n }\n\n case KEY_CODES.HOME:\n {\n evt.preventDefault();\n instance.highlightFirstOption();\n break;\n }\n\n case KEY_CODES.ARROW_LEFT:\n {\n var _current = instance.getNode(instance.menu.current);\n\n if (_current.isBranch && instance.shouldExpand(_current)) {\n evt.preventDefault();\n instance.toggleExpanded(_current);\n } else if (!_current.isRootNode && (_current.isLeaf || _current.isBranch && !instance.shouldExpand(_current))) {\n evt.preventDefault();\n instance.setCurrentHighlightedOption(_current.parentNode);\n }\n\n break;\n }\n\n case KEY_CODES.ARROW_UP:\n {\n evt.preventDefault();\n instance.highlightPrevOption();\n break;\n }\n\n case KEY_CODES.ARROW_RIGHT:\n {\n var _current2 = instance.getNode(instance.menu.current);\n\n if (_current2.isBranch && !instance.shouldExpand(_current2)) {\n evt.preventDefault();\n instance.toggleExpanded(_current2);\n }\n\n break;\n }\n\n case KEY_CODES.ARROW_DOWN:\n {\n evt.preventDefault();\n instance.highlightNextOption();\n break;\n }\n\n case KEY_CODES.DELETE:\n {\n if (instance.deleteRemoves && !this.value.length) {\n instance.removeLastValue();\n }\n\n break;\n }\n\n default:\n {\n instance.openMenu();\n }\n }\n },\n onMouseDown: function onMouseDown(evt) {\n if (this.value.length) {\n evt.stopPropagation();\n }\n },\n renderInputContainer: function renderInputContainer() {\n var h = this.$createElement;\n var instance = this.instance;\n var props = {};\n var children = [];\n\n if (instance.searchable && !instance.disabled) {\n children.push(this.renderInput());\n if (this.needAutoSize) children.push(this.renderSizer());\n }\n\n if (!instance.searchable) {\n deepExtend(props, {\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n keydown: this.onKeyDown\n },\n ref: 'input'\n });\n }\n\n if (!instance.searchable && !instance.disabled) {\n deepExtend(props, {\n attrs: {\n tabIndex: instance.tabIndex\n }\n });\n }\n\n return h(\"div\", external_babel_helper_vue_jsx_merge_props_default()([{\n \"class\": \"vue-treeselect__input-container\"\n }, props]), [children]);\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var instance = this.instance;\n return h(\"input\", {\n ref: \"input\",\n \"class\": \"vue-treeselect__input\",\n attrs: {\n type: \"text\",\n autocomplete: \"off\",\n tabIndex: instance.tabIndex,\n required: instance.required && !instance.hasValue\n },\n domProps: {\n \"value\": this.value\n },\n style: this.inputStyle,\n on: {\n \"focus\": this.onFocus,\n \"input\": this.onInput,\n \"blur\": this.onBlur,\n \"keydown\": this.onKeyDown,\n \"mousedown\": this.onMouseDown\n }\n });\n },\n renderSizer: function renderSizer() {\n var h = this.$createElement;\n return h(\"div\", {\n ref: \"sizer\",\n \"class\": \"vue-treeselect__sizer\"\n }, [this.value]);\n },\n updateInputWidth: function updateInputWidth() {\n this.inputWidth = Math.max(MIN_INPUT_WIDTH, this.$refs.sizer.scrollWidth + 15);\n },\n updateSearchQuery: function updateSearchQuery() {\n var instance = this.instance;\n instance.trigger.searchQuery = this.value;\n }\n },\n render: function render() {\n return this.renderInputContainer();\n }\n});\n// CONCATENATED MODULE: ./src/components/Input.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_Inputvue_type_script_lang_js_ = (Inputvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/Input.vue\nvar Input_render, Input_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar Input_component = normalizeComponent(\n components_Inputvue_type_script_lang_js_,\n Input_render,\n Input_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Input_api; }\nInput_component.options.__file = \"src/components/Input.vue\"\n/* harmony default export */ var Input = (Input_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Placeholder.vue?vue&type=script&lang=js&\n/* harmony default export */ var Placeholdervue_type_script_lang_js_ = ({\n name: 'vue-treeselect--placeholder',\n inject: ['instance'],\n render: function render() {\n var h = arguments[0];\n var instance = this.instance;\n var placeholderClass = {\n 'vue-treeselect__placeholder': true,\n 'vue-treeselect-helper-zoom-effect-off': true,\n 'vue-treeselect-helper-hide': instance.hasValue || instance.trigger.searchQuery\n };\n return h(\"div\", {\n \"class\": placeholderClass\n }, [instance.placeholder]);\n }\n});\n// CONCATENATED MODULE: ./src/components/Placeholder.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_Placeholdervue_type_script_lang_js_ = (Placeholdervue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/Placeholder.vue\nvar Placeholder_render, Placeholder_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar Placeholder_component = normalizeComponent(\n components_Placeholdervue_type_script_lang_js_,\n Placeholder_render,\n Placeholder_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Placeholder_api; }\nPlaceholder_component.options.__file = \"src/components/Placeholder.vue\"\n/* harmony default export */ var Placeholder = (Placeholder_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SingleValue.vue?vue&type=script&lang=js&\n\n\n/* harmony default export */ var SingleValuevue_type_script_lang_js_ = ({\n name: 'vue-treeselect--single-value',\n inject: ['instance'],\n methods: {\n renderSingleValueLabel: function renderSingleValueLabel() {\n var instance = this.instance;\n var node = instance.selectedNodes[0];\n var customValueLabelRenderer = instance.$scopedSlots['value-label'];\n return customValueLabelRenderer ? customValueLabelRenderer({\n node: node\n }) : node.label;\n }\n },\n render: function render() {\n var h = arguments[0];\n var instance = this.instance,\n renderValueContainer = this.$parent.renderValueContainer;\n var shouldShowValue = instance.hasValue && !instance.trigger.searchQuery;\n return renderValueContainer([shouldShowValue && h(\"div\", {\n \"class\": \"vue-treeselect__single-value\"\n }, [this.renderSingleValueLabel()]), h(Placeholder), h(Input, {\n ref: \"input\"\n })]);\n }\n});\n// CONCATENATED MODULE: ./src/components/SingleValue.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_SingleValuevue_type_script_lang_js_ = (SingleValuevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/SingleValue.vue\nvar SingleValue_render, SingleValue_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar SingleValue_component = normalizeComponent(\n components_SingleValuevue_type_script_lang_js_,\n SingleValue_render,\n SingleValue_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var SingleValue_api; }\nSingleValue_component.options.__file = \"src/components/SingleValue.vue\"\n/* harmony default export */ var SingleValue = (SingleValue_component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/icons/Delete.vue?vue&type=template&id=364b6320&\nvar Deletevue_type_template_id_364b6320_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\"\n }\n },\n [\n _c(\"path\", {\n attrs: {\n d:\n \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\"\n }\n })\n ]\n )\n}\nvar Deletevue_type_template_id_364b6320_staticRenderFns = []\nDeletevue_type_template_id_364b6320_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./src/components/icons/Delete.vue?vue&type=template&id=364b6320&\n\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/icons/Delete.vue?vue&type=script&lang=js&\n/* harmony default export */ var Deletevue_type_script_lang_js_ = ({\n name: 'vue-treeselect--x'\n});\n// CONCATENATED MODULE: ./src/components/icons/Delete.vue?vue&type=script&lang=js&\n /* harmony default export */ var icons_Deletevue_type_script_lang_js_ = (Deletevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/icons/Delete.vue\n\n\n\n\n\n/* normalize component */\n\nvar Delete_component = normalizeComponent(\n icons_Deletevue_type_script_lang_js_,\n Deletevue_type_template_id_364b6320_render,\n Deletevue_type_template_id_364b6320_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Delete_api; }\nDelete_component.options.__file = \"src/components/icons/Delete.vue\"\n/* harmony default export */ var Delete = (Delete_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/MultiValueItem.vue?vue&type=script&lang=js&\n\n\n/* harmony default export */ var MultiValueItemvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--multi-value-item',\n inject: ['instance'],\n props: {\n node: {\n type: Object,\n required: true\n }\n },\n methods: {\n handleMouseDown: onLeftClick(function handleMouseDown() {\n var instance = this.instance,\n node = this.node;\n instance.select(node);\n })\n },\n render: function render() {\n var h = arguments[0];\n var instance = this.instance,\n node = this.node;\n var itemClass = {\n 'vue-treeselect__multi-value-item': true,\n 'vue-treeselect__multi-value-item-disabled': node.isDisabled,\n 'vue-treeselect__multi-value-item-new': node.isNew\n };\n var customValueLabelRenderer = instance.$scopedSlots['value-label'];\n var labelRenderer = customValueLabelRenderer ? customValueLabelRenderer({\n node: node\n }) : node.label;\n return h(\"div\", {\n \"class\": \"vue-treeselect__multi-value-item-container\"\n }, [h(\"div\", {\n \"class\": itemClass,\n on: {\n \"mousedown\": this.handleMouseDown\n }\n }, [h(\"span\", {\n \"class\": \"vue-treeselect__multi-value-label\"\n }, [labelRenderer]), h(\"span\", {\n \"class\": \"vue-treeselect__icon vue-treeselect__value-remove\"\n }, [h(Delete)])])]);\n }\n});\n// CONCATENATED MODULE: ./src/components/MultiValueItem.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_MultiValueItemvue_type_script_lang_js_ = (MultiValueItemvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/MultiValueItem.vue\nvar MultiValueItem_render, MultiValueItem_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar MultiValueItem_component = normalizeComponent(\n components_MultiValueItemvue_type_script_lang_js_,\n MultiValueItem_render,\n MultiValueItem_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var MultiValueItem_api; }\nMultiValueItem_component.options.__file = \"src/components/MultiValueItem.vue\"\n/* harmony default export */ var MultiValueItem = (MultiValueItem_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/MultiValue.vue?vue&type=script&lang=js&\n\n\n\n\n/* harmony default export */ var MultiValuevue_type_script_lang_js_ = ({\n name: 'vue-treeselect--multi-value',\n inject: ['instance'],\n methods: {\n renderMultiValueItems: function renderMultiValueItems() {\n var h = this.$createElement;\n var instance = this.instance;\n return instance.internalValue.slice(0, instance.limit).map(instance.getNode).map(function (node) {\n return h(MultiValueItem, {\n key: \"multi-value-item-\".concat(node.id),\n attrs: {\n node: node\n }\n });\n });\n },\n renderExceedLimitTip: function renderExceedLimitTip() {\n var h = this.$createElement;\n var instance = this.instance;\n var count = instance.internalValue.length - instance.limit;\n if (count <= 0) return null;\n return h(\"div\", {\n \"class\": \"vue-treeselect__limit-tip vue-treeselect-helper-zoom-effect-off\",\n key: \"exceed-limit-tip\"\n }, [h(\"span\", {\n \"class\": \"vue-treeselect__limit-tip-text\"\n }, [instance.limitText(count)])]);\n }\n },\n render: function render() {\n var h = arguments[0];\n var renderValueContainer = this.$parent.renderValueContainer;\n var transitionGroupProps = {\n props: {\n tag: 'div',\n name: 'vue-treeselect__multi-value-item--transition',\n appear: true\n }\n };\n return renderValueContainer(h(\"transition-group\", external_babel_helper_vue_jsx_merge_props_default()([{\n \"class\": \"vue-treeselect__multi-value\"\n }, transitionGroupProps]), [this.renderMultiValueItems(), this.renderExceedLimitTip(), h(Placeholder, {\n key: \"placeholder\"\n }), h(Input, {\n ref: \"input\",\n key: \"input\"\n })]));\n }\n});\n// CONCATENATED MODULE: ./src/components/MultiValue.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_MultiValuevue_type_script_lang_js_ = (MultiValuevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/MultiValue.vue\nvar MultiValue_render, MultiValue_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar MultiValue_component = normalizeComponent(\n components_MultiValuevue_type_script_lang_js_,\n MultiValue_render,\n MultiValue_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var MultiValue_api; }\nMultiValue_component.options.__file = \"src/components/MultiValue.vue\"\n/* harmony default export */ var MultiValue = (MultiValue_component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/icons/Arrow.vue?vue&type=template&id=11186cd4&\nvar Arrowvue_type_template_id_11186cd4_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\"\n }\n },\n [\n _c(\"path\", {\n attrs: {\n d:\n \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\"\n }\n })\n ]\n )\n}\nvar Arrowvue_type_template_id_11186cd4_staticRenderFns = []\nArrowvue_type_template_id_11186cd4_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./src/components/icons/Arrow.vue?vue&type=template&id=11186cd4&\n\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/icons/Arrow.vue?vue&type=script&lang=js&\n/* harmony default export */ var Arrowvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--arrow'\n});\n// CONCATENATED MODULE: ./src/components/icons/Arrow.vue?vue&type=script&lang=js&\n /* harmony default export */ var icons_Arrowvue_type_script_lang_js_ = (Arrowvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/icons/Arrow.vue\n\n\n\n\n\n/* normalize component */\n\nvar Arrow_component = normalizeComponent(\n icons_Arrowvue_type_script_lang_js_,\n Arrowvue_type_template_id_11186cd4_render,\n Arrowvue_type_template_id_11186cd4_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Arrow_api; }\nArrow_component.options.__file = \"src/components/icons/Arrow.vue\"\n/* harmony default export */ var Arrow = (Arrow_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Control.vue?vue&type=script&lang=js&\n\n\n\n\n\n/* harmony default export */ var Controlvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--control',\n inject: ['instance'],\n computed: {\n shouldShowX: function shouldShowX() {\n var instance = this.instance;\n return instance.clearable && !instance.disabled && instance.hasValue && (this.hasUndisabledValue || instance.allowClearingDisabled);\n },\n shouldShowArrow: function shouldShowArrow() {\n var instance = this.instance;\n if (!instance.alwaysOpen) return true;\n return !instance.menu.isOpen;\n },\n hasUndisabledValue: function hasUndisabledValue() {\n var instance = this.instance;\n return instance.hasValue && instance.internalValue.some(function (id) {\n return !instance.getNode(id).isDisabled;\n });\n }\n },\n methods: {\n renderX: function renderX() {\n var h = this.$createElement;\n var instance = this.instance;\n var title = instance.multiple ? instance.clearAllText : instance.clearValueText;\n if (!this.shouldShowX) return null;\n return h(\"div\", {\n \"class\": \"vue-treeselect__x-container\",\n attrs: {\n title: title\n },\n on: {\n \"mousedown\": this.handleMouseDownOnX\n }\n }, [h(Delete, {\n \"class\": \"vue-treeselect__x\"\n })]);\n },\n renderArrow: function renderArrow() {\n var h = this.$createElement;\n var instance = this.instance;\n var arrowClass = {\n 'vue-treeselect__control-arrow': true,\n 'vue-treeselect__control-arrow--rotated': instance.menu.isOpen\n };\n if (!this.shouldShowArrow) return null;\n return h(\"div\", {\n \"class\": \"vue-treeselect__control-arrow-container\",\n on: {\n \"mousedown\": this.handleMouseDownOnArrow\n }\n }, [h(Arrow, {\n \"class\": arrowClass\n })]);\n },\n handleMouseDownOnX: onLeftClick(function handleMouseDownOnX(evt) {\n evt.stopPropagation();\n evt.preventDefault();\n var instance = this.instance;\n var result = instance.beforeClearAll();\n\n var handler = function handler(shouldClear) {\n if (shouldClear) instance.clear();\n };\n\n if (external_is_promise_default()(result)) {\n result.then(handler);\n } else {\n setTimeout(function () {\n return handler(result);\n }, 0);\n }\n }),\n handleMouseDownOnArrow: onLeftClick(function handleMouseDownOnArrow(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n var instance = this.instance;\n instance.focusInput();\n instance.toggleMenu();\n }),\n renderValueContainer: function renderValueContainer(children) {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"vue-treeselect__value-container\"\n }, [children]);\n }\n },\n render: function render() {\n var h = arguments[0];\n var instance = this.instance;\n var ValueContainer = instance.single ? SingleValue : MultiValue;\n return h(\"div\", {\n \"class\": \"vue-treeselect__control\",\n on: {\n \"mousedown\": instance.handleMouseDown\n }\n }, [h(ValueContainer, {\n ref: \"value-container\"\n }), this.renderX(), this.renderArrow()]);\n }\n});\n// CONCATENATED MODULE: ./src/components/Control.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_Controlvue_type_script_lang_js_ = (Controlvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/Control.vue\nvar Control_render, Control_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar Control_component = normalizeComponent(\n components_Controlvue_type_script_lang_js_,\n Control_render,\n Control_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Control_api; }\nControl_component.options.__file = \"src/components/Control.vue\"\n/* harmony default export */ var Control = (Control_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Tip.vue?vue&type=script&lang=js&\n/* harmony default export */ var Tipvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--tip',\n functional: true,\n props: {\n type: {\n type: String,\n required: true\n },\n icon: {\n type: String,\n required: true\n }\n },\n render: function render(_, context) {\n var h = arguments[0];\n var props = context.props,\n children = context.children;\n return h(\"div\", {\n \"class\": \"vue-treeselect__tip vue-treeselect__\".concat(props.type, \"-tip\")\n }, [h(\"div\", {\n \"class\": \"vue-treeselect__icon-container\"\n }, [h(\"span\", {\n \"class\": \"vue-treeselect__icon-\".concat(props.icon)\n })]), h(\"span\", {\n \"class\": \"vue-treeselect__tip-text vue-treeselect__\".concat(props.type, \"-tip-text\")\n }, [children])]);\n }\n});\n// CONCATENATED MODULE: ./src/components/Tip.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_Tipvue_type_script_lang_js_ = (Tipvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/Tip.vue\nvar Tip_render, Tip_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar Tip_component = normalizeComponent(\n components_Tipvue_type_script_lang_js_,\n Tip_render,\n Tip_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Tip_api; }\nTip_component.options.__file = \"src/components/Tip.vue\"\n/* harmony default export */ var Tip = (Tip_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Option.vue?vue&type=script&lang=js&\n\n\n\n\n\nvar arrowPlaceholder, checkMark, minusMark;\nvar Option = {\n name: 'vue-treeselect--option',\n inject: ['instance'],\n props: {\n node: {\n type: Object,\n required: true\n }\n },\n computed: {\n shouldExpand: function shouldExpand() {\n var instance = this.instance,\n node = this.node;\n return node.isBranch && instance.shouldExpand(node);\n },\n shouldShow: function shouldShow() {\n var instance = this.instance,\n node = this.node;\n return instance.shouldShowOptionInMenu(node);\n }\n },\n methods: {\n renderOption: function renderOption() {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n var optionClass = {\n 'vue-treeselect__option': true,\n 'vue-treeselect__option--disabled': node.isDisabled,\n 'vue-treeselect__option--selected': instance.isSelected(node),\n 'vue-treeselect__option--highlight': node.isHighlighted,\n 'vue-treeselect__option--matched': instance.localSearch.active && node.isMatched,\n 'vue-treeselect__option--hide': !this.shouldShow\n };\n return h(\"div\", {\n \"class\": optionClass,\n on: {\n \"mouseenter\": this.handleMouseEnterOption\n },\n attrs: {\n \"data-id\": node.id\n }\n }, [this.renderArrow(), this.renderLabelContainer([this.renderCheckboxContainer([this.renderCheckbox()]), this.renderLabel()])]);\n },\n renderSubOptionsList: function renderSubOptionsList() {\n var h = this.$createElement;\n if (!this.shouldExpand) return null;\n return h(\"div\", {\n \"class\": \"vue-treeselect__list\"\n }, [this.renderSubOptions(), this.renderNoChildrenTip(), this.renderLoadingChildrenTip(), this.renderLoadingChildrenErrorTip()]);\n },\n renderArrow: function renderArrow() {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n if (instance.shouldFlattenOptions && this.shouldShow) return null;\n\n if (node.isBranch) {\n var transitionProps = {\n props: {\n name: 'vue-treeselect__option-arrow--prepare',\n appear: true\n }\n };\n var arrowClass = {\n 'vue-treeselect__option-arrow': true,\n 'vue-treeselect__option-arrow--rotated': this.shouldExpand\n };\n return h(\"div\", {\n \"class\": \"vue-treeselect__option-arrow-container\",\n on: {\n \"mousedown\": this.handleMouseDownOnArrow\n }\n }, [h(\"transition\", transitionProps, [h(Arrow, {\n \"class\": arrowClass\n })])]);\n }\n\n if (instance.hasBranchNodes) {\n if (!arrowPlaceholder) arrowPlaceholder = h(\"div\", {\n \"class\": \"vue-treeselect__option-arrow-placeholder\"\n }, [\"\\xA0\"]);\n return arrowPlaceholder;\n }\n\n return null;\n },\n renderLabelContainer: function renderLabelContainer(children) {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"vue-treeselect__label-container\",\n on: {\n \"mousedown\": this.handleMouseDownOnLabelContainer\n }\n }, [children]);\n },\n renderCheckboxContainer: function renderCheckboxContainer(children) {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n if (instance.single) return null;\n if (instance.disableBranchNodes && node.isBranch) return null;\n return h(\"div\", {\n \"class\": \"vue-treeselect__checkbox-container\"\n }, [children]);\n },\n renderCheckbox: function renderCheckbox() {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n var checkedState = instance.forest.checkedStateMap[node.id];\n var checkboxClass = {\n 'vue-treeselect__checkbox': true,\n 'vue-treeselect__checkbox--checked': checkedState === CHECKED,\n 'vue-treeselect__checkbox--indeterminate': checkedState === INDETERMINATE,\n 'vue-treeselect__checkbox--unchecked': checkedState === UNCHECKED,\n 'vue-treeselect__checkbox--disabled': node.isDisabled\n };\n if (!checkMark) checkMark = h(\"span\", {\n \"class\": \"vue-treeselect__check-mark\"\n });\n if (!minusMark) minusMark = h(\"span\", {\n \"class\": \"vue-treeselect__minus-mark\"\n });\n return h(\"span\", {\n \"class\": checkboxClass\n }, [checkMark, minusMark]);\n },\n renderLabel: function renderLabel() {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n var shouldShowCount = node.isBranch && (instance.localSearch.active ? instance.showCountOnSearchComputed : instance.showCount);\n var count = shouldShowCount ? instance.localSearch.active ? instance.localSearch.countMap[node.id][instance.showCountOf] : node.count[instance.showCountOf] : NaN;\n var labelClassName = 'vue-treeselect__label';\n var countClassName = 'vue-treeselect__count';\n var customLabelRenderer = instance.$scopedSlots['option-label'];\n if (customLabelRenderer) return customLabelRenderer({\n node: node,\n shouldShowCount: shouldShowCount,\n count: count,\n labelClassName: labelClassName,\n countClassName: countClassName\n });\n return h(\"label\", {\n \"class\": labelClassName\n }, [node.label, shouldShowCount && h(\"span\", {\n \"class\": countClassName\n }, [\"(\", count, \")\"])]);\n },\n renderSubOptions: function renderSubOptions() {\n var h = this.$createElement;\n var node = this.node;\n if (!node.childrenStates.isLoaded) return null;\n return node.children.map(function (childNode) {\n return h(Option, {\n attrs: {\n node: childNode\n },\n key: childNode.id\n });\n });\n },\n renderNoChildrenTip: function renderNoChildrenTip() {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n if (!node.childrenStates.isLoaded || node.children.length) return null;\n return h(Tip, {\n attrs: {\n type: \"no-children\",\n icon: \"warning\"\n }\n }, [instance.noChildrenText]);\n },\n renderLoadingChildrenTip: function renderLoadingChildrenTip() {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n if (!node.childrenStates.isLoading) return null;\n return h(Tip, {\n attrs: {\n type: \"loading\",\n icon: \"loader\"\n }\n }, [instance.loadingText]);\n },\n renderLoadingChildrenErrorTip: function renderLoadingChildrenErrorTip() {\n var h = this.$createElement;\n var instance = this.instance,\n node = this.node;\n if (!node.childrenStates.loadingError) return null;\n return h(Tip, {\n attrs: {\n type: \"error\",\n icon: \"error\"\n }\n }, [node.childrenStates.loadingError, h(\"a\", {\n \"class\": \"vue-treeselect__retry\",\n attrs: {\n title: instance.retryTitle\n },\n on: {\n \"mousedown\": this.handleMouseDownOnRetry\n }\n }, [instance.retryText])]);\n },\n handleMouseEnterOption: function handleMouseEnterOption(evt) {\n var instance = this.instance,\n node = this.node;\n if (evt.target !== evt.currentTarget) return;\n instance.setCurrentHighlightedOption(node, false);\n },\n handleMouseDownOnArrow: onLeftClick(function handleMouseDownOnOptionArrow() {\n var instance = this.instance,\n node = this.node;\n instance.toggleExpanded(node);\n }),\n handleMouseDownOnLabelContainer: onLeftClick(function handleMouseDownOnLabelContainer() {\n var instance = this.instance,\n node = this.node;\n\n if (node.isBranch && instance.disableBranchNodes) {\n instance.toggleExpanded(node);\n } else {\n instance.select(node);\n }\n }),\n handleMouseDownOnRetry: onLeftClick(function handleMouseDownOnRetry() {\n var instance = this.instance,\n node = this.node;\n instance.loadChildrenOptions(node);\n })\n },\n render: function render() {\n var h = arguments[0];\n var node = this.node;\n var indentLevel = this.instance.shouldFlattenOptions ? 0 : node.level;\n\n var listItemClass = defineProperty_default()({\n 'vue-treeselect__list-item': true\n }, \"vue-treeselect__indent-level-\".concat(indentLevel), true);\n\n var transitionProps = {\n props: {\n name: 'vue-treeselect__list--transition'\n }\n };\n return h(\"div\", {\n \"class\": listItemClass\n }, [this.renderOption(), node.isBranch && h(\"transition\", transitionProps, [this.renderSubOptionsList()])]);\n }\n};\n/* harmony default export */ var Optionvue_type_script_lang_js_ = (Option);\n// CONCATENATED MODULE: ./src/components/Option.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_Optionvue_type_script_lang_js_ = (Optionvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/Option.vue\nvar Option_render, Option_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar Option_component = normalizeComponent(\n components_Optionvue_type_script_lang_js_,\n Option_render,\n Option_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Option_api; }\nOption_component.options.__file = \"src/components/Option.vue\"\n/* harmony default export */ var components_Option = (Option_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Menu.vue?vue&type=script&lang=js&\n\n\n\n\nvar directionMap = {\n top: 'top',\n bottom: 'bottom',\n above: 'top',\n below: 'bottom'\n};\n/* harmony default export */ var Menuvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--menu',\n inject: ['instance'],\n computed: {\n menuStyle: function menuStyle() {\n var instance = this.instance;\n return {\n maxHeight: instance.maxHeight + 'px'\n };\n },\n menuContainerStyle: function menuContainerStyle() {\n var instance = this.instance;\n return {\n zIndex: instance.appendToBody ? null : instance.zIndex\n };\n }\n },\n watch: {\n 'instance.menu.isOpen': function instanceMenuIsOpen(newValue) {\n if (newValue) {\n this.$nextTick(this.onMenuOpen);\n } else {\n this.onMenuClose();\n }\n }\n },\n created: function created() {\n this.menuSizeWatcher = null;\n this.menuResizeAndScrollEventListeners = null;\n },\n mounted: function mounted() {\n var instance = this.instance;\n if (instance.menu.isOpen) this.$nextTick(this.onMenuOpen);\n },\n destroyed: function destroyed() {\n this.onMenuClose();\n },\n methods: {\n renderMenu: function renderMenu() {\n var h = this.$createElement;\n var instance = this.instance;\n if (!instance.menu.isOpen) return null;\n return h(\"div\", {\n ref: \"menu\",\n \"class\": \"vue-treeselect__menu\",\n on: {\n \"mousedown\": instance.handleMouseDown\n },\n style: this.menuStyle\n }, [this.renderBeforeList(), instance.async ? this.renderAsyncSearchMenuInner() : instance.localSearch.active ? this.renderLocalSearchMenuInner() : this.renderNormalMenuInner(), this.renderAfterList()]);\n },\n renderBeforeList: function renderBeforeList() {\n var instance = this.instance;\n var beforeListRenderer = instance.$scopedSlots['before-list'];\n return beforeListRenderer ? beforeListRenderer() : null;\n },\n renderAfterList: function renderAfterList() {\n var instance = this.instance;\n var afterListRenderer = instance.$scopedSlots['after-list'];\n return afterListRenderer ? afterListRenderer() : null;\n },\n renderNormalMenuInner: function renderNormalMenuInner() {\n var instance = this.instance;\n\n if (instance.rootOptionsStates.isLoading) {\n return this.renderLoadingOptionsTip();\n } else if (instance.rootOptionsStates.loadingError) {\n return this.renderLoadingRootOptionsErrorTip();\n } else if (instance.rootOptionsStates.isLoaded && instance.forest.normalizedOptions.length === 0) {\n return this.renderNoAvailableOptionsTip();\n } else {\n return this.renderOptionList();\n }\n },\n renderLocalSearchMenuInner: function renderLocalSearchMenuInner() {\n var instance = this.instance;\n\n if (instance.rootOptionsStates.isLoading) {\n return this.renderLoadingOptionsTip();\n } else if (instance.rootOptionsStates.loadingError) {\n return this.renderLoadingRootOptionsErrorTip();\n } else if (instance.rootOptionsStates.isLoaded && instance.forest.normalizedOptions.length === 0) {\n return this.renderNoAvailableOptionsTip();\n } else if (instance.localSearch.noResults) {\n return this.renderNoResultsTip();\n } else {\n return this.renderOptionList();\n }\n },\n renderAsyncSearchMenuInner: function renderAsyncSearchMenuInner() {\n var instance = this.instance;\n var entry = instance.getRemoteSearchEntry();\n var shouldShowSearchPromptTip = instance.trigger.searchQuery === '' && !instance.defaultOptions;\n var shouldShowNoResultsTip = shouldShowSearchPromptTip ? false : entry.isLoaded && entry.options.length === 0;\n\n if (shouldShowSearchPromptTip) {\n return this.renderSearchPromptTip();\n } else if (entry.isLoading) {\n return this.renderLoadingOptionsTip();\n } else if (entry.loadingError) {\n return this.renderAsyncSearchLoadingErrorTip();\n } else if (shouldShowNoResultsTip) {\n return this.renderNoResultsTip();\n } else {\n return this.renderOptionList();\n }\n },\n renderOptionList: function renderOptionList() {\n var h = this.$createElement;\n var instance = this.instance;\n return h(\"div\", {\n \"class\": \"vue-treeselect__list\"\n }, [instance.forest.normalizedOptions.map(function (rootNode) {\n return h(components_Option, {\n attrs: {\n node: rootNode\n },\n key: rootNode.id\n });\n })]);\n },\n renderSearchPromptTip: function renderSearchPromptTip() {\n var h = this.$createElement;\n var instance = this.instance;\n return h(Tip, {\n attrs: {\n type: \"search-prompt\",\n icon: \"warning\"\n }\n }, [instance.searchPromptText]);\n },\n renderLoadingOptionsTip: function renderLoadingOptionsTip() {\n var h = this.$createElement;\n var instance = this.instance;\n return h(Tip, {\n attrs: {\n type: \"loading\",\n icon: \"loader\"\n }\n }, [instance.loadingText]);\n },\n renderLoadingRootOptionsErrorTip: function renderLoadingRootOptionsErrorTip() {\n var h = this.$createElement;\n var instance = this.instance;\n return h(Tip, {\n attrs: {\n type: \"error\",\n icon: \"error\"\n }\n }, [instance.rootOptionsStates.loadingError, h(\"a\", {\n \"class\": \"vue-treeselect__retry\",\n on: {\n \"click\": instance.loadRootOptions\n },\n attrs: {\n title: instance.retryTitle\n }\n }, [instance.retryText])]);\n },\n renderAsyncSearchLoadingErrorTip: function renderAsyncSearchLoadingErrorTip() {\n var h = this.$createElement;\n var instance = this.instance;\n var entry = instance.getRemoteSearchEntry();\n return h(Tip, {\n attrs: {\n type: \"error\",\n icon: \"error\"\n }\n }, [entry.loadingError, h(\"a\", {\n \"class\": \"vue-treeselect__retry\",\n on: {\n \"click\": instance.handleRemoteSearch\n },\n attrs: {\n title: instance.retryTitle\n }\n }, [instance.retryText])]);\n },\n renderNoAvailableOptionsTip: function renderNoAvailableOptionsTip() {\n var h = this.$createElement;\n var instance = this.instance;\n return h(Tip, {\n attrs: {\n type: \"no-options\",\n icon: \"warning\"\n }\n }, [instance.noOptionsText]);\n },\n renderNoResultsTip: function renderNoResultsTip() {\n var h = this.$createElement;\n var instance = this.instance;\n return h(Tip, {\n attrs: {\n type: \"no-results\",\n icon: \"warning\"\n }\n }, [instance.noResultsText]);\n },\n onMenuOpen: function onMenuOpen() {\n this.adjustMenuOpenDirection();\n this.setupMenuSizeWatcher();\n this.setupMenuResizeAndScrollEventListeners();\n },\n onMenuClose: function onMenuClose() {\n this.removeMenuSizeWatcher();\n this.removeMenuResizeAndScrollEventListeners();\n },\n adjustMenuOpenDirection: function adjustMenuOpenDirection() {\n var instance = this.instance;\n if (!instance.menu.isOpen) return;\n var $menu = instance.getMenu();\n var $control = instance.getControl();\n var menuRect = $menu.getBoundingClientRect();\n var controlRect = $control.getBoundingClientRect();\n var menuHeight = menuRect.height;\n var viewportHeight = window.innerHeight;\n var spaceAbove = controlRect.top;\n var spaceBelow = window.innerHeight - controlRect.bottom;\n var isControlInViewport = controlRect.top >= 0 && controlRect.top <= viewportHeight || controlRect.top < 0 && controlRect.bottom > 0;\n var hasEnoughSpaceBelow = spaceBelow > menuHeight + MENU_BUFFER;\n var hasEnoughSpaceAbove = spaceAbove > menuHeight + MENU_BUFFER;\n\n if (!isControlInViewport) {\n instance.closeMenu();\n } else if (instance.openDirection !== 'auto') {\n instance.menu.placement = directionMap[instance.openDirection];\n } else if (hasEnoughSpaceBelow || !hasEnoughSpaceAbove) {\n instance.menu.placement = 'bottom';\n } else {\n instance.menu.placement = 'top';\n }\n },\n setupMenuSizeWatcher: function setupMenuSizeWatcher() {\n var instance = this.instance;\n var $menu = instance.getMenu();\n if (this.menuSizeWatcher) return;\n this.menuSizeWatcher = {\n remove: watchSize($menu, this.adjustMenuOpenDirection)\n };\n },\n setupMenuResizeAndScrollEventListeners: function setupMenuResizeAndScrollEventListeners() {\n var instance = this.instance;\n var $control = instance.getControl();\n if (this.menuResizeAndScrollEventListeners) return;\n this.menuResizeAndScrollEventListeners = {\n remove: setupResizeAndScrollEventListeners($control, this.adjustMenuOpenDirection)\n };\n },\n removeMenuSizeWatcher: function removeMenuSizeWatcher() {\n if (!this.menuSizeWatcher) return;\n this.menuSizeWatcher.remove();\n this.menuSizeWatcher = null;\n },\n removeMenuResizeAndScrollEventListeners: function removeMenuResizeAndScrollEventListeners() {\n if (!this.menuResizeAndScrollEventListeners) return;\n this.menuResizeAndScrollEventListeners.remove();\n this.menuResizeAndScrollEventListeners = null;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n ref: \"menu-container\",\n \"class\": \"vue-treeselect__menu-container\",\n style: this.menuContainerStyle\n }, [h(\"transition\", {\n attrs: {\n name: \"vue-treeselect__menu--transition\"\n }\n }, [this.renderMenu()])]);\n }\n});\n// CONCATENATED MODULE: ./src/components/Menu.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_Menuvue_type_script_lang_js_ = (Menuvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/Menu.vue\nvar Menu_render, Menu_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar Menu_component = normalizeComponent(\n components_Menuvue_type_script_lang_js_,\n Menu_render,\n Menu_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Menu_api; }\nMenu_component.options.__file = \"src/components/Menu.vue\"\n/* harmony default export */ var Menu = (Menu_component.exports);\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(14);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/MenuPortal.vue?vue&type=script&lang=js&\n\n\nfunction MenuPortalvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction MenuPortalvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { MenuPortalvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { MenuPortalvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\nvar PortalTarget = {\n name: 'vue-treeselect--portal-target',\n inject: ['instance'],\n watch: {\n 'instance.menu.isOpen': function instanceMenuIsOpen(newValue) {\n if (newValue) {\n this.setupHandlers();\n } else {\n this.removeHandlers();\n }\n },\n 'instance.menu.placement': function instanceMenuPlacement() {\n this.updateMenuContainerOffset();\n }\n },\n created: function created() {\n this.controlResizeAndScrollEventListeners = null;\n this.controlSizeWatcher = null;\n },\n mounted: function mounted() {\n var instance = this.instance;\n if (instance.menu.isOpen) this.setupHandlers();\n },\n methods: {\n setupHandlers: function setupHandlers() {\n this.updateWidth();\n this.updateMenuContainerOffset();\n this.setupControlResizeAndScrollEventListeners();\n this.setupControlSizeWatcher();\n },\n removeHandlers: function removeHandlers() {\n this.removeControlResizeAndScrollEventListeners();\n this.removeControlSizeWatcher();\n },\n setupControlResizeAndScrollEventListeners: function setupControlResizeAndScrollEventListeners() {\n var instance = this.instance;\n var $control = instance.getControl();\n if (this.controlResizeAndScrollEventListeners) return;\n this.controlResizeAndScrollEventListeners = {\n remove: setupResizeAndScrollEventListeners($control, this.updateMenuContainerOffset)\n };\n },\n setupControlSizeWatcher: function setupControlSizeWatcher() {\n var _this = this;\n\n var instance = this.instance;\n var $control = instance.getControl();\n if (this.controlSizeWatcher) return;\n this.controlSizeWatcher = {\n remove: watchSize($control, function () {\n _this.updateWidth();\n\n _this.updateMenuContainerOffset();\n })\n };\n },\n removeControlResizeAndScrollEventListeners: function removeControlResizeAndScrollEventListeners() {\n if (!this.controlResizeAndScrollEventListeners) return;\n this.controlResizeAndScrollEventListeners.remove();\n this.controlResizeAndScrollEventListeners = null;\n },\n removeControlSizeWatcher: function removeControlSizeWatcher() {\n if (!this.controlSizeWatcher) return;\n this.controlSizeWatcher.remove();\n this.controlSizeWatcher = null;\n },\n updateWidth: function updateWidth() {\n var instance = this.instance;\n var $portalTarget = this.$el;\n var $control = instance.getControl();\n var controlRect = $control.getBoundingClientRect();\n $portalTarget.style.width = controlRect.width + 'px';\n },\n updateMenuContainerOffset: function updateMenuContainerOffset() {\n var instance = this.instance;\n var $control = instance.getControl();\n var $portalTarget = this.$el;\n var controlRect = $control.getBoundingClientRect();\n var portalTargetRect = $portalTarget.getBoundingClientRect();\n var offsetY = instance.menu.placement === 'bottom' ? controlRect.height : 0;\n var left = Math.round(controlRect.left - portalTargetRect.left) + 'px';\n var top = Math.round(controlRect.top - portalTargetRect.top + offsetY) + 'px';\n var menuContainerStyle = this.$refs.menu.$refs['menu-container'].style;\n var transformVariations = ['transform', 'webkitTransform', 'MozTransform', 'msTransform'];\n var transform = find(transformVariations, function (t) {\n return t in document.body.style;\n });\n menuContainerStyle[transform] = \"translate(\".concat(left, \", \").concat(top, \")\");\n }\n },\n render: function render() {\n var h = arguments[0];\n var instance = this.instance;\n var portalTargetClass = ['vue-treeselect__portal-target', instance.wrapperClass];\n var portalTargetStyle = {\n zIndex: instance.zIndex\n };\n return h(\"div\", {\n \"class\": portalTargetClass,\n style: portalTargetStyle,\n attrs: {\n \"data-instance-id\": instance.getInstanceId()\n }\n }, [h(Menu, {\n ref: \"menu\"\n })]);\n },\n destroyed: function destroyed() {\n this.removeHandlers();\n }\n};\nvar placeholder;\n/* harmony default export */ var MenuPortalvue_type_script_lang_js_ = ({\n name: 'vue-treeselect--menu-portal',\n created: function created() {\n this.portalTarget = null;\n },\n mounted: function mounted() {\n this.setup();\n },\n destroyed: function destroyed() {\n this.teardown();\n },\n methods: {\n setup: function setup() {\n var el = document.createElement('div');\n document.body.appendChild(el);\n this.portalTarget = new external_vue_default.a(MenuPortalvue_type_script_lang_js_objectSpread({\n el: el,\n parent: this\n }, PortalTarget));\n },\n teardown: function teardown() {\n document.body.removeChild(this.portalTarget.$el);\n this.portalTarget.$el.innerHTML = '';\n this.portalTarget.$destroy();\n this.portalTarget = null;\n }\n },\n render: function render() {\n var h = arguments[0];\n if (!placeholder) placeholder = h(\"div\", {\n \"class\": \"vue-treeselect__menu-placeholder\"\n });\n return placeholder;\n }\n});\n// CONCATENATED MODULE: ./src/components/MenuPortal.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_MenuPortalvue_type_script_lang_js_ = (MenuPortalvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/MenuPortal.vue\nvar MenuPortal_render, MenuPortal_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar MenuPortal_component = normalizeComponent(\n components_MenuPortalvue_type_script_lang_js_,\n MenuPortal_render,\n MenuPortal_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var MenuPortal_api; }\nMenuPortal_component.options.__file = \"src/components/MenuPortal.vue\"\n/* harmony default export */ var MenuPortal = (MenuPortal_component.exports);\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Treeselect.vue?vue&type=script&lang=js&\n\n\n\n\n\n/* harmony default export */ var Treeselectvue_type_script_lang_js_ = ({\n name: 'vue-treeselect',\n mixins: [treeselectMixin],\n computed: {\n wrapperClass: function wrapperClass() {\n return {\n 'vue-treeselect': true,\n 'vue-treeselect--single': this.single,\n 'vue-treeselect--multi': this.multiple,\n 'vue-treeselect--searchable': this.searchable,\n 'vue-treeselect--disabled': this.disabled,\n 'vue-treeselect--focused': this.trigger.isFocused,\n 'vue-treeselect--has-value': this.hasValue,\n 'vue-treeselect--open': this.menu.isOpen,\n 'vue-treeselect--open-above': this.menu.placement === 'top',\n 'vue-treeselect--open-below': this.menu.placement === 'bottom',\n 'vue-treeselect--branch-nodes-disabled': this.disableBranchNodes,\n 'vue-treeselect--append-to-body': this.appendToBody\n };\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n ref: \"wrapper\",\n \"class\": this.wrapperClass\n }, [h(HiddenFields), h(Control, {\n ref: \"control\"\n }), this.appendToBody ? h(MenuPortal, {\n ref: \"portal\"\n }) : h(Menu, {\n ref: \"menu\"\n })]);\n }\n});\n// CONCATENATED MODULE: ./src/components/Treeselect.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_Treeselectvue_type_script_lang_js_ = (Treeselectvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./src/components/Treeselect.vue\nvar Treeselect_render, Treeselect_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar Treeselect_component = normalizeComponent(\n components_Treeselectvue_type_script_lang_js_,\n Treeselect_render,\n Treeselect_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var Treeselect_api; }\nTreeselect_component.options.__file = \"src/components/Treeselect.vue\"\n/* harmony default export */ var Treeselect = (Treeselect_component.exports);\n// EXTERNAL MODULE: ./src/style.less\nvar style = __webpack_require__(15);\n\n// CONCATENATED MODULE: ./src/index.js\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VERSION\", function() { return VERSION; });\n/* concated harmony reexport Treeselect */__webpack_require__.d(__webpack_exports__, \"Treeselect\", function() { return Treeselect; });\n/* concated harmony reexport treeselectMixin */__webpack_require__.d(__webpack_exports__, \"treeselectMixin\", function() { return treeselectMixin; });\n/* concated harmony reexport LOAD_ROOT_OPTIONS */__webpack_require__.d(__webpack_exports__, \"LOAD_ROOT_OPTIONS\", function() { return LOAD_ROOT_OPTIONS; });\n/* concated harmony reexport LOAD_CHILDREN_OPTIONS */__webpack_require__.d(__webpack_exports__, \"LOAD_CHILDREN_OPTIONS\", function() { return LOAD_CHILDREN_OPTIONS; });\n/* concated harmony reexport ASYNC_SEARCH */__webpack_require__.d(__webpack_exports__, \"ASYNC_SEARCH\", function() { return ASYNC_SEARCH; });\n\n\n\n/* harmony default export */ var src = __webpack_exports__[\"default\"] = (Treeselect);\n\n\nvar VERSION = \"0.4.0\";\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=vue-treeselect.cjs.js.map","const resultComps = {}\r\nlet requireComponent = require.context(\r\n './', // 在当前目录下查找\r\n false, // 不遍历子文件夹\r\n /\\.vue$/ // 正则匹配 以 .vue结尾的文件\r\n )\r\n requireComponent.keys().forEach(fileName => {\r\n let comp = requireComponent(fileName)\r\n resultComps[fileName.replace(/^\\.\\/(.*)\\.\\w+$/, '$1')] = comp.default\r\n })\r\n export default resultComps","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAuCAYAAAHPfHCfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAL6ADAAQAAAABAAAALgAAAADVNO9HAAAEOUlEQVRoBdVZS2gTQRjO21oVRaEloBW8+AaRQBRRoa2kLfRgDxGKWBBC2ksPPXgQvehBUPBxatpacyiCVLz1kdJoioeKSqFUKgqCVCqIQjBSiyRN4jfbbkj3NbOTyaYNTLL7z/9/8+23//w7s7HZzHx6e3vzZvxZfMuAOT4+/lg19NjY2DOVEZ7dKqMeI7vKU8MQiUTa8vn8C3Tt1eheb9Ikut5l9Qzkj2jZVTYMTaeJC7w2OjpKOG6WD7kn8n1xsJK22+0ZJl/ch99MjqadTCHjLi+YHoEpgJkGNH4DGi9ZUF1w/gDHY0tLS9UsAZJPNBrdxepMT2VWJPj19fVFcrlcGIc9XV1dD0iosAEAfhPgtwgo+bhcroZQKPRq9azEb1K6Jicnd5YIow4n1YKWGi51GN1CGGP2nUHbB2/mG05FBtsGqhOPAxhfpUnBg2sjUqCVZ2JPTExs42KlCJLmAR5dN5ARt+U+TBJh80Oq2W63+4kMjswQvpSQsYX/CpNhcHBwRyaT+QGGy+FwuBYq5LgmmNYlptPpP2v2atSjNI5dzM9KLUA9G5LESfqEgaNaPiwarK3omP+QsMSMfqeFULLmAF5xOBx7tMBLsgE4ilntLwlEGUykiMViJ5V25blpWQBMHiArTqdzuxJMeS6ljNJodO73+7MAPh0IBL4a+ZnqA2PTacsUQIAhRdZsSWaSBVLkIMUp0VJIhW16enqrKQ1pziTd8MjLJxKJKpqvXr+uLLIUjY2NC3rB3HawZttnGYwgaYr668Z6MIYCP1tXV9fT0tIi5CEizVAAk+Jug871i4uLUwZkTHWp8jybzZ4zhWDgLIFDjsJGC/lcb+DP1zU8PCw2l/loWBdFys7AwECt3ohCsk4PnMcOwnasNBOIPa+MR3rc6ezsvC7bdYuA7GD1r9frvYsx23XGPdva2jo7MjLymfSrZpNOkGVmrFeeQ2G9ZfcvLM8L+9UNkzYkv2dmZqp8Pt8yUaq/v/8i6t8V2PfjYuZRRe5hoz1XrGLFyYMcWXo+BalLaN9qamoOyxdQTFTruKLkQbob5B9B2RTSBcuNwFstkhvSBuL2eDx+gJecZcoXpweUnmtqajphMDGZrscS8sXpAVYXmpub3zOxoziZ3ndQ8PS6fyKn/VBbc0+oF0SzC1deTg+kRBCtA4SHaCR4+4WSxxZTegkK0ik0H4h/4SXGEicsbUD8KFTvWNtiWVLyuJWX04MohAnYDqVzLGqJ9OFSHtVjCO0ySQ+88SGPb8uJExFMkceOcAuIxhF33Mr04L5ba+lxHznt5QYpU2Ah57FN8ySTydcgu+5NFxS2YY393ePxHMTa42+ZeHDBFtbzID6lJE4QsVu2YTu+O5VK/eMaoYxBBfIgPm8wzqdgMJg16K9IV4E8/pEIITUOYUJOoUlE8fuR/NuGPur7zYqw38yD/gftsJrQv0yOkwAAAABJRU5ErkJggg==\"","var map = {\n\t\"./AuxiliaryBlank.png\": \"02a0\",\n\t\"./AuxiliaryLine.png\": \"ce1b\",\n\t\"./Carousel.png\": \"95d2\",\n\t\"./EntityInfo.png\": \"1fc7\",\n\t\"./GoodsList.png\": \"614d\",\n\t\"./PhoneStatus Bar2.png\": \"1a02\",\n\t\"./RichText.png\": \"2c19\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"d04f\";","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\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!./RichText.vue?vue&type=style&index=0&lang=scss&\"","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!./EntityInfo.vue?vue&type=style&index=0&lang=scss&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAh1BMVEUAAACZmZmZmZmZmZmZmZmcnJybm5uXl5eZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYmJiZmZmZmZmampqZmZmZmZmbm5uXl5eZmZmZmZmZmZmZmZmZmZmampqZmZmZmZmZmZmZmZmZmZmampqZmZmbm5uZmZmZmZmZmZmampqZmZmampqZmZlgH0RNAAAALHRSTlMA++n47wkEDvTKM4HjtdrQLNa7UUkmHBTgmXRkr1c4IsKgk42JGKZ7a12pQdGCjg4AAAHvSURBVDjLfZTplqsgEITD4gII4oL7rtGYzPs/3zXB3DNOIv3T81l9uquay8V2aDH7ohsfjn0xlJ3SdQiF588lTU2gRRkPoOtiwRdpkpQ1h+hnKwSrKLHOwXLyEXiCAPnscT0Hcw5/9vLut/YcJAF+g5hM8hzMIHqDrsjpOej9AgMTKLz/IAyZoXXn450DwRgl5+Acwr2xV63SOQdZn+3LqQpqcrtmgQZFXicmr2lJgAYHM5jGFUS7L8qcnpHgly/+QI2BbMs+A6/0cGN6LlvACQA6PfHV1DuN7577coYv1LINpCw43Fdet6bm15gRF+wmtgZN6xr3wtWT5/HVpKlud4GeA7mExcpgpCNLfWIAkrxW59Gwt6MNM60ZDGXTOpZeiJJSJb872GlzC7UmFuFQ0tTauO3jNBXRIXy202yaLtBH1hdRIxWNi4oQPpZNYh01uV48wpnPc1awO8kwhCKcouSgSZcqwGA/3aDjoaefBthNjwOZyrV/XxDYpKCr/0KwK6Lj5lWZk22kj/Lm6c8+25hx+AnigHz6vnCBATiCric+fafrQPAfEPvdFztVNIaBHmQv4FXDFzudpFlHbejOIX+JvjvfRsvc+RnECADken4fq5OMJPKxsj7c9o+w4CxqndM8OapmM4EIPYO3xeIfZXRIETL6RAoAAAAASUVORK5CYII=\"","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\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!./employee.vue?vue&type=style&index=0&lang=scss&\"","var index = (function (element, listener) {\n\tvar expand = document.createElement('_');\n\tvar shrink = expand.appendChild(document.createElement('_'));\n\tvar expandChild = expand.appendChild(document.createElement('_'));\n\tvar shrinkChild = shrink.appendChild(document.createElement('_'));\n\n\tvar lastWidth = void 0,\n\t lastHeight = void 0;\n\n\tshrink.style.cssText = expand.style.cssText = 'height:100%;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;transition:0s;width:100%;z-index:-1';\n\tshrinkChild.style.cssText = expandChild.style.cssText = 'display:block;height:100%;transition:0s;width:100%';\n\tshrinkChild.style.width = shrinkChild.style.height = '200%';\n\n\telement.appendChild(expand);\n\n\ttest();\n\n\treturn stop;\n\n\tfunction test() {\n\t\tunbind();\n\n\t\tvar width = element.offsetWidth;\n\t\tvar height = element.offsetHeight;\n\n\t\tif (width !== lastWidth || height !== lastHeight) {\n\t\t\tlastWidth = width;\n\t\t\tlastHeight = height;\n\n\t\t\texpandChild.style.width = width * 2 + 'px';\n\t\t\texpandChild.style.height = height * 2 + 'px';\n\n\t\t\texpand.scrollLeft = expand.scrollWidth;\n\t\t\texpand.scrollTop = expand.scrollHeight;\n\t\t\tshrink.scrollLeft = shrink.scrollWidth;\n\t\t\tshrink.scrollTop = shrink.scrollHeight;\n\n\t\t\tlistener({ width: width, height: height });\n\t\t}\n\n\t\tshrink.addEventListener('scroll', test);\n\t\texpand.addEventListener('scroll', test);\n\t}\n\n\tfunction unbind() {\n\t\tshrink.removeEventListener('scroll', test);\n\t\texpand.removeEventListener('scroll', test);\n\t}\n\n\tfunction stop() {\n\t\tunbind();\n\n\t\telement.removeChild(expand);\n\t}\n});\n\nexport default index;\n","var toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nmodule.exports = before;\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!./HomeDecoration.vue?vue&type=style&index=0&lang=scss&\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","import AMapLoader from '@amap/amap-jsapi-loader';\r\n \r\n{/* */}\r\n\r\nexport default {\r\n /** 高德地图 配置 */\r\n GaodeAMapLoaderConf(){\r\n return new Promise((resolve, reject) =>{\r\n AMapLoader.load({\r\n \"key\": \"099636a0fa6f7a6406346197ebcad3d8\", // 申请好的Web端开发者Key,首次调用 load 时必填\r\n // \"version\": \"2.0\", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15\r\n \"plugins\": [\r\n // 'AMap.ElasticMarker', // 灵活点标记,可以随着地图级别改变样式和大小的 Marker\r\n 'AMap.ToolBar', // 工具条,控制地图的缩放、平移等\r\n 'AMap.Scale', // 比例尺,显示当前地图中心的比例尺\r\n 'AMap.ControlBar', //\r\n 'AMap.Geolocation', //定位,提供了获取用户当前准确位置、所在城市的方法\r\n 'AMap.CitySearch',//城市获取服务,获取用户所在城市信息或根据给定IP参数查询城市信息\r\n 'AMap.Autocomplete', // 输入提示,提供了根据关键字获得提示信息的功能\r\n 'AMap.Geocoder', // 地理编码\r\n 'AMap.PlaceSearch', // 地点搜索服务插件,提供某一特定地区的位置查询服务\r\n ], // 需要使用的的插件列表,如比例尺'AMap.Scale'等\r\n // \"AMapUI\": { // 是否加载 AMapUI,缺省不加载\r\n // \"version\": '1.1', // AMapUI 缺省 1.1\r\n // \"plugins\":[\r\n // ], // 需要加载的 AMapUI ui插件\r\n // },\r\n // \"Loca\":{ // 是否加载 Loca, 缺省不加载\r\n // \"version\": '1.3.2' // Loca 版本,缺省 1.3.2\r\n // },\r\n })\r\n .then(AMap=>{\r\n resolve(AMap);\r\n })\r\n .catch(err => {\r\n reject(err)\r\n })\r\n })\r\n },\r\n}\r\n\r\n\r\nfunction MapUtil() {\r\n\tvar map = null;\r\n\tvar geolocation = null;\r\n\tvar geocoder = null;\r\n\tvar inputId = null;\r\n}\r\n \r\n/**\r\n* 创建或者获取\r\n*/\r\nMapUtil.prototype.m = function (containerId) {\r\n\tif (this.map == null) {\r\n\t\tthis.map = new AMap.Map(containerId, {\r\n resizeEnable: true,\r\n zoom: 17,//地图显示的缩放级别\r\n keyboardEnable: false\r\n \t});\r\n\t}\r\n\treturn this.map;\r\n}\r\n \r\n/**\r\n* 绑定输入提示的input标签\r\n*/\r\nMapUtil.prototype.bindSearchInput = function (inputId) {\r\n\tif (this.map == null) {\r\n\t\treturn false;\r\n\t}\r\n\tthis.inputId = inputId;\r\n\tAMap.plugin(['AMap.Autocomplete','AMap.PlaceSearch'],() => {\r\n var autoOptions = {\r\n input: inputId//使用联想输入的input的id\r\n };\r\n autocomplete= new AMap.Autocomplete(autoOptions);\r\n var placeSearch = new AMap.PlaceSearch({\r\n city:'',\r\n map:this.map\r\n })\r\n AMap.event.addListener(autocomplete, \"select\", (e) => {\r\n //TODO 针对选中的poi实现自己的功能\r\n var lat = e.poi.location.lat;\r\n var lng = e.poi.location.lng;\r\n this.markPoint(lng, lat);\r\n });\r\n });\r\n}\r\n \r\n/**\r\n* 设置地图标记,并重新指定地图中心\r\n*/\r\nMapUtil.prototype.markPoint = function (lat, lng, isCenter) {\r\n\tif (this.map == null) {\r\n\t\treturn false;\r\n\t}\r\n\t//清除之前的Marker\r\n\tthis.map.clearMap();\r\n\tvar icon = new AMap.Icon({\r\n image : './locate-needle.png',//24px*24px\r\n //icon可缺省,缺省时为默认的蓝色水滴图标,\r\n imageSize : new AMap.Size(15,30)\r\n\t});\r\n\t// 设置缩放级别和中心点\r\n\tif (isCenter || isCenter === undefined) {\r\n\t\tthis.map.setCenter([lat, lng]);\r\n\t}\r\n var marker = new AMap.Marker({\r\n \tmap: this.map,\r\n\t\tposition: [lat, lng],\r\n\t\ticon: icon\r\n\t});\r\n}\r\n \r\n/**\r\n* 绑定鼠标点击事件,获取点击的经纬度并且Mark\r\n*/\r\nMapUtil.prototype.bindClickEvent = function () {\r\n\tif (this.map == null) {\r\n\t\treturn false;\r\n\t}\r\n\treturn this.map.on('click', (e) => {\r\n\t\tvar lat = e.lnglat.getLat();\r\n\t\tvar lng = e.lnglat.getLng();\r\n\t\tthis.markPoint(lng, lat, false);\r\n\t\treturn this.address(e.lnglat);\r\n\t})\r\n}\r\n \r\n/**\r\n* 定位到当前所在位置,浏览器定位会出现定位不准确问题\r\n*/\r\nMapUtil.prototype.locate = function() {\r\n\tif (this.map == null) {\r\n\t\treturn false;\r\n\t}\r\n\treturn this.map.plugin('AMap.Geolocation', () => {\r\n\t\tif (this.geolocation == null) {\r\n\t\t\tthis.geolocation = new AMap.Geolocation({\r\n\t enableHighAccuracy: true,//是否使用高精度定位,默认:true\r\n\t timeout: 10000, //超过10秒后停止定位,默认:无穷大\r\n\t buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)\r\n\t zoomToAccuracy: true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false\r\n\t buttonPosition:'RB'\r\n\t });\r\n\t\t}\r\n \r\n this.map.addControl(this.geolocation);\r\n this.geolocation.getCurrentPosition();\r\n //返回定位信息\r\n AMap.event.addListener(this.geolocation, 'complete', (data) => {\r\n \tthis.markPoint(data.position.getLng(), data.position.getLat())\r\n \treturn this.address(data.position);\r\n });\r\n //返回定位出错信息\r\n AMap.event.addListener(this.geolocation, 'error', function(data) {\r\n \tconsole.log(\"定位失败\");\r\n \treturn false;\r\n });\r\n });\r\n}\r\n \r\n/**\r\n* 根据经纬度获取地址\r\n*/\r\nMapUtil.prototype.address = function(lnglat) {\r\n\tif (!lnglat) {\r\n\t\treturn false;\r\n\t}\r\n\tif (this.geocoder == null) {\r\n\t\tAMap.plugin('AMap.Geocoder',() => {\r\n\t\t\tthis.geocoder = new AMap.Geocoder({});\r\n\t\t});\r\n\t}\r\n \r\n\treturn this.geocoder.getAddress(lnglat, (status, result) => {\r\n\t\tif (status == 'complete') {\r\n\t\t\t//如果有绑定input标签,那么设置input标签的内容\r\n\t\t\tvar address = result.regeocode.formattedAddress;\r\n\t\t\tif (this.inputId != null) {\r\n\t\t\t\tdocument.getElementById(this.inputId).value = address;\r\n\t\t\t}\r\n\t\t\treturn address;\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t})\r\n \r\n}\r\n","!function(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)(\"object\"==typeof exports?exports:t)[n]=r[n]}}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=10)}([function(t,e,r){\"use strict\";var n=r(3),o=\"object\"==typeof self&&self&&self.Object===Object&&self,a=n.a||o||Function(\"return this\")();e.a=a},function(t,e,r){t.exports=r(8)},function(t,e,r){\"use strict\";(function(t){var n=r(3),o=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,a=o&&\"object\"==typeof t&&t&&!t.nodeType&&t,c=a&&a.exports===o&&n.a.process,i=function(){try{var t=a&&a.require&&a.require(\"util\").types;return t||c&&c.binding&&c.binding(\"util\")}catch(t){}}();e.a=i}).call(this,r(5)(t))},function(t,e,r){\"use strict\";(function(t){var r=\"object\"==typeof t&&t&&t.Object===Object&&t;e.a=r}).call(this,r(9))},function(t,e,r){\"use strict\";(function(t){var n=r(0),o=r(6),a=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,c=a&&\"object\"==typeof t&&t&&!t.nodeType&&t,i=c&&c.exports===a?n.a.Buffer:void 0,u=(i?i.isBuffer:void 0)||o.a;e.a=u}).call(this,r(5)(t))},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,\"exports\",{enumerable:!0}),e.webpackPolyfill=1}return e}},function(t,e,r){\"use strict\";e.a=function(){return!1}},function(t,e,r){\"use strict\";(function(t){var n=r(0),o=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,a=o&&\"object\"==typeof t&&t&&!t.nodeType&&t,c=a&&a.exports===o?n.a.Buffer:void 0,i=c?c.allocUnsafe:void 0;e.a=function(t,e){if(e)return t.slice();var r=t.length,n=i?i(r):new t.constructor(r);return t.copy(n),n}}).call(this,r(5)(t))},function(t){t.exports=JSON.parse('{\"86\":{\"110000\":\"北京市\",\"120000\":\"天津市\",\"130000\":\"河北省\",\"140000\":\"山西省\",\"150000\":\"内蒙古自治区\",\"210000\":\"辽宁省\",\"220000\":\"吉林省\",\"230000\":\"黑龙江省\",\"310000\":\"上海市\",\"320000\":\"江苏省\",\"330000\":\"浙江省\",\"340000\":\"安徽省\",\"350000\":\"福建省\",\"360000\":\"江西省\",\"370000\":\"山东省\",\"410000\":\"河南省\",\"420000\":\"湖北省\",\"430000\":\"湖南省\",\"440000\":\"广东省\",\"450000\":\"广西壮族自治区\",\"460000\":\"海南省\",\"500000\":\"重庆市\",\"510000\":\"四川省\",\"520000\":\"贵州省\",\"530000\":\"云南省\",\"540000\":\"西藏自治区\",\"610000\":\"陕西省\",\"620000\":\"甘肃省\",\"630000\":\"青海省\",\"640000\":\"宁夏回族自治区\",\"650000\":\"新疆维吾尔自治区\",\"710000\":\"台湾省\",\"810000\":\"香港特别行政区\",\"820000\":\"澳门特别行政区\"},\"110000\":{\"110100\":\"市辖区\"},\"110100\":{\"110101\":\"东城区\",\"110102\":\"西城区\",\"110105\":\"朝阳区\",\"110106\":\"丰台区\",\"110107\":\"石景山区\",\"110108\":\"海淀区\",\"110109\":\"门头沟区\",\"110111\":\"房山区\",\"110112\":\"通州区\",\"110113\":\"顺义区\",\"110114\":\"昌平区\",\"110115\":\"大兴区\",\"110116\":\"怀柔区\",\"110117\":\"平谷区\",\"110118\":\"密云区\",\"110119\":\"延庆区\"},\"120000\":{\"120100\":\"市辖区\"},\"120100\":{\"120101\":\"和平区\",\"120102\":\"河东区\",\"120103\":\"河西区\",\"120104\":\"南开区\",\"120105\":\"河北区\",\"120106\":\"红桥区\",\"120110\":\"东丽区\",\"120111\":\"西青区\",\"120112\":\"津南区\",\"120113\":\"北辰区\",\"120114\":\"武清区\",\"120115\":\"宝坻区\",\"120116\":\"滨海新区\",\"120117\":\"宁河区\",\"120118\":\"静海区\",\"120119\":\"蓟州区\"},\"130000\":{\"130100\":\"石家庄市\",\"130200\":\"唐山市\",\"130300\":\"秦皇岛市\",\"130400\":\"邯郸市\",\"130500\":\"邢台市\",\"130600\":\"保定市\",\"130700\":\"张家口市\",\"130800\":\"承德市\",\"130900\":\"沧州市\",\"131000\":\"廊坊市\",\"131100\":\"衡水市\"},\"130100\":{\"130101\":\"市辖区\",\"130102\":\"长安区\",\"130104\":\"桥西区\",\"130105\":\"新华区\",\"130107\":\"井陉矿区\",\"130108\":\"裕华区\",\"130109\":\"藁城区\",\"130110\":\"鹿泉区\",\"130111\":\"栾城区\",\"130121\":\"井陉县\",\"130123\":\"正定县\",\"130125\":\"行唐县\",\"130126\":\"灵寿县\",\"130127\":\"高邑县\",\"130128\":\"深泽县\",\"130129\":\"赞皇县\",\"130130\":\"无极县\",\"130131\":\"平山县\",\"130132\":\"元氏县\",\"130133\":\"赵县\",\"130171\":\"石家庄高新技术产业开发区\",\"130172\":\"石家庄循环化工园区\",\"130181\":\"辛集市\",\"130183\":\"晋州市\",\"130184\":\"新乐市\"},\"130200\":{\"130201\":\"市辖区\",\"130202\":\"路南区\",\"130203\":\"路北区\",\"130204\":\"古冶区\",\"130205\":\"开平区\",\"130207\":\"丰南区\",\"130208\":\"丰润区\",\"130209\":\"曹妃甸区\",\"130224\":\"滦南县\",\"130225\":\"乐亭县\",\"130227\":\"迁西县\",\"130229\":\"玉田县\",\"130271\":\"河北唐山芦台经济开发区\",\"130272\":\"唐山市汉沽管理区\",\"130273\":\"唐山高新技术产业开发区\",\"130274\":\"河北唐山海港经济开发区\",\"130281\":\"遵化市\",\"130283\":\"迁安市\",\"130284\":\"滦州市\"},\"130300\":{\"130301\":\"市辖区\",\"130302\":\"海港区\",\"130303\":\"山海关区\",\"130304\":\"北戴河区\",\"130306\":\"抚宁区\",\"130321\":\"青龙满族自治县\",\"130322\":\"昌黎县\",\"130324\":\"卢龙县\",\"130371\":\"秦皇岛市经济技术开发区\",\"130372\":\"北戴河新区\"},\"130400\":{\"130401\":\"市辖区\",\"130402\":\"邯山区\",\"130403\":\"丛台区\",\"130404\":\"复兴区\",\"130406\":\"峰峰矿区\",\"130407\":\"肥乡区\",\"130408\":\"永年区\",\"130423\":\"临漳县\",\"130424\":\"成安县\",\"130425\":\"大名县\",\"130426\":\"涉县\",\"130427\":\"磁县\",\"130430\":\"邱县\",\"130431\":\"鸡泽县\",\"130432\":\"广平县\",\"130433\":\"馆陶县\",\"130434\":\"魏县\",\"130435\":\"曲周县\",\"130471\":\"邯郸经济技术开发区\",\"130473\":\"邯郸冀南新区\",\"130481\":\"武安市\"},\"130500\":{\"130501\":\"市辖区\",\"130502\":\"桥东区\",\"130503\":\"桥西区\",\"130521\":\"邢台县\",\"130522\":\"临城县\",\"130523\":\"内丘县\",\"130524\":\"柏乡县\",\"130525\":\"隆尧县\",\"130526\":\"任县\",\"130527\":\"南和县\",\"130528\":\"宁晋县\",\"130529\":\"巨鹿县\",\"130530\":\"新河县\",\"130531\":\"广宗县\",\"130532\":\"平乡县\",\"130533\":\"威县\",\"130534\":\"清河县\",\"130535\":\"临西县\",\"130571\":\"河北邢台经济开发区\",\"130581\":\"南宫市\",\"130582\":\"沙河市\"},\"130600\":{\"130601\":\"市辖区\",\"130602\":\"竞秀区\",\"130606\":\"莲池区\",\"130607\":\"满城区\",\"130608\":\"清苑区\",\"130609\":\"徐水区\",\"130623\":\"涞水县\",\"130624\":\"阜平县\",\"130626\":\"定兴县\",\"130627\":\"唐县\",\"130628\":\"高阳县\",\"130629\":\"容城县\",\"130630\":\"涞源县\",\"130631\":\"望都县\",\"130632\":\"安新县\",\"130633\":\"易县\",\"130634\":\"曲阳县\",\"130635\":\"蠡县\",\"130636\":\"顺平县\",\"130637\":\"博野县\",\"130638\":\"雄县\",\"130671\":\"保定高新技术产业开发区\",\"130672\":\"保定白沟新城\",\"130681\":\"涿州市\",\"130682\":\"定州市\",\"130683\":\"安国市\",\"130684\":\"高碑店市\"},\"130700\":{\"130701\":\"市辖区\",\"130702\":\"桥东区\",\"130703\":\"桥西区\",\"130705\":\"宣化区\",\"130706\":\"下花园区\",\"130708\":\"万全区\",\"130709\":\"崇礼区\",\"130722\":\"张北县\",\"130723\":\"康保县\",\"130724\":\"沽源县\",\"130725\":\"尚义县\",\"130726\":\"蔚县\",\"130727\":\"阳原县\",\"130728\":\"怀安县\",\"130730\":\"怀来县\",\"130731\":\"涿鹿县\",\"130732\":\"赤城县\",\"130771\":\"张家口经济开发区\",\"130772\":\"张家口市察北管理区\",\"130773\":\"张家口市塞北管理区\"},\"130800\":{\"130801\":\"市辖区\",\"130802\":\"双桥区\",\"130803\":\"双滦区\",\"130804\":\"鹰手营子矿区\",\"130821\":\"承德县\",\"130822\":\"兴隆县\",\"130824\":\"滦平县\",\"130825\":\"隆化县\",\"130826\":\"丰宁满族自治县\",\"130827\":\"宽城满族自治县\",\"130828\":\"围场满族蒙古族自治县\",\"130871\":\"承德高新技术产业开发区\",\"130881\":\"平泉市\"},\"130900\":{\"130901\":\"市辖区\",\"130902\":\"新华区\",\"130903\":\"运河区\",\"130921\":\"沧县\",\"130922\":\"青县\",\"130923\":\"东光县\",\"130924\":\"海兴县\",\"130925\":\"盐山县\",\"130926\":\"肃宁县\",\"130927\":\"南皮县\",\"130928\":\"吴桥县\",\"130929\":\"献县\",\"130930\":\"孟村回族自治县\",\"130971\":\"河北沧州经济开发区\",\"130972\":\"沧州高新技术产业开发区\",\"130973\":\"沧州渤海新区\",\"130981\":\"泊头市\",\"130982\":\"任丘市\",\"130983\":\"黄骅市\",\"130984\":\"河间市\"},\"131000\":{\"131001\":\"市辖区\",\"131002\":\"安次区\",\"131003\":\"广阳区\",\"131022\":\"固安县\",\"131023\":\"永清县\",\"131024\":\"香河县\",\"131025\":\"大城县\",\"131026\":\"文安县\",\"131028\":\"大厂回族自治县\",\"131071\":\"廊坊经济技术开发区\",\"131081\":\"霸州市\",\"131082\":\"三河市\"},\"131100\":{\"131101\":\"市辖区\",\"131102\":\"桃城区\",\"131103\":\"冀州区\",\"131121\":\"枣强县\",\"131122\":\"武邑县\",\"131123\":\"武强县\",\"131124\":\"饶阳县\",\"131125\":\"安平县\",\"131126\":\"故城县\",\"131127\":\"景县\",\"131128\":\"阜城县\",\"131171\":\"河北衡水高新技术产业开发区\",\"131172\":\"衡水滨湖新区\",\"131182\":\"深州市\"},\"140000\":{\"140100\":\"太原市\",\"140200\":\"大同市\",\"140300\":\"阳泉市\",\"140400\":\"长治市\",\"140500\":\"晋城市\",\"140600\":\"朔州市\",\"140700\":\"晋中市\",\"140800\":\"运城市\",\"140900\":\"忻州市\",\"141000\":\"临汾市\",\"141100\":\"吕梁市\"},\"140100\":{\"140101\":\"市辖区\",\"140105\":\"小店区\",\"140106\":\"迎泽区\",\"140107\":\"杏花岭区\",\"140108\":\"尖草坪区\",\"140109\":\"万柏林区\",\"140110\":\"晋源区\",\"140121\":\"清徐县\",\"140122\":\"阳曲县\",\"140123\":\"娄烦县\",\"140171\":\"山西转型综合改革示范区\",\"140181\":\"古交市\"},\"140200\":{\"140201\":\"市辖区\",\"140212\":\"新荣区\",\"140213\":\"平城区\",\"140214\":\"云冈区\",\"140215\":\"云州区\",\"140221\":\"阳高县\",\"140222\":\"天镇县\",\"140223\":\"广灵县\",\"140224\":\"灵丘县\",\"140225\":\"浑源县\",\"140226\":\"左云县\",\"140271\":\"山西大同经济开发区\"},\"140300\":{\"140301\":\"市辖区\",\"140302\":\"城区\",\"140303\":\"矿区\",\"140311\":\"郊区\",\"140321\":\"平定县\",\"140322\":\"盂县\"},\"140400\":{\"140401\":\"市辖区\",\"140403\":\"潞州区\",\"140404\":\"上党区\",\"140405\":\"屯留区\",\"140406\":\"潞城区\",\"140423\":\"襄垣县\",\"140425\":\"平顺县\",\"140426\":\"黎城县\",\"140427\":\"壶关县\",\"140428\":\"长子县\",\"140429\":\"武乡县\",\"140430\":\"沁县\",\"140431\":\"沁源县\",\"140471\":\"山西长治高新技术产业园区\"},\"140500\":{\"140501\":\"市辖区\",\"140502\":\"城区\",\"140521\":\"沁水县\",\"140522\":\"阳城县\",\"140524\":\"陵川县\",\"140525\":\"泽州县\",\"140581\":\"高平市\"},\"140600\":{\"140601\":\"市辖区\",\"140602\":\"朔城区\",\"140603\":\"平鲁区\",\"140621\":\"山阴县\",\"140622\":\"应县\",\"140623\":\"右玉县\",\"140671\":\"山西朔州经济开发区\",\"140681\":\"怀仁市\"},\"140700\":{\"140701\":\"市辖区\",\"140702\":\"榆次区\",\"140721\":\"榆社县\",\"140722\":\"左权县\",\"140723\":\"和顺县\",\"140724\":\"昔阳县\",\"140725\":\"寿阳县\",\"140726\":\"太谷县\",\"140727\":\"祁县\",\"140728\":\"平遥县\",\"140729\":\"灵石县\",\"140781\":\"介休市\"},\"140800\":{\"140801\":\"市辖区\",\"140802\":\"盐湖区\",\"140821\":\"临猗县\",\"140822\":\"万荣县\",\"140823\":\"闻喜县\",\"140824\":\"稷山县\",\"140825\":\"新绛县\",\"140826\":\"绛县\",\"140827\":\"垣曲县\",\"140828\":\"夏县\",\"140829\":\"平陆县\",\"140830\":\"芮城县\",\"140881\":\"永济市\",\"140882\":\"河津市\"},\"140900\":{\"140901\":\"市辖区\",\"140902\":\"忻府区\",\"140921\":\"定襄县\",\"140922\":\"五台县\",\"140923\":\"代县\",\"140924\":\"繁峙县\",\"140925\":\"宁武县\",\"140926\":\"静乐县\",\"140927\":\"神池县\",\"140928\":\"五寨县\",\"140929\":\"岢岚县\",\"140930\":\"河曲县\",\"140931\":\"保德县\",\"140932\":\"偏关县\",\"140971\":\"五台山风景名胜区\",\"140981\":\"原平市\"},\"141000\":{\"141001\":\"市辖区\",\"141002\":\"尧都区\",\"141021\":\"曲沃县\",\"141022\":\"翼城县\",\"141023\":\"襄汾县\",\"141024\":\"洪洞县\",\"141025\":\"古县\",\"141026\":\"安泽县\",\"141027\":\"浮山县\",\"141028\":\"吉县\",\"141029\":\"乡宁县\",\"141030\":\"大宁县\",\"141031\":\"隰县\",\"141032\":\"永和县\",\"141033\":\"蒲县\",\"141034\":\"汾西县\",\"141081\":\"侯马市\",\"141082\":\"霍州市\"},\"141100\":{\"141101\":\"市辖区\",\"141102\":\"离石区\",\"141121\":\"文水县\",\"141122\":\"交城县\",\"141123\":\"兴县\",\"141124\":\"临县\",\"141125\":\"柳林县\",\"141126\":\"石楼县\",\"141127\":\"岚县\",\"141128\":\"方山县\",\"141129\":\"中阳县\",\"141130\":\"交口县\",\"141181\":\"孝义市\",\"141182\":\"汾阳市\"},\"150000\":{\"150100\":\"呼和浩特市\",\"150200\":\"包头市\",\"150300\":\"乌海市\",\"150400\":\"赤峰市\",\"150500\":\"通辽市\",\"150600\":\"鄂尔多斯市\",\"150700\":\"呼伦贝尔市\",\"150800\":\"巴彦淖尔市\",\"150900\":\"乌兰察布市\",\"152200\":\"兴安盟\",\"152500\":\"锡林郭勒盟\",\"152900\":\"阿拉善盟\"},\"150100\":{\"150101\":\"市辖区\",\"150102\":\"新城区\",\"150103\":\"回民区\",\"150104\":\"玉泉区\",\"150105\":\"赛罕区\",\"150121\":\"土默特左旗\",\"150122\":\"托克托县\",\"150123\":\"和林格尔县\",\"150124\":\"清水河县\",\"150125\":\"武川县\",\"150171\":\"呼和浩特金海工业园区\",\"150172\":\"呼和浩特经济技术开发区\"},\"150200\":{\"150201\":\"市辖区\",\"150202\":\"东河区\",\"150203\":\"昆都仑区\",\"150204\":\"青山区\",\"150205\":\"石拐区\",\"150206\":\"白云鄂博矿区\",\"150207\":\"九原区\",\"150221\":\"土默特右旗\",\"150222\":\"固阳县\",\"150223\":\"达尔罕茂明安联合旗\",\"150271\":\"包头稀土高新技术产业开发区\"},\"150300\":{\"150301\":\"市辖区\",\"150302\":\"海勃湾区\",\"150303\":\"海南区\",\"150304\":\"乌达区\"},\"150400\":{\"150401\":\"市辖区\",\"150402\":\"红山区\",\"150403\":\"元宝山区\",\"150404\":\"松山区\",\"150421\":\"阿鲁科尔沁旗\",\"150422\":\"巴林左旗\",\"150423\":\"巴林右旗\",\"150424\":\"林西县\",\"150425\":\"克什克腾旗\",\"150426\":\"翁牛特旗\",\"150428\":\"喀喇沁旗\",\"150429\":\"宁城县\",\"150430\":\"敖汉旗\"},\"150500\":{\"150501\":\"市辖区\",\"150502\":\"科尔沁区\",\"150521\":\"科尔沁左翼中旗\",\"150522\":\"科尔沁左翼后旗\",\"150523\":\"开鲁县\",\"150524\":\"库伦旗\",\"150525\":\"奈曼旗\",\"150526\":\"扎鲁特旗\",\"150571\":\"通辽经济技术开发区\",\"150581\":\"霍林郭勒市\"},\"150600\":{\"150601\":\"市辖区\",\"150602\":\"东胜区\",\"150603\":\"康巴什区\",\"150621\":\"达拉特旗\",\"150622\":\"准格尔旗\",\"150623\":\"鄂托克前旗\",\"150624\":\"鄂托克旗\",\"150625\":\"杭锦旗\",\"150626\":\"乌审旗\",\"150627\":\"伊金霍洛旗\"},\"150700\":{\"150701\":\"市辖区\",\"150702\":\"海拉尔区\",\"150703\":\"扎赉诺尔区\",\"150721\":\"阿荣旗\",\"150722\":\"莫力达瓦达斡尔族自治旗\",\"150723\":\"鄂伦春自治旗\",\"150724\":\"鄂温克族自治旗\",\"150725\":\"陈巴尔虎旗\",\"150726\":\"新巴尔虎左旗\",\"150727\":\"新巴尔虎右旗\",\"150781\":\"满洲里市\",\"150782\":\"牙克石市\",\"150783\":\"扎兰屯市\",\"150784\":\"额尔古纳市\",\"150785\":\"根河市\"},\"150800\":{\"150801\":\"市辖区\",\"150802\":\"临河区\",\"150821\":\"五原县\",\"150822\":\"磴口县\",\"150823\":\"乌拉特前旗\",\"150824\":\"乌拉特中旗\",\"150825\":\"乌拉特后旗\",\"150826\":\"杭锦后旗\"},\"150900\":{\"150901\":\"市辖区\",\"150902\":\"集宁区\",\"150921\":\"卓资县\",\"150922\":\"化德县\",\"150923\":\"商都县\",\"150924\":\"兴和县\",\"150925\":\"凉城县\",\"150926\":\"察哈尔右翼前旗\",\"150927\":\"察哈尔右翼中旗\",\"150928\":\"察哈尔右翼后旗\",\"150929\":\"四子王旗\",\"150981\":\"丰镇市\"},\"152200\":{\"152201\":\"乌兰浩特市\",\"152202\":\"阿尔山市\",\"152221\":\"科尔沁右翼前旗\",\"152222\":\"科尔沁右翼中旗\",\"152223\":\"扎赉特旗\",\"152224\":\"突泉县\"},\"152500\":{\"152501\":\"二连浩特市\",\"152502\":\"锡林浩特市\",\"152522\":\"阿巴嘎旗\",\"152523\":\"苏尼特左旗\",\"152524\":\"苏尼特右旗\",\"152525\":\"东乌珠穆沁旗\",\"152526\":\"西乌珠穆沁旗\",\"152527\":\"太仆寺旗\",\"152528\":\"镶黄旗\",\"152529\":\"正镶白旗\",\"152530\":\"正蓝旗\",\"152531\":\"多伦县\",\"152571\":\"乌拉盖管委会\"},\"152900\":{\"152921\":\"阿拉善左旗\",\"152922\":\"阿拉善右旗\",\"152923\":\"额济纳旗\",\"152971\":\"内蒙古阿拉善经济开发区\"},\"210000\":{\"210100\":\"沈阳市\",\"210200\":\"大连市\",\"210300\":\"鞍山市\",\"210400\":\"抚顺市\",\"210500\":\"本溪市\",\"210600\":\"丹东市\",\"210700\":\"锦州市\",\"210800\":\"营口市\",\"210900\":\"阜新市\",\"211000\":\"辽阳市\",\"211100\":\"盘锦市\",\"211200\":\"铁岭市\",\"211300\":\"朝阳市\",\"211400\":\"葫芦岛市\"},\"210100\":{\"210101\":\"市辖区\",\"210102\":\"和平区\",\"210103\":\"沈河区\",\"210104\":\"大东区\",\"210105\":\"皇姑区\",\"210106\":\"铁西区\",\"210111\":\"苏家屯区\",\"210112\":\"浑南区\",\"210113\":\"沈北新区\",\"210114\":\"于洪区\",\"210115\":\"辽中区\",\"210123\":\"康平县\",\"210124\":\"法库县\",\"210181\":\"新民市\"},\"210200\":{\"210201\":\"市辖区\",\"210202\":\"中山区\",\"210203\":\"西岗区\",\"210204\":\"沙河口区\",\"210211\":\"甘井子区\",\"210212\":\"旅顺口区\",\"210213\":\"金州区\",\"210214\":\"普兰店区\",\"210224\":\"长海县\",\"210281\":\"瓦房店市\",\"210283\":\"庄河市\"},\"210300\":{\"210301\":\"市辖区\",\"210302\":\"铁东区\",\"210303\":\"铁西区\",\"210304\":\"立山区\",\"210311\":\"千山区\",\"210321\":\"台安县\",\"210323\":\"岫岩满族自治县\",\"210381\":\"海城市\"},\"210400\":{\"210401\":\"市辖区\",\"210402\":\"新抚区\",\"210403\":\"东洲区\",\"210404\":\"望花区\",\"210411\":\"顺城区\",\"210421\":\"抚顺县\",\"210422\":\"新宾满族自治县\",\"210423\":\"清原满族自治县\"},\"210500\":{\"210501\":\"市辖区\",\"210502\":\"平山区\",\"210503\":\"溪湖区\",\"210504\":\"明山区\",\"210505\":\"南芬区\",\"210521\":\"本溪满族自治县\",\"210522\":\"桓仁满族自治县\"},\"210600\":{\"210601\":\"市辖区\",\"210602\":\"元宝区\",\"210603\":\"振兴区\",\"210604\":\"振安区\",\"210624\":\"宽甸满族自治县\",\"210681\":\"东港市\",\"210682\":\"凤城市\"},\"210700\":{\"210701\":\"市辖区\",\"210702\":\"古塔区\",\"210703\":\"凌河区\",\"210711\":\"太和区\",\"210726\":\"黑山县\",\"210727\":\"义县\",\"210781\":\"凌海市\",\"210782\":\"北镇市\"},\"210800\":{\"210801\":\"市辖区\",\"210802\":\"站前区\",\"210803\":\"西市区\",\"210804\":\"鲅鱼圈区\",\"210811\":\"老边区\",\"210881\":\"盖州市\",\"210882\":\"大石桥市\"},\"210900\":{\"210901\":\"市辖区\",\"210902\":\"海州区\",\"210903\":\"新邱区\",\"210904\":\"太平区\",\"210905\":\"清河门区\",\"210911\":\"细河区\",\"210921\":\"阜新蒙古族自治县\",\"210922\":\"彰武县\"},\"211000\":{\"211001\":\"市辖区\",\"211002\":\"白塔区\",\"211003\":\"文圣区\",\"211004\":\"宏伟区\",\"211005\":\"弓长岭区\",\"211011\":\"太子河区\",\"211021\":\"辽阳县\",\"211081\":\"灯塔市\"},\"211100\":{\"211101\":\"市辖区\",\"211102\":\"双台子区\",\"211103\":\"兴隆台区\",\"211104\":\"大洼区\",\"211122\":\"盘山县\"},\"211200\":{\"211201\":\"市辖区\",\"211202\":\"银州区\",\"211204\":\"清河区\",\"211221\":\"铁岭县\",\"211223\":\"西丰县\",\"211224\":\"昌图县\",\"211281\":\"调兵山市\",\"211282\":\"开原市\"},\"211300\":{\"211301\":\"市辖区\",\"211302\":\"双塔区\",\"211303\":\"龙城区\",\"211321\":\"朝阳县\",\"211322\":\"建平县\",\"211324\":\"喀喇沁左翼蒙古族自治县\",\"211381\":\"北票市\",\"211382\":\"凌源市\"},\"211400\":{\"211401\":\"市辖区\",\"211402\":\"连山区\",\"211403\":\"龙港区\",\"211404\":\"南票区\",\"211421\":\"绥中县\",\"211422\":\"建昌县\",\"211481\":\"兴城市\"},\"220000\":{\"220100\":\"长春市\",\"220200\":\"吉林市\",\"220300\":\"四平市\",\"220400\":\"辽源市\",\"220500\":\"通化市\",\"220600\":\"白山市\",\"220700\":\"松原市\",\"220800\":\"白城市\",\"222400\":\"延边朝鲜族自治州\"},\"220100\":{\"220101\":\"市辖区\",\"220102\":\"南关区\",\"220103\":\"宽城区\",\"220104\":\"朝阳区\",\"220105\":\"二道区\",\"220106\":\"绿园区\",\"220112\":\"双阳区\",\"220113\":\"九台区\",\"220122\":\"农安县\",\"220171\":\"长春经济技术开发区\",\"220172\":\"长春净月高新技术产业开发区\",\"220173\":\"长春高新技术产业开发区\",\"220174\":\"长春汽车经济技术开发区\",\"220182\":\"榆树市\",\"220183\":\"德惠市\"},\"220200\":{\"220201\":\"市辖区\",\"220202\":\"昌邑区\",\"220203\":\"龙潭区\",\"220204\":\"船营区\",\"220211\":\"丰满区\",\"220221\":\"永吉县\",\"220271\":\"吉林经济开发区\",\"220272\":\"吉林高新技术产业开发区\",\"220273\":\"吉林中国新加坡食品区\",\"220281\":\"蛟河市\",\"220282\":\"桦甸市\",\"220283\":\"舒兰市\",\"220284\":\"磐石市\"},\"220300\":{\"220301\":\"市辖区\",\"220302\":\"铁西区\",\"220303\":\"铁东区\",\"220322\":\"梨树县\",\"220323\":\"伊通满族自治县\",\"220381\":\"公主岭市\",\"220382\":\"双辽市\"},\"220400\":{\"220401\":\"市辖区\",\"220402\":\"龙山区\",\"220403\":\"西安区\",\"220421\":\"东丰县\",\"220422\":\"东辽县\"},\"220500\":{\"220501\":\"市辖区\",\"220502\":\"东昌区\",\"220503\":\"二道江区\",\"220521\":\"通化县\",\"220523\":\"辉南县\",\"220524\":\"柳河县\",\"220581\":\"梅河口市\",\"220582\":\"集安市\"},\"220600\":{\"220601\":\"市辖区\",\"220602\":\"浑江区\",\"220605\":\"江源区\",\"220621\":\"抚松县\",\"220622\":\"靖宇县\",\"220623\":\"长白朝鲜族自治县\",\"220681\":\"临江市\"},\"220700\":{\"220701\":\"市辖区\",\"220702\":\"宁江区\",\"220721\":\"前郭尔罗斯蒙古族自治县\",\"220722\":\"长岭县\",\"220723\":\"乾安县\",\"220771\":\"吉林松原经济开发区\",\"220781\":\"扶余市\"},\"220800\":{\"220801\":\"市辖区\",\"220802\":\"洮北区\",\"220821\":\"镇赉县\",\"220822\":\"通榆县\",\"220871\":\"吉林白城经济开发区\",\"220881\":\"洮南市\",\"220882\":\"大安市\"},\"222400\":{\"222401\":\"延吉市\",\"222402\":\"图们市\",\"222403\":\"敦化市\",\"222404\":\"珲春市\",\"222405\":\"龙井市\",\"222406\":\"和龙市\",\"222424\":\"汪清县\",\"222426\":\"安图县\"},\"230000\":{\"230100\":\"哈尔滨市\",\"230200\":\"齐齐哈尔市\",\"230300\":\"鸡西市\",\"230400\":\"鹤岗市\",\"230500\":\"双鸭山市\",\"230600\":\"大庆市\",\"230700\":\"伊春市\",\"230800\":\"佳木斯市\",\"230900\":\"七台河市\",\"231000\":\"牡丹江市\",\"231100\":\"黑河市\",\"231200\":\"绥化市\",\"232700\":\"大兴安岭地区\"},\"230100\":{\"230101\":\"市辖区\",\"230102\":\"道里区\",\"230103\":\"南岗区\",\"230104\":\"道外区\",\"230108\":\"平房区\",\"230109\":\"松北区\",\"230110\":\"香坊区\",\"230111\":\"呼兰区\",\"230112\":\"阿城区\",\"230113\":\"双城区\",\"230123\":\"依兰县\",\"230124\":\"方正县\",\"230125\":\"宾县\",\"230126\":\"巴彦县\",\"230127\":\"木兰县\",\"230128\":\"通河县\",\"230129\":\"延寿县\",\"230183\":\"尚志市\",\"230184\":\"五常市\"},\"230200\":{\"230201\":\"市辖区\",\"230202\":\"龙沙区\",\"230203\":\"建华区\",\"230204\":\"铁锋区\",\"230205\":\"昂昂溪区\",\"230206\":\"富拉尔基区\",\"230207\":\"碾子山区\",\"230208\":\"梅里斯达斡尔族区\",\"230221\":\"龙江县\",\"230223\":\"依安县\",\"230224\":\"泰来县\",\"230225\":\"甘南县\",\"230227\":\"富裕县\",\"230229\":\"克山县\",\"230230\":\"克东县\",\"230231\":\"拜泉县\",\"230281\":\"讷河市\"},\"230300\":{\"230301\":\"市辖区\",\"230302\":\"鸡冠区\",\"230303\":\"恒山区\",\"230304\":\"滴道区\",\"230305\":\"梨树区\",\"230306\":\"城子河区\",\"230307\":\"麻山区\",\"230321\":\"鸡东县\",\"230381\":\"虎林市\",\"230382\":\"密山市\"},\"230400\":{\"230401\":\"市辖区\",\"230402\":\"向阳区\",\"230403\":\"工农区\",\"230404\":\"南山区\",\"230405\":\"兴安区\",\"230406\":\"东山区\",\"230407\":\"兴山区\",\"230421\":\"萝北县\",\"230422\":\"绥滨县\"},\"230500\":{\"230501\":\"市辖区\",\"230502\":\"尖山区\",\"230503\":\"岭东区\",\"230505\":\"四方台区\",\"230506\":\"宝山区\",\"230521\":\"集贤县\",\"230522\":\"友谊县\",\"230523\":\"宝清县\",\"230524\":\"饶河县\"},\"230600\":{\"230601\":\"市辖区\",\"230602\":\"萨尔图区\",\"230603\":\"龙凤区\",\"230604\":\"让胡路区\",\"230605\":\"红岗区\",\"230606\":\"大同区\",\"230621\":\"肇州县\",\"230622\":\"肇源县\",\"230623\":\"林甸县\",\"230624\":\"杜尔伯特蒙古族自治县\",\"230671\":\"大庆高新技术产业开发区\"},\"230700\":{\"230701\":\"市辖区\",\"230717\":\"伊美区\",\"230718\":\"乌翠区\",\"230719\":\"友好区\",\"230722\":\"嘉荫县\",\"230723\":\"汤旺县\",\"230724\":\"丰林县\",\"230725\":\"大箐山县\",\"230726\":\"南岔县\",\"230751\":\"金林区\",\"230781\":\"铁力市\"},\"230800\":{\"230801\":\"市辖区\",\"230803\":\"向阳区\",\"230804\":\"前进区\",\"230805\":\"东风区\",\"230811\":\"郊区\",\"230822\":\"桦南县\",\"230826\":\"桦川县\",\"230828\":\"汤原县\",\"230881\":\"同江市\",\"230882\":\"富锦市\",\"230883\":\"抚远市\"},\"230900\":{\"230901\":\"市辖区\",\"230902\":\"新兴区\",\"230903\":\"桃山区\",\"230904\":\"茄子河区\",\"230921\":\"勃利县\"},\"231000\":{\"231001\":\"市辖区\",\"231002\":\"东安区\",\"231003\":\"阳明区\",\"231004\":\"爱民区\",\"231005\":\"西安区\",\"231025\":\"林口县\",\"231071\":\"牡丹江经济技术开发区\",\"231081\":\"绥芬河市\",\"231083\":\"海林市\",\"231084\":\"宁安市\",\"231085\":\"穆棱市\",\"231086\":\"东宁市\"},\"231100\":{\"231101\":\"市辖区\",\"231102\":\"爱辉区\",\"231123\":\"逊克县\",\"231124\":\"孙吴县\",\"231181\":\"北安市\",\"231182\":\"五大连池市\",\"231183\":\"嫩江市\"},\"231200\":{\"231201\":\"市辖区\",\"231202\":\"北林区\",\"231221\":\"望奎县\",\"231222\":\"兰西县\",\"231223\":\"青冈县\",\"231224\":\"庆安县\",\"231225\":\"明水县\",\"231226\":\"绥棱县\",\"231281\":\"安达市\",\"231282\":\"肇东市\",\"231283\":\"海伦市\"},\"232700\":{\"232701\":\"漠河市\",\"232721\":\"呼玛县\",\"232722\":\"塔河县\",\"232761\":\"加格达奇区\",\"232762\":\"松岭区\",\"232763\":\"新林区\",\"232764\":\"呼中区\"},\"310000\":{\"310100\":\"市辖区\"},\"310100\":{\"310101\":\"黄浦区\",\"310104\":\"徐汇区\",\"310105\":\"长宁区\",\"310106\":\"静安区\",\"310107\":\"普陀区\",\"310109\":\"虹口区\",\"310110\":\"杨浦区\",\"310112\":\"闵行区\",\"310113\":\"宝山区\",\"310114\":\"嘉定区\",\"310115\":\"浦东新区\",\"310116\":\"金山区\",\"310117\":\"松江区\",\"310118\":\"青浦区\",\"310120\":\"奉贤区\",\"310151\":\"崇明区\"},\"320000\":{\"320100\":\"南京市\",\"320200\":\"无锡市\",\"320300\":\"徐州市\",\"320400\":\"常州市\",\"320500\":\"苏州市\",\"320600\":\"南通市\",\"320700\":\"连云港市\",\"320800\":\"淮安市\",\"320900\":\"盐城市\",\"321000\":\"扬州市\",\"321100\":\"镇江市\",\"321200\":\"泰州市\",\"321300\":\"宿迁市\"},\"320100\":{\"320101\":\"市辖区\",\"320102\":\"玄武区\",\"320104\":\"秦淮区\",\"320105\":\"建邺区\",\"320106\":\"鼓楼区\",\"320111\":\"浦口区\",\"320113\":\"栖霞区\",\"320114\":\"雨花台区\",\"320115\":\"江宁区\",\"320116\":\"六合区\",\"320117\":\"溧水区\",\"320118\":\"高淳区\"},\"320200\":{\"320201\":\"市辖区\",\"320205\":\"锡山区\",\"320206\":\"惠山区\",\"320211\":\"滨湖区\",\"320213\":\"梁溪区\",\"320214\":\"新吴区\",\"320281\":\"江阴市\",\"320282\":\"宜兴市\"},\"320300\":{\"320301\":\"市辖区\",\"320302\":\"鼓楼区\",\"320303\":\"云龙区\",\"320305\":\"贾汪区\",\"320311\":\"泉山区\",\"320312\":\"铜山区\",\"320321\":\"丰县\",\"320322\":\"沛县\",\"320324\":\"睢宁县\",\"320371\":\"徐州经济技术开发区\",\"320381\":\"新沂市\",\"320382\":\"邳州市\"},\"320400\":{\"320401\":\"市辖区\",\"320402\":\"天宁区\",\"320404\":\"钟楼区\",\"320411\":\"新北区\",\"320412\":\"武进区\",\"320413\":\"金坛区\",\"320481\":\"溧阳市\"},\"320500\":{\"320501\":\"市辖区\",\"320505\":\"虎丘区\",\"320506\":\"吴中区\",\"320507\":\"相城区\",\"320508\":\"姑苏区\",\"320509\":\"吴江区\",\"320571\":\"苏州工业园区\",\"320581\":\"常熟市\",\"320582\":\"张家港市\",\"320583\":\"昆山市\",\"320585\":\"太仓市\"},\"320600\":{\"320601\":\"市辖区\",\"320602\":\"崇川区\",\"320611\":\"港闸区\",\"320612\":\"通州区\",\"320623\":\"如东县\",\"320671\":\"南通经济技术开发区\",\"320681\":\"启东市\",\"320682\":\"如皋市\",\"320684\":\"海门市\",\"320685\":\"海安市\"},\"320700\":{\"320701\":\"市辖区\",\"320703\":\"连云区\",\"320706\":\"海州区\",\"320707\":\"赣榆区\",\"320722\":\"东海县\",\"320723\":\"灌云县\",\"320724\":\"灌南县\",\"320771\":\"连云港经济技术开发区\",\"320772\":\"连云港高新技术产业开发区\"},\"320800\":{\"320801\":\"市辖区\",\"320803\":\"淮安区\",\"320804\":\"淮阴区\",\"320812\":\"清江浦区\",\"320813\":\"洪泽区\",\"320826\":\"涟水县\",\"320830\":\"盱眙县\",\"320831\":\"金湖县\",\"320871\":\"淮安经济技术开发区\"},\"320900\":{\"320901\":\"市辖区\",\"320902\":\"亭湖区\",\"320903\":\"盐都区\",\"320904\":\"大丰区\",\"320921\":\"响水县\",\"320922\":\"滨海县\",\"320923\":\"阜宁县\",\"320924\":\"射阳县\",\"320925\":\"建湖县\",\"320971\":\"盐城经济技术开发区\",\"320981\":\"东台市\"},\"321000\":{\"321001\":\"市辖区\",\"321002\":\"广陵区\",\"321003\":\"邗江区\",\"321012\":\"江都区\",\"321023\":\"宝应县\",\"321071\":\"扬州经济技术开发区\",\"321081\":\"仪征市\",\"321084\":\"高邮市\"},\"321100\":{\"321101\":\"市辖区\",\"321102\":\"京口区\",\"321111\":\"润州区\",\"321112\":\"丹徒区\",\"321171\":\"镇江新区\",\"321181\":\"丹阳市\",\"321182\":\"扬中市\",\"321183\":\"句容市\"},\"321200\":{\"321201\":\"市辖区\",\"321202\":\"海陵区\",\"321203\":\"高港区\",\"321204\":\"姜堰区\",\"321271\":\"泰州医药高新技术产业开发区\",\"321281\":\"兴化市\",\"321282\":\"靖江市\",\"321283\":\"泰兴市\"},\"321300\":{\"321301\":\"市辖区\",\"321302\":\"宿城区\",\"321311\":\"宿豫区\",\"321322\":\"沭阳县\",\"321323\":\"泗阳县\",\"321324\":\"泗洪县\",\"321371\":\"宿迁经济技术开发区\"},\"330000\":{\"330100\":\"杭州市\",\"330200\":\"宁波市\",\"330300\":\"温州市\",\"330400\":\"嘉兴市\",\"330500\":\"湖州市\",\"330600\":\"绍兴市\",\"330700\":\"金华市\",\"330800\":\"衢州市\",\"330900\":\"舟山市\",\"331000\":\"台州市\",\"331100\":\"丽水市\"},\"330100\":{\"330101\":\"市辖区\",\"330102\":\"上城区\",\"330103\":\"下城区\",\"330104\":\"江干区\",\"330105\":\"拱墅区\",\"330106\":\"西湖区\",\"330108\":\"滨江区\",\"330109\":\"萧山区\",\"330110\":\"余杭区\",\"330111\":\"富阳区\",\"330112\":\"临安区\",\"330122\":\"桐庐县\",\"330127\":\"淳安县\",\"330182\":\"建德市\"},\"330200\":{\"330201\":\"市辖区\",\"330203\":\"海曙区\",\"330205\":\"江北区\",\"330206\":\"北仑区\",\"330211\":\"镇海区\",\"330212\":\"鄞州区\",\"330213\":\"奉化区\",\"330225\":\"象山县\",\"330226\":\"宁海县\",\"330281\":\"余姚市\",\"330282\":\"慈溪市\"},\"330300\":{\"330301\":\"市辖区\",\"330302\":\"鹿城区\",\"330303\":\"龙湾区\",\"330304\":\"瓯海区\",\"330305\":\"洞头区\",\"330324\":\"永嘉县\",\"330326\":\"平阳县\",\"330327\":\"苍南县\",\"330328\":\"文成县\",\"330329\":\"泰顺县\",\"330371\":\"温州经济技术开发区\",\"330381\":\"瑞安市\",\"330382\":\"乐清市\",\"330383\":\"龙港市\"},\"330400\":{\"330401\":\"市辖区\",\"330402\":\"南湖区\",\"330411\":\"秀洲区\",\"330421\":\"嘉善县\",\"330424\":\"海盐县\",\"330481\":\"海宁市\",\"330482\":\"平湖市\",\"330483\":\"桐乡市\"},\"330500\":{\"330501\":\"市辖区\",\"330502\":\"吴兴区\",\"330503\":\"南浔区\",\"330521\":\"德清县\",\"330522\":\"长兴县\",\"330523\":\"安吉县\"},\"330600\":{\"330601\":\"市辖区\",\"330602\":\"越城区\",\"330603\":\"柯桥区\",\"330604\":\"上虞区\",\"330624\":\"新昌县\",\"330681\":\"诸暨市\",\"330683\":\"嵊州市\"},\"330700\":{\"330701\":\"市辖区\",\"330702\":\"婺城区\",\"330703\":\"金东区\",\"330723\":\"武义县\",\"330726\":\"浦江县\",\"330727\":\"磐安县\",\"330781\":\"兰溪市\",\"330782\":\"义乌市\",\"330783\":\"东阳市\",\"330784\":\"永康市\"},\"330800\":{\"330801\":\"市辖区\",\"330802\":\"柯城区\",\"330803\":\"衢江区\",\"330822\":\"常山县\",\"330824\":\"开化县\",\"330825\":\"龙游县\",\"330881\":\"江山市\"},\"330900\":{\"330901\":\"市辖区\",\"330902\":\"定海区\",\"330903\":\"普陀区\",\"330921\":\"岱山县\",\"330922\":\"嵊泗县\"},\"331000\":{\"331001\":\"市辖区\",\"331002\":\"椒江区\",\"331003\":\"黄岩区\",\"331004\":\"路桥区\",\"331022\":\"三门县\",\"331023\":\"天台县\",\"331024\":\"仙居县\",\"331081\":\"温岭市\",\"331082\":\"临海市\",\"331083\":\"玉环市\"},\"331100\":{\"331101\":\"市辖区\",\"331102\":\"莲都区\",\"331121\":\"青田县\",\"331122\":\"缙云县\",\"331123\":\"遂昌县\",\"331124\":\"松阳县\",\"331125\":\"云和县\",\"331126\":\"庆元县\",\"331127\":\"景宁畲族自治县\",\"331181\":\"龙泉市\"},\"340000\":{\"340100\":\"合肥市\",\"340200\":\"芜湖市\",\"340300\":\"蚌埠市\",\"340400\":\"淮南市\",\"340500\":\"马鞍山市\",\"340600\":\"淮北市\",\"340700\":\"铜陵市\",\"340800\":\"安庆市\",\"341000\":\"黄山市\",\"341100\":\"滁州市\",\"341200\":\"阜阳市\",\"341300\":\"宿州市\",\"341500\":\"六安市\",\"341600\":\"亳州市\",\"341700\":\"池州市\",\"341800\":\"宣城市\"},\"340100\":{\"340101\":\"市辖区\",\"340102\":\"瑶海区\",\"340103\":\"庐阳区\",\"340104\":\"蜀山区\",\"340111\":\"包河区\",\"340121\":\"长丰县\",\"340122\":\"肥东县\",\"340123\":\"肥西县\",\"340124\":\"庐江县\",\"340171\":\"合肥高新技术产业开发区\",\"340172\":\"合肥经济技术开发区\",\"340173\":\"合肥新站高新技术产业开发区\",\"340181\":\"巢湖市\"},\"340200\":{\"340201\":\"市辖区\",\"340202\":\"镜湖区\",\"340203\":\"弋江区\",\"340207\":\"鸠江区\",\"340208\":\"三山区\",\"340221\":\"芜湖县\",\"340222\":\"繁昌县\",\"340223\":\"南陵县\",\"340225\":\"无为县\",\"340271\":\"芜湖经济技术开发区\",\"340272\":\"安徽芜湖长江大桥经济开发区\"},\"340300\":{\"340301\":\"市辖区\",\"340302\":\"龙子湖区\",\"340303\":\"蚌山区\",\"340304\":\"禹会区\",\"340311\":\"淮上区\",\"340321\":\"怀远县\",\"340322\":\"五河县\",\"340323\":\"固镇县\",\"340371\":\"蚌埠市高新技术开发区\",\"340372\":\"蚌埠市经济开发区\"},\"340400\":{\"340401\":\"市辖区\",\"340402\":\"大通区\",\"340403\":\"田家庵区\",\"340404\":\"谢家集区\",\"340405\":\"八公山区\",\"340406\":\"潘集区\",\"340421\":\"凤台县\",\"340422\":\"寿县\"},\"340500\":{\"340501\":\"市辖区\",\"340503\":\"花山区\",\"340504\":\"雨山区\",\"340506\":\"博望区\",\"340521\":\"当涂县\",\"340522\":\"含山县\",\"340523\":\"和县\"},\"340600\":{\"340601\":\"市辖区\",\"340602\":\"杜集区\",\"340603\":\"相山区\",\"340604\":\"烈山区\",\"340621\":\"濉溪县\"},\"340700\":{\"340701\":\"市辖区\",\"340705\":\"铜官区\",\"340706\":\"义安区\",\"340711\":\"郊区\",\"340722\":\"枞阳县\"},\"340800\":{\"340801\":\"市辖区\",\"340802\":\"迎江区\",\"340803\":\"大观区\",\"340811\":\"宜秀区\",\"340822\":\"怀宁县\",\"340825\":\"太湖县\",\"340826\":\"宿松县\",\"340827\":\"望江县\",\"340828\":\"岳西县\",\"340871\":\"安徽安庆经济开发区\",\"340881\":\"桐城市\",\"340882\":\"潜山市\"},\"341000\":{\"341001\":\"市辖区\",\"341002\":\"屯溪区\",\"341003\":\"黄山区\",\"341004\":\"徽州区\",\"341021\":\"歙县\",\"341022\":\"休宁县\",\"341023\":\"黟县\",\"341024\":\"祁门县\"},\"341100\":{\"341101\":\"市辖区\",\"341102\":\"琅琊区\",\"341103\":\"南谯区\",\"341122\":\"来安县\",\"341124\":\"全椒县\",\"341125\":\"定远县\",\"341126\":\"凤阳县\",\"341171\":\"苏滁现代产业园\",\"341172\":\"滁州经济技术开发区\",\"341181\":\"天长市\",\"341182\":\"明光市\"},\"341200\":{\"341201\":\"市辖区\",\"341202\":\"颍州区\",\"341203\":\"颍东区\",\"341204\":\"颍泉区\",\"341221\":\"临泉县\",\"341222\":\"太和县\",\"341225\":\"阜南县\",\"341226\":\"颍上县\",\"341271\":\"阜阳合肥现代产业园区\",\"341272\":\"阜阳经济技术开发区\",\"341282\":\"界首市\"},\"341300\":{\"341301\":\"市辖区\",\"341302\":\"埇桥区\",\"341321\":\"砀山县\",\"341322\":\"萧县\",\"341323\":\"灵璧县\",\"341324\":\"泗县\",\"341371\":\"宿州马鞍山现代产业园区\",\"341372\":\"宿州经济技术开发区\"},\"341500\":{\"341501\":\"市辖区\",\"341502\":\"金安区\",\"341503\":\"裕安区\",\"341504\":\"叶集区\",\"341522\":\"霍邱县\",\"341523\":\"舒城县\",\"341524\":\"金寨县\",\"341525\":\"霍山县\"},\"341600\":{\"341601\":\"市辖区\",\"341602\":\"谯城区\",\"341621\":\"涡阳县\",\"341622\":\"蒙城县\",\"341623\":\"利辛县\"},\"341700\":{\"341701\":\"市辖区\",\"341702\":\"贵池区\",\"341721\":\"东至县\",\"341722\":\"石台县\",\"341723\":\"青阳县\"},\"341800\":{\"341801\":\"市辖区\",\"341802\":\"宣州区\",\"341821\":\"郎溪县\",\"341823\":\"泾县\",\"341824\":\"绩溪县\",\"341825\":\"旌德县\",\"341871\":\"宣城市经济开发区\",\"341881\":\"宁国市\",\"341882\":\"广德市\"},\"350000\":{\"350100\":\"福州市\",\"350200\":\"厦门市\",\"350300\":\"莆田市\",\"350400\":\"三明市\",\"350500\":\"泉州市\",\"350600\":\"漳州市\",\"350700\":\"南平市\",\"350800\":\"龙岩市\",\"350900\":\"宁德市\"},\"350100\":{\"350101\":\"市辖区\",\"350102\":\"鼓楼区\",\"350103\":\"台江区\",\"350104\":\"仓山区\",\"350105\":\"马尾区\",\"350111\":\"晋安区\",\"350112\":\"长乐区\",\"350121\":\"闽侯县\",\"350122\":\"连江县\",\"350123\":\"罗源县\",\"350124\":\"闽清县\",\"350125\":\"永泰县\",\"350128\":\"平潭县\",\"350181\":\"福清市\"},\"350200\":{\"350201\":\"市辖区\",\"350203\":\"思明区\",\"350205\":\"海沧区\",\"350206\":\"湖里区\",\"350211\":\"集美区\",\"350212\":\"同安区\",\"350213\":\"翔安区\"},\"350300\":{\"350301\":\"市辖区\",\"350302\":\"城厢区\",\"350303\":\"涵江区\",\"350304\":\"荔城区\",\"350305\":\"秀屿区\",\"350322\":\"仙游县\"},\"350400\":{\"350401\":\"市辖区\",\"350402\":\"梅列区\",\"350403\":\"三元区\",\"350421\":\"明溪县\",\"350423\":\"清流县\",\"350424\":\"宁化县\",\"350425\":\"大田县\",\"350426\":\"尤溪县\",\"350427\":\"沙县\",\"350428\":\"将乐县\",\"350429\":\"泰宁县\",\"350430\":\"建宁县\",\"350481\":\"永安市\"},\"350500\":{\"350501\":\"市辖区\",\"350502\":\"鲤城区\",\"350503\":\"丰泽区\",\"350504\":\"洛江区\",\"350505\":\"泉港区\",\"350521\":\"惠安县\",\"350524\":\"安溪县\",\"350525\":\"永春县\",\"350526\":\"德化县\",\"350527\":\"金门县\",\"350581\":\"石狮市\",\"350582\":\"晋江市\",\"350583\":\"南安市\"},\"350600\":{\"350601\":\"市辖区\",\"350602\":\"芗城区\",\"350603\":\"龙文区\",\"350622\":\"云霄县\",\"350623\":\"漳浦县\",\"350624\":\"诏安县\",\"350625\":\"长泰县\",\"350626\":\"东山县\",\"350627\":\"南靖县\",\"350628\":\"平和县\",\"350629\":\"华安县\",\"350681\":\"龙海市\"},\"350700\":{\"350701\":\"市辖区\",\"350702\":\"延平区\",\"350703\":\"建阳区\",\"350721\":\"顺昌县\",\"350722\":\"浦城县\",\"350723\":\"光泽县\",\"350724\":\"松溪县\",\"350725\":\"政和县\",\"350781\":\"邵武市\",\"350782\":\"武夷山市\",\"350783\":\"建瓯市\"},\"350800\":{\"350801\":\"市辖区\",\"350802\":\"新罗区\",\"350803\":\"永定区\",\"350821\":\"长汀县\",\"350823\":\"上杭县\",\"350824\":\"武平县\",\"350825\":\"连城县\",\"350881\":\"漳平市\"},\"350900\":{\"350901\":\"市辖区\",\"350902\":\"蕉城区\",\"350921\":\"霞浦县\",\"350922\":\"古田县\",\"350923\":\"屏南县\",\"350924\":\"寿宁县\",\"350925\":\"周宁县\",\"350926\":\"柘荣县\",\"350981\":\"福安市\",\"350982\":\"福鼎市\"},\"360000\":{\"360100\":\"南昌市\",\"360200\":\"景德镇市\",\"360300\":\"萍乡市\",\"360400\":\"九江市\",\"360500\":\"新余市\",\"360600\":\"鹰潭市\",\"360700\":\"赣州市\",\"360800\":\"吉安市\",\"360900\":\"宜春市\",\"361000\":\"抚州市\",\"361100\":\"上饶市\"},\"360100\":{\"360101\":\"市辖区\",\"360102\":\"东湖区\",\"360103\":\"西湖区\",\"360104\":\"青云谱区\",\"360105\":\"湾里区\",\"360111\":\"青山湖区\",\"360112\":\"新建区\",\"360121\":\"南昌县\",\"360123\":\"安义县\",\"360124\":\"进贤县\"},\"360200\":{\"360201\":\"市辖区\",\"360202\":\"昌江区\",\"360203\":\"珠山区\",\"360222\":\"浮梁县\",\"360281\":\"乐平市\"},\"360300\":{\"360301\":\"市辖区\",\"360302\":\"安源区\",\"360313\":\"湘东区\",\"360321\":\"莲花县\",\"360322\":\"上栗县\",\"360323\":\"芦溪县\"},\"360400\":{\"360401\":\"市辖区\",\"360402\":\"濂溪区\",\"360403\":\"浔阳区\",\"360404\":\"柴桑区\",\"360423\":\"武宁县\",\"360424\":\"修水县\",\"360425\":\"永修县\",\"360426\":\"德安县\",\"360428\":\"都昌县\",\"360429\":\"湖口县\",\"360430\":\"彭泽县\",\"360481\":\"瑞昌市\",\"360482\":\"共青城市\",\"360483\":\"庐山市\"},\"360500\":{\"360501\":\"市辖区\",\"360502\":\"渝水区\",\"360521\":\"分宜县\"},\"360600\":{\"360601\":\"市辖区\",\"360602\":\"月湖区\",\"360603\":\"余江区\",\"360681\":\"贵溪市\"},\"360700\":{\"360701\":\"市辖区\",\"360702\":\"章贡区\",\"360703\":\"南康区\",\"360704\":\"赣县区\",\"360722\":\"信丰县\",\"360723\":\"大余县\",\"360724\":\"上犹县\",\"360725\":\"崇义县\",\"360726\":\"安远县\",\"360727\":\"龙南县\",\"360728\":\"定南县\",\"360729\":\"全南县\",\"360730\":\"宁都县\",\"360731\":\"于都县\",\"360732\":\"兴国县\",\"360733\":\"会昌县\",\"360734\":\"寻乌县\",\"360735\":\"石城县\",\"360781\":\"瑞金市\"},\"360800\":{\"360801\":\"市辖区\",\"360802\":\"吉州区\",\"360803\":\"青原区\",\"360821\":\"吉安县\",\"360822\":\"吉水县\",\"360823\":\"峡江县\",\"360824\":\"新干县\",\"360825\":\"永丰县\",\"360826\":\"泰和县\",\"360827\":\"遂川县\",\"360828\":\"万安县\",\"360829\":\"安福县\",\"360830\":\"永新县\",\"360881\":\"井冈山市\"},\"360900\":{\"360901\":\"市辖区\",\"360902\":\"袁州区\",\"360921\":\"奉新县\",\"360922\":\"万载县\",\"360923\":\"上高县\",\"360924\":\"宜丰县\",\"360925\":\"靖安县\",\"360926\":\"铜鼓县\",\"360981\":\"丰城市\",\"360982\":\"樟树市\",\"360983\":\"高安市\"},\"361000\":{\"361001\":\"市辖区\",\"361002\":\"临川区\",\"361003\":\"东乡区\",\"361021\":\"南城县\",\"361022\":\"黎川县\",\"361023\":\"南丰县\",\"361024\":\"崇仁县\",\"361025\":\"乐安县\",\"361026\":\"宜黄县\",\"361027\":\"金溪县\",\"361028\":\"资溪县\",\"361030\":\"广昌县\"},\"361100\":{\"361101\":\"市辖区\",\"361102\":\"信州区\",\"361103\":\"广丰区\",\"361104\":\"广信区\",\"361123\":\"玉山县\",\"361124\":\"铅山县\",\"361125\":\"横峰县\",\"361126\":\"弋阳县\",\"361127\":\"余干县\",\"361128\":\"鄱阳县\",\"361129\":\"万年县\",\"361130\":\"婺源县\",\"361181\":\"德兴市\"},\"370000\":{\"370100\":\"济南市\",\"370200\":\"青岛市\",\"370300\":\"淄博市\",\"370400\":\"枣庄市\",\"370500\":\"东营市\",\"370600\":\"烟台市\",\"370700\":\"潍坊市\",\"370800\":\"济宁市\",\"370900\":\"泰安市\",\"371000\":\"威海市\",\"371100\":\"日照市\",\"371300\":\"临沂市\",\"371400\":\"德州市\",\"371500\":\"聊城市\",\"371600\":\"滨州市\",\"371700\":\"菏泽市\"},\"370100\":{\"370101\":\"市辖区\",\"370102\":\"历下区\",\"370103\":\"市中区\",\"370104\":\"槐荫区\",\"370105\":\"天桥区\",\"370112\":\"历城区\",\"370113\":\"长清区\",\"370114\":\"章丘区\",\"370115\":\"济阳区\",\"370116\":\"莱芜区\",\"370117\":\"钢城区\",\"370124\":\"平阴县\",\"370126\":\"商河县\",\"370171\":\"济南高新技术产业开发区\"},\"370200\":{\"370201\":\"市辖区\",\"370202\":\"市南区\",\"370203\":\"市北区\",\"370211\":\"黄岛区\",\"370212\":\"崂山区\",\"370213\":\"李沧区\",\"370214\":\"城阳区\",\"370215\":\"即墨区\",\"370271\":\"青岛高新技术产业开发区\",\"370281\":\"胶州市\",\"370283\":\"平度市\",\"370285\":\"莱西市\"},\"370300\":{\"370301\":\"市辖区\",\"370302\":\"淄川区\",\"370303\":\"张店区\",\"370304\":\"博山区\",\"370305\":\"临淄区\",\"370306\":\"周村区\",\"370321\":\"桓台县\",\"370322\":\"高青县\",\"370323\":\"沂源县\"},\"370400\":{\"370401\":\"市辖区\",\"370402\":\"市中区\",\"370403\":\"薛城区\",\"370404\":\"峄城区\",\"370405\":\"台儿庄区\",\"370406\":\"山亭区\",\"370481\":\"滕州市\"},\"370500\":{\"370501\":\"市辖区\",\"370502\":\"东营区\",\"370503\":\"河口区\",\"370505\":\"垦利区\",\"370522\":\"利津县\",\"370523\":\"广饶县\",\"370571\":\"东营经济技术开发区\",\"370572\":\"东营港经济开发区\"},\"370600\":{\"370601\":\"市辖区\",\"370602\":\"芝罘区\",\"370611\":\"福山区\",\"370612\":\"牟平区\",\"370613\":\"莱山区\",\"370634\":\"长岛县\",\"370671\":\"烟台高新技术产业开发区\",\"370672\":\"烟台经济技术开发区\",\"370681\":\"龙口市\",\"370682\":\"莱阳市\",\"370683\":\"莱州市\",\"370684\":\"蓬莱市\",\"370685\":\"招远市\",\"370686\":\"栖霞市\",\"370687\":\"海阳市\"},\"370700\":{\"370701\":\"市辖区\",\"370702\":\"潍城区\",\"370703\":\"寒亭区\",\"370704\":\"坊子区\",\"370705\":\"奎文区\",\"370724\":\"临朐县\",\"370725\":\"昌乐县\",\"370772\":\"潍坊滨海经济技术开发区\",\"370781\":\"青州市\",\"370782\":\"诸城市\",\"370783\":\"寿光市\",\"370784\":\"安丘市\",\"370785\":\"高密市\",\"370786\":\"昌邑市\"},\"370800\":{\"370801\":\"市辖区\",\"370811\":\"任城区\",\"370812\":\"兖州区\",\"370826\":\"微山县\",\"370827\":\"鱼台县\",\"370828\":\"金乡县\",\"370829\":\"嘉祥县\",\"370830\":\"汶上县\",\"370831\":\"泗水县\",\"370832\":\"梁山县\",\"370871\":\"济宁高新技术产业开发区\",\"370881\":\"曲阜市\",\"370883\":\"邹城市\"},\"370900\":{\"370901\":\"市辖区\",\"370902\":\"泰山区\",\"370911\":\"岱岳区\",\"370921\":\"宁阳县\",\"370923\":\"东平县\",\"370982\":\"新泰市\",\"370983\":\"肥城市\"},\"371000\":{\"371001\":\"市辖区\",\"371002\":\"环翠区\",\"371003\":\"文登区\",\"371071\":\"威海火炬高技术产业开发区\",\"371072\":\"威海经济技术开发区\",\"371073\":\"威海临港经济技术开发区\",\"371082\":\"荣成市\",\"371083\":\"乳山市\"},\"371100\":{\"371101\":\"市辖区\",\"371102\":\"东港区\",\"371103\":\"岚山区\",\"371121\":\"五莲县\",\"371122\":\"莒县\",\"371171\":\"日照经济技术开发区\"},\"371300\":{\"371301\":\"市辖区\",\"371302\":\"兰山区\",\"371311\":\"罗庄区\",\"371312\":\"河东区\",\"371321\":\"沂南县\",\"371322\":\"郯城县\",\"371323\":\"沂水县\",\"371324\":\"兰陵县\",\"371325\":\"费县\",\"371326\":\"平邑县\",\"371327\":\"莒南县\",\"371328\":\"蒙阴县\",\"371329\":\"临沭县\",\"371371\":\"临沂高新技术产业开发区\",\"371372\":\"临沂经济技术开发区\",\"371373\":\"临沂临港经济开发区\"},\"371400\":{\"371401\":\"市辖区\",\"371402\":\"德城区\",\"371403\":\"陵城区\",\"371422\":\"宁津县\",\"371423\":\"庆云县\",\"371424\":\"临邑县\",\"371425\":\"齐河县\",\"371426\":\"平原县\",\"371427\":\"夏津县\",\"371428\":\"武城县\",\"371471\":\"德州经济技术开发区\",\"371472\":\"德州运河经济开发区\",\"371481\":\"乐陵市\",\"371482\":\"禹城市\"},\"371500\":{\"371501\":\"市辖区\",\"371502\":\"东昌府区\",\"371503\":\"茌平区\",\"371521\":\"阳谷县\",\"371522\":\"莘县\",\"371524\":\"东阿县\",\"371525\":\"冠县\",\"371526\":\"高唐县\",\"371581\":\"临清市\"},\"371600\":{\"371601\":\"市辖区\",\"371602\":\"滨城区\",\"371603\":\"沾化区\",\"371621\":\"惠民县\",\"371622\":\"阳信县\",\"371623\":\"无棣县\",\"371625\":\"博兴县\",\"371681\":\"邹平市\"},\"371700\":{\"371701\":\"市辖区\",\"371702\":\"牡丹区\",\"371703\":\"定陶区\",\"371721\":\"曹县\",\"371722\":\"单县\",\"371723\":\"成武县\",\"371724\":\"巨野县\",\"371725\":\"郓城县\",\"371726\":\"鄄城县\",\"371728\":\"东明县\",\"371771\":\"菏泽经济技术开发区\",\"371772\":\"菏泽高新技术开发区\"},\"410000\":{\"410100\":\"郑州市\",\"410200\":\"开封市\",\"410300\":\"洛阳市\",\"410400\":\"平顶山市\",\"410500\":\"安阳市\",\"410600\":\"鹤壁市\",\"410700\":\"新乡市\",\"410800\":\"焦作市\",\"410900\":\"濮阳市\",\"411000\":\"许昌市\",\"411100\":\"漯河市\",\"411200\":\"三门峡市\",\"411300\":\"南阳市\",\"411400\":\"商丘市\",\"411500\":\"信阳市\",\"411600\":\"周口市\",\"411700\":\"驻马店市\",\"419000\":\"省直辖县级行政区划\"},\"410100\":{\"410101\":\"市辖区\",\"410102\":\"中原区\",\"410103\":\"二七区\",\"410104\":\"管城回族区\",\"410105\":\"金水区\",\"410106\":\"上街区\",\"410108\":\"惠济区\",\"410122\":\"中牟县\",\"410171\":\"郑州经济技术开发区\",\"410172\":\"郑州高新技术产业开发区\",\"410173\":\"郑州航空港经济综合实验区\",\"410181\":\"巩义市\",\"410182\":\"荥阳市\",\"410183\":\"新密市\",\"410184\":\"新郑市\",\"410185\":\"登封市\"},\"410200\":{\"410201\":\"市辖区\",\"410202\":\"龙亭区\",\"410203\":\"顺河回族区\",\"410204\":\"鼓楼区\",\"410205\":\"禹王台区\",\"410212\":\"祥符区\",\"410221\":\"杞县\",\"410222\":\"通许县\",\"410223\":\"尉氏县\",\"410225\":\"兰考县\"},\"410300\":{\"410301\":\"市辖区\",\"410302\":\"老城区\",\"410303\":\"西工区\",\"410304\":\"瀍河回族区\",\"410305\":\"涧西区\",\"410306\":\"吉利区\",\"410311\":\"洛龙区\",\"410322\":\"孟津县\",\"410323\":\"新安县\",\"410324\":\"栾川县\",\"410325\":\"嵩县\",\"410326\":\"汝阳县\",\"410327\":\"宜阳县\",\"410328\":\"洛宁县\",\"410329\":\"伊川县\",\"410371\":\"洛阳高新技术产业开发区\",\"410381\":\"偃师市\"},\"410400\":{\"410401\":\"市辖区\",\"410402\":\"新华区\",\"410403\":\"卫东区\",\"410404\":\"石龙区\",\"410411\":\"湛河区\",\"410421\":\"宝丰县\",\"410422\":\"叶县\",\"410423\":\"鲁山县\",\"410425\":\"郏县\",\"410471\":\"平顶山高新技术产业开发区\",\"410472\":\"平顶山市城乡一体化示范区\",\"410481\":\"舞钢市\",\"410482\":\"汝州市\"},\"410500\":{\"410501\":\"市辖区\",\"410502\":\"文峰区\",\"410503\":\"北关区\",\"410505\":\"殷都区\",\"410506\":\"龙安区\",\"410522\":\"安阳县\",\"410523\":\"汤阴县\",\"410526\":\"滑县\",\"410527\":\"内黄县\",\"410571\":\"安阳高新技术产业开发区\",\"410581\":\"林州市\"},\"410600\":{\"410601\":\"市辖区\",\"410602\":\"鹤山区\",\"410603\":\"山城区\",\"410611\":\"淇滨区\",\"410621\":\"浚县\",\"410622\":\"淇县\",\"410671\":\"鹤壁经济技术开发区\"},\"410700\":{\"410701\":\"市辖区\",\"410702\":\"红旗区\",\"410703\":\"卫滨区\",\"410704\":\"凤泉区\",\"410711\":\"牧野区\",\"410721\":\"新乡县\",\"410724\":\"获嘉县\",\"410725\":\"原阳县\",\"410726\":\"延津县\",\"410727\":\"封丘县\",\"410771\":\"新乡高新技术产业开发区\",\"410772\":\"新乡经济技术开发区\",\"410773\":\"新乡市平原城乡一体化示范区\",\"410781\":\"卫辉市\",\"410782\":\"辉县市\",\"410783\":\"长垣市\"},\"410800\":{\"410801\":\"市辖区\",\"410802\":\"解放区\",\"410803\":\"中站区\",\"410804\":\"马村区\",\"410811\":\"山阳区\",\"410821\":\"修武县\",\"410822\":\"博爱县\",\"410823\":\"武陟县\",\"410825\":\"温县\",\"410871\":\"焦作城乡一体化示范区\",\"410882\":\"沁阳市\",\"410883\":\"孟州市\"},\"410900\":{\"410901\":\"市辖区\",\"410902\":\"华龙区\",\"410922\":\"清丰县\",\"410923\":\"南乐县\",\"410926\":\"范县\",\"410927\":\"台前县\",\"410928\":\"濮阳县\",\"410971\":\"河南濮阳工业园区\",\"410972\":\"濮阳经济技术开发区\"},\"411000\":{\"411001\":\"市辖区\",\"411002\":\"魏都区\",\"411003\":\"建安区\",\"411024\":\"鄢陵县\",\"411025\":\"襄城县\",\"411071\":\"许昌经济技术开发区\",\"411081\":\"禹州市\",\"411082\":\"长葛市\"},\"411100\":{\"411101\":\"市辖区\",\"411102\":\"源汇区\",\"411103\":\"郾城区\",\"411104\":\"召陵区\",\"411121\":\"舞阳县\",\"411122\":\"临颍县\",\"411171\":\"漯河经济技术开发区\"},\"411200\":{\"411201\":\"市辖区\",\"411202\":\"湖滨区\",\"411203\":\"陕州区\",\"411221\":\"渑池县\",\"411224\":\"卢氏县\",\"411271\":\"河南三门峡经济开发区\",\"411281\":\"义马市\",\"411282\":\"灵宝市\"},\"411300\":{\"411301\":\"市辖区\",\"411302\":\"宛城区\",\"411303\":\"卧龙区\",\"411321\":\"南召县\",\"411322\":\"方城县\",\"411323\":\"西峡县\",\"411324\":\"镇平县\",\"411325\":\"内乡县\",\"411326\":\"淅川县\",\"411327\":\"社旗县\",\"411328\":\"唐河县\",\"411329\":\"新野县\",\"411330\":\"桐柏县\",\"411371\":\"南阳高新技术产业开发区\",\"411372\":\"南阳市城乡一体化示范区\",\"411381\":\"邓州市\"},\"411400\":{\"411401\":\"市辖区\",\"411402\":\"梁园区\",\"411403\":\"睢阳区\",\"411421\":\"民权县\",\"411422\":\"睢县\",\"411423\":\"宁陵县\",\"411424\":\"柘城县\",\"411425\":\"虞城县\",\"411426\":\"夏邑县\",\"411471\":\"豫东综合物流产业聚集区\",\"411472\":\"河南商丘经济开发区\",\"411481\":\"永城市\"},\"411500\":{\"411501\":\"市辖区\",\"411502\":\"浉河区\",\"411503\":\"平桥区\",\"411521\":\"罗山县\",\"411522\":\"光山县\",\"411523\":\"新县\",\"411524\":\"商城县\",\"411525\":\"固始县\",\"411526\":\"潢川县\",\"411527\":\"淮滨县\",\"411528\":\"息县\",\"411571\":\"信阳高新技术产业开发区\"},\"411600\":{\"411601\":\"市辖区\",\"411602\":\"川汇区\",\"411603\":\"淮阳区\",\"411621\":\"扶沟县\",\"411622\":\"西华县\",\"411623\":\"商水县\",\"411624\":\"沈丘县\",\"411625\":\"郸城县\",\"411627\":\"太康县\",\"411628\":\"鹿邑县\",\"411671\":\"河南周口经济开发区\",\"411681\":\"项城市\"},\"411700\":{\"411701\":\"市辖区\",\"411702\":\"驿城区\",\"411721\":\"西平县\",\"411722\":\"上蔡县\",\"411723\":\"平舆县\",\"411724\":\"正阳县\",\"411725\":\"确山县\",\"411726\":\"泌阳县\",\"411727\":\"汝南县\",\"411728\":\"遂平县\",\"411729\":\"新蔡县\",\"411771\":\"河南驻马店经济开发区\"},\"419000\":{\"419001\":\"济源市\"},\"420000\":{\"420100\":\"武汉市\",\"420200\":\"黄石市\",\"420300\":\"十堰市\",\"420500\":\"宜昌市\",\"420600\":\"襄阳市\",\"420700\":\"鄂州市\",\"420800\":\"荆门市\",\"420900\":\"孝感市\",\"421000\":\"荆州市\",\"421100\":\"黄冈市\",\"421200\":\"咸宁市\",\"421300\":\"随州市\",\"422800\":\"恩施土家族苗族自治州\",\"429000\":\"省直辖县级行政区划\"},\"420100\":{\"420101\":\"市辖区\",\"420102\":\"江岸区\",\"420103\":\"江汉区\",\"420104\":\"硚口区\",\"420105\":\"汉阳区\",\"420106\":\"武昌区\",\"420107\":\"青山区\",\"420111\":\"洪山区\",\"420112\":\"东西湖区\",\"420113\":\"汉南区\",\"420114\":\"蔡甸区\",\"420115\":\"江夏区\",\"420116\":\"黄陂区\",\"420117\":\"新洲区\"},\"420200\":{\"420201\":\"市辖区\",\"420202\":\"黄石港区\",\"420203\":\"西塞山区\",\"420204\":\"下陆区\",\"420205\":\"铁山区\",\"420222\":\"阳新县\",\"420281\":\"大冶市\"},\"420300\":{\"420301\":\"市辖区\",\"420302\":\"茅箭区\",\"420303\":\"张湾区\",\"420304\":\"郧阳区\",\"420322\":\"郧西县\",\"420323\":\"竹山县\",\"420324\":\"竹溪县\",\"420325\":\"房县\",\"420381\":\"丹江口市\"},\"420500\":{\"420501\":\"市辖区\",\"420502\":\"西陵区\",\"420503\":\"伍家岗区\",\"420504\":\"点军区\",\"420505\":\"猇亭区\",\"420506\":\"夷陵区\",\"420525\":\"远安县\",\"420526\":\"兴山县\",\"420527\":\"秭归县\",\"420528\":\"长阳土家族自治县\",\"420529\":\"五峰土家族自治县\",\"420581\":\"宜都市\",\"420582\":\"当阳市\",\"420583\":\"枝江市\"},\"420600\":{\"420601\":\"市辖区\",\"420602\":\"襄城区\",\"420606\":\"樊城区\",\"420607\":\"襄州区\",\"420624\":\"南漳县\",\"420625\":\"谷城县\",\"420626\":\"保康县\",\"420682\":\"老河口市\",\"420683\":\"枣阳市\",\"420684\":\"宜城市\"},\"420700\":{\"420701\":\"市辖区\",\"420702\":\"梁子湖区\",\"420703\":\"华容区\",\"420704\":\"鄂城区\"},\"420800\":{\"420801\":\"市辖区\",\"420802\":\"东宝区\",\"420804\":\"掇刀区\",\"420822\":\"沙洋县\",\"420881\":\"钟祥市\",\"420882\":\"京山市\"},\"420900\":{\"420901\":\"市辖区\",\"420902\":\"孝南区\",\"420921\":\"孝昌县\",\"420922\":\"大悟县\",\"420923\":\"云梦县\",\"420981\":\"应城市\",\"420982\":\"安陆市\",\"420984\":\"汉川市\"},\"421000\":{\"421001\":\"市辖区\",\"421002\":\"沙市区\",\"421003\":\"荆州区\",\"421022\":\"公安县\",\"421023\":\"监利县\",\"421024\":\"江陵县\",\"421071\":\"荆州经济技术开发区\",\"421081\":\"石首市\",\"421083\":\"洪湖市\",\"421087\":\"松滋市\"},\"421100\":{\"421101\":\"市辖区\",\"421102\":\"黄州区\",\"421121\":\"团风县\",\"421122\":\"红安县\",\"421123\":\"罗田县\",\"421124\":\"英山县\",\"421125\":\"浠水县\",\"421126\":\"蕲春县\",\"421127\":\"黄梅县\",\"421171\":\"龙感湖管理区\",\"421181\":\"麻城市\",\"421182\":\"武穴市\"},\"421200\":{\"421201\":\"市辖区\",\"421202\":\"咸安区\",\"421221\":\"嘉鱼县\",\"421222\":\"通城县\",\"421223\":\"崇阳县\",\"421224\":\"通山县\",\"421281\":\"赤壁市\"},\"421300\":{\"421301\":\"市辖区\",\"421303\":\"曾都区\",\"421321\":\"随县\",\"421381\":\"广水市\"},\"422800\":{\"422801\":\"恩施市\",\"422802\":\"利川市\",\"422822\":\"建始县\",\"422823\":\"巴东县\",\"422825\":\"宣恩县\",\"422826\":\"咸丰县\",\"422827\":\"来凤县\",\"422828\":\"鹤峰县\"},\"429000\":{\"429004\":\"仙桃市\",\"429005\":\"潜江市\",\"429006\":\"天门市\",\"429021\":\"神农架林区\"},\"430000\":{\"430100\":\"长沙市\",\"430200\":\"株洲市\",\"430300\":\"湘潭市\",\"430400\":\"衡阳市\",\"430500\":\"邵阳市\",\"430600\":\"岳阳市\",\"430700\":\"常德市\",\"430800\":\"张家界市\",\"430900\":\"益阳市\",\"431000\":\"郴州市\",\"431100\":\"永州市\",\"431200\":\"怀化市\",\"431300\":\"娄底市\",\"433100\":\"湘西土家族苗族自治州\"},\"430100\":{\"430101\":\"市辖区\",\"430102\":\"芙蓉区\",\"430103\":\"天心区\",\"430104\":\"岳麓区\",\"430105\":\"开福区\",\"430111\":\"雨花区\",\"430112\":\"望城区\",\"430121\":\"长沙县\",\"430181\":\"浏阳市\",\"430182\":\"宁乡市\"},\"430200\":{\"430201\":\"市辖区\",\"430202\":\"荷塘区\",\"430203\":\"芦淞区\",\"430204\":\"石峰区\",\"430211\":\"天元区\",\"430212\":\"渌口区\",\"430223\":\"攸县\",\"430224\":\"茶陵县\",\"430225\":\"炎陵县\",\"430271\":\"云龙示范区\",\"430281\":\"醴陵市\"},\"430300\":{\"430301\":\"市辖区\",\"430302\":\"雨湖区\",\"430304\":\"岳塘区\",\"430321\":\"湘潭县\",\"430371\":\"湖南湘潭高新技术产业园区\",\"430372\":\"湘潭昭山示范区\",\"430373\":\"湘潭九华示范区\",\"430381\":\"湘乡市\",\"430382\":\"韶山市\"},\"430400\":{\"430401\":\"市辖区\",\"430405\":\"珠晖区\",\"430406\":\"雁峰区\",\"430407\":\"石鼓区\",\"430408\":\"蒸湘区\",\"430412\":\"南岳区\",\"430421\":\"衡阳县\",\"430422\":\"衡南县\",\"430423\":\"衡山县\",\"430424\":\"衡东县\",\"430426\":\"祁东县\",\"430471\":\"衡阳综合保税区\",\"430472\":\"湖南衡阳高新技术产业园区\",\"430473\":\"湖南衡阳松木经济开发区\",\"430481\":\"耒阳市\",\"430482\":\"常宁市\"},\"430500\":{\"430501\":\"市辖区\",\"430502\":\"双清区\",\"430503\":\"大祥区\",\"430511\":\"北塔区\",\"430522\":\"新邵县\",\"430523\":\"邵阳县\",\"430524\":\"隆回县\",\"430525\":\"洞口县\",\"430527\":\"绥宁县\",\"430528\":\"新宁县\",\"430529\":\"城步苗族自治县\",\"430581\":\"武冈市\",\"430582\":\"邵东市\"},\"430600\":{\"430601\":\"市辖区\",\"430602\":\"岳阳楼区\",\"430603\":\"云溪区\",\"430611\":\"君山区\",\"430621\":\"岳阳县\",\"430623\":\"华容县\",\"430624\":\"湘阴县\",\"430626\":\"平江县\",\"430671\":\"岳阳市屈原管理区\",\"430681\":\"汨罗市\",\"430682\":\"临湘市\"},\"430700\":{\"430701\":\"市辖区\",\"430702\":\"武陵区\",\"430703\":\"鼎城区\",\"430721\":\"安乡县\",\"430722\":\"汉寿县\",\"430723\":\"澧县\",\"430724\":\"临澧县\",\"430725\":\"桃源县\",\"430726\":\"石门县\",\"430771\":\"常德市西洞庭管理区\",\"430781\":\"津市市\"},\"430800\":{\"430801\":\"市辖区\",\"430802\":\"永定区\",\"430811\":\"武陵源区\",\"430821\":\"慈利县\",\"430822\":\"桑植县\"},\"430900\":{\"430901\":\"市辖区\",\"430902\":\"资阳区\",\"430903\":\"赫山区\",\"430921\":\"南县\",\"430922\":\"桃江县\",\"430923\":\"安化县\",\"430971\":\"益阳市大通湖管理区\",\"430972\":\"湖南益阳高新技术产业园区\",\"430981\":\"沅江市\"},\"431000\":{\"431001\":\"市辖区\",\"431002\":\"北湖区\",\"431003\":\"苏仙区\",\"431021\":\"桂阳县\",\"431022\":\"宜章县\",\"431023\":\"永兴县\",\"431024\":\"嘉禾县\",\"431025\":\"临武县\",\"431026\":\"汝城县\",\"431027\":\"桂东县\",\"431028\":\"安仁县\",\"431081\":\"资兴市\"},\"431100\":{\"431101\":\"市辖区\",\"431102\":\"零陵区\",\"431103\":\"冷水滩区\",\"431121\":\"祁阳县\",\"431122\":\"东安县\",\"431123\":\"双牌县\",\"431124\":\"道县\",\"431125\":\"江永县\",\"431126\":\"宁远县\",\"431127\":\"蓝山县\",\"431128\":\"新田县\",\"431129\":\"江华瑶族自治县\",\"431171\":\"永州经济技术开发区\",\"431172\":\"永州市金洞管理区\",\"431173\":\"永州市回龙圩管理区\"},\"431200\":{\"431201\":\"市辖区\",\"431202\":\"鹤城区\",\"431221\":\"中方县\",\"431222\":\"沅陵县\",\"431223\":\"辰溪县\",\"431224\":\"溆浦县\",\"431225\":\"会同县\",\"431226\":\"麻阳苗族自治县\",\"431227\":\"新晃侗族自治县\",\"431228\":\"芷江侗族自治县\",\"431229\":\"靖州苗族侗族自治县\",\"431230\":\"通道侗族自治县\",\"431271\":\"怀化市洪江管理区\",\"431281\":\"洪江市\"},\"431300\":{\"431301\":\"市辖区\",\"431302\":\"娄星区\",\"431321\":\"双峰县\",\"431322\":\"新化县\",\"431381\":\"冷水江市\",\"431382\":\"涟源市\"},\"433100\":{\"433101\":\"吉首市\",\"433122\":\"泸溪县\",\"433123\":\"凤凰县\",\"433124\":\"花垣县\",\"433125\":\"保靖县\",\"433126\":\"古丈县\",\"433127\":\"永顺县\",\"433130\":\"龙山县\",\"433173\":\"湖南永顺经济开发区\"},\"440000\":{\"440100\":\"广州市\",\"440200\":\"韶关市\",\"440300\":\"深圳市\",\"440400\":\"珠海市\",\"440500\":\"汕头市\",\"440600\":\"佛山市\",\"440700\":\"江门市\",\"440800\":\"湛江市\",\"440900\":\"茂名市\",\"441200\":\"肇庆市\",\"441300\":\"惠州市\",\"441400\":\"梅州市\",\"441500\":\"汕尾市\",\"441600\":\"河源市\",\"441700\":\"阳江市\",\"441800\":\"清远市\",\"441900\":\"东莞市\",\"442000\":\"中山市\",\"445100\":\"潮州市\",\"445200\":\"揭阳市\",\"445300\":\"云浮市\"},\"440100\":{\"440101\":\"市辖区\",\"440103\":\"荔湾区\",\"440104\":\"越秀区\",\"440105\":\"海珠区\",\"440106\":\"天河区\",\"440111\":\"白云区\",\"440112\":\"黄埔区\",\"440113\":\"番禺区\",\"440114\":\"花都区\",\"440115\":\"南沙区\",\"440117\":\"从化区\",\"440118\":\"增城区\"},\"440200\":{\"440201\":\"市辖区\",\"440203\":\"武江区\",\"440204\":\"浈江区\",\"440205\":\"曲江区\",\"440222\":\"始兴县\",\"440224\":\"仁化县\",\"440229\":\"翁源县\",\"440232\":\"乳源瑶族自治县\",\"440233\":\"新丰县\",\"440281\":\"乐昌市\",\"440282\":\"南雄市\"},\"440300\":{\"440301\":\"市辖区\",\"440303\":\"罗湖区\",\"440304\":\"福田区\",\"440305\":\"南山区\",\"440306\":\"宝安区\",\"440307\":\"龙岗区\",\"440308\":\"盐田区\",\"440309\":\"龙华区\",\"440310\":\"坪山区\",\"440311\":\"光明区\"},\"440400\":{\"440401\":\"市辖区\",\"440402\":\"香洲区\",\"440403\":\"斗门区\",\"440404\":\"金湾区\"},\"440500\":{\"440501\":\"市辖区\",\"440507\":\"龙湖区\",\"440511\":\"金平区\",\"440512\":\"濠江区\",\"440513\":\"潮阳区\",\"440514\":\"潮南区\",\"440515\":\"澄海区\",\"440523\":\"南澳县\"},\"440600\":{\"440601\":\"市辖区\",\"440604\":\"禅城区\",\"440605\":\"南海区\",\"440606\":\"顺德区\",\"440607\":\"三水区\",\"440608\":\"高明区\"},\"440700\":{\"440701\":\"市辖区\",\"440703\":\"蓬江区\",\"440704\":\"江海区\",\"440705\":\"新会区\",\"440781\":\"台山市\",\"440783\":\"开平市\",\"440784\":\"鹤山市\",\"440785\":\"恩平市\"},\"440800\":{\"440801\":\"市辖区\",\"440802\":\"赤坎区\",\"440803\":\"霞山区\",\"440804\":\"坡头区\",\"440811\":\"麻章区\",\"440823\":\"遂溪县\",\"440825\":\"徐闻县\",\"440881\":\"廉江市\",\"440882\":\"雷州市\",\"440883\":\"吴川市\"},\"440900\":{\"440901\":\"市辖区\",\"440902\":\"茂南区\",\"440904\":\"电白区\",\"440981\":\"高州市\",\"440982\":\"化州市\",\"440983\":\"信宜市\"},\"441200\":{\"441201\":\"市辖区\",\"441202\":\"端州区\",\"441203\":\"鼎湖区\",\"441204\":\"高要区\",\"441223\":\"广宁县\",\"441224\":\"怀集县\",\"441225\":\"封开县\",\"441226\":\"德庆县\",\"441284\":\"四会市\"},\"441300\":{\"441301\":\"市辖区\",\"441302\":\"惠城区\",\"441303\":\"惠阳区\",\"441322\":\"博罗县\",\"441323\":\"惠东县\",\"441324\":\"龙门县\"},\"441400\":{\"441401\":\"市辖区\",\"441402\":\"梅江区\",\"441403\":\"梅县区\",\"441422\":\"大埔县\",\"441423\":\"丰顺县\",\"441424\":\"五华县\",\"441426\":\"平远县\",\"441427\":\"蕉岭县\",\"441481\":\"兴宁市\"},\"441500\":{\"441501\":\"市辖区\",\"441502\":\"城区\",\"441521\":\"海丰县\",\"441523\":\"陆河县\",\"441581\":\"陆丰市\"},\"441600\":{\"441601\":\"市辖区\",\"441602\":\"源城区\",\"441621\":\"紫金县\",\"441622\":\"龙川县\",\"441623\":\"连平县\",\"441624\":\"和平县\",\"441625\":\"东源县\"},\"441700\":{\"441701\":\"市辖区\",\"441702\":\"江城区\",\"441704\":\"阳东区\",\"441721\":\"阳西县\",\"441781\":\"阳春市\"},\"441800\":{\"441801\":\"市辖区\",\"441802\":\"清城区\",\"441803\":\"清新区\",\"441821\":\"佛冈县\",\"441823\":\"阳山县\",\"441825\":\"连山壮族瑶族自治县\",\"441826\":\"连南瑶族自治县\",\"441881\":\"英德市\",\"441882\":\"连州市\"},\"441900\":{\"441900003\":\"东城街道\",\"441900004\":\"南城街道\",\"441900005\":\"万江街道\",\"441900006\":\"莞城街道\",\"441900101\":\"石碣镇\",\"441900102\":\"石龙镇\",\"441900103\":\"茶山镇\",\"441900104\":\"石排镇\",\"441900105\":\"企石镇\",\"441900106\":\"横沥镇\",\"441900107\":\"桥头镇\",\"441900108\":\"谢岗镇\",\"441900109\":\"东坑镇\",\"441900110\":\"常平镇\",\"441900111\":\"寮步镇\",\"441900112\":\"樟木头镇\",\"441900113\":\"大朗镇\",\"441900114\":\"黄江镇\",\"441900115\":\"清溪镇\",\"441900116\":\"塘厦镇\",\"441900117\":\"凤岗镇\",\"441900118\":\"大岭山镇\",\"441900119\":\"长安镇\",\"441900121\":\"虎门镇\",\"441900122\":\"厚街镇\",\"441900123\":\"沙田镇\",\"441900124\":\"道滘镇\",\"441900125\":\"洪梅镇\",\"441900126\":\"麻涌镇\",\"441900127\":\"望牛墩镇\",\"441900128\":\"中堂镇\",\"441900129\":\"高埗镇\",\"441900401\":\"松山湖\",\"441900402\":\"东莞港\",\"441900403\":\"东莞生态园\"},\"442000\":{\"442000001\":\"石岐街道\",\"442000002\":\"东区街道\",\"442000003\":\"中山港街道\",\"442000004\":\"西区街道\",\"442000005\":\"南区街道\",\"442000006\":\"五桂山街道\",\"442000100\":\"小榄镇\",\"442000101\":\"黄圃镇\",\"442000102\":\"民众镇\",\"442000103\":\"东凤镇\",\"442000104\":\"东升镇\",\"442000105\":\"古镇镇\",\"442000106\":\"沙溪镇\",\"442000107\":\"坦洲镇\",\"442000108\":\"港口镇\",\"442000109\":\"三角镇\",\"442000110\":\"横栏镇\",\"442000111\":\"南头镇\",\"442000112\":\"阜沙镇\",\"442000113\":\"南朗镇\",\"442000114\":\"三乡镇\",\"442000115\":\"板芙镇\",\"442000116\":\"大涌镇\",\"442000117\":\"神湾镇\"},\"445100\":{\"445101\":\"市辖区\",\"445102\":\"湘桥区\",\"445103\":\"潮安区\",\"445122\":\"饶平县\"},\"445200\":{\"445201\":\"市辖区\",\"445202\":\"榕城区\",\"445203\":\"揭东区\",\"445222\":\"揭西县\",\"445224\":\"惠来县\",\"445281\":\"普宁市\"},\"445300\":{\"445301\":\"市辖区\",\"445302\":\"云城区\",\"445303\":\"云安区\",\"445321\":\"新兴县\",\"445322\":\"郁南县\",\"445381\":\"罗定市\"},\"450000\":{\"450100\":\"南宁市\",\"450200\":\"柳州市\",\"450300\":\"桂林市\",\"450400\":\"梧州市\",\"450500\":\"北海市\",\"450600\":\"防城港市\",\"450700\":\"钦州市\",\"450800\":\"贵港市\",\"450900\":\"玉林市\",\"451000\":\"百色市\",\"451100\":\"贺州市\",\"451200\":\"河池市\",\"451300\":\"来宾市\",\"451400\":\"崇左市\"},\"450100\":{\"450101\":\"市辖区\",\"450102\":\"兴宁区\",\"450103\":\"青秀区\",\"450105\":\"江南区\",\"450107\":\"西乡塘区\",\"450108\":\"良庆区\",\"450109\":\"邕宁区\",\"450110\":\"武鸣区\",\"450123\":\"隆安县\",\"450124\":\"马山县\",\"450125\":\"上林县\",\"450126\":\"宾阳县\",\"450127\":\"横县\"},\"450200\":{\"450201\":\"市辖区\",\"450202\":\"城中区\",\"450203\":\"鱼峰区\",\"450204\":\"柳南区\",\"450205\":\"柳北区\",\"450206\":\"柳江区\",\"450222\":\"柳城县\",\"450223\":\"鹿寨县\",\"450224\":\"融安县\",\"450225\":\"融水苗族自治县\",\"450226\":\"三江侗族自治县\"},\"450300\":{\"450301\":\"市辖区\",\"450302\":\"秀峰区\",\"450303\":\"叠彩区\",\"450304\":\"象山区\",\"450305\":\"七星区\",\"450311\":\"雁山区\",\"450312\":\"临桂区\",\"450321\":\"阳朔县\",\"450323\":\"灵川县\",\"450324\":\"全州县\",\"450325\":\"兴安县\",\"450326\":\"永福县\",\"450327\":\"灌阳县\",\"450328\":\"龙胜各族自治县\",\"450329\":\"资源县\",\"450330\":\"平乐县\",\"450332\":\"恭城瑶族自治县\",\"450381\":\"荔浦市\"},\"450400\":{\"450401\":\"市辖区\",\"450403\":\"万秀区\",\"450405\":\"长洲区\",\"450406\":\"龙圩区\",\"450421\":\"苍梧县\",\"450422\":\"藤县\",\"450423\":\"蒙山县\",\"450481\":\"岑溪市\"},\"450500\":{\"450501\":\"市辖区\",\"450502\":\"海城区\",\"450503\":\"银海区\",\"450512\":\"铁山港区\",\"450521\":\"合浦县\"},\"450600\":{\"450601\":\"市辖区\",\"450602\":\"港口区\",\"450603\":\"防城区\",\"450621\":\"上思县\",\"450681\":\"东兴市\"},\"450700\":{\"450701\":\"市辖区\",\"450702\":\"钦南区\",\"450703\":\"钦北区\",\"450721\":\"灵山县\",\"450722\":\"浦北县\"},\"450800\":{\"450801\":\"市辖区\",\"450802\":\"港北区\",\"450803\":\"港南区\",\"450804\":\"覃塘区\",\"450821\":\"平南县\",\"450881\":\"桂平市\"},\"450900\":{\"450901\":\"市辖区\",\"450902\":\"玉州区\",\"450903\":\"福绵区\",\"450921\":\"容县\",\"450922\":\"陆川县\",\"450923\":\"博白县\",\"450924\":\"兴业县\",\"450981\":\"北流市\"},\"451000\":{\"451001\":\"市辖区\",\"451002\":\"右江区\",\"451003\":\"田阳区\",\"451022\":\"田东县\",\"451023\":\"平果县\",\"451024\":\"德保县\",\"451026\":\"那坡县\",\"451027\":\"凌云县\",\"451028\":\"乐业县\",\"451029\":\"田林县\",\"451030\":\"西林县\",\"451031\":\"隆林各族自治县\",\"451081\":\"靖西市\"},\"451100\":{\"451101\":\"市辖区\",\"451102\":\"八步区\",\"451103\":\"平桂区\",\"451121\":\"昭平县\",\"451122\":\"钟山县\",\"451123\":\"富川瑶族自治县\"},\"451200\":{\"451201\":\"市辖区\",\"451202\":\"金城江区\",\"451203\":\"宜州区\",\"451221\":\"南丹县\",\"451222\":\"天峨县\",\"451223\":\"凤山县\",\"451224\":\"东兰县\",\"451225\":\"罗城仫佬族自治县\",\"451226\":\"环江毛南族自治县\",\"451227\":\"巴马瑶族自治县\",\"451228\":\"都安瑶族自治县\",\"451229\":\"大化瑶族自治县\"},\"451300\":{\"451301\":\"市辖区\",\"451302\":\"兴宾区\",\"451321\":\"忻城县\",\"451322\":\"象州县\",\"451323\":\"武宣县\",\"451324\":\"金秀瑶族自治县\",\"451381\":\"合山市\"},\"451400\":{\"451401\":\"市辖区\",\"451402\":\"江州区\",\"451421\":\"扶绥县\",\"451422\":\"宁明县\",\"451423\":\"龙州县\",\"451424\":\"大新县\",\"451425\":\"天等县\",\"451481\":\"凭祥市\"},\"460000\":{\"460100\":\"海口市\",\"460200\":\"三亚市\",\"460300\":\"三沙市\",\"460400\":\"儋州市\",\"469000\":\"省直辖县级行政区划\"},\"460100\":{\"460101\":\"市辖区\",\"460105\":\"秀英区\",\"460106\":\"龙华区\",\"460107\":\"琼山区\",\"460108\":\"美兰区\"},\"460200\":{\"460201\":\"市辖区\",\"460202\":\"海棠区\",\"460203\":\"吉阳区\",\"460204\":\"天涯区\",\"460205\":\"崖州区\"},\"460300\":{\"460321\":\"西沙群岛\",\"460322\":\"南沙群岛\",\"460323\":\"中沙群岛的岛礁及其海域\"},\"460400\":{\"460400100\":\"那大镇\",\"460400101\":\"和庆镇\",\"460400102\":\"南丰镇\",\"460400103\":\"大成镇\",\"460400104\":\"雅星镇\",\"460400105\":\"兰洋镇\",\"460400106\":\"光村镇\",\"460400107\":\"木棠镇\",\"460400108\":\"海头镇\",\"460400109\":\"峨蔓镇\",\"460400111\":\"王五镇\",\"460400112\":\"白马井镇\",\"460400113\":\"中和镇\",\"460400114\":\"排浦镇\",\"460400115\":\"东成镇\",\"460400116\":\"新州镇\",\"460400499\":\"洋浦经济开发区\",\"460400500\":\"华南热作学院\"},\"469000\":{\"469001\":\"五指山市\",\"469002\":\"琼海市\",\"469005\":\"文昌市\",\"469006\":\"万宁市\",\"469007\":\"东方市\",\"469021\":\"定安县\",\"469022\":\"屯昌县\",\"469023\":\"澄迈县\",\"469024\":\"临高县\",\"469025\":\"白沙黎族自治县\",\"469026\":\"昌江黎族自治县\",\"469027\":\"乐东黎族自治县\",\"469028\":\"陵水黎族自治县\",\"469029\":\"保亭黎族苗族自治县\",\"469030\":\"琼中黎族苗族自治县\"},\"500000\":{\"500100\":\"市辖区\",\"500200\":\"县\"},\"500100\":{\"500101\":\"万州区\",\"500102\":\"涪陵区\",\"500103\":\"渝中区\",\"500104\":\"大渡口区\",\"500105\":\"江北区\",\"500106\":\"沙坪坝区\",\"500107\":\"九龙坡区\",\"500108\":\"南岸区\",\"500109\":\"北碚区\",\"500110\":\"綦江区\",\"500111\":\"大足区\",\"500112\":\"渝北区\",\"500113\":\"巴南区\",\"500114\":\"黔江区\",\"500115\":\"长寿区\",\"500116\":\"江津区\",\"500117\":\"合川区\",\"500118\":\"永川区\",\"500119\":\"南川区\",\"500120\":\"璧山区\",\"500151\":\"铜梁区\",\"500152\":\"潼南区\",\"500153\":\"荣昌区\",\"500154\":\"开州区\",\"500155\":\"梁平区\",\"500156\":\"武隆区\"},\"500200\":{\"500229\":\"城口县\",\"500230\":\"丰都县\",\"500231\":\"垫江县\",\"500233\":\"忠县\",\"500235\":\"云阳县\",\"500236\":\"奉节县\",\"500237\":\"巫山县\",\"500238\":\"巫溪县\",\"500240\":\"石柱土家族自治县\",\"500241\":\"秀山土家族苗族自治县\",\"500242\":\"酉阳土家族苗族自治县\",\"500243\":\"彭水苗族土家族自治县\"},\"510000\":{\"510100\":\"成都市\",\"510300\":\"自贡市\",\"510400\":\"攀枝花市\",\"510500\":\"泸州市\",\"510600\":\"德阳市\",\"510700\":\"绵阳市\",\"510800\":\"广元市\",\"510900\":\"遂宁市\",\"511000\":\"内江市\",\"511100\":\"乐山市\",\"511300\":\"南充市\",\"511400\":\"眉山市\",\"511500\":\"宜宾市\",\"511600\":\"广安市\",\"511700\":\"达州市\",\"511800\":\"雅安市\",\"511900\":\"巴中市\",\"512000\":\"资阳市\",\"513200\":\"阿坝藏族羌族自治州\",\"513300\":\"甘孜藏族自治州\",\"513400\":\"凉山彝族自治州\"},\"510100\":{\"510101\":\"市辖区\",\"510104\":\"锦江区\",\"510105\":\"青羊区\",\"510106\":\"金牛区\",\"510107\":\"武侯区\",\"510108\":\"成华区\",\"510112\":\"龙泉驿区\",\"510113\":\"青白江区\",\"510114\":\"新都区\",\"510115\":\"温江区\",\"510116\":\"双流区\",\"510117\":\"郫都区\",\"510121\":\"金堂县\",\"510129\":\"大邑县\",\"510131\":\"蒲江县\",\"510132\":\"新津县\",\"510181\":\"都江堰市\",\"510182\":\"彭州市\",\"510183\":\"邛崃市\",\"510184\":\"崇州市\",\"510185\":\"简阳市\"},\"510300\":{\"510301\":\"市辖区\",\"510302\":\"自流井区\",\"510303\":\"贡井区\",\"510304\":\"大安区\",\"510311\":\"沿滩区\",\"510321\":\"荣县\",\"510322\":\"富顺县\"},\"510400\":{\"510401\":\"市辖区\",\"510402\":\"东区\",\"510403\":\"西区\",\"510411\":\"仁和区\",\"510421\":\"米易县\",\"510422\":\"盐边县\"},\"510500\":{\"510501\":\"市辖区\",\"510502\":\"江阳区\",\"510503\":\"纳溪区\",\"510504\":\"龙马潭区\",\"510521\":\"泸县\",\"510522\":\"合江县\",\"510524\":\"叙永县\",\"510525\":\"古蔺县\"},\"510600\":{\"510601\":\"市辖区\",\"510603\":\"旌阳区\",\"510604\":\"罗江区\",\"510623\":\"中江县\",\"510681\":\"广汉市\",\"510682\":\"什邡市\",\"510683\":\"绵竹市\"},\"510700\":{\"510701\":\"市辖区\",\"510703\":\"涪城区\",\"510704\":\"游仙区\",\"510705\":\"安州区\",\"510722\":\"三台县\",\"510723\":\"盐亭县\",\"510725\":\"梓潼县\",\"510726\":\"北川羌族自治县\",\"510727\":\"平武县\",\"510781\":\"江油市\"},\"510800\":{\"510801\":\"市辖区\",\"510802\":\"利州区\",\"510811\":\"昭化区\",\"510812\":\"朝天区\",\"510821\":\"旺苍县\",\"510822\":\"青川县\",\"510823\":\"剑阁县\",\"510824\":\"苍溪县\"},\"510900\":{\"510901\":\"市辖区\",\"510903\":\"船山区\",\"510904\":\"安居区\",\"510921\":\"蓬溪县\",\"510923\":\"大英县\",\"510981\":\"射洪市\"},\"511000\":{\"511001\":\"市辖区\",\"511002\":\"市中区\",\"511011\":\"东兴区\",\"511024\":\"威远县\",\"511025\":\"资中县\",\"511071\":\"内江经济开发区\",\"511083\":\"隆昌市\"},\"511100\":{\"511101\":\"市辖区\",\"511102\":\"市中区\",\"511111\":\"沙湾区\",\"511112\":\"五通桥区\",\"511113\":\"金口河区\",\"511123\":\"犍为县\",\"511124\":\"井研县\",\"511126\":\"夹江县\",\"511129\":\"沐川县\",\"511132\":\"峨边彝族自治县\",\"511133\":\"马边彝族自治县\",\"511181\":\"峨眉山市\"},\"511300\":{\"511301\":\"市辖区\",\"511302\":\"顺庆区\",\"511303\":\"高坪区\",\"511304\":\"嘉陵区\",\"511321\":\"南部县\",\"511322\":\"营山县\",\"511323\":\"蓬安县\",\"511324\":\"仪陇县\",\"511325\":\"西充县\",\"511381\":\"阆中市\"},\"511400\":{\"511401\":\"市辖区\",\"511402\":\"东坡区\",\"511403\":\"彭山区\",\"511421\":\"仁寿县\",\"511423\":\"洪雅县\",\"511424\":\"丹棱县\",\"511425\":\"青神县\"},\"511500\":{\"511501\":\"市辖区\",\"511502\":\"翠屏区\",\"511503\":\"南溪区\",\"511504\":\"叙州区\",\"511523\":\"江安县\",\"511524\":\"长宁县\",\"511525\":\"高县\",\"511526\":\"珙县\",\"511527\":\"筠连县\",\"511528\":\"兴文县\",\"511529\":\"屏山县\"},\"511600\":{\"511601\":\"市辖区\",\"511602\":\"广安区\",\"511603\":\"前锋区\",\"511621\":\"岳池县\",\"511622\":\"武胜县\",\"511623\":\"邻水县\",\"511681\":\"华蓥市\"},\"511700\":{\"511701\":\"市辖区\",\"511702\":\"通川区\",\"511703\":\"达川区\",\"511722\":\"宣汉县\",\"511723\":\"开江县\",\"511724\":\"大竹县\",\"511725\":\"渠县\",\"511771\":\"达州经济开发区\",\"511781\":\"万源市\"},\"511800\":{\"511801\":\"市辖区\",\"511802\":\"雨城区\",\"511803\":\"名山区\",\"511822\":\"荥经县\",\"511823\":\"汉源县\",\"511824\":\"石棉县\",\"511825\":\"天全县\",\"511826\":\"芦山县\",\"511827\":\"宝兴县\"},\"511900\":{\"511901\":\"市辖区\",\"511902\":\"巴州区\",\"511903\":\"恩阳区\",\"511921\":\"通江县\",\"511922\":\"南江县\",\"511923\":\"平昌县\",\"511971\":\"巴中经济开发区\"},\"512000\":{\"512001\":\"市辖区\",\"512002\":\"雁江区\",\"512021\":\"安岳县\",\"512022\":\"乐至县\"},\"513200\":{\"513201\":\"马尔康市\",\"513221\":\"汶川县\",\"513222\":\"理县\",\"513223\":\"茂县\",\"513224\":\"松潘县\",\"513225\":\"九寨沟县\",\"513226\":\"金川县\",\"513227\":\"小金县\",\"513228\":\"黑水县\",\"513230\":\"壤塘县\",\"513231\":\"阿坝县\",\"513232\":\"若尔盖县\",\"513233\":\"红原县\"},\"513300\":{\"513301\":\"康定市\",\"513322\":\"泸定县\",\"513323\":\"丹巴县\",\"513324\":\"九龙县\",\"513325\":\"雅江县\",\"513326\":\"道孚县\",\"513327\":\"炉霍县\",\"513328\":\"甘孜县\",\"513329\":\"新龙县\",\"513330\":\"德格县\",\"513331\":\"白玉县\",\"513332\":\"石渠县\",\"513333\":\"色达县\",\"513334\":\"理塘县\",\"513335\":\"巴塘县\",\"513336\":\"乡城县\",\"513337\":\"稻城县\",\"513338\":\"得荣县\"},\"513400\":{\"513401\":\"西昌市\",\"513422\":\"木里藏族自治县\",\"513423\":\"盐源县\",\"513424\":\"德昌县\",\"513425\":\"会理县\",\"513426\":\"会东县\",\"513427\":\"宁南县\",\"513428\":\"普格县\",\"513429\":\"布拖县\",\"513430\":\"金阳县\",\"513431\":\"昭觉县\",\"513432\":\"喜德县\",\"513433\":\"冕宁县\",\"513434\":\"越西县\",\"513435\":\"甘洛县\",\"513436\":\"美姑县\",\"513437\":\"雷波县\"},\"520000\":{\"520100\":\"贵阳市\",\"520200\":\"六盘水市\",\"520300\":\"遵义市\",\"520400\":\"安顺市\",\"520500\":\"毕节市\",\"520600\":\"铜仁市\",\"522300\":\"黔西南布依族苗族自治州\",\"522600\":\"黔东南苗族侗族自治州\",\"522700\":\"黔南布依族苗族自治州\"},\"520100\":{\"520101\":\"市辖区\",\"520102\":\"南明区\",\"520103\":\"云岩区\",\"520111\":\"花溪区\",\"520112\":\"乌当区\",\"520113\":\"白云区\",\"520115\":\"观山湖区\",\"520121\":\"开阳县\",\"520122\":\"息烽县\",\"520123\":\"修文县\",\"520181\":\"清镇市\"},\"520200\":{\"520201\":\"钟山区\",\"520203\":\"六枝特区\",\"520221\":\"水城县\",\"520281\":\"盘州市\"},\"520300\":{\"520301\":\"市辖区\",\"520302\":\"红花岗区\",\"520303\":\"汇川区\",\"520304\":\"播州区\",\"520322\":\"桐梓县\",\"520323\":\"绥阳县\",\"520324\":\"正安县\",\"520325\":\"道真仡佬族苗族自治县\",\"520326\":\"务川仡佬族苗族自治县\",\"520327\":\"凤冈县\",\"520328\":\"湄潭县\",\"520329\":\"余庆县\",\"520330\":\"习水县\",\"520381\":\"赤水市\",\"520382\":\"仁怀市\"},\"520400\":{\"520401\":\"市辖区\",\"520402\":\"西秀区\",\"520403\":\"平坝区\",\"520422\":\"普定县\",\"520423\":\"镇宁布依族苗族自治县\",\"520424\":\"关岭布依族苗族自治县\",\"520425\":\"紫云苗族布依族自治县\"},\"520500\":{\"520501\":\"市辖区\",\"520502\":\"七星关区\",\"520521\":\"大方县\",\"520522\":\"黔西县\",\"520523\":\"金沙县\",\"520524\":\"织金县\",\"520525\":\"纳雍县\",\"520526\":\"威宁彝族回族苗族自治县\",\"520527\":\"赫章县\"},\"520600\":{\"520601\":\"市辖区\",\"520602\":\"碧江区\",\"520603\":\"万山区\",\"520621\":\"江口县\",\"520622\":\"玉屏侗族自治县\",\"520623\":\"石阡县\",\"520624\":\"思南县\",\"520625\":\"印江土家族苗族自治县\",\"520626\":\"德江县\",\"520627\":\"沿河土家族自治县\",\"520628\":\"松桃苗族自治县\"},\"522300\":{\"522301\":\"兴义市\",\"522302\":\"兴仁市\",\"522323\":\"普安县\",\"522324\":\"晴隆县\",\"522325\":\"贞丰县\",\"522326\":\"望谟县\",\"522327\":\"册亨县\",\"522328\":\"安龙县\"},\"522600\":{\"522601\":\"凯里市\",\"522622\":\"黄平县\",\"522623\":\"施秉县\",\"522624\":\"三穗县\",\"522625\":\"镇远县\",\"522626\":\"岑巩县\",\"522627\":\"天柱县\",\"522628\":\"锦屏县\",\"522629\":\"剑河县\",\"522630\":\"台江县\",\"522631\":\"黎平县\",\"522632\":\"榕江县\",\"522633\":\"从江县\",\"522634\":\"雷山县\",\"522635\":\"麻江县\",\"522636\":\"丹寨县\"},\"522700\":{\"522701\":\"都匀市\",\"522702\":\"福泉市\",\"522722\":\"荔波县\",\"522723\":\"贵定县\",\"522725\":\"瓮安县\",\"522726\":\"独山县\",\"522727\":\"平塘县\",\"522728\":\"罗甸县\",\"522729\":\"长顺县\",\"522730\":\"龙里县\",\"522731\":\"惠水县\",\"522732\":\"三都水族自治县\"},\"530000\":{\"530100\":\"昆明市\",\"530300\":\"曲靖市\",\"530400\":\"玉溪市\",\"530500\":\"保山市\",\"530600\":\"昭通市\",\"530700\":\"丽江市\",\"530800\":\"普洱市\",\"530900\":\"临沧市\",\"532300\":\"楚雄彝族自治州\",\"532500\":\"红河哈尼族彝族自治州\",\"532600\":\"文山壮族苗族自治州\",\"532800\":\"西双版纳傣族自治州\",\"532900\":\"大理白族自治州\",\"533100\":\"德宏傣族景颇族自治州\",\"533300\":\"怒江傈僳族自治州\",\"533400\":\"迪庆藏族自治州\"},\"530100\":{\"530101\":\"市辖区\",\"530102\":\"五华区\",\"530103\":\"盘龙区\",\"530111\":\"官渡区\",\"530112\":\"西山区\",\"530113\":\"东川区\",\"530114\":\"呈贡区\",\"530115\":\"晋宁区\",\"530124\":\"富民县\",\"530125\":\"宜良县\",\"530126\":\"石林彝族自治县\",\"530127\":\"嵩明县\",\"530128\":\"禄劝彝族苗族自治县\",\"530129\":\"寻甸回族彝族自治县\",\"530181\":\"安宁市\"},\"530300\":{\"530301\":\"市辖区\",\"530302\":\"麒麟区\",\"530303\":\"沾益区\",\"530304\":\"马龙区\",\"530322\":\"陆良县\",\"530323\":\"师宗县\",\"530324\":\"罗平县\",\"530325\":\"富源县\",\"530326\":\"会泽县\",\"530381\":\"宣威市\"},\"530400\":{\"530401\":\"市辖区\",\"530402\":\"红塔区\",\"530403\":\"江川区\",\"530422\":\"澄江县\",\"530423\":\"通海县\",\"530424\":\"华宁县\",\"530425\":\"易门县\",\"530426\":\"峨山彝族自治县\",\"530427\":\"新平彝族傣族自治县\",\"530428\":\"元江哈尼族彝族傣族自治县\"},\"530500\":{\"530501\":\"市辖区\",\"530502\":\"隆阳区\",\"530521\":\"施甸县\",\"530523\":\"龙陵县\",\"530524\":\"昌宁县\",\"530581\":\"腾冲市\"},\"530600\":{\"530601\":\"市辖区\",\"530602\":\"昭阳区\",\"530621\":\"鲁甸县\",\"530622\":\"巧家县\",\"530623\":\"盐津县\",\"530624\":\"大关县\",\"530625\":\"永善县\",\"530626\":\"绥江县\",\"530627\":\"镇雄县\",\"530628\":\"彝良县\",\"530629\":\"威信县\",\"530681\":\"水富市\"},\"530700\":{\"530701\":\"市辖区\",\"530702\":\"古城区\",\"530721\":\"玉龙纳西族自治县\",\"530722\":\"永胜县\",\"530723\":\"华坪县\",\"530724\":\"宁蒗彝族自治县\"},\"530800\":{\"530801\":\"市辖区\",\"530802\":\"思茅区\",\"530821\":\"宁洱哈尼族彝族自治县\",\"530822\":\"墨江哈尼族自治县\",\"530823\":\"景东彝族自治县\",\"530824\":\"景谷傣族彝族自治县\",\"530825\":\"镇沅彝族哈尼族拉祜族自治县\",\"530826\":\"江城哈尼族彝族自治县\",\"530827\":\"孟连傣族拉祜族佤族自治县\",\"530828\":\"澜沧拉祜族自治县\",\"530829\":\"西盟佤族自治县\"},\"530900\":{\"530901\":\"市辖区\",\"530902\":\"临翔区\",\"530921\":\"凤庆县\",\"530922\":\"云县\",\"530923\":\"永德县\",\"530924\":\"镇康县\",\"530925\":\"双江拉祜族佤族布朗族傣族自治县\",\"530926\":\"耿马傣族佤族自治县\",\"530927\":\"沧源佤族自治县\"},\"532300\":{\"532301\":\"楚雄市\",\"532322\":\"双柏县\",\"532323\":\"牟定县\",\"532324\":\"南华县\",\"532325\":\"姚安县\",\"532326\":\"大姚县\",\"532327\":\"永仁县\",\"532328\":\"元谋县\",\"532329\":\"武定县\",\"532331\":\"禄丰县\"},\"532500\":{\"532501\":\"个旧市\",\"532502\":\"开远市\",\"532503\":\"蒙自市\",\"532504\":\"弥勒市\",\"532523\":\"屏边苗族自治县\",\"532524\":\"建水县\",\"532525\":\"石屏县\",\"532527\":\"泸西县\",\"532528\":\"元阳县\",\"532529\":\"红河县\",\"532530\":\"金平苗族瑶族傣族自治县\",\"532531\":\"绿春县\",\"532532\":\"河口瑶族自治县\"},\"532600\":{\"532601\":\"文山市\",\"532622\":\"砚山县\",\"532623\":\"西畴县\",\"532624\":\"麻栗坡县\",\"532625\":\"马关县\",\"532626\":\"丘北县\",\"532627\":\"广南县\",\"532628\":\"富宁县\"},\"532800\":{\"532801\":\"景洪市\",\"532822\":\"勐海县\",\"532823\":\"勐腊县\"},\"532900\":{\"532901\":\"大理市\",\"532922\":\"漾濞彝族自治县\",\"532923\":\"祥云县\",\"532924\":\"宾川县\",\"532925\":\"弥渡县\",\"532926\":\"南涧彝族自治县\",\"532927\":\"巍山彝族回族自治县\",\"532928\":\"永平县\",\"532929\":\"云龙县\",\"532930\":\"洱源县\",\"532931\":\"剑川县\",\"532932\":\"鹤庆县\"},\"533100\":{\"533102\":\"瑞丽市\",\"533103\":\"芒市\",\"533122\":\"梁河县\",\"533123\":\"盈江县\",\"533124\":\"陇川县\"},\"533300\":{\"533301\":\"泸水市\",\"533323\":\"福贡县\",\"533324\":\"贡山独龙族怒族自治县\",\"533325\":\"兰坪白族普米族自治县\"},\"533400\":{\"533401\":\"香格里拉市\",\"533422\":\"德钦县\",\"533423\":\"维西傈僳族自治县\"},\"540000\":{\"540100\":\"拉萨市\",\"540200\":\"日喀则市\",\"540300\":\"昌都市\",\"540400\":\"林芝市\",\"540500\":\"山南市\",\"540600\":\"那曲市\",\"542500\":\"阿里地区\"},\"540100\":{\"540101\":\"市辖区\",\"540102\":\"城关区\",\"540103\":\"堆龙德庆区\",\"540104\":\"达孜区\",\"540121\":\"林周县\",\"540122\":\"当雄县\",\"540123\":\"尼木县\",\"540124\":\"曲水县\",\"540127\":\"墨竹工卡县\",\"540171\":\"格尔木藏青工业园区\",\"540172\":\"拉萨经济技术开发区\",\"540173\":\"西藏文化旅游创意园区\",\"540174\":\"达孜工业园区\"},\"540200\":{\"540202\":\"桑珠孜区\",\"540221\":\"南木林县\",\"540222\":\"江孜县\",\"540223\":\"定日县\",\"540224\":\"萨迦县\",\"540225\":\"拉孜县\",\"540226\":\"昂仁县\",\"540227\":\"谢通门县\",\"540228\":\"白朗县\",\"540229\":\"仁布县\",\"540230\":\"康马县\",\"540231\":\"定结县\",\"540232\":\"仲巴县\",\"540233\":\"亚东县\",\"540234\":\"吉隆县\",\"540235\":\"聂拉木县\",\"540236\":\"萨嘎县\",\"540237\":\"岗巴县\"},\"540300\":{\"540302\":\"卡若区\",\"540321\":\"江达县\",\"540322\":\"贡觉县\",\"540323\":\"类乌齐县\",\"540324\":\"丁青县\",\"540325\":\"察雅县\",\"540326\":\"八宿县\",\"540327\":\"左贡县\",\"540328\":\"芒康县\",\"540329\":\"洛隆县\",\"540330\":\"边坝县\"},\"540400\":{\"540402\":\"巴宜区\",\"540421\":\"工布江达县\",\"540422\":\"米林县\",\"540423\":\"墨脱县\",\"540424\":\"波密县\",\"540425\":\"察隅县\",\"540426\":\"朗县\"},\"540500\":{\"540501\":\"市辖区\",\"540502\":\"乃东区\",\"540521\":\"扎囊县\",\"540522\":\"贡嘎县\",\"540523\":\"桑日县\",\"540524\":\"琼结县\",\"540525\":\"曲松县\",\"540526\":\"措美县\",\"540527\":\"洛扎县\",\"540528\":\"加查县\",\"540529\":\"隆子县\",\"540530\":\"错那县\",\"540531\":\"浪卡子县\"},\"540600\":{\"540602\":\"色尼区\",\"540621\":\"嘉黎县\",\"540622\":\"比如县\",\"540623\":\"聂荣县\",\"540624\":\"安多县\",\"540625\":\"申扎县\",\"540626\":\"索县\",\"540627\":\"班戈县\",\"540628\":\"巴青县\",\"540629\":\"尼玛县\",\"540630\":\"双湖县\"},\"542500\":{\"542521\":\"普兰县\",\"542522\":\"札达县\",\"542523\":\"噶尔县\",\"542524\":\"日土县\",\"542525\":\"革吉县\",\"542526\":\"改则县\",\"542527\":\"措勤县\"},\"610000\":{\"610100\":\"西安市\",\"610200\":\"铜川市\",\"610300\":\"宝鸡市\",\"610400\":\"咸阳市\",\"610500\":\"渭南市\",\"610600\":\"延安市\",\"610700\":\"汉中市\",\"610800\":\"榆林市\",\"610900\":\"安康市\",\"611000\":\"商洛市\"},\"610100\":{\"610101\":\"市辖区\",\"610102\":\"新城区\",\"610103\":\"碑林区\",\"610104\":\"莲湖区\",\"610111\":\"灞桥区\",\"610112\":\"未央区\",\"610113\":\"雁塔区\",\"610114\":\"阎良区\",\"610115\":\"临潼区\",\"610116\":\"长安区\",\"610117\":\"高陵区\",\"610118\":\"鄠邑区\",\"610122\":\"蓝田县\",\"610124\":\"周至县\"},\"610200\":{\"610201\":\"市辖区\",\"610202\":\"王益区\",\"610203\":\"印台区\",\"610204\":\"耀州区\",\"610222\":\"宜君县\"},\"610300\":{\"610301\":\"市辖区\",\"610302\":\"渭滨区\",\"610303\":\"金台区\",\"610304\":\"陈仓区\",\"610322\":\"凤翔县\",\"610323\":\"岐山县\",\"610324\":\"扶风县\",\"610326\":\"眉县\",\"610327\":\"陇县\",\"610328\":\"千阳县\",\"610329\":\"麟游县\",\"610330\":\"凤县\",\"610331\":\"太白县\"},\"610400\":{\"610401\":\"市辖区\",\"610402\":\"秦都区\",\"610403\":\"杨陵区\",\"610404\":\"渭城区\",\"610422\":\"三原县\",\"610423\":\"泾阳县\",\"610424\":\"乾县\",\"610425\":\"礼泉县\",\"610426\":\"永寿县\",\"610428\":\"长武县\",\"610429\":\"旬邑县\",\"610430\":\"淳化县\",\"610431\":\"武功县\",\"610481\":\"兴平市\",\"610482\":\"彬州市\"},\"610500\":{\"610501\":\"市辖区\",\"610502\":\"临渭区\",\"610503\":\"华州区\",\"610522\":\"潼关县\",\"610523\":\"大荔县\",\"610524\":\"合阳县\",\"610525\":\"澄城县\",\"610526\":\"蒲城县\",\"610527\":\"白水县\",\"610528\":\"富平县\",\"610581\":\"韩城市\",\"610582\":\"华阴市\"},\"610600\":{\"610601\":\"市辖区\",\"610602\":\"宝塔区\",\"610603\":\"安塞区\",\"610621\":\"延长县\",\"610622\":\"延川县\",\"610625\":\"志丹县\",\"610626\":\"吴起县\",\"610627\":\"甘泉县\",\"610628\":\"富县\",\"610629\":\"洛川县\",\"610630\":\"宜川县\",\"610631\":\"黄龙县\",\"610632\":\"黄陵县\",\"610681\":\"子长市\"},\"610700\":{\"610701\":\"市辖区\",\"610702\":\"汉台区\",\"610703\":\"南郑区\",\"610722\":\"城固县\",\"610723\":\"洋县\",\"610724\":\"西乡县\",\"610725\":\"勉县\",\"610726\":\"宁强县\",\"610727\":\"略阳县\",\"610728\":\"镇巴县\",\"610729\":\"留坝县\",\"610730\":\"佛坪县\"},\"610800\":{\"610801\":\"市辖区\",\"610802\":\"榆阳区\",\"610803\":\"横山区\",\"610822\":\"府谷县\",\"610824\":\"靖边县\",\"610825\":\"定边县\",\"610826\":\"绥德县\",\"610827\":\"米脂县\",\"610828\":\"佳县\",\"610829\":\"吴堡县\",\"610830\":\"清涧县\",\"610831\":\"子洲县\",\"610881\":\"神木市\"},\"610900\":{\"610901\":\"市辖区\",\"610902\":\"汉滨区\",\"610921\":\"汉阴县\",\"610922\":\"石泉县\",\"610923\":\"宁陕县\",\"610924\":\"紫阳县\",\"610925\":\"岚皋县\",\"610926\":\"平利县\",\"610927\":\"镇坪县\",\"610928\":\"旬阳县\",\"610929\":\"白河县\"},\"611000\":{\"611001\":\"市辖区\",\"611002\":\"商州区\",\"611021\":\"洛南县\",\"611022\":\"丹凤县\",\"611023\":\"商南县\",\"611024\":\"山阳县\",\"611025\":\"镇安县\",\"611026\":\"柞水县\"},\"620000\":{\"620100\":\"兰州市\",\"620200\":\"嘉峪关市\",\"620300\":\"金昌市\",\"620400\":\"白银市\",\"620500\":\"天水市\",\"620600\":\"武威市\",\"620700\":\"张掖市\",\"620800\":\"平凉市\",\"620900\":\"酒泉市\",\"621000\":\"庆阳市\",\"621100\":\"定西市\",\"621200\":\"陇南市\",\"622900\":\"临夏回族自治州\",\"623000\":\"甘南藏族自治州\"},\"620100\":{\"620101\":\"市辖区\",\"620102\":\"城关区\",\"620103\":\"七里河区\",\"620104\":\"西固区\",\"620105\":\"安宁区\",\"620111\":\"红古区\",\"620121\":\"永登县\",\"620122\":\"皋兰县\",\"620123\":\"榆中县\",\"620171\":\"兰州新区\"},\"620200\":{\"620201\":\"市辖区\"},\"620300\":{\"620301\":\"市辖区\",\"620302\":\"金川区\",\"620321\":\"永昌县\"},\"620400\":{\"620401\":\"市辖区\",\"620402\":\"白银区\",\"620403\":\"平川区\",\"620421\":\"靖远县\",\"620422\":\"会宁县\",\"620423\":\"景泰县\"},\"620500\":{\"620501\":\"市辖区\",\"620502\":\"秦州区\",\"620503\":\"麦积区\",\"620521\":\"清水县\",\"620522\":\"秦安县\",\"620523\":\"甘谷县\",\"620524\":\"武山县\",\"620525\":\"张家川回族自治县\"},\"620600\":{\"620601\":\"市辖区\",\"620602\":\"凉州区\",\"620621\":\"民勤县\",\"620622\":\"古浪县\",\"620623\":\"天祝藏族自治县\"},\"620700\":{\"620701\":\"市辖区\",\"620702\":\"甘州区\",\"620721\":\"肃南裕固族自治县\",\"620722\":\"民乐县\",\"620723\":\"临泽县\",\"620724\":\"高台县\",\"620725\":\"山丹县\"},\"620800\":{\"620801\":\"市辖区\",\"620802\":\"崆峒区\",\"620821\":\"泾川县\",\"620822\":\"灵台县\",\"620823\":\"崇信县\",\"620825\":\"庄浪县\",\"620826\":\"静宁县\",\"620881\":\"华亭市\"},\"620900\":{\"620901\":\"市辖区\",\"620902\":\"肃州区\",\"620921\":\"金塔县\",\"620922\":\"瓜州县\",\"620923\":\"肃北蒙古族自治县\",\"620924\":\"阿克塞哈萨克族自治县\",\"620981\":\"玉门市\",\"620982\":\"敦煌市\"},\"621000\":{\"621001\":\"市辖区\",\"621002\":\"西峰区\",\"621021\":\"庆城县\",\"621022\":\"环县\",\"621023\":\"华池县\",\"621024\":\"合水县\",\"621025\":\"正宁县\",\"621026\":\"宁县\",\"621027\":\"镇原县\"},\"621100\":{\"621101\":\"市辖区\",\"621102\":\"安定区\",\"621121\":\"通渭县\",\"621122\":\"陇西县\",\"621123\":\"渭源县\",\"621124\":\"临洮县\",\"621125\":\"漳县\",\"621126\":\"岷县\"},\"621200\":{\"621201\":\"市辖区\",\"621202\":\"武都区\",\"621221\":\"成县\",\"621222\":\"文县\",\"621223\":\"宕昌县\",\"621224\":\"康县\",\"621225\":\"西和县\",\"621226\":\"礼县\",\"621227\":\"徽县\",\"621228\":\"两当县\"},\"622900\":{\"622901\":\"临夏市\",\"622921\":\"临夏县\",\"622922\":\"康乐县\",\"622923\":\"永靖县\",\"622924\":\"广河县\",\"622925\":\"和政县\",\"622926\":\"东乡族自治县\",\"622927\":\"积石山保安族东乡族撒拉族自治县\"},\"623000\":{\"623001\":\"合作市\",\"623021\":\"临潭县\",\"623022\":\"卓尼县\",\"623023\":\"舟曲县\",\"623024\":\"迭部县\",\"623025\":\"玛曲县\",\"623026\":\"碌曲县\",\"623027\":\"夏河县\"},\"630000\":{\"630100\":\"西宁市\",\"630200\":\"海东市\",\"632200\":\"海北藏族自治州\",\"632300\":\"黄南藏族自治州\",\"632500\":\"海南藏族自治州\",\"632600\":\"果洛藏族自治州\",\"632700\":\"玉树藏族自治州\",\"632800\":\"海西蒙古族藏族自治州\"},\"630100\":{\"630101\":\"市辖区\",\"630102\":\"城东区\",\"630103\":\"城中区\",\"630104\":\"城西区\",\"630105\":\"城北区\",\"630121\":\"大通回族土族自治县\",\"630122\":\"湟中县\",\"630123\":\"湟源县\"},\"630200\":{\"630202\":\"乐都区\",\"630203\":\"平安区\",\"630222\":\"民和回族土族自治县\",\"630223\":\"互助土族自治县\",\"630224\":\"化隆回族自治县\",\"630225\":\"循化撒拉族自治县\"},\"632200\":{\"632221\":\"门源回族自治县\",\"632222\":\"祁连县\",\"632223\":\"海晏县\",\"632224\":\"刚察县\"},\"632300\":{\"632321\":\"同仁县\",\"632322\":\"尖扎县\",\"632323\":\"泽库县\",\"632324\":\"河南蒙古族自治县\"},\"632500\":{\"632521\":\"共和县\",\"632522\":\"同德县\",\"632523\":\"贵德县\",\"632524\":\"兴海县\",\"632525\":\"贵南县\"},\"632600\":{\"632621\":\"玛沁县\",\"632622\":\"班玛县\",\"632623\":\"甘德县\",\"632624\":\"达日县\",\"632625\":\"久治县\",\"632626\":\"玛多县\"},\"632700\":{\"632701\":\"玉树市\",\"632722\":\"杂多县\",\"632723\":\"称多县\",\"632724\":\"治多县\",\"632725\":\"囊谦县\",\"632726\":\"曲麻莱县\"},\"632800\":{\"632801\":\"格尔木市\",\"632802\":\"德令哈市\",\"632803\":\"茫崖市\",\"632821\":\"乌兰县\",\"632822\":\"都兰县\",\"632823\":\"天峻县\",\"632857\":\"大柴旦行政委员会\"},\"640000\":{\"640100\":\"银川市\",\"640200\":\"石嘴山市\",\"640300\":\"吴忠市\",\"640400\":\"固原市\",\"640500\":\"中卫市\"},\"640100\":{\"640101\":\"市辖区\",\"640104\":\"兴庆区\",\"640105\":\"西夏区\",\"640106\":\"金凤区\",\"640121\":\"永宁县\",\"640122\":\"贺兰县\",\"640181\":\"灵武市\"},\"640200\":{\"640201\":\"市辖区\",\"640202\":\"大武口区\",\"640205\":\"惠农区\",\"640221\":\"平罗县\"},\"640300\":{\"640301\":\"市辖区\",\"640302\":\"利通区\",\"640303\":\"红寺堡区\",\"640323\":\"盐池县\",\"640324\":\"同心县\",\"640381\":\"青铜峡市\"},\"640400\":{\"640401\":\"市辖区\",\"640402\":\"原州区\",\"640422\":\"西吉县\",\"640423\":\"隆德县\",\"640424\":\"泾源县\",\"640425\":\"彭阳县\"},\"640500\":{\"640501\":\"市辖区\",\"640502\":\"沙坡头区\",\"640521\":\"中宁县\",\"640522\":\"海原县\"},\"650000\":{\"650100\":\"乌鲁木齐市\",\"650200\":\"克拉玛依市\",\"650400\":\"吐鲁番市\",\"650500\":\"哈密市\",\"652300\":\"昌吉回族自治州\",\"652700\":\"博尔塔拉蒙古自治州\",\"652800\":\"巴音郭楞蒙古自治州\",\"652900\":\"阿克苏地区\",\"653000\":\"克孜勒苏柯尔克孜自治州\",\"653100\":\"喀什地区\",\"653200\":\"和田地区\",\"654000\":\"伊犁哈萨克自治州\",\"654200\":\"塔城地区\",\"654300\":\"阿勒泰地区\",\"659000\":\"自治区直辖县级行政区划\"},\"650100\":{\"650101\":\"市辖区\",\"650102\":\"天山区\",\"650103\":\"沙依巴克区\",\"650104\":\"新市区\",\"650105\":\"水磨沟区\",\"650106\":\"头屯河区\",\"650107\":\"达坂城区\",\"650109\":\"米东区\",\"650121\":\"乌鲁木齐县\"},\"650200\":{\"650201\":\"市辖区\",\"650202\":\"独山子区\",\"650203\":\"克拉玛依区\",\"650204\":\"白碱滩区\",\"650205\":\"乌尔禾区\"},\"650400\":{\"650402\":\"高昌区\",\"650421\":\"鄯善县\",\"650422\":\"托克逊县\"},\"650500\":{\"650502\":\"伊州区\",\"650521\":\"巴里坤哈萨克自治县\",\"650522\":\"伊吾县\"},\"652300\":{\"652301\":\"昌吉市\",\"652302\":\"阜康市\",\"652323\":\"呼图壁县\",\"652324\":\"玛纳斯县\",\"652325\":\"奇台县\",\"652327\":\"吉木萨尔县\",\"652328\":\"木垒哈萨克自治县\"},\"652700\":{\"652701\":\"博乐市\",\"652702\":\"阿拉山口市\",\"652722\":\"精河县\",\"652723\":\"温泉县\"},\"652800\":{\"652801\":\"库尔勒市\",\"652822\":\"轮台县\",\"652823\":\"尉犁县\",\"652824\":\"若羌县\",\"652825\":\"且末县\",\"652826\":\"焉耆回族自治县\",\"652827\":\"和静县\",\"652828\":\"和硕县\",\"652829\":\"博湖县\",\"652871\":\"库尔勒经济技术开发区\"},\"652900\":{\"652901\":\"阿克苏市\",\"652922\":\"温宿县\",\"652923\":\"库车县\",\"652924\":\"沙雅县\",\"652925\":\"新和县\",\"652926\":\"拜城县\",\"652927\":\"乌什县\",\"652928\":\"阿瓦提县\",\"652929\":\"柯坪县\"},\"653000\":{\"653001\":\"阿图什市\",\"653022\":\"阿克陶县\",\"653023\":\"阿合奇县\",\"653024\":\"乌恰县\"},\"653100\":{\"653101\":\"喀什市\",\"653121\":\"疏附县\",\"653122\":\"疏勒县\",\"653123\":\"英吉沙县\",\"653124\":\"泽普县\",\"653125\":\"莎车县\",\"653126\":\"叶城县\",\"653127\":\"麦盖提县\",\"653128\":\"岳普湖县\",\"653129\":\"伽师县\",\"653130\":\"巴楚县\",\"653131\":\"塔什库尔干塔吉克自治县\"},\"653200\":{\"653201\":\"和田市\",\"653221\":\"和田县\",\"653222\":\"墨玉县\",\"653223\":\"皮山县\",\"653224\":\"洛浦县\",\"653225\":\"策勒县\",\"653226\":\"于田县\",\"653227\":\"民丰县\"},\"654000\":{\"654002\":\"伊宁市\",\"654003\":\"奎屯市\",\"654004\":\"霍尔果斯市\",\"654021\":\"伊宁县\",\"654022\":\"察布查尔锡伯自治县\",\"654023\":\"霍城县\",\"654024\":\"巩留县\",\"654025\":\"新源县\",\"654026\":\"昭苏县\",\"654027\":\"特克斯县\",\"654028\":\"尼勒克县\"},\"654200\":{\"654201\":\"塔城市\",\"654202\":\"乌苏市\",\"654221\":\"额敏县\",\"654223\":\"沙湾县\",\"654224\":\"托里县\",\"654225\":\"裕民县\",\"654226\":\"和布克赛尔蒙古自治县\"},\"654300\":{\"654301\":\"阿勒泰市\",\"654321\":\"布尔津县\",\"654322\":\"富蕴县\",\"654323\":\"福海县\",\"654324\":\"哈巴河县\",\"654325\":\"青河县\",\"654326\":\"吉木乃县\"},\"659000\":{\"659001\":\"石河子市\",\"659002\":\"阿拉尔市\",\"659003\":\"图木舒克市\",\"659004\":\"五家渠市\",\"659006\":\"铁门关市\"},\"710000\":{\"710100\":\"台北市\",\"710200\":\"高雄市\",\"710300\":\"基隆市\",\"710400\":\"台中市\",\"710500\":\"台南市\",\"710600\":\"新竹市\",\"710700\":\"嘉义市\"},\"710100\":{\"710101\":\"内湖区\",\"710102\":\"南港区\",\"710103\":\"中正区\",\"710104\":\"松山区\",\"710105\":\"信义区\",\"710106\":\"大安区\",\"710107\":\"中山区\",\"710108\":\"文山区\",\"710109\":\"大同区\",\"710110\":\"万华区\",\"710111\":\"士林区\",\"710112\":\"北投区\"},\"710200\":{\"710201\":\"新兴区\",\"710202\":\"前金区\",\"710203\":\"芩雅区\",\"710204\":\"盐埕区\",\"710205\":\"鼓山区\",\"710206\":\"旗津区\",\"710207\":\"前镇区\",\"710208\":\"三民区\",\"710209\":\"左营区\",\"710210\":\"楠梓区\",\"710211\":\"小港区\"},\"710300\":{\"710301\":\"仁爱区\",\"710302\":\"信义区\",\"710303\":\"中正区\",\"710304\":\"暖暖区\",\"710305\":\"安乐区\",\"710307\":\"七堵区\"},\"710400\":{\"710301\":\"中区\",\"710302\":\"东区\",\"710303\":\"南区\",\"710304\":\"西区\",\"710305\":\"北区\",\"710306\":\"北屯区\",\"710307\":\"西屯区\",\"710308\":\"南屯区\"},\"710500\":{\"710501\":\"中西区\",\"710502\":\"东区\",\"710503\":\"南区\",\"710504\":\"北区\",\"710505\":\"安平区\",\"710506\":\"安南区\"},\"710600\":{\"710601\":\"东区\",\"710602\":\"北区\",\"710603\":\"香山区\"},\"710700\":{\"710701\":\"东区\",\"710702\":\"西区\"},\"810000\":{\"810001\":\"中西區\",\"810002\":\"灣仔區\",\"810003\":\"東區\",\"810004\":\"南區\",\"810005\":\"油尖旺區\",\"810006\":\"深水埗區\",\"810007\":\"九龍城區\",\"810008\":\"黃大仙區\",\"810009\":\"觀塘區\",\"810010\":\"荃灣區\",\"810011\":\"屯門區\",\"810012\":\"元朗區\",\"810013\":\"北區\",\"810014\":\"大埔區\",\"810015\":\"西貢區\",\"810016\":\"沙田區\",\"810017\":\"葵青區\",\"810018\":\"離島區\"},\"820000\":{\"820001\":\"花地瑪堂區\",\"820002\":\"花王堂區\",\"820003\":\"望德堂區\",\"820004\":\"大堂區\",\"820005\":\"風順堂區\",\"820006\":\"嘉模堂區\",\"820007\":\"路氹填海區\",\"820008\":\"聖方濟各堂區\"}}')},function(t,e){var r;r=function(){return this}();try{r=r||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(r=window)}t.exports=r},function(t,e,r){\"use strict\";r.r(e),r.d(e,\"provinceAndCityData\",(function(){return rr})),r.d(e,\"regionData\",(function(){return er})),r.d(e,\"provinceAndCityDataPlus\",(function(){return gr})),r.d(e,\"regionDataPlus\",(function(){return Sr})),r.d(e,\"CodeToText\",(function(){return Ye})),r.d(e,\"TextToCode\",(function(){return Ze}));var n=r(1),o=r.n(n);var a=function(){this.__data__=[],this.size=0};var c=function(t,e){return t===e||t!=t&&e!=e};var i=function(t,e){for(var r=t.length;r--;)if(c(t[r][0],e))return r;return-1},u=Array.prototype.splice;var f=function(t){var e=this.__data__,r=i(e,t);return!(r<0)&&(r==e.length-1?e.pop():u.call(e,r,1),--this.size,!0)};var s=function(t){var e=this.__data__,r=i(e,t);return r<0?void 0:e[r][1]};var l=function(t){return i(this.__data__,t)>-1};var v=function(t,e){var r=this.__data__,n=i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function p(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991},Dt={};Dt[\"[object Float32Array]\"]=Dt[\"[object Float64Array]\"]=Dt[\"[object Int8Array]\"]=Dt[\"[object Int16Array]\"]=Dt[\"[object Int32Array]\"]=Dt[\"[object Uint8Array]\"]=Dt[\"[object Uint8ClampedArray]\"]=Dt[\"[object Uint16Array]\"]=Dt[\"[object Uint32Array]\"]=!0,Dt[\"[object Arguments]\"]=Dt[\"[object Array]\"]=Dt[\"[object ArrayBuffer]\"]=Dt[\"[object Boolean]\"]=Dt[\"[object DataView]\"]=Dt[\"[object Date]\"]=Dt[\"[object Error]\"]=Dt[\"[object Function]\"]=Dt[\"[object Map]\"]=Dt[\"[object Number]\"]=Dt[\"[object Object]\"]=Dt[\"[object RegExp]\"]=Dt[\"[object Set]\"]=Dt[\"[object String]\"]=Dt[\"[object WeakMap]\"]=!1;var kt=function(t){return At(t)&&Ut(t.length)&&!!Dt[F(t)]};var Et=function(t){return function(e){return t(e)}},Bt=r(2),Ct=Bt.a&&Bt.a.isTypedArray,$t=Ct?Et(Ct):kt,Vt=Object.prototype.hasOwnProperty;var Nt=function(t,e){var r=Ft(t),n=!r&&zt(t),o=!r&&!n&&Object(Mt.a)(t),a=!r&&!n&&!o&&$t(t),c=r||n||o||a,i=c?wt(t.length,String):[],u=i.length;for(var f in t)!e&&!Vt.call(t,f)||c&&(\"length\"==f||o&&(\"offset\"==f||\"parent\"==f)||a&&(\"buffer\"==f||\"byteLength\"==f||\"byteOffset\"==f)||It(f,u))||i.push(f);return i},Rt=Object.prototype;var Wt=function(t){var e=t&&t.constructor;return t===(\"function\"==typeof e&&e.prototype||Rt)};var Lt=function(t,e){return function(r){return t(e(r))}},qt=Lt(Object.keys,Object),Gt=Object.prototype.hasOwnProperty;var Jt=function(t){if(!Wt(t))return qt(t);var e=[];for(var r in Object(t))Gt.call(t,r)&&\"constructor\"!=r&&e.push(r);return e};var Ht=function(t){return null!=t&&Ut(t.length)&&!I(t)};var Kt=function(t){return Ht(t)?Nt(t):Jt(t)};var Qt=function(t,e){return t&&Ot(e,Kt(e),t)};var Xt=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e},Yt=Object.prototype.hasOwnProperty;var Zt=function(t){if(!M(t))return Xt(t);var e=Wt(t),r=[];for(var n in t)(\"constructor\"!=n||!e&&Yt.call(t,n))&&r.push(n);return r};var te=function(t){return Ht(t)?Nt(t,!0):Zt(t)};var ee=function(t,e){return t&&Ot(e,te(e),t)},re=r(7);var ne=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r {\r\n return API.POST('api/jobtype/list', params)\r\n },\r\n //新增职务\r\n createJobtype: params => {\r\n return API.POST('api/jobtype/create', params)\r\n },\r\n //编辑职务\r\n updateJobtype:params => {\r\n return API.POST('api/jobtype/update', params)\r\n },\r\n // 通讯录-员工职位\r\n getJobJobtypeAll: params => {\r\n return API.POST('api/jobtype/all', params)\r\n },\r\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!./AuxiliaryBlank.vue?vue&type=style&index=0&lang=scss&\"","export default {\r\n validPhoneNumber: function (rule, value, callback) {\r\n if (value.trim() === \"\") {\r\n if (rule.required) {\r\n callback(new Error(\"请输入手机号码\"));\r\n }else{\r\n callback();\r\n }\r\n } else {\r\n if (!/^1[3456789]\\d{9}$/.test(value)) {\r\n callback(new Error(\"请输入正确的手机号码\"));\r\n } else {\r\n callback();\r\n }\r\n }\r\n },\r\n validEmail: function (rule, value, callback) {\r\n if (value.trim() === \"\") {\r\n if (rule.required) {\r\n callback(new Error(\"请输入邮箱\"));\r\n }else{\r\n callback();\r\n }\r\n } else {\r\n if (!/^[A-Za-z\\d]+([-_.][A-Za-z\\d]+)*@([A-Za-z\\d]+[-.]){1,2}[A-Za-z\\d]{2,5}$/g.test(value)) {\r\n callback(new Error(\"请输入正确的邮箱\"));\r\n } else {\r\n callback();\r\n }\r\n }\r\n },\r\n\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"GoodsList\"},[(_vm.HotGoodsList.length > 0)?_c('div',{staticClass:\"dis_flex flex_wrap flex_x_between pad_10\"},_vm._l((_vm.HotGoodsList),function(item,index){return _c('div',{key:index,staticClass:\"commodity marbm_10 bcolor_f radius5 overflow_hidden content_box\"},[_c('el-image',{staticStyle:{\"height\":\"170px\",\"width\":\"170px\"},attrs:{\"src\":item.ImageURL,\"fit\":\"cover\"}}),(_vm.GoodsConf.some(function (val){ return val=='Name'; }))?_c('div',{staticClass:\"pad_h_10\"},[_c('div',{staticClass:\"martp_10 \"},[_c('el-tag',{attrs:{\"type\":\"warning\",\"size\":\"mini\"}},[_vm._v(_vm._s(item.GoodsTypeName))]),_c('span',{staticClass:\"color_333 font_14 marlt_5\"},[_vm._v(_vm._s(item.Name))])],1),_c('div',{staticClass:\"dis_flex martp_5\",staticStyle:{\"align-items\":\"flex-end\"}},[(_vm.GoodsConf.some(function (val){ return val=='Price'; }))?_c('div',{staticClass:\"color_red\"},[_vm._v(\"¥\"+_vm._s(_vm._f(\"NumFormat\")(item.Price)))]):_vm._e(),(_vm.GoodsConf.some(function (val){ return val=='OriginalText'; }))?_c('div',{staticClass:\"marlt_5 font_14 color_999\",staticStyle:{\"text-decoration\":\"line-through\"}},[_vm._v(_vm._s(item.OriginalText))]):_vm._e()])]):_vm._e()],1)}),0):_c('div',{staticClass:\"dis_flex flex_wrap flex_x_between pad_10\"},_vm._l((2),function(item,index){return _c('div',{key:index,staticClass:\"commodity marbm_10 bcolor_f radius5 overflow_hidden content_box\"},[_c('el-image',{staticStyle:{\"height\":\"170px\"},attrs:{\"src\":\"http://pic1.win4000.com/wallpaper/2019-01-23/5c481007f3822.jpg\"}}),_c('div',{staticClass:\"pad_h_10\"},[_c('div',{staticClass:\"martp_10 \"},[_c('el-tag',{attrs:{\"type\":\"warning\",\"size\":\"mini\"}},[_vm._v(\"产品\")]),_c('span',{staticClass:\"color_333 font_14 marlt_5\"},[_vm._v(\"此处卡项名称\")])],1),_vm._m(0,true)])],1)}),0)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dis_flex martp_5 font_14\",staticStyle:{\"align-items\":\"flex-end\"}},[_c('span',{staticClass:\"color_red\"},[_vm._v(\"¥999.00\")]),_c('span',{staticClass:\"marlt_5 color_999\",staticStyle:{\"text-decoration\":\"line-through\"}},[_vm._v(\"¥1000\")])])}]\n\nexport { render, staticRenderFns }"," \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GoodsList.vue?vue&type=template&id=543c77c4&\"\nimport script from \"./GoodsList.vue?vue&type=script&lang=js&\"\nexport * from \"./GoodsList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GoodsList.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}