{"version":3,"sources":["components/common/Notifications.js","components/common/Count.js","logo.svg","components/explorer/Chain.js","components/explorer/Entry.js","components/common/ExtID.js","components/common/Logo.js","components/common/ScrollToTop.js","components/common/History.js","components/common/Stats.js","components/explorer/DBlocks.js","components/explorer/Chains.js","components/explorer/Changelog.js","components/explorer/Error404.js","components/explorer/DBlock.js","components/explorer/EBlock.js","components/explorer/ABlock.js","components/explorer/FBlock.js","components/explorer/ECBlock.js","components/explorer/Address.js","components/explorer/Transaction.js","components/common/StatsFCT.js","components/explorer/Richlist.js","components/explorer/Pending.js","components/Explorer.js","App.js","serviceWorker.js","index.js"],"names":["NotifyNetworkError","message","error","Count","props","render","count","className","useEffect","module","exports","Title","Typography","Text","TabPane","Tabs","Chain","match","useState","chain","setChain","firstEntry","setFirstEntry","tableIsLoading","setTableIsLoading","entries","setEntries","totalEntries","setTotalEntries","pageSize","showSizeChanger","pageSizeOptions","current","pagination","setPagination","setError","isPending","setIsPending","type","setType","jsonDisabled","setJSONDisabled","source","axios","CancelToken","IsJsonString","str","JSON","parse","e","getChain","a","chainID","force","document","title","cancel","get","response","data","result","firstEntryResponse","Base64","decode","content","some","char","charCodeAt","pendingRequest","create","hide","loading","axiosRetry","retries","retryDelay","exponentialDelay","then","resp","catch","finally","ReactGA","pageview","window","location","pathname","getEntries","params","sorter","start","limit","showTotalStart","showTotalFinish","sort","order","chainId","cancelToken","token","total","showTotal","range","Math","min","isCancel","columns","Date","getTimezoneOffset","width","row","entryTime","moment","createdAt","entryBlockTime","duration","diff","asMinutes","format","local","dataIndex","entryHash","to","Provider","value","entryBlock","extIds","items","slice","map","item","compact","extra","length","push","useInterval","chainid","level","style","marginTop","copyable","bordered","column","size","Item","label","overlayClassName","disabled","status","color","textTransform","date","zeroPadTime","renderer","minutes","seconds","zeroPad","class","showIcon","Group","defaultValue","buttonStyle","onChange","event","target","Button","defaultActiveKey","activeKey","marginBottom","key","language","monoBlue","stringify","Buffer","from","toString","active","dataSource","rowKey","scroll","x","Entry","entry","setEntry","getEntry","EntryBlocks","keyMR","entryhash","parentDBlock","dbHeight","entryBlocks","unix","timestamp","Option","Select","ExtID","textBase64","children","textRaw","textHex","defaultType","setCurrent","substring","currentShort","setCurrentShort","cssClass","onClick","handleClick","Logo","src","logo","alt","ScrollToTop","useLocation","scrollTo","createBrowserHistory","Stats","chains","setChains","txs","setTxs","entriesChange","setEntriesChange","chainsChange","setChainsChange","txsChange","setTxsChange","entriesChangeClass","setEntriesChangeClass","chainsChangeClass","setChainsChangeClass","txsChangeClass","setTxsChangeClass","entriesChangeIcon","setEntriesChangeIcon","chainsChangeIcon","setChainsChangeIcon","txsChangeIcon","setTxsChangeIcon","prevEntries","change","round","ArrowUpOutlined","ArrowDownOutlined","prevChains","prevTxs","gutter","xs","sm","md","lg","xl","paragraph","replace","autoplay","DBlocks","dBlocks","setDBlocks","pendingTxs","setPendingTxs","pendingEntries","setPendingEntries","totalPendingTxs","setTotalPendingTxs","totalPendingEntries","setTotalPendingEntries","tableEntriesIsLoading","setTableEntriesIsLoading","tableTxsIsLoading","setTableTxsIsLoading","getDBlocks","Items","getPendingTxs","getPendingEntries","align","blockCount","columnsPendingEntries","fromNow","columnsPendingTxs","txId","max","totalInputs","totalOutputs","span","footer","block","Chains","searchExtIds","useRef","searchParams","URLSearchParams","search","has","setExtIds","history","useHistory","getChains","searchChains","append","ext","encode","post","filterDropdown","setSelectedKeys","selectedKeys","confirm","clearFilters","padding","ref","placeholder","onPressEnter","display","icon","SearchOutlined","filterIcon","filtered","backgroundColor","onFilter","record","onFilterDropdownVisibleChange","visible","setTimeout","select","defaultFilteredValue","Paragraph","Changelog","justifyContent","Error404","CloseCircleTwoTone","twoToneColor","href","DBlock","height","setHeight","totalEBlocks","setTotalEBlocks","dBlock","setDBlock","eBlocks","setEBlocks","btcAnchor","setBTCAnchor","ethAnchor","setETHAnchor","fctAnchor","setFCTAnchor","showBTCAnchor","setShowBTCAnchor","showETHAnchor","setShowETHAnchor","showFCTAnchor","setShowFCTAnchor","btcAnchorSelectedTab","setBTCAnchorSelectedTab","ethAnchorSelectedTab","setETHAnchorSelectedTab","fctAnchorSelectedTab","setFCTAnchorSelectedTab","getDBlock","anchors","find","blockchain","getEBlocks","keymr","nextDBlock","prevKeyMR","anchorsHeight","btc","txID","blockHash","anchorRecord","eth","fct","aBlock","lookupHash","ecBlock","headerHash","fBlock","EBlock","eBlock","setEBlock","getEBlock","blockSequenceNumber","nextEBlock","ABlock","SyntaxHighlighter","registerLanguage","json","setABlock","aEntries","setAEntries","getABlock","abEntries","nextABlock","prevABlock","renderItem","FBlock","setFBlock","getFBlock","b","seqNumber","totalOutECs","exchRate","fees","nextFBlock","fTxs","defaultPageSize","ECBlock","setECBlock","ecTxs","setECTxs","searchEntryHash","searchEC","getECBlock","filter","sig","millitime","filters","text","chainidhash","credits","includes","toLowerCase","keyToPublicEcAddress","ecpubkey","ecaddress","Address","addressInfo","setAddressInfo","addressTxs","setAddressTxs","totalTxs","setTotalTxs","getAddress","address","getAddressTxs","pubAddress","isValidFctAddress","getFilters","txIcon","pubKey","inputs","outputs","balanceChange","amount","outECs","balance","Transaction","fTx","setFTx","setInputs","setOutputs","setExchRate","getTransaction","addressType","allOutputs","parentFBlock","rcdHashToPublicFctAddress","currency","txid","marginRight","StatsFCT","supply","setSupply","burnt","setBurnt","callback","Richlist","richlist","setRichlist","getRichlist","indexOf","strokeColor","percent","Number","EPSILON","Pending","paginationTxs","setPaginationTxs","paginationEntries","setPaginationEntries","columnsTxs","columnsEntries","ReloadOutlined","Header","Layout","Content","Footer","Search","Input","Explorer","currentMenu","setCurrentMenu","info","setInfo","searchIsLoading","setSearchIsLoading","redirect","setRedirect","Form","useForm","searchForm","setAnchorsHeight","getDBlockByHeight","getTypeByHash","hash","getInfo","ExplorerSelect","name","rel","ExplorerSelectFooter","History","resetFields","delay","savedCallback","id","setInterval","clearInterval","margin","theme","mode","overlay","trigger","ghost","DownOutlined","form","initialValues","enterButton","onSearch","isnum","test","ishash","parseInt","isValidAddress","handleSearch","spellCheck","autoComplete","exact","path","component","placement","preventDefault","marginLeft","version","LoadingOutlined","apiHeight","blockchainHeight","defaults","baseURL","process","initialize","App","loaded","setLoaded","Boolean","hostname","ReactDOM","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister","console"],"mappings":"qGAAA,+DAGO,SAASA,IAGd,OAFAC,IAAQC,MAAM,kCAEP,kBAACF,EAAD,Q,gCCNT,oBAoBeG,IAlBD,SAAAC,GAEV,IAAMC,EAAS,SAACC,GACZ,OAAIA,GAAO,EACA,0BAAMC,UAAU,SAASD,GAEzB,MAQf,OAJAE,qBAAU,WACNH,EAAOD,EAAME,SACd,CAACF,EAAME,QAEHD,EAAOD,EAAME,S,oBChBxBG,EAAOC,QAAU,IAA0B,kC,0WCuCnCC,EAAgBC,IAAhBD,MAAOE,EAASD,IAATC,KACPC,EAAYC,IAAZD,QAyaOE,IAvaD,SAAC,GAAe,IAAbC,EAAY,EAAZA,MAAY,EAECC,mBAAS,MAFV,mBAElBC,EAFkB,KAEXC,EAFW,OAGWF,mBAAS,MAHpB,mBAGlBG,EAHkB,KAGNC,EAHM,OAImBJ,oBAAS,GAJ5B,mBAIlBK,EAJkB,KAIFC,EAJE,OAKKN,mBAAS,MALd,mBAKlBO,EALkB,KAKTC,EALS,QAMeR,oBAAU,GANzB,qBAMlBS,GANkB,MAMJC,GANI,SAOWV,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IAP/G,qBAOlBC,GAPkB,MAONC,GAPM,SAQChB,mBAAS,MARV,qBAQlBhB,GARkB,MAQXiC,GARW,SASSjB,oBAAS,GATlB,qBASlBkB,GATkB,MASPC,GATO,SAYDnB,mBADJ,SAXK,qBAYlBoB,GAZkB,MAYZC,GAZY,SAaerB,oBAAS,GAbxB,qBAalBsB,GAbkB,MAaJC,GAbI,MAgBnBC,GADcC,IAAMC,YACCF,SAU3B,SAASG,GAAaC,GACpB,IACIC,KAAKC,MAAMF,GACb,MAAOG,GACL,OAAO,EAEX,OAAO,EAGT,IAAMC,GAAQ,uCAAG,kDAAAC,EAAA,6DAAOC,EAAP,+BAAiBA,GAASC,IAA1B,oCAEXC,SAASC,MAAQ,SAAWH,EAAU,8BACtCV,GAAOc,SACPnB,IAAa,GACbjB,EAAS,MACTM,EAAW,MACXE,IAAiB,GACjBO,GAAS,MACTD,GAAc,eAAID,GAAL,CAAiBD,QAAS,MAT5B,kBAYcW,IAAMc,IAAI,oBAAoBL,GAZ5C,cAYHM,EAZG,OAaTrB,IAAa,GACbjB,EAASsC,EAASC,KAAKC,QAdd,UAewBjB,IAAMc,IAAI,oBAAoBL,EAAQ,kBAf9D,SAeHS,EAfG,QAgBcF,KAAKC,SAC1BtC,EAAcuC,EAAmBF,KAAKC,QAClC,YAAIE,SAAOC,OAAOF,EAAmBF,KAAKC,OAAOI,UAAUC,MAAK,SAAAC,GAAI,OAAIA,EAAKC,WAAW,GAAK,IAAOD,EAAKC,WAAW,GAAK,KAAOD,EAAKC,WAAW,GAAK,OACvJ5B,GAAQ,UAEJM,GAAaiB,SAAOC,OAAOF,EAAmBF,KAAKC,OAAOI,WAC5DvB,IAAgB,GAChBF,GAAQ,SAERA,GAAQ,UAzBL,kDA+BL,KAAMmB,SACJL,IACIe,EAAiBzB,IAAM0B,SACvBC,EAAOrE,IAAQsE,QAAQ,0BAA2B,GACxDC,IAAWJ,EAAgB,CAAEK,QAAS,EAAGC,WAAYF,IAAWG,mBAChEP,EAAeX,IAAI,4BAA4BL,GAC9CwB,MAAK,SAAAC,GACJxC,IAAa,GACbjB,EAASyD,EAAKlB,KAAKC,WAEpBkB,OAAM,SAAA5E,GACDA,EAAMwD,SACRvB,GAASjC,EAAMwD,SAASC,KAAKzD,OAE7BF,iBAGH+E,SAAQ,WACPC,IAAQC,SAASC,OAAOC,SAASC,UACjCd,QAIFtE,cAtDK,0DAAH,qDA2DRqF,GAAU,uCAAG,sDAAAlC,EAAA,yDAAOmC,EAAP,+BAAgBrD,GAAhB,uBAAqCsD,EAArC,uBACfP,IAAQC,SAASC,OAAOC,SAASC,UACjC5D,GAAkB,GAEdgE,EAAQ,EACRC,EAAQ,GACRC,EAAiB,EACjBC,EAAkB,GAClBC,EAAO,OAEPN,IACAE,GAASF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAClC4D,EAAQH,EAAOzD,SACf6D,GAAkBJ,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EACpD8D,EAAkBL,EAAOtD,QAAQsD,EAAOzD,WAGxC0D,EAjBW,sBAkBLA,EAAOM,MAlBF,OAmBJ,WAnBI,QAsBJ,YAtBI,gCAoBLD,EAAO,MApBF,oCAuBLA,EAAO,OAvBF,wDA6BUjD,IAAMc,IAAI,oBAAoBtC,EAAM2E,QAAQ,WAAY,CAAER,OAAQ,CAAEE,MAAOA,EAAOC,MAAOA,EAAOG,KAAMA,GAAQG,YAAarD,GAAOsD,QA7B5I,QA6BPtC,EA7BO,OA8BbhC,EAAWgC,EAASC,KAAKC,QACzB1B,GAAc,eAAID,GAAL,CAAiBD,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,gBAAqBT,EAArB,YAAuCU,KAAKC,IAAI3C,EAASC,KAAKsC,MAAON,GAArE,eAA4FjC,EAASC,KAAKsC,WACpQrE,GAAgB8B,EAASC,KAAKsC,OAhCjB,mDAmCP,KAAMvC,SACJ,KAAMA,SAASC,KAAKzD,OACpBD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAG/ByC,IAAM2D,SAAN,OACDtG,cAzCG,QA6CfwB,GAAkB,GA7CH,2DAAH,qDAgDV+E,GAAU,CACZ,CACIhD,MAAO,oBAAqB,IAAIiD,MAAOC,oBAAsB,GAAM,IACnElG,UAAW,OACXgF,QAAQ,EACRmB,MAAO,GACPrG,OAAQ,SAACsG,GACP,IAAIC,EAAYC,IAAOF,EAAIG,WACvBC,EAAiBF,IAAOF,EAAII,gBAEhC,OADWF,IAAOG,SAASJ,EAAUK,KAAKF,IAAiBG,YAChD,GAEP,8BAAM,kBAAC,IAAD,CAAQC,OAAO,mBAAmBC,OAAK,GAAET,EAAIG,YAIrD,8BAAM,kBAAC,IAAD,CAAQK,OAAO,mBAAmBC,OAAK,GAAET,EAAII,mBAI3D,CACIxD,MAAO,aACP8D,UAAW,YACX9G,UAAW,OACXF,OAAQ,SAACiH,GAAD,OACJ,kBAAC,IAAD,CAAMC,GAAI,YAAYD,GAClB,kBAAC,IAAYE,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH+G,KAIb,CACE/D,MAAO,cACP8D,UAAW,aACX9G,UAAW,OACXF,OAAQ,SAACqH,GAAD,OACJ,kBAAC,IAAD,CAAMH,GAAI,YAAYG,GAClB,kBAAC,IAAYF,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHmH,KAIb,CACInE,MAAO,eACP8D,UAAW,SACXhH,OAAQ,SAACsH,GACP,GAAe,OAAXA,EAAiB,CACnB,IAAIC,EAAQD,EAAOE,MAAM,EAAE,GAAGC,KAAI,SAACC,GAAD,OAAU,kBAAC,IAAD,CAAOC,SAAO,GAAED,MACxDE,EAAQN,EAAOO,OAAO,EAI1B,OAHID,EAAQ,GACVL,EAAMO,KAAK,kBAAC,IAAD,CAAK5H,UAAU,aAAf,IAA6B0H,EAA7B,aAEN,8BAAOL,GAEd,OAAO,QA2BjB,OArBAQ,aAAY,WACVlF,GAASjC,EAAMqE,OAAO+C,SAAS,KAC9BjG,GAAY,IAAO,MAEtB5B,qBAAU,WACFW,IAAUiB,IACViD,OAEL,CAAClE,IAEJX,qBAAU,WACR0C,GAASjC,EAAMqE,OAAO+C,SAAS,KAC9B,CAACpH,EAAMqE,OAAO+C,UAEjB7H,qBAAU,WAER,OAAO,WACLkC,GAAOc,YAER,IAGC,6BACI,kBAAC7C,EAAD,CAAO2H,MAAO,GAAd,SACA,kBAAC3H,EAAD,CAAO2H,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAO+C,SACzGlH,EACG,6BACI,kBAACR,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,cAMA,kBAAC,IAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,IAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,kDAAiD,kBAAC,IAAD,QAArK,aAAN,IAA+O,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACpQtF,EAAM2F,UACL,0BAAMvG,UAAU,QAAO,kBAAC,IAAD,CAAQ4G,OAAO,mBAAmBC,OAAK,GAAEjG,EAAM2F,YAEtE,kBAACjG,EAAD,CAAMmI,UAAQ,GAAd,QAGN,kBAAC,IAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wCAAiC,kBAAC,IAAD,QAArJ,SAAN,QACtB,0BAAMhD,UAAU,kBAAkBY,EAAM2E,UAE5C,kBAAC,IAAa+C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0CAAmC,kBAAC,IAAD,QAAvJ,YACV,cAAjBpC,EAAM8H,OACL,kBAAC,IAAD,CAASF,iBAAiB,mBAAmBxF,MAAM,iCACjD,kBAAC,IAAD,CAAK2F,MAAM,QAAQX,MAAO,CAACY,cAAe,cAAc,kBAAC,IAAY3B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAAnH,cAGF,6BACA,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,8CACjD,kBAAC,IAAD,CAAK2F,MAAM,OAAOX,MAAO,CAACY,cAAe,cAAc,kBAAC,IAAY3B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAAeA,UAAW,kBAA5I,YAEF,kBAACM,EAAD,CAAMyB,KAAK,aAAX,aAAyB,kBAAC,IAAD,CAAW8G,KAAM5C,KAAKxD,MAAM7B,EAAM2F,WAAa,IAAQuC,YAAa,EAAGC,SA9OpG,SAAC,GAA0B,IAAxBC,EAAuB,EAAvBA,QAASC,EAAc,EAAdA,QACpC,OAAO,8BAAOC,YAAQF,GAAf,IAA0BE,YAAQD,WAmPrBpH,GAqGA,KAnGF,6BAEA,kBAACzB,EAAD,CAAO2H,MAAO,GACZ,8BACA,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFF,eAKA,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,wBACxC,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0IACjD,kBAAC,IAAD,UAMLpC,EAAMwG,OACH,yBAAKpH,UAAU,UACZY,EAAMwG,OAAOG,KAAI,SAACC,GAAD,OAAU,kBAAC,IAAD,KAAQA,OAGtC,yBAAK2B,MAAM,mBACT,kBAAC,IAAD,CAAOzJ,QAAQ,kBAAkBqC,KAAK,OAAOqH,UAAQ,KAI3D,kBAAChJ,EAAD,CAAO2H,MAAO,GACZ,8BACA,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFF,cAKA,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,wBACxC,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0DACjD,kBAAC,IAAD,UAMLlC,EACC,6BACCA,EAAW2C,QACV,6BACA,kBAAC,IAAM4F,MAAP,CAAaC,aA7SjB,QA6S4CpC,MAAOnF,GAAMwH,YAAY,QAAQvJ,UAAU,aAAawJ,SAtSnG,SAAAC,GACnBzH,GAAQyH,EAAMC,OAAOxC,SAsSG,kBAAC,IAAMyC,OAAP,CAAczC,MAAM,QAAQlH,UAAU,cAAtC,SACA,kBAAC,IAAM2J,OAAP,CAAczC,MAAM,OAAOlH,UAAU,YAAYyI,SAAUxG,IAA3D,QACA,kBAAC,IAAM0H,OAAP,CAAczC,MAAM,SAASlH,UAAU,eAAvC,UACA,kBAAC,IAAM2J,OAAP,CAAczC,MAAM,MAAMlH,UAAU,YAApC,QAGF,kBAAC,IAAD,CAAM4J,iBApTV,QAoTyCC,UAAW9H,GAAM/B,UAAU,gBAAgBgI,MAAO,CAACC,UAAW,GAAI6B,aAAc,KACnH,kBAACvJ,EAAD,CAASwJ,IAAI,SACX,yBAAK/J,UAAU,qBAAoB,kBAACM,EAAD,CAAM4H,UAAQ,GAAE3E,SAAOC,OAAO1C,EAAW2C,YAE9E,kBAAClD,EAAD,CAASwJ,IAAI,QACT9H,GAAsK,KAArJ,kBAAC,IAAD,CAAmB+H,SAAS,OAAOhC,MAAOiC,KAAWzH,KAAK0H,UAAU1H,KAAKC,MAAMc,SAAOC,OAAO1C,EAAW2C,UAAW,KAAM,KAE9I,kBAAClD,EAAD,CAASwJ,IAAI,UACX,yBAAK/J,UAAU,0BAAyB,kBAACM,EAAD,CAAM4H,UAAQ,GAAEpH,EAAW2C,WAErE,kBAAClD,EAAD,CAASwJ,IAAI,OACX,yBAAK/J,UAAU,0BAAyB,kBAACM,EAAD,CAAM4H,UAAQ,GAAEiC,EAAOC,KAAKtJ,EAAW2C,QAAS,UAAU4G,SAAS,YAK/G,yBAAKlB,MAAM,mBACT,kBAAC,IAAD,CAAOzJ,QAAQ,aAAaqC,KAAK,OAAOqH,UAAQ,MAKpD,yBAAKD,MAAM,mBACT,kBAAC,IAAD,CAAUmB,QAAM,KAIpB,kBAAClK,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,UAKE,kBAAC,IAAD,CAAOD,MAAOqB,IAA8B,KAG9C,kBAAC,IAAD,CACImJ,WAAYrJ,EACZ8E,QAASA,GACTtE,WAAYA,GACZ8I,OAAO,YACPxG,QAAShD,EACTwI,SAAU1E,GACV2F,OAAQ,CAAEC,EAAG,mBAWrB,6BACK/K,GACG,yBAAKwJ,MAAM,mBACP,kBAAC,IAAD,CAAOzJ,QAASC,GAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAChJ,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,cAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAClK,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAClK,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAClK,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,WAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,W,wVCna5ClK,EAAgBC,IAAhBD,MAAOE,EAASD,IAATC,KACPC,EAAYC,IAAZD,QA+SOoK,IA7SD,SAAC,GAAe,IAAbjK,EAAY,EAAZA,MAAY,EAECC,mBAAS,MAFV,mBAElBiK,EAFkB,KAEXC,EAFW,OAGClK,mBAAS,MAHV,mBAGlBhB,EAHkB,KAGXiC,EAHW,OAMDjB,mBADJ,SALK,mBAMlBoB,EANkB,KAMZC,EANY,OAOerB,oBAAS,GAPxB,mBAOlBsB,EAPkB,KAOJC,EAPI,OAQSvB,oBAAS,GARlB,mBAQlBkB,EARkB,KAQPC,EARO,KAkBzB,SAASQ,GAAaC,GACpB,IACIC,KAAKC,MAAMF,GACb,MAAOG,GACL,OAAO,EAEX,OAAO,EAGT,IAAMoI,GAAQ,uCAAG,gDAAAlI,EAAA,6DAAOmE,EAAP,+BAAmBA,GAAWjE,IAA9B,oCAGXC,SAASC,MAAQ,SAAW+D,EAAY,8BACxCjF,GAAa,GACbI,GAAgB,GAChBF,EA5Bc,SA6Bd6I,EAAS,MACTjJ,EAAS,OARE,kBAWcQ,IAAMc,IAAI,qBAAqB6D,GAX7C,OAWH5D,EAXG,OAYT0H,EAAS1H,EAASC,KAAKC,QACvBvB,GAAa,GACTgB,GACEK,EAASC,KAAKC,OAAOI,UACnB,YAAIF,SAAOC,OAAOL,EAASC,KAAKC,OAAOI,UAAUC,MAAK,SAAAC,GAAI,OAAIA,EAAKC,WAAW,GAAK,IAAOD,EAAKC,WAAW,GAAK,KAAOD,EAAKC,WAAW,GAAK,OAC7I5B,EAAQ,UAEJM,GAAaiB,SAAOC,OAAOL,EAASC,KAAKC,OAAOI,WAClDvB,GAAgB,GAChBF,EAAQ,SAERA,EAAQ,UAvBP,kDA8BL,KAAMmB,SACFL,IACMe,EAAiBzB,IAAM0B,SACvBC,EAAOrE,IAAQsE,QAAQ,2BAA4B,GACzDC,IAAWJ,EAAgB,CAAEK,QAAS,EAAGC,WAAYF,IAAWG,mBAChEP,EAAeX,IAAI,6BAA6B6D,GAC/C1C,MAAK,SAAAC,GACJxC,GAAa,GACb+I,EAASvG,EAAKlB,KAAKC,QACfiB,EAAKlB,KAAKC,OAAOI,UACf,YAAIF,SAAOC,OAAOc,EAAKlB,KAAKC,OAAOI,UAAUC,MAAK,SAAAC,GAAI,OAAIA,EAAKC,WAAW,GAAK,IAAOD,EAAKC,WAAW,GAAK,KAAOD,EAAKC,WAAW,GAAK,OACzI5B,EAAQ,UAEJM,GAAaiB,SAAOC,OAAOc,EAAKlB,KAAKC,OAAOI,WAC9CvB,GAAgB,GAChBF,EAAQ,SAERA,EAAQ,aAKfuC,OAAM,SAAA5E,GACDA,EAAMwD,SACRvB,EAASjC,EAAMwD,SAASC,KAAKzD,OAE7BF,iBAGH+E,SAAQ,WACPT,QAINtE,cAhEK,0DAAH,qDAqEd,SAASsL,GAAYlL,GACnB,IACMwH,EADOxH,EAAMuD,KACAmE,KAAI,SAACC,GAAD,OACrB,8BACA,kBAAC,IAAD,CAAMR,GAAI,YAAcQ,EAAKwD,OAC7B,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHwH,EAAKwD,OAEN,iCAGF,OACE,0BAAMhL,UAAU,kBAAkBqH,GAatC,OATAQ,aAAY,WACViD,GAASpK,EAAMqE,OAAOkG,WAAW,KAChCpJ,EAAY,IAAO,MAEtB5B,qBAAU,WACRwE,IAAQC,SAASC,OAAOC,SAASC,UACjCiG,GAASpK,EAAMqE,OAAOkG,WAAW,KAChC,CAACvK,EAAMqE,OAAOkG,YAGb,6BACI,kBAAC7K,EAAD,CAAO2H,MAAO,GAAd,SACA,kBAAC3H,EAAD,CAAO2H,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAOkG,WACzGL,EACG,6BACI,kBAACxK,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,cAMA,kBAAC,IAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,IAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wFAAuF,kBAAC,IAAD,QAA3M,SAAN,YACzB4H,EAAMM,aACD,0BAAMlL,UAAU,QACd,kBAAC,IAAD,CAAMgH,GAAI,YAAc4D,EAAMM,aAAaF,OACxCJ,EAAMM,aAAaC,WAIxB,kBAAC7K,EAAD,CAAMmI,UAAQ,GAAd,QAGN,kBAAC,IAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mDAAkD,kBAAC,IAAD,QAAtK,aAAN,IAAgP,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACtQ,0BAAMlG,UAAU,QACZ4K,EAAMQ,aAAgBR,EAAMQ,YAAYzD,OAAO,EAC/C,kBAAC,IAAD,CAAQ0D,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GACzC+D,EAAMQ,YAAY,GAAGE,WAGxB,kBAAC,IAAD,CAAQ1E,OAAO,mBAAmBC,OAAK,GACpC+D,EAAMrE,aAKjB,kBAAC,IAAa+B,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wCAAiC,kBAAC,IAAD,QAArJ,SAAN,UACtB,0BAAMhD,UAAU,kBAAkB4K,EAAM7D,YAE5C,kBAAC,IAAauB,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0CAAmC,kBAAC,IAAD,QAAvJ,YACV,cAAjB4H,EAAMlC,OACL,kBAAC,IAAD,CAASF,iBAAiB,mBAAmBxF,MAAM,iCACjD,kBAAC,IAAD,CAAK2F,MAAM,QAAQX,MAAO,CAACY,cAAe,cAAc,kBAAC,IAAY3B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAAnH,cAGF,6BACA,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,8CACjD,kBAAC,IAAD,CAAK2F,MAAM,OAAOX,MAAO,CAACY,cAAe,cAAc,kBAAC,IAAY3B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAAeA,UAAW,kBAA5I,YAEF,kBAACM,EAAD,CAAMyB,KAAK,aAAX,aAAyB,kBAAC,IAAD,CAAW8G,KAAM5C,KAAKxD,MAAMmI,EAAMrE,WAAa,IAAQuC,YAAa,EAAGC,SAnKpG,SAAC,GAA0B,IAAxBC,EAAuB,EAAvBA,QAASC,EAAc,EAAdA,QACpC,OAAO,8BAAOC,YAAQF,GAAf,IAA0BE,YAAQD,UAsKnB,kBAAC,IAAaX,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,6DAA4D,kBAAC,IAAD,QAAhL,SAAN,QACtB,0BAAMhD,UAAU,kBACZ,kBAAC,IAAD,CAAMgH,GAAI,WAAa4D,EAAMrF,SACzB,kBAAC,IAAY0B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH4K,EAAMrF,WAInB,kBAAC,IAAa+C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,uEAAsE,kBAAC,IAAD,QAA1L,eAC7B4H,EAAMQ,aAAeR,EAAMQ,YAAY,GACtC,kBAACL,GAAD,CAAa3H,KAAMwH,EAAMQ,cAEzB,kBAAC9K,EAAD,CAAMmI,UAAQ,GAAd,SAKR,kBAACrI,EAAD,CAAO2H,MAAO,GACZ,8BACA,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFF,eAKA,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,wBACxC,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0IACjD,kBAAC,IAAD,UAML4H,EAAMxD,OACH,yBAAKpH,UAAU,UACZ4K,EAAMxD,OAAOG,KAAI,SAACC,GAAD,OAAU,kBAAC,IAAD,KAAQA,OAGtC,yBAAK2B,MAAM,mBACT,kBAAC,IAAD,CAAOzJ,QAAQ,kBAAkBqC,KAAK,OAAOqH,UAAQ,KAI3D,kBAAChJ,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,WAOC4K,EAAMnH,QACL,6BACA,kBAAC,IAAM4F,MAAP,CAAaC,aAhOf,QAgO0CpC,MAAOnF,EAAMwH,YAAY,QAAQvJ,UAAU,aAAawJ,SAvNjG,SAAAC,GACnBzH,EAAQyH,EAAMC,OAAOxC,SAuNC,kBAAC,IAAMyC,OAAP,CAAczC,MAAM,QAAQlH,UAAU,cAAtC,SACA,kBAAC,IAAM2J,OAAP,CAAczC,MAAM,OAAOlH,UAAU,YAAYyI,SAAUxG,GAA3D,QACA,kBAAC,IAAM0H,OAAP,CAAczC,MAAM,SAASlH,UAAU,eAAvC,UACA,kBAAC,IAAM2J,OAAP,CAAczC,MAAM,MAAMlH,UAAU,YAApC,QAGF,kBAAC,IAAD,CAAM4J,iBAvOR,QAuOuCC,UAAW9H,EAAM/B,UAAU,gBAAgBgI,MAAO,CAACC,UAAW,KACjG,kBAAC1H,EAAD,CAASwJ,IAAI,SACX,yBAAK/J,UAAU,qBAAoB,kBAACM,EAAD,CAAM4H,UAAQ,GAAE3E,SAAOC,OAAOoH,EAAMnH,YAEzE,kBAAClD,EAAD,CAASwJ,IAAI,QACT9H,EAAiK,KAAhJ,kBAAC,IAAD,CAAmB+H,SAAS,OAAOhC,MAAOiC,KAAWzH,KAAK0H,UAAU1H,KAAKC,MAAMc,SAAOC,OAAOoH,EAAMnH,UAAW,KAAM,KAEzI,kBAAClD,EAAD,CAASwJ,IAAI,UACX,yBAAK/J,UAAU,0BAAyB,kBAACM,EAAD,CAAM4H,UAAQ,GAAE0C,EAAMnH,WAEhE,kBAAClD,EAAD,CAASwJ,IAAI,OACX,yBAAK/J,UAAU,0BAAyB,kBAACM,EAAD,CAAM4H,UAAQ,GAAEiC,EAAOC,KAAKQ,EAAMnH,QAAS,UAAU4G,SAAS,YAK1G,yBAAKlB,MAAM,mBACT,kBAAC,IAAD,CAAOzJ,QAAQ,aAAaqC,KAAK,OAAOqH,UAAQ,MAMxD,6BACKzJ,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,IAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAChJ,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,cAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAClK,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAClK,EAAD,CAAO2H,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,WAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,W,mQCtU5CiB,EAAWC,IAAXD,OACAjL,EAASD,IAATC,KAyFOmL,IAvFD,SAAA5L,GAEZ,IAAM6L,EAAa7L,EAAM8L,SACnBC,EAAUrI,SAAOC,OAAO3D,EAAM8L,UAC9BE,EAAU1B,EAAOC,KAAKvK,EAAM8L,SAAU,UAAUtB,SAAS,OAEzDyB,EAAe,YAAIF,GAASlI,MAAK,SAAAC,GAAI,OAAIA,EAAKC,WAAW,GAAK,IAAOD,EAAKC,WAAW,GAAK,KAAOD,EAAKC,WAAW,GAAK,OAAS,SAAW,QAN3H,EAOGjD,mBAASmL,GAPZ,mBAOd/J,EAPc,KAORC,EAPQ,OAQSrB,mBAAyB,WAAhBmL,EAA2BJ,EAAaE,GAR1D,mBAQdnK,EARc,KAQLsK,EARK,OASmBpL,mBAASc,EAAQkG,OAAS,GAAKlG,EAAQuK,UAAU,EAAE,IAAI,SAAMvK,GAThF,mBASdwK,EATc,KASAC,EATA,KAWjBC,EAAYtM,EAAM4H,QAAW,gBAAkB,GA+CnD,OACE,kBAAC,IAAM4B,MAAP,CAAa5B,SAAO,EAACzH,UAAW,eAAe+B,EAAK,IAAIoK,GACpDtM,EAAM4H,QAOR,kBAACnH,EAAD,CAAMN,UAAU,aAAaoM,QAAS,kBAvCtB,SAACrK,EAAM+J,GACzB,GAAoB,UAAhBA,EACF,OAAQ/J,GACN,IAAK,QACHC,EAAQ,UACRkK,EAAgBR,EAAW/D,OAAS,GAAK+D,EAAWM,UAAU,EAAE,IAAI,SAAMN,GAC1E,MACF,IAAK,SACH1J,EAAQ,OACRkK,EAAgBL,EAAQlE,OAAS,GAAKkE,EAAQG,UAAU,EAAE,IAAI,SAAMH,GACpE,MACF,IAAK,MACH7J,EAAQ,SACRkK,EAAgBN,EAAQjE,OAAS,GAAKiE,EAAQI,UAAU,EAAE,IAAI,SAAMJ,QAIxE,OAAQ7J,GACN,IAAK,SACHC,EAAQ,OACRkK,EAAgBL,EAAQlE,OAAS,GAAKkE,EAAQG,UAAU,EAAE,IAAI,SAAMH,GACpE,MACF,IAAK,MACH7J,EAAQ,UACRkK,EAAgBR,EAAW/D,OAAS,GAAK+D,EAAWM,UAAU,EAAE,IAAI,SAAMN,IAelCW,CAAYtK,EAAM+J,KAC3D/J,GAPH,kBAAC,IAAD,CAAQuH,aAAcwC,EAAa9L,UAAU,aAAawJ,SAhDzC,SAAAC,GAEnB,OADAzH,EAAQyH,GACAA,GACJ,IAAK,SACDsC,EAAWL,GACX,MACJ,IAAK,QACDK,EAAWH,GACX,MACJ,IAAK,MACDG,EAAWF,MAuCf,kBAACN,EAAD,CAAQrE,MAAM,SAAd,SACA,kBAACqE,EAAD,CAAQrE,MAAM,UAAd,UACA,kBAACqE,EAAD,CAAQrE,MAAM,OAAd,QAOArH,EAAM8L,SAAShE,OAAS,EACxB,kBAACrH,EAAD,CAAMN,UAAU,aAAakI,SAAWrI,EAAM4H,QAAuB,KAAb,YACtD5H,EAAM4H,QAGNwE,EAFAxK,GAMF,kBAACnB,EAAD,CAAMN,UAAU,yBAAyByI,UAAQ,GAAjD,a,+XChFO6D,MAJf,WACE,OAAO,yBAAKC,IAAKC,IAAMxM,UAAU,OAAOyM,IAAI,UCD/B,SAASC,IAAe,IAC7B7H,EAAa8H,cAAb9H,SAMR,OAJA5E,qBAAU,WACR0E,OAAOiI,SAAS,EAAG,KAClB,CAAC/H,IAEG,K,YCTMgI,gB,8FCkBPzM,EAAgBC,IAAhBD,MAAOE,EAASD,IAATC,KAiLAwM,GA/KD,SAAAjN,GAAU,IAAD,EAESc,oBAAU,GAFnB,mBAEdO,EAFc,KAELC,EAFK,OAGOR,oBAAU,GAHjB,mBAGdoM,EAHc,KAGNC,EAHM,OAICrM,oBAAU,GAJX,mBAIdsM,EAJc,KAITC,EAJS,OAKqBvM,mBAAS,GAL9B,mBAKdwM,EALc,KAKCC,EALD,OAMmBzM,mBAAS,GAN5B,mBAMd0M,EANc,KAMAC,EANA,OAOa3M,mBAAS,GAPtB,mBAOd4M,EAPc,KAOHC,EAPG,OAQ+B7M,mBAAS,KARxC,mBAQd8M,EARc,KAQMC,EARN,OAS6B/M,mBAAS,KATtC,mBASdgN,EATc,KASKC,EATL,OAUuBjN,mBAAS,KAVhC,mBAUdkN,EAVc,KAUEC,EAVF,OAW6BnN,mBAAS,MAXtC,mBAWdoN,GAXc,KAWKC,GAXL,QAY2BrN,mBAAS,MAZpC,qBAYdsN,GAZc,MAYIC,GAZJ,SAaqBvN,mBAAS,MAb9B,qBAadwN,GAbc,MAaCC,GAbD,MAgErB,OAFAnO,qBAAU,WA9CRmC,IAAMc,IAAI,mBACTmB,MAAK,SAASlB,GAKX,GAJAhC,EAAWgC,EAASC,KAAKC,OAAOnC,SAChC8L,EAAU7J,EAASC,KAAKC,OAAO0J,QAC/BG,EAAO/J,EAASC,KAAKC,OAAO4J,KAExB9J,EAASC,KAAKC,OAAOgL,YAAc,EAAG,CACtC,IAAIC,EAASzI,KAAK0I,MAAyE,KAAjEpL,EAASC,KAAKC,OAAOnC,QAAQiC,EAASC,KAAKC,OAAOgL,YAAY,GAAU,KAAO,IACzGjB,EAAiBkB,GACbA,EAAS,GACTZ,EAAsB,MACtBM,GAAqB,kBAACQ,EAAA,EAAD,QACdF,EAAS,IAChBlB,GAAyB,EAARkB,GACjBZ,EAAsB,QACtBM,GAAqB,kBAACS,EAAA,EAAD,QAG7B,GAAItL,EAASC,KAAKC,OAAOqL,WAAa,EAAG,CACrC,IAAIJ,EAASzI,KAAK0I,MAAuE,KAA/DpL,EAASC,KAAKC,OAAO0J,OAAO5J,EAASC,KAAKC,OAAOqL,WAAW,GAAU,KAAO,IACvGpB,EAAgBgB,GACZA,EAAS,GACTV,EAAqB,MACrBM,GAAoB,kBAACM,EAAA,EAAD,QACbF,EAAS,IAChBhB,GAAwB,EAARgB,GAChBV,EAAqB,QACrBM,GAAoB,kBAACO,EAAA,EAAD,QAG5B,GAAItL,EAASC,KAAKC,OAAOsL,QAAU,EAAG,CAClC,IAAIL,EAASzI,KAAK0I,MAAiE,KAAzDpL,EAASC,KAAKC,OAAO4J,IAAI9J,EAASC,KAAKC,OAAOsL,QAAQ,GAAU,KAAO,IACjGnB,EAAac,GACTA,EAAS,GACTR,EAAkB,MAClBM,GAAiB,kBAACI,EAAA,EAAD,QACVF,EAAS,IAChBd,GAAqB,EAARc,GACbR,EAAkB,QAClBM,GAAiB,kBAACK,EAAA,EAAD,cAOH,IAGxB,6BACE,kBAAC,IAAD,CAAKG,OAAQ,CAAC,GAAG,KACf,kBAAC,IAAD,CAAKC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GACnC,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYhI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,oCAAqC,kBAAC,IAAD,OAC/E,6BAFJ,WAGY,yCAEE,IAAbkB,EACG,kBAAC,IAAD,CAAUoJ,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC9O,EAAD,CAAO2H,MAAO,EAAG/H,UAAU,QAAQkB,EAAQmJ,WAAW8E,QAAQ,wBAAyB,MACvF,kBAAC7O,EAAD,CAAMN,UAAW,iBAAiByN,GAAqBM,GAAmBZ,EAA1E,cAKV,kBAAC,IAAD,CAAK0B,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GACnC,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYhI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAC3D,6BAFJ,iBAGkB,yCAEL,IAAZ+M,EACG,kBAAC,IAAD,CAAUzC,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC9O,EAAD,CAAO2H,MAAO,EAAG/H,UAAU,QAAQ+M,EAAO1C,WAAW8E,QAAQ,wBAAyB,MACtF,kBAAC7O,EAAD,CAAMN,UAAW,iBAAiB2N,GAAoBM,GAAkBZ,EAAxE,cAKV,kBAAC,IAAD,CAAKwB,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GACnC,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYhI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAC3D,6BAFJ,eAGgB,yCAEN,IAATiN,EACG,kBAAC,IAAD,CAAU3C,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC9O,EAAD,CAAO2H,MAAO,EAAG/H,UAAU,QAAQiN,EAAI5C,WAAW8E,QAAQ,wBAAyB,MACnF,kBAAC7O,EAAD,CAAMN,UAAW,iBAAiB6N,GAAiBM,GAAeZ,EAAlE,eAMZ,kBAAC,IAAD,CAAKqB,OAAQ,IACX,kBAAC,IAAD,CAAKC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GACpC,kBAAC,IAAD,CAAUG,UAAQ,GACd,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYnI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,oCAAqC,kBAAC,IAAD,OAC/E,6BAFJ,WAGY,yCAEE,IAAbkB,EACG,kBAAC,IAAD,CAAUoJ,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC9O,EAAD,CAAO2H,MAAO,EAAG/H,UAAU,QAAQkB,EAAQmJ,WAAW8E,QAAQ,wBAAyB,MACvF,kBAAC7O,EAAD,CAAMN,UAAW,iBAAiByN,GAAqBM,GAAmBZ,EAA1E,aAIR,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYlG,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAC3D,6BAFJ,iBAGkB,yCAEL,IAAZ+M,EACG,kBAAC,IAAD,CAAUzC,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC9O,EAAD,CAAO2H,MAAO,EAAG/H,UAAU,QAAQ+M,EAAO1C,WAAW8E,QAAQ,wBAAyB,MACtF,kBAAC7O,EAAD,CAAMN,UAAW,iBAAiB2N,GAAoBM,GAAkBZ,EAAxE,aAIR,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYpG,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAC3D,6BAFJ,eAGgB,yCAEN,IAATiN,EACG,kBAAC,IAAD,CAAU3C,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC9O,EAAD,CAAO2H,MAAO,EAAG/H,UAAU,QAAQiN,EAAI5C,WAAW8E,QAAQ,wBAAyB,MACnF,kBAAC7O,EAAD,CAAMN,UAAW,iBAAiB6N,GAAiBM,GAAeZ,EAAlE,kBC9JhBnN,GAAgBC,IAAhBD,MAAOE,GAASD,IAATC,KAkQA+O,GAhQC,WAAO,IAAD,EAEU1O,mBAAS,IAFnB,mBAEb2O,EAFa,KAEJC,EAFI,OAGwB5O,oBAAS,GAHjC,mBAGbK,EAHa,KAGGC,EAHH,OAIgBN,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IAJpH,mBAIbC,EAJa,KAIDC,EAJC,OAKgBhB,mBAAS,IALzB,mBAKb6O,EALa,KAKDC,EALC,OAMwB9O,mBAAS,IANjC,mBAMb+O,EANa,KAMGC,EANH,OAO0BhP,mBAAS,GAPnC,mBAObiP,EAPa,KAOIC,EAPJ,OAQkClP,mBAAS,GAR3C,mBAQbmP,EARa,KAQQC,EARR,OASsCpP,oBAAS,GAT/C,mBASbqP,EATa,KASUC,EATV,OAU8BtP,oBAAS,GAVvC,mBAUbuP,EAVa,KAUMC,GAVN,KAYdC,GAAU,uCAAG,0CAAAxN,EAAA,6DAAOmC,EAAP,+BAAgBrD,EACjC+C,IAAQC,SAASC,OAAOC,SAASC,UACjC5D,GAAkB,GAFD,kBAIQmB,IAAMc,IAAI,oBAAqB,CAAE6B,OAAQ,CAAEE,OAAQF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAU4D,MAAOH,EAAOzD,YAJ5G,OAIT6B,EAJS,OAKfoM,EAAWpM,EAASC,KAAKC,OAAOgN,OAChC1O,EAAc,eAAID,EAAL,CAAiBD,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,iBAAsBb,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EAAxD,YAA6DuE,KAAKC,IAAI3C,EAASC,KAAKsC,MAAOX,EAAOtD,QAAQsD,EAAOzD,UAAjH,eAAiI6B,EAASC,KAAKsC,WAN1R,kDAST,KAAMvC,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAZW,QAejBwB,GAAkB,GAfD,0DAAH,qDAkBVqP,GAAa,uCAAG,4BAAA1N,EAAA,+EAEKR,IAAMc,IAAI,kCAAmC,CAAE6B,OAAQ,CAAEG,MAAO,KAFrE,OAEZ/B,EAFY,OAGlBsM,EAActM,EAASC,KAAKC,OAAOgN,OACnCR,EAAmB1M,EAASC,KAAKsC,OAJf,gDAOZ,KAAMvC,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAVc,QAapB0Q,IAAqB,GAbD,yDAAH,qDAgBbI,GAAiB,uCAAG,4BAAA3N,EAAA,+EAECR,IAAMc,IAAI,4BAA6B,CAAE6B,OAAQ,CAAEG,MAAO,KAF3D,OAEhB/B,EAFgB,OAGtBwM,EAAkBxM,EAASC,KAAKC,OAAOgN,OACvCN,EAAuB5M,EAASC,KAAKsC,OAJf,gDAOhB,KAAMvC,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAVkB,QAaxBwQ,GAAyB,GAbD,yDAAH,qDAgBjBjK,GAAU,CACd,CACEhD,MAAO,SACP+G,IAAK,WACL/J,UAAW,OACXmG,MAAO,GACPrG,OAAQ,SAACsG,GAAD,OACN,kBAAC,IAAD,CAAMY,GAAI,YAAcZ,EAAI4E,OACzB5E,EAAI+E,YAIX,CACEnI,MAAO,oBAAqB,IAAIiD,MAAOC,oBAAsB,GAAM,IACnEY,UAAW,YACX9G,UAAW,OACXmG,MAAO,GACPrG,OAAQ,SAACwL,GAAD,OACN,8BAAM,kBAAC,IAAD,CAAQD,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAY,GAAVyE,MAGxD,CACEtI,MAAO,eACP8D,UAAW,QACX9G,UAAW,OACXF,OAAQ,SAACkL,GAAD,OACN,kBAAC,IAAD,CAAMhE,GAAI,YAAcgE,GACtB,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAEDgL,KAIP,CACEhI,MAAO,cACP8D,UAAW,eACX9G,UAAW,OACXwQ,MAAO,UAET,CACExN,MAAO,eACP8D,UAAW,aACX9G,UAAW,OACXwQ,MAAO,SACP1Q,OAAQ,SAAC2Q,GAAD,OACN,8BAAOA,EAAW,KAGtB,CACEzN,MAAO,UACP8D,UAAW,eACX9G,UAAW,OACXwQ,MAAO,WAILE,GAAwB,CAC5B,CACE1N,MAAO,yBACPlD,OAAQ,SAAC0H,GAAD,OACN,6BACA,8BACA,kBAAC,IAAD,CAAMR,GAAI,YAAcQ,EAAKT,UAAW/G,UAAU,QAChD,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAEDwH,EAAKT,YAGR,6BACA,8BAAM,kBAAC,GAAD,CAAMhF,KAAK,aAAY,kBAAC,IAAD,CAAQ4O,SAAO,GAAEnJ,EAAKjB,iBAMnDqK,GAAoB,CACxB,CACE5N,MAAO,8BACPlD,OAAQ,SAAC0H,GAAD,OACN,6BACA,8BACA,kBAAC,IAAD,CAAMR,GAAI,iBAAmBQ,EAAKqJ,KAAM7Q,UAAU,QAChD,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAEDwH,EAAKqJ,OAGR,6BACA,8BACE,kBAAC,GAAD,CAAM9O,KAAK,aAAY,kBAAC,IAAD,CAAQ4O,SAAO,GAAEnJ,EAAKjB,YAC7C,kBAAC,IAAD,CAASxE,KAAK,aACd,0BAAM/B,UAAU,QAAQ6F,KAAKiL,IAAItJ,EAAKuJ,YAAY,IAAWvJ,EAAKwJ,aAAa,KAA/E,kBAcR,OAPA/Q,qBAAU,WACR8C,SAASC,MAAQ,qCACjBoN,KACAG,KACAD,OACC,IAGD,6BAEE,yBAAKtQ,UAAU,4BACb,kBAAC,GAAD,OAGF,kBAAC,IAAD,CAAK4O,OAAQ,CAAC,GAAI,KAClB,kBAAC,IAAD,CAAKqC,KAAM,IAEX,kBAAC,GAAD,CAAOlJ,MAAO,GAAd,oBAEA,kBAAC,IAAD,CACEwC,WAAY+E,EACZtJ,QAASA,GACTtE,WAAYA,EACZ8I,OAAO,SACPxG,QAAShD,EACTwI,SAAU4G,GACV3F,OAAQ,CAAEC,EAAG,mBAMd4E,EAAQ3H,OAAS,EAClB,kBAAC,IAAD,CAAKiH,OAAQ,CAAC,GAAI,KAElB,kBAAC,IAAD,CAAKC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAEzC,kBAAC,GAAD,CAAOlH,MAAO,EAAGC,MAAO,CAAEC,UAAW,KACnC,kBAAC,IAAYhB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,mBAMA,yBAAKgI,MAAO,CAAEC,WAAY,GAAI6B,aAAc,KAC1C,kBAAC,GAAD,wEAIF,kBAAC,IAAD,CACES,WAAYmF,EACZ1J,QAAS0K,GACThP,YAAY,EACZ8I,OAAO,YACPxG,QAASgM,EACTvF,OAAQ,CAAEC,EAAG,eACbwG,OAAQ,kBAAM,kBAAC,IAAD,CAAMlK,GAAI,YAAY,kBAAC,IAAD,CAAQmK,OAAK,EAACpP,KAAK,aAAnB,+BAAwD,kBAAC,GAAD,CAAMA,KAAK,aAAX,IAAyB+N,EAAzB,WAK9F,kBAAC,IAAD,CAAKjB,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAEzC,kBAAC,GAAD,CAAOlH,MAAO,EAAGC,MAAO,CAAEC,UAAW,KACnC,kBAAC,IAAYhB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,wBAMA,yBAAKgI,MAAO,CAAEC,WAAY,GAAI6B,aAAc,KAC1C,kBAAC,GAAD,6EAIF,kBAAC,IAAD,CACES,WAAYiF,EACZxJ,QAAS4K,GACTlP,YAAY,EACZ8I,OAAO,OACPxG,QAASkM,EACTzF,OAAQ,CAAEC,EAAG,eACbwG,OAAQ,kBAAM,kBAAC,IAAD,CAAMlK,GAAI,YAAY,kBAAC,IAAD,CAAQmK,OAAK,EAACpP,KAAK,aAAnB,oCAA6D,kBAAC,GAAD,CAAMA,KAAK,aAAX,IAAyB6N,EAAzB,YAM/F,O,gDCxPFxP,GAAUC,IAAVD,MAgLOgR,GA9KA,SAAC,GAAkB,IAAhBxM,EAAe,EAAfA,SAAe,EAEHjE,mBAAS,IAFN,mBAExBoM,EAFwB,KAEhBC,EAFgB,OAGarM,oBAAS,GAHtB,mBAGxBK,EAHwB,KAGRC,EAHQ,OAIKN,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IAJzG,mBAIxBC,EAJwB,KAIZC,EAJY,KAKzB0P,EAAeC,iBAAO,MALG,EAMH3Q,oBAAS,WACnC,IAAI4Q,EAAe,IAAIC,gBAAgB5M,EAAS6M,QAChD,OAAIF,EAAaG,IAAI,MAAkC,KAA1BH,EAAarO,IAAI,KACrC,CAACqO,EAAarO,IAAI,MAEpB,MAXsB,mBAMxBkE,EANwB,KAMhBuK,EANgB,KAazBC,EAAUC,cAEVC,EAAS,uCAAG,0CAAAlP,EAAA,6DAAOmC,EAAP,+BAAgBrD,EAChCkQ,EAAQhK,KAAK,WACb7E,SAASC,MAAQ,oCACjB/B,GAAkB,GAHF,kBAKSmB,IAAMc,IAAI,mBAAoB,CAAE6B,OAAQ,CAAEE,OAAQF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAU4D,MAAOH,EAAOzD,YAL5G,OAKR6B,EALQ,OAMd6J,EAAU7J,EAASC,KAAKC,OAAOgN,OAC/B1O,EAAc,eAAID,EAAL,CAAiBD,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,iBAAsBb,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EAAxD,YAA6DuE,KAAKC,IAAI3C,EAASC,KAAKsC,MAAOX,EAAOtD,QAAQsD,EAAOzD,UAAjH,eAAiI6B,EAASC,KAAKsC,WAP3R,kDAUR,KAAMvC,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAbU,QAgBhBwB,GAAkB,GAhBF,0DAAH,qDAmBT8Q,EAAY,uCAAG,8CAAAnP,EAAA,6DAAOmC,EAAP,+BAAgBrD,GAC/B6P,EAAe,IAAIC,iBACVQ,OAAO,IAAK5K,EAAO,IAChCwK,EAAQhK,KAAK,WAAW2J,EAAalH,YACrCtH,SAASC,MAAQ,UAAUoE,EAAO,GAAG,8BACrCnG,GAAkB,GALC,UAObgR,EAAM,IACNrK,KAAKrE,UAAO2O,OAAO9K,IARN,UASMhF,IAAM+P,KAAK,0BAA2B,CAAE/K,OAAQ6K,GAAO,CAAElN,OAAQ,CAAEE,OAAQF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAU4D,MAAOH,EAAOzD,YATlI,QASX6B,EATW,OAUjB6J,EAAU7J,EAASC,KAAKC,OAAOgN,OAC/B1O,EAAc,eAAID,EAAL,CAAiBD,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,iBAAsBb,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EAAxD,YAA6DuE,KAAKC,IAAI3C,EAASC,KAAKsC,MAAOX,EAAOtD,QAAQsD,EAAOzD,UAAjH,eAAiI6B,EAASC,KAAKsC,WAXxR,kDAcX,KAAMvC,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAjBa,QAoBnBwB,GAAkB,GApBC,0DAAH,qDA+BZ+E,EAAU,CACd,CACEhD,MAAO,oBAAqB,IAAIiD,MAAOC,oBAAsB,GAAM,IACnEY,UAAW,YACX9G,UAAW,OACXmG,MAAO,GACPrG,OAAQ,SAACyG,GAAD,OACN,8BAAM,kBAAC,IAAD,CAAQK,OAAO,mBAAmBC,OAAK,GAAEN,MAGnD,CACEvD,MAAO,WACP8D,UAAW,UACX9G,UAAW,OACXF,OAAQ,SAACyF,GAAD,OACN,kBAAC,IAAD,CAAMyB,GAAI,WAAazB,GACrB,kBAAC,IAAY0B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAEDuF,KAIP,CACEvC,MAAO,eACP8D,UAAW,SACX9G,UAAW,eACXoS,eAAgB,YAA+D,IAA5DC,EAA2D,EAA3DA,gBAAiBC,EAA0C,EAA1CA,aAAcC,EAA4B,EAA5BA,QAA4B,EAAnBC,aACzD,OACA,yBAAKxK,MAAO,CAAEyK,QAAS,IACrB,kBAAC,IAAD,CACEC,IAAKrB,EACLsB,YAAW,kBACXzL,MAAOoL,EAAa,GACpB9I,SAAU,SAAA9G,GAAO2P,EAAgB3P,EAAEgH,OAAOxC,MAAQ,CAACxE,EAAEgH,OAAOxC,OAAS,IAAKyK,EAAUjP,EAAEgH,OAAOxC,MAAQ,CAACxE,EAAEgH,OAAOxC,OAAS,KACxH0L,aAAc,WAAQL,KACtBvK,MAAO,CAAE7B,MAAO,IAAK2D,aAAc,EAAG+I,QAAS,WAEjD,kBAAC,KAAD,KACE,kBAAC,IAAD,CACE9Q,KAAK,UACLqK,QAAS,WAAQmG,KACjBO,KAAM,kBAACC,GAAA,EAAD,MACN1K,KAAK,QACLL,MAAO,CAAE7B,MAAO,MALlB,aAaN6M,WAAY,SAAAC,GACV,OACE,kBAACF,GAAA,EAAD,CAAgB/K,MAAO,CAAEkL,gBAAiBD,EAAW,UAAY,WAGrEE,SAAU,SAACC,GACT,OAAOA,GAETC,8BAA+B,SAAAC,GACzBA,GACFC,YAAW,kBAAMlC,EAAa5P,QAAQ+R,aAG1CC,qBAAuBrM,EAAOO,OAAO,EAAIP,EAAS,KAClDtH,OAAQ,SAACsH,GACP,GAAe,OAAXA,EAAiB,CACnB,IAAIC,EAAQD,EAAOE,MAAM,EAAE,GAAGC,KAAI,SAACC,GAAD,OAAU,kBAACiE,GAAA,EAAD,CAAOhE,SAAO,GAAED,MACxDE,EAAQN,EAAOO,OAAO,EAI1B,OAHID,EAAQ,GACVL,EAAMO,KAAK,kBAAC,KAAD,CAAK5H,UAAU,aAAf,IAA6B0H,EAA7B,aAEN,8BAAOL,GAEd,OAAO,iCAkBf,OAZApH,qBAAU,WACRwE,IAAQC,SAASC,OAAOC,SAASC,UACjC,IAAI0M,EAAe,IAAIC,gBAAgB5M,EAAS6M,QAC5CF,EAAaG,IAAI,MAAkC,KAA1BH,EAAarO,IAAI,MAC5CH,SAASC,MAAQ,UAAUuO,EAAarO,IAAI,KAAK,8BACjD6O,MAEAhP,SAASC,MAAQ,oCACjB8O,OAED,IAGD,6BACE,kBAAC,GAAD,CAAO/J,MAAO,GAAd,UACA,kBAAC,IAAD,CACEwC,WAAYwC,EACZ/G,QAASA,EACTtE,WAAYA,EACZ8I,OAAO,UACPxG,QAAShD,EACTwI,SA9Ge,WAA0B,IAAzBzE,EAAwB,uDAAfrD,EACzB0F,EAAOO,OAAS,EAClBoK,EAAahN,GAEb+M,EAAU/M,IA2GR0F,OAAQ,CAAEC,EAAG,mB,UCzLbtK,GAAqBC,IAArBD,MAAOsT,GAAcrT,IAAdqT,UA2dAC,GAzdG,WAOhB,OALA1T,qBAAU,WACR8C,SAASC,MAAQ,uCACjByB,IAAQC,SAASC,OAAOC,SAASC,YAChC,IAGD,6BACE,kBAAC,GAAD,CAAOkD,MAAO,GAAd,aACA,kBAAC,KAAD,CAAMM,KAAK,SAET,kBAAC,KAAKC,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,uCACA,4BACE,2FACA,4EACA,iFACA,iFAKR,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,8BACA,4BACE,8EACA,wFACA,wEAKR,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,gCACA,4BACE,kGACA,oEACA,gEACA,mFAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,qBACA,4BACE,uDAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,sBACA,4BACE,0DACA,4EAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,2CACA,4BACE,sFACA,yJAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,uBACA,4BACE,8EACA,6GAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,iCACA,4BACE,iFACA,0EAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,mBACA,4BACE,mEACA,4DAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,oBACA,4BACE,oEACA,6DAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,6BACA,4BACE,wEACA,0EACA,iDACA,iDAKV,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAChC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,WACA,4BACE,6HACA,0DACA,0DAKR,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,iBACA,4BACE,6EACA,wIACA,2EAKR,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,6BACA,4BACE,gEACA,6GACA,sEACA,oEAKR,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,oBACA,4BACE,2EACA,qDAKR,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,sBACA,4BACE,uEACA,qHAKR,kBAAC,KAAKO,KAAN,CAAWN,MAAO,CAAE4L,eAAgB,WAClC,kBAAC,IAAD,KACE,kBAACF,GAAD,KACE,kBAAC,KAAD,CAAK/K,MAAM,YACT,kBAAC,IAAY1B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,SAMA,kBAAC,KAAD,KACE,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAOF,kBAAC0T,GAAD,KACE,kBAAC,GAAD,CAAO3L,MAAO,GAAd,yBACA,4BACE,qCACE,4BACE,wDACA,oDACA,sDACA,oDACA,wDAGJ,qCACE,4BACE,qCACA,uCAGJ,wCACE,4BACE,+CACA,4CAGJ,6C,oBCjdR3H,GAAUC,IAAVD,MAkBOyT,GAhBE,WAOb,OALA5T,qBAAU,WACR8C,SAASC,MAAQ,2CACjByB,IAAQC,SAASC,OAAOC,SAASC,YAChC,IAGD,kBAAC,KAAD,CACIiO,KAAM,kBAACgB,GAAA,EAAD,CAAoBC,aAAa,YACvC/Q,MAAO,kBAAC,GAAD,CAAO+E,MAAO,GAAd,iBACPL,MAAO,uBAAGsM,KAAK,KAAI,kBAAC,IAAD,CAAQ3L,KAAK,QAAQtG,KAAK,WAA1B,oB,8CCKrB3B,GAAgBC,IAAhBD,MAAOE,GAASD,IAATC,KACPC,GAAYC,KAAZD,QAsgBO0T,GApgBA,SAAApU,GAAU,IAAD,EAEQc,mBAAS,MAFjB,mBAEbuT,EAFa,KAELC,EAFK,OAGoBxT,oBAAU,GAH9B,mBAGbyT,EAHa,KAGCC,EAHD,OAIQ1T,mBAAS,MAJjB,mBAIb2T,EAJa,KAILC,EAJK,OAKU5T,mBAAS,MALnB,mBAKb6T,EALa,KAKJC,EALI,OAMwB9T,oBAAS,GANjC,mBAMbK,EANa,KAMGC,EANH,OAOgBN,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IAPpH,mBAObC,EAPa,KAODC,EAPC,OAQMhB,mBAAS,MARf,mBAQbhB,EARa,KAQNiC,EARM,OAUcjB,mBAAS,MAVvB,mBAUb+T,EAVa,KAUFC,EAVE,OAWchU,mBAAS,MAXvB,mBAWbiU,EAXa,KAWFC,EAXE,QAYclU,mBAAS,MAZvB,qBAYbmU,GAZa,MAYFC,GAZE,SAcsBpU,oBAAS,GAd/B,qBAcbqU,GAda,MAcEC,GAdF,SAesBtU,oBAAS,GAf/B,qBAebuU,GAfa,MAeEC,GAfF,SAgBsBxU,oBAAS,GAhB/B,qBAgBbyU,GAhBa,MAgBEC,GAhBF,SAmBoC1U,mBADvB,MAlBb,qBAmBb2U,GAnBa,MAmBSC,GAnBT,SAoBoC5U,mBAFvB,MAlBb,qBAoBb6U,GApBa,MAoBSC,GApBT,SAqBoC9U,mBAHvB,MAlBb,qBAqBb+U,GArBa,MAqBSC,GArBT,MAwBdxT,GADcC,IAAMC,YACCF,SA6BrByT,GAAS,uCAAG,0CAAAhT,EAAA,6DAAOoI,EAAP,+BAAeA,EAC7BvG,IAAQC,SAASC,OAAOC,SAASC,UACjC9B,SAASC,MAAQ,UAAYgI,EAAQ,8BACrC7I,GAAOc,SACPsR,EAAU,MACVE,EAAW,MACXJ,GAAiB,GACjBzS,EAAS,MACTD,EAAc,eAAID,EAAL,CAAiBD,QAAS,KACvCwT,IAAiB,GACjBE,IAAiB,GACjBE,IAAiB,GAXH,oBAaajT,IAAMc,IAAI,qBAAqB8H,GAb5C,QAaJ7H,EAbI,OAcVoR,EAAUpR,EAASC,KAAKC,QACxB8Q,EAAUhR,EAASC,KAAKC,OAAO8H,UAC3BhI,EAASC,KAAKC,OAAOwS,UACrBlB,EAAaxR,EAASC,KAAKC,OAAOwS,QAAQC,MAAK,SAAAlT,GAAC,MAAqB,YAAjBA,EAAEmT,eACtDlB,EAAa1R,EAASC,KAAKC,OAAOwS,QAAQC,MAAK,SAAAlT,GAAC,MAAqB,aAAjBA,EAAEmT,eACtDhB,GAAa5R,EAASC,KAAKC,OAAOwS,QAAQC,MAAK,SAAAlT,GAAC,MAAqB,WAAjBA,EAAEmT,gBAnBhD,mDAuBN,KAAM5S,SACNvB,EAAS,KAAMuB,SAASC,KAAKzD,OAE7BF,cA1BM,2DAAH,qDA+BTuW,GAAU,uCAAG,kDAAApT,EAAA,6DAAOmC,EAAP,+BAAgBrD,EAC/BT,GAAkB,GAEdgE,EAAQ,EACRC,EAAQ,GACRC,EAAiB,EACjBC,EAAkB,GAElBL,IACAE,GAASF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAClC4D,EAAQH,EAAOzD,SACf6D,GAAkBJ,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EACpD8D,EAAkBL,EAAOtD,QAAQsD,EAAOzD,UAZ7B,mBAgBUc,IAAMc,IAAI,oBAAqB,CAAE6B,OAAQ,CAAEE,MAAOA,EAAOC,MAAOA,EAAOgP,OAAQI,EAAOnJ,UAAY3F,YAAarD,GAAOsD,QAhBhI,QAgBPtC,EAhBO,OAiBbsR,EAAWtR,EAASC,KAAKC,OAAOgN,OAChC1O,EAAc,eAAID,EAAL,CAAiBD,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,gBAAqBT,EAArB,YAAuCU,KAAKC,IAAI3C,EAASC,KAAKsC,MAAON,GAArE,eAA4FjC,EAASC,KAAKsC,WACpQ2O,EAAgBlR,EAASC,KAAKsC,OAnBjB,kDAsBP,KAAMvC,SACF,KAAMA,SAASC,KAAKzD,OACpBD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAGjCyC,IAAM2D,SAAN,OACDtG,cA5BG,QAgCfwB,GAAkB,GAhCH,0DAAH,qDAmCV+E,GAAU,CACZ,CACIhD,MAAO,eACP8D,UAAW,QACX9G,UAAW,OACXF,OAAQ,SAACkL,GAAD,OACJ,kBAAC,IAAD,CAAMhE,GAAI,YAAcgE,GACpB,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHgL,KAIb,CACIhI,MAAO,WACP8D,UAAW,UACX9G,UAAW,OACXF,OAAQ,SAAC+C,GAAD,OACJ,kBAAC,IAAD,CAAMmE,GAAI,WAAanE,GACnB,kBAAC,IAAYoE,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH6C,KAIb,CACIG,MAAO,UACP8D,UAAW,eACX9G,UAAW,OACXwQ,MAAO,UAEX,CACIxN,MAAO,qBACP8D,UAAW,SACXhH,OAAQ,SAACsH,GACP,GAAe,OAAXA,EAAiB,CACnB,IAAIC,EAAQD,EAAOE,MAAM,EAAE,GAAGC,KAAI,SAACC,GAAD,OAAU,kBAACiE,GAAA,EAAD,CAAOhE,SAAO,GAAED,MACxDE,EAAQN,EAAOO,OAAO,EAI1B,OAHID,EAAQ,GACVL,EAAMO,KAAK,kBAAC,KAAD,CAAK5H,UAAU,aAAf,IAA6B0H,EAA7B,aAEN,8BAAOL,GAEd,OAAO,QAiCnB,OAjBApH,qBAAU,WACFqU,GACA0B,OAEL,CAAC1B,IAEJrU,qBAAU,WACN2V,GAAU/V,EAAMa,MAAMqE,OAAOkR,SAC9B,CAACpW,EAAMa,MAAMqE,OAAOkR,QAEvBhW,qBAAU,WAEN,OAAO,WACLkC,GAAOc,YAEV,IAGC,6BACI,kBAAC,GAAD,CAAO8E,MAAO,GAAd,mBAA2C,OAATmM,EAAgB,IAAIA,EAAS,MAC/D,kBAAC,GAAD,CAAOnM,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAErI,EAAMa,MAAMqE,OAAOkR,OAC/G3B,EACG,6BACI,kBAAC,GAAD,CAAOvM,MAAO,GACV,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFR,eAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,KAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,8IAA6I,kBAAC,IAAD,QAAjQ,SAAN,YACtB,0BAAMhD,UAAU,QAAQsU,EAAOnJ,WAEnC,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,kDAAiD,kBAAC,IAAD,QAArK,aAAN,IAA+O,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACrQ,0BAAMlG,UAAU,QAAO,kBAAC,IAAD,CAAQqL,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAmB,GAAjByN,EAAOhJ,aAEhF,kBAAC,KAAahD,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,iFAA0E,kBAAC,IAAD,QAA9L,WAC5B,0BAAMhD,UAAU,kBACXsU,EAAOtJ,QAGhB,kBAAC,KAAa1C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,+CAAwC,kBAAC,IAAD,QAA5J,QAAN,YACjBsR,EAAO4B,WACJ,0BAAMlW,UAAU,kBACZ,kBAAC,IAAD,CAAMgH,GAAI,YAAcsN,EAAO4B,WAAWlL,MAAOoB,QAjDtE,WACfwJ,GAAUtB,EAAO4B,WAAWlL,OAC5BmJ,EAAUD,EAAO,KAgDuB,kBAAC,IAAYjN,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHsU,EAAO4B,WAAWlL,QAI3B,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,sBAGZ,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mDAA4C,kBAAC,IAAD,QAAhK,YAAN,YACtB,0BAAMhD,UAAU,kBACU,qEAArBsU,EAAO6B,UACJ,kBAAC,IAAD,CAAMnP,GAAI,YAAcsN,EAAO6B,UAAW/J,QApE3D,WACfwJ,GAAUtB,EAAO6B,WACjBhC,EAAUD,EAAO,KAmEmB,kBAAC,IAAYjN,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHsU,EAAO6B,WAGZ,8BACK7B,EAAO6B,aAKvBtW,EAAMuW,eAAiBvW,EAAMuW,cAAcC,IAC5C,kBAAC,KAAa/N,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,gFAA+E,kBAAC,IAAD,QAAnM,WAAN,YACtB,0BAAMhD,UAAU,aACX0U,EACG,8BACI,uBAAGtI,QAAS,WApOhD6I,IADkC,IAAlBD,KAqOyDhV,UAAU,eAC3C,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH0U,EAAU4B,MAEdtB,GACG,yBAAKhV,UAAU,eACX,kBAAC,KAAMqJ,MAAP,CAAaC,aAtP5B,KAsPoEpC,MAAOoO,GAAsB/L,YAAY,QAAQC,SA/NrH,SAAAC,GAC7B8L,GAAwB9L,EAAMC,OAAOxC,SA+NW,kBAAC,KAAMyC,OAAP,CAAczC,MAAM,MAApB,aACA,kBAAC,KAAMyC,OAAP,CAAczC,MAAM,QAApB,SAEJ,kBAAC,KAAD,CAAM0C,iBA1PrB,KA0PiEC,UAAWyL,GAAsBtN,MAAO,CAACC,UAAW,KAClG,kBAAC1H,GAAD,CAASwJ,IAAI,MAAb,SACU,uBAAGiK,KAAM,uCAAuCU,EAAU4B,KAAMnN,MAAM,OAAOO,OAAO,UACrFgL,EAAU4B,KACX,kBAAC,IAAYrP,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gCACtC,kBAAC,IAAD,QAGR,6BAPJ,UAQW,uBAAGgU,KAAM,0CAA0CU,EAAU6B,UAAWpN,MAAM,OAAOO,OAAO,UAC9FgL,EAAU6B,UACX,kBAAC,IAAYtP,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gCACtC,kBAAC,IAAD,SAIZ,kBAACO,GAAD,CAASwJ,IAAI,QACT,yBAAKZ,MAAM,WAAU,kBAAC,GAAD,CAAMjB,UAAQ,GAAE1F,KAAK0H,UAAU1H,KAAKC,MAAMc,UAAOC,OAAOkR,EAAU8B,eAAgB,KAAM,QAKzH,MAIR,kBAAC,GAAD,CAAM/N,UAAQ,GAAd,SAKR,KAEH5I,EAAMuW,eAAiBvW,EAAMuW,cAAcK,IAC5C,kBAAC,KAAanO,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,kEAAiE,kBAAC,IAAD,QAArL,YAAN,YACtB,0BAAMhD,UAAU,aACX4U,EACG,8BACI,uBAAGxI,QAAS,WAjRhD+I,IADkC,IAAlBD,KAkRyDlV,UAAU,eAC3C,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH4U,EAAU0B,MAEdpB,GACG,yBAAKlV,UAAU,eACX,kBAAC,KAAMqJ,MAAP,CAAaC,aAxS5B,KAwSoEpC,MAAOsO,GAAsBjM,YAAY,QAAQC,SA7QrH,SAAAC,GAC7BgM,GAAwBhM,EAAMC,OAAOxC,SA6QW,kBAAC,KAAMyC,OAAP,CAAczC,MAAM,MAApB,aACA,kBAAC,KAAMyC,OAAP,CAAczC,MAAM,QAApB,SAEJ,kBAAC,KAAD,CAAM0C,iBA5SrB,KA4SiEC,UAAW2L,GAAsBxN,MAAO,CAACC,UAAW,KAClG,kBAAC1H,GAAD,CAASwJ,IAAI,MAAb,SACU,uBAAGiK,KAAM,+CAA+CY,EAAU0B,KAAMnN,MAAM,OAAOO,OAAO,UAC7FkL,EAAU0B,KACX,kBAAC,IAAYrP,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gCACtC,kBAAC,IAAD,QAGR,6BAPJ,UAQW,uBAAGgU,KAAM,yCAAyCY,EAAU2B,UAAWpN,MAAM,OAAOO,OAAO,UAC7FkL,EAAU2B,UACX,kBAAC,IAAYtP,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gCACtC,kBAAC,IAAD,SAIZ,kBAACO,GAAD,CAASwJ,IAAI,QACT,yBAAKZ,MAAM,WAAU,kBAAC,GAAD,CAAMjB,UAAQ,GAAE1F,KAAK0H,UAAU1H,KAAKC,MAAMc,UAAOC,OAAOoR,EAAU4B,eAAgB,KAAM,QAKzH,MAIR,kBAAC,GAAD,CAAM/N,UAAQ,GAAd,SAKR,KAEH5I,EAAMuW,eAAiBvW,EAAMuW,cAAcM,IAC5C,kBAAC,KAAapO,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wEAAuE,kBAAC,IAAD,QAA3L,UAAN,YACtB,0BAAMhD,UAAU,aACX8U,GACG,8BACI,uBAAG1I,QAAS,WA9ThD+I,IADkC,IAAlBC,KA+TyDpV,UAAU,eAC3C,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH8U,GAAUwB,MAEdlB,GACG,yBAAKpV,UAAU,eACX,kBAAC,KAAMqJ,MAAP,CAAaC,aA1V5B,KA0VoEpC,MAAOwO,GAAsBnM,YAAY,QAAQC,SA3TrH,SAAAC,GAC7BkM,GAAwBlM,EAAMC,OAAOxC,SA2TW,kBAAC,KAAMyC,OAAP,CAAczC,MAAM,MAApB,aACA,kBAAC,KAAMyC,OAAP,CAAczC,MAAM,QAApB,SAEJ,kBAAC,KAAD,CAAM0C,iBA9VrB,KA8ViEC,UAAW6L,GAAsB1N,MAAO,CAACC,UAAW,KAClG,kBAAC1H,GAAD,CAASwJ,IAAI,MAAb,SACU,uBAAGiK,KAAM,uCAAuCc,GAAUwB,KAAMnN,MAAM,OAAOO,OAAO,UACrFoL,GAAUwB,KACX,kBAAC,IAAYrP,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gCACtC,kBAAC,IAAD,QAGR,6BAPJ,UAQW,uBAAGgU,KAAM,uCAAuCc,GAAUyB,UAAWpN,MAAM,OAAOO,OAAO,UAC3FoL,GAAUyB,UACX,kBAAC,IAAYtP,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gCACtC,kBAAC,IAAD,SAIZ,kBAACO,GAAD,CAASwJ,IAAI,QACT,yBAAKZ,MAAM,WAAU,kBAAC,GAAD,CAAMjB,UAAQ,GAAE1F,KAAK0H,UAAU1H,KAAKC,MAAMc,UAAOC,OAAOsR,GAAU0B,eAAgB,KAAM,QAKzH,MAIR,kBAAC,GAAD,CAAM/N,UAAQ,GAAd,SAKR,MAGR,kBAAC,GAAD,CAAOV,MAAO,GACV,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFR,kBAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,KAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0FAAyF,kBAAC,IAAD,QAA7M,SAAN,WACtB,0BAAMhD,UAAU,kBACXsU,EAAOqC,OACJ,kBAAC,IAAD,CAAM3P,GAAI,YAAcsN,EAAOqC,OAAOC,YAClC,kBAAC,IAAY3P,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHsU,EAAOqC,OAAOC,YAGnB,kBAAC,GAAD,CAAMnO,UAAQ,GAAd,SAIZ,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,6EAA4E,kBAAC,IAAD,QAAhM,SAAN,kBACtB,0BAAMhD,UAAU,kBACXsU,EAAOuC,QACJ,kBAAC,IAAD,CAAM7P,GAAI,aAAesN,EAAOuC,QAAQC,YACpC,kBAAC,IAAY7P,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHsU,EAAOuC,QAAQC,YAGpB,kBAAC,GAAD,CAAMrO,UAAQ,GAAd,SAIR,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wEAAiE,kBAAC,IAAD,QAArL,WAAN,WAC9B,0BAAMhD,UAAU,kBACPsU,EAAOyC,OACJ,kBAAC,IAAD,CAAM/P,GAAI,YAAcsN,EAAOyC,OAAO/L,OAClC,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHsU,EAAOyC,OAAO/L,OAGnB,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,UAMhB,kBAAC,GAAD,CAAOV,MAAO,GACV,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,oCACtC,kBAAC,IAAD,OAFR,eAKI,kBAACJ,GAAA,EAAD,CAAOG,MAAOqU,KAGlB,kBAAC,IAAD,CACI7J,WAAYiK,EACZxO,QAASA,GACTtE,WAAYA,EACZ8I,OAAO,QACPxG,QAAShD,EACTwI,SAAUwM,GACVvL,OAAQ,CAAEC,EAAG,kBAKrB,6BACK/K,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,KAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAC,GAAD,CAAOrB,MAAO,GACV,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFR,eAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,GAAD,CAAOvC,MAAO,GACV,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFR,kBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,GAAD,CAAOvC,MAAO,GACV,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,oCACtC,kBAAC,IAAD,OAFR,eAKI,kBAACJ,GAAA,EAAD,CAAOG,MAAOqU,KAElB,yBAAKjL,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,SChgB5ClK,GAAgBC,IAAhBD,MAAOE,GAASD,IAATC,KA6SA0W,GA3SA,SAAC,GAAe,IAAbtW,EAAY,EAAZA,MAAY,EAEEC,mBAAS,MAFX,mBAEnBsW,EAFmB,KAEXC,EAFW,OAGkBvW,oBAAS,GAH3B,mBAGnBK,EAHmB,KAGHC,EAHG,OAIIN,mBAAS,MAJb,mBAInBO,EAJmB,KAIVC,EAJU,OAKcR,oBAAU,GALxB,mBAKnBS,EALmB,KAKLC,EALK,OAMUV,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IAN9G,mBAMnBC,EANmB,KAMPC,EANO,OAOAhB,mBAAS,MAPT,mBAOnBhB,EAPmB,KAOZiC,EAPY,KAUpBO,EADcC,IAAMC,YACCF,SAErBgV,EAAS,uCAAG,0CAAAvU,EAAA,6DAAOoI,EAAP,+BAAeA,EAC7BvG,IAAQC,SAASC,OAAOC,SAASC,UACjC9B,SAASC,MAAQ,UAAYgI,EAAQ,8BACrC7I,EAAOc,SACPiU,EAAU,MACV/V,EAAW,MACXE,GAAiB,GACjBO,EAAS,MACTD,EAAc,eAAID,EAAL,CAAiBD,QAAS,KARzB,mBAUaW,IAAMc,IAAI,qBAAqB8H,GAV5C,QAUJ7H,EAVI,OAWV+T,EAAU/T,EAASC,KAAKC,QAXd,kDAcN,KAAMF,SACNvB,EAAS,KAAMuB,SAASC,KAAKzD,OAE7BF,cAjBM,0DAAH,qDAsBTqF,EAAU,uCAAG,sDAAAlC,EAAA,yDAAOmC,EAAP,+BAAgBrD,EAAhB,uBAAqCsD,EAArC,uBAEf/D,GAAkB,GAEdgE,EAAQ,EACRC,EAAQ,GACRC,EAAiB,EACjBC,EAAkB,GAClBC,EAAO,MAEPN,IACAE,GAASF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAClC4D,EAAQH,EAAOzD,SACf6D,GAAkBJ,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EACpD8D,EAAkBL,EAAOtD,QAAQsD,EAAOzD,WAGxC0D,EAjBW,sBAkBHA,EAAOM,MAlBJ,OAmBF,WAnBE,QAsBF,YAtBE,gCAoBHD,EAAO,MApBJ,oCAuBHA,EAAO,OAvBJ,wDA6BUjD,IAAMc,IAAI,qBAAqB+T,EAAOjM,MAAM,WAAY,CAAEjG,OAAQ,CAAEE,MAAOA,EAAOC,MAAOA,EAAOG,KAAMA,GAAQG,YAAarD,EAAOsD,QA7B5I,QA6BPtC,EA7BO,OA8BbhC,EAAWgC,EAASC,KAAKC,QACzB1B,EAAc,eAAID,EAAL,CAAiBD,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,gBAAqBT,EAArB,YAAuCU,KAAKC,IAAI3C,EAASC,KAAKsC,MAAON,GAArE,eAA4FjC,EAASC,KAAKsC,WACpQrE,EAAgB8B,EAASC,KAAKsC,OAhCjB,mDAmCP,KAAMvC,SACF,KAAMA,SAASC,KAAKzD,OACpBD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAGjCyC,IAAM2D,SAAN,OACDtG,cAzCG,QA6CfwB,GAAkB,GA7CH,2DAAH,qDAgDV+E,EAAU,CACZ,CACIhD,MAAO,oBAAqB,IAAIiD,MAAOC,oBAAsB,GAAM,IACnEY,UAAW,YACX9G,UAAW,OACXgF,QAAQ,EACRmB,MAAO,GACPrG,OAAQ,SAACyG,GAAD,OACN,8BAAM,kBAAC,IAAD,CAAQK,OAAO,mBAAmBC,OAAK,GAAEN,MAGrD,CACIvD,MAAO,aACP8D,UAAW,YACX9G,UAAW,OACXF,OAAQ,SAACiH,GAAD,OACJ,kBAAC,IAAD,CAAMC,GAAI,YAAcD,GACpB,kBAAC,IAAYE,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH+G,KAIb,CACI/D,MAAO,eACP8D,UAAW,SACXhH,OAAQ,SAACsH,GACL,GAAe,OAAXA,EAAiB,CACrB,IAAIC,EAAQD,EAAOE,MAAM,EAAE,GAAGC,KAAI,SAACC,GAAD,OAAU,kBAACiE,GAAA,EAAD,CAAOhE,SAAO,GAAED,MACxDE,EAAQN,EAAOO,OAAO,EAI1B,OAHID,EAAQ,GACRL,EAAMO,KAAK,kBAAC,KAAD,CAAK5H,UAAU,aAAf,IAA6B0H,EAA7B,aAER,8BAAOL,GAEd,OAAO,iCA+BnB,OAjBApH,qBAAU,WACFgX,GACAnS,MAEL,CAACmS,IAEJhX,qBAAU,WACRkX,EAAUzW,EAAMqE,OAAOkR,SACtB,CAACvV,EAAMqE,OAAOkR,QAEjBhW,qBAAU,WAEN,OAAO,WACLkC,EAAOc,YAEV,IAGC,6BACI,kBAAC,GAAD,CAAO8E,MAAO,GAAd,eACA,kBAAC,GAAD,CAAOA,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAOkR,OACzGgB,EACG,6BACI,kBAAC,GAAD,CAAOlP,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,KAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wFAAuF,kBAAC,IAAD,QAA3M,SAAN,YACrBiU,EAAO/L,aACN,0BAAMlL,UAAU,QACd,kBAAC,IAAD,CAAMgH,GAAI,YAAciQ,EAAO/L,aAAaF,OACzCiM,EAAO9L,WAIZ,0BAAMnL,UAAU,QACbiX,EAAO9L,WAIhB,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mDAAkD,kBAAC,IAAD,QAAtK,YAAN,YACpB,0BAAMhD,UAAU,QACbiX,EAAOG,sBAGhB,kBAAC,KAAa9O,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,kDAAiD,kBAAC,IAAD,QAArK,aAAN,IAA+O,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACpQ+Q,EAAO/L,aACJ,0BAAMlL,UAAU,QAAO,kBAAC,IAAD,CAAQqL,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAgC,GAA9BoQ,EAAO/L,aAAaI,YAEzF,kBAAC,GAAD,CAAM7C,UAAQ,GAAd,QAGR,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,6EAAsE,kBAAC,IAAD,QAA1L,WAC5B,0BAAMhD,UAAU,kBAAkBiX,EAAOjM,QAE7C,kBAAC,KAAa1C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wDAAiD,kBAAC,IAAD,QAArK,QAAN,YACjBiU,EAAOI,WACJ,0BAAMrX,UAAU,kBACZ,kBAAC,IAAD,CAAMgH,GAAI,YAAciQ,EAAOI,WAAWrM,MAAOoB,QAjEtE,WACf+K,EAAUF,EAAOI,WAAWrM,SAiEY,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHiX,EAAOI,WAAWrM,QAI3B,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,sBAGZ,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,4DAAqD,kBAAC,IAAD,QAAzK,YAAN,YACtB,0BAAMhD,UAAU,kBACU,qEAArBiX,EAAOd,UACJ,kBAAC,IAAD,CAAMnP,GAAI,YAAciQ,EAAOd,UAAW/J,QAnF3D,WACf+K,EAAUF,EAAOd,aAmFmB,kBAAC,IAAYlP,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHiX,EAAOd,WAGZ,8BACKc,EAAOd,aAKxB,kBAAC,KAAa7N,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mEAAkE,kBAAC,IAAD,QAAtL,SAAN,QACtB,0BAAMhD,UAAU,kBACZ,kBAAC,IAAD,CAAMgH,GAAI,WAAaiQ,EAAO1R,SAC1B,kBAAC,IAAY0B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEHiX,EAAO1R,WAIpB,kBAAC,KAAa+C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,8EAA0E,kBAAC,IAAD,QAA9L,UAAN,YACjBiU,EAAO/L,aACJ,0BAAMlL,UAAU,kBACd,kBAAC,IAAD,CAAMgH,GAAI,YAAciQ,EAAO/L,aAAaF,OAC1C,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAEDiX,EAAO/L,aAAaF,QAIzB,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,SAKhB,kBAAC,GAAD,CAAOV,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,UAKE,kBAACJ,GAAA,EAAD,CAAOG,MAAOqB,GAA8B,KAG9C,kBAAC,IAAD,CACImJ,WAAYrJ,EACZ8E,QAASA,EACTtE,WAAYA,EACZ8I,OAAO,YACPxG,QAAShD,EACTwI,SAAU1E,EACV2F,OAAQ,CAAEC,EAAG,kBAKrB,6BACK/K,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,KAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAC,GAAD,CAAOrB,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,GAAD,CAAOvC,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,WAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,S,8BClS5ClK,GAAgBC,IAAhBD,MAAOE,GAASD,IAATC,KA2MAgX,GAzMA,SAAC,GAAe,IAAb5W,EAAY,EAAZA,MAEd6W,KAAkBC,iBAAiB,aAAcC,MAFvB,MAIE9W,mBAAS,MAJX,mBAInBuT,EAJmB,KAIXC,EAJW,OAKExT,mBAAS,MALX,mBAKnBgW,EALmB,KAKXe,EALW,OAMM/W,mBAAS,MANf,mBAMnBgX,EANmB,KAMTC,EANS,OAOAjX,mBAAS,MAPT,mBAOnBhB,EAPmB,KAOZiC,EAPY,KASpBiW,EAAS,uCAAG,4CAAAjV,EAAA,6DAAOoI,EAAP,+BAAeA,EAC7BvG,IAAQC,SAASC,OAAOC,SAASC,UACjC9B,SAASC,MAAQ,UAAYgI,EAAQ,8BACrC0M,EAAU,MACV9V,EAAS,MAJK,kBAMaQ,IAAMc,IAAI,qBAAqB8H,GAN5C,OAMJ7H,EANI,OAOVuU,EAAUvU,EAASC,KAAKC,QACxB8Q,EAAUhR,EAASC,KAAKC,OAAO8H,UAC3BhI,EAASC,KAAKC,OAAOyU,YACjB5W,EAAUsB,KAAKC,MAAMc,UAAOC,OAAOL,EAASC,KAAKC,OAAOyU,YAE5DF,EADE1W,GAGU,KAdN,kDAmBVwW,EAAU,MACN,KAAMvU,SACNvB,EAAS,KAAMuB,SAASC,KAAKzD,OAE7BF,cAvBM,0DAAH,qDA0Cf,OAJAQ,qBAAU,WACN4X,EAAUnX,EAAMqE,OAAOkR,SACxB,CAACvV,EAAMqE,OAAOkR,QAGb,6BACI,kBAAC,GAAD,CAAOlO,MAAO,GAAd,eAAuC,OAATmM,EAAgB,IAAIA,EAAS,MAC3D,kBAAC,GAAD,CAAOnM,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAOkR,OACzGU,EACG,6BACI,kBAAC,GAAD,CAAO5O,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,KAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wFAAuF,kBAAC,IAAD,QAA3M,SAAN,YACrB2T,EAAOzL,aACN,0BAAMlL,UAAU,QACd,kBAAC,IAAD,CAAMgH,GAAI,YAAc2P,EAAOzL,aAAaF,OACzC2L,EAAOxL,WAIZ,0BAAMnL,UAAU,QACb2W,EAAOxL,WAIhB,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mDAAkD,kBAAC,IAAD,QAAtK,YAAN,YACpB,0BAAMhD,UAAU,QACb2W,EAAOxL,WAGhB,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,kDAAiD,kBAAC,IAAD,QAArK,aAAN,IAA+O,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACpQyQ,EAAOzL,aACN,0BAAMlL,UAAU,QAAO,kBAAC,IAAD,CAAQqL,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAgC,GAA9B8P,EAAOzL,aAAaI,YAEzF,kBAAC,GAAD,CAAM7C,UAAQ,GAAd,QAGN,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,8CAAuC,kBAAC,IAAD,QAA3J,UAAN,UACtB,0BAAMhD,UAAU,kBAAkB2W,EAAOC,aAE7C,kBAAC,KAAatO,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,2CAAoC,kBAAC,IAAD,QAAxJ,QAAN,YACjB2T,EAAOoB,WACJ,0BAAM/X,UAAU,kBACZ,kBAAC,IAAD,CAAMgH,GAAI,YAAc2P,EAAOoB,WAAWnB,WAAYxK,QArD3E,WACjByL,EAAUlB,EAAOoB,WAAWnB,YAC5BzC,EAAUD,EAAO,KAoDyB,kBAAC,IAAYjN,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH2W,EAAOoB,WAAWnB,aAI3B,kBAAC,GAAD,CAAMnO,UAAQ,GAAd,sBAGZ,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,+CAAwC,kBAAC,IAAD,QAA5J,YAAN,YACtB,0BAAMhD,UAAU,kBACX2W,EAAOxL,SAAW,EACf,kBAAC,IAAD,CAAMnE,GAAI,YAAc2P,EAAOqB,WAAWpB,WAAYxK,QAxEvE,WACjByL,EAAUlB,EAAOqB,WAAWpB,YAC5BzC,EAAUD,EAAO,KAuEqB,kBAAC,IAAYjN,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH2W,EAAOqB,WAAWpB,YAGvB,oGAMZ,kBAAC,KAAatO,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,8EAA0E,kBAAC,IAAD,QAA9L,UAAN,YACjB2T,EAAOzL,aACJ,0BAAMlL,UAAU,kBACd,kBAAC,IAAD,CAAMgH,GAAI,YAAc2P,EAAOzL,aAAaF,OAC1C,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAED2W,EAAOzL,aAAaF,QAIzB,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,SAKhB,kBAAC,GAAD,CAAOV,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAKE,kBAACJ,GAAA,EAAD,CAAOG,MAAO4X,EAAWA,EAAShQ,OAAS,KAGjC,OAAXgQ,EACC,6BACGA,EAAShQ,OAAO,EACf,kBAAC,KAAD,CACEU,KAAK,QACLkC,WAAYoN,EACZM,WAAY,SAAAzQ,GAAI,OAAI,kBAAC,KAAKc,KAAN,KAAW,kBAAC,KAAD,CAAmB0B,SAAS,OAAOhC,MAAOiC,MAAWzH,KAAK0H,UAAU1C,EAAM,KAAM,QAGjH,yBAAK2B,MAAM,mBACT,kBAAC,KAAD,CAAOzJ,QAAQ,0CAAuCqC,KAAK,OAAOqH,UAAQ,MAKhF,yBAAKD,MAAM,mBACT,kBAAC,IAAD,CAAUmB,QAAM,MAMxB,6BACK3K,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,KAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAC,GAAD,CAAOrB,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,GAAD,CAAOvC,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,iBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,SCrM5ClK,GAAgBC,IAAhBD,MAAOE,GAASD,IAATC,KAqPA4X,GAnPA,SAAC,GAAe,IAAbxX,EAAY,EAAZA,MAAY,EAGEC,mBAAS,MAHX,mBAGnBuT,EAHmB,KAGXC,EAHW,OAIExT,mBAAS,MAJX,mBAInBoW,EAJmB,KAIXoB,EAJW,OAKAxX,mBAAS,MALT,mBAKnBhB,EALmB,KAKZiC,EALY,KAOpBwW,EAAS,uCAAG,0CAAAxV,EAAA,6DAAOoI,EAAP,+BAAeA,EAC7BvG,IAAQC,SAASC,OAAOC,SAASC,UACjC9B,SAASC,MAAQ,UAAYgI,EAAQ,8BACrCmN,EAAU,MACVvW,EAAS,MAJK,kBAMaQ,IAAMc,IAAI,qBAAqB8H,GAN5C,OAMJ7H,EANI,OAOVgV,EAAUhV,EAASC,KAAKC,QACxB8Q,EAAUhR,EAASC,KAAKC,OAAO8H,UARrB,kDAWVgN,EAAU,MACN,KAAMhV,SACNvB,EAAS,KAAMuB,SAASC,KAAKzD,OAE7BF,cAfM,0DAAH,qDAoBTuG,EAAU,CACd,CACEhD,MAAO,IACP8D,UAAW,YACX9G,UAAW,OACXmG,MAAO,GACPnB,OAAQ,SAACpC,EAAGyV,GAAJ,OAAUzV,EAAE0V,UAAYD,EAAEC,YAEpC,CACEtV,MAAO,iBACP8D,UAAW,OACX9G,UAAW,OACXF,OAAQ,SAAC+Q,GAAD,OACN,kBAAC,IAAD,CAAM7J,GAAI,iBAAmB6J,GACzB,kBAAC,IAAY5J,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH6Q,KAIT,CACE7N,MAAO,SACP8D,UAAW,cACX9G,UAAW,OACXgF,OAAQ,SAACpC,EAAGyV,GAAJ,OAAUzV,EAAEmO,YAAcsH,EAAEtH,aACpCjR,OAAQ,SAACiR,GAAD,OACN,8BAAOA,EAAY,IAAnB,eAGJ,CACE/N,MAAO,UACP8D,UAAW,eACX9G,UAAW,OACXgF,OAAQ,SAACpC,EAAGyV,GAAJ,OAAUzV,EAAEoO,aAAeqH,EAAErH,cACrClR,OAAQ,SAACkR,GAAD,OACN,8BAAOA,EAAa,IAApB,eAGJ,CACEhO,MAAO,cACP8D,UAAW,cACX9G,UAAW,OACXgF,OAAQ,SAACpC,EAAGyV,GAAJ,OAAUzV,EAAE2V,YAAcF,EAAEE,aACpCzY,OAAQ,SAACyY,GAAD,OACN,8BAAO1S,KAAK0I,MAAMgK,EAAYxB,EAAOyB,UAArC,cAGJ,CACExV,MAAO,OACPhD,UAAW,OACXF,OAAQ,SAACsG,GACP,IAAIqS,EAAO,EAEX,OADIrS,EAAI2K,YAAY,IAAK0H,EAAOrS,EAAI2K,YAAY3K,EAAI4K,aAAa5K,EAAImS,aAEnE,8BAAOE,EAAK,IAAZ,gBAoBR,OAJAxY,qBAAU,WACRmY,EAAU1X,EAAMqE,OAAOkR,SACtB,CAACvV,EAAMqE,OAAOkR,QAGb,6BACI,kBAAC,GAAD,CAAOlO,MAAO,GAAd,iBAAyC,OAATmM,EAAgB,IAAIA,EAAS,MAC7D,kBAAC,GAAD,CAAOnM,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAOkR,OACzGc,EACG,6BACI,kBAAC,GAAD,CAAOhP,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,KAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wFAAuF,kBAAC,IAAD,QAA3M,SAAN,YACrB+T,EAAO7L,aACN,0BAAMlL,UAAU,QACd,kBAAC,IAAD,CAAMgH,GAAI,YAAc+P,EAAO7L,aAAaF,OACzC+L,EAAO5L,WAIZ,0BAAMnL,UAAU,QACb+W,EAAO5L,WAIhB,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,qDAAoD,kBAAC,IAAD,QAAxK,YAAN,YACpB,0BAAMhD,UAAU,QACb+W,EAAO5L,WAGhB,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,kDAAiD,kBAAC,IAAD,QAArK,aAAN,IAA+O,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACpQ6Q,EAAO7L,aACJ,0BAAMlL,UAAU,QAAO,kBAAC,IAAD,CAAQqL,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAgC,GAA9BkQ,EAAO7L,aAAaI,YAEzF,kBAAC,GAAD,CAAM7C,UAAQ,GAAd,QAGR,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,+EAAwE,kBAAC,IAAD,QAA5L,WAC5B,0BAAMhD,UAAU,kBAAkB+W,EAAO/L,QAE7C,kBAAC,KAAa1C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,6CAAsC,kBAAC,IAAD,QAA1J,QAAN,YACjB+T,EAAO2B,WACJ,0BAAM1Y,UAAU,kBACZ,kBAAC,IAAD,CAAMgH,GAAI,YAAc+P,EAAO2B,WAAW1N,MAAOoB,QArDtE,WACjBgM,EAAUrB,EAAO2B,WAAW1N,OAC5BmJ,EAAUD,EAAO,KAoDyB,kBAAC,IAAYjN,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH+W,EAAO2B,WAAW1N,QAI3B,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,sBAGZ,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,iDAA0C,kBAAC,IAAD,QAA9J,YAAN,YACtB,0BAAMhD,UAAU,kBACU,qEAArB+W,EAAOZ,UACJ,kBAAC,IAAD,CAAMnP,GAAI,YAAc+P,EAAOZ,UAAW/J,QAxE3D,WACjBgM,EAAUrB,EAAOZ,WACjBhC,EAAUD,EAAO,KAuEqB,kBAAC,IAAYjN,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH+W,EAAOZ,WAGZ,8BACKY,EAAOZ,aAKxB,kBAAC,KAAa7N,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,iFAA2E,kBAAC,IAAD,QAA/L,YAAN,UACtB,0BAAMhD,UAAU,QAAQ+W,EAAOyB,SAA/B,IAAyC,kBAAC,GAAD,CAAMzW,KAAK,aAAX,iBAAiC8D,KAAK0I,MAAM,EAAEwI,EAAOyB,SAAS,KAA9D,eAE7C,kBAAC,KAAalQ,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,gFAA4E,kBAAC,IAAD,QAAhM,UAAN,YACjB+T,EAAO7L,aACJ,0BAAMlL,UAAU,kBACd,kBAAC,IAAD,CAAMgH,GAAI,YAAc+P,EAAO7L,aAAaF,OAC1C,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAED+W,EAAO7L,aAAaF,QAIzB,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,SAKhB,kBAAC,GAAD,CAAOV,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,uBAKE,kBAACJ,GAAA,EAAD,CAAOG,MAAOgX,EAAO4B,KAAO5B,EAAO4B,KAAKhR,OAAS,KAGnD,kBAAC,IAAD,CACI4C,WAAYwM,EAAO4B,KACnB3S,QAASA,EACTtE,WAzML,CAACkX,gBAAiB,GAAIrX,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQmE,UAAW,SAACD,EAAOE,GAAR,gBAAqBA,EAAM,GAA3B,YAAiCA,EAAM,GAAvC,eAAgDF,KA0M/I8E,OAAO,OACPC,OAAQ,CAAEC,EAAG,kBAKrB,6BACK/K,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,KAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAC,GAAD,CAAOrB,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,GAAD,CAAOvC,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,wBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,SCpO5ClK,GAAgBC,IAAhBD,MAAOE,GAASD,IAATC,KAuSAuY,GArSC,SAAC,GAAe,IAAbnY,EAAY,EAAZA,MAAY,EAGCC,mBAAS,MAHV,mBAGpBuT,EAHoB,KAGZC,EAHY,OAIGxT,mBAAS,MAJZ,mBAIpBkW,EAJoB,KAIXiC,EAJW,OAKDnY,mBAAS,MALR,mBAKpBoY,EALoB,KAKbC,EALa,OAMDrY,mBAAS,MANR,mBAMpBhB,EANoB,KAMbiC,EANa,KAOrBqX,EAAkB3H,iBAAO,MACzB4H,EAAW5H,iBAAO,MAElB6H,EAAU,uCAAG,4CAAAvW,EAAA,6DAAOoI,EAAP,+BAAeA,EAC9BvG,IAAQC,SAASC,OAAOC,SAASC,UACjC9B,SAASC,MAAQ,WAAagI,EAAQ,8BACtC8N,EAAW,MACXE,EAAS,IACTpX,EAAS,MALM,kBAOYQ,IAAMc,IAAI,sBAAsB8H,GAP5C,OAOL7H,EAPK,OAQX2V,EAAW3V,EAASC,KAAKC,QACzB8Q,EAAUhR,EAASC,KAAKC,OAAO8H,UAC3BhI,EAASC,KAAKC,OAAOnC,UACjBA,EAAUsB,KAAKC,MAAMc,UAAOC,OAAOL,EAASC,KAAKC,OAAOnC,UAAUkY,QAAO,SAAA5R,GAAI,OAAIA,EAAK6R,OAE1FL,EADE9X,GAGO,KAfF,kDAoBP,KAAMiC,SACNvB,EAAS,KAAMuB,SAASC,KAAKzD,OAE7BF,cAvBO,0DAAH,qDA4BVuG,EAAU,CACd,CACEhD,MAAO,oBAAqB,IAAIiD,MAAOC,oBAAsB,GAAM,IACnEY,UAAW,YACX9G,UAAW,OACXmG,MAAO,GACPnB,OAAQ,SAACpC,EAAGyV,GAAJ,OAAU,IAAIpS,KAAKrD,EAAE0W,WAAa,IAAIrT,KAAKoS,EAAEiB,YACrDxZ,OAAQ,SAACwZ,GAAD,OACN,8BAAM,kBAAC,IAAD,CAAQjO,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAEyS,EAAU,QAGlE,CACEtW,MAAO,cACP8D,UAAW,cACXX,MAAO,GACPoT,QAAS,CACP,CAAEC,KAAM,QAAStS,MAAO,SACxB,CAAEsS,KAAM,QAAStS,MAAO,UAE1BiM,SAAU,SAACjM,EAAOM,GAChB,MAAc,UAAVN,EACkC,qBAAtBM,EAAKiS,YAEiB,kBAAtBjS,EAAKiS,aAGvB3Z,OAAQ,SAAC2Z,GACP,OAAIA,EAEA,kBAAC,KAAD,CAAK9Q,MAAM,QAAQX,MAAO,CAACY,cAAe,cAA1C,SAMA,kBAAC,KAAD,CAAKD,MAAM,OAAOX,MAAO,CAACY,cAAe,cAAzC,WAOR,CACE5F,MAAO,UACP8D,UAAW,UACX9G,UAAW,OACXmG,MAAO,GACPnB,OAAQ,SAACpC,EAAGyV,GAAJ,OAAUzV,EAAE8W,QAAUrB,EAAEqB,SAChC5Z,OAAQ,SAAC4Z,GAAD,OACN,8BAAOA,EAAP,cAGJ,CACE1W,MAAO,aACP8D,UAAW,YACX9G,UAAW,wBACXoS,eAAgB,gBAAGC,EAAH,EAAGA,gBAAiBC,EAApB,EAAoBA,aAAcC,EAAlC,EAAkCA,QAASC,EAA3C,EAA2CA,aAA3C,OACd,yBAAKxK,MAAO,CAAEyK,QAAS,IACrB,kBAAC,IAAD,CACEC,IAAKuG,EACLtG,YAAW,oBACXzL,MAAOoL,EAAa,GACpB9I,SAAU,SAAA9G,GAAC,OAAI2P,EAAgB3P,EAAEgH,OAAOxC,MAAQ,CAACxE,EAAEgH,OAAOxC,OAAS,KACnE0L,aAAc,kBAAML,KACpBvK,MAAO,CAAE7B,MAAO,IAAK2D,aAAc,EAAG+I,QAAS,WAEjD,kBAAC,KAAD,KACE,kBAAC,IAAD,CACE9Q,KAAK,UACLqK,QAAS,kBAAMmG,KACfO,KAAM,kBAACC,GAAA,EAAD,MACN1K,KAAK,QACLL,MAAO,CAAE7B,MAAO,KALlB,UASA,kBAAC,IAAD,CAAQiG,QAAS,kBAAMoG,KAAgBnK,KAAK,QAAQL,MAAO,CAAE7B,MAAO,KAApE,YAMN6M,WAAY,SAAAC,GAAQ,OAAI,kBAACF,GAAA,EAAD,CAAgB/K,MAAO,CAAEkL,gBAAiBD,EAAW,UAAY,WACzFE,SAAU,SAACjM,EAAOkM,GAAR,OACRA,EAAM,UAAcuG,SAASzS,EAAM0S,gBACrCvG,8BAA+B,SAAAC,GACzBA,GACFC,YAAW,kBAAM0F,EAAgBxX,QAAQ+R,cAI/C,CACExQ,MAAO,iBACP8D,UAAW,WACX9G,UAAW,6BACXoS,eAAgB,gBAAGC,EAAH,EAAGA,gBAAiBC,EAApB,EAAoBA,aAAcC,EAAlC,EAAkCA,QAASC,EAA3C,EAA2CA,aAA3C,OACd,yBAAKxK,MAAO,CAAEyK,QAAS,IACrB,kBAAC,IAAD,CACEC,IAAKwG,EACLvG,YAAW,iBACXzL,MAAOoL,EAAa,GACpB9I,SAAU,SAAA9G,GAAC,OAAI2P,EAAgB3P,EAAEgH,OAAOxC,MAAQ,CAACxE,EAAEgH,OAAOxC,OAAS,KACnE0L,aAAc,kBAAML,KACpBvK,MAAO,CAAE7B,MAAO,IAAK2D,aAAc,EAAG+I,QAAS,WAEjD,kBAAC,KAAD,KACE,kBAAC,IAAD,CACE9Q,KAAK,UACLqK,QAAS,kBAAMmG,KACfO,KAAM,kBAACC,GAAA,EAAD,MACN1K,KAAK,QACLL,MAAO,CAAE7B,MAAO,KALlB,UASA,kBAAC,IAAD,CAAQiG,QAAS,kBAAMoG,KAAgBnK,KAAK,QAAQL,MAAO,CAAE7B,MAAO,KAApE,YAMN6M,WAAY,SAAAC,GAAQ,OAAI,kBAACF,GAAA,EAAD,CAAgB/K,MAAO,CAAEkL,gBAAiBD,EAAW,UAAY,WACzFE,SAAU,SAACjM,EAAOkM,GAAR,OACRyG,+BAAqBzG,EAAM,UAAcuG,SAASzS,IACpDmM,8BAA+B,SAAAC,GACzBA,GACFC,YAAW,kBAAM2F,EAASzX,QAAQ+R,aAGtC1T,OAAQ,SAAAga,GACN,IAAIC,EAAYF,+BAAqBC,GACrC,OACE,kBAAC,IAAD,CAAM9S,GAAI,cAAgB+S,GACxB,kBAAC,IAAY9S,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAED+Z,MAWX,OAJA9Z,qBAAU,WACRkZ,EAAWzY,EAAMqE,OAAOkR,SACvB,CAACvV,EAAMqE,OAAOkR,QAGb,6BACI,kBAAC,GAAD,CAAOlO,MAAO,GAAd,sBAA8C,OAATmM,EAAgB,IAAIA,EAAS,MAClE,kBAAC,GAAD,CAAOnM,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAOkR,OACzGY,EACG,6BACI,kBAAC,GAAD,CAAO9O,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,KAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wFAAuF,kBAAC,IAAD,QAA3M,SAAN,YACrB6T,EAAQ3L,aACP,0BAAMlL,UAAU,QACd,kBAAC,IAAD,CAAMgH,GAAI,YAAc6P,EAAQ3L,aAAaF,OAC1C6L,EAAQ3L,aAAaC,WAI1B,0BAAMnL,UAAU,QACb6W,EAAQ3L,aAAaC,WAI9B,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0DAAyD,kBAAC,IAAD,QAA7K,YAAN,YACpB,0BAAMhD,UAAU,QACb6W,EAAQ1L,WAGjB,kBAAC,KAAa7C,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,kDAAiD,kBAAC,IAAD,QAArK,aAAN,IAA+O,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACpQ2Q,EAAQ3L,aACP,0BAAMlL,UAAU,QAAO,kBAAC,IAAD,CAAQqL,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAiC,GAA/BgQ,EAAQ3L,aAAaI,YAE1F,kBAAC,GAAD,CAAM7C,UAAQ,GAAd,QAGN,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,qDAA8C,kBAAC,IAAD,QAAlK,UAAN,UACtB,0BAAMhD,UAAU,kBAAkB6W,EAAQC,aAE9C,kBAAC,KAAaxO,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,qFAAiF,kBAAC,IAAD,QAArM,UAAN,YACjB6T,EAAQ3L,aACL,0BAAMlL,UAAU,kBACd,kBAAC,IAAD,CAAMgH,GAAI,YAAc6P,EAAQ3L,aAAaF,OAC3C,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAED6W,EAAQ3L,aAAaF,QAI1B,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,SAKhB,kBAAC,GAAD,CAAOV,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,4BAKE,kBAACJ,GAAA,EAAD,CAAOG,MAAOgZ,EAAQA,EAAMpR,OAAS,KAGvC,kBAAC,IAAD,CACI4C,WAAYwO,EACZ/S,QAASA,EACTtE,WA3PL,CAACkX,gBAAiB,GAAIrX,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQmE,UAAW,SAACD,EAAOE,GAAR,gBAAqBA,EAAM,GAA3B,YAAiCA,EAAM,GAAvC,eAAgDF,KA4P/I8E,OAAO,YACPC,OAAQ,CAAEC,EAAG,kBAKrB,6BACK/K,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,KAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAC,GAAD,CAAOrB,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,GAAD,CAAOvC,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,6BAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,S,oBC/R5ClK,GAAUC,IAAVD,MAyRO4Z,GAvRC,SAAC,GAAe,IAAbtZ,EAAY,EAAZA,MAAY,EAESC,mBAAS,MAFlB,mBAEtBsZ,EAFsB,KAETC,EAFS,OAGOvZ,mBAAS,MAHhB,mBAGtBwZ,EAHsB,KAGVC,EAHU,OAIezZ,oBAAS,GAJxB,mBAItBK,EAJsB,KAINC,EAJM,OAKGN,oBAAU,GALb,mBAKtB0Z,EALsB,KAKZC,EALY,OAMO3Z,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IAN3G,mBAMtBC,EANsB,KAMVC,EANU,OAOHhB,mBAAS,MAPN,mBAOtBhB,EAPsB,KAOfiC,EAPe,KAUvBO,EADcC,IAAMC,YACCF,SAarBoY,EAAU,uCAAG,0CAAA3X,EAAA,6DAAO4X,EAAP,+BAAiBA,EAClCzX,SAASC,MAAQ,WAAawX,EAAU,8BACxCrY,EAAOc,SACPiX,EAAe,MACfE,EAAc,MACdE,GAAa,GACb1Y,EAAS,MACTD,EAAc,eAAID,EAAL,CAAiBD,QAAS,KAPtB,mBASUW,IAAMc,IAAI,uBAAuBsX,GAT3C,QASPrX,EATO,OAUb+W,EAAe/W,EAASC,KAAKC,QAVhB,kDAaT,KAAMF,SACNvB,EAAS,KAAMuB,SAASC,KAAKzD,OAE7BF,cAhBS,0DAAH,qDAqBVgb,EAAa,uCAAG,0DAAA7X,EAAA,yDAAOmC,EAAP,+BAAgBrD,EAAY6X,EAA5B,uBAAqCvU,EAArC,uBACpBP,IAAQC,SAASC,OAAOC,SAASC,UACjC5D,GAAkB,GAEdgE,EAAQ,EACRC,EAAQ,GACRC,EAAiB,EACjBC,EAAkB,GAClBC,EAAO,OACP+T,EAAS,GAETrU,IACAE,GAASF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAClC4D,EAAQH,EAAOzD,SACf6D,GAAkBJ,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EACpD8D,EAAkBL,EAAOtD,QAAQsD,EAAOzD,WAGxC0D,EAlBgB,sBAmBVA,EAAOM,MAnBG,OAoBT,WApBS,QAuBT,YAvBS,gCAqBVD,EAAO,MArBG,oCAwBVA,EAAO,OAxBG,oCA6BhBkU,GAAWA,EAAQ,IAAqB,OAAfA,EAAQ,IAAqC,IAAtBA,EAAQ,GAAG5R,SAC7DyR,EAASG,EAAQ,GAAG,IA9BF,oBAkCKnX,IAAMc,IAAI,uBAAuB+W,EAAYS,WAAW,OAAQ,CAAE3V,OAAQ,CAAEE,MAAOA,EAAOC,MAAOA,EAAOG,KAAMA,EAAM+T,OAAQA,GAAU5T,YAAarD,EAAOsD,QAlC/J,QAkCZtC,EAlCY,OAmClBiX,EAAcjX,EAASC,KAAKC,QAC5B1B,EAAc,eAAID,EAAL,CAAiBD,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,gBAAqBT,EAArB,YAAuCU,KAAKC,IAAI3C,EAASC,KAAKsC,MAAON,GAArE,eAA4FjC,EAASC,KAAKsC,WACpQ4U,EAAYnX,EAASC,KAAKsC,OArCR,mDAwCZ,KAAMvC,SACF,KAAMA,SAASC,KAAKzD,OACtBD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAGjCyC,IAAM2D,SAAN,OACHtG,cA9CY,QAkDpBwB,GAAkB,GAlDE,2DAAH,qDAqDb+E,EAAU,CACd,CACEhD,MAAO,oBAAqB,IAAIiD,MAAOC,oBAAsB,GAAM,IACnEY,UAAW,YACX9G,UAAW,OACXgF,QAAQ,EACRmB,MAAO,GACPrG,OAAQ,SAACwL,GAAD,OACN,8BAAM,kBAAC,IAAD,CAAQD,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAAY,GAAVyE,MAGxD,CACEtI,MAAO,OACPmD,MAAO,GACPoT,QAnGe,WAAqC,IAApCiB,EAAmC,uDAAzB9Z,EAAMqE,OAAOyV,QACzC,OAAIG,4BAAkBH,GACb,CACL,CAAEhB,KAAM,WAAYtS,MAAO,MAC3B,CAAEsS,KAAM,WAAYtS,MAAO,QAGtB,KA4FE0T,GACT9a,OAAQ,SAACsG,GACP,IAAIyU,EAAS,kBAAC,IAAY5T,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,uBAAsB,kBAAC,IAAD,QAChJ,GAAyB,QAArBiX,EAAYlY,KAAgB,CAI7B,GAHsB,IAAlBqE,EAAIkS,YACNuC,EAAS,kBAAC,IAAY5T,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wBAAuB,kBAAC,IAAD,SAE5IiX,EAAYa,SAAW1U,EAAI2U,OAAOP,QACpC,OACE,kBAAC,KAAD,CAAK7R,MAAM,UAAUX,MAAO,CAACY,cAAe,cACzCiS,EADH,YAMJ,GAAIZ,EAAYa,SAAW1U,EAAI4U,QAAQR,QACrC,OACE,kBAAC,KAAD,CAAK7R,MAAM,QAAQX,MAAO,CAACY,cAAe,cACvCiS,EADH,iBAOH,GAAyB,OAArBZ,EAAYlY,KACnB,OACE,kBAAC,KAAD,CAAK4G,MAAM,QAAOX,MAAO,CAACY,cAAe,cACtCiS,EADH,cAQR,CACI7X,MAAO,iBACP8D,UAAW,OACX9G,UAAW,OACXF,OAAQ,SAAC+Q,GAAD,OACJ,kBAAC,IAAD,CAAM7J,GAAI,iBAAmB6J,GACzB,kBAAC,IAAY5J,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH6Q,KAIb,CACE7N,MAAO,iBACPhD,UAAW,OACXF,OAAQ,SAACsG,GACP,IAAI6U,EAAgB,EAcpB,MAbyB,QAArBhB,EAAYlY,MACVkY,EAAYa,SAAW1U,EAAI2U,OAAOP,UACpCS,GAA8B7U,EAAI2U,OAAOG,QAEvCjB,EAAYa,SAAW1U,EAAI4U,QAAQR,UACrCS,GAA8B7U,EAAI4U,QAAQE,QAG5CD,GADAA,GAA8B,KACA5Q,WAAW8E,QAAQ,KAAM,WAE3B,OAArB8K,EAAYlY,OACnBkZ,EAAgBpV,KAAK0I,MAAMnI,EAAI+U,OAAOD,OAAO9U,EAAIoS,WAGjD,8BAAOyC,EAAP,SAAuBhB,EAAYlY,SAuB3C,OAjBA9B,qBAAU,WACJga,GACAQ,MAEH,CAACR,IAEJha,qBAAU,WACNsa,EAAW7Z,EAAMqE,OAAOyV,WACzB,CAAC9Z,EAAMqE,OAAOyV,UAEjBva,qBAAU,WAER,OAAO,WACLkC,EAAOc,YAER,IAGC,6BACI,kBAAC,GAAD,CAAO8E,MAAO,GAAd,WAGA,kBAAC,GAAD,CAAOA,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAOyV,SAC3GP,EACC,6BACE,kBAAC,GAAD,CAAOlS,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,SAASrI,UAAU,uBACxD,kBAAC,KAAasI,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,qDAAoD,kBAAC,IAAD,QAAxK,aAC5B,0BAAMhD,UAAU,kBAAkBia,EAAYS,aAElD,kBAAC,KAAapS,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wDAAuD,kBAAC,IAAD,QAA3K,WAAN,UACtB,8BAAO2X,4BAAkBV,EAAYS,YAAc,UAAY,eAA/D,aAEJ,kBAAC,KAAapS,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mCAAkC,kBAAC,IAAD,QAAtJ,aAC5B,0BAAMhD,UAAU,QACM,QAArBia,EAAYlY,KAAiBkY,EAAYmB,QAAQ,IAAYnB,EAAYmB,QAD1E,SACoFnB,EAAYlY,QAItG,kBAAC,GAAD,CAAOgG,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAKE,kBAACJ,GAAA,EAAD,CAAOG,MAAOsa,GAAsB,KAGtC,kBAAC,IAAD,CACI9P,WAAY4P,EACZnU,QAASA,EACTtE,WAAYA,EACZ8I,OAAO,OACPxG,QAAShD,EACTwI,SAAUiR,EACVhQ,OAAQ,CAAEC,EAAG,kBAIrB,6BACG/K,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,KAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAC,GAAD,CAAOrB,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,GAAD,CAAOvC,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,gBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,S,gDC1QlClK,GAAgBC,IAAhBD,MAAOE,GAASD,IAATC,KA2WA+a,GAzWK,SAAC,GAAe,IAAb3a,EAAY,EAAZA,MAEbgB,EAAa,CAACkX,gBAAiB,GAAIrX,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQmE,UAAW,SAACD,EAAOE,GAAR,gBAAqBA,EAAM,GAA3B,YAAiCA,EAAM,GAAvC,eAAgDF,KAFxI,EAGT/E,mBAAS,MAHA,mBAGxB2a,EAHwB,KAGnBC,EAHmB,OAIH5a,mBAAS,MAJN,mBAIxBoa,EAJwB,KAIhBS,EAJgB,OAKD7a,mBAAS,MALR,mBAKxBqa,EALwB,KAKfS,EALe,OAMC9a,mBAAS,MANV,mBAMxB6X,EANwB,KAMdkD,EANc,OAOL/a,mBAAS,MAPJ,mBAOxBhB,EAPwB,KAOjBiC,EAPiB,OAQGjB,oBAAS,GARZ,mBAQxBkB,EARwB,KAQbC,EARa,KAczB6Z,EAAc,uCAAG,kDAAA/Y,EAAA,6DAAO0T,EAAP,+BAAcA,GAAMxT,IAApB,oCAEfC,SAASC,MAAQ,eAAiBsT,EAAO,8BACzCxU,GAAa,GACbyZ,EAAO,MACPC,EAAU,MACVC,EAAW,MACXC,EAAY,MACZ9Z,EAAS,OARM,kBAWQQ,IAAMc,IAAI,2BAA2BoT,GAX7C,OAWTnT,EAXS,OAYfoY,EAAOpY,EAASC,KAAKC,QACrBvB,GAAa,GACTgB,IACIK,EAASC,KAAKC,OAAO0X,QACrBS,EAAUrY,EAASC,KAAKC,OAAO0X,OAAOxT,KAAI,SAAAmD,GAAC,MAAK,CAAC8P,QAAS9P,EAAE8P,QAASU,OAAQxQ,EAAEwQ,OAAQU,YAAa,WAEpGC,EAAa,GACb1Y,EAASC,KAAKC,OAAO2X,UACrBa,EAAU,uBAAOA,GAAP,aAAsB1Y,EAASC,KAAKC,OAAO2X,QAAQzT,KAAI,SAAAmD,GAAC,MAAK,CAAC8P,QAAS9P,EAAE8P,QAASU,OAAQxQ,EAAEwQ,OAAQU,YAAa,aAE3HzY,EAASC,KAAKC,OAAO8X,SACrBU,EAAU,uBAAOA,GAAP,aAAsB1Y,EAASC,KAAKC,OAAO8X,OAAO5T,KAAI,SAAAmD,GAAC,MAAK,CAAC8P,QAAS9P,EAAE8P,QAASU,OAAQxQ,EAAEwQ,OAAQU,YAAa,YAE9HH,EAAWI,GACP1Y,EAASC,KAAKC,OAAOyY,aAAatD,UAClCkD,EAAYvY,EAASC,KAAKC,OAAOyY,aAAatD,WA3BvC,kDAgCX,KAAMrV,SACFL,IACMe,EAAiBzB,IAAM0B,SACvBC,EAAOrE,IAAQsE,QAAQ,gCAAiC,GAC9DC,KAAWJ,EAAgB,CAAEK,QAAS,EAAGC,WAAYF,KAAWG,mBAChEP,EAAeX,IAAI,mCAAmCoT,GACrDjS,MAAK,SAAAC,GACJxC,GAAa,GACbyZ,EAAOjX,EAAKlB,KAAKC,QACbiB,EAAKlB,KAAKC,OAAO0X,QACnBS,EAAUlX,EAAKlB,KAAKC,OAAO0X,OAAOxT,KAAI,SAAAmD,GAAC,MAAK,CAAC8P,QAAS9P,EAAE8P,QAASU,OAAQxQ,EAAEwQ,OAAQU,YAAa,WAElG,IAAIC,EAAa,GACbvX,EAAKlB,KAAKC,OAAO2X,UACnBa,EAAU,uBAAOA,GAAP,aAAsBvX,EAAKlB,KAAKC,OAAO2X,QAAQzT,KAAI,SAAAmD,GAAC,MAAK,CAAC8P,QAAS9P,EAAE8P,QAASU,OAAQxQ,EAAEwQ,OAAQU,YAAa,aAErHtX,EAAKlB,KAAKC,OAAO8X,SACnBU,EAAU,uBAAOA,GAAP,aAAsBvX,EAAKlB,KAAKC,OAAO8X,OAAO5T,KAAI,SAAAmD,GAAC,MAAK,CAAC8P,QAAS9P,EAAE8P,QAASU,OAAQxQ,EAAEwQ,OAAQU,YAAa,YAExHH,EAAWI,GACPvX,EAAKlB,KAAKC,OAAOmV,UACnBkD,EAAYpX,EAAKlB,KAAKC,OAAOmV,aAGhCjU,OAAM,SAAA5E,GACDA,EAAMwD,SACRvB,EAASjC,EAAMwD,SAASC,KAAKzD,OAE7BF,iBAGH+E,SAAQ,WACPT,QAINtE,cApEW,0DAAH,qDAyEduG,EAAU,CACZ,CACEhD,MAAO,UACPhD,UAAW,OACXF,OAAQ,SAAAsG,GACN,IAAIoU,EAAU,GACV1H,EAAO,GASX,MARwB,QAApB1M,EAAIwV,cACJpB,EAAUuB,oCAA0B3V,EAAIoU,SACxC1H,EAAO,kBAAC,IAAD,OAEa,OAApB1M,EAAIwV,cACJpB,EAAUX,+BAAqBzT,EAAIoU,SACnC1H,EAAO,kBAAC,IAAD,OAGT,kBAAC,IAAD,CAAM9L,GAAI,cAAgBwT,GACxB,kBAAC,IAAYvT,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACvC8S,GAEF0H,KAKT,CACExX,MAAO,SACPhD,UAAW,OACXF,OAAQ,SAACsG,GACP,IAAI8U,EAAS,EACTc,EAAW,GASf,MARwB,QAApB5V,EAAIwV,cACJV,EAAS9U,EAAI8U,OAAO,IACpBc,EAAW,OAES,OAApB5V,EAAIwV,cACJV,EAASrV,KAAK0I,MAAMnI,EAAI8U,OAAO1C,GAC/BwD,EAAW,MAGX,8BAAOd,EAAP,SAAgBc,MAe5B,OATAnU,cAAY,WACR8T,EAAejb,EAAMqE,OAAOkX,MAAM,KACnCpa,EAAY,IAAO,MAEtB5B,qBAAU,WACRwE,IAAQC,SAASC,OAAOC,SAASC,UACjC8W,EAAejb,EAAMqE,OAAOkX,MAAM,KACjC,CAACvb,EAAMqE,OAAOkX,OAGb,6BACI,kBAAC,GAAD,CAAOlU,MAAO,GAAd,uBACA,kBAAC,GAAD,CAAOA,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,SAAWjI,UAAU,YAAYkI,UAAQ,GAAExH,EAAMqE,OAAOkX,MACzGX,EACG,6BACI,kBAAC,GAAD,CAAOvT,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,oBAMA,kBAAC,KAAD,CAAcmI,UAAQ,EAACC,OAAQ,EAAGC,KAAK,UACnC,kBAAC,KAAaC,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wFAAuF,kBAAC,IAAD,QAA3M,SAAN,YACrBsY,EAAIpQ,aACH,0BAAMlL,UAAU,QACd,kBAAC,IAAD,CAAMgH,GAAI,YAAcsU,EAAIpQ,aAAaF,OACtCsQ,EAAIpQ,aAAaC,WAItB,kBAAC,GAAD,CAAM1C,UAAQ,GAAd,QAGN,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,oEAAmE,kBAAC,IAAD,QAAvL,YAAN,YACrBsY,EAAIhD,WAAa,EAChB,6BACA,0BAAMtY,UAAU,OAAOgI,MAAO,CAACkU,YAAa,KACzCZ,EAAIhD,WAEY,IAAlBgD,EAAIhD,UACH,kBAAC,IAAD,CAAS9P,iBAAiB,mBAAmBxF,MAAM,4CAC/C,kBAAC,KAAD,CAAK2F,MAAM,OAAOX,MAAO,CAACY,cAAe,cAAc,kBAAC,IAAY3B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAAlH,aAGJ,MAIF,kBAAC,GAAD,CAAMyI,UAAQ,GAAd,QAGN,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mEAAkE,kBAAC,IAAD,QAAtL,aAAN,IAAgQ,wCAAc,IAAIiD,MAAOC,oBAAsB,GAA/C,OACrRoV,EAAIpQ,aACD,0BAAMlL,UAAU,QAAO,kBAAC,IAAD,CAAQqL,MAAI,EAACzE,OAAO,mBAAmBC,OAAK,GAA6B,GAA3ByU,EAAIpQ,aAAaI,YAEtF,8BACCgQ,EAAI/U,UACD,0BAAMvG,UAAU,QAAO,kBAAC,IAAD,CAAQ4G,OAAO,mBAAmBC,OAAK,GAAEyU,EAAI/U,YAEpE,kBAAC,GAAD,CAAMkC,UAAQ,GAAd,SAKZ,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0EAAmE,kBAAC,IAAD,QAAvL,eAAN,QACtB,0BAAMhD,UAAU,kBAAkBsb,EAAIzK,OAE1C,kBAAC,KAAavI,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wDAAiD,kBAAC,IAAD,QAArK,YAC3BsY,EAAIpQ,aACD,kBAAC,IAAD,CAAS1C,iBAAiB,mBAAmBxF,MAAM,iCAC/C,kBAAC,KAAD,CAAK2F,MAAM,QAAQX,MAAO,CAACY,cAAe,cAAc,kBAAC,IAAY3B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAAnH,cAGJ,6BACI,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,8CAC/C,kBAAC,KAAD,CAAK2F,MAAM,OAAOX,MAAO,CAACY,cAAe,cAAc,kBAAC,IAAY3B,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAAeA,UAAW,kBAA5I,YAEJ,kBAAC,GAAD,CAAM+B,KAAK,aAAX,aAAyB,kBAAC,KAAD,CAAW8G,KAAM5C,KAAKxD,MAAM6Y,EAAI/U,WAAa,IAAQuC,YAAa,EAAGC,SAxMxG,SAAC,GAA0B,IAAxBC,EAAuB,EAAvBA,QAASC,EAAc,EAAdA,QAClC,OAAO,8BAAOC,aAAQF,GAAf,IAA0BE,aAAQD,UA2MrB,kBAAC,IAAD,MACA,kBAAC,KAAaX,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,iFAA2E,kBAAC,IAAD,QAA/L,YAAN,UACrBwV,EACG,0BAAMxY,UAAU,QAAQwY,EAAxB,IAAkC,kBAAC,GAAD,CAAMzW,KAAK,aAAX,iBAAiC8D,KAAK0I,MAAM,EAAEiK,EAAS,KAAvD,cAElC,kBAAC,GAAD,CAAM/P,UAAQ,GAAd,QAGR,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,oFAAgF,kBAAC,IAAD,QAApM,YACvBsY,EAAIQ,aACD,0BAAM9b,UAAU,kBACd,kBAAC,IAAD,CAAMgH,GAAI,YAAcsU,EAAIQ,aAAa9Q,OACvC,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAEDsb,EAAIQ,aAAa9Q,QAItB,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,QAGZ,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,+EAA2E,kBAAC,IAAD,QAA/L,UAAN,YACjBsY,EAAIpQ,aACD,0BAAMlL,UAAU,kBACd,kBAAC,IAAD,CAAMgH,GAAI,YAAcsU,EAAIpQ,aAAaF,OACvC,kBAAC,IAAY/D,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAEDsb,EAAIpQ,aAAaF,QAItB,kBAAC,GAAD,CAAMvC,UAAQ,GAAd,QAGZ,kBAAC,IAAD,MACA,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wEAAiE,kBAAC,IAAD,QAArL,SAAN,YACtB,0BAAMhD,UAAU,QAAQsb,EAAIvK,YAAY,IAAxC,cAEJ,kBAAC,KAAazI,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,yEAAkE,kBAAC,IAAD,QAAtL,SAAN,aACtB,0BAAMhD,UAAU,QAAQsb,EAAItK,aAAa,IAAzC,cAEJ,kBAAC,KAAa1I,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,gFAA4E,kBAAC,IAAD,QAAhM,SAAN,iBACrBwV,EACG,0BAAMxY,UAAU,QAAQ6F,KAAK0I,MAAM+M,EAAI/C,YAAYC,GAAnD,YAEA,kBAAC,GAAD,CAAM/P,UAAQ,GAAd,QAGR,kBAAC,KAAaH,KAAd,CAAmBC,MAAO,8BAAM,8BAAM,kBAAC,IAAYtB,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,uDAAsD,kBAAC,IAAD,QAA1K,UAC5B,0BAAMhD,UAAU,QACXsb,EAAIvK,YAAY,EACb,+BAAQuK,EAAIvK,YAAYuK,EAAItK,aAAasK,EAAI/C,aAAa,KAE1D,EAJR,eASR,kBAAC,IAAD,CAAK3J,OAAQ,CAAC,GAAI,KACd,kBAAC,IAAD,CAAKC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACrC,kBAAC,GAAD,CAAOlH,MAAO,GACd,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFJ,SAKA,kBAACJ,GAAA,EAAD,CAAOG,MAAOgb,EAASA,EAAOpT,OAAS,KAGvC,kBAAC,IAAD,CACI4C,WAAYwQ,EACZ/U,QAASA,EACTtE,WAAYA,EACZ8I,OAAO,YACPC,OAAQ,CAAEC,EAAG,kBAGrB,kBAAC,IAAD,CAAKmE,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACzC,kBAAC,GAAD,CAAOlH,MAAO,GACV,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFR,UAKI,kBAACJ,GAAA,EAAD,CAAOG,MAAOib,EAAUA,EAAQrT,OAAS,KAGzC,kBAAC,IAAD,CACI4C,WAAYyQ,EACZhV,QAASA,EACTtE,WAAYA,EACZ8I,OAAO,YACPC,OAAQ,CAAEC,EAAG,oBAO7B,6BACK/K,EACG,yBAAKwJ,MAAM,mBACP,kBAAC,KAAD,CAAOzJ,QAASC,EAAOoC,KAAK,QAAQqH,UAAQ,KAGhD,6BACI,kBAAC,GAAD,CAAOrB,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,oBAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,KAEpB,kBAAC,IAAD,CAAKsE,OAAQ,CAAC,GAAI,KACd,kBAAC,IAAD,CAAKC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACrC,kBAAC,GAAD,CAAOlH,MAAO,GACd,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFJ,UAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,MAGxB,kBAAC,IAAD,CAAKuE,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACrC,kBAAC,GAAD,CAAOlH,MAAO,GACd,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAFJ,WAMA,yBAAKmJ,MAAM,mBACP,kBAAC,IAAD,CAAUmB,QAAM,W,UCjXpDlK,GAAUC,IAAVD,MA6FO+b,GA3FE,SAAAtc,GAAU,IAAD,EAEIc,oBAAU,GAFd,mBAEjByb,EAFiB,KAETC,EAFS,OAGE1b,oBAAU,GAHZ,mBAGjB2b,EAHiB,KAGVC,EAHU,KAgBxB,OAFAtc,qBAAU,WARRmC,IAAMc,IAAI,mBACTmB,MAAK,SAASlB,GACXkZ,EAAUlZ,EAASC,KAAKC,OAAO+Y,QAC/BG,EAASpZ,EAASC,KAAKC,OAAOiZ,OAC9Bzc,EAAM2c,SAASrZ,EAASC,KAAKC,OAAO+Y,aAIX,IAG3B,6BACE,kBAAC,IAAD,CAAKxN,OAAQ,CAAC,GAAG,KACf,kBAAC,IAAD,CAAKC,GAAI,EAAGC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GACpC,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYhI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,oCAAqC,kBAAC,IAAD,OAC/E,6BAFJ,2BAKa,IAAZoc,EACG,kBAAC,IAAD,CAAU9R,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC,GAAD,CAAOnH,MAAO,EAAG/H,UAAU,QAAQ6F,KAAK0I,MAAM6N,EAAO,KAAW/R,WAAW8E,QAAQ,wBAAyB,SAKtH,kBAAC,IAAD,CAAKN,GAAI,EAAGC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GACpC,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYhI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAC3D,6BAFJ,aAGc,+CAEF,IAAXsc,EACG,kBAAC,IAAD,CAAUhS,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC,GAAD,CAAOnH,MAAO,EAAG/H,UAAU,QAAQ6F,KAAK0I,MAAM+N,EAAM,KAAWjS,WAAW8E,QAAQ,wBAAyB,UAMvH,kBAAC,IAAD,CAAKP,OAAQ,IACX,kBAAC,IAAD,CAAKC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GACpC,kBAAC,IAAD,CAAUG,UAAQ,GACd,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYnI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,oCAAqC,kBAAC,IAAD,OAC/E,6BAFJ,2BAKa,IAAZoc,EACG,kBAAC,IAAD,CAAU9R,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC,GAAD,CAAOnH,MAAO,EAAG/H,UAAU,QAAQ6F,KAAK0I,MAAM6N,EAAO,KAAW/R,WAAW8E,QAAQ,wBAAyB,QAIpH,kBAAC,IAAD,KACI,8BACI,kBAAC,IAAYlI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAC3D,6BAFJ,aAGc,+CAEF,IAAXsc,EACG,kBAAC,IAAD,CAAUhS,QAAM,EAAC4E,WAAW,IAE5B,6BACA,kBAAC,GAAD,CAAOnH,MAAO,EAAG/H,UAAU,QAAQ6F,KAAK0I,MAAM+N,EAAM,KAAWjS,WAAW8E,QAAQ,wBAAyB,aC5E3H/O,GAAUC,IAAVD,MAmGOqc,GAjGE,WAAO,IAAD,EAEW9b,mBAAS,IAFpB,mBAEd+b,EAFc,KAEJC,EAFI,OAGOhc,oBAAU,GAHjB,mBAGdyb,EAHc,KAGNC,EAHM,OAIuB1b,oBAAS,GAJhC,mBAIdK,EAJc,KAIEC,EAJF,KAOf2b,EAAW,uCAAG,4BAAAha,EAAA,6DAClB6B,IAAQC,SAASC,OAAOC,SAASC,UACjC5D,GAAkB,GAFA,kBAIOmB,IAAMc,IAAI,sBAJjB,OAIVC,EAJU,OAKhBwZ,EAAYxZ,EAASC,KAAKC,QALV,gDAQV,KAAMF,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAXY,QAclBwB,GAAkB,GAdA,yDAAH,qDAiBX+E,EAAU,CACd,CACEhD,MAAO,IACPhD,UAAW,OACXmG,MAAO,GACPrG,OAAQ,SAACsG,GAAD,OACN,8BAAOsW,EAASG,QAAQzW,GAAK,KAGjC,CACEpD,MAAO,UACP8D,UAAW,aACX9G,UAAW,OACXF,OAAQ,SAAC4a,GACP,OACA,kBAAC,IAAD,CAAM1T,GAAI,cAAgB0T,GACtB,kBAAC,IAAYzT,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH0a,KAKT,CACE1X,MAAO,UACP8D,UAAW,UACX9G,UAAW,OACXF,OAAQ,SAACsb,GAAD,OACN,8BAAOA,EAAQ,IAAf,eAGJ,CACEpY,MAAO,0BACPhD,UAAW,OACXF,OAAQ,SAACsG,GACP,GAAIgW,EAAS,EACX,OACE,kBAAC,KAAD,CAAUU,YAAY,UAAUC,QAASlX,KAAK0I,OAAQnI,EAAIgV,QAAU4B,OAAOC,SAASb,EAAU,KAAS,IAAK/T,KAAK,aAY3H,OALApI,qBAAU,WACR8C,SAASC,MAAQ,uCACjB4Z,MACC,IAGD,6BAEE,yBAAK5c,UAAU,SACb,kBAAC,GAAD,CAAUwc,SAAUH,KAGtB,kBAAC,GAAD,CAAOtU,MAAO,GAAd,aACA,kBAAC,GAAD,CAAOA,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,UAAtD,gCAEA,kBAAC,IAAD,CACEsC,WAAYmS,EACZ1W,QAASA,EACTtE,WAlFa,CAACkX,gBAAiB,GAAIrX,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQmE,UAAW,SAACD,EAAOE,GAAR,gBAAqBA,EAAM,GAA3B,YAAiCA,EAAM,GAAvC,eAAgDF,KAmFjK8E,OAAO,SACPxG,QAAShD,EACTyJ,OAAQ,CAAEC,EAAG,mB,UCzFbtK,GAAUC,IAAVD,MAuMO8c,GArMC,WAAO,IAAD,EAE8Bvc,oBAAS,GAFvC,mBAEbuP,EAFa,KAEMC,EAFN,OAGsCxP,oBAAS,GAH/C,mBAGbqP,EAHa,KAGUC,EAHV,OAIsBtP,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IAJ1H,mBAIb0b,EAJa,KAIEC,EAJF,OAK8Bzc,mBAAS,CAACW,SAAU,GAAIC,iBAAiB,EAAMC,gBAAiB,CAAC,KAAM,KAAM,KAAM,OAAQC,QAAS,IALlI,mBAKb4b,EALa,KAKMC,EALN,OAMgB3c,mBAAS,IANzB,mBAMb6O,EANa,KAMDC,EANC,OAOwB9O,mBAAS,IAPjC,mBAOb+O,EAPa,KAOGC,EAPH,OAQ0BhP,oBAAU,GARpC,mBAQbiP,EARa,KAQIC,EARJ,OASkClP,oBAAU,GAT5C,mBASbmP,EATa,KASQC,EATR,KAWdO,EAAa,uCAAG,0CAAA1N,EAAA,6DAAOmC,EAAP,+BAAgBoY,EACpC1Y,IAAQC,SAASC,OAAOC,SAASC,UACjCsL,GAAqB,GAFD,kBAIK/N,IAAMc,IAAI,kCAAmC,CAAE6B,OAAQ,CAAEE,OAAQF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAU4D,MAAOH,EAAOzD,YAJvH,OAIZ6B,EAJY,OAKlBsM,EAActM,EAASC,KAAKC,OAAOgN,OACnCR,EAAmB1M,EAASC,KAAKsC,OACjC0X,EAAiB,eAAID,EAAL,CAAoB1b,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,iBAAsBb,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EAAxD,YAA6DuE,KAAKC,IAAI3C,EAASC,KAAKsC,MAAOX,EAAOtD,QAAQsD,EAAOzD,UAAjH,eAAiI6B,EAASC,KAAKsC,WAP7R,kDAUZ,KAAMvC,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAbc,QAgBpB0Q,GAAqB,GAhBD,0DAAH,qDAmBbI,EAAiB,uCAAG,0CAAA3N,EAAA,6DAAOmC,EAAP,+BAAgBsY,EACxC5Y,IAAQC,SAASC,OAAOC,SAASC,UACjCoL,GAAyB,GAFD,kBAIC7N,IAAMc,IAAI,4BAA6B,CAAE6B,OAAQ,CAAEE,OAAQF,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAU4D,MAAOH,EAAOzD,YAJ7G,OAIhB6B,EAJgB,OAKtBwM,EAAkBxM,EAASC,KAAKC,OAAOgN,OACvCN,EAAuB5M,EAASC,KAAKsC,OACrC4X,EAAqB,eAAID,EAAL,CAAwB5b,QAAU0B,EAASC,KAAK6B,MAAM9B,EAASC,KAAK8B,MAAO,EAAG5D,SAAU6B,EAASC,KAAK8B,MAAOQ,MAAOvC,EAASC,KAAKsC,MAAOC,UAAW,SAACD,EAAOE,GAAR,iBAAsBb,EAAOtD,QAAQ,GAAGsD,EAAOzD,SAAS,EAAxD,YAA6DuE,KAAKC,IAAI3C,EAASC,KAAKsC,MAAOX,EAAOtD,QAAQsD,EAAOzD,UAAjH,eAAiI6B,EAASC,KAAKsC,WAPjS,kDAUhB,KAAMvC,SACRzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAbkB,QAgBxBwQ,GAAyB,GAhBD,0DAAH,qDAmBjBsN,EAAa,CACjB,CACIva,MAAO,OACP8D,UAAW,YACXX,MAAO,IACPrG,OAAQ,SAACyG,GAAD,OACJ,8BAAM,kBAAC,IAAD,CAAQoK,SAAO,GAAEpK,MAG/B,CACIvD,MAAO,iBACP8D,UAAW,OACX9G,UAAW,OACXF,OAAQ,SAAC+Q,GAAD,OACJ,kBAAC,IAAD,CAAM7J,GAAI,iBAAmB6J,GACzB,kBAAC,IAAY5J,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH6Q,KAIb,CACI7N,MAAO,SACP8D,UAAW,cACX9G,UAAW,OACXF,OAAQ,SAACiR,GAAD,OACN,8BAAOA,EAAY,IAAnB,eAGN,CACI/N,MAAO,UACP8D,UAAW,eACX9G,UAAW,OACXF,OAAQ,SAACkR,GAAD,OACN,8BAAOA,EAAa,IAApB,eAGN,CACIhO,MAAO,cACPhD,UAAW,OACXF,OAAQ,SAACsG,GAAD,OACN,8BAAOP,KAAK0I,MAAMnI,EAAImS,YAAYnS,EAAIoS,UAAtC,cAGN,CACIxV,MAAO,OACPhD,UAAW,OACXF,OAAQ,SAACsG,GACP,IAAIqS,EAAO,EAEX,OADIrS,EAAI2K,YAAY,IAAK0H,EAAOrS,EAAI2K,YAAY3K,EAAI4K,aAAa5K,EAAImS,aAEnE,8BAAOE,EAAK,IAAZ,gBAMJ+E,EAAiB,CACrB,CACIxa,MAAO,OACP8D,UAAW,YACXX,MAAO,IACPrG,OAAQ,SAACyG,GAAD,OACJ,8BAAM,kBAAC,IAAD,CAAQoK,SAAO,GAAEpK,MAG/B,CACIvD,MAAO,aACP8D,UAAW,YACX9G,UAAW,OACXF,OAAQ,SAACiH,GAAD,OACJ,kBAAC,IAAD,CAAMC,GAAI,YAAcD,GACpB,kBAAC,IAAYE,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACtC,kBAAC,IAAD,OAEH+G,MAYf,OANA9G,qBAAU,WACR8C,SAASC,MAAQ,8DACjBsN,IACAC,MACC,IAGD,6BAEE,kBAAC,GAAD,CAAOxI,MAAO,GAAd,oCAGA,kBAAC,GAAD,CAAOA,MAAO,EAAGhG,KAAK,YAAYiG,MAAO,CAAEC,UAAW,UAAtD,mDAEA,kBAAC,GAAD,CAAOF,MAAO,GACZ,kBAAC,IAAYd,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFJ,eAIc,kBAACJ,GAAA,EAAD,CAAOG,MAAO6P,IAC1B,kBAAC,IAAD,CACI7N,KAAK,OACL+Q,KAAM,kBAAC2K,GAAA,EAAD,MACNzZ,QAASkM,EACT9D,QAAS,kBAAMkE,EAAc6M,IAC7Bnd,UAAU,oBAIhB,kBAAC,IAAD,CACEuK,WAAYiF,EACZxJ,QAASuX,EACT7b,WAAYyb,EACZ3S,OAAO,OACPxG,QAASkM,EACT1G,SAAU8G,EACV7F,OAAQ,CAAEC,EAAG,iBAGf,kBAAC,GAAD,CAAO3C,MAAO,EAAGC,MAAO,CAAEC,UAAWuH,EAAa,GAAK,IACnD,kBAAC,IAAYvI,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBACxC,kBAAC,IAAD,OAFN,UAIW,kBAACJ,GAAA,EAAD,CAAOG,MAAO+P,IACrB,kBAAC,IAAD,CACE/N,KAAK,OACL+Q,KAAM,kBAAC2K,GAAA,EAAD,MACNzZ,QAASgM,EACT5D,QAAS,kBAAMmE,EAAkB8M,IACjCrd,UAAU,oBAIhB,kBAAC,IAAD,CACEuK,WAAYmF,EACZ1J,QAASwX,EACT9b,WAAY2b,EACZ7S,OAAO,YACPxG,QAASgM,EACTxG,SAAU+G,EACV9F,OAAQ,CAAEC,EAAG,mBC/KbgT,GAA4BC,IAA5BD,OAAQE,GAAoBD,IAApBC,QAASC,GAAWF,IAAXE,OACjBC,GAAWC,IAAXD,OAEAxd,IADWkL,IAAXD,OACSlL,IAATC,MAqVO0d,OAjVE,SAAAne,GAAU,IAAD,EAEcc,mBAAS,CAACgE,OAAOC,SAASC,WAFxC,mBAEjBoZ,EAFiB,KAEJC,EAFI,OAGAvd,mBAAS,MAHT,mBAGjBwd,EAHiB,KAGXC,EAHW,OAIsBzd,oBAAS,GAJ/B,mBAIjB0d,EAJiB,KAIAC,EAJA,OAKQ3d,mBAAS,MALjB,mBAKjB4d,EALiB,KAKPC,EALO,OAMHC,IAAKC,UAAnBC,EANiB,sBAOkBhe,mBAAS,MAP3B,mBAOjByV,EAPiB,KAOFwI,EAPE,KAyClBC,EAAiB,uCAAG,WAAO3K,GAAP,eAAAtR,EAAA,+EAEGR,IAAMc,IAAI,+BAA+BgR,GAF5C,OAEd/Q,EAFc,OAGpBqb,EAAY,YAAYrb,EAASC,KAAKC,OAAO2H,OAHzB,gDAMhB,KAAM7H,SACNzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cATgB,QAYxB6e,GAAmB,GAZK,yDAAH,sDAejBQ,EAAa,uCAAG,WAAOC,GAAP,eAAAnc,EAAA,+EAEOR,IAAM+P,KAAK,oBAAqB,CAAE4M,KAAMA,IAF/C,OAEV5b,EAFU,OAGhBqb,EAAY,IAAIrb,EAASC,KAAKC,OAAO,IAAI0b,GAHzB,gDAMZ,KAAM5b,SACNzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cATY,QAYpB6e,GAAmB,GAZC,yDAAH,sDAebU,EAAO,uCAAG,4BAAApc,EAAA,+EAEaR,IAAMc,IAAI,aAFvB,OAEJC,EAFI,OAGVib,EAAQjb,EAASC,KAAKC,QAClBF,EAASC,KAAKC,OAAO+S,eACrBwI,EAAiBzb,EAASC,KAAKC,OAAO+S,eALhC,gDASN,KAAMjT,SACNzD,IAAQC,MAAM,KAAMwD,SAASC,KAAKzD,OAElCF,cAZM,yDAAH,qDAiBPwf,EACJ,kBAAC,IAAD,KACE,kBAAC,IAAK3W,KAAN,KACG6V,GAAsB,YAAdA,EAAKe,KACV,kBAAC,IAAD,CAAOxW,OAAO,UAAU8Q,KAAK,mBAE7B,uBAAG9P,OAAO,SAASyV,IAAI,sBAAsBnL,KAAK,+BAC9C,kBAAC,IAAD,CAAOtL,OAAO,UAAU8Q,KAAK,qBAIvC,kBAAC,IAAKlR,KAAN,KACG6V,GAAsB,YAAdA,EAAKe,KACV,kBAAC,IAAD,CAAOxW,OAAO,UAAU8Q,KAAK,mBAE7B,uBAAG9P,OAAO,SAASyV,IAAI,sBAAsBnL,KAAK,uCAC9C,kBAAC,IAAD,CAAOtL,OAAO,UAAU8Q,KAAK,sBAOrC4F,GACJ,kBAAC,IAAD,KACE,kBAAC,IAAK9W,KAAN,KACG6V,GAAsB,YAAdA,EAAKe,KACV,kBAAC,GAAD,gBAEA,uBAAGxV,OAAO,SAASyV,IAAI,sBAAsBnL,KAAK,+BAAlD,YAKN,kBAAC,IAAK1L,KAAN,KACG6V,GAAsB,YAAdA,EAAKe,KACV,kBAAC,GAAD,gBAEA,uBAAGxV,OAAO,SAASyV,IAAI,sBAAsBnL,KAAK,uCAAlD,aA8BV,OAtBA/T,qBAAU,WACJse,IACAc,EAAQzX,KAAK2W,GACbI,EAAWW,cACXd,EAAY,SAEf,CAACD,IAEJte,qBAAU,WACR+e,KACiC,MAA7Bra,OAAOC,SAASC,UAAoBF,OAAOC,SAASC,SAAS8U,SAAS,YACtEuE,EAAe,YAEfvZ,OAAOC,SAASC,SAAS8U,SAAS,WAClCuE,EAAe,aAElB,IAsKL,SAAqB1B,EAAU+C,GAC3B,IAAMC,EAAgBlO,mBAGtBrR,qBAAU,WACRuf,EAAc/d,QAAU+a,IACvB,CAACA,IAGJvc,qBAAU,WAIR,GAAc,OAAVsf,EAAgB,CAClB,IAAIE,EAAKC,aAJX,WACEF,EAAc/d,YAGa8d,GAC3B,OAAO,kBAAMI,cAAcF,OAE5B,CAACF,IArLN1X,EAAY,WACVmX,MACC,KAGD,kBAAC,IAAD,CAAQpN,QAASyN,GACjB,kBAAC3S,EAAD,MACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACA,kBAACgR,GAAD,CAAQ1V,MAAO,CAAEyK,QAAS,EAAGmN,OAAQ,IACjC,kBAAC,IAAD,CAAMC,MAAM,OAAOC,KAAK,aAAa1T,QAzJvB,SAAA1J,GACR,SAAVA,EAAEqH,IACFmU,EAAe,YAEfA,EAAe,CAACxb,EAAEqH,OAqJiDuI,aAAc2L,GACzE,kBAAC,IAAK3V,KAAN,CAAWyB,IAAI,QACX,kBAAC,IAAD,CAAM/C,GAAG,KACL,kBAAC,EAAD,QAGR,kBAAC,IAAKsB,KAAN,CAAWyB,IAAI,YACX,kBAAC,IAAD,CAAM/C,GAAG,KACL,kBAAC,IAAYC,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OAC3D,0BAAMA,UAAU,YAAhB,YAGR,kBAAC,IAAKsI,KAAN,CAAWyB,IAAI,WACX,kBAAC,IAAD,CAAM/C,GAAG,WACT,kBAAC,IAAYC,SAAb,CAAsBC,MAAO,CAAElH,UAAW,mCAAoC,kBAAC,IAAD,OAC1E,0BAAMA,UAAU,YAAhB,YAGR,kBAAC,IAAKsI,KAAN,CAAWyB,IAAI,aACX,kBAAC,IAAD,CAAM/C,GAAG,aACT,kBAAC,IAAYC,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,OACvD,0BAAMA,UAAU,YAAhB,iBAIVme,GAAuB,YAAdA,EAAKe,MAAoC,YAAdf,EAAKe,KAYvC,KAXA,kBAAC,IAAD,CAAUa,QAASd,EAAgBe,QAAS,CAAC,SAAUhgB,UAAU,iBAC7D,kBAAC,IAAD,CAAQigB,OAAK,GACM,YAAd9B,EAAKe,KACF,kBAAC,IAAD,CAAOxW,OAAO,UAAU8Q,KAAK,mBAE7B,kBAAC,IAAD,CAAO9Q,OAAO,UAAU8Q,KAAK,mBAEjC,kBAAC0G,EAAA,EAAD,SAOhB,kBAACtC,GAAD,CAAS5V,MAAO,CAAEyK,QAAS,GAAImN,OAAQ,IACnC,kBAAC,IAAD,CAAMO,KAAMxB,EAAYyB,cAAe,CAAE3O,OAAQ,KAC7C,kBAAC,IAAKnJ,KAAN,CAAW4W,KAAK,SAASlX,MAAO,CAAE8B,aAAc,IAC5C,kBAACgU,GAAD,CACInL,YAAY,kCACZtK,KAAK,QACLgY,aAAW,EACXC,SAAU,SAACpZ,GAAwB,KAARA,GA5L5B,SAACA,GACpBoX,GAAmB,GACnB,IAAIiC,EAAQ,QAAQC,KAAKtZ,GACrBuZ,EAAS,sBAAsBD,KAAKtZ,GACpCqZ,GAASvD,OAAO0D,SAASxZ,IAAU,EACnC2X,EAAkB7B,OAAO0D,SAASxZ,IAE7BuZ,EACL3B,EAAc5X,GAETyZ,yBAAezZ,IACpBoX,GAAmB,GACnBE,EAAY,cAActX,KAG1BoX,GAAmB,GACnB5e,IAAQye,KAAK,qBA4K4CyC,CAAa1Z,IACtDlD,QAASqa,EACTwC,YAAY,EACZC,aAAa,MACbrY,SAAU4V,MAItB,yBAAKlV,MAAM,YACP,uBAAG6K,KAAK,2BAA2BtK,OAAO,UACtC,sEAA2B,kBAAC,IAAYzC,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gCAAiC,kBAAC,IAAD,SACtG,6BAHR,mGAOJ,kBAAC4d,GAAD,CAAS5V,MAAO,CAAEyK,QAAS,mBAAoBmN,OAAQ,IACnD,kBAAC,IAAD,KACI,kBAAC,IAAD,CAAOmB,OAAK,EAACC,KAAK,IAAIC,UAAW5R,KACjC,kBAAC,IAAD,CAAO0R,OAAK,EAACC,KAAK,WAAWC,UAAW5R,KACxC,kBAAC,IAAD,CAAO2R,KAAK,kBAAkBlhB,OAAQ,SAACD,GAAD,OAAW,kBAAC,GAAD,eAAQuW,cAAeA,GAAmBvW,OAC3F,kBAAC,IAAD,CAAOkhB,OAAK,EAACC,KAAK,UAAUC,UAAW7P,KACvC,kBAAC,IAAD,CAAO4P,KAAK,mBAAmBC,UAAWxgB,OAC1C,kBAAC,IAAD,CAAOugB,KAAK,kBAAkBC,UAAWjK,KACzC,kBAAC,IAAD,CAAOgK,KAAK,kBAAkBC,UAAW/I,KACzC,kBAAC,IAAD,CAAO8I,KAAK,kBAAkBC,UAAW3J,KACzC,kBAAC,IAAD,CAAO0J,KAAK,mBAAmBC,UAAWpI,KAC1C,kBAAC,IAAD,CAAOmI,KAAK,sBAAsBC,UAAWtW,OAC7C,kBAAC,IAAD,CAAOqW,KAAK,sBAAsBC,UAAWjH,KAC7C,kBAAC,IAAD,CAAOgH,KAAK,sBAAsBC,UAAW5F,KAC7C,kBAAC,IAAD,CAAO0F,OAAK,EAACC,KAAK,YAAYC,UAAWxE,KACzC,kBAAC,IAAD,CAAOsE,OAAK,EAACC,KAAK,WAAWC,UAAW/D,KACxC,kBAAC,IAAD,CAAO6D,OAAK,EAACC,KAAK,aAAaC,UAAWtN,KAC1C,kBAAC,IAAD,CAAOsN,UAAWpN,OAG1B,kBAACgK,GAAD,gBACM,kBAAC,IAAD,CAAQjX,OAAO,OAAOC,OAAK,IADjC,4BAEI,8BACEsX,GAAuB,YAAdA,EAAKe,MAAoC,YAAdf,EAAKe,KAevC,KAdA,8BACA,kBAAC,IAAD,CAAUa,QAASX,GAAsBY,QAAS,CAAC,SAAUkB,UAAU,WACnE,uBAAGlhB,UAAU,oBAAoBoM,QAAS,SAAA1J,GAAC,OAAIA,EAAEye,mBAC9B,YAAdhD,EAAKe,KACF,yCAEA,yCAEJ,kBAACgB,EAAA,EAAD,CAAclY,MAAO,CAAEoZ,WAAY,OAG3C,kBAAC,IAAD,CAASrf,KAAK,cAftB,UAtPQ,QA2QJ,kBAAC,IAAD,CAASA,KAAK,aArBlB,WAsBUoc,EAAOA,EAAKkD,QAAU,kBAACC,EAAA,EAAD,CAAiBtZ,MAAO,CAAEoZ,WAAY,EAAGlF,YAAa,KAClF,kBAAC,IAAD,CAASna,KAAK,aACd,kBAAC,IAAD,CAAMiF,GAAG,aAAaoF,QA3PH,WAC3B8R,EAAe,QA0PP,aAGCC,EACG,yBAAKne,UAAU,WACX,yBAAKA,UAAU,gBACX,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,mBAAkB,kBAAC,IAAD,QAChI,0BAAMhD,UAAU,QAAQme,EAAKoD,YAEjC,yBAAKvhB,UAAU,gBACX,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,eAAc,kBAAC,IAAD,QAC5H,0BAAMhD,UAAU,QAAQme,EAAKqD,mBAEhCrD,EAAK/H,eAAiB+H,EAAK/H,cAAcC,IACtC,yBAAKrW,UAAU,gBACX,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,yBAAwB,kBAAC,IAAD,QAD1I,QAES,0BAAMhD,UAAU,QAAQme,EAAK/H,cAAcC,MAGpD,KAEH8H,EAAK/H,eAAiB+H,EAAK/H,cAAcK,IAC1C,yBAAKzW,UAAU,gBACX,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,0BAAyB,kBAAC,IAAD,QAD3I,QAES,0BAAMhD,UAAU,QAAQme,EAAK/H,cAAcK,MAGhD,KAEH0H,EAAK/H,eAAiB+H,EAAK/H,cAAcM,IAC1C,yBAAK1W,UAAU,gBACX,kBAAC,IAAYiH,SAAb,CAAsBC,MAAO,CAAElH,UAAW,gBAAiB,kBAAC,IAAD,CAASwI,iBAAiB,mBAAmBxF,MAAM,wBAAuB,kBAAC,IAAD,QADzI,QAES,0BAAMhD,UAAU,QAAQme,EAAK/H,cAAcM,MAGhD,MAIZ,U,OC7VZtU,IAAMqf,SAASC,QAAUC,GACzBld,IAAQmd,WAAWD,kBAEnB,IAkBeE,GAlBH,WAAO,IAAD,EACYlhB,oBAAS,GADrB,mBACTmhB,EADS,KACDC,EADC,KAehB,OAJA9hB,qBAAU,WACR8hB,GAAU,KACT,IAEI,6BAXDD,EACK,kBAAC,GAAD,MAEA,kBAAC,IAAD,CAAMzZ,KAAK,QAAQrI,UAAU,aCLtBgiB,QACW,cAA7Brd,OAAOC,SAASqd,UAEe,UAA7Btd,OAAOC,SAASqd,UAEhBtd,OAAOC,SAASqd,SAASvhB,MACvB,2DCZNwhB,IAASpiB,OACP,kBAAC,IAAMqiB,WAAP,KACE,kBAAC,GAAD,OAEFpf,SAASqf,eAAe,SDyHpB,kBAAmBC,WACrBA,UAAUC,cAAcC,MACrBle,MAAK,SAAAme,GACJA,EAAaC,gBAEdle,OAAM,SAAA5E,GACL+iB,QAAQ/iB,MAAMA,EAAMD,c","file":"static/js/main.3e518b8c.chunk.js","sourcesContent":["import React from 'react';\nimport { message } from 'antd';\n\nexport function NotifyNetworkError() {\n message.error('Explorer API is unavailable');\n\n return ;\n}","import React, { useEffect } from 'react';\n\nconst Count = props => {\n\n const render = (count) => {\n if (count>=0) {\n return {count};\n } else {\n return null;\n }\n }\n\n useEffect(() => {\n render(props.count);\n }, [props.count]);\n\n return render(props.count);\n\n};\n\nexport default Count;","module.exports = __webpack_public_path__ + \"static/media/logo.6607f963.svg\";","import React, { useState, useEffect } from 'react';\nimport useInterval from 'use-interval'\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/javascript';\nimport monoBlue from 'react-syntax-highlighter/dist/esm/styles/hljs/mono-blue';\nimport { Base64 } from 'js-base64';\n\nimport {\n Typography,\n Descriptions,\n Skeleton,\n Alert,\n Table,\n Tooltip,\n message,\n Tag,\n Radio,\n Tabs\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiInformationLine, RiFileList2Line, RiQuestionLine, RiPriceTag3Line, RiFileCopy2Line, RiCheckboxCircleLine, RiLoader4Line\n} from 'react-icons/ri';\n\nimport Countdown, { zeroPad } from 'react-countdown';\n\nimport Moment from 'react-moment';\nimport moment from 'moment';\nimport axios from 'axios';\nimport axiosRetry from 'axios-retry';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\nimport ExtID from './../common/ExtID';\n\nconst { Title, Text } = Typography;\nconst { TabPane } = Tabs;\n\nconst Chain = ({ match }) => {\n\n const [chain, setChain] = useState(null);\n const [firstEntry, setFirstEntry] = useState(null);\n const [tableIsLoading, setTableIsLoading] = useState(true);\n const [entries, setEntries] = useState(null);\n const [totalEntries, setTotalEntries] = useState(-1);\n const [pagination, setPagination] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const [error, setError] = useState(null);\n const [isPending, setIsPending] = useState(false);\n\n const defaultType = \"ASCII\";\n const [type, setType] = useState(defaultType);\n const [jsonDisabled, setJSONDisabled] = useState(true);\n\n const CancelToken = axios.CancelToken;\n const source = CancelToken.source();\n\n const handleChange = event => {\n setType(event.target.value);\n };\n\n const CountdownRenderer = ({ minutes, seconds }) => {\n return {zeroPad(minutes)}:{zeroPad(seconds)};\n };\n\n function IsJsonString(str) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n const getChain = async (chainID = chainID, force = true) => {\n if (force) {\n document.title = \"Chain \" + chainID + \" | Factom Realtime Explorer\";\n source.cancel();\n setIsPending(false);\n setChain(null);\n setEntries(null);\n setTotalEntries(-1);\n setError(null);\n setPagination({...pagination, current: 1});\n }\n try {\n const response = await axios.get('/explorer/chains/'+chainID);\n setIsPending(false);\n setChain(response.data.result);\n const firstEntryResponse = await axios.get('/explorer/chains/'+chainID+'/entries/first');\n if (firstEntryResponse.data.result) {\n setFirstEntry(firstEntryResponse.data.result);\n if ([...Base64.decode(firstEntryResponse.data.result.content)].some(char => char.charCodeAt(0) < 32 || (char.charCodeAt(0) > 127 && char.charCodeAt(0) < 256))) {\n setType(\"Base64\");\n } else {\n if (IsJsonString(Base64.decode(firstEntryResponse.data.result.content))) {\n setJSONDisabled(false);\n setType(\"JSON\");\n } else {\n setType(\"ASCII\");\n }\n }\n }\n }\n catch(error) {\n if (error.response) {\n if (force) {\n const pendingRequest = axios.create();\n const hide = message.loading('Checking pending chains', 0);\n axiosRetry(pendingRequest, { retries: 5, retryDelay: axiosRetry.exponentialDelay });\n pendingRequest.get('/explorer/pending_chains/'+chainID)\n .then(resp => {\n setIsPending(true);\n setChain(resp.data.result);\n })\n .catch(error => {\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n })\n .finally(function() {\n ReactGA.pageview(window.location.pathname);\n hide();\n })\n }\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const getEntries = async (params = pagination, filters, sorter) => {\n ReactGA.pageview(window.location.pathname);\n setTableIsLoading(true);\n\n let start = 0;\n let limit = 10;\n let showTotalStart = 1;\n let showTotalFinish = 10;\n let sort = \"desc\";\n\n if (params) {\n start = (params.current-1)*params.pageSize;\n limit = params.pageSize;\n showTotalStart = (params.current-1)*params.pageSize+1;\n showTotalFinish = params.current*params.pageSize;\n }\n\n if (sorter) {\n switch (sorter.order) {\n case 'ascend':\n sort = \"asc\";\n break;\n case 'descend':\n sort = \"desc\";\n break;\n }\n }\n\n try {\n const response = await axios.get('/explorer/chains/'+chain.chainId+'/entries', { params: { start: start, limit: limit, sort: sort }, cancelToken: source.token } );\n setEntries(response.data.result);\n setPagination({...pagination, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${showTotalStart}-${Math.min(response.data.total, showTotalFinish)} of ${response.data.total}`});\n setTotalEntries(response.data.total);\n }\n catch(error) {\n if (error.response) {\n if (error.response.data.error) {\n message.error(error.response.data.error);\n }\n } else {\n if (!axios.isCancel(error)) {\n NotifyNetworkError();\n }\n }\n }\n setTableIsLoading(false);\n }\n\n const columns = [\n {\n title: 'Timestamp (UTC+'+ -(new Date().getTimezoneOffset() / 60) + ')',\n className: 'code',\n sorter: true,\n width: 30,\n render: (row) => {\n let entryTime = moment(row.createdAt);\n let entryBlockTime = moment(row.entryBlockTime);\n let diff = moment.duration(entryTime.diff(entryBlockTime)).asMinutes();\n if (diff < 60) {\n return (\n {row.createdAt}\n )\n }\n return (\n {row.entryBlockTime}\n )\n }\n },\n {\n title: 'Entry Hash',\n dataIndex: 'entryHash',\n className: 'code',\n render: (entryHash) => (\n \n \n \n \n {entryHash}\n \n )\n },\n {\n title: 'Entry Block',\n dataIndex: 'entryBlock',\n className: 'code',\n render: (entryBlock) => (\n \n \n \n \n {entryBlock}\n \n )\n },\n {\n title: 'External IDs',\n dataIndex: 'extIds',\n render: (extIds) => {\n if (extIds !== null) {\n var items = extIds.slice(0,3).map((item) => {item});\n let extra = extIds.length-3;\n if (extra > 0) {\n items.push(+{extra} more);\n }\n return {items};\n } else {\n return null;\n }\n }\n },\n ];\n\n useInterval(() => {\n getChain(match.params.chainid, false);\n }, isPending ? 5000 : null);\n\n useEffect(() => {\n if (chain && !isPending) {\n getEntries();\n }\n }, [chain]);\n\n useEffect(() => {\n getChain(match.params.chainid, true);\n }, [match.params.chainid]);\n\n useEffect(() => {\n // returned function will be called on component unmount \n return () => {\n source.cancel();\n }\n }, []);\n\n return (\n
\n Chain\n {match.params.chainid}\n {chain ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Chain Info\n \n \n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n {chain.createdAt ? (\n {chain.createdAt}\n ) :\n N/A\n }\n \n Chain ID}>\n {chain.chainId}\n \n Status}>\n {chain.status === \"completed\" ? (\n \n Confirmed\n \n ) : \n
\n \n Pending\n \n ≈ \n
\n }\n
\n
\n\n {!isPending ? (\n\n
\n\n \n <nobr>\n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiPriceTag3Line />\n </IconContext.Provider>\n External IDs\n <IconContext.Provider value={{ className: 'react-icons-tooltip' }}>\n <Tooltip overlayClassName=\"explorer-tooltip\" title=\"External IDs (ExtID) are intended to provide any sort of tagging information for Chains and Entries that applications may find useful.\">\n <RiQuestionLine />\n </Tooltip>\n </IconContext.Provider>\n </nobr>\n \n\n {chain.extIds ? (\n
\n {chain.extIds.map((item) => {item})}\n
\n ) :\n
\n \n
\n }\n\n \n <nobr>\n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n First Entry\n <IconContext.Provider value={{ className: 'react-icons-tooltip' }}>\n <Tooltip overlayClassName=\"explorer-tooltip\" title=\"The content of the first Entry of this Chain.\">\n <RiQuestionLine />\n </Tooltip>\n </IconContext.Provider>\n </nobr>\n \n\n {firstEntry ? (\n
\n {firstEntry.content ? (\n
\n \n ASCII\n JSON\n Base64\n Hex\n \n\n \n \n
{Base64.decode(firstEntry.content)}
\n
\n \n {!jsonDisabled ? ( {JSON.stringify(JSON.parse(Base64.decode(firstEntry.content)), null, 4)} ) : null}\n \n \n
{firstEntry.content}
\n
\n \n
{Buffer.from(firstEntry.content, 'base64').toString('hex')}
\n
\n
\n
\n ) :\n
\n \n
\n }\n
\n ) :\n
\n \n
\n }\n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Entries\n <Count count={totalEntries ? totalEntries : 0} />\n \n\n \n\n
\n\n ) :\n null\n }\n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Chain Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiPriceTag3Line />\n </IconContext.Provider>\n External IDs\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n First Entry\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Entries\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default Chain;\n","import React, { useState, useEffect } from 'react';\nimport useInterval from 'use-interval'\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/javascript';\nimport monoBlue from 'react-syntax-highlighter/dist/esm/styles/hljs/mono-blue';\nimport { Base64 } from 'js-base64';\n\nimport Countdown, { zeroPad } from 'react-countdown';\n\nimport {\n Typography,\n Descriptions,\n Skeleton,\n Alert,\n Tooltip,\n Tag,\n Radio,\n Tabs,\n message\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiInformationLine, RiFileList2Line, RiQuestionLine, RiPriceTag3Line, RiLinksLine, RiFileCopy2Line, RiCheckboxCircleLine, RiLoader4Line\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\nimport axiosRetry from 'axios-retry';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport ExtID from './../common/ExtID';\n\nconst { Title, Text } = Typography;\nconst { TabPane } = Tabs;\n\nconst Entry = ({ match }) => {\n\n const [entry, setEntry] = useState(null);\n const [error, setError] = useState(null);\n\n const defaultType = \"ASCII\";\n const [type, setType] = useState(defaultType);\n const [jsonDisabled, setJSONDisabled] = useState(true);\n const [isPending, setIsPending] = useState(false);\n\n const CountdownRenderer = ({ minutes, seconds }) => {\n return {zeroPad(minutes)}:{zeroPad(seconds)};\n };\n\n const handleChange = event => {\n setType(event.target.value);\n };\n\n function IsJsonString(str) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n const getEntry = async (entryHash = entryHash, force = true) => {\n \n if (force) {\n document.title = \"Entry \" + entryHash + \" | Factom Realtime Explorer\";\n setIsPending(false);\n setJSONDisabled(true);\n setType(defaultType);\n setEntry(null);\n setError(null);\n }\n try {\n const response = await axios.get('/explorer/entries/'+entryHash);\n setEntry(response.data.result);\n setIsPending(false);\n if (force) {\n if (response.data.result.content) {\n if ([...Base64.decode(response.data.result.content)].some(char => char.charCodeAt(0) < 32 || (char.charCodeAt(0) > 127 && char.charCodeAt(0) < 256))) {\n setType(\"Base64\");\n } else {\n if (IsJsonString(Base64.decode(response.data.result.content))) {\n setJSONDisabled(false);\n setType(\"JSON\");\n } else {\n setType(\"ASCII\");\n }\n }\n }\n }\n }\n catch(error) {\n if (error.response) {\n if (force) {\n const pendingRequest = axios.create();\n const hide = message.loading('Checking pending entries', 0);\n axiosRetry(pendingRequest, { retries: 5, retryDelay: axiosRetry.exponentialDelay });\n pendingRequest.get('/explorer/pending_entries/'+entryHash)\n .then(resp => {\n setIsPending(true);\n setEntry(resp.data.result);\n if (resp.data.result.content) {\n if ([...Base64.decode(resp.data.result.content)].some(char => char.charCodeAt(0) < 32 || (char.charCodeAt(0) > 127 && char.charCodeAt(0) < 256))) {\n setType(\"Base64\");\n } else {\n if (IsJsonString(Base64.decode(resp.data.result.content))) {\n setJSONDisabled(false);\n setType(\"JSON\");\n } else {\n setType(\"ASCII\");\n }\n }\n }\n })\n .catch(error => {\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n })\n .finally(function() {\n hide();\n })\n }\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n function EntryBlocks(props) {\n const data = props.data;\n const items = data.map((item) =>\n \n \n \n \n \n {item.keyMR}\n \n
\n
\n );\n return (\n {items}\n );\n }\n\n useInterval(() => {\n getEntry(match.params.entryhash, false);\n }, isPending ? 5000 : null);\n\n useEffect(() => {\n ReactGA.pageview(window.location.pathname);\n getEntry(match.params.entryhash, true);\n }, [match.params.entryhash]);\n\n return (\n
\n Entry\n {match.params.entryhash}\n {entry ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Entry Info\n \n \n Block Height}>\n {entry.parentDBlock ? (\n \n \n {entry.parentDBlock.dbHeight}\n \n \n ) :\n N/A\n }\n \n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n \n {(entry.entryBlocks && (entry.entryBlocks.length>1)) ? (\n \n {entry.entryBlocks[0].timestamp}\n \n ) :\n \n {entry.createdAt}\n \n }\n \n \n Entry Hash}>\n {entry.entryHash}\n \n Status}>\n {entry.status === \"completed\" ? (\n \n Confirmed\n \n ) : \n
\n \n Pending\n \n ≈ \n
\n }\n
\n Chain ID}>\n \n \n \n \n \n {entry.chainId}\n \n \n \n EBlock(s)}>\n {entry.entryBlocks && entry.entryBlocks[0] ? (\n \n ) :\n N/A\n }\n \n
\n\n \n <nobr>\n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiPriceTag3Line />\n </IconContext.Provider>\n External IDs\n <IconContext.Provider value={{ className: 'react-icons-tooltip' }}>\n <Tooltip overlayClassName=\"explorer-tooltip\" title=\"External IDs (ExtID) are intended to provide any sort of tagging information for Chains and Entries that applications may find useful.\">\n <RiQuestionLine />\n </Tooltip>\n </IconContext.Provider>\n </nobr>\n \n\n {entry.extIds ? (\n
\n {entry.extIds.map((item) => {item})}\n
\n ) :\n
\n \n
\n }\n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Content\n \n\n {entry.content ? (\n
\n \n ASCII\n JSON\n Base64\n Hex\n \n\n \n \n
{Base64.decode(entry.content)}
\n
\n \n {!jsonDisabled ? ( {JSON.stringify(JSON.parse(Base64.decode(entry.content)), null, 4)} ) : null}\n \n \n
{entry.content}
\n
\n \n
{Buffer.from(entry.content, 'base64').toString('hex')}
\n
\n
\n
\n ) :\n
\n \n
\n }\n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Entry Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiPriceTag3Line />\n </IconContext.Provider>\n External IDs\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Content\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default Entry;\n","import React, { useState } from 'react';\nimport { Select, Input, Typography } from 'antd';\nimport { Base64 } from 'js-base64';\n\nconst { Option } = Select;\nconst { Text } = Typography;\n\nconst ExtID = props => {\n \n const textBase64 = props.children;\n const textRaw = Base64.decode(props.children);\n const textHex = Buffer.from(props.children, 'base64').toString('hex');\n\n const defaultType = ([...textRaw].some(char => char.charCodeAt(0) < 32 || (char.charCodeAt(0) > 127 && char.charCodeAt(0) < 256))) ? \"Base64\" : \"ASCII\";\n const [type, setType] = useState(defaultType);\n const [current, setCurrent] = useState(defaultType === \"Base64\" ? textBase64 : textRaw);\n const [currentShort, setCurrentShort] = useState(current.length > 32 ? current.substring(0,32)+\"…\" : current);\n\n let cssClass = (props.compact) ? \"extid-compact\" : \"\";\n\n const handleChange = event => {\n setType(event);\n switch (event) {\n case 'Base64':\n setCurrent(textBase64);\n break;\n case 'ASCII':\n setCurrent(textRaw);\n break;\n case 'Hex':\n setCurrent(textHex);\n break;\n }\n };\n\n const handleClick = (type, defaultType) => {\n if (defaultType === \"ASCII\") {\n switch (type) {\n case 'ASCII':\n setType('Base64');\n setCurrentShort(textBase64.length > 32 ? textBase64.substring(0,32)+\"…\" : textBase64);\n break;\n case 'Base64':\n setType('Hex');\n setCurrentShort(textHex.length > 32 ? textHex.substring(0,32)+\"…\" : textHex);\n break;\n case 'Hex':\n setType('ASCII');\n setCurrentShort(textRaw.length > 32 ? textRaw.substring(0,32)+\"…\" : textRaw);\n break;\n }\n } else {\n switch (type) {\n case 'Base64':\n setType('Hex');\n setCurrentShort(textHex.length > 32 ? textHex.substring(0,32)+\"…\" : textHex);\n break;\n case 'Hex':\n setType('Base64');\n setCurrentShort(textBase64.length > 32 ? textBase64.substring(0,32)+\"…\" : textBase64);\n break;\n }\n }\n };\n\n return (\n \n {!props.compact ? (\n \n ) :\n handleClick(type, defaultType)}>\n {type}\n \n }\n {(props.children.length > 0) ? (\n \n {!props.compact ? (\n current\n ) :\n currentShort\n }\n \n ) :\n Empty\n }\n \n );\n\n};\n\nexport default ExtID;\n","import React from 'react';\nimport logo from './../../logo.svg';\n\nfunction Logo() {\n return \"Logo\";\n}\n\nexport default Logo;\n","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport default function ScrollToTop() {\n const { pathname } = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n\n return null;\n}","import { createBrowserHistory } from 'history';\nexport default createBrowserHistory();","import React, { useState, useEffect } from 'react';\nimport {\n Row,\n Col,\n Card,\n Carousel,\n Skeleton,\n Typography\n} from 'antd';\n\nimport { ArrowUpOutlined, ArrowDownOutlined } from '@ant-design/icons';\n\nimport axios from 'axios';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiFileList2Line, RiLinksLine, RiExchangeLine\n} from 'react-icons/ri';\n\nconst { Title, Text } = Typography;\n\nconst Stats = props => {\n\n const [entries, setEntries] = useState(-1);\n const [chains, setChains] = useState(-1);\n const [txs, setTxs] = useState(-1);\n const [entriesChange, setEntriesChange] = useState(0);\n const [chainsChange, setChainsChange] = useState(0);\n const [txsChange, setTxsChange] = useState(0);\n const [entriesChangeClass, setEntriesChangeClass] = useState(\"0\");\n const [chainsChangeClass, setChainsChangeClass] = useState(\"0\");\n const [txsChangeClass, setTxsChangeClass] = useState(\"0\");\n const [entriesChangeIcon, setEntriesChangeIcon] = useState(null);\n const [chainsChangeIcon, setChainsChangeIcon] = useState(null);\n const [txsChangeIcon, setTxsChangeIcon] = useState(null);\n\n const getStats = () => {\n axios.get('/explorer/stats')\n .then(function(response) {\n setEntries(response.data.result.entries);\n setChains(response.data.result.chains);\n setTxs(response.data.result.txs);\n\n if (response.data.result.prevEntries > 0) {\n let change = Math.round(((response.data.result.entries/response.data.result.prevEntries-1)*100) * 100) / 100;\n setEntriesChange(change);\n if (change > 0) {\n setEntriesChangeClass(\"up\");\n setEntriesChangeIcon();\n } else if (change < 0) {\n setEntriesChange(change*-1);\n setEntriesChangeClass(\"down\");\n setEntriesChangeIcon();\n }\n }\n if (response.data.result.prevChains > 0) {\n let change = Math.round(((response.data.result.chains/response.data.result.prevChains-1)*100) * 100) / 100;\n setChainsChange(change);\n if (change > 0) {\n setChainsChangeClass(\"up\");\n setChainsChangeIcon();\n } else if (change < 0) {\n setChainsChange(change*-1);\n setChainsChangeClass(\"down\");\n setChainsChangeIcon();\n }\n }\n if (response.data.result.prevTxs > 0) {\n let change = Math.round(((response.data.result.txs/response.data.result.prevTxs-1)*100) * 100) / 100;\n setTxsChange(change);\n if (change > 0) {\n setTxsChangeClass(\"up\");\n setTxsChangeIcon();\n } else if (change < 0) {\n setTxsChange(change*-1);\n setTxsChangeClass(\"down\");\n setTxsChangeIcon();\n }\n }\n\n });\n }\n\n useEffect(() => getStats(), []);\n\n return (\n
\n \n \n \n \n \n
\n Entries / 7d\n
\n {entries === -1 ? (\n \n ) : \n
\n {entries.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n {entriesChangeIcon}{entriesChange} %\n
\n }\n
\n \n \n \n \n \n
\n Active Chains / 7d\n
\n {chains === -1 ? (\n \n ) : \n
\n {chains.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n {chainsChangeIcon}{chainsChange} %\n
\n }\n
\n \n \n \n \n \n
\n Factoid Txs / 7d\n
\n {txs === -1 ? (\n \n ) : \n
\n {txs.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n {txsChangeIcon}{txsChange} %\n
\n }\n
\n \n
\n \n \n \n \n \n \n
\n Entries / 7d\n
\n {entries === -1 ? (\n \n ) : \n
\n {entries.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n {entriesChangeIcon}{entriesChange} %\n
\n }\n
\n \n \n \n
\n Active Chains / 7d\n
\n {chains === -1 ? (\n \n ) : \n
\n {chains.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n {chainsChangeIcon}{chainsChange} %\n
\n }\n
\n \n \n \n
\n Factoid Txs / 7d\n
\n {txs === -1 ? (\n \n ) : \n
\n {txs.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n {txsChangeIcon}{txsChange} %\n
\n }\n
\n
\n \n
\n
\n );\n\n};\n\nexport default Stats;\n","import React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport {\n Typography,\n Table,\n message,\n Row,\n Col,\n Divider,\n Button\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiExchangeLine, RiFileList2Line\n} from 'react-icons/ri';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Stats from './../common/Stats';\n\nconst { Title, Text } = Typography;\n\nconst DBlocks = () => {\n\n const [dBlocks, setDBlocks] = useState([]);\n const [tableIsLoading, setTableIsLoading] = useState(true);\n const [pagination, setPagination] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const [pendingTxs, setPendingTxs] = useState([]);\n const [pendingEntries, setPendingEntries] = useState([]);\n const [totalPendingTxs, setTotalPendingTxs] = useState(0);\n const [totalPendingEntries, setTotalPendingEntries] = useState(0);\n const [tableEntriesIsLoading, setTableEntriesIsLoading] = useState(true);\n const [tableTxsIsLoading, setTableTxsIsLoading] = useState(true);\n\n const getDBlocks = async (params = pagination) => {\n ReactGA.pageview(window.location.pathname);\n setTableIsLoading(true);\n try {\n const response = await axios.get('/explorer/dblocks', { params: { start: (params.current-1)*params.pageSize, limit: params.pageSize } });\n setDBlocks(response.data.result.Items);\n setPagination({...pagination, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${(params.current-1)*params.pageSize+1}-${Math.min(response.data.total, params.current*params.pageSize)} of ${response.data.total}`});\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableIsLoading(false);\n }\n\n const getPendingTxs = async () => {\n try {\n const response = await axios.get('/explorer/pending_ftransactions', { params: { limit: 3 } });\n setPendingTxs(response.data.result.Items);\n setTotalPendingTxs(response.data.total);\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableTxsIsLoading(false);\n }\n\n const getPendingEntries = async () => {\n try {\n const response = await axios.get('/explorer/pending_entries', { params: { limit: 3 } });\n setPendingEntries(response.data.result.Items);\n setTotalPendingEntries(response.data.total);\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableEntriesIsLoading(false);\n }\n\n const columns = [\n {\n title: 'Height',\n key: 'dbHeight',\n className: 'code',\n width: 30,\n render: (row) => (\n \n {row.dbHeight}\n \n )\n },\n {\n title: 'Timestamp (UTC+'+ -(new Date().getTimezoneOffset() / 60) + ')',\n dataIndex: 'timestamp',\n className: 'code',\n width: 30,\n render: (timestamp) => (\n {timestamp*60}\n )\n },\n {\n title: 'DBlock KeyMR',\n dataIndex: 'keyMR',\n className: 'code',\n render: (keyMR) => (\n \n \n \n \n {keyMR}\n \n )\n },\n {\n title: 'Factoid Txs',\n dataIndex: 'factoidCount',\n className: 'code',\n align: 'center'\n },\n {\n title: 'Entry Blocks',\n dataIndex: 'blockCount',\n className: 'code',\n align: 'center',\n render: (blockCount) => (\n {blockCount-3}\n )\n },\n {\n title: 'Entries',\n dataIndex: 'entriesCount',\n className: 'code',\n align: 'center'\n },\n ];\n\n const columnsPendingEntries = [\n {\n title: 'Latest Pending Entries',\n render: (item) => (\n
\n \n \n \n \n \n {item.entryHash}\n \n \n
\n {item.createdAt}\n
\n )\n }\n ];\n\n const columnsPendingTxs = [\n {\n title: 'Latest Pending Transactions',\n render: (item) => (\n
\n \n \n \n \n \n {item.txId}\n \n \n
\n \n {item.createdAt}\n \n {Math.max(item.totalInputs/100000000, item.totalOutputs/100000000)} FCT\n \n
\n )\n }\n ];\n\n useEffect(() => {\n document.title = \"DBlocks | Factom Realtime Explorer\";\n getDBlocks();\n getPendingEntries();\n getPendingTxs();\n }, []);\n\n return (\n
\n\n
\n \n
\n\n \n \n\n Directory Blocks\n\n \n\n \n \n\n {dBlocks.length > 0 ? (\n \n \n \n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Pending Entries\n \n
\n \n Entries to be included in the next Directory Block\n \n
\n }\n />\n\n \n\n \n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Pending Transactions\n \n
\n \n Transactions to be included in the next Directory Block\n \n
\n }\n />\n\n \n\n
\n ) : null\n }\n\n
\n );\n}\n\nexport default DBlocks;\n","import React, { useState, useEffect, useRef } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link, useHistory } from 'react-router-dom';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\nimport { Base64 } from 'js-base64';\n\nimport {\n Typography,\n Table,\n message,\n Tag,\n Input,\n Space,\n Button\n} from 'antd';\n\nimport { SearchOutlined } from '@ant-design/icons';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiLinksLine\n} from 'react-icons/ri';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport ExtID from './../common/ExtID';\n\nconst { Title } = Typography;\n\nconst Chains = ({ location }) => {\n\n const [chains, setChains] = useState([]);\n const [tableIsLoading, setTableIsLoading] = useState(true);\n const [pagination, setPagination] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const searchExtIds = useRef(null);\n const [extIds, setExtIds] = useState(() => {\n let searchParams = new URLSearchParams(location.search);\n if (searchParams.has(\"q\") && searchParams.get(\"q\") !== \"\") {\n return [searchParams.get(\"q\")];\n }\n return [];\n });\n const history = useHistory();\n\n const getChains = async (params = pagination) => {\n history.push('/chains');\n document.title = \"Chains | Factom Realtime Explorer\";\n setTableIsLoading(true);\n try {\n const response = await axios.get('/explorer/chains', { params: { start: (params.current-1)*params.pageSize, limit: params.pageSize } });\n setChains(response.data.result.Items);\n setPagination({...pagination, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${(params.current-1)*params.pageSize+1}-${Math.min(response.data.total, params.current*params.pageSize)} of ${response.data.total}`});\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableIsLoading(false);\n }\n\n const searchChains = async (params = pagination) => {\n let searchParams = new URLSearchParams();\n searchParams.append('q', extIds[0]);\n history.push('/chains?'+searchParams.toString());\n document.title = \"Chains \"+extIds[0]+\" | Factom Realtime Explorer\";\n setTableIsLoading(true);\n try {\n let ext = [];\n ext.push(Base64.encode(extIds));\n const response = await axios.post('/explorer/chains/search', { extIds: ext }, { params: { start: (params.current-1)*params.pageSize, limit: params.pageSize } });\n setChains(response.data.result.Items);\n setPagination({...pagination, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${(params.current-1)*params.pageSize+1}-${Math.min(response.data.total, params.current*params.pageSize)} of ${response.data.total}`});\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableIsLoading(false);\n }\n\n const handleChange = (params = pagination) => {\n if (extIds.length > 0) {\n searchChains(params);\n } else {\n getChains(params);\n }\n }\n\n const columns = [\n {\n title: 'Timestamp (UTC+'+ -(new Date().getTimezoneOffset() / 60) + ')',\n dataIndex: 'createdAt',\n className: 'code',\n width: 30,\n render: (createdAt) => (\n {createdAt}\n )\n },\n {\n title: 'Chain ID',\n dataIndex: 'chainId',\n className: 'code',\n render: (chainId) => (\n \n \n \n \n {chainId}\n \n )\n },\n {\n title: 'External IDs',\n dataIndex: 'extIds',\n className: 'filter-extid',\n filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => {\n return (\n
\n { setSelectedKeys(e.target.value ? [e.target.value] : []); setExtIds(e.target.value ? [e.target.value] : []); }}\n onPressEnter={() => { confirm(); }}\n style={{ width: 188, marginBottom: 8, display: 'block' }}\n />\n \n { confirm(); }}\n icon={}\n size=\"small\"\n style={{ width: 188 }}\n >\n Search\n \n \n
\n )\n },\n filterIcon: filtered => {\n return (\n \n )\n },\n onFilter: (record) => {\n return record;\n },\n onFilterDropdownVisibleChange: visible => {\n if (visible) {\n setTimeout(() => searchExtIds.current.select());\n }\n },\n defaultFilteredValue: (extIds.length>0 ? extIds : null),\n render: (extIds) => {\n if (extIds !== null) {\n var items = extIds.slice(0,3).map((item) => {item});\n let extra = extIds.length-3;\n if (extra > 0) {\n items.push(+{extra} more);\n }\n return {items};\n } else {\n return
;\n }\n },\n },\n ];\n\n useEffect(() => {\n ReactGA.pageview(window.location.pathname);\n let searchParams = new URLSearchParams(location.search);\n if (searchParams.has(\"q\") && searchParams.get(\"q\") !== \"\") {\n document.title = \"Chains \"+searchParams.get(\"q\")+\" | Factom Realtime Explorer\";\n searchChains();\n } else {\n document.title = \"Chains | Factom Realtime Explorer\";\n getChains();\n }\n }, []);\n\n return (\n
\n Chains\n \n
\n );\n}\n\nexport default Chains;\n","import React, { useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport {\n Typography,\n List,\n Tag\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCalendarLine, RiPriceTag3Line\n} from 'react-icons/ri';\n\nconst { Title, Paragraph } = Typography;\n\nconst Changelog = () => {\n\n useEffect(() => {\n document.title = \"Changelog | Factom Realtime Explorer\";\n ReactGA.pageview(window.location.pathname);\n }, []);\n\n return (\n
\n Changelog\n \n \n \n \n \n \n \n \n \n 0.8.1\n \n \n \n \n \n 2020-09-28\n \n \n \n Factom Anchors + UX/UI improvements\n
    \n
  • FCT anchors support (for testnet and custom networks)
  • \n
  • Improved clearing of pending transactions
  • \n
  • First entry of chain displayed into Chain view
  • \n
  • Enabled switch between Mainnet and Testnet
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.8.0\n \n \n \n \n \n 2020-08-29\n \n \n \n Bitcoin & Ethereum Anchors\n
    \n
  • BTC and ETH anchors displayed into DBlock view
  • \n
  • BTC and ETH anchoring data added into Explorer API calls
  • \n
  • Added heights indicators into footer
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.7\n \n \n \n \n \n 2020-08-18\n \n \n \n Factoid Stats + optimization\n
    \n
  • Added FCT circulating supply and burn counters in the Rich List
  • \n
  • Improved FCT transactions parsing
  • \n
  • Improved FCT balance calculation
  • \n
  • Implemented caching for stats and FCT Rich List
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.6\n \n \n \n \n \n 2020-08-10\n \n \n \n Factoid Rich List\n
    \n
  • Added FCT Rich List
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.5\n \n \n \n \n \n 2020-06-30\n \n \n \n UX/UI improvements\n
    \n
  • Added empty ExtIDs support
  • \n
  • Minor UX improvements of the search form
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.4\n \n \n \n \n \n 2020-06-24\n \n \n \n Latest pending transactions and entries\n
    \n
  • Latest transactions and entries displayed on frontpage
  • \n
  • A special section has been added in which all pending records and transactions are displayed and updated in real time
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.3\n \n \n \n \n \n 2020-06-22\n \n \n \n Optimization update\n
    \n
  • Optimized balance calculation for FA addresses
  • \n
  • Improved database clearing algorithm for pending entries and transactions
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.2\n \n \n \n \n \n 2020-06-18\n \n \n \n Realtime factoid transactions\n
    \n
  • Implemented realtime factoid transactions display
  • \n
  • Added pending factoid transactions API
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.1\n \n \n \n \n \n 2020-06-17\n \n \n \n Realtime chains\n
    \n
  • Implemented realtime chains display
  • \n
  • Added pending chains API
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.7.0\n \n \n \n \n \n 2020-06-16\n \n \n \n Realtime entries\n
    \n
  • Implemented realtime entries display
  • \n
  • Added pending entries API
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.6.5\n \n \n \n \n \n 2020-06-15\n \n \n \n Data display improvements\n
    \n
  • Shown chains external IDs in DBlock view
  • \n
  • Improved blockchain stats on the frontpage
  • \n
  • UX/UI improvement
  • \n
  • Minor bug fix
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.6.4\n \n \n \n \n \n 2020-06-10\n \n \n \n Bug fix\n
    \n
  • Search query params are used in chain search by external IDs, so you can share search results
  • \n
  • Fixed Factoid transactions
  • \n
  • Fixed Google Analytics
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.6.3\n \n \n \n \n \n 2020-06-07\n \n \n \n New functions\n
    \n
  • Added search/filtering chains by external IDs
  • \n
  • External IDs in tables are now clickable — switch between data format (ASCII, Base64, Hex) by click
  • \n
  • Added blockchain stats on the frontpage
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.6.2\n \n \n \n \n \n 2020-06-04\n \n \n \n Data display improvements\n
    \n
  • Added Entry Blocks in Chain view
  • \n
  • If entry is included into multiple Entry Blocks, they all shown in Entry view
  • \n
  • Added Coinbase txs and updated filters
  • \n
  • Improved display of External IDs
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.6.1\n \n \n \n \n \n 2020-06-03\n \n \n \n Usability update\n
    \n
  • Optimized reading entries from large chains
  • \n
  • UX/UI improvement
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.6.0\n \n \n \n \n \n 2020-05-29\n \n \n \n Performance update\n
    \n
  • Database and response time optimization
  • \n
  • Fixed relations between DBlocks and ECBlocks in range of heights 22880–70410
  • \n
\n
\n
\n
\n \n \n \n \n \n \n \n 0.5.0\n \n \n \n \n \n 2020-05-25\n \n \n \n Private alpha release\n
    \n
  • Blocks\n
      \n
    • Directory Block (DBlock)
    • \n
    • Admin Block (ABlock)
    • \n
    • Factoid Block (FBlock)
    • \n
    • Entry Block (EBlock)
    • \n
    • Entry Credit (ECBlock)
    • \n
    \n
  • \n
  • Chains\n
      \n
    • Chain
    • \n
    • Entry
    • \n
    \n
  • \n
  • Addresses\n
      \n
    • Factoid Address
    • \n
    • EC Address
    • \n
    \n
  • \n
  • Search
  • \n
\n
\n
\n
\n
\n
\n );\n\n};\n\nexport default Changelog;\n","import React, { useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport {\n Result,\n Button,\n Typography\n} from 'antd';\n\nimport {\n CloseCircleTwoTone\n} from '@ant-design/icons';\n\nconst { Title } = Typography;\n\nconst Error404 = () => {\n\n useEffect(() => {\n document.title = \"404 Not Found | Factom Realtime Explorer\";\n ReactGA.pageview(window.location.pathname);\n }, []);\n\n return (\n }\n title={404 Not Found}\n extra={}\n />\n );\n};\n\nexport default Error404;\n","import React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\nimport { Base64 } from 'js-base64';\n\nimport {\n Typography,\n Descriptions,\n message,\n Skeleton,\n Alert,\n Table,\n Tooltip,\n Tag,\n Tabs,\n Radio\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiLinksLine, RiInformationLine, RiStarLine, RiFileCopy2Line, RiQuestionLine, RiAccountBoxLine, RiExchangeBoxLine, RiCheckboxLine, RiAnchorLine, RiExternalLinkLine\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\nimport ExtID from './../common/ExtID';\n\nconst { Title, Text } = Typography;\nconst { TabPane } = Tabs;\n\nconst DBlock = props => {\n\n const [height, setHeight] = useState(null);\n const [totalEBlocks, setTotalEBlocks] = useState(-1);\n const [dBlock, setDBlock] = useState(null);\n const [eBlocks, setEBlocks] = useState(null);\n const [tableIsLoading, setTableIsLoading] = useState(true);\n const [pagination, setPagination] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const [error, setError] = useState(null);\n\n const [btcAnchor, setBTCAnchor] = useState(null);\n const [ethAnchor, setETHAnchor] = useState(null);\n const [fctAnchor, setFCTAnchor] = useState(null);\n\n const [showBTCAnchor, setShowBTCAnchor] = useState(false);\n const [showETHAnchor, setShowETHAnchor] = useState(false);\n const [showFCTAnchor, setShowFCTAnchor] = useState(false);\n\n const anchorDefaultSelectedTab = \"tx\";\n const [btcAnchorSelectedTab, setBTCAnchorSelectedTab] = useState(anchorDefaultSelectedTab);\n const [ethAnchorSelectedTab, setETHAnchorSelectedTab] = useState(anchorDefaultSelectedTab);\n const [fctAnchorSelectedTab, setFCTAnchorSelectedTab] = useState(anchorDefaultSelectedTab);\n\n const CancelToken = axios.CancelToken;\n const source = CancelToken.source();\n\n const toggleBTCAnchor = () => {\n const visible = showBTCAnchor === false ? true : false;\n setShowBTCAnchor(visible);\n };\n\n const toggleETHAnchor = () => {\n const visible = showETHAnchor === false ? true : false;\n setShowETHAnchor(visible);\n };\n\n const toggleFCTAnchor = () => {\n const visible = showFCTAnchor === false ? true : false;\n setShowETHAnchor(visible);\n };\n\n const handleBTCAnchorTabChange = event => {\n setBTCAnchorSelectedTab(event.target.value);\n };\n\n const handleETHAnchorTabChange = event => {\n setETHAnchorSelectedTab(event.target.value);\n };\n\n const handleFCTAnchorTabChange = event => {\n setFCTAnchorSelectedTab(event.target.value);\n };\n\n const getDBlock = async (keyMR = keyMR) => {\n ReactGA.pageview(window.location.pathname);\n document.title = \"DBlock \" + keyMR + \" | Factom Realtime Explorer\";\n source.cancel();\n setDBlock(null);\n setEBlocks(null);\n setTotalEBlocks(-1);\n setError(null);\n setPagination({...pagination, current: 1});\n setShowBTCAnchor(false);\n setShowETHAnchor(false);\n setShowFCTAnchor(false);\n try {\n const response = await axios.get('/explorer/dblocks/'+keyMR);\n setDBlock(response.data.result);\n setHeight(response.data.result.dbHeight);\n if (response.data.result.anchors) {\n setBTCAnchor(response.data.result.anchors.find(a => a.blockchain === \"bitcoin\"));\n setETHAnchor(response.data.result.anchors.find(a => a.blockchain === \"ethereum\"));\n setFCTAnchor(response.data.result.anchors.find(a => a.blockchain === \"factom\"));\n }\n }\n catch(error) {\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const getEBlocks = async (params = pagination) => {\n setTableIsLoading(true);\n\n let start = 0;\n let limit = 10;\n let showTotalStart = 1;\n let showTotalFinish = 10;\n\n if (params) {\n start = (params.current-1)*params.pageSize;\n limit = params.pageSize;\n showTotalStart = (params.current-1)*params.pageSize+1;\n showTotalFinish = params.current*params.pageSize;\n }\n\n try {\n const response = await axios.get('/explorer/eblocks', { params: { start: start, limit: limit, height: dBlock.dbHeight }, cancelToken: source.token } );\n setEBlocks(response.data.result.Items);\n setPagination({...pagination, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${showTotalStart}-${Math.min(response.data.total, showTotalFinish)} of ${response.data.total}`});\n setTotalEBlocks(response.data.total);\n }\n catch(error) {\n if (error.response) {\n if (error.response.data.error) {\n message.error(error.response.data.error);\n }\n } else {\n if (!axios.isCancel(error)) {\n NotifyNetworkError();\n }\n }\n }\n setTableIsLoading(false);\n }\n \n const columns = [\n {\n title: 'EBlock KeyMR',\n dataIndex: 'keyMR',\n className: 'code',\n render: (keyMR) => (\n \n \n \n \n {keyMR}\n \n )\n },\n {\n title: 'Chain ID',\n dataIndex: 'chainId',\n className: 'code',\n render: (chainID) => (\n \n \n \n \n {chainID}\n \n )\n },\n {\n title: 'Entries',\n dataIndex: 'entriesCount',\n className: 'code',\n align: 'center'\n },\n {\n title: 'Chain External IDs',\n dataIndex: 'extIds',\n render: (extIds) => {\n if (extIds !== null) {\n var items = extIds.slice(0,3).map((item) => {item});\n let extra = extIds.length-3;\n if (extra > 0) {\n items.push(+{extra} more);\n }\n return {items};\n } else {\n return null;\n }\n }\n },\n ];\n\n const prevDBlock = () => {\n getDBlock(dBlock.prevKeyMR);\n setHeight(height-1);\n }\n\n const nextDBlock = () => {\n getDBlock(dBlock.nextDBlock.keyMR);\n setHeight(height+1);\n }\n\n useEffect(() => {\n if (dBlock) {\n getEBlocks();\n }\n }, [dBlock]);\n\n useEffect(() => {\n getDBlock(props.match.params.keymr);\n }, [props.match.params.keymr]);\n\n useEffect(() => {\n // returned function will be called on component unmount \n return () => {\n source.cancel();\n }\n }, []);\n\n return (\n
\n Directory Block {height!==null ? \"#\"+height : null}\n {props.match.params.keymr}\n {dBlock ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n DBlock Info\n \n \n Block Height}>\n {dBlock.dbHeight}\n \n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n {dBlock.timestamp*60}\n \n KeyMR}>\n \n {dBlock.keyMR}\n \n \n Next DBlock}>\n {dBlock.nextDBlock ? (\n \n \n \n \n \n {dBlock.nextDBlock.keyMR}\n \n \n ) : \n Not available yet\n }\n \n Previous DBlock}>\n \n {dBlock.prevKeyMR !== \"0000000000000000000000000000000000000000000000000000000000000000\" ? (\n \n \n \n \n {dBlock.prevKeyMR}\n \n ) : \n \n {dBlock.prevKeyMR}\n \n }\n \n \n {props.anchorsHeight && props.anchorsHeight.btc ? (\n Bitcoin Anchor}>\n \n {btcAnchor ? (\n \n toggleBTCAnchor()} className=\"dotted code\">\n \n \n \n {btcAnchor.txID}\n \n {showBTCAnchor ? (\n
\n \n Anchor TX\n JSON\n \n \n \n TXID: \n {btcAnchor.txID}\n \n \n \n \n
\n Block: \n {btcAnchor.blockHash}\n \n \n \n \n
\n \n
{JSON.stringify(JSON.parse(Base64.decode(btcAnchor.anchorRecord)), null, 4)}
\n
\n
\n
\n ) :\n null\n }\n
\n ) : \n N/A\n }\n
\n
\n ) :\n null\n }\n {props.anchorsHeight && props.anchorsHeight.eth ? (\n Ethereum Anchor}>\n \n {ethAnchor ? (\n \n toggleETHAnchor()} className=\"dotted code\">\n \n \n \n {ethAnchor.txID}\n \n {showETHAnchor ? (\n
\n \n Anchor TX\n JSON\n \n \n \n TXID: \n {ethAnchor.txID}\n \n \n \n \n
\n Block: \n {ethAnchor.blockHash}\n \n \n \n \n
\n \n
{JSON.stringify(JSON.parse(Base64.decode(ethAnchor.anchorRecord)), null, 4)}
\n
\n
\n
\n ) :\n null\n }\n
\n ) : \n N/A\n }\n
\n
\n ) :\n null\n }\n {props.anchorsHeight && props.anchorsHeight.fct ? (\n Factom Anchor}>\n \n {fctAnchor ? (\n \n toggleFCTAnchor()} className=\"dotted code\">\n \n \n \n {fctAnchor.txID}\n \n {showFCTAnchor ? (\n
\n \n Anchor TX\n JSON\n \n \n \n TXID: \n {fctAnchor.txID}\n \n \n \n \n
\n Block: \n {fctAnchor.blockHash}\n \n \n \n \n
\n \n
{JSON.stringify(JSON.parse(Base64.decode(fctAnchor.anchorRecord)), null, 4)}
\n
\n
\n
\n ) :\n null\n }\n
\n ) : \n N/A\n }\n
\n
\n ) :\n null\n }\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiStarLine />\n </IconContext.Provider>\n Special Blocks\n \n \n Admin Block}>\n \n {dBlock.aBlock ? (\n \n \n \n \n {dBlock.aBlock.lookupHash}\n \n ) : \n N/A\n }\n \n \n Entry Credit Block}>\n \n {dBlock.ecBlock ? (\n \n \n \n \n {dBlock.ecBlock.headerHash}\n \n ) : \n N/A\n }\n \n \n Factoid Block}>\n \n {dBlock.fBlock ? (\n \n \n \n \n {dBlock.fBlock.keyMR}\n \n ) : \n N/A\n }\n \n \n \n\n \n <IconContext.Provider value={{ className: 'react-icons react-icons-eblocks' }}>\n <RiFileCopy2Line />\n </IconContext.Provider>\n Entry Blocks\n <Count count={totalEBlocks} />\n \n\n \n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n DBlock Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiStarLine />\n </IconContext.Provider>\n Special Blocks\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons react-icons-eblocks' }}>\n <RiFileCopy2Line />\n </IconContext.Provider>\n Entry Blocks\n <Count count={totalEBlocks} />\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default DBlock;\n","import React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\n\nimport {\n Typography,\n Descriptions,\n Skeleton,\n Alert,\n Table,\n Tooltip,\n message,\n Tag\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiInformationLine, RiFileList2Line, RiLinksLine, RiQuestionLine, RiFileCopy2Line\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\nimport ExtID from './../common/ExtID';\n\nconst { Title, Text } = Typography;\n\nconst EBlock = ({ match }) => {\n\n const [eBlock, setEBlock] = useState(null);\n const [tableIsLoading, setTableIsLoading] = useState(true);\n const [entries, setEntries] = useState(null);\n const [totalEntries, setTotalEntries] = useState(-1);\n const [pagination, setPagination] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const [error, setError] = useState(null);\n\n const CancelToken = axios.CancelToken;\n const source = CancelToken.source();\n\n const getEBlock = async (keyMR = keyMR) => {\n ReactGA.pageview(window.location.pathname);\n document.title = \"EBlock \" + keyMR + \" | Factom Realtime Explorer\";\n source.cancel();\n setEBlock(null);\n setEntries(null);\n setTotalEntries(-1);\n setError(null);\n setPagination({...pagination, current: 1});\n try {\n const response = await axios.get('/explorer/eblocks/'+keyMR);\n setEBlock(response.data.result);\n }\n catch(error) {\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const getEntries = async (params = pagination, filters, sorter) => {\n\n setTableIsLoading(true);\n\n let start = 0;\n let limit = 10;\n let showTotalStart = 1;\n let showTotalFinish = 10;\n let sort = \"asc\";\n\n if (params) {\n start = (params.current-1)*params.pageSize;\n limit = params.pageSize;\n showTotalStart = (params.current-1)*params.pageSize+1;\n showTotalFinish = params.current*params.pageSize;\n }\n\n if (sorter) {\n switch (sorter.order) {\n case 'ascend':\n sort = \"asc\";\n break;\n case 'descend':\n sort = \"desc\";\n break;\n }\n }\n\n try {\n const response = await axios.get('/explorer/eblocks/'+eBlock.keyMR+'/entries', { params: { start: start, limit: limit, sort: sort }, cancelToken: source.token } );\n setEntries(response.data.result);\n setPagination({...pagination, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${showTotalStart}-${Math.min(response.data.total, showTotalFinish)} of ${response.data.total}`});\n setTotalEntries(response.data.total);\n }\n catch(error) {\n if (error.response) {\n if (error.response.data.error) {\n message.error(error.response.data.error);\n }\n } else {\n if (!axios.isCancel(error)) {\n NotifyNetworkError();\n }\n }\n }\n setTableIsLoading(false);\n }\n\n const columns = [\n {\n title: 'Timestamp (UTC+'+ -(new Date().getTimezoneOffset() / 60) + ')',\n dataIndex: 'createdAt',\n className: 'code',\n sorter: true,\n width: 30,\n render: (createdAt) => (\n {createdAt}\n )\n },\n {\n title: 'Entry Hash',\n dataIndex: 'entryHash',\n className: 'code',\n render: (entryHash) => (\n \n \n \n \n {entryHash}\n \n )\n },\n {\n title: 'External IDs',\n dataIndex: 'extIds',\n render: (extIds) => {\n if (extIds !== null) {\n var items = extIds.slice(0,3).map((item) => {item});\n let extra = extIds.length-3;\n if (extra > 0) {\n items.push(+{extra} more);\n }\n return {items};\n } else {\n return
;\n }\n }\n }, \n ];\n\n const prevEBlock = () => {\n getEBlock(eBlock.prevKeyMR);\n }\n\n const nextEBlock = () => {\n getEBlock(eBlock.nextEBlock.keyMR);\n }\n\n useEffect(() => {\n if (eBlock) {\n getEntries();\n }\n }, [eBlock]);\n\n useEffect(() => {\n getEBlock(match.params.keymr);\n }, [match.params.keymr]);\n\n useEffect(() => {\n // returned function will be called on component unmount \n return () => {\n source.cancel();\n }\n }, []);\n \n return (\n
\n Entry Block\n {match.params.keymr}\n {eBlock ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n EBlock Info\n \n \n Block Height}>\n {eBlock.parentDBlock ? (\n \n \n {eBlock.dbHeight}\n \n \n ) :\n \n {eBlock.dbHeight}\n \n }\n \n Sequence Number}>\n \n {eBlock.blockSequenceNumber}\n \n \n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n {eBlock.parentDBlock ? (\n {eBlock.parentDBlock.timestamp*60}\n ) :\n N/A\n }\n \n KeyMR}>\n {eBlock.keyMR}\n \n Next EBlock}>\n {eBlock.nextEBlock ? (\n \n \n \n \n \n {eBlock.nextEBlock.keyMR}\n \n \n ) : \n Not available yet\n }\n \n Previous EBlock}>\n \n {eBlock.prevKeyMR !== \"0000000000000000000000000000000000000000000000000000000000000000\" ? (\n \n \n \n \n {eBlock.prevKeyMR}\n \n ) : \n \n {eBlock.prevKeyMR}\n \n }\n \n \n Chain ID}>\n \n \n \n \n \n {eBlock.chainId}\n \n \n \n Parent DBlock}>\n {eBlock.parentDBlock ? (\n \n \n \n \n \n {eBlock.parentDBlock.keyMR}\n \n \n ) : \n N/A\n }\n \n \n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Entries\n <Count count={totalEntries ? totalEntries : 0} />\n \n\n \n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n EBlock Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Entries\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default EBlock;\n","import React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/javascript';\nimport monoBlue from 'react-syntax-highlighter/dist/esm/styles/hljs/mono-blue';\nimport { Base64 } from 'js-base64';\n\nimport {\n Typography,\n Descriptions,\n Skeleton,\n Alert,\n List,\n Tooltip\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiInformationLine, RiFileList2Line, RiQuestionLine, RiAccountBoxLine\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\n\nconst { Title, Text } = Typography;\n\nconst ABlock = ({ match }) => {\n\n SyntaxHighlighter.registerLanguage('javascript', json);\n\n const [height, setHeight] = useState(null);\n const [aBlock, setABlock] = useState(null);\n const [aEntries, setAEntries] = useState(null);\n const [error, setError] = useState(null);\n\n const getABlock = async (keyMR = keyMR) => {\n ReactGA.pageview(window.location.pathname);\n document.title = \"ABlock \" + keyMR + \" | Factom Realtime Explorer\";\n setABlock(null);\n setError(null);\n try {\n const response = await axios.get('/explorer/ablocks/'+keyMR);\n setABlock(response.data.result);\n setHeight(response.data.result.dbHeight);\n if (response.data.result.abEntries) {\n const entries = JSON.parse(Base64.decode(response.data.result.abEntries));\n if (entries) {\n setAEntries(entries);\n } else {\n setAEntries(\"\");\n }\n }\n }\n catch(error) {\n setABlock(null);\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const prevABlock = () => {\n getABlock(aBlock.prevABlock.lookupHash);\n setHeight(height-1);\n }\n\n const nextABlock = () => {\n getABlock(aBlock.nextABlock.lookupHash);\n setHeight(height+1);\n }\n\n useEffect(() => {\n getABlock(match.params.keymr);\n }, [match.params.keymr]);\n\n return (\n
\n Admin Block {height!==null ? \"#\"+height : null}\n {match.params.keymr}\n {aBlock ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n ABlock Info\n \n \n Block Height}>\n {aBlock.parentDBlock ? (\n \n \n {aBlock.dbHeight}\n \n \n ) :\n \n {aBlock.dbHeight}\n \n }\n \n Sequence Number}>\n \n {aBlock.dbHeight}\n \n \n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n {aBlock.parentDBlock ? (\n {aBlock.parentDBlock.timestamp*60}\n ) :\n N/A\n }\n \n Lookup Hash}>\n {aBlock.lookupHash}\n \n Next ABlock}>\n {aBlock.nextABlock ? (\n \n \n \n \n \n {aBlock.nextABlock.lookupHash}\n \n \n ) : \n Not available yet\n }\n \n Previous ABlock}>\n \n {aBlock.dbHeight > 0 ? (\n \n \n \n \n {aBlock.prevABlock.lookupHash}\n \n ) : \n \n 0000000000000000000000000000000000000000000000000000000000000000\n \n }\n \n \n Parent DBlock}>\n {aBlock.parentDBlock ? (\n \n \n \n \n \n {aBlock.parentDBlock.keyMR}\n \n \n ) : \n N/A\n }\n \n \n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Admin Entries\n <Count count={aEntries ? aEntries.length : 0} />\n \n\n {aEntries!==null ? (\n
\n {aEntries.length>0 ? (\n {JSON.stringify(item, null, 4)}}\n />\n ) :\n
\n \n
\n }\n
\n ) :\n
\n \n
\n }\n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n ABlock Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Admin Entries\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default ABlock;\n","import React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\n\nimport {\n Typography,\n Descriptions,\n Skeleton,\n Alert,\n Table,\n Tooltip\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiInformationLine, RiQuestionLine, RiExchangeBoxLine, RiExchangeLine\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\n\nconst { Title, Text } = Typography;\n\nconst FBlock = ({ match }) => {\n\n const pagination = {defaultPageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], showTotal: (total, range) => `${range[0]}-${range[1]} of ${total}`};\n const [height, setHeight] = useState(null);\n const [fBlock, setFBlock] = useState(null);\n const [error, setError] = useState(null);\n\n const getFBlock = async (keyMR = keyMR) => {\n ReactGA.pageview(window.location.pathname);\n document.title = \"FBlock \" + keyMR + \" | Factom Realtime Explorer\";\n setFBlock(null);\n setError(null);\n try {\n const response = await axios.get('/explorer/fblocks/'+keyMR);\n setFBlock(response.data.result);\n setHeight(response.data.result.dbHeight);\n }\n catch(error) {\n setFBlock(null);\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const columns = [\n {\n title: '#',\n dataIndex: 'seqNumber',\n className: 'code',\n width: 30,\n sorter: (a, b) => a.seqNumber - b.seqNumber\n },\n {\n title: 'Transaction ID',\n dataIndex: 'txId',\n className: 'code',\n render: (txId) => (\n \n \n \n \n {txId}\n \n )\n },\n {\n title: 'Inputs',\n dataIndex: 'totalInputs',\n className: 'code',\n sorter: (a, b) => a.totalInputs - b.totalInputs,\n render: (totalInputs) => (\n {totalInputs/100000000} FCT\n )\n },\n {\n title: 'Outputs',\n dataIndex: 'totalOutputs',\n className: 'code',\n sorter: (a, b) => a.totalOutputs - b.totalOutputs,\n render: (totalOutputs) => (\n {totalOutputs/100000000} FCT\n )\n },\n {\n title: 'ECs Created',\n dataIndex: 'totalOutECs',\n className: 'code',\n sorter: (a, b) => a.totalOutECs - b.totalOutECs,\n render: (totalOutECs) => (\n {Math.round(totalOutECs/fBlock.exchRate)} EC\n )\n },\n {\n title: 'Fees',\n className: 'code',\n render: (row) => {\n let fees = 0;\n if (row.totalInputs>0) { fees = row.totalInputs-row.totalOutputs-row.totalOutECs; }\n return (\n {fees/100000000} FCT\n )\n }\n },\n ];\n\n const prevFBlock = () => {\n getFBlock(fBlock.prevKeyMR);\n setHeight(height-1);\n }\n\n const nextFBlock = () => {\n getFBlock(fBlock.nextFBlock.keyMR);\n setHeight(height+1);\n }\n\n useEffect(() => {\n getFBlock(match.params.keymr);\n }, [match.params.keymr]);\n\n return (\n
\n Factoid Block {height!==null ? \"#\"+height : null}\n {match.params.keymr}\n {fBlock ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n FBlock Info\n \n \n Block Height}>\n {fBlock.parentDBlock ? (\n \n \n {fBlock.dbHeight}\n \n \n ) :\n \n {fBlock.dbHeight}\n \n }\n \n Sequence Number}>\n \n {fBlock.dbHeight}\n \n \n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n {fBlock.parentDBlock ? (\n {fBlock.parentDBlock.timestamp*60}\n ) :\n N/A\n }\n \n KeyMR}>\n {fBlock.keyMR}\n \n Next FBlock}>\n {fBlock.nextFBlock ? (\n \n \n \n \n \n {fBlock.nextFBlock.keyMR}\n \n \n ) : \n Not available yet\n }\n \n Previous FBlock}>\n \n {fBlock.prevKeyMR !== \"0000000000000000000000000000000000000000000000000000000000000000\" ? (\n \n \n \n \n {fBlock.prevKeyMR}\n \n ) : \n \n {fBlock.prevKeyMR}\n \n }\n \n \n Exchange Rate}>\n {fBlock.exchRate} (1 FCT = {Math.round(1/fBlock.exchRate*100000000)} EC)\n \n Parent DBlock}>\n {fBlock.parentDBlock ? (\n \n \n \n \n \n {fBlock.parentDBlock.keyMR}\n \n \n ) : \n N/A\n }\n \n \n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Factoid Transactions\n <Count count={fBlock.fTxs ? fBlock.fTxs.length : 0} />\n \n\n \n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n FBlock Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Factoid Transactions\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default FBlock;\n","import React, { useState, useEffect, useRef } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\nimport { keyToPublicEcAddress } from 'factom';\nimport { SearchOutlined } from '@ant-design/icons';\nimport { Base64 } from 'js-base64';\n\nimport {\n Typography,\n Descriptions,\n Skeleton,\n Alert,\n Table,\n Tag,\n Input,\n Space,\n Button,\n Tooltip\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiInformationLine, RiFileList2Line, RiCouponLine, RiQuestionLine\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\n\nconst { Title, Text } = Typography;\n\nconst ECBlock = ({ match }) => {\n\n const pagination = {defaultPageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], showTotal: (total, range) => `${range[0]}-${range[1]} of ${total}`};\n const [height, setHeight] = useState(null);\n const [ecBlock, setECBlock] = useState(null);\n const [ecTxs, setECTxs] = useState(null);\n const [error, setError] = useState(null);\n const searchEntryHash = useRef(null);\n const searchEC = useRef(null);\n\n const getECBlock = async (keyMR = keyMR) => {\n ReactGA.pageview(window.location.pathname);\n document.title = \"ECBlock \" + keyMR + \" | Factom Realtime Explorer\";\n setECBlock(null);\n setECTxs(\"\");\n setError(null);\n try {\n const response = await axios.get('/explorer/ecblocks/'+keyMR);\n setECBlock(response.data.result);\n setHeight(response.data.result.dbHeight);\n if (response.data.result.entries) {\n const entries = JSON.parse(Base64.decode(response.data.result.entries)).filter(item => item.sig);\n if (entries) {\n setECTxs(entries);\n } else {\n setECTxs(\"\");\n }\n }\n }\n catch(error) {\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const columns = [\n {\n title: 'Timestamp (UTC+'+ -(new Date().getTimezoneOffset() / 60) + ')',\n dataIndex: 'millitime',\n className: 'code',\n width: 30,\n sorter: (a, b) => new Date(a.millitime) - new Date(b.millitime),\n render: (millitime) => (\n {millitime/1000}\n )\n },\n {\n title: 'Commit Type',\n dataIndex: 'chainidhash',\n width: 30,\n filters: [\n { text: 'Chain', value: 'chain' },\n { text: 'Entry', value: 'entry' },\n ],\n onFilter: (value, item) => {\n if (value === \"entry\") {\n return typeof(item.chainidhash) === \"undefined\";\n } else {\n return typeof(item.chainidhash) === \"string\"; \n }\n },\n render: (chainidhash) => {\n if (chainidhash) {\n return (\n \n Chain\n \n )\n } else {\n return (\n \n Entry\n \n )\n }\n }\n },\n {\n title: 'EC Cost',\n dataIndex: 'credits',\n className: 'code',\n width: 30,\n sorter: (a, b) => a.credits - b.credits,\n render: (credits) => (\n {credits} EC\n )\n },\n {\n title: 'Entry Hash',\n dataIndex: 'entryhash',\n className: 'code filter-entryhash',\n filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => (\n
\n setSelectedKeys(e.target.value ? [e.target.value] : [])}\n onPressEnter={() => confirm()}\n style={{ width: 188, marginBottom: 8, display: 'block' }}\n />\n \n confirm()}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n \n \n
\n ),\n filterIcon: filtered => ,\n onFilter: (value, record) =>\n record['entryhash'].includes(value.toLowerCase()),\n onFilterDropdownVisibleChange: visible => {\n if (visible) {\n setTimeout(() => searchEntryHash.current.select());\n }\n }\n },\n {\n title: 'Paying Address',\n dataIndex: 'ecpubkey',\n className: 'code filter-paying-address',\n filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => (\n
\n setSelectedKeys(e.target.value ? [e.target.value] : [])}\n onPressEnter={() => confirm()}\n style={{ width: 188, marginBottom: 8, display: 'block' }}\n />\n \n confirm()}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n \n \n
\n ),\n filterIcon: filtered => ,\n onFilter: (value, record) =>\n keyToPublicEcAddress(record['ecpubkey']).includes(value),\n onFilterDropdownVisibleChange: visible => {\n if (visible) {\n setTimeout(() => searchEC.current.select());\n }\n },\n render: ecpubkey => {\n let ecaddress = keyToPublicEcAddress(ecpubkey);\n return (\n \n \n \n \n {ecaddress}\n \n )\n }\n }\n ];\n\n useEffect(() => {\n getECBlock(match.params.keymr);\n }, [match.params.keymr]);\n\n return (\n
\n Entry Credit Block {height!==null ? \"#\"+height : null}\n {match.params.keymr}\n {ecBlock ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n ECBlock Info\n \n \n Block Height}>\n {ecBlock.parentDBlock ? (\n \n \n {ecBlock.parentDBlock.dbHeight}\n \n \n ) :\n \n {ecBlock.parentDBlock.dbHeight}\n \n }\n \n Sequence Number}>\n \n {ecBlock.dbHeight}\n \n \n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n {ecBlock.parentDBlock ? (\n {ecBlock.parentDBlock.timestamp*60}\n ) :\n N/A\n }\n \n Header Hash}>\n {ecBlock.headerHash}\n \n Parent DBlock}>\n {ecBlock.parentDBlock ? (\n \n \n \n \n \n {ecBlock.parentDBlock.keyMR}\n \n \n ) : \n N/A\n }\n \n \n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Entry Credit Transactions\n <Count count={ecTxs ? ecTxs.length : 0} />\n \n\n \n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n ECBlock Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Entry Credit Transactions\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default ECBlock;\n","\nimport React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\n\nimport { isValidFctAddress } from 'factom';\n\nimport {\n Typography,\n Alert,\n Descriptions,\n Tooltip,\n Skeleton,\n message,\n Table,\n Tag,\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiExchangeLine, RiInformationLine, RiQuestionLine, RiCoinLine, RiArrowLeftRightLine\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\n\nconst { Title } = Typography;\n\nconst Address = ({ match }) => {\n\n const [addressInfo, setAddressInfo] = useState(null);\n const [addressTxs, setAddressTxs] = useState(null);\n const [tableIsLoading, setTableIsLoading] = useState(true);\n const [totalTxs, setTotalTxs] = useState(-1);\n const [pagination, setPagination] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const [error, setError] = useState(null);\n\n const CancelToken = axios.CancelToken;\n const source = CancelToken.source();\n\n const getFilters = (address = match.params.address) => {\n if (isValidFctAddress(address)) {\n return [\n { text: 'Incoming', value: 'in' },\n { text: 'Outgoing', value: 'out' },\n ];\n } else {\n return null;\n }\n }\n\n const getAddress = async (address = address) => {\n document.title = \"Address \" + address + \" | Factom Realtime Explorer\";\n source.cancel();\n setAddressInfo(null);\n setAddressTxs(null);\n setTotalTxs(-1);\n setError(null);\n setPagination({...pagination, current: 1});\n try {\n const response = await axios.get('/explorer/addresses/'+address);\n setAddressInfo(response.data.result);\n }\n catch(error) {\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const getAddressTxs = async (params = pagination, filters, sorter) => {\n ReactGA.pageview(window.location.pathname);\n setTableIsLoading(true);\n\n let start = 0;\n let limit = 10;\n let showTotalStart = 1;\n let showTotalFinish = 10;\n let sort = \"desc\";\n let filter = \"\";\n\n if (params) {\n start = (params.current-1)*params.pageSize;\n limit = params.pageSize;\n showTotalStart = (params.current-1)*params.pageSize+1;\n showTotalFinish = params.current*params.pageSize;\n }\n\n if (sorter) {\n switch (sorter.order) {\n case 'ascend':\n sort = \"asc\";\n break;\n case 'descend':\n sort = \"desc\";\n break;\n }\n }\n\n if (filters && filters[1] && filters[1] !== null && filters[1].length === 1) {\n filter = filters[1][0];\n }\n\n try {\n const response = await axios.get('/explorer/addresses/'+addressInfo.pubAddress+'/txs', { params: { start: start, limit: limit, sort: sort, filter: filter }, cancelToken: source.token } );\n setAddressTxs(response.data.result);\n setPagination({...pagination, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${showTotalStart}-${Math.min(response.data.total, showTotalFinish)} of ${response.data.total}`});\n setTotalTxs(response.data.total);\n }\n catch(error) {\n if (error.response) {\n if (error.response.data.error) {\n message.error(error.response.data.error);\n }\n } else {\n if (!axios.isCancel(error)) {\n NotifyNetworkError();\n }\n }\n }\n setTableIsLoading(false);\n }\n\n const columns = [\n {\n title: 'Timestamp (UTC+'+ -(new Date().getTimezoneOffset() / 60) + ')',\n dataIndex: 'timestamp',\n className: 'code',\n sorter: true,\n width: 30,\n render: (timestamp) => (\n {timestamp*60}\n )\n },\n {\n title: 'Type',\n width: 30,\n filters: getFilters(),\n render: (row) => {\n let txIcon = \n if (addressInfo.type === \"FCT\") {\n if (row.seqNumber === 0) {\n txIcon = \n }\n if (addressInfo.pubKey === row.inputs.address) {\n return (\n \n {txIcon}\n Outgoing\n \n )\n }\n if (addressInfo.pubKey === row.outputs.address) {\n return (\n \n {txIcon}\n Incoming\n \n )\n } \n }\n else if (addressInfo.type === \"EC\") {\n return (\n \n {txIcon}\n Incoming\n \n )\n }\n }\n },\n {\n title: 'Transaction ID',\n dataIndex: 'txId',\n className: 'code',\n render: (txId) => (\n \n \n \n \n {txId}\n \n )\n },\n {\n title: 'Balance Change',\n className: 'code',\n render: (row) => {\n var balanceChange = 0;\n if (addressInfo.type === \"FCT\") {\n if (addressInfo.pubKey === row.inputs.address) {\n balanceChange = balanceChange-row.inputs.amount;\n }\n if (addressInfo.pubKey === row.outputs.address) {\n balanceChange = balanceChange+row.outputs.amount;\n }\n balanceChange = balanceChange/100000000;\n balanceChange = balanceChange.toString().replace(/-/g, '–');\n }\n else if (addressInfo.type === \"EC\") {\n balanceChange = Math.round(row.outECs.amount/row.exchRate);\n }\n return (\n {balanceChange} {addressInfo.type}\n )\n }\n },\n ];\n\n useEffect(() => {\n if (addressInfo) {\n getAddressTxs();\n }\n }, [addressInfo]);\n\n useEffect(() => {\n getAddress(match.params.address);\n }, [match.params.address]);\n\n useEffect(() => {\n // returned function will be called on component unmount \n return () => {\n source.cancel();\n }\n }, []);\n\n return (\n
\n \n Address\n \n {match.params.address}\n {addressInfo ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Address Info\n \n \n Address}>\n {addressInfo.pubAddress}\n \n Address Type}>\n {isValidFctAddress(addressInfo.pubAddress) ? \"Factoid\" : \"Entry Credit\"} Address\n \n Balance}>\n \n {addressInfo.type === \"FCT\" ? addressInfo.balance/100000000 : addressInfo.balance} {addressInfo.type}\n \n \n \n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Transactions\n <Count count={totalTxs ? totalTxs : 0} />\n \n\n \n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Address Info\n \n
\n \n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Transactions\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default Address;\n","import React, { useState, useEffect } from 'react';\nimport useInterval from 'use-interval'\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\nimport { keyToPublicEcAddress, rcdHashToPublicFctAddress } from 'factom';\n\nimport Countdown, { zeroPad } from 'react-countdown';\n\nimport {\n Typography,\n Descriptions,\n Skeleton,\n Alert,\n Table,\n Divider,\n Tooltip,\n Row,\n Col,\n message,\n Tag\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiInformationLine, RiCouponLine, RiQuestionLine, RiExchangeBoxLine, RiExchangeLine, RiCopperCoinLine, RiCoinLine, RiCheckLine, RiCheckboxCircleLine, RiLoader4Line\n} from 'react-icons/ri';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\nimport axiosRetry from 'axios-retry';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\n\nconst { Title, Text } = Typography;\n\nconst Transaction = ({ match }) => {\n\n const pagination = {defaultPageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], showTotal: (total, range) => `${range[0]}-${range[1]} of ${total}`};\n const [fTx, setFTx] = useState(null);\n const [inputs, setInputs] = useState(null);\n const [outputs, setOutputs] = useState(null);\n const [exchRate, setExchRate] = useState(null);\n const [error, setError] = useState(null);\n const [isPending, setIsPending] = useState(false);\n\n const CountdownRenderer = ({ minutes, seconds }) => {\n return {zeroPad(minutes)}:{zeroPad(seconds)};\n };\n \n const getTransaction = async (txID = txID, force = true) => {\n if (force) {\n document.title = \"Transaction \" + txID + \" | Factom Realtime Explorer\";\n setIsPending(false);\n setFTx(null);\n setInputs(null);\n setOutputs(null);\n setExchRate(null);\n setError(null);\n }\n try {\n const response = await axios.get('/explorer/ftransactions/'+txID);\n setFTx(response.data.result);\n setIsPending(false);\n if (force) {\n if (response.data.result.inputs) {\n setInputs(response.data.result.inputs.map(x => ({address: x.address, amount: x.amount, addressType: \"fct\"})));\n }\n let allOutputs = [];\n if (response.data.result.outputs) {\n allOutputs = [...allOutputs, ...response.data.result.outputs.map(x => ({address: x.address, amount: x.amount, addressType: \"fct\"}))];\n }\n if (response.data.result.outECs) {\n allOutputs = [...allOutputs, ...response.data.result.outECs.map(x => ({address: x.address, amount: x.amount, addressType: \"ec\"}))];\n }\n setOutputs(allOutputs);\n if (response.data.result.parentFBlock.exchRate) {\n setExchRate(response.data.result.parentFBlock.exchRate);\n }\n }\n }\n catch(error) {\n if (error.response) {\n if (force) {\n const pendingRequest = axios.create();\n const hide = message.loading('Checking pending transactions', 0);\n axiosRetry(pendingRequest, { retries: 5, retryDelay: axiosRetry.exponentialDelay });\n pendingRequest.get('/explorer/pending_ftransactions/'+txID)\n .then(resp => {\n setIsPending(true);\n setFTx(resp.data.result);\n if (resp.data.result.inputs) {\n setInputs(resp.data.result.inputs.map(x => ({address: x.address, amount: x.amount, addressType: \"fct\"})));\n }\n let allOutputs = [];\n if (resp.data.result.outputs) {\n allOutputs = [...allOutputs, ...resp.data.result.outputs.map(x => ({address: x.address, amount: x.amount, addressType: \"fct\"}))];\n }\n if (resp.data.result.outECs) {\n allOutputs = [...allOutputs, ...resp.data.result.outECs.map(x => ({address: x.address, amount: x.amount, addressType: \"ec\"}))];\n }\n setOutputs(allOutputs);\n if (resp.data.result.exchRate) {\n setExchRate(resp.data.result.exchRate);\n }\n })\n .catch(error => {\n if (error.response) {\n setError(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n })\n .finally(function() {\n hide();\n })\n }\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const columns = [\n {\n title: 'Address',\n className: 'code',\n render: row => {\n let address = \"\";\n let icon = \"\";\n if (row.addressType === \"fct\") {\n address = rcdHashToPublicFctAddress(row.address);\n icon = ;\n }\n if (row.addressType === \"ec\") {\n address = keyToPublicEcAddress(row.address);\n icon = ;\n }\n return (\n \n \n {icon}\n \n {address}\n \n )\n }\n },\n {\n title: 'Amount',\n className: 'code',\n render: (row) => {\n let amount = 0;\n let currency = \"\";\n if (row.addressType === \"fct\") {\n amount = row.amount/100000000;\n currency = \"FCT\";\n }\n if (row.addressType === \"ec\") {\n amount = Math.round(row.amount/exchRate);\n currency = \"EC\";\n }\n return (\n {amount} {currency}\n )\n } \n }\n ];\n\n useInterval(() => {\n getTransaction(match.params.txid, false);\n }, isPending ? 5000 : null);\n\n useEffect(() => {\n ReactGA.pageview(window.location.pathname);\n getTransaction(match.params.txid, true);\n }, [match.params.txid]);\n\n return (\n
\n Factoid Transaction\n {match.params.txid}\n {fTx ? (\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Transaction Info\n \n \n Block Height}>\n {fTx.parentDBlock ? (\n \n \n {fTx.parentDBlock.dbHeight}\n \n \n ) :\n N/A\n }\n \n Sequence Number}>\n {fTx.seqNumber >= 0 ? (\n
\n \n {fTx.seqNumber}\n \n {fTx.seqNumber === 0 ? (\n \n Coinbase\n \n ) :\n null\n }\n
\n ) :\n N/A \n }\n
\n Timestamp (UTC+{-(new Date().getTimezoneOffset() / 60)})}>\n {fTx.parentDBlock ? (\n {fTx.parentDBlock.timestamp*60}\n ) : \n \n {fTx.createdAt ? (\n {fTx.createdAt}\n ) :\n N/A\n }\n \n }\n \n Transaction ID}>\n {fTx.txId}\n \n Status}>\n {fTx.parentDBlock ? (\n \n Confirmed\n \n ) :\n
\n \n Pending\n \n ≈ \n
\n }\n
\n \n Exchange Rate}>\n {exchRate ? (\n {exchRate} (1 FCT = {Math.round(1/exchRate*100000000)} EC)\n ) :\n N/A\n }\n \n FBlock}>\n {fTx.parentFBlock ? (\n \n \n \n \n \n {fTx.parentFBlock.keyMR}\n \n \n ) : \n N/A\n }\n \n Parent DBlock}>\n {fTx.parentDBlock ? (\n \n \n \n \n \n {fTx.parentDBlock.keyMR}\n \n \n ) : \n N/A\n }\n \n \n Total Inputs}>\n {fTx.totalInputs/100000000} FCT\n \n Total Outputs}>\n {fTx.totalOutputs/100000000} FCT\n \n Total ECs Created}>\n {exchRate ? (\n {Math.round(fTx.totalOutECs/exchRate)} EC\n ) :\n N/A\n }\n \n Fees}>\n \n {fTx.totalInputs>0 ? (\n {(fTx.totalInputs-fTx.totalOutputs-fTx.totalOutECs)/100000000}\n ) :\n 0\n } FCT\n \n
\n\n \n \n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Inputs\n <Count count={inputs ? inputs.length : 0} />\n \n\n \n \n \n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Outputs\n <Count count={outputs ? outputs.length : 0} />\n \n\n \n \n \n\n
\n ) :\n
\n {error ? (\n
\n \n
\n ) :\n
\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiInformationLine />\n </IconContext.Provider>\n Transaction Info\n \n
\n \n
\n \n \n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Inputs\n \n
\n \n
\n \n \n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Outputs\n \n
\n \n
\n \n
\n
\n }\n
\n }\n
\n );\n}\n\nexport default Transaction;\n","import React, { useState, useEffect } from 'react';\nimport {\n Row,\n Col,\n Card,\n Carousel,\n Skeleton,\n Typography\n} from 'antd';\n\nimport axios from 'axios';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCopperCoinLine, RiFireLine\n} from 'react-icons/ri';\n\nconst { Title } = Typography;\n\nconst StatsFCT = props => {\n\n const [supply, setSupply] = useState(-1);\n const [burnt, setBurnt] = useState(-1);\n\n const getStatsFCT = () => {\n axios.get('/explorer/stats')\n .then(function(response) {\n setSupply(response.data.result.supply);\n setBurnt(response.data.result.burnt);\n props.callback(response.data.result.supply);\n });\n }\n\n useEffect(() => getStatsFCT(), []);\n\n return (\n
\n \n \n \n \n \n
\n FCT Circulating Supply\n
\n {supply === -1 ? (\n \n ) : \n
\n {Math.round(supply/100000000).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n
\n }\n
\n \n \n \n \n \n
\n FCT Burnt / all time\n
\n {burnt === -1 ? (\n \n ) : \n
\n {Math.round(burnt/100000000).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n
\n }\n
\n \n
\n \n \n \n \n \n \n
\n FCT Circulating Supply\n
\n {supply === -1 ? (\n \n ) : \n
\n {Math.round(supply/100000000).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n
\n }\n
\n \n \n \n
\n FCT Burnt / all time\n
\n {burnt === -1 ? (\n \n ) : \n
\n {Math.round(burnt/100000000).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\n
\n }\n
\n
\n \n
\n
\n );\n\n};\n\nexport default StatsFCT;\n","import React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\n\nimport axios from 'axios';\n\nimport {\n Typography,\n Table,\n message,\n Progress\n} from 'antd';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCopperCoinLine\n} from 'react-icons/ri';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport StatsFCT from './../common/StatsFCT';\n\nconst { Title } = Typography;\n\nconst Richlist = () => {\n\n const [richlist, setRichlist] = useState([]);\n const [supply, setSupply] = useState(-1);\n const [tableIsLoading, setTableIsLoading] = useState(true);\n const pagination = {defaultPageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], showTotal: (total, range) => `${range[0]}-${range[1]} of ${total}`};\n\n const getRichlist = async () => {\n ReactGA.pageview(window.location.pathname);\n setTableIsLoading(true);\n try {\n const response = await axios.get('/explorer/richlist');\n setRichlist(response.data.result);\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableIsLoading(false);\n }\n\n const columns = [\n {\n title: '#',\n className: 'code',\n width: 30,\n render: (row) => (\n {richlist.indexOf(row)+1}\n )\n },\n {\n title: 'Address',\n dataIndex: 'pubAddress',\n className: 'code',\n render: (pubAddress) => {\n return (\n \n \n \n \n {pubAddress}\n \n )\n }\n },\n {\n title: 'Balance',\n dataIndex: 'balance',\n className: 'code',\n render: (balance) => (\n {balance/100000000} FCT\n )\n },\n {\n title: '% of circulating supply',\n className: 'code',\n render: (row) => {\n if (supply > 0) {\n return (\n \n )\n } \n }\n }\n ];\n\n useEffect(() => {\n document.title = \"Rich List | Factom Realtime Explorer\";\n getRichlist();\n }, []);\n\n return (\n
\n\n
\n \n
\n\n Rich List\n Top 500 Factoid Addresses\n\n \n\n
\n );\n}\n\nexport default Richlist;\n","import React, { useState, useEffect } from 'react';\nimport ReactGA from 'react-ga';\n\nimport { Link } from 'react-router-dom';\n\nimport Moment from 'react-moment';\nimport axios from 'axios';\n\nimport {\n Typography,\n Table,\n message,\n Button\n} from 'antd';\n\nimport { ReloadOutlined } from '@ant-design/icons';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiExchangeLine, RiFileList2Line\n} from 'react-icons/ri';\n\nimport { NotifyNetworkError } from './../common/Notifications';\nimport Count from './../common/Count';\n\nconst { Title } = Typography;\n\nconst Pending = () => {\n\n const [tableTxsIsLoading, setTableTxsIsLoading] = useState(true);\n const [tableEntriesIsLoading, setTableEntriesIsLoading] = useState(true);\n const [paginationTxs, setPaginationTxs] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const [paginationEntries, setPaginationEntries] = useState({pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], current: 1});\n const [pendingTxs, setPendingTxs] = useState([]);\n const [pendingEntries, setPendingEntries] = useState([]);\n const [totalPendingTxs, setTotalPendingTxs] = useState(-1);\n const [totalPendingEntries, setTotalPendingEntries] = useState(-1);\n\n const getPendingTxs = async (params = paginationTxs) => {\n ReactGA.pageview(window.location.pathname);\n setTableTxsIsLoading(true);\n try {\n const response = await axios.get('/explorer/pending_ftransactions', { params: { start: (params.current-1)*params.pageSize, limit: params.pageSize } });\n setPendingTxs(response.data.result.Items);\n setTotalPendingTxs(response.data.total);\n setPaginationTxs({...paginationTxs, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${(params.current-1)*params.pageSize+1}-${Math.min(response.data.total, params.current*params.pageSize)} of ${response.data.total}`});\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableTxsIsLoading(false);\n }\n\n const getPendingEntries = async (params = paginationEntries) => {\n ReactGA.pageview(window.location.pathname);\n setTableEntriesIsLoading(true);\n try {\n const response = await axios.get('/explorer/pending_entries', { params: { start: (params.current-1)*params.pageSize, limit: params.pageSize } });\n setPendingEntries(response.data.result.Items);\n setTotalPendingEntries(response.data.total);\n setPaginationEntries({...paginationEntries, current: (response.data.start/response.data.limit)+1, pageSize: response.data.limit, total: response.data.total, showTotal: (total, range) => `${(params.current-1)*params.pageSize+1}-${Math.min(response.data.total, params.current*params.pageSize)} of ${response.data.total}`});\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setTableEntriesIsLoading(false);\n }\n\n const columnsTxs = [\n {\n title: 'Time',\n dataIndex: 'createdAt',\n width: 120,\n render: (createdAt) => (\n {createdAt}\n )\n },\n {\n title: 'Transaction ID',\n dataIndex: 'txId',\n className: 'code',\n render: (txId) => (\n \n \n \n \n {txId}\n \n )\n },\n {\n title: 'Inputs',\n dataIndex: 'totalInputs',\n className: 'code',\n render: (totalInputs) => (\n {totalInputs/100000000} FCT\n )\n },\n {\n title: 'Outputs',\n dataIndex: 'totalOutputs',\n className: 'code',\n render: (totalOutputs) => (\n {totalOutputs/100000000} FCT\n )\n },\n {\n title: 'ECs Created',\n className: 'code',\n render: (row) => (\n {Math.round(row.totalOutECs/row.exchRate)} EC\n )\n },\n {\n title: 'Fees',\n className: 'code',\n render: (row) => {\n let fees = 0;\n if (row.totalInputs>0) { fees = row.totalInputs-row.totalOutputs-row.totalOutECs; }\n return (\n {fees/100000000} FCT\n )\n }\n },\n ];\n\n const columnsEntries = [\n {\n title: 'Time',\n dataIndex: 'createdAt',\n width: 120,\n render: (createdAt) => (\n {createdAt}\n )\n },\n {\n title: 'Entry Hash',\n dataIndex: 'entryHash',\n className: 'code',\n render: (entryHash) => (\n \n \n \n \n {entryHash}\n \n )\n },\n ];\n\n useEffect(() => {\n document.title = \"Pending Transactions and Entries | Factom Realtime Explorer\";\n getPendingTxs();\n getPendingEntries();\n }, []);\n\n return (\n
\n\n \n Pending Transactions and Entries\n \n Data to be included in the next Directory Block\n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiExchangeLine />\n </IconContext.Provider>\n Transactions<Count count={totalPendingTxs} />\n <Button\n type=\"link\"\n icon={<ReloadOutlined />}\n loading={tableTxsIsLoading}\n onClick={() => getPendingTxs(paginationTxs)}\n className=\"refresh-button\"\n />\n \n\n \n\n \n <IconContext.Provider value={{ className: 'react-icons' }}>\n <RiFileList2Line />\n </IconContext.Provider>\n Entries<Count count={totalPendingEntries} />\n <Button\n type=\"link\"\n icon={<ReloadOutlined />}\n loading={tableEntriesIsLoading}\n onClick={() => getPendingEntries(paginationEntries)}\n className=\"refresh-button\"\n />\n \n\n \n\n
\n );\n}\n\nexport default Pending;\n","import React, { useState, useEffect, useRef } from 'react';\nimport { Router, Route, Link, Switch } from 'react-router-dom';\n\nimport { Menu, Layout, Input, Badge, Divider, Select, Typography, message, Form, Tooltip, Dropdown, Button } from 'antd';\n\nimport { isValidAddress } from 'factom';\n\nimport { IconContext } from \"react-icons\";\nimport {\n RiCheckboxMultipleBlankLine, RiLinksLine, RiVipDiamondLine, RiServerLine, RiCodeSSlashLine, RiAnchorLine, RiExternalLinkLine\n} from 'react-icons/ri';\n\nimport {\n LoadingOutlined, DownOutlined\n} from '@ant-design/icons';\n\nimport axios from 'axios';\nimport Moment from 'react-moment';\n\nimport Logo from './common/Logo';\nimport ScrollToTop from './common/ScrollToTop';\nimport History from './common/History';\n\nimport { NotifyNetworkError } from './common/Notifications';\n\nimport DBlocks from './explorer/DBlocks';\nimport Chains from './explorer/Chains';\nimport Changelog from './explorer/Changelog';\nimport Error404 from './explorer/Error404';\n\nimport DBlock from './explorer/DBlock';\nimport EBlock from './explorer/EBlock';\nimport ABlock from './explorer/ABlock';\nimport FBlock from './explorer/FBlock';\nimport ECBlock from './explorer/ECBlock';\nimport Chain from './explorer/Chain';\nimport Entry from './explorer/Entry';\nimport Address from './explorer/Address';\nimport Transaction from './explorer/Transaction';\nimport Richlist from './explorer/Richlist';\nimport Pending from './explorer/Pending';\n\nconst { Header, Content, Footer } = Layout;\nconst { Search } = Input;\nconst { Option } = Select;\nconst { Text } = Typography;\n\nconst Version = \"0.8.1\";\n\nconst Explorer = props => {\n \n const [currentMenu, setCurrentMenu] = useState([window.location.pathname]);\n const [info, setInfo] = useState(null);\n const [searchIsLoading, setSearchIsLoading] = useState(false);\n const [redirect, setRedirect] = useState(null);\n const [searchForm] = Form.useForm();\n const [anchorsHeight, setAnchorsHeight] = useState(null);\n\n const handleMenuClick = e => {\n if (e.key === \"logo\") {\n setCurrentMenu(\"/dblocks\");\n } else {\n setCurrentMenu([e.key]);\n }\n };\n\n const handleChangelogClick = () => {\n setCurrentMenu(null);\n };\n\n const handleSearch = (value) => {\n setSearchIsLoading(true);\n var isnum = /^\\d+$/.test(value);\n var ishash = /\\b[0-9A-Fa-f]{64}\\b/.test(value);\n if (isnum && Number.parseInt(value) >= 0) {\n getDBlockByHeight(Number.parseInt(value));\n }\n else if (ishash) {\n getTypeByHash(value);\n }\n else if (isValidAddress(value)) {\n setSearchIsLoading(false);\n setRedirect('/addresses/'+value);\n }\n else {\n setSearchIsLoading(false);\n message.info('No results found');\n }\n };\n\n const getDBlockByHeight = async (height) => {\n try {\n const response = await axios.get('/explorer/dblocks/by_height/'+height);\n setRedirect('/dblocks/'+response.data.result.keyMR);\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setSearchIsLoading(false);\n}\n\n const getTypeByHash = async (hash) => {\n try {\n const response = await axios.post('/explorer/search/', { hash: hash });\n setRedirect('/'+response.data.result+'/'+hash);\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n setSearchIsLoading(false);\n }\n\n const getInfo = async () => {\n try {\n const response = await axios.get('/explorer');\n setInfo(response.data.result);\n if (response.data.result.anchorsHeight) {\n setAnchorsHeight(response.data.result.anchorsHeight);\n }\n }\n catch(error) {\n if (error.response) {\n message.error(error.response.data.error);\n } else {\n NotifyNetworkError();\n }\n }\n }\n\n const ExplorerSelect = (\n \n \n {info && info.name === \"mainnet\" ? (\n \n ) :\n \n \n \n }\n \n \n {info && info.name === \"testnet\" ? (\n \n ) :\n \n \n \n }\n \n \n );\n\n const ExplorerSelectFooter = (\n \n \n {info && info.name === \"mainnet\" ? (\n Mainnet\n ) :\n \n Mainnet\n \n }\n \n \n {info && info.name === \"testnet\" ? (\n Testnet\n ) :\n \n Testnet\n \n }\n \n \n );\n\n useEffect(() => {\n if (redirect) {\n History.push(redirect);\n searchForm.resetFields();\n setRedirect(null);\n }\n }, [redirect]);\n\n useEffect(() => {\n getInfo();\n if (window.location.pathname === \"/\" || window.location.pathname.includes(\"blocks\")) {\n setCurrentMenu(\"/dblocks\");\n }\n if (window.location.pathname.includes(\"chains\")) {\n setCurrentMenu(\"/chains\");\n }\n }, []);\n\n useInterval(() => {\n getInfo();\n }, 60000);\n\n return (\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n Blocks\n \n \n \n \n \n Chains\n \n \n \n \n \n Rich List\n \n \n \n {(info && (info.name === \"mainnet\" || info.name === \"testnet\")) ? (\n \n \n \n ) :\n null\n }\n
\n \n
\n \n { if (value!=='') { handleSearch(value); } }}\n loading={searchIsLoading}\n spellCheck={false}\n autoComplete=\"off\"\n disabled={searchIsLoading}\n />\n \n
\n
\n \n 🏦  Factom OTC Desk\n
\n Buy or sell FCT. Operated by De Facto — one of the most reliable Factom ANOs.\n
\n
\n \n \n \n \n } />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n ©  Factom Realtime Explorer\n
\n {(info && (info.name === \"mainnet\" || info.name === \"testnet\")) ? (\n \n \n e.preventDefault()}>\n {info.name === \"mainnet\" ? (\n Mainnet\n ) :\n Testnet\n }\n \n \n \n \n \n ) :\n null\n }\n UI: {Version}\n \n API: {info ? info.version : }\n \n \n Changelog\n \n {info ? (\n
\n
\n \n {info.apiHeight}\n
\n
\n \n {info.blockchainHeight}\n
\n {info.anchorsHeight && info.anchorsHeight.btc ? (\n
\n \n BTC: {info.anchorsHeight.btc}\n
\n ) :\n null\n }\n {info.anchorsHeight && info.anchorsHeight.eth ? (\n
\n \n ETH: {info.anchorsHeight.eth}\n
\n ) :\n null\n }\n {info.anchorsHeight && info.anchorsHeight.fct ? (\n
\n \n FCT: {info.anchorsHeight.fct}\n
\n ) :\n null\n }\n
\n ) :\n null\n }\n
\n
\n
\n
\n );\n};\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n \n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n \n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n }\n \n\nexport default Explorer;\n","import React, { useState, useEffect } from 'react';\nimport { Spin } from 'antd';\nimport axios from 'axios';\nimport Explorer from './components/Explorer';\nimport ReactGA from 'react-ga';\nimport './App.css';\n\naxios.defaults.baseURL = process.env.REACT_APP_API_PATH;\nReactGA.initialize(process.env.REACT_APP_GA_TAG);\n\nconst App = () => {\n const [loaded, setLoaded] = useState(false);\n\n const renderApp = () => {\n if (loaded) {\n return ;\n } else {\n return ;\n }\n };\n\n useEffect(() => {\n setLoaded(true);\n }, []);\n\n return
{renderApp()}
;\n};\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}