{"version":3,"file":"static/js/main.8b1a2e02.js","mappings":";uCAAAA,EAAOC,QAAU,EAAjB,6DCAe,SAASC,EAAQC,GAG9B,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,GACvHD,EAAQC,GCPE,SAASK,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCCFxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAInC,SAASO,EAAad,EAAae,EAAYC,GAM5D,OALID,GAAYb,EAAkBF,EAAYH,UAAWkB,GACrDC,GAAad,EAAkBF,EAAagB,GAChDL,OAAOC,eAAeZ,EAAa,YAAa,CAC9CU,UAAU,IAELV,EChBM,SAASiB,EAAuBC,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,ECLM,SAASE,EAAgBC,EAAGC,GAMzC,OALAF,EAAkBT,OAAOY,gBAAkB,SAAyBF,EAAGC,GAErE,OADAD,EAAEG,UAAYF,EACPD,GAGFD,EAAgBC,EAAGC,GCLb,SAASG,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI1B,UAAU,sDAGtByB,EAAS7B,UAAYc,OAAOiB,OAAOD,GAAcA,EAAW9B,UAAW,CACrED,YAAa,CACXiC,MAAOH,EACPhB,UAAU,EACVD,cAAc,KAGlBE,OAAOC,eAAec,EAAU,YAAa,CAC3ChB,UAAU,IAERiB,GAAY,EAAeD,EAAUC,GCd5B,SAASG,EAA2BZ,EAAMa,GACvD,GAAIA,IAA2B,WAAlBvC,EAAQuC,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAI9B,UAAU,4DAGtB,OAAO,EAAsBiB,GCThB,SAASc,EAAgBX,GAItC,OAHAW,EAAkBrB,OAAOY,eAAiBZ,OAAOsB,eAAiB,SAAyBZ,GACzF,OAAOA,EAAEG,WAAab,OAAOsB,eAAeZ,IAEvCW,EAAgBX,GCJV,SAASa,EAAgBzC,EAAKoB,EAAKgB,GAYhD,OAXIhB,KAAOpB,EACTkB,OAAOC,eAAenB,EAAKoB,EAAK,CAC9BgB,MAAOA,EACPrB,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZjB,EAAIoB,GAAOgB,EAGNpC,ECZM,SAAS0C,EAAgBC,GACtC,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,ECDlB,SAASG,EAAiBC,GACvC,GAAsB,qBAAX9C,QAAmD,MAAzB8C,EAAK9C,OAAOC,WAA2C,MAAtB6C,EAAK,cAAuB,OAAOH,MAAMI,KAAKD,GCDvG,SAASE,EAAkBN,EAAKO,IAClC,MAAPA,GAAeA,EAAMP,EAAI9B,UAAQqC,EAAMP,EAAI9B,QAE/C,IAAK,IAAID,EAAI,EAAGuC,EAAO,IAAIP,MAAMM,GAAMtC,EAAIsC,EAAKtC,IAC9CuC,EAAKvC,GAAK+B,EAAI/B,GAGhB,OAAOuC,ECNM,SAASC,EAA4BxB,EAAGyB,GACrD,GAAKzB,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,EAAiBA,EAAGyB,GACtD,IAAIC,EAAIpC,OAAOd,UAAUmD,SAASjB,KAAKV,GAAG4B,MAAM,GAAI,GAEpD,MADU,WAANF,GAAkB1B,EAAEzB,cAAamD,EAAI1B,EAAEzB,YAAYsD,MAC7C,QAANH,GAAqB,QAANA,EAAoBV,MAAMI,KAAKpB,GACxC,cAAN0B,GAAqB,2CAA2CI,KAAKJ,GAAW,EAAiB1B,EAAGyB,QAAxG,GCPa,SAASM,IACtB,MAAM,IAAInD,UAAU,6ICStB,SAASoD,EAAQC,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAElV,SAASQ,EAAc7D,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKgD,EAAQ1C,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBb,EAAQ1C,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAE7gB,IAAImE,EAAgB,CAClBC,KAAM,SACNC,IAAK,SAAaC,GAChBC,KAAKC,OAAO,MAAOF,IAErBG,KAAM,SAAcH,GAClBC,KAAKC,OAAO,OAAQF,IAEtBI,MAAO,SAAeJ,GACpBC,KAAKC,OAAO,QAASF,IAEvBE,OAAQ,SAAgBJ,EAAME,GACxBK,SAAWA,QAAQP,IAAOO,QAAQP,GAAMR,MAAMe,QAASL,KAI3DM,EAAS,WACX,SAASA,EAAOC,GACd,IAAIC,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAElFnE,EAAgB4E,KAAMK,GAEtBL,KAAKS,KAAKH,EAAgBC,GAqE5B,OAlEAnE,EAAaiE,EAAQ,CAAC,CACpBlE,IAAK,OACLgB,MAAO,SAAcmD,GACnB,IAAIC,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAClFS,KAAKU,OAASH,EAAQG,QAAU,WAChCV,KAAKW,OAASL,GAAkBV,EAChCI,KAAKO,QAAUA,EACfP,KAAKY,MAAQL,EAAQK,QAEtB,CACDzE,IAAK,WACLgB,MAAO,SAAkB0D,GACvBb,KAAKY,MAAQC,IAEd,CACD1E,IAAK,MACLgB,MAAO,WACL,IAAK,IAAI2D,EAAOvB,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMmD,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EhB,EAAKgB,GAAQxB,UAAUwB,GAGzB,OAAOf,KAAKgB,QAAQjB,EAAM,MAAO,IAAI,KAEtC,CACD5D,IAAK,OACLgB,MAAO,WACL,IAAK,IAAI8D,EAAQ1B,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMsD,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFnB,EAAKmB,GAAS3B,UAAU2B,GAG1B,OAAOlB,KAAKgB,QAAQjB,EAAM,OAAQ,IAAI,KAEvC,CACD5D,IAAK,QACLgB,MAAO,WACL,IAAK,IAAIgE,EAAQ5B,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMwD,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFrB,EAAKqB,GAAS7B,UAAU6B,GAG1B,OAAOpB,KAAKgB,QAAQjB,EAAM,QAAS,MAEpC,CACD5D,IAAK,YACLgB,MAAO,WACL,IAAK,IAAIkE,EAAQ9B,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAM0D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFvB,EAAKuB,GAAS/B,UAAU+B,GAG1B,OAAOtB,KAAKgB,QAAQjB,EAAM,OAAQ,wBAAwB,KAE3D,CACD5D,IAAK,UACLgB,MAAO,SAAiB4C,EAAMwB,EAAKb,EAAQc,GACzC,OAAIA,IAAcxB,KAAKY,MAAc,MACd,kBAAZb,EAAK,KAAiBA,EAAK,GAAK,GAAG0B,OAAOf,GAAQe,OAAOzB,KAAKU,OAAQ,KAAKe,OAAO1B,EAAK,KAC3FC,KAAKW,OAAOY,GAAKxB,MAEzB,CACD5D,IAAK,SACLgB,MAAO,SAAgBuE,GACrB,OAAO,IAAIrB,EAAOL,KAAKW,OAAQrB,EAAcA,EAAc,GAAI,CAC7DoB,OAAQ,GAAGe,OAAOzB,KAAKU,OAAQ,KAAKe,OAAOC,EAAY,OACrD1B,KAAKO,cAINF,EA3EI,GA8ETsB,EAAa,IAAItB,EAEjBuB,EAAe,WACjB,SAASA,IACPxG,EAAgB4E,KAAM4B,GAEtB5B,KAAK6B,UAAY,GAqDnB,OAlDAzF,EAAawF,EAAc,CAAC,CAC1BzF,IAAK,KACLgB,MAAO,SAAY2E,EAAQC,GACzB,IAAIC,EAAQhC,KAOZ,OALA8B,EAAOG,MAAM,KAAKxC,SAAQ,SAAUyC,GAClCF,EAAMH,UAAUK,GAASF,EAAMH,UAAUK,IAAU,GAEnDF,EAAMH,UAAUK,GAAO9C,KAAK2C,MAEvB/B,OAER,CACD7D,IAAK,MACLgB,MAAO,SAAa+E,EAAOH,GACpB/B,KAAK6B,UAAUK,KAEfH,EAKL/B,KAAK6B,UAAUK,GAASlC,KAAK6B,UAAUK,GAAOjD,QAAO,SAAUkD,GAC7D,OAAOA,IAAMJ,YALN/B,KAAK6B,UAAUK,MAQzB,CACD/F,IAAK,OACLgB,MAAO,SAAc+E,GACnB,IAAK,IAAIpB,EAAOvB,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMmD,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGhB,EAAKgB,EAAO,GAAKxB,UAAUwB,GAG7B,GAAIf,KAAK6B,UAAUK,GAAQ,CACzB,IAAIE,EAAS,GAAGX,OAAOzB,KAAK6B,UAAUK,IACtCE,EAAO3C,SAAQ,SAAU4C,GACvBA,EAAShD,WAAM,EAAQU,MAI3B,GAAIC,KAAK6B,UAAU,KAAM,CACvB,IAAIS,EAAU,GAAGb,OAAOzB,KAAK6B,UAAU,MAEvCS,EAAQ7C,SAAQ,SAAU4C,GACxBA,EAAShD,MAAMgD,EAAU,CAACH,GAAOT,OAAO1B,YAMzC6B,EAzDU,GA4DnB,SAASW,IACP,IAAIC,EACAC,EACAC,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3CL,EAAMI,EACNH,EAAMI,KAIR,OAFAH,EAAQE,QAAUJ,EAClBE,EAAQG,OAASJ,EACVC,EAET,SAASI,EAAWlE,GAClB,OAAc,MAAVA,EAAuB,GACpB,GAAKA,EAEd,SAASmE,EAAKC,EAAGC,EAAGC,GAClBF,EAAEvD,SAAQ,SAAU0D,GACdF,EAAEE,KAAID,EAAEC,GAAKF,EAAEE,OAIvB,SAASC,EAAcxE,EAAQyE,EAAMC,GACnC,SAASC,EAASpH,GAChB,OAAOA,GAAOA,EAAIqH,QAAQ,QAAU,EAAIrH,EAAIsH,QAAQ,OAAQ,KAAOtH,EAGrE,SAASuH,IACP,OAAQ9E,GAA4B,kBAAXA,EAK3B,IAFA,IAAI+E,EAAwB,kBAATN,EAAoB,GAAG5B,OAAO4B,GAAQA,EAAKpB,MAAM,KAE7D0B,EAAM/H,OAAS,GAAG,CACvB,GAAI8H,IAAwB,MAAO,GACnC,IAAIvH,EAAMoH,EAASI,EAAMC,UACpBhF,EAAOzC,IAAQmH,IAAO1E,EAAOzC,GAAO,IAAImH,GAG3C1E,EADE3C,OAAOd,UAAU0I,eAAexG,KAAKuB,EAAQzC,GACtCyC,EAAOzC,GAEP,GAIb,OAAIuH,IAA+B,GAC5B,CACL3I,IAAK6D,EACLkF,EAAGP,EAASI,EAAMC,UAItB,SAASG,EAAQnF,EAAQyE,EAAMW,GAC7B,IAAIC,EAAiBb,EAAcxE,EAAQyE,EAAMpH,QACvCgI,EAAelJ,IACjBkJ,EAAeH,GAEdE,EAWX,SAASE,EAAQtF,EAAQyE,GACvB,IAAIc,EAAkBf,EAAcxE,EAAQyE,GACxCtI,EAAMoJ,EAAgBpJ,IACtB+I,EAAIK,EAAgBL,EAExB,GAAK/I,EACL,OAAOA,EAAI+I,GAEb,SAASM,EAAoBC,EAAMC,EAAanI,GAC9C,IAAIgB,EAAQ+G,EAAQG,EAAMlI,GAE1B,YAAcqE,IAAVrD,EACKA,EAGF+G,EAAQI,EAAanI,GAE9B,SAASoI,EAAW9I,EAAQ+D,EAAQgF,GAClC,IAAK,IAAIC,KAAQjF,EACF,cAATiF,GAAiC,gBAATA,IACtBA,KAAQhJ,EACkB,kBAAjBA,EAAOgJ,IAAsBhJ,EAAOgJ,aAAiBC,QAAkC,kBAAjBlF,EAAOiF,IAAsBjF,EAAOiF,aAAiBC,OAChIF,IAAW/I,EAAOgJ,GAAQjF,EAAOiF,IAErCF,EAAW9I,EAAOgJ,GAAOjF,EAAOiF,GAAOD,GAGzC/I,EAAOgJ,GAAQjF,EAAOiF,IAK5B,OAAOhJ,EAET,SAASkJ,EAAYC,GACnB,OAAOA,EAAInB,QAAQ,sCAAuC,QAE5D,IAAIoB,EAAa,CACf,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,UAEP,SAASC,EAAOT,GACd,MAAoB,kBAATA,EACFA,EAAKZ,QAAQ,cAAc,SAAUR,GAC1C,OAAO4B,EAAW5B,MAIfoB,EAET,IAAIU,EAA2B,qBAAXC,QAA0BA,OAAOC,WAAaD,OAAOC,UAAUC,WAAaF,OAAOC,UAAUC,UAAU1B,QAAQ,SAAW,EAC1I2B,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,KAwBjC,SAASC,EAAUxG,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAEpV,SAASuG,EAAgB5J,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKyJ,EAAUnJ,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmB4F,EAAUnJ,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAEnhB,SAAS6J,EAAaC,GAAW,IAAIC,EAErC,WAAuC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ1K,UAAU2K,QAAQzI,KAAKoI,QAAQC,UAAUG,QAAS,IAAI,iBAAyB,EAAQ,MAAOE,GAAK,OAAO,GAF9PC,GAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQ5I,EAAgBiI,GAAkB,GAAIC,EAA2B,CAAE,IAAIW,EAAY7I,EAAgB0C,MAAM9E,YAAa+K,EAASR,QAAQC,UAAUQ,EAAO3G,UAAW4G,QAAqBF,EAASC,EAAM7G,MAAMW,KAAMT,WAAc,OAAOnC,EAA2B4C,KAAMiG,IAI5Z,SAASG,EAASrL,EAAKsI,GACrB,IAAIgD,EAAe9G,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,IACvF,GAAKxE,EAAL,CACA,GAAIA,EAAIsI,GAAO,OAAOtI,EAAIsI,GAI1B,IAHA,IAAIiD,EAAQjD,EAAKpB,MAAMoE,GACnBE,EAAUxL,EAELY,EAAI,EAAGA,EAAI2K,EAAM1K,SAAUD,EAAG,CACrC,IAAK4K,EAAS,OAEd,GAAiC,kBAAtBA,EAAQD,EAAM3K,KAAoBA,EAAI,EAAI2K,EAAM1K,OACzD,OAGF,QAA0B4E,IAAtB+F,EAAQD,EAAM3K,IAAmB,CAKnC,IAJA,IAAI6K,EAAI,EACJ5J,EAAI0J,EAAM/H,MAAM5C,EAAGA,EAAI6K,GAAGC,KAAKJ,GAC/BK,EAAMH,EAAQ3J,QAEH4D,IAARkG,GAAqBJ,EAAM1K,OAASD,EAAI6K,GAC7CA,IAEAE,EAAMH,EADN3J,EAAI0J,EAAM/H,MAAM5C,EAAGA,EAAI6K,GAAGC,KAAKJ,IAIjC,QAAY7F,IAARkG,EAAmB,OAEvB,GAAIrD,EAAKsD,SAAS/J,GAAI,CACpB,GAAmB,kBAAR8J,EAAkB,OAAOA,EACpC,GAAI9J,GAAuB,kBAAX8J,EAAI9J,GAAiB,OAAO8J,EAAI9J,GAGlD,IAAIgK,EAAaN,EAAM/H,MAAM5C,EAAI6K,GAAGC,KAAKJ,GACzC,OAAIO,EAAmBR,EAASM,EAAKE,EAAYP,QACjD,EAGFE,EAAUA,EAAQD,EAAM3K,IAG1B,OAAO4K,GAGT,IAAIM,EAAgB,SAAUC,GAC5B/J,EAAU8J,EAAeC,GAEzB,IAAIC,EAASzB,EAAauB,GAE1B,SAASA,EAAcxC,GACrB,IAAIrC,EAEAzB,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,CAChFyH,GAAI,CAAC,eACLC,UAAW,eAsBb,OAnBA7L,EAAgB4E,KAAM6G,GAEtB7E,EAAQ+E,EAAO1J,KAAK2C,MAEhB+E,GACFnD,EAAavE,KAAKd,EAAuByF,IAG3CA,EAAMqC,KAAOA,GAAQ,GACrBrC,EAAMzB,QAAUA,OAEmBC,IAA/BwB,EAAMzB,QAAQ8F,eAChBrE,EAAMzB,QAAQ8F,aAAe,UAGW7F,IAAtCwB,EAAMzB,QAAQ2G,sBAChBlF,EAAMzB,QAAQ2G,qBAAsB,GAG/BlF,EA+IT,OA5IA5F,EAAayK,EAAe,CAAC,CAC3B1K,IAAK,gBACLgB,MAAO,SAAuB6J,GACxBhH,KAAKO,QAAQyG,GAAGxD,QAAQwD,GAAM,GAChChH,KAAKO,QAAQyG,GAAG5H,KAAK4H,KAGxB,CACD7K,IAAK,mBACLgB,MAAO,SAA0B6J,GAC/B,IAAIG,EAAQnH,KAAKO,QAAQyG,GAAGxD,QAAQwD,GAEhCG,GAAS,GACXnH,KAAKO,QAAQyG,GAAGI,OAAOD,EAAO,KAGjC,CACDhL,IAAK,cACLgB,MAAO,SAAqBkK,EAAKL,EAAI7K,GACnC,IAAIoE,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9E8G,OAAwC7F,IAAzBD,EAAQ8F,aAA6B9F,EAAQ8F,aAAerG,KAAKO,QAAQ8F,aACxFa,OAAsD1G,IAAhCD,EAAQ2G,oBAAoC3G,EAAQ2G,oBAAsBlH,KAAKO,QAAQ2G,oBAC7G7D,EAAO,CAACgE,EAAKL,GACb7K,GAAsB,kBAARA,IAAkBkH,EAAOA,EAAK5B,OAAOtF,IACnDA,GAAsB,kBAARA,IAAkBkH,EAAOA,EAAK5B,OAAO4E,EAAelK,EAAI8F,MAAMoE,GAAgBlK,IAE5FkL,EAAI7D,QAAQ,MAAQ,IACtBH,EAAOgE,EAAIpF,MAAM,MAGnB,IAAIgE,EAAS/B,EAAQlE,KAAKqE,KAAMhB,GAChC,OAAI4C,IAAWiB,GAAsC,kBAAR/K,EAAyB8J,EAC/DG,EAASpG,KAAKqE,MAAQrE,KAAKqE,KAAKgD,IAAQrH,KAAKqE,KAAKgD,GAAKL,GAAK7K,EAAKkK,KAEzE,CACDlK,IAAK,cACLgB,MAAO,SAAqBkK,EAAKL,EAAI7K,EAAKgB,GACxC,IAAIoD,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,CAChF+H,QAAQ,GAENjB,EAAerG,KAAKO,QAAQ8F,kBACX7F,IAAjB6F,IAA4BA,EAAe,KAC/C,IAAIhD,EAAO,CAACgE,EAAKL,GACb7K,IAAKkH,EAAOA,EAAK5B,OAAO4E,EAAelK,EAAI8F,MAAMoE,GAAgBlK,IAEjEkL,EAAI7D,QAAQ,MAAQ,IAEtBrG,EAAQ6J,EACRA,GAFA3D,EAAOgE,EAAIpF,MAAM,MAEP,IAGZjC,KAAKuH,cAAcP,GACnBjD,EAAQ/D,KAAKqE,KAAMhB,EAAMlG,GACpBoD,EAAQ+G,QAAQtH,KAAKwH,KAAK,QAASH,EAAKL,EAAI7K,EAAKgB,KAEvD,CACDhB,IAAK,eACLgB,MAAO,SAAsBkK,EAAKL,EAAIS,GACpC,IAAIlH,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,CAChF+H,QAAQ,GAGV,IAAK,IAAInE,KAAKsE,EACgB,kBAAjBA,EAAUtE,IAAqE,mBAAlDlH,OAAOd,UAAUmD,SAASe,MAAMoI,EAAUtE,KAA0BnD,KAAK0H,YAAYL,EAAKL,EAAI7D,EAAGsE,EAAUtE,GAAI,CACrJmE,QAAQ,IAIP/G,EAAQ+G,QAAQtH,KAAKwH,KAAK,QAASH,EAAKL,EAAIS,KAElD,CACDtL,IAAK,oBACLgB,MAAO,SAA2BkK,EAAKL,EAAIS,EAAWE,EAAMnD,GAC1D,IAAIjE,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,CAChF+H,QAAQ,GAENjE,EAAO,CAACgE,EAAKL,GAEbK,EAAI7D,QAAQ,MAAQ,IAEtBmE,EAAOF,EACPA,EAAYT,EACZA,GAHA3D,EAAOgE,EAAIpF,MAAM,MAGP,IAGZjC,KAAKuH,cAAcP,GACnB,IAAIY,EAAO1D,EAAQlE,KAAKqE,KAAMhB,IAAS,GAEnCsE,EACFpD,EAAWqD,EAAMH,EAAWjD,GAE5BoD,EAAOvC,EAAgBA,EAAgB,GAAIuC,GAAOH,GAGpD1D,EAAQ/D,KAAKqE,KAAMhB,EAAMuE,GACpBrH,EAAQ+G,QAAQtH,KAAKwH,KAAK,QAASH,EAAKL,EAAIS,KAElD,CACDtL,IAAK,uBACLgB,MAAO,SAA8BkK,EAAKL,GACpChH,KAAK6H,kBAAkBR,EAAKL,WACvBhH,KAAKqE,KAAKgD,GAAKL,GAGxBhH,KAAK8H,iBAAiBd,GACtBhH,KAAKwH,KAAK,UAAWH,EAAKL,KAE3B,CACD7K,IAAK,oBACLgB,MAAO,SAA2BkK,EAAKL,GACrC,YAAqCxG,IAA9BR,KAAK+H,YAAYV,EAAKL,KAE9B,CACD7K,IAAK,oBACLgB,MAAO,SAA2BkK,EAAKL,GAErC,OADKA,IAAIA,EAAKhH,KAAKO,QAAQ0G,WACW,OAAlCjH,KAAKO,QAAQyH,iBAAkC3C,EAAgBA,EAAgB,GAAI,IAAKrF,KAAK+H,YAAYV,EAAKL,IAC3GhH,KAAK+H,YAAYV,EAAKL,KAE9B,CACD7K,IAAK,oBACLgB,MAAO,SAA2BkK,GAChC,OAAOrH,KAAKqE,KAAKgD,KAElB,CACDlL,IAAK,8BACLgB,MAAO,SAAqCkK,GAC1C,IAAIhD,EAAOrE,KAAKiI,kBAAkBZ,GAElC,SADQhD,GAAQpI,OAAO6C,KAAKuF,IAAS,IAC1B6D,MAAK,SAAUC,GACxB,OAAO9D,EAAK8D,IAAMlM,OAAO6C,KAAKuF,EAAK8D,IAAIvM,OAAS,OAGnD,CACDO,IAAK,SACLgB,MAAO,WACL,OAAO6C,KAAKqE,SAITwC,EA/KW,CAgLlBjF,GAEEwG,EAAgB,CAClBC,WAAY,GACZC,iBAAkB,SAA0B1N,GAC1CoF,KAAKqI,WAAWzN,EAAO4D,MAAQ5D,GAEjC2N,OAAQ,SAAgBF,EAAYlL,EAAOhB,EAAKoE,EAASiI,GACvD,IAAIxG,EAAQhC,KAKZ,OAHAqI,EAAW5I,SAAQ,SAAUgJ,GACvBzG,EAAMqG,WAAWI,KAAYtL,EAAQ6E,EAAMqG,WAAWI,GAAWC,QAAQvL,EAAOhB,EAAKoE,EAASiI,OAE7FrL,IAIX,SAASwL,EAAU/J,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAEpV,SAAS8J,EAAgBnN,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKgN,EAAU1M,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBmJ,EAAU1M,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAEnhB,SAASoN,EAAetD,GAAW,IAAIC,EAEvC,WAAyC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ1K,UAAU2K,QAAQzI,KAAKoI,QAAQC,UAAUG,QAAS,IAAI,iBAAyB,EAAQ,MAAOE,GAAK,OAAO,GAF9P+C,GAA+B,OAAO,WAAkC,IAAsC7C,EAAlCC,EAAQ5I,EAAgBiI,GAAkB,GAAIC,EAA2B,CAAE,IAAIW,EAAY7I,EAAgB0C,MAAM9E,YAAa+K,EAASR,QAAQC,UAAUQ,EAAO3G,UAAW4G,QAAqBF,EAASC,EAAM7G,MAAMW,KAAMT,WAAc,OAAOnC,EAA2B4C,KAAMiG,IAGha,IAAI8C,EAAmB,GAEnBC,EAAa,SAAUlC,GACzB/J,EAAUiM,EAAYlC,GAEtB,IAAIC,EAAS8B,EAAeG,GAE5B,SAASA,EAAWC,GAClB,IAAIjH,EAEAzB,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAkBlF,OAhBAnE,EAAgB4E,KAAMgJ,GAEtBhH,EAAQ+E,EAAO1J,KAAK2C,MAEhB+E,GACFnD,EAAavE,KAAKd,EAAuByF,IAG3Ce,EAAK,CAAC,gBAAiB,gBAAiB,iBAAkB,eAAgB,mBAAoB,aAAc,SAAUkG,EAAU1M,EAAuByF,IACvJA,EAAMzB,QAAUA,OAEmBC,IAA/BwB,EAAMzB,QAAQ8F,eAChBrE,EAAMzB,QAAQ8F,aAAe,KAG/BrE,EAAMrB,OAASgB,EAAWzE,OAAO,cAC1B8E,EAiYT,OA9XA5F,EAAa4M,EAAY,CAAC,CACxB7M,IAAK,iBACLgB,MAAO,SAAwBkK,GACzBA,IAAKrH,KAAKkJ,SAAW7B,KAE1B,CACDlL,IAAK,SACLgB,MAAO,SAAgBhB,GACrB,IAAIoE,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,CAChF4J,cAAe,IAGjB,QAAY3I,IAARrE,GAA6B,OAARA,EACvB,OAAO,EAGT,IAAIiN,EAAWpJ,KAAK4C,QAAQzG,EAAKoE,GACjC,OAAO6I,QAA6B5I,IAAjB4I,EAAS5G,MAE7B,CACDrG,IAAK,iBACLgB,MAAO,SAAwBhB,EAAKoE,GAClC,IAAI8I,OAAsC7I,IAAxBD,EAAQ8I,YAA4B9I,EAAQ8I,YAAcrJ,KAAKO,QAAQ8I,iBACrE7I,IAAhB6I,IAA2BA,EAAc,KAC7C,IAAIhD,OAAwC7F,IAAzBD,EAAQ8F,aAA6B9F,EAAQ8F,aAAerG,KAAKO,QAAQ8F,aACxFiD,EAAa/I,EAAQyG,IAAMhH,KAAKO,QAAQ0G,WAAa,GACrDsC,EAAuBF,GAAelN,EAAIqH,QAAQ6F,IAAgB,EAClEG,GAAwBxJ,KAAKO,QAAQkJ,0BAA4BlJ,EAAQ8F,eAAiBrG,KAAKO,QAAQmJ,yBAA2BnJ,EAAQ8I,cA5UpJ,SAA6BlN,EAAKkN,EAAahD,GAC7CgD,EAAcA,GAAe,GAC7BhD,EAAeA,GAAgB,GAC/B,IAAIsD,EAAgBxE,EAAMlG,QAAO,SAAU2K,GACzC,OAAOP,EAAY7F,QAAQoG,GAAK,GAAKvD,EAAa7C,QAAQoG,GAAK,KAEjE,GAA6B,IAAzBD,EAAc/N,OAAc,OAAO,EACvC,IAAIiO,EAAI,IAAIC,OAAO,IAAIrI,OAAOkI,EAAcI,KAAI,SAAUH,GACxD,MAAa,MAANA,EAAY,MAAQA,KAC1BnD,KAAK,KAAM,MACVuD,GAAWH,EAAEpL,KAAKtC,GAEtB,IAAK6N,EAAS,CACZ,IAAIC,EAAK9N,EAAIqH,QAAQ6C,GAEjB4D,EAAK,IAAMJ,EAAEpL,KAAKtC,EAAI+N,UAAU,EAAGD,MACrCD,GAAU,GAId,OAAOA,EAwT2JG,CAAoBhO,EAAKkN,EAAahD,GAEpM,GAAIkD,IAAyBC,EAAsB,CACjD,IAAIrG,EAAIhH,EAAIiO,MAAMpK,KAAKqK,aAAaC,eAEpC,GAAInH,GAAKA,EAAEvH,OAAS,EAClB,MAAO,CACLO,IAAKA,EACLmN,WAAYA,GAIhB,IAAIiB,EAAQpO,EAAI8F,MAAMoH,IAClBA,IAAgBhD,GAAgBgD,IAAgBhD,GAAgBrG,KAAKO,QAAQyG,GAAGxD,QAAQ+G,EAAM,KAAO,KAAGjB,EAAaiB,EAAM3G,SAC/HzH,EAAMoO,EAAM9D,KAAKJ,GAInB,MAD0B,kBAAfiD,IAAyBA,EAAa,CAACA,IAC3C,CACLnN,IAAKA,EACLmN,WAAYA,KAGf,CACDnN,IAAK,YACLgB,MAAO,SAAmB2B,EAAMyB,EAASiK,GACvC,IAAIC,EAASzK,KAOb,GALyB,WAArBlF,EAAQyF,IAAyBP,KAAKO,QAAQmK,mCAChDnK,EAAUP,KAAKO,QAAQmK,iCAAiCnL,YAGrDgB,IAASA,EAAU,SACXC,IAAT1B,GAA+B,OAATA,EAAe,MAAO,GAC3CnB,MAAMC,QAAQkB,KAAOA,EAAO,CAAC4F,OAAO5F,KACzC,IAAIuH,OAAwC7F,IAAzBD,EAAQ8F,aAA6B9F,EAAQ8F,aAAerG,KAAKO,QAAQ8F,aAExFsE,EAAuB3K,KAAK4K,eAAe9L,EAAKA,EAAKlD,OAAS,GAAI2E,GAClEpE,EAAMwO,EAAqBxO,IAC3BmN,EAAaqB,EAAqBrB,WAElCuB,EAAYvB,EAAWA,EAAW1N,OAAS,GAC3CyL,EAAM9G,EAAQ8G,KAAOrH,KAAKkJ,SAC1B4B,EAA0BvK,EAAQuK,yBAA2B9K,KAAKO,QAAQuK,wBAE9E,GAAIzD,GAA6B,WAAtBA,EAAI0D,cAA4B,CACzC,GAAID,EAAyB,CAC3B,IAAIzB,EAAc9I,EAAQ8I,aAAerJ,KAAKO,QAAQ8I,YACtD,OAAOwB,EAAYxB,EAAclN,EAGnC,OAAOA,EAGT,IAAIiN,EAAWpJ,KAAK4C,QAAQ9D,EAAMyB,GAC9BiC,EAAM4G,GAAYA,EAAS5G,IAC3BwI,EAAa5B,GAAYA,EAAS6B,SAAW9O,EAC7C+O,EAAkB9B,GAAYA,EAAS+B,cAAgBhP,EACvDiP,EAAUnP,OAAOd,UAAUmD,SAASe,MAAMmD,GAC1C6I,EAAW,CAAC,kBAAmB,oBAAqB,mBACpDC,OAAoC9K,IAAvBD,EAAQ+K,WAA2B/K,EAAQ+K,WAAatL,KAAKO,QAAQ+K,WAClFC,GAA8BvL,KAAKwL,YAAcxL,KAAKwL,WAAWC,eACjEA,EAAgC,kBAARjJ,GAAmC,mBAARA,GAAoC,kBAARA,EAEnF,GAAI+I,GAA8B/I,GAAOiJ,GAAkBJ,EAAS7H,QAAQ4H,GAAW,IAA6B,kBAAfE,GAAuC,mBAAZF,GAA+B,CAC7J,IAAK7K,EAAQmL,gBAAkB1L,KAAKO,QAAQmL,cAK1C,OAJK1L,KAAKO,QAAQoL,uBAChB3L,KAAKW,OAAOT,KAAK,mEAGZF,KAAKO,QAAQoL,sBAAwB3L,KAAKO,QAAQoL,sBAAsBX,EAAYxI,EAAKoG,EAAgBA,EAAgB,GAAIrI,GAAU,GAAI,CAChJyG,GAAIsC,KACA,QAAQ7H,OAAOtF,EAAK,MAAMsF,OAAOzB,KAAKkJ,SAAU,4CAGxD,GAAI7C,EAAc,CAChB,IAAIuF,EAA6B,mBAAZR,EACjBrI,EAAO6I,EAAiB,GAAK,GAC7BC,EAAcD,EAAiBV,EAAkBF,EAErD,IAAK,IAAI7H,KAAKX,EACZ,GAAIvG,OAAOd,UAAU0I,eAAexG,KAAKmF,EAAKW,GAAI,CAChD,IAAI2I,EAAU,GAAGrK,OAAOoK,GAAapK,OAAO4E,GAAc5E,OAAO0B,GACjEJ,EAAKI,GAAKnD,KAAK+L,UAAUD,EAASlD,EAAgBA,EAAgB,GAAIrI,GAAU,CAC9E+K,YAAY,EACZtE,GAAIsC,KAEFvG,EAAKI,KAAO2I,IAAS/I,EAAKI,GAAKX,EAAIW,IAI3CX,EAAMO,QAEH,GAAIwI,GAAoD,kBAAfD,GAAuC,mBAAZF,GACzE5I,EAAMA,EAAIiE,KAAK6E,MACN9I,EAAMxC,KAAKgM,kBAAkBxJ,EAAK1D,EAAMyB,EAASiK,QACrD,CACL,IAAIyB,GAAc,EACdhB,GAAU,EACViB,OAAwC1L,IAAlBD,EAAQ4L,OAAgD,kBAAlB5L,EAAQ4L,MACpEC,EAAkBpD,EAAWoD,gBAAgB7L,GAC7C8L,EAAqBH,EAAsBlM,KAAKsM,eAAeC,UAAUlF,EAAK9G,EAAQ4L,MAAO5L,GAAW,GACxGiM,EAAejM,EAAQ,eAAekB,OAAO4K,KAAwB9L,EAAQiM,cAE5ExM,KAAKyM,cAAcjK,IAAQ4J,IAC9BH,GAAc,EACdzJ,EAAMgK,GAGHxM,KAAKyM,cAAcjK,KACtByI,GAAU,EACVzI,EAAMrG,GAGR,IAAIuQ,EAAiCnM,EAAQmM,gCAAkC1M,KAAKO,QAAQmM,+BACxFC,EAAgBD,GAAkCzB,OAAUzK,EAAYgC,EACxEoK,EAAgBR,GAAmBI,IAAiBhK,GAAOxC,KAAKO,QAAQqM,cAE5E,GAAI3B,GAAWgB,GAAeW,EAAe,CAG3C,GAFA5M,KAAKW,OAAOb,IAAI8M,EAAgB,YAAc,aAAcvF,EAAKwD,EAAW1O,EAAKyQ,EAAgBJ,EAAehK,GAE5G6D,EAAc,CAChB,IAAIwG,EAAK7M,KAAK4C,QAAQzG,EAAKyM,EAAgBA,EAAgB,GAAIrI,GAAU,GAAI,CAC3E8F,cAAc,KAEZwG,GAAMA,EAAGrK,KAAKxC,KAAKW,OAAOT,KAAK,mLAGrC,IAAI4M,EAAO,GACPC,EAAe/M,KAAKgN,cAAcC,iBAAiBjN,KAAKO,QAAQ2M,YAAa3M,EAAQ8G,KAAOrH,KAAKkJ,UAErG,GAAmC,aAA/BlJ,KAAKO,QAAQ4M,eAAgCJ,GAAgBA,EAAa,GAC5E,IAAK,IAAIpR,EAAI,EAAGA,EAAIoR,EAAanR,OAAQD,IACvCmR,EAAK1N,KAAK2N,EAAapR,QAEe,QAA/BqE,KAAKO,QAAQ4M,cACtBL,EAAO9M,KAAKgN,cAAcI,mBAAmB7M,EAAQ8G,KAAOrH,KAAKkJ,UAEjE4D,EAAK1N,KAAKmB,EAAQ8G,KAAOrH,KAAKkJ,UAGhC,IAAImE,EAAO,SAAclL,EAAG2B,EAAGwJ,GAC7B,IAAIC,EAAoBnB,GAAmBkB,IAAyB9K,EAAM8K,EAAuBX,EAE7FlC,EAAOlK,QAAQiN,kBACjB/C,EAAOlK,QAAQiN,kBAAkBrL,EAAG0I,EAAW/G,EAAGyJ,EAAmBX,EAAerM,GAC3EkK,EAAOgD,kBAAoBhD,EAAOgD,iBAAiBC,aAC5DjD,EAAOgD,iBAAiBC,YAAYvL,EAAG0I,EAAW/G,EAAGyJ,EAAmBX,EAAerM,GAGzFkK,EAAOjD,KAAK,aAAcrF,EAAG0I,EAAW/G,EAAGtB,IAGzCxC,KAAKO,QAAQmN,cACX1N,KAAKO,QAAQoN,oBAAsBzB,EACrCY,EAAKrN,SAAQ,SAAUyJ,GACrBuB,EAAO6B,eAAesB,YAAY1E,EAAU3I,GAASd,SAAQ,SAAUoO,GACrER,EAAK,CAACnE,GAAW/M,EAAM0R,EAAQtN,EAAQ,eAAekB,OAAOoM,KAAYrB,SAI7Ea,EAAKP,EAAM3Q,EAAKqQ,IAKtBhK,EAAMxC,KAAKgM,kBAAkBxJ,EAAK1D,EAAMyB,EAAS6I,EAAUoB,GACvDS,GAAWzI,IAAQrG,GAAO6D,KAAKO,QAAQuN,8BAA6BtL,EAAM,GAAGf,OAAOoJ,EAAW,KAAKpJ,OAAOtF,KAE1G8O,GAAWgB,IAAgBjM,KAAKO,QAAQwN,yBAEzCvL,EADoC,OAAlCxC,KAAKO,QAAQyH,iBACThI,KAAKO,QAAQwN,uBAAuB5R,EAAK8P,EAAczJ,OAAMhC,GAE7DR,KAAKO,QAAQwN,uBAAuBvL,IAKhD,OAAOA,IAER,CACDrG,IAAK,oBACLgB,MAAO,SAA2BqF,EAAKrG,EAAKoE,EAAS6I,EAAUoB,GAC7D,IAAIwD,EAAShO,KAEb,GAAIA,KAAKwL,YAAcxL,KAAKwL,WAAWyC,MACrCzL,EAAMxC,KAAKwL,WAAWyC,MAAMzL,EAAKjC,EAAS6I,EAAS8E,QAAS9E,EAAS+E,OAAQ/E,EAAS6B,QAAS,CAC7F7B,SAAUA,SAEP,IAAK7I,EAAQ6N,kBAAmB,CACjC7N,EAAQ4I,eAAenJ,KAAKqK,aAAa5J,KAAKmI,EAAgBA,EAAgB,GAAIrI,GAAU,CAC9F4I,cAAeP,EAAgBA,EAAgB,GAAI5I,KAAKO,QAAQ4I,eAAgB5I,EAAQ4I,kBAE1F,IACIkF,EADAC,EAAiC,kBAAR9L,IAAqBjC,GAAWA,EAAQ4I,oBAA2D3I,IAA1CD,EAAQ4I,cAAcmF,gBAAgC/N,EAAQ4I,cAAcmF,gBAAkBtO,KAAKO,QAAQ4I,cAAcmF,iBAG/M,GAAIA,EAAiB,CACnB,IAAIC,EAAK/L,EAAI4H,MAAMpK,KAAKqK,aAAaC,eACrC+D,EAAUE,GAAMA,EAAG3S,OAGrB,IAAIyI,EAAO9D,EAAQkD,SAAsC,kBAApBlD,EAAQkD,QAAuBlD,EAAQkD,QAAUlD,EAItF,GAHIP,KAAKO,QAAQ4I,cAAcqF,mBAAkBnK,EAAOuE,EAAgBA,EAAgB,GAAI5I,KAAKO,QAAQ4I,cAAcqF,kBAAmBnK,IAC1I7B,EAAMxC,KAAKqK,aAAaoE,YAAYjM,EAAK6B,EAAM9D,EAAQ8G,KAAOrH,KAAKkJ,SAAU3I,GAEzE+N,EAAiB,CACnB,IAAII,EAAKlM,EAAI4H,MAAMpK,KAAKqK,aAAaC,eAEjC+D,GADUK,GAAMA,EAAG9S,UACA2E,EAAQoO,MAAO,IAGnB,IAAjBpO,EAAQoO,OAAgBnM,EAAMxC,KAAKqK,aAAasE,KAAKnM,GAAK,WAC5D,IAAK,IAAI1B,EAAOvB,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMmD,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EhB,EAAKgB,GAAQxB,UAAUwB,GAGzB,OAAIyJ,GAAWA,EAAQ,KAAOzK,EAAK,KAAOQ,EAAQqO,SAChDZ,EAAOrN,OAAOT,KAAK,6CAA6CuB,OAAO1B,EAAK,GAAI,aAAa0B,OAAOtF,EAAI,KAEjG,MAGF6R,EAAOjC,UAAU1M,MAAM2O,EAAQjO,EAAK0B,OAAO,CAACtF,OAClDoE,IACCA,EAAQ4I,eAAenJ,KAAKqK,aAAawE,QAG/C,IAAIC,EAAcvO,EAAQuO,aAAe9O,KAAKO,QAAQuO,YAClDC,EAA4C,kBAAhBD,EAA2B,CAACA,GAAeA,EAQ3E,YANYtO,IAARgC,GAA6B,OAARA,GAAgBuM,GAAsBA,EAAmBnT,SAAyC,IAA/B2E,EAAQyO,qBAClGxM,EAAM4F,EAAcG,OAAOwG,EAAoBvM,EAAKrG,EAAK6D,KAAKO,SAAWP,KAAKO,QAAQ0O,wBAA0BrG,EAAgB,CAC9HsG,aAAc9F,GACb7I,GAAWA,EAASP,OAGlBwC,IAER,CACDrG,IAAK,UACLgB,MAAO,SAAiB2B,GACtB,IAGIqQ,EACAlE,EACAE,EACA+C,EACAC,EAPAiB,EAASpP,KAETO,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GA6ElF,MAvEoB,kBAATT,IAAmBA,EAAO,CAACA,IACtCA,EAAKW,SAAQ,SAAUqE,GACrB,IAAIsL,EAAO3C,cAAc0C,GAAzB,CAEA,IAAIE,EAAYD,EAAOxE,eAAe9G,EAAGvD,GAErCpE,EAAMkT,EAAUlT,IACpB8O,EAAU9O,EACV,IAAImN,EAAa+F,EAAU/F,WACvB8F,EAAO7O,QAAQ+O,aAAYhG,EAAaA,EAAW7H,OAAO2N,EAAO7O,QAAQ+O,aAC7E,IAAIpD,OAAwC1L,IAAlBD,EAAQ4L,OAAgD,kBAAlB5L,EAAQ4L,MAEpEoD,EAAwBrD,IAAwB3L,EAAQiP,SAA6B,IAAlBjP,EAAQ4L,OAAeiD,EAAO9C,eAAemD,mBAEhHC,OAA2ClP,IAApBD,EAAQqO,UAAqD,kBAApBrO,EAAQqO,SAAmD,kBAApBrO,EAAQqO,UAA6C,KAApBrO,EAAQqO,QAChJe,EAAQpP,EAAQuM,KAAOvM,EAAQuM,KAAOsC,EAAOpC,cAAcI,mBAAmB7M,EAAQ8G,KAAO+H,EAAOlG,SAAU3I,EAAQ2M,aAC1H5D,EAAW7J,SAAQ,SAAUuH,GACvBoI,EAAO3C,cAAc0C,KACzBhB,EAASnH,GAEJ+B,EAAiB,GAAGtH,OAAOkO,EAAM,GAAI,KAAKlO,OAAOuF,KAAQoI,EAAOQ,OAASR,EAAOQ,MAAMC,qBAAuBT,EAAOQ,MAAMC,mBAAmB1B,KAChJpF,EAAiB,GAAGtH,OAAOkO,EAAM,GAAI,KAAKlO,OAAOuF,KAAO,EAExDoI,EAAOzO,OAAOT,KAAK,QAASuB,OAAOwJ,EAAS,qBAAuBxJ,OAAOkO,EAAMlJ,KAAK,MAAO,wCAAyChF,OAAO0M,EAAQ,wBAA0B,6NAGhLwB,EAAMlQ,SAAQ,SAAUqQ,GACtB,IAAIV,EAAO3C,cAAc0C,GAAzB,CACAjB,EAAU4B,EACV,IA+BIC,EA/BAC,EAAY,CAAC7T,GAEjB,GAAIiT,EAAO5D,YAAc4D,EAAO5D,WAAWyE,cACzCb,EAAO5D,WAAWyE,cAAcD,EAAW7T,EAAK2T,EAAM9I,EAAIzG,OACrD,CACL,IAAI2P,EACAhE,IAAqBgE,EAAed,EAAO9C,eAAeC,UAAUuD,EAAMvP,EAAQ4L,MAAO5L,IAC7F,IAAI4P,EAAa,QAUjB,GARIjE,IACF8D,EAAU5Q,KAAKjD,EAAM+T,GAEjBX,GACFS,EAAU5Q,KAAKjD,EAAMgU,IAIrBT,EAAsB,CACxB,IAAIU,EAAa,GAAG3O,OAAOtF,GAAKsF,OAAO2N,EAAO7O,QAAQ8P,kBAAkB5O,OAAOlB,EAAQqO,SACvFoB,EAAU5Q,KAAKgR,GAEXlE,IACF8D,EAAU5Q,KAAKgR,EAAaF,GAExBX,GACFS,EAAU5Q,KAAKgR,EAAaD,KAQpC,KAAOJ,EAAcC,EAAUM,OACxBlB,EAAO3C,cAAc0C,KACxBhE,EAAe4E,EACfZ,EAAQC,EAAOrH,YAAY+H,EAAM9I,EAAI+I,EAAaxP,gBAMrD,CACLiC,IAAK2M,EACLlE,QAASA,EACTE,aAAcA,EACd+C,QAASA,EACTC,OAAQA,KAGX,CACDhS,IAAK,gBACLgB,MAAO,SAAuBqF,GAC5B,YAAehC,IAARgC,MAAwBxC,KAAKO,QAAQgQ,YAAsB,OAAR/N,OAAoBxC,KAAKO,QAAQiQ,mBAA6B,KAARhO,KAEjH,CACDrG,IAAK,cACLgB,MAAO,SAAqB2S,EAAM9I,EAAI7K,GACpC,IAAIoE,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAClF,OAAIS,KAAKwL,YAAcxL,KAAKwL,WAAWzD,YAAoB/H,KAAKwL,WAAWzD,YAAY+H,EAAM9I,EAAI7K,EAAKoE,GAC/FP,KAAKyQ,cAAc1I,YAAY+H,EAAM9I,EAAI7K,EAAKoE,MAErD,CAAC,CACHpE,IAAK,kBACLgB,MAAO,SAAyBoD,GAC9B,IAAIG,EAAS,eAEb,IAAK,IAAIgQ,KAAUnQ,EACjB,GAAItE,OAAOd,UAAU0I,eAAexG,KAAKkD,EAASmQ,IAAWhQ,IAAWgQ,EAAOxG,UAAU,EAAGxJ,EAAO9E,cAAW4E,IAAcD,EAAQmQ,GAClI,OAAO,EAIX,OAAO,MAIJ1H,EA3ZQ,CA4ZfpH,GAEF,SAAS+O,EAAWC,GAClB,OAAOA,EAAOC,OAAO,GAAGC,cAAgBF,EAAOrS,MAAM,GAGvD,IAAIwS,EAAe,WACjB,SAASA,EAAaxQ,GACpBnF,EAAgB4E,KAAM+Q,GAEtB/Q,KAAKO,QAAUA,EACfP,KAAKgR,cAAgBhR,KAAKO,QAAQyQ,gBAAiB,EACnDhR,KAAKW,OAASgB,EAAWzE,OAAO,iBAwIlC,OArIAd,EAAa2U,EAAc,CAAC,CAC1B5U,IAAK,wBACLgB,MAAO,SAA+B2S,GACpC,IAAKA,GAAQA,EAAKtM,QAAQ,KAAO,EAAG,OAAO,KAC3C,IAAI5G,EAAIkT,EAAK7N,MAAM,KACnB,OAAiB,IAAbrF,EAAEhB,OAAqB,MAC3BgB,EAAE0T,MACoC,MAAlC1T,EAAEA,EAAEhB,OAAS,GAAGmP,cAA8B,KAC3C/K,KAAKiR,mBAAmBrU,EAAE6J,KAAK,SAEvC,CACDtK,IAAK,0BACLgB,MAAO,SAAiC2S,GACtC,IAAKA,GAAQA,EAAKtM,QAAQ,KAAO,EAAG,OAAOsM,EAC3C,IAAIlT,EAAIkT,EAAK7N,MAAM,KACnB,OAAOjC,KAAKiR,mBAAmBrU,EAAE,MAElC,CACDT,IAAK,qBACLgB,MAAO,SAA4B2S,GACjC,GAAoB,kBAATA,GAAqBA,EAAKtM,QAAQ,MAAQ,EAAG,CACtD,IAAI0N,EAAe,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAChEtU,EAAIkT,EAAK7N,MAAM,KAkBnB,OAhBIjC,KAAKO,QAAQ4Q,aACfvU,EAAIA,EAAEmN,KAAI,SAAUqH,GAClB,OAAOA,EAAKrG,iBAEQ,IAAbnO,EAAEhB,QACXgB,EAAE,GAAKA,EAAE,GAAGmO,cACZnO,EAAE,GAAKA,EAAE,GAAGkU,cACRI,EAAa1N,QAAQ5G,EAAE,GAAGmO,gBAAkB,IAAGnO,EAAE,GAAK+T,EAAW/T,EAAE,GAAGmO,iBACpD,IAAbnO,EAAEhB,SACXgB,EAAE,GAAKA,EAAE,GAAGmO,cACQ,IAAhBnO,EAAE,GAAGhB,SAAcgB,EAAE,GAAKA,EAAE,GAAGkU,eACtB,QAATlU,EAAE,IAAgC,IAAhBA,EAAE,GAAGhB,SAAcgB,EAAE,GAAKA,EAAE,GAAGkU,eACjDI,EAAa1N,QAAQ5G,EAAE,GAAGmO,gBAAkB,IAAGnO,EAAE,GAAK+T,EAAW/T,EAAE,GAAGmO,gBACtEmG,EAAa1N,QAAQ5G,EAAE,GAAGmO,gBAAkB,IAAGnO,EAAE,GAAK+T,EAAW/T,EAAE,GAAGmO,iBAGrEnO,EAAE6J,KAAK,KAGhB,OAAOzG,KAAKO,QAAQ8Q,WAAarR,KAAKO,QAAQ4Q,aAAerB,EAAK/E,cAAgB+E,IAEnF,CACD3T,IAAK,kBACLgB,MAAO,SAAyB2S,GAK9B,OAJ0B,iBAAtB9P,KAAKO,QAAQ+Q,MAA2BtR,KAAKO,QAAQgR,4BACvDzB,EAAO9P,KAAKwR,wBAAwB1B,KAG9B9P,KAAKgR,gBAAkBhR,KAAKgR,cAAcpV,QAAUoE,KAAKgR,cAAcxN,QAAQsM,IAAS,IAEjG,CACD3T,IAAK,wBACLgB,MAAO,SAA+BwS,GACpC,IAGIR,EAHAnN,EAAQhC,KAEZ,OAAK2P,GAELA,EAAMlQ,SAAQ,SAAUqQ,GACtB,IAAIX,EAAJ,CAEA,IAAIsC,EAAazP,EAAMiP,mBAAmBnB,GAErC9N,EAAMzB,QAAQyQ,gBAAiBhP,EAAM0P,gBAAgBD,KAAatC,EAAQsC,QAG5EtC,GAASnP,KAAKO,QAAQyQ,eACzBrB,EAAMlQ,SAAQ,SAAUqQ,GACtB,IAAIX,EAAJ,CAEA,IAAIwC,EAAU3P,EAAMwP,wBAAwB1B,GAE5C,GAAI9N,EAAM0P,gBAAgBC,GAAU,OAAOxC,EAAQwC,EACnDxC,EAAQnN,EAAMzB,QAAQyQ,cAAc9I,MAAK,SAAU0J,GACjD,GAAsC,IAAlCA,EAAapO,QAAQmO,GAAgB,OAAOC,SAKjDzC,IAAOA,EAAQnP,KAAKiN,iBAAiBjN,KAAKO,QAAQ2M,aAAa,IAC7DiC,GAxBY,OA0BpB,CACDhT,IAAK,mBACLgB,MAAO,SAA0B0U,EAAW/B,GAC1C,IAAK+B,EAAW,MAAO,GAGvB,GAFyB,oBAAdA,IAA0BA,EAAYA,EAAU/B,IAClC,kBAAd+B,IAAwBA,EAAY,CAACA,IACG,mBAA/C5V,OAAOd,UAAUmD,SAASe,MAAMwS,GAAiC,OAAOA,EAC5E,IAAK/B,EAAM,OAAO+B,EAAmB,SAAK,GAC1C,IAAI1C,EAAQ0C,EAAU/B,GAKtB,OAJKX,IAAOA,EAAQ0C,EAAU7R,KAAK8R,sBAAsBhC,KACpDX,IAAOA,EAAQ0C,EAAU7R,KAAKiR,mBAAmBnB,KACjDX,IAAOA,EAAQ0C,EAAU7R,KAAKwR,wBAAwB1B,KACtDX,IAAOA,EAAQ0C,EAAmB,SAChC1C,GAAS,KAEjB,CACDhT,IAAK,qBACLgB,MAAO,SAA4B2S,EAAMiC,GACvC,IAAItH,EAASzK,KAETgS,EAAgBhS,KAAKiN,iBAAiB8E,GAAgB/R,KAAKO,QAAQ2M,aAAe,GAAI4C,GACtFH,EAAQ,GAERsC,EAAU,SAAiBrI,GACxBA,IAEDa,EAAOiH,gBAAgB9H,GACzB+F,EAAMvQ,KAAKwK,GAEXa,EAAO9J,OAAOT,KAAK,uDAAuDuB,OAAOmI,MAerF,MAXoB,kBAATkG,GAAqBA,EAAKtM,QAAQ,MAAQ,GACzB,iBAAtBxD,KAAKO,QAAQ+Q,MAAyBW,EAAQjS,KAAKiR,mBAAmBnB,IAChD,iBAAtB9P,KAAKO,QAAQ+Q,MAAiD,gBAAtBtR,KAAKO,QAAQ+Q,MAAwBW,EAAQjS,KAAK8R,sBAAsBhC,IAC1F,gBAAtB9P,KAAKO,QAAQ+Q,MAAwBW,EAAQjS,KAAKwR,wBAAwB1B,KACrD,kBAATA,GAChBmC,EAAQjS,KAAKiR,mBAAmBnB,IAGlCkC,EAAcvS,SAAQ,SAAUyS,GAC1BvC,EAAMnM,QAAQ0O,GAAM,GAAGD,EAAQxH,EAAOwG,mBAAmBiB,OAExDvC,MAIJoB,EA9IU,GAiJfoB,EAAO,CAAC,CACVrF,KAAM,CAAC,MAAO,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MACjIsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,QAAS,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACzYsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACxIsF,GAAI,CAAC,GACLF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAClDsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,KACrBF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,MACbsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDpF,KAAM,CAAC,MAAO,MACdsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IACjBF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,IACdF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDpF,KAAM,CAAC,OACPsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACDpF,KAAM,CAAC,KAAM,MACbsF,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,KAEFG,EAAqB,CACvB,EAAG,SAAWhU,GACZ,OAAOiU,OAAOjU,EAAI,IAEpB,EAAG,SAAWA,GACZ,OAAOiU,OAAY,GAALjU,IAEhB,EAAG,SAAWA,GACZ,OAAO,GAET,EAAG,SAAWA,GACZ,OAAOiU,OAAOjU,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAEvH,EAAG,SAAWA,GACZ,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,KAAO,GAAK,EAAI,IAE/G,EAAG,SAAWA,GACZ,OAAOiU,OAAY,GAALjU,EAAS,EAAIA,GAAK,GAAKA,GAAK,EAAI,EAAI,IAEpD,EAAG,SAAWA,GACZ,OAAOiU,OAAY,GAALjU,EAAS,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAEjG,EAAG,SAAWA,GACZ,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,GAAe,IAALA,EAAU,EAAI,IAElE,EAAG,SAAWA,GACZ,OAAOiU,OAAOjU,GAAK,IAErB,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,EAAI,EAAIA,EAAI,GAAK,EAAI,IAEnE,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,GAAe,IAALA,EAAU,EAAS,GAALA,GAAe,IAALA,EAAU,EAAIA,EAAI,GAAKA,EAAI,GAAK,EAAI,IAEtF,GAAI,SAAWA,GACb,OAAOiU,OAAOjU,EAAI,IAAM,GAAKA,EAAI,KAAO,KAE1C,GAAI,SAAWA,GACb,OAAOiU,OAAa,IAANjU,IAEhB,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAI,IAEvD,GAAI,SAAWA,GACb,OAAOiU,OAAOjU,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAExG,GAAI,SAAWA,GACb,OAAOiU,OAAOjU,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAU,IAANA,EAAU,EAAI,IAEjE,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,GAAUA,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAI,IAE7D,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,EAAS,EAAI,IAE1C,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,GAAK,EAAI,IAE5G,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAI,IAEzE,GAAI,SAAWA,GACb,OAAOiU,OAAOjU,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,EAAI,EAAI,IAEzF,GAAI,SAAWA,GACb,OAAOiU,OAAY,GAALjU,EAAS,EAAS,GAALA,EAAS,GAAKA,EAAI,GAAKA,EAAI,KAAOA,EAAI,IAAM,EAAI,EAAI,KAG/EkU,GAAyB,CAAC,KAAM,KAAM,MACtCC,GAAgB,CAClBC,KAAM,EACNC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,KAAM,EACNC,MAAO,GAGT,SAASC,KACP,IAAIC,EAAQ,GASZ,OARAb,EAAK1S,SAAQ,SAAUwT,GACrBA,EAAInG,KAAKrN,SAAQ,SAAU0C,GACzB6Q,EAAM7Q,GAAK,CACT+Q,QAASD,EAAIb,GACbe,QAASd,EAAmBY,EAAIf,WAI/Bc,EAGT,IAAII,GAAiB,WACnB,SAASA,EAAepG,GACtB,IAAIzM,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAElFnE,EAAgB4E,KAAMoT,GAEtBpT,KAAKgN,cAAgBA,EACrBhN,KAAKO,QAAUA,EACfP,KAAKW,OAASgB,EAAWzE,OAAO,kBAE1B8C,KAAKO,QAAQ8S,mBAAwD,OAAnCrT,KAAKO,QAAQ8S,mBAAgD,qBAATC,MAAyBA,KAAKC,cACxHvT,KAAKO,QAAQ8S,kBAAoB,KACjCrT,KAAKW,OAAOR,MAAM,uJAGpBH,KAAKgT,MAAQD,KA6Hf,OA1HA3W,EAAagX,EAAgB,CAAC,CAC5BjX,IAAK,UACLgB,MAAO,SAAiBkK,EAAKtM,GAC3BiF,KAAKgT,MAAM3L,GAAOtM,IAEnB,CACDoB,IAAK,UACLgB,MAAO,SAAiB2S,GACtB,IAAIvP,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAElF,GAAIS,KAAKyP,mBACP,IACE,OAAO,IAAI6D,KAAKC,YAAYzD,EAAM,CAChCjQ,KAAMU,EAAQiP,QAAU,UAAY,aAEtC,MAAOgE,GACP,OAIJ,OAAOxT,KAAKgT,MAAMlD,IAAS9P,KAAKgT,MAAMhT,KAAKgN,cAAcwE,wBAAwB1B,MAElF,CACD3T,IAAK,cACLgB,MAAO,SAAqB2S,GAC1B,IAAIvP,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9EkU,EAAOzT,KAAK0T,QAAQ5D,EAAMvP,GAE9B,OAAIP,KAAKyP,mBACAgE,GAAQA,EAAKE,kBAAkBC,iBAAiBhY,OAAS,EAG3D6X,GAAQA,EAAKP,QAAQtX,OAAS,IAEtC,CACDO,IAAK,sBACLgB,MAAO,SAA6B2S,EAAM3T,GACxC,IAAIoE,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAClF,OAAOS,KAAK4N,YAAYkC,EAAMvP,GAASwJ,KAAI,SAAU8D,GACnD,MAAO,GAAGpM,OAAOtF,GAAKsF,OAAOoM,QAGhC,CACD1R,IAAK,cACLgB,MAAO,SAAqB2S,GAC1B,IAAI9N,EAAQhC,KAERO,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9EkU,EAAOzT,KAAK0T,QAAQ5D,EAAMvP,GAE9B,OAAKkT,EAIDzT,KAAKyP,mBACAgE,EAAKE,kBAAkBC,iBAAiBC,MAAK,SAAUC,EAAiBC,GAC7E,OAAOvB,GAAcsB,GAAmBtB,GAAcuB,MACrDhK,KAAI,SAAUiK,GACf,MAAO,GAAGvS,OAAOO,EAAMzB,QAAQ0T,SAASxS,OAAOuS,MAI5CP,EAAKP,QAAQnJ,KAAI,SAAUmK,GAChC,OAAOlS,EAAMuK,UAAUuD,EAAMoE,EAAQ3T,MAZ9B,KAeV,CACDpE,IAAK,YACLgB,MAAO,SAAmB2S,EAAM3D,GAC9B,IAAI5L,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9EkU,EAAOzT,KAAK0T,QAAQ5D,EAAMvP,GAE9B,OAAIkT,EACEzT,KAAKyP,mBACA,GAAGhO,OAAOzB,KAAKO,QAAQ0T,SAASxS,OAAOgS,EAAKU,OAAOhI,IAGrDnM,KAAKoU,yBAAyBX,EAAMtH,IAG7CnM,KAAKW,OAAOT,KAAK,6BAA6BuB,OAAOqO,IAC9C,MAER,CACD3T,IAAK,2BACLgB,MAAO,SAAkCsW,EAAMtH,GAC7C,IAAI1B,EAASzK,KAETqU,EAAMZ,EAAKa,MAAQb,EAAKN,QAAQhH,GAASsH,EAAKN,QAAQoB,KAAKC,IAAIrI,IAC/D0B,EAAS4F,EAAKP,QAAQmB,GAEtBrU,KAAKO,QAAQkU,sBAAgD,IAAxBhB,EAAKP,QAAQtX,QAAoC,IAApB6X,EAAKP,QAAQ,KAClE,IAAXrF,EACFA,EAAS,SACW,IAAXA,IACTA,EAAS,KAIb,IAAI6G,EAAe,WACjB,OAAOjK,EAAOlK,QAAQ0T,SAAWpG,EAAOvP,WAAamM,EAAOlK,QAAQ0T,QAAUpG,EAAOvP,WAAauP,EAAOvP,YAG3G,MAAuC,OAAnC0B,KAAKO,QAAQ8S,kBACA,IAAXxF,EAAqB,GACH,kBAAXA,EAA4B,WAAWpM,OAAOoM,EAAOvP,YACzDoW,IACqC,OAAnC1U,KAAKO,QAAQ8S,mBAEbrT,KAAKO,QAAQkU,sBAAgD,IAAxBhB,EAAKP,QAAQtX,QAAoC,IAApB6X,EAAKP,QAAQ,GADjFwB,IAKF1U,KAAKO,QAAQ0T,SAAWI,EAAI/V,WAAa0B,KAAKO,QAAQ0T,QAAUI,EAAI/V,WAAa+V,EAAI/V,aAE7F,CACDnC,IAAK,mBACLgB,MAAO,WACL,OAAQoV,GAAuBoC,SAAS3U,KAAKO,QAAQ8S,uBAIlDD,EA5IY,GA+IrB,SAASwB,GAAUhW,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAEpV,SAAS+V,GAAgBpZ,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKiZ,GAAU3Y,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBoV,GAAU3Y,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAEnhB,IAAIqZ,GAAe,WACjB,SAASA,IACP,IAAIvU,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAElFnE,EAAgB4E,KAAM8U,GAEtB9U,KAAKW,OAASgB,EAAWzE,OAAO,gBAChC8C,KAAKO,QAAUA,EAEfP,KAAK+U,OAASxU,EAAQ4I,eAAiB5I,EAAQ4I,cAAc4L,QAAU,SAAU5X,GAC/E,OAAOA,GAGT6C,KAAKS,KAAKF,GA0MZ,OAvMAnE,EAAa0Y,EAAc,CAAC,CAC1B3Y,IAAK,OACLgB,MAAO,WACL,IAAIoD,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC7EgB,EAAQ4I,gBAAe5I,EAAQ4I,cAAgB,CAClD6L,aAAa,IAEf,IAAIC,EAAQ1U,EAAQ4I,cACpBnJ,KAAK8E,YAA0BtE,IAAjByU,EAAMnQ,OAAuBmQ,EAAMnQ,OAASA,EAC1D9E,KAAKgV,iBAAoCxU,IAAtByU,EAAMD,aAA4BC,EAAMD,YAC3DhV,KAAKkV,yBAAoD1U,IAA9ByU,EAAMC,qBAAoCD,EAAMC,oBAC3ElV,KAAKU,OAASuU,EAAMvU,OAASiE,EAAYsQ,EAAMvU,QAAUuU,EAAME,eAAiB,KAChFnV,KAAK6N,OAASoH,EAAMpH,OAASlJ,EAAYsQ,EAAMpH,QAAUoH,EAAMG,eAAiB,KAChFpV,KAAKqV,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,IAChGrV,KAAKsV,eAAiBL,EAAMM,eAAiB,GAAKN,EAAMK,gBAAkB,IAC1EtV,KAAKuV,eAAiBvV,KAAKsV,eAAiB,GAAKL,EAAMM,gBAAkB,GACzEvV,KAAKwV,cAAgBP,EAAMO,cAAgB7Q,EAAYsQ,EAAMO,eAAiBP,EAAMQ,sBAAwB9Q,EAAY,OACxH3E,KAAK0V,cAAgBT,EAAMS,cAAgB/Q,EAAYsQ,EAAMS,eAAiBT,EAAMU,sBAAwBhR,EAAY,KACxH3E,KAAK4V,wBAA0BX,EAAMW,wBAA0BX,EAAMW,wBAA0BX,EAAMW,yBAA2B,IAChI5V,KAAK6V,YAAcZ,EAAMY,YAAcZ,EAAMY,YAAc,IAC3D7V,KAAK8V,kBAAsCtV,IAAvByU,EAAMa,cAA6Bb,EAAMa,aAC7D9V,KAAK+V,gBAEN,CACD5Z,IAAK,QACLgB,MAAO,WACD6C,KAAKO,SAASP,KAAKS,KAAKT,KAAKO,WAElC,CACDpE,IAAK,cACLgB,MAAO,WACL,IAAI6Y,EAAY,GAAGvU,OAAOzB,KAAKU,OAAQ,SAASe,OAAOzB,KAAK6N,QAC5D7N,KAAKiW,OAAS,IAAInM,OAAOkM,EAAW,KACpC,IAAIE,EAAoB,GAAGzU,OAAOzB,KAAKU,QAAQe,OAAOzB,KAAKsV,eAAgB,SAAS7T,OAAOzB,KAAKuV,gBAAgB9T,OAAOzB,KAAK6N,QAC5H7N,KAAKmW,eAAiB,IAAIrM,OAAOoM,EAAmB,KACpD,IAAIE,EAAmB,GAAG3U,OAAOzB,KAAKwV,cAAe,SAAS/T,OAAOzB,KAAK0V,eAC1E1V,KAAKsK,cAAgB,IAAIR,OAAOsM,EAAkB,OAEnD,CACDja,IAAK,cACLgB,MAAO,SAAqByH,EAAKP,EAAMgD,EAAK9G,GAC1C,IAEI6J,EACAjN,EACAkZ,EAJArU,EAAQhC,KAKRsE,EAActE,KAAKO,SAAWP,KAAKO,QAAQ4I,eAAiBnJ,KAAKO,QAAQ4I,cAAcqF,kBAAoB,GAE/G,SAAS8H,EAAUC,GACjB,OAAOA,EAAI9S,QAAQ,MAAO,QAG5B,IAAI+S,EAAe,SAAsBra,GACvC,GAAIA,EAAIqH,QAAQxB,EAAMqT,iBAAmB,EAAG,CAC1C,IAAIhS,EAAOe,EAAoBC,EAAMC,EAAanI,GAClD,OAAO6F,EAAM8T,aAAe9T,EAAM+S,OAAO1R,OAAM7C,EAAW6G,EAAKwN,GAAgBA,GAAgBA,GAAgB,GAAItU,GAAU8D,GAAO,GAAI,CACtIoS,iBAAkBta,KACdkH,EAGR,IAAIzG,EAAIT,EAAI8F,MAAMD,EAAMqT,iBACpBvR,EAAIlH,EAAEgH,QAAQ8S,OACdC,EAAI/Z,EAAE6J,KAAKzE,EAAMqT,iBAAiBqB,OACtC,OAAO1U,EAAM+S,OAAO3Q,EAAoBC,EAAMC,EAAaR,GAAI6S,EAAGtP,EAAKwN,GAAgBA,GAAgBA,GAAgB,GAAItU,GAAU8D,GAAO,GAAI,CAC9IoS,iBAAkB3S,MAItB9D,KAAK+V,cACL,IAAIa,EAA8BrW,GAAWA,EAAQqW,6BAA+B5W,KAAKO,QAAQqW,4BAC7FtI,EAAkB/N,GAAWA,EAAQ4I,oBAA2D3I,IAA1CD,EAAQ4I,cAAcmF,gBAAgC/N,EAAQ4I,cAAcmF,gBAAkBtO,KAAKO,QAAQ4I,cAAcmF,gBAsDnL,MArDY,CAAC,CACXuI,MAAO7W,KAAKmW,eACZW,UAAW,SAAmBP,GAC5B,OAAOD,EAAUC,KAElB,CACDM,MAAO7W,KAAKiW,OACZa,UAAW,SAAmBP,GAC5B,OAAOvU,EAAMgT,YAAcsB,EAAUtU,EAAM8C,OAAOyR,IAAQD,EAAUC,MAGlE9W,SAAQ,SAAUsX,GAGtB,IAFAV,EAAW,EAEJjM,EAAQ2M,EAAKF,MAAMG,KAAKpS,IAAM,CACnC,IAAIqS,EAAa7M,EAAM,GAAGsM,OAG1B,QAAclW,KAFdrD,EAAQqZ,EAAaS,IAGnB,GAA2C,oBAAhCL,EAA4C,CACrD,IAAIM,EAAON,EAA4BhS,EAAKwF,EAAO7J,GACnDpD,EAAwB,kBAAT+Z,EAAoBA,EAAO,QACrC,GAAI3W,GAAWA,EAAQsD,eAAeoT,GAC3C9Z,EAAQ,OACH,IAAImR,EAAiB,CAC1BnR,EAAQiN,EAAM,GACd,SAEApI,EAAMrB,OAAOT,KAAK,8BAA8BuB,OAAOwV,EAAY,uBAAuBxV,OAAOmD,IAEjGzH,EAAQ,OAEgB,kBAAVA,GAAuB6E,EAAMkT,sBAC7C/X,EAAQ2F,EAAW3F,IAGrB,IAAI2Z,EAAYC,EAAKD,UAAU3Z,GAY/B,GAXAyH,EAAMA,EAAInB,QAAQ2G,EAAM,GAAI0M,GAExBxI,GACFyI,EAAKF,MAAMM,WAAaL,EAAUlb,OAClCmb,EAAKF,MAAMM,WAAa/M,EAAM,GAAGxO,QAEjCmb,EAAKF,MAAMM,UAAY,IAGzBd,GAEgBrU,EAAM6T,YACpB,UAICjR,IAER,CACDzI,IAAK,OACLgB,MAAO,SAAcyH,EAAKsN,GACxB,IAGI9H,EACAjN,EAJAsN,EAASzK,KAETO,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAI9E6X,EAAgBvC,GAAgB,GAAItU,GAKxC,SAAS8W,EAAiBlb,EAAKmb,GAC7B,IAAIC,EAAMvX,KAAK4V,wBACf,GAAIzZ,EAAIqH,QAAQ+T,GAAO,EAAG,OAAOpb,EACjC,IAAIyN,EAAIzN,EAAI8F,MAAM,IAAI6H,OAAO,GAAGrI,OAAO8V,EAAK,WACxCC,EAAgB,IAAI/V,OAAOmI,EAAE,IACjCzN,EAAMyN,EAAE,GAER4N,GADAA,EAAgBxX,KAAKyO,YAAY+I,EAAeJ,IAClB3T,QAAQ,KAAM,KAE5C,IACE2T,EAAgBK,KAAKxJ,MAAMuJ,GACvBF,IAAkBF,EAAgBvC,GAAgBA,GAAgB,GAAIyC,GAAmBF,IAC7F,MAAOrR,GAEP,OADA/F,KAAKW,OAAOT,KAAK,oDAAoDuB,OAAOtF,GAAM4J,GAC3E,GAAGtE,OAAOtF,GAAKsF,OAAO8V,GAAK9V,OAAO+V,GAI3C,cADOJ,EAAc5K,aACdrQ,EAGT,IAxBAib,EAAcpI,oBAAqB,SAC5BoI,EAAc5K,aAuBdpC,EAAQpK,KAAKsK,cAAc0M,KAAKpS,IAAM,CAC3C,IAAI8S,EAAa,GACbC,GAAW,EAEf,IAAgD,IAA5CvN,EAAM,GAAG5G,QAAQxD,KAAKqV,mBAA4B,OAAO5W,KAAK2L,EAAM,IAAK,CAC3E,IAAIP,EAAIO,EAAM,GAAGnI,MAAMjC,KAAKqV,iBAAiBtL,KAAI,SAAU6N,GACzD,OAAOA,EAAKlB,UAEdtM,EAAM,GAAKP,EAAEjG,QACb8T,EAAa7N,EACb8N,GAAW,EAIb,IADAxa,EAAQ+U,EAAGmF,EAAiBha,KAAK2C,KAAMoK,EAAM,GAAGsM,OAAQU,GAAgBA,KAC3DhN,EAAM,KAAOxF,GAAwB,kBAAVzH,EAAoB,OAAOA,EAC9C,kBAAVA,IAAoBA,EAAQ2F,EAAW3F,IAE7CA,IACH6C,KAAKW,OAAOT,KAAK,qBAAqBuB,OAAO2I,EAAM,GAAI,iBAAiB3I,OAAOmD,IAC/EzH,EAAQ,IAGNwa,IACFxa,EAAQua,EAAWG,QAAO,SAAU1P,EAAGwO,GACrC,OAAOlM,EAAOsK,OAAO5M,EAAGwO,EAAGpW,EAAQ8G,IAAKwN,GAAgBA,GAAgB,GAAItU,GAAU,GAAI,CACxFkW,iBAAkBrM,EAAM,GAAGsM,YAE5BvZ,EAAMuZ,SAGX9R,EAAMA,EAAInB,QAAQ2G,EAAM,GAAIjN,GAC5B6C,KAAKiW,OAAOkB,UAAY,EAG1B,OAAOvS,MAIJkQ,EAvNU,GA0NnB,SAASgD,GAAUlZ,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAEpV,SAASiZ,GAAgBtc,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKmc,GAAU7b,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBsY,GAAU7b,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAEnhB,SAASuc,GAAeC,GACtB,IAAIC,EAAaD,EAAUlN,cAAc2L,OACrCyB,EAAgB,GAEpB,GAAIF,EAAUzU,QAAQ,MAAQ,EAAG,CAC/B,IAAI5G,EAAIqb,EAAUhW,MAAM,KACxBiW,EAAatb,EAAE,GAAGmO,cAAc2L,OAChC,IAAI0B,EAASxb,EAAE,GAAGsN,UAAU,EAAGtN,EAAE,GAAGhB,OAAS,GAE7C,GAAmB,aAAfsc,GAA6BE,EAAO5U,QAAQ,KAAO,EAChD2U,EAAcE,WAAUF,EAAcE,SAAWD,EAAO1B,aACxD,GAAmB,iBAAfwB,GAAiCE,EAAO5U,QAAQ,KAAO,EAC3D2U,EAAcG,QAAOH,EAAcG,MAAQF,EAAO1B,YAClD,CACM0B,EAAOnW,MAAM,KACnBxC,SAAQ,SAAU8Y,GACrB,GAAKA,EAAL,CAEA,ICnqDyB7a,EDmqDrB8a,EAAaD,EAAItW,MAAM,KACvBwW,ECnqDH,EADwB/a,EDoqDE8a,ICnqDH,EAAgB9a,IAAQ,EAA2BA,IAAQ,IDoqD/EvB,EAAMsc,EAAY,GAGlBlC,EAFOkC,EAAYla,MAAM,GAEdkI,KAAK,KACf0R,EAAchc,EAAIua,UAASyB,EAAchc,EAAIua,QAAUH,EAAIG,QAC7C,UAAfH,EAAIG,SAAoByB,EAAchc,EAAIua,SAAU,GACrC,SAAfH,EAAIG,SAAmByB,EAAchc,EAAIua,SAAU,GAClDgC,MAAMnC,EAAIG,UAASyB,EAAchc,EAAIua,QAAUiC,SAASpC,EAAIG,OAAQ,UAK/E,MAAO,CACLwB,WAAYA,EACZC,cAAeA,GAInB,IAAIS,GAAY,WACd,SAASA,IACP,IAAIrY,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAElFnE,EAAgB4E,KAAM4Y,GAEtB5Y,KAAKW,OAASgB,EAAWzE,OAAO,aAChC8C,KAAKO,QAAUA,EACfP,KAAK6Y,QAAU,CACb3E,OAAQ,SAAgBqC,EAAKlP,EAAK9G,GAChC,OAAO,IAAI+S,KAAKwF,aAAazR,EAAK9G,GAASwU,OAAOwB,IAEpD8B,SAAU,SAAkB9B,EAAKlP,EAAK9G,GACpC,OAAO,IAAI+S,KAAKwF,aAAazR,EAAK0Q,GAAgBA,GAAgB,GAAIxX,GAAU,GAAI,CAClFwY,MAAO,cACLhE,OAAOwB,IAEbyC,SAAU,SAAkBzC,EAAKlP,EAAK9G,GACpC,OAAO,IAAI+S,KAAK2F,eAAe5R,EAAK0Q,GAAgB,GAAIxX,IAAUwU,OAAOwB,IAE3E2C,aAAc,SAAsB3C,EAAKlP,EAAK9G,GAC5C,OAAO,IAAI+S,KAAK6F,mBAAmB9R,EAAK0Q,GAAgB,GAAIxX,IAAUwU,OAAOwB,EAAKhW,EAAQ+X,OAAS,QAErGc,KAAM,SAAc7C,EAAKlP,EAAK9G,GAC5B,OAAO,IAAI+S,KAAK+F,WAAWhS,EAAK0Q,GAAgB,GAAIxX,IAAUwU,OAAOwB,KAGzEvW,KAAKS,KAAKF,GAmDZ,OAhDAnE,EAAawc,EAAW,CAAC,CACvBzc,IAAK,OACLgB,MAAO,SAAc8L,GACnB,IAAI1I,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,CAChF4J,cAAe,IAEb8L,EAAQ1U,EAAQ4I,cACpBnJ,KAAKqV,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,MAEjG,CACDlZ,IAAK,MACLgB,MAAO,SAAaqB,EAAM0T,GACxBlS,KAAK6Y,QAAQra,EAAKuM,cAAc2L,QAAUxE,IAE3C,CACD/V,IAAK,SACLgB,MAAO,SAAgBA,EAAOmc,EAASjS,EAAK9G,GAC1C,IAAIyB,EAAQhC,KA2BZ,OAzBcsZ,EAAQrX,MAAMjC,KAAKqV,iBAEZwC,QAAO,SAAU0B,EAAK5C,GACzC,IAAI6C,EAAkBxB,GAAerB,GACjCuB,EAAasB,EAAgBtB,WAC7BC,EAAgBqB,EAAgBrB,cAEpC,GAAInW,EAAM6W,QAAQX,GAAa,CAC7B,IAAIuB,EAAYF,EAEhB,IACE,IAAIG,EAAanZ,GAAWA,EAAQoZ,cAAgBpZ,EAAQoZ,aAAapZ,EAAQkW,mBAAqB,GAClGtU,EAAIuX,EAAWE,QAAUF,EAAWrS,KAAO9G,EAAQqZ,QAAUrZ,EAAQ8G,KAAOA,EAChFoS,EAAYzX,EAAM6W,QAAQX,GAAYqB,EAAKpX,EAAG4V,GAAgBA,GAAgBA,GAAgB,GAAII,GAAgB5X,GAAUmZ,IAC5H,MAAOvZ,GACP6B,EAAMrB,OAAOT,KAAKC,GAGpB,OAAOsZ,EAKT,OAHEzX,EAAMrB,OAAOT,KAAK,oCAAoCuB,OAAOyW,IAGxDqB,IACNpc,OAKAyb,EA9EO,GAiFhB,SAASiB,GAAUjb,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAEpV,SAASgb,GAAgBre,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKke,GAAU5d,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBqa,GAAU5d,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAEnhB,SAASse,GAAexU,GAAW,IAAIC,EAEvC,WAAyC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ1K,UAAU2K,QAAQzI,KAAKoI,QAAQC,UAAUG,QAAS,IAAI,iBAAyB,EAAQ,MAAOE,GAAK,OAAO,GAF9PiU,GAA+B,OAAO,WAAkC,IAAsC/T,EAAlCC,EAAQ5I,EAAgBiI,GAAkB,GAAIC,EAA2B,CAAE,IAAIW,EAAY7I,EAAgB0C,MAAM9E,YAAa+K,EAASR,QAAQC,UAAUQ,EAAO3G,UAAW4G,QAAqBF,EAASC,EAAM7G,MAAMW,KAAMT,WAAc,OAAOnC,EAA2B4C,KAAMiG,IAaha,IAAIgU,GAAY,SAAUnT,GACxB/J,EAAUkd,EAAWnT,GAErB,IAAIC,EAASgT,GAAeE,GAE5B,SAASA,EAAUC,EAASC,EAAOlR,GACjC,IAAIjH,EAEAzB,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAuBlF,OArBAnE,EAAgB4E,KAAMia,GAEtBjY,EAAQ+E,EAAO1J,KAAK2C,MAEhB+E,GACFnD,EAAavE,KAAKd,EAAuByF,IAG3CA,EAAMkY,QAAUA,EAChBlY,EAAMmY,MAAQA,EACdnY,EAAMiH,SAAWA,EACjBjH,EAAMgL,cAAgB/D,EAAS+D,cAC/BhL,EAAMzB,QAAUA,EAChByB,EAAMrB,OAASgB,EAAWzE,OAAO,oBACjC8E,EAAMoY,MAAQ,GACdpY,EAAMqY,MAAQ,GAEVrY,EAAMkY,SAAWlY,EAAMkY,QAAQzZ,MACjCuB,EAAMkY,QAAQzZ,KAAKwI,EAAU1I,EAAQ2Z,QAAS3Z,GAGzCyB,EA4LT,OAzLA5F,EAAa6d,EAAW,CAAC,CACvB9d,IAAK,YACLgB,MAAO,SAAmBmd,EAAWhR,EAAY/I,EAASga,GACxD,IAAI9P,EAASzK,KAETwa,EAAS,GACTC,EAAU,GACVC,EAAkB,GAClBC,EAAmB,GA8BvB,OA7BAL,EAAU7a,SAAQ,SAAU4H,GAC1B,IAAIuT,GAAmB,EACvBtR,EAAW7J,SAAQ,SAAUuH,GAC3B,IAAIxI,EAAO,GAAGiD,OAAO4F,EAAK,KAAK5F,OAAOuF,IAEjCzG,EAAQsa,QAAUpQ,EAAO0P,MAAMtS,kBAAkBR,EAAKL,GACzDyD,EAAO2P,MAAM5b,GAAQ,EACZiM,EAAO2P,MAAM5b,GAAQ,IAAqC,IAAvBiM,EAAO2P,MAAM5b,GACrDic,EAAQjX,QAAQhF,GAAQ,GAAGic,EAAQrb,KAAKZ,IAE5CiM,EAAO2P,MAAM5b,GAAQ,EACrBoc,GAAmB,EACfH,EAAQjX,QAAQhF,GAAQ,GAAGic,EAAQrb,KAAKZ,GACxCgc,EAAOhX,QAAQhF,GAAQ,GAAGgc,EAAOpb,KAAKZ,GACtCmc,EAAiBnX,QAAQwD,GAAM,GAAG2T,EAAiBvb,KAAK4H,QAG3D4T,GAAkBF,EAAgBtb,KAAKiI,OAG1CmT,EAAO5e,QAAU6e,EAAQ7e,SAC3BoE,KAAKqa,MAAMjb,KAAK,CACdqb,QAASA,EACTK,OAAQ,GACRC,OAAQ,GACRR,SAAUA,IAIP,CACLC,OAAQA,EACRC,QAASA,EACTC,gBAAiBA,EACjBC,iBAAkBA,KAGrB,CACDxe,IAAK,SACLgB,MAAO,SAAgBqB,EAAMwc,EAAK3W,GAChC,IAAIpB,EAAIzE,EAAKyD,MAAM,KACfoF,EAAMpE,EAAE,GACR+D,EAAK/D,EAAE,GACP+X,GAAKhb,KAAKwH,KAAK,gBAAiBH,EAAKL,EAAIgU,GAEzC3W,GACFrE,KAAKma,MAAMc,kBAAkB5T,EAAKL,EAAI3C,GAGxCrE,KAAKoa,MAAM5b,GAAQwc,GAAO,EAAI,EAC9B,IAAIF,EAAS,GACb9a,KAAKqa,MAAM5a,SAAQ,SAAUyb,IAtpDnC,SAAkBtc,EAAQyE,EAAMW,EAAUvC,GACxC,IAAI0Z,EAAkB/X,EAAcxE,EAAQyE,EAAMpH,QAC9ClB,EAAMogB,EAAgBpgB,IACtB+I,EAAIqX,EAAgBrX,EAExB/I,EAAI+I,GAAK/I,EAAI+I,IAAM,GACfrC,IAAQ1G,EAAI+I,GAAK/I,EAAI+I,GAAGrC,OAAOuC,IAC9BvC,GAAQ1G,EAAI+I,GAAG1E,KAAK4E,GAgpDnBoX,CAASF,EAAEJ,OAAQ,CAACzT,GAAML,GAvGlC,SAAgBtJ,EAAK2d,GAGnB,IAFA,IAAIlM,EAAQzR,EAAI8F,QAAQ6X,IAEN,IAAXlM,GACLzR,EAAI0J,OAAO+H,EAAO,GAClBA,EAAQzR,EAAI8F,QAAQ6X,GAmGhBC,CAAOJ,EAAET,QAASjc,GACdwc,GAAKE,EAAEH,OAAO3b,KAAK4b,GAEE,IAArBE,EAAET,QAAQ7e,QAAiBsf,EAAEK,OAC/Btf,OAAO6C,KAAKoc,EAAEJ,QAAQrb,SAAQ,SAAU0C,GACjC2Y,EAAO3Y,KAAI2Y,EAAO3Y,GAAK,IAExB+Y,EAAEJ,OAAO3Y,GAAGvG,QACdsf,EAAEJ,OAAO3Y,GAAG1C,SAAQ,SAAUuH,GACxB8T,EAAO3Y,GAAGqB,QAAQwD,GAAM,GAAG8T,EAAO3Y,GAAG/C,KAAK4H,SAIpDkU,EAAEK,MAAO,EAELL,EAAEH,OAAOnf,OACXsf,EAAEX,SAASW,EAAEH,QAEbG,EAAEX,eAIRva,KAAKwH,KAAK,SAAUsT,GACpB9a,KAAKqa,MAAQra,KAAKqa,MAAMpb,QAAO,SAAUic,GACvC,OAAQA,EAAEK,UAGb,CACDpf,IAAK,OACLgB,MAAO,SAAckK,EAAKL,EAAIwU,GAC5B,IAAIxN,EAAShO,KAETyb,EAAQlc,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,EAC5Emc,EAAOnc,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,IAC3Egb,EAAWhb,UAAU3D,OAAS,EAAI2D,UAAU,QAAKiB,EACrD,OAAK6G,EAAIzL,OACFoE,KAAKka,QAAQsB,GAAQnU,EAAKL,GAAI,SAAUgU,EAAK3W,GAC9C2W,GAAO3W,GAAQoX,EAAQ,EACzBE,YAAW,WACT3N,EAAO4N,KAAKve,KAAK2Q,EAAQ3G,EAAKL,EAAIwU,EAAQC,EAAQ,EAAU,EAAPC,EAAUnB,KAC9DmB,GAILnB,EAASS,EAAK3W,MATQkW,EAAS,KAAM,MAYxC,CACDpe,IAAK,iBACLgB,MAAO,SAAwBmd,EAAWhR,GACxC,IAAI8F,EAASpP,KAETO,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9Egb,EAAWhb,UAAU3D,OAAS,EAAI2D,UAAU,QAAKiB,EAErD,IAAKR,KAAKka,QAER,OADAla,KAAKW,OAAOT,KAAK,kEACVqa,GAAYA,IAGI,kBAAdD,IAAwBA,EAAYta,KAAKgN,cAAcI,mBAAmBkN,IAC3D,kBAAfhR,IAAyBA,EAAa,CAACA,IAClD,IAAIkR,EAASxa,KAAK6b,UAAUvB,EAAWhR,EAAY/I,EAASga,GAE5D,IAAKC,EAAOA,OAAO5e,OAEjB,OADK4e,EAAOC,QAAQ7e,QAAQ2e,IACrB,KAGTC,EAAOA,OAAO/a,SAAQ,SAAUjB,GAC9B4Q,EAAO0M,QAAQtd,QAGlB,CACDrC,IAAK,OACLgB,MAAO,SAAcmd,EAAWhR,EAAYiR,GAC1Cva,KAAK+b,eAAezB,EAAWhR,EAAY,GAAIiR,KAEhD,CACDpe,IAAK,SACLgB,MAAO,SAAgBmd,EAAWhR,EAAYiR,GAC5Cva,KAAK+b,eAAezB,EAAWhR,EAAY,CACzCuR,QAAQ,GACPN,KAEJ,CACDpe,IAAK,UACLgB,MAAO,SAAiBqB,GACtB,IAAIwd,EAAShc,KAETU,EAASnB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC7E0D,EAAIzE,EAAKyD,MAAM,KACfoF,EAAMpE,EAAE,GACR+D,EAAK/D,EAAE,GACXjD,KAAK4b,KAAKvU,EAAKL,EAAI,YAAQxG,OAAWA,GAAW,SAAUwa,EAAK3W,GAC1D2W,GAAKgB,EAAOrb,OAAOT,KAAK,GAAGuB,OAAOf,EAAQ,sBAAsBe,OAAOuF,EAAI,kBAAkBvF,OAAO4F,EAAK,WAAY2T,IACpHA,GAAO3W,GAAM2X,EAAOrb,OAAOb,IAAI,GAAG2B,OAAOf,EAAQ,qBAAqBe,OAAOuF,EAAI,kBAAkBvF,OAAO4F,GAAMhD,GAErH2X,EAAOlB,OAAOtc,EAAMwc,EAAK3W,QAG5B,CACDlI,IAAK,cACLgB,MAAO,SAAqBmd,EAAWzP,EAAW1O,EAAK8f,EAAeC,GACpE,IAAI3b,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAE9ES,KAAKiJ,SAAS2G,OAAS5P,KAAKiJ,SAAS2G,MAAMC,qBAAuB7P,KAAKiJ,SAAS2G,MAAMC,mBAAmBhF,GAC3G7K,KAAKW,OAAOT,KAAK,qBAAsBuB,OAAOtF,EAAK,wBAA0BsF,OAAOoJ,EAAW,wBAA0B,iOAI/GrK,IAARrE,GAA6B,OAARA,GAAwB,KAARA,IAErC6D,KAAKka,SAAWla,KAAKka,QAAQhd,QAC/B8C,KAAKka,QAAQhd,OAAOod,EAAWzP,EAAW1O,EAAK8f,EAAe,KAAMnC,GAAgBA,GAAgB,GAAIvZ,GAAU,GAAI,CACpH2b,SAAUA,KAIT5B,GAAcA,EAAU,IAC7Bta,KAAKma,MAAMzS,YAAY4S,EAAU,GAAIzP,EAAW1O,EAAK8f,QAIlDhC,EA3NO,CA4NdrY,GAEF,SAASua,KACP,MAAO,CACLvb,OAAO,EACPwb,eAAe,EACfpV,GAAI,CAAC,eACLC,UAAW,CAAC,eACZiG,YAAa,CAAC,OACdoC,YAAY,EACZ0B,eAAe,EACfO,0BAA0B,EAC1BD,KAAM,MACN+K,SAAS,EACT5H,sBAAsB,EACtBpO,aAAc,IACdgD,YAAa,IACbiT,gBAAiB,IACjBjM,iBAAkB,IAClBkM,yBAAyB,EACzB7O,aAAa,EACbd,eAAe,EACfO,cAAe,WACfQ,oBAAoB,EACpBH,mBAAmB,EACnBoJ,6BAA6B,EAC7B9H,aAAa,EACbG,yBAAyB,EACzBsB,YAAY,EACZC,mBAAmB,EACnB9E,eAAe,EACfJ,YAAY,EACZK,uBAAuB,EACvBoC,wBAAwB,EACxBD,6BAA6B,EAC7BhD,yBAAyB,EACzBJ,iCAAkC,SAAgB3K,GAChD,IAAIyc,EAAM,GAKV,GAJyB,WAArB1hB,EAAQiF,EAAK,MAAkByc,EAAMzc,EAAK,IACvB,kBAAZA,EAAK,KAAiByc,EAAIhQ,aAAezM,EAAK,IAClC,kBAAZA,EAAK,KAAiByc,EAAIC,aAAe1c,EAAK,IAEhC,WAArBjF,EAAQiF,EAAK,KAAyC,WAArBjF,EAAQiF,EAAK,IAAkB,CAClE,IAAIQ,EAAUR,EAAK,IAAMA,EAAK,GAC9B9D,OAAO6C,KAAKyB,GAASd,SAAQ,SAAUtD,GACrCqgB,EAAIrgB,GAAOoE,EAAQpE,MAIvB,OAAOqgB,GAETrT,cAAe,CACb6L,aAAa,EACbD,OAAQ,SAAgB5X,EAAOmc,EAASjS,EAAK9G,GAC3C,OAAOpD,GAETuD,OAAQ,KACRmN,OAAQ,KACRwH,gBAAiB,IACjBC,eAAgB,IAChBE,cAAe,MACfE,cAAe,IACfE,wBAAyB,IACzBC,YAAa,IACbvH,iBAAiB,IAIvB,SAASoO,GAAiBnc,GASxB,MAR0B,kBAAfA,EAAQyG,KAAiBzG,EAAQyG,GAAK,CAACzG,EAAQyG,KACvB,kBAAxBzG,EAAQ2M,cAA0B3M,EAAQ2M,YAAc,CAAC3M,EAAQ2M,cAC1C,kBAAvB3M,EAAQ+O,aAAyB/O,EAAQ+O,WAAa,CAAC/O,EAAQ+O,aAEtE/O,EAAQyQ,eAAiBzQ,EAAQyQ,cAAcxN,QAAQ,UAAY,IACrEjD,EAAQyQ,cAAgBzQ,EAAQyQ,cAAcvP,OAAO,CAAC,YAGjDlB,EAGT,SAASoc,GAAU/d,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAEpV,SAAS8d,GAAgBnhB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKghB,GAAU1gB,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBmd,GAAU1gB,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAEnhB,SAASohB,GAAetX,GAAW,IAAIC,EAEvC,WAAyC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ1K,UAAU2K,QAAQzI,KAAKoI,QAAQC,UAAUG,QAAS,IAAI,iBAAyB,EAAQ,MAAOE,GAAK,OAAO,GAF9P+W,GAA+B,OAAO,WAAkC,IAAsC7W,EAAlCC,EAAQ5I,EAAgBiI,GAAkB,GAAIC,EAA2B,CAAE,IAAIW,EAAY7I,EAAgB0C,MAAM9E,YAAa+K,EAASR,QAAQC,UAAUQ,EAAO3G,UAAW4G,QAAqBF,EAASC,EAAM7G,MAAMW,KAAMT,WAAc,OAAOnC,EAA2B4C,KAAMiG,IAIha,SAAS8W,MAET,SAASC,GAAoBC,GAChBhhB,OAAOihB,oBAAoBjhB,OAAOsB,eAAe0f,IACvDxd,SAAQ,SAAU8Z,GACI,oBAAd0D,EAAK1D,KACd0D,EAAK1D,GAAO0D,EAAK1D,GAAK4D,KAAKF,OAKjC,IAAIG,GAAO,SAAUtW,GACnB/J,EAAUqgB,EAAMtW,GAEhB,IAAIC,EAAS8V,GAAeO,GAE5B,SAASA,IACP,IAAIpb,EAEAzB,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9Egb,EAAWhb,UAAU3D,OAAS,EAAI2D,UAAU,QAAKiB,EAkBrD,GAhBApF,EAAgB4E,KAAMod,GAEtBpb,EAAQ+E,EAAO1J,KAAK2C,MAEhB+E,GACFnD,EAAavE,KAAKd,EAAuByF,IAG3CA,EAAMzB,QAAUmc,GAAiBnc,GACjCyB,EAAMiH,SAAW,GACjBjH,EAAMrB,OAASgB,EACfK,EAAMqb,QAAU,CACdC,SAAU,IAEZN,GAAoBzgB,EAAuByF,IAEvCuY,IAAavY,EAAMub,gBAAkBhd,EAAQid,QAAS,CACxD,IAAKxb,EAAMzB,QAAQ6b,cAGjB,OAFApa,EAAMvB,KAAKF,EAASga,GAEbnd,EAA2B4E,EAAOzF,EAAuByF,IAGlE2Z,YAAW,WACT3Z,EAAMvB,KAAKF,EAASga,KACnB,GAGL,OAAOvY,EAiiBT,OA9hBA5F,EAAaghB,EAAM,CAAC,CAClBjhB,IAAK,OACLgB,MAAO,WACL,IAAIsN,EAASzK,KAETO,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9Egb,EAAWhb,UAAU3D,OAAS,EAAI2D,UAAU,QAAKiB,EAE9B,oBAAZD,IACTga,EAAWha,EACXA,EAAU,KAGPA,EAAQ0G,WAAa1G,EAAQyG,KACN,kBAAfzG,EAAQyG,GACjBzG,EAAQ0G,UAAY1G,EAAQyG,GACnBzG,EAAQyG,GAAGxD,QAAQ,eAAiB,IAC7CjD,EAAQ0G,UAAY1G,EAAQyG,GAAG,KAInC,IAAIyW,EAAUtB,KAed,SAASuB,EAAoBC,GAC3B,OAAKA,EACwB,oBAAlBA,EAAqC,IAAIA,EAC7CA,EAFoB,KAK7B,GApBA3d,KAAKO,QAAUqc,GAAgBA,GAAgBA,GAAgB,GAAIa,GAAUzd,KAAKO,SAAUmc,GAAiBnc,IAEvE,OAAlCP,KAAKO,QAAQyH,mBACfhI,KAAKO,QAAQ4I,cAAgByT,GAAgBA,GAAgB,GAAIa,EAAQtU,eAAgBnJ,KAAKO,QAAQ4I,qBAG3E3I,IAAzBD,EAAQ8F,eACVrG,KAAKO,QAAQkJ,wBAA0BlJ,EAAQ8F,mBAGrB7F,IAAxBD,EAAQ8I,cACVrJ,KAAKO,QAAQmJ,uBAAyBnJ,EAAQ8I,cAS3CrJ,KAAKO,QAAQid,QAAS,CAOzB,IAAII,EANA5d,KAAKqd,QAAQ1c,OACfgB,EAAWlB,KAAKid,EAAoB1d,KAAKqd,QAAQ1c,QAASX,KAAKO,SAE/DoB,EAAWlB,KAAK,KAAMT,KAAKO,SAKzBP,KAAKqd,QAAQO,UACfA,EAAY5d,KAAKqd,QAAQO,UACA,qBAATtK,OAChBsK,EAAYhF,IAGd,IAAIiF,EAAK,IAAI9M,EAAa/Q,KAAKO,SAC/BP,KAAKma,MAAQ,IAAItT,EAAc7G,KAAKO,QAAQkH,UAAWzH,KAAKO,SAC5D,IAAI0C,EAAIjD,KAAKiJ,SACbhG,EAAEtC,OAASgB,EACXsB,EAAEwN,cAAgBzQ,KAAKma,MACvBlX,EAAE+J,cAAgB6Q,EAClB5a,EAAEqJ,eAAiB,IAAI8G,GAAeyK,EAAI,CACxC5J,QAASjU,KAAKO,QAAQ+b,gBACtBjJ,kBAAmBrT,KAAKO,QAAQ8S,kBAChCoB,qBAAsBzU,KAAKO,QAAQkU,wBAGjCmJ,GAAe5d,KAAKO,QAAQ4I,cAAc4L,QAAU/U,KAAKO,QAAQ4I,cAAc4L,SAAW0I,EAAQtU,cAAc4L,SAClH9R,EAAE2a,UAAYF,EAAoBE,GAClC3a,EAAE2a,UAAUnd,KAAKwC,EAAGjD,KAAKO,SACzBP,KAAKO,QAAQ4I,cAAc4L,OAAS9R,EAAE2a,UAAU7I,OAAOoI,KAAKla,EAAE2a,YAGhE3a,EAAEoH,aAAe,IAAIyK,GAAa9U,KAAKO,SACvC0C,EAAE2M,MAAQ,CACRC,mBAAoB7P,KAAK6P,mBAAmBsN,KAAKnd,OAEnDiD,EAAEwK,iBAAmB,IAAIwM,GAAUyD,EAAoB1d,KAAKqd,QAAQnD,SAAUjX,EAAEwN,cAAexN,EAAGjD,KAAKO,SACvG0C,EAAEwK,iBAAiBqQ,GAAG,KAAK,SAAU5b,GACnC,IAAK,IAAIpB,EAAOvB,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMmD,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGhB,EAAKgB,EAAO,GAAKxB,UAAUwB,GAG7B0J,EAAOjD,KAAKnI,MAAMoL,EAAQ,CAACvI,GAAOT,OAAO1B,OAGvCC,KAAKqd,QAAQU,mBACf9a,EAAE8a,iBAAmBL,EAAoB1d,KAAKqd,QAAQU,kBACtD9a,EAAE8a,iBAAiBtd,KAAKwC,EAAGjD,KAAKO,QAAQyd,UAAWhe,KAAKO,UAGtDP,KAAKqd,QAAQ7R,aACfvI,EAAEuI,WAAakS,EAAoB1d,KAAKqd,QAAQ7R,YAC5CvI,EAAEuI,WAAW/K,MAAMwC,EAAEuI,WAAW/K,KAAKT,OAG3CA,KAAKwI,WAAa,IAAIQ,EAAWhJ,KAAKiJ,SAAUjJ,KAAKO,SACrDP,KAAKwI,WAAWsV,GAAG,KAAK,SAAU5b,GAChC,IAAK,IAAIjB,EAAQ1B,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMsD,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGnB,EAAKmB,EAAQ,GAAK3B,UAAU2B,GAG9BuJ,EAAOjD,KAAKnI,MAAMoL,EAAQ,CAACvI,GAAOT,OAAO1B,OAE3CC,KAAKqd,QAAQC,SAAS7d,SAAQ,SAAU0D,GAClCA,EAAE1C,MAAM0C,EAAE1C,KAAKgK,MAOvB,GAHAzK,KAAK+U,OAAS/U,KAAKO,QAAQ4I,cAAc4L,OACpCwF,IAAUA,EAAWwC,IAEtB/c,KAAKO,QAAQ2M,cAAgBlN,KAAKiJ,SAAS8U,mBAAqB/d,KAAKO,QAAQ8G,IAAK,CACpF,IAAIsI,EAAQ3P,KAAKiJ,SAAS+D,cAAcC,iBAAiBjN,KAAKO,QAAQ2M,aAClEyC,EAAM/T,OAAS,GAAkB,QAAb+T,EAAM,KAAc3P,KAAKO,QAAQ8G,IAAMsI,EAAM,IAGlE3P,KAAKiJ,SAAS8U,kBAAqB/d,KAAKO,QAAQ8G,KACnDrH,KAAKW,OAAOT,KAAK,2DAGnB,IAAI+d,EAAW,CAAC,cAAe,oBAAqB,oBAAqB,qBACzEA,EAASxe,SAAQ,SAAU+b,GACzB/Q,EAAO+Q,GAAU,WACf,IAAI0C,EAEJ,OAAQA,EAAezT,EAAO0P,OAAOqB,GAAQnc,MAAM6e,EAAc3e,eAGrE,IAAI4e,EAAkB,CAAC,cAAe,eAAgB,oBAAqB,wBAC3EA,EAAgB1e,SAAQ,SAAU+b,GAChC/Q,EAAO+Q,GAAU,WACf,IAAI4C,EAIJ,OAFCA,EAAgB3T,EAAO0P,OAAOqB,GAAQnc,MAAM+e,EAAe7e,WAErDkL,MAGX,IAAI4T,EAAW9b,IAEX+O,EAAO,WACT,IAAIgN,EAAS,SAAgBtD,EAAK9X,GAC5BuH,EAAO8S,gBAAkB9S,EAAO8T,sBAAsB9T,EAAO9J,OAAOT,KAAK,yEAC7EuK,EAAO8S,eAAgB,EAClB9S,EAAOlK,QAAQid,SAAS/S,EAAO9J,OAAOb,IAAI,cAAe2K,EAAOlK,SAErEkK,EAAOjD,KAAK,cAAeiD,EAAOlK,SAElC8d,EAASzb,QAAQM,GACjBqX,EAASS,EAAK9X,IAGhB,GAAIuH,EAAO6P,WAAiD,OAApC7P,EAAOlK,QAAQyH,mBAA8ByC,EAAO8S,cAAe,OAAOe,EAAO,KAAM7T,EAAOvH,EAAEia,KAAK1S,IAE7HA,EAAO+T,eAAe/T,EAAOlK,QAAQ8G,IAAKiX,IAS5C,OANIte,KAAKO,QAAQkH,YAAczH,KAAKO,QAAQ6b,cAC1C9K,IAEAqK,WAAWrK,EAAM,GAGZ+M,IAER,CACDliB,IAAK,gBACLgB,MAAO,SAAuB+L,GAC5B,IAAI8E,EAAShO,KAETua,EAAWhb,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAKwd,GAC/E0B,EAAelE,EACfrM,EAA8B,kBAAbhF,EAAwBA,EAAWlJ,KAAKkJ,SAG7D,GAFwB,oBAAbA,IAAyBuV,EAAevV,IAE9ClJ,KAAKO,QAAQkH,WAAazH,KAAKO,QAAQgc,wBAAyB,CACnE,GAAIrO,GAAqC,WAA1BA,EAAQnD,cAA4B,OAAO0T,IAC1D,IAAIjE,EAAS,GAETkE,EAAS,SAAgBrX,GACtBA,GAEM2G,EAAO/E,SAAS+D,cAAcI,mBAAmB/F,GAEvD5H,SAAQ,SAAU0C,GACjBqY,EAAOhX,QAAQrB,GAAK,GAAGqY,EAAOpb,KAAK+C,OAI3C,GAAK+L,EAMHwQ,EAAOxQ,OANK,CACZ,IAAI2D,EAAY7R,KAAKiJ,SAAS+D,cAAcC,iBAAiBjN,KAAKO,QAAQ2M,aAC1E2E,EAAUpS,SAAQ,SAAU0C,GAC1B,OAAOuc,EAAOvc,MAMdnC,KAAKO,QAAQ8b,SACfrc,KAAKO,QAAQ8b,QAAQ5c,SAAQ,SAAU0C,GACrC,OAAOuc,EAAOvc,MAIlBnC,KAAKiJ,SAASwE,iBAAiB6D,KAAKkJ,EAAQxa,KAAKO,QAAQyG,IAAI,SAAUjB,GAChEA,GAAMiI,EAAO2Q,mBAAoB3Q,EAAO9E,UAAU8E,EAAO4Q,oBAAoB5Q,EAAO9E,UACzFuV,EAAa1Y,WAGf0Y,EAAa,QAGhB,CACDtiB,IAAK,kBACLgB,MAAO,SAAyB2P,EAAM9F,EAAIuT,GACxC,IAAI8D,EAAW9b,IAQf,OAPKuK,IAAMA,EAAO9M,KAAKsa,WAClBtT,IAAIA,EAAKhH,KAAKO,QAAQyG,IACtBuT,IAAUA,EAAWwC,IAC1B/c,KAAKiJ,SAASwE,iBAAiBoN,OAAO/N,EAAM9F,GAAI,SAAUgU,GACxDqD,EAASzb,UACT2X,EAASS,MAEJqD,IAER,CACDliB,IAAK,MACLgB,MAAO,SAAavC,GAClB,IAAKA,EAAQ,MAAM,IAAIikB,MAAM,iGAC7B,IAAKjkB,EAAOiF,KAAM,MAAM,IAAIgf,MAAM,4FA8BlC,MA5BoB,YAAhBjkB,EAAOiF,OACTG,KAAKqd,QAAQnD,QAAUtf,IAGL,WAAhBA,EAAOiF,MAAqBjF,EAAOkF,KAAOlF,EAAOsF,MAAQtF,EAAOuF,SAClEH,KAAKqd,QAAQ1c,OAAS/F,GAGJ,qBAAhBA,EAAOiF,OACTG,KAAKqd,QAAQU,iBAAmBnjB,GAGd,eAAhBA,EAAOiF,OACTG,KAAKqd,QAAQ7R,WAAa5Q,GAGR,kBAAhBA,EAAOiF,MACTuI,EAAcE,iBAAiB1N,GAGb,cAAhBA,EAAOiF,OACTG,KAAKqd,QAAQO,UAAYhjB,GAGP,aAAhBA,EAAOiF,MACTG,KAAKqd,QAAQC,SAASle,KAAKxE,GAGtBoF,OAER,CACD7D,IAAK,sBACLgB,MAAO,SAA6BgF,GAClC,GAAKA,GAAMnC,KAAKsa,aACZ,CAAC,SAAU,OAAO9W,QAAQrB,IAAM,GAEpC,IAAK,IAAI2c,EAAK,EAAGA,EAAK9e,KAAKsa,UAAU1e,OAAQkjB,IAAM,CACjD,IAAIC,EAAY/e,KAAKsa,UAAUwE,GAC/B,KAAI,CAAC,SAAU,OAAOtb,QAAQub,IAAc,IAExC/e,KAAKma,MAAM6E,4BAA4BD,GAAY,CACrD/e,KAAK2e,iBAAmBI,EACxB,UAIL,CACD5iB,IAAK,iBACLgB,MAAO,SAAwBkK,EAAKkT,GAClC,IAAInL,EAASpP,KAEbA,KAAKif,qBAAuB5X,EAC5B,IAAIgX,EAAW9b,IACfvC,KAAKwH,KAAK,mBAAoBH,GAE9B,IAAI6X,EAAc,SAAqB/c,GACrCiN,EAAOlG,SAAW/G,EAClBiN,EAAOkL,UAAYlL,EAAOnG,SAAS+D,cAAcI,mBAAmBjL,GACpEiN,EAAOuP,sBAAmBne,EAE1B4O,EAAOwP,oBAAoBzc,IA0BzBgd,EAAS,SAAgBrS,GACtBzF,GAAQyF,IAAQsC,EAAOnG,SAAS8U,mBAAkBjR,EAAO,IAC9D,IAAI3K,EAAoB,kBAAT2K,EAAoBA,EAAOsC,EAAOnG,SAAS+D,cAAcoS,sBAAsBtS,GAE1F3K,IACGiN,EAAOlG,UACVgW,EAAY/c,GAGTiN,EAAO5G,WAAWU,UAAUkG,EAAO5G,WAAWgW,eAAerc,GAC9DiN,EAAOnG,SAAS8U,kBAAkB3O,EAAOnG,SAAS8U,iBAAiBsB,kBAAkBld,IAG3FiN,EAAOkQ,cAAcnd,GAAG,SAAU6Y,IApCzB,SAAcA,EAAK7Y,GACxBA,GACF+c,EAAY/c,GAEZiN,EAAO5G,WAAWgW,eAAerc,GAEjCiN,EAAO6P,0BAAuBze,EAE9B4O,EAAO5H,KAAK,kBAAmBrF,GAE/BiN,EAAOzO,OAAOb,IAAI,kBAAmBqC,IAErCiN,EAAO6P,0BAAuBze,EAGhC6d,EAASzb,SAAQ,WACf,OAAOwM,EAAOlM,EAAE7D,MAAM+P,EAAQ7P,cAE5Bgb,GAAUA,EAASS,GAAK,WAC1B,OAAO5L,EAAOlM,EAAE7D,MAAM+P,EAAQ7P,cAkB9Bgc,CAAKP,EAAK7Y,OAYd,OARKkF,IAAOrH,KAAKiJ,SAAS8U,kBAAqB/d,KAAKiJ,SAAS8U,iBAAiBwB,OAElElY,GAAOrH,KAAKiJ,SAAS8U,kBAAoB/d,KAAKiJ,SAAS8U,iBAAiBwB,MAClFvf,KAAKiJ,SAAS8U,iBAAiByB,OAAOL,GAEtCA,EAAO9X,GAJP8X,EAAOnf,KAAKiJ,SAAS8U,iBAAiByB,UAOjCnB,IAER,CACDliB,IAAK,YACLgB,MAAO,SAAmBkK,EAAKL,EAAIyY,GACjC,IAAIzD,EAAShc,KAET0f,EAAS,SAASA,EAAOvjB,EAAKwjB,GAChC,IAAIpf,EAEJ,GAAsB,WAAlBzF,EAAQ6kB,GAAoB,CAC9B,IAAK,IAAIxe,EAAQ5B,UAAU3D,OAAQgkB,EAAO,IAAIjiB,MAAMwD,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGwe,EAAKxe,EAAQ,GAAK7B,UAAU6B,GAG9Bb,EAAUyb,EAAOzb,QAAQmK,iCAAiC,CAACvO,EAAKwjB,GAAMle,OAAOme,SAE7Erf,EAAUqc,GAAgB,GAAI+C,GAGhCpf,EAAQ8G,IAAM9G,EAAQ8G,KAAOqY,EAAOrY,IACpC9G,EAAQuM,KAAOvM,EAAQuM,MAAQ4S,EAAO5S,KACtCvM,EAAQyG,GAAKzG,EAAQyG,IAAM0Y,EAAO1Y,GAClC,IAAIX,EAAe2V,EAAOzb,QAAQ8F,cAAgB,IAC9CwZ,EAAYJ,EAAY,GAAGhe,OAAOge,GAAWhe,OAAO4E,GAAc5E,OAAOtF,GAAOA,EACpF,OAAO6f,EAAO9Y,EAAE2c,EAAWtf,IAW7B,MARmB,kBAAR8G,EACTqY,EAAOrY,IAAMA,EAEbqY,EAAO5S,KAAOzF,EAGhBqY,EAAO1Y,GAAKA,EACZ0Y,EAAOD,UAAYA,EACZC,IAER,CACDvjB,IAAK,IACLgB,MAAO,WACL,IAAI2iB,EAEJ,OAAO9f,KAAKwI,aAAesX,EAAmB9f,KAAKwI,YAAYuD,UAAU1M,MAAMygB,EAAkBvgB,aAElG,CACDpD,IAAK,SACLgB,MAAO,WACL,IAAI4iB,EAEJ,OAAO/f,KAAKwI,aAAeuX,EAAoB/f,KAAKwI,YAAYwX,OAAO3gB,MAAM0gB,EAAmBxgB,aAEjG,CACDpD,IAAK,sBACLgB,MAAO,SAA6B6J,GAClChH,KAAKO,QAAQ0G,UAAYD,IAE1B,CACD7K,IAAK,qBACLgB,MAAO,SAA4B6J,GACjC,IAAIiZ,EAASjgB,KAETO,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAElF,IAAKS,KAAKud,cAER,OADAvd,KAAKW,OAAOT,KAAK,kDAAmDF,KAAKsa,YAClE,EAGT,IAAKta,KAAKsa,YAActa,KAAKsa,UAAU1e,OAErC,OADAoE,KAAKW,OAAOT,KAAK,6DAA8DF,KAAKsa,YAC7E,EAGT,IAAIjT,EAAMrH,KAAK2e,kBAAoB3e,KAAKsa,UAAU,GAC9CpN,IAAclN,KAAKO,SAAUP,KAAKO,QAAQ2M,YAC1CgT,EAAUlgB,KAAKsa,UAAUta,KAAKsa,UAAU1e,OAAS,GACrD,GAA0B,WAAtByL,EAAI0D,cAA4B,OAAO,EAE3C,IAAIoV,EAAiB,SAAwBhe,EAAG9D,GAC9C,IAAI+hB,EAAYH,EAAOhX,SAASwE,iBAAiB2M,MAAM,GAAG3Y,OAAOU,EAAG,KAAKV,OAAOpD,IAEhF,OAAsB,IAAf+hB,GAAkC,IAAdA,GAG7B,GAAI7f,EAAQ8f,SAAU,CACpB,IAAIC,EAAY/f,EAAQ8f,SAASrgB,KAAMmgB,GACvC,QAAkB3f,IAAd8f,EAAyB,OAAOA,EAGtC,QAAItgB,KAAK6H,kBAAkBR,EAAKL,MAC3BhH,KAAKiJ,SAASwE,iBAAiByM,YAChCiG,EAAe9Y,EAAKL,IAASkG,IAAeiT,EAAeD,EAASlZ,OAGzE,CACD7K,IAAK,iBACLgB,MAAO,SAAwB6J,EAAIuT,GACjC,IAAIgG,EAASvgB,KAETqe,EAAW9b,IAEf,OAAKvC,KAAKO,QAAQyG,IAKA,kBAAPA,IAAiBA,EAAK,CAACA,IAClCA,EAAGvH,SAAQ,SAAUpB,GACfkiB,EAAOhgB,QAAQyG,GAAGxD,QAAQnF,GAAK,GAAGkiB,EAAOhgB,QAAQyG,GAAG5H,KAAKf,MAE/D2B,KAAKsf,eAAc,SAAUtE,GAC3BqD,EAASzb,UACL2X,GAAUA,EAASS,MAElBqD,IAZL9D,GAAYA,IACL5X,QAAQC,aAalB,CACDzG,IAAK,gBACLgB,MAAO,SAAuB2P,EAAMyN,GAClC,IAAI8D,EAAW9b,IACK,kBAATuK,IAAmBA,EAAO,CAACA,IACtC,IAAI0T,EAAYxgB,KAAKO,QAAQ8b,SAAW,GACpCoE,EAAU3T,EAAK7N,QAAO,SAAUoI,GAClC,OAAOmZ,EAAUhd,QAAQ6D,GAAO,KAGlC,OAAKoZ,EAAQ7kB,QAKboE,KAAKO,QAAQ8b,QAAUmE,EAAU/e,OAAOgf,GACxCzgB,KAAKsf,eAAc,SAAUtE,GAC3BqD,EAASzb,UACL2X,GAAUA,EAASS,MAElBqD,IATD9D,GAAUA,IACP5X,QAAQC,aAUlB,CACDzG,IAAK,MACLgB,MAAO,SAAakK,GAElB,GADKA,IAAKA,EAAMrH,KAAK2e,mBAAqB3e,KAAKsa,WAAata,KAAKsa,UAAU1e,OAAS,EAAIoE,KAAKsa,UAAU,GAAKta,KAAKkJ,YAC5G7B,EAAK,MAAO,MAEjB,MADc,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,OACja7D,QAAQxD,KAAKiJ,SAAS+D,cAAcwE,wBAAwBnK,KAAS,GAAKA,EAAI0D,cAAcvH,QAAQ,SAAW,EAAI,MAAQ,QAE3I,CACDrH,IAAK,gBACLgB,MAAO,WACL,IAAIujB,EAAS1gB,KAETO,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9Egb,EAAWhb,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAKwd,GAE/E4D,EAAgB/D,GAAgBA,GAAgBA,GAAgB,GAAI5c,KAAKO,SAAUA,GAAU,CAC/Fid,SAAS,IAGPoD,EAAQ,IAAIxD,EAAKuD,GACjBE,EAAgB,CAAC,QAAS,WAAY,YAqB1C,OApBAA,EAAcphB,SAAQ,SAAU0D,GAC9Byd,EAAMzd,GAAKud,EAAOvd,MAEpByd,EAAM3X,SAAW2T,GAAgB,GAAI5c,KAAKiJ,UAC1C2X,EAAM3X,SAAS2G,MAAQ,CACrBC,mBAAoB+Q,EAAM/Q,mBAAmBsN,KAAKyD,IAEpDA,EAAMpY,WAAa,IAAIQ,EAAW4X,EAAM3X,SAAU2X,EAAMrgB,SACxDqgB,EAAMpY,WAAWsV,GAAG,KAAK,SAAU5b,GACjC,IAAK,IAAIb,EAAQ9B,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAM0D,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGvB,EAAKuB,EAAQ,GAAK/B,UAAU+B,GAG9Bsf,EAAMpZ,KAAKnI,MAAMuhB,EAAO,CAAC1e,GAAOT,OAAO1B,OAEzC6gB,EAAMngB,KAAKkgB,EAAepG,GAC1BqG,EAAMpY,WAAWjI,QAAUqgB,EAAMrgB,QACjCqgB,EAAMpY,WAAWiF,iBAAiBxE,SAAS2G,MAAQ,CACjDC,mBAAoB+Q,EAAM/Q,mBAAmBsN,KAAKyD,IAE7CA,IAER,CACDzkB,IAAK,SACLgB,MAAO,WACL,MAAO,CACLoD,QAASP,KAAKO,QACd4Z,MAAOna,KAAKma,MACZjR,SAAUlJ,KAAKkJ,SACfoR,UAAWta,KAAKsa,UAChBqE,iBAAkB3e,KAAK2e,sBAKtBvB,EAxkBE,CAykBTxb,GAEFpE,EAAgB4f,GAAM,kBAAkB,WACtC,IAAI7c,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC9Egb,EAAWhb,UAAU3D,OAAS,EAAI2D,UAAU,QAAKiB,EACrD,OAAO,IAAI4c,GAAK7c,EAASga,MAG3B,IAAIlf,GAAW+hB,GAAK0D,iBACpBzlB,GAASylB,eAAiB1D,GAAK0D,eAEVzlB,GAASylB,eACnBzlB,GAASoF,KACApF,GAASikB,cACPjkB,GAAS0lB,gBACrB1lB,GAAS2lB,IACE3lB,GAASmjB,eACdnjB,GAAS4lB,UACjB5lB,GAAS6H,EACJ7H,GAAS2kB,OACI3kB,GAAS6lB,oBACV7lB,GAASwU,mBACbxU,GAAS8lB,eACV9lB,GAAS+lB,cAZ7B,IAcA,ME1rFA,SAASziB,GAAQC,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAElV,SAASQ,GAAc7D,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKgD,GAAQ1C,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBb,GAAQ1C,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAG7gB,IASI4lB,GATAC,GAAiB,CACnBC,SAAU,kBACVC,cAAe,GACfC,oBAAqB,GACrBC,4BAA4B,EAC5BC,mBAAoB,GACpBC,2BAA4B,CAAC,KAAM,SAAU,IAAK,KAClDC,aAAa,GAGJC,GAAcC,EAAAA,gBAKlB,SAASC,KACd,OAAOV,GAEF,IAAIW,GAAmB,WAC5B,SAASA,IACP7mB,EAAgB4E,KAAMiiB,GAEtBjiB,KAAKkiB,eAAiB,GAmBxB,OAhBA9lB,EAAa6lB,EAAkB,CAAC,CAC9B9lB,IAAK,oBACLgB,MAAO,SAA2BmM,GAChC,IAAItH,EAAQhC,KAEZsJ,EAAW7J,SAAQ,SAAUuH,GACtBhF,EAAMkgB,eAAelb,KAAKhF,EAAMkgB,eAAelb,IAAM,QAG7D,CACD7K,IAAK,oBACLgB,MAAO,WACL,OAAOlB,OAAO6C,KAAKkB,KAAKkiB,oBAIrBD,EAvBqB,GA4BvB,SAASE,KACd,OAAOd,GAEF,IAAIe,GAAmB,CAC5BviB,KAAM,WACNY,KAAM,SAAcpF,IAxCf,WACL,IAAIkF,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAClF+hB,GAAiBhiB,GAAcA,GAAc,GAAIgiB,IAAiB/gB,GAuChE8hB,CAAYhnB,EAASkF,QAAQ+hB,OAT1B,SAAiBjnB,GACtBgmB,GAAehmB,EASbknB,CAAQlnB,KC5DZ,SAAS,GAAQuD,EAAQC,GACvB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAEvB,GAAI3C,OAAO8C,sBAAuB,CAChC,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAC3CC,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GACpD,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eACjDgD,EAAKM,KAAKC,MAAMP,EAAME,GAG7B,OAAOF,EAGM,SAAS0jB,GAAe/mB,GACrC,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CACzC,IAAI6D,EAAS,MAAQD,UAAU5D,GAAK4D,UAAU5D,GAAK,GACnDA,EAAI,EAAI,GAAQM,OAAOuD,IAAS,GAAIC,SAAQ,SAAUtD,GACpD,EAAeV,EAAQU,EAAKqD,EAAOrD,OAChCF,OAAOyD,0BAA4BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAW,GAAQvD,OAAOuD,IAASC,SAAQ,SAAUtD,GAC5JF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAI/E,OAAOV,ECpBT,IAAMgnB,GAAsB,sBACtBC,GAAmB,mBACnBC,GAAkB,kBAEXC,GACL,SAACve,GACLwe,aAAaC,QAAQL,GAAqBhL,KAAKsL,UAAU1e,KAFhDue,GAIL,WACJ,IAAMI,EAAOH,aAAaI,QAAQR,IAClC,OAAKO,EAGE,CAACE,MADEzL,KAAKxJ,MAAM+U,GACJE,OAHC,MANTN,GAsBO,WAChB,IAAMI,EAAOH,aAAaI,QAAQR,IAC5B9lB,EAAI8a,KAAKxJ,MAAM+U,GAAQ,MAC7B,OAAQ,OAADrmB,QAAC,IAADA,GAAAA,EAAGwmB,OAAS,CAAC,cAAgB,UAAD1hB,OAAa,OAAD9E,QAAC,IAADA,OAAC,EAADA,EAAGwmB,SAAY,IAzBrDP,GA2BH,WACNC,aAAaO,WAAWX,KAIfY,GAAS,CACpBC,OAAQ,KACRC,KAAM,SAAClf,GACLgf,GAAOC,OAASjf,EAChBwe,aAAaC,QAAQJ,GAAkBjL,KAAKsL,UAAU1e,KAExDiN,KAAM,WACJ,IAAM0R,EAAOH,aAAaI,QAAQP,IAElC,OADAW,GAAOC,OAASN,EAAOvL,KAAKxJ,MAAM+U,GAAQ,KACnCK,GAAOC,QAEhB/c,QAAS,WAAO,IAADid,EACb,OAAoB,QAAbA,EAAAH,GAAOC,cAAM,IAAAE,OAAA,EAAbA,EAAeC,OAAQ/a,OAIrBgb,GACL,SAACllB,GACLqkB,aAAaC,QAAQH,GAAiBnkB,IAF7BklB,GAIL,WACJ,OAAOb,aAAaI,QAAQN,KAAoB,cAIvCgB,GAAQ,CACnBC,KAAI,SAACvf,GAAO,IAADwf,EAAAC,EACT,OAAOrM,KAAKsL,UAASzjB,GAAAA,GAAC,GACjB+E,GAAI,IACP6e,MAAM,MAADzhB,OAAY,OAAJ4C,QAAI,IAAJA,GAAW,QAAPwf,EAAJxf,EAAM6e,aAAK,IAAAW,OAAP,EAAJA,EAAajoB,OAAM,QAChCunB,OAAO,MAAD1hB,OAAY,OAAJ4C,QAAI,IAAJA,GAAY,QAARyf,EAAJzf,EAAM8e,cAAM,IAAAW,OAAR,EAAJA,EAAcloB,OAAM,YAQtCmH,KAAI,SAAChF,EAAMgmB,GAGT,IAFA,IAAIC,EAAKL,GAAMM,MAAM,GAAIlmB,GAEhBpC,EAAI,EAAGA,GAAU,OAANooB,QAAM,IAANA,OAAM,EAANA,EAAQnoB,QAAQD,GAAK,EAAG,CAC1C,IAAMmI,EAAIigB,EAAOpoB,GACXwM,EAAI4b,EAAOpoB,EAAI,GACfuoB,EAAKF,EAAGlgB,GAER/I,EAAM,GACZA,EAAI+I,GAAK6f,GAAMM,MAAMC,EAAI/b,GACzB6b,EAAKL,GAAMM,MAAMD,EAAIjpB,GAEvB,OAAOipB,GAGTC,MAAK,SAACE,EAAKC,GACT,GAAmB,kBAARD,EAAkB,OAAOC,EACpC,GAAmB,kBAARA,EAAkB,OAAOA,EAEpC,IAAMJ,EAAK,GACX,IAAK,IAAMlgB,KAAKqgB,EACdH,EAAGlgB,GAAKqgB,EAAIrgB,GAEd,IAAK,IAAMA,KAAKsgB,EACdJ,EAAGlgB,GAAKsgB,EAAItgB,GAEd,OAAOkgB,IAIEK,GACP,SAACC,GACH,GAAIrf,UAAUsf,UACZ,OAAOtf,UAAUsf,UAAUC,UAAUF,GAGvC,IAAMve,EAAI0e,SAASC,cAAc,YAQjC,OAPA3e,EAAE5I,MAAQmnB,EACVve,EAAEgT,MAAM4L,SAAW,QAEnBF,SAASG,KAAKC,YAAY9e,GAC1BA,EAAE+e,QACF/e,EAAEoO,SAEK,IAAIxR,SAAQ,SAACC,EAASC,GAC3B,IACkB4hB,SAASM,YAAY,QAEnCniB,GAAQ,GAERC,GAAO,GAET,MAAOkD,GACPlD,EAAOkD,GACR,QACC0e,SAASG,KAAKI,YAAYjf,QAMrBkf,GACJ,KADIA,GAEL,KAFKA,GAGF,KAWJ,IAAMC,GACJ,SAACC,EAAOC,EAAKC,GAClB,OAVJ,SAAyBF,EAAOC,EAAKC,GACnC,MAAc,qBAAVF,EACI,GAAN1jB,OAAU2jB,EAAG,KAAA3jB,OAAI4jB,GAEX,GAAN5jB,OAAU0jB,EAAK,KAAA1jB,OAAI2jB,EAAG,KAAA3jB,OAAI4jB,GAMnBC,CAAeH,EAAOC,EAAKC,ogkDC/ItCjlB,QAAQN,IAAI,wBAAD2B,OAAyBgW,KAAKsL,UAAU9mB,OAAO6C,KAAK2I,OAG/D4b,GAAO/R,OAEPiU,GAAAA,IACOnD,IACJ3hB,KAAK,CACJgH,UAAAA,GACAJ,IAAKgc,GAAO9c,UAIZ4C,cAAe,CACb6L,aAAa,KCvBJ,SAAS,GAAetX,EAAK/B,GAC1C,OAAO,EAAe+B,ICLT,SAA+BA,EAAK/B,GACjD,IAAI6pB,EAAY,MAAP9nB,EAAc,KAAyB,qBAAX1C,QAA0B0C,EAAI1C,OAAOC,WAAayC,EAAI,cAE3F,GAAU,MAAN8nB,EAAJ,CACA,IAIIC,EAAIC,EAJJC,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAKL,EAAKA,EAAGnoB,KAAKK,KAAQkoB,GAAMH,EAAKD,EAAGM,QAAQvK,QAC9CoK,EAAKvmB,KAAKqmB,EAAGtoB,QAETxB,GAAKgqB,EAAK/pB,SAAWD,GAH4BiqB,GAAK,IAK5D,MAAO5K,GACP6K,GAAK,EACLH,EAAK1K,EACL,QACA,IACO4K,GAAsB,MAAhBJ,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIK,EAAI,MAAMH,GAIlB,OAAOC,GDtBuB,CAAqBjoB,EAAK/B,IAAM,EAA2B+B,EAAK/B,IAAM,IEHvF,SAASwhB,GAAK4I,EAAIC,GAC/B,OAAO,WACL,OAAOD,EAAG1mB,MAAM2mB,EAASzmB,YCE7B,IAGgB0mB,GAHT3nB,GAAYrC,OAAOd,UAAnBmD,SACAf,GAAkBtB,OAAlBsB,eAED2oB,IAAUD,GAGbhqB,OAAOiB,OAAO,MAHQ,SAAAipB,GACrB,IAAMvhB,EAAMtG,GAASjB,KAAK8oB,GAC1B,OAAOF,GAAMrhB,KAASqhB,GAAMrhB,GAAOA,EAAIrG,MAAM,GAAI,GAAGwM,iBAGlDqb,GAAa,SAACvmB,GAElB,OADAA,EAAOA,EAAKkL,cACL,SAACob,GAAK,OAAKD,GAAOC,KAAWtmB,IAGhCwmB,GAAa,SAAAxmB,GAAI,OAAI,SAAAsmB,GAAK,cAAWA,IAAUtmB,IAS9CjC,GAAWD,MAAXC,QASD0oB,GAAcD,GAAW,aAqB/B,IAAME,GAAgBH,GAAW,eA2BjC,IAAMI,GAAWH,GAAW,UAQtBI,GAAaJ,GAAW,YASxBK,GAAWL,GAAW,UAStBM,GAAW,SAACR,GAAK,OAAe,OAAVA,GAAmC,kBAAVA,GAiB/CS,GAAgB,SAACrQ,GACrB,GAAoB,WAAhB2P,GAAO3P,GACT,OAAO,EAGT,IAAMpb,EAAYoC,GAAegZ,GACjC,OAAsB,OAAdpb,GAAsBA,IAAcc,OAAOd,WAAkD,OAArCc,OAAOsB,eAAepC,OAA0BH,OAAO6rB,eAAetQ,MAAUvb,OAAOC,YAAYsb,IAU/JuQ,GAASV,GAAW,QASpBW,GAASX,GAAW,QASpBY,GAASZ,GAAW,QASpBa,GAAab,GAAW,YAsCxBc,GAAoBd,GAAW,mBA2BrC,SAAS3mB,GAAQ1E,EAAKgrB,GAA+B,IAM/CpqB,EACAwG,EAP+CglB,EAAA5nB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAJ,GAAE6nB,EAAAD,EAAxBE,WAAAA,OAAU,IAAAD,GAAQA,EAE3C,GAAY,OAARrsB,GAA+B,qBAARA,EAa3B,GALmB,kBAARA,IAETA,EAAM,CAACA,IAGL6C,GAAQ7C,GAEV,IAAKY,EAAI,EAAGwG,EAAIpH,EAAIa,OAAQD,EAAIwG,EAAGxG,IACjCoqB,EAAG1oB,KAAK,KAAMtC,EAAIY,GAAIA,EAAGZ,OAEtB,CAEL,IAEIoB,EAFE2C,EAAOuoB,EAAaprB,OAAOihB,oBAAoBniB,GAAOkB,OAAO6C,KAAK/D,GAClEkD,EAAMa,EAAKlD,OAGjB,IAAKD,EAAI,EAAGA,EAAIsC,EAAKtC,IACnBQ,EAAM2C,EAAKnD,GACXoqB,EAAG1oB,KAAK,KAAMtC,EAAIoB,GAAMA,EAAKpB,IAKnC,SAASusB,GAAQvsB,EAAKoB,GACpBA,EAAMA,EAAI4O,cAIV,IAHA,IAEIhK,EAFEjC,EAAO7C,OAAO6C,KAAK/D,GACrBY,EAAImD,EAAKlD,OAEND,KAAM,GAEX,GAAIQ,KADJ4E,EAAOjC,EAAKnD,IACKoP,cACf,OAAOhK,EAGX,OAAO,KAGT,IAAMwmB,GAEsB,qBAAfC,WAAmCA,WACvB,qBAAThrB,KAAuBA,KAA0B,qBAAXwI,OAAyBA,OAASyiB,OAGlFC,GAAmB,SAAC9Y,GAAO,OAAM0X,GAAY1X,IAAYA,IAAY2Y,IAoD3E,IA8HsBI,GAAhBC,IAAgBD,GAKG,qBAAfE,YAA8BtqB,GAAesqB,YAH9C,SAAA1B,GACL,OAAOwB,IAAcxB,aAAiBwB,KA6CpCG,GAAa1B,GAAW,mBAWxBviB,GAAkB,SAAAkkB,GAAA,IAAElkB,EAAmE5H,OAAOd,UAA1E0I,eAAc,OAAM,SAAC9I,EAAK0J,GAAI,OAAKZ,EAAexG,KAAKtC,EAAK0J,IAA9D,GASlBujB,GAAW5B,GAAW,UAEtB6B,GAAoB,SAACltB,EAAKmtB,GAC9B,IAAMC,EAAclsB,OAAOyD,0BAA0B3E,GAC/CqtB,EAAqB,GAE3B3oB,GAAQ0oB,GAAa,SAACtsB,EAAY2C,GAChC,IAAIge,GAC2C,KAA1CA,EAAM0L,EAAQrsB,EAAY2C,EAAMzD,MACnCqtB,EAAmB5pB,GAAQge,GAAO3gB,MAItCI,OAAO0D,iBAAiB5E,EAAKqtB,IAuDzBC,GAAQ,6BAERC,GAAQ,aAERC,GAAW,CACfD,MAAAA,GACAD,MAAAA,GACAG,YAAaH,GAAQA,GAAMvX,cAAgBwX,IAwB7C,IA+BMG,GAAYrC,GAAW,iBAK7B,IACExoB,QAAAA,GACA2oB,cAAAA,GACAmC,SAnnBF,SAAkBnS,GAChB,OAAe,OAARA,IAAiB+P,GAAY/P,IAA4B,OAApBA,EAAIrb,cAAyBorB,GAAY/P,EAAIrb,cACpFurB,GAAWlQ,EAAIrb,YAAYwtB,WAAanS,EAAIrb,YAAYwtB,SAASnS,IAknBtEoS,WAreiB,SAACxC,GAClB,IAAIyC,EACJ,OAAOzC,IACgB,oBAAb0C,UAA2B1C,aAAiB0C,UAClDpC,GAAWN,EAAMzH,UACY,cAA1BkK,EAAO1C,GAAOC,KAEL,WAATyC,GAAqBnC,GAAWN,EAAM7nB,WAAkC,sBAArB6nB,EAAM7nB,cA+dhEwqB,kBA/lBF,SAA2BvS,GAOzB,MAL4B,qBAAhBwS,aAAiCA,YAAYC,OAC9CD,YAAYC,OAAOzS,GAElBA,GAASA,EAAI0S,QAAY1C,GAAchQ,EAAI0S,SA2lBvDzC,SAAAA,GACAE,SAAAA,GACAwC,UA/iBgB,SAAA/C,GAAK,OAAc,IAAVA,IAA4B,IAAVA,GAgjB3CQ,SAAAA,GACAC,cAAAA,GACAN,YAAAA,GACAQ,OAAAA,GACAC,OAAAA,GACAC,OAAAA,GACAgB,SAAAA,GACAvB,WAAAA,GACA0C,SA3fe,SAAC5S,GAAG,OAAKoQ,GAASpQ,IAAQkQ,GAAWlQ,EAAI6S,OA4fxDlC,kBAAAA,GACAU,aAAAA,GACAX,WAAAA,GACAxnB,QAAAA,GACAwkB,MA/XF,SAASA,IAgBP,IAfA,IAAAoF,EAAmB3B,GAAiB1nB,OAASA,MAAQ,GAA9CspB,EAAQD,EAARC,SACDrjB,EAAS,GACTsjB,EAAc,SAAChT,EAAKpa,GACxB,IAAMqtB,EAAYF,GAAYhC,GAAQrhB,EAAQ9J,IAAQA,EAClDyqB,GAAc3gB,EAAOujB,KAAe5C,GAAcrQ,GACpDtQ,EAAOujB,GAAavF,EAAMhe,EAAOujB,GAAYjT,GACpCqQ,GAAcrQ,GACvBtQ,EAAOujB,GAAavF,EAAM,GAAI1N,GACrB3Y,GAAQ2Y,GACjBtQ,EAAOujB,GAAajT,EAAIhY,QAExB0H,EAAOujB,GAAajT,GAIf5a,EAAI,EAAGwG,EAAI5C,UAAU3D,OAAQD,EAAIwG,EAAGxG,IAC3C4D,UAAU5D,IAAM8D,GAAQF,UAAU5D,GAAI4tB,GAExC,OAAOtjB,GA6WPwjB,OAhWa,SAACzmB,EAAG0mB,EAAG1D,GAA8B,IAAA2D,EAAApqB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAP,GAAb8nB,EAAUsC,EAAVtC,WAQ9B,OAPA5nB,GAAQiqB,GAAG,SAACnT,EAAKpa,GACX6pB,GAAWS,GAAWlQ,GACxBvT,EAAE7G,GAAOghB,GAAK5G,EAAKyP,GAEnBhjB,EAAE7G,GAAOoa,IAEV,CAAC8Q,WAAAA,IACGrkB,GAyVP0T,KA5dW,SAAC9R,GAAG,OAAKA,EAAI8R,KACxB9R,EAAI8R,OAAS9R,EAAInB,QAAQ,qCAAsC,KA4d/DmmB,SAhVe,SAACC,GAIhB,OAH8B,QAA1BA,EAAQC,WAAW,KACrBD,EAAUA,EAAQtrB,MAAM,IAEnBsrB,GA6UPE,SAjUe,SAAC7uB,EAAa8uB,EAAkBtuB,EAAOysB,GACtDjtB,EAAYC,UAAYc,OAAOiB,OAAO8sB,EAAiB7uB,UAAWgtB,GAClEjtB,EAAYC,UAAUD,YAAcA,EACpCe,OAAOC,eAAehB,EAAa,QAAS,CAC1CiC,MAAO6sB,EAAiB7uB,YAE1BO,GAASO,OAAOguB,OAAO/uB,EAAYC,UAAWO,IA4T9CwuB,aAhTmB,SAACC,EAAWC,EAASnrB,EAAQorB,GAChD,IAAI3uB,EACAC,EACA8I,EACE6lB,EAAS,GAIf,GAFAF,EAAUA,GAAW,GAEJ,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IADAzuB,GADAD,EAAQO,OAAOihB,oBAAoBiN,IACzBvuB,OACHD,KAAM,GACX8I,EAAO/I,EAAMC,GACP0uB,IAAcA,EAAW5lB,EAAM0lB,EAAWC,IAAcE,EAAO7lB,KACnE2lB,EAAQ3lB,GAAQ0lB,EAAU1lB,GAC1B6lB,EAAO7lB,IAAQ,GAGnB0lB,GAAuB,IAAXlrB,GAAoB1B,GAAe4sB,SACxCA,KAAelrB,GAAUA,EAAOkrB,EAAWC,KAAaD,IAAcluB,OAAOd,WAEtF,OAAOivB,GA0RPlE,OAAAA,GACAE,WAAAA,GACAzf,SAhRe,SAAC/B,EAAK2lB,EAAc5F,GACnC/f,EAAMF,OAAOE,SACIpE,IAAbmkB,GAA0BA,EAAW/f,EAAIhJ,UAC3C+oB,EAAW/f,EAAIhJ,QAEjB+oB,GAAY4F,EAAa3uB,OACzB,IAAMub,EAAYvS,EAAIpB,QAAQ+mB,EAAc5F,GAC5C,OAAsB,IAAfxN,GAAoBA,IAAcwN,GA0QzC6F,QA/Pc,SAACrE,GACf,IAAKA,EAAO,OAAO,KACnB,GAAIvoB,GAAQuoB,GAAQ,OAAOA,EAC3B,IAAIxqB,EAAIwqB,EAAMvqB,OACd,IAAK8qB,GAAS/qB,GAAI,OAAO,KAEzB,IADA,IAAM+B,EAAM,IAAIC,MAAMhC,GACfA,KAAM,GACX+B,EAAI/B,GAAKwqB,EAAMxqB,GAEjB,OAAO+B,GAuPP+sB,aA5NmB,SAAC1vB,EAAKgrB,GAOzB,IANA,IAII9f,EAFEhL,GAFYF,GAAOA,EAAIC,OAAOC,WAEToC,KAAKtC,IAIxBkL,EAAShL,EAAS6qB,UAAY7f,EAAOsV,MAAM,CACjD,IAAMmP,EAAOzkB,EAAO9I,MACpB4oB,EAAG1oB,KAAKtC,EAAK2vB,EAAK,GAAIA,EAAK,MAoN7BC,SAxMe,SAACC,EAAQhmB,GAIxB,IAHA,IAAIimB,EACEntB,EAAM,GAE4B,QAAhCmtB,EAAUD,EAAO5T,KAAKpS,KAC5BlH,EAAI0B,KAAKyrB,GAGX,OAAOntB,GAiMPoqB,WAAAA,GACAjkB,eAAAA,GACAinB,WAAYjnB,GACZokB,kBAAAA,GACA8C,cAxJoB,SAAChwB,GACrBktB,GAAkBltB,GAAK,SAACc,EAAY2C,GAElC,GAAIioB,GAAW1rB,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAUyI,QAAQhF,GAC/D,OAAO,EAGT,IAAMrB,EAAQpC,EAAIyD,GAEbioB,GAAWtpB,KAEhBtB,EAAWC,YAAa,EAEpB,aAAcD,EAChBA,EAAWG,UAAW,EAInBH,EAAWoX,MACdpX,EAAWoX,IAAM,WACf,MAAM4L,MAAM,qCAAwCrgB,EAAO,YAqIjEwsB,YA/HkB,SAACC,EAAeC,GAClC,IAAMnwB,EAAM,GAENowB,EAAS,SAACztB,GACdA,EAAI+B,SAAQ,SAAAtC,GACVpC,EAAIoC,IAAS,MAMjB,OAFAS,GAAQqtB,GAAiBE,EAAOF,GAAiBE,EAAOzmB,OAAOumB,GAAehpB,MAAMipB,IAE7EnwB,GAqHPqwB,YAjMkB,SAAAxmB,GAClB,OAAOA,EAAImG,cAActH,QAAQ,yBAC/B,SAAkBN,EAAGkoB,EAAIC,GACvB,OAAOD,EAAGva,cAAgBwa,MA+L9BvO,KAnHW,aAoHXwO,eAlHqB,SAACpuB,EAAOqP,GAE7B,OADArP,GAASA,EACFmV,OAAOkZ,SAASruB,GAASA,EAAQqP,GAiHxC8a,QAAAA,GACAG,OAAQF,GACRG,iBAAAA,GACAa,SAAAA,GACAkD,eAxGqB,WAGrB,IAHqE,IAA/CC,EAAInsB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAG,GAAIosB,EAAQpsB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAGgpB,GAASC,YACjD5jB,EAAM,GACHhJ,EAAU+vB,EAAV/vB,OACA8vB,KACL9mB,GAAO+mB,EAASpX,KAAKqX,SAAWhwB,EAAO,GAGzC,OAAOgJ,GAkGPinB,oBAxFF,SAA6B1F,GAC3B,SAAUA,GAASM,GAAWN,EAAMzH,SAAyC,aAA9ByH,EAAMnrB,OAAO6rB,cAA+BV,EAAMnrB,OAAOC,YAwFxG6wB,aArFmB,SAAC/wB,GACpB,IAAM4I,EAAQ,IAAIhG,MAAM,IA2BxB,OAzBc,SAARouB,EAASvsB,EAAQ7D,GAErB,GAAIgrB,GAASnnB,GAAS,CACpB,GAAImE,EAAMH,QAAQhE,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxBmE,EAAMhI,GAAK6D,EACX,IAAM/D,EAASmC,GAAQ4B,GAAU,GAAK,GAStC,OAPAC,GAAQD,GAAQ,SAACrC,EAAOhB,GACtB,IAAM6vB,EAAeD,EAAM5uB,EAAOxB,EAAI,IACrC2qB,GAAY0F,KAAkBvwB,EAAOU,GAAO6vB,MAG/CroB,EAAMhI,QAAK6E,EAEJ/E,GAIX,OAAO+D,EAGFusB,CAAMhxB,EAAK,IA0DlB0tB,UAAAA,GACAwD,WAtDiB,SAAC9F,GAAK,OACvBA,IAAUQ,GAASR,IAAUM,GAAWN,KAAWM,GAAWN,EAAM+F,OAASzF,GAAWN,EAAMgG,SC7oBhG,SAASC,GAAWC,EAASvc,EAAMwc,EAAQC,EAASC,GAClD3N,MAAMxhB,KAAK2C,MAEP6e,MAAM4N,kBACR5N,MAAM4N,kBAAkBzsB,KAAMA,KAAK9E,aAEnC8E,KAAK2D,OAAS,IAAIkb,OAASlb,MAG7B3D,KAAKqsB,QAAUA,EACfrsB,KAAKxB,KAAO,aACZsR,IAAS9P,KAAK8P,KAAOA,GACrBwc,IAAWtsB,KAAKssB,OAASA,GACzBC,IAAYvsB,KAAKusB,QAAUA,GAC3BC,IAAaxsB,KAAKwsB,SAAWA,GAG/B5c,GAAMma,SAASqC,GAAYvN,MAAO,CAChC6N,OAAQ,WACN,MAAO,CAELL,QAASrsB,KAAKqsB,QACd7tB,KAAMwB,KAAKxB,KAEXmuB,YAAa3sB,KAAK2sB,YAClBzY,OAAQlU,KAAKkU,OAEb0Y,SAAU5sB,KAAK4sB,SACfC,WAAY7sB,KAAK6sB,WACjBC,aAAc9sB,KAAK8sB,aACnBnpB,MAAO3D,KAAK2D,MAEZ2oB,OAAQ1c,GAAMkc,aAAa9rB,KAAKssB,QAChCxc,KAAM9P,KAAK8P,KACXid,OAAQ/sB,KAAKwsB,UAAYxsB,KAAKwsB,SAASO,OAAS/sB,KAAKwsB,SAASO,OAAS,SAK7E,IAAM5xB,GAAYixB,GAAWjxB,UACvBgtB,GAAc,GAEpB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEA1oB,SAAQ,SAAAqQ,GACRqY,GAAYrY,GAAQ,CAAC3S,MAAO2S,MAG9B7T,OAAO0D,iBAAiBysB,GAAYjE,IACpClsB,OAAOC,eAAef,GAAW,eAAgB,CAACgC,OAAO,IAGzDivB,GAAWruB,KAAO,SAACoC,EAAO2P,EAAMwc,EAAQC,EAASC,EAAUQ,GACzD,IAAMC,EAAahxB,OAAOiB,OAAO/B,IAgBjC,OAdAyU,GAAMsa,aAAa/pB,EAAO8sB,GAAY,SAAgBlyB,GACpD,OAAOA,IAAQ8jB,MAAM1jB,aACpB,SAAAsJ,GACD,MAAgB,iBAATA,KAGT2nB,GAAW/uB,KAAK4vB,EAAY9sB,EAAMksB,QAASvc,EAAMwc,EAAQC,EAASC,GAElES,EAAWC,MAAQ/sB,EAEnB8sB,EAAWzuB,KAAO2B,EAAM3B,KAExBwuB,GAAe/wB,OAAOguB,OAAOgD,EAAYD,GAElCC,GAGT,UCrFA,SAASE,GAAYhH,GACnB,OAAOvW,GAAMgX,cAAcT,IAAUvW,GAAMhS,QAAQuoB,GAUrD,SAASiH,GAAejxB,GACtB,OAAOyT,GAAMjJ,SAASxK,EAAK,MAAQA,EAAIoC,MAAM,GAAI,GAAKpC,EAYxD,SAASkxB,GAAUhqB,EAAMlH,EAAKmxB,GAC5B,OAAKjqB,EACEA,EAAK5B,OAAOtF,GAAK4N,KAAI,SAAcmZ,EAAOvnB,GAG/C,OADAunB,EAAQkK,GAAelK,IACfoK,GAAQ3xB,EAAI,IAAMunB,EAAQ,IAAMA,KACvCzc,KAAK6mB,EAAO,IAAM,IALHnxB,EAmBpB,IAAMoxB,GAAa3d,GAAMsa,aAAata,GAAO,GAAI,MAAM,SAAgBnL,GACrE,MAAO,WAAWhG,KAAKgG,MA+JzB,OArIA,SAAoB1J,EAAKyyB,EAAUjtB,GACjC,IAAKqP,GAAM+W,SAAS5rB,GAClB,MAAM,IAAIQ,UAAU,4BAItBiyB,EAAWA,GAAY,IAAyB3E,SAYhD,IAAM4E,GATNltB,EAAUqP,GAAMsa,aAAa3pB,EAAS,CACpCktB,YAAY,EACZH,MAAM,EACNI,SAAS,IACR,GAAO,SAAiBhd,EAAQlR,GAEjC,OAAQoQ,GAAM0W,YAAY9mB,EAAOkR,QAGR+c,WAErBE,EAAUptB,EAAQotB,SAAWC,EAC7BN,EAAO/sB,EAAQ+sB,KACfI,EAAUntB,EAAQmtB,QAElBG,GADQttB,EAAQutB,MAAwB,qBAATA,MAAwBA,OACpCle,GAAMic,oBAAoB2B,GAEnD,IAAK5d,GAAM6W,WAAWkH,GACpB,MAAM,IAAIpyB,UAAU,8BAGtB,SAASwyB,EAAa5wB,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAIyS,GAAMkX,OAAO3pB,GACf,OAAOA,EAAM6wB,cAGf,IAAKH,GAAWje,GAAMoX,OAAO7pB,GAC3B,MAAM,IAAIivB,GAAW,gDAGvB,OAAIxc,GAAM2W,cAAcppB,IAAUyS,GAAMgY,aAAazqB,GAC5C0wB,GAA2B,oBAATC,KAAsB,IAAIA,KAAK,CAAC3wB,IAAU8wB,OAAOlwB,KAAKZ,GAG1EA,EAaT,SAASywB,EAAezwB,EAAOhB,EAAKkH,GAClC,IAAI3F,EAAMP,EAEV,GAAIA,IAAUkG,GAAyB,kBAAVlG,EAC3B,GAAIyS,GAAMjJ,SAASxK,EAAK,MAEtBA,EAAMsxB,EAAatxB,EAAMA,EAAIoC,MAAM,GAAI,GAEvCpB,EAAQsa,KAAKsL,UAAU5lB,QAClB,GACJyS,GAAMhS,QAAQT,IAnGvB,SAAqBO,GACnB,OAAOkS,GAAMhS,QAAQF,KAASA,EAAIwwB,KAAKf,IAkGRgB,CAAYhxB,KACnCyS,GAAMqX,WAAW9pB,IAAUyS,GAAMjJ,SAASxK,EAAK,SAAWuB,EAAMkS,GAAM4a,QAAQrtB,IAYhF,OATAhB,EAAMixB,GAAejxB,GAErBuB,EAAI+B,SAAQ,SAAc2uB,EAAIjnB,IAC1ByI,GAAM0W,YAAY8H,IAAc,OAAPA,GAAgBZ,EAAS9O,QAEtC,IAAZgP,EAAmBL,GAAU,CAAClxB,GAAMgL,EAAOmmB,GAAqB,OAAZI,EAAmBvxB,EAAMA,EAAM,KACnF4xB,EAAaK,QAGV,EAIX,QAAIjB,GAAYhwB,KAIhBqwB,EAAS9O,OAAO2O,GAAUhqB,EAAMlH,EAAKmxB,GAAOS,EAAa5wB,KAElD,GAGT,IAAMwG,EAAQ,GAER0qB,EAAiBpyB,OAAOguB,OAAOsD,GAAY,CAC/CK,eAAAA,EACAG,aAAAA,EACAZ,YAAAA,KAyBF,IAAKvd,GAAM+W,SAAS5rB,GAClB,MAAM,IAAIQ,UAAU,0BAKtB,OA5BA,SAAS+yB,EAAMnxB,EAAOkG,GACpB,IAAIuM,GAAM0W,YAAYnpB,GAAtB,CAEA,IAA8B,IAA1BwG,EAAMH,QAAQrG,GAChB,MAAM0hB,MAAM,kCAAoCxb,EAAKoD,KAAK,MAG5D9C,EAAMvE,KAAKjC,GAEXyS,GAAMnQ,QAAQtC,GAAO,SAAcixB,EAAIjyB,IAKtB,OAJEyT,GAAM0W,YAAY8H,IAAc,OAAPA,IAAgBT,EAAQtwB,KAChEmwB,EAAUY,EAAIxe,GAAM4W,SAASrqB,GAAOA,EAAIua,OAASva,EAAKkH,EAAMgrB,KAI5DC,EAAMF,EAAI/qB,EAAOA,EAAK5B,OAAOtF,GAAO,CAACA,OAIzCwH,EAAM2M,OAORge,CAAMvzB,GAECyyB,GC3MT,SAASe,GAAO3pB,GACd,IAAM4pB,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOC,mBAAmB7pB,GAAKnB,QAAQ,oBAAoB,SAAkB2G,GAC3E,OAAOokB,EAAQpkB,MAYnB,SAASskB,GAAqBC,EAAQpuB,GACpCP,KAAK4uB,OAAS,GAEdD,GAAUE,GAAWF,EAAQ3uB,KAAMO,GAGrC,IAAMpF,GAAYuzB,GAAqBvzB,UAEvCA,GAAUujB,OAAS,SAAgBlgB,EAAMrB,GACvC6C,KAAK4uB,OAAOxvB,KAAK,CAACZ,EAAMrB,KAG1BhC,GAAUmD,SAAW,SAAkBwwB,GACrC,IAAMC,EAAUD,EAAU,SAAS3xB,GACjC,OAAO2xB,EAAQzxB,KAAK2C,KAAM7C,EAAOoxB,KAC/BA,GAEJ,OAAOvuB,KAAK4uB,OAAO7kB,KAAI,SAAc2gB,GACnC,OAAOqE,EAAQrE,EAAK,IAAM,IAAMqE,EAAQrE,EAAK,MAC5C,IAAIjkB,KAAK,MAGd,UC5CA,SAAS8nB,GAAOhY,GACd,OAAOkY,mBAAmBlY,GACxB9S,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KAYN,SAASurB,GAASC,EAAKN,EAAQpuB,GAE5C,IAAKouB,EACH,OAAOM,EAGT,IAIIC,EAJEH,EAAUxuB,GAAWA,EAAQguB,QAAUA,GAEvCY,EAAc5uB,GAAWA,EAAQ6uB,UAYvC,GAPEF,EADEC,EACiBA,EAAYR,EAAQpuB,GAEpBqP,GAAMsX,kBAAkByH,GACzCA,EAAOrwB,WACP,IAAIowB,GAAqBC,EAAQpuB,GAASjC,SAASywB,GAGjC,CACpB,IAAMM,EAAgBJ,EAAIzrB,QAAQ,MAEX,IAAnB6rB,IACFJ,EAAMA,EAAI1wB,MAAM,EAAG8wB,IAErBJ,KAA8B,IAAtBA,EAAIzrB,QAAQ,KAAc,IAAM,KAAO0rB,EAGjD,OAAOD,EC3DyB,IAE5BK,GAAkB,WACtB,SAAAA,IAAcl0B,EAAA,KAAAk0B,GACZtvB,KAAKuvB,SAAW,GA6DjB,OA1DDnzB,EAAAkzB,EAAA,EAAAnzB,IAAA,MAAAgB,MAQA,SAAIqyB,EAAWC,EAAUlvB,GAOvB,OANAP,KAAKuvB,SAASnwB,KAAK,CACjBowB,UAAAA,EACAC,SAAAA,EACAC,cAAanvB,GAAUA,EAAQmvB,YAC/BC,QAASpvB,EAAUA,EAAQovB,QAAU,OAEhC3vB,KAAKuvB,SAAS3zB,OAAS,IAGhC,CAAAO,IAAA,QAAAgB,MAOA,SAAMyyB,GACA5vB,KAAKuvB,SAASK,KAChB5vB,KAAKuvB,SAASK,GAAM,QAIxB,CAAAzzB,IAAA,QAAAgB,MAKA,WACM6C,KAAKuvB,WACPvvB,KAAKuvB,SAAW,MAIpB,CAAApzB,IAAA,UAAAgB,MAUA,SAAQ4oB,GACNnW,GAAMnQ,QAAQO,KAAKuvB,UAAU,SAAwBM,GACzC,OAANA,GACF9J,EAAG8J,UAGRP,EA/DqB,GAkExB,MCpEA,IACEQ,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCgDvB,IACEC,WAAW,EACXC,QAAS,CACPC,gBCrDsC,qBAApBA,gBAAkCA,gBAAkBzB,GDsDtE7F,SEvD+B,qBAAbA,SAA2BA,SAAW,KFwDxDiF,KGxD2B,qBAATA,KAAuBA,KAAO,MH0DlDsC,qBAvC4B,WAC5B,IAAIC,EACJ,OAAyB,qBAAdprB,WACyB,iBAAjCorB,EAAUprB,UAAUorB,UACT,iBAAZA,GACY,OAAZA,KAKuB,qBAAXrrB,QAA8C,qBAAbyf,UAVnB,GAwC5B6L,8BAhB+B,qBAAtBC,mBAEP/zB,gBAAgB+zB,mBACc,oBAAvB/zB,KAAKg0B,cAcdC,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SI6BtD,OA3CA,SAAwBjD,GACtB,SAASkD,EAAUrtB,EAAMlG,EAAO1B,EAAQ0L,GACtC,IAAI3I,EAAO6E,EAAK8D,KACVwpB,EAAere,OAAOkZ,UAAUhtB,GAChCoyB,EAASzpB,GAAS9D,EAAKzH,OAG7B,OAFA4C,GAAQA,GAAQoR,GAAMhS,QAAQnC,GAAUA,EAAOG,OAAS4C,EAEpDoyB,GACEhhB,GAAMkb,WAAWrvB,EAAQ+C,GAC3B/C,EAAO+C,GAAQ,CAAC/C,EAAO+C,GAAOrB,GAE9B1B,EAAO+C,GAAQrB,GAGTwzB,IAGLl1B,EAAO+C,IAAUoR,GAAM+W,SAASlrB,EAAO+C,MAC1C/C,EAAO+C,GAAQ,IAGFkyB,EAAUrtB,EAAMlG,EAAO1B,EAAO+C,GAAO2I,IAEtCyI,GAAMhS,QAAQnC,EAAO+C,MACjC/C,EAAO+C,GA5Cb,SAAuBd,GACrB,IAEI/B,EAEAQ,EAJEpB,EAAM,GACN+D,EAAO7C,OAAO6C,KAAKpB,GAEnBO,EAAMa,EAAKlD,OAEjB,IAAKD,EAAI,EAAGA,EAAIsC,EAAKtC,IAEnBZ,EADAoB,EAAM2C,EAAKnD,IACA+B,EAAIvB,GAEjB,OAAOpB,EAkCY81B,CAAcp1B,EAAO+C,MAG9BmyB,GAGV,GAAI/gB,GAAM+Y,WAAW6E,IAAa5d,GAAM6W,WAAW+G,EAASsD,SAAU,CACpE,IAAM/1B,EAAM,GAMZ,OAJA6U,GAAM6a,aAAa+C,GAAU,SAAChvB,EAAMrB,GAClCuzB,EAvEN,SAAuBlyB,GAKrB,OAAOoR,GAAM+a,SAAS,gBAAiBnsB,GAAMuL,KAAI,SAAAK,GAC/C,MAAoB,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,MAiEtC2mB,CAAcvyB,GAAOrB,EAAOpC,EAAK,MAGtCA,EAGT,OAAO,MCrDT,IAAMi2B,GAAW,CAEfC,aAAcC,GAEdC,QAAS,CAAC,MAAO,QAEjBC,iBAAkB,CAAC,SAA0B/sB,EAAMgtB,GACjD,IAiCIpK,EAjCEqK,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAY9tB,QAAQ,qBAAuB,EAChEiuB,EAAkB7hB,GAAM+W,SAAStiB,GAQvC,GANIotB,GAAmB7hB,GAAMkY,WAAWzjB,KACtCA,EAAO,IAAIwkB,SAASxkB,IAGHuL,GAAM+Y,WAAWtkB,GAGlC,OAAKmtB,GAGEA,EAAqB/Z,KAAKsL,UAAU2O,GAAertB,IAFjDA,EAKX,GAAIuL,GAAM2W,cAAcliB,IACtBuL,GAAM8Y,SAASrkB,IACfuL,GAAMuZ,SAAS9kB,IACfuL,GAAMmX,OAAO1iB,IACbuL,GAAMoX,OAAO3iB,GAEb,OAAOA,EAET,GAAIuL,GAAMkZ,kBAAkBzkB,GAC1B,OAAOA,EAAK4kB,OAEd,GAAIrZ,GAAMsX,kBAAkB7iB,GAE1B,OADAgtB,EAAQM,eAAe,mDAAmD,GACnEttB,EAAK/F,WAKd,GAAImzB,EAAiB,CACnB,GAAIH,EAAY9tB,QAAQ,sCAAwC,EAC9D,OCzEO,SAA0Ba,EAAM9D,GAC7C,OAAOsuB,GAAWxqB,EAAM,IAAIutB,GAAAA,QAAAA,gBAAoC31B,OAAOguB,OAAO,CAC5E0D,QAAS,SAASxwB,EAAOhB,EAAKkH,EAAMwuB,GAClC,OAAID,GAAAA,QAAmBhiB,GAAM8Y,SAASvrB,IACpC6C,KAAK0e,OAAOviB,EAAKgB,EAAMmB,SAAS,YACzB,GAGFuzB,EAAQjE,eAAevuB,MAAMW,KAAMT,aAE3CgB,ID+DUuxB,CAAiBztB,EAAMrE,KAAK+xB,gBAAgBzzB,WAGrD,IAAK2oB,EAAarX,GAAMqX,WAAW5iB,KAAUitB,EAAY9tB,QAAQ,wBAA0B,EAAG,CAC5F,IAAMwuB,EAAYhyB,KAAKiyB,KAAOjyB,KAAKiyB,IAAIpJ,SAEvC,OAAOgG,GACL5H,EAAa,CAAC,UAAW5iB,GAAQA,EACjC2tB,GAAa,IAAIA,EACjBhyB,KAAK+xB,iBAKX,OAAIN,GAAmBD,GACrBH,EAAQM,eAAe,oBAAoB,GA1EjD,SAAyBO,EAAUC,EAAQrD,GACzC,GAAIlf,GAAM4W,SAAS0L,GACjB,IAEE,OADCC,GAAU1a,KAAKxJ,OAAOikB,GAChBtiB,GAAM8G,KAAKwb,GAClB,MAAOnsB,GACP,GAAe,gBAAXA,EAAEvH,KACJ,MAAMuH,EAKZ,OAAQ+oB,GAAWrX,KAAKsL,WAAWmP,GA+DxBE,CAAgB/tB,IAGlBA,IAGTguB,kBAAmB,CAAC,SAA2BhuB,GAC7C,IAAM4sB,EAAejxB,KAAKixB,cAAgBD,GAASC,aAC7ClB,EAAoBkB,GAAgBA,EAAalB,kBACjDuC,EAAsC,SAAtBtyB,KAAKuyB,aAE3B,GAAIluB,GAAQuL,GAAM4W,SAASniB,KAAW0rB,IAAsB/vB,KAAKuyB,cAAiBD,GAAgB,CAChG,IACME,IADoBvB,GAAgBA,EAAanB,oBACPwC,EAEhD,IACE,OAAO7a,KAAKxJ,MAAM5J,GAClB,MAAO0B,GACP,GAAIysB,EAAmB,CACrB,GAAe,gBAAXzsB,EAAEvH,KACJ,MAAM4tB,GAAAA,KAAgBrmB,EAAGqmB,GAAAA,iBAA6BpsB,KAAM,KAAMA,KAAKwsB,UAEzE,MAAMzmB,IAKZ,OAAO1B,IAOTouB,QAAS,EAETC,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBZ,IAAK,CACHpJ,SAAU+I,GAAAA,QAAAA,SACV9D,KAAM8D,GAAAA,QAAAA,MAGRkB,eAAgB,SAAwB/F,GACtC,OAAOA,GAAU,KAAOA,EAAS,KAGnCsE,QAAS,CACP0B,OAAQ,CACN,OAAU,oCACV,oBAAgBvyB,KAKtBoP,GAAMnQ,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,UAAU,SAACuzB,GAChEhC,GAASK,QAAQ2B,GAAU,MAG7B,UExJMC,GAAoBrjB,GAAMob,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtBkI,GAAal4B,OAAO,aAE1B,SAASm4B,GAAgBC,GACvB,OAAOA,GAAU1uB,OAAO0uB,GAAQ1c,OAAO3L,cAGzC,SAASsoB,GAAel2B,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGFyS,GAAMhS,QAAQT,GAASA,EAAM4M,IAAIspB,IAAkB3uB,OAAOvH,GAiBnE,SAASm2B,GAAiB1kB,EAASzR,EAAOi2B,EAAQn0B,EAAQs0B,GACxD,OAAI3jB,GAAM6W,WAAWxnB,GACZA,EAAO5B,KAAK2C,KAAM7C,EAAOi2B,IAG9BG,IACFp2B,EAAQi2B,GAGLxjB,GAAM4W,SAASrpB,GAEhByS,GAAM4W,SAASvnB,IACiB,IAA3B9B,EAAMqG,QAAQvE,GAGnB2Q,GAAMoY,SAAS/oB,GACVA,EAAOR,KAAKtB,QADrB,OANA,GA6BD,IAEKq2B,GAAY,SAAAC,EAAAC,GAChB,SAAAF,EAAYnC,GAASj2B,EAAA,KAAAo4B,GACnBnC,GAAWrxB,KAAKiT,IAAIoe,GA4MrB,OA3MAj1B,EAAAo3B,EAAA,EAAAr3B,IAAA,MAAAgB,MAED,SAAIi2B,EAAQO,EAAgBC,GAC1B,IAAMp3B,EAAOwD,KAEb,SAAS6zB,EAAUC,EAAQC,EAASC,GAClC,IAAMC,EAAUd,GAAgBY,GAEhC,IAAKE,EACH,MAAM,IAAIpV,MAAM,0CAGlB,IAAM1iB,EAAMyT,GAAM0X,QAAQ9qB,EAAMy3B,KAE5B93B,QAAqBqE,IAAdhE,EAAKL,KAAmC,IAAb63B,QAAmCxzB,IAAbwzB,IAAwC,IAAdx3B,EAAKL,MACzFK,EAAKL,GAAO43B,GAAWV,GAAeS,IAI1C,IAAMI,EAAa,SAAC7C,EAAS2C,GAAQ,OACnCpkB,GAAMnQ,QAAQ4xB,GAAS,SAACyC,EAAQC,GAAO,OAAKF,EAAUC,EAAQC,EAASC,OAUzE,OARIpkB,GAAMgX,cAAcwM,IAAWA,aAAkBpzB,KAAK9E,YACxDg5B,EAAWd,EAAQO,GACX/jB,GAAM4W,SAAS4M,KAAYA,EAASA,EAAO1c,UArEtB,iCAAiCjY,KAqEmB20B,EArEV1c,QAsEvEwd,ED1EN,SAAeC,GACb,IACIh4B,EACAoa,EACA5a,EAHEy4B,EAAS,GAyBf,OApBAD,GAAcA,EAAWlyB,MAAM,MAAMxC,SAAQ,SAAgB40B,GAC3D14B,EAAI04B,EAAK7wB,QAAQ,KACjBrH,EAAMk4B,EAAKnqB,UAAU,EAAGvO,GAAG+a,OAAO3L,cAClCwL,EAAM8d,EAAKnqB,UAAUvO,EAAI,GAAG+a,QAEvBva,GAAQi4B,EAAOj4B,IAAQ82B,GAAkB92B,KAIlC,eAARA,EACEi4B,EAAOj4B,GACTi4B,EAAOj4B,GAAKiD,KAAKmX,GAEjB6d,EAAOj4B,GAAO,CAACoa,GAGjB6d,EAAOj4B,GAAOi4B,EAAOj4B,GAAOi4B,EAAOj4B,GAAO,KAAOoa,EAAMA,MAIpD6d,ECgDQE,CAAalB,GAASO,GAEvB,MAAVP,GAAkBS,EAAUF,EAAgBP,EAAQQ,GAG/C5zB,OACR,CAAA7D,IAAA,MAAAgB,MAED,SAAIi2B,EAAQjB,GAGV,GAFAiB,EAASD,GAAgBC,GAEb,CACV,IAAMj3B,EAAMyT,GAAM0X,QAAQtnB,KAAMozB,GAEhC,GAAIj3B,EAAK,CACP,IAAMgB,EAAQ6C,KAAK7D,GAEnB,IAAKg2B,EACH,OAAOh1B,EAGT,IAAe,IAAXg1B,EACF,OAxGV,SAAqBvtB,GAKnB,IAJA,IAEIwF,EAFEmqB,EAASt4B,OAAOiB,OAAO,MACvBs3B,EAAW,mCAGTpqB,EAAQoqB,EAASxd,KAAKpS,IAC5B2vB,EAAOnqB,EAAM,IAAMA,EAAM,GAG3B,OAAOmqB,EA+FQE,CAAYt3B,GAGrB,GAAIyS,GAAM6W,WAAW0L,GACnB,OAAOA,EAAO90B,KAAK2C,KAAM7C,EAAOhB,GAGlC,GAAIyT,GAAMoY,SAASmK,GACjB,OAAOA,EAAOnb,KAAK7Z,GAGrB,MAAM,IAAI5B,UAAU,8CAGzB,CAAAY,IAAA,MAAAgB,MAED,SAAIi2B,EAAQsB,GAGV,GAFAtB,EAASD,GAAgBC,GAEb,CACV,IAAMj3B,EAAMyT,GAAM0X,QAAQtnB,KAAMozB,GAEhC,SAAUj3B,QAAqBqE,IAAdR,KAAK7D,IAAwBu4B,IAAWpB,GAAiBtzB,EAAMA,KAAK7D,GAAMA,EAAKu4B,IAGlG,OAAO,IACR,CAAAv4B,IAAA,SAAAgB,MAED,SAAOi2B,EAAQsB,GACb,IAAMl4B,EAAOwD,KACT20B,GAAU,EAEd,SAASC,EAAab,GAGpB,GAFAA,EAAUZ,GAAgBY,GAEb,CACX,IAAM53B,EAAMyT,GAAM0X,QAAQ9qB,EAAMu3B,IAE5B53B,GAASu4B,IAAWpB,GAAiB92B,EAAMA,EAAKL,GAAMA,EAAKu4B,YACtDl4B,EAAKL,GAEZw4B,GAAU,IAWhB,OANI/kB,GAAMhS,QAAQw1B,GAChBA,EAAO3zB,QAAQm1B,GAEfA,EAAaxB,GAGRuB,IACR,CAAAx4B,IAAA,QAAAgB,MAED,SAAMu3B,GAKJ,IAJA,IAAM51B,EAAO7C,OAAO6C,KAAKkB,MACrBrE,EAAImD,EAAKlD,OACT+4B,GAAU,EAEPh5B,KAAK,CACV,IAAMQ,EAAM2C,EAAKnD,GACb+4B,IAAWpB,GAAiBtzB,EAAMA,KAAK7D,GAAMA,EAAKu4B,GAAS,YACtD10B,KAAK7D,GACZw4B,GAAU,GAId,OAAOA,IACR,CAAAx4B,IAAA,YAAAgB,MAED,SAAU4X,GACR,IAAMvY,EAAOwD,KACPqxB,EAAU,GAsBhB,OApBAzhB,GAAMnQ,QAAQO,MAAM,SAAC7C,EAAOi2B,GAC1B,IAAMj3B,EAAMyT,GAAM0X,QAAQ+J,EAAS+B,GAEnC,GAAIj3B,EAGF,OAFAK,EAAKL,GAAOk3B,GAAel2B,eACpBX,EAAK42B,GAId,IAAMyB,EAAa9f,EA1JzB,SAAsBqe,GACpB,OAAOA,EAAO1c,OACX3L,cAActH,QAAQ,mBAAmB,SAACqxB,EAAGC,EAAMnwB,GAClD,OAAOmwB,EAAKjkB,cAAgBlM,KAuJAowB,CAAa5B,GAAU1uB,OAAO0uB,GAAQ1c,OAE9Dme,IAAezB,UACV52B,EAAK42B,GAGd52B,EAAKq4B,GAAcxB,GAAel2B,GAElCk0B,EAAQwD,IAAc,KAGjB70B,OACR,CAAA7D,IAAA,SAAAgB,MAED,WAAmB,QAAA83B,EAAAn0B,EAAAvB,UAAA3D,OAATs5B,EAAO,IAAAv3B,MAAAmD,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAPm0B,EAAOn0B,GAAAxB,UAAAwB,GACf,OAAOk0B,EAAAj1B,KAAK9E,aAAYuG,OAAMpC,MAAA41B,EAAA,CAACj1B,MAAIyB,OAAKyzB,MACzC,CAAA/4B,IAAA,SAAAgB,MAED,SAAOg4B,GACL,IAAMp6B,EAAMkB,OAAOiB,OAAO,MAM1B,OAJA0S,GAAMnQ,QAAQO,MAAM,SAAC7C,EAAOi2B,GACjB,MAATj2B,IAA2B,IAAVA,IAAoBpC,EAAIq4B,GAAU+B,GAAavlB,GAAMhS,QAAQT,GAASA,EAAMsJ,KAAK,MAAQtJ,MAGrGpC,IACR,CAAAoB,IAEAnB,OAAOC,SAFPkC,MAED,WACE,OAAOlB,OAAO60B,QAAQ9wB,KAAK0sB,UAAU1xB,OAAOC,cAC7C,CAAAkB,IAAA,WAAAgB,MAED,WACE,OAAOlB,OAAO60B,QAAQ9wB,KAAK0sB,UAAU3iB,KAAI,SAAAod,GAAA,IAAAkC,EAAA+L,GAAAjO,EAAA,GAAe,OAAPkC,EAAA,GAAsB,KAAfA,EAAA,MAA6B5iB,KAAK,QAC3F,CAAAtK,IAEInB,OAAO6rB,YAFX1K,IAED,WACE,MAAO,kBACR,EAAAhgB,IAAA,OAAAgB,MAED,SAAYgpB,GACV,OAAOA,aAAiBnmB,KAAOmmB,EAAQ,IAAInmB,KAAKmmB,KACjD,CAAAhqB,IAAA,SAAAgB,MAED,SAAck4B,GACqB,IAAjC,IAAMC,EAAW,IAAIt1B,KAAKq1B,GAAOp0B,EAAA1B,UAAA3D,OADXs5B,EAAO,IAAAv3B,MAAAsD,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAPg0B,EAAOh0B,EAAA,GAAA3B,UAAA2B,GAK7B,OAFAg0B,EAAQz1B,SAAQ,SAAChE,GAAM,OAAK65B,EAASriB,IAAIxX,MAElC65B,IACR,CAAAn5B,IAAA,WAAAgB,MAED,SAAgBi2B,GACd,IAIMmC,GAJYv1B,KAAKkzB,IAAelzB,KAAKkzB,IAAc,CACvDqC,UAAW,KAGeA,UACtBp6B,EAAY6E,KAAK7E,UAEvB,SAASq6B,EAAezB,GACtB,IAAME,EAAUd,GAAgBY,GAE3BwB,EAAUtB,MAlNrB,SAAwBl5B,EAAKq4B,GAC3B,IAAMqC,EAAe7lB,GAAMwb,YAAY,IAAMgI,GAE7C,CAAC,MAAO,MAAO,OAAO3zB,SAAQ,SAAAi2B,GAC5Bz5B,OAAOC,eAAenB,EAAK26B,EAAaD,EAAc,CACpDt4B,MAAO,SAASw4B,EAAMC,EAAMC,GAC1B,OAAO71B,KAAK01B,GAAYr4B,KAAK2C,KAAMozB,EAAQuC,EAAMC,EAAMC,IAEzD95B,cAAc,OA2MZ+5B,CAAe36B,EAAW44B,GAC1BwB,EAAUtB,IAAW,GAMzB,OAFArkB,GAAMhS,QAAQw1B,GAAUA,EAAO3zB,QAAQ+1B,GAAkBA,EAAepC,GAEjEpzB,SACRwzB,EA9Me,GAiNlBA,GAAauC,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAGpGnmB,GAAMqY,kBAAkBuL,GAAar4B,WAAW,SAAAwuB,EAAUxtB,GAAQ,IAAhBgB,EAAKwsB,EAALxsB,MAC5C64B,EAAS75B,EAAI,GAAG2U,cAAgB3U,EAAIoC,MAAM,GAC9C,MAAO,CACL4d,IAAK,kBAAMhf,GACX8V,IAAG,SAACgjB,GACFj2B,KAAKg2B,GAAUC,OAKrBrmB,GAAMmb,cAAcyI,IAEpB,UC3Re,SAAS0C,GAAcC,EAAK3J,GACzC,IAAMF,EAAStsB,MAAQgxB,GACjBpiB,EAAU4d,GAAYF,EACtB+E,EAAUmC,GAAAA,KAAkB5kB,EAAQyiB,SACtChtB,EAAOuK,EAAQvK,KAQnB,OANAuL,GAAMnQ,QAAQ02B,GAAK,SAAmBpQ,GACpC1hB,EAAO0hB,EAAG1oB,KAAKivB,EAAQjoB,EAAMgtB,EAAQ+E,YAAa5J,EAAWA,EAASO,YAASvsB,MAGjF6wB,EAAQ+E,YAED/xB,ECxBM,SAASgyB,GAASl5B,GAC/B,SAAUA,IAASA,EAAMm5B,YCW3B,SAASC,GAAclK,EAASC,EAAQC,GAEtCH,GAAAA,KAAgBpsB,KAAiB,MAAXqsB,EAAkB,WAAaA,EAASD,GAAAA,aAAyBE,EAAQC,GAC/FvsB,KAAKxB,KAAO,gBAGdoR,GAAMma,SAASwM,GAAenK,GAAY,CACxCkK,YAAY,IAGd,UCnBA,OAAe1E,GAAAA,qBAIJ,CACL4E,MAAO,SAAeh4B,EAAMrB,EAAOs5B,EAASpzB,EAAMqzB,EAAQC,GACxD,IAAMC,EAAS,GACfA,EAAOx3B,KAAKZ,EAAO,IAAMiwB,mBAAmBtxB,IAExCyS,GAAM8W,SAAS+P,IACjBG,EAAOx3B,KAAK,WAAa,IAAIy3B,KAAKJ,GAASK,eAGzClnB,GAAM4W,SAASnjB,IACjBuzB,EAAOx3B,KAAK,QAAUiE,GAGpBuM,GAAM4W,SAASkQ,IACjBE,EAAOx3B,KAAK,UAAYs3B,IAGX,IAAXC,GACFC,EAAOx3B,KAAK,UAGdqlB,SAASmS,OAASA,EAAOnwB,KAAK,OAGhCmV,KAAM,SAAcpd,GAClB,IAAM4L,EAAQqa,SAASmS,OAAOxsB,MAAM,IAAIN,OAAO,aAAetL,EAAO,cACrE,OAAQ4L,EAAQ2sB,mBAAmB3sB,EAAM,IAAM,MAGjDkR,OAAQ,SAAgB9c,GACtBwB,KAAKw2B,MAAMh4B,EAAM,GAAIq4B,KAAKG,MAAQ,SAO/B,CACLR,MAAO,aACP5a,KAAM,WAAkB,OAAO,MAC/BN,OAAQ,cClCC,SAAS2b,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8Bz4B,KDGP04B,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQzzB,QAAQ,OAAQ,IAAM,IAAM2zB,EAAY3zB,QAAQ,OAAQ,IAChEyzB,EFIKG,CAAYH,EAASC,GAEvBA,EGdT,OAAevF,GAAAA,qBAIZ,WACC,IAEI0F,EAFEC,EAAO,kBAAkB94B,KAAKwG,UAAUC,WACxCsyB,EAAiB/S,SAASC,cAAc,KAS9C,SAAS+S,EAAWxI,GAClB,IAAIyI,EAAOzI,EAWX,OATIsI,IAEFC,EAAeG,aAAa,OAAQD,GACpCA,EAAOF,EAAeE,MAGxBF,EAAeG,aAAa,OAAQD,GAG7B,CACLA,KAAMF,EAAeE,KACrBE,SAAUJ,EAAeI,SAAWJ,EAAeI,SAASn0B,QAAQ,KAAM,IAAM,GAChFo0B,KAAML,EAAeK,KACrBC,OAAQN,EAAeM,OAASN,EAAeM,OAAOr0B,QAAQ,MAAO,IAAM,GAC3Es0B,KAAMP,EAAeO,KAAOP,EAAeO,KAAKt0B,QAAQ,KAAM,IAAM,GACpEu0B,SAAUR,EAAeQ,SACzBC,KAAMT,EAAeS,KACrBC,SAAiD,MAAtCV,EAAeU,SAASrnB,OAAO,GACxC2mB,EAAeU,SACf,IAAMV,EAAeU,UAY3B,OARAZ,EAAYG,EAAWzyB,OAAOmzB,SAAST,MAQhC,SAAyBU,GAC9B,IAAMhE,EAAUxkB,GAAM4W,SAAS4R,GAAeX,EAAWW,GAAcA,EACvE,OAAQhE,EAAOwD,WAAaN,EAAUM,UAClCxD,EAAOyD,OAASP,EAAUO,MAhDjC,GAsDQ,WACL,OAAO,GCVb,OA9CA,SAAqBQ,EAAcC,GACjCD,EAAeA,GAAgB,GAC/B,IAIIE,EAJEC,EAAQ,IAAI76B,MAAM06B,GAClBI,EAAa,IAAI96B,MAAM06B,GACzBK,EAAO,EACPC,EAAO,EAKX,OAFAL,OAAc93B,IAAR83B,EAAoBA,EAAM,IAEzB,SAAcM,GACnB,IAAM5B,EAAMH,KAAKG,MAEX6B,EAAYJ,EAAWE,GAExBJ,IACHA,EAAgBvB,GAGlBwB,EAAME,GAAQE,EACdH,EAAWC,GAAQ1B,EAKnB,IAHA,IAAIr7B,EAAIg9B,EACJG,EAAa,EAEVn9B,IAAM+8B,GACXI,GAAcN,EAAM78B,KACpBA,GAAQ08B,EASV,IANAK,GAAQA,EAAO,GAAKL,KAEPM,IACXA,GAAQA,EAAO,GAAKN,KAGlBrB,EAAMuB,EAAgBD,GAA1B,CAIA,IAAMS,EAASF,GAAa7B,EAAM6B,EAElC,OAAOE,EAASxkB,KAAKykB,MAAmB,IAAbF,EAAoBC,QAAUv4B,KClC7D,SAASy4B,GAAqBl3B,EAAUm3B,GACtC,IAAIC,EAAgB,EACdC,EAAeC,GAAY,GAAI,KAErC,OAAO,SAAAtzB,GACL,IAAM+U,EAAS/U,EAAE+U,OACXwe,EAAQvzB,EAAEwzB,iBAAmBxzB,EAAEuzB,WAAQ94B,EACvCg5B,EAAgB1e,EAASqe,EACzBM,EAAOL,EAAaI,GAG1BL,EAAgBre,EAEhB,IAAMzW,EAAO,CACXyW,OAAAA,EACAwe,MAAAA,EACAI,SAAUJ,EAASxe,EAASwe,OAAS94B,EACrCg4B,MAAOgB,EACPC,KAAMA,QAAcj5B,EACpBm5B,UAAWF,GAAQH,GAVLxe,GAAUwe,GAUeA,EAAQxe,GAAU2e,OAAOj5B,EAChE0B,MAAO6D,GAGT1B,EAAK60B,EAAmB,WAAa,WAAY,EAEjDn3B,EAASsC,IAIb,IAEA,GAFwD,qBAAnBu1B,gBAEG,SAAUtN,GAChD,OAAO,IAAI3pB,SAAQ,SAA4BC,EAASC,GACtD,IAGIg3B,EAWAvI,EAdAwI,EAAcxN,EAAOjoB,KACnB01B,EAAiBvG,GAAAA,KAAkBlH,EAAO+E,SAAS+E,YACnD7D,EAAejG,EAAOiG,aAE5B,SAAShX,IACH+Q,EAAO0N,aACT1N,EAAO0N,YAAYC,YAAYJ,GAG7BvN,EAAO4N,QACT5N,EAAO4N,OAAOC,oBAAoB,QAASN,GAM3CjqB,GAAM+Y,WAAWmR,KACflI,GAAAA,sBAAiCA,GAAAA,8BACnCmI,EAAepI,gBAAe,GACrBoI,EAAexI,eAAe,4BAE/B3hB,GAAM4W,SAAS8K,EAAcyI,EAAexI,mBAEpDwI,EAAepI,eAAeL,EAAY7tB,QAAQ,+BAAgC,OAHlFs2B,EAAepI,eAAe,wBAOlC,IAAIpF,EAAU,IAAIqN,eAGlB,GAAItN,EAAO8N,KAAM,CACf,IAAMC,EAAW/N,EAAO8N,KAAKC,UAAY,GACnCC,EAAWhO,EAAO8N,KAAKE,SAAWC,SAAS9L,mBAAmBnC,EAAO8N,KAAKE,WAAa,GAC7FP,EAAe9mB,IAAI,gBAAiB,SAAWunB,KAAKH,EAAW,IAAMC,IAGvE,IAAMG,EAAWxD,GAAc3K,EAAO4K,QAAS5K,EAAO2C,KAOtD,SAASyL,IACP,GAAKnO,EAAL,CAIA,IAAMoO,EAAkBnH,GAAAA,KACtB,0BAA2BjH,GAAWA,EAAQqO,0BCrFvC,SAAgBh4B,EAASC,EAAQ2pB,GAC9C,IAAMsG,EAAiBtG,EAASF,OAAOwG,eAClCtG,EAASO,QAAW+F,IAAkBA,EAAetG,EAASO,QAGjElqB,EAAO,IAAIupB,GACT,mCAAqCI,EAASO,OAC9C,CAACX,GAAAA,gBAA4BA,GAAAA,kBAA6B7X,KAAKsmB,MAAMrO,EAASO,OAAS,KAAO,GAC9FP,EAASF,OACTE,EAASD,QACTC,IAPF5pB,EAAQ4pB,GD+FNsO,EAAO,SAAkB39B,GACvByF,EAAQzF,GACRoe,OACC,SAAiBP,GAClBnY,EAAOmY,GACPO,MAde,CACflX,KAHoBkuB,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxChG,EAAQC,SAA/BD,EAAQwO,aAGRhO,OAAQR,EAAQQ,OAChBiO,WAAYzO,EAAQyO,WACpB3J,QAASsJ,EACTrO,OAAAA,EACAC,QAAAA,IAYFA,EAAU,MAoEZ,GArGAA,EAAQ0O,KAAK3O,EAAO0G,OAAOliB,cAAeke,GAASyL,EAAUnO,EAAOqC,OAAQrC,EAAO4O,mBAAmB,GAGtG3O,EAAQkG,QAAUnG,EAAOmG,QAiCrB,cAAelG,EAEjBA,EAAQmO,UAAYA,EAGpBnO,EAAQ4O,mBAAqB,WACtB5O,GAAkC,IAAvBA,EAAQ6O,aAQD,IAAnB7O,EAAQQ,QAAkBR,EAAQ8O,aAAwD,IAAzC9O,EAAQ8O,YAAY73B,QAAQ,WAKjFmY,WAAW+e,IAKfnO,EAAQ+O,QAAU,WACX/O,IAIL1pB,EAAO,IAAIupB,GAAW,kBAAmBA,GAAAA,aAAyBE,EAAQC,IAG1EA,EAAU,OAIZA,EAAQgP,QAAU,WAGhB14B,EAAO,IAAIupB,GAAW,gBAAiBA,GAAAA,YAAwBE,EAAQC,IAGvEA,EAAU,MAIZA,EAAQiP,UAAY,WAClB,IAAIC,EAAsBnP,EAAOmG,QAAU,cAAgBnG,EAAOmG,QAAU,cAAgB,mBACtFxB,EAAe3E,EAAO2E,cAAgBC,GACxC5E,EAAOmP,sBACTA,EAAsBnP,EAAOmP,qBAE/B54B,EAAO,IAAIupB,GACTqP,EACAxK,EAAajB,oBAAsB5D,GAAAA,UAAuBA,GAAAA,aAC1DE,EACAC,IAGFA,EAAU,MAMRqF,GAAAA,qBAA+B,CAGjC,IAAM8J,EAAYC,GAAgBlB,IAAanO,EAAOoG,gBAAkBkJ,GAAQhgB,KAAK0Q,EAAOoG,gBAExFgJ,GACF3B,EAAe9mB,IAAIqZ,EAAOqG,eAAgB+I,QAK9Bl7B,IAAhBs5B,GAA6BC,EAAepI,eAAe,MAGvD,qBAAsBpF,GACxB3c,GAAMnQ,QAAQs6B,EAAerN,UAAU,SAA0BnW,EAAKpa,GACpEowB,EAAQsP,iBAAiB1/B,EAAKoa,MAK7B3G,GAAM0W,YAAYgG,EAAOwP,mBAC5BvP,EAAQuP,kBAAoBxP,EAAOwP,iBAIjCvJ,GAAiC,SAAjBA,IAClBhG,EAAQgG,aAAejG,EAAOiG,cAIS,oBAA9BjG,EAAOyP,oBAChBxP,EAAQyP,iBAAiB,WAAY/C,GAAqB3M,EAAOyP,oBAAoB,IAIhD,oBAA5BzP,EAAO2P,kBAAmC1P,EAAQ2P,QAC3D3P,EAAQ2P,OAAOF,iBAAiB,WAAY/C,GAAqB3M,EAAO2P,oBAGtE3P,EAAO0N,aAAe1N,EAAO4N,UAG/BL,EAAa,SAAAsC,GACN5P,IAGL1pB,GAAQs5B,GAAUA,EAAOt8B,KAAO,IAAI02B,GAAc,KAAMjK,EAAQC,GAAW4P,GAC3E5P,EAAQ6P,QACR7P,EAAU,OAGZD,EAAO0N,aAAe1N,EAAO0N,YAAYqC,UAAUxC,GAC/CvN,EAAO4N,SACT5N,EAAO4N,OAAOoC,QAAUzC,IAAevN,EAAO4N,OAAO8B,iBAAiB,QAASnC,KAInF,IAAMjC,EEpPK,SAAuB3I,GACpC,IAAM7kB,EAAQ,4BAA4B4M,KAAKiY,GAC/C,OAAO7kB,GAASA,EAAM,IAAM,GFkPTmyB,CAAc9B,GAE3B7C,IAAsD,IAA1ChG,GAAAA,UAAAA,QAA2BgG,GACzC/0B,EAAO,IAAIupB,GAAW,wBAA0BwL,EAAW,IAAKxL,GAAAA,gBAA4BE,IAM9FC,EAAQlf,KAAKysB,GAAe,UG1P1B0C,GAAgB,CACpBC,KCLF,KDMEC,IAAKC,IAGP/sB,GAAMnQ,QAAQ+8B,IAAe,SAACzW,EAAI5oB,GAChC,GAAI4oB,EAAI,CACN,IACE9pB,OAAOC,eAAe6pB,EAAI,OAAQ,CAAC5oB,MAAAA,IACnC,MAAO4I,IAGT9J,OAAOC,eAAe6pB,EAAI,cAAe,CAAC5oB,MAAAA,QAI9C,IAAMy/B,GAAe,SAACC,GAAM,WAAAp7B,OAAUo7B,IAEhCC,GAAmB,SAAC3L,GAAO,OAAKvhB,GAAM6W,WAAW0K,IAAwB,OAAZA,IAAgC,IAAZA,GAEvF,GACc,SAAC4L,GASX,IANA,IACIC,EACA7L,EAFGv1B,GAFPmhC,EAAWntB,GAAMhS,QAAQm/B,GAAYA,EAAW,CAACA,IAE1CnhC,OAIDqhC,EAAkB,GAEfthC,EAAI,EAAGA,EAAIC,EAAQD,IAAK,CAE/B,IAAIi0B,OAAE,EAIN,GAFAuB,EAHA6L,EAAgBD,EAASphC,IAKpBmhC,GAAiBE,SAGJx8B,KAFhB2wB,EAAUqL,IAAe5M,EAAKlrB,OAAOs4B,IAAgBjyB,gBAGnD,MAAM,IAAIqhB,GAAW,oBAAD3qB,OAAqBmuB,EAAE,MAI/C,GAAIuB,EACF,MAGF8L,EAAgBrN,GAAM,IAAMj0B,GAAKw1B,EAGnC,IAAKA,EAAS,CAEZ,IAAM+L,EAAUjhC,OAAO60B,QAAQmM,GAC5BlzB,KAAI,SAAAod,GAAA,IAAAkC,EAAA+L,GAAAjO,EAAA,GAAEyI,EAAEvG,EAAA,GAAEjP,EAAKiP,EAAA,SAAM,WAAA5nB,OAAWmuB,EAAE,OACtB,IAAVxV,EAAkB,sCAAwC,oCAG3DnX,EAAIrH,EACLshC,EAAQthC,OAAS,EAAI,YAAcshC,EAAQnzB,IAAI6yB,IAAcn2B,KAAK,MAAQ,IAAMm2B,GAAaM,EAAQ,IACtG,0BAEF,MAAM,IAAI9Q,GACR,wDAA0DnpB,EAC1D,mBAIJ,OAAOkuB,GEzDX,SAASgM,GAA6B7Q,GAKpC,GAJIA,EAAO0N,aACT1N,EAAO0N,YAAYoD,mBAGjB9Q,EAAO4N,QAAU5N,EAAO4N,OAAOoC,QACjC,MAAM,IAAI/F,GAAc,KAAMjK,GAWnB,SAAS+Q,GAAgB/Q,GAiBtC,OAhBA6Q,GAA6B7Q,GAE7BA,EAAO+E,QAAUmC,GAAAA,KAAkBlH,EAAO+E,SAG1C/E,EAAOjoB,KAAO6xB,GAAc74B,KAC1BivB,EACAA,EAAO8E,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAAS5tB,QAAQ8oB,EAAO0G,SAC1C1G,EAAO+E,QAAQM,eAAe,qCAAqC,GAGrDoL,GAAoBzQ,EAAO6E,SAAWH,GAAAA,QAE/CG,CAAQ7E,GAAQJ,MAAK,SAA6BM,GAYvD,OAXA2Q,GAA6B7Q,GAG7BE,EAASnoB,KAAO6xB,GAAc74B,KAC5BivB,EACAA,EAAO+F,kBACP7F,GAGFA,EAAS6E,QAAUmC,GAAAA,KAAkBhH,EAAS6E,SAEvC7E,KACN,SAA4BqQ,GAe7B,OAdKxG,GAASwG,KACZM,GAA6B7Q,GAGzBuQ,GAAUA,EAAOrQ,WACnBqQ,EAAOrQ,SAASnoB,KAAO6xB,GAAc74B,KACnCivB,EACAA,EAAO+F,kBACPwK,EAAOrQ,UAETqQ,EAAOrQ,SAAS6E,QAAUmC,GAAAA,KAAkBqJ,EAAOrQ,SAAS6E,WAIzD1uB,QAAQE,OAAOg6B,MCzE1B,IAAMS,GAAkB,SAACnX,GAAK,OAAKA,aAAiBqN,GAAerN,EAAMuG,SAAWvG,GAWrE,SAASoX,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,GACrB,IAAMnR,EAAS,GAEf,SAASoR,EAAejiC,EAAQ+D,EAAQ8pB,GACtC,OAAI1Z,GAAMgX,cAAcnrB,IAAWmU,GAAMgX,cAAcpnB,GAC9CoQ,GAAMqU,MAAM5mB,KAAK,CAACisB,SAAAA,GAAW7tB,EAAQ+D,GACnCoQ,GAAMgX,cAAcpnB,GACtBoQ,GAAMqU,MAAM,GAAIzkB,GACdoQ,GAAMhS,QAAQ4B,GAChBA,EAAOjB,QAETiB,EAIT,SAASm+B,EAAoB36B,EAAG0mB,EAAGJ,GACjC,OAAK1Z,GAAM0W,YAAYoD,GAEX9Z,GAAM0W,YAAYtjB,QAAvB,EACE06B,OAAel9B,EAAWwC,EAAGsmB,GAF7BoU,EAAe16B,EAAG0mB,EAAGJ,GAOhC,SAASsU,EAAiB56B,EAAG0mB,GAC3B,IAAK9Z,GAAM0W,YAAYoD,GACrB,OAAOgU,OAAel9B,EAAWkpB,GAKrC,SAASmU,EAAiB76B,EAAG0mB,GAC3B,OAAK9Z,GAAM0W,YAAYoD,GAEX9Z,GAAM0W,YAAYtjB,QAAvB,EACE06B,OAAel9B,EAAWwC,GAF1B06B,OAAel9B,EAAWkpB,GAOrC,SAASoU,EAAgB96B,EAAG0mB,EAAGjlB,GAC7B,OAAIA,KAAQg5B,EACHC,EAAe16B,EAAG0mB,GAChBjlB,KAAQ+4B,EACVE,OAAel9B,EAAWwC,QAD5B,EAKT,IAAM+6B,EAAW,CACf9O,IAAK2O,EACL5K,OAAQ4K,EACRv5B,KAAMu5B,EACN1G,QAAS2G,EACTzM,iBAAkByM,EAClBxL,kBAAmBwL,EACnB3C,iBAAkB2C,EAClBpL,QAASoL,EACTG,eAAgBH,EAChB/B,gBAAiB+B,EACjB1M,QAAS0M,EACTtL,aAAcsL,EACdnL,eAAgBmL,EAChBlL,eAAgBkL,EAChB5B,iBAAkB4B,EAClB9B,mBAAoB8B,EACpBI,WAAYJ,EACZjL,iBAAkBiL,EAClBhL,cAAegL,EACfK,eAAgBL,EAChBM,UAAWN,EACXO,UAAWP,EACXQ,WAAYR,EACZ7D,YAAa6D,EACbS,WAAYT,EACZU,iBAAkBV,EAClB/K,eAAgBgL,EAChBzM,QAAS,SAACruB,EAAG0mB,GAAC,OAAKiU,EAAoBL,GAAgBt6B,GAAIs6B,GAAgB5T,IAAI,KASjF,OANA9Z,GAAMnQ,QAAQxD,OAAO6C,KAAK7C,OAAOguB,OAAO,GAAIuT,EAASC,KAAW,SAA4Bh5B,GAC1F,IAAMwf,EAAQ8Z,EAASt5B,IAASk5B,EAC1Ba,EAAcva,EAAMuZ,EAAQ/4B,GAAOg5B,EAAQh5B,GAAOA,GACvDmL,GAAM0W,YAAYkY,IAAgBva,IAAU6Z,IAAqBxR,EAAO7nB,GAAQ+5B,MAG5ElS,ECvGF,IAAMmS,GAAU,QCKjBC,GAAa,GAGnB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUj/B,SAAQ,SAACI,EAAMlE,GAC7E+iC,GAAW7+B,GAAQ,SAAmBsmB,GACpC,cAAcA,IAAUtmB,GAAQ,KAAOlE,EAAI,EAAI,KAAO,KAAOkE,MAIjE,IAAM8+B,GAAqB,GAW3BD,GAAWzN,aAAe,SAAsB2N,EAAWC,EAASxS,GAClE,SAASyS,EAAcvmB,EAAKwmB,GAC1B,MAAO,uCAAoDxmB,EAAM,IAAOwmB,GAAQ1S,EAAU,KAAOA,EAAU,IAI7G,OAAO,SAAClvB,EAAOob,EAAKoH,GAClB,IAAkB,IAAdif,EACF,MAAM,IAAIxS,GACR0S,EAAcvmB,EAAK,qBAAuBsmB,EAAU,OAASA,EAAU,KACvEzS,GAAAA,gBAeJ,OAXIyS,IAAYF,GAAmBpmB,KACjComB,GAAmBpmB,IAAO,EAE1BnY,QAAQF,KACN4+B,EACEvmB,EACA,+BAAiCsmB,EAAU,8CAK1CD,GAAYA,EAAUzhC,EAAOob,EAAKoH,KAqC7C,QACEqf,cAxBF,SAAuBz+B,EAAS0+B,EAAQC,GACtC,GAAuB,kBAAZ3+B,EACT,MAAM,IAAI6rB,GAAW,4BAA6BA,GAAAA,sBAIpD,IAFA,IAAMttB,EAAO7C,OAAO6C,KAAKyB,GACrB5E,EAAImD,EAAKlD,OACND,KAAM,GAAG,CACd,IAAM4c,EAAMzZ,EAAKnD,GACXijC,EAAYK,EAAO1mB,GACzB,GAAIqmB,EAAJ,CACE,IAAMzhC,EAAQoD,EAAQgY,GAChBtS,OAAmBzF,IAAVrD,GAAuByhC,EAAUzhC,EAAOob,EAAKhY,GAC5D,IAAe,IAAX0F,EACF,MAAM,IAAImmB,GAAW,UAAY7T,EAAM,YAActS,EAAQmmB,GAAAA,2BAIjE,IAAqB,IAAjB8S,EACF,MAAM,IAAI9S,GAAW,kBAAoB7T,EAAK6T,GAAAA,kBAOlDsS,WAAAA,IC9EIA,GAAaE,GAAUF,WASvBS,GAAK,WACT,SAAAA,EAAYC,GAAgBhkC,EAAA,KAAA+jC,GAC1Bn/B,KAAKgxB,SAAWoO,EAChBp/B,KAAKq/B,aAAe,CAClB9S,QAAS,IAAI+C,GACb9C,SAAU,IAAI8C,IA2IjB,OAvIDlzB,EAAA+iC,EAAA,EAAAhjC,IAAA,UAAAgB,MAQA,SAAQmiC,EAAahT,GAGQ,kBAAhBgT,GACThT,EAASA,GAAU,IACZ2C,IAAMqQ,EAEbhT,EAASgT,GAAe,GAK1B,IAAAC,EAFAjT,EAASiR,GAAYv9B,KAAKgxB,SAAU1E,GAE7B2E,EAAYsO,EAAZtO,aAAciK,EAAgBqE,EAAhBrE,iBAAkB7J,EAAOkO,EAAPlO,aAElB7wB,IAAjBywB,GACF2N,GAAUI,cAAc/N,EAAc,CACpCnB,kBAAmB4O,GAAWzN,aAAayN,GAAWc,SACtDzP,kBAAmB2O,GAAWzN,aAAayN,GAAWc,SACtDxP,oBAAqB0O,GAAWzN,aAAayN,GAAWc,WACvD,GAGmB,MAApBtE,IACEtrB,GAAM6W,WAAWyU,GACnB5O,EAAO4O,iBAAmB,CACxB9L,UAAW8L,GAGb0D,GAAUI,cAAc9D,EAAkB,CACxC3M,OAAQmQ,GAAWe,SACnBrQ,UAAWsP,GAAWe,WACrB,IAKPnT,EAAO0G,QAAU1G,EAAO0G,QAAUhzB,KAAKgxB,SAASgC,QAAU,OAAOjoB,cAGjE,IAAI20B,EAAiBrO,GAAWzhB,GAAMqU,MACpCoN,EAAQ0B,OACR1B,EAAQ/E,EAAO0G,SAGjB3B,GAAWzhB,GAAMnQ,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAACuzB,UACQ3B,EAAQ2B,MAInB1G,EAAO+E,QAAUmC,GAAAA,OAAoBkM,EAAgBrO,GAGrD,IAAMsO,EAA0B,GAC5BC,GAAiC,EACrC5/B,KAAKq/B,aAAa9S,QAAQ9sB,SAAQ,SAAoCogC,GACjC,oBAAxBA,EAAYlQ,UAA0D,IAAhCkQ,EAAYlQ,QAAQrD,KAIrEsT,EAAiCA,GAAkCC,EAAYnQ,YAE/EiQ,EAAwBG,QAAQD,EAAYrQ,UAAWqQ,EAAYpQ,cAGrE,IAKI/sB,EALEq9B,EAA2B,GACjC//B,KAAKq/B,aAAa7S,SAAS/sB,SAAQ,SAAkCogC,GACnEE,EAAyB3gC,KAAKygC,EAAYrQ,UAAWqQ,EAAYpQ,aAInE,IACIxxB,EADAtC,EAAI,EAGR,IAAKikC,EAAgC,CACnC,IAAMI,EAAQ,CAAC3C,GAAgBlgB,KAAKnd,WAAOQ,GAO3C,IANAw/B,EAAMF,QAAQzgC,MAAM2gC,EAAOL,GAC3BK,EAAM5gC,KAAKC,MAAM2gC,EAAOD,GACxB9hC,EAAM+hC,EAAMpkC,OAEZ8G,EAAUC,QAAQC,QAAQ0pB,GAEnB3wB,EAAIsC,GACTyE,EAAUA,EAAQwpB,KAAK8T,EAAMrkC,KAAMqkC,EAAMrkC,MAG3C,OAAO+G,EAGTzE,EAAM0hC,EAAwB/jC,OAE9B,IAAIqkC,EAAY3T,EAIhB,IAFA3wB,EAAI,EAEGA,EAAIsC,GAAK,CACd,IAAMiiC,EAAcP,EAAwBhkC,KACtCwkC,EAAaR,EAAwBhkC,KAC3C,IACEskC,EAAYC,EAAYD,GACxB,MAAO9/B,GACPggC,EAAW9iC,KAAK2C,KAAMG,GACtB,OAIJ,IACEuC,EAAU26B,GAAgBhgC,KAAK2C,KAAMigC,GACrC,MAAO9/B,GACP,OAAOwC,QAAQE,OAAO1C,GAMxB,IAHAxE,EAAI,EACJsC,EAAM8hC,EAAyBnkC,OAExBD,EAAIsC,GACTyE,EAAUA,EAAQwpB,KAAK6T,EAAyBpkC,KAAMokC,EAAyBpkC,MAGjF,OAAO+G,IACR,CAAAvG,IAAA,SAAAgB,MAED,SAAOmvB,GAGL,OAAO0C,GADUiI,IADjB3K,EAASiR,GAAYv9B,KAAKgxB,SAAU1E,IACE4K,QAAS5K,EAAO2C,KAC5B3C,EAAOqC,OAAQrC,EAAO4O,sBACjDiE,EAhJQ,GAoJXvvB,GAAMnQ,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BuzB,GAE/EmM,GAAMhkC,UAAU63B,GAAU,SAAS/D,EAAK3C,GACtC,OAAOtsB,KAAKusB,QAAQgR,GAAYjR,GAAU,GAAI,CAC5C0G,OAAAA,EACA/D,IAAAA,EACA5qB,MAAOioB,GAAU,IAAIjoB,YAK3BuL,GAAMnQ,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BuzB,GAGrE,SAASoN,EAAmBC,GAC1B,OAAO,SAAoBpR,EAAK5qB,EAAMioB,GACpC,OAAOtsB,KAAKusB,QAAQgR,GAAYjR,GAAU,GAAI,CAC5C0G,OAAAA,EACA3B,QAASgP,EAAS,CAChB,eAAgB,uBACd,GACJpR,IAAAA,EACA5qB,KAAAA,MAKN86B,GAAMhkC,UAAU63B,GAAUoN,IAE1BjB,GAAMhkC,UAAU63B,EAAS,QAAUoN,GAAmB,MAGxD,UC7LME,GAAW,WACf,SAAAA,EAAYC,GACV,GADoBnlC,EAAA,KAAAklC,GACI,oBAAbC,EACT,MAAM,IAAIhlC,UAAU,gCAGtB,IAAIilC,EAEJxgC,KAAK0C,QAAU,IAAIC,SAAQ,SAAyBC,GAClD49B,EAAiB59B,KAGnB,IAAMsgB,EAAQljB,KAGdA,KAAK0C,QAAQwpB,MAAK,SAAAiQ,GAChB,GAAKjZ,EAAMud,WAAX,CAIA,IAFA,IAAI9kC,EAAIunB,EAAMud,WAAW7kC,OAElBD,KAAM,GACXunB,EAAMud,WAAW9kC,GAAGwgC,GAEtBjZ,EAAMud,WAAa,SAIrBzgC,KAAK0C,QAAQwpB,KAAO,SAAAwU,GAClB,IAAIC,EAEEj+B,EAAU,IAAIC,SAAQ,SAAAC,GAC1BsgB,EAAMmZ,UAAUz5B,GAChB+9B,EAAW/9B,KACVspB,KAAKwU,GAMR,OAJAh+B,EAAQy5B,OAAS,WACfjZ,EAAM+W,YAAY0G,IAGbj+B,GAGT69B,GAAS,SAAgBlU,EAASC,EAAQC,GACpCrJ,EAAM2Z,SAKV3Z,EAAM2Z,OAAS,IAAItG,GAAclK,EAASC,EAAQC,GAClDiU,EAAetd,EAAM2Z,YAyDxB,OArDDzgC,EAAAkkC,EAAA,EAAAnkC,IAAA,mBAAAgB,MAGA,WACE,GAAI6C,KAAK68B,OACP,MAAM78B,KAAK68B,SAIf,CAAA1gC,IAAA,YAAAgB,MAIA,SAAU4E,GACJ/B,KAAK68B,OACP96B,EAAS/B,KAAK68B,QAIZ78B,KAAKygC,WACPzgC,KAAKygC,WAAWrhC,KAAK2C,GAErB/B,KAAKygC,WAAa,CAAC1+B,KAIvB,CAAA5F,IAAA,cAAAgB,MAIA,SAAY4E,GACV,GAAK/B,KAAKygC,WAAV,CAGA,IAAMt5B,EAAQnH,KAAKygC,WAAWj9B,QAAQzB,IACvB,IAAXoF,GACFnH,KAAKygC,WAAWr5B,OAAOD,EAAO,OAIlC,EAAAhL,IAAA,SAAAgB,MAIA,WACE,IAAIg/B,EAIJ,MAAO,CACLjZ,MAJY,IAAIod,GAAY,SAAkB12B,GAC9CuyB,EAASvyB,KAITuyB,OAAAA,OAEHmE,EA1Gc,GA6GjB,MCxHA,IAAMM,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjC1oC,OAAO60B,QAAQ8P,IAAgBnhC,SAAQ,SAAA0nB,GAAkB,IAAAkC,EAAA+L,GAAAjO,EAAA,GAAhBhrB,EAAGktB,EAAA,GAAElsB,EAAKksB,EAAA,GACjDuX,GAAezjC,GAAShB,KAG1B,UCxBA,IAAMyoC,GAnBN,SAAS9jB,EAAe+jB,GACtB,IAAMj2B,EAAU,IAAIuwB,GAAM0F,GACpBxpC,EAAW8hB,GAAKgiB,GAAAA,UAAAA,QAAyBvwB,GAa/C,OAVAgB,GAAM6Z,OAAOpuB,EAAU8jC,GAAAA,UAAiBvwB,EAAS,CAACyY,YAAY,IAG9DzX,GAAM6Z,OAAOpuB,EAAUuT,EAAS,KAAM,CAACyY,YAAY,IAGnDhsB,EAAS6B,OAAS,SAAgBkiC,GAChC,OAAOte,EAAeyc,GAAYsH,EAAezF,KAG5C/jC,EAIKylB,CAAekQ,IAG7B4T,GAAMzF,MAAQA,GAGdyF,GAAMrO,cAAgBA,GACtBqO,GAAMtE,YAAcA,GACpBsE,GAAMvO,SAAWA,GACjBuO,GAAMnG,QAAUA,GAChBmG,GAAM/V,WAAaA,GAGnB+V,GAAMxY,WAAaA,GAGnBwY,GAAME,OAASF,GAAMrO,cAGrBqO,GAAMG,IAAM,SAAaC,GACvB,OAAOriC,QAAQoiC,IAAIC,IAGrBJ,GAAMK,OC9CS,SAAgB1qB,GAC7B,OAAO,SAAc7c,GACnB,OAAO6c,EAASlb,MAAM,KAAM3B,KD+ChCknC,GAAMM,aE7DS,SAAsBC,GACnC,OAAOv1B,GAAM+W,SAASwe,KAAsC,IAAzBA,EAAQD,cF+D7CN,GAAMrH,YAAcA,GAEpBqH,GAAMpR,aAAeA,GAErBoR,GAAMQ,WAAa,SAAAjf,GAAK,OAAIuL,GAAe9hB,GAAMkY,WAAW3B,GAAS,IAAI0C,SAAS1C,GAASA,IAE3Fye,GAAMS,WAAatI,GAEnB6H,GAAMhE,eAAiBA,GAEvBgE,GAAMU,QAAUV,GAGhB,UGxFe,SAAS,GAA8BplC,EAAQ+lC,GAC5D,GAAc,MAAV/lC,EAAgB,MAAO,GAC3B,IAEIrD,EAAKR,EAFLF,EAAS,GACT+pC,EAAavpC,OAAO6C,KAAKU,GAG7B,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IACjCQ,EAAMqpC,EAAW7pC,GACb4pC,EAAS/hC,QAAQrH,IAAQ,IAC7BV,EAAOU,GAAOqD,EAAOrD,IAGvB,OAAOV,ECXM,SAASgqC,GAAyBjmC,EAAQ+lC,GACvD,GAAc,MAAV/lC,EAAgB,MAAO,GAC3B,IACIrD,EAAKR,EADLF,EAAS,GAA6B+D,EAAQ+lC,GAGlD,GAAItpC,OAAO8C,sBAAuB,CAChC,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAEpD,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IACvCQ,EAAMupC,EAAiB/pC,GACnB4pC,EAAS/hC,QAAQrH,IAAQ,GACxBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KACxDV,EAAOU,GAAOqD,EAAOrD,IAIzB,OAAOV,qCCdHmqC,GAA4B7jB,EAAAA,cAAoB,CACpD8jB,SAAU,KAKRD,GAFFE,SAEEF,GADFG,SAmBK,SAASC,GAAmBtlC,EAAQulC,GACzC,IACEJ,GACEK,EAAAA,EAAAA,YAAWN,IADbC,SAEF,OAAOnlC,GAAUmlC,EAASI,IAAkBA,EAEvC,SAASE,KAId,MAAe,SADXD,EAAAA,EAAAA,YAAWN,IADbQ,IA4BJ,6CCxDMC,GAAyBtkB,EAAAA,YAAiB,SAAAoF,EAO7Cmf,GAAQ,IANTC,EAAQpf,EAARof,SACAC,EAAKrf,EAALqf,MAAKC,EAAAtf,EAELuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBG,EAASzf,EAATyf,UACGlrC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,aACtC14B,EAA0B,kBAAV24B,EAAqB,IAAH/kC,OAAO+kC,GAAU,SACzD,OAAoBM,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWJ,EAAQ,GAAH/kC,OAAMf,GAAMe,OAAGoM,GAAWnN,SAGpE2lC,GAAUW,YAAc,YACxBX,GAAUY,aApBW,CACnBT,OAAO,GAoBT,UCxBe,SAASU,GAA2BvqC,EAAGwqC,GACpD,IAAIC,EAAuB,qBAAXpsC,QAA0B2B,EAAE3B,OAAOC,WAAa0B,EAAE,cAElE,IAAKyqC,EAAI,CACP,GAAIzpC,MAAMC,QAAQjB,KAAOyqC,EAAK,EAA2BzqC,KAAOwqC,GAAkBxqC,GAAyB,kBAAbA,EAAEf,OAAqB,CAC/GwrC,IAAIzqC,EAAIyqC,GACZ,IAAIzrC,EAAI,EAEJ0rC,EAAI,aAER,MAAO,CACLpkC,EAAGokC,EACHhpC,EAAG,WACD,OAAI1C,GAAKgB,EAAEf,OAAe,CACxB2f,MAAM,GAED,CACLA,MAAM,EACNpe,MAAOR,EAAEhB,OAGboK,EAAG,SAAW2f,GACZ,MAAMA,GAER/O,EAAG0wB,GAIP,MAAM,IAAI9rC,UAAU,yIAGtB,IAEIyf,EAFAssB,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLtkC,EAAG,WACDmkC,EAAKA,EAAG/pC,KAAKV,IAEf0B,EAAG,WACD,IAAImpC,EAAOJ,EAAGthB,OAEd,OADAwhB,EAAmBE,EAAKjsB,KACjBisB,GAETzhC,EAAG,SAAW0hC,GACZF,GAAS,EACTvsB,EAAMysB,GAER9wB,EAAG,WACD,IACO2wB,GAAoC,MAAhBF,EAAW,QAAWA,EAAW,SAC1D,QACA,GAAIG,EAAQ,MAAMvsB,KCpDX,SAAS,KAetB,OAdA,GAAW/e,OAAOguB,QAAU,SAAUxuB,GACpC,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CACzC,IAAI6D,EAASD,UAAU5D,GAEvB,IAAK,IAAIQ,KAAOqD,EACVvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAC/CV,EAAOU,GAAOqD,EAAOrD,IAK3B,OAAOV,GAGF,GAAS4D,MAAMW,KAAMT,kzBCE9B,SAASmoC,GAAUC,EAAWtb,GAC5B,IAAKsb,EAAM,MAAM,IAAI9oB,MAAMwN,OAiDvBub,IAAoB7lB,EAAAA,EAAAA,eAA6C,UAWjE8lB,IAAkB9lB,EAAAA,EAAAA,eAA2C,UAW7D+lB,IAAe,mBAAwC,CAC3DC,OAAQ,KACRld,QAAS,KAoGJ,SAASmd,GAAOtsC,GACrB,OAmYK,SAAmBkT,GACxB,IAAIm5B,GAAShmB,EAAAA,EAAAA,YAAiB+lB,IAAcC,OAC5C,GAAIA,EACF,OACE,mBAACE,GAAclC,SAAf,CAAwB5oC,MAAOyR,GAAUm5B,GAG7C,OAAOA,EA1YAG,CAAUxsC,EAAMkT,SAkClB,SAASu5B,GACdC,GAEA,IAAU,GAyBL,SAASC,GAAT,GAAgB,MAOoB,EANzCC,SAAUC,OAAY,IAAG,MADJ,IAOoB,EALzCC,SAAAA,OAAQ,IAAG,OAFU,EAGXC,EAI+B,EAJzCtQ,SAAQ,EAIiC,EAHzCuQ,eAAAA,OAAc,IAAG,EAAAC,GAAAA,IAJI,EAKrB1jC,EAEyC,EAFzCA,UALqB,EAOoB,EADzC2jC,OAAQC,OAAU,IAAG,KAGlBC,MADH,IAAU,GAMV,IAAIR,EAAWS,GAAkBR,GAC7BS,GAAoB,cACtB,iBAAO,CAAEV,SAAAA,EAAUrjC,UAAAA,EAAW2jC,OAAQC,KACtC,CAACP,EAAUrjC,EAAW4jC,IAGI,kBAAjBJ,IACTA,EAAeQ,GAAUR,IAG3B,MAMIA,EANJ,IACEvQ,SAAAA,OAAQ,IAAG,MADT,MAEFJ,OAAAA,OAAM,IAAG,KAFP,MAGFC,KAAAA,OAAI,IAAG,KAHL,MAIF3d,MAAAA,OAAK,IAAG,OAJN,MAKFje,IAAAA,OAAG,IAAG,cAGJg8B,GAAW,cAAc,WAC3B,IAAI+Q,EAAmBC,GAAcjR,EAAUoQ,GAE/C,OAAwB,MAApBY,EACK,KAGF,CACLhR,SAAUgR,EACVpR,OAAAA,EACAC,KAAAA,EACA3d,MAAAA,EACAje,IAAAA,KAED,CAACmsC,EAAUpQ,EAAUJ,EAAQC,EAAM3d,EAAOje,IAS7C,OAAgB,MAAZg8B,EACK,MAIP,mBAACyP,GAAkB7B,SAAnB,CAA4B5oC,MAAO6rC,IACjC,mBAACnB,GAAgB9B,SAAjB,CACEyC,SAAUA,EACVrrC,MAAO,CAAEg7B,SAAAA,EAAUuQ,eAAAA,MAiBpB,SAASU,GAAT,GAAgB,IACrBZ,EAEyC,EAFzCA,SACArQ,EACyC,EADzCA,SAEA,OAsSK,SACLkR,EACAC,GAGER,MADF,IAAU,GAOV,IAAeS,GAAkBxnB,EAAAA,EAAAA,YAAiB+lB,IAA5Cjd,QACF2e,EAAaD,EAAcA,EAAc3tC,OAAS,GAClD6tC,EAAeD,EAAaA,EAAW7a,OAAS,GAEhD+a,GADiBF,GAAaA,EAAWtR,SACpBsR,EAAaA,EAAWG,aAAe,KAC9CH,GAAcA,EAAWI,MAEvC,EAmCJ,IAEIzR,EAFA0R,EAAsBC,KAG1B,GAAIR,EAAa,OACXS,EACqB,kBAAhBT,EAA2BL,GAAUK,GAAeA,EAGpC,MAAvBI,IAAAA,OAAAA,EACEK,EAAkB7R,eADpBwR,EACEK,EAA4BC,WAAWN,KAF3C,IAAU,GASVvR,EAAW4R,OAEX5R,EAAW0R,EAGb,IAAI3R,EAAWC,EAASD,UAAY,IAChC+R,EACqB,MAAvBP,EACIxR,EACAA,EAAS35B,MAAMmrC,EAAmB9tC,SAAW,IAC/CivB,EAsJC,SACLwe,EACAC,EACAhB,QACqB,IADrBA,IAAAA,EAAW,KAEX,IAGIpQ,EAAWiR,IAFU,kBAAhBG,EAA2BL,GAAUK,GAAeA,GAEvBpR,UAAY,IAAKoQ,GAEvD,GAAgB,MAAZpQ,EACF,OAAO,KAGT,IAAIgS,EAAWC,GAAcd,IA6E/B,SAA2Ba,GACzBA,EAASr2B,MAAK,SAAC7Q,EAAG0mB,GAAJ,OACZ1mB,EAAEonC,QAAU1gB,EAAE0gB,MACV1gB,EAAE0gB,MAAQpnC,EAAEonC,MAyCpB,SAAwBpnC,EAAa0mB,GACnC,IAAI2gB,EACFrnC,EAAEpH,SAAW8tB,EAAE9tB,QAAUoH,EAAEzE,MAAM,GAAI,GAAG+rC,OAAM,SAACjsC,EAAG1C,GAAJ,OAAU0C,IAAMqrB,EAAE/tB,MAElE,OAAO0uC,EAKHrnC,EAAEA,EAAEpH,OAAS,GAAK8tB,EAAEA,EAAE9tB,OAAS,GAG/B,EApDE2uC,CACEvnC,EAAEwnC,WAAWzgC,KAAI0gC,SAAAA,GAAI,OAAIA,EAAKC,iBAC9BhhB,EAAE8gB,WAAWzgC,KAAI0gC,SAAAA,GAAI,OAAIA,EAAKC,qBAlFtCC,CAAkBT,GAGlB,IADA,IAAIrf,EAAU,KACLlvB,EAAI,EAAc,MAAXkvB,GAAmBlvB,EAAIuuC,EAAStuC,SAAUD,EACxDkvB,EAAU+f,GAAiBV,EAASvuC,GAAIu8B,GAG1C,OAAOrN,EA5KOggB,CAAYxB,EAAQ,CAAEnR,SAAU+R,IAE1C,EAcJ,OAAOa,GACLjgB,GACEA,EAAQ9gB,KAAIK,SAAAA,GAAK,OACfnO,OAAOguB,OAAO,GAAI7f,EAAO,CACvBukB,OAAQ1yB,OAAOguB,OAAO,GAAIwf,EAAcr/B,EAAMukB,QAC9CuJ,SAAU6S,GAAU,CAACrB,EAAoBt/B,EAAM8tB,WAC/CyR,aACyB,MAAvBv/B,EAAMu/B,aACFD,EACAqB,GAAU,CAACrB,EAAoBt/B,EAAMu/B,oBAGjDJ,GAjZKyB,CAAUC,GAAyBzC,GAAWrQ,GAahD,SAAS+S,GAAQC,GAEpBrC,MADF,IAAU,GAOV,OAA8B/mB,EAAAA,EAAAA,YAAiB6lB,IAAzCU,EAAF,EAAEA,SAAUrjC,EAAAA,EAAAA,UAChB,EAAiCmmC,GAAgBD,GAA3CpT,EAAF,EAAEA,KAAMG,EAAR,EAAQA,SAAUJ,EAAAA,EAAAA,OAElBuT,EAAiBnT,EACrB,GAAiB,MAAboQ,EAAkB,CACpB,IAAIgD,EAm9BR,SAAuBH,GAErB,MAAc,KAAPA,GAAuC,KAAzBA,EAAYjT,SAC7B,IACc,kBAAPiT,EACPlC,GAAUkC,GAAIjT,SACdiT,EAAGjT,SAz9BYqT,CAAcJ,GAC3BK,EAA8B,MAAdF,GAAsBA,EAAW3kC,SAAS,KAC9D0kC,EACe,MAAbnT,EACIoQ,GAAYkD,EAAgB,IAAM,IAClCT,GAAU,CAACzC,EAAUpQ,IAG7B,OAAOjzB,EAAUwmC,WAAW,CAAEvT,SAAUmT,EAAgBvT,OAAAA,EAAQC,KAAAA,IAQ3D,SAAS+Q,KACd,OAA4C,OAArC/mB,EAAAA,EAAAA,YAAiB8lB,IAanB,SAASiC,KAQd,OANEhB,MADF,IAAU,IAOH/mB,EAAAA,EAAAA,YAAiB8lB,IAAiB1P,SAuGpC,SAASuT,KAEZ5C,MADF,IAAU,GAOV,OAA8B/mB,EAAAA,EAAAA,YAAiB6lB,IAAzCU,EAAF,EAAEA,SAAUrjC,EAAAA,EAAAA,UACV4lB,GAAY9I,EAAAA,EAAAA,YAAiB+lB,IAA7Bjd,QACU8gB,EAAqB7B,KAA/B5R,SAEF0T,EAAqBn0B,KAAKsL,UAC5B8H,EAAQ9gB,KAAIK,SAAAA,GAAK,OAAIA,EAAMu/B,iBAGzBkC,GAAY9pB,EAAAA,EAAAA,SAAa,IAC7BA,EAAAA,EAAAA,YAAgB,WACd8pB,EAAUtlC,SAAU,KAGtB,IAAIulC,GAA6B,kBAC/B,SAACX,EAAiB5qC,GAOhB,QAPkD,IAAlCA,IAAAA,EAA2B,IAOtCsrC,EAAUtlC,QAEf,GAAkB,kBAAP4kC,EAAX,CAKA,IAAI9nC,EAAO0oC,GACTZ,EACA1zB,KAAKxJ,MAAM29B,GACXD,GAGe,MAAbrD,IACFjlC,EAAK60B,SAAW6S,GAAU,CAACzC,EAAUjlC,EAAK60B,aAGzC33B,EAAQkD,QAAUwB,EAAUxB,QAAUwB,EAAU7F,MACjDiE,EACA9C,EAAQ6Z,YAhBRnV,EAAU+mC,GAAGb,KAmBjB,CAAC7C,EAAUrjC,EAAW2mC,EAAoBD,IAG5C,OAAOG,EAGT,IAAM7D,IAAgBlmB,EAAAA,EAAAA,eAA6B,MAgD5C,SAASqpB,GAAgBD,GAC9B,IAAMtgB,GAAY9I,EAAAA,EAAAA,YAAiB+lB,IAA7Bjd,QACU8gB,EAAqB7B,KAA/B5R,SAEF0T,EAAqBn0B,KAAKsL,UAC5B8H,EAAQ9gB,KAAIK,SAAAA,GAAK,OAAIA,EAAMu/B,iBAG7B,OAAO5nB,EAAAA,EAAAA,UACL,kBAAMgqB,GAAUZ,EAAI1zB,KAAKxJ,MAAM29B,GAAqBD,KACpD,CAACR,EAAIS,EAAoBD,IAsItB,SAASV,GACdzC,GAEA,IAAIa,EAAwB,GAuC5B,OArCAtnB,EAAAA,SAAAA,QAAuBymB,GAAUyD,SAAAA,GAC/B,IAAKlqB,EAAAA,EAAAA,gBAAqBkqB,GAM1B,GAAIA,EAAQpsC,OAASkiB,EAAAA,SAArB,CAUEkqB,EAAQpsC,OAASsoC,IADnB,IAAU,GAOV,IAAIyB,EAAqB,CACvBsC,cAAeD,EAAQvwC,MAAMwwC,cAC7BD,QAASA,EAAQvwC,MAAMuwC,QACvB9kC,MAAO8kC,EAAQvwC,MAAMyL,MACrB9D,KAAM4oC,EAAQvwC,MAAM2H,MAGlB4oC,EAAQvwC,MAAM8sC,WAChBoB,EAAMpB,SAAWyC,GAAyBgB,EAAQvwC,MAAM8sC,WAG1Da,EAAOjqC,KAAKwqC,QAzBVP,EAAOjqC,KAAKC,MACVgqC,EACA4B,GAAyBgB,EAAQvwC,MAAM8sC,cA0BtCa,EAuGT,SAASc,GACPd,EACAa,EACAiC,EACAC,GA8CA,YA7Ce,IAHflC,IAAAA,EAA0B,SAGX,IAFfiC,IAAAA,EAA2B,SAEZ,IADfC,IAAAA,EAAa,IAEb/C,EAAO5pC,SAAQ,SAACmqC,EAAOziC,GACrB,IAAIsjC,EAAkB,CACpB4B,aAAczC,EAAMvmC,MAAQ,GAC5B6oC,eAAuC,IAAxBtC,EAAMsC,cACrBxB,cAAevjC,EACfyiC,MAAAA,GAGEa,EAAK4B,aAAarC,WAAW,OAE7BS,EAAK4B,aAAarC,WAAWoC,IAD/B,IAAU,GAOV3B,EAAK4B,aAAe5B,EAAK4B,aAAa9tC,MAAM6tC,EAAWxwC,SAGzD,IAAIyH,EAAO0nC,GAAU,CAACqB,EAAY3B,EAAK4B,eACnC7B,EAAa2B,EAAY1qC,OAAOgpC,GAKhCb,EAAMpB,UAAYoB,EAAMpB,SAAS5sC,OAAS,KAE1B,IAAhBguC,EAAMziC,OADR,IAAU,GAMVgjC,GAAcP,EAAMpB,SAAU0B,EAAUM,EAAYnnC,KAKpC,MAAdumC,EAAMvmC,MAAiBumC,EAAMziC,QAIjC+iC,EAAS9qC,KAAK,CAAEiE,KAAAA,EAAM+mC,MAAOkC,GAAajpC,EAAMumC,EAAMziC,OAAQqjC,WAAAA,OAGzDN,EAcT,IAAMqC,GAAU,SAMVC,GAAWvpC,SAAAA,GAAD,MAAqB,MAANA,GAE/B,SAASqpC,GAAajpC,EAAc8D,GAClC,IAAIslC,EAAWppC,EAAKpB,MAAM,KACtByqC,EAAeD,EAAS7wC,OAS5B,OARI6wC,EAASve,KAAKse,MAChBE,IAPiB,GAUfvlC,IACFulC,GAdoB,GAiBfD,EACJxtC,QAAOgE,SAAAA,GAAC,OAAKupC,GAAQvpC,MACrB4U,QACC,SAACuyB,EAAOuC,GAAR,OACEvC,GACCmC,GAAQ9tC,KAAKkuC,GAvBM,EAyBJ,KAAZA,EAvBc,EACC,MAyBrBD,GAmBN,SAAS9B,GACPgC,EACA1U,GAOA,IALA,IAAMsS,EAAeoC,EAAfpC,WAEFqC,EAAgB,GAChBC,EAAkB,IAClBjiB,EAAwB,GACnBlvB,EAAI,EAAGA,EAAI6uC,EAAW5uC,SAAUD,EAAG,CAC1C,IAAI8uC,EAAOD,EAAW7uC,GAClBoxC,EAAMpxC,IAAM6uC,EAAW5uC,OAAS,EAChCquC,EACkB,MAApB6C,EACI5U,EACAA,EAAS35B,MAAMuuC,EAAgBlxC,SAAW,IAC5CwO,EAAQ4iC,GACV,CAAE3pC,KAAMonC,EAAK4B,aAAcH,cAAezB,EAAKyB,cAAea,IAAAA,GAC9D9C,GAGF,IAAK7/B,EAAO,OAAO,KAEnBnO,OAAOguB,OAAO4iB,EAAeziC,EAAMukB,QAEnC,IAAIib,EAAQa,EAAKb,MAEjB/e,EAAQzrB,KAAK,CACXuvB,OAAQke,EACR3U,SAAU6S,GAAU,CAAC+B,EAAiB1iC,EAAM8tB,WAC5CyR,aAAcoB,GAAU,CAAC+B,EAAiB1iC,EAAMu/B,eAChDC,MAAAA,IAGyB,MAAvBx/B,EAAMu/B,eACRmD,EAAkB/B,GAAU,CAAC+B,EAAiB1iC,EAAMu/B,gBAIxD,OAAO9e,EAYT,SAASigB,GACPjgB,EACA0e,GAEA,YAD2B,IAD3BA,IAAAA,EAA8B,IAEf,MAAX1e,EAAwB,KAErBA,EAAQoiB,aAAY,SAAClF,EAAQ39B,EAAOjD,GACzC,OACE,mBAAC2gC,GAAa/B,SAAd,CACEyC,cAC0BhoC,IAAxB4J,EAAMw/B,MAAMqC,QAAwB7hC,EAAMw/B,MAAMqC,SAAUiB,EAAAA,EAAAA,eAAClF,GAADkF,MAE5D/vC,MAAO,CACL4qC,OAAAA,EACAld,QAAS0e,EAAc9nC,OAAOopB,EAAQtsB,MAAM,EAAG4I,EAAQ,SAI5D,MAwDE,SAAS6lC,GAIdG,EACAjV,GAEuB,kBAAZiV,IACTA,EAAU,CAAE9pC,KAAM8pC,EAASjB,eAAe,EAAOa,KAAK,IAGxD,MAwCF,SACE1pC,EACA6oC,EACAa,QACoB,IAFpBb,IAAAA,GAAgB,QAEI,IADpBa,IAAAA,GAAM,GAUN,IAAIK,EAAuB,GACvBC,EACF,IACAhqC,EACGI,QAAQ,UAAW,IACnBA,QAAQ,OAAQ,KAChBA,QAAQ,sBAAuB,QAC/BA,QAAQ,WAAW,SAAC6pC,EAAWC,GAE9B,OADAH,EAAWhuC,KAAKmuC,GACT,eAGTlqC,EAAKsD,SAAS,MAChBymC,EAAWhuC,KAAK,KAChBiuC,GACW,MAAThqC,GAAyB,OAATA,EACZ,QACA,qBAENgqC,GAAgBN,EACZ,QAIA,gBAKN,MAAO,CAFO,IAAIjjC,OAAOujC,EAAcnB,OAAgB1rC,EAAY,KAElD4sC,GAlFWI,CAC1BL,EAAQ9pC,KACR8pC,EAAQjB,cACRiB,EAAQJ,KAHV,UAAKrY,EAAD,KAAU0Y,EAAV,KAMAhjC,EAAQ8tB,EAAS9tB,MAAMsqB,GAC3B,IAAKtqB,EAAO,OAAO,KAEnB,IAAI0iC,EAAkB1iC,EAAM,GACxBu/B,EAAemD,EAAgBrpC,QAAQ,UAAW,MAClDgqC,EAAgBrjC,EAAM7L,MAAM,GAqBhC,MAAO,CACLowB,OArBmBye,EAAWv1B,QAC9B,SAAC61B,EAAMH,EAAWpmC,GAGhB,GAAkB,MAAdomC,EAAmB,CACrB,IAAII,EAAaF,EAActmC,IAAU,GACzCwiC,EAAemD,EACZvuC,MAAM,EAAGuuC,EAAgBlxC,OAAS+xC,EAAW/xC,QAC7C6H,QAAQ,UAAW,MAOxB,OAJAiqC,EAAKH,GA8DX,SAAkCpwC,EAAeowC,GAC/C,IACE,OAAOxW,mBAAmB55B,GAC1B,MAAOgD,GAQP,OAAOhD,GAzEaywC,CAChBH,EAActmC,IAAU,IAGnBumC,IAET,IAKAxV,SAAU4U,EACVnD,aAAAA,EACAwD,QAAAA,GAyGJ,SAASpB,GACP8B,EACAC,EACAnC,GAEA,IAUI5tC,EAVAotC,EAAsB,kBAAV0C,EAAqB5E,GAAU4E,GAASA,EACpDvC,EAAuB,KAAVuC,GAAgC,KAAhB1C,EAAGjT,SAAkB,IAAMiT,EAAGjT,SAU/D,GAAkB,MAAdoT,EACFvtC,EAAO4tC,MACF,CACL,IAAIoC,EAAqBD,EAAelyC,OAAS,EAEjD,GAAI0vC,EAAWtB,WAAW,MAAO,CAM/B,IALA,IAAIgE,EAAa1C,EAAWrpC,MAAM,KAKT,OAAlB+rC,EAAW,IAChBA,EAAWpqC,QACXmqC,GAAsB,EAGxB5C,EAAGjT,SAAW8V,EAAWvnC,KAAK,KAKhC1I,EAAOgwC,GAAsB,EAAID,EAAeC,GAAsB,IAGxE,IAAI1qC,EA5EC,SAAqB8nC,EAAQ8C,QAA0B,IAA1BA,IAAAA,EAAe,KACjD,MAIkB,kBAAP9C,EAAkBlC,GAAUkC,GAAMA,EAHjCG,EADR,EACFpT,SAAQ,IACRJ,OAAAA,OAAM,IAAG,KAFP,MAGFC,KAAAA,OAAI,IAAG,OAGLG,EAAWoT,EACXA,EAAWtB,WAAW,KACpBsB,EAWR,SAAyBe,EAAsB4B,GAC7C,IAAIxB,EAAWwB,EAAaxqC,QAAQ,OAAQ,IAAIxB,MAAM,KAYtD,OAXuBoqC,EAAapqC,MAAM,KAEzBxC,SAAQktC,SAAAA,GACP,OAAZA,EAEEF,EAAS7wC,OAAS,GAAG6wC,EAASn8B,MACb,MAAZq8B,GACTF,EAASrtC,KAAKutC,MAIXF,EAAS7wC,OAAS,EAAI6wC,EAAShmC,KAAK,KAAO,IAvB5CynC,CAAgB5C,EAAY2C,GAC9BA,EAEJ,MAAO,CACL/V,SAAAA,EACAJ,OAAQqW,GAAgBrW,GACxBC,KAAMqW,GAAcrW,IA4DXsW,CAAYlD,EAAIptC,GAY3B,OAREutC,GACe,MAAfA,GACAA,EAAW3kC,SAAS,OACnBtD,EAAK60B,SAASvxB,SAAS,OAExBtD,EAAK60B,UAAY,KAGZ70B,EAYT,SAAS8lC,GAAcjR,EAAkBoQ,GACvC,GAAiB,MAAbA,EAAkB,OAAOpQ,EAE7B,IAAKA,EAASntB,cAAci/B,WAAW1B,EAASv9B,eAC9C,OAAO,KAGT,IAAIujC,EAAWpW,EAASrnB,OAAOy3B,EAAS1sC,QACxC,OAAI0yC,GAAyB,MAAbA,EAEP,KAGFpW,EAAS35B,MAAM+pC,EAAS1sC,SAAW,IAG5C,IAAMmvC,GAAazkC,SAAAA,GAAD,OAChBA,EAAMG,KAAK,KAAKhD,QAAQ,SAAU,MAE9BslC,GAAqB7Q,SAAAA,GAAD,OACxBA,EAASz0B,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,MAEzC0qC,GAAmBrW,SAAAA,GAAD,OACrBA,GAAqB,MAAXA,EAEPA,EAAOkS,WAAW,KAClBlS,EACA,IAAMA,EAHN,IAKAsW,GAAiBrW,SAAAA,GAAD,OACnBA,GAAiB,MAATA,EAAoBA,EAAKiS,WAAW,KAAOjS,EAAO,IAAMA,EAAzC,gfChuCnB,SAASwW,GAAT,GAAuB,IAC5BjG,EAGqB,EAHrBA,SACAE,EAEqB,EAFrBA,SACAxjC,EACqB,EADrBA,OAEIwpC,GAAazsB,EAAAA,EAAAA,UACS,MAAtBysB,EAAWjoC,UACbioC,EAAWjoC,wkDAAUkoC,CAAqB,CAAEzpC,OAAAA,KAG9C,IAAI0pC,EAAUF,EAAWjoC,QACzB,MAAwB,cAAe,CACrCooC,OAAQD,EAAQC,OAChBxW,SAAUuW,EAAQvW,WAFpB,GAAK/d,EAAD,KAAQw0B,EAAR,KAOJ,OAFA7sB,EAAAA,EAAAA,kBAAsB,kBAAM2sB,EAAQG,OAAOD,KAAW,CAACF,KAGrD,mBAAC,GAAD,CACEpG,SAAUA,EACVE,SAAUA,EACVrQ,SAAU/d,EAAM+d,SAChBuQ,eAAgBtuB,EAAMu0B,OACtB1pC,UAAWypC,QA4FJI,IAAO,iBAClB,WAEExI,GADA,IAAEyI,EAEF,EAFEA,QAASC,EAEX,EAFWA,eAAX,EAEA,EAF2BvrC,QAAAA,OAAO,IAAG,GAArC,EAA4C2W,EAE5C,EAF4CA,MAAO3e,EAEnD,EAFmDA,OAAQ0vC,EAE3D,EAF2DA,GAAOvrB,EAElE,SACI8X,EAAOwT,GAAQC,GACf8D,EAwHD,SACL9D,EADK,GAEL,WASkD,MAD9C,GAC8C,EARhD1vC,EADF,EACEA,OACSyzC,EAFX,EAEEzrC,QACA2W,EAAAA,EAAAA,MAOE0xB,EAAWJ,KACXvT,EAAW2R,KACXzmC,EAAO+nC,GAAgBD,GAE3B,OAAO,kBACJjpC,SAAAA,GACC,GACmB,IAAjBA,EAAMitC,UACJ1zC,GAAqB,UAAXA,KAjKpB,SAAyByG,GACvB,SAAUA,EAAMktC,SAAWltC,EAAMmtC,QAAUntC,EAAMotC,SAAWptC,EAAMqtC,UAiK3DC,CAAgBttC,GACjB,CACAA,EAAMutC,iBAIN,IAAIhsC,IACAyrC,GAAeQ,GAAWvX,KAAcuX,GAAWrsC,GAEvDyoC,EAASX,EAAI,CAAE1nC,QAAAA,EAAS2W,MAAAA,OAG5B,CAAC+d,EAAU2T,EAAUzoC,EAAM6rC,EAAa90B,EAAO3e,EAAQ0vC,IAzJjCwE,CAAoBxE,EAAI,CAAE1nC,QAAAA,EAAS2W,MAAAA,EAAO3e,OAAAA,IAUhE,OAEE,6BACMmkB,EADN,CAEE8X,KAAMA,EACNqX,QAdJ,SACE7sC,GAEI6sC,GAASA,EAAQ7sC,GAChBA,EAAM0tC,kBAAqBZ,GAC9BC,EAAgB/sC,IAUhBokC,IAAKA,EACL7qC,OAAQA,YA0BHo0C,IAAU,iBACrB,WAWEvJ,GAVA,MAWA,EAVE,gBAAgBwJ,OAAe,IAAG,SADpC,IAWA,EATE5D,cAAAA,OAAa,IAAG,GAFlB,IAWA,EAREtF,UAAWmJ,OAAa,IAAG,KAH7B,IAWA,EAPEhD,IAAAA,OAAG,IAAG,GAJR,EAKSiD,EAMT,EANEj3B,MACAoyB,EAKF,EALEA,GACA3C,EAIF,EAJEA,SACG5oB,EAGL,SACIuY,EAAW2R,KACXzmC,EAAO+nC,GAAgBD,GAEvBQ,EAAmBxT,EAASD,SAC5BoT,EAAajoC,EAAK60B,SACjBgU,IACHP,EAAmBA,EAAiB5gC,cACpCugC,EAAaA,EAAWvgC,eAG1B,IAQI67B,EARAqJ,EACFtE,IAAqBL,IACnByB,GACApB,EAAiB3B,WAAWsB,IACmB,MAA/CK,EAAiB96B,OAAOy6B,EAAW1vC,QAEnCs0C,EAAcD,EAAWH,OAAkBtvC,EAI7ComC,EAD2B,oBAAlBmJ,EACGA,EAAc,CAAEE,SAAAA,IAOhB,CAACF,EAAeE,EAAW,SAAW,MAC/ChxC,OAAO4G,SACPY,KAAK,KAGV,IAAIsS,EACmB,oBAAdi3B,EAA2BA,EAAU,CAAEC,SAAAA,IAAcD,EAE9D,OACE,mBAAClB,GAAD,MACMlvB,EADN,CAEE,eAAcswB,EACdtJ,UAAWA,EACXN,IAAKA,EACLvtB,MAAOA,EACPoyB,GAAIA,IAEiB,oBAAb3C,EAA0BA,EAAS,CAAEyH,SAAAA,IAAczH,MA4D5D,SAAS2H,GAAgBC,GAa9B,IAAIC,GAAyBtuB,EAAAA,EAAAA,QAAauuB,GAAmBF,IAEzDjY,EAAW2R,KACXyG,GAAe,cAAc,WAC/B,IAEA,EAFIA,EAAeD,GAAmBnY,EAASL,QAA/C,KAEgBuY,EAAuB9pC,QAAQzH,QAA/C,yBAAS3C,EAAT,QACOo0C,EAAaC,IAAIr0C,IACpBk0C,EAAuB9pC,QAAQkqC,OAAOt0C,GAAKsD,SAAQtC,SAAAA,GACjDozC,EAAa7xB,OAAOviB,EAAKgB,OAH/B,IAAK,EAAL,qBAAuD,IAMtD,8BAED,OAAOozC,IACN,CAACpY,EAASL,SAETgU,EAAWJ,KAWf,MAAO,CAAC6E,GAVc,kBACpB,SACEG,EACAC,GAEA7E,EAAS,IAAMwE,GAAmBI,GAAWC,KAE/C,CAAC7E,KAmCE,SAASwE,GACd7vC,GAEA,YADiB,IADjBA,IAAAA,EAA4B,IAErB,IAAI0vB,gBACO,kBAAT1vB,GACP9C,MAAMC,QAAQ6C,IACdA,aAAgB0vB,gBACZ1vB,EACAxE,OAAO6C,KAAK2B,GAAMoX,QAAO,SAAC61B,EAAMvxC,GAC9B,IAAIgB,EAAQsD,EAAKtE,GACjB,OAAOuxC,EAAKjsC,OACV9D,MAAMC,QAAQT,GAASA,EAAM4M,KAAI5B,SAAAA,GAAC,MAAI,CAAChM,EAAKgM,MAAM,CAAC,CAAChM,EAAKgB,OAE1D,0BCxdJ,SAASyzC,GAAWz0C,GACzB,MAAO,UAAYA,EAAI0U,OAAO,GAAGC,cAAgB3U,EAAI00C,OAAO,GC7B9D,SAASC,GAAeC,GAAO,IAAI50C,EAEnC,SAAsB60C,EAAOC,GAAQ,GAAqB,kBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMh2C,OAAOm2C,aAAc,QAAa3wC,IAAT0wC,EAAoB,CAAE,IAAI1uC,EAAM0uC,EAAK7zC,KAAK2zC,EAAOC,GAAQ,WAAY,GAAmB,kBAARzuC,EAAkB,OAAOA,EAAK,MAAM,IAAIjH,UAAU,gDAAmD,OAAiB,WAAT01C,EAAoBvsC,OAAS4N,QAAQ0+B,GAFvUI,CAAaL,EAAK,UAAW,MAAsB,kBAAR50C,EAAmBA,EAAMuI,OAAOvI,GAOpH,SAASk1C,GAAoBC,EAAW9kC,EAAc+kC,GACpD,IAAIC,GAAaC,EAAAA,EAAAA,aAAqBjxC,IAAd8wC,GAEpBI,GAAYC,EAAAA,EAAAA,UAASnlC,GACrBolC,EAAaF,EAAU,GACvB9C,EAAW8C,EAAU,GAErBG,OAAuBrxC,IAAd8wC,EACTQ,EAAUN,EAAWjrC,QAWzB,OAVAirC,EAAWjrC,QAAUsrC,GAMhBA,GAAUC,GAAWF,IAAeplC,GACvCoiC,EAASpiC,GAGJ,CAACqlC,EAASP,EAAYM,GAAYG,EAAAA,EAAAA,cAAY,SAAU50C,GAC7D,IAAK,IAAI2D,EAAOvB,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMmD,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGhB,EAAKgB,EAAO,GAAKxB,UAAUwB,GAGzBwwC,GAASA,EAAQlyC,WAAM,EAAQ,CAAClC,GAAOsE,OAAO1B,IAClD6uC,EAASzxC,KACR,CAACo0C,KAIS,SAASS,GAAgBt2C,EAAO4wB,GAC7C,OAAOrwB,OAAO6C,KAAKwtB,GAAQzU,QAAO,SAAU5R,EAAQgsC,GAClD,IAAIC,EAEA/qB,EAAOlhB,EACPuG,EAAe2a,EAAKgrB,GAAiBF,IACrCG,EAAajrB,EAAK8qB,GAClBryB,EAAOyyB,GAA8BlrB,EAAM,CAACgrB,GAAiBF,GAAYA,GAAWloC,IAAI+mC,KAExFwB,EAAchmB,EAAO2lB,GAErBM,EAAuBlB,GAAoBe,EAAY5lC,EAAc9Q,EAAM42C,IAC3En1C,EAAQo1C,EAAqB,GAC7BhB,EAAUgB,EAAqB,GAEnC,OAAOC,GAAS,GAAI5yB,IAAOsyB,EAAY,IAAcD,GAAa90C,EAAO+0C,EAAUI,GAAef,EAASW,MAC1Gx2C,GCjDL,SAAS+2C,KAEP,IAAIr4B,EAAQpa,KAAK9E,YAAYw3C,yBAAyB1yC,KAAKtE,MAAOsE,KAAKoa,OACzD,OAAVA,QAA4B5Z,IAAV4Z,GACpBpa,KAAK4uC,SAASx0B,GAIlB,SAASu4B,GAA0BC,GAQjC5yC,KAAK4uC,SALL,SAAiBiE,GACf,IAAIz4B,EAAQpa,KAAK9E,YAAYw3C,yBAAyBE,EAAWC,GACjE,OAAiB,OAAVz4B,QAA4B5Z,IAAV4Z,EAAsBA,EAAQ,MAGnC+C,KAAKnd,OAG7B,SAAS8yC,GAAoBF,EAAWG,GACtC,IACE,IAAIC,EAAYhzC,KAAKtE,MACjBm3C,EAAY7yC,KAAKoa,MACrBpa,KAAKtE,MAAQk3C,EACb5yC,KAAKoa,MAAQ24B,EACb/yC,KAAKizC,6BAA8B,EACnCjzC,KAAKkzC,wBAA0BlzC,KAAKmzC,wBAClCH,EACAH,GAEF,QACA7yC,KAAKtE,MAAQs3C,EACbhzC,KAAKoa,MAAQy4B,GAMjBJ,GAAmBW,8BAA+B,EAClDT,GAA0BS,8BAA+B,EACzDN,GAAoBM,8BAA+B,EC5BnD,OARA,SAAyBj2C,GACvB,IAAImpC,GAAMmL,EAAAA,EAAAA,QAAOt0C,GAIjB,OAHAk2C,EAAAA,EAAAA,YAAU,WACR/M,EAAI//B,QAAUpJ,IACb,CAACA,IACGmpC,GCdM,SAASgN,GAAiBvtB,GACvC,IAAIugB,EAAMiN,GAAgBxtB,GAC1B,OAAOgsB,EAAAA,EAAAA,cAAY,WACjB,OAAOzL,EAAI//B,SAAW+/B,EAAI//B,QAAQlH,MAAMinC,EAAK/mC,aAC5C,CAAC+mC,ICoBS,SAASkN,KACtB,OAAO7B,EAAAA,EAAAA,UAAS,MCLH,SAAS8B,KACtB,IAAIC,GAAUjC,EAAAA,EAAAA,SAAO,GACjBkC,GAAYlC,EAAAA,EAAAA,SAAO,WACrB,OAAOiC,EAAQntC,WAOjB,OALA8sC,EAAAA,EAAAA,YAAU,WACR,OAAO,WACLK,EAAQntC,SAAU,KAEnB,IACIotC,EAAUptC,QCbJ,SAASqtC,GAAYz2C,GAClC,IAAImpC,GAAMmL,EAAAA,EAAAA,QAAO,MAIjB,OAHA4B,EAAAA,EAAAA,YAAU,WACR/M,EAAI//B,QAAUpJ,KAETmpC,EAAI//B,QCvBb,IAAIstC,GAAkC,qBAAXpsB,EAAAA,GAC3BA,EAAAA,EAAOxiB,WACsB,gBAA7BwiB,EAAAA,EAAOxiB,UAAUorB,QAWjB,GAVgC,qBAAb5L,UAUKovB,GAAgBC,EAAAA,gBAAkBT,EAAAA,UCZ1C,IAAIU,QCFpB,IAAMlN,GAAY,CAAC,KAAM,YASlB,SAASmN,GAAc3qB,GAS3B,IARD4qB,EAAO5qB,EAAP4qB,QACAC,EAAQ7qB,EAAR6qB,SACAxc,EAAIrO,EAAJqO,KACAj8B,EAAM4tB,EAAN5tB,OACA04C,EAAG9qB,EAAH8qB,IACApF,EAAO1lB,EAAP0lB,QAAOqF,EAAA/qB,EACPgrB,SAAAA,OAAQ,IAAAD,EAAG,EAACA,EACZv0C,EAAIwpB,EAAJxpB,KAEKo0C,IAEDA,EADU,MAARvc,GAA0B,MAAVj8B,GAAyB,MAAP04C,EAC1B,IAEA,UAId,IAAM1J,EAAO,CACXwJ,QAAAA,GAGF,GAAgB,WAAZA,EACF,MAAO,CAAC,CACNp0C,KAAMA,GAAQ,SACdq0C,SAAAA,GACCzJ,GAGL,IAAM6J,EAAc,SAAApyC,IACdgyC,GAAwB,MAAZD,GAjCb,SAAuBvc,GAC5B,OAAQA,GAAwB,MAAhBA,EAAKhhB,OAgCgB69B,CAAc7c,KAC/Cx1B,EAAMutC,iBAGJyE,EACFhyC,EAAMsyC,kBAIG,MAAXzF,GAA2BA,EAAQ7sC,IAUrC,MAAO,CAAC,CACNuyC,KAAM,SAGNP,cAAU1zC,EACV6zC,SAAUH,OAAW1zC,EAAY6zC,EACjC3c,KAAkB,MAAZuc,GAAmBC,OAAW1zC,EAAYk3B,EAChDj8B,OAAoB,MAAZw4C,EAAkBx4C,OAAS+E,EACnC,gBAAkB0zC,QAAW1zC,EAC7B2zC,IAAiB,MAAZF,EAAkBE,OAAM3zC,EAC7BuuC,QAASuF,EACTI,UAlBoB,SAAAxyC,GACF,MAAdA,EAAM/F,MACR+F,EAAMutC,iBACN6E,EAAYpyC,MAgBbuoC,GAEL,IAAMkK,GAAsB5yB,EAAAA,YAAiB,SAACoF,EAAMmf,GAClD,IACMsO,EAEFztB,EAFFuf,GACAwN,EACE/sB,EADF+sB,SAEEx4C,EA3EN,SAAuC8D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EA2E5R42C,CAA8BlrB,EAAM0f,IAOtCgO,EAAAzf,GAHL4e,GAAe/3C,OAAOguB,OAAO,CAChCgqB,QAASW,EACTV,SAAAA,GACCx4C,IAAO,GALHo5C,EAAWD,EAAA,GACPlO,EAASkO,EAAA,GAAlBZ,QAKF,OAAoBnN,EAAAA,GAAAA,KAAKH,EAAW1qC,OAAOguB,OAAO,GAAIvuB,EAAOo5C,EAAa,CACxExO,IAAKA,QAGTqO,GAAO3N,YAAc,SACrB,UC1FMH,GAAY,CAAC,aAmBnB,IAAMkO,GAAsBhzB,EAAAA,YAAiB,SAACoF,EAAMmf,GAC9C,IATwB5O,EAU1Bgd,EACEvtB,EADFutB,UAEEh5C,EArBN,SAAuC8D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAqB5R42C,CAA8BlrB,EAAM0f,IAEzCiO,EAEG1f,GAFY4e,GAAe/3C,OAAOguB,OAAO,CACjDgqB,QAAS,KACRv4C,IAAO,GAFQ,GAGZs5C,EAAgB1B,IAAiB,SAAAvtC,GACrC+uC,EAAYJ,UAAU3uC,GACT,MAAb2uC,GAA6BA,EAAU3uC,MAGzC,QAtB4B2xB,EAsBVh8B,EAAMg8B,OArBQ,MAAhBA,EAAKhhB,QAqBahb,EAAM+4C,OAAuB,WAAf/4C,EAAM+4C,MAQlC3N,EAAAA,GAAAA,KAAK,IAAK7qC,OAAOguB,OAAO,CAC1Cqc,IAAKA,GACJ5qC,EAAO,CACRg5C,UAAWA,MAVS5N,EAAAA,GAAAA,KAAK,IAAK7qC,OAAOguB,OAAO,CAC1Cqc,IAAKA,GACJ5qC,EAAOo5C,EAAa,CACrBJ,UAAWM,QAUjBD,GAAO/N,YAAc,SACrB,UChDA,QACY,ECAZ,GAAejlB,EAAAA,cAAoB,MCOxBkzB,GAAY,YACZC,GAAS,SACTC,GAAW,WACXC,GAAU,UACVC,GAAU,UA6FjBC,GAA0B,SAAUC,GCxGzB,IAAwBv4C,EAAUC,ED2G/C,SAASq4C,EAAW55C,EAAOkT,GACzB,IAAI5M,EAEJA,EAAQuzC,EAAiBl4C,KAAK2C,KAAMtE,EAAOkT,IAAY5O,KACvD,IAGIw1C,EADAC,EAFc7mC,IAAAA,EAEuB8mC,WAAah6C,EAAMi6C,MAAQj6C,EAAM+5C,OAuB1E,OArBAzzC,EAAM4zC,aAAe,KAEjBl6C,EAAMm6C,GACJJ,GACFD,EAAgBN,GAChBlzC,EAAM4zC,aAAeT,IAErBK,EAAgBJ,GAIhBI,EADE95C,EAAMo6C,eAAiBp6C,EAAMq6C,aACfd,GAEAC,GAIpBlzC,EAAMoY,MAAQ,CACZ2S,OAAQyoB,GAEVxzC,EAAMg0C,aAAe,KACdh0C,ECxIsC/E,EDyGpBs4C,GCzGUv4C,EDyGtBs4C,GCxGNn6C,UAAYc,OAAOiB,OAAOD,EAAW9B,WAC9C6B,EAAS7B,UAAUD,YAAc8B,EACjC,EAAeA,EAAUC,GDwIzBq4C,EAAW5C,yBAA2B,SAAkCvrB,EAAM0rB,GAG5E,OAFa1rB,EAAK0uB,IAEJhD,EAAU9lB,SAAWkoB,GAC1B,CACLloB,OAAQmoB,IAIL,MAmBT,IAAIe,EAASX,EAAWn6C,UA0OxB,OAxOA86C,EAAOC,kBAAoB,WACzBl2C,KAAKm2C,cAAa,EAAMn2C,KAAK41C,eAG/BK,EAAOG,mBAAqB,SAA4BpD,GACtD,IAAIqD,EAAa,KAEjB,GAAIrD,IAAchzC,KAAKtE,MAAO,CAC5B,IAAIqxB,EAAS/sB,KAAKoa,MAAM2S,OAEpB/sB,KAAKtE,MAAMm6C,GACT9oB,IAAWooB,IAAYpoB,IAAWqoB,KACpCiB,EAAalB,IAGXpoB,IAAWooB,IAAYpoB,IAAWqoB,KACpCiB,EAAahB,IAKnBr1C,KAAKm2C,cAAa,EAAOE,IAG3BJ,EAAOK,qBAAuB,WAC5Bt2C,KAAKu2C,sBAGPN,EAAOO,YAAc,WACnB,IACIC,EAAMd,EAAOF,EADbhjB,EAAUzyB,KAAKtE,MAAM+2B,QAWzB,OATAgkB,EAAOd,EAAQF,EAAShjB,EAET,MAAXA,GAAsC,kBAAZA,IAC5BgkB,EAAOhkB,EAAQgkB,KACfd,EAAQljB,EAAQkjB,MAEhBF,OAA4Bj1C,IAAnBiyB,EAAQgjB,OAAuBhjB,EAAQgjB,OAASE,GAGpD,CACLc,KAAMA,EACNd,MAAOA,EACPF,OAAQA,IAIZQ,EAAOE,aAAe,SAAsBO,EAAUL,QACnC,IAAbK,IACFA,GAAW,GAGM,OAAfL,GAEFr2C,KAAKu2C,qBAEDF,IAAelB,GACjBn1C,KAAK22C,aAAaD,GAElB12C,KAAK42C,eAEE52C,KAAKtE,MAAMo6C,eAAiB91C,KAAKoa,MAAM2S,SAAWmoB,IAC3Dl1C,KAAK4uC,SAAS,CACZ7hB,OAAQkoB,MAKdgB,EAAOU,aAAe,SAAsBD,GAC1C,IAAIjsC,EAASzK,KAET21C,EAAQ31C,KAAKtE,MAAMi6C,MACnBkB,EAAY72C,KAAK4O,QAAU5O,KAAK4O,QAAQ8mC,WAAagB,EAErDrtB,EAAQrpB,KAAKtE,MAAMo7C,QAAU,CAACD,GAAa,CAACE,EAAAA,YAAqB/2C,MAAO62C,GACxEG,EAAY3tB,EAAM,GAClB4tB,EAAiB5tB,EAAM,GAEvB6tB,EAAWl3C,KAAKw2C,cAChBW,EAAeN,EAAYK,EAASzB,OAASyB,EAASvB,OAGrDe,IAAaf,GAASrpB,GACzBtsB,KAAKo3C,aAAa,CAChBrqB,OAAQqoB,KACP,WACD3qC,EAAO/O,MAAM27C,UAAUL,OAK3Bh3C,KAAKtE,MAAM47C,QAAQN,EAAWC,GAC9Bj3C,KAAKo3C,aAAa,CAChBrqB,OAAQooB,KACP,WACD1qC,EAAO/O,MAAM67C,WAAWP,EAAWC,GAEnCxsC,EAAO+sC,gBAAgBL,GAAc,WACnC1sC,EAAO2sC,aAAa,CAClBrqB,OAAQqoB,KACP,WACD3qC,EAAO/O,MAAM27C,UAAUL,EAAWC,cAM1ChB,EAAOW,YAAc,WACnB,IAAI5oC,EAAShO,KAETy2C,EAAOz2C,KAAKtE,MAAM+6C,KAClBS,EAAWl3C,KAAKw2C,cAChBQ,EAAYh3C,KAAKtE,MAAMo7C,aAAUt2C,EAAYu2C,EAAAA,YAAqB/2C,MAEjEy2C,IAAQnqB,IASbtsB,KAAKtE,MAAM+7C,OAAOT,GAClBh3C,KAAKo3C,aAAa,CAChBrqB,OAAQsoB,KACP,WACDrnC,EAAOtS,MAAMg8C,UAAUV,GAEvBhpC,EAAOwpC,gBAAgBN,EAAST,MAAM,WACpCzoC,EAAOopC,aAAa,CAClBrqB,OAAQmoB,KACP,WACDlnC,EAAOtS,MAAMi8C,SAASX,aAlB1Bh3C,KAAKo3C,aAAa,CAChBrqB,OAAQmoB,KACP,WACDlnC,EAAOtS,MAAMi8C,SAASX,OAqB5Bf,EAAOM,mBAAqB,WACA,OAAtBv2C,KAAKg2C,eACPh2C,KAAKg2C,aAAa7Z,SAClBn8B,KAAKg2C,aAAe,OAIxBC,EAAOmB,aAAe,SAAsBrE,EAAWx4B,GAIrDA,EAAWva,KAAK43C,gBAAgBr9B,GAChCva,KAAK4uC,SAASmE,EAAWx4B,IAG3B07B,EAAO2B,gBAAkB,SAAyBr9B,GAChD,IAAInL,EAASpP,KAET63C,GAAS,EAcb,OAZA73C,KAAKg2C,aAAe,SAAU9zC,GACxB21C,IACFA,GAAS,EACTzoC,EAAO4mC,aAAe,KACtBz7B,EAASrY,KAIblC,KAAKg2C,aAAa7Z,OAAS,WACzB0b,GAAS,GAGJ73C,KAAKg2C,cAGdC,EAAOuB,gBAAkB,SAAyB/kB,EAAS8e,GACzDvxC,KAAK43C,gBAAgBrG,GACrB,IAAIuG,EAAO93C,KAAKtE,MAAMo7C,QAAU92C,KAAKtE,MAAMo7C,QAAQvwC,QAAUwwC,EAAAA,YAAqB/2C,MAC9E+3C,EAA0C,MAAXtlB,IAAoBzyB,KAAKtE,MAAMs8C,eAElE,GAAKF,IAAQC,EAAb,CAKA,GAAI/3C,KAAKtE,MAAMs8C,eAAgB,CAC7B,IAAIruB,EAAQ3pB,KAAKtE,MAAMo7C,QAAU,CAAC92C,KAAKg2C,cAAgB,CAAC8B,EAAM93C,KAAKg2C,cAC/DgB,EAAYrtB,EAAM,GAClBsuB,EAAoBtuB,EAAM,GAE9B3pB,KAAKtE,MAAMs8C,eAAehB,EAAWiB,GAGxB,MAAXxlB,GACF9W,WAAW3b,KAAKg2C,aAAcvjB,QAb9B9W,WAAW3b,KAAKg2C,aAAc,IAiBlCC,EAAOiC,OAAS,WACd,IAAInrB,EAAS/sB,KAAKoa,MAAM2S,OAExB,GAAIA,IAAWkoB,GACb,OAAO,KAGT,IAAIkD,EAAcn4C,KAAKtE,MACnB8sC,EAAW2P,EAAY3P,SAgBvB4P,GAfMD,EAAYtC,GACFsC,EAAYpC,aACXoC,EAAYrC,cACnBqC,EAAY1C,OACb0C,EAAYxC,MACbwC,EAAY1B,KACT0B,EAAY1lB,QACL0lB,EAAYH,eACnBG,EAAYb,QACTa,EAAYZ,WACbY,EAAYd,UACfc,EAAYV,OACTU,EAAYT,UACbS,EAAYR,SACbQ,EAAYrB,QACVzE,GAA8B8F,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGEp2B,EAAAA,cAAoBs2B,GAAuBtS,SAAU,CACnD5oC,MAAO,MACc,oBAAbqrC,EAA0BA,EAASzb,EAAQqrB,GAAcr2B,EAAAA,aAAmBA,EAAAA,SAAAA,KAAoBymB,GAAW4P,KAIlH9C,EAzSqB,CA0S5BvzB,EAAAA,WA+LF,SAAShF,MA7LTu4B,GAAWgD,YAAcD,GACzB/C,GAAWiD,UA0LP,GAIJjD,GAAWrO,aAAe,CACxB4O,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPc,MAAM,EACNa,QAASv6B,GACTw6B,WAAYx6B,GACZs6B,UAAWt6B,GACX06B,OAAQ16B,GACR26B,UAAW36B,GACX46B,SAAU56B,IAEZu4B,GAAWL,UAAYA,GACvBK,GAAWJ,OAASA,GACpBI,GAAWH,SAAWA,GACtBG,GAAWF,QAAUA,GACrBE,GAAWD,QAAUA,GACrB,UElmBe,SAASmD,GAAcV,GACpC,OAAOA,GAAQA,EAAKU,eAAiB/zB,SCExB,SAASg0B,GAAiBX,EAAMY,GAC7C,OCFa,SAAqBZ,GAClC,IAAIa,EAAMH,GAAcV,GACxB,OAAOa,GAAOA,EAAIC,aAAe5zC,ODA1B6zC,CAAYf,GAAMW,iBAAiBX,EAAMY,GETlD,IAAII,GAAS,WCMb,IAAIC,GAAY,OACD,SAASC,GAAmBpoC,GACzC,ODPa,SAAmBA,GAChC,OAAOA,EAAOnN,QAAQq1C,GAAQ,OAAO/tC,cCM9BkuC,CAAUroC,GAAQnN,QAAQs1C,GAAW,QCR9C,IAAIG,GAAsB,8EC+B1B,OA3BA,SAAepB,EAAMqB,GACnB,IAAIC,EAAM,GACNC,EAAa,GAEjB,GAAwB,kBAAbF,EACT,OAAOrB,EAAK/+B,MAAMugC,iBAAiBL,GAAUE,KAAcV,GAAiBX,GAAMwB,iBAAiBL,GAAUE,IAG/Gl9C,OAAO6C,KAAKq6C,GAAU15C,SAAQ,SAAUtD,GACtC,IAAIgB,EAAQg8C,EAASh9C,GAEhBgB,GAAmB,IAAVA,GDdH,SAAqBA,GAClC,SAAUA,IAAS+7C,GAAoBz6C,KAAKtB,ICe/Bo8C,CAAYp9C,GAGrBi9C,GAAOH,GAAU98C,GAAO,KAAOgB,EAAQ,IAFvCk8C,GAAcl9C,EAAM,IAAMgB,EAAQ,KAFlC26C,EAAK/+B,MAAMygC,eAAeP,GAAU98C,OAQpCk9C,IACFD,GAAO,cAAgBC,EAAa,KAGtCvB,EAAK/+B,MAAM0gC,SAAW,IAAML,GC5B9B,KAAoC,qBAAXp0C,SAA0BA,OAAOyf,WAAYzf,OAAOyf,SAASC,eCE3Eg1B,IAAmB,EACnBC,IAAgB,EAE3B,IACE,IAAIp5C,GAAU,CACRq5C,cACF,OAAOF,IAAmB,GAGxBG,WAEF,OAAOF,GAAgBD,IAAmB,IAK1CI,KACF90C,OAAOg3B,iBAAiB,OAAQz7B,GAASA,IACzCyE,OAAOm1B,oBAAoB,OAAQ55B,IAAS,IAE9C,MAAOwF,KAiCT,OArBA,SAA0B+xC,EAAMiC,EAAWxI,EAAShxC,GAClD,GAAIA,GAA8B,mBAAZA,IAA0Bo5C,GAAe,CAC7D,IAAIE,EAAOt5C,EAAQs5C,KACfG,EAAUz5C,EAAQy5C,QAClBC,EAAiB1I,GAEhBoI,IAAiBE,IACpBI,EAAiB1I,EAAQ2I,QAAU,SAASC,EAAYj4C,GACtDlC,KAAKm6B,oBAAoB4f,EAAWI,EAAaH,GACjDzI,EAAQl0C,KAAK2C,KAAMkC,IAGrBqvC,EAAQ2I,OAASD,GAGnBnC,EAAK9b,iBAAiB+d,EAAWE,EAAgBP,GAAmBn5C,EAAUy5C,GAGhFlC,EAAK9b,iBAAiB+d,EAAWxI,EAAShxC,ICnC5C,OATA,SAA6Bu3C,EAAMiC,EAAWxI,EAAShxC,GACrD,IAAIy5C,EAAUz5C,GAA8B,mBAAZA,EAAwBA,EAAQy5C,QAAUz5C,EAC1Eu3C,EAAK3d,oBAAoB4f,EAAWxI,EAASyI,GAEzCzI,EAAQ2I,QACVpC,EAAK3d,oBAAoB4f,EAAWxI,EAAQ2I,OAAQF,ICHxD,OAPA,SAAgBlC,EAAMiC,EAAWxI,EAAShxC,GAExC,OADAy7B,GAAiB8b,EAAMiC,EAAWxI,EAAShxC,GACpC,WACL45B,GAAoB2d,EAAMiC,EAAWxI,EAAShxC,KCIlD,SAAS65C,GAAqBnO,EAASoO,EAAUC,QAC/B,IAAZA,IACFA,EAAU,GAGZ,IAAIC,GAAS,EACThyC,EAASoT,YAAW,WACjB4+B,GCTM,SAAsBzC,EAAMiC,EAAWS,EAASC,GAS7D,QARgB,IAAZD,IACFA,GAAU,QAGO,IAAfC,IACFA,GAAa,GAGX3C,EAAM,CACR,IAAI51C,EAAQuiB,SAASi2B,YAAY,cACjCx4C,EAAMy4C,UAAUZ,EAAWS,EAASC,GACpC3C,EAAK8C,cAAc14C,IDHN24C,CAAa5O,EAAS,iBAAiB,KACnDoO,EAAWC,GACVh/B,EAASuzB,GAAO5C,EAAS,iBAAiB,WAC5CsO,GAAS,IACR,CACDV,MAAM,IAER,OAAO,WACLiB,aAAavyC,GACb+S,KAIW,SAASy/B,GAAc9O,EAASsF,EAAS8I,EAAUC,GAChD,MAAZD,IAAkBA,EA3BxB,SAAuBvC,GACrB,IAAIlzC,EAAMw0C,GAAItB,EAAM,uBAAyB,GACzCkD,GAA8B,IAAvBp2C,EAAIpB,QAAQ,MAAe,IAAO,EAC7C,OAAOy3C,WAAWr2C,GAAOo2C,EAwBQE,CAAcjP,IAAY,GAC3D,IAAIkP,EAAgBf,GAAqBnO,EAASoO,EAAUC,GACxDh/B,EAASuzB,GAAO5C,EAAS,gBAAiBsF,GAC9C,OAAO,WACL4J,IACA7/B,KEjCJ,SAAS4/B,GAAcpD,EAAMqB,GAC3B,IAAMv0C,EAAMw0C,GAAItB,EAAMqB,IAAa,GAC7B6B,GAA8B,IAAvBp2C,EAAIpB,QAAQ,MAAe,IAAO,EAC/C,OAAOy3C,WAAWr2C,GAAOo2C,EAGZ,SAASI,GAAsBnP,EAASsF,GACrD,IAAM8I,EAAWa,GAAcjP,EAAS,sBAClCoP,EAAQH,GAAcjP,EAAS,mBAC/B3wB,EAASy/B,GAAc9O,GAAS,SAAAlmC,GAChCA,EAAEtK,SAAWwwC,IACf3wB,IACAi2B,EAAQxrC,MAETs0C,EAAWgB,GCfD,SAASC,GAAqBxD,GAE3CA,EAAKyD,aCFP,IAAIC,GAAU,SAAiBlV,GAC7B,OAAQA,GAAsB,oBAARA,EAA2B,SAAUnpC,GACzDmpC,EAAI//B,QAAUpJ,GAD2BmpC,GAoC7C,OANA,SAAuBmV,EAAMC,GAC3B,OAAOC,EAAAA,EAAAA,UAAQ,WACb,OA3BG,SAAmBF,EAAMC,GAC9B,IAAI14C,EAAIw4C,GAAQC,GACZ/xB,EAAI8xB,GAAQE,GAChB,OAAO,SAAUv+C,GACX6F,GAAGA,EAAE7F,GACLusB,GAAGA,EAAEvsB,IAsBFy+C,CAAUH,EAAMC,KACtB,CAACD,EAAMC,KCnCG,SAASG,GAAgBC,GACtC,OAAIA,GAAsB,aAAcA,EAC/B/E,EAAAA,YAAqB+E,GAGD,MAAtBA,EAA6BA,EAAqB,2HCArDC,GAAiCh6B,EAAAA,YAAiB,SAAAoF,EAWrDmf,GAAQ,IAVTgR,EAAOnwB,EAAPmwB,QACAC,EAAUpwB,EAAVowB,WACAF,EAASlwB,EAATkwB,UACAI,EAAMtwB,EAANswB,OACAC,EAASvwB,EAATuwB,UACAC,EAAQxwB,EAARwwB,SACAK,EAAc7wB,EAAd6wB,eACAxP,EAAQrhB,EAARqhB,SACAwT,EAAQ70B,EAAR60B,SACGtgD,EAAK+pC,GAAAte,EAAA0f,IAEFiQ,GAAUrF,EAAAA,EAAAA,QAAO,MACjBwK,EAAYC,GAAcpF,EAASkF,GAEnCG,EAAY,SAAAtyC,GAChBoyC,EAAUJ,GAAgBhyC,KAGtBusB,EAAY,SAAA7b,GAAQ,OAAI,SAAA6hC,GACxB7hC,GAAYu8B,EAAQvwC,SACtBgU,EAASu8B,EAAQvwC,QAAS61C,KAMxBC,GAActK,EAAAA,EAAAA,aAAY3b,EAAUkhB,GAAU,CAACA,IAC/CgF,GAAiBvK,EAAAA,EAAAA,aAAY3b,EAAUmhB,GAAa,CAACA,IACrDgF,GAAgBxK,EAAAA,EAAAA,aAAY3b,EAAUihB,GAAY,CAACA,IACnDmF,GAAazK,EAAAA,EAAAA,aAAY3b,EAAUqhB,GAAS,CAACA,IAC7CgF,GAAgB1K,EAAAA,EAAAA,aAAY3b,EAAUshB,GAAY,CAACA,IACnDgF,GAAe3K,EAAAA,EAAAA,aAAY3b,EAAUuhB,GAAW,CAACA,IACjDgF,GAAuB5K,EAAAA,EAAAA,aAAY3b,EAAU4hB,GAAiB,CAACA,IAGrE,OAAoBlR,EAAAA,GAAAA,KAAKwO,GAAUh2C,GAAAA,GAAA,CACjCgnC,IAAKA,GACF5qC,GAAK,IACR47C,QAAS+E,EACThF,UAAWkF,EACXhF,WAAY+E,EACZ7E,OAAQ+E,EACR7E,SAAU+E,EACVhF,UAAW+E,EACXzE,eAAgB2E,EAChB7F,QAASA,EACTtO,SAA8B,oBAAbA,EAA0B,SAACzb,EAAQ6vB,GAAU,OAAKpU,EAASzb,EAAMztB,GAAAA,GAAA,GAAOs9C,GAAU,IACjGtW,IAAK6V,MACWp6B,EAAAA,aAAmBymB,EAAU,CAC7ClC,IAAK6V,UAIX,sDC7CMU,IAAUr/C,EAAAs/C,GAAG,GAChB3H,GAAW,QAAM33C,EAAAs/C,GACjB1H,GAAU,QAAM0H,IAEbC,GAAoBh7B,EAAAA,YAAiB,SAAAoF,EAKxCmf,GAAQ,IAJTM,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SAAQwU,EAAA71B,EACR81B,kBAAAA,OAAiB,IAAAD,EAAG,GAAEA,EACnBthD,EAAK+pC,GAAAte,EAAA0f,IAEFwV,GAActK,EAAAA,EAAAA,cAAY,SAAC+F,EAAMoF,GACrC5B,GAAqBxD,GACJ,MAAjBp8C,EAAM47C,SAA2B57C,EAAM47C,QAAQQ,EAAMoF,KACpD,CAACxhD,IACJ,OAAoBorC,EAAAA,GAAAA,KAAKiV,GAAiBz8C,GAAAA,GAAA,CACxCgnC,IAAKA,EACL0R,eAAgBoD,IACb1/C,GAAK,IACR47C,QAAS+E,EACTL,SAAUxT,EAASlC,IACnBkC,SAAU,SAACzb,EAAQ6vB,GAAU,OAAkB76B,EAAAA,aAAmBymB,EAAQlpC,GAAAA,GAAA,GAAOs9C,GAAU,IACzFhW,UAAWG,IAAAA,CAAW,OAAQH,EAAW4B,EAAS9sC,MAAMkrC,UAAWiW,GAAW9vB,GAASkwB,EAAkBlwB,cAI/GgwB,GAAK9V,aAhCgB,CACnB4O,IAAI,EACJpjB,QAAS,IACTsjB,cAAc,EACdD,eAAe,EACfL,QAAQ,GA4BVsH,GAAK/V,YAAc,OACnB,wDCtCMuR,GAAY,CAChB,aAAc4E,KAAAA,OACdpO,QAASoO,KAAAA,KAOTC,QAASD,KAAAA,MAAgB,CAAC,WAKtBE,GAA2Bt7B,EAAAA,YAAiB,SAAAoF,EAI/Cmf,GAAG,IAHJM,EAASzf,EAATyf,UACAwW,EAAOj2B,EAAPi2B,QACG1hD,EAAK+pC,GAAAte,EAAA0f,IAAA,OACcC,EAAAA,GAAAA,KAAK,SAAQxnC,GAAA,CACnCgnC,IAAKA,EACLzmC,KAAM,SACN+mC,UAAWG,IAAAA,CAAW,YAAaqW,GAAW,aAAJ37C,OAAiB27C,GAAWxW,IACnElrC,OAEL2hD,GAAYrW,YAAc,cAC1BqW,GAAY9E,UAAYA,GACxB8E,GAAYpW,aAfS,CACnB,aAAc,SAehB,UC5BA,YAAgBL,GAAS,OAAiB7kB,EAAAA,YAAiB,SAACnlB,EAAG0pC,GAAG,OAAkBQ,EAAAA,GAAAA,KAAK,MAAKxnC,GAAAA,GAAA,GAAO1C,GAAC,IACpG0pC,IAAKA,EACLM,UAAWG,IAAAA,CAAWnqC,EAAEgqC,UAAWA,UCLjC0W,GAAU,6CCMRC,GAAa,SAAA34C,GAAG,OAAIA,EAAI,GAAGkM,eDLAF,ECKyBhM,EDJjDgM,EAAOnN,QAAQ65C,IAAS,SAAUhQ,EAAGkQ,GAC1C,OAAOA,EAAI1sC,kBCGgDvS,MAAM,GDLtD,IAAkBqS,GCQlB,SAAS6sC,GAAmB/8C,GAInC,IAAAymB,EAAA5nB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAJ,GAAEm+C,EAAAv2B,EAHJ6f,YAAAA,OAAW,IAAA0W,EAAGH,GAAW78C,GAAOg9C,EAChC/W,EAASxf,EAATwf,UACAM,EAAY9f,EAAZ8f,aAEM0W,EAA2B57B,EAAAA,YAAiB,SAAAsH,EAK/Cid,GAAQ,IAJTM,EAASvd,EAATud,UACAL,EAAQld,EAARkd,SAAQqX,EAAAv0B,EACRqd,GAAImX,OAAG,IAAAD,EAAGjX,GAAa,MAAKiX,EACzBliD,EAAK+pC,GAAApc,EAAAwd,IAEFiX,EAAiB9X,GAAmBO,EAAU7lC,GACpD,OAAoBomC,EAAAA,GAAAA,KAAK+W,EAAGv+C,GAAA,CAC1BgnC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWkX,IAC9BpiD,OAKP,OAFAiiD,EAAY1W,aAAeA,EAC3B0W,EAAY3W,YAAcA,EACnB2W,+HCjBHI,GAAgBC,GAAiB,MACvCD,GAAc/W,YAAc,gBAC5B,IAAMiX,GAAeR,GAAmB,gBAAiB,CACvD9W,UAAWoX,KAEPG,GAAYT,GAAmB,aAAc,CACjD9W,UAAWoO,KAEP9N,GAAe,CACnBmW,QAAS,UACTe,MAAM,EACNC,WAAYrB,GACZsB,WAAY,eAERC,GAAqBv8B,EAAAA,YAAiB,SAACw8B,EAAmBjY,GAC9D,IAAAkY,EAYIxM,GAAgBuM,EAAmB,CACrCJ,KAAM,YAZN5X,EAAQiY,EAARjY,SACA4X,EAAIK,EAAJL,KACAE,EAAUG,EAAVH,WACAI,EAAYD,EAAZC,aACA7X,EAAS4X,EAAT5X,UACA4B,EAAQgW,EAARhW,SACA4U,EAAOoB,EAAPpB,QACAsB,EAAOF,EAAPE,QACAC,EAAWH,EAAXG,YACAP,EAAUI,EAAVJ,WACG1iD,EAAK+pC,GAAA+Y,EAAA3X,IAIJnmC,EAASslC,GAAmBO,EAAU,SACtCqY,EAActL,IAAiB,SAAAvtC,GAC/B24C,GACFA,GAAQ,EAAO34C,MAGbuvC,GAA4B,IAAf8I,EAAsBrB,GAAOqB,EAE1CS,GAAqBC,EAAAA,GAAAA,MAAM,MAAKx/C,GAAAA,GAAA,CACpCm1C,KAAM,SACDa,OAAqB90C,EAAR9E,GAAiB,IACnC4qC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQ08C,GAAW,GAAJ37C,OAAOf,EAAM,KAAAe,OAAI27C,GAAWuB,GAAe,GAAJl9C,OAAOf,EAAM,iBACpG8nC,SAAU,CAACmW,IAA4B7X,EAAAA,GAAAA,KAAKuW,GAAa,CACvDtO,QAAS6P,EACT,aAAcP,EACdjB,QAASqB,IACPjW,MAGN,OAAK8M,GACexO,EAAAA,GAAAA,KAAKwO,EAAUh2C,GAAAA,GAAA,CACjCw2C,eAAe,GACZp6C,GAAK,IACR4qC,SAAK9lC,EACLq1C,GAAIsI,EACJ3V,SAAUqW,KANYV,EAAOU,EAAQ,QASzCP,GAAMtX,YAAc,QACpBsX,GAAMrX,aAAeA,GACrB,OAAehrC,OAAOguB,OAAOq0B,GAAO,CAClCxP,KAAMoP,GACNa,QAASd,gECjELtJ,GAAsB5yB,EAAAA,YAAiB,SAAAoF,EAQ1Cmf,GAAQ,IAPTI,EAAEvf,EAAFuf,GACAH,EAAQpf,EAARof,SACA6W,EAAOj2B,EAAPi2B,QACA1xB,EAAIvE,EAAJuE,KACAmsB,EAAM1wB,EAAN0wB,OACAjR,EAASzf,EAATyf,UACGlrC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,OAM1CsO,EAAAzf,GAHG4e,GAAc10C,GAAC,CAClB20C,QAASvN,GACNhrC,IACH,GALKo5C,EAAWD,EAAA,GAMZlO,EALGkO,EAAA,GAAPZ,QAMF,OAAoBnN,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAAA,GAAA,GAAO5D,GACpCo5C,GAAW,IACdxO,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQm3C,GAAU,SAAUuF,GAAW,GAAJ37C,OAAOf,EAAM,KAAAe,OAAI27C,GAAW1xB,GAAQ,GAAJjqB,OAAOf,EAAM,KAAAe,OAAIiqB,GAAQhwB,EAAMg8B,MAAQh8B,EAAMw4C,UAAY,kBAGjKS,GAAO3N,YAAc,SACrB2N,GAAO1N,aA7Bc,CACnBmW,QAAS,UACTvF,QAAQ,EACR3D,UAAU,GA2BZ,UCnCO,SAASh0C,KACd,GAAIE,SAAWA,QAAQF,KAAM,CAG3B,IAFA,IAAI8+C,EAEKl+C,EAAOvB,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMmD,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EhB,EAAKgB,GAAQxB,UAAUwB,GAGF,kBAAZhB,EAAK,KAAiBA,EAAK,GAAK,mBAAmB0B,OAAO1B,EAAK,MAEzEi/C,EAAW5+C,SAASF,KAAKb,MAAM2/C,EAAUj/C,IAG9C,IAAIk/C,GAAgB,GACb,SAASC,KACd,IAAK,IAAIj+C,EAAQ1B,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMsD,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFnB,EAAKmB,GAAS3B,UAAU2B,GAGH,kBAAZnB,EAAK,IAAmBk/C,GAAcl/C,EAAK,MAC/B,kBAAZA,EAAK,KAAiBk/C,GAAcl/C,EAAK,IAAM,IAAI82B,MAC9D32B,GAAKb,WAAM,EAAQU,IAEd,SAASohB,GAAeoE,EAAMve,EAAIm4C,GACvC55B,EAAKpE,eAAena,GAAI,WACtB,GAAIue,EAAKhI,cACP4hC,QACK,CAQL55B,EAAKzH,GAAG,eAPU,SAASshC,IACzBzjC,YAAW,WACT4J,EAAK85B,IAAI,cAAeD,KACvB,GACHD,WAOD,SAAStvC,GAAmB7I,EAAIue,GACrC,IAAIhlB,EAAUhB,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAElF,IAAKgmB,EAAKjL,YAAciL,EAAKjL,UAAU1e,OAErC,OADAsjD,GAAS,yCAA0C35B,EAAKjL,YACjD,EAGT,IAAIjT,EAAMke,EAAKjL,UAAU,GACrBpN,IAAcqY,EAAKhlB,SAAUglB,EAAKhlB,QAAQ2M,YAC1CgT,EAAUqF,EAAKjL,UAAUiL,EAAKjL,UAAU1e,OAAS,GACrD,GAA0B,WAAtByL,EAAI0D,cAA4B,OAAO,EAE3C,IAAIoV,EAAiB,SAAwBhe,EAAG9D,GAC9C,IAAI+hB,EAAYmF,EAAKtc,SAASwE,iBAAiB2M,MAAM,GAAG3Y,OAAOU,EAAG,KAAKV,OAAOpD,IAC9E,OAAsB,IAAf+hB,GAAkC,IAAdA,GAG7B,QAAI7f,EAAQghB,UAAYhhB,EAAQghB,SAAS/d,QAAQ,qBAAuB,GAAK+hB,EAAKtc,SAASwE,iBAAiByM,SAAWqL,EAAKtG,uBAAyBkB,EAAeoF,EAAKtG,qBAAsBjY,QAC3Lue,EAAK1d,kBAAkBR,EAAKL,MAC3Bue,EAAKtc,SAASwE,iBAAiByM,YAChCiG,EAAe9Y,EAAKL,IAASkG,IAAeiT,EAAeD,EAASlZ,MCzD1E,SAASrI,GAAQC,EAAQC,GAAkB,IAAIC,EAAO7C,OAAO6C,KAAKF,GAAS,GAAI3C,OAAO8C,sBAAuB,CAAE,IAAIC,EAAU/C,OAAO8C,sBAAsBH,GAAaC,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOjD,OAAOkD,yBAAyBP,EAAQM,GAAKpD,eAAkBgD,EAAKM,KAAKC,MAAMP,EAAME,GAAY,OAAOF,EAElV,SAASQ,GAAc7D,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAAyB,MAAhBD,UAAU5D,GAAa4D,UAAU5D,GAAK,GAAQA,EAAI,EAAKgD,GAAQ1C,OAAOuD,IAAS,GAAMC,SAAQ,SAAUtD,GAAOqB,EAAgB/B,EAAQU,EAAKqD,EAAOrD,OAAsBF,OAAOyD,0BAA6BzD,OAAO0D,iBAAiBlE,EAAQQ,OAAOyD,0BAA0BF,IAAmBb,GAAQ1C,OAAOuD,IAASC,SAAQ,SAAUtD,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOkD,yBAAyBK,EAAQrD,OAAe,OAAOV,EAKtgB,SAAS6jD,GAAet4C,GAC7B,IAAItL,EAAQ6D,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,GAC5EggD,EAAgB7jD,EAAM6pB,KAEtB4B,GAAO+e,EAAAA,EAAAA,YAAWpkB,KAAgB,GAClC09B,EAAkBr4B,EAAK5B,KACvBk6B,EAAuBt4B,EAAKlgB,UAE5Bse,EAAOg6B,GAAiBC,GAAmBr9B,KAG/C,GAFIoD,IAASA,EAAKm6B,mBAAkBn6B,EAAKm6B,iBAAmB,IAAIz9B,KAE3DsD,EAAM,CACT25B,GAAS,0EAET,IAAIS,EAAY,SAAmB77C,GACjC,OAAOnG,MAAMC,QAAQkG,GAAKA,EAAEA,EAAElI,OAAS,GAAKkI,GAG1C87C,EAAc,CAACD,EAAW,IAAI,GAIlC,OAHAC,EAAY18C,EAAIy8C,EAChBC,EAAYr6B,KAAO,GACnBq6B,EAAYC,OAAQ,EACbD,EAGLr6B,EAAKhlB,QAAQ+hB,YAAqC9hB,IAA5B+kB,EAAKhlB,QAAQ+hB,MAAM5G,MAAoBwjC,GAAS,uGAE1E,IAAIY,EAAcxgD,GAAcA,GAAcA,GAAc,GAAI0iB,MAAgBuD,EAAKhlB,QAAQ+hB,OAAQ5mB,GAEjGmmB,EAAci+B,EAAYj+B,YAC1BpC,EAAYqgC,EAAYrgC,UACxBnW,EAAatC,GAAMy4C,GAAwBl6B,EAAKhlB,SAAWglB,EAAKhlB,QAAQ0G,UAC5EqC,EAAmC,kBAAfA,EAA0B,CAACA,GAAcA,GAAc,CAAC,eACxEic,EAAKm6B,iBAAiBK,mBAAmBx6B,EAAKm6B,iBAAiBK,kBAAkBz2C,GACrF,IAAIu2C,GAASt6B,EAAKhI,eAAiBgI,EAAKhH,uBAAyBjV,EAAWghC,OAAM,SAAUjsC,GAC1F,OAAOwR,GAAmBxR,EAAGknB,EAAMu6B,MAGrC,SAASE,IACP,OAAOz6B,EAAKtE,UAAU,KAA6B,aAAvB6+B,EAAYG,OAAwB32C,EAAaA,EAAW,GAAImW,GAG9F,IAAIiyB,GAAYC,EAAAA,EAAAA,UAASqO,GACrBE,EAAa9qB,GAAesc,EAAW,GACvCxuC,EAAIg9C,EAAW,GACfC,EAAOD,EAAW,GAElBvM,GAAYlC,EAAAA,EAAAA,SAAO,IACvB4B,EAAAA,EAAAA,YAAU,WACR,IAAI9xB,EAAWu+B,EAAYv+B,SACvBC,EAAgBs+B,EAAYt+B,cAShC,SAAS4+B,IACHzM,EAAUptC,SAAS45C,EAAKH,GAK9B,OAdArM,EAAUptC,SAAU,EAEfs5C,GAAUh+B,GACbV,GAAeoE,EAAMjc,GAAY,WAC3BqqC,EAAUptC,SAAS45C,EAAKH,MAQ5Bz+B,GAAYgE,GAAMA,EAAKzH,GAAGyD,EAAU6+B,GACpC5+B,GAAiB+D,GAAMA,EAAKpL,MAAM2D,GAAG0D,EAAe4+B,GACjD,WACLzM,EAAUptC,SAAU,EAChBgb,GAAYgE,GAAMhE,EAAStf,MAAM,KAAKxC,SAAQ,SAAUsG,GAC1D,OAAOwf,EAAK85B,IAAIt5C,EAAGq6C,MAEjB5+B,GAAiB+D,GAAM/D,EAAcvf,MAAM,KAAKxC,SAAQ,SAAUsG,GACpE,OAAOwf,EAAKpL,MAAMklC,IAAIt5C,EAAGq6C,SAG5B,CAAC76B,EAAMjc,EAAW7C,SACrB,IAAI45C,GAAY5O,EAAAA,EAAAA,SAAO,IACvB4B,EAAAA,EAAAA,YAAU,WACJM,EAAUptC,UAAY85C,EAAU95C,SAClC45C,EAAKH,GAGPK,EAAU95C,SAAU,IACnB,CAACgf,IACJ,IAAI/I,EAAM,CAACtZ,EAAGqiB,EAAMs6B,GAIpB,GAHArjC,EAAItZ,EAAIA,EACRsZ,EAAI+I,KAAOA,EACX/I,EAAIqjC,MAAQA,EACRA,EAAO,OAAOrjC,EAClB,IAAKqjC,IAAUh+B,EAAa,OAAOrF,EACnC,MAAM,IAAI7Z,SAAQ,SAAUC,GAC1Bue,GAAeoE,EAAMjc,GAAY,WAC/B1G,UCzFC,SAAS09C,GAAgBn5B,GAAc,IAAZqhB,EAAQrhB,EAARqhB,SAChC,OACE1B,EAAAA,GAAAA,KAACyZ,GAAAA,cAAa,CAACC,kBAAmBC,GAAcjY,UAC9C1B,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAGA,MAKT,SAASiY,GAAap3B,GAA+B,IAA7BlpB,EAAKkpB,EAALlpB,MAAOwgD,EAAkBt3B,EAAlBs3B,mBACeC,EAAAxrB,GAApBrT,EAAAA,UAAe,GAAK,GAArCo8B,EAAIyC,EAAA,GAAEC,EAAOD,EAAA,GAEdE,EAAe/+B,EAAAA,aAAkB,WACrC8+B,GAAQ,GACRF,MACC,CAACE,EAASF,IAEb,OAAKxC,GAEHrX,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACdsW,EAAAA,GAAAA,MAACR,GAAK,CAAClB,QAAQ,SAASsB,QAAS,kBAAMmC,GAAQ,IAAQlC,aAAW,EAAAnW,SAAA,EAChE1B,EAAAA,GAAAA,KAACwX,GAAAA,QAAa,CAAA9V,SAAC,uBACf1B,EAAAA,GAAAA,KAACia,GAAW,CAAC5gD,MAAOA,KACpB2mC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS+R,EAAatY,SAAC,aANnD1B,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAYpB,SAASK,GAAWp3B,GAAW,IAADq3B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAARlhD,EAAKwpB,EAALxpB,MACb+C,EAAKo8C,KAALp8C,EAEP,IAAK/C,EAAO,OACV2mC,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wBAGL,IAC6F8Y,EAiCjEC,EAAAC,EAAAC,EAlCtBzmC,EAAW,OAAL7a,QAAK,IAALA,GAAe,QAAV6gD,EAAL7gD,EAAOqsB,gBAAQ,IAAAw0B,OAAV,EAALA,EAAiB38C,KAC7B,OAAO,OAAH2W,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,QAASmV,KAAkB,OAAHjK,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,QAASmV,KAAmB,OAAHjK,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,QAASmV,IAEzE65B,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAEO,OAAHxtB,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,QAASmV,KACd65B,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAItlC,EAAE,iBAAgB4jC,EAAAA,GAAAA,KAAC+I,GAAO,CAAC1E,GAAG,kBAAiB3C,SAAEtlC,EAAE,sBAEpD,OAAH8X,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,QAASmV,KAAgB6hB,EAAAA,GAAAA,KAAA,KAAA0B,SAAItlC,EAAE,kBACjC,OAAH8X,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,QAASmV,KAAkB6hB,EAAAA,GAAAA,KAAA,KAAA0B,SAAItlC,EAAE,oBACxC47C,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,eACe,OAAHxtB,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,SAEpBg3B,EAAAA,GAAAA,KAAA,KAAA0B,UACE1B,EAAAA,GAAAA,KAAA,OAAK/tB,MAAO,CAAC2oC,WAAY,YAAYlZ,SAAK,OAAHxtB,QAAG,IAAHA,GAAS,QAANsmC,EAAHtmC,EAAK3W,YAAI,IAAAi9C,OAAN,EAAHA,EAAWj1B,eAMnD,OAAHrR,QAAG,IAAHA,GAAAA,EAAKlL,MACPgvC,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,YACQ,GAAA/mC,OAAiB,QAAjBw/C,EAAI9gD,EAAMosB,eAAO,IAAA00B,OAAA,EAAbA,EAAe5lB,aAAc,KAACyL,EAAAA,GAAAA,KAAA,SAAK,WACxC,GAAArlC,OAAkB,QAAlBy/C,EAAI/gD,EAAMqsB,gBAAQ,IAAA00B,OAAA,EAAdA,EAAgBn0B,QAAS,IAAC,GAAAtrB,OAAkB,QAAlB0/C,EAAIhhD,EAAMqsB,gBAAQ,IAAA20B,OAAA,EAAdA,EAAgBnmB,YAAa,KAAC8L,EAAAA,GAAAA,KAAA,SAAK,SACvE,GAAArlC,OAAO,OAAHuZ,QAAG,IAAHA,OAAG,EAAHA,EAAKlL,MAAO,KAACg3B,EAAAA,GAAAA,KAAA,SAAK,YACnB,GAAArlC,OAAO,OAAHuZ,QAAG,IAAHA,GAAS,QAANomC,EAAHpmC,EAAK3W,YAAI,IAAA+8C,OAAN,EAAHA,EAAW/0B,SAAU,KAACya,EAAAA,GAAAA,KAAA,SAAK,KAACA,EAAAA,GAAAA,KAAA,aAE3CA,EAAAA,GAAAA,KAAA,OAAA0B,SACG/wB,KAAKsL,UAAU5iB,EAAMqsB,SAASnoB,KAAM,KAAM,QAK/B,QAAlBg9C,EAAIlhD,EAAMqsB,gBAAQ,IAAA60B,GAAdA,EAAgBt0B,QAEhB+xB,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,YACQ,GAAA/mC,OAAiB,QAAjB8/C,EAAIphD,EAAMosB,eAAO,IAAAg1B,OAAA,EAAbA,EAAelmB,aAAc,KAACyL,EAAAA,GAAAA,KAAA,SAAK,WACxC,GAAArlC,OAAkB,QAAlB+/C,EAAIrhD,EAAMqsB,gBAAQ,IAAAg1B,OAAA,EAAdA,EAAgBz0B,QAAS,IAAC,GAAAtrB,OAAkB,QAAlBggD,EAAIthD,EAAMqsB,gBAAQ,IAAAi1B,OAAA,EAAdA,EAAgBzmB,YAAa,KAAC8L,EAAAA,GAAAA,KAAA,SAAK,SACvE,GAAArlC,OAAIuZ,MAKZ7a,aAAiB0e,OAEjBigC,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,SACMroC,EAAM3B,KAAK,KAACsoC,EAAAA,GAAAA,KAAA,SAAK,YACd3mC,EAAMksB,QAAQ,KAACya,EAAAA,GAAAA,KAAA,SAAK,KAACA,EAAAA,GAAAA,KAAA,aAEjCA,EAAAA,GAAAA,KAAA,OAAA0B,SACGroC,EAAMwD,WAMO,kBAAXxD,GACF2+C,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,WAAS/wB,KAAKsL,UAAU5iB,MAGd,oBAAXA,GACF2+C,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,aAAWroC,EAAM7B,eAGtBwoC,EAAAA,GAAAA,KAAA,KAAA0B,SAAIroC,EAAM7B,aCtGJ,SAASqjD,KACtB,OACE7a,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAAC8a,GAAU,MAKjB,SAASA,KAAc,IAADC,EAC4BjB,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAzC+/B,EAAQlB,EAAA,GAAEmB,EAAWnB,EAAA,GACcoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAAnCkgC,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAChBG,GAAcC,EAAAA,GAAAA,mBAgBpB,OAdArgC,EAAAA,WAAgB,WACd6iB,GAAAA,IAAU,+BACP1Y,MAAK,SAAA1pB,GAAG,OAAIu/C,EAAYv/C,EAAI6B,SAAO8nB,MAAMg2B,KAC3C,CAACA,IAEJpgC,EAAAA,WAAgB,WACd6iB,GAAAA,IAAU,kCACP1Y,MAAK,SAAA1pB,GACJ0/C,EAAS1/C,EAAI6B,KAAKA,MAClBogB,SAAS49B,MAAQ7/C,EAAI6B,KAAKA,KAAKg+C,OAAS,YACxCjiD,QAAQN,IAAI,gBAAD2B,OAAiBgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACnD8nB,MAAMg2B,KACV,CAACA,KAGFrD,EAAAA,GAAAA,MAACzY,GAAS,CAACG,OAAK,EAAAgC,SAAA,EACd1B,EAAAA,GAAAA,KAAA,SACAgY,EAAAA,GAAAA,MAAA,KAAGlY,UAAU,cAAa4B,SAAA,EACxBsW,EAAAA,GAAAA,MAAA,KAAGpnB,KAAK,qCAAqCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAA,CAAC,kBAClD,OAARsZ,QAAQ,IAARA,GAAc,QAAND,EAARC,EAAUz9C,YAAI,IAAAw9C,OAAN,EAARA,EAAgBhjB,WAChC,SACGiI,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,4BAA4Bj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAO,OAALyZ,QAAK,IAALA,OAAK,EAALA,EAAOK,YC7C5F,SAASC,GAAmBC,EAAK5/C,EAASC,EAAQ4/C,EAAOC,EAAQvmD,EAAK40C,GACpE,IACE,IAAI/tB,EAAOw/B,EAAIrmD,GAAK40C,GAChB5zC,EAAQ6lB,EAAK7lB,MACjB,MAAOgD,GAEP,YADA0C,EAAO1C,GAIL6iB,EAAKzH,KACP3Y,EAAQzF,GAERwF,QAAQC,QAAQzF,GAAO+uB,KAAKu2B,EAAOC,GAIxB,SAASC,GAAkB58B,GACxC,OAAO,WACL,IAAIvpB,EAAOwD,KACPD,EAAOR,UACX,OAAO,IAAIoD,SAAQ,SAAUC,EAASC,GACpC,IAAI2/C,EAAMz8B,EAAG1mB,MAAM7C,EAAMuD,GAEzB,SAAS0iD,EAAMtlD,GACbolD,GAAmBC,EAAK5/C,EAASC,EAAQ4/C,EAAOC,EAAQ,OAAQvlD,GAGlE,SAASulD,EAAO1nC,GACdunC,GAAmBC,EAAK5/C,EAASC,EAAQ4/C,EAAOC,EAAQ,QAAS1nC,GAGnEynC,OAAMjiD,uEC3BN+3C,GAAY,CAMhB14C,KAAMs9C,KAAAA,OAGNyF,QAASzF,KAAAA,KACTzW,GAAIyW,KAAAA,aAEA0F,GAAwB9gC,EAAAA,YAC9B,SAAAoF,EAMGmf,GAAG,IAAAG,EAAAtf,EALJuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBG,EAASzf,EAATyf,UAASkc,EAAA37B,EACTtnB,KAAAA,OAAI,IAAAijD,EAAG,QAAOA,EAAAC,EAAA57B,EACdy7B,QAAAA,OAAO,IAAAG,GAAQA,EACZrnD,EAAK+pC,GAAAte,EAAA0f,IAAA,OACcC,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAChD4qC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAW,GAAFnlC,OAAK5B,EAAI,KAAA4B,OAAImhD,EAAU,UAAY,mBAEpEC,GAAS7b,YAAc,WACvB6b,GAAStK,UAAYA,GACrB,UC1BA,GADiCx2B,EAAAA,cAAoB,uECI/CihC,GAA8BjhC,EAAAA,YAAiB,SAAAoF,EAUlDmf,GAAQ,IATT1W,EAAEzI,EAAFyI,GACA2W,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UAASkc,EAAA37B,EACTtnB,KAAAA,OAAI,IAAAijD,EAAG,WAAUA,EAAAG,EAAA97B,EACjB+7B,QAAAA,OAAO,IAAAD,GAAQA,EAAAE,EAAAh8B,EACfi8B,UAAAA,OAAS,IAAAD,GAAQA,EAAA1c,EAAAtf,EAEjBuf,GAAIC,OAAS,IAAAF,EAAG,QAAOA,EACpB/qC,EAAK+pC,GAAAte,EAAA0f,IAGNwc,GACEnd,EAAAA,EAAAA,YAAWod,IADbD,UAGF,OADA9c,EAAWP,GAAmBO,EAAU,qBACpBO,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC5C4qC,IAAKA,EACLzmC,KAAMA,EACN+vB,GAAIA,GAAMyzB,EACVzc,UAAWG,IAAAA,CAAWH,EAAWL,EAAU2c,GAAW,WAAYE,GAAa,oBAGnFJ,GAAehc,YAAc,iBAC7B,gDCvBMuc,GAA8BxhC,EAAAA,YAAiB,SAAAoF,EAKlDmf,GAAQ,IAJTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA4c,EAAOr8B,EAAPq8B,QACG9nD,EAAK+pC,GAAAte,EAAA0f,IAGNwc,GACEnd,EAAAA,EAAAA,YAAWod,IADbD,UAGF,OADA9c,EAAWP,GAAmBO,EAAU,qBACpBO,EAAAA,GAAAA,KAAK,QAAOxnC,GAAAA,GAAA,GAAO5D,GAAK,IAC1C4qC,IAAKA,EACLkd,QAASA,GAAWH,EACpBzc,UAAWG,IAAAA,CAAWH,EAAWL,SAGrCgd,GAAevc,YAAc,iBAC7B,UCbA,SAASj9B,GAAIy+B,EAAUib,GACrB,IAAIt8C,EAAQ,EACZ,OAAO4a,EAAAA,SAAAA,IAAmBymB,GAAU,SAAAkb,GAAK,OAAiB3hC,EAAAA,eAAqB2hC,GAASD,EAAKC,EAAOv8C,KAAWu8C,KAUjH,SAASjkD,GAAQ+oC,EAAUib,GACzB,IAAIt8C,EAAQ,EACZ4a,EAAAA,SAAAA,QAAuBymB,GAAU,SAAAkb,GACb3hC,EAAAA,eAAqB2hC,IAAQD,EAAKC,EAAOv8C,mMCbzDw8C,GAAyB5hC,EAAAA,YAAiB,SAAAoF,EAoB7Cmf,GAAQ,IAnBT1W,EAAEzI,EAAFyI,GACA2W,EAAQpf,EAARof,SACAqd,EAAcz8B,EAAdy8B,eAAcC,EAAA18B,EACd28B,OAAAA,OAAM,IAAAD,GAAQA,EAAAE,EAAA58B,EACd+sB,SAAAA,OAAQ,IAAA6P,GAAQA,EAAAd,EAAA97B,EAChB+7B,QAAAA,OAAO,IAAAD,GAAQA,EAAAE,EAAAh8B,EACfi8B,UAAAA,OAAS,IAAAD,GAAQA,EAAAa,EAAA78B,EACjB88B,gBAAAA,OAAe,IAAAD,GAAQA,EACvBE,EAAQ/8B,EAAR+8B,SACAC,EAAYh9B,EAAZg9B,aACAvd,EAASzf,EAATyf,UACA7tB,EAAKoO,EAALpO,MAAKqrC,EAAAj9B,EACLk7B,MAAAA,OAAK,IAAA+B,EAAG,GAAEA,EAAAtB,EAAA37B,EACVtnB,KAAAA,OAAI,IAAAijD,EAAG,WAAUA,EACjBuB,EAAKl9B,EAALk9B,MACA7b,EAAQrhB,EAARqhB,SAAQ/B,EAAAtf,EAERuf,GAAAA,OAAE,IAAAD,EAAG,QAAOA,EACT/qC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,cACxCqd,EAAiB5d,GAAmB4d,EAAgB,eACpD,IACEP,GACEnd,EAAAA,EAAAA,YAAWod,IADbD,UAEIiB,GAAmB3I,EAAAA,EAAAA,UAAQ,iBAAO,CACtC0H,UAAWzzB,GAAMyzB,KACf,CAACA,EAAWzzB,IACV20B,GAAY/b,GAAqB,MAAT6b,IAA2B,IAAVA,GDPjD,SAAwB7b,EAAU3oC,GAChC,OAAOkiB,EAAAA,SAAAA,QAAuBymB,GAAUta,MAAK,SAAAw1B,GAAK,OAAiB3hC,EAAAA,eAAqB2hC,IAAUA,EAAM7jD,OAASA,KCM/C2kD,CAAehc,EAAU+a,IAErFvS,GAAqBlK,EAAAA,GAAAA,KAAKkc,GAAc1jD,GAAAA,GAAA,GAAO5D,GAAK,IACxDmE,KAAe,WAATA,EAAoB,WAAaA,EACvCymC,IAAKA,EACL4c,QAASA,EACTE,UAAWA,EACXlP,SAAUA,EACVxN,GAAIA,KAGN,OAAoBI,EAAAA,GAAAA,KAAKwc,GAAAA,SAAsB,CAC7CnmD,MAAOmnD,EACP9b,UAAuB1B,EAAAA,GAAAA,KAAK,MAAO,CACjC/tB,MAAOA,EACP6tB,UAAWG,IAAAA,CAAWH,EAAW2d,GAAYhe,EAAUud,GAAU,GAAJriD,OAAO8kC,EAAQ,WAAoB,WAAT1mC,GAAqB+jD,GAC5Gpb,SAAUA,IAAyBsW,EAAAA,GAAAA,MAAM4B,GAAAA,SAAW,CAClDlY,SAAU,CAACwI,EAAOuT,IAAyBzd,EAAAA,GAAAA,KAAKyc,GAAgB,CAC9DlB,MAAOA,EACP7Z,SAAU6b,IACRH,IAAyBpd,EAAAA,GAAAA,KAAK+b,GAAU,CAC1ChjD,KAAMskD,EACNvB,QAASqB,EACTzb,SAAU0b,cAMpBP,GAAU3c,YAAc,YACxB,OAAe/qC,OAAOguB,OAAO05B,GAAW,CACtCc,MAAOzB,GACP0B,MAAOnB,sICjEHoB,GAA2B5iC,EAAAA,YAAiB,SAAAoF,EAc/Cmf,GAAQ,IAKLpW,EAMG00B,EAxBPre,EAAQpf,EAARof,SACA1mC,EAAIsnB,EAAJtnB,KACA6rB,EAAIvE,EAAJuE,KACAm5B,EAAQ19B,EAAR09B,SACAj1B,EAAEzI,EAAFyI,GACAgX,EAASzf,EAATyf,UAASqc,EAAA97B,EACT+7B,QAAAA,OAAO,IAAAD,GAAQA,EAAAE,EAAAh8B,EACfi8B,UAAAA,OAAS,IAAAD,GAAQA,EACjB2B,EAAS39B,EAAT29B,UACAC,EAAQ59B,EAAR49B,SAAQte,EAAAtf,EAERuf,GAAIC,OAAS,IAAAF,EAAG,QAAOA,EACpB/qC,EAAK+pC,GAAAte,EAAA0f,IAGNwc,GACEnd,EAAAA,EAAAA,YAAWod,IADbD,WAEF9c,EAAWP,GAAmBO,EAAU,gBAGpCue,GACF50B,EAAO1yB,EAAA,MAAAiE,OACD8kC,EAAQ,eAAe,IAGtB/oC,EAAAonD,EAAG,GACPre,GAAW,GAAI/oC,EAAAonD,EAAA,GAAAnjD,OACZ8kC,EAAQ,KAAA9kC,OAAIiqB,GAASA,GAF3BwE,EAE+B00B,GAKjC,OAAoB9d,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC5CmE,KAAMA,EACN6rB,KAAMm5B,EACNve,IAAKA,EACLye,SAAUA,EACVn1B,GAAIA,GAAMyzB,EACVzc,UAAWG,IAAAA,CAAWH,EAAW1W,EAASgzB,GAAW,WAAYE,GAAa,aAAuB,UAATvjD,GAAoB,GAAJ4B,OAAO8kC,EAAQ,iBAG/Hoe,GAAY3d,YAAc,cAC1B,OAAe/qC,OAAOguB,OAAO06B,GAAa,CACxC9B,SAAAA,KCnDF,GAAepF,GAAmB,uCCG5BuH,GAAyBjjC,EAAAA,YAAiB,SAAAoF,EAK7Cmf,GAAQ,IAJT+c,EAASl8B,EAATk8B,UAAS5c,EAAAtf,EAETuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EAClB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFj4B,GAAU+sC,EAAAA,EAAAA,UAAQ,iBAAO,CAC7B0H,UAAAA,KACE,CAACA,IACL,OAAoBvc,EAAAA,GAAAA,KAAKwc,GAAAA,SAAsB,CAC7CnmD,MAAOyR,EACP45B,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC/C4qC,IAAKA,UAIX0e,GAAUhe,YAAc,YACxB,4DCjBMie,GAAe,CAAC,MAAO,KAAM,KAAM,KAAM,KAAM,MAwCrD,IAAMC,GAAmBnjC,EAAAA,YACzB,SAACrmB,EAAO4qC,GACN,IAAA6e,EAzCK,SAAeh+B,GAKnB,IAJDuf,EAAEvf,EAAFuf,GACAH,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACGlrC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,OACxC,IAAM6e,EAAQ,GACRl1B,EAAU,GAuBhB,OAtBA+0B,GAAaxlD,SAAQ,SAAA4lD,GACnB,IAEIC,EACAC,EACAC,EAJElU,EAAY51C,EAAM2pD,UACjB3pD,EAAM2pD,GAKY,kBAAd/T,GAAuC,MAAbA,GAEjCgU,EAGEhU,EAHFgU,KACAC,EAEEjU,EAFFiU,OACAC,EACElU,EADFkU,OAGFF,EAAOhU,EAGT,IAAMmU,EAAqB,OAAbJ,EAAoB,IAAH5jD,OAAO4jD,GAAa,GAC/CC,GAAMF,EAAMhmD,MAAc,IAATkmD,EAAgB,GAAH7jD,OAAM8kC,GAAQ9kC,OAAGgkD,GAAK,GAAAhkD,OAAQ8kC,GAAQ9kC,OAAGgkD,EAAK,KAAAhkD,OAAI6jD,IACvE,MAATE,GAAet1B,EAAQ9wB,KAAK,QAADqC,OAASgkD,EAAK,KAAAhkD,OAAI+jD,IACnC,MAAVD,GAAgBr1B,EAAQ9wB,KAAK,SAADqC,OAAUgkD,EAAK,KAAAhkD,OAAI8jD,OAE9C,CAAAjmD,GAAAA,GAAA,GAAM5D,GAAK,IAChBkrC,UAAWG,KAAAA,WAAW,EAAD,CAACH,GAASnlC,OAAK2jD,EAAUl1B,MAC7C,CACDwW,GAAAA,EACAH,SAAAA,EACA6e,MAAAA,IAYGM,CAAOhqD,GAAMiqD,EAAAvwB,GAAA+vB,EAAA,GAAAS,EAAAD,EAAA,GANhB/e,EAASgf,EAAThf,UACGif,EAAQpgB,GAAAmgB,EAAAE,IAAAC,EAAAJ,EAAA,GAAAK,EAAAD,EAEXrf,GAAIC,OAAS,IAAAqf,EAAG,MAAKA,EACrBzf,EAAQwf,EAARxf,SACA6e,EAAKW,EAALX,MAEF,OAAoBte,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAOumD,GAAQ,IAC/Cvf,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,GAAYwe,EAAMxpD,QAAU2qC,SAGtD2e,GAAIle,YAAc,MAClB,+EChDMif,GAAyBlkC,EAAAA,YAAiB,SAAAoF,EAS7Cmf,GAAQ,IAAAG,EAAAtf,EAPTuf,GAAIC,OAAS,IAAAF,EAAG,QAAOA,EACvBF,EAAQpf,EAARof,SACA2f,EAAM/+B,EAAN++B,OACAC,EAAch/B,EAAdg/B,eACAvf,EAASzf,EAATyf,UACA4c,EAAOr8B,EAAPq8B,QACG9nD,EAAK+pC,GAAAte,EAAA0f,IAGNwc,GACEnd,EAAAA,EAAAA,YAAWod,IADbD,UAEF9c,EAAWP,GAAmBO,EAAU,cACxC,IAAI6f,EAAc,iBACI,kBAAXF,IAAqBE,EAAc,GAAH3kD,OAAM2kD,EAAW,KAAA3kD,OAAI2kD,EAAW,KAAA3kD,OAAIykD,IAC/E,IAAMh2B,EAAU6W,IAAAA,CAAWH,EAAWL,EAAU4f,GAAkB,kBAAmBD,GAAUE,GAG/F,OADA5C,EAAUA,GAAWH,EACjB6C,GAA4Bpf,EAAAA,GAAAA,KAAKoe,GAAG5lD,GAAA,CACtCgnC,IAAKA,EACLI,GAAI,QACJE,UAAW1W,EACXszB,QAASA,GACN9nD,KAKHorC,EAAAA,GAAAA,KAAKH,EAASrnC,GAAA,CACZgnC,IAAKA,EACLM,UAAW1W,EACXszB,QAASA,GACN9nD,OAITuqD,GAAUjf,YAAc,YACxBif,GAAUhf,aA1CW,CACnBif,QAAQ,EACRC,gBAAgB,GAyClB,2CC7CME,GAAyBtkC,EAAAA,YAAiB,SAAAoF,EAK7Cmf,GAAQ,IAJTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAhX,EAAEzI,EAAFyI,GACGl0B,EAAK+pC,GAAAte,EAAA0f,IAGNwc,GACEnd,EAAAA,EAAAA,YAAWod,IADbD,UAGF,OADA9c,EAAWP,GAAmBO,EAAU,eACpBO,EAAAA,GAAAA,KAAK,QAAOxnC,GAAAA,GAAA,GAAO5D,GAAK,IAC1CmE,KAAM,QACNymC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWL,GACjC3W,GAAIA,GAAMyzB,QAGdgD,GAAUrf,YAAc,YACxB,mFClBMsf,GAA0BvkC,EAAAA,YAAiB,SAAAoF,EAS9Cmf,GAAQ,IARTC,EAAQpf,EAARof,SACA7a,EAAIvE,EAAJuE,KACAm5B,EAAQ19B,EAAR09B,SACAje,EAASzf,EAATyf,UAASqc,EAAA97B,EACT+7B,QAAAA,OAAO,IAAAD,GAAQA,EAAAE,EAAAh8B,EACfi8B,UAAAA,OAAS,IAAAD,GAAQA,EACjBvzB,EAAEzI,EAAFyI,GACGl0B,EAAK+pC,GAAAte,EAAA0f,IAGNwc,GACEnd,EAAAA,EAAAA,YAAWod,IADbD,UAGF,OADA9c,EAAWP,GAAmBO,EAAU,gBACpBO,EAAAA,GAAAA,KAAK,SAAQxnC,GAAAA,GAAA,GAAO5D,GAAK,IAC3CgwB,KAAMm5B,EACNve,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWL,EAAU7a,GAAQ,GAAJjqB,OAAO8kC,EAAQ,KAAA9kC,OAAIiqB,GAAQw3B,GAAW,WAAYE,GAAa,cAC9GxzB,GAAIA,GAAMyzB,QAGdiD,GAAWtf,YAAc,aACzB,mDCxBMuf,GAAwBxkC,EAAAA,YAC9B,SAAAoF,EAMGmf,GAAQ,IALTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UAASH,EAAAtf,EACTuf,GAAIC,OAAS,IAAAF,EAAG,QAAOA,EACvB+f,EAAKr/B,EAALq/B,MACG9qD,EAAK+pC,GAAAte,EAAA0f,IAGR,OADAN,EAAWP,GAAmBO,EAAU,cACpBO,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC5C4qC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWL,EAAUigB,GAAS,oBAGxDD,GAASvf,YAAc,WACvB,UChBMyf,GAAsB1kC,EAAAA,YAAiB,SAACrmB,EAAO4qC,GAAG,OAAkBQ,EAAAA,GAAAA,KAAK6c,GAASrkD,GAAAA,GAAA,GAAO5D,GAAK,IAClG4qC,IAAKA,EACLzmC,KAAM,eAER4mD,GAAOzf,YAAc,SACrB,OAAe/qC,OAAOguB,OAAOw8B,GAAQ,CACnChC,MAAOd,GAAAA,MACPe,MAAOf,GAAAA,mECJH+C,GAA6B3kC,EAAAA,YAAiB,SAAAoF,EAOjDmf,GAAQ,IANTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SACA6a,EAASl8B,EAATk8B,UACAgB,EAAKl9B,EAALk9B,MACG3oD,EAAK+pC,GAAAte,EAAA0f,IAGR,OADAN,EAAWP,GAAmBO,EAAU,kBACpBuY,EAAAA,GAAAA,MAAMkG,GAAS1lD,GAAAA,GAAA,CACjCgnC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWL,GACjC8c,UAAWA,GACR3nD,GAAK,IACR8sC,SAAU,CAACA,GAAuB1B,EAAAA,GAAAA,KAAK,QAAS,CAC9C0c,QAASH,EACT7a,SAAU6b,WAIhBqC,GAAc1f,YAAc,gBAC5B,4CCbMuR,GAAY,CAShBpxB,KAAMg2B,KAAAA,IAMNwJ,UAAWxJ,KAAAA,KACXzW,GAAIyW,KAAAA,aAEAyJ,GAAoB7kC,EAAAA,YAAiB,SAAAoF,EAMxCmf,GAAG,IALJM,EAASzf,EAATyf,UACA+f,EAASx/B,EAATw/B,UAASlgB,EAAAtf,EAETuf,GAAIC,OAAS,IAAAF,EAAG,OAAMA,EACnB/qC,EAAK+pC,GAAAte,EAAA0f,IAAA,OACcC,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAChD4qC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAW+f,GAAa,uBAEhDC,GAAK5f,YAAc,OACnB4f,GAAKrO,UAAYA,GACjB,OAAet8C,OAAOguB,OAAO28B,GAAM,CACjCC,MAAO7B,GACP8B,QAASnC,GACToC,SAAUC,GACVC,MAAOtD,GACP8C,OAAAA,GACA/B,MAAOuB,GACPiB,KAAMX,GACNY,MAAOd,GACPe,OAAQd,GACRI,cAAAA,mEClDIW,GAAuBtlC,EAAAA,YAAiB,SAAAoF,EAS3Cmf,GAAQ,IARTC,EAAQpf,EAARof,SACA6W,EAAOj2B,EAAPi2B,QACAkK,EAASngC,EAATmgC,UACA57B,EAAIvE,EAAJuE,KAAI+a,EAAAtf,EAEJuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBG,EAASzf,EAATyf,UACGlrC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,WACxC,IAAMghB,EAAkB,GAAH9lD,OAAM8kC,EAAQ,KAAA9kC,OAAI6lD,GACvC,OAAoBxgB,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAW2gB,EAAiB77B,GAAQ,GAAJjqB,OAAO8lD,EAAe,KAAA9lD,OAAIiqB,GAAQ0xB,GAAW,QAAJ37C,OAAY27C,UAG/GiK,GAAQrgB,YAAc,UACtB,UCRe,SAASwgB,GAAKrgC,GAAa,IAAXsgC,EAAOtgC,EAAPsgC,QAC7B,OACE3gB,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAAC4gB,GAAS,CAACD,QAASA,MAK1B,SAASC,GAASr+B,GAAa,IAAXo+B,EAAOp+B,EAAPo+B,QACoC7G,EAAAxrB,GAApBrT,EAAAA,UAAe,GAAK,GAA/C+iC,EAASlE,EAAA,GAAE+G,EAAY/G,EAAA,GACkBoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAAzCuY,EAAQ0nB,EAAA,GAAE4F,EAAW5F,EAAA,GAC2B6F,EAAAzyB,GAArBrT,EAAAA,UAAe,GAAM,GAAhD+lC,EAASD,EAAA,GAAEE,EAAYF,EAAA,GACxB/b,EAAWJ,KACXsc,EAAcjmC,EAAAA,SACdkmC,EAAelmC,EAAAA,SACfogC,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAGP6e,EAAAA,WAAgB,WACd,IAAMmB,EAAQN,KACTM,GAAUA,EAAMA,QAErB9iB,QAAQN,IAAI,2BAAD2B,OAA4BkiB,GAAMC,KAAKV,KAGlD0hB,GAAAA,KAAW,2BAA0BtlC,GAAA,GAChC4jB,IACFgJ,MAAK,SAAA1pB,GAENoiC,GAAAA,KAAW,2BAA4B,GACpC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,yBAAD2B,OAA0BkiB,GAAMC,KAAKV,KAChD4oB,EAAS,2BAEV3f,MAAMg2B,MACR,CAACrW,EAAUqW,IAGdpgC,EAAAA,WAAgB,WAAO,IAADmmC,EAAAC,EACpBrD,EAAgC,QAAvBoD,EAAGD,EAAa1hD,eAAO,IAAA2hD,GAApBA,EAAsBpjC,QAA6B,QAAtBqjC,EAAGH,EAAYzhD,eAAO,IAAA4hD,GAAnBA,EAAqBrjC,UAChE,CAACggC,IAMJ,IAAMsD,EAAcrmC,EAAAA,aAAkB,SAAChc,GACrCA,EAAE0pC,iBACFsY,GAAa,GAEbnjB,GAAAA,KAAW,2BAA4B,CACrCtK,SAAAA,IACCpO,KAAI,eAAAvC,EAAAg5B,GAAA0F,KAAAA,MAAC,SAAAC,EAAO9lD,GAAG,IAAA6B,EAAA,OAAAgkD,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,cAAAyiC,EAAAziC,KAAA,EACV,IAAInjB,SAAQ,SAAAC,GAAO,OAAI+Y,WAAW/Y,EAAS,QAAM,KAAD,EAEhDyB,EAAO7B,EAAI6B,KAAKA,KACtBjE,QAAQN,IAAI,uBAAD2B,OAAwBkiB,GAAMC,KAAKvf,KAC9Cue,GAAWve,GAEXojD,GAAWA,IACX3b,EAAS,qBAAqB,wBAAAyc,EAAAE,UAAAH,OAC/B,gBAAAI,GAAA,OAAA/+B,EAAAtqB,MAAA,KAAAE,YATM,IASJ4sB,MAAMg2B,GAAawG,QAAQZ,KAC7B,CAACztB,EAAU6nB,EAAasF,EAAS3b,EAAUic,IAE9C,OACEjhB,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACE1B,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACdsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,oBAAmB7a,SAAA,EACxD1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,0BAEZ4hD,IACDhe,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAC/mD,KAAK,WAAW+oD,YAAY,WAAWtiB,IAAK0hB,EAAax7C,aAAc8tB,EACnFuuB,SAAU,SAAC9iD,GAAC,OAAK6hD,EAAY7hD,EAAEtK,OAAO0B,UAGxC2nD,IACAhe,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAC/mD,KAAK,OAAO+oD,YAAY,WAAWtiB,IAAK2hB,EAAcz7C,aAAc8tB,EAChFuuB,SAAU,SAAC9iD,GAAC,OAAK6hD,EAAY7hD,EAAEtK,OAAO0B,WAE1C2hD,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAChgB,UAAU,aAAY4B,SAAA,CAAC,KAC7BtlC,EAAE,4BAGT4jC,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,oBAAmB7a,UACxD1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgBhE,EACvE/V,QAAS,kBAAM4Y,GAAc7C,SAEjChe,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAU4T,EAAW/Y,QAAS,SAAChpC,GAAC,OAAKqiD,EAAYriD,IAAGyiC,SACzFtlC,EAAE,sBACI,QACR4kD,IAAahhB,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAUrkC,MAAO,CAACgwC,cAAe,mBClG9E,SAASC,GAAM7hC,GAAc,IAAZ8hC,EAAQ9hC,EAAR8hC,SACxBnd,EAAWJ,KACVxoC,EAAKo8C,KAALp8C,EAWP,OATA6e,EAAAA,WAAgB,WACV/c,OAAOkkD,QAAQhmD,EAAE,kBACnB0f,KACAqmC,GAAYA,KAGdnd,EAAS,oBACR,CAACA,EAAU5oC,EAAG+lD,KAEVniB,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,SAAC,WCvB1B,IACa2gB,GAAe,SAACC,GAA0B,IAAhB1xB,EAAIn4B,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAG,KAC5C,OAAgB,MAAZ6pD,EAAyB1kD,OAAO0kD,GAC7B1xB,GAAQ,MAEjB,GALuC3V,EAAAA,cAAoB,uCCGrDsnC,GAA2BtnC,EAAAA,YAAiB,SAAAoF,EAK/Cmf,GAAQ,IAJTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAF,EAAEvf,EAAFuf,GACGhrC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,gBACxC,IAAMI,EAAYD,IAAOhrC,EAAMg8B,KAAO,IAAM,QAC5C,OAAoBoP,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC5C4qC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWL,SAGrC8iB,GAAYriB,YAAc,cAC1B,UCOA,UAhBA,WAAyC,QAAAlmC,EAAAvB,UAAA3D,OAAP0tD,EAAK,IAAA3rD,MAAAmD,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAALuoD,EAAKvoD,GAAAxB,UAAAwB,GACrC,OAAOuoD,EAAMrqD,QAAO,SAAA0X,GAAC,OAAS,MAALA,KAAWkB,QAAO,SAAC0xC,EAAK5yC,GAC/C,GAAiB,oBAANA,EACT,MAAM,IAAIkI,MAAM,2EAGlB,OAAY,OAAR0qC,EAAqB5yC,EAClB,WAAkC,QAAA1V,EAAA1B,UAAA3D,OAANmE,EAAI,IAAApC,MAAAsD,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJnB,EAAImB,GAAA3B,UAAA2B,GAErCqoD,EAAIlqD,MAAMW,KAAMD,GAEhB4W,EAAEtX,MAAMW,KAAMD,MAEf,2HCbCypD,GAAU,CACdC,OAAQ,CAAC,YAAa,gBACtBC,MAAO,CAAC,aAAc,gBAGxB,SAASC,GAAyBC,EAAWhyC,GAC3C,IACMza,EAAQya,EADC,SAAHnW,OAAYmoD,EAAU,GAAG94C,eAAarP,OAAGmoD,EAAUrrD,MAAM,KAE/DsrD,EAAUL,GAAQI,GACxB,OAAOzsD,EACPwb,SAASygC,GAAIxhC,EAAMiyC,EAAQ,IAAK,IAChClxC,SAASygC,GAAIxhC,EAAMiyC,EAAQ,IAAK,IAGlC,IAAMC,IAActsD,EAAAusD,GAAG,GACpB7U,GAAS,YAAU13C,EAAAusD,GACnB1U,GAAU,cAAY73C,EAAAusD,GACtB5U,GAAW,cAAY33C,EAAAusD,GACvB3U,GAAU,iBAAe2U,IAEtB9iB,GAAe,CACnB4O,IAAI,EACJpjB,QAAS,IACTsjB,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRuU,kBAAmBL,IAEfM,GAAwBloC,EAAAA,YAAiB,SAAAoF,EAW5Cmf,GAAQ,IAVTgR,EAAOnwB,EAAPmwB,QACAC,EAAUpwB,EAAVowB,WACAF,EAASlwB,EAATkwB,UACAI,EAAMtwB,EAANswB,OACAC,EAASvwB,EAATuwB,UACA9Q,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SAAQ0hB,EAAA/iC,EACRyiC,UAAAA,OAAS,IAAAM,EAAG,SAAQA,EAAAC,EAAAhjC,EACpB6iC,kBAAAA,OAAiB,IAAAG,EAAGR,GAAwBQ,EACzCzuD,EAAK+pC,GAAAte,EAAA0f,IAGFujB,EAAyC,oBAAdR,EAA2BA,IAAcA,EAGpEvN,GAAcV,EAAAA,EAAAA,UAAQ,kBAAM0O,IAAsB,SAAAzyC,GACtDA,EAAKmB,MAAMqxC,GAAqB,MAC/B9S,KAAU,CAAC8S,EAAmB9S,IAC3BgF,GAAiBX,EAAAA,EAAAA,UAAQ,kBAAM0O,IAAsB,SAAAzyC,GACzD,IAAM0yC,EAAS,SAAH7oD,OAAY2oD,EAAkB,GAAGt5C,eAAarP,OAAG2oD,EAAkB7rD,MAAM,IACrFqZ,EAAKmB,MAAMqxC,GAAqB,GAAH3oD,OAAMmW,EAAK0yC,GAAO,QAC9C/S,KAAa,CAAC6S,EAAmB7S,IAC9BgF,GAAgBZ,EAAAA,EAAAA,UAAQ,kBAAM0O,IAAsB,SAAAzyC,GACxDA,EAAKmB,MAAMqxC,GAAqB,OAC/B/S,KAAY,CAAC+S,EAAmB/S,IAG7BmF,GAAab,EAAAA,EAAAA,UAAQ,kBAAM0O,IAAsB,SAAAzyC,GACrDA,EAAKmB,MAAMqxC,GAAqB,GAAH3oD,OAAMuoD,EAAkBI,EAAmBxyC,GAAK,MAC7E0jC,GAAqB1jC,KACpB6/B,KAAS,CAACA,EAAQuS,EAAmBI,IAClC3N,GAAgBd,EAAAA,EAAAA,UAAQ,kBAAM0O,IAAsB,SAAAzyC,GACxDA,EAAKmB,MAAMqxC,GAAqB,OAC/B1S,KAAY,CAAC0S,EAAmB1S,IACnC,OAAoB5Q,EAAAA,GAAAA,KAAKiV,GAAiBz8C,GAAAA,GAAA,CACxCgnC,IAAKA,EACL0R,eAAgBoD,IACb1/C,GAAK,IACR,gBAAiBA,EAAM+4C,KAAO/4C,EAAMm6C,GAAK,KACzCyB,QAAS+E,EACT9E,WAAY+E,EACZjF,UAAWkF,EACX9E,OAAQ+E,EACR9E,UAAW+E,EACXT,SAAUxT,EAASlC,IACnBkC,SAAU,SAACpuB,EAAOwiC,GAAU,OAAkB76B,EAAAA,aAAmBymB,EAAQlpC,GAAAA,GAAA,GAAOs9C,GAAU,IACxFhW,UAAWG,IAAAA,CAAWH,EAAW4B,EAAS9sC,MAAMkrC,UAAWkjB,GAAe1vC,GAA8B,UAAtBgwC,GAAiC,iCAMzHH,GAAShjB,aAAeA,GACxB,UCzFMr4B,GAAuBmT,EAAAA,cAAoB,MACjDnT,GAAQo4B,YAAc,gBACtB,qCCEMujB,GAA8BxoC,EAAAA,YAAiB,SAAAoF,EAIlDmf,GAAQ,IAHTkC,EAAQrhB,EAARqhB,SACAjC,EAAQpf,EAARof,SACG7qC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,mBACxC,IAAM33B,GAAUs3B,EAAAA,EAAAA,YAAWskB,IAC3B,OAAoB1jB,EAAAA,GAAAA,KAAKmjB,GAAQ3qD,GAAAA,GAAA,CAC/Bu2C,MAAOjnC,IAAWA,EAAQ67C,WACvB/uD,GAAK,IACR8sC,UAAuB1B,EAAAA,GAAAA,KAAK,MAAO,CACjCR,IAAKA,EACLM,UAAWL,EACXiC,SAAUA,UAIhB+hB,GAAevjB,YAAc,iBAC7B,wECdM0jB,GAA4B3oC,EAAAA,YAAiB,SAAAoF,EAShDmf,GAAQ,IARTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SACA6b,EAAKl9B,EAALk9B,MAAK5d,EAAAtf,EAELuf,GAAIC,OAAS,IAAAF,EAAG,SAAQA,EACxBsI,EAAO5nB,EAAP4nB,QACGrzC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,kBACxC,IAAAld,GAGI6c,EAAAA,EAAAA,YAAWskB,KAAkB,GAF/BG,EAAQthC,EAARshC,SACAF,EAAQphC,EAARohC,SAEInW,EAAchB,IAAiB,SAAAvtC,GAC/BgpC,GAASA,EAAQhpC,GACjB4kD,GAAUA,OAOhB,MAJkB,WAAdhkB,IACFjrC,EAAMmE,KAAO,WAGKinC,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC5C4qC,IAAKA,EACLyI,QAASuF,EACT,aAAc+P,EACdzd,UAAWG,IAAAA,CAAWH,EAAWL,GAAWkkB,GAAY,aACxDjiB,SAAUA,IAAyB1B,EAAAA,GAAAA,KAAK,OAAQ,CAC9CF,UAAW,GAAFnlC,OAAK8kC,EAAQ,iBAI5BmkB,GAAa1jB,YAAc,eAC3B0jB,GAAazjB,aAtCQ,CACnBod,MAAO,qBAsCT,UCvCe,SAASuG,GAAcjS,QACxB,IAARA,IACFA,EAAMH,MAKR,IACE,IAAIX,EAASc,EAAIiS,cAGjB,OAAK/S,GAAWA,EAAOgT,SAChBhT,EADiC,KAExC,MAAO9xC,IAEP,OAAO4yC,EAAI/zB,MCdA,SAASkmC,GAASl8C,EAASkpC,GAGxC,OAAIlpC,EAAQk8C,SAAiBl8C,EAAQk8C,SAAShT,GAC1ClpC,EAAQm8C,wBAAgCn8C,IAAYkpC,MAAmD,GAAxClpC,EAAQm8C,wBAAwBjT,SAAnG,ECHa,SAASkT,GAAejlC,GACrC,IAAIklC,ECFS,SAAuB9tD,GACpC,IAAI+tD,GAAWzZ,EAAAA,EAAAA,QAAOt0C,GAEtB,OADA+tD,EAAS3kD,QAAUpJ,EACZ+tD,EDDSC,CAAcplC,IAC9BstB,EAAAA,EAAAA,YAAU,WACR,OAAO,WACL,OAAO4X,EAAU1kD,aAElB,IEXU,SAAS6kD,GAAmB1tD,GACzC,OCJa,SAA4BA,GACzC,GAAIC,MAAMC,QAAQF,GAAM,OAAO,EAAiBA,GDGzC,CAAkBA,IAAQ,EAAgBA,IAAQ,EAA2BA,IELvE,WACb,MAAM,IAAInC,UAAU,wIFIwE,GGHvF,SAAS8vD,GAASlS,GACvB,MAAO,GAAP13C,OAH8B,eAGJA,OAAG03C,GCAxB,IAAMmS,GAAsBD,GAAS,cAMtCE,GAAY,WAChB,SAAAA,IAIQ,IAAApkC,EAAA5nB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAJ,GAHFi5C,EAAarxB,EAAbqxB,cAAagT,EAAArkC,EACbskC,wBAAAA,OAAuB,IAAAD,GAAOA,EAAAE,EAAAvkC,EAC9BwkC,MAAAA,OAAK,IAAAD,GAAQA,EAAAtwD,EAAA,KAAAmwD,GAEbvrD,KAAKyrD,wBAA0BA,EAC/BzrD,KAAK2rD,MAAQA,EACb3rD,KAAK4rD,OAAS,GACd5rD,KAAKw4C,cAAgBA,EAgGtB,OA/FAp8C,EAAAmvD,EAAA,EAAApvD,IAAA,oBAAAgB,MAED,WACE,OCnBW,WAAyD,IAA1Bq7C,EAAaj5C,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAGklB,SACtDzf,EAASwzC,EAAcI,YAC7B,OAAOrkC,KAAKC,IAAIxP,EAAO6mD,WAAarT,EAAcsT,gBAAgBC,aDiBzDC,CAAsBhsD,KAAKw4C,iBACnC,CAAAr8C,IAAA,aAAAgB,MAED,WACE,OAAQ6C,KAAKw4C,eAAiB/zB,UAAUG,OACzC,CAAAzoB,IAAA,qBAAAgB,MAED,SAAmB8uD,MAClB,CAAA9vD,IAAA,wBAAAgB,MAED,SAAsB8uD,MACrB,CAAA9vD,IAAA,oBAAAgB,MAED,SAAkB+uD,GAChB,IAAMnzC,EAAQ,CACZozC,SAAU,UAINC,EAAcpsD,KAAK2rD,MAAQ,cAAgB,eAC3CU,EAAYrsD,KAAKssD,aACvBJ,EAAenzC,MAAKvb,EAAA,CAClB2uD,SAAUE,EAAUtzC,MAAMozC,UACzBC,EAAcC,EAAUtzC,MAAMqzC,IAG7BF,EAAeK,iBAGjBxzC,EAAMqzC,GAAe,GAAH3qD,OAAMkX,SAASygC,GAAIiT,EAAWD,IAAgB,IAAK,IAAMF,EAAeK,eAAc,OAG1GF,EAAU10B,aAAa2zB,GAAqB,IAC5ClS,GAAIiT,EAAWtzC,KAChB,CAAA5c,IAAA,QAAAgB,MAED,WAAQ,IAAA6E,EAAA,KACNopD,GAAIprD,KAAK4rD,QAAQnsD,SAAQ,SAAA0D,GAAC,OAAInB,EAAKsZ,OAAOnY,QAC3C,CAAAhH,IAAA,uBAAAgB,MAED,SAAqB+uD,GACnB,IAAMG,EAAYrsD,KAAKssD,aACvBD,EAAUG,gBAAgBlB,IAC1BrvD,OAAOguB,OAAOoiC,EAAUtzC,MAAOmzC,EAAenzC,SAC/C,CAAA5c,IAAA,MAAAgB,MAED,SAAIsvD,GACF,IAAIC,EAAW1sD,KAAK4rD,OAAOpoD,QAAQipD,GAEnC,OAAkB,IAAdC,EACKA,GAGTA,EAAW1sD,KAAK4rD,OAAOhwD,OACvBoE,KAAK4rD,OAAOxsD,KAAKqtD,GACjBzsD,KAAK2sD,mBAAmBF,GAEP,IAAbC,IAIJ1sD,KAAKoa,MAAQ,CACXmyC,eAAgBvsD,KAAK4sD,oBACrB7zC,MAAO,IAGL/Y,KAAKyrD,yBACPzrD,KAAK6sD,kBAAkB7sD,KAAKoa,QATrBsyC,KAaV,CAAAvwD,IAAA,SAAAgB,MAED,SAAOsvD,GACL,IAAMC,EAAW1sD,KAAK4rD,OAAOpoD,QAAQipD,IAEnB,IAAdC,IAIJ1sD,KAAK4rD,OAAOxkD,OAAOslD,EAAU,IAGxB1sD,KAAK4rD,OAAOhwD,QAAUoE,KAAKyrD,yBAC9BzrD,KAAK8sD,qBAAqB9sD,KAAKoa,OAGjCpa,KAAK+sD,sBAAsBN,MAC5B,CAAAtwD,IAAA,aAAAgB,MAED,SAAWsvD,GACT,QAASzsD,KAAK4rD,OAAOhwD,QAAUoE,KAAK4rD,OAAO5rD,KAAK4rD,OAAOhwD,OAAS,KAAO6wD,MACxElB,EAzGe,GA6GlB,MEpHMyB,IAAuBC,EAAAA,EAAAA,eAAcnT,GAAY90C,YAASxE,GAClCwsD,GAAQjnB,SAQvB,SAASmnB,KACtB,OAAOhnB,EAAAA,EAAAA,YAAW8mB,ICRb,IAAMG,GAAsB,SAAC7mB,EAAK7hB,GACvC,IAAI0C,EAEJ,OAAK2yB,GACM,MAAPxT,GAAqB7hB,GAAY+zB,MAAiB5zB,MACnC,oBAAR0hB,IAAoBA,EAAMA,KACjCA,GAAO,YAAaA,IAAKA,EAAMA,EAAI//B,SACnB,OAAf4gB,EAAOmf,IAAgBnf,EAAKimC,UAAiB9mB,GAC3C,MALgB,MAOV,SAAS+mB,GAAiB/mB,EAAKgnB,GAC5C,IAAMtoD,EAASkoD,KACkGhN,EAAA9qB,IAAnFuc,EAAAA,EAAAA,WAAS,kBAAMwb,GAAoB7mB,EAAe,MAAVthC,OAAiB,EAASA,EAAOyf,aAAU,GAA1G8oC,EAAWrN,EAAA,GAAEsN,EAAMtN,EAAA,GAE1B,IAAKqN,EAAa,CAChB,IAAME,EAAWN,GAAoB7mB,GACjCmnB,GAAUD,EAAOC,GAevB,OAZApa,EAAAA,EAAAA,YAAU,WACJia,GAAcC,GAChBD,EAAWC,KAEZ,CAACD,EAAYC,KAChBla,EAAAA,EAAAA,YAAU,WACR,IAAMqa,EAAUP,GAAoB7mB,GAEhConB,IAAYH,GACdC,EAAOE,KAER,CAACpnB,EAAKinB,IACFA,ECnCT,IAsBII,GAtBE9mB,GAAY,CAAC,OAAQ,OAAQ,YAAa,QAAS,WAAY,WAAY,WAAY,kBAAmB,kBAAmB,aAAc,qBAAsB,YAAa,eAAgB,eAAgB,sBAAuB,eAAgB,iBAAkB,UAAW,YAAa,SAAU,SAAU,SAAU,WAAY,YAAa,UAAW,aAAc,aA+BrX,SAAS+mB,GAAgBC,GACvB,IAAM7oD,EAASkoD,KACTY,EAAeD,GATvB,SAAoB7oD,GAIlB,OAHK2oD,KAASA,GAAU,IAAIpC,GAAa,CACvC/S,cAAyB,MAAVxzC,OAAiB,EAASA,EAAOyf,YAE3CkpC,GAK0BI,CAAW/oD,GACtCynD,GAAQhb,EAAAA,EAAAA,QAAO,CACnBuc,OAAQ,KACRC,SAAU,OAEZ,OAAOhyD,OAAOguB,OAAOwiC,EAAMlmD,QAAS,CAClC2nD,IAAK,kBAAMJ,EAAaI,IAAIzB,EAAMlmD,UAClC+U,OAAQ,kBAAMwyC,EAAaxyC,OAAOmxC,EAAMlmD,UACxC4nD,WAAY,kBAAML,EAAaK,WAAW1B,EAAMlmD,UAChD6nD,cAAcrc,EAAAA,EAAAA,cAAY,SAAAzL,GACxBmmB,EAAMlmD,QAAQynD,OAAS1nB,IACtB,IACH+nB,gBAAgBtc,EAAAA,EAAAA,cAAY,SAAAzL,GAC1BmmB,EAAMlmD,QAAQ0nD,SAAW3nB,IACxB,MAIP,IAAMgoB,IAAqBC,EAAAA,EAAAA,aAAW,SAACpnC,EAAMmf,GAC3C,IAAAkoB,EA4BIrnC,EA3BFg3B,KAAAA,OAAI,IAAAqQ,GAAQA,EAAAC,EA2BVtnC,EA1BFstB,KAAAA,OAAI,IAAAga,EAAG,SAAQA,EACf7nB,EAyBEzf,EAzBFyf,UACA7tB,EAwBEoO,EAxBFpO,MACAyvB,EAuBErhB,EAvBFqhB,SAAQkmB,EAuBNvnC,EAtBF8mC,SAAAA,OAAQ,IAAAS,GAAOA,EAAAC,EAsBbxnC,EArBFynC,SAAAA,OAAQ,IAAAD,GAAOA,EACfE,EAoBE1nC,EApBF0nC,gBACAC,EAmBE3nC,EAnBF2nC,gBACA1Q,EAkBEj3B,EAlBFi3B,WACA2Q,EAiBE5nC,EAjBF4nC,mBAAkBC,EAiBhB7nC,EAhBF8nC,UAAAA,OAAS,IAAAD,GAAOA,EAAAE,EAgBd/nC,EAfFgoC,aAAAA,OAAY,IAAAD,GAAOA,EAAAE,EAejBjoC,EAdFkoC,aAAAA,OAAY,IAAAD,GAAOA,EACnBE,EAaEnoC,EAbFmoC,oBACAC,EAYEpoC,EAZFooC,aAAYC,EAYVroC,EAXFsoC,eAAAA,OAAc,IAAAD,EAAG,SAAA9zD,GAAK,OAAiBorC,EAAAA,GAAAA,KAAK,MAAO7qC,OAAOguB,OAAO,GAAIvuB,KAAO8zD,EACnEE,EAUPvoC,EAVFwmC,QACWgC,EASTxoC,EATFklC,UACAuD,EAQEzoC,EARFyoC,OAAMC,EAQJ1oC,EAPF2oC,OAAAA,OAAM,IAAAD,EAAG,aAAQA,EACjBpY,EAMEtwB,EANFswB,OACAE,EAKExwB,EALFwwB,SACAD,EAIEvwB,EAJFuwB,UACAJ,EAGEnwB,EAHFmwB,QACAC,EAEEpwB,EAFFowB,WACAF,EACElwB,EADFkwB,UAEEz3B,EA/EN,SAAuCpgB,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EA+E7R42C,CAA8BlrB,EAAM0f,IAEzCwlB,EAAYgB,GAAiBsC,GAC7BlD,EAAQmB,GAAgB8B,GACxB/b,EAAYF,KACZsc,EAAWnc,GAAYuK,GACc+B,EAAA9qB,IAAfuc,EAAAA,EAAAA,WAAUwM,GAAK,GAApC6R,EAAM9P,EAAA,GAAE+P,EAAS/P,EAAA,GAClBgQ,GAAeze,EAAAA,EAAAA,QAAO,OAC5B0e,EAAAA,EAAAA,qBAAoB7pB,GAAK,kBAAMmmB,IAAO,CAACA,IAEnC3S,KAAciW,GAAY5R,IAC5B+R,EAAa3pD,QAAUqkD,MAGpBxM,GAAeD,GAAS6R,EAElB7R,GAAQ6R,GACjBC,GAAU,GAFVA,GAAU,GAKZ,IAAMG,EAAa9c,IAAiB,WAalC,GAZAmZ,EAAMyB,MACNmC,GAAyB9pD,QAAUsoC,GAAOpqB,SAAU,UAAW6rC,GAC/DC,GAAuBhqD,QAAUsoC,GAAOpqB,SAAU,SAElD,kBAAM9I,WAAW60C,MAAqB,GAElCZ,GACFA,IAKEX,EAAW,CACb,IAAMwB,EAAuB7F,GAAcnmC,UAEvCgoC,EAAMuB,QAAUyC,IAAyB3F,GAAS2B,EAAMuB,OAAQyC,KAClEP,EAAa3pD,QAAUkqD,EACvBhE,EAAMuB,OAAOlpC,aAIb4rC,EAAapd,IAAiB,WAMhC,IAAIqd,GALNlE,EAAMnxC,SAC8B,MAApC+0C,GAAyB9pD,SAA2B8pD,GAAyB9pD,UAC3C,MAAlCgqD,GAAuBhqD,SAA2BgqD,GAAuBhqD,UAErE8oD,KAIgD,OAAjDsB,EAAwBT,EAAa3pD,UAA2D,MAA/BoqD,EAAsB7rC,OAAyB6rC,EAAsB7rC,MAAMwqC,GAC7IY,EAAa3pD,QAAU,UAM3B8sC,EAAAA,EAAAA,YAAU,WACH8K,GAASkO,GACd+D,MACC,CAACjS,EAAMkO,EAEV+D,KAIA/c,EAAAA,EAAAA,YAAU,WACH2c,GACLU,MACC,CAACV,EAAQU,IACZ1F,IAAe,WACb0F,OAGF,IAAMF,EAAqBld,IAAiB,WAC1C,GAAK6b,GAAiBxb,KAAgB8Y,EAAM0B,aAA5C,CAIA,IAAMsC,EAAuB7F,KAEzB6B,EAAMuB,QAAUyC,IAAyB3F,GAAS2B,EAAMuB,OAAQyC,IAClEhE,EAAMuB,OAAOlpC,YAGX8rC,EAAsBtd,IAAiB,SAAAvtC,GACvCA,EAAEtK,SAAWsK,EAAE8qD,gBAIA,MAAnBhC,GAAmCA,EAAgB9oD,IAElC,IAAbkoD,GACF6B,QAGEQ,EAAwBhd,IAAiB,SAAAvtC,GACzC6oD,GAA0B,KAAd7oD,EAAE+qD,SAAkBrE,EAAM0B,eACrB,MAAnBW,GAAmCA,EAAgB/oD,GAE9CA,EAAE6pC,kBACLkgB,QAIAS,IAAyB9e,EAAAA,EAAAA,UACzB4e,IAA2B5e,EAAAA,EAAAA,UAO3B6D,GAAa8I,EAEnB,IAAKiO,KAAelO,GAAQ7I,KAAe0a,GACzC,OAAO,KAGT,IAAMe,GAAc90D,OAAOguB,OAAO,CAChCwqB,KAAAA,EACAnO,IAAKmmB,EAAM2B,aAEX,aAAuB,WAAT3Z,QAA2Bj0C,GACxCof,EAAM,CACP7G,MAAAA,EACA6tB,UAAAA,EACAyN,UAAW,IAET2Z,GAASuB,EAAeA,EAAawB,KAA4BjqB,EAAAA,GAAAA,KAAK,MAAO7qC,OAAOguB,OAAO,GAAI8mC,GAAa,CAC9GvoB,SAAuBzmB,EAAAA,aAAmBymB,EAAU,CAClDiM,KAAM,gBAINa,KACF0Y,IAAsBlnB,EAAAA,GAAAA,KAAKwO,GAAY,CACrCG,QAAQ,EACRK,eAAe,EACfD,KAAMsI,EACN1G,OAAQA,EACRC,UAAWA,EACXC,SAlCiB,WACnBsY,GAAU,GACE,MAAZtY,GAA4BA,EAAQt4C,WAAC,EAADE,YAiClC+3C,QAASA,EACTC,WAAYA,EACZF,UAAWA,EACX7O,SAAUwlB,MAId,IAAIgD,GAAkB,KAEtB,GAAI/C,EAAU,CACZ,IAAMgD,GAAqBlC,EAC3BiC,GAAkBvB,EAAe,CAC/BnpB,IAAKmmB,EAAM4B,eACXtf,QAAS6hB,IAGPK,KACFD,IAA+BlqB,EAAAA,GAAAA,KAAKmqB,GAAoB,CACtDxb,QAAQ,EACRI,KAAMsI,EACN3V,SAAUwoB,MAKhB,OAAoBlqB,EAAAA,GAAAA,KAAK4Z,GAAAA,SAAW,CAClClY,SAAuBuO,EAAAA,cAAoC+H,EAAAA,GAAAA,MAAM4B,GAAAA,SAAW,CAC1ElY,SAAU,CAACwoB,GAAiBhD,MAC1B3B,QAGRiC,GAAMtnB,YAAc,QACpB,UAAe/qC,OAAOguB,OAAOqkC,GAAO,CAClC4C,QAAS3F,KCjQX,GAAe9N,GAAmB,yDCY5B0T,IAAgB3zD,EAAA4zD,GAAG,GACtBjc,GAAW,QAAM33C,EAAA4zD,GACjBhc,GAAU,QAAMgc,IAEbC,GAAiCtvC,EAAAA,YAAiB,SAAAoF,EAKrDmf,GAAQ,IAJTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SACG9sC,EAAK+pC,GAAAte,EAAA0f,IAGR,OADAN,EAAWP,GAAmBO,EAAU,cACpBO,EAAAA,GAAAA,KAAKiV,GAAiBz8C,GAAAA,GAAA,CACxCgnC,IAAKA,EACL0R,eAAgBoD,IACb1/C,GAAK,IACRsgD,SAAUxT,EAASlC,IACnBkC,SAAU,SAACzb,EAAQ6vB,GAAU,OAAkB76B,EAAAA,aAAmBymB,EAAQlpC,GAAAA,GAAA,GAAOs9C,GAAU,IACzFhW,UAAWG,IAAAA,CAAWH,EAAW4B,EAAS9sC,MAAMkrC,WAAY7Z,IAAWooB,IAAYpoB,IAAWsoB,KAAY,GAAL5zC,OAAQ8kC,EAAQ,aAAa4qB,GAAiBpkC,cAIzJskC,GAAkBpqB,aA3BG,CACnB4O,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,GAwBV4b,GAAkBrqB,YAAc,oBAChC,UC9BA,GALkCjlB,EAAAA,cAAoB,CAEpD+tC,OAAM,kFCQFwB,GAAmCvvC,EAAAA,YAAiB,SAAAoF,EAOvDmf,GAAQ,IANT+X,EAAUl3B,EAAVk3B,WACAI,EAAYt3B,EAAZs3B,aACA8S,EAAWpqC,EAAXoqC,YACAzB,EAAM3oC,EAAN2oC,OACAtnB,EAAQrhB,EAARqhB,SACG9sC,EAAK+pC,GAAAte,EAAA0f,IAEFj4B,GAAUs3B,EAAAA,EAAAA,YAAWsrB,IACrBld,EAAchB,IAAiB,WACxB,MAAX1kC,GAA2BA,EAAQkhD,SACzB,MAAVA,GAA0BA,OAE5B,OAAoBhR,EAAAA,GAAAA,MAAM,MAAKx/C,GAAAA,GAAA,CAC7BgnC,IAAKA,GACF5qC,GAAK,IACR8sC,SAAU,CAACA,EAAU+oB,IAA4BzqB,EAAAA,GAAAA,KAAKuW,GAAa,CACjE,aAAcgB,EACdjB,QAASqB,EACT1P,QAASuF,WAIfgd,GAAoBrqB,aA3BC,CACnBoX,WAAY,QACZkT,aAAa,GA0Bf,sCC1BME,GAA+B1vC,EAAAA,YAAiB,SAAAoF,EAInDmf,GAAQ,IAHTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACGlrC,EAAK+pC,GAAAte,EAAA0f,IAGR,OADAN,EAAWP,GAAmBO,EAAU,qBACpBO,EAAAA,GAAAA,KAAKwqB,GAAmBhyD,GAAAA,GAAA,CAC1CgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWL,SAGrCkrB,GAAgBzqB,YAAc,kBAC9ByqB,GAAgBxqB,aAjBK,CACnBoX,WAAY,QACZkT,aAAa,GAgBf,UCpBA,GAAe9T,GAAmB,kBAAmB,CACnD9W,UAFoBqX,GAAiB,QCDxB,SAAS0T,GAAe9yD,EAAQu6C,GAC7C,MAAQl9C,OAAOd,UAAU0I,eAAexG,KAAKuB,EAAQu6C,IAEpC,QADfv6C,EAAS,EAAeA,MAI1B,OAAOA,ECNM,SAAS+yD,KAiBtB,OAfEA,GADqB,qBAAZlsD,SAA2BA,QAAQ0W,IACrC1W,QAAQ0W,IAER,SAAc1gB,EAAQ09C,EAAUyY,GACrC,IAAIC,EAAO,GAAcp2D,EAAQ09C,GACjC,GAAK0Y,EAAL,CACA,IAAI9yB,EAAO9iC,OAAOkD,yBAAyB0yD,EAAM1Y,GAEjD,OAAIpa,EAAK5iB,IACA4iB,EAAK5iB,IAAI9e,KAAKkC,UAAU3D,OAAS,EAAIH,EAASm2D,GAGhD7yB,EAAK5hC,QAITw0D,GAAKtyD,MAAMW,KAAMT,WCfX,SAAS,GAAagG,GACnC,IAAIC,ECJS,WACb,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,QAAQ1K,UAAU2K,QAAQzI,KAAKoI,QAAQC,UAAUG,QAAS,IAAI,iBACvD,EACP,MAAOE,IACP,OAAO,GDLuB,GAChC,OAAO,WACL,IACIE,EADAC,EAAQ,EAAeX,GAG3B,GAAIC,EAA2B,CAC7B,IAAIW,EAAY,EAAenG,MAAM9E,YACrC+K,EAASR,QAAQC,UAAUQ,EAAO3G,UAAW4G,QAE7CF,EAASC,EAAM7G,MAAMW,KAAMT,WAG7B,OAAO,EAA0BS,KAAMiG,IEV5B,SAAS6rD,GAAS7lB,EAASrF,GACxC,OAAIqF,EAAQ8lB,YAAoBnrB,GAAaqF,EAAQ8lB,UAAUjH,SAASlkB,IACkC,KAAlG,KAAOqF,EAAQrF,UAAUorB,SAAW/lB,EAAQrF,WAAa,KAAKpjC,QAAQ,IAAMojC,EAAY,KCRlG,IAAIpc,GAAUynC,SAAS92D,UAAUgiB,KAAK9f,KAAK40D,SAAS92D,UAAUkC,KAAM,GAAGkB,OAQxD,SAAS2zD,GAAIjmB,EAASkmB,GACnC,OAAO3nC,GAAQyhB,EAAQmmB,iBAAiBD,ICT1C,SAASE,GAAiBC,EAAWC,GACnC,OAAOD,EAAU7uD,QAAQ,IAAIqG,OAAO,UAAYyoD,EAAgB,YAAa,KAAM,MAAM9uD,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,ICItI,IAqDI+uD,GArDEC,GACW,oDADXA,GAEY,cAFZA,GAGY,kBAGZC,GAAqB,SAAAC,GAAA51D,EAAA21D,EAAAC,GAAA,IAAA5rD,EAAAzB,GAAAotD,GAAA,SAAAA,IAAA,OAAAt3D,EAAA,KAAAs3D,GAAA3rD,EAAA1H,MAAA,KAAAE,WA2CxB,OA3CwBnD,EAAAs2D,EAAA,EAAAv2D,IAAA,iBAAAgB,MACzB,SAAesH,EAAMwnC,EAAS2mB,GAC5B,IAAMC,EAAS5mB,EAAQlzB,MAAMtU,GAG7BwnC,EAAQ6mB,QAAQruD,GAAQouD,EACxBzZ,GAAInN,EAAOzuC,EAAA,GACRiH,EAAI,GAAAhD,OAAMw5C,WAAW7B,GAAInN,EAASxnC,IAASmuD,EAAM,UAErD,CAAAz2D,IAAA,UAAAgB,MAED,SAAQsH,EAAMwnC,GACZ,IAAM9uC,EAAQ8uC,EAAQ6mB,QAAQruD,QAEhBjE,IAAVrD,WACK8uC,EAAQ6mB,QAAQruD,GACvB20C,GAAInN,EAAOzuC,EAAA,GACRiH,EAAOtH,OAGb,CAAAhB,IAAA,oBAAAgB,MAED,SAAkB+uD,GAAgB,IAAAlqD,EAAA,KAChC2vD,GAAAr0D,EAAAo1D,EAAAv3D,WAAA,0BAAAkC,KAAA,KAAwB6uD,GACxB,IC3B6BjgB,EAASrF,ED2BhCylB,EAAYrsD,KAAKssD,aAEvB,GC7BsC1lB,ED4BlB,cC5BSqF,ED4BpBogB,GC3BC0F,UAAW9lB,EAAQ8lB,UAAU7D,IAAItnB,GAAqBkrB,GAAS7lB,EAASrF,KAA6C,kBAAtBqF,EAAQrF,UAAwBqF,EAAQrF,UAAYqF,EAAQrF,UAAY,IAAMA,EAAeqF,EAAQtU,aAAa,SAAUsU,EAAQrF,WAAaqF,EAAQrF,UAAUorB,SAAW,IAAM,IAAMprB,ID4B9RslB,EAAeK,eAApB,CACA,IAAMH,EAAcpsD,KAAK2rD,MAAQ,cAAgB,eAC3CoH,EAAa/yD,KAAK2rD,MAAQ,aAAe,cAC/CuG,GAAI7F,EAAWoG,IAAwBhzD,SAAQ,SAAA2uB,GAAE,OAAIpsB,EAAKgxD,eAAe5G,EAAah+B,EAAI89B,EAAeK,mBACzG2F,GAAI7F,EAAWoG,IAAyBhzD,SAAQ,SAAA2uB,GAAE,OAAIpsB,EAAKgxD,eAAeD,EAAY3kC,GAAK89B,EAAeK,mBAC1G2F,GAAI7F,EAAWoG,IAAyBhzD,SAAQ,SAAA2uB,GAAE,OAAIpsB,EAAKgxD,eAAeD,EAAY3kC,EAAI89B,EAAeK,sBAC1G,CAAApwD,IAAA,uBAAAgB,MAED,SAAqB+uD,GAAgB,IAAAzhD,EAAA,KACnCknD,GAAAr0D,EAAAo1D,EAAAv3D,WAAA,6BAAAkC,KAAA,KAA2B6uD,GAC3B,IDpCgCjgB,EAASrF,ECoCnCylB,EAAYrsD,KAAKssD,aDpCkB1lB,ECqClB,cDrCSqF,ECqCpBogB,GDpCF0F,UACV9lB,EAAQ8lB,UAAUz2C,OAAOsrB,GACa,kBAAtBqF,EAAQrF,UACxBqF,EAAQrF,UAAYyrB,GAAiBpmB,EAAQrF,UAAWA,GAExDqF,EAAQtU,aAAa,QAAS06B,GAAiBpmB,EAAQrF,WAAaqF,EAAQrF,UAAUorB,SAAW,GAAIprB,ICgCrG,IAAMwlB,EAAcpsD,KAAK2rD,MAAQ,cAAgB,eAC3CoH,EAAa/yD,KAAK2rD,MAAQ,aAAe,cAC/CuG,GAAI7F,EAAWoG,IAAwBhzD,SAAQ,SAAA2uB,GAAE,OAAI3jB,EAAKwoD,QAAQ7G,EAAah+B,MAC/E8jC,GAAI7F,EAAWoG,IAAyBhzD,SAAQ,SAAA2uB,GAAE,OAAI3jB,EAAKwoD,QAAQF,EAAY3kC,MAC/E8jC,GAAI7F,EAAWoG,IAAyBhzD,SAAQ,SAAA2uB,GAAE,OAAI3jB,EAAKwoD,QAAQF,EAAY3kC,UAChFskC,EA3CwB,CAASnH,IAoDpC,sUErCA,SAAS2H,GAAiBx3D,GACxB,OAAoBorC,EAAAA,GAAAA,KAAKuqB,GAAiB/xD,GAAA,GAAO5D,IAInD,SAASu1D,GAAmBv1D,GAC1B,OAAoBorC,EAAAA,GAAAA,KAAKiW,GAAIz9C,GAAA,GAAO5D,IAItC,IAAMy3D,GAAyBpxC,EAAAA,YAAiB,SAAAoF,EA6B7Cmf,GAAQ,IA5BTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SACmB4qB,EAAcjsC,EAAjC,mBACAksC,EAASlsC,EAATksC,UAGAlV,EAAIh3B,EAAJg3B,KACA8P,EAAQ9mC,EAAR8mC,SACAW,EAAQznC,EAARynC,SACAtE,EAAMnjC,EAANmjC,OACAwE,EAAe3nC,EAAf2nC,gBACAc,EAAMzoC,EAANyoC,OACAE,EAAM3oC,EAAN2oC,OACAzD,EAASllC,EAATklC,UACA4C,EAAS9nC,EAAT8nC,UACAE,EAAYhoC,EAAZgoC,aACAE,EAAYloC,EAAZkoC,aACAC,EAAmBnoC,EAAnBmoC,oBACAjY,EAASlwB,EAATkwB,UACAI,EAAMtwB,EAANswB,OACAC,EAASvwB,EAATuwB,UACAJ,EAAOnwB,EAAPmwB,QACAC,EAAUpwB,EAAVowB,WACAI,EAAQxwB,EAARwwB,SACA2b,EAAiBnsC,EAAjBmsC,kBACSC,EAAYpsC,EAArBwmC,QACGjyD,EAAK+pC,GAAAte,EAAA0f,IAEFinB,GAAerc,EAAAA,EAAAA,UACrBlL,EAAWP,GAAmBO,EAAU,aACxC,IACEokB,IACEzkB,EAAAA,EAAAA,YAAWskB,KAAkB,IAD/BG,SAEI+F,EAAapd,IAAiB,WACtB,MAAZqX,GAA4BA,IAClB,MAAVmF,GAA0BA,OAEtB0D,GAAe7X,EAAAA,EAAAA,UAAQ,iBAAO,CAClCmU,OAAQY,KACN,CAACA,IAiBL,IAUMjB,GAAiB1d,EAAAA,EAAAA,cAAY,SAAA0hB,GAAa,OAAiB3sB,EAAAA,GAAAA,KAAK,MAAKxnC,GAAAA,GAAA,GAAOm0D,GAAa,IAC7F7sB,UAAWG,IAAAA,CAAW,GAADtlC,OAAI8kC,EAAQ,aAAa+sB,QAC5C,CAACA,EAAmB/sB,IAWxB,OAAoBO,EAAAA,GAAAA,KAAK0qB,GAAAA,SAAuB,CAC9Cr0D,MAAOq2D,EACPhrB,UAAuB1B,EAAAA,GAAAA,KAAK4sB,GAAW,CACrCvV,KAAMA,EACN7X,IAAKA,EACL2nB,SAAUA,EACV5B,UAAWA,EACXuC,SAAUA,EACVK,UAAWA,EACXE,aAAcA,IAAiB7E,EAC/B+E,aAAcA,EACdC,oBAAqBA,EACrBR,gBAAiBA,EACjBc,OAAQA,EACRE,OAAQY,EACRpZ,QAtCgB,SAACQ,GACfA,IAAMA,EAAK/+B,MAAM46C,WAAa,WAAU,QAAA7yD,EAAAvB,UAAA3D,OADhBmE,EAAI,IAAApC,MAAAmD,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJhB,EAAIgB,EAAA,GAAAxB,UAAAwB,GAErB,MAAXu2C,GAA2BA,EAAOj4C,WAAC,EAAD,CAACy4C,GAAIr2C,OAAK1B,KAqC1Cw3C,WAAYA,EACZF,UAAWA,EACXI,OAAQA,EACRC,UAAWA,EACXC,SAtCiB,SAACG,GAChBA,IAAMA,EAAK/+B,MAAM46C,WAAa,IAAG,QAAA1yD,EAAA1B,UAAA3D,OADRmE,EAAI,IAAApC,MAAAsD,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJnB,EAAImB,EAAA,GAAA3B,UAAA2B,GAErB,MAAZy2C,GAA4BA,EAAQt4C,WAAC,EAAGU,IAqCtC4tD,QA1DE4F,IAEAjJ,GAGGwD,EAAavnD,UAASunD,EAAavnD,QAAU,IAAImsD,GAAsB,CAC1EjH,yBAAyB,KAEpBqC,EAAavnD,SF7BnB,SAA0BhG,GAE/B,OADKiyD,KAAeA,GAAgB,IAAIE,GAAsBnyD,IACvDiyD,GE8BEoB,IAgDLxV,WAAY8U,GACZnE,mBAAoBkC,GACpBxB,eAAgBA,EAChBF,aAlCiB,SAAAwB,GAAW,OAAiBjqB,EAAAA,GAAAA,KAAK,MAAKxnC,GAAAA,GAAAA,GAAA,CACzDm1C,KAAM,UACHsc,GACAr1D,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWL,EAAU,GAAF9kC,OAAK8kC,EAAQ,KAAA9kC,OAAI4xD,IAC1D,kBAAmBD,EACnB5qB,SAAUA,aAgCd2qB,GAAUnsB,YAAc,YACxBmsB,GAAUlsB,aApIW,CACnBkX,MAAM,EACN8P,UAAU,EACVW,UAAU,EACVtE,QAAQ,EACR2E,WAAW,EACXE,cAAc,EACdE,cAAc,EACdgE,UAAW,SA6Hb,OAAep3D,OAAOguB,OAAOkpC,GAAW,CACtCU,KAAMC,GACNC,OAAQtC,GACRuC,MAAOC,KClJHC,GAA+BnyC,EAAAA,YAAiB,SAACrmB,EAAO4qC,GAC5D,IAAM13B,GAAUs3B,EAAAA,EAAAA,YAAWskB,IAC3B,OAAoB1jB,EAAAA,GAAAA,KAAKqsB,GAAS7zD,GAAA,CAChCgnC,IAAKA,EACL6X,OAAoB,MAAXvvC,IAAmBA,EAAQ67C,WACjC/uD,OAGPw4D,GAAgBltB,YAAc,kBAC9B,wICDMmtB,GAAa1W,GAAmB,cAAe,CACnD9W,UAAW,SAOPytB,GAAsBryC,EAAAA,YAAiB,SAACrmB,EAAO4qC,GACnD,IAAAkY,EAeIxM,GAAgBt2C,EAAO,CACzB+uD,SAAU,aAfA4J,EAAe7V,EAAzBjY,SACA+tB,EAAM9V,EAAN8V,OACAlX,EAAOoB,EAAPpB,QACAmX,EAAE/V,EAAF+V,GACAC,EAAKhW,EAALgW,MACAC,EAAMjW,EAANiW,OACA7tB,EAAS4X,EAAT5X,UAAS8tB,EAAAlW,EAET9X,GAAIC,OAAS,IAAA+tB,EAAG,MAAKA,EACrBjK,EAAQjM,EAARiM,SACAE,EAAQnM,EAARmM,SACAgK,EAAQnW,EAARmW,SACAC,EAAgBpW,EAAhBoW,iBACGC,EAAepvB,GAAA+Y,EAAA3X,IAIdN,EAAWP,GAAmBquB,EAAiB,UAC/CS,GAAiB/iB,EAAAA,EAAAA,cAAY,WACrB,MAAZ4iB,GAA4BA,EAAQt1D,WAAC,EAADE,WAEhCq1D,GAAoBnK,IACV,MAAZE,GAA4BA,GAAS,MAEtC,CAACgK,EAAUC,EAAkBnK,EAAUE,SAIbnqD,IAAzBq0D,EAAgBpgB,MAAoC,QAAd9N,IACxCkuB,EAAgBpgB,KAAO,cAGzB,IAAIsgB,EAAc,GAAHtzD,OAAM8kC,EAAQ,WACP,kBAAX+tB,IAAqBS,EAAc,GAAHtzD,OAAMszD,EAAW,KAAAtzD,OAAI6yD,IAChE,IAAMU,GAAgBrZ,EAAAA,EAAAA,UAAQ,iBAAO,CACnCgP,SAAU,kBAAkB,MAAZA,OAAmB,EAASA,GAAUF,IACtDlkB,SAAAA,EACAkkB,WAAYA,KACV,CAAClkB,EAAUkkB,EAAUE,IACzB,OAAoB7jB,EAAAA,GAAAA,KAAK0jB,GAAczkB,SAAU,CAC/C5oC,MAAO63D,EACPxsB,UAAuB1B,EAAAA,GAAAA,KAAKmuB,GAAAA,SAA4B,CACtD93D,MAAO23D,EACPtsB,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CACnCgnC,IAAKA,GACFuuB,GAAe,IAClBjuB,UAAWG,IAAAA,CAAWH,EAAWL,EAAU+tB,GAAUS,EAAa3X,GAAW,GAAJ37C,OAAO8kC,EAAQ,KAAA9kC,OAAI27C,GAAWmX,GAAM,MAAJ9yD,OAAU8yD,GAAME,GAAU,UAAJhzD,OAAcgzD,GAAUD,GAAS,SAAJ/yD,OAAa+yD,cAKjLJ,GAAOntB,aA1Dc,CACnBqtB,QAAQ,EACRlX,QAAS,QACTwX,kBAAkB,GAwDpBR,GAAOptB,YAAc,SACrB,OAAe/qC,OAAOguB,OAAOmqC,GAAQ,CACnCc,MAAO7L,GACPY,SAAUM,GACV4I,UAAWe,GACXhN,KAAMiN,GACNgB,OAAQzK,YC/DK,SAAS0K,KAQtB,OALkBC,EAAAA,EAAAA,aAAW,SAAUj7C,GACrC,OAAQA,KACP,GACwB,GCvB7B,IAAMk7C,GAA0BvzC,EAAAA,cAAoB,MACpDuzC,GAAWtuB,YAAc,aACzB,UCDA,GADgCjlB,EAAAA,cAAoB,MCD9C8kB,GAAY,CAAC,KAAM,SAAU,YAY5B,SAAS0uB,GAAUlsC,GAOvB,IANDltB,EAAGktB,EAAHltB,IACA4yC,EAAO1lB,EAAP0lB,QACA8I,EAAMxuB,EAANwuB,OACAjoB,EAAEvG,EAAFuG,GACA6kB,EAAIprB,EAAJorB,KACAP,EAAQ7qB,EAAR6qB,SAEMshB,GAAiBtvB,EAAAA,EAAAA,YAAW+uB,IAC5BQ,GAAavvB,EAAAA,EAAAA,YAAWovB,IAC1BrlB,EAAW4H,EACTn8C,EAAQ,CACZ+4C,KAAAA,GAGF,GAAIghB,EAAY,CACThhB,GAA4B,YAApBghB,EAAWhhB,OAAoB/4C,EAAM+4C,KAAO,OACzD,IAAMihB,EAAsBD,EAAWE,gBAAuB,MAAPx5D,EAAcA,EAAM,MACrEy5D,EAAsBH,EAAWI,gBAAuB,MAAP15D,EAAcA,EAAM,MAE3ET,EAAM2vD,GAAS,cAAgBlvD,EAC/BT,EAAMk0B,GAAK8lC,GAAuB9lC,EAClCl0B,EAAM,iBAAmBk6D,EACzB3lB,EAAqB,MAAV4H,GAAyB,MAAP17C,EAAcs5D,EAAWK,YAAc35D,EAAM07C,EA4B5E,MAzBmB,QAAfn8C,EAAM+4C,OACJP,IACFx4C,EAAM24C,UAAY,EAClB34C,EAAM,kBAAmB,GAGvBu0C,EACFv0C,EAAM,iBAAmBu0C,EAEzBv0C,EAAM24C,UAAY,GAItB34C,EAAMqzC,QAAUuE,IAAiB,SAAAvtC,GAC3BmuC,IACO,MAAXnF,GAA2BA,EAAQhpC,GAExB,MAAP5J,GAIAq5D,IAAmBzvD,EAAEgwD,wBACvBP,EAAer5D,EAAK4J,OAGjB,CAACrK,EAAO,CACbu0C,SAAAA,IAGJ,IAAM+lB,GAAuBj0C,EAAAA,YAAiB,SAACoF,EAAMmf,GACnD,IAAAG,EAIItf,EAHFuf,GAAIC,OAAS,IAAAF,EAAGkO,GAAMlO,EACtBoR,EAEE1wB,EAFF0wB,OACAuR,EACEjiC,EADFiiC,SAEE7oD,EAvEN,SAAuCf,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAuE1R42C,CAA8BlrB,EAAM0f,IAKtCovB,EAAA7gC,GAHUmgC,GAAWt5D,OAAOguB,OAAO,CAC7C9tB,IAAKgtD,GAAaC,EAAU7oD,EAAQm3B,MACpCmgB,OAAAA,GACCt3C,IAAS,GAHL7E,EAAKu6D,EAAA,GAAExrB,EAAIwrB,EAAA,GAMlB,OADAv6D,EAAM2vD,GAAS,WAAa5gB,EAAKwF,UACbnJ,EAAAA,GAAAA,KAAKH,EAAW1qC,OAAOguB,OAAO,GAAI1pB,EAAS7E,EAAO,CACpE4qC,IAAKA,QAGT0vB,GAAQhvB,YAAc,UACtB,UCtFMH,GAAY,CAAC,KAAM,WAAY,YAAa,OAAQ,aAiB1D,IAAM9pB,GAAO,aAEPm5C,GAAiB7K,GAAS,aAC1B8K,GAAmBp0C,EAAAA,YAAiB,SAACoF,EAAMmf,GAC/C,IAgBIuvB,EAAiBF,EAhBrBlvB,EAOItf,EALFuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBkuB,EAIExtC,EAJFwtC,SACAmB,EAGE3uC,EAHF2uC,UACArhB,EAEEttB,EAFFstB,KACAC,EACEvtB,EADFutB,UAEEh5C,EA3BN,SAAuC8D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EA2B5R42C,CAA8BlrB,EAAM0f,IAI1CuvB,EAAchB,KACdiB,GAAkB5kB,EAAAA,EAAAA,SAAO,GACzB+jB,GAAiBtvB,EAAAA,EAAAA,YAAW+uB,IAC5BqB,GAAapwB,EAAAA,EAAAA,YAAWqwB,IAG1BD,IACF7hB,EAAOA,GAAQ,UACfqhB,EAAYQ,EAAWR,UAEvBD,EAAkBS,EAAWT,gBAC7BF,EAAkBW,EAAWX,iBAG/B,IAAMa,GAAW/kB,EAAAA,EAAAA,QAAO,MAElBglB,EAAmB,SAAAlR,GACvB,IAAMmR,EAAkBF,EAASjwD,QACjC,IAAKmwD,EAAiB,OAAO,KAC7B,IAAMC,EAAQzE,GAAIwE,EAAiB,IAAFj1D,OAAMy0D,GAAc,gCAC/CU,EAAcF,EAAgBG,cAAc,wBAClD,IAAKD,EAAa,OAAO,KACzB,IAAMzvD,EAAQwvD,EAAMnzD,QAAQozD,GAC5B,IAAe,IAAXzvD,EAAc,OAAO,KACzB,IAAI2vD,EAAY3vD,EAAQo+C,EAGxB,OAFIuR,GAAaH,EAAM/6D,SAAQk7D,EAAY,GACvCA,EAAY,IAAGA,EAAYH,EAAM/6D,OAAS,GACvC+6D,EAAMG,IAGTC,EAAe,SAAC56D,EAAK+F,GACd,MAAP/F,IACQ,MAAZw4D,GAA4BA,EAASx4D,EAAK+F,GACxB,MAAlBszD,GAAkCA,EAAer5D,EAAK+F,MAkCxDmxC,EAAAA,EAAAA,YAAU,WACR,GAAImjB,EAASjwD,SAAW8vD,EAAgB9vD,QAAS,CAC/C,IAAMqwD,EAAcJ,EAASjwD,QAAQswD,cAAc,IAADp1D,OAAKy0D,GAAc,0BACtD,MAAfU,GAA+BA,EAAY9xC,QAG7CuxC,EAAgB9vD,SAAU,KAE5B,IAAM01C,EAAYC,GAAc5V,EAAKkwB,GACrC,OAAoB1vB,EAAAA,GAAAA,KAAKmuB,GAAAA,SAA4B,CACnD93D,MAAO45D,EACPvuB,UAAuB1B,EAAAA,GAAAA,KAAKwuB,GAAAA,SAAqB,CAC/Cn4D,MAAO,CACLs3C,KAAAA,EAEAqhB,UAAW3M,GAAa2M,GACxBD,gBAAiBA,GAAmB94C,GACpC44C,gBAAiBA,GAAmB54C,IAEtCyrB,UAAuB1B,EAAAA,GAAAA,KAAKH,EAAW1qC,OAAOguB,OAAO,GAAIvuB,EAAO,CAC9Dg5C,UAnDgB,SAAAxyC,GAGpB,GAFa,MAAbwyC,GAA6BA,EAAUxyC,GAElCo0D,EAAL,CAIA,IAAIU,E5BvEiB7d,E4ByErB,OAAQj3C,EAAM/F,KACZ,IAAK,YACL,IAAK,UACH66D,EAAkBP,GAAkB,GACpC,MAEF,IAAK,aACL,IAAK,YACHO,EAAkBP,EAAiB,GACnC,MAEF,QACE,OAGJ,GAAKO,EACL90D,EAAMutC,iBACNsnB,EAAaC,EAAgBlE,S5B1FR3Z,E4B0FyB,W5BzFzC,GAAP13C,OAL6B,QAKJA,OAAG03C,M4ByFoC,KAAMj3C,GACpEm0D,EAAgB9vD,SAAU,EAC1B6vD,MAwBI9vB,IAAK2V,EACLxH,KAAMA,YAKd0hB,GAAInvB,YAAc,MAClB,OAAe/qC,OAAOguB,OAAOksC,GAAK,CAChCc,KAAMjB,KChIFpnD,GAAuBmT,EAAAA,cAAoB,MACjDnT,GAAQo4B,YAAc,oBACtB,UCFA,GAAeyW,GAAmB,iECS5B5N,GAAuB9tB,EAAAA,YAAiB,SAAAoF,EAO3Cmf,GAAQ,IANTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UAASH,EAAAtf,EACTuf,GAAIC,OAAS,IAAAF,EAAGsO,GAAMtO,EACtBoR,EAAM1wB,EAAN0wB,OACAuR,EAAQjiC,EAARiiC,SACG1tD,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,YACxC,IAIE0vB,EAAA7gC,GAJ2BmgC,GAAUj2D,GAAC,CACtCnD,IAAKgtD,GAAaC,EAAU1tD,EAAMg8B,MAClCmgB,OAAAA,GACGn8C,IACH,GAJKw7D,EAAYjB,EAAA,GAAExrB,EAAIwrB,EAAA,GAKzB,OAAoBnvB,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAAA,GAAA,GAAO5D,GACpCw7D,GAAY,IACf5wB,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWL,EAAU7qC,EAAMw4C,UAAY,WAAYzJ,EAAKwF,UAAY,gBAG9FJ,GAAQ7I,YAAc,UACtB6I,GAAQ5I,aAxBa,CACnBiN,UAAU,GAwBZ,0GChBMiiB,GAAmBp0C,EAAAA,YAAiB,SAACw8B,EAAmBjY,GAAQ,IAAA6wB,EAgBhEC,EACAC,EAhBJ7Y,EAWIxM,GAAgBuM,EAAmB,CACrCuX,UAAW,aACXpB,EAAAlW,EAZA9X,GAAAA,OAAE,IAAAguB,EAAG,MAAKA,EACAL,EAAe7V,EAAzBjY,SACA6W,EAAOoB,EAAPpB,QACAka,EAAI9Y,EAAJ8Y,KACAC,EAAO/Y,EAAP+Y,QACAC,EAAMhZ,EAANgZ,OACAC,EAAYjZ,EAAZiZ,aACA7wB,EAAS4X,EAAT5X,UACAkvB,EAAStX,EAATsX,UACGp6D,EAAK+pC,GAAA+Y,EAAA3X,IAIJN,EAAWP,GAAmBquB,EAAiB,OAGjDqD,GAAW,EACT1C,GAAgB9uB,EAAAA,EAAAA,YAAWskB,IAC3BmN,GAAoBzxB,EAAAA,EAAAA,YAAW0xB,IAWrC,OATI5C,GACFoC,EAAiBpC,EAAczuB,SAC/BmxB,EAAqB,MAAVF,GAAwBA,GAC1BG,IAEPN,EACEM,EADFN,qBAIgBvwB,EAAAA,GAAAA,KAAK+wB,GAAOv4D,GAAA,CAC9BonC,GAAIA,EACJJ,IAAKA,EACLwvB,UAAWA,EACXlvB,UAAWG,IAAAA,CAAWH,GAASuwB,EAAA,GAAA35D,EAAA25D,EAC5B5wB,GAAYmxB,GAAQl6D,EAAA25D,EAAA,GAAA11D,OACjB21D,EAAc,QAASM,GAAQl6D,EAAA25D,EAAA,GAAA11D,OAC/B21D,EAAc,eAAgBM,GAAYD,GAAYj6D,EAAA25D,EAAA,GAAA11D,OACtD41D,EAAkB,KAAA51D,OAAI27C,KAAcia,GAAkB75D,EAAA25D,EAAA,GAAA11D,OACtD8kC,EAAQ,KAAA9kC,OAAI27C,KAAcA,GAAO5/C,EAAA25D,EAAA,GAAA11D,OACjC8kC,EAAQ,SAAU+wB,GAAI95D,EAAA25D,EAAA,GAAA11D,OACtB8kC,EAAQ,cAAegxB,GAAOJ,KAEjCz7D,OAGPy6D,GAAInvB,YAAc,MAClBmvB,GAAIlvB,aApDiB,CACnBswB,SAAS,EACTD,MAAM,GAmDR,OAAer7D,OAAOguB,OAAOksC,GAAK,CAChCc,KAAMjB,GACNlnB,KAAMe,KCsGR,IACA,GAAe,IAA0B,yDCxKzC,GADqC9tB,EAAAA,cAAoB,MCDrDyuB,GAAMv0C,OAAOd,UAAU0I,eAE3B,SAASqE,GAAKpK,EAAMg6D,EAAK37D,GAAK,IACN47D,EADMC,EAAA9wB,GACjBppC,EAAKgB,QAAM,IAAvB,IAAAk5D,EAAA/0D,MAAA80D,EAAAC,EAAA35D,KAAAkd,MACC,GAAI08C,GADA97D,EAAG47D,EAAA56D,MACS26D,GAAM,OAAO37D,EAC7B,MAAA6e,GAAAg9C,EAAAjyD,EAAAiV,GAAA,QAAAg9C,EAAArhD,KAGK,SAASshD,GAAOC,EAAKC,GAC3B,IAAIC,EAAMn6D,EAAKo6D,EACf,GAAIH,IAAQC,EAAK,OAAO,EAExB,GAAID,GAAOC,IAAQC,EAAKF,EAAIh9D,eAAiBi9D,EAAIj9D,YAAa,CAC7D,GAAIk9D,IAASvhC,KAAM,OAAOqhC,EAAII,YAAcH,EAAIG,UAChD,GAAIF,IAAStuD,OAAQ,OAAOouD,EAAI55D,aAAe65D,EAAI75D,WAEnD,GAAI85D,IAASz6D,MAAO,CACnB,IAAKM,EAAIi6D,EAAIt8D,UAAYu8D,EAAIv8D,OAC5B,KAAOqC,KAASg6D,GAAOC,EAAIj6D,GAAMk6D,EAAIl6D,MAEtC,OAAgB,IAATA,EAGR,GAAIm6D,IAASG,IAAK,CACjB,GAAIL,EAAIxsC,OAASysC,EAAIzsC,KACpB,OAAO,EACP,IACc8sC,EADdC,EAAAvxB,GACWgxB,GAAG,IAAf,IAAAO,EAAAx1D,MAAAu1D,EAAAC,EAAAp6D,KAAAkd,MAAiB,CAEhB,IADA88C,EADIp6D,EAAGu6D,EAAAr7D,QAEmB,kBAARk7D,KACjBA,EAAMnwD,GAAKiwD,EAAKE,IACN,OAAO,EAElB,IAAKF,EAAI3nB,IAAI6nB,GAAM,OAAO,GAC1B,MAAAr9C,GAAAy9C,EAAA1yD,EAAAiV,GAAA,QAAAy9C,EAAA9hD,IACD,OAAO,EAGR,GAAIyhD,IAASM,IAAK,CACjB,GAAIR,EAAIxsC,OAASysC,EAAIzsC,KACpB,OAAO,EACP,IACcitC,EADdC,EAAA1xB,GACWgxB,GAAG,IAAf,IAAAU,EAAA31D,MAAA01D,EAAAC,EAAAv6D,KAAAkd,MAAiB,CAEhB,IADA88C,GADIp6D,EAAG06D,EAAAx7D,OACG,KACgB,kBAARk7D,KACjBA,EAAMnwD,GAAKiwD,EAAKE,IACN,OAAO,EAElB,IAAKJ,GAAOh6D,EAAI,GAAIk6D,EAAIh8C,IAAIk8C,IAC3B,OAAO,GAER,MAAAr9C,GAAA49C,EAAA7yD,EAAAiV,GAAA,QAAA49C,EAAAjiD,IACD,OAAO,EAGR,GAAIyhD,IAASrvC,YACZmvC,EAAM,IAAIrwC,WAAWqwC,GACrBC,EAAM,IAAItwC,WAAWswC,QACf,GAAIC,IAASS,SAAU,CAC7B,IAAK56D,EAAIi6D,EAAIY,cAAgBX,EAAIW,WAChC,KAAO76D,KAASi6D,EAAIa,QAAQ96D,KAASk6D,EAAIY,QAAQ96D,KAElD,OAAgB,IAATA,EAGR,GAAI8qB,YAAYC,OAAOkvC,GAAM,CAC5B,IAAKj6D,EAAIi6D,EAAIY,cAAgBX,EAAIW,WAChC,KAAO76D,KAASi6D,EAAIj6D,KAASk6D,EAAIl6D,KAElC,OAAgB,IAATA,EAGR,IAAKm6D,GAAuB,kBAARF,EAAkB,CAErC,IAAKE,KADLn6D,EAAM,EACOi6D,EAAK,CACjB,GAAI1nB,GAAInzC,KAAK66D,EAAKE,MAAWn6D,IAAQuyC,GAAInzC,KAAK86D,EAAKC,GAAO,OAAO,EACjE,KAAMA,KAAQD,KAASF,GAAOC,EAAIE,GAAOD,EAAIC,IAAQ,OAAO,EAE7D,OAAOn8D,OAAO6C,KAAKq5D,GAAKv8D,SAAWqC,GAIrC,OAAOi6D,IAAQA,GAAOC,IAAQA,ECvE/B,OARA,SAAsB/9C,GACpB,IAAIu5B,EAAYF,KAChB,MAAO,CAACr5B,EAAM,IAAI23B,EAAAA,EAAAA,cAAY,SAAUgB,GACtC,GAAKY,IACL,OAAOv5B,EAAM,GAAG24B,KACf,CAACY,EAAWv5B,EAAM,OCPR,SAAS4+C,GAAiB3F,GACvC,OAAOA,EAAUpxD,MAAM,KAAK,GCFf,SAASg3D,GAAUnhB,GAChC,GAAY,MAARA,EACF,OAAO9yC,OAGT,GAAwB,oBAApB8yC,EAAKx5C,WAAkC,CACzC,IAAIk6C,EAAgBV,EAAKU,cACzB,OAAOA,GAAgBA,EAAcI,aAAwB5zC,OAG/D,OAAO8yC,ECRT,SAASohB,GAAUphB,GAEjB,OAAOA,aADUmhB,GAAUnhB,GAAMqhB,SACIrhB,aAAgBqhB,QAGvD,SAASC,GAActhB,GAErB,OAAOA,aADUmhB,GAAUnhB,GAAMuhB,aACIvhB,aAAgBuhB,YAGvD,SAASC,GAAaxhB,GAEpB,MAA0B,qBAAfyhB,aAKJzhB,aADUmhB,GAAUnhB,GAAMyhB,YACIzhB,aAAgByhB,YCnBhD,IAAIC,GAAMjlD,KAAKilD,IACXlhC,GAAM/jB,KAAK+jB,IACXU,GAAQzkB,KAAKykB,MCAT,SAASygC,GAAsBxtB,EAASytB,QAChC,IAAjBA,IACFA,GAAe,GAGjB,IAAIC,EAAO1tB,EAAQwtB,wBACfG,EAAS,EACTC,EAAS,EAEb,GAAIT,GAAcntB,IAAYytB,EAAc,CAC1C,IAAIne,EAAetP,EAAQsP,aACvBue,EAAc7tB,EAAQ6tB,YAGtBA,EAAc,IAChBF,EAAS5gC,GAAM2gC,EAAKjQ,OAASoQ,GAAe,GAG1Cve,EAAe,IACjBse,EAAS7gC,GAAM2gC,EAAKlQ,QAAUlO,GAAgB,GAIlD,MAAO,CACLmO,MAAOiQ,EAAKjQ,MAAQkQ,EACpBnQ,OAAQkQ,EAAKlQ,OAASoQ,EACtBE,IAAKJ,EAAKI,IAAMF,EAChBG,MAAOL,EAAKK,MAAQJ,EACpBK,OAAQN,EAAKM,OAASJ,EACtBK,KAAMP,EAAKO,KAAON,EAClBO,EAAGR,EAAKO,KAAON,EACfQ,EAAGT,EAAKI,IAAMF,GC9BH,SAASQ,GAAcpuB,GACpC,IAAIquB,EAAab,GAAsBxtB,GAGnCyd,EAAQzd,EAAQ6tB,YAChBrQ,EAASxd,EAAQsP,aAUrB,OARIhnC,KAAKC,IAAI8lD,EAAW5Q,MAAQA,IAAU,IACxCA,EAAQ4Q,EAAW5Q,OAGjBn1C,KAAKC,IAAI8lD,EAAW7Q,OAASA,IAAW,IAC1CA,EAAS6Q,EAAW7Q,QAGf,CACL0Q,EAAGluB,EAAQsuB,WACXH,EAAGnuB,EAAQuuB,UACX9Q,MAAOA,EACPD,OAAQA,GCrBG,SAASqB,GAAS2P,EAAQ/W,GACvC,IAAIgX,EAAWhX,EAAMiX,aAAejX,EAAMiX,cAE1C,GAAIF,EAAO3P,SAASpH,GAClB,OAAO,EAEJ,GAAIgX,GAAYpB,GAAaoB,GAAW,CACzC,IAAI50C,EAAO49B,EAEX,EAAG,CACD,GAAI59B,GAAQ20C,EAAOG,WAAW90C,GAC5B,OAAO,EAITA,EAAOA,EAAK+0C,YAAc/0C,EAAK+R,WACxB/R,GAIb,OAAO,ECrBM,SAASg1C,GAAY7uB,GAClC,OAAOA,GAAWA,EAAQ4e,UAAY,IAAI9/C,cAAgB,KCA7C,SAAS0tC,GAAiBxM,GACvC,OAAOgtB,GAAUhtB,GAASwM,iBAAiBxM,GCD9B,SAAS8uB,GAAe9uB,GACrC,MAAO,CAAC,QAAS,KAAM,MAAMzoC,QAAQs3D,GAAY7uB,KAAa,ECDjD,SAAS+uB,GAAmB/uB,GAEzC,QAASitB,GAAUjtB,GAAWA,EAAQuM,cACtCvM,EAAQxnB,WAAazf,OAAOyf,UAAUqnC,gBCDzB,SAASmP,GAAchvB,GACpC,MAA6B,SAAzB6uB,GAAY7uB,GACPA,EAMPA,EAAQivB,cACRjvB,EAAQ4uB,aACRvB,GAAartB,GAAWA,EAAQpU,KAAO,OAEvCmjC,GAAmB/uB,GCRvB,SAASkvB,GAAoBlvB,GAC3B,OAAKmtB,GAAcntB,IACoB,UAAvCwM,GAAiBxM,GAAStnB,SAInBsnB,EAAQmvB,aAHN,KAwCI,SAASC,GAAgBpvB,GAItC,IAHA,IAAIjnC,EAASi0D,GAAUhtB,GACnBmvB,EAAeD,GAAoBlvB,GAEhCmvB,GAAgBL,GAAeK,IAA6D,WAA5C3iB,GAAiB2iB,GAAcz2C,UACpFy2C,EAAeD,GAAoBC,GAGrC,OAAIA,IAA+C,SAA9BN,GAAYM,IAA0D,SAA9BN,GAAYM,IAAwE,WAA5C3iB,GAAiB2iB,GAAcz2C,UAC3H3f,EAGFo2D,GA5CT,SAA4BnvB,GAC1B,IAAIqvB,GAAsE,IAA1Dr2D,UAAUC,UAAU6F,cAAcvH,QAAQ,WAG1D,IAFuD,IAA5CyB,UAAUC,UAAU1B,QAAQ,YAE3B41D,GAAcntB,IAII,UAFXwM,GAAiBxM,GAEnBtnB,SACb,OAAO,KAMX,IAFA,IAAI42C,EAAcN,GAAchvB,GAEzBmtB,GAAcmC,IAAgB,CAAC,OAAQ,QAAQ/3D,QAAQs3D,GAAYS,IAAgB,GAAG,CAC3F,IAAIniB,EAAMX,GAAiB8iB,GAI3B,GAAsB,SAAlBniB,EAAIoiB,WAA4C,SAApBpiB,EAAIqiB,aAA0C,UAAhBriB,EAAIsiB,UAAiF,IAA1D,CAAC,YAAa,eAAel4D,QAAQ41C,EAAIuiB,aAAsBL,GAAgC,WAAnBliB,EAAIuiB,YAA2BL,GAAaliB,EAAIn6C,QAAyB,SAAfm6C,EAAIn6C,OACjO,OAAOs8D,EAEPA,EAAcA,EAAYV,WAI9B,OAAO,KAiBgBe,CAAmB3vB,IAAYjnC,EC9DzC,SAAS62D,GAAyBxI,GAC/C,MAAO,CAAC,MAAO,UAAU7vD,QAAQ6vD,IAAc,EAAI,IAAM,ICApD,SAASyI,GAAOxjC,EAAKn7B,EAAOq8D,GACjC,OAAOuC,GAAQzjC,EAAK0jC,GAAQ7+D,EAAOq8D,ICDtB,SAASyC,GAAmBC,GACzC,OAAOjgE,OAAOguB,OAAO,GCDd,CACL8vC,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,KAAM,GDHuCgC,GEFlC,SAASC,GAAgBh/D,EAAO2B,GAC7C,OAAOA,EAAK+Y,QAAO,SAAUukD,EAASjgE,GAEpC,OADAigE,EAAQjgE,GAAOgB,EACRi/D,IACN,ICJE,IAAIrC,GAAM,MACNE,GAAS,SACTD,GAAQ,QACRE,GAAO,OACPmC,GAAO,OACPC,GAAiB,CAACvC,GAAKE,GAAQD,GAAOE,IACtCqC,GAAQ,QACRxvB,GAAM,MAENyvB,GAAW,WACXC,GAAS,SAETC,GAAmCJ,GAAezkD,QAAO,SAAU0xC,EAAK8J,GACjF,OAAO9J,EAAI9nD,OAAO,CAAC4xD,EAAY,IAAMkJ,GAAOlJ,EAAY,IAAMtmB,OAC7D,IACQ4vB,GAA0B,GAAGl7D,OAAO66D,GAAgB,CAACD,KAAOxkD,QAAO,SAAU0xC,EAAK8J,GAC3F,OAAO9J,EAAI9nD,OAAO,CAAC4xD,EAAWA,EAAY,IAAMkJ,GAAOlJ,EAAY,IAAMtmB,OACxE,IAaQ6vB,GAAiB,CAXJ,aACN,OACK,YAEC,aACN,OACK,YAEE,cACN,QACK,cC+DxB,QACEp+D,KAAM,QACNq+D,SAAS,EACTC,MAAO,OACP/2C,GA9EF,SAAeoB,GACb,IAAI41C,EAEA3iD,EAAQ+M,EAAK/M,MACb5b,EAAO2oB,EAAK3oB,KACZ+B,EAAU4mB,EAAK5mB,QACfy8D,EAAe5iD,EAAM6iD,SAASC,MAC9BC,EAAgB/iD,EAAMgjD,cAAcD,cACpCE,EAAgBrE,GAAiB5+C,EAAMi5C,WACvCiK,EAAOzB,GAAyBwB,GAEhCp/D,EADa,CAACi8D,GAAMF,IAAOx2D,QAAQ65D,IAAkB,EAClC,SAAW,QAElC,GAAKL,GAAiBG,EAAtB,CAIA,IAAIjB,EAxBgB,SAAyB5hB,EAASlgC,GAItD,OAAO6hD,GAAsC,kBAH7C3hB,EAA6B,oBAAZA,EAAyBA,EAAQr+C,OAAOguB,OAAO,GAAI7P,EAAMmjD,MAAO,CAC/ElK,UAAWj5C,EAAMi5C,aACb/Y,GACkDA,EAAU6hB,GAAgB7hB,EAASgiB,KAoBvEkB,CAAgBj9D,EAAQ+5C,QAASlgC,GACjDqjD,EAAYpD,GAAc2C,GAC1BU,EAAmB,MAATJ,EAAevD,GAAMG,GAC/ByD,EAAmB,MAATL,EAAerD,GAASD,GAClC4D,EAAUxjD,EAAMmjD,MAAMM,UAAU5/D,GAAOmc,EAAMmjD,MAAMM,UAAUP,GAAQH,EAAcG,GAAQljD,EAAMmjD,MAAMd,OAAOx+D,GAC9G6/D,EAAYX,EAAcG,GAAQljD,EAAMmjD,MAAMM,UAAUP,GACxDS,EAAoB1C,GAAgB2B,GACpCgB,EAAaD,EAA6B,MAATT,EAAeS,EAAkBE,cAAgB,EAAIF,EAAkBhS,aAAe,EAAI,EAC3HmS,EAAoBN,EAAU,EAAIE,EAAY,EAG9CxlC,EAAM4jC,EAAcwB,GACpBlE,EAAMwE,EAAaP,EAAUx/D,GAAOi+D,EAAcyB,GAClDQ,EAASH,EAAa,EAAIP,EAAUx/D,GAAO,EAAIigE,EAC/C3Y,EAASuW,GAAOxjC,EAAK6lC,EAAQ3E,GAE7B4E,EAAWd,EACfljD,EAAMgjD,cAAc5+D,KAASu+D,EAAwB,IAA0BqB,GAAY7Y,EAAQwX,EAAsBsB,aAAe9Y,EAAS4Y,EAAQpB,KA6CzJuB,OA1CF,SAAgBj1C,GACd,IAAIjP,EAAQiP,EAAMjP,MAEdmkD,EADUl1C,EAAM9oB,QACW0rC,QAC3B+wB,OAAoC,IAArBuB,EAA8B,sBAAwBA,EAErD,MAAhBvB,IAKwB,kBAAjBA,IACTA,EAAe5iD,EAAM6iD,SAASR,OAAO5F,cAAcmG,MAahDlS,GAAS1wC,EAAM6iD,SAASR,OAAQO,KAQrC5iD,EAAM6iD,SAASC,MAAQF,IAUvBwB,SAAU,CAAC,iBACXC,iBAAkB,CAAC,oBCnGN,SAASC,GAAarL,GACnC,OAAOA,EAAUpxD,MAAM,KAAK,GCQ9B,IAAI08D,GAAa,CACf5E,IAAK,OACLC,MAAO,OACPC,OAAQ,OACRC,KAAM,QAgBD,SAAS0E,GAAYv1C,GAC1B,IAAIw1C,EAEApC,EAASpzC,EAAMozC,OACfqC,EAAaz1C,EAAMy1C,WACnBzL,EAAYhqC,EAAMgqC,UAClB0L,EAAY11C,EAAM01C,UAClBC,EAAU31C,EAAM21C,QAChBr6C,EAAW0E,EAAM1E,SACjBs6C,EAAkB51C,EAAM41C,gBACxBC,EAAW71C,EAAM61C,SACjBC,EAAe91C,EAAM81C,aACrBC,EAAU/1C,EAAM+1C,QAChBC,EAAaL,EAAQ7E,EACrBA,OAAmB,IAAfkF,EAAwB,EAAIA,EAChCC,EAAaN,EAAQ5E,EACrBA,OAAmB,IAAfkF,EAAwB,EAAIA,EAEhC31C,EAAgC,oBAAjBw1C,EAA8BA,EAAa,CAC5DhF,EAAGA,EACHC,EAAGA,IACA,CACHD,EAAGA,EACHC,EAAGA,GAGLD,EAAIxwC,EAAMwwC,EACVC,EAAIzwC,EAAMywC,EACV,IAAImF,EAAOP,EAAQn7D,eAAe,KAC9B27D,EAAOR,EAAQn7D,eAAe,KAC9B47D,EAAQvF,GACRwF,EAAQ3F,GACR4F,EAAM36D,OAEV,GAAIk6D,EAAU,CACZ,IAAI9D,EAAeC,GAAgBoB,GAC/BmD,EAAa,eACbC,EAAY,cAchB,GAZIzE,IAAiBnC,GAAUwD,IAGmB,WAA5ChkB,GAFJ2iB,EAAeJ,GAAmByB,IAEC93C,UAAsC,aAAbA,IAC1Di7C,EAAa,eACbC,EAAY,eAKhBzE,EAAeA,EAEX/H,IAAc0G,KAAQ1G,IAAc6G,IAAQ7G,IAAc2G,KAAU+E,IAAchyB,GACpF2yB,EAAQzF,GAGRG,IAFcgF,GAAWO,EAAIG,eAAiBH,EAAIG,eAAerW,OACjE2R,EAAawE,IACEd,EAAWrV,OAC1B2Q,GAAK6E,EAAkB,GAAK,EAG9B,GAAI5L,IAAc6G,KAAS7G,IAAc0G,IAAO1G,IAAc4G,KAAW8E,IAAchyB,GACrF0yB,EAAQzF,GAGRG,IAFciF,GAAWO,EAAIG,eAAiBH,EAAIG,eAAepW,MACjE0R,EAAayE,IACEf,EAAWpV,MAC1ByQ,GAAK8E,EAAkB,GAAK,EAIhC,IAgBMc,EAhBFC,EAAe/jE,OAAOguB,OAAO,CAC/BtF,SAAUA,GACTu6C,GAAYP,IAEX52C,GAAyB,IAAjBo3C,EAnFd,SAA2Bh4C,GACzB,IAAIgzC,EAAIhzC,EAAKgzC,EACTC,EAAIjzC,EAAKizC,EAET6F,EADMj7D,OACIk7D,kBAAoB,EAClC,MAAO,CACL/F,EAAGnhC,GAAMmhC,EAAI8F,GAAOA,GAAO,EAC3B7F,EAAGphC,GAAMohC,EAAI6F,GAAOA,GAAO,GA4EOE,CAAkB,CACpDhG,EAAGA,EACHC,EAAGA,IACA,CACHD,EAAGA,EACHC,EAAGA,GAML,OAHAD,EAAIpyC,EAAMoyC,EACVC,EAAIryC,EAAMqyC,EAEN6E,EAGKhjE,OAAOguB,OAAO,GAAI+1C,IAAeD,EAAiB,IAAmBL,GAASF,EAAO,IAAM,GAAIO,EAAeN,GAASF,EAAO,IAAM,GAAIQ,EAAevE,WAAamE,EAAIO,kBAAoB,IAAM,EAAI,aAAe/F,EAAI,OAASC,EAAI,MAAQ,eAAiBD,EAAI,OAASC,EAAI,SAAU2F,IAG5R9jE,OAAOguB,OAAO,GAAI+1C,IAAenB,EAAkB,IAAoBa,GAASF,EAAOpF,EAAI,KAAO,GAAIyE,EAAgBY,GAASF,EAAOpF,EAAI,KAAO,GAAI0E,EAAgBrD,UAAY,GAAIqD,IAwD9L,QACErgE,KAAM,gBACNq+D,SAAS,EACTC,MAAO,cACP/2C,GAzDF,SAAuBq6C,GACrB,IAAIhmD,EAAQgmD,EAAMhmD,MACd7Z,EAAU6/D,EAAM7/D,QAChB8/D,EAAwB9/D,EAAQ0+D,gBAChCA,OAA4C,IAA1BoB,GAA0CA,EAC5DC,EAAoB//D,EAAQ2+D,SAC5BA,OAAiC,IAAtBoB,GAAsCA,EACjDC,EAAwBhgE,EAAQ4+D,aAChCA,OAAyC,IAA1BoB,GAA0CA,EAYzDP,EAAe,CACjB3M,UAAW2F,GAAiB5+C,EAAMi5C,WAClC0L,UAAWL,GAAatkD,EAAMi5C,WAC9BoJ,OAAQriD,EAAM6iD,SAASR,OACvBqC,WAAY1kD,EAAMmjD,MAAMd,OACxBwC,gBAAiBA,EACjBG,QAAoC,UAA3BhlD,EAAM7Z,QAAQigE,UAGgB,MAArCpmD,EAAMgjD,cAAcD,gBACtB/iD,EAAMqmD,OAAOhE,OAASxgE,OAAOguB,OAAO,GAAI7P,EAAMqmD,OAAOhE,OAAQmC,GAAY3iE,OAAOguB,OAAO,GAAI+1C,EAAc,CACvGhB,QAAS5kD,EAAMgjD,cAAcD,cAC7Bx4C,SAAUvK,EAAM7Z,QAAQigE,SACxBtB,SAAUA,EACVC,aAAcA,OAIe,MAA7B/kD,EAAMgjD,cAAcF,QACtB9iD,EAAMqmD,OAAOvD,MAAQjhE,OAAOguB,OAAO,GAAI7P,EAAMqmD,OAAOvD,MAAO0B,GAAY3iE,OAAOguB,OAAO,GAAI+1C,EAAc,CACrGhB,QAAS5kD,EAAMgjD,cAAcF,MAC7Bv4C,SAAU,WACVu6C,UAAU,EACVC,aAAcA,OAIlB/kD,EAAMsmD,WAAWjE,OAASxgE,OAAOguB,OAAO,GAAI7P,EAAMsmD,WAAWjE,OAAQ,CACnE,wBAAyBriD,EAAMi5C,aAUjChvD,KAAM,ICjLJu1C,GAAU,CACZA,SAAS,GAsCX,QACEp7C,KAAM,iBACNq+D,SAAS,EACTC,MAAO,QACP/2C,GAAI,aACJu4C,OAxCF,SAAgBn3C,GACd,IAAI/M,EAAQ+M,EAAK/M,MACb/e,EAAW8rB,EAAK9rB,SAChBkF,EAAU4mB,EAAK5mB,QACfogE,EAAkBpgE,EAAQ+pD,OAC1BA,OAA6B,IAApBqW,GAAoCA,EAC7CC,EAAkBrgE,EAAQsgE,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7C57D,EAASi0D,GAAU7+C,EAAM6iD,SAASR,QAClCqE,EAAgB,GAAGr/D,OAAO2Y,EAAM0mD,cAAcjD,UAAWzjD,EAAM0mD,cAAcrE,QAYjF,OAVInS,GACFwW,EAAcrhE,SAAQ,SAAUshE,GAC9BA,EAAa/kC,iBAAiB,SAAU3gC,EAAS2lE,OAAQpnB,OAIzDinB,GACF77D,EAAOg3B,iBAAiB,SAAU3gC,EAAS2lE,OAAQpnB,IAG9C,WACD0Q,GACFwW,EAAcrhE,SAAQ,SAAUshE,GAC9BA,EAAa5mC,oBAAoB,SAAU9+B,EAAS2lE,OAAQpnB,OAI5DinB,GACF77D,EAAOm1B,oBAAoB,SAAU9+B,EAAS2lE,OAAQpnB,MAY1Dv1C,KAAM,IC/CJ0zB,GAAO,CACTmiC,KAAM,QACNF,MAAO,OACPC,OAAQ,MACRF,IAAK,UAEQ,SAASkH,GAAqB5N,GAC3C,OAAOA,EAAU5vD,QAAQ,0BAA0B,SAAUuG,GAC3D,OAAO+tB,GAAK/tB,MCRhB,IAAI+tB,GAAO,CACTwkC,MAAO,MACPxvB,IAAK,SAEQ,SAASm0B,GAA8B7N,GACpD,OAAOA,EAAU5vD,QAAQ,cAAc,SAAUuG,GAC/C,OAAO+tB,GAAK/tB,MCLD,SAASm3D,GAAgBrpB,GACtC,IAAI6nB,EAAM1G,GAAUnhB,GAGpB,MAAO,CACLspB,WAHezB,EAAI0B,YAInBC,UAHc3B,EAAI4B,aCDP,SAASC,GAAoBv1B,GAQ1C,OAAOwtB,GAAsBuB,GAAmB/uB,IAAUiuB,KAAOiH,GAAgBl1B,GAASm1B,WCV7E,SAASK,GAAex1B,GAErC,IAAIy1B,EAAoBjpB,GAAiBxM,GACrCkgB,EAAWuV,EAAkBvV,SAC7BwV,EAAYD,EAAkBC,UAC9BC,EAAYF,EAAkBE,UAElC,MAAO,6BAA6BnjE,KAAK0tD,EAAWyV,EAAYD,GCJnD,SAASE,GAAgB/pB,GACtC,MAAI,CAAC,OAAQ,OAAQ,aAAat0C,QAAQs3D,GAAYhjB,KAAU,EAEvDA,EAAKU,cAAc5zB,KAGxBw0C,GAActhB,IAAS2pB,GAAe3pB,GACjCA,EAGF+pB,GAAgB5G,GAAcnjB,ICHxB,SAASgqB,GAAkB71B,EAAS7yB,GACjD,IAAI2oD,OAES,IAAT3oD,IACFA,EAAO,IAGT,IAAI2nD,EAAec,GAAgB51B,GAC/B+1B,EAASjB,KAAqE,OAAlDgB,EAAwB91B,EAAQuM,oBAAyB,EAASupB,EAAsBn9C,MACpH+6C,EAAM1G,GAAU8H,GAChBtlE,EAASumE,EAAS,CAACrC,GAAKl+D,OAAOk+D,EAAIG,gBAAkB,GAAI2B,GAAeV,GAAgBA,EAAe,IAAMA,EAC7GkB,EAAc7oD,EAAK3X,OAAOhG,GAC9B,OAAOumE,EAASC,EAChBA,EAAYxgE,OAAOqgE,GAAkB7G,GAAcx/D,KCxBtC,SAASymE,GAAiBvI,GACvC,OAAO19D,OAAOguB,OAAO,GAAI0vC,EAAM,CAC7BO,KAAMP,EAAKQ,EACXJ,IAAKJ,EAAKS,EACVJ,MAAOL,EAAKQ,EAAIR,EAAKjQ,MACrBuQ,OAAQN,EAAKS,EAAIT,EAAKlQ,SCuB1B,SAAS0Y,GAA2Bl2B,EAASm2B,GAC3C,OAAOA,IAAmB5F,GAAW0F,GC1BxB,SAAyBj2B,GACtC,IAAI0zB,EAAM1G,GAAUhtB,GAChBo2B,EAAOrH,GAAmB/uB,GAC1B6zB,EAAiBH,EAAIG,eACrBpW,EAAQ2Y,EAAKtW,YACbtC,EAAS4Y,EAAKpE,aACd9D,EAAI,EACJC,EAAI,EAuBR,OAjBI0F,IACFpW,EAAQoW,EAAepW,MACvBD,EAASqW,EAAerW,OASnB,iCAAiChrD,KAAKwG,UAAUC,aACnDi1D,EAAI2F,EAAevF,WACnBH,EAAI0F,EAAetF,YAIhB,CACL9Q,MAAOA,EACPD,OAAQA,EACR0Q,EAAGA,EAAIqH,GAAoBv1B,GAC3BmuB,EAAGA,GDRiDkI,CAAgBr2B,IAAYitB,GAAUkJ,GAd9F,SAAoCn2B,GAClC,IAAI0tB,EAAOF,GAAsBxtB,GASjC,OARA0tB,EAAKI,IAAMJ,EAAKI,IAAM9tB,EAAQs2B,UAC9B5I,EAAKO,KAAOP,EAAKO,KAAOjuB,EAAQu2B,WAChC7I,EAAKM,OAASN,EAAKI,IAAM9tB,EAAQgyB,aACjCtE,EAAKK,MAAQL,EAAKO,KAAOjuB,EAAQ8f,YACjC4N,EAAKjQ,MAAQzd,EAAQ8f,YACrB4N,EAAKlQ,OAASxd,EAAQgyB,aACtBtE,EAAKQ,EAAIR,EAAKO,KACdP,EAAKS,EAAIT,EAAKI,IACPJ,EAIuG8I,CAA2BL,GAAkBF,GEtB9I,SAAyBj2B,GACtC,IAAI81B,EAEAM,EAAOrH,GAAmB/uB,GAC1By2B,EAAYvB,GAAgBl1B,GAC5BrnB,EAA0D,OAAlDm9C,EAAwB91B,EAAQuM,oBAAyB,EAASupB,EAAsBn9C,KAChG8kC,EAAQ8P,GAAI6I,EAAKM,YAAaN,EAAKtW,YAAannC,EAAOA,EAAK+9C,YAAc,EAAG/9C,EAAOA,EAAKmnC,YAAc,GACvGtC,EAAS+P,GAAI6I,EAAKO,aAAcP,EAAKpE,aAAcr5C,EAAOA,EAAKg+C,aAAe,EAAGh+C,EAAOA,EAAKq5C,aAAe,GAC5G9D,GAAKuI,EAAUtB,WAAaI,GAAoBv1B,GAChDmuB,GAAKsI,EAAUpB,UAMnB,MAJiD,QAA7C7oB,GAAiB7zB,GAAQy9C,GAAMQ,YACjC1I,GAAKX,GAAI6I,EAAKtW,YAAannC,EAAOA,EAAKmnC,YAAc,GAAKrC,GAGrD,CACLA,MAAOA,EACPD,OAAQA,EACR0Q,EAAGA,EACHC,EAAGA,GFGuK0I,CAAgB9H,GAAmB/uB,KAuBlM,SAAS82B,GAAgB92B,EAAS+2B,EAAUC,GACzD,IAAIC,EAAmC,oBAAbF,EAlB5B,SAA4B/2B,GAC1B,IAAIk3B,EAAkBrB,GAAkB7G,GAAchvB,IAElDm3B,EADoB,CAAC,WAAY,SAAS5/D,QAAQi1C,GAAiBxM,GAAStnB,WAAa,GACnDy0C,GAAcntB,GAAWovB,GAAgBpvB,GAAWA,EAE9F,OAAKitB,GAAUkK,GAKRD,EAAgBlkE,QAAO,SAAUmjE,GACtC,OAAOlJ,GAAUkJ,IAAmBtX,GAASsX,EAAgBgB,IAAmD,SAAhCtI,GAAYsH,MALrF,GAYkDiB,CAAmBp3B,GAAW,GAAGxqC,OAAOuhE,GAC/FG,EAAkB,GAAG1hE,OAAOyhE,EAAqB,CAACD,IAClDK,EAAsBH,EAAgB,GACtCI,EAAeJ,EAAgBtrD,QAAO,SAAU2rD,EAASpB,GAC3D,IAAIzI,EAAOwI,GAA2Bl2B,EAASm2B,GAK/C,OAJAoB,EAAQzJ,IAAMP,GAAIG,EAAKI,IAAKyJ,EAAQzJ,KACpCyJ,EAAQxJ,MAAQ1hC,GAAIqhC,EAAKK,MAAOwJ,EAAQxJ,OACxCwJ,EAAQvJ,OAAS3hC,GAAIqhC,EAAKM,OAAQuJ,EAAQvJ,QAC1CuJ,EAAQtJ,KAAOV,GAAIG,EAAKO,KAAMsJ,EAAQtJ,MAC/BsJ,IACNrB,GAA2Bl2B,EAASq3B,IAKvC,OAJAC,EAAa7Z,MAAQ6Z,EAAavJ,MAAQuJ,EAAarJ,KACvDqJ,EAAa9Z,OAAS8Z,EAAatJ,OAASsJ,EAAaxJ,IACzDwJ,EAAapJ,EAAIoJ,EAAarJ,KAC9BqJ,EAAanJ,EAAImJ,EAAaxJ,IACvBwJ,EGhEM,SAASE,GAAet8C,GACrC,IAOI63C,EAPAnB,EAAY12C,EAAK02C,UACjB5xB,EAAU9kB,EAAK8kB,QACfonB,EAAYlsC,EAAKksC,UACjBgK,EAAgBhK,EAAY2F,GAAiB3F,GAAa,KAC1D0L,EAAY1L,EAAYqL,GAAarL,GAAa,KAClDqQ,EAAU7F,EAAU1D,EAAI0D,EAAUnU,MAAQ,EAAIzd,EAAQyd,MAAQ,EAC9Dia,EAAU9F,EAAUzD,EAAIyD,EAAUpU,OAAS,EAAIxd,EAAQwd,OAAS,EAGpE,OAAQ4T,GACN,KAAKtD,GACHiF,EAAU,CACR7E,EAAGuJ,EACHtJ,EAAGyD,EAAUzD,EAAInuB,EAAQwd,QAE3B,MAEF,KAAKwQ,GACH+E,EAAU,CACR7E,EAAGuJ,EACHtJ,EAAGyD,EAAUzD,EAAIyD,EAAUpU,QAE7B,MAEF,KAAKuQ,GACHgF,EAAU,CACR7E,EAAG0D,EAAU1D,EAAI0D,EAAUnU,MAC3B0Q,EAAGuJ,GAEL,MAEF,KAAKzJ,GACH8E,EAAU,CACR7E,EAAG0D,EAAU1D,EAAIluB,EAAQyd,MACzB0Q,EAAGuJ,GAEL,MAEF,QACE3E,EAAU,CACR7E,EAAG0D,EAAU1D,EACbC,EAAGyD,EAAUzD,GAInB,IAAIwJ,EAAWvG,EAAgBxB,GAAyBwB,GAAiB,KAEzE,GAAgB,MAAZuG,EAAkB,CACpB,IAAI3lE,EAAmB,MAAb2lE,EAAmB,SAAW,QAExC,OAAQ7E,GACN,KAAKxC,GACHyC,EAAQ4E,GAAY5E,EAAQ4E,IAAa/F,EAAU5/D,GAAO,EAAIguC,EAAQhuC,GAAO,GAC7E,MAEF,KAAK8uC,GACHiyB,EAAQ4E,GAAY5E,EAAQ4E,IAAa/F,EAAU5/D,GAAO,EAAIguC,EAAQhuC,GAAO,IAOnF,OAAO+gE,EC1DM,SAAS6E,GAAezpD,EAAO7Z,QAC5B,IAAZA,IACFA,EAAU,IAGZ,IAAIujE,EAAWvjE,EACXwjE,EAAqBD,EAASzQ,UAC9BA,OAAmC,IAAvB0Q,EAAgC3pD,EAAMi5C,UAAY0Q,EAC9DC,EAAoBF,EAASd,SAC7BA,OAAiC,IAAtBgB,EjBXY,kBiBWqCA,EAC5DC,EAAwBH,EAASb,aACjCA,OAAyC,IAA1BgB,EAAmCzH,GAAWyH,EAC7DC,EAAwBJ,EAASK,eACjCA,OAA2C,IAA1BD,EAAmCzH,GAASyH,EAC7DE,EAAuBN,EAASO,YAChCA,OAAuC,IAAzBD,GAA0CA,EACxDE,EAAmBR,EAASxpB,QAC5BA,OAA+B,IAArBgqB,EAA8B,EAAIA,EAC5CpI,EAAgBD,GAAsC,kBAAZ3hB,EAAuBA,EAAU6hB,GAAgB7hB,EAASgiB,KACpGiI,EAAaJ,IAAmB1H,GjBlBf,YiBkBoCA,GACrDqC,EAAa1kD,EAAMmjD,MAAMd,OACzBxwB,EAAU7xB,EAAM6iD,SAASoH,EAAcE,EAAaJ,GACpDK,EAAqBzB,GAAgB7J,GAAUjtB,GAAWA,EAAUA,EAAQw4B,gBAAkBzJ,GAAmB5gD,EAAM6iD,SAASR,QAASuG,EAAUC,GACnJyB,EAAsBjL,GAAsBr/C,EAAM6iD,SAASY,WAC3DV,EAAgBsG,GAAe,CACjC5F,UAAW6G,EACXz4B,QAAS6yB,EACT0B,SAAU,WACVnN,UAAWA,IAETsR,EAAmBzC,GAAiBjmE,OAAOguB,OAAO,GAAI60C,EAAY3B,IAClEyH,EAAoBT,IAAmB1H,GAASkI,EAAmBD,EAGnEG,EAAkB,CACpB9K,IAAKyK,EAAmBzK,IAAM6K,EAAkB7K,IAAMmC,EAAcnC,IACpEE,OAAQ2K,EAAkB3K,OAASuK,EAAmBvK,OAASiC,EAAcjC,OAC7EC,KAAMsK,EAAmBtK,KAAO0K,EAAkB1K,KAAOgC,EAAchC,KACvEF,MAAO4K,EAAkB5K,MAAQwK,EAAmBxK,MAAQkC,EAAclC,OAExE8K,EAAa1qD,EAAMgjD,cAAc7X,OAErC,GAAI4e,IAAmB1H,IAAUqI,EAAY,CAC3C,IAAIvf,EAASuf,EAAWzR,GACxBp3D,OAAO6C,KAAK+lE,GAAiBplE,SAAQ,SAAUtD,GAC7C,IAAI4oE,EAAW,CAAC/K,GAAOC,IAAQz2D,QAAQrH,IAAQ,EAAI,GAAK,EACpDmhE,EAAO,CAACvD,GAAKE,IAAQz2D,QAAQrH,IAAQ,EAAI,IAAM,IACnD0oE,EAAgB1oE,IAAQopD,EAAO+X,GAAQyH,KAI3C,OAAOF,EC4ET,QACErmE,KAAM,OACNq+D,SAAS,EACTC,MAAO,OACP/2C,GA5HF,SAAcoB,GACZ,IAAI/M,EAAQ+M,EAAK/M,MACb7Z,EAAU4mB,EAAK5mB,QACf/B,EAAO2oB,EAAK3oB,KAEhB,IAAI4b,EAAMgjD,cAAc5+D,GAAMwmE,MAA9B,CAoCA,IAhCA,IAAIC,EAAoB1kE,EAAQqjE,SAC5BsB,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmB5kE,EAAQ6kE,QAC3BC,OAAoC,IAArBF,GAAqCA,EACpDG,EAA8B/kE,EAAQglE,mBACtCjrB,EAAU/5C,EAAQ+5C,QAClB0oB,EAAWziE,EAAQyiE,SACnBC,EAAe1iE,EAAQ0iE,aACvBoB,EAAc9jE,EAAQ8jE,YACtBmB,EAAwBjlE,EAAQklE,eAChCA,OAA2C,IAA1BD,GAA0CA,EAC3DE,EAAwBnlE,EAAQmlE,sBAChCC,EAAqBvrD,EAAM7Z,QAAQ8yD,UACnCgK,EAAgBrE,GAAiB2M,GAEjCJ,EAAqBD,IADHjI,IAAkBsI,IACqCF,EAAiB,CAACxE,GAAqB0E,IAjCtH,SAAuCtS,GACrC,GAAI2F,GAAiB3F,KAAegJ,GAClC,MAAO,GAGT,IAAIuJ,EAAoB3E,GAAqB5N,GAC7C,MAAO,CAAC6N,GAA8B7N,GAAYuS,EAAmB1E,GAA8B0E,IA2BwCC,CAA8BF,IACrKhJ,EAAa,CAACgJ,GAAoBlkE,OAAO8jE,GAAoB1tD,QAAO,SAAU0xC,EAAK8J,GACrF,OAAO9J,EAAI9nD,OAAOu3D,GAAiB3F,KAAegJ,GCvCvC,SAA8BjiD,EAAO7Z,QAClC,IAAZA,IACFA,EAAU,IAGZ,IAAIujE,EAAWvjE,EACX8yD,EAAYyQ,EAASzQ,UACrB2P,EAAWc,EAASd,SACpBC,EAAea,EAASb,aACxB3oB,EAAUwpB,EAASxpB,QACnBmrB,EAAiB3B,EAAS2B,eAC1BK,EAAwBhC,EAAS4B,sBACjCA,OAAkD,IAA1BI,EAAmCC,GAAgBD,EAC3E/G,EAAYL,GAAarL,GACzBsJ,EAAaoC,EAAY0G,EAAiB/I,GAAsBA,GAAoBz9D,QAAO,SAAUo0D,GACvG,OAAOqL,GAAarL,KAAe0L,KAChCzC,GACD0J,EAAoBrJ,EAAW19D,QAAO,SAAUo0D,GAClD,OAAOqS,EAAsBliE,QAAQ6vD,IAAc,KAGpB,IAA7B2S,EAAkBpqE,SACpBoqE,EAAoBrJ,GAQtB,IAAIsJ,EAAYD,EAAkBnuD,QAAO,SAAU0xC,EAAK8J,GAOtD,OANA9J,EAAI8J,GAAawQ,GAAezpD,EAAO,CACrCi5C,UAAWA,EACX2P,SAAUA,EACVC,aAAcA,EACd3oB,QAASA,IACR0e,GAAiB3F,IACb9J,IACN,IACH,OAAOttD,OAAO6C,KAAKmnE,GAAWpyD,MAAK,SAAU7Q,EAAG0mB,GAC9C,OAAOu8C,EAAUjjE,GAAKijE,EAAUv8C,MDDyBw8C,CAAqB9rD,EAAO,CACnFi5C,UAAWA,EACX2P,SAAUA,EACVC,aAAcA,EACd3oB,QAASA,EACTmrB,eAAgBA,EAChBC,sBAAuBA,IACpBrS,KACJ,IACC8S,EAAgB/rD,EAAMmjD,MAAMM,UAC5BiB,EAAa1kD,EAAMmjD,MAAMd,OACzB2J,EAAY,IAAI1N,IAChB2N,GAAqB,EACrBC,EAAwB3J,EAAW,GAE9BhhE,EAAI,EAAGA,EAAIghE,EAAW/gE,OAAQD,IAAK,CAC1C,IAAI03D,EAAYsJ,EAAWhhE,GAEvB4qE,EAAiBvN,GAAiB3F,GAElCmT,EAAmB9H,GAAarL,KAAekJ,GAC/CkK,EAAa,CAAC1M,GAAKE,IAAQz2D,QAAQ+iE,IAAmB,EACtDtoE,EAAMwoE,EAAa,QAAU,SAC7Bta,EAAW0X,GAAezpD,EAAO,CACnCi5C,UAAWA,EACX2P,SAAUA,EACVC,aAAcA,EACdoB,YAAaA,EACb/pB,QAASA,IAEPosB,EAAoBD,EAAaD,EAAmBxM,GAAQE,GAAOsM,EAAmBvM,GAASF,GAE/FoM,EAAcloE,GAAO6gE,EAAW7gE,KAClCyoE,EAAoBzF,GAAqByF,IAG3C,IAAIC,EAAmB1F,GAAqByF,GACxCE,EAAS,GAUb,GARI1B,GACF0B,EAAOxnE,KAAK+sD,EAASoa,IAAmB,GAGtClB,GACFuB,EAAOxnE,KAAK+sD,EAASua,IAAsB,EAAGva,EAASwa,IAAqB,GAG1EC,EAAOt8B,OAAM,SAAUu8B,GACzB,OAAOA,KACL,CACFP,EAAwBjT,EACxBgT,GAAqB,EACrB,MAGFD,EAAUnzD,IAAIogD,EAAWuT,GAG3B,GAAIP,EAqBF,IAnBA,IAEIS,EAAQ,SAAethD,GACzB,IAAIuhD,EAAmBpK,EAAWz0D,MAAK,SAAUmrD,GAC/C,IAAIuT,EAASR,EAAUjqD,IAAIk3C,GAE3B,GAAIuT,EACF,OAAOA,EAAOroE,MAAM,EAAGinB,GAAI8kB,OAAM,SAAUu8B,GACzC,OAAOA,QAKb,GAAIE,EAEF,OADAT,EAAwBS,EACjB,SAIFvhD,EAnBYigD,EAAiB,EAAI,EAmBZjgD,EAAK,EAAGA,IAAM,CAG1C,GAAa,UAFFshD,EAAMthD,GAEK,MAItBpL,EAAMi5C,YAAciT,IACtBlsD,EAAMgjD,cAAc5+D,GAAMwmE,OAAQ,EAClC5qD,EAAMi5C,UAAYiT,EAClBlsD,EAAMvL,OAAQ,KAUhB4vD,iBAAkB,CAAC,UACnBp6D,KAAM,CACJ2gE,OAAO,IE7IX,SAASgC,GAAe7a,EAAUwN,EAAMsN,GAQtC,YAPyB,IAArBA,IACFA,EAAmB,CACjB9M,EAAG,EACHC,EAAG,IAIA,CACLL,IAAK5N,EAAS4N,IAAMJ,EAAKlQ,OAASwd,EAAiB7M,EACnDJ,MAAO7N,EAAS6N,MAAQL,EAAKjQ,MAAQud,EAAiB9M,EACtDF,OAAQ9N,EAAS8N,OAASN,EAAKlQ,OAASwd,EAAiB7M,EACzDF,KAAM/N,EAAS+N,KAAOP,EAAKjQ,MAAQud,EAAiB9M,GAIxD,SAAS+M,GAAsB/a,GAC7B,MAAO,CAAC4N,GAAKC,GAAOC,GAAQC,IAAMhsC,MAAK,SAAUi5C,GAC/C,OAAOhb,EAASgb,IAAS,KC0B7B,QACE3oE,KAAM,SACNq+D,SAAS,EACTC,MAAO,OACP0B,SAAU,CAAC,iBACXz4C,GA5BF,SAAgBsD,GACd,IAAIjP,EAAQiP,EAAMjP,MACd7Z,EAAU8oB,EAAM9oB,QAChB/B,EAAO6qB,EAAM7qB,KACb4oE,EAAkB7mE,EAAQglD,OAC1BA,OAA6B,IAApB6hB,EAA6B,CAAC,EAAG,GAAKA,EAC/C/iE,EAAOs4D,GAAAA,QAAkB,SAAUpT,EAAK8J,GAE1C,OADA9J,EAAI8J,GA5BD,SAAiCA,EAAWkK,EAAOhY,GACxD,IAAI8X,EAAgBrE,GAAiB3F,GACjCgU,EAAiB,CAACnN,GAAMH,IAAKv2D,QAAQ65D,IAAkB,GAAK,EAAI,EAEhEl2C,EAAyB,oBAAXo+B,EAAwBA,EAAOtpD,OAAOguB,OAAO,GAAIszC,EAAO,CACxElK,UAAWA,KACP9N,EACF+hB,EAAWngD,EAAK,GAChBogD,EAAWpgD,EAAK,GAIpB,OAFAmgD,EAAWA,GAAY,EACvBC,GAAYA,GAAY,GAAKF,EACtB,CAACnN,GAAMF,IAAOx2D,QAAQ65D,IAAkB,EAAI,CACjDlD,EAAGoN,EACHnN,EAAGkN,GACD,CACFnN,EAAGmN,EACHlN,EAAGmN,GAWcC,CAAwBnU,EAAWj5C,EAAMmjD,MAAOhY,GAC1DgE,IACN,IACCke,EAAwBpjE,EAAK+V,EAAMi5C,WACnC8G,EAAIsN,EAAsBtN,EAC1BC,EAAIqN,EAAsBrN,EAEW,MAArChgD,EAAMgjD,cAAcD,gBACtB/iD,EAAMgjD,cAAcD,cAAchD,GAAKA,EACvC//C,EAAMgjD,cAAcD,cAAc/C,GAAKA,GAGzChgD,EAAMgjD,cAAc5+D,GAAQ6F,IC4F9B,QACE7F,KAAM,kBACNq+D,SAAS,EACTC,MAAO,OACP/2C,GA/HF,SAAyBoB,GACvB,IAAI/M,EAAQ+M,EAAK/M,MACb7Z,EAAU4mB,EAAK5mB,QACf/B,EAAO2oB,EAAK3oB,KACZymE,EAAoB1kE,EAAQqjE,SAC5BsB,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmB5kE,EAAQ6kE,QAC3BC,OAAoC,IAArBF,GAAsCA,EACrDnC,EAAWziE,EAAQyiE,SACnBC,EAAe1iE,EAAQ0iE,aACvBoB,EAAc9jE,EAAQ8jE,YACtB/pB,EAAU/5C,EAAQ+5C,QAClBotB,EAAkBnnE,EAAQonE,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAwBrnE,EAAQsnE,aAChCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtDzb,EAAW0X,GAAezpD,EAAO,CACnC4oD,SAAUA,EACVC,aAAcA,EACd3oB,QAASA,EACT+pB,YAAaA,IAEXhH,EAAgBrE,GAAiB5+C,EAAMi5C,WACvC0L,EAAYL,GAAatkD,EAAMi5C,WAC/ByU,GAAmB/I,EACnB6E,EAAW/H,GAAyBwB,GACpC+H,ECrCY,MDqCSxB,ECrCH,IAAM,IDsCxBzG,EAAgB/iD,EAAMgjD,cAAcD,cACpCgJ,EAAgB/rD,EAAMmjD,MAAMM,UAC5BiB,EAAa1kD,EAAMmjD,MAAMd,OACzBsL,EAA4C,oBAAjBF,EAA8BA,EAAa5rE,OAAOguB,OAAO,GAAI7P,EAAMmjD,MAAO,CACvGlK,UAAWj5C,EAAMi5C,aACbwU,EACFG,EAA2D,kBAAtBD,EAAiC,CACxEnE,SAAUmE,EACV3C,QAAS2C,GACP9rE,OAAOguB,OAAO,CAChB25C,SAAU,EACVwB,QAAS,GACR2C,GACCE,EAAsB7tD,EAAMgjD,cAAc7X,OAASnrC,EAAMgjD,cAAc7X,OAAOnrC,EAAMi5C,WAAa,KACjGhvD,EAAO,CACT81D,EAAG,EACHC,EAAG,GAGL,GAAK+C,EAAL,CAIA,GAAI+H,EAAe,CACjB,IAAIgD,EAEAC,EAAwB,MAAbvE,EAAmB7J,GAAMG,GACpCkO,EAAuB,MAAbxE,EAAmB3J,GAASD,GACtC/7D,EAAmB,MAAb2lE,EAAmB,SAAW,QACpCre,EAAS4X,EAAcyG,GACvBtrC,EAAMitB,EAAS4G,EAASgc,GACxB3O,EAAMjU,EAAS4G,EAASic,GACxBC,EAAWV,GAAU7I,EAAW7gE,GAAO,EAAI,EAC3CG,EAAS2gE,IAAcxC,GAAQ4J,EAAcloE,GAAO6gE,EAAW7gE,GAC/DqqE,EAASvJ,IAAcxC,IAASuC,EAAW7gE,IAAQkoE,EAAcloE,GAGjE++D,EAAe5iD,EAAM6iD,SAASC,MAC9BO,EAAYkK,GAAU3K,EAAe3C,GAAc2C,GAAgB,CACrEtT,MAAO,EACPD,OAAQ,GAEN8e,EAAqBnuD,EAAMgjD,cAAc,oBAAsBhjD,EAAMgjD,cAAc,oBAAoB9iB,QxBhFtG,CACLyf,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,KAAM,GwB6EFsO,EAAkBD,EAAmBJ,GACrCM,EAAkBF,EAAmBH,GAMrCM,EAAW5M,GAAO,EAAGqK,EAAcloE,GAAMw/D,EAAUx/D,IACnD0qE,EAAYb,EAAkB3B,EAAcloE,GAAO,EAAIoqE,EAAWK,EAAWF,EAAkBR,EAA4BpE,SAAWxlE,EAASsqE,EAAWF,EAAkBR,EAA4BpE,SACxMgF,EAAYd,GAAmB3B,EAAcloE,GAAO,EAAIoqE,EAAWK,EAAWD,EAAkBT,EAA4BpE,SAAW0E,EAASI,EAAWD,EAAkBT,EAA4BpE,SACzM7F,EAAoB3jD,EAAM6iD,SAASC,OAAS7B,GAAgBjhD,EAAM6iD,SAASC,OAC3E2L,EAAe9K,EAAiC,MAAb6F,EAAmB7F,EAAkBwE,WAAa,EAAIxE,EAAkByE,YAAc,EAAI,EAC7HsG,EAAwH,OAAjGZ,EAA+C,MAAvBD,OAA8B,EAASA,EAAoBrE,IAAqBsE,EAAwB,EAEvJa,EAAYxjB,EAASqjB,EAAYE,EACjCE,EAAkBlN,GAAO6L,EAAS3L,GAAQ1jC,EAF9BitB,EAASojB,EAAYG,EAAsBD,GAEKvwC,EAAKitB,EAAQoiB,EAAS5L,GAAQvC,EAAKuP,GAAavP,GAChH2D,EAAcyG,GAAYoF,EAC1B3kE,EAAKu/D,GAAYoF,EAAkBzjB,EAGrC,GAAI8f,EAAc,CAChB,IAAI4D,EAEAC,EAAyB,MAAbtF,EAAmB7J,GAAMG,GAErCiP,GAAwB,MAAbvF,EAAmB3J,GAASD,GAEvCoP,GAAUjM,EAAciI,GAExBtkE,GAAmB,MAAZskE,EAAkB,SAAW,QAEpCiE,GAAOD,GAAUjd,EAAS+c,GAE1BI,GAAOF,GAAUjd,EAASgd,IAE1BI,IAAuD,IAAxC,CAACxP,GAAKG,IAAM12D,QAAQ65D,GAEnCmM,GAAyH,OAAjGP,EAAgD,MAAvBhB,OAA8B,EAASA,EAAoB7C,IAAoB6D,EAAyB,EAEzJQ,GAAaF,GAAeF,GAAOD,GAAUjD,EAAcrlE,IAAQg+D,EAAWh+D,IAAQ0oE,GAAuBxB,EAA4B5C,QAEzIsE,GAAaH,GAAeH,GAAUjD,EAAcrlE,IAAQg+D,EAAWh+D,IAAQ0oE,GAAuBxB,EAA4B5C,QAAUkE,GAE5IK,GAAmBhC,GAAU4B,G1BzH9B,SAAwBjxC,EAAKn7B,EAAOq8D,GACzC,IAAIrxD,EAAI2zD,GAAOxjC,EAAKn7B,EAAOq8D,GAC3B,OAAOrxD,EAAIqxD,EAAMA,EAAMrxD,E0BuH2ByhE,CAAeH,GAAYL,GAASM,IAAc5N,GAAO6L,EAAS8B,GAAaJ,GAAMD,GAASzB,EAAS+B,GAAaJ,IAEpKnM,EAAciI,GAAWuE,GACzBtlE,EAAK+gE,GAAWuE,GAAmBP,GAGrChvD,EAAMgjD,cAAc5+D,GAAQ6F,IAS5Bo6D,iBAAkB,CAAC,WE1HN,SAASoL,GAAiBC,EAAyB1O,EAAcgE,QAC9D,IAAZA,IACFA,GAAU,GAGZ,IAAI2K,EAA0B3Q,GAAcgC,GACxC4O,EAAuB5Q,GAAcgC,IAf3C,SAAyBnvB,GACvB,IAAI0tB,EAAO1tB,EAAQwtB,wBACfG,EAAS5gC,GAAM2gC,EAAKjQ,OAASzd,EAAQ6tB,aAAe,EACpDD,EAAS7gC,GAAM2gC,EAAKlQ,QAAUxd,EAAQsP,cAAgB,EAC1D,OAAkB,IAAXqe,GAA2B,IAAXC,EAWmCoQ,CAAgB7O,GACtEtP,EAAkBkP,GAAmBI,GACrCzB,EAAOF,GAAsBqQ,EAAyBE,GACtD1f,EAAS,CACX8W,WAAY,EACZE,UAAW,GAETtC,EAAU,CACZ7E,EAAG,EACHC,EAAG,GAkBL,OAfI2P,IAA4BA,IAA4B3K,MACxB,SAA9BtE,GAAYM,IAChBqG,GAAe3V,MACbxB,ECnCS,SAAuBxS,GACpC,OAAIA,IAASmhB,GAAUnhB,IAAUshB,GAActhB,GCJxC,CACLspB,YAFyCn1B,EDQb6L,GCNRspB,WACpBE,UAAWr1B,EAAQq1B,WDGZH,GAAgBrpB,GCNZ,IAA8B7L,EFuC9Bi+B,CAAc9O,IAGrBhC,GAAcgC,KAChB4D,EAAUvF,GAAsB2B,GAAc,IACtCjB,GAAKiB,EAAaoH,WAC1BxD,EAAQ5E,GAAKgB,EAAamH,WACjBzW,IACTkT,EAAQ7E,EAAIqH,GAAoB1V,KAI7B,CACLqO,EAAGR,EAAKO,KAAO5P,EAAO8W,WAAapC,EAAQ7E,EAC3CC,EAAGT,EAAKI,IAAMzP,EAAOgX,UAAYtC,EAAQ5E,EACzC1Q,MAAOiQ,EAAKjQ,MACZD,OAAQkQ,EAAKlQ,QGrDjB,SAASjE,GAAM2kB,GACb,IAAIpgE,EAAM,IAAI2uD,IACV0R,EAAU,IAAI7R,IACdtyD,EAAS,GAKb,SAAS4N,EAAKw2D,GACZD,EAAQlc,IAAImc,EAAS7rE,MACN,GAAGiD,OAAO4oE,EAAS7L,UAAY,GAAI6L,EAAS5L,kBAAoB,IACtEh/D,SAAQ,SAAU6qE,GACzB,IAAKF,EAAQ55B,IAAI85B,GAAM,CACrB,IAAIC,EAAcxgE,EAAIoS,IAAImuD,GAEtBC,GACF12D,EAAK02D,OAIXtkE,EAAO7G,KAAKirE,GASd,OAzBAF,EAAU1qE,SAAQ,SAAU4qE,GAC1BtgE,EAAIkJ,IAAIo3D,EAAS7rE,KAAM6rE,MAkBzBF,EAAU1qE,SAAQ,SAAU4qE,GACrBD,EAAQ55B,IAAI65B,EAAS7rE,OAExBqV,EAAKw2D,MAGFpkE,EC/BM,SAASukE,GAASzkD,GAC/B,IAAItL,EACJ,OAAO,WAUL,OATKA,IACHA,EAAU,IAAI9X,SAAQ,SAAUC,GAC9BD,QAAQC,UAAUspB,MAAK,WACrBzR,OAAUja,EACVoC,EAAQmjB,YAKPtL,GCEX,IAEIgwD,GAAkB,CACpBpX,UAAW,SACX8W,UAAW,GACX3J,SAAU,YAGZ,SAASkK,KACP,IAAK,IAAI5pE,EAAOvB,UAAU3D,OAAQmE,EAAO,IAAIpC,MAAMmD,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EhB,EAAKgB,GAAQxB,UAAUwB,GAGzB,OAAQhB,EAAKmuB,MAAK,SAAU+d,GAC1B,QAASA,GAAoD,oBAAlCA,EAAQwtB,0BAIhC,SAASkR,GAAgBC,QACL,IAArBA,IACFA,EAAmB,IAGrB,IAAIC,EAAoBD,EACpBE,EAAwBD,EAAkBE,iBAC1CA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAyBH,EAAkBvpD,eAC3CA,OAA4C,IAA3B0pD,EAAoCP,GAAkBO,EAC3E,OAAO,SAAsBnN,EAAWpB,EAAQl8D,QAC9B,IAAZA,IACFA,EAAU+gB,GAGZ,IAAIlH,EAAQ,CACVi5C,UAAW,SACX4X,iBAAkB,GAClB1qE,QAAStE,OAAOguB,OAAO,GAAIwgD,GAAiBnpD,GAC5C87C,cAAe,GACfH,SAAU,CACRY,UAAWA,EACXpB,OAAQA,GAEViE,WAAY,GACZD,OAAQ,IAENyK,EAAmB,GACnBC,GAAc,EACd9vE,EAAW,CACb+e,MAAOA,EACPgxD,WAAY,SAAoBC,GAC9B,IAAI9qE,EAAsC,oBAArB8qE,EAAkCA,EAAiBjxD,EAAM7Z,SAAW8qE,EACzFC,IACAlxD,EAAM7Z,QAAUtE,OAAOguB,OAAO,GAAI3I,EAAgBlH,EAAM7Z,QAASA,GACjE6Z,EAAM0mD,cAAgB,CACpBjD,UAAW3E,GAAU2E,GAAaiE,GAAkBjE,GAAaA,EAAU4G,eAAiB3C,GAAkBjE,EAAU4G,gBAAkB,GAC1IhI,OAAQqF,GAAkBrF,IAI5B,IAAIwO,EFvCG,SAAwBd,GAErC,IAAIc,EAAmBzlB,GAAM2kB,GAE7B,OAAOvN,GAAe/kD,QAAO,SAAU0xC,EAAKuT,GAC1C,OAAOvT,EAAI9nD,OAAOwpE,EAAiBhsE,QAAO,SAAUorE,GAClD,OAAOA,EAASvN,QAAUA,QAE3B,IE+B0ByO,CCzEhB,SAAqBpB,GAClC,IAAI7/C,EAAS6/C,EAAUtyD,QAAO,SAAUyS,EAAQ/jB,GAC9C,IAAIilE,EAAWlhD,EAAO/jB,EAAQ/H,MAK9B,OAJA8rB,EAAO/jB,EAAQ/H,MAAQgtE,EAAWvvE,OAAOguB,OAAO,GAAIuhD,EAAUjlE,EAAS,CACrEhG,QAAStE,OAAOguB,OAAO,GAAIuhD,EAASjrE,QAASgG,EAAQhG,SACrD8D,KAAMpI,OAAOguB,OAAO,GAAIuhD,EAASnnE,KAAMkC,EAAQlC,QAC5CkC,EACE+jB,IACN,IAEH,OAAOruB,OAAO6C,KAAKwrB,GAAQvgB,KAAI,SAAU5N,GACvC,OAAOmuB,EAAOnuB,MD8D4BsvE,CAAY,GAAGhqE,OAAOspE,EAAkB3wD,EAAM7Z,QAAQ4pE,aAyC5F,OAvCA/vD,EAAM6wD,iBAAmBA,EAAiBhsE,QAAO,SAAUkE,GACzD,OAAOA,EAAE05D,WAqJbziD,EAAM6wD,iBAAiBxrE,SAAQ,SAAUkqB,GACvC,IAAInrB,EAAOmrB,EAAMnrB,KACbktE,EAAgB/hD,EAAMppB,QACtBA,OAA4B,IAAlBmrE,EAA2B,GAAKA,EAC1CpN,EAAS30C,EAAM20C,OAEnB,GAAsB,oBAAXA,EAAuB,CAChC,IAAIqN,EAAYrN,EAAO,CACrBlkD,MAAOA,EACP5b,KAAMA,EACNnD,SAAUA,EACVkF,QAASA,IAGPqrE,EAAS,aAEbV,EAAiB9rE,KAAKusE,GAAaC,OA/H9BvwE,EAAS2lE,UAOlB5K,YAAa,WACX,IAAI+U,EAAJ,CAIA,IAAIU,EAAkBzxD,EAAM6iD,SACxBY,EAAYgO,EAAgBhO,UAC5BpB,EAASoP,EAAgBpP,OAG7B,GAAKiO,GAAiB7M,EAAWpB,GAAjC,CASAriD,EAAMmjD,MAAQ,CACZM,UAAWgM,GAAiBhM,EAAWxC,GAAgBoB,GAAoC,UAA3BriD,EAAM7Z,QAAQigE,UAC9E/D,OAAQpC,GAAcoC,IAOxBriD,EAAMvL,OAAQ,EACduL,EAAMi5C,UAAYj5C,EAAM7Z,QAAQ8yD,UAKhCj5C,EAAM6wD,iBAAiBxrE,SAAQ,SAAU4qE,GACvC,OAAOjwD,EAAMgjD,cAAciN,EAAS7rE,MAAQvC,OAAOguB,OAAO,GAAIogD,EAAShmE,SAIzE,IAFA,IAES8C,EAAQ,EAAGA,EAAQiT,EAAM6wD,iBAAiBrvE,OAAQuL,IAUzD,IAAoB,IAAhBiT,EAAMvL,MAAV,CAMA,IAAIi9D,EAAwB1xD,EAAM6wD,iBAAiB9jE,GAC/C4e,EAAK+lD,EAAsB/lD,GAC3BgmD,EAAyBD,EAAsBvrE,QAC/CujE,OAAsC,IAA3BiI,EAAoC,GAAKA,EACpDvtE,EAAOstE,EAAsBttE,KAEf,oBAAPunB,IACT3L,EAAQ2L,EAAG,CACT3L,MAAOA,EACP7Z,QAASujE,EACTtlE,KAAMA,EACNnD,SAAUA,KACN+e,QAjBNA,EAAMvL,OAAQ,EACd1H,GAAS,KAsBf65D,OAAQwJ,IAAS,WACf,OAAO,IAAI7nE,SAAQ,SAAUC,GAC3BvH,EAAS+6D,cACTxzD,EAAQwX,SAGZ4xD,QAAS,WACPV,IACAH,GAAc,IAIlB,IAAKT,GAAiB7M,EAAWpB,GAK/B,OAAOphE,EAmCT,SAASiwE,IACPJ,EAAiBzrE,SAAQ,SAAUsmB,GACjC,OAAOA,OAETmlD,EAAmB,GAGrB,OAvCA7vE,EAAS+vE,WAAW7qE,GAAS2rB,MAAK,SAAU9R,IACrC+wD,GAAe5qE,EAAQ0rE,eAC1B1rE,EAAQ0rE,cAAc7xD,MAqCnB/e,GAGJ,IEpPM6wE,GAAevB,GAAgB,CAC1CI,iBAAkB,CXyCpB,CACEvsE,KAAM,OACNq+D,SAAS,EACTC,MAAO,OACP2B,iBAAkB,CAAC,mBACnB14C,GAlCF,SAAcoB,GACZ,IAAI/M,EAAQ+M,EAAK/M,MACb5b,EAAO2oB,EAAK3oB,KACZ2nE,EAAgB/rD,EAAMmjD,MAAMM,UAC5BiB,EAAa1kD,EAAMmjD,MAAMd,OACzBwK,EAAmB7sD,EAAMgjD,cAAc+O,gBACvCC,EAAoBvI,GAAezpD,EAAO,CAC5C+pD,eAAgB,cAEdkI,EAAoBxI,GAAezpD,EAAO,CAC5CiqD,aAAa,IAEXiI,EAA2BtF,GAAeoF,EAAmBjG,GAC7DoG,EAAsBvF,GAAeqF,EAAmBvN,EAAYmI,GACpEuF,EAAoBtF,GAAsBoF,GAC1CG,EAAmBvF,GAAsBqF,GAC7CnyD,EAAMgjD,cAAc5+D,GAAQ,CAC1B8tE,yBAA0BA,EAC1BC,oBAAqBA,EACrBC,kBAAmBA,EACnBC,iBAAkBA,GAEpBryD,EAAMsmD,WAAWjE,OAASxgE,OAAOguB,OAAO,GAAI7P,EAAMsmD,WAAWjE,OAAQ,CACnE,+BAAgC+P,EAChC,sBAAuBC,MY/B3B,CACEjuE,KAAM,gBACNq+D,SAAS,EACTC,MAAO,OACP/2C,GApBF,SAAuBoB,GACrB,IAAI/M,EAAQ+M,EAAK/M,MACb5b,EAAO2oB,EAAK3oB,KAKhB4b,EAAMgjD,cAAc5+D,GAAQilE,GAAe,CACzC5F,UAAWzjD,EAAMmjD,MAAMM,UACvB5xB,QAAS7xB,EAAMmjD,MAAMd,OACrB+D,SAAU,WACVnN,UAAWj5C,EAAMi5C,aAUnBhvD,KAAM,IDVkCqoE,GAAeC,GAAgBpnB,GAAQqnB,GAAMT,GAAiBjP,MEblGr2B,GAAY,CAAC,UAAW,YAAa,WAAY,aAEvD,SAASwL,GAA8B7yC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAM1S,IAAMoxE,GAA8B,CAClCruE,KAAM,cACNq+D,SAAS,EACTC,MAAO,aACP/2C,GAAI,cAGA+mD,GAA0B,CAC9BtuE,KAAM,kBACNq+D,SAAS,EACTC,MAAO,aACPwB,OAAQ,SAAAj1C,GAAA,IACNjP,EAAKiP,EAALjP,MAAK,OACD,WACJ,IAAAyxD,EAGIzxD,EAAM6iD,SAFRY,EAASgO,EAAThO,UACApB,EAAMoP,EAANpP,OAGF,GAAI,oBAAqBoB,EAAW,CAClC,IAAMkP,GAAOlP,EAAUmP,aAAa,qBAAuB,IAAI/qE,MAAM,KAAKhD,QAAO,SAAA2wB,GAAE,OAAIA,EAAGlZ,SAAW+lD,EAAO7sC,MACvGm9C,EAAInxE,OAA2DiiE,EAAUlmC,aAAa,mBAAoBo1C,EAAItmE,KAAK,MAAvGo3D,EAAUrR,gBAAgB,uBAG/CzmC,GAAI,SAAA4D,GAEE,IACAsjD,EAEJC,EAJKvjD,EAALvP,MAOU6iD,SAFRR,EAAMyQ,EAANzQ,OACAoB,EAASqP,EAATrP,UAEIppB,EAA+D,OAAvDw4B,EAAuBxQ,EAAOuQ,aAAa,cAAmB,EAASC,EAAqBliE,cAE1G,GAAI0xD,EAAO7sC,IAAe,YAAT6kB,GAAsB,iBAAkBopB,EAAW,CAClE,IAAMkP,EAAMlP,EAAUmP,aAAa,oBAEnC,GAAID,IAA8C,IAAvCA,EAAI9qE,MAAM,KAAKuB,QAAQi5D,EAAO7sC,IACvC,OAGFiuC,EAAUlmC,aAAa,mBAAoBo1C,EAAM,GAAHtrE,OAAMsrE,EAAG,KAAAtrE,OAAIg7D,EAAO7sC,IAAO6sC,EAAO7sC,OAIhFu9C,GAAkB,GAkHxB,OAjGA,SAAmBC,EAAkBC,GAA0B,IAAXlmD,EAAI5nB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAG,GACzD+tE,EAKInmD,EAJF01C,QAAAA,OAAO,IAAAyQ,GAAOA,EAAAC,EAIZpmD,EAHFksC,UAAAA,OAAS,IAAAka,EAAG,SAAQA,EAAAC,EAGlBrmD,EAFFq5C,SAAAA,OAAQ,IAAAgN,EAAG,WAAUA,EAAAC,EAEnBtmD,EADFgjD,UAAAA,OAAS,IAAAsD,EAAGN,GAAeM,EAEzBnhD,EAAS+lB,GAA8BlrB,EAAM0f,IAE3C6mC,GAAgBj8B,EAAAA,EAAAA,QAAO04B,GACvBwD,GAAoBl8B,EAAAA,EAAAA,UACpBuvB,GAASjvB,EAAAA,EAAAA,cAAY,WACzB,IAAI67B,EAEmD,OAAtDA,EAAwBD,EAAkBpnE,UAA4BqnE,EAAsB5M,WAC5F,IACG5K,GAAcrkB,EAAAA,EAAAA,cAAY,WAC9B,IAAI87B,EAEoD,OAAvDA,EAAyBF,EAAkBpnE,UAA4BsnE,EAAuBzX,gBAC9F,IACH0X,EAAgCC,IAAap8B,EAAAA,EAAAA,UAAS,CACpD0hB,UAAAA,EACA2N,OAAAA,EACA5K,YAAAA,EACAsK,WAAY,GACZD,OAAQ,CACNhE,OAAQ,GACRS,MAAO,OAER8Q,EAAA54C,GAAA04C,EAAA,GATIG,EAAWD,EAAA,GAAEp/B,EAAQo/B,EAAA,GAUtBE,GAAiBvyB,EAAAA,EAAAA,UAAQ,iBAAO,CACpCn9C,KAAM,sBACNq+D,SAAS,EACTC,MAAO,QACP0B,SAAU,CAAC,iBACXz4C,GAAI,SAAAgC,GAEE,IADJ3N,EAAK2N,EAAL3N,MAEMqmD,EAAS,GACTC,EAAa,GACnBzkE,OAAO6C,KAAKsb,EAAM6iD,UAAUx9D,SAAQ,SAAAwsC,GAClCw0B,EAAOx0B,GAAW7xB,EAAMqmD,OAAOx0B,GAC/By0B,EAAWz0B,GAAW7xB,EAAMsmD,WAAWz0B,MAEzC2C,EAAS,CACPx0B,MAAAA,EACAqmD,OAAAA,EACAC,WAAAA,EACAM,OAAAA,EACA5K,YAAAA,EACA/C,UAAWj5C,EAAMi5C,gBAGnB,CAAC2N,EAAQ5K,EAAaxnB,IACpBu/B,GAAgBxyB,EAAAA,EAAAA,UAAQ,WAK5B,OAJKsc,GAAOyV,EAAcnnE,QAAS4jE,KACjCuD,EAAcnnE,QAAU4jE,GAGnBuD,EAAcnnE,UACpB,CAAC4jE,IAiCJ,OAhCA92B,EAAAA,EAAAA,YAAU,WACHs6B,EAAkBpnE,SAAYs2D,GACnC8Q,EAAkBpnE,QAAQ6kE,WAAW,CACnC/X,UAAAA,EACAmN,SAAAA,EACA2J,UAAW,GAAF1oE,OAAA2pD,GAAM+iB,GAAa,CAAED,EAAgBrB,SAE/C,CAACrM,EAAUnN,EAAW6a,EAAgBrR,EAASsR,KAClD96B,EAAAA,EAAAA,YAAU,WACR,GAAKwpB,GAA+B,MAApBuQ,GAA6C,MAAjBC,EAS5C,OALAM,EAAkBpnE,QAAU2lE,GAAakB,EAAkBC,EAAepxE,OAAOguB,OAAO,GAAIqC,EAAQ,CAClG+mC,UAAAA,EACAmN,SAAAA,EACA2J,UAAW,GAAF1oE,OAAA2pD,GAAM+iB,GAAa,CAAErB,GAAyBoB,OAElD,WAC4B,MAA7BP,EAAkBpnE,UACpBonE,EAAkBpnE,QAAQylE,UAC1B2B,EAAkBpnE,aAAU/F,EAC5BouC,GAAS,SAAA3rC,GAAC,OAAIhH,OAAOguB,OAAO,GAAIhnB,EAAG,CACjCy9D,WAAY,GACZD,OAAQ,CACNhE,OAAQ,aAMf,CAACI,EAASuQ,EAAkBC,IACxBY,GC9JHlxD,GAAO,aAEb,SAASqxD,GAAiBlsE,GACxB,OAAwB,IAAjBA,EAAMitC,OAGf,SAASK,GAAgBttC,GACvB,SAAUA,EAAMktC,SAAWltC,EAAMmtC,QAAUntC,EAAMotC,SAAWptC,EAAMqtC,UAG7D,IAAM8+B,GAAe,SAAA/nC,GAAG,OAAIA,IAAQ,YAAaA,EAAMA,EAAI//B,QAAU+/B,IA4D5E,OAhDA,SAAyBA,GAGjB,IAHsBgoC,EAAc/uE,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAGwd,GAAIoK,EAAA5nB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAG/C,GAFF20C,EAAQ/sB,EAAR+sB,SAAQq6B,EAAApnD,EACRqnD,aAAAA,OAAY,IAAAD,EAAG,QAAOA,EAEhBE,GAA8Bh9B,EAAAA,EAAAA,SAAO,GACrCi9B,GAAqB38B,EAAAA,EAAAA,cAAY,SAAAhsC,GACrC,IAAM8qD,EAAgBwd,GAAa/nC,GACnCqoC,IAAAA,GAAU9d,EAAe,uJACzB4d,EAA4BloE,SAAWsqD,GAAiBrhB,GAAgBzpC,KAAOqoE,GAAiBroE,MAAQ+kD,GAAS+F,EAAe9qD,EAAEtK,UACjI,CAAC6qC,IACEsoC,EAAct7B,IAAiB,SAAAvtC,GAC9B0oE,EAA4BloE,SAC/B+nE,EAAevoE,OAGnBstC,EAAAA,EAAAA,YAAU,WACR,IAAIa,GAAmB,MAAP5N,EAAhB,CACA,IAAMqS,EAAMH,GAAc61B,GAAa/nC,IAGnCuoC,GAAgBl2B,EAAIC,aAAe5zC,QAAQ9C,MAIzC4sE,EAA6BjgC,GAAO8J,EAAK61B,EAAcE,GAAoB,GAC3EK,EAAsBlgC,GAAO8J,EAAK61B,GAAc,SAAAzoE,GAEhDA,IAAM8oE,EAKVD,EAAY7oE,GAJV8oE,OAAeruE,KAMfwuE,EAA4B,GAMhC,MAJI,iBAAkBr2B,EAAImT,kBACxBkjB,EAA4B,GAAGzwE,MAAMlB,KAAKs7C,EAAI/zB,KAAK4jB,UAAUz+B,KAAI,SAAAqkB,GAAE,OAAIygB,GAAOzgB,EAAI,YAAarR,QAG1F,WACL+xD,IACAC,IACAC,EAA0BvvE,SAAQ,SAAA6b,GAAM,OAAIA,WAE7C,CAACgrB,EAAK4N,EAAUs6B,EAAcE,EAAoBE,KC7DhD,SAASK,KAA0B,IAAVllE,EAAGxK,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAG,GACpC,OAAI5B,MAAMC,QAAQmM,GAAaA,EACxB9N,OAAO6C,KAAKiL,GAAKA,KAAI,SAAAjG,GAE1B,OADAiG,EAAIjG,GAAGtF,KAAOsF,EACPiG,EAAIjG,MAGA,SAASorE,GAA4B/nD,GAUjD,IACGgoD,EAAuBC,EAAwBC,EAAmBC,EAVtEzS,EAAO11C,EAAP01C,QACA0S,EAAYpoD,EAAZooD,aACAlc,EAASlsC,EAATksC,UACAuZ,EAAIzlD,EAAJylD,KACArnB,EAAMp+B,EAANo+B,OACAiP,EAAKrtC,EAALqtC,MACAgb,EAAgBroD,EAAhBqoD,iBACAxS,EAAY71C,EAAZ61C,aAAYyS,EAAAtoD,EACZuoD,aAAAA,OAAY,IAAAD,EAAG,GAAEA,EAIXtF,EAjCD,SAAuBA,GAC5B,IAAMlkE,EAAS,GAEf,OAAKtI,MAAMC,QAAQusE,IAKN,MAAbA,GAA6BA,EAAU1qE,SAAQ,SAAA0D,GAC7C8C,EAAO9C,EAAE3E,MAAQ2E,KAEZ8C,GAPEkkE,GAAalkE,EA6BJ0pE,CAAcD,EAAavF,WAC7C,OAAOluE,OAAOguB,OAAO,GAAIylD,EAAc,CACrCrc,UAAAA,EACAwJ,QAAAA,EACA2D,SAAUhM,EAAQ,QAAUkb,EAAalP,SACzC2J,UAAW8E,GAAgBhzE,OAAOguB,OAAO,GAAIkgD,EAAW,CACtDwC,eAAgB,CACd9P,QAAS0S,GAEXpD,gBAAiBlwE,OAAOguB,OAAO,GAAIkgD,EAAUgC,gBAAiB,CAC5D5rE,QAASivE,EAAmBvzE,OAAOguB,OAAO,CACxCqwB,QAASk1B,GAC+C,OAAtDL,EAAwBhF,EAAUgC,sBAA2B,EAASgD,EAAsB5uE,SAAmE,OAAvD6uE,EAAyBjF,EAAUgC,sBAA2B,EAASiD,EAAuB7uE,UAE5MglD,OAAQ,CACNhlD,QAAStE,OAAOguB,OAAO,CACrBs7B,OAAAA,GAC2C,OAAzC8pB,EAAoBlF,EAAU5kB,aAAkB,EAAS8pB,EAAkB9uE,UAEjF28D,MAAOjhE,OAAOguB,OAAO,GAAIkgD,EAAUjN,MAAO,CACxCL,UAAWG,EACXz8D,QAAStE,OAAOguB,OAAO,GAA4C,OAAvCqlD,EAAmBnF,EAAUjN,YAAiB,EAASoS,EAAiB/uE,QAAS,CAC3G0rC,QAAS+wB,MAGb4P,KAAM3wE,OAAOguB,OAAO,CAClB4yC,UAAW+P,GACVzC,EAAUyC,WC5DnB,IAAM/lC,GAAY,CAAC,YAcnB,IAAM9pB,GAAO,aAaN,SAAS6yD,KAA8B,IAAdrvE,EAAOhB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAG,GAClCqP,GAAUs3B,EAAAA,EAAAA,YAAW2pC,IAC3BC,EAAuCt8B,KAAgBu8B,EAAA36C,GAAA06C,EAAA,GAAhD9S,EAAY+S,EAAA,GAAEC,EAAcD,EAAA,GAC7BE,GAAcx+B,EAAAA,EAAAA,SAAO,GAEzBm7B,EAQErsE,EARFqsE,KACArnB,EAOEhlD,EAPFglD,OACA2qB,EAME3vE,EANF2vE,eAAcC,EAMZ5vE,EALFi0D,MAAAA,OAAK,IAAA2b,GAAQA,EACFC,EAIT7vE,EAJF8yD,UAASgd,EAIP9vE,EAHFmvE,aAAAA,OAAY,IAAAW,EAAG,GAAEA,EAAAC,EAGf/vE,EAFFgwE,qBAAAA,OAAoB,IAAAD,GAAOA,EAAAE,EAEzBjwE,EADFkwE,UAAWC,OAAe,IAAAF,IAAK5hE,EAAO4hE,EAElCryB,EAAoD,OAAjC,MAAXvvC,OAAkB,EAASA,EAAQuvC,QAAkB59C,EAAQ49C,KAAOvvC,EAAQuvC,KAEtFA,IAAS8xB,EAAY1pE,UACvB0pE,EAAY1pE,SAAU,GAGxB,IAAMq4C,EAAc,SAAA74C,GACP,MAAX6I,GAA2BA,EAAQ+hE,QAAO,EAAO5qE,IAGnDsjB,EAKIza,GAAW,GAJbykD,EAAShqC,EAATgqC,UACAud,EAAOvnD,EAAPunD,QACAC,EAAWxnD,EAAXwnD,YACAC,EAAaznD,EAAbynD,cAEIrU,EAASgU,GAAUK,EAAeD,EAAa3B,GAA6B,CAChF7b,UAAW+c,GAAqB/c,GAAa,eAC7CwJ,QAAS6T,EACTnB,aAAsC,MAAxBgB,EAA+BpyB,EAAOoyB,EACpDhrB,OAAAA,EACAqnB,KAAAA,EACApY,MAAAA,EACAwI,aAAAA,EACA0S,aAAAA,KAEIqB,EAAY90E,OAAOguB,OAAO,CAC9Bqc,IAAKsqC,GAAW7zD,GAChB,kBAAoC,MAAjB+zD,OAAwB,EAASA,EAAclhD,IACjE6sC,EAAOiE,WAAWjE,OAAQ,CAC3B1jD,MAAO0jD,EAAOgE,OAAOhE,SAEjBuU,EAAW,CACf7yB,KAAAA,EACAkV,UAAAA,EACA4d,SAAUhB,EAAY1pE,QACtBoqE,OAAmB,MAAX/hE,OAAkB,EAASA,EAAQ+hE,OAC3ClU,OAAQiU,EAAkBjU,EAAS,KACnCyU,WAAYR,EAAkBz0E,OAAOguB,OAAO,CAC1Cqc,IAAK0pC,GACJvT,EAAOiE,WAAWxD,MAAO,CAC1BnkD,MAAO0jD,EAAOgE,OAAOvD,QAClB,IAMP,OAJAiU,GAAgBN,EAAajyB,EAAa,CACxC4vB,aAAc0B,EACdh8B,UAAWiK,IAEN,CAAC4yB,EAAWC,GAYrB,SAASI,GAAajqD,GAChB,IACFqhB,EACErhB,EADFqhB,SAI4C6oC,EAAAj8C,GAAxBw6C,GAzGxB,SAAuCpwE,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAuG1R42C,CAA8BlrB,EAAM0f,KAEJ,GAAvCnrC,EAAK21E,EAAA,GAAE5mC,EAAI4mC,EAAA,GAClB,OAAoBvqC,EAAAA,GAAAA,KAAK4Z,GAAAA,SAAW,CAClClY,SAAUA,EAAS9sC,EAAO+uC,KAI9B2mC,GAAapqC,YAAc,eAC3BoqC,GAAanqC,aAvBQ,CACnBwpC,WAAW,GAyBb,UCvFMa,GAAkC,CACtC5wE,OAAQgE,OAAO6P,KAAKykB,MAAsB,KAAhBzkB,KAAKqX,WAC/BrlB,QAAS,GAGLgrE,GAAaxvD,EAAAA,cAAqCuvD,IA2BxD,IAAIx3B,GAAYj0C,QACI,qBAAXb,QACPA,OAAOyf,UACPzf,OAAOyf,SAASC,eAIX,SAAS8sD,GAAaC,GAC3B,IAAIC,GAAMxrC,EAAAA,EAAAA,YAAWqrC,IAQrB,OAJIG,IAAQJ,IAAmBx3B,IAC7B15C,QAAQF,KAAK,oJAGRy7C,EAAAA,EAAAA,UAAQ,kBAAM81B,GAAa,aAAaC,EAAIhxE,OAArB,OAAiCgxE,EAAInrE,UAAW,CAACkrE,ICxE1E,IAAME,GAAa,SAAAvjD,GACxB,IAAIwjD,EAEJ,MAA4G,UAApD,OAA/CA,EAAmBxjD,EAAG4+C,aAAa,cAAmB,EAAS4E,EAAiB7mE,gBAGrFgS,GAAO,aASN,SAAS80D,KACd,IAAMjiD,EAAK4hD,KACXrqD,GAKI+e,EAAAA,EAAAA,YAAW2pC,KAAoB,GAAErhB,EAAArnC,EAJnCg3B,KAAAA,OAAI,IAAAqQ,GAAQA,EAAAsjB,EAAA3qD,EACZwpD,OAAAA,OAAM,IAAAmB,EAAG/0D,GAAI+0D,EACbC,EAAS5qD,EAAT4qD,UACAlB,EAAW1pD,EAAX0pD,YAEIv8B,GAAcvC,EAAAA,EAAAA,cAAY,SAAAhsC,GAC9B4qE,GAAQxyB,EAAMp4C,KACb,CAACo4C,EAAMwyB,IACJj1E,EAAQ,CACZk0B,GAAAA,EACA0W,IAAKyrC,GAAah1D,GAClBgyB,QAASuF,EACT,kBAAmB6J,GASrB,OAJI0yB,GAAec,GAAWd,KAC5Bn1E,EAAM,kBAAmB,GAGpB,CAACA,EAAO,CACbyiD,KAAAA,EACAwyB,OAAAA,IAUJ,SAASqB,GAAc3oD,GAEpB,IADDmf,EAAQnf,EAARmf,SAEyCypC,EAAA78C,GAAnBy8C,KAAmB,GAAlCn2E,EAAKu2E,EAAA,GAAExnC,EAAIwnC,EAAA,GAClB,OAAoBnrC,EAAAA,GAAAA,KAAK4Z,GAAAA,SAAW,CAClClY,SAAUA,EAAS9sC,EAAO+uC,KAI9BunC,GAAehrC,YAAc,iBAG7B,UCrEMH,GAAY,CAAC,WAAY,WAAY,UAAW,SAAU,MAiBzD,SAASqrC,GAAe7oD,GAM5B,IALDltB,EAAGktB,EAAHltB,IACAu7B,EAAIrO,EAAJqO,KACAmgB,EAAMxuB,EAANwuB,OACA3D,EAAQ7qB,EAAR6qB,SACAnF,EAAO1lB,EAAP0lB,QAEMojC,GAAcjsC,EAAAA,EAAAA,YAAW+uB,IAG7Ba,IAFiB5vB,EAAAA,EAAAA,YAAWovB,KAGZ,IADhBQ,UAEI1M,EAAWD,GAAahtD,EAAKu7B,GAC7BuY,EAAqB,MAAV4H,GAAyB,MAAP17C,EAAcgtD,GAAa2M,KAAe1M,EAAWvR,EASxF,MAAO,CAAAr6C,EAAA,CACLuxC,QATkBuE,IAAiB,SAAApxC,GAC/BgyC,IACO,MAAXnF,GAA2BA,EAAQ7sC,GAE/BiwE,IAAgBjwE,EAAM6zD,wBACxBoc,EAAY/oB,EAAUlnD,OAKxB,gBAAiBgyC,QAAY1zC,EAC7B,gBAAiByvC,GAChBob,GAAS,iBAAmB,IAC5B,CACDpb,SAAAA,IAGJ,IAAMmiC,GAA4BrwD,EAAAA,YAAiB,SAACoF,EAAMmf,GACxD,IACE8iB,EAKEjiC,EALFiiC,SACAlV,EAIE/sB,EAJF+sB,SACAnF,EAGE5nB,EAHF4nB,QACA8I,EAEE1wB,EAFF0wB,OAAMpR,EAEJtf,EADFuf,GAAIC,OAAS,IAAAF,EAAGkO,GAAMlO,EAEpB/qC,EAtDN,SAAuC8D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAsD5R42C,CAA8BlrB,EAAM0f,IAEzCwrC,EAMLj9C,GAN0B88C,GAAgB,CAC1C/1E,IAAKitD,EACL1xB,KAAMh8B,EAAMg8B,KACZwc,SAAAA,EACAnF,QAAAA,EACA8I,OAAAA,IACA,GANsB,GAOxB,OAAoB/Q,EAAAA,GAAAA,KAAKH,EAAW1qC,OAAOguB,OAAO,GAAIvuB,EAAO,CAC3D4qC,IAAKA,GACJ+rC,OAELD,GAAaprC,YAAc,eAC3B,UCpDA,SAASsrC,KACP,IAAMlc,EAAchB,KACd9uB,GAAMmL,EAAAA,EAAAA,QAAO,MACb0K,GAAYpK,EAAAA,EAAAA,cAAY,SAAA9F,GAC5B3F,EAAI//B,QAAU0lC,EAEdmqB,MACC,CAACA,IACJ,MAAO,CAAC9vB,EAAK6V,GAQf,SAASo2B,GAAQprD,GASd,IARDqrD,EAAWrrD,EAAXqrD,YACMC,EAAOtrD,EAAbg3B,KACAwW,EAAQxtC,EAARwtC,SACU+d,EAAWvrD,EAArBwjC,SAAQgoB,EAAAxrD,EACRyrD,aAAAA,OAAY,IAAAD,EAAA,MAAAlxE,OAAS4pD,GAAS,iBAAgB,KAAAsnB,EAC9CE,EAAoB1rD,EAApB0rD,qBAAoBtF,EAAApmD,EACpBksC,UAAAA,OAAS,IAAAka,EAAG,eAAcA,EAC1B/kC,EAAQrhB,EAARqhB,SAEMxjC,EAASkoD,KACgE4lB,EAAA19C,GAAtDic,GAAoBohC,EAASD,EAAaE,GAAY,GAAxEv0B,EAAI20B,EAAA,GAAEnoB,EAAQmoB,EAAA,GAIwBC,EAAA39C,GAAlBk9C,KAAkB,GAAtCU,EAAOD,EAAA,GAAEnC,EAAOmC,EAAA,GACjBlC,EAAcmC,EAAQzsE,QACqB0sE,EAAA79C,GAAlBk9C,KAAkB,GAA1CY,EAASD,EAAA,GAAElB,EAASkB,EAAA,GACrBnC,EAAgBoC,EAAU3sE,QAC1B4sE,EAAWv/B,GAAYuK,GACvBi1B,GAAkB3hC,EAAAA,EAAAA,QAAO,MACzB4hC,GAAkB5hC,EAAAA,EAAAA,SAAO,GACzB0gC,GAAcjsC,EAAAA,EAAAA,YAAW+uB,IACzB0b,GAAS5+B,EAAAA,EAAAA,cAAY,SAACuhC,EAAUpxE,GAAwD,IAAjD1C,EAAMD,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAY,MAAT2C,OAAgB,EAASA,EAAMrC,KACnF8qD,EAAS2oB,EAAU,CACjBC,cAAerxE,EACf1C,OAAAA,MAED,CAACmrD,IACEoM,EAAezjB,IAAiB,SAACn3C,EAAK+F,GAC9B,MAAZyyD,GAA4BA,EAASx4D,EAAK+F,GAC1CyuE,GAAO,EAAOzuE,EAAO,UAEhBA,EAAM6zD,wBACM,MAAfoc,GAA+BA,EAAYh2E,EAAK+F,MAG9C0M,GAAU+sC,EAAAA,EAAAA,UAAQ,iBAAO,CAC7Bg1B,OAAAA,EACAtd,UAAAA,EACAlV,KAAAA,EACA0yB,YAAAA,EACAC,cAAAA,EACAF,QAAAA,EACAmB,UAAAA,KACE,CAACpB,EAAQtd,EAAWlV,EAAM0yB,EAAaC,EAAeF,EAASmB,IAE/DlB,GAAesC,IAAah1B,IAC9Bk1B,EAAgB9sE,QAAUsqE,EAAY/lB,SAAS+lB,EAAYr4B,cAAcoS,gBAG3E,IAAM4oB,EAAclgC,IAAiB,WAC/Bw9B,GAAiBA,EAAchsD,OACjCgsD,EAAchsD,WAGZ2uD,EAAkBngC,IAAiB,WACvC,IAAMzzC,EAAOuzE,EAAgB7sE,QACzBmtE,EAAYb,EAMhB,GAJiB,MAAba,IACFA,KAAYV,EAAQzsE,UAAWorE,GAAWqB,EAAQzsE,WAAW,aAG7C,IAAdmtE,IAAqC,aAAdA,GAA6B,UAAUj1E,KAAKoB,IAAvE,CAIA,IAAMw1B,EAAQ68B,GAAI8gB,EAAQzsE,QAASqsE,GAAc,GAC7Cv9C,GAASA,EAAMvQ,OAAOuQ,EAAMvQ,aAElCuuB,EAAAA,EAAAA,YAAU,WACJ8K,EAAMs1B,IAA2BJ,EAAgB9sE,UACnD8sE,EAAgB9sE,SAAU,EAC1BitE,OAED,CAACr1B,EAAMk1B,EAAiBG,EAAaC,KACxCpgC,EAAAA,EAAAA,YAAU,WACR+/B,EAAgB7sE,QAAU,QAG5B,IAAMotE,EAAsB,SAACptE,EAASg/C,GACpC,IAAKytB,EAAQzsE,QAAS,OAAO,KAC7B,IAAMowD,EAAQzE,GAAI8gB,EAAQzsE,QAASqsE,GAC/BzrE,EAAQwvD,EAAMnzD,QAAQ+C,GAAWg/C,EAErC,OAAOoR,EADPxvD,EAAQoN,KAAKilD,IAAI,EAAGjlD,KAAK+jB,IAAInxB,EAAOwvD,EAAM/6D,WAoF5C,OC/La,SAA0Bg4E,EAAa1xE,EAAOH,EAAUi4C,QACrD,IAAZA,IACFA,GAAU,GAGZ,IAAIzI,EAAU+B,GAAiBvxC,IAC/BsxC,EAAAA,EAAAA,YAAU,WACR,IAAI53C,EAAgC,oBAAhBm4E,EAA6BA,IAAgBA,EAEjE,OADAn4E,EAAOugC,iBAAiB95B,EAAOqvC,EAASyI,GACjC,WACL,OAAOv+C,EAAO0+B,oBAAoBj4B,EAAOqvC,EAASyI,MAEnD,CAAC45B,IDmGJC,EAAiB9hC,EAAAA,EAAAA,cAAY,kBAAM/sC,EAAOyf,WAAU,CAACzf,IAAU,WAAW,SAAA9C,GACxE,IAAI4xE,EAAkBC,EAGpB53E,EACE+F,EADF/F,IAEIV,EAASyG,EAAMzG,OACfu4E,EAAmD,OAAvCF,EAAmBd,EAAQzsE,cAAmB,EAASutE,EAAiBhpB,SAASrvD,GAC7Fw4E,EAAyD,OAA3CF,EAAqBb,EAAU3sE,cAAmB,EAASwtE,EAAmBjpB,SAASrvD,GAK3G,KAFgB,kBAAkBgD,KAAKhD,EAAOw4C,YAEtB,MAAR93C,GAAuB,WAARA,GAAoB63E,GAAoB,WAAR73E,GAAoC,WAAhBV,EAAOoE,SAIrFm0E,GAAaC,KAIN,QAAR93E,GAAmB62E,EAAQzsE,SAAY43C,GAA3C,CAIAi1B,EAAgB7sE,QAAUrE,EAAMrC,KAChC,IAAM4qC,EAAO,CACX8oC,cAAerxE,EACf1C,OAAQ0C,EAAMrC,MAGhB,OAAQ1D,GACN,IAAK,UAED,IAAM2pB,EAAO6tD,EAAoBl4E,GAAS,GAG1C,OAFIqqB,GAAQA,EAAKhB,OAAOgB,EAAKhB,aAC7B5iB,EAAMutC,iBAIV,IAAK,YAGH,GAFAvtC,EAAMutC,iBAED0O,EAEE,CACL,IAAMr4B,EAAO6tD,EAAoBl4E,EAAQ,GACrCqqB,GAAQA,EAAKhB,OAAOgB,EAAKhB,aAH7B6lC,GAAS,EAAMlgB,GAMjB,OAEF,IAAK,MAKHzO,GAAiBvgC,EAAO+8C,cAAe,SAAS,SAAAzyC,GAC9C,IAAImuE,GAEU,QAAVnuE,EAAE5J,KAAkB4J,EAAEtK,SAAqD,OAAxCy4E,EAAoBlB,EAAQzsE,UAAoB2tE,EAAkBppB,SAAS/kD,EAAEtK,SAClHkvD,GAAS,EAAOlgB,KAEjB,CACDoP,MAAM,IAER,MAEF,IAAK,SACS,WAAR19C,IACF+F,EAAMutC,iBACNvtC,EAAMsyC,mBAGRmW,GAAS,EAAOlgB,SAMF3D,EAAAA,GAAAA,KAAKmuB,GAAAA,SAA4B,CACnD93D,MAAO45D,EACPvuB,UAAuB1B,EAAAA,GAAAA,KAAK+oC,GAAAA,SAA0B,CACpD1yE,MAAOyR,EACP45B,SAAUA,MAKhB+pC,GAASvrC,YAAc,WACvBurC,GAAS4B,KAAO/C,GAChBmB,GAASpd,OAAS6c,GAClBO,GAAStb,KAAOmb,GAChB,UEvNMvC,GAA+B9tD,EAAAA,cAAoB,IACzD8tD,GAAgB7oC,YAAc,kBAC9B,oFCGMorC,GAA4BrwD,EAAAA,YAAiB,SAAAoF,EAShDmf,GAAQ,IARTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAwiB,EAAQjiC,EAARiiC,SAAQrF,EAAA58B,EACR+sB,SAAAA,OAAQ,IAAA6P,GAAQA,EAChBhV,EAAO5nB,EAAP4nB,QACA8I,EAAM1wB,EAAN0wB,OAAMpR,EAAAtf,EACNuf,GAAIC,OAAS,IAAAF,EAAGsO,GAAMtO,EACnB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,iBAO1C6tC,EAAAh/C,GANgC88C,GAAgB,CAChD/1E,IAAKitD,EACL1xB,KAAMh8B,EAAMg8B,KACZwc,SAAAA,EACAnF,QAAAA,EACA8I,OAAAA,IACA,GANKw6B,EAAiB+B,EAAA,GAAE3pC,EAAI2pC,EAAA,GAO9B,OAAoBttC,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAAA,GAAA,GAAO5D,GACpC22E,GAAiB,IACpB/rC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQ+pC,EAAKwF,UAAY,SAAUiE,GAAY,kBAGpFk+B,GAAaprC,YAAc,eAC3B,UC9BMp4B,GAAuBmT,EAAAA,cAAoB,MACjDnT,GAAQo4B,YAAc,oBACtB,UCAe,SAASqtC,GAAyB/tC,EAAKguC,GAEN,OAAOhuC,uHCYhD,SAASiuC,GAAyBC,EAAUC,EAAe9oB,GAChE,IAQI0H,EAAYmhB,EALE7oB,EAAQ,eAAiB,aADvBA,EAAQ,aAAe,eAQ3C,MADsB,OAAlB8oB,EAAwBphB,EAAYmhB,EARzB7oB,EAAQ,YAAc,UADpBA,EAAQ,UAAY,YAS2D,QAAlB8oB,EAAyBphB,EAAYmhB,EAFlG7oB,EAAQ,WAAa,YADnBA,EAAQ,aAAe,cAGqI,UAAlB8oB,IAA2BphB,EAAYmhB,EAJpL7oB,EAAQ,YAAc,WADpBA,EAAQ,cAAgB,cAMnC0H,EAET,IAAM+d,GAA4BrvD,EAAAA,YAAiB,SAAAoF,EAahDmf,GAAQ,IAZTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA8tC,EAAKvtD,EAALutD,MACAxE,EAAc/oD,EAAd+oD,eACAtD,EAAIzlD,EAAJylD,KACM+H,EAASxtD,EAAfg3B,KACAy2B,EAAaztD,EAAbytD,cAAanuC,EAAAtf,EAEbuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBipC,EAAYvoD,EAAZuoD,aACAtyB,EAAOj2B,EAAPi2B,QACG1hD,EAAK+pC,GAAAte,EAAA0f,IAEJ2tC,GAAW,EACT9c,GAAWxxB,EAAAA,EAAAA,YAAWskB,IACtB9pD,EAASslC,GAAmBO,EAAU,iBAC5CsuC,GAII3uC,EAAAA,EAAAA,YAAW2pC,IAHNiF,EAAYD,EAAnBH,MACAK,EAAIF,EAAJE,KACAppB,EAAKkpB,EAALlpB,MAEF+oB,EAAQA,GAASI,EACjB,IAAME,GAAe9uC,EAAAA,EAAAA,YAAW+uC,IAC1BC,EAAe,GAErB,GAAIR,EACF,GAAqB,kBAAVA,EAAoB,CAC7B,IAAM51E,EAAO7C,OAAO6C,KAAK41E,GAGzB,GAAI51E,EAAKlD,OAAQ,CACf,IAAMypD,EAAWvmD,EAAK,GAChB+jE,EAAY6R,EAAMrvB,GAGxBmvB,EAAyB,UAAd3R,EACXqS,EAAa91E,KAAK,GAADqC,OAAIf,EAAM,KAAAe,OAAI4jD,EAAQ,KAAA5jD,OAAIohE,SAE1B,QAAV6R,IACTF,GAAW,GAIf,IAAMnhB,EAAYkhB,GAAyBC,EAAUO,EAAMppB,GAczD0lB,EAAAj8C,GARGw6C,GAAgB,CACnBhD,KAAAA,EACAsD,eAAAA,EACA/xB,KAAMw2B,EACNlE,WAAY/Y,GAAoC,IAAxBwd,EAAat5E,OACrC2pD,OAAQ,CAAC,EAAG,GACZmqB,aAAAA,EACArc,UAAAA,IACA,GAbK0d,EAASM,EAAA,GAAA8D,EAAA9D,EAAA,GACdJ,EAAQkE,EAARlE,SACAxU,EAAM0Y,EAAN1Y,OACAte,EAAIg3B,EAAJh3B,KACAwyB,EAAMwE,EAANxE,OAgBF,GANAI,EAAUzqC,IAAM4V,GAAcm4B,GAAyB/tC,GAAsByqC,EAAUzqC,KACvF8uC,IAAoB,WAGdj3B,IAAgB,MAAVse,GAA0BA,EAAOuE,YAC1C,CAAC7iB,KACC8yB,IAAa2D,IAAkBI,EAAc,OAAO,KAEhC,kBAAdruC,IACToqC,EAAU5yB,KAAOA,EAEjB4yB,EAAUsE,MAAQ,kBAAgB,MAAV1E,OAAiB,EAASA,GAAO,IAEzDI,EAAU2D,MAAQA,GAGpB,IAAI37D,EAAQrd,EAAMqd,MAWlB,OATc,MAAV0jD,GAAkBA,EAAOpJ,YAG3Bt6C,EAAKzZ,GAAAA,GAAA,GAAQ5D,EAAMqd,OACdg4D,EAAUh4D,OAEfrd,EAAM,eAAiB+gE,EAAOpJ,YAGZvsB,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAAA,GAAAA,GAAA,GAAO5D,GACpCq1E,GAAS,IACZh4D,MAAOA,IAEFm8D,EAAat5E,QAAU87D,IAAa,CACvC,iBAAkB,WACnB,IACD9wB,UAAWG,KAAAA,WAAW,EAAD,CAACH,EAAWlmC,EAAQy9C,GAAQ,OAAQq2B,GAAY,GAAJ/yE,OAAOf,EAAM,QAAQ08C,GAAW,GAAJ37C,OAAOf,EAAM,KAAAe,OAAI27C,IAAS37C,OAAKyzE,UAGhI9D,GAAapqC,YAAc,eAC3BoqC,GAAanqC,aAjHQ,CACnB2lC,MAAM,GAiHR,mECrHMoF,GAA8BjwD,EAAAA,YAAiB,SAAAoF,EAQlDmf,GAAQ,IAPTC,EAAQpf,EAARof,SACAtkC,EAAKklB,EAALllB,MACA2kC,EAASzf,EAATyf,UACA0uC,EAAanuD,EAAbmuD,cAAa7uC,EAAAtf,EAEbuf,GAAIC,OAAS,IAAAF,EAAGkO,GAAMlO,EACnB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,mBACtCgvC,GAAkBrvC,EAAAA,EAAAA,YAAW2pC,IAC7BmF,GAAe9uC,EAAAA,EAAAA,YAAW+uC,SAEVz0E,IAAlB80E,IACF55E,EAAM6qC,SAAW+uC,GAGnB,IAAOE,EAAkCpgD,GAAnBy8C,KAAmB,GAAvB,GAIlB,OAHA2D,EAAYlvC,IAAM4V,GAAcs5B,EAAYlvC,IAAK+tC,GAAyB/tC,KAGtDQ,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCsnC,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQuB,GAAS,GAAJR,OAAOf,EAAM,YAAYs0E,IAAoC,MAAnBO,OAA0B,EAASA,EAAgBp3B,OAAS,SACjJq3B,GACA95E,OAGPs2E,GAAehrC,YAAc,iBAC7B,mICxBMyuC,GAAiBh4B,GAAmB,kBAAmB,CAC3DxW,aAAc,CACZwN,KAAM,aAGJihC,GAAkBj4B,GAAmB,mBAAoB,CAC7D9W,UAAW,KACXM,aAAc,CACZwN,KAAM,eAGJkhC,GAAmBl4B,GAAmB,qBAAsB,CAChE9W,UAAW,SAOP4rC,GAAwBxwD,EAAAA,YAAiB,SAAC6zD,EAAQtvC,GACtD,IAAAkY,EAcIxM,GAAgB4jC,EAAQ,CAC1Bz3B,KAAM,aAdN5X,EAAQiY,EAARjY,SACAwuC,EAAIv2B,EAAJu2B,KACA52B,EAAIK,EAAJL,KACAvX,EAAS4X,EAAT5X,UACA8tC,EAAKl2B,EAALk2B,MACA/f,EAAQnW,EAARmW,SACAhK,EAAQnM,EAARmM,SACAkoB,EAAoBr0B,EAApBq0B,qBAAoBne,EAAAlW,EAEpB9X,GAAIC,OAAS,IAAA+tB,EAAG,MAAKA,EAErBmhB,GADUr3B,EAAVgZ,OACShZ,EAATq3B,WACGn6E,EAAK+pC,GAAA+Y,EAAA3X,IAIJmuC,GAAe9uC,EAAAA,EAAAA,YAAW+uC,IAC1Bv0E,EAASslC,GAAmBO,EAAU,YACtColB,EAAQxlB,KAYR2vC,EAAexiC,IAAiB,SAACggC,EAAU7oC,GAVtB,IAAAjrC,EAWrBirC,EAAK8oC,cAAc1iB,gBAAkBpsC,UAA6B,YAAhBgmB,EAAKjrC,QAAmD,WAA3BirC,EAAK8oC,cAAcp3E,MAAmBsuC,EAAKjrC,OAAS,aAX9GA,EAYFirC,EAAKjrC,SAVV,IAAdq2E,EAAuC,UAAXr2E,EAEd,WAAdq2E,EAA0C,cAAXr2E,EAEjB,YAAdq2E,GAA2C,WAAXr2E,KAMa,MAAZmrD,GAA4BA,EAAS2oB,EAAU7oC,OAGhF4oB,EAAYkhB,GADS,QAAVG,EACoCK,EAAMppB,GACrDoqB,GAAep6B,EAAAA,EAAAA,UAAQ,iBAAO,CAClC+4B,MAAAA,EACAK,KAAAA,EACAppB,MAAAA,KACE,CAAC+oB,EAAOK,EAAMppB,IAClB,OAAoB7kB,EAAAA,GAAAA,KAAK+oC,GAAAA,SAA0B,CACjD1yE,MAAO44E,EACPvtC,UAAuB1B,EAAAA,GAAAA,KAAKkvC,GAAc,CACxC3iB,UAAWA,EACXlV,KAAMA,EACNwW,SAAUA,EACVhK,SAAUmrB,EACVjD,qBAAsBA,EACtBD,aAAc,IAAFnxE,OAAMf,EAAM,uCACxB8nC,SAAUwsC,EAAet5E,EAAM8sC,UAAwB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC/E4qC,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWuX,GAAQ,SAAU42B,GAAiB,SAATA,IAAoBr0E,EAAiB,OAATq0E,GAAiB,SAAmB,QAATA,GAAkB,UAAoB,UAATA,GAAoB,uBAK3KxC,GAASvrC,YAAc,WACvBurC,GAAStrC,aAjEY,CACnBuwB,QAAQ,EACRkd,MAAO,QACPmB,WAAW,GA+Db,OAAe55E,OAAOguB,OAAOsoD,GAAU,CACrCpd,OAAQ6c,GACRmC,KAAM/C,GACNna,KAAMmb,GACN6D,SAAUN,GACVO,QAASR,GACT3hB,OAAQ0hB,6kBCnGH,IA8pIP,IACCU,GA/pIe,SAAC,GAAD,IAAG9zB,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,OACL+e,EAAE,oFAEJ,wBACE/e,KAAK,UACL+e,EAAE,yEAEJ,wBACE/e,KAAK,OACL+e,EAAE,6EAEJ,wBACE/e,KAAK,UACL+e,EAAE,yEAEJ,wBACE/e,KAAK,OACL+e,EAAE,yEAEJ,wBACE/e,KAAK,UACL+e,EAAE,yEAEJ,wBACE/e,KAAK,UACL+e,EAAE,0IAEJ,2BACE7a,UAAU,gCACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,KACJC,GAAI,OAEN,2BACEjb,UAAU,iCACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,KACJC,GAAI,MAEN,2BACEjb,UAAU,kCACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,KACJC,GAAI,MAEN,2BACEjb,UAAU,oDACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,IACJC,GAAI,KAEN,2BACEjb,UAAU,gCACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,IACJC,GAAI,OAEN,2BACEjb,UAAU,kCACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,KACJC,GAAI,MAEN,2BACEjb,UAAU,+BACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,KACJC,GAAI,OAEN,2BACEjb,UAAU,kCACVlE,KAAK,UACLgf,GAAI,IACJC,GAAI,MACJC,GAAI,IACJC,GAAI,OAEN,2BACEjb,UAAU,+BACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,IACJC,GAAI,OAEN,2BACEjb,UAAU,oDACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,GACJC,GAAI,MAEN,2BACEjb,UAAU,kCACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,KACJC,GAAI,MAEN,2BACEjb,UAAU,iCACVlE,KAAK,UACLgf,GAAI,MACJC,GAAI,MACJC,GAAI,IACJC,GAAI,OAEN,wBACEnf,KAAK,UACL+e,EAAE,4DAEJ,wBACE/e,KAAK,OACL+e,EAAE,qJAEJ,wBACE/e,KAAK,UACL+e,EAAE,wDAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,UACL+e,EAAE,0JAihIPK,GA5gIe,SAAC,GAAD,IAAGr0B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,8BACI,wBAAMiV,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,oDACvB,wBACEA,EAAE,kDACFM,OAAO,UACPC,YAAa,IAEf,wBACEP,EAAE,oEACFM,OAAO,UACPC,YAAa,IAEf,wBAAMtf,KAAK,UAAU+e,EAAE,8CACvB,wBACE/e,KAAK,UACL+e,EAAE,qQAEJ,wBACE/e,KAAK,UACL+e,EAAE,0DAq/HPQ,GAh/He,SAAC,GAAD,IAAGx0B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAMA,EAAE,sBACR,wBAAM/e,KAAK,UAAU+e,EAAE,sBA2+H1BS,GAv+He,SAAC,GAAD,IAAGz0B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAMA,EAAE,sBACR,wBACE/e,KAAK,OACL+e,EAAE,uFAEJ,wBACE/e,KAAK,OACL+e,EAAE,qNA49HPU,GAv9He,SAAC,GAAD,IAAG10B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMg0B,EAAE,oBACJ,wBACE/e,KAAK,UACL+e,EAAE,oIAEJ,wBACE/e,KAAK,OACL+e,EAAE,4EAEJ,wBACE/e,KAAK,UACL+e,EAAE,uGAEJ,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,wBACR,wBAAMA,EAAE,2BAs8HbW,GAj8He,SAAC,GAAD,IAAG30B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,OACL+e,EAAE,sOAEJ,wBACE/e,KAAK,UACL+e,EAAE,iFAEJ,wBACE/e,KAAK,UACL+e,EAAE,0UAEJ,wBACE/e,KAAK,UACL+e,EAAE,iVAEJ,wBACE/e,KAAK,UACL+e,EAAE,8UAEJ,wBACE/e,KAAK,OACL+e,EAAE,yKAEJ,wBACE/e,KAAK,UACL+e,EAAE,yDAEJ,wBACE/e,KAAK,UACL+e,EAAE,qJAg6HPY,GA35He,SAAC,GAAD,IAAG50B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,aAAgBx2D,GAC1ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,kBACnB,wBACE/e,KAAK,UACL+e,EAAE,sWAEJ,wBACEA,EAAE,+MACF/e,KAAK,cAk5HV4f,GA74He,SAAC,GAAD,IAAG70B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wBAy4H1Bc,GAr4He,SAAC,GAAD,IAAG90B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMg0B,EAAE,sBACJ,wBAAM/e,KAAK,UAAU1wB,UAAU,cAAcyvC,EAAE,oBAC/C,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,6TACR,wBAAMA,EAAE,qMACR,wBACE/e,KAAK,OACL+e,EAAE,iHAEJ,wBAAMA,EAAE,0QA03Hbe,GAr3He,SAAC,GAAD,IAAG/0B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACE/e,KAAK,OACL+e,EAAE,gIAg3HPgB,GA32He,SAAC,GAAD,IAAGh1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,qCACvB,0BACE/e,KAAK,UACLqf,OAAO,UACPC,YAAa,EACbN,GAAI,MACJC,GAAI,IACJ1sE,EAAG,OAi2HRytE,GA51He,SAAC,GAAD,IAAGj1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,mDACvB,wBAAM/e,KAAK,OAAO+e,EAAE,6CACpB,wBACE/e,KAAK,UACL+e,EAAE,qMAEJ,wBACE/e,KAAK,UACLqf,OAAO,UACPY,iBAAkB,GAClBlB,EAAE,4DA+0HPmB,GA10He,SAAC,GAAD,IAAGn1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,uCAu0H1BoB,GAn0He,SAAC,GAAD,IAAGp1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,guBACR,wBAAMA,EAAE,qLAEV,wBACE/e,KAAK,UACL+e,EAAE,8DAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,yCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,yCACpB,wBACEA,EAAE,uEACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,kCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,kCACpB,wBACEA,EAAE,2DACF/e,KAAK,cA8yHVogB,GAzyHe,SAAC,GAAD,IAAGr1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,OACL+e,EAAE,kFAEJ,wBACE/e,KAAK,UACL+e,EAAE,oFAEJ,wBAAMA,EAAE,0CAA0C/e,KAAK,cA8xH1DqgB,GA1xHe,SAAC,GAAD,IAAGt1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,UACL+e,EAAE,0EAEJ,wBACE/e,KAAK,UACL+e,EAAE,oEAixHPuB,GA5wHe,SAAC,GAAD,IAAGv1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,+MACR,wBAAMA,EAAE,4JAqwHbwB,GAhwHe,SAAC,GAAD,IAAGx1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,2CACR,wBAAMA,EAAE,8FACR,wBAAMA,EAAE,2FACR,wBAAMA,EAAE,+FACR,wBAAMA,EAAE,yFACR,wBAAMA,EAAE,iGACR,wBAAMA,EAAE,iGACR,wBAAMA,EAAE,qGACR,wBAAMA,EAAE,mEAmvHbyB,GA9uHe,SAAC,GAAD,IAAGz1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAMA,EAAE,qCAAqC/e,KAAK,YAClD,wBAAM+e,EAAE,2SA0uHX0B,GAtuHe,SAAC,GAAD,IAAG11B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,oBAAuBx2D,GACjCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,yBACnB,0BAAQ/e,KAAK,UAAUgf,GAAI,QAASC,GAAI,MAAO1sE,EAAG,QAmuHrDmuE,GA/tHe,SAAC,GAAD,IAAG31B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAMA,EAAE,oBACR,wBAAM/e,KAAK,UAAU+e,EAAE,0BA2tH1B4B,GAvtHe,SAAC,GAAD,IAAG51B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACE/e,KAAK,UACL+e,EAAE,6FAitHP6B,GA5sHe,SAAC,GAAD,IAAG71B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,OAAO+e,EAAE,6BACpB,wBAAM/e,KAAK,UAAU+e,EAAE,gCAwsH1B8B,GApsHe,SAAC,GAAD,IAAG91B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACE/e,KAAK,OACL+e,EAAE,wHA+rHP+B,GA1rHe,SAAC,GAAD,IAAG/1B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACEA,EAAE,yDACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,6HAEJ,wBACE/e,KAAK,OACL+e,EAAE,sHAEJ,0BAAQ/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,QAC7C,wBACEwsE,EAAE,sSACF/e,KAAK,UACLqf,OAAO,UACPC,YAAa,MAsqHlByB,GAjqHe,SAAC,GAAD,IAAGh2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,oBAAuBx2D,GACjCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,yBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,qCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,oCA6pH1BiC,GAzpHe,SAAC,GAAD,IAAGj2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,kBAAqBx2D,GAC/ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,uBAChB,wBACE/e,KAAK,UACL+e,EAAE,iZAEJ,wBACE/e,KAAK,UACL+e,EAAE,4bAEJ,wBACE/e,KAAK,UACL+e,EAAE,8YAEJ,wBACE/e,KAAK,UACL+e,EAAE,qKAEJ,wBACE/e,KAAK,UACL+e,EAAE,urBAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,8CACvB,wBACE/e,KAAK,UACL+e,EAAE,kJAEJ,wBACE/e,KAAK,UACL+e,EAAE,iVAEJ,wBACE/e,KAAK,UACL+e,EAAE,keAEJ,0BAAQ/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,OAAQ1sE,EAAG,UAqnHjD0uE,GAjnHe,SAAC,GAAD,IAAGl2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,uBACvB,wBACE/e,KAAK,OACL+e,EAAE,sKAEJ,wBACE/e,KAAK,UACL+e,EAAE,wDAEJ,wBACE/e,KAAK,UACL+e,EAAE,wJAEJ,qBAAG7a,UAAU,mBACX,wBACElE,KAAK,OACL+e,EAAE,4FAEJ,wBACE/e,KAAK,UACL+e,EAAE,sFAEJ,0BAAQ/e,KAAK,UAAUgf,GAAI,OAAQC,GAAI,OAAQ1sE,EAAG,QAClD,0BAAQytD,KAAK,UAAUgf,GAAI,OAAQC,GAAI,OAAQ1sE,EAAG,QAClD,0BAAQytD,KAAK,UAAUgf,GAAI,OAAQC,GAAI,OAAQ1sE,EAAG,QAClD,0BAAQytD,KAAK,UAAUgf,GAAI,OAAQC,GAAI,OAAQ1sE,EAAG,WAqlHvD2uE,GAhlHe,SAAC,GAAD,IAAGn2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,kBAAqBx2D,GAC/ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,uBACnB,wBAAMA,EAAE,yCACR,wBAAM/e,KAAK,OAAO+e,EAAE,qCACpB,qBAAG/e,KAAK,UAAUqf,OAAO,UAAUC,YAAa,EAAGW,iBAAkB,IACnE,wBAAMlB,EAAE,ofACR,wBAAMA,EAAE,kPAykHboC,GApkHe,SAAC,GAAD,IAAGp2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wBAgkH1BqC,GA5jHe,SAAC,GAAD,IAAGr2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBACE/e,KAAK,UACL+e,EAAE,gHAEJ,0BACE/e,KAAK,OACLqf,OAAO,OACPC,YAAa,EACbW,iBAAkB,GAClBjB,GAAI,MACJC,GAAI,MACJ1sE,EAAG,SA4iHR8uE,GAviHe,SAAC,GAAD,IAAGt2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,kDACvB,0BAAQ/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,IAAK1sE,EAAG,OAC3C,wBACEytD,KAAK,UACL+e,EAAE,oQAgiHPuC,GA3hHe,SAAC,GAAD,IAAGv2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACEA,EAAE,oDACF/e,KAAK,YAEP,wBAAM+e,EAAE,qCAohHXwC,GAhhHe,SAAC,GAAD,IAAGx2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,mBACvB,wBACE/e,KAAK,OACLqf,OAAO,OACPC,YAAa,GACbW,iBAAkB,GAClBlB,EAAE,6JAugHPyC,GAlgHe,SAAC,GAAD,IAAGz2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,yBAA4Bx2D,GACtCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,qBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,wBACpB,wBAAM/e,KAAK,OAAO+e,EAAE,uBACpB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,yBA4/G1B0C,GAx/Ge,SAAC,GAAD,IAAG12B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAMA,EAAE,mCAAmC/e,KAAK,YAChD,wBAAM+e,EAAE,6BAo/GX2C,GAh/Ge,SAAC,GAAD,IAAG32B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,mBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,8BACpB,wBACEA,EAAE,yJACF/e,KAAK,YAEP,wBACE+e,EAAE,6IACF/e,KAAK,OACLqf,OAAO,UACPC,YAAa,MAm+GlBqC,GA99Ge,SAAC,GAAD,IAAG52B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,0BAAQ/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,QAC7C,0BACEytD,KAAK,OACLqf,OAAO,UACPC,YAAa,GACbW,iBAAkB,GAClBjB,GAAI,MACJC,GAAI,MACJ1sE,EAAG,OAEL,qBAAG8sE,OAAO,QACR,wBACErf,KAAK,UACL+e,EAAE,sHAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,oCAEzB,wBAAMA,EAAE,iCAAiC/e,KAAK,cA08GjD4hB,GAt8Ge,SAAC,GAAD,IAAG72B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEA,EAAE,8MACF/e,KAAK,UAi8GV6hB,GA57Ge,SAAC,GAAD,IAAG92B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,QAAQ+e,EAAE,sBACjB,wBACEA,EAAE,+9BACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,2EAm7GP+C,GA96Ge,SAAC,GAAD,IAAG/2B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,0CACvB,wBAAM/e,KAAK,UAAU+e,EAAE,4CACvB,wBACE/e,KAAK,UACL+e,EAAE,+FAu6GPgD,GAl6Ge,SAAC,GAAD,IAAGh3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAMA,EAAE,+CAA+C/e,KAAK,YAC5D,wBAAMA,KAAK,UAAU+e,EAAE,qCACvB,wBAAMA,EAAE,mDAAmD/e,KAAK,SAChE,wBACE+e,EAAE,kIACF/e,KAAK,cA05GVgiB,GAr5Ge,SAAC,GAAD,IAAGj3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,oBAAuBx2D,GACjCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,yBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,4CACvB,wBACE/e,KAAK,UACL+e,EAAE,6DA+4GPkD,GA14Ge,SAAC,GAAD,IAAGl3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,oBAAuBx2D,GACjCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,MAAM+e,EAAE,yBACf,wBACE/e,KAAK,OACL+e,EAAE,0GAq4GPmD,GAh4Ge,SAAC,GAAD,IAAGn3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,yCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,mCA43G1BoD,GAx3Ge,SAAC,GAAD,IAAGp3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,oBAAuBx2D,GACjCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,yBACnB,wBACEA,EAAE,6+CACF/e,KAAK,SAEP,qBAAGA,KAAK,WACN,wBAAM+e,EAAE,mEACR,wBAAMA,EAAE,sKA+2GbqD,GA12Ge,SAAC,GAAD,IAAGr3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,wBACpB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACE/e,KAAK,OACL+e,EAAE,2FAm2GPsD,GA91Ge,SAAC,GAAD,IAAGt3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACEA,EAAE,0GACF/e,KAAK,cAw1GVsiB,GAn1Ge,SAAC,GAAD,IAAGv3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACEA,EAAE,6cACF/e,KAAK,cA80GVuiB,GAz0Ge,SAAC,GAAD,IAAGx3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,2BAq0G1ByD,GAj0Ge,SAAC,GAAD,IAAGz3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAMA,EAAE,kDAAkD/e,KAAK,cA6zGlEyiB,GAzzGe,SAAC,GAAD,IAAG13B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,yBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,sBACpB,wBACEA,EAAE,2DACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,OACL+e,EAAE,oGA8yGP2D,GAzyGe,SAAC,GAAD,IAAG33B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,2CACpB,wBACEA,EAAE,iyBACF/e,KAAK,UACLqf,OAAO,WAiyGZsD,GA5xGe,SAAC,GAAD,IAAG53B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,uBACvB,wBACEA,EAAE,qLACF/e,KAAK,WAsxGV4iB,GAjxGe,SAAC,GAAD,IAAG73B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,mBACvB,wBACEA,EAAE,gjBACF/e,KAAK,SAEP,0BAAQA,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OAChD,wBACEytD,KAAK,UACL+e,EAAE,+KAEJ,wBACE/e,KAAK,UACL+e,EAAE,mTAkwGP8D,GA7vGe,SAAC,GAAD,IAAG93B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACE/e,KAAK,UACL+e,EAAE,6QAEJ,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,yhBACR,wBAAMA,EAAE,6xBACR,wBAAMA,EAAE,iQAmvGb+D,GA9uGe,SAAC,GAAD,IAAG/3B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,wCA0uGvBgE,GAtuGe,SAAC,GAAD,IAAGh4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAMA,EAAE,6BACR,wBAAM/e,KAAK,UAAU+e,EAAE,gCAkuG1BiE,GA9tGe,SAAC,GAAD,IAAGj4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,4BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,0BACpB,wBACE/e,KAAK,UACL+e,EAAE,4FAutGPkE,GAltGe,SAAC,GAAD,IAAGl4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,sDA+sGvBmE,GA3sGe,SAAC,GAAD,IAAGn4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAMA,EAAE,2BACR,wBAAM/e,KAAK,UAAU+e,EAAE,uBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,uBACpB,wBAAMA,EAAE,0BACR,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,2BACpB,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,MAAO1sE,EAAG,QAC9C,wBACEwsE,EAAE,2lCACF/e,KAAK,cA+rGVmjB,GA1rGe,SAAC,GAAD,IAAGp4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,4BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,kCACvB,qBAAGM,OAAO,OAAOC,YAAa,EAAGW,iBAAkB,IACjD,wBAAMjgB,KAAK,UAAU+e,EAAE,2CACvB,wBACE/e,KAAK,UACL+e,EAAE,2EAEJ,wBACE/e,KAAK,UACL+e,EAAE,kEAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,mDAyqG5BqE,GApqGe,SAAC,GAAD,IAAGr4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,0BACpB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,uGACR,wBAAMA,EAAE,6NA8pGbsE,GAzpGe,SAAC,GAAD,IAAGt4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,uBACvB,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,MAAO1sE,EAAG,OAC9C,wBACEytD,KAAK,UACL+e,EAAE,gSAEJ,wBACE/e,KAAK,UACL+e,EAAE,yFAEJ,wBACE/e,KAAK,UACL+e,EAAE,0FAyoGPuE,GApoGe,SAAC,GAAD,IAAGv4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,gCAgoGvBwE,GA5nGe,SAAC,GAAD,IAAGx4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAMA,EAAE,0BACR,wBACE/e,KAAK,UACL+e,EAAE,yVAqnGPyE,GAhnGe,SAAC,GAAD,IAAGz4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBAAMA,EAAE,sBACR,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,qLACR,wBAAMA,EAAE,8FAymGb0E,GApmGe,SAAC,GAAD,IAAG14B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,kCACvB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,wMACR,0BAAQC,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OACjC,0BAAQysE,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OACjC,0BAAQysE,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OACjC,0BAAQysE,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OACjC,0BAAQysE,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OACjC,0BAAQysE,GAAI,MAAOC,GAAI,IAAK1sE,EAAG,OAC/B,0BAAQysE,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,UAulGtCmxE,GAllGe,SAAC,GAAD,IAAG34B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,uCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,qBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,sBACpB,wBACE/e,KAAK,UACL+e,EAAE,gJAEJ,wBACE/e,KAAK,UACL+e,EAAE,+JAskGP4E,GAjkGe,SAAC,GAAD,IAAG54B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,qBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,uBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,qBACvB,0BAAQ/e,KAAK,UAAUgf,GAAI,KAAMC,GAAI,IAAK1sE,EAAG,MAC7C,qBAAG8sE,OAAO,UAAUrf,KAAK,QACvB,wBACE+e,EAAE,gJACFO,YAAa,KAEf,wBACEP,EAAE,wEACFO,YAAa,SAojGpBsE,GA9iGe,SAAC,GAAD,IAAG74B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACE/e,KAAK,OACL+e,EAAE,m5CAyiGP8E,GApiGe,SAAC,GAAD,IAAG94B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBACE/e,KAAK,UACL+e,EAAE,mEA+hGP+E,GA1hGe,SAAC,GAAD,IAAG/4B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACE/e,KAAK,OACL+e,EAAE,2JAEJ,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,wDACR,wBAAMA,EAAE,uDACR,wBAAMA,EAAE,gHAEV,wBACE/e,KAAK,UACL+e,EAAE,yFAEJ,wBACE/e,KAAK,UACL+e,EAAE,0HAwgGPgF,GAngGe,SAAC,GAAD,IAAGh5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACE/e,KAAK,OACL+e,EAAE,+KAEJ,wBACE/e,KAAK,UACL+e,EAAE,wDAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,0CACvB,wBAAM/e,KAAK,OAAO+e,EAAE,0CACpB,wBACEA,EAAE,sEACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,oCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,oCACpB,wBACEA,EAAE,8DACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,8HAEJ,wBACE/e,KAAK,OACL+e,EAAE,6SAEJ,wBACE/e,KAAK,UACL+e,EAAE,yMAEJ,wBACE/e,KAAK,OACL+e,EAAE,gzBA89FPiF,GAz9Fe,SAAC,GAAD,IAAGj5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACEA,EAAE,oXACF/e,KAAK,WAo9FVikB,GA/8Fe,SAAC,GAAD,IAAGl5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBACE/e,KAAK,UACL+e,EAAE,2EAEJ,wBACE/e,KAAK,UACL+e,EAAE,mEAs8FPmF,GAj8Fe,SAAC,GAAD,IAAGn5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,2CA67F1BoF,GAz7Fe,SAAC,GAAD,IAAGp5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCAq7F1BqF,GAj7Fe,SAAC,GAAD,IAAGr5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,4BAChB,wBACE/e,KAAK,UACL+e,EAAE,oEAEJ,wBACEA,EAAE,8HACF/e,KAAK,YAEP,wBACEA,KAAK,OACL+e,EAAE,yDAEJ,wBACE/e,KAAK,UACL+e,EAAE,yDAEJ,wBACEA,EAAE,kEACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,uDAEJ,wBACEA,EAAE,+GACF/e,KAAK,YAEP,wBAAMA,KAAK,OAAO+e,EAAE,mDACpB,wBAAM/e,KAAK,UAAU+e,EAAE,mDACvB,wBACEA,EAAE,sEACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,0DA04FPsF,GAr4Fe,SAAC,GAAD,IAAGt5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBACEA,EAAE,+DACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,iCACvB,wBACEA,EAAE,4dACF/e,KAAK,YAEP,0BAAQA,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OAChD,wBACEytD,KAAK,UACL+e,EAAE,oMAEJ,0BAAQ/e,KAAK,UAAUgf,GAAI,KAAMC,GAAI,MAAO1sE,EAAG,QAm3FlD+xE,GA/2Fe,SAAC,GAAD,IAAGv5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,4CACvB,wBACE/e,KAAK,UACL+e,EAAE,+SAy2FPwF,GAp2Fe,SAAC,GAAD,IAAGx5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,aAAgBx2D,GAC1ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,kBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,kBACvB,wBACE/e,KAAK,UACL+e,EAAE,mFA81FPyF,GAz1Fe,SAAC,GAAD,IAAGz5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACE/e,KAAK,UACL+e,EAAE,2DAEJ,wBACE/e,KAAK,UACL+e,EAAE,8IAg1FP0F,GA30Fe,SAAC,GAAD,IAAG15B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAMA,EAAE,2IAs0FX2F,GAl0Fe,SAAC,GAAD,IAAG35B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBACE/e,KAAK,UACLqf,OAAO,OACPY,iBAAkB,GAClBlB,EAAE,mPAEJ,wBACE/e,KAAK,UACLqf,OAAO,OACPY,iBAAkB,GAClBlB,EAAE,4IAEJ,wBAAMA,EAAE,0IACR,wBAAMA,EAAE,0UAizFX4F,GA7yFe,SAAC,GAAD,IAAG55B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,oBACpB,0BAAQ/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,QAC7C,wBACEytD,KAAK,UACL+e,EAAE,0EAsyFP6F,GAjyFe,SAAC,GAAD,IAAG75B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,+BA4xF1B8F,GAxxFe,SAAC,GAAD,IAAG95B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,sBAoxF1B+F,GAhxFe,SAAC,GAAD,IAAG/5B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,2CA4wF1BgG,GAxwFe,SAAC,GAAD,IAAGh6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,OACLqf,OAAO,OACPY,iBAAkB,GAClBlB,EAAE,+EAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,mCACvB,wBACE/e,KAAK,UACL+e,EAAE,oIAEJ,wBACEA,EAAE,sfACF/e,KAAK,UACLqf,OAAO,OACPY,iBAAkB,OAmvFvB+E,GA9uFe,SAAC,GAAD,IAAGj6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,+EACR,wBAAMA,EAAE,qBAEV,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,oBACR,wBAAMA,EAAE,wBAquFbkG,GAhuFe,SAAC,GAAD,IAAGl6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACE/e,KAAK,OACL+e,EAAE,qJAEJ,wBACE/e,KAAK,UACL+e,EAAE,wDAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,UACL+e,EAAE,wJAEJ,2BAAS/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,MAAOC,GAAI,GAAIC,GAAI,OACvD,2BAASnf,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAOC,GAAI,GAAIC,GAAI,MAC1D,2BAASnf,KAAK,UAAUgf,GAAI,IAAKC,GAAI,MAAOC,GAAI,GAAIC,GAAI,MACxD,wBAAMnf,KAAK,UAAU+e,EAAE,oCACvB,2BAAS/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAOC,GAAI,GAAIC,GAAI,OAC1D,wBACEnf,KAAK,UACL+e,EAAE,wFAEJ,0BAAQ/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,GAAI1sE,EAAG,KAC7C,0BAAQytD,KAAK,UAAUgf,GAAI,IAAKC,GAAI,KAAM1sE,EAAG,KAC7C,0BAAQytD,KAAK,OAAOgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,KAC7C,0BAAQytD,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,KAChD,0BAAQytD,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,KAChD,0BAAQytD,KAAK,UAAUgf,GAAI,IAAKC,GAAI,MAAO1sE,EAAG,KAC9C,0BAAQytD,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,KAChD,0BAAQytD,KAAK,OAAOgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,KAC7C,wBACEytD,KAAK,UACL+e,EAAE,0EAEJ,0BAAQ/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OA2rFhD2yE,GAvrFe,SAAC,GAAD,IAAGn6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAMA,EAAE,qCAAqC/e,KAAK,YAClD,0BAAQA,KAAK,UAAUgf,GAAI,IAAKC,GAAI,MAAO1sE,EAAG,OAC9C,wBACEytD,KAAK,UACL+e,EAAE,+VAgrFPoG,GA3qFe,SAAC,GAAD,IAAGp6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBACE/e,KAAK,UACL+e,EAAE,6FAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,yCACvB,wBACE/e,KAAK,UACL+e,EAAE,gIAEJ,wBACE/e,KAAK,UACL+e,EAAE,wGAEJ,wBACE/e,KAAK,UACL+e,EAAE,2SAEJ,wBAAM/e,KAAK,OAAO+e,EAAE,wCACpB,wBACE/e,KAAK,OACLqf,OAAO,UACPC,YAAa,GACbW,iBAAkB,GAClBlB,EAAE,+FAgpFPqG,GA3oFe,SAAC,GAAD,IAAGr6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAMA,EAAE,qIAsoFXsG,GAloFe,SAAC,GAAD,IAAGt6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,0BACpB,wBAAM/e,KAAK,UAAU+e,EAAE,kCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCA4nF1BuG,GAxnFe,SAAC,GAAD,IAAGv6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,qBAAGiV,KAAK,OAAOulB,SAAS,WAClB,wBAAMvlB,KAAK,OAAO+e,EAAE,kBACpB,wBAAM/e,KAAK,UAAU+e,EAAE,kBACvB,wBACEA,EAAE,i9BACF/e,KAAK,YAinFZwlB,GA3mFe,SAAC,GAAD,IAAGz6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,4BACnB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,siCACR,wBAAMA,EAAE,yPAEV,wBACE/e,KAAK,UACL+e,EAAE,kEAEJ,wBACE/e,KAAK,UACL+e,EAAE,yDAEJ,wBACE/e,KAAK,OACL+e,EAAE,yDAEJ,wBACEA,EAAE,iGACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,mDACvB,wBAAM/e,KAAK,OAAO+e,EAAE,mDACpB,wBACEA,EAAE,4FACF/e,KAAK,cAglFVylB,GA3kFe,SAAC,GAAD,IAAG16B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEA,EAAE,wbACF/e,KAAK,cAskFV0lB,GAjkFe,SAAC,GAAD,IAAG36B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBACEA,EAAE,oHACF/e,KAAK,YAEP,wBACE+e,EAAE,qFACF/e,KAAK,YAEP,wBACEqf,OAAO,UACPrf,KAAK,OACL+e,EAAE,yIAEJ,wBACEA,EAAE,2aACF/e,KAAK,cA6iFV2lB,GAxiFe,SAAC,GAAD,IAAG56B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,oDACpB,0BAAQ/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OAChD,0BAAQytD,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OAChD,wBAAMytD,KAAK,UAAU+e,EAAE,kCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,yCA+hF1B6G,GA3hFe,SAAC,GAAD,IAAG76B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCAuhF1B8G,GAnhFe,SAAC,GAAD,IAAG96B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,sBA+gFvB+G,GA3gFe,SAAC,GAAD,IAAG/6B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,OAAO+e,EAAE,2BAwgFvBgH,GApgFe,SAAC,GAAD,IAAGh7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,2CAggF1BiH,GA5/Ee,SAAC,GAAD,IAAGj7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEA,EAAE,yZACF/e,KAAK,cAu/EVimB,GAl/Ee,SAAC,GAAD,IAAGl7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,OACL+e,EAAE,+jBAEJ,wBACE/e,KAAK,UACL+e,EAAE,gtBAy+EPmH,GAp+Ee,SAAC,GAAD,IAAGn7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,8BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,0BACpB,0BAAQ/e,KAAK,OAAOgf,GAAI,MAAOC,GAAI,IAAK1sE,EAAG,OAC3C,wBACEytD,KAAK,UACL+e,EAAE,oMAEJ,0BAAQ/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,IAAK1sE,EAAG,SAy9EjD4zE,GAr9Ee,SAAC,GAAD,IAAGp7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,yBAChB,wBACE/e,KAAK,UACL+e,EAAE,mkHAEJ,wBAAM/e,KAAK,OAAO+e,EAAE,yBACpB,wBACEA,EAAE,uEACF/e,KAAK,YAEP,qBAAGA,KAAK,WACN,wBAAM+e,EAAE,uDACR,wBAAMA,EAAE,uDACR,wBAAMA,EAAE,iHAEV,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,uFACR,wBAAMA,EAAE,gLAEV,wBACE/e,KAAK,UACLqf,OAAO,UACPC,YAAa,EACbW,iBAAkB,GAClBlB,EAAE,qkBAEJ,wBACE/e,KAAK,UACLqf,OAAO,UACPC,YAAa,EACbW,iBAAkB,GAClBlB,EAAE,wKAo7EPqH,GA/6Ee,SAAC,GAAD,IAAGr7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAMA,EAAE,sBACR,wBACEA,EAAE,qQACF/e,KAAK,cAw6EVqmB,GAn6Ee,SAAC,GAAD,IAAGt7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACEA,EAAE,uTACF/e,KAAK,YAEP,wBACE+e,EAAE,ujBACF/e,KAAK,OACLsmB,QAAS,OAw5EdC,GAn5Ee,SAAC,GAAD,IAAGx7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,OACL+e,EAAE,mGAEJ,wBACE/e,KAAK,UACL+e,EAAE,mGA04EPyH,GAr4Ee,SAAC,GAAD,IAAGz7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,wCAChB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,0CAi4E1B0H,GA73Ee,SAAC,GAAD,IAAG17B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACE/e,KAAK,UACL+e,EAAE,sHAEJ,wBACE/e,KAAK,UACL+e,EAAE,gFAEJ,wBACE/e,KAAK,UACL+e,EAAE,kIAg3EP2H,GA32Ee,SAAC,GAAD,IAAG37B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAMA,EAAE,6EACR,wBACE/e,KAAK,UACL+e,EAAE,yKAEJ,wBACE/e,KAAK,UACL+e,EAAE,2KAi2EP4H,GA51Ee,SAAC,GAAD,IAAG57B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAMA,EAAE,6BACR,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,mCACvB,wBACE/e,KAAK,OACL+e,EAAE,6LAo1EP6H,GA/0Ee,SAAC,GAAD,IAAG77B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,QAAS1sE,EAAG,OA40EnDs0E,GAx0Ee,SAAC,GAAD,IAAG97B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAMA,EAAE,4BACR,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,iLACR,wBAAMA,EAAE,4KAEV,wBACEA,EAAE,mOACF/e,KAAK,YAEP,wBAAM+e,EAAE,2LA0zEX+H,GAtzEe,SAAC,GAAD,IAAG/7B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,qBAAGiV,KAAK,WACF,wBAAM+e,EAAE,oBACR,0BAAQC,GAAI,IAAKC,GAAI,MAAO1sE,EAAG,SAEjC,wBACEytD,KAAK,UACL+e,EAAE,uMAEJ,0BAAQ/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OAChD,wBACEwsE,EAAE,ycACF/e,KAAK,cAyyEV+mB,GApyEe,SAAC,GAAD,IAAGh8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACEA,EAAE,oDACF/e,KAAK,YAEP,wBACEA,KAAK,OACL+e,EAAE,qMA2xEPiI,GAtxEe,SAAC,GAAD,IAAGj8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,qBAAG/e,KAAK,WACN,0BAAQgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OACjC,wBAAMwsE,EAAE,uLAEV,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,OACL+e,EAAE,iyBAEJ,wBACEwG,SAAS,UACT0B,SAAS,UACTjnB,KAAK,UACL+e,EAAE,yUAswEPmI,GAjwEe,SAAC,GAAD,IAAGn8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,4BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,0BACpB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,mCACvB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,+NACR,wBAAMA,EAAE,mbAwvEboI,GAnvEe,SAAC,GAAD,IAAGp8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,iBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,4CACvB,wBAAMA,EAAE,+CACR,wBACEA,EAAE,gMACF/e,KAAK,WA2uEVonB,GAtuEe,SAAC,GAAD,IAAGr8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,OAAO+e,EAAE,6BACpB,wBAAMA,EAAE,iDAAiD/e,KAAK,YAC9D,wBAAMA,KAAK,UAAU+e,EAAE,8BACvB,0BAAQ/e,KAAK,OAAOgf,GAAI,OAAQC,GAAI,QAAS1sE,EAAG,SAChD,wBACEytD,KAAK,UACL+e,EAAE,qIA6tEPsI,GAxtEe,SAAC,GAAD,IAAGt8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,qBAAG7a,UAAU,kBACX,wBACE6a,EAAE,gFACFM,OAAO,OACPC,YAAa,KAEf,wBAAMD,OAAO,OAAOC,YAAa,KAAMP,EAAE,iBACzC,0BAAQ/e,KAAK,UAAUif,GAAI,MAAO1sE,EAAG,MACrC,wBACEytD,KAAK,UACL+e,EAAE,yHAGN,wBACEA,EAAE,4LACFM,OAAO,OACPC,YAAa,KAEf,wBACED,OAAO,OACPC,YAAa,KACbP,EAAE,2FAgsEPuI,GA3rEe,SAAC,GAAD,IAAGv8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAMA,EAAE,yDAsrEXwI,GAlrEe,SAAC,GAAD,IAAGx8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,OAAQ1sE,EAAG,SAC/C,wBAAMytD,KAAK,UAAU+e,EAAE,4CACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBACE/e,KAAK,UACL+e,EAAE,mIAEJ,wBACE/e,KAAK,UACL+e,EAAE,8GAEJ,wBACEA,EAAE,wmBACF/e,KAAK,YAEP,wBACEA,KAAK,OACL+e,EAAE,kOAEJ,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,mEACR,wBAAMA,EAAE,wEACR,wBAAMA,EAAE,iJAypEbyI,GAppEe,SAAC,GAAD,IAAGz8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,0BAAQ/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OAChD,wBACEytD,KAAK,UACL+e,EAAE,04DA8oEP0I,GAzoEe,SAAC,GAAD,IAAG18B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAMA,EAAE,uCAAuC/e,KAAK,YACpD,0BAAQA,KAAK,OAAOgf,GAAI,MAAOC,GAAI,IAAK1sE,EAAG,SAqoE9Cm1E,GAjoEe,SAAC,GAAD,IAAG38B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAMA,EAAE,yCAAyC/e,KAAK,YACtD,wBACEA,KAAK,UACL+e,EAAE,4DAEJ,wBACE/e,KAAK,UACL+e,EAAE,mjBAunEP4I,GAlnEe,SAAC,GAAD,IAAG58B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,qCACpB,wBAAM/e,KAAK,UAAU+e,EAAE,mCA6mE1B6I,GAzmEe,SAAC,GAAD,IAAG78B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACE/e,KAAK,UACL+e,EAAE,0OAmmEP8I,GA9lEe,SAAC,GAAD,IAAG98B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,mCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBACE/e,KAAK,UACL+e,EAAE,g9CAEJ,wBACE/e,KAAK,OACLqf,OAAO,UACPC,YAAa,EACbW,iBAAkB,GAClBlB,EAAE,yIA6kEP+I,GAxkEe,SAAC,GAAD,IAAG/8B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBACMg0B,EAAE,iHACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,wBACvB,wBACE/e,KAAK,OACL+e,EAAE,2FA+jEPgJ,GA1jEe,SAAC,GAAD,IAAGh9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAMA,EAAE,mJACR,wBAAMA,EAAE,gOAojEXiJ,GAhjEe,SAAC,GAAD,IAAGj9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCA4iE1BkJ,GAxiEe,SAAC,GAAD,IAAGl9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCAoiE1BmJ,GAhiEe,SAAC,GAAD,IAAGn9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEzvC,UAAU,cACVyvC,EAAE,uCACF/e,KAAK,cA0hEVmoB,GArhEe,SAAC,GAAD,IAAGp9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMg0B,EAAE,6BACJ,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,qIACR,wBAAMA,EAAE,qSA8gEbqJ,GAzgEe,SAAC,GAAD,IAAGr9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,kCACnB,wBACE/e,KAAK,UACL+e,EAAE,4dAogEPsJ,GA//De,SAAC,GAAD,IAAGt9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,2BA4/D1BuJ,GAx/De,SAAC,GAAD,IAAGv9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACE/e,KAAK,UACL+e,EAAE,gHAi/DPwJ,GA5+De,SAAC,GAAD,IAAGx9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,uBACvB,wBACE/e,KAAK,UACL+e,EAAE,27DAEJ,wBACE/e,KAAK,UACL+e,EAAE,+KAk+DPyJ,GA79De,SAAC,GAAD,IAAGz9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,cAAiBx2D,GAC3ByiC,GAAS,6BAAQA,GACtB,wBAAMg0B,EAAE,iBAAiB/e,KAAK,YAC1B,wBAAM+e,EAAE,2BAA2B/e,KAAK,SACxC,0BAAQgf,GAAI,GAAIC,GAAI,GAAI1sE,EAAG,EAAGytD,KAAK,YACnC,wBAAM+e,EAAE,mBAAmB/e,KAAK,SAChC,wBAAM+e,EAAE,mBAAmB/e,KAAK,cAu9DnCyoB,GAn9De,SAAC,GAAD,IAAG19B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,uCACnB,wBAAM/e,KAAK,UAAU+e,EAAE,sCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,mCA+8DvB2J,GA38De,SAAC,GAAD,IAAG39B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,qCACpB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBACE/e,KAAK,OACL+e,EAAE,8OAo8DP4J,GA/7De,SAAC,GAAD,IAAG59B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,4BACnB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,mVACR,0BAAQC,GAAI,IAAKC,GAAI,OAAQ1sE,EAAG,UAElC,0BAAQytD,KAAK,UAAUgf,GAAI,IAAKC,GAAI,OAAQ1sE,EAAG,WAw7DlDq2E,GAp7De,SAAC,GAAD,IAAG79B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,2CAg7D1B8J,GA56De,SAAC,GAAD,IAAG99B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBACE/e,KAAK,OACL+e,EAAE,0IAq6DP+J,GAh6De,SAAC,GAAD,IAAG/9B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAMA,EAAE,qCAAqC/e,KAAK,YAClD,qBAAGA,KAAK,WACN,wBAAM+e,EAAE,0DACR,0BAAQC,GAAI,GAAIC,GAAI,MAAO1sE,EAAG,OAC9B,wBAAMwsE,EAAE,uDACR,0BAAQC,GAAI,GAAIC,GAAI,IAAK1sE,EAAG,OAC5B,wBAAMwsE,EAAE,kCAu5DbgK,GAl5De,SAAC,GAAD,IAAGh+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,OACL+e,EAAE,gbAEJ,wBACEA,EAAE,snBACF/e,KAAK,YAEP,wBACE+e,EAAE,6LACF/e,KAAK,WAq4DVgpB,GAh4De,SAAC,GAAD,IAAGj+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,qBAAG/e,KAAK,OAAOqf,OAAO,OAAOC,YAAa,KACxC,0BAAQN,GAAI,IAAKC,GAAI,IAAK1sE,EAAG,IAAKytD,KAAK,SACvC,0BAAQgf,GAAI,IAAKC,GAAI,IAAK1sE,EAAG,IAAKytD,KAAK,aAEzC,qBAAGqf,OAAO,QACR,wBACErf,KAAK,UACLsf,YAAa,IACbP,EAAE,2HAEJ,wBACE/e,KAAK,OACLsf,YAAa,EACb2J,eAAe,QACflK,EAAE,wEA+2DTmK,GAz2De,SAAC,GAAD,IAAGn+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,wEACR,wBAAMA,EAAE,y4GAo2DboK,GA/1De,SAAC,GAAD,IAAGp+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,uMACR,wBAAMA,EAAE,uIA01DbqK,GAr1De,SAAC,GAAD,IAAGr+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,UACLqf,OAAO,OACPC,YAAa,EACbP,EAAE,mFAEJ,wBACE/e,KAAK,UACL+e,EAAE,uEAEJ,wBAAMA,EAAE,4EACR,wBACE/e,KAAK,OACL+e,EAAE,+KAEJ,wBACE/e,KAAK,UACL+e,EAAE,wDAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,0CACvB,wBAAM/e,KAAK,OAAO+e,EAAE,0CACpB,wBACE/e,KAAK,UACL+e,EAAE,wEAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,oCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,oCACpB,wBACE/e,KAAK,UACL+e,EAAE,kEAqzDPsK,GAhzDe,SAAC,GAAD,IAAGt+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,UACLqf,OAAO,UACPC,YAAa,EACbP,EAAE,qEAwyDPuK,GAnyDe,SAAC,GAAD,IAAGv+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,4BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,+BA8xD1BwK,GA1xDe,SAAC,GAAD,IAAGx+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6CACvB,wBACE/e,KAAK,OACL+e,EAAE,8SAoxDPyK,GA/wDe,SAAC,GAAD,IAAGz+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,IAAK1sE,EAAG,OA0wD/Ck3E,GAtwDe,SAAC,GAAD,IAAG1+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,0BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,wBACpB,wBACE/e,KAAK,UACL+e,EAAE,qVAEJ,2BAAS/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAOC,GAAI,KAAMC,GAAI,SA6vD/DuK,GAzvDe,SAAC,GAAD,IAAG3+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEA,EAAE,oIACF/e,KAAK,SAEP,wBAAMA,KAAK,OAAO+e,EAAE,wBACpB,wBACEA,EAAE,+RACF/e,KAAK,WA+uDV2pB,GA1uDe,SAAC,GAAD,IAAG5+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,oBAAuBx2D,GACjCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,yBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBAAMA,EAAE,0BACR,wBAAM/e,KAAK,UAAU+e,EAAE,mCACvB,wBACE/e,KAAK,UACL+e,EAAE,sIAiuDP6K,GA5tDe,SAAC,GAAD,IAAG7+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,wDACpB,wBACE/e,KAAK,UACL+e,EAAE,gEAEJ,wBACE/e,KAAK,UACL+e,EAAE,mRAitDP8K,GA5sDe,SAAC,GAAD,IAAG9+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,4BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,4BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,0BACE/e,KAAK,UACLqf,OAAO,OACPC,YAAa,IACbN,GAAI,IACJC,GAAI,MACJ1sE,EAAG,QAEL,wBAAMwsE,EAAE,gLACR,wBAAMA,EAAE,+DACR,2BAASC,GAAI,MAAOC,GAAI,MAAOC,GAAI,KAAMC,GAAI,OAC7C,0BAAQH,GAAI,MAAOC,GAAI,MAAO1sE,EAAG,OACjC,2BAASysE,GAAI,MAAOC,GAAI,MAAOC,GAAI,KAAMC,GAAI,OAC7C,wBAAMJ,EAAE,4CA0rDX+K,GAtrDe,SAAC,GAAD,IAAG/+B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,IAAK1sE,EAAG,OAirD/Cw3E,GA7qDe,SAAC,GAAD,IAAGh/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,kBAAqBx2D,GAC/ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,uBAChB,wBACEA,EAAE,iGACF/e,KAAK,cAwqDVgqB,GAnqDe,SAAC,GAAD,IAAGj/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,kBAAqBx2D,GAC/ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,uBAChB,wBAAMA,EAAE,wCAAwC/e,KAAK,cAgqDxDiqB,GA5pDe,SAAC,GAAD,IAAGl/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBACEA,EAAE,oDACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,wRAEJ,wBACE/e,KAAK,UACL+e,EAAE,gEAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,qDACvB,wBAAM/e,KAAK,UAAU+e,EAAE,qDA4oD1BmL,GAxoDe,SAAC,GAAD,IAAGn/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,kBAAqBx2D,GAC/ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,uBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,uBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wBAooD1BoL,GAhoDe,SAAC,GAAD,IAAGp/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,OACL+e,EAAE,mGAEJ,wBACE/e,KAAK,UACL+e,EAAE,mGAunDPqL,GAlnDe,SAAC,GAAD,IAAGr/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBACE/e,KAAK,UACL+e,EAAE,4DAEJ,wBACE/e,KAAK,UACL+e,EAAE,kEAEJ,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,qaACR,wBAAMA,EAAE,yFAqmDbsL,GAhmDe,SAAC,GAAD,IAAGt/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBACE/e,KAAK,OACL+e,EAAE,kRA0lDPuL,GArlDe,SAAC,GAAD,IAAGv/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,OAAO+e,EAAE,6BACpB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,kEACR,wBAAMA,EAAE,wCAEV,wBACEA,EAAE,2DACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,2CACvB,wBACEA,EAAE,+DACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,uCACvB,wBACEA,EAAE,2DACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,2CACvB,wBACEA,EAAE,+DACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,yCACvB,wBACEA,EAAE,+DACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,6CACvB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,oEACR,0BAAQC,GAAI,IAAKC,GAAI,OAAQ1sE,EAAG,UAElC,wBACEwsE,EAAE,uiBACF/e,KAAK,cA8iDVuqB,GAziDe,SAAC,GAAD,IAAGx/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACEA,EAAE,keACF/e,KAAK,YAEP,wBACEA,KAAK,OACL+e,EAAE,0QAEJ,wBACE/e,KAAK,UACL+e,EAAE,kEAEJ,wBACE/e,KAAK,UACL+e,EAAE,yDAEJ,wBACE/e,KAAK,OACL+e,EAAE,yDAEJ,wBACEA,EAAE,iGACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,mDACvB,wBAAM/e,KAAK,OAAO+e,EAAE,mDACpB,wBACEA,EAAE,4FACF/e,KAAK,cA0gDVwqB,GArgDe,SAAC,GAAD,IAAGz/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,OAAO+e,EAAE,wBACpB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,qBAAG/e,KAAK,OAAOqf,OAAO,OAAOC,YAAa,GAAIW,iBAAkB,GAC9D,wBAAMlB,EAAE,4DACR,wBAAMA,EAAE,4FA8/Cb0L,GAz/Ce,SAAC,GAAD,IAAG1/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,oCACvB,wBACE/e,KAAK,UACL+e,EAAE,iIAEJ,wBACE/e,KAAK,UACL+e,EAAE,mIA8+CP2L,GAz+Ce,SAAC,GAAD,IAAG3/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBACEA,EAAE,8DACF/e,KAAK,cAo+CV2qB,GA/9Ce,SAAC,GAAD,IAAG5/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBACEA,EAAE,oDACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,wIAEJ,wBACE/e,KAAK,UACL+e,EAAE,iFAEJ,wBACEA,EAAE,8FACF/e,KAAK,cA88CV4qB,GAz8Ce,SAAC,GAAD,IAAG7/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMg0B,EAAE,4BACJ,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBACEA,EAAE,+kBACF/e,KAAK,SAEP,wBACEA,KAAK,UACL+e,EAAE,0uBA+7CP8L,GA17Ce,SAAC,GAAD,IAAG9/B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,kCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBACEA,EAAE,+oBACF/e,KAAK,cAm7CV8qB,GA96Ce,SAAC,GAAD,IAAG//B,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,qBAAGiV,KAAK,QACF,wBAAM+e,EAAE,gJACR,wBAAMA,EAAE,8BAEV,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBACEA,EAAE,seACF/e,KAAK,WAq6CV+qB,GAh6Ce,SAAC,GAAD,IAAGhgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,qBAAGiV,KAAK,QACF,wBAAM+e,EAAE,6BACR,wBAAMA,EAAE,0BAEV,wBAAM/e,KAAK,UAAU+e,EAAE,4BA05C1BiM,GAt5Ce,SAAC,GAAD,IAAGjgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,qBAAGw6B,SAAS,UAAUjG,YAAY,OAC5B,wBAAMtf,KAAK,OAAO+e,EAAE,oBACpB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,+BAi5C5BkM,GA54Ce,SAAC,GAAD,IAAGlgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,4BACnB,wBACE/e,KAAK,UACL+e,EAAE,+FAEJ,wBACE/e,KAAK,UACL+e,EAAE,6GAEJ,wBACE/e,KAAK,UACL+e,EAAE,oHAEJ,wBACE/e,KAAK,UACL+e,EAAE,6JAEJ,wBACE/e,KAAK,OACL+e,EAAE,wPAEJ,wBACE/e,KAAK,UACL+e,EAAE,kEAEJ,wBACE/e,KAAK,UACL+e,EAAE,yDAEJ,wBACE/e,KAAK,OACL+e,EAAE,yDAEJ,wBACEA,EAAE,iGACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,mDACvB,wBAAM/e,KAAK,OAAO+e,EAAE,mDACpB,wBACEA,EAAE,4FACF/e,KAAK,cAi2CVkrB,GA51Ce,SAAC,GAAD,IAAGngC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBACEA,EAAE,uEACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,mCACvB,wBACE/e,KAAK,OACL+e,EAAE,sIAk1CPoM,GA70Ce,SAAC,GAAD,IAAGpgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAMA,EAAE,6BACR,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,qCAw0C1BqM,GAp0Ce,SAAC,GAAD,IAAGrgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,sCACvB,0BAAQ/e,KAAK,UAAUgf,GAAI,QAASC,GAAI,IAAK1sE,EAAG,KAChD,wBACEytD,KAAK,UACL+e,EAAE,0EAEJ,wBACE/e,KAAK,OACL+e,EAAE,yFAyzCPsM,GApzCe,SAAC,GAAD,IAAGtgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,0BAAQ/e,KAAK,UAAUgf,GAAI,QAASC,GAAI,QAAS1sE,EAAG,WAizCvD+4E,GA7yCe,SAAC,GAAD,IAAGvgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBACE/e,KAAK,UACL+e,EAAE,0UAEJ,wBACE/e,KAAK,UACL+e,EAAE,6HAkyCPwM,GA7xCe,SAAC,GAAD,IAAGxgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,OACL+e,EAAE,mLAwxCPyM,GAnxCe,SAAC,GAAD,IAAGzgC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,qBAAGw6B,SAAS,UAAUjG,YAAY,OAC5B,wBAAMtf,KAAK,OAAO+e,EAAE,oBACpB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,+BA8wC5B0M,GAzwCe,SAAC,GAAD,IAAG1gC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,2CAqwC1B2M,GAjwCe,SAAC,GAAD,IAAG3gC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,8BACpB,wBACE/e,KAAK,UACL+e,EAAE,0GAEJ,wBACEA,EAAE,sKACF/e,KAAK,YAEP,wBACEA,KAAK,OACL+e,EAAE,4hBAkvCP4M,GA7uCe,SAAC,GAAD,IAAG5gC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,gCAChB,wBAAM/e,KAAK,UAAU+e,EAAE,4BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,6BACpB,wBAAM/e,KAAK,UAAU+e,EAAE,gCAwuC1B6M,GApuCe,SAAC,GAAD,IAAG7gC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBACE/e,KAAK,UACL+e,EAAE,iRA6tCP8M,GAxtCe,SAAC,GAAD,IAAG9gC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,oYACR,wBAAMA,EAAE,+cACR,wBAAMA,EAAE,8CAktCb+M,GA7sCe,SAAC,GAAD,IAAG/gC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,UACL+e,EAAE,yDAEJ,wBACEA,EAAE,8jBACF/e,KAAK,WAmsCV+rB,GA9rCe,SAAC,GAAD,IAAGhhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,8CACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,+CACvB,wBAAM/e,KAAK,UAAU+e,EAAE,wCAwrC1BiN,GAprCe,SAAC,GAAD,IAAGjhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAMA,EAAE,8BACR,wBAAM/e,KAAK,UAAU+e,EAAE,qCA+qC1BkN,GA3qCe,SAAC,GAAD,IAAGlhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,4BACnB,wBACE/e,KAAK,UACL+e,EAAE,sEAsqCPmN,GAjqCe,SAAC,GAAD,IAAGnhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,wVACR,wBAAMA,EAAE,odA2pCboN,GAtpCe,SAAC,GAAD,IAAGphC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACE/e,KAAK,OACL+e,EAAE,qJAEJ,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,wDACR,wBAAMA,EAAE,wDAEV,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACEA,EAAE,qDACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,0BACvB,wBACEA,EAAE,2DACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,4EAEJ,wBACE/e,KAAK,UACL+e,EAAE,gHAEJ,wBACE/e,KAAK,UACL+e,EAAE,+HAEJ,wBACE/e,KAAK,UACL+e,EAAE,8EAmnCPqN,GA9mCe,SAAC,GAAD,IAAGrhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBACE/e,KAAK,OACL+e,EAAE,0IAEJ,wBACE/e,KAAK,UACL+e,EAAE,0IAEJ,wBACE/e,KAAK,OACL+e,EAAE,gKA+lCPsN,GA1lCe,SAAC,GAAD,IAAGthC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,OACL+e,EAAE,mGAEJ,wBACE/e,KAAK,UACL+e,EAAE,mGAilCPuN,GA5kCe,SAAC,GAAD,IAAGvhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBACE/e,KAAK,OACL+e,EAAE,0GAEJ,wBACE/e,KAAK,UACL+e,EAAE,0HAEJ,wBACE/e,KAAK,OACL+e,EAAE,oKAEJ,wBACE/e,KAAK,UACL+e,EAAE,qXAyjCPwN,GApjCe,SAAC,GAAD,IAAGxhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,gCAgjC1ByN,GA5iCe,SAAC,GAAD,IAAGzhC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,4BACnB,wBAAM/e,KAAK,OAAO+e,EAAE,yCACpB,wBACE/e,KAAK,UACL+e,EAAE,yTAEJ,wBACE/e,KAAK,UACL+e,EAAE,yKAEJ,wBACE/e,KAAK,UACL+e,EAAE,gIAEJ,wBACE/e,KAAK,UACL+e,EAAE,+FAEJ,wBACE/e,KAAK,UACL+e,EAAE,sUAshCP0N,GAjhCe,SAAC,GAAD,IAAG1hC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,yCACvB,wBACEA,EAAE,iKACF/e,KAAK,cA2gCV0sB,GAtgCe,SAAC,GAAD,IAAG3hC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,OACL+e,EAAE,+HAigCP4N,GA5/Be,SAAC,GAAD,IAAG5hC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAMA,EAAE,kDAAkD/e,KAAK,YAC/D,wBACEA,KAAK,UACL+e,EAAE,iIAq/BP6N,GAh/Be,SAAC,GAAD,IAAG7hC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAMA,EAAE,6BACR,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,mCACvB,wBACE/e,KAAK,UACL+e,EAAE,8IAu+BP8N,GAl+Be,SAAC,GAAD,IAAG9hC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACEA,EAAE,oDACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,mCACvB,wBAAMA,EAAE,8PA09BX+N,GAt9Be,SAAC,GAAD,IAAG/hC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBACEA,EAAE,oDACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,gDACvB,wBACE/e,KAAK,UACL+e,EAAE,gEAEJ,wBACE/e,KAAK,UACL+e,EAAE,4UAw8BPgO,GAn8Be,SAAC,GAAD,IAAGhiC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,yCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,mCACpB,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,mJACR,0BAAQC,GAAI,QAASC,GAAI,QAAS1sE,EAAG,UAEvC,wBACEytD,KAAK,UACL+e,EAAE,2GAEJ,wBACE/e,KAAK,UACL+e,EAAE,4HAEJ,wBACE/e,KAAK,UACL+e,EAAE,iGAg7BPiO,GA36Be,SAAC,GAAD,IAAGjiC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAMA,EAAE,8BACR,wBACEA,EAAE,oPACF/e,KAAK,cAo6BVitB,GA/5Be,SAAC,GAAD,IAAGliC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,OACL+e,EAAE,qFAEJ,wBAAMA,EAAE,oFACR,wBAAM/e,KAAK,OAAO+e,EAAE,kDACpB,wBAAMA,EAAE,oDAo5BXmO,GAh5Be,SAAC,GAAD,IAAGniC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBACE/e,KAAK,OACL+e,EAAE,qJAEJ,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,wDACR,wBAAMA,EAAE,wDAEV,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACEA,EAAE,qDACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,0BACvB,wBACEA,EAAE,2DACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,gJAEJ,wBACE/e,KAAK,OACL+e,EAAE,iHAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBAAM/e,KAAK,OAAO+e,EAAE,kCACpB,2BAAS/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAOC,GAAI,KAAMC,GAAI,OAC5D,2BAASnf,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAOC,GAAI,KAAMC,GAAI,OAC5D,wBACEnf,KAAK,OACL+e,EAAE,4IAEJ,2BAAS/e,KAAK,UAAUgf,GAAI,MAAOC,GAAI,MAAOC,GAAI,KAAMC,GAAI,SA22B/DgO,GAv2Be,SAAC,GAAD,IAAGpiC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,4BACnB,wBACE/e,KAAK,UACL+e,EAAE,8GAEJ,wBACE/e,KAAK,UACL+e,EAAE,6IAEJ,wBACE/e,KAAK,UACL+e,EAAE,6OAEJ,wBACE/e,KAAK,UACL+e,EAAE,oHAEJ,wBACE/e,KAAK,UACL+e,EAAE,2GAEJ,wBACE/e,KAAK,OACL+e,EAAE,wPAEJ,wBACE/e,KAAK,UACL+e,EAAE,kEAEJ,wBACE/e,KAAK,UACL+e,EAAE,yDAEJ,wBACE/e,KAAK,OACL+e,EAAE,yDAEJ,wBACEA,EAAE,iGACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,mDACvB,wBAAM/e,KAAK,OAAO+e,EAAE,mDACpB,wBACEA,EAAE,4FACF/e,KAAK,cAwzBVotB,GAnzBe,SAAC,GAAD,IAAGriC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,2CA+yB1BsO,GA3yBe,SAAC,GAAD,IAAGtiC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBAAM/e,KAAK,UAAU+e,EAAE,sBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,uBACpB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACE/e,KAAK,OACL+e,EAAE,sZAkyBPuO,GA7xBe,SAAC,GAAD,IAAGviC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACEA,EAAE,uEACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,iCACvB,wBACE/e,KAAK,OACL+e,EAAE,uIAmxBPwO,GA9wBe,SAAC,GAAD,IAAGxiC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,4BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBAAMA,EAAE,kDAAkD/e,KAAK,cA0wBlEwtB,GAtwBe,SAAC,GAAD,IAAGziC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,8BACvB,wBACEA,EAAE,+1BACF/e,KAAK,cA+vBVytB,GA1vBe,SAAC,GAAD,IAAG1iC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACEA,EAAE,8dACF/e,KAAK,SAEP,wBACE+e,EAAE,8LACF/e,KAAK,cAivBV0tB,GA5uBe,SAAC,GAAD,IAAG3iC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,UACL+e,EAAE,2DAEJ,wBAAMA,EAAE,mCACR,wBACE/e,KAAK,OACL+e,EAAE,6IAkuBP4O,GA7tBe,SAAC,GAAD,IAAG5iC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,qBAAG/e,KAAK,QACN,wBAAM+e,EAAE,uWACR,wBAAMA,EAAE,8fAEV,wBAAM/e,KAAK,UAAU+e,EAAE,0CACvB,wBACE/e,KAAK,OACL+e,EAAE,sGAEJ,wBACEA,EAAE,2FACF/e,KAAK,YAEP,wBACEA,KAAK,OACL+e,EAAE,sGAEJ,wBACEA,EAAE,0FACF/e,KAAK,YAEP,wBACE+e,EAAE,yYACF/e,KAAK,YAEP,qBAAGA,KAAK,WACN,wBAAM+e,EAAE,yCACR,0BAAQC,GAAI,IAAKC,GAAI,QAAS1sE,EAAG,QACjC,0BAAQysE,GAAI,IAAKC,GAAI,QAAS1sE,EAAG,WA8rBtCq7E,GAzrBe,SAAC,GAAD,IAAG7iC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,0BAAQ/e,KAAK,OAAOgf,GAAI,IAAKC,GAAI,QAAS1sE,EAAG,KAC7C,qBAAGytD,KAAK,WACN,wBAAM+e,EAAE,2IACR,wBAAMA,EAAE,6SAmrBb8O,GA9qBe,SAAC,GAAD,IAAG9iC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,OAAO+e,EAAE,6BACpB,wBACE/e,KAAK,UACL+e,EAAE,uGAwqBP+O,GAnqBe,SAAC,GAAD,IAAG/iC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBACE/e,KAAK,OACL+e,EAAE,mUA8pBPgP,GAzpBe,SAAC,GAAD,IAAGhjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,OACL+e,EAAE,yFAEJ,wBAAMA,EAAE,0DAkpBXiP,GA9oBe,SAAC,GAAD,IAAGjjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,gCACvB,wBACE/e,KAAK,UACL+e,EAAE,wNAEJ,wBACE/e,KAAK,OACL+e,EAAE,+IAEJ,wBACE/e,KAAK,UACL+e,EAAE,oEAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,UACL+e,EAAE,6JAEJ,wBACE/e,KAAK,UACL+e,EAAE,uQAunBPkP,GAlnBe,SAAC,GAAD,IAAGljC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBACE/e,KAAK,OACL+e,EAAE,+QAEJ,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,QAAS1sE,EAAG,SAChD,wBACEytD,KAAK,OACL+e,EAAE,8JAumBPmP,GAlmBe,SAAC,GAAD,IAAGnjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,0BACvB,wBACE/e,KAAK,UACL+e,EAAE,wDAEJ,wBAAMA,EAAE,kEA0lBXoP,GAtlBe,SAAC,GAAD,IAAGpjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,2BAmlB1BqP,GA/kBe,SAAC,GAAD,IAAGrjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,sBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,wBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,0BAAQ/e,KAAK,OAAOgf,GAAI,IAAKC,GAAI,MAAO1sE,EAAG,OAC3C,wBAAMwsE,EAAE,8lBAukBXsP,GAnkBe,SAAC,GAAD,IAAGtjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEA,EAAE,oIACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,wBACvB,wBACEA,EAAE,08BACF/e,KAAK,WAyjBVsuB,GApjBe,SAAC,GAAD,IAAGvjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEA,EAAE,oIACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,wBACvB,wBACEA,EAAE,08BACF/e,KAAK,WA0iBVuuB,GAriBe,SAAC,GAAD,IAAGxjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,oBAChB,wBACEA,EAAE,+DACF/e,KAAK,YAEP,wBAAMA,KAAK,OAAO+e,EAAE,sBACpB,wBACE/e,KAAK,UACL+e,EAAE,idA2hBPyP,GAthBe,SAAC,GAAD,IAAGzjC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,6BACpB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBACEA,EAAE,m6CACF/e,KAAK,WA6gBVyuB,GAxgBe,SAAC,GAAD,IAAG1jC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,OAAO+e,EAAE,iCACpB,wBACE/e,KAAK,UACL+e,EAAE,wUAEJ,wBACE/e,KAAK,UACL+e,EAAE,gUA8fP2P,GAzfe,SAAC,GAAD,IAAG3jC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBACEA,EAAE,6MACF/e,KAAK,cAmfV2uB,GA9ee,SAAC,GAAD,IAAG5jC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,mBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,mBACvB,wBAAM/e,KAAK,UAAU+e,EAAE,oBACvB,wBACE/e,KAAK,OACL+e,EAAE,mkBAueP6P,GAlee,SAAC,GAAD,IAAG7jC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,OACL+e,EAAE,4MAEJ,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,kEACR,wBAAMA,EAAE,yEAEV,wBAAM/e,KAAK,UAAU+e,EAAE,iCACvB,wBACEA,EAAE,sEACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,iCACvB,wBACEA,EAAE,yEACF/e,KAAK,YAEP,wBACEA,KAAK,UACL+e,EAAE,gHAEJ,wBACE/e,KAAK,UACL+e,EAAE,iHAEJ,wBAAM/e,KAAK,OAAO+e,EAAE,0CACpB,0BAAQ/e,KAAK,UAAUgf,GAAI,IAAKC,GAAI,QAAS1sE,EAAG,QAChD,wBACEwsE,EAAE,4LACF/e,KAAK,cAicV6uB,GA5be,SAAC,GAAD,IAAG9jC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,iBAAoBx2D,GAC9ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,sBAChB,wBACE/e,KAAK,UACL+e,EAAE,mHAEJ,wBACE/e,KAAK,UACL+e,EAAE,+HAEJ,wBACE/e,KAAK,UACL+e,EAAE,2HAEJ,wBACE/e,KAAK,UACL+e,EAAE,2SAEJ,qBAAG/e,KAAK,UAAUqf,OAAO,UAAUY,iBAAkB,IACnD,wBAAMlB,EAAE,8IACR,wBAAMA,EAAE,8fAEV,wBACE/e,KAAK,OACLqf,OAAO,UACPY,iBAAkB,GAClBlB,EAAE,gFAEJ,wBACEA,EAAE,wGACF/e,KAAK,YAEP,wBAAMA,KAAK,UAAU+e,EAAE,mCACvB,wBACE/e,KAAK,UACL+e,EAAE,6FAwZP+P,GAnZe,SAAC,GAAD,IAAG/jC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,0CACnB,wBACE/e,KAAK,UACL+e,EAAE,+HA8YPgQ,GAzYe,SAAC,GAAD,IAAGhkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMg0B,EAAE,6BACJ,wBAAM/e,KAAK,UAAU+e,EAAE,oCACvB,wBAAM/e,KAAK,UAAU+e,EAAE,sCACvB,wBAAMA,EAAE,yLACR,qBAAG/e,KAAK,WACN,wBAAM+e,EAAE,gGACR,wBAAMA,EAAE,uYAiYbiQ,GA5Xe,SAAC,GAAD,IAAGjkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,eAAkBx2D,GAC5ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,oBACnB,wBAAM/e,KAAK,UAAU+e,EAAE,qBACvB,wBAAM/e,KAAK,OAAO+e,EAAE,uBACpB,wBAAM/e,KAAK,OAAOqf,OAAO,OAAOC,YAAa,EAAGP,EAAE,qBAClD,wBACE/e,KAAK,OACL+e,EAAE,2KAoXPkQ,GA/We,SAAC,GAAD,IAAGlkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBACEA,EAAE,ukBACF/e,KAAK,WAyWVkvB,GApWe,SAAC,GAAD,IAAGnkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,kBAAqBx2D,GAC/ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,uBACnB,wBACEA,EAAE,2pBACF/e,KAAK,SAEP,wBACEA,KAAK,UACL+e,EAAE,8NA2VPoQ,GAtVe,SAAC,GAAD,IAAGpkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAM/e,KAAK,UAAU+e,EAAE,6BACvB,wBAAMA,EAAE,gCAkVXqQ,GA9Ue,SAAC,GAAD,IAAGrkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,aAAgBx2D,GAC1ByiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,kBAChB,wBACEM,OAAO,UACPC,YAAa,IACbtf,KAAK,UACL+e,EAAE,k0BAEJ,wBACE/e,KAAK,UACL+e,EAAE,wGAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,yBACvB,wBACE/e,KAAK,OACL+e,EAAE,6IAEJ,0BAAQ/e,KAAK,UAAUgf,GAAI,KAAMC,GAAI,KAAM1sE,EAAG,IAC9C,0BAAQytD,KAAK,UAAUgf,GAAI,KAAMC,GAAI,KAAM1sE,EAAG,MA2TjD88E,GAvTe,SAAC,GAAD,IAAGtkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,OAAO+e,EAAE,6BAChB,wBAAMA,EAAE,uCACR,wBACE/e,KAAK,UACL+e,EAAE,iEAEJ,wBACE/e,KAAK,UACL+e,EAAE,kJAEJ,wBACE/e,KAAK,UACL+e,EAAE,0DAEJ,wBACE/e,KAAK,UACL+e,EAAE,0DAqSPuQ,GAhSe,SAAC,GAAD,IAAGvkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMiV,KAAK,UAAU+e,EAAE,6BACnB,wBACE/e,KAAK,UACL+e,EAAE,0OAEJ,wBAAM/e,KAAK,UAAU+e,EAAE,6CACvB,wBAAM/e,KAAK,UAAU+e,EAAE,0CACvB,wBAAMA,EAAE,+CAuRXwQ,GAnRe,SAAC,GAAD,IAAGxkC,EAAH,EAAGA,MAAUziC,EAAb,uBACd,0BAAKw2D,QAAQ,wBAA2Bx2D,GACrCyiC,GAAS,6BAAQA,GACtB,wBAAMg0B,EAAE,4BACJ,wBAAMA,EAAE,mDAAmD/e,KAAK,YAChE,wBAAMA,KAAK,UAAU+e,EAAE,4BACvB,wBAAMA,EAAE,kDAAkD/e,KAAK,YAC/D,wBAAMA,KAAK,UAAU+e,EAAE,6BACvB,wBAAM/e,KAAK,OAAO+e,EAAE,uDACpB,wBAAMA,EAAE,6EACR,wBACE/e,KAAK,UACL+e,EAAE,oIAEJ,wBACE/e,KAAK,UACL+e,EAAE,uUC9oIO,SAASyQ,KACtB,IAA4ClmC,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAArCnI,EAAMgnC,EAAA,GAAEmmC,EAASnmC,EAAA,GACwBoB,EAAA5sB,GAAlBrT,EAAAA,SAAe,IAAG,GAAzCilE,EAAOhlC,EAAA,GAAEilC,EAAUjlC,EAAA,GACpBlW,EAAWJ,KACXvT,EAAW2R,KACVvkB,EAAQ+5B,KAAR/5B,KAEPxD,EAAAA,WAAgB,WACd,IAAM0B,EAAO0U,EAASD,SAASj2B,MAAM,KAAK,GAG1C,GAAKwhB,GAASxnB,OAAO6C,KAAK2I,IAAWkN,SAAS8O,GAA9C,CAKIJ,GAAO9c,YAAckd,IACvB8B,EAAK/G,eAAeiF,GACpBJ,GAAOE,KAAK,CAACE,KAAAA,KAGf,IAAMyjE,EAAW7jE,GAAO9c,UACpBqT,IAAW6J,IACbsjE,EAAU1jE,GAAO9c,WACjBnG,QAAQN,IAAI,wBAAD2B,OAAyB02B,EAASD,SAAQ,WAAAz2B,OAAUgiB,EAAI,eAAAhiB,OAAcylF,EAAQ,cAAAzlF,OAAa4hB,GAAO9c,gBAE9G,CAAC4xB,EAAU5S,EAAM3L,IAEpBmI,EAAAA,WAAgB,WACdklE,EAAW,CACT,CAACxjE,KAAM,KAAMa,KAAM,2BAAQ6iE,KAAMC,GAAAA,IACjC,CAAC3jE,KAAM,KAAMa,KAAM,UAAW6iE,KAAMC,GAAAA,QAErC,IAEH,IAAMC,EAAiBtlE,EAAAA,aAAkB,SAAC0B,GACxC,IAAM6jE,EAASnvD,EAASD,SAASz0B,QAAQ,GAADhC,OAAI4hB,GAAO9c,WAAakd,GAEhE,OADArjB,QAAQN,IAAI,sBAAD2B,OAAuBgiB,EAAI,cAAAhiB,OAAa6lF,EAAM,aAAA7lF,OAAY02B,EAASL,SACvEgU,EAAS,CAAC5T,SAAUovD,EAAQxvD,OAAQK,EAASL,WACnD,CAACK,EAAU2T,IAEd,OACEgT,EAAAA,GAAAA,MAACyzB,GAAQ,CAAA/pC,SAAA,EACP1B,EAAAA,GAAAA,KAACyrC,GAAAA,OAAe,CAACn1B,QAAQ,OAAM5U,SAC5Bw+C,EAAQj9E,KAAI,SAAChE,EAAGoB,GACf,OAAIpB,EAAE0d,OAAS7J,GAAektB,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,GAAM5a,IAEjD23C,EAAAA,GAAAA,MAAC/8B,EAAAA,SAAc,CAAAymB,SAAA,EACb1B,EAAAA,GAAAA,KAAC/gC,EAAEohF,KAAI,CAACz9B,MAAO,KAAM,UAAQ5iB,EAAAA,GAAAA,KAACstB,GAAAA,KAAW,CAAA5rB,SAAEziC,EAAEue,SAD1Bnd,SAM3B2/B,EAAAA,GAAAA,KAACyrC,GAAAA,KAAa,CAAA/pC,SACXw+C,EAAQj9E,KAAI,SAAChE,EAAGoB,GACf,OACE23C,EAAAA,GAAAA,MAACyzB,GAAAA,KAAa,CAEZxjC,QAAS,kBAAMs4C,EAAethF,EAAE0d,OAAM+kB,SAAA,EAEtC1B,EAAAA,GAAAA,KAAC/gC,EAAEohF,KAAI,CAACz9B,MAAO,KAAM,UAAQ5iB,EAAAA,GAAAA,KAACstB,GAAAA,KAAW,CAAA5rB,SAAEziC,EAAEue,SAHxCnd,WAYnB,SAASogF,KACP,IAAgE1/B,EAAAzyB,GAAhCrT,EAAAA,SAAesB,GAAO9c,WAAU,GAAzD2C,EAAQ2+C,EAAA,GAAE2/B,EAAW3/B,EAAA,GAEtBvhB,EAAMvkB,EAAAA,OAAa,CACvB7Y,SAAUma,GAAO9c,YAmBnB,OAjBAwb,EAAAA,WAAgB,WACVukB,EAAI//B,QAAQ2C,WAAaA,IAAUo9B,EAAI//B,QAAQ2C,SAAWA,KAC7D,CAACA,IAEJ6Y,EAAAA,WAAgB,WACd,IAAM0lE,EAAkB,WAClBnhD,EAAI//B,QAAQ2C,WAAama,GAAO9c,YAClCnG,QAAQN,IAAI,0CAAD2B,OAA2C6kC,EAAI//B,QAAQ2C,SAAQ,cAAAzH,OAAa4hB,GAAO9c,YAC9FihF,EAAYnkE,GAAO9c,aAIvBkhF,IACA,IAAMC,EAAQC,aAAY,kBAAMF,MAAmB,KACnD,OAAO,kBAAMG,cAAcF,MAC1B,IAEIx+E,EC5FM,SAAS2+E,GAAS1gE,GAAsC,IAApCi4B,EAAWj4B,EAAXi4B,YAAal8B,EAAKiE,EAALjE,MAAO4kE,EAAY3gE,EAAZ2gE,aACFlnC,EAAAxrB,GAAjBrT,EAAAA,SAAe,GAAE,GAA5CgmE,EAASnnC,EAAA,GAAEonC,EAAYpnC,EAAA,GACYoB,EAAA5sB,GAAlBrT,EAAAA,SAAe,IAAG,GAAnCkmE,EAAIjmC,EAAA,GAAEkmC,EAAOlmC,EAAA,GACd7pB,EAAW2R,KACV5mC,EAAKo8C,KAALp8C,EAyBP,OAvBA6e,EAAAA,WAAgB,WACd,IAAKq9B,EAAa,OAAO8oC,EAAQ,IAEjC,IAAKhlE,EACH,OAAOglE,EAAQ,CAAC,CAAC/8C,GAAG,iBAAkB7mB,KAAMphB,EAAE,aAAc0jC,UAAW,gBAGzE,IAAMuhD,EAAE,GAAA1mF,OAAM02B,EAASD,UAAQz2B,OAAG02B,EAASL,QAC3CowD,EAAQ,CACN,CAAC9+B,SAAU,IAAKje,GAAI,oBAAqB7mB,KAAMphB,EAAE,iBACjD,CAACkmD,SAAU,IAAKje,GAAI,oBAAqB7mB,KAAMphB,EAAE,eACjD,CAACkmD,SAAU,IAAKje,GAAI,sBAAuB7mB,KAAMphB,EAAE,kBACnD,CAACkmD,SAAU,IAAKje,GAAI,mBAAoB7mB,KAAMphB,EAAE,gBAChD,CAACkmD,SAAU,IAAKje,GAAI,kBAAmB7mB,KAAMphB,EAAE,gBAC/C6G,KAAI,SAAAhE,GAKJ,OAJIoiF,EAAG3kF,QAAQuC,EAAEolC,KAAO,IACtBplC,EAAE6gC,UAAY,aACdohD,EAAajiF,EAAEqjD,WAEVrjD,QAER,CAACq5C,EAAal8B,EAAOiV,EAAUj1B,KAE1B4jC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACN1B,EAAAA,GAAAA,KAACstB,GAAM,CAAA5rB,UACLsW,EAAAA,GAAAA,MAACzY,GAAS,CAACG,OAAK,EAACI,UAAW,CAACwhD,MAAM,QAAQ5/C,SAAA,EACzC1B,EAAAA,GAAAA,KAACstB,GAAAA,MAAY,CAAA5rB,UACX1B,EAAAA,GAAAA,KAAA,OACE1iB,IAAKikE,GACL3+B,MAAM,KACND,OAAO,KACP7iB,UAAU,2BACV0hD,IAAI,iBAGRxhD,EAAAA,GAAAA,KAACqvB,GAAG,CAACvvB,UAAU,UAAUwW,QAAQ,QAAQ0Y,UAAWiyB,EAAUv/C,SAC3Dy/C,EAAKl+E,KAAI,SAAChE,EAAGoB,GACZ,OACE2/B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CACPzvB,GAAIoI,GACJsa,SAAUrjD,EAAEqjD,SACZje,GAAIplC,EAAEolC,GAENvE,UAAW7gC,EAAE6gC,UAAU4B,SAEtBziC,EAAEue,MAHEnd,SAQb2/B,EAAAA,GAAAA,KAACstB,GAAAA,SAAe,CAACxtB,UAAU,sBAAqB4B,UAC9C1B,EAAAA,GAAAA,KAACggD,GAAc,CAACgB,aAAcA,aCxDxC,IAAYS,GAAWC,EAAQ,KAAvBC,GAEO,SAASC,GAAKvhE,GAAY,IAAVwhE,EAAMxhE,EAANwhE,OAC7B,OACE7hD,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAAC8hD,GAAS,CAACD,OAAQA,MAKzB,SAASC,GAASv/D,GAAY,IAAVs/D,EAAMt/D,EAANs/D,OAC8B/nC,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAzCuY,EAAQsmB,EAAA,GAAEgH,EAAWhH,EAAA,GAC4BoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAAjD8mE,EAAY7mC,EAAA,GAAE8mC,EAAe9mC,EAAA,GACe6F,EAAAzyB,GAArBrT,EAAAA,UAAe,GAAM,GAA5C86C,EAAOhV,EAAA,GAAEkhC,EAAUlhC,EAAA,GACpB/b,EAAWJ,KACXyW,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAGP6e,EAAAA,WAAgB,WACd6lC,EAAY2gC,KAAS9kF,QAAQ,KAAM,IAAIlF,OAAO,OAC7C,IAGH,IAAM6pD,EAAcrmC,EAAAA,aAAkB,SAAChc,GACrCA,EAAE0pC,iBAEEo5C,IACJC,GAAgB,GAEhBlkD,GAAAA,KAAW,0BAA2B,CACpCtK,SAAAA,IACCpO,MAAK,SAAA1pB,GACN,IAAM6B,EAAO7B,EAAI6B,KAAKA,KACtBjE,QAAQN,IAAI,sBAAD2B,OAAuBkiB,GAAMC,KAAKvf,KAC7Cue,GAAWve,GACXskF,GAAUA,IACV78C,EAAS,wBACR3f,MAAMg2B,MACR,CAACA,EAAarW,EAAUxR,EAAUuuD,EAAcF,IASnD,OAPA5mE,EAAAA,WAAgB,WACd6iB,GAAAA,IAAU,4BAA4B1Y,MAAK,SAAA1pB,GAAQ,IAADwmF,EAAAC,EAChDF,IAAoB,QAATC,EAACxmF,EAAI6B,YAAI,IAAA2kF,GAAM,QAANC,EAARD,EAAU3kF,YAAI,IAAA4kF,GAAdA,EAAgBC,YAC5B9oF,QAAQN,IAAI,aAAD2B,OAAcgW,KAAKsL,UAAUvgB,EAAI6B,WAC3C8nB,MAAMg2B,KACR,CAACA,KAGFrb,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACE1B,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACdsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,oBAAmB7a,SAAA,EACxD1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,0BACf4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAC/mD,KAAMgpF,EAAe,WAAa,OAAQjgC,YAAY,WAAWp8C,aAAc8tB,EAC3FuuB,SAAU,SAAC9iD,GAAC,OAAK6hD,EAAY7hD,EAAEtK,OAAO0B,WACxC2hD,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAChgB,UAAU,aAAY4B,SAAA,CAAC,KAC7BtlC,EAAE,4BAGT4jC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,UAAW2oB,EAASj2B,UAAWiiD,GAAgB,WAAY95C,QAAS,SAAChpC,GAAC,OAAKqiD,EAAYriD,IAAGyiC,SAChHtlC,EAAf2lF,EAAiB,kBAAuB,uBAClC,QACRA,IAAgB/hD,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAUrkC,MAAO,CAACgwC,cAAe,wDCzE1F9D,GAAe,CAAC,MAAO,KAAM,KAAM,KAAM,KAAM,MAC/CkkC,GAAmBpnE,EAAAA,YAAiB,SAAAoF,EAMvCmf,GAAQ,IALTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UAASH,EAAAtf,EAETuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EAClB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFuiD,EAAoBpjD,GAAmBO,EAAU,OACjD8iD,EAAa,GAAH5nF,OAAM2nF,EAAiB,SACjCl5D,EAAU,GAiBhB,OAhBA+0B,GAAaxlD,SAAQ,SAAA4lD,GACnB,IAEIikC,EAFEh4C,EAAY51C,EAAM2pD,UACjB3pD,EAAM2pD,GAKTikC,EAFa,MAAbh4C,GAA0C,kBAAdA,EAG1BA,EADFg4C,KAGKh4C,EAGT,IAAMmU,EAAqB,OAAbJ,EAAoB,IAAH5jD,OAAO4jD,GAAa,GACvC,MAARikC,GAAcp5D,EAAQ9wB,KAAK,GAADqC,OAAI4nF,GAAU5nF,OAAGgkD,EAAK,KAAAhkD,OAAI6nF,QAEtCxiD,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,KAAAA,WAAW,EAAD,CAACH,EAAWwiD,GAAiB3nF,OAAKyuB,UAG3Di5D,GAAIniD,YAAc,MAClB,qDClCMuiD,GAAuBxnE,EAAAA,YAC7B,SAAAoF,EAMGmf,GAAQ,IALTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAwW,EAAOj2B,EAAPi2B,QAAO3W,EAAAtf,EACPuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EAClB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,YAC5C,OAAoBO,EAAAA,GAAAA,KAAKH,EAASrnC,GAAA,CAChCgnC,IAAKA,EACLM,UAAWG,IAAAA,CAAWqW,EAAU,GAAH37C,OAAMf,EAAM,KAAAe,OAAI27C,GAAY18C,EAAQkmC,IAC9DlrC,OAGP6tF,GAAQviD,YAAc,UACtB,2CCdMwiD,GAA0BznE,EAAAA,YAAiB,SAAAoF,EAM9Cmf,GAAQ,IALTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UAASH,EAAAtf,EAETuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EAClB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,eACtCwvC,GAAep6B,EAAAA,EAAAA,UAAQ,iBAAO,CAClC0b,mBAAoB32D,KAClB,CAACA,IACL,OAAoBomC,EAAAA,GAAAA,KAAK8wB,GAAkB7xB,SAAU,CACnD5oC,MAAO44E,EACPvtC,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CACnCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWlmC,WAIvC8oF,GAAWxiD,YAAc,aACzB,kFCnBMyiD,GAAgBzrC,GAAiB,MACjC0rC,GAAgB1rC,GAAiB,MACjC2rC,GAAWlsC,GAAmB,aAC9BmsC,GAAYnsC,GAAmB,aAAc,CACjD9W,UAAW8iD,KAEPI,GAAepsC,GAAmB,gBAAiB,CACvD9W,UAAW+iD,KAEPI,GAAWrsC,GAAmB,YAAa,CAC/C9W,UAAW,MAEPojD,GAAWtsC,GAAmB,YAAa,CAC/C9W,UAAW,MAEPqjD,GAAavsC,GAAmB,eAChCwsC,GAAiBxsC,GAAmB,oBAIpCysC,GAAoBnoE,EAAAA,YAAiB,SAAAoF,EAWxCmf,GAAQ,IAVTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA2tB,EAAEptC,EAAFotC,GACAjwC,EAAI6C,EAAJ7C,KACA6lE,EAAMhjE,EAANgjE,OACAvlE,EAAIuC,EAAJvC,KACA4jB,EAAQrhB,EAARqhB,SAAQ/B,EAAAtf,EAERuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EAClB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,QAC5C,OAAoBO,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQ6zD,GAAM,MAAJ9yD,OAAU8yD,GAAMjwC,GAAQ,QAAJ7iB,OAAY6iB,GAAQ6lE,GAAU,UAAJ1oF,OAAc0oF,IACvG3hD,SAAU5jB,GAAoBkiB,EAAAA,GAAAA,KAAK6iD,GAAU,CAC3CnhD,SAAUA,IACPA,QAGT0hD,GAAKljD,YAAc,OACnBkjD,GAAKjjD,aA1BgB,CACnBriB,MAAM,GA0BR,OAAe3oB,OAAOguB,OAAOigE,GAAM,CACjCE,IAAKb,GACLv1B,MAAO41B,GACPS,SAAUR,GACVh2B,KAAM81B,GACN76C,KAAMg7C,GACN5iC,KAAM6iC,GACNh2B,OAAQy1B,GACR7nC,OAAQqoC,GACRM,WAAYL,0BCrDDM,GAAgBxoE,EAAAA,gBCOd,SAASyoE,KACtB,OACE1jD,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAAC2jD,GAAc,MAKrB,SAASA,KACP,IAA4C7pC,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAArCgL,EAAM6zB,EAAA,GAAE8pC,EAAS9pC,EAAA,GACjB19C,EAAKo8C,KAALp8C,EACD+uB,EAAMlQ,EAAAA,WAAiBwoE,IAAe,GAwB5C,OAtBAxoE,EAAAA,WAAgB,WACd,IAAM4oE,EAAoB,WACxB/lD,GAAAA,KAAW,4BAA6B,GACrC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAMuqB,EAASvqB,EAAI6B,KAAKA,KAGxBqmF,EAAU39D,GAEV3sB,QAAQN,IAAI,GAAD2B,OAAImpF,KAAS71E,SAAQ,+BAAAtT,OAA8BgW,KAAKsL,UAAUgK,QAC5EZ,OAAM,SAAApmB,GACP3F,QAAQN,IAAI,iCAAkCiG,OAIlD4kF,IACA,IAAMjD,EAAQC,aAAY,kBAAMgD,MAAqB,KACrD,OAAO,kBAAM/C,cAAcF,MAC1B,CAACgD,EAAWz4D,KAGb6U,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACE1B,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACd1B,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,IAAE,EAACC,GAAI,EAAEtiD,UACZsW,EAAAA,GAAAA,MAACorC,GAAI,CAACnxE,MAAO,CAAE2wC,MAAO,QAASqhC,UAAW,QAASviD,SAAA,EACjD1B,EAAAA,GAAAA,KAACojD,GAAAA,OAAW,CAAA1hD,SAAEtlC,EAAE,gBAChB4jC,EAAAA,GAAAA,KAACojD,GAAAA,KAAS,CAAA1hD,UACRsW,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAACxjD,GAAIwe,GAAI1c,SAAA,CAChBtlC,EAAE,gBAAgB,KAAS,OAAN6pB,QAAM,IAANA,OAAM,EAANA,EAAQ8R,QAAQ,KAACiI,EAAAA,GAAAA,KAAA,SACtC5jC,EAAE,eAAe,KAAS,OAAN6pB,QAAM,IAANA,OAAM,EAANA,EAAQ8R,SAAQiI,EAAAA,GAAAA,KAAA,SACpC5jC,EAAE,eAAe,MAAE4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,oBAAqBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAQ,OAANzb,QAAM,IAANA,OAAM,EAANA,EAAQ8R,0BChChH,OA3BA,SAAuB1X,GAKpB,IAJDqhB,EAAQrhB,EAARqhB,SACIwiD,EAAM7jE,EAAV0uB,GACAE,EAAY5uB,EAAZ4uB,aACAD,EAAa3uB,EAAb2uB,cAEMm1C,GAAgBx5C,EAAAA,EAAAA,QAAOu5C,GAI7B,OAHA33C,EAAAA,EAAAA,YAAU,WACJ23C,IAAQC,EAAc1kF,SAAU,KACnC,CAACykF,IACAA,EAAexiD,EAMfsN,IAICm1C,EAAc1kF,SAAWwvC,EAHrB,KAOFvN,GC1BH3B,GAAY,CAAC,SAAU,WAAY,eAAgB,aAAc,iBACjEif,GAAa,CAAC,YAAa,kBAAmB,mBAC9ColC,GAAa,CAAC,MAEpB,SAAS74C,GAA8B7yC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAQnS,SAAS0vF,GAAYhkE,GAC1B,IACE0wB,EAKE1wB,EALF0wB,OACAuR,EAIEjiC,EAJFiiC,SACArT,EAGE5uB,EAHF4uB,aACAqI,EAEEj3B,EAFFi3B,WACAtI,EACE3uB,EADF2uB,cAEEp6C,EAAQ22C,GAA8BlrB,EAAM0f,IAE1Cj4B,GAAUs3B,EAAAA,EAAAA,YAAWqwB,IAC3B,IAAK3nD,EAAS,MAAO,CAAClT,EAAO,CAC3B0tD,SAAAA,EACAnZ,SAAU4H,EACV9B,aAAAA,EACAqI,WAAAA,EACAtI,cAAAA,IAGF,IACEggB,EAGElnD,EAHFknD,UACAD,EAEEjnD,EAFFinD,gBACAF,EACE/mD,EADF+mD,gBAEI/1C,EAAOyyB,GAA8BzjC,EAASk3C,IAE9C3pD,EAAMgtD,GAAaC,GACzB,MAAO,CAACntD,OAAOguB,OAAO,GAAIvuB,EAAO,CAC/Bk0B,GAAIimC,EAAgBzM,GACpB,kBAAmBuM,EAAgBvM,KACjC,CACFA,SAAAA,EACAnZ,SAAoB,MAAV4H,GAAyB,MAAP17C,EAAcgtD,GAAa2M,KAAe35D,EAAM07C,EAC5EuG,WAAYA,GAAcx+B,EAAKw+B,WAC/BrI,aAA8B,MAAhBA,EAAuBA,EAAen2B,EAAKm2B,aACzDD,cAAgC,MAAjBA,EAAwBA,EAAgBl2B,EAAKk2B,gBAGhE,IAAMs1C,GAAwBrpE,EAAAA,YAC9B,SAACsH,EAAOid,GACN,IAAAsX,EAEIv0B,EADFqd,GAAIC,OAAS,IAAAiX,EAAG,MAAKA,EAeAytC,EAAAj2D,GAAlB+1D,GAbO94C,GAA8BhpB,EAAO6hE,KAa1B,GAXhBI,EAAaD,EAAA,GAAAE,EAAAF,EAAA,GAClBp7C,EAAQs7C,EAARt7C,SACAqH,EAAOi0C,EAAPj0C,QACAC,EAAUg0C,EAAVh0C,WACAF,EAASk0C,EAATl0C,UACAI,EAAM8zC,EAAN9zC,OACAC,EAAS6zC,EAAT7zC,UACAC,EAAQ4zC,EAAR5zC,SACA5B,EAAYw1C,EAAZx1C,aACAD,EAAay1C,EAAbz1C,cAAa01C,EAAAD,EACbntC,WAAY9I,OAAU,IAAAk2C,EAAGC,GAAcD,EAIzC,OAAoB1kD,EAAAA,GAAAA,KAAKyvB,GAAAA,SAAqB,CAC5Cp5D,MAAO,KACPqrC,UAAuB1B,EAAAA,GAAAA,KAAKmuB,GAAAA,SAA4B,CACtD93D,MAAO,KACPqrC,UAAuB1B,EAAAA,GAAAA,KAAKwO,EAAY,CACtCO,GAAI5F,EACJqH,QAASA,EACTC,WAAYA,EACZF,UAAWA,EACXI,OAAQA,EACRC,UAAWA,EACXC,SAAUA,EACV5B,aAAcA,EACdD,cAAeA,EACftN,UAAuB1B,EAAAA,GAAAA,KAAKH,EAAW1qC,OAAOguB,OAAO,GAAIqhE,EAAe,CACtEhlD,IAAKA,EACLmO,KAAM,WACNi3C,QAASz7C,EACT,eAAgBA,cAM1Bm7C,GAASpkD,YAAc,WACvB,ICvFM2kD,GAAO,SAAAjwF,GACX,IACMkwF,EASFlwF,EATFk0B,GACiBi8D,EAQfnwF,EARFowF,gBACUC,EAORrwF,EAPFi5D,SACWq3B,EAMTtwF,EANFo6D,UACAm2B,EAKEvwF,EALFuwF,iBACA7tC,EAIE1iD,EAJF0iD,WACArI,EAGEr6C,EAHFq6C,aACAD,EAEEp6C,EAFFo6C,cACAtN,EACE9sC,EADF8sC,SAEgGsqC,EAAA19C,GAApEic,GAAoB26C,EAAgBC,EAAkBF,GAAc,GAA3Fj2B,EAASgd,EAAA,GAAEne,EAAQme,EAAA,GACpBljD,EAAK4hD,GAAaoa,GAClBE,GAAkBnwC,EAAAA,EAAAA,UAAQ,kBAAMkwC,GAA0B,SAAC1vF,EAAK0D,GAAI,OAAK+vB,EAAK,GAAHnuB,OAAMmuB,EAAE,KAAAnuB,OAAI5B,EAAI,KAAA4B,OAAItF,GAAQ,QAAO,CAACyzB,EAAIi8D,IACnHv1B,GAAa3a,EAAAA,EAAAA,UAAQ,iBAAO,CAChCgZ,SAAAA,EACAmB,UAAAA,EACA1X,WAAAA,EACArI,aAAcA,IAAgB,EAC9BD,cAAeA,IAAiB,EAChC+f,gBAAiB,SAAA15D,GAAG,OAAI2vF,EAAgB3vF,EAAK,YAC7Cw5D,gBAAiB,SAAAx5D,GAAG,OAAI2vF,EAAgB3vF,EAAK,WAC3C,CAACw4D,EAAUmB,EAAW1X,EAAYrI,EAAcD,EAAeg2C,IACnE,OAAoBhlD,EAAAA,GAAAA,KAAKyvB,GAAAA,SAAqB,CAC5Cp5D,MAAOm5D,EACP9tB,UAAuB1B,EAAAA,GAAAA,KAAKmuB,GAAAA,SAA4B,CACtD93D,MAAOw3D,GAAY,KACnBnsB,SAAUA,OAKhBmjD,GAAKO,MDsDL,GCrDA,UC1CA,GAAezuC,GAAmB,eCAnB,SAAS0uC,GAA0B/tC,GAChD,MAA0B,mBAAfA,EACFA,EAAarB,QAAOv8C,EAGtB49C,yDCGHguC,GAAuBrqE,EAAAA,YAAiB,SAAAoF,EAI3Cmf,GAAQ,IAHTC,EAAQpf,EAARof,SACA6X,EAAUj3B,EAAVi3B,WAqBEitC,EAAAj2D,GAFG+1D,GAAW7rF,GAAAA,GAAC,GAlBTmmC,GAAAte,EAAA0f,KAkBmB,IACzBuX,WAAY+tC,GAA0B/tC,MACtC,GAAAmtC,EAAAF,EAAA,GAjBAzkD,EAAS2kD,EAAT3kD,UAASylD,EAAAd,EAET7kD,GAAIC,OAAS,IAAA0lD,EAAG,MAAKA,EAClBzsE,EAAI6lB,GAAA8lD,EAAAzlC,IAAAwmC,EAAAjB,EAAA,GAEPp7C,EAAQq8C,EAARr8C,SACAqH,EAAOg1C,EAAPh1C,QACAC,EAAU+0C,EAAV/0C,WACAF,EAASi1C,EAATj1C,UACAI,EAAM60C,EAAN70C,OACAC,EAAS40C,EAAT50C,UACAC,EAAQ20C,EAAR30C,SACA5B,EAAYu2C,EAAZv2C,aACAD,EAAaw2C,EAAbx2C,cAAay2C,EAAAD,EACbluC,WAAY9I,OAAU,IAAAi3C,EAAGd,GAAcc,EAInC7rF,EAASslC,GAAmBO,EAAU,YAG5C,OAAoBO,EAAAA,GAAAA,KAAKyvB,GAAAA,SAAqB,CAC5Cp5D,MAAO,KACPqrC,UAAuB1B,EAAAA,GAAAA,KAAKmuB,GAAAA,SAA4B,CACtD93D,MAAO,KACPqrC,UAAuB1B,EAAAA,GAAAA,KAAKwO,EAAY,CACtCO,GAAI5F,EACJqH,QAASA,EACTC,WAAYA,EACZF,UAAWA,EACXI,OAAQA,EACRC,UAAWA,EACXC,SAAUA,EACV5B,aAAcA,EACdD,cAAeA,EACftN,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAOsgB,GAAI,IAC9C0mB,IAAKA,EACLM,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQuvC,GAAY,sBAM/Dm8C,GAAQplD,YAAc,UACtB,kGC/BA,SAASwlD,GAAU9oC,GACjB,IAAA+oC,EAMI/oC,EAAMhoD,MALR2mD,EAAKoqC,EAALpqC,MACA+G,EAAQqjC,EAARrjC,SACAlV,EAAQu4C,EAARv4C,SACAw4C,EAAYD,EAAZC,aACA98D,EAAE68D,EAAF78D,GAGF,OAAa,MAATyyB,EACK,MAGWvb,EAAAA,GAAAA,KAAKkvB,GAAS,CAChCtvB,GAAI,KACJ+N,KAAM,eACNjM,UAAuB1B,EAAAA,GAAAA,KAAK+I,GAAS,CACnCnJ,GAAI,SACJ7mC,KAAM,SACNupD,SAAUA,EACVlV,SAAUA,EACVtkB,GAAIA,EACJgX,UAAW8lD,EACXlkD,SAAU6Z,MAKhB,IAAMspC,GAAO,SAAAjwF,GACX,IAAA8iD,EASIxM,GAAgBt2C,EAAO,CACzBo6D,UAAW,aATXlmC,EAAE4uB,EAAF5uB,GACA+kC,EAAQnW,EAARmW,SACAvW,EAAUI,EAAVJ,WACArI,EAAYyI,EAAZzI,aACAD,EAAa0I,EAAb1I,cACAtN,EAAQgW,EAARhW,SAAQmkD,EAAAnuC,EACRsX,UAAAA,OAAS,IAAA62B,EA9Cb,SAA6BnkD,GAC3B,IAAIyjD,EAMJ,OALAxsF,GAAQ+oC,GAAU,SAAAkb,GACQ,MAApBuoC,IACFA,EAAmBvoC,EAAMhoD,MAAM0tD,aAG5B6iC,EAuCOW,CAAoBpkD,GAASmkD,EACtC93B,EAAepvB,GAAA+Y,EAAA3X,IAIpB,OAAoBiY,EAAAA,GAAAA,MAAM+tC,GAAU,CAClCj9D,GAAIA,EACJkmC,UAAWA,EACXnB,SAAUA,EACVvW,WAAY+tC,GAA0B/tC,GACtCrI,aAAcA,EACdD,cAAeA,EACftN,SAAU,EAAc1B,EAAAA,GAAAA,KAAKqvB,GAAG72D,GAAAA,GAAA,GAAOu1D,GAAe,IACpDpgB,KAAM,UACN/N,GAAI,KACJ8B,SAAUz+B,GAAIy+B,EAAUgkD,QACT1lD,EAAAA,GAAAA,KAAKgmD,GAAY,CAChCtkD,SAAUz+B,GAAIy+B,GAAU,SAAAkb,GACtB,IAAMtL,EAAU94C,GAAA,GAAQokD,EAAMhoD,OAK9B,cAHO08C,EAAWiK,aACXjK,EAAWlE,gBACXkE,EAAWs0C,cACE5lD,EAAAA,GAAAA,KAAKslD,GAAO9sF,GAAA,GAAO84C,aAO/CuzC,GAAK1kD,aAlFgB,CACnBmW,QAAS,OACTrH,cAAc,EACdD,eAAe,GAgFjB61C,GAAK3kD,YAAc,OACnB,4BC3FM+lD,GAAe,SAAH5lE,GAAA,IAChBi3B,EAAUj3B,EAAVi3B,WACG1iD,EAAK+pC,GAAAte,EAAA0f,IAAA,OACSC,EAAAA,GAAAA,KAAK6kD,GAAIrsF,GAAAA,GAAA,GAAO5D,GAAK,IACtC0iD,WAAY+tC,GAA0B/tC,OAGxC2uC,GAAa/lD,YAAc,eAC3B,UCJMuR,GAAY,CAChB6Q,SAAUjM,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,SAKjDkF,MAAOlF,KAAAA,KAAAA,WAKPjJ,SAAUiJ,KAAAA,KAKVuvC,aAAcvvC,KAAAA,QAGV6vC,GAAM,WACV,MAAM,IAAInuE,MAAM,gOAKlBmuE,GAAIz0C,UAAYA,GAChB,OAAet8C,OAAOguB,OAAO+iE,GAAK,CAChC3mD,UAAW0mD,GACXE,QAASH,GACTI,KAAMd,KCrCD,SAASe,GAAwBC,EAAgBhkC,GACtD,OAAOzrD,MAAMC,QAAQwvF,GAAkBA,EAAez4E,SAASy0C,GAAYgkC,IAAmBhkC,EAEhG,IAAMx6C,GAAuBmT,EAAAA,cAAoB,IACjDnT,GAAQo4B,YAAc,mBACtB,iECCMqmD,GAAiCtrE,EAAAA,YAAiB,SAAAoF,EAOrDmf,GAAQ,IAAAG,EAAAtf,EANTuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBF,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SACA4gB,EAAQjiC,EAARiiC,SACG1tD,EAAK+pC,GAAAte,EAAA0f,IAGNumD,GACElnD,EAAAA,EAAAA,YAAWonD,IADbF,eAGF,OADA7mD,EAAWP,GAAmBO,EAAU,uBACpBO,EAAAA,GAAAA,KAAKmjB,GAAQ3qD,GAAAA,GAAA,CAC/BgnC,IAAKA,EACLuP,GAAIs3C,GAAwBC,EAAgBhkC,IACzC1tD,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWL,GACjCiC,UAAuB1B,EAAAA,GAAAA,KAAKH,EAAW,CACrC6B,SAAUzmB,EAAAA,SAAAA,KAAoBymB,WAIpC6kD,GAAkBrmD,YAAc,oBAChC,UC7BMp4B,GAAuBmT,EAAAA,cAAoB,CAC/CqnC,SAAU,KAEZx6C,GAAQo4B,YAAc,uBACtB,2CCEMumD,GAA6BxrE,EAAAA,YAAiB,SAAAoF,EAMjDmf,GAAQ,IAAAG,EAAAtf,EAJTuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBF,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACGlrC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,kBACxC,IACE6iB,GACEljB,EAAAA,EAAAA,YAAWsnD,IADbpkC,SAEF,OAAoBtiB,EAAAA,GAAAA,KAAKumD,GAAmB,CAC1CjkC,SAAUA,EACV5gB,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CACnCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWL,WAIvCgnD,GAAcvmD,YAAc,gBAC5B,qDCSA,IAAMymD,GAA+B1rE,EAAAA,YAAiB,SAAAoF,EAOnDmf,GAAQ,IAAAG,EAAAtf,EALTuf,GAAIC,OAAS,IAAAF,EAAG,SAAQA,EACxBF,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAmI,EAAO5nB,EAAP4nB,QACGrzC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,oBACxC,IACE6iB,GACEljB,EAAAA,EAAAA,YAAWsnD,IADbpkC,SAEIskC,EA1CD,SAA4BtkC,EAAUra,GAC3C,IAAA8lC,GAII3uC,EAAAA,EAAAA,YAAWonD,IAHbF,EAAcvY,EAAduY,eACAz4B,EAAQkgB,EAARlgB,SACAg5B,EAAU9Y,EAAV8Y,WAEF,OAAO,SAAA5nF,GAKL,IAAI6nF,EAAiBxkC,IAAagkC,EAAiB,KAAOhkC,EAEtDukC,IAGEC,EAFAjwF,MAAMC,QAAQwvF,GACZA,EAAez4E,SAASy0C,GACTgkC,EAAenuF,QAAO,SAAA6E,GAAC,OAAIA,IAAMslD,KAEjC,GAAH3nD,OAAA2pD,GAAOgiC,GAAc,CAAEhkC,IAItB,CAACA,IAIV,MAAZuL,GAA4BA,EAASi5B,EAAgB7nF,GAC1C,MAAXgpC,GAA2BA,EAAQhpC,IAeZ8nF,CAAmBzkC,EAAUra,GAEpDq+C,GACElnD,EAAAA,EAAAA,YAAWonD,IADbF,eAOF,MAJkB,WAAdzmD,IACFjrC,EAAMmE,KAAO,WAGKinC,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,EACLyI,QAAS2+C,GACNhyF,GAAK,IACR,gBAAiB0tD,IAAagkC,EAC9BxmD,UAAWG,IAAAA,CAAWH,EAAWL,GAAW4mD,GAAwBC,EAAgBhkC,IAAa,mBAGrGqkC,GAAgBzmD,YAAc,kBAC9B,gEC9DM8mD,GAA+B/rE,EAAAA,YAAiB,SAAAoF,EAQnDmf,GAAQ,IAAAG,EAAAtf,EANTuf,GAAIC,OAAS,IAAAF,EAAG,KAAIA,EACpBF,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SACAuG,EAAO5nB,EAAP4nB,QACGrzC,EAAK+pC,GAAAte,EAAA0f,IAGR,OADAN,EAAWP,GAAmBO,EAAU,qBACpBO,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWL,GACjCiC,UAAuB1B,EAAAA,GAAAA,KAAK2mD,GAAiB,CAC3C1+C,QAASA,EACTvG,SAAUA,UAIhBslD,GAAgB9mD,YAAc,kBAC9B,sDCpBM+mD,GAA6BhsE,EAAAA,YAAiB,SAAAoF,EAOjDmf,GAAQ,IAAAG,EAAAtf,EALTuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBF,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAwiB,EAAQjiC,EAARiiC,SACG1tD,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,kBACxC,IAAMwvC,GAAep6B,EAAAA,EAAAA,UAAQ,iBAAO,CAClCyN,SAAAA,KACE,CAACA,IACL,OAAoBtiB,EAAAA,GAAAA,KAAK0mD,GAAqBznD,SAAU,CACtD5oC,MAAO44E,EACPvtC,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CACnCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWL,WAIvCwnD,GAAc/mD,YAAc,gBAC5B,uFChBMgnD,GAAyBjsE,EAAAA,YAAiB,SAACrmB,EAAO4qC,GACtD,IAAAkY,EAUIxM,GAAgBt2C,EAAO,CACzBo6D,UAAW,aACXpB,EAAAlW,EAVA9X,GAAIC,OAAS,IAAA+tB,EAAG,MAAKA,EACrBoB,EAAStX,EAATsX,UACAvvB,EAAQiY,EAARjY,SACAK,EAAS4X,EAAT5X,UACA+tB,EAAQnW,EAARmW,SACAs5B,EAAKzvC,EAALyvC,MACAN,EAAUnvC,EAAVmvC,WACG94B,EAAepvB,GAAA+Y,EAAA3X,IAIdnmC,EAASslC,GAAmBO,EAAU,aACtCwvC,GAAep6B,EAAAA,EAAAA,UAAQ,iBAAO,CAClCyxC,eAAgBt3B,EAChBnB,SAAAA,EACAg5B,WAAAA,KACE,CAAC73B,EAAWnB,EAAUg5B,IAC1B,OAAoB7mD,EAAAA,GAAAA,KAAKwmD,GAAiBvnD,SAAU,CAClD5oC,MAAO44E,EACPvtC,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CACnCgnC,IAAKA,GACFuuB,GAAe,IAClBjuB,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQutF,GAAS,GAAJxsF,OAAOf,EAAM,mBAIjEstF,GAAUhnD,YAAc,YACxB,UAAe/qC,OAAOguB,OAAO+jE,GAAW,CACtCr5C,OAAQ84C,GACRxjC,SAAUojC,GACVp2B,KAAM82B,GACNh6B,OAAQ+5B,GACRj6B,KAAM05B,KCnCJW,GAAe35E,KAAK45E,IAAI,EAAG,IAAM,EAErC,SAASC,GAAkBC,EAAWtoE,EAAIuoE,GACxC,IAAIC,EAAUD,EAAcz3D,KAAKG,MACjCq3D,EAAU9nF,QAAUgoF,GAAWL,GAAevyE,WAAWoK,EAAIwoE,GAAW5yE,YAAW,WACjF,OAAOyyE,GAAkBC,EAAWtoE,EAAIuoE,KACvCJ,IAsBU,SAASM,KACtB,IAAI76C,EAAYF,KAEZ46C,GAAY58C,EAAAA,EAAAA,UAIhB,OAHAuZ,IAAe,WACb,OAAOlQ,aAAauzC,EAAU9nF,aAEzBo1C,EAAAA,EAAAA,UAAQ,WACb,IAAI8yC,EAAQ,WACV,OAAO3zC,aAAauzC,EAAU9nF,UAmBhC,MAAO,CACL0M,IAjBF,SAAa8S,EAAIwoE,QACC,IAAZA,IACFA,EAAU,GAGP56C,MACL86C,IAEIF,GAAWL,GAEbG,EAAU9nF,QAAUoV,WAAWoK,EAAIwoE,GAEnCH,GAAkBC,EAAWtoE,EAAI8Q,KAAKG,MAAQu3D,KAMhDE,MAAOA,KAER,ICpEL,IAAM5xC,IAAUr/C,EAAAs/C,GAAG,GAChB3H,GAAW,WAAS33C,EAAAs/C,GACpBzH,GAAU,gBAAcyH,IAErB4xC,GAAyB3sE,EAAAA,YAAiB,SAACrmB,EAAO4qC,GAAG,OAAkBQ,EAAAA,GAAAA,KAAKiW,GAAIz9C,GAAAA,GAAA,GAAO5D,GAAK,IAChG4qC,IAAKA,EACL2W,kBAAmBJ,SAErB6xC,GAAU1nD,YAAc,YACxB,UCPA,GALkCjlB,EAAAA,cAAoB,CAEpD28B,QAAO,gGCUHiwC,GAA2B5sE,EAAAA,YAAiB,SAAAoF,EAQ/Cmf,GAAQ,IAPTC,EAAQpf,EAARof,SACA8X,EAAUl3B,EAAVk3B,WACAI,EAAYt3B,EAAZs3B,aACA8S,EAAWpqC,EAAXoqC,YACA3qB,EAASzf,EAATyf,UACA4B,EAAQrhB,EAARqhB,SACG9sC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,gBACxC,IAAM33B,GAAUs3B,EAAAA,EAAAA,YAAW0oD,IACrBt6C,EAAchB,IAAiB,SAAAvtC,GACxB,MAAX6I,GAA8C,MAAnBA,EAAQ8vC,SAA2B9vC,EAAQ8vC,QAAQ34C,MAEhF,OAAoB+4C,EAAAA,GAAAA,MAAM,MAAKx/C,GAAAA,GAAA,CAC7BgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWR,EAAUK,GAChC4B,SAAU,CAACA,EAAU+oB,IAA4BzqB,EAAAA,GAAAA,KAAKuW,GAAa,CACjE,aAAcgB,EACdjB,QAASqB,EACT1P,QAASuF,EACT,eAAgB,iBAItBq6C,GAAY3nD,YAAc,cAC1B2nD,GAAY1nD,aA/BS,CACnBoX,WAAY,QACZkT,aAAa,GA8Bf,UCxCA,GAAe9T,GAAmB,4GCS5BoxC,GAAqB9sE,EAAAA,YAAiB,SAAAoF,EAWzCmf,GAAQ,IAVTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UAASkoD,EAAA3nE,EACTi3B,WAAY9I,OAAU,IAAAw5C,EAAGJ,GAASI,EAAAtgC,EAAArnC,EAClCg3B,KAAAA,OAAI,IAAAqQ,GAAOA,EAAAugC,EAAA5nE,EACXmgC,UAAAA,OAAS,IAAAynC,GAAOA,EAAAC,EAAA7nE,EAChBk0B,MAAAA,OAAK,IAAA2zC,EAAG,IAAIA,EAAAC,EAAA9nE,EACZ+nE,SAAAA,OAAQ,IAAAD,GAAQA,EAChBvwC,EAAOv3B,EAAPu3B,QACA6V,EAAEptC,EAAFotC,GACG74D,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,SAGxC,IAAM4oD,GAAW19C,EAAAA,EAAAA,QAAO4J,GAClB+zC,GAAa39C,EAAAA,EAAAA,QAAOiN,IAC1BrL,EAAAA,EAAAA,YAAU,WACR87C,EAAS5oF,QAAU80C,EACnB+zC,EAAW7oF,QAAUm4C,IACpB,CAACrD,EAAOqD,IACX,IAAM2wC,EAAkBb,KAClBc,KAAmBJ,IAAY/wC,GAC/BoxC,GAAex9C,EAAAA,EAAAA,cAAY,WAC3Bu9C,IACoB,MAAtBF,EAAW7oF,SAA2B6oF,EAAW7oF,aAElD,CAAC+oF,KACJj8C,EAAAA,EAAAA,YAAU,WAERg8C,EAAgBp8E,IAAIs8E,EAAcJ,EAAS5oF,WAC1C,CAAC8oF,EAAiBE,IACrB,IAAMC,GAAe7zC,EAAAA,EAAAA,UAAQ,iBAAO,CAClC+C,QAAAA,KACE,CAACA,IACC+wC,KAAkBn6C,IAAcgS,GAEhCooC,GAAqB5oD,EAAAA,GAAAA,KAAK,MAAKxnC,GAAAA,GAAA,GAAO5D,GAAK,IAC/C4qC,IAAKA,EACLM,UAAWG,IAAAA,CAAWR,EAAUK,EAAW2tB,GAAM,MAAJ9yD,OAAU8yD,IAAOk7B,IAAiBtxC,EAAO,OAAS,SAC/F1J,KAAM,QACN,YAAa,YACb,cAAe,UAGjB,OAAoB3N,EAAAA,GAAAA,KAAK8nD,GAAAA,SAAuB,CAC9CzxF,MAAOqyF,EACPhnD,SAAUinD,GAAgBn6C,GAA0BxO,EAAAA,GAAAA,KAAKwO,EAAY,CACnEO,GAAIsI,EACJrI,eAAe,EACftN,SAAUknD,IACPA,OAGTb,GAAM7nD,YAAc,QACpB,OAAe/qC,OAAOguB,OAAO4kE,GAAO,CAClCh7B,KAAM87B,GACN57B,OAAQ46B,KCnEV,SAASn8C,KAA2Q,OAA9PA,GAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAAkB+2C,GAASnzC,MAAMW,KAAMT,WAEhT,SAASkmC,GAAyBjmC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAAkErD,EAAKR,EAAnEF,EAEzF,SAAuC+D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAFxM42C,CAA8B7yC,EAAQ+lC,GAAuB,GAAItpC,OAAO8C,sBAAuB,CAAE,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAAS,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IAAOQ,EAAMupC,EAAiB/pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,GAAkBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KAAgBV,EAAOU,GAAOqD,EAAOrD,IAAU,OAAOV,EAMne,IAAIm0F,IAAoBrhC,EAAAA,EAAAA,aAAW,SAAUpnC,EAAMmf,GACjD,IAAI8hD,EAAQjhE,EAAKihE,MACb18D,EAAOvE,EAAKuE,KACZ9L,EAAO6lB,GAAyBte,EAAM,CAAC,QAAS,SAEpD,OAAoBpF,EAAAA,cAAoB,MAAOywB,GAAS,CACtDlM,IAAKA,EACLupD,MAAO,6BACPzZ,QAAS,YACT1sB,MAAOh+B,EACP+9B,OAAQ/9B,EACR4rC,KAAM8wB,GACLxoE,GAAoBmC,EAAAA,cAAoB,OAAQ,CACjDs0D,EAAG,oKAGPuZ,GAAKr3C,UAAY,CACf6vC,MAAOjrC,KAAAA,OACPzxB,KAAMyxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE/CyyC,GAAK3oD,aAAe,CAClBmhD,MAAO,eACP18D,KAAM,OAER,UChCA,SAAS8mB,KAA2Q,OAA9PA,GAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAAkB+2C,GAASnzC,MAAMW,KAAMT,WAEhT,SAASkmC,GAAyBjmC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAAkErD,EAAKR,EAAnEF,EAEzF,SAAuC+D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAFxM42C,CAA8B7yC,EAAQ+lC,GAAuB,GAAItpC,OAAO8C,sBAAuB,CAAE,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAAS,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IAAOQ,EAAMupC,EAAiB/pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,GAAkBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KAAgBV,EAAOU,GAAOqD,EAAOrD,IAAU,OAAOV,EAMne,IAAIq0F,IAA4BvhC,EAAAA,EAAAA,aAAW,SAAUpnC,EAAMmf,GACzD,IAAI8hD,EAAQjhE,EAAKihE,MACb18D,EAAOvE,EAAKuE,KACZ9L,EAAO6lB,GAAyBte,EAAM,CAAC,QAAS,SAEpD,OAAoBpF,EAAAA,cAAoB,MAAOywB,GAAS,CACtDlM,IAAKA,EACLupD,MAAO,6BACPzZ,QAAS,YACT1sB,MAAOh+B,EACP+9B,OAAQ/9B,EACR4rC,KAAM8wB,GACLxoE,GAAoBmC,EAAAA,cAAoB,OAAQ,CACjDs0D,EAAG,g9CAGPyZ,GAAav3C,UAAY,CACvB6vC,MAAOjrC,KAAAA,OACPzxB,KAAMyxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE/C2yC,GAAa7oD,aAAe,CAC1BmhD,MAAO,eACP18D,KAAM,OAER,UChCA,SAAS8mB,KAA2Q,OAA9PA,GAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAAkB+2C,GAASnzC,MAAMW,KAAMT,WAEhT,SAASkmC,GAAyBjmC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAAkErD,EAAKR,EAAnEF,EAEzF,SAAuC+D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAFxM42C,CAA8B7yC,EAAQ+lC,GAAuB,GAAItpC,OAAO8C,sBAAuB,CAAE,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAAS,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IAAOQ,EAAMupC,EAAiB/pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,GAAkBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KAAgBV,EAAOU,GAAOqD,EAAOrD,IAAU,OAAOV,EAMne,IAAIs0F,IAAqBxhC,EAAAA,EAAAA,aAAW,SAAUpnC,EAAMmf,GAClD,IAAI8hD,EAAQjhE,EAAKihE,MACb18D,EAAOvE,EAAKuE,KACZ9L,EAAO6lB,GAAyBte,EAAM,CAAC,QAAS,SAEpD,OAAoBpF,EAAAA,cAAoB,MAAOywB,GAAS,CACtDlM,IAAKA,EACLupD,MAAO,6BACPzZ,QAAS,YACT1sB,MAAOh+B,EACP+9B,OAAQ/9B,EACR4rC,KAAM8wB,GACLxoE,GAAoBmC,EAAAA,cAAoB,OAAQ,CACjDs0D,EAAG,wTAGP0Z,GAAMx3C,UAAY,CAChB6vC,MAAOjrC,KAAAA,OACPzxB,KAAMyxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE/C4yC,GAAM9oD,aAAe,CACnBmhD,MAAO,eACP18D,KAAM,OAER,UChCA,SAAS8mB,KAA2Q,OAA9PA,GAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAAkB+2C,GAASnzC,MAAMW,KAAMT,WAEhT,SAASkmC,GAAyBjmC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAAkErD,EAAKR,EAAnEF,EAEzF,SAAuC+D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAFxM42C,CAA8B7yC,EAAQ+lC,GAAuB,GAAItpC,OAAO8C,sBAAuB,CAAE,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAAS,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IAAOQ,EAAMupC,EAAiB/pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,GAAkBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KAAgBV,EAAOU,GAAOqD,EAAOrD,IAAU,OAAOV,EAMne,IAAIu0F,IAA6BzhC,EAAAA,EAAAA,aAAW,SAAUpnC,EAAMmf,GAC1D,IAAI8hD,EAAQjhE,EAAKihE,MACb18D,EAAOvE,EAAKuE,KACZ9L,EAAO6lB,GAAyBte,EAAM,CAAC,QAAS,SAEpD,OAAoBpF,EAAAA,cAAoB,MAAOywB,GAAS,CACtDlM,IAAKA,EACLupD,MAAO,6BACPzZ,QAAS,YACT1sB,MAAOh+B,EACP+9B,OAAQ/9B,EACR4rC,KAAM8wB,GACLxoE,GAAoBmC,EAAAA,cAAoB,OAAQ,CACjDs0D,EAAG,uWACYt0D,EAAAA,cAAoB,OAAQ,CAC3Cs0D,EAAG,4uBACYt0D,EAAAA,cAAoB,OAAQ,CAC3Cs0D,EAAG,+CAGP2Z,GAAcz3C,UAAY,CACxB6vC,MAAOjrC,KAAAA,OACPzxB,KAAMyxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE/C6yC,GAAc/oD,aAAe,CAC3BmhD,MAAO,eACP18D,KAAM,OAER,UChBA,SAASukE,GAAY9oE,GAAsB,IAApB+oE,EAAQ/oE,EAAR+oE,SAAUC,EAAMhpE,EAANgpE,OACzBjnF,EAAWq+E,KACX6I,EA+GR,SAAwBC,GACtB,IAAMnnF,EAAWq+E,KACmCvlC,EAAA5sB,GAAlBrT,EAAAA,SAAe,IAAG,GAA7CuuE,EAAStuC,EAAA,GAAEuuC,EAAYvuC,EAAA,GACxB1b,EAAMvkB,EAAAA,OAAa,CAACuuE,UAAU,KAE9BE,EAAQH,EAAS9pF,QA0CvB,OAzCAwb,EAAAA,WAAgB,WACd,GAAKyuE,GAAUA,EAAM50F,QACJ,OAAbsN,EAAJ,CAGA,IAAM1J,EAASolC,GAAAA,YAAAA,SA4Bf,OA1BA4rD,EAAMzmF,KAAI,SAAA0mF,GAuBR,OAtBAA,EAASC,KAAI,kCAAAjvF,OAAqCgvF,EAAS7gE,IAE3DgV,GAAAA,KAAW,8BAA+B,CACxC+rD,KAAMF,EAAS7gE,IACd,CACDyB,QAASzO,KACToX,YAAax6B,EAAO0jB,QACnBgJ,MAAK,SAAA1pB,GACN,IAAM6B,EAAO7B,EAAI6B,KAAKA,KACtBosF,EAASG,MAAQ,WACjBH,EAASpuC,MAAQh+C,EAAKg+C,MACtBouC,EAAS1xD,KAAO16B,EAAK06B,KACrB0xD,EAASI,KAAOl4E,SAAStU,EAAKysF,KAAKD,MACnCJ,EAASM,KAAOp4E,SAAStU,EAAKysF,KAAKC,MACnCN,EAASO,MAAQr4E,SAAStU,EAAKysF,KAAKE,OAEpC1qD,EAAI//B,QAAQ+pF,UAAUlxF,KAAKqxF,GAC3BF,EAAanlC,GAAI9kB,EAAI//B,QAAQ+pF,WAAWz8E,MAAK,SAAC7Q,EAAG0mB,GAAC,OAAKA,EAAEmnE,KAAO7tF,EAAE6tF,YACjE1kE,OAAM,SAACpmB,GACR,IAAI6+B,GAAAA,SAAe7+B,GACnB,MAAMA,KAED,QAGF,WAILvG,EAAO28B,aAER,CAACq0D,EAAOtnF,IAEJonF,EA9JIW,CAAef,GACpBgB,EAIR,SAAwBC,GACtB,IAAMjoF,EAAWq+E,KACmC3mC,EAAAxrB,GAAlBrT,EAAAA,SAAe,IAAG,GAA7CuuE,EAAS1vC,EAAA,GAAE2vC,EAAY3vC,EAAA,GACxBta,EAAMvkB,EAAAA,OAAa,CAACuuE,UAAU,KAE9Bc,EAAOrvE,EAAAA,OAAa,CACxB,eAAgB,CACdsvE,OAAQ,cACRX,KAAM,yHACNruC,MAAO,4GAET,aAAgB,CACdgvC,OAAQ,cACRX,KAAM,oIACNruC,MAAO,gHAET,aAAgB,CACdgvC,OAAQ,cACRX,KAAM,iIACNruC,MAAO,6GAET,cAAe,CACbgvC,OAAQ,SACRX,KAAM,+BACNruC,MAAO,qHAET,YAAe,CACbgvC,OAAQ,SACRX,KAAM,+BACNruC,MAAO,+CAET,YAAe,CACbgvC,OAAQ,SACRX,KAAM,+BACNruC,MAAO,iGAET,eAAgB,CACdgvC,OAAQ,cACRX,KAAM,mIACNruC,MAAO,yHAET,eAAgB,CACdgvC,OAAQ,cACRX,KAAM,kHACNruC,MAAO,gFAET,aAAgB,CACdgvC,OAAQ,cACRX,KAAM,qGACNruC,MAAO,qEAET,aAAgB,CACdgvC,OAAQ,cACRX,KAAM,6GACNruC,MAAO,iIAET,eAAgB,CACdgvC,OAAQ,cACRX,KAAM,8EACNruC,MAAO,yHAET,eAAgB,CACdgvC,OAAQ,cACRX,KAAM,uFACNruC,MAAO,uDAET,eAAgB,CACdgvC,OAAQ,cACRX,KAAM,4GACNruC,MAAO,6GAET,aAAgB,CACdgvC,OAAQ,cACRX,KAAM,uFACNruC,MAAO,qDAET,aAAgB,CACdgvC,OAAQ,cACRX,KAAM,oFACNruC,MAAO,8DAET,aAAgB,CACdgvC,OAAQ,SACRX,KAAM,mFACNruC,MAAO,0DAILmuC,EAAiB,OAATW,QAAS,IAATA,OAAS,EAATA,EAAW5qF,QAezB,OAdAwb,EAAAA,WAAgB,WACTyuE,GAAUA,EAAM50F,QACJ,OAAbsN,GACJsnF,EAAMzmF,KAAI,SAAA0mF,GAAa,IAADa,EACdv2F,EAAMq2F,EAAK7qF,QAAQkqF,EAAS7gE,IAMlC,OALA0W,EAAI//B,QAAQ+pF,UAAUlxF,KAAIE,GAAC,CACzBsxF,OAAU,OAAH71F,QAAG,IAAHA,GAAS,QAANu2F,EAAHv2F,EAAK21F,YAAI,IAAAY,OAAN,EAAHA,EAAW9tF,QAAQ,aAAc,EAAI,UAAY,UACrDzI,IAELw1F,EAAYnlC,GAAK9kB,EAAI//B,QAAQ+pF,YACtB,UAER,CAACE,EAAOtnF,IAEJonF,EA3GIiB,CAAepB,GAC1B,MAAoB,OAAbjnF,EAAoBknF,EAAKc,EAgKlC,SAASM,GAAcnoE,GAAwB,IAAtBinE,EAASjnE,EAATinE,UAAW5xC,EAAOr1B,EAAPq1B,QAC3Bx7C,EAAKo8C,KAALp8C,EAEP,OAAQ4jC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACN1B,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACd1B,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,SACD8nD,EAAUvmF,KAAI,SAAC0mF,EAAUtpF,GAAK,OAC7B23C,EAAAA,GAAAA,MAACoG,GAAG,CAAausC,GAAI,EAAEjpD,SAAA,EACrBsW,EAAAA,GAAAA,MAAC+vC,GAAK,CAACnwC,QAASA,EAAQlW,SAAA,EACtBsW,EAAAA,GAAAA,MAAC+vC,GAAAA,OAAY,CAAArmD,SAAA,EACX1B,EAAAA,GAAAA,KAAA,OAAK1iB,IAAKikE,GAAMzhD,UAAU,eAAe8iB,MAAO,GAAI4+B,IAAI,MACxDxhD,EAAAA,GAAAA,KAAA,UAAQF,UAAU,UAAS4B,SAAEioD,EAASG,QACrCH,EAASI,OAAQ/xC,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,KAACsW,EAAAA,GAAAA,MAAA,QAAMuD,MAAOn/C,EAAE,kBAAkBslC,SAAA,EAAC1B,EAAAA,GAAAA,KAAC4qD,GAAS,IAAG,IAAEjB,EAASI,QAAY,YAC1FJ,EAASM,OAAQjyC,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,KAACsW,EAAAA,GAAAA,MAAA,QAAMuD,MAAOn/C,EAAE,kBAAkBslC,SAAA,EAAC1B,EAAAA,GAAAA,KAAC4qD,GAAiB,IAAG,IAAEjB,EAASM,QAAY,YAClGN,EAASO,QAASlyC,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,KAACsW,EAAAA,GAAAA,MAAA,QAAMuD,MAAOn/C,EAAE,mBAAmBslC,SAAA,EAAC1B,EAAAA,GAAAA,KAAC4qD,GAAU,IAAG,IAAEjB,EAASO,SAAa,aAC/FlyC,EAAAA,GAAAA,MAAA,SAAAtW,SAAA,CAAO,MAAIioD,EAASY,cAEtBvqD,EAAAA,GAAAA,KAAC+nD,GAAAA,KAAU,CAAArmD,UACT1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM+4D,EAASC,KAAMj1F,OAAO,SAAS04C,IAAI,aAAY3L,SACrDioD,EAASpuC,cAIhBvb,EAAAA,GAAAA,KAAA,UAhBQ3/B,YAyBpB,SAASwqF,GAAehoE,GAA2B,IAAzB2mE,EAAS3mE,EAAT2mE,UAAWsB,EAAUjoE,EAAVioE,WACU/pC,EAAAzyB,GAArBrT,EAAAA,UAAe,GAAM,GAAtCo8B,EAAI0J,EAAA,GAAEhH,EAAOgH,EAAA,GAEpB,OACE/I,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAClD1B,EAAAA,GAAAA,KAAC4qD,GAAkB,CAAC3iD,QAAS,kBAAM8R,GAAS1C,QAE7CA,GAAQyzC,IAAc9qD,EAAAA,GAAAA,KAAA,QACtBqX,IACCrX,EAAAA,GAAAA,KAAC0qD,GAAc,CACbI,WAAYA,EACZtB,UAAWA,EACX5xC,QAAS,kBAAMmC,GAAQ,uBC7NlB,SAASixC,GAAS3qE,GAAS,IAAP8H,EAAG9H,EAAH8H,IACjC,OAAKA,GAEH6X,EAAAA,GAAAA,KAACirD,GAAAA,EAAM,CAAC50F,MAAO8xB,EAAK,cAAY,SAASvD,KAAM,IAAKsmE,QAAQ,aAF7ClrD,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,ICTnB,SAASlO,KAA2Q,OAA9PA,GAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAAkB+2C,GAASnzC,MAAMW,KAAMT,WAEhT,SAASkmC,GAAyBjmC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAAkErD,EAAKR,EAAnEF,EAEzF,SAAuC+D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAFxM42C,CAA8B7yC,EAAQ+lC,GAAuB,GAAItpC,OAAO8C,sBAAuB,CAAE,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAAS,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IAAOQ,EAAMupC,EAAiB/pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,GAAkBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KAAgBV,EAAOU,GAAOqD,EAAOrD,IAAU,OAAOV,EAMne,IAAI4oB,IAAyBkqC,EAAAA,EAAAA,aAAW,SAAUpnC,EAAMmf,GACtD,IAAI8hD,EAAQjhE,EAAKihE,MACb18D,EAAOvE,EAAKuE,KACZ9L,EAAO6lB,GAAyBte,EAAM,CAAC,QAAS,SAEpD,OAAoBpF,EAAAA,cAAoB,MAAOywB,GAAS,CACtDlM,IAAKA,EACLupD,MAAO,6BACPzZ,QAAS,YACT1sB,MAAOh+B,EACP+9B,OAAQ/9B,EACR4rC,KAAM8wB,GACLxoE,GAAoBmC,EAAAA,cAAoB,OAAQ,CACjDs0D,EAAG,6JACYt0D,EAAAA,cAAoB,OAAQ,CAC3Cs0D,EAAG,6LAGPhyD,GAAUk0B,UAAY,CACpB6vC,MAAOjrC,KAAAA,OACPzxB,KAAMyxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE/C94B,GAAU4iB,aAAe,CACvBmhD,MAAO,eACP18D,KAAM,OAER,UClCA,SAAS8mB,KAA2Q,OAA9PA,GAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAAkB+2C,GAASnzC,MAAMW,KAAMT,WAEhT,SAASkmC,GAAyBjmC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAAkErD,EAAKR,EAAnEF,EAEzF,SAAuC+D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAFxM42C,CAA8B7yC,EAAQ+lC,GAAuB,GAAItpC,OAAO8C,sBAAuB,CAAE,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAAS,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IAAOQ,EAAMupC,EAAiB/pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,GAAkBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KAAgBV,EAAOU,GAAOqD,EAAOrD,IAAU,OAAOV,EAMne,IAAIw2F,IAA2B1jC,EAAAA,EAAAA,aAAW,SAAUpnC,EAAMmf,GACxD,IAAI8hD,EAAQjhE,EAAKihE,MACb18D,EAAOvE,EAAKuE,KACZ9L,EAAO6lB,GAAyBte,EAAM,CAAC,QAAS,SAEpD,OAAoBpF,EAAAA,cAAoB,MAAOywB,GAAS,CACtDlM,IAAKA,EACLupD,MAAO,6BACPzZ,QAAS,YACT1sB,MAAOh+B,EACP+9B,OAAQ/9B,EACR4rC,KAAM8wB,GACLxoE,GAAoBmC,EAAAA,cAAoB,OAAQ,CACjDs0D,EAAG,4MACYt0D,EAAAA,cAAoB,OAAQ,CAC3C86D,SAAU,UACVxG,EAAG,6MAGP4b,GAAY15C,UAAY,CACtB6vC,MAAOjrC,KAAAA,OACPzxB,KAAMyxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE/C80C,GAAYhrD,aAAe,CACzBmhD,MAAO,eACP18D,KAAM,OAER,UCnBe,SAASwmE,GAAmB/qE,GAAU,IAARgrE,EAAIhrE,EAAJgrE,KACpC5hD,EAAiCnb,GAAjB+a,KAAiB,GAArB,GACZjtC,EAAKo8C,KAALp8C,EACDkvF,EAAkBrwE,EAAAA,aAAkB,SAAChc,EAAGue,GAC5Cve,EAAE0pC,iBAEFprB,GAAeC,GAAM4H,MAAK,WACxB2yB,MAAM37C,EAAE,qBACPipB,OAAM,SAACnR,GACR6jC,MAAM,GAADp9C,OAAIyB,EAAE,mBAAkB,KAAAzB,OAAIuZ,SAElC,CAAC9X,IAMJ,OAJA6e,EAAAA,WAAgB,WACd3hB,QAAQN,IAAI,mFAAD2B,OAAoF8uC,EAAap0B,IAAI,oBAC/G,CAACo0B,KAEGzJ,EAAAA,GAAAA,KAACurD,GAAgB,CAAMF,KAAAA,EAAMC,gBAAAA,IAGtC,SAASC,GAAgBhpE,GAA2B,IAAzB+oE,EAAe/oE,EAAf+oE,gBAAiBD,EAAI9oE,EAAJ8oE,KACpCjpF,EAAWq+E,KACVh3C,EAAiCnb,GAAjB+a,KAAiB,GAArB,GACZjtC,EAAKo8C,KAALp8C,EAELovF,EAEEH,EAFFG,UAAWC,EAETJ,EAFSI,WAAYC,EAErBL,EAFqBK,OAAQC,EAE7BN,EAF6BM,cAAeC,EAE5CP,EAF4CO,UAAWC,EAEvDR,EAFuDQ,QAASC,EAEhET,EAFgES,OAAQC,EAExEV,EAFwEU,UAAWC,EAEnFX,EAFmFW,UAAWC,EAE9FZ,EAF8FY,UAAWC,EAEzGb,EAFyGa,aAC3GC,EACEd,EADFc,cAAeC,EACbf,EADae,WAAYC,EACzBhB,EADyBgB,cAAeC,EACxCjB,EADwCiB,iBAAkBC,EAC1DlB,EAD0DkB,QAASC,EACnEnB,EADmEmB,QAEjErhE,EAAMlQ,EAAAA,WAAiBwoE,IAAe,GAEtCgJ,EAAc,GAAA9xF,OAAM8wF,GAAU9wF,OAAGgxF,GACjCe,EAA0B,OAATlB,QAAS,IAATA,OAAS,EAATA,EAAW7uF,QAAQ,cAAe,iBACnDgwF,EAA0B,OAATf,QAAS,IAATA,OAAS,EAATA,EAAWjvF,QAAQ,cAAe,iBACnDiwF,EAAgB,+DAAAjyF,OAAkE8xF,GAClFI,EAAY,uFAAAlyF,OAA0FwxF,EAAa,KACnHW,EAAa,gDAAAnyF,OAAmDyxF,EAAU,KAC1EW,EAAS,gDAAApyF,OAAmDyxF,EAAU,KAGtEY,EAAe,oBAAAryF,OAAuB+wF,EAAM,MAC5CuB,EAAgB,oBAAAtyF,OAAuBkxF,EAAO,MAC9CqB,EAAe,oBAAAvyF,OAAuBmxF,EAAM,MAC5CqB,EAAgB,uBAAAxyF,OAA0B0xF,EAAa,MAEvDe,EAAiBjE,GAAa,CAClCC,SAAUnuE,EAAAA,OAAa,CACrB,CAACsvE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,MAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,eAAMzhE,GAAI,oBAKjBukE,EAAoC,cAA7BnvF,OAAOmzB,SAASH,UAAyD,cAA7BhzB,OAAOmzB,SAASH,SAEnEo8D,EAAuC,WAA7BpvF,OAAOmzB,SAASP,SAE1By8D,GAAgBpiE,EAAIqiE,gBAAkBriE,EAAIsiE,UAE1CC,EAAkD,SAArCjkD,EAAap0B,IAAI,gBAG9Bs4E,GAAcN,GAAQE,GAAgBG,EAEtCE,EAAaN,GAAYD,GAAQE,GAAiBG,EAElDG,GAAqBH,IAAeL,IAASC,EAE7CQ,GAAkBJ,GAAcL,IAASE,EAE/C,OACEv1C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAiB,IAAGzjD,SAAA,EAC7B1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SAEE,OAAbt/B,GACE41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,kCACE1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAW4D,IAAkB,0JACrEptD,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,4MACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uRAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qHACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kNAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,iKAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,6CACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,oHACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0NAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,yBACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0GACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,8JAMhBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAStlC,EAAE,uBAClC,OAAbgG,IAAqB49B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAW4D,QAEvEp1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,iBAAiB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBAC/BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,qBAAqB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,kCAAkCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBAC3G47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KACtB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,yBACrC47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO+pD,IAAkB,SAChDzrD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGwsF,YAGjEzzC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,gBAAgB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOiqD,IAAqB,SAChD3rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,uBAAuBslC,UACnF1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG0sF,kBAKrE3zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,qBACH47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM87D,EAAgB/3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACrB1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM+7D,EAAgBh4F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,WAGhE8B,IAAc3tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,qBAC3BuxF,IACC31C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAAyB,QACjF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO8qD,IAAe,SACtBxsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGutF,kBAMvEx0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAiB,QACpB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOsrD,IAAuB,SAC9BhtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG+tF,YAGjEh1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOurD,IAAwB,SAC/BjtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGguF,YAGjEj1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOwrD,IAAuB,SAC9BltD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiuF,kBAKrEl1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,sBAAsB,SACzB4jC,EAAAA,GAAAA,KAAA,KAAGlX,GAAG,UAAU8H,KAAmB,OAAbxuB,EAAoB4pF,EAAYC,EAAUvqD,SAAEtlC,EAAE,8BAK5E47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,wBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAStlC,EAAE,uBAClC,OAAbgG,IAAqB49B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAW4D,QAEvEp1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,iBAAiB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBAC/BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,wBAAwB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBAC/G47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,UACvBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOkrD,IAAwB,SAC/B5sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG2tF,YAGjE50C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,UACvBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAO+qD,IAAsB,SAC7BzsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGwtF,SAE/DzsD,EAAAA,GAAAA,KAAA,SACc,OAAb59B,IAAqB49B,EAAAA,GAAAA,KAACgrD,GAAS,CAAC7iE,IAAKskE,QAExCz0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,qBACH47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM87D,EAAgB/3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACrB1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM+7D,EAAgBh4F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,WAGhE8B,IAAc3tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,qBAC3BuxF,IACC31C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAAyB,QACjF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO8qD,IAAe,SACtBxsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGutF,kBAMvEx0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAiB,QACpB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOsrD,IAAuB,SAC9BhtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG+tF,YAGjEh1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOurD,IAAwB,SAC/BjtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGguF,YAGjEj1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOwrD,IAAuB,SAC9BltD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiuF,kBAKrEl1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,sBAAsB,SACzB4jC,EAAAA,GAAAA,KAAA,KAAGlX,GAAG,UAAU8H,KAAmB,OAAbxuB,EAAoB4pF,EAAYC,EAAUvqD,SAAEtlC,EAAE,8BAK5E47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAStlC,EAAE,uBAClC,OAAbgG,IAAqB49B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAW4D,QAEvEp1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,iBAAiB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kBAC/BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,qBAAqB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,kCAAkCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBAC3G47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,SACrBA,EAAE,cAAc,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,2DAA0D8Q,SAAEtlC,EAAE,iBAAmB,KAC3G47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,yBACrC47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOyqD,IAAqB,SACnDnsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGktF,YAGjEn0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,gBAAgB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,8BAGrC47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,qBACH47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,gBAAgB,KAAC4jC,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAO0qD,IAAkB,SAClDpsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGmtF,YAGjEp0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,SACtB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBAEjF47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAgB4jC,EAAAA,GAAAA,KAAA,UACnBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOorD,IAAqB,SAC5B9sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG6tF,YAGjE90C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAgB4jC,EAAAA,GAAAA,KAAA,UACnBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOqrD,IAAiB,SACxB/sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG8tF,YAGjE/sD,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,oBACP47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAkB4jC,EAAAA,GAAAA,KAAA,UACrBgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM87D,EAAgB/3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACrB1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM+7D,EAAgBh4F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,WAGhE8B,IAAc3tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,qBAC3BuxF,IACC31C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAAyB,QACjF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO8qD,IAAe,SACtBxsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGutF,wBAQ3Ex0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAiB,QACpB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOsrD,IAAuB,SAC9BhtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG+tF,YAGjEh1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOurD,IAAwB,SAC/BjtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGguF,YAGjEj1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOwrD,IAAuB,SAC9BltD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiuF,kBAKrEl1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,sBAAsB,SACzB4jC,EAAAA,GAAAA,KAAA,KAAGlX,GAAG,UAAU8H,KAAmB,OAAbxuB,EAAoB4pF,EAAYC,EAAUvqD,SAAEtlC,EAAE,8BAK5E47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,kBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAStlC,EAAE,uBAClC,OAAbgG,IAAqB49B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAW4D,QAEvEp1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,iBAAiB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kBAC/BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,wBAAwB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBAC/G47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,UACvBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmrD,IAAoB,SAC3B7sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4tF,YAGjE70C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,UACvBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOyqD,IAAqB,SAC5BnsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGktF,SAE/DnsD,EAAAA,GAAAA,KAAA,SACc,OAAb59B,IAAqB49B,EAAAA,GAAAA,KAACgrD,GAAS,CAAC7iE,IAAKgkE,QAExCn0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,qBACH47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,gBAAgB,KAAC4jC,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAO0qD,IAAkB,SAClDpsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGmtF,YAGjEp0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,SACtB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBAEjF47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAgB4jC,EAAAA,GAAAA,KAAA,UACnBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOorD,IAAqB,SAC5B9sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG6tF,YAGjE90C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAgB4jC,EAAAA,GAAAA,KAAA,UACnBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOqrD,IAAiB,SACxB/sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG8tF,YAGjE/sD,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,oBACP47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAkB4jC,EAAAA,GAAAA,KAAA,UACrBgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM87D,EAAgB/3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACrB1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM+7D,EAAgBh4F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,WAGhE8B,IAAc3tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,qBAC3BuxF,IACC31C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAAyB,QACjF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO8qD,IAAe,SACtBxsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGutF,wBAQ3Ex0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAiB,QACpB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOsrD,IAAuB,SAC9BhtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG+tF,YAGjEh1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOurD,IAAwB,SAC/BjtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGguF,YAGjEj1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOwrD,IAAuB,SAC9BltD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiuF,kBAKrEl1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,sBAAsB,SACzB4jC,EAAAA,GAAAA,KAAA,KAAGlX,GAAG,UAAU8H,KAAmB,OAAbxuB,EAAoB4pF,EAAYC,EAAUvqD,SAAEtlC,EAAE,8BAK5E47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAStlC,EAAE,uBAClC,OAAbgG,IAAqB49B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAW4D,QAEvEp1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,iBAAiB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,aAAgB,KAAEtlC,EAAE,kBAAkB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,yBAA0BzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,oBAC9IyxF,IACC7tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,sBAEd0xF,IACC9tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,qBAEdwxF,IAAc51C,EAAAA,GAAAA,MAAC/8B,EAAAA,SAAc,CAAAymB,SAAA,EAC5BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,gBAAgB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMs7D,EAAcv3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAE6qD,IAAY,SACzFvsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGstF,SAE/DvsD,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,uBAEX47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,gBACH4jC,EAAAA,GAAAA,KAAA,MAAA0B,UACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,eAAe,SAClB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOyrD,IAAwB,SAC/BntD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGkuF,iBAKrEn1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,qBACH47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM87D,EAAgB/3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACrB1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM+7D,EAAgBh4F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,WAGhE8B,IAAc3tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,qBAC3BuxF,IACC31C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAAyB,QACjF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO8qD,IAAe,SACtBxsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGutF,kBAMvEx0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAiB,QACpB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOsrD,IAAuB,SAC9BhtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG+tF,YAGjEh1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOurD,IAAwB,SAC/BjtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGguF,YAGjEj1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOwrD,IAAuB,SAC9BltD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiuF,kBAKrEl1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,sBAAsB,SACzB4jC,EAAAA,GAAAA,KAAA,KAAGlX,GAAG,UAAU8H,KAAmB,OAAbxuB,EAAoB4pF,EAAYC,EAAUvqD,SAAEtlC,EAAE,iCAM9E47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,sBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAStlC,EAAE,uBAClC,OAAbgG,IAAqB49B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAW4D,QAEvEp1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,iBAAiB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,aAAgB,KAAEtlC,EAAE,kBAAkB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,yBAA0BzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBAC/I47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,qBAAqB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,oDAAoDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,iBAAmB,iBAChJ47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KACtB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,uBACrC47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO6qD,IAAe,SAC7CvsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGstF,YAGjEv0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,8BAGxC47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,qBACH47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM87D,EAAgB/3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACrB1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM+7D,EAAgBh4F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAqB,QAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,WAGhE8B,IAAc3tD,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,qBAC3BuxF,IACC31C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAAyB,QACjF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO8qD,IAAe,SACtBxsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGutF,kBAMvEx0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,iBAAiB,QACpB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOsrD,IAAuB,SAC9BhtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG+tF,YAGjEh1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOurD,IAAwB,SAC/BjtD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGguF,YAGjEj1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,oBAAoB,SACvB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOwrD,IAAuB,SAC9BltD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiuF,kBAKrEl1C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGtlC,EAAE,sBAAsB,SACzB4jC,EAAAA,GAAAA,KAAA,KAAGlX,GAAG,UAAU8H,KAAmB,OAAbxuB,EAAoB4pF,EAAYC,EAAUvqD,SAAEtlC,EAAE,gCC7vB3E,SAAS2xF,GAAUC,EAAYC,EAAQ9iE,GAE5C,GADK6iE,IAAYA,EAAU,mBACvBA,EAAWtxF,QAAQ,OAAS,EAAG,CACjC,IAAMwxF,EAAKvwE,SAASC,cAAc,KAClCswE,EAAGt9D,KAAOo9D,EAAWrxF,QAAQ,QAAS,SACtCqxF,EAAaE,EAAG98D,SAAShuB,UAAU,GAKrC,IAAMlH,EAAIyhB,SAASC,cAAc,KACjC1hB,EAAE00B,KAAI,GAAAj2B,OAAMuD,OAAOmzB,SAASP,SAAQ,MAAAn2B,OAAKuD,OAAOmzB,SAASN,KAAI,KAAAp2B,OAAIqzF,GAEjE,IAAMG,EAAgBjyF,EAAE40B,SAASn0B,QAAQ,IAAK,IACxCyxF,EAAkBlyF,EAAEg1B,SACpBm9D,EAAcnyF,EAAEi1B,OAAwB,UAAfj1B,EAAE40B,SAAuB,KAAO,OACzDw9D,EAAapyF,EAAEk1B,SAAShuB,UAAU,EAAGlH,EAAEk1B,SAASm9D,YAAY,MAC5DC,EAAgBtyF,EAAEk1B,SAAS35B,MAAMyE,EAAEk1B,SAASm9D,YAAY,KAAO,GAC/DE,EAAgB,SAACt9D,GACrB,OAAQA,GAAkB,SAATA,GAA4B,OAATA,GAA0B,QAATA,GAGjDk6D,EAAO,GAILqD,EAAWD,EAActjE,EAAIujE,UAAY,GAAE,IAAA/zF,OAAOwwB,EAAIujE,UAC5DrD,EAAKI,WAAU,UAAA9wF,OAAayzF,GAAezzF,OAAG+zF,EAAQ,KAAA/zF,OAAI2zF,EAAU,KACpEjD,EAAKM,cAAgBsC,EAAM,GAAAtzF,OAAM6zF,EAAa,YAAA7zF,OAAWszF,EAAOU,SAAYH,EAK5E,IAAMI,EAAcX,EAAM,WAAAtzF,OAAcszF,EAAOU,SAAY,GACrDE,EAAU1jE,EAAI0jE,QAAO,IAAAl0F,OAAOwwB,EAAI0jE,SAAY,GAClDxD,EAAKc,cAAa,SAAAxxF,OAAYyzF,GAAezzF,OAAGk0F,EAAO,oBAAAl0F,OAAmB2zF,EAAU,KAAA3zF,OAAI6zF,GAAa7zF,OAAGi0F,EAAW,cACnHvD,EAAKe,WAAU,SAAAzxF,OAAYyzF,GAAezzF,OAAGk0F,EAAO,oBAAAl0F,OAAmB2zF,EAAU,KAAA3zF,OAAI6zF,EAAa,yBAKlG,IAAMM,EAAW3jE,EAAI2jE,SAAW3jE,EAAI2jE,SAAWT,EAC/ChD,EAAKW,UAAS,0CAAArxF,OAA6Cm0F,EAAQ,UAAAn0F,OAASm0F,GAC5EzD,EAAKY,UAAS,0CAAAtxF,OAA6Cm0F,EAAQ,UAAAn0F,OAASm0F,GAK5E,IAAMF,EAAcX,EAAM,WAAAtzF,OAAcszF,EAAOU,SAAY,GACrDx2D,EAASg2D,EACTW,EAAW3jE,EAAI2jE,SAAW3jE,EAAI2jE,SAAWT,EACzCU,EAAcN,EAAcK,GAAY,GAAE,IAAAn0F,OAAOm0F,GACvDzD,EAAKK,OAAM,GAAA/wF,OAAMw9B,EAAM,OAAAx9B,OAAMyzF,GAAezzF,OAAGo0F,EAAW,KAAAp0F,OAAI2zF,EAAU,KAAA3zF,OAAI6zF,EAAa,QACzFnD,EAAKQ,QAAO,GAAAlxF,OAAMw9B,EAAM,OAAAx9B,OAAMyzF,GAAezzF,OAAGo0F,EAAW,KAAAp0F,OAAI2zF,EAAU,KAAA3zF,OAAI6zF,EAAa,SAC1FnD,EAAKS,OAAM,YAAAnxF,OAAeyzF,GAAezzF,OAAGo0F,EAAW,KAAAp0F,OAAI2zF,EAAU,KAAA3zF,OAAI6zF,GACzEnD,EAAKgB,cAAa,YAAA1xF,OAAeyzF,GAAezzF,OAAGo0F,EAAW,KAAAp0F,OAAI2zF,EAAU,KAAA3zF,OAAI6zF,GAAa7zF,OAAGi0F,GAEhGvD,EAAKG,UAAS,0BAAA7wF,OAA6Bw9B,EAAM,OAAAx9B,OAAMyzF,GAAezzF,OAAGo0F,EAAW,KAAAp0F,OAAI2zF,EAAU,KAAA3zF,OAAI6zF,EAAa,QACnHnD,EAAKO,UAAS,0BAAAjxF,OAA6Bw9B,EAAM,OAAAx9B,OAAMyzF,GAAezzF,OAAGo0F,EAAW,KAAAp0F,OAAI2zF,EAAU,KAAA3zF,OAAI6zF,EAAa,SACnHnD,EAAKU,UAAS,6BAAApxF,OAAgCw9B,EAAM,UAAAx9B,OAASm0F,EAAQ,SAAAn0F,OAAQm0F,EAAQ,2BAAAn0F,OAA0B6zF,GAK/G,IAAMI,EAAcX,EAAM,WAAAtzF,OAAcszF,EAAOU,SAAY,GACrDG,EAAW3jE,EAAI2jE,SAAW3jE,EAAI2jE,SAAWT,EACzCU,EAAcN,EAAcK,GAAY,GAAE,IAAAn0F,OAAOm0F,GACvDzD,EAAKa,aAAY,wCAAAvxF,OAA2Cm0F,EAAQ,SAAAn0F,OAAQm0F,EAAQ,2BAAAn0F,OAA0B6zF,GAAa7zF,OAAGi0F,GAC9HvD,EAAKkB,QAAO,GAAA5xF,OAAMwzF,EAAa,OAAAxzF,OAAMyzF,GAAezzF,OAAGo0F,EAAW,sBAAAp0F,OAAqB2zF,EAAU,YAAA3zF,OAAW6zF,GAAa7zF,OAAGi0F,GAC5HvD,EAAKmB,QAAO,GAAA7xF,OAAMwzF,EAAa,OAAAxzF,OAAMyzF,GAAezzF,OAAGo0F,EAAW,sBAAAp0F,OAAqB2zF,EAAU,YAAA3zF,OAAW6zF,GAK5G,IAAMQ,EAAmB,GAAAr0F,OAAM6zF,EAAa,UAC5CnD,EAAK2D,oBAAsBA,EAC3B3D,EAAK4D,mBAAqBhB,EAAM,GAAAtzF,OAAMq0F,EAAmB,YAAAr0F,OAAWszF,EAAOU,SAAYK,EACvF,IAAM72D,EAASg2D,EACTW,EAAW3jE,EAAI2jE,SAAW3jE,EAAI2jE,SAAWT,EACzCU,EAAcN,EAAcK,GAAY,GAAE,IAAAn0F,OAAOm0F,GAIzD,OAHEzD,EAAK6D,mBAAkB,0BAAAv0F,OAA6Bw9B,EAAM,OAAAx9B,OAAMyzF,GAAezzF,OAAGo0F,EAAW,KAAAp0F,OAAI2zF,EAAU,KAAA3zF,OAAIq0F,EAAmB,QAG7H3D,0GCxDT,GAnC2BpwE,EAAAA,YAAiB,SAAAoF,EAWzCmf,GAAQ,IAVTC,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAqvD,EAAO9uE,EAAP8uE,QACAC,EAAQ/uE,EAAR+uE,SACAC,EAAUhvE,EAAVgvE,WACAC,EAAKjvE,EAALivE,MACA1qE,EAAIvE,EAAJuE,KACA0xB,EAAOj2B,EAAPi2B,QACAi5C,EAAUlvE,EAAVkvE,WACG36F,EAAK+pC,GAAAte,EAAA0f,IAEFuiD,EAAoBpjD,GAAmBO,EAAU,SACjDrW,EAAU6W,IAAAA,CAAWH,EAAWwiD,EAAmBhsC,GAAW,GAAJ37C,OAAO2nF,EAAiB,KAAA3nF,OAAI27C,GAAW1xB,GAAQ,GAAJjqB,OAAO2nF,EAAiB,KAAA3nF,OAAIiqB,GAAQuqE,GAAW,GAAJx0F,OAAO2nF,EAAiB,YAAY8M,GAAY,GAAJz0F,OAAO2nF,EAAiB,aAAa+M,GAAc,GAAJ10F,OAAO2nF,EAAiB,eAAegN,GAAS,GAAJ30F,OAAO2nF,EAAiB,WAE/SkN,GAAqBxvD,EAAAA,GAAAA,KAAK,QAAOxnC,GAAAA,GAAA,GAAO5D,GAAK,IACjDkrC,UAAW1W,EACXoW,IAAKA,KAGP,GAAI+vD,EAAY,CACd,IAAIE,EAAkB,GAAH90F,OAAM2nF,EAAiB,eAM1C,MAJ0B,kBAAfiN,IACTE,EAAkB,GAAH90F,OAAM80F,EAAe,KAAA90F,OAAI40F,KAGtBvvD,EAAAA,GAAAA,KAAK,MAAO,CAC9BF,UAAW2vD,EACX/tD,SAAU8tD,IAId,OAAOA,yDC7BHE,GAAqBz0E,EAAAA,YAAiB,SAAAoF,EAQzCmf,GAAQ,IAPTC,EAAQpf,EAARof,SACAguB,EAAEptC,EAAFotC,GACAkiC,EAAItvE,EAAJsvE,KACAnyE,EAAI6C,EAAJ7C,KACAsiB,EAASzf,EAATyf,UAASH,EAAAtf,EACTuf,GAAIC,OAAS,IAAAF,EAAG,OAAMA,EACnB/qC,EAAK+pC,GAAAte,EAAA0f,IAEFnmC,EAASslC,GAAmBO,EAAU,SAC5C,OAAoBO,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQ+1F,GAAQ,eAAgBnyE,GAAQ,QAAJ7iB,OAAY6iB,GAAQiwC,GAAM,MAAJ9yD,OAAU8yD,UAGzGiiC,GAAMxvD,YAAc,QACpBwvD,GAAMvvD,aArBe,CACnBstB,GAAI,UACJkiC,MAAM,GAoBR,UCZe,SAASC,KACtB,IAAwC91C,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAjCthB,EAAImgD,EAAA,GAAE+1C,EAAO/1C,EAAA,GAC8BoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAAS9T,EAAA,GAAEgmC,EAAYhmC,EAAA,GACgB6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAvC60E,EAAO/uC,EAAA,GAAEgvC,EAAUhvC,EAAA,GACpB1F,GAAcC,EAAAA,GAAAA,mBAgCpB,OA9BArgC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,sCAAuC,GAC/C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAMo0F,EAAUp0F,EAAI6B,KAAKA,KACzBsyF,GAAQ,GACRE,EAAWD,GAAW,IACtBx2F,QAAQN,IAAI,4BAAD2B,OAA6BgW,KAAKsL,UAAU6zE,QACtDzqE,MAAMg2B,KACR,CAACA,IAEJpgC,EAAAA,WAAgB,WAAO,IAAD+0E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAKh3F,GAASm2F,EAEd,OAAc,QAAVE,EAAAF,EAAQc,UAAE,IAAAZ,GAAVA,EAAYj6B,SAA2B,QAApBk6B,EAAIH,EAAQ1G,gBAAQ,IAAA6G,GAAhBA,EAAkBl6B,SAA2B,QAApBm6B,EAAIJ,EAAQe,gBAAQ,IAAAX,GAAhBA,EAAkBn6B,QACjEmrB,EAAa,WAGP,QAAXiP,EAACL,EAAQc,UAAE,IAAAT,GAAVA,EAAYW,QAAqB,QAAXV,EAACN,EAAQc,UAAE,IAAAR,GAAVA,EAAYnC,QAAqB,QAAXoC,EAACP,EAAQc,UAAE,IAAAP,GAAVA,EAAYt6B,QAEnC,QAAjBu6B,EAACR,EAAQ1G,gBAAQ,IAAAkH,GAAhBA,EAAkBQ,QAA2B,QAAjBP,EAACT,EAAQ1G,gBAAQ,IAAAmH,GAAhBA,EAAkBtC,QAA2B,QAAjBuC,EAACV,EAAQ1G,gBAAQ,IAAAoH,GAAhBA,EAAkBz6B,QAE5D,QAAjB06B,EAACX,EAAQe,gBAAQ,IAAAJ,GAAhBA,EAAkBK,QAA2B,QAAjBJ,EAACZ,EAAQe,gBAAQ,IAAAH,GAAhBA,EAAkBzC,QAA2B,QAAjB0C,EAACb,EAAQe,gBAAQ,IAAAF,GAAhBA,EAAkB56B,QAGtFmrB,EAAa,MAFbA,EAAa,KAFbA,EAAa,KAFbA,EAAa,QAQd,CAACvnF,EAAMm2F,IAEL9gC,GACEhvB,EAAAA,GAAAA,KAAC+wD,GAAmB,CAAC5L,iBAAkBn2B,EAAWgiC,eAAgBlB,KADlD9vD,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAIzB,SAASm3C,GAAmB1wE,GAAsC,IAAD4wE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAnC5M,EAAgB9kE,EAAhB8kE,iBAAkB6L,EAAc3wE,EAAd2wE,eACxC5uF,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEyD02C,EAAA1jE,GAA3CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJC,EAAdD,EAAgBJ,UAAE,IAAAK,OAAJ,EAAdA,EAAoBl7B,SAAQ,GAAtEk8B,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAC4CG,EAAA7jE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJE,EAAdF,EAAgBJ,UAAE,IAAAM,OAAJ,EAAdA,EAAoBJ,QAAO,GAAnEsB,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC8CG,EAAAhkE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJG,EAAdH,EAAgBJ,UAAE,IAAAO,OAAJ,EAAdA,EAAoBlD,QAAO,GAAnEsE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC8CG,EAAAnkE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJI,EAAdJ,EAAgBJ,UAAE,IAAAQ,OAAJ,EAAdA,EAAoBsB,QAAO,GAAnEC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC2CI,EAAAvkE,GAAzCrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJK,EAAdL,EAAgBJ,UAAE,IAAAS,OAAJ,EAAdA,EAAoB9zC,OAAM,GAAhEu1C,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GACqEG,EAAA1kE,GAAjDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVM,EAAdN,EAAgB5H,gBAAQ,IAAAkI,OAAV,EAAdA,EAA0Bv7B,SAAQ,GAAxFk9B,EAAeD,EAAA,GAAEE,EAAkBF,EAAA,GACkDG,EAAA7kE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVO,EAAdP,EAAgB5H,gBAAQ,IAAAmI,OAAV,EAAdA,EAA0BT,QAAO,GAArFsC,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GACoDG,EAAAhlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVQ,EAAdR,EAAgB5H,gBAAQ,IAAAoI,OAAV,EAAdA,EAA0BvD,QAAO,GAArFsF,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GACoDG,EAAAnlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVS,EAAdT,EAAgB5H,gBAAQ,IAAAqI,OAAV,EAAdA,EAA0BiB,QAAO,GAArFgB,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GACiDG,EAAAtlE,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVU,EAAdV,EAAgB5H,gBAAQ,IAAAsI,OAAV,EAAdA,EAA0Bn0C,OAAM,GAAlFs2C,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GACyDG,EAAAzlE,GAAjDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVW,EAAdX,EAAgBH,gBAAQ,IAAAc,OAAV,EAAdA,EAA0B57B,SAAQ,GAAxFi+B,EAAeD,EAAA,GAAEE,GAAkBF,EAAA,GACkDG,GAAA5lE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVY,EAAdZ,EAAgBH,gBAAQ,IAAAe,OAAV,EAAdA,EAA0Bd,QAAO,GAArFqD,GAAcD,GAAA,GAAEE,GAAiBF,GAAA,GACoDG,GAAA/lE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVa,EAAdb,EAAgBH,gBAAQ,IAAAgB,OAAV,EAAdA,EAA0B5D,QAAO,GAArFqG,GAAcD,GAAA,GAAEE,GAAiBF,GAAA,GAC4DG,GAAAlmE,GAAxDrT,EAAAA,UAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVc,EAAdd,EAAgBH,gBAAQ,IAAAiB,OAAV,EAAdA,EAA0BY,UAAU,GAAK,GAA7F+B,GAAcD,GAAA,GAAEE,GAAiBF,GAAA,GACiDG,GAAArmE,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVe,EAAdf,EAAgBH,gBAAQ,IAAAkB,OAAV,EAAdA,EAA0Bx0C,OAAM,GAAlFq3C,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GACUG,GAAAxmE,GAAhBrT,EAAAA,WAAgB,GAAzC85E,GAAQD,GAAA,GAAEE,GAAWF,GAAA,GACsBG,GAAA3mE,GAAhBrT,EAAAA,WAAgB,GAA3Ci6E,GAASD,GAAA,GAAEE,GAAYF,GAAA,GAE9Bh6E,EAAAA,WAAgB,WACd,IAAMm6E,EAAiB,WACrBt3D,GAAAA,KAAW,uCAAwC,GAChD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNs5F,GAAYt5F,EAAI6B,KAAKA,KAAK0F,KAAI,SAAChE,EAAGpK,GAAC,IAAAwgG,EAAA,OAAA78F,GAAAA,GAAA,GAC9ByG,GAAC,IACJvH,KAAM,CACJk5F,GAAIx0F,EAAE,iBACNgtF,SAAUhtF,EAAE,iBACZy0F,SAAUz0F,EAAE,kBACZ6C,EAAE6rB,UACJovC,OAAe,QAAPm7B,EAAAp2F,EAAEq2F,aAAK,IAAAD,GAAPA,EAASn7B,OAAS4pB,IAAAA,CAAO7kF,EAAEq2F,MAAMp7B,QAAU,KACnDrlE,EAAAA,QAEFyE,QAAQN,IAAI,0BAAD2B,OAA2BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC7D8nB,MAAMg2B,IAGX+5C,IACA,IAAMxU,EAAQC,aAAY,kBAAMuU,MAAkB,KAClD,OAAO,kBAAMtU,cAAcF,MAC1B,CAACxkF,EAAGi/C,EAAa25C,KAEpB,IAAMO,GAAgBt6E,EAAAA,aAAkB,SAAChc,EAAG4oC,EAAQ/c,EAAUgmE,EAAQ7C,EAAQl4B,EAAS28B,EAAQn1C,EAAOi4C,GAEpG,GADAv2F,EAAE0pC,kBACGmoD,EAAQ,OAAO/4C,MAAM37C,EAAE,kBAC5B,GAAIs2F,IAAWn1C,EAAO,OAAOxF,MAAM37C,EAAE,mBAErC,IACE+4F,IAAa,GAEbr3D,GAAAA,KAAW,sCAAuC,CAChD+J,OAAAA,EAAQ/c,SAAAA,EAAUgmE,OAAAA,EAAQ7C,OAAAA,EAAQl4B,UAAWA,EAAS28B,SAAUA,EAAQn1C,MAAAA,GACvE,CACDhzB,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,gBACRo5F,GAAaA,OACZnwE,MAAMg2B,GACV,QACC,IAAIx/C,SAAQ,SAAAC,GAAO,OAAI+Y,WAAW/Y,EAAS,QAAOspB,MAAK,kBAAM+vE,IAAa,SAE3E,CAAC/4F,EAAGi/C,EAAa85C,KAEpB,OACEn9C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAACA,GAAmB0B,YAAU,EAAAnlD,SAAA,EACzD1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACC,OAAbt/B,GACC41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,yLAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,oKAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,8EACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qEAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,+FAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,6CACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uHAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,yBACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,mEACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,oDAKdsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAatlC,EAAXu2F,EAAa,kBAAuB,iBAAiB,IAAEG,MAC1E9yD,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAY,IAAA/mC,OAAOyB,EAAfu2F,EAAiB,kBAA8B,mBAAZ,KAAkC,IAAEv2F,EAAE,sBACxF4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcotF,EAAS/wC,SAAU,SAAC9iD,GAAC,OAAK8zF,EAAW9zF,EAAEtK,OAAO0B,cAEvF2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAatlC,EAAXu2F,EAAa,kBAAuB,uBAC/CA,IAAY36C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBAC9I4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0sF,EAAUrwC,SAAU,SAAC9iD,GAAC,OAAKozF,EAAYpzF,EAAEtK,OAAO0B,cAEzF2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbu2F,IAAY36C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBAC9I4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6sF,EAAUxwC,SAAU,SAAC9iD,GAAC,OAAKuzF,EAAYvzF,EAAEtK,OAAO0B,cAEzF2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,uBAAsB7a,UAC3D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgB2wC,EAAU1qD,QAAS,kBAAM2qD,GAAaD,aAIrH3yD,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,KAAMmzF,EAAUG,GAAWN,EAAWU,EAAUG,GAAS,WAClFZ,GAAcD,OAEhBvwD,SAEWtlC,EAAZ61F,EAAc,gBAAqB,oBAC7B,SACTj6C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,2BAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAmBtlC,EAAjBs3F,EAAmB,kBAAuB,iBAAiB,IAAEG,MAChF7zD,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAkB,IAAA/mC,OAAOyB,EAArBs3F,EAAuB,kBAA8B,mBAAZ,KAAkC,IAAEt3F,EAAE,sBAC9F4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcmuF,EAAe9xC,SAAU,SAAC9iD,GAAC,OAAK60F,EAAiB70F,EAAEtK,OAAO0B,cAEnG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAmBtlC,EAAjBs3F,EAAmB,kBAAuB,uBACrDA,IAAkB17C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0tF,EAAgBrxC,SAAU,SAAC9iD,GAAC,OAAKo0F,EAAkBp0F,EAAEtK,OAAO0B,cAErG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbs3F,IAAkB17C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6tF,EAAgBxxC,SAAU,SAAC9iD,GAAC,OAAKu0F,EAAkBv0F,EAAEtK,OAAO0B,cAErG2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,6BAA4B7a,UACjE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgB0xC,EAAgBzrD,QAAS,kBAAM0rD,GAAmBD,aAIjI1zD,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,WAAYm0F,EAAgBG,GAAiBN,EAAiBS,EAAgBG,GAAe,WACtHX,GAAoBD,OAEtBvxD,SAEiBtlC,EAAlB62F,EAAoB,gBAAqB,oBACnC,SACTj7C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,2BAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAmBtlC,EAAjBq4F,GAAmB,kBAAuB,iBAAiB,IAAEG,OAChF50D,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAkB,IAAA/mC,OAAOyB,EAArBq4F,GAAuB,kBAA8B,mBAAZ,KAAkC,IAAEr4F,EAAE,sBAC9F4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAckvF,GAAe7yC,SAAU,SAAC9iD,GAAC,OAAK41F,GAAiB51F,EAAEtK,OAAO0B,cAEnG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAmBtlC,EAAjBq4F,GAAmB,kBAAuB,uBACrDA,KAAkBz8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcyuF,GAAgBpyC,SAAU,SAAC9iD,GAAC,OAAKm1F,GAAkBn1F,EAAEtK,OAAO0B,cAErG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbq4F,KAAkBz8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc4uF,GAAgBvyC,SAAU,SAAC9iD,GAAC,OAAKs1F,GAAkBt1F,EAAEtK,OAAO0B,cAErG2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,6BAA4B7a,UACjE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgByyC,GAAgBxsD,QAAS,kBAAMysD,IAAmBD,cAIjIz0D,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,WAAYk1F,GAAgBG,IAAiBN,EAAiBS,GAAgBG,IAAe,WACtHX,IAAoBD,OAEtBtyD,SAEiBtlC,EAAlB43F,EAAoB,gBAAqB,oBACnC,SACTh8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,2BAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,KAAI5gB,SAAA,EAC3B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,sBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CAEH,OAARqzD,SAAQ,IAARA,IAAAA,GAAUjgG,QACRkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,wBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,uBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,sBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,sBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,wBAGT4jC,EAAAA,GAAAA,KAAA,SAAA0B,SAEU,OAARqzD,SAAQ,IAARA,QAAQ,EAARA,GAAU9xF,KAAI,SAAAyyF,GAAS,IAADC,EAAAC,EACpB,OAAO59C,EAAAA,GAAAA,MAAA,MAAwB/lC,MAAO,CAACgwC,cAAe,UAAUvgB,SAAA,EAC9D1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK7gG,KACVmjD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKg0D,EAAKhD,OAAUgD,EAAKn4C,MAAQ,GAAKnhD,EAAE,mBAAsBs5F,EAAKh+F,KAAK,IAAEg+F,EAAKn4C,UAC/Evd,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAC0vD,GAAK,CAACjiC,GAAIioC,EAAK3/B,QAAW2/B,EAAKJ,MAAQ,UAAY,UAAa,YAAY5zD,SAC1Eg0D,EAAK3/B,QAAW2/B,EAAKJ,MAAQl5F,EAAE,eAAiBA,EAAE,eAAkBA,EAAE,oBAG3E4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAKx7B,QAAM,GAAAv/D,OAAkB,QAAlBg7F,EAAOD,EAAKx7B,cAAM,IAAAy7B,OAAA,EAAXA,EAAa1nF,OAAO,2BAC3C+xB,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAKn3E,UACVyhB,EAAAA,GAAAA,KAAA,MAAA0B,SAAe,QAAfk0D,EAAKF,EAAKJ,aAAK,IAAAM,OAAA,EAAVA,EAAY58F,QAVH08F,EAAK5qE,kBAgBzB,GAEI,OAARiqE,SAAQ,IAARA,IAAAA,GAAUjgG,OAA2B,GAAlBsH,EAAE,uBC/TlB,SAASy5F,KACtB,IAAMzI,EAAiBjE,GAAa,CAClCC,SAAUnuE,EAAAA,OAAa,CACrB,CAACsvE,OAAQ,MAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,MAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,eAAMzhE,GAAI,gBACnB,CAACyhE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,MAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,eAAMzhE,GAAI,gBACnB,CAACyhE,OAAQ,MAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,eAAMzhE,GAAI,kBAErBugE,OAAQpuE,EAAAA,OAAa,CACnB,CAAC6N,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,eACL,CAACA,GAAI,eACL,CAACA,GAAI,gBACL,CAACA,GAAI,gBACL,CAACA,GAAI,oBAIT,OACIkX,EAAAA,GAAAA,KAAC0qD,GAAc,CAAClB,UAAW4D,IClClB,SAAS0I,KACtB,IAAM9wD,EAAWJ,KACiCkV,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAA3C86E,EAASj8C,EAAA,GAAEk8C,EAAYl8C,EAAA,GACoBoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAA3Cg7E,EAAS/6C,EAAA,GAAEg7C,EAAYh7C,EAAA,GAsC9B,OApCAjgC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,gCAAiC,GACzC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,yBAAD2B,OAA0BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAC7Dy4F,EAAat6F,EAAI6B,KAAKA,SACrB8nB,OAAM,SAAApmB,GACP,IAAMiV,EAAMjV,EAAEymB,SAASnoB,KACnB2W,EAAIlL,OAASmV,IACf45B,MAAM,8DAADp9C,OAAkBuZ,EAAIlL,KAAI,MAAArO,OAAKuZ,EAAI3W,KAAKgoB,UAC7Cyf,EAAS,oBAET+S,MAAM,uCAADp9C,OAAUuZ,EAAIlL,KAAI,MAAArO,OAAKuZ,EAAI3W,KAAKgoB,eAGxC,CAACyf,IAEJ/pB,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,gCAAiC,GACzC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,yBAAD2B,OAA0BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAC7D24F,EAAax6F,EAAI6B,KAAKA,SACrB8nB,OAAM,SAAApmB,GACP,IAAMiV,EAAMjV,EAAEymB,SAASnoB,KACnB2W,EAAIlL,OAASmV,IACf45B,MAAM,8DAADp9C,OAAkBuZ,EAAIlL,KAAI,MAAArO,OAAKuZ,EAAI3W,KAAKgoB,UAC7Cyf,EAAS,oBAET+S,MAAM,uCAADp9C,OAAUuZ,EAAIlL,KAAI,MAAArO,OAAKuZ,EAAI3W,KAAKgoB,eAGxC,CAACyf,IAEG,CAACixD,EAAWF,GClDrB,OAAep/C,GAAmB,kBCAlC,GAAeA,GAAmB,gBCAK17B,EAAAA,6GCUjCk7E,GAAuBl7E,EAAAA,YAAiB,SAAAoF,EAW3Cmf,GAAQ,IAVTC,EAAQpf,EAARof,SACA8sB,EAASlsC,EAATksC,UACAzsB,EAASzf,EAATyf,UACA7tB,EAAKoO,EAALpO,MACAyvB,EAAQrhB,EAARqhB,SACA5jB,EAAIuC,EAAJvC,KACAssD,EAAU/pD,EAAV+pD,WAGGx1E,GAFMyrB,EAATs1C,OACQt1C,EAARg3B,KACQ1Y,GAAAte,EAAA0f,KAEFuiD,EAAoBpjD,GAAmBO,EAAU,WACjDolB,EAAQxlB,KACP+2D,EAA6E9nE,IAA3C,MAAbi+B,OAAoB,EAASA,EAAUpxD,MAAM,OAAS,GAAE,GAA7D,GACjBk7F,EDvBD,SAA6B9pC,EAAW1H,GAC7C,IAAIwxC,EAAc9pC,EAQlB,MANkB,SAAdA,EACF8pC,EAAcxxC,EAAQ,MAAQ,QACP,UAAd0H,IACT8pC,EAAcxxC,EAAQ,QAAU,OAG3BwxC,ECcaC,CAAoBF,EAAkBvxC,GAC1D,OAAoB7M,EAAAA,GAAAA,MAAM,MAAKx/C,GAAAA,GAAA,CAC7BgnC,IAAKA,EACLmO,KAAM,UACN17B,MAAOA,EACP,cAAemkF,EACft2D,UAAWG,IAAAA,CAAWH,EAAWwiD,EAAmB8T,GAAoB,cAAJz7F,OAAkB07F,KACnFzhG,GAAK,IACR8sC,SAAU,EAAc1B,EAAAA,GAAAA,KAAK,MAAKxnC,GAAA,CAChCsnC,UAAW,iBACRsqC,IACDtsD,GAAoBkiB,EAAAA,GAAAA,KAAKu2D,GAAa,CACxC70D,SAAUA,IACPA,SAGTy0D,GAAQh2D,aAlCa,CACnBosB,UAAW,SAkCb,OAAep3D,OAAOguB,OAAOgzE,GAAS,CACpClpC,OAAQupC,GACRzpC,KAAMwpC,GAGNE,cAAe,CAAC,EAAG,KCzCfxgF,GAAO,aAiDb,OAnCA,SAAsBupB,EAAKk3D,GAGnB,IAAAr2E,EAAA5nB,UAAA3D,OAAA,QAAA4E,IAAAjB,UAAA,GAAAA,UAAA,GAAJ,GAFF20C,EAAQ/sB,EAAR+sB,SACAs6B,EAAYrnD,EAAZqnD,aAEM9vB,EAAU8+C,GAAezgF,GAC/Bo0D,GAAgB7qC,EAAKoY,EAAS,CAC5BxK,SAAAA,EACAs6B,aAAAA,IAEF,IAAMivB,EAAcnqD,IAAiB,SAAAvtC,GAzBjB,KA0BdA,EAAE+qD,SACJpS,EAAQ34C,OAGZstC,EAAAA,EAAAA,YAAU,WACR,IAAIa,GAAmB,MAAP5N,EAAhB,CACA,IAAMqS,EAAMH,GAAc61B,GAAa/nC,IAGnCuoC,GAAgBl2B,EAAIC,aAAe5zC,QAAQ9C,MACzCw7F,EAAsB7uD,GAAO8J,EAAK,SAAS,SAAA5yC,GAE3CA,IAAM8oE,EAKV4uB,EAAY13F,GAJV8oE,OAAeruE,KAMnB,OAAO,WACLk9F,QAED,CAACp3D,EAAK4N,EAAUupD,KCtCfE,GAAuB57E,EAAAA,YAAiB,SAACrmB,EAAOkiG,GACpD,IACEhxB,EAMElxE,EANFkxE,KACArnB,EAKE7pD,EALF6pD,OACA8N,EAIE33D,EAJF23D,UACAmc,EAGE9zE,EAHF8zE,iBAAgBquB,EAGdniG,EAFFg0E,aAAAA,OAAY,IAAAmuB,EAAG,GAAEA,EACLvoD,EACV55C,EADF0iD,WAE+C2xB,EAAA36C,GAAhBoe,KAAgB,GAA1CsqD,EAAW/tB,EAAA,GAAE5zB,EAAS4zB,EAAA,GAC0BguB,EAAA3oE,GAAhBoe,KAAgB,GAAhDwpB,EAAY+gC,EAAA,GAAE/tB,EAAc+tB,EAAA,GAC7B9hD,EAAYC,GAAcC,EAAWyhD,GACrCvxC,EAAYgB,GAAiB3xD,EAAM2wD,WACnC5wD,EAAS4xD,GAAiB3xD,EAAMD,QACWykD,EAAA9qB,IAArBuc,EAAAA,EAAAA,WAAUj2C,EAAMyiD,MAAK,GAA1C6R,EAAM9P,EAAA,GAAE+P,EAAS/P,EAAA,GAClBuc,EAASgU,GAAUh1E,EAAQqiG,EAAa5uB,GAA6B,CACzE7b,UAAAA,EACAkc,eAAgB7zE,EAAMyiD,KACtBqxB,iBAAkBA,GAAoB,EACtC5C,KAAAA,EACArnB,OAAAA,EACAyX,aAAAA,EACA0S,aAAAA,KAGEh0E,EAAMyiD,KACJ6R,GAAQC,GAAU,GACZv0D,EAAM0iD,YAAe4R,GAC/BC,GAAU,GAGZ,IASM+tC,EAAetiG,EAAMyiD,MAAQ7I,IAAe0a,EAMlD,GALAiuC,GAAaH,EAAapiG,EAAMo0D,OAAQ,CACtC5b,UAAWx4C,EAAMwiG,WAAaxiG,EAAMyiG,kBACpC3vB,aAAc9yE,EAAMw0E,kBAGjB8tB,EAEH,OAAO,KAGT,IAAIt6C,EAAQhoD,EAAM8sC,SAASvsC,OAAOguB,OAAO,GAAIwyC,EAAOiE,WAAWjE,OAAQ,CACrE1jD,MAAO0jD,EAAOgE,OAAOhE,OACrBn2B,IAAK2V,IACH,CACFwgB,OAAAA,EACApJ,UAAAA,EACAlV,OAAQziD,EAAMyiD,KACd+yB,WAAYj1E,OAAOguB,OAAO,GAAIwyC,EAAOiE,WAAWxD,MAAO,CACrDnkD,MAAO0jD,EAAOgE,OAAOvD,MACrB52B,IAAK0pC,MAIT,GAAI16B,EAAY,CACd,IACEmC,EAKE/7C,EALF+7C,OACAC,EAIEh8C,EAJFg8C,UACAJ,EAGE57C,EAHF47C,QACAC,EAEE77C,EAFF67C,WACAF,EACE37C,EADF27C,UAEFqM,GAAqB5c,EAAAA,GAAAA,KAAKwO,EAAY,CACpCO,GAAIn6C,EAAMyiD,KACV1I,QAAQ,EACRgC,OAAQA,EACRC,UAAWA,EACXC,SA9CiB,WACnBsY,GAAU,GAENv0D,EAAMi8C,UACRj8C,EAAMi8C,SAAQt4C,MAAd3D,EAAK6D,YA2CL+3C,QAASA,EACTC,WAAYA,EACZF,UAAWA,EACX7O,SAAUkb,IAId,OAAO2I,EAAyBtV,EAAAA,aAAsB2M,EAAO2I,GAAa,QAE5EsxC,GAAQ32D,YAAc,UACtB,0DC9FMC,GAAe,CACnBmX,WAAYrB,GACZmhD,WAAW,EACX//C,MAAM,EACNkV,UAAW,OAgBb,IAAMsqC,GAAuB57E,EAAAA,YAAiB,SAAAoF,EAK3Cy2E,GAAa,IAJJQ,EAAOj3E,EAAjBqhB,SACA4V,EAAUj3B,EAAVi3B,WAAUqxB,EAAAtoD,EACVuoD,aAAAA,OAAY,IAAAD,EAAG,GAAEA,EACd4uB,EAAU54D,GAAAte,EAAA0f,IAEPy3D,GAAY7sD,EAAAA,EAAAA,QAAO,IACzB8sD,EC9Ba,WACb,IAAMC,GAAa/sD,EAAAA,EAAAA,QAAO,MACpBgtD,EAAez4D,QAAmBxlC,EAAW,WAC7C+kD,GAAS5J,EAAAA,EAAAA,UAAQ,iBAAO,CAC5Bn9C,KAAM,SACN+B,QAAS,CACPglD,OAAQ,WACN,OAAIi5C,EAAWj4F,SAAWurD,GAAS0sC,EAAWj4F,QAASk4F,GAC9CxB,GAAAA,cAGF,CAAC,EAAG,QAGb,CAACwB,IACL,MAAO,CAACD,EAAY,CAACj5C,IDeIm5C,GAAkBC,EAAAvpE,GAAAmpE,EAAA,GAApCj4D,EAAGq4D,EAAA,GAAEx0B,EAASw0B,EAAA,GACf1iD,EAAYC,GAAc0hD,EAAUt3D,GACpCs4D,GAAkC,IAAfxgD,EAAsBrB,GAAOqB,QAAc59C,EACpE,OAAoBsmC,EAAAA,GAAAA,KAAK+3D,GAAWv/F,GAAAA,GAAA,GAAO++F,GAAU,IACnD/3D,IAAK2V,EACLyzB,aAAYpwE,GAAAA,GAAA,GAAOowE,GAAY,IAC7BvF,UAAWA,EAAU1oE,OAAOiuE,EAAavF,WAAa,MAExD/rB,WAAYwgD,EACZp2D,SAAU,SAACs2D,EAAYz1E,GAIjB,IACA01E,EAAkBC,EAJtB9tB,EAAU7nD,EAAV6nD,WACQ+tB,EAAS51E,EAAjBozC,OACAte,EAAI90B,EAAJ80B,MAhCN,SAAkBziD,EAAOw1E,GACvB,IACE5qC,EACE5qC,EADF4qC,IAGK44D,EACHhuB,EADF5qC,IAGF5qC,EAAM4qC,IAAMA,EAAI64D,YAAc74D,EAAI64D,UAAY,SAAAt1F,GAAC,OAAIy8B,EAAIuV,GAAgBhyC,MAEvEqnE,EAAW5qC,IAAM44D,EAAKC,YAAcD,EAAKC,UAAY,SAAAt1F,GAAC,OAAIq1F,EAAKrjD,GAAgBhyC,MA0B3Eu1F,CAASN,EAAc5tB,GAEvB,IAAMmuB,EAAgC,MAAbJ,OAAoB,EAASA,EAAU5rC,UAC1DoJ,EAASxgE,OAAOguB,OAAOq0E,EAAU/3F,QAAS,CAC9C6T,MAAoB,MAAb6kF,OAAoB,EAASA,EAAU7kF,MAC9CklF,eAA6B,MAAbL,OAAoB,EAASA,EAAUj+B,OACvD3N,UAAWgsC,EACXE,iBAA+B,MAAbN,GAAqE,OAAvCF,EAAmBE,EAAU7kF,QAA2F,OAAhE4kF,EAAwBD,EAAiB3hC,cAAcoiC,WAAzH,EAAkJR,EAAsBxyB,qBAAsB,IAEtO,MAAuB,oBAAZ4xB,EAA+BA,EAAO9+F,GAAAA,GAAAA,GAAC,GAAKw/F,GAAY,IACjEzrC,UAAWgsC,EACXlhD,KAAAA,IACKC,GAAcD,GAAQ,CACzBvX,UAAW,SACZ,IACD61B,OAAAA,EACAyU,WAAAA,KAEkBnvD,EAAAA,aAAmBq8E,EAAO9+F,GAAAA,GAAA,GAAOw/F,GAAY,IAC/DzrC,UAAWgsC,EACXnuB,WAAAA,EACAzU,OAAAA,EACA71B,UAAWG,IAAAA,CAAWq3D,EAAQ1iG,MAAMkrC,WAAYwX,GAAcD,GAAQ,QACtEplC,MAAKzZ,GAAAA,GAAA,GAAO8+F,EAAQ1iG,MAAMqd,OACrB+lF,EAAa/lF,iBAM1B4kF,GAAQ32D,YAAc,UACtB22D,GAAQ12D,aAAeA,GACvB,wHE5DA,SAASw4D,GACTluD,EAASxxC,EAAM2/F,GACb,IAAO35F,EAAPqvB,GAAYr1B,EAAI,GAAR,GACFtE,EAASsK,EAAE8qD,cACX8uC,EAAU55F,EAAE65F,eAAiB75F,EAAE85F,YAAYH,GAE3CC,GAAWA,IAAYlkG,GAAYqvD,GAASrvD,EAAQkkG,IACxDpuD,EAAOlyC,WAAC,EAAD+rD,GAAIrrD,IASf,SAAS+/F,GAAc34E,GAYpB,IAXD44E,EAAO54E,EAAP44E,QACA3B,EAAOj3E,EAAPi3E,QACA51D,EAAQrhB,EAARqhB,SAAQinC,EAAAtoD,EACRuoD,aAAAA,OAAY,IAAAD,EAAG,GAAEA,EACXuwB,EAAS74E,EAAfg3B,KAAI8hD,EAAA94E,EACJqrD,YAAAA,OAAW,IAAAytB,GAAQA,EACnBt1C,EAAQxjC,EAARwjC,SACOu1C,EAAU/4E,EAAjBk0B,MACAgY,EAASlsC,EAATksC,UAAS8sC,EAAAh5E,EACTylD,KAAAA,OAAI,IAAAuzB,EAAG9sC,IAA4C,IAA/BA,EAAU7vD,QAAQ,QAAc28F,EACjDzkG,EAAK+pC,GAAAte,EAAA0f,IAEFu5D,GAAiB3uD,EAAAA,EAAAA,QAAO,MACxBwK,EAAYC,GAAckkD,EAAgB53D,EAASlC,KACnD7T,EAAU+7D,KACV6R,GAAgB5uD,EAAAA,EAAAA,QAAO,IACgDqhC,EAAA19C,GAArDic,GAAoB2uD,EAAWxtB,EAAa7nB,GAAS,GAAtExM,EAAI20B,EAAA,GAAEjyB,EAAOiyB,EAAA,GACdz3B,EA7CR,SAAwBA,GACtB,OAAOA,GAA0B,kBAAVA,EAAqBA,EAAQ,CAClD8C,KAAM9C,EACNmkD,KAAMnkD,GA0CMilD,CAAeJ,GAC7B72E,EAIwB,oBAAbmf,EAA0BzmB,EAAAA,SAAAA,KAAoBymB,GAAU9sC,MAAQ,GAHzE6kG,EAAOl3E,EAAPk3E,QACAC,EAAMn3E,EAANm3E,OACAzxD,EAAO1lB,EAAP0lB,QAOIqhB,GAAare,EAAAA,EAAAA,cAAY,WAC7Btf,EAAQg8D,QACR4R,EAAc95F,QAAU,OAEnB80C,EAAM8C,KAKX1rB,EAAQxf,KAAI,WACoB,SAA1BotF,EAAc95F,SAAoBs6C,GAAQ,KAC7CxF,EAAM8C,MANP0C,GAAQ,KAOT,CAACxF,EAAM8C,KAAM0C,EAASpuB,IACnBi+B,GAAa3e,EAAAA,EAAAA,cAAY,WAC7Btf,EAAQg8D,QACR4R,EAAc95F,QAAU,OAEnB80C,EAAMmkD,KAKX/sE,EAAQxf,KAAI,WACoB,SAA1BotF,EAAc95F,SAAoBs6C,GAAQ,KAC7CxF,EAAMmkD,MANP3+C,GAAQ,KAOT,CAACxF,EAAMmkD,KAAM3+C,EAASpuB,IACnBguE,GAAc1uD,EAAAA,EAAAA,cAAY,WAC9Bqe,IACW,MAAXmwC,GAA2BA,EAAOlhG,WAAC,EAADE,aACjC,CAAC6wD,EAAYmwC,IACVG,GAAa3uD,EAAAA,EAAAA,cAAY,WAC7B2e,IACU,MAAV8vC,GAA0BA,EAAMnhG,WAAC,EAADE,aAC/B,CAACmxD,EAAY8vC,IACVlsD,GAAcvC,EAAAA,EAAAA,cAAY,WAC9B8O,GAAS1C,GACE,MAAXpP,GAA2BA,EAAO1vC,WAAC,EAADE,aACjC,CAACwvC,EAAS8R,EAAS1C,IAChBwiD,GAAkB5uD,EAAAA,EAAAA,cAAY,WAAa,QAAAjxC,EAAAvB,UAAA3D,OAATmE,EAAI,IAAApC,MAAAmD,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJhB,EAAIgB,GAAAxB,UAAAwB,GAC1C0+F,GAAmBrvC,EAAYrwD,EAAM,iBACpC,CAACqwD,IACEwwC,GAAiB7uD,EAAAA,EAAAA,cAAY,WAAa,QAAA9wC,EAAA1B,UAAA3D,OAATmE,EAAI,IAAApC,MAAAsD,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJnB,EAAImB,GAAA3B,UAAA2B,GACzCu+F,GAAmB/uC,EAAY3wD,EAAM,eACpC,CAAC2wD,IACEmwC,EAAsB,MAAXd,EAAkB,GAAK,GAAGt+F,OAAOs+F,GAC5Ce,EAAe,CACnBx6D,IAlDgB,SAAAz8B,GAChBoyC,EAAUJ,GAAgBhyC,MAmE5B,OAfmC,IAA/Bg3F,EAASr9F,QAAQ,WACnBs9F,EAAa/xD,QAAUuF,IAGU,IAA/BusD,EAASr9F,QAAQ,WACnBs9F,EAAaP,QAAUE,EACvBK,EAAaN,OAASE,IAGW,IAA/BG,EAASr9F,QAAQ,WAEnBs9F,EAAaC,YAAcJ,EAC3BG,EAAaE,WAAaJ,IAGR9hD,EAAAA,GAAAA,MAAM4B,GAAAA,SAAW,CACnClY,SAAU,CAAqB,oBAAbA,EAA0BA,EAASs4D,IAA6BG,EAAAA,EAAAA,cAAaz4D,EAAUs4D,IAA4Bh6D,EAAAA,GAAAA,KAAK62D,GAAOr+F,GAAAA,GAAA,GAAO5D,GAAK,IAC3JyiD,KAAMA,EACN2R,OAAQY,EACRkc,KAAMA,EACNvZ,UAAWA,EACXqc,aAAcA,EACdj0E,OAAQ2kG,EAAe75F,QACvBiiC,SAAU41D,QAKhB0B,GAAe74D,aA/GM,CACnBurC,aAAa,EACbutB,QAAS,CAAC,QAAS,UA8GrB,UC1Ie,SAASmB,GAAc/5E,GAA2C,IAAzC4nB,EAAO5nB,EAAP4nB,QAASgxD,EAAO54E,EAAP44E,QAASv3D,EAAQrhB,EAARqhB,SAAU6qB,EAASlsC,EAATksC,UACVzS,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAjDo/E,EAAYvgD,EAAA,GAAEwgD,EAAexgD,EAAA,GAC9B13C,EAAWq+E,KAEX8Z,EAAgBt/E,EAAAA,aAAkB,WACtCq/E,GAAgB,GAChBryD,GAAWA,MACV,CAACA,IAEEuyD,GACJxiD,EAAAA,GAAAA,MAACm+C,GAAO,CAACrtE,GAAG,gBAAe4Y,SAAA,EACzB1B,EAAAA,GAAAA,KAACm2D,GAAAA,OAAc,CAACv2D,GAAG,KAAI8B,SAAC,aACxBsW,EAAAA,GAAAA,MAACm+C,GAAAA,KAAY,CAAAz0D,SAAA,EACX1B,EAAAA,GAAAA,KAAA,OAAA0B,SACGA,KAEHsW,EAAAA,GAAAA,MAAA,OAAKlY,UAAU,8CAA6C4B,SAAA,EAC1D1B,EAAAA,GAAAA,KAAA,OAAKF,UAAU,SAAQ4B,UACrB1B,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,SACRrO,QAASsyD,EAAc74D,SAET,OAAbt/B,EAAoB,eAAO,gBAGhC49B,EAAAA,GAAAA,KAAA,OAAKF,UAAU,SAAQ4B,UACrB1B,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRrO,QAAS,kBAAMqyD,GAAgB,IAAO54D,SAExB,OAAbt/B,EAAoB,eAAO,qBAQxC,OACE49B,EAAAA,GAAAA,KAACg5D,GAAc,CAACC,QAAQ,QAAQ1sC,UAAWA,GAAa,QAAS+qC,QAASkD,EAASnjD,KAAMgjD,EAAa34D,UACpG1B,EAAAA,GAAAA,KAAA,QAAMiI,QAAS,SAAChpC,GACdA,EAAE0pC,iBACF2xD,GAAiBD,IACjB34D,SACCu3D,MChBT,OA3BA,SAAsB54E,GAAiC,IAA/Bk7B,EAAKl7B,EAALk7B,MAAO7Z,EAAQrhB,EAARqhB,SAAUopD,EAAUzqE,EAAVyqE,WACMhxC,EAAAxrB,GAArBrT,EAAAA,UAAe,GAAM,GAAtCo8B,EAAIyC,EAAA,GAAEC,EAAOD,EAAA,GAEpB,OACE9B,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAClD1B,EAAAA,GAAAA,KAAC4qD,GAAkB,CAAC3iD,QAAS,kBAAM8R,GAAS1C,QAE7CA,GAAQyzC,IAAc9qD,EAAAA,GAAAA,KAAA,QACtBqX,IACCW,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACEsW,EAAAA,GAAAA,MAAC+vC,GAAK,CAACnwC,QAAS,kBAAMmC,GAAQ,IAAOrY,SAAA,EACnCsW,EAAAA,GAAAA,MAAC+vC,GAAAA,OAAY,CAAArmD,SAAA,EACX1B,EAAAA,GAAAA,KAAA,OAAK1iB,IAAKikE,GAAMzhD,UAAU,eAAe8iB,MAAO,GAAI4+B,IAAI,MACxDxhD,EAAAA,GAAAA,KAAA,UAAQF,UAAU,UAAS4B,SAAE6Z,QAE/Bvb,EAAAA,GAAAA,KAAC+nD,GAAAA,KAAU,CAAArmD,SACRA,QAGL1B,EAAAA,GAAAA,KAAA,yBC7BGy6D,GAA6C,SACxDp0D,GAEA,GAAuB,kBAAZA,EACT,MAAM,IAAI5xC,UAAU,mBAGtB,GAAI4xC,EAAQvxC,OARa,MASvB,MAAM,IAAIL,UAAU,wBCTT,SAASimG,GAA2BzmG,EAAK0mG,GACtD,GAAIA,EAAkBjxD,IAAIz1C,GACxB,MAAM,IAAIQ,UAAU,kECDT,SAASmmG,GAA4B3mG,EAAK4mG,GACvD,GAA0B5mG,EAAK4mG,GAC/BA,EAAWzzC,IAAInzD,GCFF,SAAS6mG,GAA2B7mG,EAAK8mG,EAAY1kG,GAClE,GAA0BpC,EAAK8mG,GAC/BA,EAAW5uF,IAAIlY,EAAKoC,GCHP,SAAS2kG,GAAuBlwC,EAAU+vC,EAAY57E,GACnE,IAAK47E,EAAWnxD,IAAIohB,GAClB,MAAM,IAAIr2D,UAAU,kDAGtB,OAAOwqB,ECJM,SAASg8E,GAA6BnwC,EAAUowC,EAAkBhvE,GAE/E,OCHa,SAAwC4+B,EAAUowC,GAC/D,GAAIpwC,IAAaowC,EACf,MAAM,IAAIzmG,UAAU,6CDAtB,CAA8Bq2D,EAAUowC,GACjChvE,EEHM,SAASivE,GAA6BrwC,EAAUiwC,EAAYlzD,GACzE,IAAKkzD,EAAWrxD,IAAIohB,GAClB,MAAM,IAAIr2D,UAAU,gBAAkBozC,EAAS,kCAGjD,OAAOkzD,EAAW1lF,IAAIy1C,GCHT,SAASswC,GAAsBtwC,EAAUiwC,GAEtD,OCJa,SAAkCjwC,EAAU/1D,GACzD,OAAIA,EAAWsgB,IACNtgB,EAAWsgB,IAAI9e,KAAKu0D,GAGtB/1D,EAAWsB,MDDX,CAAwBy0D,EADd,GAA4BA,EAAUiwC,EAAY,QEDtD,SAASM,GAAsBvwC,EAAUiwC,EAAY1kG,GAGlE,OCLa,SAAkCy0D,EAAU/1D,EAAYsB,GACrE,GAAItB,EAAWoX,IACbpX,EAAWoX,IAAI5V,KAAKu0D,EAAUz0D,OACzB,CACL,IAAKtB,EAAWG,SACd,MAAM,IAAIT,UAAU,4CAGtBM,EAAWsB,MAAQA,GDJrB,CAAwBy0D,EADP,GAA4BA,EAAUiwC,EAAY,OACrB1kG,GACvCA,EEDT,IAAMilG,GAAsE,CAC1E,YAAa,CAAC,wBAAwB,GACtC,YAAa,CAAC,iBAAiB,GAC/B,YAAa,CAAC,eAAyB,GACvC,YAAa,CAAC,cAAc,GAC5B,YAAa,CAAC,WAAW,GACzB,YAAa,CAAC,WAAW,GACzB,YAAa,CAAC,gBAAgB,GAAM,GACpC,YAAa,CAAC,WAAW,GACzB,YAAa,CAAC,UAAU,GACxB,YAAa,CAAC,UAAU,GACxB,YAAa,CAAC,yBAAyB,GACvC,YAAa,CAAC,WAAW,GACzB,WAAY,CAAC,+BAA+B,GAC5C,aAAc,CAAC,aAAa,IAKxBC,GAAc,SAACp/F,GAAS,OAAKA,EAAEQ,QAAQ,YAAa,SAMpD6+F,GAAiB,SAACC,GAAgB,OAAaA,EAAO97F,KAAK,KAepD+7F,GAAa,SACxBC,EACA99E,GAEA,IAAM+9E,EAAM/9E,EAEZ,GAAyB,MAArB89E,EAAK5xF,OAAO6xF,GACd,MAAM,IAAI7jF,MAAM,6BAGlB,IA7BoB5b,EA6Bds/F,EAAmB,GACnBI,EAAiB,GAEnBhnG,EAAI+mG,EAAM,EACVE,GAAW,EACXC,GAAQ,EACRC,GAAW,EACXC,GAAS,EACTC,EAASN,EACTO,EAAa,GACjBC,EAAO,KAAOvnG,EAAI8mG,EAAK7mG,QAAQ,CAC7B,IAAMgO,EAAI64F,EAAK5xF,OAAOlV,GACtB,GAAW,MAANiO,GAAmB,MAANA,GAAcjO,IAAM+mG,EAAM,EAA5C,CAMA,GAAU,MAAN94F,GAAag5F,IAAaE,EAAU,CACtCE,EAASrnG,EAAI,EACb,MAIF,GADAinG,GAAW,EACD,OAANh5F,GACGk5F,EADP,CAQA,GAAU,MAANl5F,IAAck5F,EAEhB,IAAK,IAAL,MAAoC7mG,OAAO60B,QAAQsxE,IAAa,eAAE,CAA7D,iBAAOe,EAAG,kBAAGC,EAAI,KAAEC,EAAC,KAAEC,EAAG,KAC5B,GAAIb,EAAKz4D,WAAWm5D,EAAKxnG,GAAI,CAE3B,GAAIsnG,EACF,MAAO,CAAC,MAAM,EAAOR,EAAK7mG,OAAS8mG,GAAK,GAE1C/mG,GAAKwnG,EAAIvnG,OACL0nG,EAAKX,EAAKvjG,KAAKgkG,GACdb,EAAOnjG,KAAKgkG,GACjBP,EAAQA,GAASQ,EACjB,SAASH,GAMfJ,GAAW,EACPG,GAGEr5F,EAAIq5F,EACNV,EAAOnjG,KAAKijG,GAAYY,GAAc,IAAMZ,GAAYz4F,IAC/CA,IAAMq5F,GACfV,EAAOnjG,KAAKijG,GAAYz4F,IAE1Bq5F,EAAa,GACbtnG,KAME8mG,EAAKz4D,WAAW,KAAMruC,EAAI,IAC5B4mG,EAAOnjG,KAAKijG,GAAYz4F,EAAI,MAC5BjO,GAAK,GAGH8mG,EAAKz4D,WAAW,IAAKruC,EAAI,IAC3BsnG,EAAar5F,EACbjO,GAAK,IAKP4mG,EAAOnjG,KAAKijG,GAAYz4F,IACxBjO,UArDImnG,GAAW,EACXnnG,SAdFonG,GAAS,EACTpnG,IAoEJ,GAAIqnG,EAASrnG,EAGX,MAAO,CAAC,IAAI,EAAO,GAAG,GAKxB,IAAK4mG,EAAO3mG,SAAW+mG,EAAK/mG,OAC1B,MAAO,CAAC,MAAM,EAAO6mG,EAAK7mG,OAAS8mG,GAAK,GAO1C,GACkB,IAAhBC,EAAK/mG,QACa,IAAlB2mG,EAAO3mG,QACP,SAAS6C,KAAK8jG,EAAO,MACpBQ,EACD,CACA,IAAMl5F,EAAyB,IAArB04F,EAAO,GAAG3mG,OAAe2mG,EAAO,GAAGhkG,OAAO,GAAKgkG,EAAO,GAChE,MAAO,EAtIWt/F,EAsIG4G,EArIvB5G,EAAEQ,QAAQ,2BAA4B,UAqIX,EAAOu/F,EAASN,GAAK,GAGhD,IAAMa,EAAU,KAAOR,EAAS,IAAM,IAAMT,GAAeC,GAAU,IAC/DiB,EAAQ,KAAOT,EAAS,GAAK,KAAOT,GAAeK,GAAQ,IAQjE,MAAO,CANLJ,EAAO3mG,QAAU+mG,EAAK/mG,OAClB,IAAM2nG,EAAU,IAAMC,EAAQ,IAC9BjB,EAAO3mG,OACP2nG,EACAC,EAEQX,EAAOG,EAASN,GAAK,IC5JxB,GAAW,SACtBz/F,GAIE,6DADkD,GAAE,IADpDwgG,qBAAAA,OAAoB,IAAG,GAAK,EAG9B,OAAOA,EACHxgG,EAAEQ,QAAQ,iBAAkB,MAC5BR,EAAEQ,QAAQ,4BAA6B,QAAQA,QAAQ,aAAc,OCqBrEigG,GAAQ,IAAInrC,IAAiB,CAAC,IAAK,IAAK,IAAK,IAAK,MAClDorC,GAAgB,SAAC/5F,GAAS,OAC9B85F,GAAMlzD,IAAI5mC,IAONg6F,GAAa,UAKbC,GAAkB,IAAItrC,IAAI,CAAC,IAAK,MAEhCurC,GAAW,IAAIvrC,IAAI,CAAC,KAAM,MAC1BwrC,GAAa,IAAIxrC,IAAI,mBACrByrC,GAAe,SAAC/gG,GAAS,OAC7BA,EAAEQ,QAAQ,2BAA4B,SAGlCwgG,GAAQ,OAGRC,GAAOD,SAGPE,GAAcF,SAGpB,mMAEaG,GAAG,WAiBd,WACEvkG,EACA46D,GAC8B,IAA9Bl6D,EAAA,uDAA4B,GAAE,qKAfd,IAAK,8BACI,KAAE,oJAIN,IAAK,6GAKP,IAOnBP,KAAKH,KAAOA,EAERA,GAAM,GAAAG,KAAI,IAAa,GAC3B,GAAAA,KAAI,GAAWy6D,GACf,GAAAz6D,KAAI,GAAS,GAAAA,KAAI,UAAWA,KAAI,QAAiBA,MACjD,GAAAA,KAAI,GAAY,GAAAA,KAAI,MAAWA,KAAOO,EAAU,GAAH,GAAGP,KAAI,SACpD,GAAAA,KAAI,GAAS,GAAAA,KAAI,MAAWA,KAAO,GAAK,GAAH,GAAGA,KAAI,SAC/B,MAATH,GAAiB,GAAD,GAACG,KAAI,SAAoB,GAAAA,KAAI,IAAOZ,KAAKY,MAC7D,GAAAA,KAAI,GAAgB,GAAAA,KAAI,IAAW,MAAAA,KAAI,QAAgBpE,OAAS,GAsQjE,OArQA,yBAED,WAEE,QAAuB4E,IAAnB,GAAAR,KAAI,IAA0B,OAAO,GAAAA,KAAI,IAC7C,IACoB,EADpB,QACgBA,KAAI,SAApB,IAAK,EAAL,qBAA6B,KAAlBpD,EAAC,QACV,GAAiB,kBAANA,IACPA,EAAEiD,MAAQjD,EAAEynG,UAAU,OAAO,GAACrkG,KAAI,IAAa,IAErD,8BACA,OAAO,GAAAA,KAAI,MAGb,sBACA,WACE,YAAuBQ,IAAnB,GAAAR,KAAI,IAAiC,GAAAA,KAAI,IACxCA,KAAKH,KAGD,GAACG,KAAI,GACVA,KAAKH,KAAO,IAAM,GAAAG,KAAI,IAAQ+J,KAAI,SAAAnN,GAAC,OAAI8H,OAAO9H,MAAI6J,KAAK,KAAO,KAHzD,GAACzG,KAAI,GAAa,GAAAA,KAAI,IAAQ+J,KAAI,SAAAnN,GAAC,OAAI8H,OAAO9H,MAAI6J,KAAK,OAKjE,kBAuCD,WAA+B,2BAAvB8D,EAAuB,yBAAvBA,EAAuB,gBAC7B,IAAK,IAAL,MAAgBA,EAAK,eAAE,CAAlB,IAAM3N,EAAC,KACV,GAAU,KAANA,EAAJ,CAEA,GAAiB,kBAANA,KAAoBA,aAAawnG,GAAO,GAAAxnG,EAAC,MAAaoD,MAC/D,MAAM,IAAI6e,MAAM,iBAAmBjiB,GAGrC,GAAAoD,KAAI,IAAQZ,KAAKxC,OAEpB,oBAED,WAAM,MACE4f,EACU,OAAdxc,KAAKH,KACD,GAAAG,KAAI,IAAQzB,QAAQwL,KAAI,SAAAnN,GAAC,MAAkB,kBAANA,EAAiBA,EAAIA,EAAE8vB,YAAU,CACrE1sB,KAAKH,MAAI,UAAK,GAAAG,KAAI,IAAQ+J,KAAI,SAAAnN,GAAC,OAAKA,EAAU8vB,cASrD,OARI1sB,KAAKskG,YAActkG,KAAKH,MAAM2c,EAAIsjB,QAAQ,IAE5C9/B,KAAKukG,UACJvkG,OAAS,GAAAA,KAAI,KACX,MAAAA,KAAI,SAA6C,OAAnB,QAAJ,KAAAA,KAAI,wBAAJ,EAAcH,QAE3C2c,EAAIpd,KAAK,IAEJod,IACR,qBAED,WAAO,MACL,GAAI,GAAAxc,KAAI,MAAWA,KAAM,OAAO,EAEhC,GAAS,QAAL,KAACA,KAAI,mBAAJ,EAAcskG,UAAW,OAAO,EACrC,GAA0B,IAAtB,GAAAtkG,KAAI,IAAqB,OAAO,EAGpC,IADA,IAAMpD,EAAI,GAAAoD,KAAI,IACLrE,EAAI,EAAGA,EAAI,GAAAqE,KAAI,IAAerE,IAAK,CAC1C,IAAM6oG,EAAK,GAAA5nG,EAAC,IAAQjB,GACpB,KAAM6oG,aAAcJ,GAAmB,MAAZI,EAAG3kG,MAC5B,OAAO,EAGX,OAAO,IACR,mBAED,WAAK,UACH,GAAI,GAAAG,KAAI,MAAWA,KAAM,OAAO,EAChC,GAA2B,OAAnB,QAAJ,KAAAA,KAAI,wBAAJ,EAAcH,MAAc,OAAO,EACvC,GAAS,QAAL,KAACG,KAAI,mBAAJ,EAAcukG,QAAS,OAAO,EACnC,IAAKvkG,KAAKH,KAAM,OAAW,QAAX,KAAOG,KAAI,wBAAJ,EAAcukG,QAGrC,IAAME,EAAK,GAAAzkG,KAAI,IAAW,MAAAA,KAAI,QAAgBpE,OAAS,EAEvD,OAAO,GAAAoE,KAAI,MAAkBykG,EAAK,IACnC,oBAED,SAAOrzF,GACe,kBAATA,EAAmBpR,KAAKZ,KAAKgS,GACnCpR,KAAKZ,KAAKgS,EAAKwP,MAAM5gB,SAC3B,mBAED,SAAMy6D,GACJ,IACoB,EADd7wD,EAAI,IAAIw6F,EAAIpkG,KAAKH,KAAM46D,GAAO,QACpBz6D,KAAI,SAApB,IAAK,EAAL,qBAA6B,KAAlBpD,EAAC,QACVgN,EAAE86F,OAAO9nG,IACV,8BACD,OAAOgN,IACR,yBAwID,WAGE,GAAI5J,OAAS,GAAAA,KAAI,IAAQ,OAAO,GAAAA,KAAI,IAAO2kG,cAE3C,IAAMlC,EAAOziG,KAAK1B,WACuC,KAArB0B,KAAK4kG,iBAAgB,GAAlDC,EAAE,KAAEjgF,EAAI,KAAEy/E,EAAQ,KAAExB,EAAK,KAUhC,KALEwB,GAAQ,GACRrkG,KAAI,KACH,GAAAA,KAAI,IAAU8kG,SACZ,GAAA9kG,KAAI,IAAU+kG,iBACftC,EAAK3xF,gBAAkB2xF,EAAK13F,eAE9B,OAAO6Z,EAGT,IAAMogF,GAAS,GAAAhlG,KAAI,IAAU8kG,OAAS,IAAM,KAAOjC,EAAQ,IAAM,IACjE,OAAO5mG,OAAOguB,OAAO,IAAIngB,OAAO,IAAD,OAAK+6F,EAAE,KAAKG,GAAQ,CACjDC,KAAMJ,EACNK,MAAOzC,MAwEX,4BACA,SACE0C,GAAkB,WAEZC,EAAc,OAARD,QAAQ,IAARA,EAAAA,IAAc,GAAAnlG,KAAI,IAAUolG,IAExC,GADI,GAAAplG,KAAI,MAAWA,MAAM,GAAAA,KAAI,YAAJA,OACpBA,KAAKH,KAAM,OACRwlG,EAAUrlG,KAAKskG,WAAatkG,KAAKukG,QACjCngF,EAAM,GAAApkB,KAAI,IACb+J,KAAI,SAAAnN,GACH,IAGgC,KAFjB,kBAANA,EAAc,GACjBwnG,EAnZHA,EAAG,SAmZAA,EAAexnG,EAAG,KAAI,IAAYyoG,GAClCzoG,EAAEgoG,eAAeO,GAAS,GAHzBN,EAAE,KAAKR,GAAF,KAAU,MAAExB,EAAK,KAM7B,OAFA,KAAI,GAAa,KAAI,KAAcwB,GACnC,KAAI,GAAU,KAAI,KAAWxB,GACtBgC,KAERp+F,KAAK,IAEJ,EAAQ,GACZ,GAAIzG,KAAKskG,UACP,GAA8B,kBAAnB,GAAAtkG,KAAI,IAAQ,GAQrB,KADyB,IAAvB,GAAAA,KAAI,IAAQpE,QAAgBkoG,GAAStzD,IAAI,GAAAxwC,KAAI,IAAQ,KAClC,CACnB,IAAMslG,EAAMzB,GAGN0B,EAEHH,GAAOE,EAAI90D,IAAIpsB,EAAIvT,OAAO,KAE1BuT,EAAI4lB,WAAW,QAAUs7D,EAAI90D,IAAIpsB,EAAIvT,OAAO,KAE5CuT,EAAI4lB,WAAW,WAAas7D,EAAI90D,IAAIpsB,EAAIvT,OAAO,IAG5C20F,GAAaJ,IAAQD,GAAYG,EAAI90D,IAAIpsB,EAAIvT,OAAO,IAE1D,EAAQ00F,EA7cK,4BA6c2BC,EAAY5B,GAAa,GAMvE,IAAI72D,EAAM,GASV,OAPE/sC,KAAKukG,SAAO,MACZvkG,KAAI,SACmB,OAAnB,QAAJ,KAAAA,KAAI,wBAAJ,EAAcH,QAEdktC,EAAM,aAGD,CADO,EAAQ3oB,EAAM2oB,EAG1B,GAAS3oB,GAAI,GACZpkB,KAAI,KAAe,GAAAA,KAAI,KAAU,GAClCA,KAAI,KAQR,IAAMylG,EAAyB,MAAdzlG,KAAKH,MAA8B,MAAdG,KAAKH,KAErC08D,EAAsB,MAAdv8D,KAAKH,KAAe,YAAc,MAC5C+kB,EAAO,GAAA5kB,KAAI,YAAJA,KAAoBolG,GAE/B,GAAIplG,KAAKskG,WAAatkG,KAAKukG,UAAY3/E,GAAsB,MAAd5kB,KAAKH,KAAc,CAGhE,IAAMoD,EAAIjD,KAAK1B,WAIf,OAHA,GAAA0B,KAAI,GAAU,CAACiD,IACfjD,KAAKH,KAAO,KACZ,GAAAG,KAAI,QAAaQ,GACV,CAACyC,EAAG,GAASjD,KAAK1B,aAAa,GAAO,GAI/C,IAAIonG,GACDD,GAAYN,GAAYC,EACrB,GAAE,GACFplG,KAAI,YAAJA,MAAoB,GACtB0lG,IAAmB9gF,IACrB8gF,EAAiB,IAEfA,IACF9gF,EAAO,MAAH,OAASA,EAAI,eAAO8gF,EAAc,QAIxC,IAAIC,EAAQ,GACM,MAAd3lG,KAAKH,MAAgB,GAAAG,KAAI,IAC3B2lG,GAAS3lG,KAAKskG,YAAcc,EAAMxB,GAAa,IAAMO,GAkBrDwB,EAAQppC,EAAQ33C,GAfA,MAAd5kB,KAAKH,KAED,OACCG,KAAKskG,WAAcc,GAAQD,EAAwB,GAAbvB,IACvCM,GACA,IACc,MAAdlkG,KAAKH,KACL,IACc,MAAdG,KAAKH,KACL,KACc,MAAdG,KAAKH,MAAgB6lG,EACrB,IACc,MAAd1lG,KAAKH,MAAgB6lG,EAAc,gBAE/B1lG,KAAKH,OAGjB,MAAO,CACL8lG,EACA,GAAS/gF,GAAK,GACb5kB,KAAI,KAAe,GAAAA,KAAI,KAAU,GAClCA,KAAI,QAEP,uBAvOD,SAAgBmtC,GAA+C,IAA9B5sC,EAAA,uDAA4B,GACrDqlG,EAAM,IAAIxB,EAAI,UAAM5jG,EAAWD,GAErC,OADA,GAAA6jG,EAlSSA,EAAG,SAkSZA,EAAcj3D,EAASy4D,EAAK,EAAGrlG,GACxBqlG,MACR,EApSa,GA2kBf,cAjhBG,GAAI5lG,OAAS,GAAAA,KAAI,IAAQ,MAAM,IAAI6e,MAAM,4BACzC,GAAI,GAAA7e,KAAI,IAAc,OAAOA,KAM7B,IAAI3B,EACJ,IAHA2B,KAAK1B,WACL,GAAA0B,KAAI,IAAe,GAEX3B,EAAI,GAAA2B,KAAI,IAAOsQ,OACrB,GAAe,MAAXjS,EAAEwB,KAIN,IAFA,IAAIjD,EAAqByB,EACrBmmG,EAAK,GAAA5nG,EAAC,IACH4nG,GAAI,CACT,IACE,IAAI7oG,EAAI,GAAAiB,EAAC,IAAgB,GACxB4nG,EAAG3kG,MAAQlE,EAAI,GAAA6oG,EAAE,IAAQ5oG,OAC1BD,IACA,KACoB,EADpB,QACmB0C,EAAC,SAApB,IAAK,EAAL,qBAA6B,KAAlB+S,EAAI,QAEb,GAAoB,kBAATA,EACT,MAAM,IAAIyN,MAAM,gCAGlBzN,EAAKszF,OAAO,GAAAF,EAAE,IAAQ7oG,KACvB,+BAGH6oG,EAAK,GADL5nG,EAAI4nG,EACE,IAGV,OAAOxkG,KACR,YAwEC4E,EACAghG,EACAlD,EACAnqF,GAEA,IAAIuqF,GAAW,EACX+C,GAAU,EACVC,GAAc,EACdC,GAAW,EACf,GAAiB,OAAbH,EAAI/lG,KAAe,CAIrB,IAFA,IAAI,EAAI6iG,EACJ,EAAM,GACH,EAAI99F,EAAIhJ,QAAQ,CACrB,IAAMgO,EAAIhF,EAAIiM,OAAO,KAGrB,GAAIiyF,GAAkB,OAANl5F,EACdk5F,GAAYA,EACZ,GAAOl5F,OAIT,GAAIi8F,EACE,IAAMC,EAAa,EACX,MAANl8F,GAAmB,MAANA,IACfm8F,GAAW,GAEE,MAANn8F,GAAe,IAAMk8F,EAAa,GAAKC,IAChDF,GAAU,GAEZ,GAAOj8F,OAEF,GAAU,MAANA,EAQX,GAAK2O,EAAIytF,QAASrC,GAAc/5F,IAAwB,MAAlBhF,EAAIiM,OAAO,GAQjD,GAAOjH,MARP,CACEg8F,EAAIxmG,KAAK,GACT,EAAM,GACN,IAAM6mG,EAAM,IAAI7B,GAAIx6F,EAAGg8F,GACvB,EAAI,GAAAxB,GAhNDA,GAAG,SAgNFA,GAAcx/F,EAAKqhG,EAAK,EAAG1tF,GAC/BqtF,EAAIxmG,KAAK6mG,QAZTJ,GAAU,EACVC,EAAa,EACbC,GAAW,EACX,GAAOn8F,EAeX,OADAg8F,EAAIxmG,KAAK,GACF,EAST,IAJA,IAAIzD,EAAI+mG,EAAM,EACVtxF,EAAO,IAAIgzF,GAAI,KAAMwB,GACnBr7F,EAAe,GACjBg/C,EAAM,GACH5tD,EAAIiJ,EAAIhJ,QAAQ,CACrB,IAAM,EAAIgJ,EAAIiM,OAAOlV,KAGrB,GAAImnG,GAAkB,OAAN,EACdA,GAAYA,EACZv5C,GAAO,OAIT,GAAIs8C,EACElqG,IAAMmqG,EAAa,EACX,MAAN,GAAmB,MAAN,IACfC,GAAW,GAEE,MAAN,GAAepqG,IAAMmqG,EAAa,GAAKC,IAChDF,GAAU,GAEZt8C,GAAO,OAEF,GAAU,MAAN,EAQX,GAAIo6C,GAAc,IAAwB,MAAlB/+F,EAAIiM,OAAOlV,GAAnC,CACEyV,EAAKhS,KAAKmqD,GACVA,EAAM,GACN,IAAM,EAAM,IAAI66C,GAAI,EAAGhzF,GACvBA,EAAKhS,KAAK,GACVzD,EAAI,GAAAyoG,GAjQCA,GAAG,SAiQJA,GAAcx/F,EAAK,EAAKjJ,EAAG4c,QAGjC,GAAU,MAAN,EAAJ,CAOA,GAAU,MAAN,EAOF,MANY,KAARgxC,GAAoC,IAAtB,GAAAq8C,EAAG,IAAQhqG,QAC3B,GAAAgqG,EAAG,IAAa,GAElBx0F,EAAKhS,KAAKmqD,GACVA,EAAM,GACNq8C,EAAIxmG,KAAI,MAARwmG,EAAYr7F,EAAK,QAAE6G,KACZzV,EAET4tD,GAAO,OAfLn4C,EAAKhS,KAAKmqD,GACVA,EAAM,GACNh/C,EAAMnL,KAAKgS,GACXA,EAAO,IAAIgzF,GAAI,KAAMwB,QAnBrBC,GAAU,EACVC,EAAanqG,EACboqG,GAAW,EACXx8C,GAAO,EAqCX,OAHAq8C,EAAI/lG,KAAO,KACX,GAAA+lG,EAAG,QAAaplG,GAChB,GAAAolG,EAAG,GAAU,CAAChhG,EAAIsF,UAAUw4F,EAAM,KAC3B/mG,EACR,YA2OcypG,GAAY,WACzB,OAAO,GAAAplG,KAAI,IACR+J,KAAI,SAAAnN,GAGH,GAAiB,kBAANA,EACT,MAAM,IAAIiiB,MAAM,gCAIlB,IAAuD,KAArBjiB,EAAEgoG,eAAeQ,GAAI,GAAhDP,EAAE,KAAgBhC,GAAb,KAAW,KAAO,MAE9B,OADA,KAAI,GAAU,KAAI,KAAWA,GACtBgC,KAER5lG,QAAO,SAAArC,GAAC,QAAM,EAAK0nG,WAAa,EAAKC,YAAc3nG,KACnD6J,KAAK,KACT,YAGCg8F,EACA4B,GAMA,IALwB,IAAxBgB,EAAA,wDAEIvC,GAAW,EACX+B,EAAK,GACLhC,GAAQ,EACHlnG,EAAI,EAAGA,EAAI8mG,EAAK7mG,OAAQD,IAAK,CACpC,IAAMiO,EAAI64F,EAAK5xF,OAAOlV,GACtB,GAAImnG,EACFA,GAAW,EACX+B,IAAOd,GAAWvzD,IAAI5mC,GAAK,KAAO,IAAMA,OAG1C,GAAU,OAANA,EAAJ,CAQA,GAAU,MAANA,EAAW,CACb,MAA0C44F,GAAWC,EAAM9mG,GAAE,UAAtDyoB,EAAG,KAAE8hF,EAAS,KAAEC,EAAQ,KAAEC,EAAK,KACtC,GAAID,EAAU,CACZtB,GAAMzgF,EACNy+E,EAAQA,GAASqD,EACjBvqG,GAAKwqG,EAAW,EAChB9B,EAAWA,GAAY+B,EACvB,UAGM,MAANx8F,EAMM,MAANA,EAKJi7F,GAAMb,GAAap6F,IAJjBi7F,GAAMZ,GACNI,GAAW,IAPkBQ,GAAzBQ,GAAoB,MAAT5C,EAAoB0B,GACxBD,GACXG,GAAW,QApBP1oG,IAAM8mG,EAAK7mG,OAAS,EACtBipG,GAAM,OAEN/B,GAAW,EA2BjB,MAAO,CAAC+B,EAAI,GAASpC,KAAS4B,EAAUxB,GC5oBrC,ICgCMwD,GAAY,SACvBzpG,EACAuwC,GAEE,IADF5sC,EAAA,uDAA4B,GAK5B,OAHAghG,GAAmBp0D,MAGd5sC,EAAQ+lG,WAAmC,MAAtBn5D,EAAQt8B,OAAO,KAIlC,IAAI01F,GAAUp5D,EAAS5sC,GAAS6J,MAAMxN,IAIzC4pG,GAAe,wBACfC,GAAiB,SAACR,GAAW,OAAK,SAACtvF,GAAS,OAC/CA,EAAEqzB,WAAW,MAAQrzB,EAAEhQ,SAASs/F,KAC7BS,GAAoB,SAACT,GAAW,OAAK,SAACtvF,GAAS,OAAKA,EAAEhQ,SAASs/F,KAC/DU,GAAuB,SAACV,GAE5B,OADAA,EAAMA,EAAIl7F,cACH,SAAC4L,GAAS,OAAMA,EAAEqzB,WAAW,MAAQrzB,EAAE5L,cAAcpE,SAASs/F,KAEjEW,GAA0B,SAACX,GAE/B,OADAA,EAAMA,EAAIl7F,cACH,SAAC4L,GAAS,OAAKA,EAAE5L,cAAcpE,SAASs/F,KAE3CY,GAAgB,aAChBC,GAAkB,SAACnwF,GAAS,OAAMA,EAAEqzB,WAAW,MAAQrzB,EAAEhC,SAAS,MAClEoyF,GAAqB,SAACpwF,GAAS,MAC7B,MAANA,GAAmB,OAANA,GAAcA,EAAEhC,SAAS,MAClCqyF,GAAY,UACZC,GAAc,SAACtwF,GAAS,MAAW,MAANA,GAAmB,OAANA,GAAcA,EAAEqzB,WAAW,MACrEk9D,GAAS,QACTC,GAAW,SAACxwF,GAAS,OAAkB,IAAbA,EAAE/a,SAAiB+a,EAAEqzB,WAAW,MAC1Do9D,GAAc,SAACzwF,GAAS,OAAkB,IAAbA,EAAE/a,QAAsB,MAAN+a,GAAmB,OAANA,GAC5D0wF,GAAW,yBACXC,GAAmB,SAAH,GAAwC,cAAnCC,EAAE,YAAEtB,OAAG,IAAG,KAAE,EAC/BD,EAAQwB,GAAgB,CAACD,IAC/B,OAAKtB,GACLA,EAAMA,EAAIl7F,cACH,SAAC4L,GAAS,OAAKqvF,EAAMrvF,IAAMA,EAAE5L,cAAcpE,SAASs/F,KAF1CD,GAIbyB,GAAsB,SAAH,GAAwC,cAAnCF,EAAE,YAAEtB,OAAG,IAAG,KAAE,EAClCD,EAAQ0B,GAAmB,CAACH,IAClC,OAAKtB,GACLA,EAAMA,EAAIl7F,cACH,SAAC4L,GAAS,OAAKqvF,EAAMrvF,IAAMA,EAAE5L,cAAcpE,SAASs/F,KAF1CD,GAIb2B,GAAgB,SAAH,GAAwC,cAAnCJ,EAAE,YAAEtB,OAAG,IAAG,KAAE,EAC5BD,EAAQ0B,GAAmB,CAACH,IAClC,OAAQtB,EAAc,SAACtvF,GAAS,OAAKqvF,EAAMrvF,IAAMA,EAAEhQ,SAASs/F,IAA9CD,GAEV4B,GAAa,SAAH,GAAwC,cAAnCL,EAAE,YAAEtB,OAAG,IAAG,KAAE,EACzBD,EAAQwB,GAAgB,CAACD,IAC/B,OAAQtB,EAAc,SAACtvF,GAAS,OAAKqvF,EAAMrvF,IAAMA,EAAEhQ,SAASs/F,IAA9CD,GAEVwB,GAAkB,SAAH,GAA8B,IAC3CvpG,EAD2C,QAAvB,GACXrC,OACf,OAAO,SAAC+a,GAAS,OAAKA,EAAE/a,SAAWqC,IAAQ0Y,EAAEqzB,WAAW,OAEpD09D,GAAqB,SAAH,GAA8B,IAC9CzpG,EAD8C,QAAvB,GACdrC,OACf,OAAO,SAAC+a,GAAS,OAAKA,EAAE/a,SAAWqC,GAAa,MAAN0Y,GAAmB,OAANA,IAInDkxF,GACe,kBAAZn/F,SAAwBA,QAGzB,sJAAYo/F,gCACdp/F,QAAQkpB,SACR,QAUNy0E,GAAU9uF,IAD6B,UAApBswF,GALV,CAAEtwF,IAAK,MAK4CA,IAJnD,CAAEA,IAAK,KAI6DA,IAGtE,IAAMwwF,GAAW/sG,OAAO,eAC/BqrG,GAAU0B,SAAWA,GAsBrB1B,GAAUpnG,OAHR,SAACkuC,GAAe,IAAE5sC,EAAA,uDAA4B,GAAE,OAChD,SAAC3D,GAAS,OACRypG,GAAUzpG,EAAGuwC,EAAS5sC,KAG1B,IAAM0lG,GAAM,SAACjjG,GAAmB,IAAE0mB,EAAA,uDAAsB,GAAE,OACxDztB,OAAOguB,OAAO,GAAIjnB,EAAG0mB,IAkEvB28E,GAAUr1E,SAhEc,SAACg3E,GACvB,IAAKA,GAAsB,kBAARA,IAAqB/rG,OAAO6C,KAAKkpG,GAAKpsG,OACvD,OAAOyqG,GAGT,IAAM4B,EAAO5B,GAKb,OAAOpqG,OAAOguB,QAHJ,SAACrtB,EAAWuwC,GAAe,IAAE5sC,EAAA,uDAA4B,GAAE,OACnE0nG,EAAKrrG,EAAGuwC,EAAS84D,GAAI+B,EAAKznG,MAEJ,CACtBgmG,UAAS,+BACP,WAAYp5D,GAA+C,IAA9B5sC,EAAA,uDAA4B,GAAE,6BACnD4sC,EAAS84D,GAAI+B,EAAKznG,IAIzB,OAHA,gCACD,SAAgBA,GACd,OAAO0nG,EAAKj3E,SAASi1E,GAAI+B,EAAKznG,IAAUgmG,cACzC,EANM,CAA0B0B,EAAK1B,WASxCnC,IAAG,+BAED,WACEvkG,EACA46D,GAC8B,IAA9Bl6D,EAAA,uDAA4B,GAAE,6BAExBV,EAAM46D,EAAQwrC,GAAI+B,EAAKznG,IAM9B,OAJD,gCAEA,SAAgB4sC,GAA+C,IAA9B5sC,EAAA,uDAA4B,GAC3D,OAAO0nG,EAAK7D,IAAI8D,SAAS/6D,EAAS84D,GAAI+B,EAAKznG,QAC5C,EAbA,CAAoB0nG,EAAK7D,KAgB5B7pE,SAAU,SACRt3B,GAAS,IACT1C,EAAA,uDAA0D,GAAE,OACzD0nG,EAAK1tE,SAASt3B,EAAGgjG,GAAI+B,EAAKznG,KAE/BuE,OAAQ,SACN7B,GAAS,IACT1C,EAAA,uDAA0D,GAAE,OACzD0nG,EAAKnjG,OAAO7B,EAAGgjG,GAAI+B,EAAKznG,KAE7BtB,OAAQ,SAACkuC,GAAe,IAAE5sC,EAAA,uDAA4B,GAAE,OACtD0nG,EAAKhpG,OAAOkuC,EAAS84D,GAAI+B,EAAKznG,KAEhCywB,SAAU,SAACzwB,GAAyB,OAAK0nG,EAAKj3E,SAASi1E,GAAI+B,EAAKznG,KAEhE4nG,OAAQ,SAACh7D,GAAe,IAAE5sC,EAAA,uDAA4B,GAAE,OACtD0nG,EAAKE,OAAOh7D,EAAS84D,GAAI+B,EAAKznG,KAEhC6nG,YAAa,SAACj7D,GAAe,IAAE5sC,EAAA,uDAA4B,GAAE,OAC3D0nG,EAAKG,YAAYj7D,EAAS84D,GAAI+B,EAAKznG,KAErC6J,MAAO,SAACgP,EAAgB+zB,GAAe,IAAE5sC,EAAA,uDAA4B,GAAE,OACrE0nG,EAAK79F,MAAMgP,EAAM+zB,EAAS84D,GAAI+B,EAAKznG,KAErCgX,IAAK0wF,EAAK1wF,IACVwwF,SAAUA,MAeP,IAAM,GAAc,SACzB56D,GAEE,IADF5sC,EAAA,uDAA4B,GAM5B,OAJAghG,GAAmBp0D,GAIf5sC,EAAQ8nG,UAAY,mBAAmB5pG,KAAK0uC,GAEvC,CAACA,GAGH,GAAOA,IAEhBk5D,GAAU+B,YAAc,GAgBxB/B,GAAU8B,OAFY,SAACh7D,GAAe,IAAE5sC,EAAA,uDAA4B,GAAE,OACpE,IAAIgmG,GAAUp5D,EAAS5sC,GAAS4nG,UAelC9B,GAAUj8F,MAZW,SACnBgP,EACA+zB,GAEE,IADF5sC,EAAA,uDAA4B,GAEtB+nG,EAAK,IAAI/B,GAAUp5D,EAAS5sC,GAKlC,OAJA6Y,EAAOA,EAAKna,QAAO,SAAA0X,GAAC,OAAI2xF,EAAGl+F,MAAMuM,MAC7B2xF,EAAG/nG,QAAQgoG,SAAWnvF,EAAKxd,QAC7Bwd,EAAKha,KAAK+tC,GAEL/zB,GAKT,IAAMovF,GAAY,0BAYLjC,GAAS,WAqBpB,WAAYp5D,GAA+C,IAA9B5sC,EAAA,uDAA4B,GAAE,wdACzDghG,GAAmBp0D,GAEnB5sC,EAAUA,GAAW,GACrBP,KAAKO,QAAUA,EACfP,KAAKmtC,QAAUA,EACfntC,KAAK4xB,SAAWrxB,EAAQqxB,UAAYi2E,GACpC7nG,KAAKyoG,UAA8B,UAAlBzoG,KAAK4xB,SACtB5xB,KAAKyjG,uBACDljG,EAAQkjG,uBAAuD,IAA/BljG,EAAQmoG,mBACxC1oG,KAAKyjG,uBACPzjG,KAAKmtC,QAAUntC,KAAKmtC,QAAQ1pC,QAAQ,MAAO,MAE7CzD,KAAK2oG,0BAA4BpoG,EAAQooG,wBACzC3oG,KAAKiW,OAAS,KACdjW,KAAK+iG,QAAS,EACd/iG,KAAK4oG,WAAaroG,EAAQqoG,SAC1B5oG,KAAK6oG,SAAU,EACf7oG,KAAK8oG,OAAQ,EACb9oG,KAAK+oG,UAAYxoG,EAAQwoG,QACzB/oG,KAAK8kG,SAAW9kG,KAAKO,QAAQukG,OAC7B9kG,KAAKgpG,wBAC4BxoG,IAA/BD,EAAQyoG,mBACJzoG,EAAQyoG,sBACLhpG,KAAKyoG,YAAazoG,KAAK8kG,QAEhC9kG,KAAKipG,QAAU,GACfjpG,KAAKkpG,UAAY,GACjBlpG,KAAKiT,IAAM,GAGXjT,KAAKmpG,OAs0BN,OAr0BA,2BAED,WACE,GAAInpG,KAAKO,QAAQ6oG,eAAiBppG,KAAKiT,IAAIrX,OAAS,EAClD,OAAO,EACR,IAC6B,EAD7B,KACqBoE,KAAKiT,KAAG,IAA9B,IAAK,EAAL,qBAAgC,KACJ,EADV,cACU,IAA1B,IAAK,EAAL,qBAA4B,CAC1B,GAAoB,kBADP,QACiB,OAAO,GACtC,gCACF,8BACD,OAAO,IACR,mBAED,cAAqB,kBAErB,WAAI,WACIk6B,EAAUntC,KAAKmtC,QACf5sC,EAAUP,KAAKO,QAGrB,GAAKA,EAAQ+lG,WAAmC,MAAtBn5D,EAAQt8B,OAAO,GAKzC,GAAKs8B,EAAL,CAMAntC,KAAKqpG,cAGLrpG,KAAKipG,QAAU,GAAI,IAAI1wC,IAAIv4D,KAAKooG,gBAE5B7nG,EAAQK,QACVZ,KAAKY,MAAQ,wBAAoB,EAAAR,SAAQD,MAAK,qBAGhDH,KAAKY,MAAMZ,KAAKmtC,QAASntC,KAAKipG,SAW9B,IAAMK,EAAetpG,KAAKipG,QAAQl/F,KAAI,SAAA9G,GAAC,OAAI,EAAKsmG,WAAWtmG,MAC3DjD,KAAKkpG,UAAYlpG,KAAKwpG,WAAWF,GACjCtpG,KAAKY,MAAMZ,KAAKmtC,QAASntC,KAAKkpG,WAG9B,IAAIj2F,EAAMjT,KAAKkpG,UAAUn/F,KAAI,SAAC9G,EAAGqqC,EAAGm8D,GAClC,GAAI,EAAKhB,WAAa,EAAKO,mBAAoB,CAE7C,IAAMU,EACK,KAATzmG,EAAE,IACO,KAATA,EAAE,KACQ,MAATA,EAAE,KAAeulG,GAAU/pG,KAAKwE,EAAE,OAClCulG,GAAU/pG,KAAKwE,EAAE,IACd0mG,EAAU,WAAWlrG,KAAKwE,EAAE,IAClC,GAAIymG,EACF,MAAO,GAAP,UAAWzmG,EAAE1E,MAAM,EAAG,IAAE,GAAK0E,EAAE1E,MAAM,GAAGwL,KAAI,SAAA6/F,GAAE,OAAI,EAAK37F,MAAM27F,QACxD,GAAID,EACT,MAAO,CAAC1mG,EAAE,IAAE,UAAKA,EAAE1E,MAAM,GAAGwL,KAAI,SAAA6/F,GAAE,OAAI,EAAK37F,MAAM27F,QAGrD,OAAO3mG,EAAE8G,KAAI,SAAA6/F,GAAE,OAAI,EAAK37F,MAAM27F,SAWhC,GARA5pG,KAAKY,MAAMZ,KAAKmtC,QAASl6B,GAGzBjT,KAAKiT,IAAMA,EAAIhU,QACb,SAAAgE,GAAC,OAA0B,IAAtBA,EAAEO,SAAQ,MAIbxD,KAAKyoG,UACP,IAAK,IAAI9sG,EAAI,EAAGA,EAAIqE,KAAKiT,IAAIrX,OAAQD,IAAK,CACxC,IAAMiB,EAAIoD,KAAKiT,IAAItX,GAER,KAATiB,EAAE,IACO,KAATA,EAAE,IACuB,MAAzBoD,KAAKkpG,UAAUvtG,GAAG,IACF,kBAATiB,EAAE,IACT,YAAY6B,KAAK7B,EAAE,MAEnBA,EAAE,GAAK,KAKboD,KAAKY,MAAMZ,KAAKmtC,QAASntC,KAAKiT,UAvE5BjT,KAAK8oG,OAAQ,OALb9oG,KAAK6oG,SAAU,IAmFnB,wBACA,SAAWK,GAET,GAAIlpG,KAAKO,QAAQspG,WACf,IAAK,IAAIluG,EAAI,EAAGA,EAAIutG,EAAUttG,OAAQD,IACpC,IAAK,IAAI6K,EAAI,EAAGA,EAAI0iG,EAAUvtG,GAAGC,OAAQ4K,IACf,OAApB0iG,EAAUvtG,GAAG6K,KACf0iG,EAAUvtG,GAAG6K,GAAK,KAM1B,MAAkCxG,KAAKO,QAA/BupG,kBAAAA,OAAiB,IAAG,IAAC,EAa7B,OAXIA,GAAqB,GAEvBZ,EAAYlpG,KAAK+pG,qBAAqBb,GACtCA,EAAYlpG,KAAKgqG,sBAAsBd,IAGvCA,EAFSY,GAAqB,EAElB9pG,KAAKiqG,iBAAiBf,GAEtBlpG,KAAKkqG,0BAA0BhB,GAGtCA,IAGT,uCACA,SAA0BA,GACxB,OAAOA,EAAUn/F,KAAI,SAAAQ,GAEnB,IADA,IAAI4/F,GAAc,GACV,KAAOA,EAAK5/F,EAAM/G,QAAQ,KAAM2mG,EAAK,KAAK,CAEhD,IADA,IAAIxuG,EAAIwuG,EACgB,OAAjB5/F,EAAM5O,EAAI,IACfA,IAEEA,IAAMwuG,GACR5/F,EAAMnD,OAAO+iG,EAAIxuG,EAAIwuG,GAGzB,OAAO5/F,OAIX,8BACA,SAAiB2+F,GACf,OAAOA,EAAUn/F,KAAI,SAAAQ,GAenB,OAAwB,KAdxBA,EAAQA,EAAMsN,QAAO,SAAC5E,EAAe7B,GACnC,IAAMo3C,EAAOv1C,EAAIA,EAAIrX,OAAS,GAC9B,MAAa,OAATwV,GAA0B,OAATo3C,EACZv1C,EAEI,OAAT7B,GACEo3C,GAAiB,OAATA,GAA0B,MAATA,GAAyB,OAATA,GAC3Cv1C,EAAI3C,MACG2C,IAGXA,EAAI7T,KAAKgS,GACF6B,KACN,KACUrX,OAAe,CAAC,IAAM2O,OAEtC,kCAED,SAAqBA,GACd5M,MAAMC,QAAQ2M,KACjBA,EAAQvK,KAAKupG,WAAWh/F,IAE1B,IAAI6/F,GAAwB,EAC5B,EAAG,CAGD,GAFAA,GAAe,GAEVpqG,KAAK2oG,wBAAyB,CACjC,IAAK,IAAIhtG,EAAI,EAAGA,EAAI4O,EAAM3O,OAAS,EAAGD,IAAK,CACzC,IAAMiB,EAAI2N,EAAM5O,GAEN,IAANA,GAAiB,KAANiB,GAAyB,KAAb2N,EAAM,KACvB,MAAN3N,GAAmB,KAANA,IACfwtG,GAAe,EACf7/F,EAAMnD,OAAOzL,EAAG,GAChBA,MAIW,MAAb4O,EAAM,IACW,IAAjBA,EAAM3O,QACQ,MAAb2O,EAAM,IAA2B,KAAbA,EAAM,KAE3B6/F,GAAe,EACf7/F,EAAM+F,OAMV,IADA,IAAI+5F,EAAa,GACT,KAAOA,EAAK9/F,EAAM/G,QAAQ,KAAM6mG,EAAK,KAAK,CAChD,IAAM,EAAI9/F,EAAM8/F,EAAK,GACjB,GAAW,MAAN,GAAmB,OAAN,GAAoB,OAAN,IAClCD,GAAe,EACf7/F,EAAMnD,OAAOijG,EAAK,EAAG,GACrBA,GAAM,UAGHD,GACT,OAAwB,IAAjB7/F,EAAM3O,OAAe,CAAC,IAAM2O,IAoBrC,kCACA,SAAqB2+F,GACnB,IAAIkB,GAAe,EACnB,EAAG,CACDA,GAAe,EACf,IAC2B,EAD3B,KACkBlB,GAAS,IAA3B,IAAK,EAAL,qBAA6B,CAE3B,IAF2B,IAApB3+F,EAAK,QACR4/F,GAAc,GACV,KAAOA,EAAK5/F,EAAM/G,QAAQ,KAAM2mG,EAAK,KAAK,CAEhD,IADA,IAAIG,EAAcH,EACQ,OAAnB5/F,EAAM+/F,EAAM,IAEjBA,IAIEA,EAAMH,GACR5/F,EAAMnD,OAAO+iG,EAAK,EAAGG,EAAMH,GAG7B,IAAIrkF,EAAOvb,EAAM4/F,EAAK,GAChBvtG,EAAI2N,EAAM4/F,EAAK,GACf7+E,EAAK/gB,EAAM4/F,EAAK,GACtB,GAAa,OAATrkF,IAEDlpB,GACK,MAANA,GACM,OAANA,GACC0uB,GACM,MAAPA,GACO,OAAPA,GANF,CAUA8+E,GAAe,EAEf7/F,EAAMnD,OAAO+iG,EAAI,GACjB,IAAMr3F,EAAQvI,EAAMhM,MAAM,GAC1BuU,EAAMq3F,GAAM,KACZjB,EAAU9pG,KAAK0T,GACfq3F,KAIF,IAAKnqG,KAAK2oG,wBAAyB,CACjC,IAAK,IAAIhtG,EAAI,EAAGA,EAAI4O,EAAM3O,OAAS,EAAGD,IAAK,CACzC,IAAM,EAAI4O,EAAM5O,GAEN,IAANA,GAAiB,KAAN,GAAyB,KAAb4O,EAAM,KACvB,MAAN,GAAmB,KAAN,IACf6/F,GAAe,EACf7/F,EAAMnD,OAAOzL,EAAG,GAChBA,MAIW,MAAb4O,EAAM,IACW,IAAjBA,EAAM3O,QACQ,MAAb2O,EAAM,IAA2B,KAAbA,EAAM,KAE3B6/F,GAAe,EACf7/F,EAAM+F,OAMV,IADA,IAAI+5F,EAAa,GACT,KAAOA,EAAK9/F,EAAM/G,QAAQ,KAAM6mG,EAAK,KAAK,CAChD,IAAM,EAAI9/F,EAAM8/F,EAAK,GACrB,GAAI,GAAW,MAAN,GAAmB,OAAN,GAAoB,OAAN,EAAY,CAC9CD,GAAe,EACf,IACMG,EADiB,IAAPF,GAA8B,OAAlB9/F,EAAM8/F,EAAK,GACf,CAAC,KAAO,GAChC9/F,EAAMnD,OAAM,MAAZmD,EAAK,CAAQ8/F,EAAK,EAAG,GAAC,OAAKE,IACN,IAAjBhgG,EAAM3O,QAAc2O,EAAMnL,KAAK,IACnCirG,GAAM,KAGX,qCACMD,GAET,OAAOlB,IAST,mCACA,SAAsBA,GACpB,IAAK,IAAIvtG,EAAI,EAAGA,EAAIutG,EAAUttG,OAAS,EAAGD,IACxC,IAAK,IAAI6K,EAAI7K,EAAI,EAAG6K,EAAI0iG,EAAUttG,OAAQ4K,IAAK,CAC7C,IAAMwD,EAAUhK,KAAKwqG,WACnBtB,EAAUvtG,GACVutG,EAAU1iG,IACTxG,KAAK2oG,yBAEH3+F,IACLk/F,EAAUvtG,GAAKqO,EACfk/F,EAAU1iG,GAAK,IAGnB,OAAO0iG,EAAUjqG,QAAO,SAAAkrG,GAAE,OAAIA,EAAGvuG,YAClC,wBAED,SACEoH,EACA0mB,GAOA,IAN6B,IAA7B+gF,EAAA,wDAEIC,EAAK,EACLC,EAAK,EACL1kG,EAAmB,GACnB2kG,EAAgB,GACbF,EAAK1nG,EAAEpH,QAAU+uG,EAAKjhF,EAAE9tB,QAC7B,GAAIoH,EAAE0nG,KAAQhhF,EAAEihF,GACd1kG,EAAO7G,KAAe,MAAVwrG,EAAgBlhF,EAAEihF,GAAM3nG,EAAE0nG,IACtCA,IACAC,SACK,GAAIF,GAA0B,OAAVznG,EAAE0nG,IAAgBhhF,EAAEihF,KAAQ3nG,EAAE0nG,EAAK,GAC5DzkG,EAAO7G,KAAK4D,EAAE0nG,IACdA,SACK,GAAID,GAA0B,OAAV/gF,EAAEihF,IAAgB3nG,EAAE0nG,KAAQhhF,EAAEihF,EAAK,GAC5D1kG,EAAO7G,KAAKsqB,EAAEihF,IACdA,SACK,GACK,MAAV3nG,EAAE0nG,KACFhhF,EAAEihF,KACD3qG,KAAKO,QAAQ6kG,KAAQ17E,EAAEihF,GAAI3gE,WAAW,MAC7B,OAAVtgB,EAAEihF,GAOG,IACK,MAAVjhF,EAAEihF,KACF3nG,EAAE0nG,KACD1qG,KAAKO,QAAQ6kG,KAAQpiG,EAAE0nG,GAAI1gE,WAAW,MAC7B,OAAVhnC,EAAE0nG,GAQF,OAAO,EANP,GAAc,MAAVE,EAAe,OAAO,EAC1BA,EAAQ,IACR3kG,EAAO7G,KAAKsqB,EAAEihF,IACdD,IACAC,QAhBA,CACA,GAAc,MAAVC,EAAe,OAAO,EAC1BA,EAAQ,IACR3kG,EAAO7G,KAAK4D,EAAE0nG,IACdA,IACAC,IAkBJ,OAAO3nG,EAAEpH,SAAW8tB,EAAE9tB,QAAUqK,IACjC,yBAED,WACE,IAAIjG,KAAK4oG,SAAT,CAMA,IAJA,IAAMz7D,EAAUntC,KAAKmtC,QACjB41D,GAAS,EACT8H,EAAe,EAEVlvG,EAAI,EAAGA,EAAIwxC,EAAQvxC,QAAgC,MAAtBuxC,EAAQt8B,OAAOlV,GAAYA,IAC/DonG,GAAUA,EACV8H,IAGEA,IAAc7qG,KAAKmtC,QAAUA,EAAQ5uC,MAAMssG,IAC/C7qG,KAAK+iG,OAASA,KAOhB,sBACA,SAASvG,EAAgBrvD,GAAgD,IAAxB47D,EAAA,wDACzCxoG,EAAUP,KAAKO,QAKrB,GAAIP,KAAKyoG,UAAW,CAClB,IAAMqC,EAA+B,kBAAZtO,EAAK,IAAmB,YAAY/9F,KAAK+9F,EAAK,IACjEuO,GACHD,GACW,KAAZtO,EAAK,IACO,KAAZA,EAAK,IACO,MAAZA,EAAK,IACL,YAAY/9F,KAAK+9F,EAAK,IAElBwO,EACkB,kBAAf79D,EAAQ,IAAmB,YAAY1uC,KAAK0uC,EAAQ,IACvD89D,GACHD,GACc,KAAf79D,EAAQ,IACO,KAAfA,EAAQ,IACO,MAAfA,EAAQ,IACc,kBAAfA,EAAQ,IACf,YAAY1uC,KAAK0uC,EAAQ,IAErB+9D,EAAMH,EAAU,EAAID,EAAY,OAAItqG,EACpC2qG,EAAMF,EAAa,EAAID,EAAe,OAAIxqG,EAChD,GAAmB,kBAAR0qG,GAAmC,kBAARC,EAAkB,CACtD,MAAmC,CAAC3O,EAAK0O,GAAM/9D,EAAQg+D,IAAhDC,EAAE,KAAEC,EAAE,KACTD,EAAGrgG,gBAAkBsgG,EAAGtgG,gBAC1BoiC,EAAQg+D,GAAOC,EACXD,EAAMD,EACR/9D,EAAUA,EAAQ5uC,MAAO4sG,GAChBD,EAAMC,IACf3O,EAAOA,EAAKj+F,MAAM2sG,MAQ1B,MAAkClrG,KAAKO,QAA/BupG,kBAAAA,OAAiB,IAAG,IAAC,EACzBA,GAAqB,IACvBtN,EAAOx8F,KAAKsrG,qBAAqB9O,IAGnCx8F,KAAKY,MAAM,WAAYZ,KAAM,CAAEw8F,KAAAA,EAAMrvD,QAAAA,IACrCntC,KAAKY,MAAM,WAAY47F,EAAK5gG,OAAQuxC,EAAQvxC,QAE5C,IACE,IAAI2vG,EAAK,EAAGC,EAAK,EAAGC,EAAKjP,EAAK5gG,OAAQ6oG,EAAKt3D,EAAQvxC,OACnD2vG,EAAKE,GAAMD,EAAK/G,EAChB8G,IAAMC,IACN,CACAxrG,KAAKY,MAAM,iBACX,IAAIhE,EAAIuwC,EAAQq+D,GACZ70F,EAAI6lF,EAAK+O,GAOb,GALAvrG,KAAKY,MAAMusC,EAASvwC,EAAG+Z,IAKb,IAAN/Z,EACF,OAAO,EAIT,GAAIA,IAAMmrG,GAAU,CAClB/nG,KAAKY,MAAM,WAAY,CAACusC,EAASvwC,EAAG+Z,IAwBpC,IAAI+0F,EAAKH,EACLI,EAAKH,EAAK,EACd,GAAIG,IAAOlH,EAAI,CAQb,IAPAzkG,KAAKY,MAAM,iBAOJ2qG,EAAKE,EAAIF,IACd,GACe,MAAb/O,EAAK+O,IACQ,OAAb/O,EAAK+O,KACHhrG,EAAQ6kG,KAA8B,MAAvB5I,EAAK+O,GAAI16F,OAAO,GAEjC,OAAO,EAEX,OAAO,EAIT,KAAO66F,EAAKD,GAAI,CACd,IAAIG,EAAYpP,EAAKkP,GAKrB,GAHA1rG,KAAKY,MAAM,mBAAoB47F,EAAMkP,EAAIv+D,EAASw+D,EAAIC,GAGlD5rG,KAAK6rG,SAASrP,EAAKj+F,MAAMmtG,GAAKv+D,EAAQ5uC,MAAMotG,GAAK5C,GAGnD,OAFA/oG,KAAKY,MAAM,wBAAyB8qG,EAAID,EAAIG,IAErC,EAIP,GACgB,MAAdA,GACc,OAAdA,IACErrG,EAAQ6kG,KAA+B,MAAxBwG,EAAU/6F,OAAO,GAClC,CACA7Q,KAAKY,MAAM,gBAAiB47F,EAAMkP,EAAIv+D,EAASw+D,GAC/C,MAIF3rG,KAAKY,MAAM,4CACX8qG,IAOJ,SAAI3C,IAEF/oG,KAAKY,MAAM,2BAA4B47F,EAAMkP,EAAIv+D,EAASw+D,GACtDD,IAAOD,IAWf,IAAIK,OAAY,EAShB,GARiB,kBAANlvG,GACTkvG,EAAMn1F,IAAM/Z,EACZoD,KAAKY,MAAM,eAAgBhE,EAAG+Z,EAAGm1F,KAEjCA,EAAMlvG,EAAE6B,KAAKkY,GACb3W,KAAKY,MAAM,gBAAiBhE,EAAG+Z,EAAGm1F,KAG/BA,EAAK,OAAO,EAenB,GAAIP,IAAOE,GAAMD,IAAO/G,EAGtB,OAAO,EACF,GAAI8G,IAAOE,EAIhB,OAAO1C,EACF,GAAIyC,IAAO/G,EAKhB,OAAO8G,IAAOE,EAAK,GAAkB,KAAbjP,EAAK+O,GAK7B,MAAM,IAAI1sF,MAAM,UAGnB,yBAED,WACE,OAAO,GAAY7e,KAAKmtC,QAASntC,KAAKO,WACvC,mBAED,SAAM4sC,GACJo0D,GAAmBp0D,GAEnB,IAQIhqC,EARE5C,EAAUP,KAAKO,QAGrB,GAAgB,OAAZ4sC,EAAkB,OAAO46D,GAC7B,GAAgB,KAAZ56D,EAAgB,MAAO,GAK3B,IAAI4+D,EAA4C,MAC3C5oG,EAAIgqC,EAAQ/iC,MAAM88F,KACrB6E,EAAWxrG,EAAQ6kG,IAAMgC,GAAcD,IAC7BhkG,EAAIgqC,EAAQ/iC,MAAMo8F,KAC5BuF,GACExrG,EAAQukG,OACJvkG,EAAQ6kG,IACNwB,GACAD,GACFpmG,EAAQ6kG,IACRsB,GACAD,IACJtjG,EAAE,KACMA,EAAIgqC,EAAQ/iC,MAAMi9F,KAC5B0E,GACExrG,EAAQukG,OACJvkG,EAAQ6kG,IACNqC,GACAH,GACF/mG,EAAQ6kG,IACRuC,GACAC,IACJzkG,IACQA,EAAIgqC,EAAQ/iC,MAAMy8F,KAC5BkF,EAAWxrG,EAAQ6kG,IAAM2B,GAAqBD,IACpC3jG,EAAIgqC,EAAQ/iC,MAAM48F,OAC5B+E,EAAW9E,IAGb,IAAMpC,EAAKT,GAAI8D,SAAS/6D,EAASntC,KAAKO,SAASokG,cAC/C,OAAOoH,EAAW9vG,OAAOguB,OAAO46E,EAAI,CAAEpmG,KAAMstG,IAAclH,IAC3D,oBAED,WACE,GAAI7kG,KAAKiW,SAA0B,IAAhBjW,KAAKiW,OAAkB,OAAOjW,KAAKiW,OAQtD,IAAMhD,EAAMjT,KAAKiT,IAEjB,IAAKA,EAAIrX,OAEP,OADAoE,KAAKiW,QAAS,EACPjW,KAAKiW,OAEd,IAAM1V,EAAUP,KAAKO,QAEfyrG,EAAUzrG,EAAQspG,WA/3Bf,SAi4BLtpG,EAAQ6kG,IA53BG,0CAIE,0BA23BXJ,EAAQ,IAAIzsC,IAAIh4D,EAAQukG,OAAS,CAAC,KAAO,IAQ3CD,EAAK5xF,EACNlJ,KAAI,SAAAojC,GACH,IAAMq3D,EAAmCr3D,EAAQpjC,KAAI,SAAAnN,GACnD,GAAIA,aAAakN,OAAQ,KACU,EADV,KACPlN,EAAEooG,MAAM/iG,MAAM,KAAG,IAAjC,IAAK,EAAL,0BAAW0U,EAAC,QAAuBquF,EAAM92C,IAAIv3C,IAAE,+BAEjD,MAAoB,kBAAN/Z,EACGA,EAjwBvB6G,QAAQ,2BAA4B,QAkwB1B7G,IAAMmrG,GACNA,GACAnrG,EAAEqoG,QAqBR,OAnBAT,EAAG/kG,SAAQ,SAAC7C,EAAGjB,GACb,IAAMmqB,EAAO0+E,EAAG7oG,EAAI,GACd6sD,EAAOg8C,EAAG7oG,EAAI,GAChBiB,IAAMmrG,IAAYv/C,IAASu/C,UAGlBvnG,IAATgoD,OACWhoD,IAATslB,GAAsBA,IAASiiF,GACjCvD,EAAG7oG,EAAI,GAAK,UAAYqwG,EAAU,QAAUlmF,EAE5C0+E,EAAG7oG,GAAKqwG,OAEQxrG,IAATslB,EACT0+E,EAAG7oG,EAAI,GAAK6sD,EAAO,UAAYwjD,EAAU,KAChClmF,IAASiiF,KAClBvD,EAAG7oG,EAAI,GAAK6sD,EAAO,aAAewjD,EAAU,OAASlmF,EACrD0+E,EAAG7oG,EAAI,GAAKosG,QAGTvD,EAAGvlG,QAAO,SAAArC,GAAC,OAAIA,IAAMmrG,MAAUthG,KAAK,QAE5CA,KAAK,KAIsD,KAAxCwM,EAAIrX,OAAS,EAAI,CAAC,MAAO,KAAO,CAAC,GAAI,IAAG,GAG9DipG,EAAK,IAHM,KAGOA,EAHA,KAGa,IAG3B7kG,KAAK+iG,SAAQ8B,EAAK,OAASA,EAAK,QAEpC,IACE7kG,KAAKiW,OAAS,IAAInM,OAAO+6F,EAAI,GAAIG,GAAOv+F,KAAK,KAE7C,MAAOwlG,GAEPjsG,KAAKiW,QAAS,EAGhB,OAAOjW,KAAKiW,SACb,wBAED,SAAWrZ,GAKT,OAAIoD,KAAK2oG,wBACA/rG,EAAEqF,MAAM,KACNjC,KAAKyoG,WAAa,cAAchqG,KAAK7B,GAEvC,CAAC,IAAE,UAAKA,EAAEqF,MAAM,SAEhBrF,EAAEqF,MAAM,SAElB,mBAED,SAAM0U,GAAiC,IAAtBoyF,EAAU,UAAH,6CAAG/oG,KAAK+oG,QAI9B,GAHA/oG,KAAKY,MAAM,QAAS+V,EAAG3W,KAAKmtC,SAGxBntC,KAAK6oG,QACP,OAAO,EAET,GAAI7oG,KAAK8oG,MACP,MAAa,KAANnyF,EAGT,GAAU,MAANA,GAAaoyF,EACf,OAAO,EAGT,IAAMxoG,EAAUP,KAAKO,QAGjBP,KAAKyoG,YACP9xF,EAAIA,EAAE1U,MAAM,MAAMwE,KAAK,MAIzB,IAAMylG,EAAKlsG,KAAKupG,WAAW5yF,GAC3B3W,KAAKY,MAAMZ,KAAKmtC,QAAS,QAAS++D,GAOlC,IAAMj5F,EAAMjT,KAAKiT,IACjBjT,KAAKY,MAAMZ,KAAKmtC,QAAS,MAAOl6B,GAGhC,IAAIk5F,EAAmBD,EAAGA,EAAGtwG,OAAS,GACtC,IAAKuwG,EACH,IAAK,IAAIxwG,EAAIuwG,EAAGtwG,OAAS,GAAIuwG,GAAYxwG,GAAK,EAAGA,IAC/CwwG,EAAWD,EAAGvwG,GAIlB,IAAK,IAAI,EAAI,EAAG,EAAIsX,EAAIrX,OAAQ,IAAK,CACnC,IAAMuxC,EAAUl6B,EAAI,GAChBupF,EAAO0P,EACP3rG,EAAQ6rG,WAAgC,IAAnBj/D,EAAQvxC,SAC/B4gG,EAAO,CAAC2P,IAEV,IAAML,EAAM9rG,KAAK6rG,SAASrP,EAAMrvD,EAAS47D,GACzC,GAAI+C,EACF,QAAIvrG,EAAQ8rG,aAGJrsG,KAAK+iG,OAMjB,OAAIxiG,EAAQ8rG,YAGLrsG,KAAK+iG,UACb,uBAED,SAAgBiF,GACd,OAAO3B,GAAUr1E,SAASg3E,GAAKzB,cAChC,EA13BmB,GCjRP,SAAS+F,KACtB,IAAMC,E7BkCD,WACL,IAAMzgE,EAAWJ,KACuCmc,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAjDwqF,EAAY1kD,EAAA,GAAE2kD,EAAe3kD,EAAA,GAoBpC,OAlBA9lC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,mCAAoC,GAC5C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,4BAAD2B,OAA6BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAChEmoG,EAAgBhqG,EAAI6B,KAAKA,SACxB8nB,OAAM,SAAApmB,GACP,IAAMiV,EAAMjV,EAAEymB,SAASnoB,KACnB2W,EAAIlL,OAASmV,IACf45B,MAAM,8DAADp9C,OAAkBuZ,EAAIlL,KAAI,MAAArO,OAAKuZ,EAAI3W,KAAKgoB,UAC7Cyf,EAAS,oBAET+S,MAAM,uCAADp9C,OAAUuZ,EAAIlL,KAAI,MAAArO,OAAKuZ,EAAI3W,KAAKgoB,eAGxC,CAACyf,IAEGygE,E6BxDcE,GAC+B7rD,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAA7C2qF,EAAU9rD,EAAA,GAAE+rD,EAAa/rD,EAAA,GACsBoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAA/CjT,EAAWkzC,EAAA,GAAE4qD,EAAc5qD,EAAA,GAC8B6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAzD8qF,EAAgBhlD,EAAA,GAAEilD,EAAmBjlD,EAAA,GAmB5C,OAfA9lC,EAAAA,WAAgB,WACTwqF,IAEDA,EAAaQ,eACfH,EAAe,gBACfE,EAAoBP,EAAaQ,eAG/BR,EAAaxnE,IACf4nE,EAAc,CAAC,MAEfA,EAAc,CAAC,SAEhB,CAACJ,EAAcI,EAAeC,EAAgBE,IAE5CJ,GACE5lE,EAAAA,GAAAA,KAACkmE,GAAkB,CAACN,WAAYA,EAAYO,gBAAiBV,EAAaxnE,IACtDmoE,aAAcX,EAAaY,MAAOC,mBAAoBt+F,EACtDu+F,wBAAyBR,EACzBS,WAAYf,EAAagB,QAJ5BzmE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAO1B,SAASssD,GAAkB7lF,GAAwG,IAAtGulF,EAAUvlF,EAAVulF,WAAYO,EAAe9lF,EAAf8lF,gBAAiBC,EAAY/lF,EAAZ+lF,aAAcE,EAAkBjmF,EAAlBimF,mBAAoBC,EAAuBlmF,EAAvBkmF,wBAAyBC,EAAUnmF,EAAVmmF,WAC7GpkG,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAE6C02C,EAAA1jE,GAA/BrT,EAAAA,SAAekrF,GAAgB,GAA1DO,EAAS1U,EAAA,GAAE2U,EAAY3U,EAAA,GACwBG,EAAA7jE,GAAhBrT,EAAAA,WAAgB,GAA/C2rF,EAAWzU,EAAA,GAAE0U,EAAc1U,EAAA,GACkBG,EAAAhkE,GAAhBrT,EAAAA,WAAgB,GAA7C6rF,EAAUxU,EAAA,GAAEyU,EAAazU,EAAA,GAE6BG,EAAAnkE,GAArBrT,EAAAA,UAAe,GAAM,GAAtD+rF,EAAYvU,EAAA,GAAEwU,EAAexU,EAAA,GAC6DI,EAAAvkE,GAA3DrT,EAAAA,SAAemrF,EAAeA,EAAazmG,KAAK,MAAQ,IAAG,GAA1FunG,EAAWrU,EAAA,GAAEsU,EAActU,EAAA,GACgBG,EAAA1kE,GAAhBrT,EAAAA,WAAgB,GAA3CmsF,EAASpU,EAAA,GAAEqU,EAAYrU,EAAA,GAE0CG,EAAA7kE,GAAlCrT,EAAAA,SAAeqrF,GAAmB,GAAjEt+F,EAAWmrF,EAAA,GAAE2S,EAAc3S,EAAA,GACgEG,EAAAhlE,GAAhErT,EAAAA,SAAesrF,GAA2B,uBAAsB,GAA3Fe,EAAShU,EAAA,GAAEiU,EAAYjU,EAAA,GAExBkU,EAAkBvsF,EAAAA,aAAkB,WACxC,IAAKmsF,EAAW,OAAOrvD,MAAM37C,EAAE,oBAC/B,IAAK8qG,EAAa,OAAOnvD,MAAM37C,EAAE,qBAEjC,IAGI8G,EAASukG,EAHPvZ,EAAKvwE,SAASC,cAAc,KAClCswE,EAAGt9D,KAAOw2E,EAAUzqG,QAAQ,QAAS,SAGrCuqG,EAAY/rG,MAAM,MAAMxC,SAAQ,SAAAgjG,GAC1B4D,GAAUrR,EAAG98D,SAAUuqE,KACzBz4F,GAAU,EACVukG,EAAY9L,MAIZz4F,EACF60C,MAAM,WAADp9C,OAAYysG,EAAS,gCAAAzsG,OAA+B8sG,IAEzD1vD,MAAM,eAADp9C,OAAgBysG,EAAS,2CAE/B,CAAChrG,EAAGgrG,EAAWF,IAEZQ,EAAoBzsF,EAAAA,aAAkB,WAC1C,IAAKisF,EAAa,OAAOnvD,MAAM37C,EAAE,qBAEjC0hC,GAAAA,KAAW,mCAAoC,CAC7CuoE,MAAOa,EAAY/rG,MAAM,OACxB,CACDovB,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,mBACR9C,QAAQN,IAAI,qCACXqsB,MAAMg2B,KACR,CAACj/C,EAAGi/C,EAAa6rD,IAEdS,EAAuB1sF,EAAAA,aAAkB,WAC7C,IAAKjT,EAAa,OAAO+vC,MAAM37C,EAAE,qBAEjC0hC,GAAAA,KAAW,6CAA8C,CACvD91B,YAAaA,EAAas/F,UAAWA,GACpC,CACD/8E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,mBACR9C,QAAQN,IAAI,wCACXqsB,MAAMg2B,KACR,CAACj/C,EAAGi/C,EAAarzC,EAAas/F,IAEjCrsF,EAAAA,WAAgB,WACd,IAAM2sF,EAAqB,WACzB9pE,GAAAA,KAAW,mCAAoC,GAC5C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,qBAAD2B,OAAsBgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACzDspG,EAAenrG,EAAI6B,KAAKA,KAAK0F,KAAI,SAAAyyF,GAC/B,IAAMr6F,EAAI6C,OAAOmzB,SACX8G,EAAS98B,EAAEy1B,SAASn0B,QAAQ,IAAK,IACjCmyF,EAAWzzF,EAAE81B,OAAwB,UAAf91B,EAAEy1B,SAAuB,GAAK,KAS1D,OARI4kE,EAAK9iE,UACP8iE,EAAKrkE,SAAQ,GAAA12B,OAAMU,EAAEy1B,SAAQ,MAAAn2B,OAAKU,EAAE01B,KAAI,mCAAAp2B,OAAkC+6F,EAAKmS,KAAI,SACnFnS,EAAKoS,QAAO,mCAAAntG,OAAsCw9B,EAAM,UAAAx9B,OAASm0F,EAAQ,6DAAAn0F,OAA4D+6F,EAAKmS,KAAI,WAE9InS,EAAKrkE,SAAQ,GAAA12B,OAAMU,EAAEy1B,SAAQ,MAAAn2B,OAAKU,EAAE01B,KAAI,mCAAAp2B,OAAkC+6F,EAAKmS,KAAI,cACnFnS,EAAKoS,QAAO,kCAAAntG,OAAqC+6F,EAAKmS,KAAI,eAG5DrvG,GAAAA,GAAA,GACKk9F,GAAI,IACPvtE,IAAK/J,GAAgBs3E,EAAKr3E,MAAOq3E,EAAKp3E,IAAKo3E,EAAKn3E,QAChD27C,OAAQ4pB,IAAAA,CAAO4R,EAAKx7B,QACpB3mB,SAAU/nC,OAAOkqF,EAAKniD,UACtB3uB,KAAMpZ,OAAOkqF,EAAK9wE,KAAO,KAAS,WAEnC7X,MAAK,SAAC7Q,EAAG0mB,GACV,OAAOA,EAAEs3C,OAASh+D,EAAEg+D,UACnBj3D,KAAI,SAACyyF,EAAM7gG,GACZ,OAAA2D,GAAAA,GAAA,GAAWk9F,GAAI,IAAE7gG,EAAGA,EAAI,WAEzBwwB,MAAMg2B,IAGXusD,IACA,IAAMhnB,EAAQC,aAAY,kBAAM+mB,MAAsB,KACtD,OAAO,kBAAM9mB,cAAcF,MAC1B,CAACvlC,EAAayrD,IAEjB,IAAMiB,EAAqB9sF,EAAAA,aAAkB,SAAChc,EAAGynG,GAC/CznG,EAAE0pC,iBAEF7K,GAAAA,KAAW,mCAAoC,CAC7CG,MAAOyoE,GACN,CACDn8E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,mBACR9C,QAAQN,IAAI,kCAAD2B,OAAmC+rG,OAC7CrhF,MAAMg2B,KACR,CAACA,EAAaj/C,IAEX4rG,EAAe/sF,EAAAA,aAAkB,SAACy6E,GACtC53D,GAAAA,KAAW,oCAAqC,CAC9C+pE,KAAMnS,EAAKmS,MACV,CACDt9E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNqrG,GAAeD,GACfxtG,QAAQN,IAAI,gCAAD2B,OAAiCgW,KAAKsL,UAAUy5E,QAC1DrwE,MAAMg2B,KACR,CAACyrD,EAAYzrD,EAAa0rD,IAEvBkB,EAAYhtF,EAAAA,aAAkB,SAACy6E,GACnC53D,GAAAA,KAAW,iCAAkC,CAC3C+pE,KAAMnS,EAAKmS,MACV,CACDt9E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNmZ,YAAW,WACTkyF,GAAeD,KACd,KACHxtG,QAAQN,IAAI,6BAAD2B,OAA8BgW,KAAKsL,UAAUy5E,QACvDrwE,MAAMg2B,KACR,CAACyrD,EAAYzrD,EAAa0rD,IAEvBzb,EAAkBrwE,EAAAA,aAAkB,SAAChc,EAAGue,GAC5Cve,EAAE0pC,iBAEFprB,GAAeC,GAAM4H,MAAK,WACxB2yB,MAAM37C,EAAE,qBACPipB,OAAM,SAACnR,GACR6jC,MAAM,GAADp9C,OAAIyB,EAAE,mBAAkB,KAAAzB,OAAIuZ,SAElC,CAAC9X,IAEJ,OACE47C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkBygB,EAAY/e,YAAU,EAAAnlD,SAAA,EACjD1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACC,OAAbt/B,GACC41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,yNAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wMAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0NACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wQACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6IAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,8GAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,8IAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,6CACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uHAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wBACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kJACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sKACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6FAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,2BACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uEAMdsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,iBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CACZtlC,EAAE,eAAe,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO8kE,IAAkB,SAC5CxmE,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGunG,QACzD,SACNxuD,EAAAA,GAAAA,MAACkwD,GAAa,CAACpd,YAAY,EAAMvvC,MAAOn/C,EAAE,eAAeslC,SAAA,CACtDtlC,EAAE,eAAe,KAAC4jC,EAAAA,GAAAA,KAAA,QAAMshD,MAAM,MAAK5/C,SAAC,UAAY,IAAEtlC,EAAE,eAAe,SACpE4jC,EAAAA,GAAAA,KAAA,QAAMshD,MAAM,MAAK5/C,SAAEtlC,EAAE,iBAAsB,IAAEA,EAAE,yBAIrD47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,kBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,kBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,gBAAgB,SAC/B4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,QAAQqX,QAAS,SAAChpC,GAAKA,EAAE0pC,iBAAkBs+D,GAAiBD,IAAgBtlE,SAAEtlC,EAAE,kBAAoB,QAC3GA,EAAE,gBAAgB,QACrB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,WAAW7mC,KAAK,OAAOovG,KAAM,EAAGziG,aAAcwhG,EACjDplD,YAAY,mDACZC,SAAU,SAAC9iD,GAAC,OAAKkoG,EAAeloG,EAAEtK,OAAO0B,cAEzD2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAChDA,EAAE0pC,iBACF++D,KACAhmE,SAAEtlC,EAAE,oBACL4qG,IAAgBhvD,EAAAA,GAAAA,MAAC/8B,EAAAA,SAAc,CAAAymB,SAAA,EAC9B1B,EAAAA,GAAAA,KAAA,SACAgY,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,kBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,gBAAgB,QACjC4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,OAAO+oD,YAAY,gDACnCC,SAAU,SAAC9iD,GAAC,OAAKooG,EAAapoG,EAAEtK,OAAO0B,cAEvD2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAChDA,EAAE0pC,iBACF6+D,KACA9lE,SAAEtlC,EAAE,sBAER4jC,EAAAA,GAAAA,KAAA,SACAgY,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,kBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAcsC,EAAa+5C,SAAU,SAAC9iD,GAAC,OAAK6mG,EAAe7mG,EAAEtK,OAAO0B,QAAOqrC,SAAA,EACtF1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAStlC,EAAE,sBACX4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,eAAcqrC,SAAEtlC,EAAE,yBAGnB,iBAAhB4L,IAAkCgwC,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC7D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,OAAO2M,aAAc4hG,EACrCxlD,YAAY,mCACZC,SAAU,SAAC9iD,GAAC,OAAKsoG,EAAatoG,EAAEtK,OAAO0B,cAEvD2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAChDA,EAAE0pC,iBACFg/D,KACAjmE,SAAEtlC,EAAE,6BAIZ47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,oBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAAC8f,GAAI,CAAApe,UACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAChDA,EAAE0pC,iBACFg+D,GAAcD,GACdqB,EAAmB9oG,GAAIynG,IACvBhlE,SACatlC,EAAZsqG,EAAc,cAAmB,kBAC3B,SACT1uD,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,8BAKzB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,kBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CAEA,OAAXklE,QAAW,IAAXA,GAAAA,EAAa9xG,QACXkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,oBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,oBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,oBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,sBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,kBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,mBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,iBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,yBAGT4jC,EAAAA,GAAAA,KAAA,SAAA0B,SAEa,OAAXklE,QAAW,IAAXA,OAAW,EAAXA,EAAa3jG,KAAI,SAAAyyF,GACf,OAAO19C,EAAAA,GAAAA,MAAA,MAAoBtgD,KAAMg+F,EAAKmS,KAAKnmE,SAAA,EACzC1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK7gG,KACVmrC,EAAAA,GAAAA,KAAA,MAAIub,MAAOn/C,EAAE,cAAcslC,SAAEg0D,EAAK9iE,SAAWx2B,EAAE,cAAgBA,EAAE,kBACjE4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAA,GAAA/mC,OAAQ+6F,EAAKx7B,OAAOjsD,OAAO,2BAC3B+xB,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAKvtE,OACV6vB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQ+6F,EAAKniD,SAAS60D,QAAQ,IAAK,IAAEhsG,EAAE,sBACvC47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQ+6F,EAAK9wE,KAAKwjF,QAAQ,IAAK,SAC/BpoE,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK2S,MACVroE,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM8kE,EAAKrkE,SAAU4W,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGy2F,EAAKrkE,WAAW18B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBACnH47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM8kE,EAAKoS,QAASnzG,OAAO,SAAS04C,IAAI,aAAY3L,SACpDtlC,EAAE,oBACD,SACJ4jC,EAAAA,GAAAA,KAACo6D,GAAc,CAAC7tC,UAAU,MAAM0sC,SAAUj5D,EAAAA,GAAAA,KAAA,KAAGpP,KAAI,IAAAj2B,OAAM+6F,EAAKmS,MAAQjjB,QAAS8Q,EAAK9iE,SAAS8O,SAAEtlC,EAAE,gBAAqB6rC,QAAS,kBAAMggE,EAAUvS,IAAMh0D,UACjJ1B,EAAAA,GAAAA,KAAA,KAAA0B,SACGtlC,EAAE,uBAEU,KAAC4jC,EAAAA,GAAAA,KAACo6D,GAAc,CAAC7tC,UAAU,MAAM0sC,SAAUj5D,EAAAA,GAAAA,KAAA,KAAGpP,KAAI,IAAAj2B,OAAM+6F,EAAKmS,MAAQjjB,OAAQ8Q,EAAK9iE,SAAS8O,SAAEtlC,EAAE,mBAAwB6rC,QAAS,kBAAM+/D,EAAatS,IAAMh0D,UACxKsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CACGtlC,EAAE,uBAAuB,SAC1B4jC,EAAAA,GAAAA,KAAA,QAAMF,UAAU,cAAa4B,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAC3BtlC,EAAE,2BAEJA,EAAE,iCAvBKs5F,EAAKmS,cAgCzB,GAEO,OAAXjB,QAAW,IAAXA,GAAAA,EAAa9xG,OAA4B,GAAnBsH,EAAE,wBD+xBpCmjG,GAAUjC,IAAMA,GAChBiC,GAAUE,UAAYA,GACtBF,GAAUvhG,OD7pCY,SACpB7B,GAIE,6DADkD,GAAE,IADpDwgG,qBAAAA,OAAoB,IAAG,GAAK,EAM9B,OAAOA,EACHxgG,EAAEQ,QAAQ,aAAc,QACxBR,EAAEQ,QAAQ,eAAgB,SCmpChC4iG,GAAU9rE,SAAW,0FEjqCf60E,GAA6BrtF,EAAAA,YAAiB,SAAAoF,EAUjDmf,GAAQ,IATTC,EAAQpf,EAARof,SACAsR,EAAM1wB,EAAN0wB,OACA3D,EAAQ/sB,EAAR+sB,SACAkV,EAAQjiC,EAARiiC,SACAxiB,EAASzf,EAATyf,UACAwW,EAAOj2B,EAAPi2B,QACAzO,EAAMxnB,EAANwnB,OACAjI,EAAEvf,EAAFuf,GACGhrC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,mBACxC,IAIE0vB,EAAA7gC,GAJ2BmgC,GAAUj2D,GAAC,CACtCnD,IAAKgtD,GAAaC,EAAU1tD,EAAMg8B,MAClCmgB,OAAAA,GACGn8C,IACH,GAJKw7D,EAAYjB,EAAA,GAAExrB,EAAIwrB,EAAA,GAKnB3hB,EAAchB,IAAiB,SAAApxC,GACnC,GAAIgyC,EAGF,OAFAhyC,EAAMutC,sBACNvtC,EAAMsyC,kBAIR0iB,EAAanoB,QAAQ7sC,MAGnBgyC,QAA+B1zC,IAAnB9E,EAAM24C,WACpB34C,EAAM24C,UAAY,EAClB34C,EAAM,kBAAmB,GAI3B,IAAMirC,EAAYD,IAAOiI,EAASjzC,EAAMg8B,KAAO,IAAM,SAAW,OAChE,OAAoBoP,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GACAw7D,GAAY,IACfnoB,QAASuF,EACT1N,UAAWG,IAAAA,CAAWH,EAAWL,EAAUkE,EAAKwF,UAAY,SAAUiE,GAAY,WAAYkJ,GAAW,GAAJ37C,OAAO8kC,EAAQ,KAAA9kC,OAAI27C,GAAWzO,GAAU,GAAJltC,OAAO8kC,EAAQ,kBAG5J6oE,GAAcpoE,YAAc,gBAC5B,6EC1CMqoE,GAAyBttF,EAAAA,YAAiB,SAACrmB,EAAO4qC,GACtD,IAaIgpE,EAbJ9wD,EASIxM,GAAgBt2C,EAAO,CACzBo6D,UAAW,aATXlvB,EAAS4X,EAAT5X,UACUytB,EAAe7V,EAAzBjY,SACA6W,EAAOoB,EAAPpB,QACAmyD,EAAU/wD,EAAV+wD,WACAC,EAAQhxD,EAARgxD,SAAQ96C,EAAAlW,EAER9X,GAAAA,OAAE,IAAAguB,EAAG,MAAKA,EACPG,EAAepvB,GAAA+Y,EAAA3X,IAIdN,EAAWP,GAAmBquB,EAAiB,cAQrD,OALIk7C,IACFD,GAAmC,IAAfC,EAAsB,aAAe,cAAH9tG,OAAiB8tG,KAIrDzoE,EAAAA,GAAAA,KAAK+wB,GAAOv4D,GAAAA,GAAA,CAC9BgnC,IAAKA,GACFuuB,GAAe,IAClBnuB,GAAIA,EACJE,UAAWG,IAAAA,CAAWH,EAAWL,EAAU6W,GAAW,GAAJ37C,OAAO8kC,EAAQ,KAAA9kC,OAAI27C,GAAWkyD,GAAqB,GAAJ7tG,OAAO8kC,EAAQ,KAAA9kC,OAAI6tG,GAAqBE,GAAY,GAAJ/tG,OAAO8kC,EAAQ,oBAGpK8oE,GAAUroE,YAAc,YACxB,OAAe/qC,OAAOguB,OAAOolF,GAAW,CACtCp4C,KAAMm4C,6DC9BFK,GAAiBhyD,GAAmB,mBAAoB,CAC5D9W,UAAW,SAuBP+oE,GAA0B3tF,EAAAA,YAAiB,SAAAoF,EAQ9Cmf,GAAQ,IAPTC,EAAQpf,EAARof,SACA7a,EAAIvE,EAAJuE,KACAikF,EAAaxoF,EAAbwoF,cACA/oE,EAASzf,EAATyf,UAASH,EAAAtf,EAETuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EAClB/qC,EAAK+pC,GAAAte,EAAA0f,IAERN,EAAWP,GAAmBO,EAAU,eAGxC,IAAMwvC,GAAep6B,EAAAA,EAAAA,UAAQ,iBAAO,KAAK,IACzC,OAAoB7U,EAAAA,GAAAA,KAAKmuC,GAAkBlvC,SAAU,CACnD5oC,MAAO44E,EACPvtC,UAAuB1B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CACnCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWG,IAAAA,CAAWH,EAAWL,EAAU7a,GAAQ,GAAJjqB,OAAO8kC,EAAQ,KAAA9kC,OAAIiqB,GAAQikF,GAAiB,0BAIjGD,GAAW1oE,YAAc,aACzB,OAAe/qC,OAAOguB,OAAOylF,GAAY,CACvCxoD,KAAMuoD,GACNG,MAtCsB,SAAAl0G,GAAK,OAAiBorC,EAAAA,GAAAA,KAAK2oE,GAAgB,CACjEjnE,UAAuB1B,EAAAA,GAAAA,KAAKkc,GAAc1jD,GAAA,CACxCO,KAAM,SACHnE,OAoCLm0G,SA9CyB,SAAAn0G,GAAK,OAAiBorC,EAAAA,GAAAA,KAAK2oE,GAAgB,CACpEjnE,UAAuB1B,EAAAA,GAAAA,KAAKkc,GAAc1jD,GAAA,CACxCO,KAAM,YACHnE,SCFQ,SAASo0G,GAAY3oF,GAAqB,IAAnB4oF,EAAe5oF,EAAf4oF,gBAC9BC,EAASjuF,EAAAA,SAAc,iBAAM,CAAC,OAAQ,OAAQ,SAAQ,IACtDkuF,EAAWluF,EAAAA,SAAc,kBAAM,IAAO,IAEtCogC,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EACgD09C,EAAAxrB,GAArBrT,EAAAA,UAAe,GAAM,GAAhDmuF,EAAStvD,EAAA,GAAEuvD,EAAYvvD,EAAA,GAC8BoB,EAAA5sB,GAAlBrT,EAAAA,SAAe,IAAG,GAArDquF,EAAapuD,EAAA,GAAEquD,EAAgBruD,EAAA,GACwB6F,EAAAzyB,GAAlBrT,EAAAA,SAAe,IAAG,GAAvDuuF,EAAczoD,EAAA,GAAE0oD,EAAiB1oD,EAAA,GAIlCvhB,EAAMvkB,EAAAA,OAAa,IACzBA,EAAAA,WAAgB,WACdukB,EAAI//B,QAAQiqG,iBAAmBF,IAC9B,CAACA,IAEJ,IAAMG,EAAe1uF,EAAAA,aAAkB,SAAChc,GACtC,IACiCgyD,EAD3B24C,EAAQ,GAAG14C,EAAA9wB,GACEnhC,EAAEtK,OAAOi1G,OAAK,IAAjC,IAAA14C,EAAA/0D,MAAA80D,EAAAC,EAAA35D,KAAAkd,MAAA,KAAWihF,EAAIzkC,EAAA56D,MAAoBuzG,EAAMtxG,KAAKo9F,IAAM,MAAAxhF,GAAAg9C,EAAAjyD,EAAAiV,GAAA,QAAAg9C,EAAArhD,IACpD05F,EAAiBK,GAEjB,IAAMhlF,EAAOglF,EAAM3mG,KAAI,SAAA4M,GAAC,OAAIA,EAAE+U,QAAM7T,QAAO,SAAC7U,EAAG0mB,GAAC,OAAK1mB,EAAI0mB,IAAG,GAAK,KAAO,KACxEtpB,QAAQN,IAAI,iBAAD2B,OAAkBivG,EAAM90G,OAAM,WAAA6F,OAAUiqB,EAAKwjF,QAAQ,GAAE,kBAAAztG,OAAiBgW,KAAKsL,UAAU2tF,EAAM3mG,KAAI,SAAA4M,GAAC,OAAIA,EAAEnY,aAClH,CAAC6xG,IAEEM,EAAkB5uF,EAAAA,YAAiB4gC,GAAA0F,KAAAA,MAAC,SAAAuoD,IAAA,IAAAC,EAAAC,EAAAr4C,EAAAD,EAAAgkC,EAAAuU,EAAA,OAAA1oD,KAAAA,MAAA,SAAA2oD,GAAA,cAAAA,EAAAxoD,KAAAwoD,EAAAlrF,MAAA,OACxCqqF,GAAa,GAEPU,EAAU,eAAAlnF,EAAAg5B,GAAA0F,KAAAA,MAAG,SAAAC,EAAOk0C,EAAMuU,GAAQ,IAAAE,EAAA,OAAA5oD,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,OACZ,OAApBmrF,EAAYrmB,IAAAA,GAAQriC,EAAAziC,KAAA,EACb,IAAInjB,SAAQ,SAACC,EAASC,GACjCzC,QAAQN,IAAI,6BAAD2B,OAA8B+6F,EAAKh+F,KAAI,KAAAiD,OAAIgW,KAAKsL,UAAUguF,KAErE,IAAMvjF,EAAW,IAAI3E,SACfqoF,EAAc1U,EAAKh+F,KACzBgvB,EAAS9O,OAAOwyF,EAAa1U,GAE7B53D,GAAAA,KAAW,qCAADnjC,OAAsCyvG,GAAe1jF,EAAU,CACvE6D,QAAS,CACP,eAAgB,uBAElB4K,iBAAkB,SAACk1E,GAEjBA,EAAaC,KAAOxmB,IAAAA,GAAWqmB,EAC3BE,EAAaC,OAAMD,EAAaE,MAA8B,IAAtBF,EAAar2F,OAAkBq2F,EAAaC,MACpFD,EAAa73E,QAAO63E,EAAaG,QAAgC,EAAtBH,EAAar2F,OAAeq2F,EAAa73E,OACxFy3E,EAAWptF,GAAMM,MAAM8sF,EAAQzxG,GAAAA,GAAA,GAAM6xG,GAAY,IAAEC,KAAOxmB,IAAAA,GAAWqmB,GAAc,KACnFV,EAAkB5sF,GAAM5gB,KAAKujC,EAAI//B,QAAQiqG,iBAAkB,CAAChU,EAAKh+F,KAAMuyG,QAExE7kF,MAAK,SAAA1pB,GACNuuG,EAASO,QAAU,EACnBP,EAASK,KAAOxmB,IAAAA,GAAWqmB,EACvBF,EAASK,OAAML,EAASM,MAAoB,IAAZ7U,EAAK9wE,KAAgBqlF,EAASK,MAGlEL,EAASpC,KAAOnsG,EAAI6B,KAAKA,KAAKsqG,KAC9BoC,EAASt1G,OAAS+G,EAAI6B,KAAKA,KAAK5I,OAEhC2E,QAAQN,IAAI,oBAAD2B,OAAqB+6F,EAAKh+F,KAAI,cAAAiD,OAAagW,KAAKsL,UAAUguF,GAAS,WAAAtvG,OAAUmpF,IAAAA,GAAWqmB,EAAS,OAC5GruG,EAAQmuG,MACP5kF,MAAMg2B,MACR,KAAD,SAAAoG,EAAAgpD,OAAA,SAAAhpD,EAAAipD,MAAA,wBAAAjpD,EAAAE,UAAAH,OACH,gBAlCeI,EAAA+oD,GAAA,OAAA9nF,EAAAtqB,MAAA,KAAAE,YAAA,GAAAyxG,EAAAxoD,KAAA,EAqCRsoD,EAAgB,GAAEr4C,EAAAvxB,GACLkpE,GAAaY,EAAAxoD,KAAA,EAAAiQ,EAAAx1D,IAAA,WAAAu1D,EAAAC,EAAAp6D,KAAAkd,KAAC,CAADy1F,EAAAlrF,KAAA,SAG5B,OAHO02E,EAAIhkC,EAAAr7D,MACT4zG,EAAWptF,GAAMM,MAAMqiB,EAAI//B,QAAQiqG,iBAAiBhU,EAAKh+F,MAAO,CAClEA,KAAMg+F,EAAKh+F,KAAMktB,KAAM8wE,EAAK9wE,OAC5BslF,EAAAxoD,KAAA,GAAAwoD,EAAAlrF,KAAA,GAEiB+qF,EAAWrU,EAAIl9F,GAAA,GAAMyxG,IAAW,KAAD,GAAhDA,EAAQC,EAAAQ,KACRV,EAAc1xG,KAAK2xG,GAAU,QAEsD,OAFtDC,EAAAxoD,KAAA,GAE7B+nD,EAAkB5sF,GAAM5gB,KAAKujC,EAAI//B,QAAQiqG,iBAAkB,CAAChU,EAAKh+F,KAAMuyG,KAAYC,EAAA1yF,OAAA,YAAA0yF,EAAAlrF,KAAA,gBAAAkrF,EAAAlrF,KAAA,iBAAAkrF,EAAAxoD,KAAA,GAAAwoD,EAAAU,GAAAV,EAAA,SAAAv4C,EAAA1yD,EAAAirG,EAAAU,IAAA,eAAAV,EAAAxoD,KAAA,GAAAiQ,EAAA9hD,IAAAq6F,EAAA1yF,OAAA,YAIvFle,QAAQN,IAAI,2CAAD2B,OAA4CgW,KAAKsL,UAAU+tF,KACtEf,GAAmBA,EAAgBe,GAAeE,EAAAlrF,KAAA,iBAAAkrF,EAAAxoD,KAAA,GAAAwoD,EAAAW,GAAAX,EAAA,SAElD7uD,EAAW6uD,EAAAW,IAAI,QAEK,OAFLX,EAAAxoD,KAAA,GAEf2nD,GAAa,GAAOa,EAAA1yF,OAAA,6BAAA0yF,EAAAvoD,UAAAmoD,EAAA,kDAErB,CAACT,EAAcC,EAAeG,EAAmBR,EAAiBzpE,EAAK6b,IAE1E,OAAQrD,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACNsW,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8qE,GAAU,CAAM5B,OAAAA,EAAQC,SAAAA,EAAU/7D,SAAUg8D,EAAWrnD,SAAU4nD,OAEpE3pE,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUg8D,KAA2B,OAAbE,QAAa,IAAbA,GAAAA,EAAex0G,QACvEmzC,QAAS4hE,EAAgBnoE,SAAEtlC,EAAE,yBAGzC4jC,EAAAA,GAAAA,KAAC+qE,GAAc,CAACvB,eAAgBA,EAAgBF,cAAeA,OAInE,SAASwB,GAAU7pF,GAA0C,IAAxCioF,EAAMjoF,EAANioF,OAAQC,EAAQloF,EAARkoF,SAAU/7D,EAAQnsB,EAARmsB,SAAU2U,EAAQ9gC,EAAR8gC,SACxC3lD,EAAKo8C,KAALp8C,EACqD41F,EAAA1jE,GAAlBrT,EAAAA,SAAe,IAAG,GAArDquF,EAAatX,EAAA,GAAEuX,EAAgBvX,EAAA,GACSG,EAAA7jE,GAArBrT,EAAAA,UAAe,GAAM,GAAxCq0E,EAAK6C,EAAA,GAAE6Y,EAAQ7Y,EAAA,GAEhBwX,EAAe1uF,EAAAA,aAAkB,SAAChc,GACtC,IACiC4yD,EAD3B+3C,EAAQ,GAAG93C,EAAA1xB,GACEnhC,EAAEtK,OAAOi1G,OAAK,IAAjC,IAAA93C,EAAA31D,MAAA01D,EAAAC,EAAAv6D,KAAAkd,MAAA,KAAWihF,EAAI7jC,EAAAx7D,MAAoBuzG,EAAMtxG,KAAKo9F,IAAM,MAAAxhF,GAAA49C,EAAA7yD,EAAAiV,GAAA,QAAA49C,EAAAjiD,IACpD05F,EAAiBK,GACjB7nD,GAAYA,EAAS9iD,KACpB,CAACsqG,EAAkBxnD,IAEhBkpD,EAAY,eAAAtwG,OAAkB8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IACtE,OAAOugD,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACL1B,EAAAA,GAAAA,KAAA,SAAO0c,QAASuuD,EAAch5F,MAAO,CACnCi5F,OAAQ,UACR13D,QAAS,oBACT23D,gBAAiB7b,EAAQ,UAAY,UACrC8b,uBAAwB,MACxBC,oBAAqB,OACpBC,aAAc,kBAAMN,GAAS,IAAOO,aAAc,kBAAMP,GAAS,IAAOtpE,SACxEtlC,EAAE,eAEL4jC,EAAAA,GAAAA,KAAA,SAAO0c,QAASuuD,EAAch5F,MAAO,CACnCi5F,OAAQ,UACR13D,QAAS,qBACT23D,gBAAiB,UACjB9nB,OAAQ,oBACRmoB,wBAAyB,MACzBC,qBAAsB,OACrBH,aAAc,kBAAMN,GAAS,IAAOO,aAAc,kBAAMP,GAAS,IAAOtpE,SAC3D,OAAb4nE,QAAa,IAAbA,GAAAA,EAAex0G,OAASw0G,EAAcrmG,KAAI,SAAA4M,GAAC,OAAIA,EAAEnY,QAAMiI,KAAK,MAAQvD,EAAE,gBAEzE4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAC7tC,MAAO,CAAC84E,QAAS,QAASjiE,GAAImiF,EAAclyG,KAAK,OAAOmwG,OAAQA,EAChEC,SAAUA,EAAU/7D,SAAUA,EAAU2U,SAAU4nD,OAIpE,SAASoB,GAAczxC,GAAmC,IAAjCkwC,EAAclwC,EAAdkwC,eAAgBF,EAAahwC,EAAbgwC,cACvC,OAAkB,OAAbA,QAAa,IAAbA,GAAAA,EAAex0G,QAEbkrC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACT1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZsW,EAAAA,GAAAA,MAACuwD,GAAS,CAAA7mE,SAAA,CACP4nE,EAAcrmG,KAAI,SAAC4M,EAAGxP,GAAW,IAADqrG,EAAAC,EAAAC,EAC/B,OAAO5zD,EAAAA,GAAAA,MAACuwD,GAAAA,KAAc,CAAA7mE,SAAA,CACnBrhC,EAAQ,EAAE,KAAGwP,EAAEnY,KAAK,IAAE8T,OAAOqE,EAAE+U,KAAO,KAAO,MAAMwjF,QAAQ,GAAG,WACxC,QAAtBsD,EAAAlC,EAAe35F,EAAEnY,aAAK,IAAAg0G,OAAA,EAAtBA,EAAwBnB,QAAK,GAAA5vG,OAAO6Q,OAAsC,EAA/Bg+F,EAAe35F,EAAEnY,MAAM6yG,MAAc,IAAO,KAAMnC,QAAQ,GAAE,QAAO,SACxF,QAAtBuD,EAAAnC,EAAe35F,EAAEnY,aAAK,IAAAi0G,OAAA,EAAtBA,EAAwBnB,UAAO,GAAA7vG,OAAO6Q,OAAwC,IAAjCg+F,EAAe35F,EAAEnY,MAAM8yG,SAAepC,QAAQ,GAAE,KAAI,SAC3E,QAAtBwD,EAAApC,EAAe35F,EAAEnY,aAAK,IAAAk0G,OAAA,EAAtBA,EAAwBtB,OAAI,GAAA3vG,OAAO6Q,OAAOg+F,EAAe35F,EAAEnY,MAAM4yG,KAAO,KAAMlC,QAAQ,GAAE,KAAI,UAJnEv4F,EAAEnY,UAOhCsoC,EAAAA,GAAAA,KAACuoE,GAAAA,KAAc,CAAA7mE,UACbsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,UAAQl2B,OAAO89F,EAAcrmG,KAAI,SAAA4M,GAAC,OAAIA,EAAE+U,QAAM7T,QAAO,SAAC7U,EAAG0mB,GAAC,OAAK1mB,EAAI0mB,IAAG,GAAK,KAAO,MAAMwlF,QAAQ,GAAG,kBAd3EpoE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IC1ItB,SAASiyD,KACtB,IAAwC/xD,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAjCthB,EAAImgD,EAAA,GAAE+1C,EAAO/1C,EAAA,GAC8BoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAAS9T,EAAA,GAAEgmC,EAAYhmC,EAAA,GACgB6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAvC60E,EAAO/uC,EAAA,GAAEgvC,EAAUhvC,EAAA,GACpB1F,GAAcC,EAAAA,GAAAA,mBAgCpB,OA9BArgC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,oCAAqC,GAC7C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAMo0F,EAAUp0F,EAAI6B,KAAKA,KACzBsyF,GAAQ,GACRE,EAAWD,GAAW,IACtBx2F,QAAQN,IAAI,0BAAD2B,OAA2BgW,KAAKsL,UAAU6zE,QACpDzqE,MAAMg2B,KACR,CAACA,IAEJpgC,EAAAA,WAAgB,WAAO,IAAD+0E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAKh3F,GAASm2F,EAEd,OAAc,QAAVE,EAAAF,EAAQc,UAAE,IAAAZ,GAAVA,EAAYj6B,SAA2B,QAApBk6B,EAAIH,EAAQ1G,gBAAQ,IAAA6G,GAAhBA,EAAkBl6B,SAA2B,QAApBm6B,EAAIJ,EAAQe,gBAAQ,IAAAX,GAAhBA,EAAkBn6B,QACjEmrB,EAAa,WAGP,QAAXiP,EAACL,EAAQc,UAAE,IAAAT,GAAVA,EAAYW,QAAqB,QAAXV,EAACN,EAAQc,UAAE,IAAAR,GAAVA,EAAYnC,QAAqB,QAAXoC,EAACP,EAAQc,UAAE,IAAAP,GAAVA,EAAYt6B,QAEnC,QAAjBu6B,EAACR,EAAQ1G,gBAAQ,IAAAkH,GAAhBA,EAAkBQ,QAA2B,QAAjBP,EAACT,EAAQ1G,gBAAQ,IAAAmH,GAAhBA,EAAkBtC,QAA2B,QAAjBuC,EAACV,EAAQ1G,gBAAQ,IAAAoH,GAAhBA,EAAkBz6B,QAE5D,QAAjB06B,EAACX,EAAQe,gBAAQ,IAAAJ,GAAhBA,EAAkBK,QAA2B,QAAjBJ,EAACZ,EAAQe,gBAAQ,IAAAH,GAAhBA,EAAkBzC,QAA2B,QAAjB0C,EAACb,EAAQe,gBAAQ,IAAAF,GAAhBA,EAAkB56B,QAGtFmrB,EAAa,MAFbA,EAAa,KAFbA,EAAa,KAFbA,EAAa,QAQd,CAACvnF,EAAMm2F,IAEL9gC,GACEhvB,EAAAA,GAAAA,KAAC8rE,GAAiB,CAAC3mB,iBAAkBn2B,EAAWgiC,eAAgBlB,KADhD9vD,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAIzB,SAASkyD,GAAiBzrF,GAAsC,IAAD4wE,EAAAC,EAAAC,EAAAC,EAAAC,EAAA0a,EAAAza,EAAAC,EAAAC,EAAAC,EAAAC,EAAAsa,EAAAra,EAAAC,EAAAC,EAAAC,EAAAC,EAAAka,EAAnC9mB,EAAgB9kE,EAAhB8kE,iBAAkB6L,EAAc3wE,EAAd2wE,eACtC5uF,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEyD02C,EAAA1jE,GAA3CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJC,EAAdD,EAAgBJ,UAAE,IAAAK,OAAJ,EAAdA,EAAoBl7B,SAAQ,GAAtEk8B,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAC4CG,EAAA7jE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJE,EAAdF,EAAgBJ,UAAE,IAAAM,OAAJ,EAAdA,EAAoBJ,QAAO,GAAnEsB,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC8CG,EAAAhkE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJG,EAAdH,EAAgBJ,UAAE,IAAAO,OAAJ,EAAdA,EAAoBlD,QAAO,GAAnEsE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC8CG,EAAAnkE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJI,EAAdJ,EAAgBJ,UAAE,IAAAQ,OAAJ,EAAdA,EAAoBsB,QAAO,GAAnEC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC2CI,EAAAvkE,GAAzCrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJK,EAAdL,EAAgBJ,UAAE,IAAAS,OAAJ,EAAdA,EAAoB9zC,OAAM,GAAhEu1C,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC6CG,EAAA1kE,GAAzCrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJ+a,EAAd/a,EAAgBJ,UAAE,IAAAmb,OAAJ,EAAdA,EAAoBnC,OAAM,GAAhEsC,EAAOlZ,EAAA,GAAEmZ,EAAUnZ,EAAA,GACqEG,EAAA7kE,GAAjDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVM,EAAdN,EAAgB5H,gBAAQ,IAAAkI,OAAV,EAAdA,EAA0Bv7B,SAAQ,GAAxFk9B,EAAeE,EAAA,GAAED,EAAkBC,EAAA,GACkDG,EAAAhlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVO,EAAdP,EAAgB5H,gBAAQ,IAAAmI,OAAV,EAAdA,EAA0BT,QAAO,GAArFsC,EAAcE,EAAA,GAAED,EAAiBC,EAAA,GACoDG,EAAAnlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVQ,EAAdR,EAAgB5H,gBAAQ,IAAAoI,OAAV,EAAdA,EAA0BvD,QAAO,GAArFsF,EAAcE,EAAA,GAAED,EAAiBC,EAAA,GACoDG,EAAAtlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVS,EAAdT,EAAgB5H,gBAAQ,IAAAqI,OAAV,EAAdA,EAA0BiB,QAAO,GAArFgB,EAAcE,EAAA,GAAED,GAAiBC,EAAA,GACiDG,GAAAzlE,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVU,EAAdV,EAAgB5H,gBAAQ,IAAAsI,OAAV,EAAdA,EAA0Bn0C,OAAM,GAAlFs2C,GAAaE,GAAA,GAAED,GAAgBC,GAAA,GACmDG,GAAA5lE,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVgb,EAAdhb,EAAgB5H,gBAAQ,IAAA4iB,OAAV,EAAdA,EAA0BpC,OAAM,GAAlFwC,GAAalY,GAAA,GAAEmY,GAAgBnY,GAAA,GACyDG,GAAA/lE,GAAjDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVW,EAAdX,EAAgBH,gBAAQ,IAAAc,OAAV,EAAdA,EAA0B57B,SAAQ,GAAxFi+B,GAAeK,GAAA,GAAEJ,GAAkBI,GAAA,GACkDG,GAAAlmE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVY,EAAdZ,EAAgBH,gBAAQ,IAAAe,OAAV,EAAdA,EAA0Bd,QAAO,GAArFqD,GAAcK,GAAA,GAAEJ,GAAiBI,GAAA,GACoDG,GAAArmE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVa,EAAdb,EAAgBH,gBAAQ,IAAAgB,OAAV,EAAdA,EAA0B5D,QAAO,GAArFqG,GAAcK,GAAA,GAAEJ,GAAiBI,GAAA,GACoDG,GAAAxmE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVc,EAAdd,EAAgBH,gBAAQ,IAAAiB,OAAV,EAAdA,EAA0BY,QAAO,GAArF+B,GAAcK,GAAA,GAAEJ,GAAiBI,GAAA,GACiDG,GAAA3mE,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVe,EAAdf,EAAgBH,gBAAQ,IAAAkB,OAAV,EAAdA,EAA0Bx0C,OAAM,GAAlFq3C,GAAaK,GAAA,GAAEJ,GAAgBI,GAAA,GACmDqX,GAAAh+E,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVib,EAAdjb,EAAgBH,gBAAQ,IAAAob,OAAV,EAAdA,EAA0BrC,OAAM,GAAlF2C,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GACMG,GAAAn+E,GAAhBrT,EAAAA,WAAgB,GAArCyxF,GAAMD,GAAA,GAAEE,GAASF,GAAA,GAC0BG,GAAAt+E,GAAhBrT,EAAAA,WAAgB,GAA3Ci6E,GAAS0X,GAAA,GAAEzX,GAAYyX,GAAA,GAE9B3xF,EAAAA,WAAgB,WACd,IAAMm6E,EAAiB,WACrBt3D,GAAAA,KAAW,qCAAsC,GAC9C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNixG,GAAUjxG,EAAI6B,KAAKA,KAAK0F,KAAI,SAAChE,EAAGpK,GAAO,IAADwgG,EAAAwX,EAC9BC,EAAIt0G,GAAAA,GAAA,GACLyG,GAAC,IACJvH,KAAM,CACJk5F,GAAIx0F,EAAE,iBACNgtF,SAAUhtF,EAAE,iBACZy0F,SAAUz0F,EAAE,kBACZ6C,EAAE6rB,UACJovC,OAAe,QAAPm7B,EAAAp2F,EAAEq2F,aAAK,IAAAD,GAAPA,EAASn7B,OAAS4pB,IAAAA,CAAO7kF,EAAEq2F,MAAMp7B,QAAU,KACnDrlE,EAAAA,IAIIk4G,EAAoB,QAAbF,EAAGC,EAAKlD,aAAK,IAAAiD,OAAA,EAAVA,EAAY10G,QAAO,SAAA8G,GAAC,OAAK,OAADA,QAAC,IAADA,OAAC,EAADA,EAAG4oG,SAAa,OAAJiF,QAAI,IAAJA,OAAI,EAAJA,EAAMp0G,WAE1D,OADAo0G,EAAKzpF,UAAmB,OAAP0pF,QAAO,IAAPA,GAAAA,EAASj4G,OAASi4G,EAAQ,GAAK,KACzCD,MAETxzG,QAAQN,IAAI,wBAAD2B,OAAyBgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC3D8nB,MAAMg2B,IAGX+5C,IACA,IAAMxU,EAAQC,aAAY,kBAAMuU,MAAkB,KAClD,OAAO,kBAAMtU,cAAcF,MAC1B,CAACxkF,EAAGi/C,IAEP,IAAMk6C,GAAgBt6E,EAAAA,aAAkB,SAAChc,EAAG4oC,EAAQ/c,EAAUgmE,EAAQ7C,EAAQl4B,EAAS28B,EAAQn1C,EAAOqsD,EAAOpU,GAE3G,GADAv2F,EAAE0pC,iBACQ,OAALihE,QAAK,IAALA,IAAAA,EAAO90G,OAAQ,OAAOijD,MAAM37C,EAAE,mBACnC,IAAK00F,EAAQ,OAAO/4C,MAAM37C,EAAE,kBAC5B,GAAIs2F,IAAWn1C,EAAO,OAAOxF,MAAM37C,EAAE,mBAErC,IACE+4F,IAAa,GAEbr3D,GAAAA,KAAW,oCAAqC,CAC9C+J,OAAAA,EAAQ/c,SAAAA,EAAUgmE,OAAAA,EAAQ7C,OAAAA,EAAQl4B,UAAWA,EAAS28B,SAAUA,EAAQn1C,MAAAA,EAAOqsD,MAAAA,GAC9E,CACDr/E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,gBACRo5F,GAAaA,OACZnwE,MAAMg2B,GACV,QACC,IAAIx/C,SAAQ,SAAAC,GAAO,OAAI+Y,WAAW/Y,EAAS,QAAOspB,MAAK,kBAAM+vE,IAAa,SAE3E,CAAC/4F,EAAGi/C,EAAa85C,KAEpB,OACEn9C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkBA,EAAiBzjD,SAAA,EAC5C1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACC,OAAbt/B,GACD41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,uMAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,gGAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sDACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qEAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,wJAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,6CACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,2EAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,2BACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kCACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sDAKZsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAatlC,EAAXu2F,EAAa,kBAAuB,iBAAiB,IAAEG,MAC1E9yD,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAY,IAAA/mC,OAAOyB,EAAfu2F,EAAiB,kBAA8B,mBAAZ,KAAkC,IAAEv2F,EAAE,sBACxF4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcotF,EAAS/wC,SAAU,SAAC9iD,GAAC,OAAK8zF,EAAW9zF,EAAEtK,OAAO0B,cAEvF2pC,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAACgtE,GAAiB,CAACliF,SAAS,KAAKmiF,WAAYf,EAASgB,cAAef,OAEvEn0D,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAatlC,EAAXu2F,EAAa,kBAAuB,uBAC/CA,IAAY36C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBAC9I4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0sF,EAAUrwC,SAAU,SAAC9iD,GAAC,OAAKozF,EAAYpzF,EAAEtK,OAAO0B,cAEzF2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbu2F,IAAY36C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBAC9I4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6sF,EAAUxwC,SAAU,SAAC9iD,GAAC,OAAKuzF,EAAYvzF,EAAEtK,OAAO0B,cAEzF2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,uBAAsB7a,UAC3D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgB2wC,EAAU1qD,QAAS,kBAAM2qD,GAAaD,aAIrH3yD,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,KAAMmzF,EAAUG,GAAWN,EAAWU,EAAUG,EAASoZ,GAAS,WAC3Fha,GAAcD,OAEhBvwD,SAEWtlC,EAAZ61F,EAAc,gBAAqB,oBAC7B,SACTj6C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAmBtlC,EAAjBs3F,EAAmB,kBAAuB,iBAAiB,IAAEG,OAChF7zD,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAkB,IAAA/mC,OAAOyB,EAArBs3F,EAAuB,kBAA8B,mBAAZ,KAAkC,IAAEt3F,EAAE,sBAC9F4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcmuF,GAAe9xC,SAAU,SAAC9iD,GAAC,OAAK60F,GAAiB70F,EAAEtK,OAAO0B,cAEnG2pC,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAACgtE,GAAiB,CAACliF,SAAS,WAAWmiF,WAAYb,GAAec,cAAeb,QAEnFr0D,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAmBtlC,EAAjBs3F,EAAmB,kBAAuB,uBACrDA,IAAkB17C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0tF,EAAgBrxC,SAAU,SAAC9iD,GAAC,OAAKo0F,EAAkBp0F,EAAEtK,OAAO0B,cAErG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbs3F,IAAkB17C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6tF,EAAgBxxC,SAAU,SAAC9iD,GAAC,OAAKu0F,EAAkBv0F,EAAEtK,OAAO0B,cAErG2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,6BAA4B7a,UACjE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgB0xC,EAAgBzrD,QAAS,kBAAM0rD,IAAmBD,aAIjI1zD,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,WAAYm0F,EAAgBG,GAAiBN,EAAiBS,EAAgBG,GAAeuY,IAAe,WACrIlZ,GAAoBD,OAEtBvxD,SAEiBtlC,EAAlB62F,EAAoB,gBAAqB,oBACnC,SACTj7C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAmBtlC,EAAjBq4F,GAAmB,kBAAuB,iBAAiB,IAAEG,OAChF50D,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAkB,IAAA/mC,OAAOyB,EAArBq4F,GAAuB,kBAA8B,mBAAZ,KAAkC,IAAEr4F,EAAE,sBAC9F4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAckvF,GAAe7yC,SAAU,SAAC9iD,GAAC,OAAK41F,GAAiB51F,EAAEtK,OAAO0B,cAEnG2pC,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAACgtE,GAAiB,CAACliF,SAAS,WAAWmiF,WAAYV,GAAeW,cAAeV,QAEnFx0D,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAmBtlC,EAAjBq4F,GAAmB,kBAAuB,uBACrDA,KAAkBz8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcyuF,GAAgBpyC,SAAU,SAAC9iD,GAAC,OAAKm1F,GAAkBn1F,EAAEtK,OAAO0B,cAErG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbq4F,KAAkBz8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc4uF,GAAgBvyC,SAAU,SAAC9iD,GAAC,OAAKs1F,GAAkBt1F,EAAEtK,OAAO0B,cAErG2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,6BAA4B7a,UACjE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgByyC,GAAgBxsD,QAAS,kBAAMysD,IAAmBD,cAIjIz0D,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,WAAYk1F,GAAgBG,IAAiBN,GAAiBS,GAAgBG,GAAe2X,IAAe,WACrItY,IAAoBD,QAEtBtyD,SAEiBtlC,EAAlB43F,GAAoB,gBAAqB,oBACnC,SACTh8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,KAAI5gB,SAAA,EAC3B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,sBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CAEL,OAANgrE,SAAM,IAANA,IAAAA,GAAQ53G,QACNkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,wBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,uBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,sBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,sBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,wBAGT4jC,EAAAA,GAAAA,KAAA,SAAA0B,SAEQ,OAANgrE,SAAM,IAANA,QAAM,EAANA,GAAQzpG,KAAI,SAAAyyF,GAAS,IAADC,EAAAwX,EAAAC,EAAAxX,EAClB,OAAO59C,EAAAA,GAAAA,MAAA,MAAwB/lC,MAAO,CAACgwC,cAAe,UAAUvgB,SAAA,EAC9D1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK7gG,KACVmjD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKg0D,EAAKhD,OAAUgD,EAAKn4C,MAAQ,GAAKnhD,EAAE,mBAAsBs5F,EAAKh+F,KAAK,IAAEg+F,EAAKn4C,UAC/Evd,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAC0vD,GAAK,CAACjiC,GAAIioC,EAAK3/B,QAAW2/B,EAAKJ,MAAQ,UAAY,UAAa,YAAY5zD,SAC1Eg0D,EAAK3/B,QAAW2/B,EAAKJ,MAAQl5F,EAAE,eAAiBA,EAAE,eAAkBA,EAAE,oBAG3E47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGg0D,EAAKx7B,SAAqB,QAAfy7B,EAAID,EAAKx7B,cAAM,IAAAy7B,OAAA,EAAXA,EAAa1nF,OAAO,gBAAc+xB,EAAAA,GAAAA,KAAA,SACjD01D,EAAKx7B,SAAqB,QAAfizC,EAAIzX,EAAKx7B,cAAM,IAAAizC,OAAA,EAAXA,EAAal/F,OAAO,iBAEtC+pC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACiB,QADjB0rE,EACG1X,EAAKryE,iBAAS,IAAA+pF,OAAA,EAAdA,EAAgB11G,MAAKsoC,EAAAA,GAAAA,KAAA,UACtBA,EAAAA,GAAAA,KAACqtE,GAAmB,CAAC3X,KAAMA,EAAKryE,gBAElC2c,EAAAA,GAAAA,KAAA,MAAA0B,SAAe,QAAfk0D,EAAKF,EAAKJ,aAAK,IAAAM,OAAA,EAAVA,EAAY58F,QAhBH08F,EAAK5qE,kBAsBzB,GAEE,OAAN4hF,SAAM,IAANA,IAAAA,GAAQ53G,OAAuB,GAAdsH,EAAE,mBAO/B,SAASkxG,GAAa/qF,GAA0B,IAAxBqnF,EAAKrnF,EAALqnF,MAAO2D,EAAahrF,EAAbgrF,cACtBnxG,EAAKo8C,KAALp8C,EACP,OACE47C,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAACuoE,GAAS,CAAA7mE,SACPkoE,EAAM3mG,KAAI,SAAC4M,EAAGxP,GACb,OAAO23C,EAAAA,GAAAA,MAACuwD,GAAAA,KAAc,CAAA7mE,SAAA,CACnB7xB,EAAEnY,KAAK,SACRsoC,EAAAA,GAAAA,KAACqtE,GAAmB,CAAC3X,KAAM7lF,IAAI,SAC/BmwB,EAAAA,GAAAA,KAACwtE,GAAkB,CAAC9X,KAAM7lF,IAAI,SAC9BmwB,EAAAA,GAAAA,KAACytE,GAAkB,CAAC/X,KAAM7lF,MAJAxP,WASlC2/B,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACF1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAASslE,EAAc7rE,SAAEtlC,EAAE,6BAM3E,SAAS4wG,GAAiBnqF,GAAyC,IAAvCiI,EAAQjI,EAARiI,SAAUmiF,EAAUpqF,EAAVoqF,WAAYC,EAAarqF,EAAbqqF,cACzC9wG,EAAKo8C,KAALp8C,EAEmDsxG,EAAAp/E,GAAxBrT,EAAAA,SAAe,UAAS,GAAnD0yF,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAS9B,OARAzyF,EAAAA,WAAgB,WACd,GAAc,OAAVgyF,QAAU,IAAVA,GAAAA,EAAYn4G,OAAQ,CACtB,IAAMiE,EAAOk0G,EAAW,GAAGl0G,KACd,WAATA,GAA8B,SAATA,GAA4B,WAATA,GAC1C60G,EAAa70G,MAGhB,CAACk0G,KACIj1D,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACNsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,uBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,mBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,QAAQwkD,MAAOnhD,EAAE,oBAAqB0sB,GAAI,UAAYgC,EAAU+iF,QAAuB,WAAdF,EACxFj2G,KAAM,gBAAkBozB,EAAUi3B,SAAU,SAAA9iD,GAAC,OAAI2uG,EAAa,aAEjD,WAAdD,IACD3tE,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAAC8tE,GAAiB,CAAChjF,SAAUA,EAAUmiF,WAAYA,EAAYC,cAAeA,UAIlFl1D,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1BsW,EAAAA,GAAAA,MAAC4wD,GAAU,CAAAlnE,SAAA,EACT1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,QAAQwkD,MAAOnhD,EAAE,kBAAmB0sB,GAAI,UAAYgC,EAAU+iF,QAAuB,SAAdF,EAC5Ej2G,KAAM,eAAiBozB,EAAUi3B,SAAU,SAAA9iD,GAAC,OAAI2uG,EAAa,WACvE,SACF51D,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,yBAEJ,SAAduxG,IACD3tE,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAAC+tE,GAAiB,CAACjjF,SAAUA,EAAUmiF,WAAYA,EAAYC,cAAeA,UAIlFl1D,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1BsW,EAAAA,GAAAA,MAAC4wD,GAAU,CAAAlnE,SAAA,EACT1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,QAAQwkD,MAAOnhD,EAAE,oBAAqB0sB,GAAI,UAAYgC,EAAU+iF,QAAuB,WAAdF,EAC9Ej2G,KAAM,eAAiBozB,EAAUi3B,SAAU,SAAA9iD,GAAC,OAAI2uG,EAAa,aACvE,SACF51D,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,2BAEJ,WAAduxG,IACD3tE,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAACguE,GAAmB,CAACljF,SAAUA,EAAUmiF,WAAYA,EAAYC,cAAeA,YAOxF,SAASc,GAAmB/sF,GAAyC,IAAvC6J,EAAQ7J,EAAR6J,SAAUmiF,EAAUhsF,EAAVgsF,WAAYC,EAAajsF,EAAbisF,cAC3C9wG,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAC+E2yD,EAAA3/E,GAA7DrT,EAAAA,SAAyB,OAAVgyF,QAAU,IAAVA,GAAAA,EAAYn4G,OAASm4G,EAAW,GAAGt4G,OAAQ,IAAG,GAA5Fu5G,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GACgBG,EAAA9/E,GAAhBrT,EAAAA,WAAgB,GAA3Ci6E,EAASkZ,EAAA,GAAEjZ,EAAYiZ,EAAA,GAExBC,EAAiBpzF,EAAAA,YAAiB4gC,GAAA0F,KAAAA,MAAC,SAAAC,IAAA,IAAA8sD,EAAA5yG,EAAA,OAAA6lD,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,UAClCkvF,EAAY,CAADzsD,EAAAziC,KAAA,eAAAyiC,EAAAgpD,OAAA,SAAS1yD,MAAM37C,EAAE,uBAAqB,OACiC,GAAjFkyG,EAASJ,EAAYhrE,WAAW,YAAcgrE,EAAYhrE,WAAW,YACtEgrE,EAAYhrE,WAAW,YAAegrE,EAAYhrE,WAAW,WAAcgrE,EAAYhrE,WAAW,YAAeorE,EAAM,CAAA7sD,EAAAziC,KAAA,eAAAyiC,EAAAgpD,OAAA,SAAS1yD,MAAM37C,EAAE,uBAAqB,YAC9JkyG,GAAUJ,EAAYxxG,QAAQ,QAAU,GAAKwxG,EAAYxxG,QAAQ,SAAW,GAAC,CAAA+kD,EAAAziC,KAAA,eAAAyiC,EAAAgpD,OAAA,SAAS1yD,MAAM37C,EAAE,uBAAqB,OAEpG,OAAnB+4F,GAAa,GAAM1zC,EAAAC,KAAA,EAAAD,EAAAziC,KAAA,GAEC,IAAInjB,SAAQ,SAACC,EAASC,GACtC+hC,GAAAA,KAAW,wCAAyC,CAClD3V,IAAK+lF,GACJ,CACD3jF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNI,EAAQJ,MACP2pB,MAAMtpB,MACR,KAAD,GARO,OAAHL,EAAG+lD,EAAAipD,KAAAjpD,EAAAziC,KAAA,GAUH,IAAInjB,SAAQ,SAACC,EAASC,GAC1BzC,QAAQN,IAAI,GAAD2B,OAAIyB,EAAE,qBAAoB,UAAAzB,OAAIgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACjE,IAAMgxG,EAAY7yG,EAAI6B,KAAKA,KACrBqsG,EAAQ,CAAC,CAAClyG,KAAM62G,EAAU72G,KAAMktB,KAAM,EAAGijF,KAAM0G,EAAU1G,KAAMlzG,OAAQ45G,EAAU55G,OAAQoE,KAAM,WACrG+kC,GAAAA,KAAW,oCAAqC,CAC9ChT,SAAAA,EAAU8+E,MAAAA,GACT,CACDr/E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,GAAD2B,OAAIyB,EAAE,qBAAoB,UAAAzB,OAAIgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACjE2vG,EAAcxxG,EAAI6B,KAAKA,KAAKqsG,OAC5B9tG,OACCupB,MAAMtpB,MACR,KAAD,GAAA0lD,EAAAziC,KAAA,iBAAAyiC,EAAAC,KAAA,GAAAD,EAAAmpD,GAAAnpD,EAAA,SAEFpG,EAAWoG,EAAAmpD,IAAI,QAEK,OAFLnpD,EAAAC,KAAA,GAEfyzC,GAAa,GAAO1zC,EAAAjqC,OAAA,6BAAAiqC,EAAAE,UAAAH,EAAA,yBAErB,CAACplD,EAAG8xG,EAAa7yD,EAAavwB,EAAUoiF,EAAe/X,IAE1D,OAAQn1D,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACNsW,EAAAA,GAAAA,MAAC8H,GAAAA,QAAY,CAAClgB,GAAG,MAAK8B,SAAA,GACR,OAAVurE,QAAU,IAAVA,GAAAA,EAAYn4G,UAAUkrC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACtBsW,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACF1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAC/mD,KAAK,OAAO2M,aAAcwoG,EAAapsD,YAAa1lD,EAAE,qBAAsB2lD,SAAU,SAAA9iD,GAAC,OAAIkvG,EAAelvG,EAAEtK,OAAO0B,aAEnI2pC,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUlJ,SAAU8nD,EAAWjtD,QAASomE,EAAe3sE,SAAEtlC,EAAE,2BAItE,OAAV6wG,QAAU,IAAVA,OAAU,EAAVA,EAAYn4G,UAAUkrC,EAAAA,GAAAA,KAACstE,GAAa,CAAC1D,MAAOqD,EAAYM,cAAe,SAACtuG,GAAC,OAAKiuG,EAAc,cAKnG,SAASa,GAAiBS,GAAyC,IAAvC1jF,EAAQ0jF,EAAR1jF,SAAUmiF,EAAUuB,EAAVvB,WAAYC,EAAasB,EAAbtB,cACzC9wG,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEgCmzD,EAAAngF,GAAlBrT,EAAAA,SAAe,IAAG,GAA7CyzF,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAExBG,EAAiB3zF,EAAAA,aAAkB,WACvC,IAAKyzF,EAAW,OAAO32D,MAAM37C,EAAE,oBAC/B,IAAKsyG,EAAUxrE,WAAW,WAAawrE,EAAUxrE,WAAW,aAAewrE,EAAUxrE,WAAW,aAAc,OAAO6U,MAAM37C,EAAE,oBAE7H,IAAMyyG,EAAgBH,EAAUj3G,MAAMi3G,EAAUngB,YAAY,MAC5D,IAAK,CAAC,OAAQ,OAAQ,OAAO1gF,SAASghG,GAAgB,OAAO92D,MAAM37C,EAAE,oBAErE0hC,GAAAA,KAAW,oCAAqC,CAC9C43D,KAAMgZ,GACL,CACDnkF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,GAAD2B,OAAIyB,EAAE,mBAAkB,UAAAzB,OAAIgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAC/D,IAAMuxG,EAAepzG,EAAI6B,KAAKA,KACxBqsG,EAAQ,CAAC,CAAClyG,KAAMo3G,EAAap3G,KAAMktB,KAAMkqF,EAAalqF,KAAMijF,KAAMiH,EAAajH,KAAMlzG,OAAQm6G,EAAan6G,OAAQoE,KAAM,SAC9H+kC,GAAAA,KAAW,oCAAqC,CAC9ChT,SAAAA,EAAU8+E,MAAAA,GACT,CACDr/E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,GAAD2B,OAAIyB,EAAE,mBAAkB,UAAAzB,OAAIgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAC/D2vG,EAAcxxG,EAAI6B,KAAKA,KAAKqsG,UAC3BvkF,MAAMg2B,MACRh2B,MAAMg2B,KACR,CAACj/C,EAAGsyG,EAAWrzD,EAAavwB,EAAUoiF,IAEzC,OAAQltE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACNsW,EAAAA,GAAAA,MAAC8H,GAAAA,QAAY,CAAClgB,GAAG,MAAK8B,SAAA,GACR,OAAVurE,QAAU,IAAVA,GAAAA,EAAYn4G,UAAUkrC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACtBsW,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACF1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAC/mD,KAAK,OAAO2M,aAAcgpG,EAAW5sD,YAAa1lD,EAAE,mBAAoB2lD,SAAU,SAAA9iD,GAAC,OAAI0vG,EAAa1vG,EAAEtK,OAAO0B,aAE7H2pC,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUrO,QAAS2mE,EAAeltE,SAAEtlC,EAAE,2BAIjD,OAAV6wG,QAAU,IAAVA,OAAU,EAAVA,EAAYn4G,UAAUkrC,EAAAA,GAAAA,KAACstE,GAAa,CAAC1D,MAAOqD,EAAYM,cAAe,SAACtuG,GAAC,OAAKiuG,EAAc,cAKnG,SAASY,GAAiBiB,GAAyC,IAAvCjkF,EAAQikF,EAARjkF,SAAUmiF,EAAU8B,EAAV9B,WAAYC,EAAa6B,EAAb7B,cACzC9wG,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBACd0zD,EAAgB/zF,EAAAA,aAAkB,SAAC6P,EAAU8+E,EAAOqF,GACxD,GAAU,OAALrF,QAAK,IAALA,IAAAA,EAAO90G,OAAQ,OAAOijD,MAAM37C,EAAE,sBAEnC0hC,GAAAA,KAAW,oCAAqC,CAC9ChT,SAAAA,EAAU8+E,MAAOA,EAAM3mG,KAAI,SAAA4M,GACzB,MAAO,CAACnY,KAAMmY,EAAEnY,KAAMktB,KAAM/U,EAAE+U,KAAMijF,KAAMh4F,EAAEg4F,KAAMlzG,OAAQkb,EAAElb,OAAQoE,KAAM,cAE3E,CACDwxB,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,GAAD2B,OAAIyB,EAAE,qBAAoB,MAAAzB,OAAKgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAClE0xG,EAASvzG,EAAI6B,KAAKA,KAAKqsG,UACtBvkF,MAAMg2B,KACR,CAACj/C,EAAGi/C,IAEP,OAAQrb,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACNsW,EAAAA,GAAAA,MAAC8H,GAAAA,QAAY,CAAClgB,GAAG,MAAK8B,SAAA,GACR,OAAVurE,QAAU,IAAVA,GAAAA,EAAYn4G,UAAUkrC,EAAAA,GAAAA,KAACgpE,GAAY,CAACC,gBAAiB,SAACW,GAAK,OAAKoF,EAAclkF,EAAU8+E,EAAOsD,OACtF,OAAVD,QAAU,IAAVA,OAAU,EAAVA,EAAYn4G,UAAUkrC,EAAAA,GAAAA,KAACstE,GAAa,CAAC1D,MAAOqD,EAAYM,cAAe,SAACtuG,GAAC,OAAKiuG,EAAc,cAKnG,SAASG,GAAmB6B,GAAU,IAADC,EAAAC,EAC7Bv/F,EAD0Bq/F,EAAJxZ,KAE5B,OAAM,OAAD7lF,QAAC,IAADA,GAAAA,EAAG5B,QACD+pC,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CACQ,YAAX,OAAD7xB,QAAC,IAADA,OAAC,EAADA,EAAG9W,QACFi/C,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,YAEDl2B,QAAQ,OAADqE,QAAC,IAADA,OAAC,EAADA,EAAG+U,MAAK,KAAK,MAAMwjF,QAAQ,GAAG,UACrC58F,OAAQ,OAADqE,QAAC,IAADA,GAAS,QAARs/F,EAADt/F,EAAG5B,cAAM,IAAAkhG,OAAR,EAADA,EAAW57D,UAAU60D,QAAQ,GAAG,YAG7B,YAAX,OAADv4F,QAAC,IAADA,OAAC,EAADA,EAAG9W,QACFinC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAE,gBAIHl2B,QAAQ,OAADqE,QAAC,IAADA,GAAS,QAARu/F,EAADv/F,EAAG5B,cAAM,IAAAmhG,OAAR,EAADA,EAAWC,UAAS,KAAMjH,QAAQ,GAAG,WAdxBpoE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAkBzB,SAAS4zD,GAAkB8B,GAAU,IAADC,EAAAC,EAAAC,EAAAC,EAC5B7/F,EADyBy/F,EAAJ5Z,KAE3B,OAAM,OAAD7lF,QAAC,IAADA,GAAAA,EAAG8/F,OACD33D,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,SAAQ,OAAD7xB,QAAC,IAADA,GAAQ,QAAP0/F,EAAD1/F,EAAG8/F,aAAK,IAAAJ,OAAP,EAADA,EAAUK,WAAW,IAAG,OAAD//F,QAAC,IAADA,GAAQ,QAAP2/F,EAAD3/F,EAAG8/F,aAAK,IAAAH,OAAP,EAADA,EAAUK,QAAQ,IAAG,OAADhgG,QAAC,IAADA,GAAQ,QAAP4/F,EAAD5/F,EAAG8/F,aAAK,IAAAF,OAAP,EAADA,EAAU7sD,MAAM,IAAG,OAAD/yC,QAAC,IAADA,GAAQ,QAAP6/F,EAAD7/F,EAAG8/F,aAAK,IAAAD,OAAP,EAADA,EAAU/sD,OAAO,QADxE3iB,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAE,YAI1B,SAAS+rE,GAAkBqC,GAAU,IAADC,EAAAC,EAAAC,EAC5BpgG,EADyBigG,EAAJpa,KAE3B,OAAM,OAAD7lF,QAAC,IAADA,GAAAA,EAAGqgG,OACDl4D,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,SAAQ,OAAD7xB,QAAC,IAADA,GAAQ,QAAPkgG,EAADlgG,EAAGqgG,aAAK,IAAAH,OAAP,EAADA,EAAUH,WAAW,IAAG,OAAD//F,QAAC,IAADA,GAAQ,QAAPmgG,EAADngG,EAAGqgG,aAAK,IAAAF,OAAP,EAADA,EAAUG,YAAY,MAAK,OAADtgG,QAAC,IAADA,GAAQ,QAAPogG,EAADpgG,EAAGqgG,aAAK,IAAAD,OAAP,EAADA,EAAUG,SAAS,UAD9DpwE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAE,YChlBX,SAAS2uE,GAAYz7G,GAElC,MAAoB,OADH6rF,MACUzgD,EAAAA,GAAAA,KAACswE,GAAa93G,GAAA,GAAK5D,KAAYorC,EAAAA,GAAAA,KAACuwE,GAAa/3G,GAAA,GAAK5D,IAG/E,SAAS07G,GAAajwF,GAA2B,IAAzBirE,EAAejrE,EAAfirE,gBAAiBD,EAAIhrE,EAAJgrE,KAChCc,EAAiGd,EAAjGc,cAAeC,EAAkFf,EAAlFe,WAAYZ,EAAsEH,EAAtEG,UAAWI,EAA2DP,EAA3DO,UAAWF,EAAgDL,EAAhDK,OAAQG,EAAwCR,EAAxCQ,QAASE,EAA+BV,EAA/BU,UAAWO,EAAoBjB,EAApBiB,iBACpCxyC,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAzCiW,EAAQ4oB,EAAA,GAAE02D,EAAW12D,EAAA,GACkBoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAAvC4zE,EAAO3zC,EAAA,GAAEu1D,EAAUv1D,EAAA,GACuC6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAA1Dy1F,EAAkB3vD,EAAA,GAAE4vD,EAAkB5vD,EAAA,GACcixC,EAAA1jE,GAAhBrT,EAAAA,WAAgB,GAApD21F,EAAe5e,EAAA,GAAE6e,EAAe7e,EAAA,GACjClF,EAAa,gDAAAnyF,OAAmDyxF,EAAU,KAC1EW,EAAS,gDAAApyF,OAAmDyxF,EAAU,KAEtE0kB,EAAe3nB,GAAa,CAChCC,SAAUnuE,EAAAA,OAAa,CACrB,CAACsvE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,qBAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,MAAOzhE,GAAI,gBACpB,CAACyhE,OAAQ,qBAAOzhE,GAAI,oBAkBxB,OAdA7N,EAAAA,WAAgB,WACd,GAAKkxE,EAAL,CACA,IAAMoQ,EAAI,IAAIwU,IAAI5kB,EAAcxvF,QAAQ,SAAU,YAClD6zG,EAAYjU,EAAErrE,UACdu/E,EAAWlU,EAAEprE,MACbw/E,EAAmB,GAADh2G,OAAI4hG,EAAEtrE,UACvB,CAACk7D,IAEJlxE,EAAAA,WAAgB,WACd,GAAKkxE,GAAkBC,EAAvB,CACA,IAAMmQ,EAAI,IAAIwU,IAAI3kB,EAAWzvF,QAAQ,SAAU,YAC/Ck0G,EAAgB,GAADl2G,OAAI4hG,EAAEtrE,KAAK91B,MAAM,KAAK,QACpC,CAACgxF,EAAeC,KAGjBp0C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAiB,IAAGzjD,SAAA,EAC7BsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,wCACG1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAWsnB,IAAgB,4LACpE9wE,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wQACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,oQACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uRAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,wLAA8B1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mDAAmDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,iBAAM,cACpIsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,4BAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,yBAAyBj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,sCAAiB,wCAAM1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,kCAAkCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,QAAO,iBACnLsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,4BAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,WAAU,kDAAW1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,yBAAyBj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,mDAIjLsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,iDAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,0BAC7C1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAWsnB,QAEjD94D,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yEACY1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,SAAW,0DAAS1B,EAAAA,GAAAA,KAAA,UACxCgY,EAAAA,GAAAA,MAAA,QAAAtW,SAAA,CAAM,QAAMxjC,OAAOmzB,SAASH,gBAE9B8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,8LAC6B1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,YAEvCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qNAC0C1B,EAAAA,GAAAA,KAAA,UAC5CgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAAG1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,qDAAqDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,kBAAiB,2CACtH1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0JACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wFAGRsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,2FACe1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,eAG3B1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,kDACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gEAAU1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,mBACpCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,8CAA8Cj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,SAAQ,4CACrGsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,8DACW1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,2DAA0D8Q,SAAC,iBAAM,UACtFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,6BACG1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,2BAAmB,QAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,sCAA8B,aAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,uBAAI1B,EAAAA,GAAAA,KAAA,SAAK,yCAClGA,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,2BAAmB,QAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,6BAA+B,aAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,yBAErGsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,4BAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,mBACdsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,cAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,eACfsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kBACO1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOxQ,IAAgB,SAChC8O,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiyB,YAGjE8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,cACG1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmtD,IAAe,SAC3B7uD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4vF,YAGjE72C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iBACM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,OAAS,SACvB1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG,eAGjE+4C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,mBACQ1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgvE,IAA0B,SAC3C1wE,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,iCAAO7Z,UAChE1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGyxG,kBAKrE1wE,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,+CAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,kDACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,8CAA8Cj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,SAAQ,4CACrGsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sCAEFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,6BAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,wCAAsB,QAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,+BAC/CsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,+CAAkB1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,mBAC5BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kBACO1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOxQ,IAAgB,SAChC8O,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiyB,YAGjE8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,cACG1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmtD,IAAe,SAC3B7uD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4vF,YAGjE72C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,+BACU1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,OAAS,SAC3B1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG,eAGjE+4C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,6BACa1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOkvE,IAAuB,SAC7C5wE,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG2xG,YAGjE54D,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,wFAAc1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,+EAG5B1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,4CACJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qLAC8B1B,EAAAA,GAAAA,KAAA,UAChCgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,4EAAiB1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,uBAAe,mBAC1CsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBACA1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,mBAAa,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SAC1F1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBACA1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAQ,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtF7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,YAGjE7zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,8BAIjEsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,gEAAU1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,6DAA6Dj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,2BAGvHsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,6DAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,0BAC7C1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAWsnB,QAEjD94D,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yEACY1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,SAAW,0DAAS1B,EAAAA,GAAAA,KAAA,UACxCgY,EAAAA,GAAAA,MAAA,QAAAtW,SAAA,CAAM,QAAMxjC,OAAOmzB,SAASH,gBAE9B8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,8LAC6B1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,YAEvCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qNAC0C1B,EAAAA,GAAAA,KAAA,UAC5CgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAAG1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,qDAAqDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,kBAAiB,2CACtH1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0JACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wFAGRsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,2FACe1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,eAG3B1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,kDACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gEAAU1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,mBACpCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,kCAAkCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,oBAAS,yBAC1FsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,6DACU1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,2DAA0D8Q,SAAC,iBAAM,UACrFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAAG1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,2BACbsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gEACQ1B,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOyqD,IAAqB,SAC3CnsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,iCAAO7Z,UAChE1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGktF,YAGjEn0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sEAAW1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,6FAGzBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,mEACW1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,2DAA0D8Q,SAAC,iBAAM,UACtFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kCAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,qBACfsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,4BAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,aACdsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kCAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,YACfsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yCACK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,MAAQ,SACrB1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG,cAGjE+4C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qCAAQ1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBAClBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yCAAY1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBACtBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,uCAAU1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,0BAGxB1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6CAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,kDACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,2CACO1B,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAO0qD,IAAkB,SACvCpsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGmtF,YAGjEp0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,WAAU,yEAC5FsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,+CACW1B,EAAAA,GAAAA,KAAA,UACbA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOorD,IAAqB,SAC5B9sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG6tF,YAGjE90C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sDACa1B,EAAAA,GAAAA,KAAA,UACfA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOqrD,IAAiB,SACxB/sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG8tF,YAGjE/sD,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uFACJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qLAC8B1B,EAAAA,GAAAA,KAAA,UAChCgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBACA1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,mBAAa,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SAC1F1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBACA1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAQ,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtF7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,YAGjE7zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,8BAIjEsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,gEAAU1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,6DAA6Dj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,2BAGvHsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,sEAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,0BAC7C1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAOtB,UAAWsnB,QAEjD94D,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yEACY1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,SAAW,0DAAS1B,EAAAA,GAAAA,KAAA,UACxCgY,EAAAA,GAAAA,MAAA,QAAAtW,SAAA,CAAM,QAAMxjC,OAAOmzB,SAASH,gBAE9B8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,8LAC6B1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,YAEvCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qNAC0C1B,EAAAA,GAAAA,KAAA,UAC5CgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAAG1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,qDAAqDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,kBAAiB,2CACtH1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0JACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wFAGRsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,2FACe1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,eAG3B1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,kDACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gEAAU1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,mBACpCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,yBAAyBj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,0CAAgB,wCAAM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kBAAe,kCAAK1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,yCAAyCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,qBAAU,sEACpNsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sEACS1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,2DAA0D8Q,SAAC,iBAAM,UACpFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAAG1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,uCACbsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kCACG1B,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOyqD,IAAqB,SACtCnsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,iCAAO7Z,UAChE1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGktF,SAE/DnsD,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAACgrD,GAAS,CAAC7iE,IAAKgkE,QAElBn0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kCAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iCACfsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kCAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iCACfsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kCAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iCACfsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kCAAK1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kBAGnB1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6CAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,kDACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,2CACO1B,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAO0qD,IAAkB,SACvCpsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGmtF,YAGjEpsD,EAAAA,GAAAA,KAACgrD,GAAS,CAAC7iE,IAAKikE,KAChBp0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,WAAU,yEAC5FsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,+CACW1B,EAAAA,GAAAA,KAAA,UACbA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOorD,IAAqB,SAC5B9sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG6tF,YAGjE90C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sDACa1B,EAAAA,GAAAA,KAAA,UACfA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOqrD,IAAiB,SACxB/sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG8tF,YAGjE/sD,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uFACJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qLAC8B1B,EAAAA,GAAAA,KAAA,UAChCgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBACA1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,mBAAa,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SAC1F1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBACA1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAQ,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtF7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,eAAI7Z,UAC7D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,YAGjE7zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,8BAIjEsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,gEAAU1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,6DAA6Dj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,6BAO7H,SAAS6uE,GAAahuF,GAA6C,IAA3C+pE,EAAgB/pE,EAAhB+pE,iBAAkBhB,EAAe/oE,EAAf+oE,gBAAiBD,EAAI9oE,EAAJ8oE,KAClDc,EAA+Ed,EAA/Ec,cAAeC,EAAgEf,EAAhEe,WAAYZ,EAAoDH,EAApDG,UAAWI,EAAyCP,EAAzCO,UAAWF,EAA8BL,EAA9BK,OAAQG,EAAsBR,EAAtBQ,QAASE,EAAaV,EAAbU,UACzBoG,EAAA7jE,GAAhBrT,EAAAA,WAAgB,GAAzCiW,EAAQihE,EAAA,GAAEqe,EAAWre,EAAA,GACkBG,EAAAhkE,GAAhBrT,EAAAA,WAAgB,GAAvC4zE,EAAOyD,EAAA,GAAEme,EAAUne,EAAA,GACuCG,EAAAnkE,GAAhBrT,EAAAA,WAAgB,GAA1Dy1F,EAAkBje,EAAA,GAAEke,EAAkBle,EAAA,GACcI,EAAAvkE,GAAhBrT,EAAAA,WAAgB,GAApD21F,EAAe/d,EAAA,GAAEge,EAAehe,EAAA,GACjC/F,EAAa,gDAAAnyF,OAAmDyxF,EAAU,KAC1EW,EAAS,gDAAApyF,OAAmDyxF,EAAU,KAgB5E,OAdAnxE,EAAAA,WAAgB,WACd,GAAKkxE,EAAL,CACA,IAAMoQ,EAAI,IAAIwU,IAAI5kB,EAAcxvF,QAAQ,SAAU,YAClD6zG,EAAYjU,EAAErrE,UACdu/E,EAAWlU,EAAEprE,MACbw/E,EAAmB,GAADh2G,OAAI4hG,EAAEtrE,UACvB,CAACk7D,IAEJlxE,EAAAA,WAAgB,WACd,GAAKkxE,GAAkBC,EAAvB,CACA,IAAMmQ,EAAI,IAAIwU,IAAI3kB,EAAWzvF,QAAQ,SAAU,YAC/Ck0G,EAAgB,GAADl2G,OAAI4hG,EAAEtrE,KAAK91B,MAAM,KAAK,QACpC,CAACgxF,EAAeC,KAGjBp0C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAiB,IAAGzjD,SAAA,EAC7BsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClB1B,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,8CAKPsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,mBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,mBAE/CsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iBACW1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,WAAiB,qBAAgB1B,EAAAA,GAAAA,KAAA,UACpDgY,EAAAA,GAAAA,MAAA,QAAAtW,SAAA,CAAM,QAAMxjC,OAAOmzB,SAASH,gBAE9B8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iCAC2B1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAErC1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qDAGJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sCACgC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBAG5C1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,4BACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,UAAM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,mBAChCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,mBAAe1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,8CAA8Cj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,aAC1GsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yBAEFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,UACI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,aAAe,QAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,oBAAsB,aAAS1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,KAAC1B,EAAAA,GAAAA,KAAA,SAAK,aACvFA,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,aAAe,QAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,6BAA+B,aAAS1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kBAExFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,UAAM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,mBAChBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,UAAM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,eAChBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kBACO1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOxQ,IAAgB,SAChC8O,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiyB,YAGjE8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,cACG1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmtD,IAAe,SAC3B7uD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4vF,YAGjE72C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iBACM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,OAAS,SACvB1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG,eAGjE+4C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,mBACQ1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgvE,IAA0B,SAC3C1wE,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,SAAQ7Z,UACjE1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGyxG,kBAKrE1wE,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,iBAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,yBACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,mBAAe1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,8CAA8Cj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,aAC1GsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yBAEFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,UAAM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,QAAI1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,mBAC1CsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iBAAa1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,mBACvBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kBACO1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOxQ,IAAgB,SAChC8O,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGiyB,YAGjE8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,cACG1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmtD,IAAe,SAC3B7uD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4vF,YAGjE72C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,+BACU1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,OAAS,SAC3B1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG,eAGjE+4C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,6BACa1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOkvE,IAAuB,SAC7C5wE,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG2xG,YAGjE54D,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sCAAkC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,yBAA2B,qBAG3E1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,6BACuB1B,EAAAA,GAAAA,KAAA,UACzBgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,2CACJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,aAAY,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACvF1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,WACK1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,OAAM,SAClE1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,YAGjE7zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,cAAU1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,oBAIzEsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,uCAAmC1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,6DAA6Dj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,mBAGhJsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,yBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAAA,KAAG/tB,MAAO,CAAC84E,QAAS,gBAAgBrpD,UAAC1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,mBAE/CsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iBACW1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,WAAiB,qBAAgB1B,EAAAA,GAAAA,KAAA,UACpDgY,EAAAA,GAAAA,MAAA,QAAAtW,SAAA,CAAM,QAAMxjC,OAAOmzB,SAASH,gBAE9B8mB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iCAC2B1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAErC1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qDAGJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sCACgC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBAG5C1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,4BACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,UAAM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,cAAgB,mBAChCsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAAkB1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,kCAAkCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,SAAQ,mBACzGsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAEFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,aAAS1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,eACnBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,YACM1B,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOyqD,IAAqB,SACzCnsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,SAAQ7Z,UACjE1B,EAAAA,GAAAA,KAAC4qD,GAAgB,CAAChmE,KAAM,GAAIqjB,QAASqkD,MACjC,SACNtsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGktF,YAGjEn0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBAAY1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,2CAG1BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAEFsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,iBAAa1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBACvBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,aAAS1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,aACnBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,kBAAc1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,YACxBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,uBACiB1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,MAAQ,SACjC1B,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG,cAGjE+4C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sBAAkB1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBAC5BsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,aAAS1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,iBACnBsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,UAAM1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,0BAGpB1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,8BAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,UAAG1B,EAAAA,GAAAA,KAAA,UAAA0B,SAAQ,yBACXsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,aACO1B,EAAAA,GAAAA,KAAA,UAAKA,EAAAA,GAAAA,KAAA,QAAA0B,SAAO0qD,IAAkB,SACvCpsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGmtF,YAGjEp0C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,yBAAqB1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mCAAmCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,SAAS,uCAC9GsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,gBACU1B,EAAAA,GAAAA,KAAA,UACZA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOorD,IAAqB,SAC5B9sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG6tF,YAGjE90C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,qBACe1B,EAAAA,GAAAA,KAAA,UACjBA,EAAAA,GAAAA,KAAA,QAAA0B,SAAOqrD,IAAiB,SACxB/sD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG8tF,YAGjE/sD,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6DACJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,6BACuB1B,EAAAA,GAAAA,KAAA,UACzBgY,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,2CACJsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM46D,EAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,aAAY,KAAC1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOgqD,IAAc,SACvF1rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGysF,YAGjE1zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,WACK1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,OAAM,SAClE1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAM,OAAM7Z,UAC/D1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,YAGjE7zC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,cAAU1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMm7D,EAAWp3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,oBAIzEsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,uCAAmC1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,6DAA6Dj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,qBC9pBvI,SAASsvE,GAAc3wF,GAAc,IAAZqhB,EAAQrhB,EAARqhB,SACUoY,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAzCg2F,EAAQn3D,EAAA,GAAEo3D,EAAWp3D,EAAA,GACsBoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAA3Ck2F,EAASj2D,EAAA,GAAEk2D,EAAYl2D,EAAA,GACxBG,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAEDi1G,EAAsBp2F,EAAAA,aAAkB,SAAChc,GAC7CA,EAAE0pC,iBAEF7K,GAAAA,KAAW,mCAAoC,CAC7CmzE,SAAAA,EAAUE,UAAAA,GACT,CACD5mF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,wBACPipB,MAAMg2B,KACR,CAACA,EAAa41D,EAAUE,EAAW/0G,IAEtC,OAAQ4jC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACNsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAC,cACZsW,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBAAuB,MAAE4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,6CAA6Cj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,2BACnI4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQuoE,KAAM,EAAGziG,aAAcurG,EAAUlvD,SAAU,SAAC9iD,GAAC,OAAKiyG,EAAYjyG,EAAEtK,OAAO0B,cAElG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAC,eACZsW,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,wBAAwB,MAAE4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,6CAA6Cj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,2BACpI4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,WAAWovG,KAAM,EAAGziG,aAAcyrG,EAAWpvD,SAAU,SAAC9iD,GAAC,OAAKmyG,EAAanyG,EAAEtK,OAAO0B,cAEpH2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKoyG,EAAoBpyG,IAAGyiC,SAC5EtlC,EAAE,2BAEL47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,8BAAuC,QACvDslC,OC7BQ,SAAS4vE,KAEtB,MAAoB,OADH7wB,MACUzgD,EAAAA,GAAAA,KAACuxE,GAAmB,KAAMvxE,EAAAA,GAAAA,KAACwxE,GAAmB,IAG3E,SAASD,KACP,IAAgDE,EAAAnjF,GAAjBwnE,KAAiB,GAAzCG,EAASwb,EAAA,GAAE1b,EAAS0b,EAAA,GACuB33D,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAASlV,EAAA,GAAEonC,EAAYpnC,EAAA,GAuB9B,OAnBA7+B,EAAAA,WAAgB,WACT86E,GAAcE,IAEfF,EAAU93D,IACZijD,EAAa,KAIX+U,EAAUhI,OACRgI,EAAUh4D,IACZijD,EAAa,KAEbA,EAAa,KAGfA,EAAa,QAEd,CAAC+U,EAAWF,KAGb/1D,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SACIstB,IAAahvB,EAAAA,GAAAA,KAAC0xE,GAAqB,CAAC1iD,UAAWA,EAAWm3C,gBAAiBlQ,EAAUh4D,IAAK83B,UAAmB,OAATggC,QAAS,IAATA,GAAAA,EAAW93D,MAAOg4D,EAAUh4D,QAKxI,SAASyzE,GAAqBrxF,GAAyC,IAAvC2uC,EAAS3uC,EAAT2uC,UAAWm3C,EAAe9lF,EAAf8lF,gBAAiBpwC,EAAO11C,EAAP01C,QACC7a,EAAA5sB,GAA/BrT,EAAAA,SAAekrF,GAAgB,GAApDwL,EAAMz2D,EAAA,GAAE02D,EAAS12D,EAAA,GACwB6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAzC42F,EAAQ9wD,EAAA,GAAE+wD,EAAW/wD,EAAA,GACtB1F,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAED21G,EAAe5oB,GAAa,CAChCC,SAAUnuE,EAAAA,OAAa,CACrB,CAACsvE,OAAQ,eAAMzhE,GAAI,oBAIvB7N,EAAAA,WAAgB,WACd,IAAM+2F,EAAkB,WACtBl0E,GAAAA,KAAW,gCAAiC,GACzC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,kBAAD2B,OAAmBgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACtDu0G,EAAYp2G,EAAI6B,KAAKA,KAAK0F,KAAI,SAAAyyF,GAC5B,GAAIA,EAAK9iE,SAAU,CACjB,IAAMv3B,EAAI6C,OAAOmzB,SACX8G,EAAS98B,EAAEy1B,SAASn0B,QAAQ,IAAK,IACjCmyF,EAAWzzF,EAAE81B,OAAwB,UAAf91B,EAAEy1B,SAAuB,GAAK,KAC1D4kE,EAAKrkE,SAAQ,GAAA12B,OAAMU,EAAEy1B,SAAQ,MAAAn2B,OAAKU,EAAE01B,KAAI,gCAAAp2B,OAA+B+6F,EAAKmS,KAAI,SAChFnS,EAAKoS,QAAO,mCAAAntG,OAAsCw9B,EAAM,UAAAx9B,OAASm0F,EAAQ,0DAAAn0F,OAAyD+6F,EAAKmS,KAAI,aACtI,CACL,IAAM92E,EAAI,GAAAp2B,OAAM+6F,EAAKuc,OAAM,SAAAt3G,OAAQ+6F,EAAKwc,OAAM,iBAC9Cxc,EAAKrkE,SAAQ,WAAA12B,OAAco2B,EAAI,KAAAp2B,OAAI+6F,EAAKmS,KAAI,eAC5CnS,EAAKoS,QAAO,uEAAAntG,OAA0Eo2B,EAAI,YAAAp2B,OAAWo2B,EAAI,SAAAp2B,OAAQ+6F,EAAKmS,KAAI,sBAG5H,OAAArvG,GAAAA,GAAA,GACKk9F,GAAI,IACPvtE,IAAK/J,GAAgBs3E,EAAKr3E,MAAOq3E,EAAKp3E,IAAKo3E,EAAKn3E,QAChD27C,OAAQ4pB,IAAAA,CAAO4R,EAAKx7B,QACpB3mB,SAAU/nC,OAAOkqF,EAAKniD,UACtB3uB,KAAMpZ,OAAOkqF,EAAK9wE,KAAO,KAAS,WAEnC7X,MAAK,SAAC7Q,EAAG0mB,GACV,OAAOA,EAAEs3C,OAASh+D,EAAEg+D,UACnBj3D,KAAI,SAACyyF,EAAM7gG,GACZ,OAAA2D,GAAAA,GAAA,GAAWk9F,GAAI,IAAE7gG,EAAGA,EAAI,WAEzBwwB,MAAMg2B,IAGX22D,IACA,IAAMpxB,EAAQC,aAAY,kBAAMmxB,MAAmB,KACnD,OAAO,kBAAMlxB,cAAcF,MAC1B,CAACvlC,IAEJ,IAeMiwC,EAAkBrwE,EAAAA,aAAkB,SAAChc,EAAGue,GAC5Cve,EAAE0pC,iBAEFprB,GAAeC,GAAM4H,MAAK,WACxB2yB,MAAM37C,EAAE,qBACPipB,OAAM,SAACnR,GACR6jC,MAAM,GAADp9C,OAAIyB,EAAE,mBAAkB,KAAAzB,OAAIuZ,SAElC,CAAC9X,IAEJ,OACE47C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkBn2B,EAAUttB,SAAA,EACrCsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,sBACA1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAWuoB,IAAgB,4KACjE/xE,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,+LAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,oJAAwB1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,qDAAqDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,iBAAM,4EAAY1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,wCAAwCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,0BAAU,qCACvOsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,sKAA2B1B,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,mBAAqB,2CAC1D1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,yGAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,gDACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sMACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6aAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,oCAClB1B,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAACgxE,GAAc,CAAAtvE,UACb1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAWuoB,YAIpD/5D,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,0CAClB1B,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACH1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,qBAAoB7a,UACzD1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAM,iCAAQnQ,UAAW2oB,EAAS/T,eAAgB2vD,EAAQ1pE,QAAS,kBAAM2pE,GAAWD,SAElH3xE,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,UAAW2oB,EAAS9tB,QAAS,SAAChpC,GAAC,OAlEzD,SAACA,GACvBA,EAAE0pC,iBAEGotB,GAELj4B,GAAAA,KAAW,gCAAiC,CAC1CG,MAAO0zE,GACN,CACDpnF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM,oDACNz+C,QAAQN,IAAI,+BAAD2B,OAAgCg3G,OAC1CtsF,MAAMg2B,GAsD2E82D,CAAgBlzG,IAAGyiC,SAAC,iBAEvF,SACT1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAWuoB,IAAgB,SAC5Dh8C,IAAW/d,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,kGAAmB1B,EAAAA,GAAAA,KAAA,QAAMshD,MAAM,MAAK5/C,SAAC,+FAA2B,gBAI9FsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,0CAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CAEH,OAARmwE,QAAQ,IAARA,GAAAA,EAAU/8G,QACRkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,8BACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,gBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uBAGN1B,EAAAA,GAAAA,KAAA,SAAA0B,SAEU,OAARmwE,QAAQ,IAARA,OAAQ,EAARA,EAAU5uG,KAAI,SAAAyyF,GACZ,OAAO19C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACL1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK7gG,KACVmrC,EAAAA,GAAAA,KAAA,MAAIub,MAAM,oFAAkB7Z,SAAEg0D,EAAK9iE,SAAW,qBAAQ,wBACtDoN,EAAAA,GAAAA,KAAA,MAAA0B,SAAA,GAAA/mC,OAAQ+6F,EAAKx7B,OAAOjsD,OAAO,2BAC3B+xB,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAKvtE,OACV6vB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQ+6F,EAAKniD,SAAS60D,QAAQ,IAAK,aACnCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQ+6F,EAAK9wE,KAAKwjF,QAAQ,IAAK,SAC/BpoE,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK2S,MACVroE,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAI,uDAAAj2B,OAAyD+6F,EAAKuc,OAAM,YAAAt3G,OAAW+6F,EAAKwc,OAAM,eAAAv3G,OAAc+6F,EAAKmS,KAAI,SAASlzG,OAAO,SAAS04C,IAAI,aAAY3L,SAAEg0D,EAAKmS,KAAKpwG,MAAM,EAAG,SAC1LuoC,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM8kE,EAAKrkE,SAAU4W,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGy2F,EAAKrkE,WAAW18B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,oBAChH1B,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM8kE,EAAKoS,QAASnzG,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,qBAV9Cg0D,EAAKmS,cAgBzB,GAEI,OAARgK,QAAQ,IAARA,GAAAA,EAAU/8G,OAA+C,GAAtC,wMAO/B,SAAS08G,KACP,OACExxE,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kBCrNK,SAAS0wE,KAEtB,MAAoB,OADH3xB,MACUzgD,EAAAA,GAAAA,KAACqyE,GAAmB,KAAMryE,EAAAA,GAAAA,KAACsyE,GAAmB,IAG3E,SAASD,KACP,IAAkDv4D,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAASlV,EAAA,GAAEonC,EAAYpnC,EAAA,GACkB23D,EAAAnjF,GAAjBwnE,KAAiB,GAAzCG,EAASwb,EAAA,GAAE1b,EAAS0b,EAAA,GAwB3B,OApBAx2F,EAAAA,WAAgB,WACT86E,GAAcE,IAEfA,EAAUh4D,IACZijD,EAAa,KAKX6U,EAAU9H,QAAU8H,EAAUwc,SAAWxc,EAAUyc,QACjDzc,EAAU93D,IACZijD,EAAa,KAEbA,EAAa,KAGfA,EAAa,QAEd,CAAC+U,EAAWF,KAGb/1D,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SACIstB,IAAahvB,EAAAA,GAAAA,KAACyyE,GAAqB,CAACzjD,UAAWA,EAAWm3C,gBAAiBpQ,EAAU93D,IAAK83B,UAAmB,OAATkgC,QAAS,IAATA,GAAAA,EAAWh4D,MAAO83D,EAAU93D,QAKxI,SAASw0E,GAAqBpyF,GAAyC,IAAvC2uC,EAAS3uC,EAAT2uC,UAAWm3C,EAAe9lF,EAAf8lF,gBAAiBpwC,EAAO11C,EAAP01C,QACC7a,EAAA5sB,GAA/BrT,EAAAA,SAAekrF,GAAgB,GAApDuM,EAAMx3D,EAAA,GAAEy3D,EAASz3D,EAAA,GACwB6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAzC23F,EAAQ7xD,EAAA,GAAE8xD,EAAW9xD,EAAA,GACtB1F,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAED02G,EAAe3pB,GAAa,CAChCC,SAAUnuE,EAAAA,OAAa,CACrB,CAACsvE,OAAQ,eAAMzhE,GAAI,oBAIvB7N,EAAAA,WAAgB,WACd,IAAM83F,EAAkB,WACtBj1E,GAAAA,KAAW,gCAAiC,GACzC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,kBAAD2B,OAAmBgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACtDs1G,EAAYn3G,EAAI6B,KAAKA,KAAK0F,KAAI,SAAAyyF,GAC5B,GAAIA,EAAK9iE,SAAU,CACjB,IAAMv3B,EAAI6C,OAAOmzB,SACX8G,EAAS98B,EAAEy1B,SAASn0B,QAAQ,IAAK,IACjCmyF,EAAWzzF,EAAE81B,OAAwB,UAAf91B,EAAEy1B,SAAuB,GAAK,KAC1D4kE,EAAKrkE,SAAQ,GAAA12B,OAAMU,EAAEy1B,SAAQ,MAAAn2B,OAAKU,EAAE01B,KAAI,gCAAAp2B,OAA+B+6F,EAAKmS,KAAI,SAChFnS,EAAKoS,QAAO,mCAAAntG,OAAsCw9B,EAAM,UAAAx9B,OAASm0F,EAAQ,0DAAAn0F,OAAyD+6F,EAAKmS,KAAI,cACtI,GAAInS,EAAK5L,MAAO,CACrB,IAAMyS,EAAI,IAAIwU,IAAIrb,EAAK5L,OACjBxrE,EAAMi+E,EAAEnrE,SAAS9tB,MAAM,QAAQ,GAAG3G,QAAQ,MAAO,IAAIA,QAAQ,MAAO,IACpE4hB,EAASg+E,EAAEnrE,SAASz0B,QAAQ,OAAQ,IAC1C+4F,EAAKrkE,SAAWqkE,EAAK5L,MACrB4L,EAAKoS,QAAO,uEAAAntG,OAA0E4hG,EAAErrE,SAAQ,YAAAv2B,OAAW4hG,EAAErrE,SAAQ,SAAAv2B,OAAQ2jB,EAAG,YAAA3jB,OAAW4jB,GAG7I,OAAA/lB,GAAAA,GAAA,GACKk9F,GAAI,IACPvtE,IAAK/J,GAAgBs3E,EAAKr3E,MAAOq3E,EAAKp3E,IAAKo3E,EAAKn3E,QAChD27C,OAAQ4pB,IAAAA,CAAO4R,EAAKx7B,QACpB3mB,SAAU/nC,OAAOkqF,EAAKniD,UACtB3uB,KAAMpZ,OAAOkqF,EAAK9wE,KAAO,KAAS,WAEnC7X,MAAK,SAAC7Q,EAAG0mB,GACV,OAAOA,EAAEs3C,OAASh+D,EAAEg+D,UACnBj3D,KAAI,SAACyyF,EAAM7gG,GACZ,OAAA2D,GAAAA,GAAA,GAAWk9F,GAAI,IAAE7gG,EAAGA,EAAI,WAEzBwwB,MAAMg2B,IAGX03D,IACA,IAAMnyB,EAAQC,aAAY,kBAAMkyB,MAAmB,KACnD,OAAO,kBAAMjyB,cAAcF,MAC1B,CAACvlC,IAEJ,IAAM23D,EAAkB/3F,EAAAA,aAAkB,SAAChc,GACzCA,EAAE0pC,iBAEGotB,GAELj4B,GAAAA,KAAW,gCAAiC,CAC1CG,MAAOy0E,GACN,CACDnoF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM,2CACNz+C,QAAQN,IAAI,+BAAD2B,OAAgC+3G,OAC1CrtF,MAAMg2B,KACR,CAACA,EAAaq3D,EAAQ38C,IAEnBu1B,EAAkBrwE,EAAAA,aAAkB,SAAChc,EAAGue,GAC5Cve,EAAE0pC,iBACGnrB,GAELD,GAAeC,GAAM4H,MAAK,WACxB2yB,MAAM37C,EAAE,qBACPipB,OAAM,SAACnR,GACR6jC,MAAM,GAADp9C,OAAIyB,EAAE,mBAAkB,KAAAzB,OAAIuZ,SAElC,CAAC9X,IAEJ,OACE47C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkBn2B,EAAUttB,SAAA,EACrCsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,sBACA1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAWspB,IAAgB,8LACjE9yE,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kMAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,oJAAwB1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,qDAAqDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,iBAAM,4EAAY1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,wCAAwCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,0BAAU,qCACvOsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,8MAA0C1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,iEAAiEj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,+CAAW,uDACnK1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,yGAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,gDACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sMACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6aAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,oCAClB1B,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAACgxE,GAAc,CAAAtvE,UACb1B,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAWspB,YAIpD96D,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,0CAClB1B,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACH1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,qBAAoB7a,UACzD1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAM,iCAAQnQ,UAAW2oB,EAAS/T,eAAgB0wD,EAAQzqE,QAAS,kBAAM0qE,GAAWD,SAElH1yE,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,UAAW2oB,EAAS9tB,QAAS,SAAChpC,GAAC,OAAK+zG,EAAgB/zG,IAAGyiC,SAAC,kBAG9Fq0B,IAAW/d,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,kGAAmB1B,EAAAA,GAAAA,KAAA,QAAMshD,MAAM,MAAK5/C,SAAC,+FAA2B,gBAI9FsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,0CAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CAEH,OAARkxE,QAAQ,IAARA,GAAAA,EAAU99G,QACRkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,8BACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uBAGN1B,EAAAA,GAAAA,KAAA,SAAA0B,SAEU,OAARkxE,QAAQ,IAARA,OAAQ,EAARA,EAAU3vG,KAAI,SAAAyyF,GAAS,IAADud,EAAAC,EAAAC,EACpB,OAAOn7D,EAAAA,GAAAA,MAAA,MAAoB/lC,MAAO,CAACgwC,cAAe,UAAUvgB,SAAA,EAC1D1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK7gG,KACVmrC,EAAAA,GAAAA,KAAA,MAAIub,MAAM,oFAAkB7Z,SAAEg0D,EAAK9iE,SAAW,qBAAQ,wBACtDoN,EAAAA,GAAAA,KAAA,MAAA0B,SAAA,GAAA/mC,OAAQ+6F,EAAKx7B,OAAOjsD,OAAO,2BAC3B+xB,EAAAA,GAAAA,KAAA,MAAA0B,SACGg0D,EAAKvtE,OAER6vB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQ+6F,EAAKniD,SAAS60D,QAAQ,IAAK,aACnCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQ+6F,EAAK9wE,KAAKwjF,QAAQ,IAAK,SAC/BpoE,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK0d,OAAQp7D,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAY,QAAZuxE,EAAGvd,EAAK0d,YAAI,IAAAH,OAAA,EAATA,EAAWrwD,MAAM,MAAa,QAAVswD,EAACxd,EAAK0d,YAAI,IAAAF,OAAA,EAATA,EAAWvwD,aACrD3iB,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK2S,MACVroE,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAI,6DAAAj2B,OAA+D+6F,EAAKA,MAAQ/gG,OAAO,SAAS04C,IAAI,aAAY3L,SAAEg0D,EAAKmS,KAAKpwG,MAAM,EAAG,SAC5IugD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM8kE,EAAKrkE,SAAU4W,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGy2F,EAAKrkE,WAAW18B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,QAC3Gg0D,EAAK0d,OAAQp7D,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,QAAM1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAe,QAAXuiF,EAAEzd,EAAK0d,YAAI,IAAAD,OAAA,EAATA,EAAWhrF,IAAKxzB,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,eAElF1B,EAAAA,GAAAA,KAAA,MAAA0B,UAAI1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAM8kE,EAAKoS,QAASnzG,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,qBAhB9Cg0D,EAAKmS,cAsBzB,GAEI,OAAR+K,QAAQ,IAARA,GAAAA,EAAU99G,OAA+C,GAAtC,wMAO/B,SAASw9G,KACP,OACEtyE,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kBCjOH,SAAS2xE,GAAgBhzF,GAAU,IAARgrE,EAAIhrE,EAAJgrE,KACyBioB,EAAAhlF,GAAjB+a,KAAiB,GAAlDI,EAAY6pE,EAAA,GAAEC,EAAeD,EAAA,GACwBx5D,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAArDu4F,EAAc15D,EAAA,GAAE25D,EAAiB35D,EAAA,GAClC13C,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EAEP6e,EAAAA,WAAgB,WACd,IAAMy4F,EAAOjqE,EAAap0B,IAAI,SAAW,QACzC/b,QAAQN,IAAI,+CAAD2B,OAAgD+4G,EAAI,qCAC/DD,EAAkBC,KACjB,CAACjqE,EAAcrnC,EAAUqxG,IAE5B,IAAME,EAAmB14F,EAAAA,aAAkB,SAACje,GAC1Cu2G,EAAe/6G,GAAAA,GAAC,GAAIixC,GAAY,IAAE,IAAO,SAAU,KAAQzsC,KAC3Dy2G,EAAkBz2G,KACjB,CAACysC,EAAc8pE,EAAiBE,IAEnC,OAAOzzE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SACJ8xE,IACCx7D,EAAAA,GAAAA,MAAC6sC,GAAI,CAACM,iBAAkBquB,EAAgB1qF,GAAG,QAAQgX,UAAU,OACvD+tB,SAAU,SAAC7wD,GAAC,OAAK22G,EAAiB32G,IAAG0kC,SAAA,EACzC1B,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,QAAQ/G,MAAOn/C,EAAE,kBAAkBslC,SAC3B,UAAnB8xE,IAA8BxzE,EAAAA,GAAAA,KAAC4zE,GAAa,CAAMvoB,KAAAA,OAErDrrD,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,aAAa/G,MAAOn/C,EAAE,uBAAuBslC,SACrC,eAAnB8xE,IAAmCxzE,EAAAA,GAAAA,KAAC6zE,GAAkB,WAOjE,SAASD,GAAarxF,GAAU,IAAR8oE,EAAI9oE,EAAJ8oE,KACfjvF,EAAKo8C,KAALp8C,EAED03G,EAAoB,OADTrzB,KAGX6K,EAAkBrwE,EAAAA,aAAkB,SAAChc,EAAGue,GAC5Cve,EAAE0pC,iBAEFprB,GAAeC,GAAM4H,MAAK,WACxB2yB,MAAM37C,EAAE,qBACPipB,OAAM,SAACnR,GACR6jC,MAAM,GAADp9C,OAAIyB,EAAE,mBAAkB,KAAAzB,OAAIuZ,SAElC,CAAC9X,IAEJ,OAAO4jC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACLsW,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAiB,IAAGzjD,SAAA,EAC7BsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEoyE,EAAO,2BAAS,kBACnC9zE,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGoyE,EAAO,6IAA4B,gFACpC9zE,EAAAA,GAAAA,KAAA,iBAINgY,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,mBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAIoyE,EAAO,4JAAiC,yGAC5C9zE,EAAAA,GAAAA,KAACqwE,GAAW,CAAM/kB,gBAAAA,EAAiBD,KAAAA,eAO7C,SAASwoB,KACP,IAAOz3G,EAAKo8C,KAALp8C,EAED03G,EAAoB,OADTrzB,KAGjB,OAAOzgD,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACLsW,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAiB,IAAGzjD,SAAA,EAC7BsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEoyE,EAAO,2BAAS,kBACnC9zE,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGoyE,EAAO,qHAAwB,iFAChC9zE,EAAAA,GAAAA,KAAA,iBAINgY,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,mBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAACsxE,GAAiB,UAGtBt5D,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,mBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAACoyE,GAAiB,cClGrB,IAAMj0D,GAAe,CAAC,MAAO,KAAM,KAAM,KAAM,KAAM,MAC7C,SAAS41D,GAAuBC,GAC7C,IAAM5qF,EAAU,GAiBhB,OAhBAj0B,OAAO60B,QAAQgqF,GAAer7G,SAAQ,SAAA0nB,GAA2B,IAAAkC,EAAA+L,GAAAjO,EAAA,GAAzB4zF,EAAQ1xF,EAAA,GAAE2xF,EAAS3xF,EAAA,GACxC,MAAb2xF,IACuB,kBAAdA,EACT/1D,GAAaxlD,SAAQ,SAAA4lD,GACnB,IAAM41D,EAAUD,EAAU31D,GAE1B,GAAe,MAAX41D,EAAiB,CACnB,IAAMx1D,EAAqB,OAAbJ,EAAoB,IAAH5jD,OAAO4jD,GAAa,GACnDn1B,EAAQ9wB,KAAK,GAADqC,OAAIs5G,GAAQt5G,OAAGgkD,EAAK,KAAAhkD,OAAIw5G,QAIxC/qF,EAAQ9wB,KAAK,GAADqC,OAAIs5G,EAAQ,KAAAt5G,OAAIu5G,QAI3B9qF,yDCzBHgrF,GAAqBn5F,EAAAA,YAAiB,SAAAoF,EAOzCmf,GAAQ,IAAAG,EAAAtf,EANTuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBF,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACAi8B,EAAS17C,EAAT07C,UACAs4C,EAAGh0F,EAAHg0F,IACGz/G,EAAK+pC,GAAAte,EAAA0f,IAGR,OADAN,EAAWP,GAAmBO,EAAwB,eAAds8B,EAA6B,SAAW,WAC5D/7B,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,GAAO5D,GAAK,IAC5C4qC,IAAKA,EACLM,UAAWG,KAAAA,WAAW,EAAD,CAACH,EAAWL,GAAQ9kC,OAAA2pD,GAAKyvD,GAAuB,CACnEM,IAAAA,aAIND,GAAMl0E,YAAc,QACpB,UCXe,SAASo0E,GAAkB1/G,GAAQ,IAAD2/G,EACzCl5D,GAAcC,EAAAA,GAAAA,mBACwBxB,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAArCuK,EAAMs0B,EAAA,GAAE06D,EAAS16D,EAAA,GAC0BoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAAS9T,EAAA,GAAEgmC,EAAYhmC,EAAA,GAmB9B,OAjBAjgC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,uCAAwC,GAChD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAM6B,EAAO7B,EAAI6B,KAAKA,KAEtBi3G,EAAUj3G,GACNA,EAAK0gC,IACPijD,EAAa,KAEbA,EAAa,KAEf5nF,QAAQN,IAAI,wBAAD2B,OAAyBgW,KAAKsL,UAAU1e,QAClD8nB,MAAMg2B,KACR,CAACA,EAAa6lC,IAEP,OAALtsF,QAAK,IAALA,GAAW,QAAN2/G,EAAL3/G,EAAOy2F,YAAI,IAAAkpB,GAAXA,EAAa9oB,YAAez8B,GAC1BhvB,EAAAA,GAAAA,KAACy0E,GAAqBj8G,GAAAA,GAAA,GAAK5D,GAAK,IACrCo6D,UAAAA,EAAW0lD,eAAsB,OAANlvF,QAAM,IAANA,OAAM,EAANA,EAAQyY,IAAK02E,YAAanvF,MAFJwa,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAMrD,SAAS66D,GAAqBp0F,GAAkD,IAADu0F,EAAAC,EAAAC,EAA/C9lD,EAAS3uC,EAAT2uC,UAAWq8B,EAAIhrE,EAAJgrE,KAAMqpB,EAAcr0F,EAAdq0F,eAAgBC,EAAWt0F,EAAXs0F,YACzDvyG,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAE0DyF,EAAAzyB,GAA9BrT,EAAAA,SAAey5F,GAAe,GAAvEK,EAAgBh0D,EAAA,GAAEi0D,EAAmBj0D,EAAA,GACgCixC,EAAA1jE,GAA5CrT,EAAAA,SAAe05F,EAAYM,UAAY,MAAK,GAArEA,EAAQjjB,EAAA,GAAEkjB,EAAWljB,EAAA,GAC8CG,EAAA7jE,GAA1CrT,EAAAA,SAAe05F,EAAYQ,UAAY,IAAG,GAAnEA,EAAQhjB,EAAA,GAAEijB,EAAWjjB,EAAA,GAC+CG,EAAAhkE,GAA/CrT,EAAAA,SAAe05F,EAAYU,QAAU,WAAU,GAApEA,EAAM/iB,EAAA,GAAEgjB,EAAShjB,EAAA,GAC0DG,EAAAnkE,GAAlDrT,EAAAA,SAAe05F,EAAYY,UAAY,YAAW,GAA3EA,EAAQ9iB,EAAA,GAAE+iB,EAAW/iB,EAAA,GACiDI,EAAAvkE,GAA/CrT,EAAAA,SAAe05F,EAAYc,SAAW,UAAS,GAAtEA,EAAO5iB,EAAA,GAAE6iB,EAAU7iB,EAAA,GAC6CG,EAAA1kE,GAA3CrT,EAAAA,SAAe05F,EAAYgB,QAAU,OAAM,GAAhEA,EAAM3iB,EAAA,GAAE4iB,EAAS5iB,EAAA,GACoDG,EAAA7kE,GAA1CrT,EAAAA,SAAe05F,EAAYkB,WAAa,GAAE,GAArEA,EAAS1iB,EAAA,GAAE2iB,EAAY3iB,EAAA,GACmDG,EAAAhlE,GAArDrT,EAAAA,SAAe05F,EAAY7jB,QAAUzF,EAAKI,YAAW,GAA1EqF,EAAMwC,EAAA,GAAEyiB,EAASziB,EAAA,GAC6GG,EAAAnlE,GAAzGrT,EAAAA,SAAgB05F,EAAY7jB,QAAU6jB,EAAY1mB,OAAU0mB,EAAY1mB,OAAS5C,EAAK4D,oBAAmB,GAA9HhB,EAAMwF,EAAA,GAAEuiB,EAASviB,EAAA,GAEgBG,EAAAtlE,GAAhBrT,EAAAA,WAAgB,GAAjCm4F,EAAIxf,EAAA,GAAEqiB,EAAOriB,EAAA,GACsCG,EAAAzlE,GAAhBrT,EAAAA,WAAgB,GAAnDi7F,EAAaniB,EAAA,GAAEoiB,EAAgBpiB,EAAA,GACsBG,EAAA5lE,GAAhBrT,EAAAA,WAAgB,GAArDm7F,EAAcliB,EAAA,GAAEmiB,EAAiBniB,EAAA,GAClC/oE,EAAMlQ,EAAAA,WAAiBwoE,IAAe,GAE5CxoE,EAAAA,WAAgB,WACd,IAAMq7F,EAAc,WAClBx4E,GAAAA,KAAW,sCAAuC,GAC/C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAAD66G,EAAAC,EAAAC,EAAAC,EAcIC,EAbXvD,EAAO13G,EAAI6B,KAAKA,OAGd,OAAJ61G,QAAI,IAAJA,GAAW,QAAPmD,EAAJnD,EAAMlpE,aAAK,IAAAqsE,OAAP,EAAJA,EAAa75G,QAAY,OAAJ2uF,QAAI,IAAJA,GAAY,QAARmrB,EAAJnrB,EAAM4C,cAAM,IAAAuoB,OAAR,EAAJA,EAAc7nB,UAAW,IAChDykB,EAAKwD,OAASxD,EAAKlpE,MACnBkpE,EAAKlpE,MAAQkpE,EAAKlpE,MAAM2sE,WAAWxrB,EAAK4C,OAAOU,QAAS,YAElD,OAAJykB,QAAI,IAAJA,GAAY,QAARqD,EAAJrD,EAAMj6G,cAAM,IAAAs9G,OAAR,EAAJA,EAAc/5G,QAAY,OAAJ2uF,QAAI,IAAJA,GAAY,QAARqrB,EAAJrrB,EAAM4C,cAAM,IAAAyoB,OAAR,EAAJA,EAAc/nB,UAAW,IACjDykB,EAAK0D,QAAU1D,EAAKj6G,OACpBi6G,EAAKj6G,OAASi6G,EAAKj6G,OAAO09G,WAAWxrB,EAAK4C,OAAOU,QAAS,WAIpD,OAAJykB,QAAI,IAAJA,GAAAA,EAAM9d,SACR8d,EAAK9d,MAAMp7B,OAAa,OAAJk5C,QAAI,IAAJA,GAAW,QAAPuD,EAAJvD,EAAM9d,aAAK,IAAAqhB,GAAXA,EAAaz8C,OAAS4pB,IAAAA,CAAOsvB,EAAK9d,MAAMp7B,QAAU,MAGxE+7C,EAAQ7C,GACA,OAAJA,QAAI,IAAJA,GAAAA,EAAMlpE,OAAOisE,EAAiBpoB,GAAUqlB,EAAKlpE,MAAOmhD,EAAK4C,OAAQ9iE,IAC7D,OAAJioF,QAAI,IAAJA,GAAAA,EAAMj6G,QAAQk9G,EAAkBtoB,GAAUqlB,EAAKj6G,OAAQkyF,EAAK4C,OAAQ9iE,IACxE7xB,QAAQN,IAAI,yBAAD2B,OAA0BgW,KAAKsL,UAAUm3F,QACnD/tF,MAAMg2B,IAGXi7D,IACA,IAAM11B,EAAQC,aAAY,kBAAMy1B,MAAe,KAC/C,OAAO,kBAAMx1B,cAAcF,MAC1B,CAACvlC,EAAagwC,EAAM4qB,EAASE,EAAkBE,EAAmBlrF,IAErE,IAAM4rF,EAAwB97F,EAAAA,aAAkB,SAAC86C,EAASihD,GACxD,OAAK/B,GAAYA,EAAW,KAAOA,EAAW,IAAiBl9D,MAAM,oBAADp9C,OAAqBs6G,EAAQ,uCAC5FE,GAAYA,EAAW,IAAMA,EAAW,IAAap9D,MAAM,oBAADp9C,OAAqBw6G,EAAQ,mCACvFE,GAAqB,YAAXA,EACVE,GAAa,CAAC,WAAY,OAAQ,QAAQ1nG,SAAS0nG,GACnDE,GAAY,CAAC,YAAa,YAAa,WAAY,SAAU,OAAQ,SAAU,QAAQ5nG,SAAS4nG,GAChGE,GAAqB,QAAXA,OACGj8G,IAAdm8G,GAAyC,OAAdA,GAAoC,KAAdA,EAAyB99D,MAAM,qBAADp9C,OAAsBk7G,EAAS,uBAC7G,CAAC,EAAG,EAAG,GAAGhoG,SAASgoG,GACnB/kB,GAAW7C,OAEhBnwD,GAAAA,KAAW,uCAAwC,CACjDG,IAAK83B,EAASs/C,OAAAA,EAAQM,OAAAA,EAAQV,SAAAA,EAAUE,SAAAA,EAAUU,UAAWA,EAAWN,SAAAA,EAAUE,QAAAA,EAClF3kB,OAAAA,EAAQ7C,OAAAA,GACP,CACD1jE,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACR9C,QAAQN,IAAI,qCAAD2B,OAAsCo7D,EAAO,eAAAp7D,OAAcs6G,EAAQ,eAAAt6G,OAAcw6G,EAAQ,aAAAx6G,OAAY06G,EAAM,eAAA16G,OAAc46G,EAAQ,cAAA56G,OAAa86G,EAAO,aAAA96G,OAAYg7G,EAAM,aAAAh7G,OAAYm2F,EAAM,aAAAn2F,OAAYszF,IAChN+oB,GAAWA,OACV3xF,MAAMg2B,GAXsBtD,MAAM,kBAADp9C,OAAmBm2F,EAAM,aAAAn2F,OAAYszF,IAD9Bl2C,MAAM,qBAADp9C,OAAsBk7G,EAAS,6BAFvC99D,MAAM,kBAADp9C,OAAmBg7G,EAAM,oBADgD59D,MAAM,mBAADp9C,OAAoB86G,EAAO,gFAD5E19D,MAAM,oBAADp9C,OAAqB46G,EAAQ,0CADhEx9D,MAAM,kBAADp9C,OAAmB06G,EAAM,0BAkBzE,CAACh6D,EAAaj/C,EAAG64G,EAAUE,EAAUU,EAAWR,EAAQE,EAAUE,EAASE,EAAQ7kB,EAAQ7C,IAE9F,OACEj2C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAACn2B,GAAY63B,YAAU,EAAAnlD,SAAA,EAClD1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACC,OAAbt/B,GACC41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,kOAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,gMACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sPACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,+PAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,+GACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kKACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kKAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,uLAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,2DACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kJACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,mLACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,4HAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,2BACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,+EACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,iIACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0JAMdsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,8BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,gCACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,kCACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcuvG,EAAUlzD,SAAU,SAAC9iD,GAAC,OAAKi2G,EAAYrjG,SAAS5S,EAAEtK,OAAO0B,eAElG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,gCACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,kCACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcyvG,EAAUpzD,SAAU,SAAC9iD,GAAC,OAAKm2G,EAAYvjG,SAAS5S,EAAEtK,OAAO0B,eAElG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,8BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,gCACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAc2vG,EAAQtzD,SAAU,SAAC9iD,GAAC,OAAKq2G,EAAUr2G,EAAEtK,OAAO0B,QAAOqrC,SAAA,EAC5EsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,UAASqrC,SAAEtlC,EAAE,qCAG/B47C,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,gCACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,kCACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAc6vG,EAAUxzD,SAAU,SAAC9iD,GAAC,OAAKu2G,EAAYv2G,EAAEtK,OAAO0B,QAAOqrC,SAAA,EAChFsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,WAAUqrC,SAAEtlC,EAAE,iCAC5B4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,OAAMqrC,SAAEtlC,EAAE,iCACxB4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,OAAMqrC,SAAEtlC,EAAE,uCAG5B47C,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,+BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,iCACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAc+vG,EAAS1zD,SAAU,SAAC9iD,GAAC,OAAKy2G,EAAWz2G,EAAEtK,OAAO0B,QAAOqrC,SAAA,EAC9EsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC47C,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,YAAWqrC,SAAA,CAAC,aAAWtlC,EAAE,6BAA6B,QACpE4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,YAAWqrC,SAAC,eAC1B1B,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,WAAUqrC,SAAC,cACzBsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,SAAQqrC,SAAA,CAAC,UAAQtlC,EAAE,6BAA6B,QAC9D4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,OAAMqrC,SAAC,UACrB1B,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,SAAQqrC,SAAC,YACvBsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,OAAMqrC,SAAA,CAAC,QAAMtlC,EAAE,6BAA6B,cAG9D47C,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,8BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,gCACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAciwG,EAAQ5zD,SAAU,SAAC9iD,GAAC,OAAK22G,EAAU32G,EAAEtK,OAAO0B,QAAOqrC,SAAA,EAC5EsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,MAAKqrC,SAAEtlC,EAAE,qCAG3B47C,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,gCACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,kCACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAcmwG,EAAW9zD,SAAU,SAAC9iD,GAAC,OAAK62G,EAAajkG,SAAS5S,EAAEtK,OAAO0B,SAAQqrC,SAAA,EAC5FsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,IAAGqrC,SAAEtlC,EAAE,iCACrB4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,IAAGqrC,SAAEtlC,EAAE,iCACrB4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,IAAGqrC,SAAEtlC,EAAE,uCAGzB47C,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,8BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,gCACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcorF,EAAQ/uC,SAAU,SAAC9iD,GAAC,OAAK82G,EAAU92G,EAAEtK,OAAO0B,cAErF2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,2BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,6BACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcuoF,EAAQlsC,SAAU,SAAC9iD,GAAC,OAAK+2G,EAAU/2G,EAAEtK,OAAO0B,cAErF2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACopE,OAAO,UAAUl+G,KAAK,SAASkvC,QAAS,SAAChpC,GAC/CA,EAAE0pC,iBACFouE,GAAuBhC,GAAkB,WACvCC,GAAqBD,OAEvBrzE,SACmDtlC,EAAjD24G,EAAmD,wBAA9B,qCAK/B/8D,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,8BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAACo8D,GAAK,CAACC,IAAK,EAAE3yE,SAAA,EACZ1B,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAAC0vD,GAAK,CAACjiC,GAAQ,OAAJ2lD,QAAI,IAAJA,GAAAA,EAAMr9C,QAAe,OAAJq9C,QAAI,IAAJA,GAAAA,EAAM9d,MAAQ,UAAY,UAAa,YAAY5zD,SACxE,OAAJ0xE,QAAI,IAAJA,GAAAA,EAAMr9C,QAAe,OAAJq9C,QAAI,IAAJA,GAAAA,EAAM9d,MAAQl5F,EAAE,gCAAkCA,EAAE,4BAA+BA,EAAE,kCAG3G47C,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,WACU,OAAJ0xE,QAAI,IAAJA,GAAW,QAAPwB,EAAJxB,EAAM9d,aAAK,IAAAsf,GAAQ,QAARC,EAAXD,EAAa16C,cAAM,IAAA26C,OAAf,EAAJA,EAAqB5mG,OAAO,2BAEvC+pC,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,QACO,OAAJ0xE,QAAI,IAAJA,GAAW,QAAP0B,EAAJ1B,EAAM9d,aAAK,IAAAwf,OAAP,EAAJA,EAAa97G,QAErBg/C,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,UACS,OAAJ0xE,QAAI,IAAJA,OAAI,EAAJA,EAAMlpE,MAAM,SACpBlK,EAAAA,GAAAA,KAAA,KAAGpP,KAAmB,OAAbslF,QAAa,IAAbA,OAAa,EAAbA,EAAe1qB,UAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,kCAEzE47C,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,WACU,OAAJ0xE,QAAI,IAAJA,OAAI,EAAJA,EAAMj6G,OAAO,SACtB6mC,EAAAA,GAAAA,KAAA,KAAGpP,KAAoB,OAAdwlF,QAAc,IAAdA,OAAc,EAAdA,EAAgB5qB,UAAW72F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,4CCzQ/E,SAAS86G,GAAoB72F,GAAiF,IAA/E+P,EAAO/P,EAAP+P,QAAS+mF,EAAU92F,EAAV82F,WAAYhG,EAAS9wF,EAAT8wF,UAAWC,EAAY/wF,EAAZ+wF,aAAcgG,EAAY/2F,EAAZ+2F,aAAcC,EAAeh3F,EAAfg3F,gBACzFj7G,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEiCxB,EAAAxrB,GAArBrT,EAAAA,UAAe,GAAM,GAA9Cq8F,EAAQx9D,EAAA,GAAEy9D,EAAWz9D,EAAA,GAEtB09D,EAAiBv8F,EAAAA,aAAkB,WACvC,OAAKk2F,EACA/gF,EAEc,IAAIptB,OAAO,4BACdrL,KAAKy4B,IAErBmnF,GAAY,QAEZz5E,GAAAA,KAAW,oCAAqC,CAC9CqzE,UAAAA,EAAW/gF,QAAAA,GACV,CACD7F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM,GAADp9C,OAAIyB,EAAE,iBAAgB,MAAAzB,OAAKyB,EAAE,uBAClC9C,QAAQN,IAAI,+BACXqsB,MAAMg2B,GAAawG,QAAQ01D,IAXQx/D,MAAM,mBAADp9C,OAAoBy1B,EAAO,yCAHjD2nB,MAAM,oBAADp9C,OAAqBy1B,IADxB2nB,MAAM,sBAADp9C,OAAuBw2G,MAgBlD,CAAC/0G,EAAGi/C,EAAa81D,EAAW/gF,EAASmnF,IAExC,OACEv/D,EAAAA,GAAAA,MAAC/8B,EAAAA,SAAc,CAAAymB,SAAA,EACbsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,mBAAmB,MAAE4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,uCAAuCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBACzH4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,WAAW2M,aAAcyrG,EAAWpvD,SAAU,SAAC9iD,GAAC,OAAKmyG,EAAanyG,EAAEtK,OAAO0B,cAE3G2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,sBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAGA,EAAE,aAAa,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,kCAC9D1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0qB,EAAS2xB,SAAU,SAAC9iD,GAAC,OAAKk4G,EAAWl4G,EAAEtK,OAAO0B,cAEvF2hD,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACopE,OAAO,UAAUl+G,KAAK,SAASq0C,SAAUkqE,EAAUrvE,QAAS,SAAChpC,GACnEA,EAAE0pC,iBACF6uE,KACA91E,SACCtlC,EAAE,qBACI,QACRk7G,IAAYt3E,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAUrkC,MAAO,CAACgwC,cAAe,aAClFjiB,EAAAA,GAAAA,KAAA,YAEFgY,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,mBAAmB,MAAE4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,mDAAmDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,qBACrI4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0xG,EAAcr1D,SAAU,SAAC9iD,GAAC,OAAKo4G,EAAgBp4G,EAAEtK,OAAO0B,gBC/CxF,SAASohH,GAAmB7iH,GACzC,IAAMymD,GAAcC,EAAAA,GAAAA,mBACwBxB,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAArCuK,EAAMs0B,EAAA,GAAE06D,EAAS16D,EAAA,GACgBoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAAjC4sF,EAAI3sD,EAAA,GAAEw8D,EAAOx8D,EAAA,GAC8B6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAASjO,EAAA,GAAEmgC,EAAYngC,EAAA,GAsB9B,OApBA9lC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,oCAAqC,GAC7C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAM6B,EAAO7B,EAAI6B,KAAKA,KAEtBi3G,EAAUj3G,EAAKioB,QACfkyF,EAAQn6G,EAAK61G,KAAKvL,MAEdtqG,EAAKioB,OAAOyY,IACdijD,EAAa,CAAC,IAAK,IAAK,IAAK,IAAK,MAElCA,EAAa,CAAC,MAGhB5nF,QAAQN,IAAI,yBAAD2B,OAA0BgW,KAAKsL,UAAU1e,QACnD8nB,MAAMg2B,KACR,CAACA,EAAa6lC,EAAcszB,EAAYkD,IAEtC1oD,GACEhvB,EAAAA,GAAAA,KAAC23E,GAAsBn/G,GAAAA,GAAA,GAAK5D,GAAK,IACtCo6D,UAAAA,EAAW0lD,eAAsB,OAANlvF,QAAM,IAANA,OAAM,EAANA,EAAQyY,IAAK02E,YAAanvF,EAAQoyF,YAAa/P,MAFrD7nE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAMzB,SAAS+9D,GAAsBt3F,GAAyD,IAADw3F,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAtDppD,EAAS3uC,EAAT2uC,UAAW0lD,EAAcr0F,EAAdq0F,eAAgBC,EAAWt0F,EAAXs0F,YAAaiD,EAAWv3F,EAAXu3F,YACjEx1G,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEmC02C,EAAA1jE,GAArBrT,EAAAA,UAAe,GAAM,GAAhD+lC,EAASgxC,EAAA,GAAE/wC,EAAY+wC,EAAA,GACsBG,EAAA7jE,GAAhBrT,EAAAA,WAAgB,GAA7C6rF,EAAU3U,EAAA,GAAE4U,EAAa5U,EAAA,GACgDG,EAAAhkE,GAA9BrT,EAAAA,SAAey5F,GAAe,GAAzE2D,EAAiB/lB,EAAA,GAAEgmB,EAAoBhmB,EAAA,GACyBG,EAAAnkE,GAArCrT,EAAAA,SAAe05F,EAAYxD,WAAU,GAAhEA,EAAS1e,EAAA,GAAE2e,EAAY3e,EAAA,GACkDI,EAAAvkE,GAAxCrT,EAAAA,SAAe05F,EAAYyC,cAAa,GAAzEA,EAAYvkB,EAAA,GAAEwkB,EAAexkB,EAAA,GACuFG,EAAA1kE,GAA7FrT,EAAAA,SAAe05F,EAAYvkF,UAAyB,OAAbhuB,EAAoB,GAAK,8BAA6B,GAApHguB,EAAO4iE,EAAA,GAAEmkB,EAAUnkB,EAAA,GAC8DG,EAAA7kE,GAA5CrT,EAAAA,SAAe05F,EAAYh4F,MAAQva,GAAS,GAAjFm2G,EAAcplB,EAAA,GAAEqlB,EAAiBrlB,EAAA,GAC8DG,EAAAhlE,GAAlErT,EAAAA,SAAe05F,EAAY8D,YAAc,0BAAyB,GAA/FA,EAAUnlB,EAAA,GAAEolB,EAAaplB,EAAA,GAEkBG,EAAAnlE,GAAhBrT,EAAAA,WAAgB,GAA3C09F,EAASllB,EAAA,GAAEmlB,EAAYnlB,EAAA,GACkBG,EAAAtlE,GAAhBrT,EAAAA,WAAgB,GAAzC49F,EAAQjlB,EAAA,GAAEklB,EAAWllB,EAAA,GACoBG,EAAAzlE,GAAhBrT,EAAAA,WAAgB,GAAzC89F,EAAQhlB,EAAA,GAAEilB,EAAWjlB,EAAA,GAC4BG,EAAA5lE,GAAhBrT,EAAAA,WAAgB,GAAjDg+F,EAAY/kB,EAAA,GAAEglB,EAAehlB,EAAA,GAEeG,EAAA/lE,GAA3BrT,EAAAA,SAAe28F,GAAY,GAA5C/P,GAAIxT,EAAA,GAAEqjB,GAAOrjB,EAAA,GACsCG,GAAAlmE,GAAhBrT,EAAAA,WAAgB,GAAnDk+F,GAAa3kB,GAAA,GAAE4kB,GAAgB5kB,GAAA,GAC4BG,GAAArmE,GAAhBrT,EAAAA,WAAgB,GAA3Do+F,GAAiB1kB,GAAA,GAAE2kB,GAAoB3kB,GAAA,GACcG,GAAAxmE,GAAhBrT,EAAAA,WAAgB,GAArDs+F,GAAczkB,GAAA,GAAE0kB,GAAiB1kB,GAAA,GAC4BG,GAAA3mE,GAAhBrT,EAAAA,WAAgB,GAA7Dw+F,GAAkBxkB,GAAA,GAAEykB,GAAqBzkB,GAAA,GAEcqX,GAAAh+E,GAA1BrT,EAAAA,SAAe,YAAW,GAAvD0+F,GAAUrN,GAAA,GAAEsN,GAAatN,GAAA,GAE1BuN,GAAmB5+F,EAAAA,aAAkB,SAAChc,EAAG7C,GAC7C6C,EAAE0pC,iBACFixE,GAAcx9G,KACb,CAACw9G,KAEJ3+F,EAAAA,WAAgB,WACd,IAAM5f,EAAI6C,OAAOmzB,SACX8G,EAAS98B,EAAEy1B,SAASn0B,QAAQ,IAAK,IACjCmyF,EAAWzzF,EAAE81B,OAAwB,UAAf91B,EAAEy1B,SAAuB,GAAK,KAE1DsoF,GAAiB,GAADz+G,OAAIU,EAAEy1B,SAAQ,MAAAn2B,OAAKU,EAAE01B,KAAI,4CAAAp2B,OAA2CktG,GAAI,UACxFyR,GAAqB,mCAAD3+G,OAAoCw9B,EAAM,UAAAx9B,OAASm0F,EAAQ,sEAAAn0F,OAAqEktG,GAAI,UAExJ2R,GAAkB,GAAD7+G,OAAIU,EAAEy1B,SAAQ,MAAAn2B,OAAKU,EAAE01B,KAAI,6CAAAp2B,OAA4CktG,GAAI,UAC1F6R,GAAsB,mCAAD/+G,OAAoCw9B,EAAM,UAAAx9B,OAASm0F,EAAQ,uEAAAn0F,OAAsEktG,GAAI,YACzJ,CAACA,GAAMuR,GAAkBE,GAAsBE,GAAmBE,KAErE,IAAMI,GAAkB7+F,EAAAA,aAAkB,SAAC86C,EAASihD,GAClD,OAAK7F,EACA/gF,OAEL0N,GAAAA,KAAW,oCAAqC,CAC9C+pE,KAAAA,GAAM5pE,MAAO83B,EAASo7C,UAAAA,EAAWiG,aAAAA,EAAchnF,QAAAA,EAASzT,KAAM47F,EAAgBE,WAAAA,GAC7E,CACDluF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACR9C,QAAQN,IAAI,qCAAD2B,OAAsCktG,GAAI,MACrDmP,GAAWA,OACV3xF,MAAMg2B,GAVYtD,MAAM,oBAADp9C,OAAqBy1B,IADxB2nB,MAAM,sBAADp9C,OAAuBw2G,MAYlD,CAAC/0G,EAAGi/C,EAAa81D,EAAW/gF,EAASmoF,EAAgBE,EAAY5Q,GAAMuP,IAEpE2C,GAAY9+F,EAAAA,aAAkB,WAClCgmC,GAAa,GAEbnjB,GAAAA,KAAW,oCAAqC,CAC9C+pE,KAAAA,IACC,CACDt9E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACR,IAAMmB,EAAO7B,EAAI6B,KAAKA,KACtBm6G,GAAQn6G,EAAKsqG,MACbvuG,QAAQN,IAAI,0BAAD2B,OAA2BktG,GAAI,SAAAltG,OAAQgW,KAAKsL,UAAU1e,QAChE8nB,MAAMg2B,GAAawG,QAAQZ,KAC7B,CAAC7kD,EAAGi/C,EAAawsD,GAAM6P,GAASz2D,IAE7B+4D,GAAY/+F,EAAAA,aAAkB,SAAC4qB,GACnCob,GAAa,GAEbnjB,GAAAA,KAAW,6CAA8C,CACvD+pE,KAAAA,GAAMoS,KAAMp0E,EAAQo0E,MACnB,CACD1vF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACR,IAAMmB,EAAO7B,EAAI6B,KAAKA,KACtBwpG,GAAeD,GACfxtG,QAAQN,IAAI,sCAAD2B,OAAuCktG,GAAI,aAAAltG,OAAYkrC,EAAQo0E,KAAI,SAAAt/G,OAAQgW,KAAKsL,UAAU1e,QACpG8nB,MAAMg2B,GAAawG,QAAQZ,KAC7B,CAAC7kD,EAAGi/C,EAAa4F,EAAc4mD,GAAMf,EAAYC,IAoHpD,OAlHA9rF,EAAAA,WAAgB,WACd,IAAMi/F,EAAuB,WAC3Bp8E,GAAAA,KAAW,yCAA0C,GAClD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAADy+G,EACP5mG,EAAQ7X,EAAI6B,KAAKA,KACvBgW,EAAMoyB,SAAgB,OAALpyB,QAAK,IAALA,GAAe,QAAV4mG,EAAL5mG,EAAOoyB,gBAAQ,IAAAw0E,OAAV,EAALA,EAAiBl3G,KAAI,SAAA4iC,GACpC,OAAArtC,GAAAA,GAAA,GACKqtC,GAAO,IACV0N,SAAU/nC,OAAOq6B,EAAQ0N,UACzB3uB,KAAMpZ,OAAOq6B,EAAQjhB,KAAO,KAAS,WAGzCg0F,EAAarlG,GACbja,QAAQN,IAAI,gCAAD2B,OAAiCgW,KAAKsL,UAAU1I,QAC1D8R,MAAMg2B,IAGX6+D,IACA,IAAMt5B,EAAQC,aAAY,kBAAMq5B,MAAwB,KACxD,OAAO,kBAAMp5B,cAAcF,MAC1B,CAACvlC,EAAau9D,IAEjB39F,EAAAA,WAAgB,WACd,IAAMm/F,EAAsB,WAC1Bt8E,GAAAA,KAAW,wCAAyC,GACjD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAAD2+G,EACP9mG,EAAQ7X,EAAI6B,KAAKA,KACvBgW,EAAMoyB,SAAgB,OAALpyB,QAAK,IAALA,GAAe,QAAV8mG,EAAL9mG,EAAOoyB,gBAAQ,IAAA00E,OAAV,EAALA,EAAiBp3G,KAAI,SAAA4iC,GACpC,OAAArtC,GAAAA,GAAA,GACKqtC,GAAO,IACV0N,SAAU/nC,OAAOq6B,EAAQ0N,UACzB3uB,KAAMpZ,OAAOq6B,EAAQjhB,KAAO,MAC5B01F,IAAK9uG,OAAOq6B,EAAQy0E,UAGxBxB,EAAYvlG,GACZja,QAAQN,IAAI,+BAAD2B,OAAgCgW,KAAKsL,UAAU1I,QACzD8R,MAAMg2B,IAGX++D,IACA,IAAMx5B,EAAQC,aAAY,kBAAMu5B,MAAuB,KACvD,OAAO,kBAAMt5B,cAAcF,MAC1B,CAACvlC,EAAay9D,IAEjB79F,EAAAA,WAAgB,WACd,IAAMs/F,EAAsB,WAC1Bz8E,GAAAA,KAAW,wCAAyC,GACjD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAAD8+G,EACPjnG,EAAQ7X,EAAI6B,KAAKA,KACvBgW,EAAMoyB,SAAgB,OAALpyB,QAAK,IAALA,GAAe,QAAVinG,EAALjnG,EAAOoyB,gBAAQ,IAAA60E,OAAV,EAALA,EAAiBv3G,KAAI,SAAC4iC,EAASxlC,GAC9C,OAAA7H,GAAAA,GAAA,GACKqtC,GAAO,IACV0N,SAAU/nC,OAAOq6B,EAAQ0N,UACzB3uB,KAAMpZ,OAAOq6B,EAAQjhB,KAAO,MAC5B01F,IAAK9uG,OAAOq6B,EAAQy0E,KACpBG,KAAMjvG,OAAOq6B,EAAQ40E,MAErBC,cAAejtG,KAAKilD,IAAGn6D,MAARkV,KAAI62C,GAAQze,EAAQ80E,KAAK13G,KAAI,SAAA23G,GAAG,OAAIA,EAAIp9F,KAAK1oB,YAC5D+lH,aAAcptG,KAAKilD,IAAGn6D,MAARkV,KAAI62C,GAAQze,EAAQ80E,KAAK13G,KAAI,SAAA23G,GAAG,OAAIA,EAAIp9F,KAAKriB,MAAM,KAAKrG,YAMtEgmH,oBAAqBvnG,EAAMoyB,SAAS7wC,QAAU,GAAe,IAAVuL,KAAiBwlC,EAAQk1E,SAGhF/B,EAAYzlG,GACZja,QAAQN,IAAI,+BAAD2B,OAAgCgW,KAAKsL,UAAU1I,QACzD8R,MAAMg2B,IAGXk/D,IACA,IAAM35B,EAAQC,aAAY,kBAAM05B,MAAuB,KACvD,OAAO,kBAAMz5B,cAAcF,MAC1B,CAACvlC,EAAa29D,EAAalS,IAE9B7rF,EAAAA,WAAgB,WACd,IAAM+/F,EAA0B,WAC9Bl9E,GAAAA,KAAW,4CAA6C,GACrD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAADu/G,EACP1nG,EAAQ7X,EAAI6B,KAAKA,KACvBgW,EAAMoyB,SAAgB,OAALpyB,QAAK,IAALA,GAAe,QAAV0nG,EAAL1nG,EAAOoyB,gBAAQ,IAAAs1E,OAAV,EAALA,EAAiBh4G,KAAI,SAAA4iC,GACpC,OAAArtC,GAAAA,GAAA,GACKqtC,GAAO,IACV0N,SAAU/nC,OAAOq6B,EAAQ0N,UACzB3uB,KAAMpZ,OAAOq6B,EAAQjhB,KAAO,KAAS,MACrC01F,IAAK9uG,OAAOq6B,EAAQy0E,KACpBG,KAAMjvG,OAAOq6B,EAAQ40E,MACrBS,IAAK1vG,OAAOq6B,EAAQq1E,KAEpBR,cAAejtG,KAAKilD,IAAGn6D,MAARkV,KAAI62C,GAAQze,EAAQ80E,KAAK13G,KAAI,SAAA23G,GAAG,OAAIA,EAAIp9F,KAAK1oB,YAC5D+lH,aAAcptG,KAAKilD,IAAGn6D,MAARkV,KAAI62C,GAAQze,EAAQ80E,KAAK13G,KAAI,SAAA23G,GAAG,OAAIA,EAAIp9F,KAAKriB,MAAM,KAAKrG,iBAG1EokH,EAAgB3lG,GAChBja,QAAQN,IAAI,mCAAD2B,OAAoCgW,KAAKsL,UAAU1I,QAC7D8R,MAAMg2B,IAGX2/D,IACA,IAAMp6B,EAAQC,aAAY,kBAAMm6B,MAA2B,KAC3D,OAAO,kBAAMl6B,cAAcF,MAC1B,CAACvlC,EAAa69D,KAGflhE,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkBn2B,EAAW63B,YAAU,EAAAnlD,SAAA,EAChD1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACC,OAAbt/B,GACC41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,ycAGH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wPACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,+hBAEJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,0hBAKVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,2OAIH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,2DACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,4LAEJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,4WAIJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sUASdsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,yBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAACorC,GAAI,CAAA1hD,SAAA,EACH1B,EAAAA,GAAAA,KAACojD,GAAAA,OAAW,CAAA1hD,UACVsW,EAAAA,GAAAA,MAACqX,GAAG,CAAC/Y,QAAQ,OAAO6uC,iBAAiB,YAAWzjD,SAAA,EAC9C1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,YAAYqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,aAAYyiC,SAAEtlC,EAAE,yBAEjF4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,OAAOqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,QAAOyiC,SAAEtlC,EAAE,oBAEvE4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,WAAWqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,YAAWyiC,SAAEtlC,EAAE,gCAInE,aAAfu9G,KAA6B35E,EAAAA,GAAAA,KAACojD,GAAAA,KAAS,CAAA1hD,UACtC1B,EAAAA,GAAAA,KAACk3E,GAAoB,CACnB9mF,QAAAA,EAAS+mF,WAAAA,EAAYhG,UAAAA,EAAWC,aAAAA,EAChCgG,aAAAA,EAAcC,gBAAAA,MAGF,QAAfsC,KAAwB35E,EAAAA,GAAAA,KAACojD,GAAAA,KAAS,CAAA1hD,UACjCsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,sBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,SAClCA,EAAE,aAAa,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,4BAA+B,aACrDtlC,EAAE,cAAc,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,wDAAwDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAa,QAElI1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6yG,EAAgBx2D,SAAU,SAAC9iD,GAAC,OAAKu5G,EAAkBv5G,EAAEtK,OAAO0B,eAGvF,YAAfsjH,KAA4B35E,EAAAA,GAAAA,KAACojD,GAAAA,KAAS,CAAA1hD,UACrCsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,wBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBAAsB,SACpCA,EAAE,cAAc,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,sBAAuBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,wBAAuB,QAE9G1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc+yG,EAAY12D,SAAU,SAAC9iD,GAAC,OAAKy5G,EAAcz5G,EAAEtK,OAAO0B,mBAIjG2pC,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAAC6N,GAAM,CAACopE,OAAO,UAAUl+G,KAAK,SAASkvC,QAAS,SAAChpC,GAC/CA,EAAE0pC,iBACFmxE,IAAiBzB,GAAmB,WAClCC,GAAsBD,OAExB32E,SAC8CtlC,EAA5Ci8G,EAA8C,kBAAxB,sBACjB,SACPA,IAAqBrgE,EAAAA,GAAAA,MAAC/8B,EAAAA,SAAc,CAAAymB,SAAA,EACpC1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACopE,OAAO,UAAUl+G,KAAK,SAASq0C,SAAU4T,EAAW/Y,QAAS,SAAChpC,GACpEA,EAAE0pC,iBACFoxE,MACAr4E,SACCtlC,EAAE,sBACI,SACR4kD,IAAahhB,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAUrkC,MAAO,CAACgwC,cAAe,wBAK3FjK,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,sBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,SACH,OAATi3E,QAAS,IAATA,GAAmB,QAAVd,EAATc,EAAWhzE,gBAAQ,IAAAkyE,GAAnBA,EAAqB/iH,QACpBkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,SACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,SACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,eAGN1B,EAAAA,GAAAA,KAAA,SAAA0B,SACU,OAATi3E,QAAS,IAATA,GAAmB,QAAVb,EAATa,EAAWhzE,gBAAQ,IAAAmyE,OAAV,EAATA,EAAqB70G,KAAI,SAAC4iC,EAASxlC,GAClC,OAAO23C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACL1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQo0E,QACbj6E,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQs1E,SACbn7E,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQ1d,OACb6vB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQ0N,SAAS60D,QAAQ,IAAK,QACtCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQjhB,KAAKwjF,QAAQ,IAAK,UALpBviE,EAAQo0E,cAU1B79G,EAAE,2BAGV47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,SACJ,OAARm3E,QAAQ,IAARA,GAAkB,QAAVd,EAARc,EAAUlzE,gBAAQ,IAAAoyE,GAAlBA,EAAoBjjH,QACnBkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,SACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJ1B,EAAAA,GAAAA,KAAA,MAAIub,MAAOn/C,EAAE,kBAAkBslC,SAAC,SAChC1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,eAGN1B,EAAAA,GAAAA,KAAA,SAAA0B,SACS,OAARm3E,QAAQ,IAARA,GAAkB,QAAVb,EAARa,EAAUlzE,gBAAQ,IAAAqyE,OAAV,EAARA,EAAoB/0G,KAAI,SAAC4iC,EAASxlC,GACjC,OAAO23C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACL1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQs1E,SACbn7E,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQ1d,OACb6vB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQ0N,SAAS60D,QAAQ,IAAK,QACtCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQy0E,IAAIlS,QAAQ,IAAK,SACjCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQjhB,KAAKwjF,QAAQ,IAAK,UALpBviE,EAAQo0E,cAU1B79G,EAAE,0BAGV47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,SACJ,OAARq3E,QAAQ,IAARA,GAAkB,QAAVd,EAARc,EAAUpzE,gBAAQ,IAAAsyE,GAAlBA,EAAoBnjH,QACnBkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,SACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJ1B,EAAAA,GAAAA,KAAA,MAAIub,MAAOn/C,EAAE,kBAAkBslC,SAAC,SAChC1B,EAAAA,GAAAA,KAAA,MAAIub,MAAOn/C,EAAE,mBAAmBslC,SAAC,UACjC1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,UACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,UACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,6BAGT4jC,EAAAA,GAAAA,KAAA,SAAA0B,SACS,OAARq3E,QAAQ,IAARA,GAAkB,QAAVb,EAARa,EAAUpzE,gBAAQ,IAAAuyE,OAAV,EAARA,EAAoBj1G,KAAI,SAAC4iC,EAASxlC,GACjC,OAAO23C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACL1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQs1E,SACbn7E,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQ1d,OACb6vB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQ0N,SAAS60D,QAAQ,IAAK,QACtCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQy0E,IAAIlS,QAAQ,IAAK,SACjCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQ40E,KAAKrS,QAAQ,IAAK,SAClCpwD,EAAAA,GAAAA,MAAA,MAAIuD,MAAK,aAAA5gD,OAAekrC,EAAQ80E,KAAK7lH,OAAM,kCAAA6F,OAAiCkrC,EAAQ60E,cAAa,yBAAA//G,OAAwBkrC,EAAQg1E,cAAen5E,SAAA,CAC7ImE,EAAQ80E,KAAK7lH,OAAO,IAAE+wC,EAAQ60E,cAAc,IAAE70E,EAAQg1E,iBAEzD7iE,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQjhB,KAAKwjF,QAAQ,IAAK,SAClCpoE,EAAAA,GAAAA,KAAA,MAAI/tB,MAAO,CAACmpG,eAAgBv1E,EAAQk1E,IAAM,eAAiB,IAAIr5E,SAAEmE,EAAQ+0E,OACzE56E,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAACo6D,GAAc,CAAC7tC,UAAU,MACV0sC,SAAUj5D,EAAAA,GAAAA,KAAA,KAAGpP,KAAI,IAAAj2B,OAAMkrC,EAAQo0E,MAAQr1B,QAAS/+C,EAAQi1E,mBAAmBp5E,SAAEtlC,EAAE,sBAC/E6rC,QAAS,kBAAM+xE,GAAUn0E,IAASnE,UAChD1B,EAAAA,GAAAA,KAAA,KAAA0B,SACGtlC,EAAE,6BAhBKypC,EAAQo0E,cAwB1B79G,EAAE,0BAGV47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,yBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,SACA,OAAZu3E,QAAY,IAAZA,GAAsB,QAAVd,EAAZc,EAActzE,gBAAQ,IAAAwyE,GAAtBA,EAAwBrjH,QACvBkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,SACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJ1B,EAAAA,GAAAA,KAAA,MAAIub,MAAOn/C,EAAE,kBAAkBslC,SAAC,SAChC1B,EAAAA,GAAAA,KAAA,MAAIub,MAAOn/C,EAAE,mBAAmBslC,SAAC,UACjC1B,EAAAA,GAAAA,KAAA,MAAIub,MAAOn/C,EAAE,kBAAkBslC,SAAC,SAChC1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,cACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,UACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,eAGN1B,EAAAA,GAAAA,KAAA,SAAA0B,SACa,OAAZu3E,QAAY,IAAZA,GAAsB,QAAVb,EAAZa,EAActzE,gBAAQ,IAAAyyE,OAAV,EAAZA,EAAwBn1G,KAAI,SAAC4iC,EAASxlC,GACrC,OAAO23C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACL1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQs1E,SACbn7E,EAAAA,GAAAA,KAAA,MAAA0B,SAAKmE,EAAQ1d,OACb6vB,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQ0N,SAAS60D,QAAQ,IAAK,QACtCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQy0E,IAAIlS,QAAQ,IAAK,SACjCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQ40E,KAAKrS,QAAQ,IAAK,SAClCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQq1E,IAAI9S,QAAQ,IAAK,SACjCpwD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,IAAA/mC,OAAQkrC,EAAQjhB,KAAKwjF,QAAQ,IAAK,SAClCpwD,EAAAA,GAAAA,MAAA,MAAIuD,MAAK,aAAA5gD,OAAekrC,EAAQ80E,KAAK7lH,OAAM,kCAAA6F,OAAiCkrC,EAAQ60E,cAAa,yBAAA//G,OAAwBkrC,EAAQg1E,cAAen5E,SAAA,CAC7ImE,EAAQ80E,KAAK7lH,OAAO,IAAE+wC,EAAQ60E,cAAc,IAAE70E,EAAQg1E,iBAEzD76E,EAAAA,GAAAA,KAAA,MAAI/tB,MAAO,CAACmpG,eAAgBv1E,EAAQk1E,IAAM,eAAiB,IAAIr5E,SAAEmE,EAAQ+0E,QAX3D/0E,EAAQo0E,cAgB1B79G,EAAE,8BAGV47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CACZtlC,EAAE,mBAAmB,MAAE4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAM6oF,GAAoB9kH,OAAO,SAAS04C,IAAI,aAAY3L,SAAE63E,MAAmBv5E,EAAAA,GAAAA,KAAA,SACzG5jC,EAAE,kBAAkB,MAAE4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMyoF,GAAmB1kH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEy3E,MAAkBn5E,EAAAA,GAAAA,KAAA,kBCvelG,SAASq7E,KACtB,IAAO5xE,EAAiCnb,GAAjB+a,KAAiB,GAArB,GAEyByQ,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAArCqgG,EAAMxhE,EAAA,GAAEyhE,EAASzhE,EAAA,GAQxB,OANA7+B,EAAAA,WAAgB,WACd,IAAM6N,EAAK2gB,EAAap0B,IAAI,WAAa,KACzC/b,QAAQN,IAAI,wBAAD2B,OAAyBmuB,EAAE,gCACtCyyF,EAAUzyF,KACT,CAAC2gB,EAAc8xE,IAEdD,GAAet7E,EAAAA,GAAAA,KAACw7E,GAAoB,CAAMD,UAAAA,EAAWD,OAAAA,KAClDt7E,EAAAA,GAAAA,KAACy7E,GAAoB,CAAMF,UAAAA,IAGpC,SAASE,GAAoBp7F,GAAe,IAAbk7F,EAASl7F,EAATk7F,UACvBn5G,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBACqCogE,EAAAptF,GAAjB+a,KAAiB,GAAlDI,EAAYiyE,EAAA,GAAEnI,EAAemI,EAAA,GACkBxgE,EAAA5sB,GAA9BrT,EAAAA,SAAe,gBAAe,GAA/CvjB,EAAIwjD,EAAA,GAAEygE,EAAOzgE,EAAA,GACwB6F,EAAAzyB,GAAlBrT,EAAAA,SAAe,IAAG,GAArC2gG,EAAK76D,EAAA,GAAE86D,EAAQ96D,EAAA,GAC8BixC,EAAA1jE,GAAhBrT,EAAAA,WAAgB,GAA7C6rF,EAAU9U,EAAA,GAAE+U,EAAa/U,EAAA,GAE1B8pB,EAAiB7gG,EAAAA,aAAkB,SAAChc,GACxCA,EAAE0pC,iBAEF7K,GAAAA,KAAW,iCAAkC,CAC3Cyd,MAAO7jD,GACN,CACD6yB,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAOmsG,EAAQnsG,EAAI6B,KAAKA,KAAjBsqG,KACPp+D,EAAat9B,IAAI,SAAU07F,GAAO0L,EAAgB9pE,GAClD8xE,EAAU1T,GACVvuG,QAAQN,IAAI,2BAAD2B,OAA4BjD,EAAI,WAAAiD,OAAUgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC5E8nB,MAAMg2B,KACR,CAACA,EAAa3jD,EAAM6jH,EAAW9xE,EAAc8pE,IAE1CwI,EAAa9gG,EAAAA,aAAkB,SAAC4sF,GACpC/pE,GAAAA,KAAW,iCAAkC,CAC3C+pE,KAAMA,GACL,CACDt9E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNqrG,GAAeD,GACfxtG,QAAQN,IAAI,2BAAD2B,OAA4BktG,EAAI,WAAAltG,OAAUgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC5E8nB,MAAMg2B,KACR,CAACA,EAAayrD,EAAYC,IAEvBiV,EAAa/gG,EAAAA,aAAkB,SAACghG,GACpC,IAAMpU,EAAOoU,EAAKpU,KAClBp+D,EAAat9B,IAAI,SAAU07F,GAAO0L,EAAgB9pE,GAClD8xE,EAAUU,EAAKpU,QACd,CAACp+D,EAAc8pE,EAAiBgI,IAE7BW,EAAWjhG,EAAAA,YAAiB,eAAAsH,EAAAs5B,GAAA0F,KAAAA,MAAC,SAAAC,EAAO26D,GAAQ,IAAAzkH,EAAAukH,EAAA,OAAA16D,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,OACV,OAAhCtnB,EAAI,WAAAiD,OAAcwhH,EAAS5gE,OAAKkG,EAAAziC,KAAA,EACnB,IAAInjB,SAAQ,SAAAC,GAC7BgiC,GAAAA,KAAW,iCAAkC,CAC3Cyd,MAAO7jD,GACN,CACD6yB,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAMugH,EAAOvgH,EAAI6B,KAAKA,KACtBjE,QAAQN,IAAI,2BAAD2B,OAA4BjD,EAAI,WAAAiD,OAAUgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAC7EzB,EAAQmgH,MACP52F,MAAMg2B,MACR,KAAD,EAVQ,OAAJ4gE,EAAIx6D,EAAAipD,KAAAjpD,EAAAziC,KAAA,EAYJ,IAAInjB,SAAQ,SAAAC,GAChBgiC,GAAAA,KAAW,iCAAgCtlC,GAAAA,GAAA,GACtC2jH,GAAQ,IAEXtU,KAAMoU,EAAKpU,KAAMtsD,MAAO0gE,EAAK1gE,MAAOh9B,OAAQ09F,EAAK19F,OAAQ0vE,OAAQguB,EAAKhuB,OACtEmuB,UAAWH,EAAKG,UAAWC,WAAYJ,EAAKI,WAE5CC,WAAY,KACX,CACD/xF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACR9C,QAAQN,IAAI,yBAAD2B,OAA0BshH,EAAKpU,KAAI,WAAAltG,OAAUgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAChFzB,OACCupB,MAAMg2B,MACR,KAAD,mBAAAoG,EAAAE,UAAAH,OACH,gBAAAI,GAAA,OAAAr/B,EAAAhqB,MAAA,KAAAE,YA9BiC,GA8B/B,CAAC4iD,EAAaj/C,IAyBjB,OAvBA6e,EAAAA,WAAgB,WACd,IAAMshG,EAAuB,WAC3Bz+E,GAAAA,KAAW,+BAAgC,GACxC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAOkgH,EAASlgH,EAAI6B,KAAKA,KAAlBq+G,MACPC,GAAc,OAALD,QAAK,IAALA,OAAK,EAALA,EAAO7uG,MAAK,SAAC7Q,EAAG0mB,GACvB,OAAI1mB,EAAEmgH,aAAez5F,EAAEy5F,WAAmBngH,EAAE2rG,KAAOjlF,EAAEilF,MAAQ,EAAI,EAC1D3rG,EAAEmgH,WAAaz5F,EAAEy5F,YAAc,EAAI,OACtC,IACN/iH,QAAQN,IAAI,yBAAD2B,OAA0BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC5D8nB,MAAMg2B,IAGXkhE,IACA,IAAM37B,EAAQC,aAAY,kBAAM07B,MAAwB,KACxD,OAAO,WACLz7B,cAAcF,GACdi7B,EAAS,OAEV,CAACxgE,EAAawgE,EAAU/U,KAGzB9uD,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAAC,IAAK,KAAKzjD,SAAA,EACtC1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACC,OAAbt/B,GACC41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,OAAA0B,SAAK,oLACL1B,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sJACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,4JACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,uIAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,2BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,OAAA0B,SAAK,qHACL1B,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,yDACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,6HACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,gHACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qHAKdsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,sBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAchO,EAAMqqD,SAAU,SAAC9iD,GAAC,OAAK08G,EAAQ18G,EAAEtK,OAAO0B,cAEjF2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACopE,OAAO,UAAUl+G,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAK68G,EAAe78G,IAAGyiC,SACtEtlC,EAAE,4BAKX47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,oBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,SACP,OAALk6E,QAAK,IAALA,GAAAA,EAAO9mH,QAASkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC5C1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,UACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,WACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,YACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,gBACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,kBAGN1B,EAAAA,GAAAA,KAAA,SAAA0B,SACM,OAALk6E,QAAK,IAALA,OAAK,EAALA,EAAO34G,KAAI,SAACg5G,EAAM57G,GACjB,OAAO23C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACL1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKrhC,KACL2/B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,KAAKqX,QAAS,SAAChpC,GACrBA,EAAE0pC,iBACFqzE,EAAWC,IACXv6E,SAAEu6E,EAAKpU,UAEX7nE,EAAAA,GAAAA,KAAA,MAAA0B,SAAKu6E,EAAK1gE,SACVvb,EAAAA,GAAAA,KAAA,MAAA0B,SAAKu6E,EAAK19F,UACVyhB,EAAAA,GAAAA,KAAA,MAAA0B,SAAKu6E,EAAKI,cACVrkE,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,KAAKqX,QAAS,SAAChpC,GACrBA,EAAE0pC,iBACFqzE,EAAWC,IACXv6E,SAAEtlC,EAAE,mBAAqB,SAC3B4jC,EAAAA,GAAAA,KAACo6D,GAAc,CAAC7tC,UAAU,MAAM0sC,SAAUj5D,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,KAAI8Q,SAAEtlC,EAAE,mBAAwB6rC,QAAS,kBAAM8zE,EAAWE,EAAKpU,OAAMnmE,UACrH1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAItlC,EAAE,sBACS,SACjB4jC,EAAAA,GAAAA,KAACo6D,GAAc,CAAC7tC,UAAU,MAAM0sC,SAAUj5D,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,KAAI8Q,SAAEtlC,EAAE,iBAAsB6rC,QAAS,kBAAMi0E,EAASD,IAAMv6E,UAC5G1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAItlC,EAAE,yBApBI6/G,EAAKpU,cA0BdzrG,EAAE,yBAOvB,SAASo/G,GAAoB34F,GAAuB,IAArBy4F,EAAMz4F,EAANy4F,OAAQC,EAAS14F,EAAT04F,UAC9Bn/G,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEqC62C,EAAA7jE,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuhG,EAAUrqB,EAAA,GAAEsqB,EAAatqB,EAAA,GACQG,EAAAhkE,GAAhBrT,EAAAA,WAAgB,GAAjCghG,EAAI3pB,EAAA,GAAEoqB,EAAOpqB,EAAA,GAEpBr3E,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,gCAAiC,CAC1C+pE,KAAMyT,GACL,CACD/wF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNghH,EAAQhhH,EAAI6B,KAAKA,MACjBjE,QAAQN,IAAI,wBAAD2B,OAAyB2gH,EAAM,WAAA3gH,OAAUgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC3E8nB,MAAMg2B,KACR,CAACA,EAAaigE,EAAQoB,IAEzB,IAAMC,EAAa1hG,EAAAA,aAAkB,SAACghG,GACpCQ,GAAc,GACd,IACE,IAAI5gH,SAAQ,SAAAC,GACVgiC,GAAAA,KAAW,iCAAgCtlC,GAAA,CACzCqvG,KAAMoU,EAAKpU,MAASoU,GACnB,CACD1xF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACRsgH,EAAQhhH,EAAI6B,KAAKA,MACjBjE,QAAQN,IAAI,yBAAD2B,OAA0BshH,EAAKpU,KAAI,WAAAltG,OAAUgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QAChFzB,OACCupB,MAAMg2B,MAEZ,QACCohE,GAAc,MAEf,CAACrgH,EAAGi/C,EAAaohE,EAAeC,IAEnC,OAAKT,GACEj8E,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACLsW,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAAC,IAAK,KAAM0B,YAAU,EAAAnlD,SAAA,EACjDsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,kBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,OAAOrO,QAAS,kBAAMszE,EAAU,OAAM75E,SAAC,wBAG3DsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,SACZu6E,GAAOj8E,EAAAA,GAAAA,KAAC48E,GAAgB,CAAMX,KAAAA,EAAMO,WAAAA,EAAYG,WAAAA,IAAiB,SAGtE3kE,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,SACZu6E,GAAOj8E,EAAAA,GAAAA,KAAC68E,GAAgB,CAAMZ,KAAAA,IAAW,QAG7CA,GAAOjkE,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAClC1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,kBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAAC88E,GAAiB,CAAMb,KAAAA,EAAMO,WAAAA,EAAYG,WAAAA,SAE1B,SA1BN38E,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,YA+BxD,SAASsmE,GAAgB37F,GAAkC,IAAhCg7F,EAAIh7F,EAAJg7F,KAAMO,EAAUv7F,EAAVu7F,WAAYG,EAAU17F,EAAV07F,WACpCvgH,EAAKo8C,KAALp8C,EAC2Cq2F,EAAAnkE,GAA1BrT,EAAAA,SAAeghG,EAAK1gE,OAAM,GAA3C7jD,EAAI+6F,EAAA,GAAEkpB,EAAOlpB,EAAA,GAEdsqB,EAAe9hG,EAAAA,aAAkB,SAAChc,EAAGg9G,GACzCh9G,EAAE0pC,iBACFg0E,EAAUnkH,GAAAA,GAAC,GACNyjH,GAAI,IAAE1gE,MAAO7jD,OAEjB,CAACA,EAAMilH,IAEV,OACE3kE,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAchO,EAAMqqD,SAAU,SAAC9iD,GAAC,OAAK08G,EAAQ18G,EAAEtK,OAAO0B,cAEjF2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACopE,OAAO,UAAUl+G,KAAK,SAASq0C,SAAUovE,EAAYv0E,QAAS,SAAChpC,GAAC,OAAK89G,EAAa99G,EAAGg9G,IAAMv6E,SAChGtlC,EAAE,sBAMX,SAASygH,GAAgBvjD,GAAU,IAAR2iD,EAAI3iD,EAAJ2iD,KAClB7/G,EAAKo8C,KAALp8C,EACD+uB,EAAMlQ,EAAAA,WAAiBwoE,IAAe,GAEFoP,EAAAvkE,GAAlBrT,EAAAA,SAAe,IAAG,GAAnCowE,EAAIwH,EAAA,GAAEmqB,EAAOnqB,EAAA,GACsCG,EAAA1kE,GAAtBrT,EAAAA,SAAe,QAAO,GAAnDgiG,EAAUjqB,EAAA,GAAEkqB,EAAalqB,EAAA,GAE1B1H,EAAkBrwE,EAAAA,aAAkB,SAAChc,EAAGue,GAC5Cve,EAAE0pC,iBAEFprB,GAAeC,GAAM4H,MAAK,WACxB2yB,MAAM37C,EAAE,qBACPipB,OAAM,SAACnR,GACR6jC,MAAM,GAADp9C,OAAIyB,EAAE,mBAAkB,KAAAzB,OAAIuZ,SAElC,CAAC9X,IAEE+gH,EAAmBliG,EAAAA,aAAkB,SAAChc,EAAG7C,GAC7C6C,EAAE0pC,iBACFu0E,EAAc9gH,KACb,CAAC8gH,IAEJjiG,EAAAA,WAAgB,WACd,GAAS,OAAJghG,QAAI,IAAJA,GAAAA,EAAMhuB,OAAX,CACA,IAAM5C,EAAO0C,GAAU,QAADpzF,OAASshH,EAAK19F,QAAU,CAACowE,QAASstB,EAAKhuB,QAAS9iE,GACtE6xF,EAAQ3xB,MACP,CAAC4wB,EAAM9wF,EAAK6xF,IAEf,IACEvxB,EACEJ,EADFI,WAAYE,EACVN,EADUM,cAAeC,EACzBP,EADyBO,UAAWC,EACpCR,EADoCQ,QAASM,EAC7Cd,EAD6Cc,cAGjD,OACEn0C,EAAAA,GAAAA,MAACorC,GAAI,CAAA1hD,SAAA,EACH1B,EAAAA,GAAAA,KAACojD,GAAAA,OAAW,CAAA1hD,UACVsW,EAAAA,GAAAA,MAACqX,GAAG,CAAC/Y,QAAQ,OAAO6uC,iBAAiB,QAAOzjD,SAAA,EAC1C1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,QAAQqX,QAAS,SAAChpC,GAAC,OAAKk+G,EAAiBl+G,EAAG,SAAQyiC,SAAEtlC,EAAE,uBAEzE4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,OAAOqX,QAAS,SAAChpC,GAAC,OAAKk+G,EAAiBl+G,EAAG,QAAOyiC,SAAEtlC,EAAE,2BAI3D,SAAf6gH,GAAwBjlE,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EAC/BsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAO+pD,IAAkB,SAChDzrD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGwsF,YAGjEzzC,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,gBAAgB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOiqD,IAAqB,SAChD3rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG0sF,YAGjE3zC,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,eAInE7zC,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EACRsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,mBAAmB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOyqD,IAAqB,SACnDnsD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAGktF,YAGjEn0C,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,gBAAgB,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,wBAE/B47C,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,kBAAkB,QACrB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMg7D,EAAWj3F,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,uBAA0B,SAClF4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOmqD,IAAe,SACtB7rD,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS17B,MAAO,CAAC84E,QAAS,gBAAiBxvC,MAAOn/C,EAAE,eAAeslC,UAC3E1B,EAAAA,GAAAA,KAAC4qD,GAAc,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAKqsF,EAAgBrsF,EAAG4sF,iBAQ3E,SAASixB,GAAiBtO,GAAkC,IAAhCyN,EAAIzN,EAAJyN,KAAMO,EAAUhO,EAAVgO,WAAYG,EAAUnO,EAAVmO,WACrCvgH,EAAKo8C,KAALp8C,EACDgG,EAAWq+E,KAEsC0S,EAAA7kE,GAA3BrT,EAAAA,SAAeghG,EAAKmB,QAAO,GAAhDA,EAAMjqB,EAAA,GAAEkqB,EAASlqB,EAAA,GACuDG,EAAAhlE,GAA3CrT,EAAAA,SAAeghG,EAAKqB,YAAc,UAAS,GAAxEA,EAAUhqB,EAAA,GAAEiqB,EAAajqB,EAAA,GACsCG,EAAAnlE,GAAhCrT,EAAAA,SAAeghG,EAAKuB,aAAY,GAA/DA,EAAW/pB,EAAA,GAAEgqB,EAAchqB,EAAA,GAC6CG,EAAAtlE,GAAnCrT,EAAAA,SAAeghG,EAAKyB,gBAAe,GAAxEA,EAAc9pB,EAAA,GAAE+pB,EAAiB/pB,EAAA,GACkFG,EAAAzlE,GAAxFrT,EAAAA,SAAeghG,EAAK2B,YAA2B,OAAbx7G,EAAoB,GAAK,8BAA6B,GAAnHw7G,EAAS7pB,EAAA,GAAE8pB,EAAY9pB,EAAA,GAC2CG,EAAA5lE,GAAjCrT,EAAAA,SAAeghG,EAAK6B,cAAa,GAAlEA,EAAY5pB,EAAA,GAAE6pB,EAAe7pB,EAAA,GACwCG,EAAA/lE,GAAlCrT,EAAAA,SAAeghG,EAAK+B,eAAc,GAArEA,EAAa3pB,EAAA,GAAE4pB,EAAgB5pB,EAAA,GACmCG,EAAAlmE,GAAjCrT,EAAAA,SAAeghG,EAAKiC,cAAa,GAAlEA,EAAY1pB,EAAA,GAAE2pB,EAAe3pB,EAAA,GAC4DG,EAAArmE,GAAtDrT,EAAAA,SAAeghG,EAAKmC,eAAiBh8G,GAAY,MAAK,GAAzFg8G,EAAazpB,EAAA,GAC+DG,GAD7CH,EAAA,GAC6CrmE,GAA7CrT,EAAAA,SAAeghG,EAAKoC,aAAe,WAAU,IAA5EA,EAAWvpB,EAAA,GAAEwpB,EAAcxpB,EAAA,GACuDG,EAAA3mE,GAAnDrT,EAAAA,SAAeghG,EAAKsC,aAAe,iBAAgB,GAAlFA,EAAWtpB,EAAA,GAAEupB,EAAcvpB,EAAA,GACyEqX,EAAAh+E,GAAnErT,EAAAA,SAAeghG,EAAKwC,cAAgB,gCAA+B,GAApGA,EAAYnS,EAAA,GAAEoS,EAAepS,EAAA,GACmDG,EAAAn+E,GAAzCrT,EAAAA,SAAeghG,EAAK0C,iBAAmB,GAAE,GAAhFA,EAAelS,EAAA,GAAEmS,EAAkBnS,EAAA,GAC4CG,EAAAt+E,GAA1CrT,EAAAA,SAAeghG,EAAK4C,gBAAkB,KAAI,GAA/EA,EAAcjS,EAAA,GAAEkS,EAAiBlS,EAAA,GAEmBc,EAAAp/E,GAAvBrT,EAAAA,SAAe,SAAQ,GAApD0+F,EAAUjM,EAAA,GAAEkM,EAAalM,EAAA,GACqBO,EAAA3/E,GAArBrT,EAAAA,SAAe,OAAM,GAA9C8jG,EAAQ9Q,EAAA,GAAE+Q,EAAW/Q,EAAA,GAC0DG,GAAA9/E,GAA9CrT,EAAAA,SAAeghG,EAAKmC,eAAiBh8G,GAAS,GAA/E68G,GAAY7Q,GAAA,GAAE8Q,GAAe9Q,GAAA,GACoBK,GAAAngF,GAAtBrT,EAAAA,SAAe,QAAO,GAAjDkkG,GAAS1Q,GAAA,GAAE2Q,GAAY3Q,GAAA,GAC4B4Q,GAAA/wF,GAAhBrT,EAAAA,WAAgB,GAAnDqkG,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GAEhCxF,GAAmB5+F,EAAAA,aAAkB,SAAChc,EAAG7C,GAC7C6C,EAAE0pC,iBACFixE,EAAcx9G,KACb,CAACw9G,IAEEmD,GAAe9hG,EAAAA,aAAkB,SAAChc,GACtCA,EAAE0pC,iBACFg0E,EAAUnkH,GAAAA,GAAC,GACNyjH,GAAI,IAAEuD,WAAW,EACpBpC,OAAAA,EAAQE,WAAAA,EAAYE,YAAAA,EAAaE,eAAAA,EAAgBE,UAAAA,EAAWQ,cAAAA,EAAeG,YAAAA,EAC3EE,aAAAA,EAAcE,gBAAiB9sG,SAAS8sG,GACxCE,eAAgBhtG,SAASgtG,GAAiBf,eAAgBA,EAC1DE,gBAAiBA,EAAeE,eAAgBA,EAChDG,YAAAA,OAED,CACD1B,EAAYV,EAAMmB,EAAQE,EAAYE,EAAaI,EAAWQ,EAAeG,EAAaE,EAC1FE,EAAiBE,EAAgBf,EAAcE,EAAeE,EAAcG,EAAaX,IAGrF+B,GAAgBxkG,EAAAA,aAAkB,SAAChc,GACvCA,EAAE0pC,iBACFg0E,EAAUnkH,GAAAA,GAAC,GAAIyjH,GAAI,IAAEuD,WAAW,OAC/B,CAAC7C,EAAYV,IAEVyD,GAAwBzkG,EAAAA,aAAkB,SAAChc,GAC/CA,GAAKA,EAAE0pC,iBAEP,IAAMg3E,EAAW1D,EAAKpU,KAChBuU,EAAYH,EAAKG,UACvB,GAAKuD,EAAL,CAGA,IAAM93F,EAAM,CACV,cACA,WACA,cAAc,WAADltB,QACF,IAAIo1B,MAAO7I,eAAa,UAAAvsB,OACzB8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,KAAEkD,OAAA2pD,GAC1Cy6D,EAAW,CAAC,YAADpkH,OAAaokH,IAAc,IAAEz6D,GACxC26D,GAAe,CAAC,YAADtkH,OAAaskH,KAAkB,IAAE36D,GAChD66D,GAAY,CAAC,WAADxkH,OAAYwkH,KAAe,IAAI,CAAF,QAAAxkH,OACrCglH,GAAQ,aAAAhlH,OACHyhH,KAETj0F,EAAG,GAAAxtB,OAAMuD,OAAO0hH,WAAU,KAAAjlH,OAAI4hB,GAAO9c,UAAS,oBAAA9E,OAAmBktB,EAAOloB,KAAK,MACnF4/G,GAAiBp3F,GACjB7uB,QAAQN,IAAI,4BAAD2B,OAA6BwtB,OACvC,CAACo3F,GAAkBtD,EAAM8C,EAAUE,GAAcE,KAOpD,OAJAlkG,EAAAA,WAAgB,WACdykG,OACC,CAACA,GAAuBX,EAAUE,GAAcE,KAE9ClD,EAAKuD,WASRx/E,EAAAA,GAAAA,KAAC8f,GAAI,CAAApe,UACHsW,EAAAA,GAAAA,MAACorC,GAAI,CAAA1hD,SAAA,EACH1B,EAAAA,GAAAA,KAACojD,GAAAA,OAAW,CAAA1hD,UACVsW,EAAAA,GAAAA,MAACqX,GAAG,CAAC/Y,QAAQ,OAAO6uC,iBAAiB,SAAQzjD,SAAA,EAC3C1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,SAASqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,UAASyiC,SAAEtlC,EAAE,sBAE3E4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,YAAYqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,aAAYyiC,SAAEtlC,EAAE,yBAEjF4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,OAAOqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,QAAOyiC,SAAEtlC,EAAE,oBAEvE4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,QAAQqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,SAAQyiC,SAAEtlC,EAAE,qBAEzE4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,OAAOqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,QAAOyiC,SAAEtlC,EAAE,oBAEvE4jC,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAAA3tB,UACP1B,EAAAA,GAAAA,KAACqvB,GAAAA,KAAQ,CAACz+B,KAAK,aAAaqX,QAAS,SAAChpC,GAAC,OAAK46G,GAAiB56G,EAAG,cAAayiC,SAAEtlC,EAAE,8BAIvE,UAAfu9G,IAA0B3hE,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EACnCsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,qBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQ2M,aAAc03G,EAAQr7D,SAAU,SAAC9iD,GAAC,OAAKo+G,EAAUp+G,EAAEtK,OAAO0B,cAElG2pC,EAAAA,GAAAA,KAAC6/E,GAA8B,CAAMrD,WAAAA,EAAYO,aAAAA,GAAc0C,cAAAA,QAEjD,aAAf9F,IAA6B3hE,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EACtCsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,uBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,yBACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAc43G,EAAYv7D,SAAU,SAAC9iD,GAAC,OAAKs+G,EAAct+G,EAAEtK,OAAO0B,QAAOqrC,SAAA,EACpFsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,SAAQqrC,SAAC,kBAG3B1B,EAAAA,GAAAA,KAACk3E,GAAoB,CACnB9mF,QAASwtF,EAAWzG,WAAY0G,EAChC1M,UAAWqM,EAAapM,aAAcqM,EACtCrG,aAAcsG,EAAgBrG,gBAAiBsG,KAEjD39E,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAAC6/E,GAA8B,CAAMrD,WAAAA,EAAYO,aAAAA,GAAc0C,cAAAA,QAEjD,QAAf9F,IAAwB3hE,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EACjC1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,UAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,2BAA0B7a,UAC/D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,gBAAiB4lD,eAAgB87D,EAAc71E,QAAS,kBAAM81E,GAAiBD,WAGvH,GAWD9lE,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,iBAAiB,QAClC47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAc24G,EAAat8D,SAAU,SAAC9iD,GAAC,OAAKq/G,EAAer/G,EAAEtK,OAAO0B,QAAOqrC,SAAA,EACtFsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,YAAWqrC,SAAC,gBAC1B1B,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,UAASqrC,SAAC,kCAG5B1B,EAAAA,GAAAA,KAAC6/E,GAA8B,CAAMrD,WAAAA,EAAYO,aAAAA,GAAc0C,cAAAA,QAEjD,SAAf9F,IAAyB3hE,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EAClC1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,UAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,4BAA2B7a,UAChE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,iBAAkB4lD,eAAgBg8D,EAAe/1E,QAAS,kBAAMg2E,GAAkBD,WAG3HhmE,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQ2M,aAAc64G,EAAax8D,SAAU,SAAC9iD,GAAC,OAAKu/G,EAAev/G,EAAEtK,OAAO0B,cAE5G2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,WAAW7mC,KAAK,OAAOovG,KAAM,EAAIziG,aAAc+4G,EAAc18D,SAAU,SAAC9iD,GAAC,OAAKy/G,EAAgBz/G,EAAEtK,OAAO0B,cAE1H2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,uBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQ2M,aAAci5G,EAAiB58D,SAAU,SAAC9iD,GAAC,OAAK2/G,EAAmB3/G,EAAEtK,OAAO0B,cAEpH2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQ2M,aAAcm5G,EAAgB98D,SAAU,SAAC9iD,GAAC,OAAK6/G,EAAkB7/G,EAAEtK,OAAO0B,cAElH2pC,EAAAA,GAAAA,KAAC6/E,GAA8B,CAAMrD,WAAAA,EAAYO,aAAAA,GAAc0C,cAAAA,QAEjD,QAAf9F,IAAwB3hE,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EACjC1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,UAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,2BAA0B7a,UAC/D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,gBAAiB4lD,eAAgBk8D,EAAcj2E,QAAS,kBAAMk2E,GAAiBD,WAGxHl+E,EAAAA,GAAAA,KAAC6/E,GAA8B,CAAMrD,WAAAA,EAAYO,aAAAA,GAAc0C,cAAAA,QAEjD,cAAf9F,IAA8B3hE,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,EACvCsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQ2M,aAAcq5G,EAAUh9D,SAAU,SAAC9iD,GACvEA,EAAE0pC,iBACFq2E,EAAY//G,EAAEtK,OAAO0B,cAGzB2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,sBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,SAClCA,EAAE,aAAa,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,4BAA+B,aACrDtlC,EAAE,cAAc,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,wDAAwDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAa,QAElI1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcu5G,GAAcl9D,SAAU,SAAC9iD,GAC9DA,EAAE0pC,iBACFu2E,GAAgBjgH,EAAEtK,OAAO0B,cAG7B2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,sBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,QACrC47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAcy5G,GAAWp9D,SAAU,SAAC9iD,GAAC,OAAKmgH,GAAangH,EAAEtK,OAAO0B,QAAOqrC,SAAA,EAClFsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC47C,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,OAAMqrC,SAAA,CAAC,SAAOtlC,EAAE,uBAAuB,QACpD,SAGL4jC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAASy3E,GAAsBh+E,SACpEtlC,EAAE,sBAEL4jC,EAAAA,GAAAA,KAAA,QACCs/E,KAAiBtnE,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,eACRsW,EAAAA,GAAAA,MAAA,KAAGpnB,KAAM0uF,GAAe3qH,OAAO,SAAS04C,IAAI,aAAY3L,SAAA,CAAEq9E,EAAS,IAAEE,GAAa,IAAEE,kBA1JrGn/E,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUovE,EAC1Cv0E,QAAS,SAAChpC,GAAC,OAAK09G,EAAUnkH,GAAAA,GAAC,GAAIyjH,GAAI,IAAEuD,WAAW,MAAO99E,SAC5DtlC,EAAE,oBAgKX,SAASyjH,GAA8B9Q,GAA6C,IAA3CyN,EAAUzN,EAAVyN,WAAYO,EAAYhO,EAAZgO,aAAc0C,EAAa1Q,EAAb0Q,cAC1DrjH,EAAKo8C,KAALp8C,EAEP,OAAO47C,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACL1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUovE,EAAYv0E,QAAS80E,EAAar7E,SACjFtlC,EAAE,oBACI,SACT4jC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUovE,EAAYv0E,QAASw3E,EAAc/9E,SAClFtlC,EAAE,wBCroBM,SAAS0jH,KACtB,IAAwChmE,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAjCthB,EAAImgD,EAAA,GAAE+1C,EAAO/1C,EAAA,GAC8BoB,EAAA5sB,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAAS9T,EAAA,GAAEgmC,EAAYhmC,EAAA,GACgB6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAvC60E,EAAO/uC,EAAA,GAAEgvC,EAAUhvC,EAAA,GACpB1F,GAAcC,EAAAA,GAAAA,mBAgCpB,OA9BArgC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,qCAAsC,GAC9C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAMo0F,EAAUp0F,EAAI6B,KAAKA,KACzBsyF,GAAQ,GACRE,EAAWD,GAAW,IACtBx2F,QAAQN,IAAI,2BAAD2B,OAA4BgW,KAAKsL,UAAU6zE,QACrDzqE,MAAMg2B,KACR,CAACA,IAEJpgC,EAAAA,WAAgB,WAAO,IAAD+0E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAKh3F,GAASm2F,EAEd,OAAc,QAAVE,EAAAF,EAAQc,UAAE,IAAAZ,GAAVA,EAAYj6B,SAA2B,QAApBk6B,EAAIH,EAAQ1G,gBAAQ,IAAA6G,GAAhBA,EAAkBl6B,SAA2B,QAApBm6B,EAAIJ,EAAQe,gBAAQ,IAAAX,GAAhBA,EAAkBn6B,QACjEmrB,EAAa,WAGP,QAAXiP,EAACL,EAAQc,UAAE,IAAAT,GAAVA,EAAYW,QAAqB,QAAXV,EAACN,EAAQc,UAAE,IAAAR,GAAVA,EAAYnC,QAAqB,QAAXoC,EAACP,EAAQc,UAAE,IAAAP,GAAVA,EAAYt6B,QAEnC,QAAjBu6B,EAACR,EAAQ1G,gBAAQ,IAAAkH,GAAhBA,EAAkBQ,QAA2B,QAAjBP,EAACT,EAAQ1G,gBAAQ,IAAAmH,GAAhBA,EAAkBtC,QAA2B,QAAjBuC,EAACV,EAAQ1G,gBAAQ,IAAAoH,GAAhBA,EAAkBz6B,QAE5D,QAAjB06B,EAACX,EAAQe,gBAAQ,IAAAJ,GAAhBA,EAAkBK,QAA2B,QAAjBJ,EAACZ,EAAQe,gBAAQ,IAAAH,GAAhBA,EAAkBzC,QAA2B,QAAjB0C,EAACb,EAAQe,gBAAQ,IAAAF,GAAhBA,EAAkB56B,QAGtFmrB,EAAa,MAFbA,EAAa,KAFbA,EAAa,KAFbA,EAAa,QAQd,CAACvnF,EAAMm2F,IAEL9gC,GACEhvB,EAAAA,GAAAA,KAAC+/E,GAAkB,CAAC56B,iBAAkBn2B,EAAWgiC,eAAgBlB,KADjD9vD,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAIzB,SAASmmE,GAAkB1/F,GAAsC,IAAD4wE,EAAAC,EAAAC,EAAAC,EAAAC,EAAA0a,EAAAiU,EAAA1uB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAsa,EAAAiU,EAAAtuB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAka,EAAAiU,EAAnC/6B,EAAgB9kE,EAAhB8kE,iBAAkB6L,EAAc3wE,EAAd2wE,eACvC5uF,EAAWq+E,KACVrkF,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEyD02C,EAAA1jE,GAA3CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJC,EAAdD,EAAgBJ,UAAE,IAAAK,OAAJ,EAAdA,EAAoBl7B,SAAQ,GAAtEk8B,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAC4CG,EAAA7jE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJE,EAAdF,EAAgBJ,UAAE,IAAAM,OAAJ,EAAdA,EAAoBJ,QAAO,GAAnEsB,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC8CG,EAAAhkE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJG,EAAdH,EAAgBJ,UAAE,IAAAO,OAAJ,EAAdA,EAAoBlD,QAAO,GAAnEsE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC8CG,EAAAnkE,GAA1CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJI,EAAdJ,EAAgBJ,UAAE,IAAAQ,OAAJ,EAAdA,EAAoBsB,QAAO,GAAnEC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC2CI,EAAAvkE,GAAzCrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJK,EAAdL,EAAgBJ,UAAE,IAAAS,OAAJ,EAAdA,EAAoB9zC,OAAM,GAAhEu1C,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC6CG,EAAA1kE,GAAzCrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJ+a,EAAd/a,EAAgBJ,UAAE,IAAAmb,OAAJ,EAAdA,EAAoBnC,OAAM,GAAhEsC,EAAOlZ,EAAA,GAAEmZ,EAAUnZ,EAAA,GAC4DG,EAAA7kE,GAA9CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAkB,QAAJgvB,EAAdhvB,EAAgBJ,UAAE,IAAAovB,OAAJ,EAAdA,EAAoBG,YAAW,GAA/EC,EAAYjtB,EAAA,GAAEktB,EAAeltB,EAAA,GAC2DG,EAAAhlE,GAAjDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVM,EAAdN,EAAgB5H,gBAAQ,IAAAkI,OAAV,EAAdA,EAA0Bv7B,SAAQ,GAAxFk9B,EAAeK,EAAA,GAAEJ,EAAkBI,EAAA,GACkDG,EAAAnlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVO,EAAdP,EAAgB5H,gBAAQ,IAAAmI,OAAV,EAAdA,EAA0BT,QAAO,GAArFsC,EAAcK,EAAA,GAAEJ,GAAiBI,EAAA,GACoDG,GAAAtlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVQ,EAAdR,EAAgB5H,gBAAQ,IAAAoI,OAAV,EAAdA,EAA0BvD,QAAO,GAArFsF,GAAcK,GAAA,GAAEJ,GAAiBI,GAAA,GACoDG,GAAAzlE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVS,EAAdT,EAAgB5H,gBAAQ,IAAAqI,OAAV,EAAdA,EAA0BiB,QAAO,GAArFgB,GAAcK,GAAA,GAAEJ,GAAiBI,GAAA,GACiDG,GAAA5lE,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVU,EAAdV,EAAgB5H,gBAAQ,IAAAsI,OAAV,EAAdA,EAA0Bn0C,OAAM,GAAlFs2C,GAAaK,GAAA,GAAEJ,GAAgBI,GAAA,GACmDG,GAAA/lE,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVgb,EAAdhb,EAAgB5H,gBAAQ,IAAA4iB,OAAV,EAAdA,EAA0BpC,OAAM,GAAlFwC,GAAa/X,GAAA,GAAEgY,GAAgBhY,GAAA,GACkEG,GAAAlmE,GAApDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVivB,EAAdjvB,EAAgB5H,gBAAQ,IAAA62B,OAAV,EAAdA,EAA0BE,YAAW,GAAjGG,GAAkB9rB,GAAA,GAAE+rB,GAAqB/rB,GAAA,GAC+CG,GAAArmE,GAAjDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVW,EAAdX,EAAgBH,gBAAQ,IAAAc,OAAV,EAAdA,EAA0B57B,SAAQ,GAAxFi+B,GAAeW,GAAA,GAAEV,GAAkBU,GAAA,GACkDG,GAAAxmE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVY,EAAdZ,EAAgBH,gBAAQ,IAAAe,OAAV,EAAdA,EAA0Bd,QAAO,GAArFqD,GAAcW,GAAA,GAAEV,GAAiBU,GAAA,GACoDG,GAAA3mE,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVa,EAAdb,EAAgBH,gBAAQ,IAAAgB,OAAV,EAAdA,EAA0B5D,QAAO,GAArFqG,GAAcW,GAAA,GAAEV,GAAiBU,GAAA,GACoDqX,GAAAh+E,GAAhDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVc,EAAdd,EAAgBH,gBAAQ,IAAAiB,OAAV,EAAdA,EAA0BY,QAAO,GAArF+B,GAAc6X,GAAA,GAAE5X,GAAiB4X,GAAA,GACiDG,GAAAn+E,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVe,EAAdf,EAAgBH,gBAAQ,IAAAkB,OAAV,EAAdA,EAA0Bx0C,OAAM,GAAlFq3C,GAAa6X,GAAA,GAAE5X,GAAgB4X,GAAA,GACmDG,GAAAt+E,GAA/CrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVib,EAAdjb,EAAgBH,gBAAQ,IAAAob,OAAV,EAAdA,EAA0BrC,OAAM,GAAlF2C,GAAaK,GAAA,GAAEJ,GAAgBI,GAAA,GACkEc,GAAAp/E,GAApDrT,EAAAA,SAA6B,OAAd+1E,QAAc,IAAdA,GAAwB,QAAVkvB,EAAdlvB,EAAgBH,gBAAQ,IAAAqvB,OAAV,EAAdA,EAA0BC,YAAW,GAAjGK,GAAkB9S,GAAA,GAAE+S,GAAqB/S,GAAA,GACFO,GAAA3/E,GAAhBrT,EAAAA,WAAgB,GAAvCylG,GAAOzS,GAAA,GAAE0S,GAAU1S,GAAA,GACwBG,GAAA9/E,GAAhBrT,EAAAA,WAAgB,GAA3Ci6E,GAASkZ,GAAA,GAAEjZ,GAAYiZ,GAAA,GAE9BnzF,EAAAA,WAAgB,WACd,IAAMm6E,EAAiB,WACrBt3D,GAAAA,KAAW,sCAAuC,GAC/C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNilH,GAAWjlH,EAAI6B,KAAKA,KAAK0F,KAAI,SAAChE,EAAGpK,GAAO,IAADwgG,EAAAwX,EAC/BC,EAAIt0G,GAAAA,GAAA,GACLyG,GAAC,IACJvH,KAAM,CACJk5F,GAAIx0F,EAAE,iBACNgtF,SAAUhtF,EAAE,iBACZy0F,SAAUz0F,EAAE,kBACZ6C,EAAE6rB,UACJovC,OAAe,QAAPm7B,EAAAp2F,EAAEq2F,aAAK,IAAAD,GAAPA,EAASn7B,OAAS4pB,IAAAA,CAAO7kF,EAAEq2F,MAAMp7B,QAAU,KACnDrlE,EAAAA,IAIIk4G,EAAoB,QAAbF,EAAGC,EAAKlD,aAAK,IAAAiD,OAAA,EAAVA,EAAY10G,QAAO,SAAA8G,GAAC,OAAK,OAADA,QAAC,IAADA,OAAC,EAADA,EAAG4oG,SAAa,OAAJiF,QAAI,IAAJA,OAAI,EAAJA,EAAMp0G,WAE1D,OADAo0G,EAAKzpF,UAAmB,OAAP0pF,QAAO,IAAPA,GAAAA,EAASj4G,OAASi4G,EAAQ,GAAK,KACzCD,MAETxzG,QAAQN,IAAI,yBAAD2B,OAA0BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC5D8nB,MAAMg2B,IAGX+5C,IACA,IAAMxU,EAAQC,aAAY,kBAAMuU,MAAkB,KAClD,OAAO,kBAAMtU,cAAcF,MAC1B,CAACxkF,EAAGi/C,IAEP,IAAMk6C,GAAgBt6E,EAAAA,aAAkB,SAAChc,EAAG4oC,EAAQ/c,EAAUgmE,EAAQ7C,EAAQl4B,EAAS28B,EAAQn1C,EAAOqsD,EAAOuW,EAAY3qB,GAEvH,GADAv2F,EAAE0pC,iBACQ,OAALihE,QAAK,IAALA,IAAAA,EAAO90G,OAAQ,OAAOijD,MAAM37C,EAAE,kBACnC,IAAK00F,EAAQ,OAAO/4C,MAAM37C,EAAE,kBAC5B,GAAIs2F,IAAWn1C,EAAO,OAAOxF,MAAM37C,EAAE,mBAErC,IACE+4F,IAAa,GAEbr3D,GAAAA,KAAW,qCAAsC,CAC/C+J,OAAAA,EAAQ/c,SAAAA,EAAUgmE,OAAAA,EAAQ7C,OAAAA,EAAQl4B,UAAWA,EAAS28B,SAAUA,EAAQn1C,MAAAA,EAAOqsD,MAAAA,EAC/EuW,WAAAA,GACC,CACD51F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,gBACRo5F,GAAaA,OACZnwE,MAAMg2B,GACV,QACC,IAAIx/C,SAAQ,SAAAC,GAAO,OAAI+Y,WAAW/Y,EAAS,QAAOspB,MAAK,kBAAM+vE,IAAa,SAE3E,CAAC/4F,EAAGi/C,EAAa85C,KAEpB,OACEn9C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkBA,EAAiBzjD,SAAA,EAC5C1B,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACC,OAAbt/B,GACC41C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,8BAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,mNAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,wEACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,gGAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,oCACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,wEACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qEAIVsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAC,kBAClBsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAK,oKAEH1B,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,6CACH1B,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,2EAEN1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,2BACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,qDACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,sDAKdsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAatlC,EAAXu2F,EAAa,kBAAuB,iBAAiB,IAAEG,MAC1E9yD,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAY,IAAA/mC,OAAOyB,EAAfu2F,EAAiB,kBAA8B,mBAAZ,KAAkC,IAAEv2F,EAAE,sBACxF4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcotF,EAAS/wC,SAAU,SAAC9iD,GAAC,OAAK8zF,EAAW9zF,EAAEtK,OAAO0B,cAEvF2hD,EAAAA,GAAAA,MAACwB,GAAgB,CAAA9X,SAAA,EACf1B,EAAAA,GAAAA,KAACgtE,GAAiB,CAACliF,SAAS,KAAK81F,YAAa1U,EAAS2U,eAAgB1U,KACvEnsE,EAAAA,GAAAA,KAAC8gF,GAAqB,CAACX,WAAYC,EAAcW,cAAeV,QAElEroE,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAatlC,EAAXu2F,EAAa,kBAAuB,uBAC/CA,IAAY36C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBAC9I4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0sF,EAAUrwC,SAAU,SAAC9iD,GAAC,OAAKozF,EAAYpzF,EAAEtK,OAAO0B,cAEzF2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbu2F,IAAY36C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBAC9I4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6sF,EAAUxwC,SAAU,SAAC9iD,GAAC,OAAKuzF,EAAYvzF,EAAEtK,OAAO0B,cAEzF2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,uBAAsB7a,UAC3D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgB2wC,EAAU1qD,QAAS,kBAAM2qD,GAAaD,aAIrH3yD,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,KAAMmzF,EAAUG,GAAWN,EAAWU,EAAUG,EAASoZ,EAASkU,GAAc,WACzGluB,GAAcD,OAEhBvwD,SAEWtlC,EAAZ61F,EAAc,gBAAqB,oBAC7B,SACTj6C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,0BAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAmBtlC,EAAjBs3F,GAAmB,kBAAuB,iBAAiB,IAAEG,OAChF7zD,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAkB,IAAA/mC,OAAOyB,EAArBs3F,GAAuB,kBAA8B,mBAAZ,KAAkC,IAAEt3F,EAAE,sBAC9F4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcmuF,GAAe9xC,SAAU,SAAC9iD,GAAC,OAAK60F,GAAiB70F,EAAEtK,OAAO0B,cAEnG2hD,EAAAA,GAAAA,MAACwB,GAAgB,CAAA9X,SAAA,EACf1B,EAAAA,GAAAA,KAACgtE,GAAiB,CAACliF,SAAS,WAAW81F,YAAaxU,GAAeyU,eAAgBxU,MACnFrsE,EAAAA,GAAAA,KAAC8gF,GAAqB,CAACX,WAAYG,GAAoBS,cAAeR,SAExEvoE,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAmBtlC,EAAjBs3F,GAAmB,kBAAuB,uBACrDA,KAAkB17C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc0tF,EAAgBrxC,SAAU,SAAC9iD,GAAC,OAAKo0F,GAAkBp0F,EAAEtK,OAAO0B,cAErG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbs3F,KAAkB17C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6tF,GAAgBxxC,SAAU,SAAC9iD,GAAC,OAAKu0F,GAAkBv0F,EAAEtK,OAAO0B,cAErG2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,6BAA4B7a,UACjE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgB0xC,GAAgBzrD,QAAS,kBAAM0rD,IAAmBD,cAIjI1zD,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,WAAYm0F,EAAgBG,IAAiBN,EAAiBS,GAAgBG,GAAeuY,GAAekU,IAAoB,WACzJptB,GAAoBD,OAEtBvxD,SAEiBtlC,EAAlB62F,EAAoB,gBAAqB,oBACnC,SACTj7C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,0BAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1BsW,EAAAA,GAAAA,MAACkvC,GAAAA,OAAgB,CAAAxlD,SAAA,CAAmBtlC,EAAjBq4F,GAAmB,kBAAuB,iBAAiB,IAAEG,OAChF50D,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAkB,IAAA/mC,OAAOyB,EAArBq4F,GAAuB,kBAA8B,mBAAZ,KAAkC,IAAEr4F,EAAE,sBAC9F4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAckvF,GAAe7yC,SAAU,SAAC9iD,GAAC,OAAK41F,GAAiB51F,EAAEtK,OAAO0B,cAEnG2hD,EAAAA,GAAAA,MAACwB,GAAgB,CAAA9X,SAAA,EACf1B,EAAAA,GAAAA,KAACgtE,GAAiB,CAACliF,SAAS,WAAW81F,YAAarU,GAAesU,eAAgBrU,MACnFxsE,EAAAA,GAAAA,KAAC8gF,GAAqB,CAACX,WAAYK,GAAoBO,cAAeN,SAExEzoE,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAmBtlC,EAAjBq4F,GAAmB,kBAAuB,uBACrDA,KAAkBz8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,wBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcyuF,GAAgBpyC,SAAU,SAAC9iD,GAAC,OAAKm1F,GAAkBn1F,EAAEtK,OAAO0B,cAErG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,mBACbq4F,KAAkBz8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,gBAAiBzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAEtlC,EAAE,mBAAsB,KAAEA,EAAE,qBACpJ4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc4uF,GAAgBvyC,SAAU,SAAC9iD,GAAC,OAAKs1F,GAAkBt1F,EAAEtK,OAAO0B,cAErG2pC,EAAAA,GAAAA,KAACqiD,GAAG,CAAA3gD,UACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,6BAA4B7a,UACjE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,mBAAoB4lD,eAAgByyC,GAAgBxsD,QAAS,kBAAMysD,IAAmBD,cAIjIz0D,EAAAA,GAAAA,KAAC6N,GAAM,CACLyI,QAAQ,UACRv9C,KAAK,SACLq0C,SAAU8nD,GACVjtD,QAAS,SAAChpC,GACRs2F,GAAct2F,EAAG,SAAU,WAAYk1F,GAAgBG,IAAiBN,GAAiBS,GAAgBG,GAAe2X,GAAeiU,IAAoB,WACzJvsB,IAAoBD,QAEtBtyD,SAEiBtlC,EAAlB43F,GAAoB,gBAAqB,oBACnC,SACTh8C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,0BAIvB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,KAAI5gB,SAAA,EAC3B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,sBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,CAEJ,OAAPg/E,SAAO,IAAPA,IAAAA,GAAS5rH,QACPkjD,EAAAA,GAAAA,MAACy9C,GAAK,CAACtG,SAAO,EAACC,UAAQ,EAACE,OAAK,EAAA5tD,SAAA,EAC3B1B,EAAAA,GAAAA,KAAA,SAAA0B,UACAsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,OACJ1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,wBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,uBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,sBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,sBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,mBACP4jC,EAAAA,GAAAA,KAAA,MAAA0B,SAAKtlC,EAAE,wBAGT4jC,EAAAA,GAAAA,KAAA,SAAA0B,SAES,OAAPg/E,SAAO,IAAPA,QAAO,EAAPA,GAASz9G,KAAI,SAAAyyF,GAAS,IAADC,EAAAwX,EAAAC,EAAAxX,EACnB,OAAO59C,EAAAA,GAAAA,MAAA,MAAwB/lC,MAAO,CAACgwC,cAAe,UAAUvgB,SAAA,EAC9D1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAKg0D,EAAK7gG,KACVmjD,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAKg0D,EAAKhD,OAAUgD,EAAKn4C,MAAQ,GAAKnhD,EAAE,mBAAsBs5F,EAAKh+F,KAAK,IAAEg+F,EAAKn4C,UAC/Evd,EAAAA,GAAAA,KAAA,MAAA0B,UACE1B,EAAAA,GAAAA,KAAC0vD,GAAK,CAACjiC,GAAIioC,EAAK3/B,QAAW2/B,EAAKJ,MAAQ,UAAY,UAAa,YAAY5zD,SAC1Eg0D,EAAK3/B,QAAW2/B,EAAKJ,MAAQl5F,EAAE,eAAiBA,EAAE,eAAkBA,EAAE,oBAG3E47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACGg0D,EAAKx7B,SAAqB,QAAfy7B,EAAID,EAAKx7B,cAAM,IAAAy7B,OAAA,EAAXA,EAAa1nF,OAAO,gBAAc+xB,EAAAA,GAAAA,KAAA,SACjD01D,EAAKx7B,SAAqB,QAAfizC,EAAIzX,EAAKx7B,cAAM,IAAAizC,OAAA,EAAXA,EAAal/F,OAAO,iBAEtC+pC,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CACiB,QADjB0rE,EACG1X,EAAKryE,iBAAS,IAAA+pF,OAAA,EAAdA,EAAgB11G,MAAKsoC,EAAAA,GAAAA,KAAA,UACtBA,EAAAA,GAAAA,KAACghF,GAAoB,CAACtrB,KAAMA,EAAKryE,gBAEnC2c,EAAAA,GAAAA,KAAA,MAAA0B,SAAS,OAAJg0D,QAAI,IAAJA,OAAI,EAAJA,EAAMyqB,cACXngF,EAAAA,GAAAA,KAAA,MAAA0B,SAAe,QAAfk0D,EAAKF,EAAKJ,aAAK,IAAAM,OAAA,EAAVA,EAAY58F,QAjBH08F,EAAK5qE,kBAuBzB,GAEG,OAAP41F,SAAO,IAAPA,IAAAA,GAAS5rH,OAA0B,GAAjBsH,EAAE,sBAOhC,SAAS6kH,GAAc1+F,GAA0B,IAAxBqnF,EAAKrnF,EAALqnF,MAAO2D,EAAahrF,EAAbgrF,cACvBnxG,EAAKo8C,KAALp8C,EACP,OACE47C,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAACuoE,GAAS,CAAA7mE,SACPkoE,EAAM3mG,KAAI,SAAC4M,EAAGxP,GACb,OAAO23C,EAAAA,GAAAA,MAACuwD,GAAAA,KAAc,CAAA7mE,SAAA,CACnB7xB,EAAEnY,KAAK,SACRsoC,EAAAA,GAAAA,KAACghF,GAAoB,CAACtrB,KAAM7lF,IAAI,SAChCmwB,EAAAA,GAAAA,KAACkhF,GAAmB,CAACxrB,KAAM7lF,IAAI,SAC/BmwB,EAAAA,GAAAA,KAACmhF,GAAmB,CAACzrB,KAAM7lF,MAJDxP,WASlC2/B,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACF1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAASslE,EAAc7rE,SAAEtlC,EAAE,6BAM3E,SAAS0kH,GAAqBj+F,GAA+B,IAA7Bs9F,EAAUt9F,EAAVs9F,WAAYY,EAAal+F,EAAbk+F,cACnC3kH,EAAKo8C,KAALp8C,EAEP,OAAO4jC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACLsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,qBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBACjB47C,EAAAA,GAAAA,MAAC8H,GAAAA,OAAW,CAACp6C,aAAcy6G,EAAYp+D,SAAU,SAAC9iD,GAAC,OAAK8hH,EAAc9hH,EAAEtK,OAAO0B,QAAOqrC,SAAA,EACpFsW,EAAAA,GAAAA,MAAA,UAAQ3hD,MAAM,GAAEqrC,SAAA,CAAC,KAAGtlC,EAAE,mBAAmB,SACzC4jC,EAAAA,GAAAA,KAAA,UAAQ3pC,MAAM,SAAQqrC,SAAEtlC,EAAE,2BAMlC,SAAS4wG,GAAiB/rF,GAA2C,IAAzC6J,EAAQ7J,EAAR6J,SAAU81F,EAAW3/F,EAAX2/F,YAAaC,EAAc5/F,EAAd4/F,eAC1CzkH,EAAKo8C,KAALp8C,EAEP,OAAQ4jC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACNsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,uBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,yBACjB4jC,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAACohF,GAAoB,CAACt2F,SAAUA,EAAU81F,YAAaA,EAAaC,eAAgBA,WAM5F,SAASO,GAAoB9nD,GAA2C,IAAzCxuC,EAAQwuC,EAARxuC,SAAU81F,EAAWtnD,EAAXsnD,YAAaC,EAAcvnD,EAAdunD,eAC7CzkH,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBACkFmzD,EAAAngF,GAAhErT,EAAAA,SAA0B,OAAX2lG,QAAW,IAAXA,GAAAA,EAAa9rH,OAAS8rH,EAAY,GAAGjsH,OAAS,IAAG,GAA/Fu5G,EAAWO,EAAA,GAAEN,EAAcM,EAAA,GACgB4Q,EAAA/wF,GAAhBrT,EAAAA,WAAgB,GAA3Ci6E,EAASmqB,EAAA,GAAElqB,EAAYkqB,EAAA,GAExBhR,EAAiBpzF,EAAAA,YAAiB4gC,GAAA0F,KAAAA,MAAC,SAAAC,IAAA,IAAA8sD,EAAA5yG,EAAA,OAAA6lD,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,UAClCkvF,EAAY,CAADzsD,EAAAziC,KAAA,eAAAyiC,EAAAgpD,OAAA,SAAS1yD,MAAM37C,EAAE,uBAAqB,OACiC,GAAjFkyG,EAASJ,EAAYhrE,WAAW,YAAcgrE,EAAYhrE,WAAW,YACtEgrE,EAAYhrE,WAAW,YAAegrE,EAAYhrE,WAAW,WAAcgrE,EAAYhrE,WAAW,YAAeorE,EAAM,CAAA7sD,EAAAziC,KAAA,eAAAyiC,EAAAgpD,OAAA,SAAS1yD,MAAM37C,EAAE,uBAAqB,YAC9JkyG,GAAUJ,EAAYxxG,QAAQ,QAAU,GAAKwxG,EAAYxxG,QAAQ,SAAW,GAAC,CAAA+kD,EAAAziC,KAAA,eAAAyiC,EAAAgpD,OAAA,SAAS1yD,MAAM37C,EAAE,uBAAqB,OAEpG,OAAnB+4F,GAAa,GAAM1zC,EAAAC,KAAA,EAAAD,EAAAziC,KAAA,GAEC,IAAInjB,SAAQ,SAACC,EAASC,GACtC+hC,GAAAA,KAAW,yCAA0C,CACnD3V,IAAK+lF,GACJ,CACD3jF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNI,EAAQJ,MACP2pB,MAAMtpB,MACR,KAAD,GARO,OAAHL,EAAG+lD,EAAAipD,KAAAjpD,EAAAziC,KAAA,GAUH,IAAInjB,SAAQ,SAACC,EAASC,GAC1BzC,QAAQN,IAAI,GAAD2B,OAAIyB,EAAE,qBAAoB,UAAAzB,OAAIgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACjE,IAAMgxG,EAAY7yG,EAAI6B,KAAKA,KACrBqsG,EAAQ,CAAC,CAAClyG,KAAM62G,EAAU72G,KAAMktB,KAAM,EAAGijF,KAAM0G,EAAU1G,KAAMlzG,OAAQ45G,EAAU55G,OAAQoE,KAAM,WACrG+kC,GAAAA,KAAW,qCAAsC,CAC/ChT,SAAAA,EAAU8+E,MAAAA,GACT,CACDr/E,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,GAAD2B,OAAIyB,EAAE,qBAAoB,UAAAzB,OAAIgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACjEsjH,EAAenlH,EAAI6B,KAAKA,KAAKqsG,OAC7B9tG,OACCupB,MAAMtpB,MACR,KAAD,GAAA0lD,EAAAziC,KAAA,iBAAAyiC,EAAAC,KAAA,GAAAD,EAAAmpD,GAAAnpD,EAAA,SAEFpG,EAAWoG,EAAAmpD,IAAI,QAEK,OAFLnpD,EAAAC,KAAA,GAEfyzC,GAAa,GAAO1zC,EAAAjqC,OAAA,6BAAAiqC,EAAAE,UAAAH,EAAA,yBAErB,CAACplD,EAAG8xG,EAAa7yD,EAAavwB,EAAU+1F,EAAgB1rB,IAE3D,OAAQn1D,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACNsW,EAAAA,GAAAA,MAAC8H,GAAAA,QAAY,CAAClgB,GAAG,MAAK8B,SAAA,GACP,OAAXk/E,QAAW,IAAXA,GAAAA,EAAa9rH,UAAUkrC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACvBsW,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACF1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAC/mD,KAAK,OAAO2M,aAAcwoG,EAAapsD,YAAa1lD,EAAE,qBAAsB2lD,SAAU,SAAA9iD,GAAC,OAAIkvG,EAAelvG,EAAEtK,OAAO0B,aAEnI2pC,EAAAA,GAAAA,KAACoe,GAAG,CAAC2lC,GAAG,OAAMriD,UACZ1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUlJ,SAAU8nD,EAAWjtD,QAASomE,EAAe3sE,SAAEtlC,EAAE,2BAIrE,OAAXwkH,QAAW,IAAXA,OAAW,EAAXA,EAAa9rH,UAAUkrC,EAAAA,GAAAA,KAACihF,GAAc,CAACrX,MAAOgX,EAAarT,cAAe,SAACtuG,GAAC,OAAK4hH,EAAe,cAKvG,SAASG,GAAoBjS,GAAU,IAADI,EAAAC,EAC9Bv/F,EAD2Bk/F,EAAJrZ,KAE7B,OAAM,OAAD7lF,QAAC,IAADA,GAAAA,EAAG5B,QACD+pC,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CACQ,YAAX,OAAD7xB,QAAC,IAADA,OAAC,EAADA,EAAG9W,QACFi/C,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,YAECl2B,QAAQ,OAADqE,QAAC,IAADA,OAAC,EAADA,EAAG+U,MAAK,KAAK,MAAMwjF,QAAQ,GAAG,UACrC58F,OAAQ,OAADqE,QAAC,IAADA,GAAS,QAARs/F,EAADt/F,EAAG5B,cAAM,IAAAkhG,OAAR,EAADA,EAAW57D,UAAU60D,QAAQ,GAAG,YAG/B,YAAX,OAADv4F,QAAC,IAADA,OAAC,EAADA,EAAG9W,QACFinC,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAE,gBAIHl2B,QAAQ,OAADqE,QAAC,IAADA,GAAS,QAARu/F,EAADv/F,EAAG5B,cAAM,IAAAmhG,OAAR,EAADA,EAAWC,UAAS,KAAMjH,QAAQ,GAAG,WAdxBpoE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAkBzB,SAASsnE,GAAmBhS,GAAU,IAADK,EAAAC,EAAAC,EAAAC,EAC7B7/F,EAD0Bq/F,EAAJxZ,KAE5B,OAAM,OAAD7lF,QAAC,IAADA,GAAAA,EAAG8/F,OACD33D,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,SAAQ,OAAD7xB,QAAC,IAADA,GAAQ,QAAP0/F,EAAD1/F,EAAG8/F,aAAK,IAAAJ,OAAP,EAADA,EAAUK,WAAW,IAAG,OAAD//F,QAAC,IAADA,GAAQ,QAAP2/F,EAAD3/F,EAAG8/F,aAAK,IAAAH,OAAP,EAADA,EAAUK,QAAQ,IAAG,OAADhgG,QAAC,IAADA,GAAQ,QAAP4/F,EAAD5/F,EAAG8/F,aAAK,IAAAF,OAAP,EAADA,EAAU7sD,MAAM,IAAG,OAAD/yC,QAAC,IAADA,GAAQ,QAAP6/F,EAAD7/F,EAAG8/F,aAAK,IAAAD,OAAP,EAADA,EAAU/sD,OAAO,QADxE3iB,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAE,YAI1B,SAASy/E,GAAmB7R,GAAU,IAADS,EAAAC,EAAAC,EAC7BpgG,EAD0By/F,EAAJ5Z,KAE5B,OAAM,OAAD7lF,QAAC,IAADA,GAAAA,EAAGqgG,OACDl4D,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,SAAQ,OAAD7xB,QAAC,IAADA,GAAQ,QAAPkgG,EAADlgG,EAAGqgG,aAAK,IAAAH,OAAP,EAADA,EAAUH,WAAW,IAAG,OAAD//F,QAAC,IAADA,GAAQ,QAAPmgG,EAADngG,EAAGqgG,aAAK,IAAAF,OAAP,EAADA,EAAUG,YAAY,MAAK,OAADtgG,QAAC,IAADA,GAAQ,QAAPogG,EAADpgG,EAAGqgG,aAAK,IAAAD,OAAP,EAADA,EAAUG,SAAS,UAD9DpwE,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAE,YCzeX,SAAS2/E,KACtB,IAAO53E,EAAiCnb,GAAjB+a,KAAiB,GAArB,GAC6CyQ,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAzDqmG,EAAgBxnE,EAAA,GAAEynE,EAAmBznE,EAAA,GACtC13C,EAAWq+E,KAQjB,OANAxlE,EAAAA,WAAgB,WACd,IAAMumG,EAAM/3E,EAAap0B,IAAI,QAAU,YACvC/b,QAAQN,IAAI,uFAAD2B,OAAwF6mH,EAAG,+BACtGD,EAAoBC,KACnB,CAAC/3E,EAAcrnC,KAGhB49B,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,SACb4/E,IAAoBthF,EAAAA,GAAAA,KAACyhF,GAAY,CAAMH,iBAAAA,MAK/C,SAASG,GAAYphG,GAAsB,IAApBihG,EAAgBjhG,EAAhBihG,iBAC6CpmE,EAAA5sB,GAAhCrT,EAAAA,SAAeqmG,GAAiB,GAA3DI,EAASxmE,EAAA,GAAEymE,EAAYzmE,EAAA,GACxBq4D,EAAkBlqE,KAAkB,GACnCjtC,EAAKo8C,KAALp8C,EACDivF,EpDqDO,WACb,IAAoDvxC,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAA7CwwE,EAAU3xC,EAAA,GAAE8nE,EAAa9nE,EAAA,GAC6CoB,EAAA5sB,GAAjCrT,EAAAA,SAAe2B,MAAkB,GAAtEilG,EAAc3mE,EAAA,GAAE4mE,EAAiB5mE,EAAA,GACkB6F,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAnD0wE,EAAa5qC,EAAA,GAAEghE,EAAgBhhE,EAAA,GACoBixC,EAAA1jE,GAAhBrT,EAAAA,WAAgB,GAAnDkxE,EAAa6F,EAAA,GAAEgwB,EAAgBhwB,EAAA,GACcG,EAAA7jE,GAAhBrT,EAAAA,WAAgB,GAA7CmxE,EAAU+F,EAAA,GAAE8vB,EAAa9vB,EAAA,GACYG,EAAAhkE,GAAhBrT,EAAAA,WAAgB,GAArCywE,EAAM4G,EAAA,GAAE4vB,EAAS5vB,EAAA,GACsBG,EAAAnkE,GAAhBrT,EAAAA,WAAgB,GAAvC4wE,EAAO4G,EAAA,GAAE0vB,EAAU1vB,EAAA,GACkBI,EAAAvkE,GAAhBrT,EAAAA,WAAgB,GAArC6wE,EAAM+G,EAAA,GAAEuvB,EAASvvB,EAAA,GACkCG,EAAA1kE,GAAhBrT,EAAAA,WAAgB,GAAnDoxE,EAAa2G,EAAA,GAAEqvB,EAAgBrvB,EAAA,GACYG,EAAA7kE,GAAhBrT,EAAAA,WAAgB,GAA3C+wE,EAASmH,EAAA,GAAEmvB,EAAYnvB,EAAA,GACoBG,EAAAhlE,GAAhBrT,EAAAA,WAAgB,GAA3CgxE,EAASqH,EAAA,GAAEivB,EAAYjvB,EAAA,GACoBG,EAAAnlE,GAAhBrT,EAAAA,WAAgB,GAA3CuwE,EAASiI,EAAA,GAAE+uB,EAAY/uB,EAAA,GACoBG,EAAAtlE,GAAhBrT,EAAAA,WAAgB,GAA3C2wE,EAASgI,EAAA,GAAE6uB,EAAY7uB,EAAA,GACoBG,EAAAzlE,GAAhBrT,EAAAA,WAAgB,GAA3C8wE,EAASgI,EAAA,GAAE2uB,EAAY3uB,EAAA,GAC0BG,EAAA5lE,GAAhBrT,EAAAA,WAAgB,GAAjDixE,EAAYgI,EAAA,GAAEyuB,EAAezuB,EAAA,GACUG,EAAA/lE,GAAhBrT,EAAAA,WAAgB,GAAvCsxE,EAAO8H,EAAA,GAAEuuB,EAAUvuB,EAAA,GACoBG,EAAAlmE,GAAhBrT,EAAAA,WAAgB,GAAvCuxE,EAAOgI,EAAA,GAAEquB,EAAUruB,EAAA,GAE4CG,EAAArmE,GAAhBrT,EAAAA,WAAgB,GAA/D+zE,EAAmB2F,EAAA,GAAEmuB,GAAsBnuB,EAAA,GACkBG,GAAAxmE,GAAhBrT,EAAAA,WAAgB,GAA7Dg0E,GAAkB6F,GAAA,GAAEiuB,GAAqBjuB,GAAA,GACoBG,GAAA3mE,GAAhBrT,EAAAA,WAAgB,GAA7Di0E,GAAkB+F,GAAA,GAAE+tB,GAAqB/tB,GAAA,GAGDqX,GAAAh+E,GAArBrT,EAAAA,UAAe,GAAM,GAAxC89B,GAAKuzD,GAAA,GAAE2W,GAAQ3W,GAAA,GAE4BG,GAAAn+E,GAApBrT,EAAAA,UAAe,GAAK,GAA3CioG,GAAOzW,GAAA,GAAE0W,GAAU1W,GAAA,GACkBG,GAAAt+E,GAAhBrT,EAAAA,WAAgB,GAArCgzE,GAAM2e,GAAA,GAAEoJ,GAASpJ,GAAA,GACjBxwG,GAAKo8C,KAALp8C,EACDi/C,IAAcC,EAAAA,GAAAA,mBACdnwB,GAAMlQ,EAAAA,WAAiBwoE,IAAe,GAEtC6I,GAAmBrxE,EAAAA,aAAkB,WACzC,IAAMvjB,EAAO+V,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,GAAG0D,MAAM,IAAI8H,KAAI,SAAAhE,GAC9D,OAAQA,GAAK,KAAOA,GAAK,IAAOrB,OAAOwlH,aAAa,IAAIpgG,WAAW,GAAMnR,SAAyB,GAAhBpE,KAAKqX,SAAgB7lB,GAAK,IAAOA,KAClHU,KAAK,IACRid,GAAgBllB,GAChBoqH,EAAkBpqH,GAClBqgD,MAAM37C,GAAE,0BACP,CAACA,GAAG0lH,IAoEP,OAlEA7mG,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,uCAAwC,GAChD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAMuyF,EAASvyF,EAAI6B,KAAKA,KACxBy4G,GAAU/nB,GACV30F,QAAQN,IAAI,4BAAD2B,OAA6BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC/D8nB,MAAMg2B,IAAawG,SAAQ,WAC5BshE,IAAW,QAEZ,CAAC9nE,GAAa26D,GAAWmN,KAE5BloG,EAAAA,WAAgB,WAEd,IAAIioG,GAAJ,CAEA,IAAM73B,EAAO0C,GAAU,QAADpzF,OAASknH,GAAkB5zB,GAAQ9iE,IAIvDy2F,EAAcv2B,EAAKI,YACnBs2B,EAAiB12B,EAAKM,eAKtBq2B,EAAiB32B,EAAKc,eACtB81B,EAAc52B,EAAKe,YAKnBk2B,EAAaj3B,EAAKW,WAClBu2B,EAAal3B,EAAKY,WAKlBi2B,EAAU72B,EAAKK,QACfy2B,EAAW92B,EAAKQ,SAChBu2B,EAAU/2B,EAAKS,QACfu2B,EAAiBh3B,EAAKgB,eAEtBm2B,EAAan3B,EAAKG,WAClBi3B,EAAap3B,EAAKO,WAClB82B,EAAar3B,EAAKU,WAKlB42B,EAAgBt3B,EAAKa,cACrB02B,EAAWv3B,EAAKkB,SAChBs2B,EAAWx3B,EAAKmB,SAKhBs2B,GAAuBz3B,EAAK2D,qBAC5B+zB,GAAsB13B,EAAK4D,oBAC3B+zB,GAAsB33B,EAAK6D,oBAG7B+zB,IAAS,MACR,CAACC,GAASj1B,GAAQ4zB,EAAgB12F,GAAK83F,KAEnC,CACLlqE,MAAAA,GAEA0yC,WAAAA,EACAo2B,eAAAA,EACAl2B,cAAAA,EACAsC,OAAAA,GAEA9B,cAAAA,EACAC,WAAAA,EACAV,OAAAA,EACAG,QAAAA,EACAC,OAAAA,EACAO,cAAAA,EAEAL,UAAAA,EACAC,UAAAA,EACAT,UAAAA,EACAI,UAAAA,EACAG,UAAAA,EACAG,aAAAA,EACAK,QAAAA,EACAC,QAAAA,EAEAwC,oBAAAA,EACAC,mBAAAA,GACAC,mBAAAA,GAEA5C,iBAAAA,IoD5LW+2B,GAEPC,EAAcroG,EAAAA,aAAkB,SAACje,GACrCu2G,EAAgB,CAAC,IAAOv2G,IACxB2kH,EAAa3kH,KACZ,CAACu2G,EAAiBoO,IAErB,OACE3pE,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACdsW,EAAAA,GAAAA,MAAC6sC,GAAI,CAACM,iBAAkBu8B,EAAW54F,GAAG,OAAOgX,UAAU,OAAO+tB,SAAU,SAAC7wD,GAAC,OAAKsmH,EAAYtmH,IAAG0kC,SAAA,EAC5F1B,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,YAAY/G,MAAOn/C,EAAE,sBAAsBslC,SACxC,cAAdggF,IAA6B1hF,EAAAA,GAAAA,KAAC61D,GAAiB,OAElD71D,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,OAAO/G,MAAOn/C,EAAE,iBAAiBslC,SAC9B,SAAdggF,IAAwB1hF,EAAAA,GAAAA,KAACorD,GAAmB,CAAMC,KAAAA,OAErDrrD,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,SAAS/G,MAAOn/C,EAAE,mBAAmBslC,SAClC,WAAdggF,IAA0B1hF,EAAAA,GAAAA,KAACq7E,GAAgB,OAE9Cr7E,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,UAAU/G,MAAOn/C,EAAE,oBAAoBslC,SACpC,YAAdggF,IAA2B1hF,EAAAA,GAAAA,KAAC4vD,GAAe,OAE9C5vD,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,SAAS/G,MAAOn/C,EAAE,mBAAmBslC,SAClC,WAAdggF,IAA0B1hF,EAAAA,GAAAA,KAACwlE,GAAc,OAE5CxlE,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,QAAQ/G,MAAOn/C,EAAE,kBAAkBslC,SAChC,UAAdggF,IAAyB1hF,EAAAA,GAAAA,KAAC6rE,GAAa,OAE1C7rE,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,SAAS/G,MAAOn/C,EAAE,mBAAmBslC,SAClC,WAAdggF,IAA0B1hF,EAAAA,GAAAA,KAAC8/E,GAAc,OAE5C9/E,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,YAAY/G,MAAOn/C,EAAE,sBAAsBslC,SACxC,cAAdggF,IAA6B1hF,EAAAA,GAAAA,KAACs0E,GAAiB,CAAMjpB,KAAAA,OAExDrrD,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,aAAa/G,MAAOn/C,EAAE,oBAAoBslC,SACvC,eAAdggF,IAA8B1hF,EAAAA,GAAAA,KAACy3E,GAAkB,OAEpDz3E,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,SAAS/G,MAAOn/C,EAAE,mBAAmBslC,SAClC,WAAdggF,IAA0B1hF,EAAAA,GAAAA,KAACqzE,GAAgB,CAAMhoB,KAAAA,cCtE/C,SAASk4B,KACtB,OACEvjF,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAACwjF,GAAW,MAKlB,SAASA,KACP,IAAO/5E,EAAiCnb,GAAjB+a,KAAiB,GAArB,GAC6CyQ,EAAAxrB,GAAhBrT,EAAAA,WAAgB,GAAzDqmG,EAAgBxnE,EAAA,GAAEynE,EAAmBznE,EAAA,GAQ5C,OANA7+B,EAAAA,WAAgB,WACd,IAAMumG,EAAM/3E,EAAap0B,IAAI,QAAU,OACvC/b,QAAQN,IAAI,+DAAD2B,OAAgE6mH,EAAG,+BAC9ED,EAAoBC,KACnB,CAAC/3E,KAEIzJ,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAEJ4/E,IACAthF,EAAAA,GAAAA,KAACyjF,GAAa,CAACnC,iBAAkBA,MAKvC,SAASmC,GAAapjG,GAAsB,IAApBihG,EAAgBjhG,EAAhBihG,iBAC4CpmE,EAAA5sB,GAAhCrT,EAAAA,SAAeqmG,GAAiB,GAA3DI,EAASxmE,EAAA,GAAEymE,EAAYzmE,EAAA,GACxBq4D,EAAkBlqE,KAAkB,GACnCjtC,EAAKo8C,KAALp8C,EAEDknH,EAAcroG,EAAAA,aAAkB,SAACje,GACrCu2G,EAAgB,CAAC,IAAOv2G,IACxB2kH,EAAa3kH,KACZ,CAACu2G,IAEEjoB,EAAkBrwE,EAAAA,aAAkB,SAAChc,EAAGue,GAC5Cve,EAAE0pC,iBAEFprB,GAAeC,GAAM4H,MAAK,WACxB2yB,MAAM37C,EAAE,qBACPipB,OAAM,SAACnR,GACR6jC,MAAM,GAADp9C,OAAIyB,EAAE,mBAAkB,KAAAzB,OAAIuZ,SAElC,CAAC9X,IAEJ,OACE47C,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAAA,SACAA,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACdsW,EAAAA,GAAAA,MAAC6sC,GAAI,CAACM,iBAAkBu8B,EAAW54F,GAAG,2BAA2BgX,UAAU,OAAO+tB,SAAU,SAAC7wD,GAAC,OAAKsmH,EAAYtmH,IAAG0kC,SAAA,EAChH1B,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,OAAO/G,MAAOn/C,EAAE,oBAAoBslC,UAChD1B,EAAAA,GAAAA,KAAC0jF,GAAW,OAEd1jF,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,QAAQ/G,MAAM,QAAO7Z,UACjC1B,EAAAA,GAAAA,KAAC2jF,GAAY,OAEf3jF,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,MAAM/G,MAAM,MAAK7Z,UAC7B1B,EAAAA,GAAAA,KAAC4jF,GAAyB,OAE5B5jF,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,QAAQ/G,MAAOn/C,EAAE,sBAAsBslC,UACnD1B,EAAAA,GAAAA,KAAC6jF,GAAY,OAEf7jF,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,SAAS/G,MAAOn/C,EAAE,sBAAsBslC,UACpD1B,EAAAA,GAAAA,KAAC8jF,GAAa,OAEhB9jF,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,WAAW/G,MAAOn/C,EAAE,wBAAwBslC,UACxD1B,EAAAA,GAAAA,KAAC+jF,GAAe,OAElB/jF,EAAAA,GAAAA,KAACkmD,GAAG,CAAC5jC,SAAS,MAAM/G,MAAM,UAAS7Z,UACjC1B,EAAAA,GAAAA,KAACgkF,GAAc,CAAM14B,gBAAAA,cAQjC,SAASs4B,KACP,IAAgD7iE,EAAAzyB,GAAhBrT,EAAAA,WAAgB,GAAzCgpG,EAAQljE,EAAA,GAAEmjE,EAAWnjE,EAAA,GACcixC,EAAA1jE,GAAhBrT,EAAAA,WAAgB,GAAnCkpG,EAAKnyB,EAAA,GAAEoyB,EAAQpyB,EAAA,GAChB32C,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAEP6e,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,iCAAkC,GAC1C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNwoH,GAAuC,IAA3BxoH,EAAI6B,KAAKA,KAAK0mH,UAC1B3qH,QAAQN,IAAI,iCAAD2B,OAAkCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACpE8nB,MAAMg2B,KACR,CAACA,EAAa6oE,IAEjB,IAAMG,EAAoBppG,EAAAA,aAAkB,SAAChc,GAC3CA,EAAE0pC,iBAEF7K,GAAAA,KAAW,kCAAmC,CAC5CmmF,SAAUA,GACT,CACD15F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,oBACPipB,MAAMg2B,KACR,CAACA,EAAa4oE,EAAU7nH,IAE3B6e,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,iCAAkC,GAC1C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN0oH,GAAyC,IAAhC1oH,EAAI6B,KAAKA,KAAK+mH,eACvBhrH,QAAQN,IAAI,mCAAD2B,OAAoCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACtE8nB,MAAMg2B,KACR,CAACA,EAAa+oE,IAEjB,IAAMG,EAActpG,EAAAA,aAAkB,SAAChc,GACrCA,EAAE0pC,iBAEF7K,GAAAA,KAAW,kCAAmC,CAC5CwmF,cAAeH,GACd,CACD55F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,oBACPipB,MAAMg2B,KACR,CAACA,EAAa8oE,EAAO/nH,IAExB,OACE47C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAAC,IAAI,KAAM0B,YAAU,EAAAnlD,SAAA,EAChDsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,6BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACH1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,uBAAsB7a,UAC3D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,wBAAyB4lD,eAAgBiiE,EAAUh8E,QAAS,kBAAMi8E,GAAaD,SAEtHjkF,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKolH,EAAkBplH,IAAGyiC,SAC1EtlC,EAAE,4BAKX47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACH1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,oBAAmB7a,UACxD1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,qBAAsB4lD,eAAgBmiE,EAAOl8E,QAAS,kBAAMm8E,GAAUD,SAE7GnkF,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKslH,EAAYtlH,IAAGyiC,SACpEtlC,EAAE,8BASjB,SAAS4nH,GAAczhG,GAAqB,IAAnB+oE,EAAe/oE,EAAf+oE,gBAC2B6G,EAAA7jE,GAAhBrT,EAAAA,WAAgB,GAA3CupG,EAASryB,EAAA,GAAEsyB,EAAYtyB,EAAA,GACxB92C,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAEP6e,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,kCAAmC,GAC3C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN+oH,EAAa/oH,EAAI6B,KAAKA,MACtBjE,QAAQN,IAAI,+BAAD2B,OAAgCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAClE8nB,MAAMg2B,KACR,CAACA,IAEJ,IAAMqpE,EAAgBzpG,EAAAA,aAAkB,SAAChc,EAAGulH,GAC1Cl5B,EAAgBrsF,EAAGulH,KAClB,CAACl5B,IAEEq5B,EAAQ,UAAAhqH,OACTuD,OAAOmzB,SAASP,SAAQ,MAAAn2B,OAAKuD,OAAOmzB,SAASN,KAAI,iFAAAp2B,OAClB6pH,EAAS,+DAIvCI,EAAU,uBAAAjqH,OAERuD,OAAOmzB,SAASP,SAAQ,MAAAn2B,OAAKuD,OAAOmzB,SAASN,KAAI,2GAAAp2B,OAG5B6pH,EAAS,oJAUtC,OACExsE,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM0B,YAAU,EAAAnlD,SAAA,EAChEsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,oBACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,OAAA0B,SACGtlC,EAAE,sBAEL47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,IAAEtlC,EAAE,kBAAkB,QAC1B47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,IAAEtlC,EAAE,kBAAkB,iBAIhC47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,qBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAC,eACZsW,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,yBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQovG,KAAM,EAAGziG,aAAc8+G,EAAWvmE,UAAU,QAEpFje,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKylH,EAAczlH,EAAGulH,IAAW9iF,SACjFtlC,EAAE,iCAKX47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,+BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACb1B,EAAAA,GAAAA,KAAC6kF,GAAU,CAACL,UAAWA,EAAWM,IAAI,+CAG1C9sE,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,gCACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,OAAA0B,SAAMijF,KACN3kF,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKylH,EAAczlH,EAAG0lH,IAAUjjF,SAChFtlC,EAAE,6BAIT47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,gCACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAA,OAAA0B,SAAMkjF,KACN5kF,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKylH,EAAczlH,EAAG2lH,IAAYljF,SAClFtlC,EAAE,+BAQf,SAAS2nH,KACP,IAAM1oE,GAAcC,EAAAA,GAAAA,mBACwBg3C,EAAAhkE,GAAhBrT,EAAAA,WAAgB,GAArCuK,EAAM8sE,EAAA,GAAEkiB,EAASliB,EAAA,GAC0BG,EAAAnkE,GAAhBrT,EAAAA,WAAgB,GAA3C+zC,EAASyjC,EAAA,GAAEvR,EAAYuR,EAAA,GAmB9B,OAjBAx3E,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,iCAAkC,GAC1C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAM6B,EAAO7B,EAAI6B,KAAKA,KAEtBi3G,EAAUj3G,GACNA,EAAK0gC,IACPijD,EAAa,KAEbA,EAAa,KAEf5nF,QAAQN,IAAI,oBAAD2B,OAAqBgW,KAAKsL,UAAU1e,QAC9C8nB,MAAMg2B,KACR,CAACA,IAEC2T,GACEhvB,EAAAA,GAAAA,KAAC+kF,GAAmB,CACzB/1D,UAAAA,EAAW0lD,eAAsB,OAANlvF,QAAM,IAANA,OAAM,EAANA,EAAQyY,IAAK02E,YAAanvF,KAFhCwa,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAMzB,SAASmrE,GAAmBliG,GAA4C,IAA1CmsC,EAASnsC,EAATmsC,UAAW0lD,EAAc7xF,EAAd6xF,eAAgBC,EAAW9xF,EAAX8xF,YACjD3mB,EAAU,GAAArzF,OAAMuD,OAAOmzB,SAASP,SAAQ,MAAAn2B,OAAKuD,OAAOmzB,SAASN,KAAI,+CACjEsqB,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EACqEy2F,EAAAvkE,GAAhDrT,EAAAA,SAAe05F,EAAYhgH,QAAUq5F,GAAW,GAArEr5F,EAAMk+F,EAAA,GAAEmyB,EAASnyB,EAAA,GACsCG,EAAA1kE,GAAlCrT,EAAAA,SAAe05F,EAAYsQ,QAAO,GAAvDA,EAAMjyB,EAAA,GAAEkyB,EAASlyB,EAAA,GACwCG,EAAA7kE,GAA9BrT,EAAAA,SAAey5F,GAAe,GAAzDyQ,EAAShyB,EAAA,GAAEiyB,EAAYjyB,EAAA,GACUG,EAAAhlE,GAAhBrT,EAAAA,WAAgB,GAAjCm4F,EAAI9f,EAAA,GAAE2iB,EAAO3iB,EAAA,GAEpBr4E,EAAAA,WAAgB,WACd,IAAMq7F,EAAc,WAClBx4E,GAAAA,KAAW,iCAAkC,GAC1C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN,IAAM03G,EAAO13G,EAAI6B,KAAKA,KACd,OAAJ61G,QAAI,IAAJA,GAAAA,EAAMiS,MAAKjS,EAAKiS,IAAM10G,KAAKxJ,MAAMisG,EAAKiS,MAClC,OAAJjS,QAAI,IAAJA,GAAAA,EAAM13G,MAAK03G,EAAK13G,IAAMiV,KAAKxJ,MAAMisG,EAAK13G,MAC1Cu6G,EAAQ7C,GACR95G,QAAQN,IAAI,qBAAD2B,OAAsBgW,KAAKsL,UAAUm3F,QAC/C/tF,MAAMg2B,IAGXi7D,IACA,IAAM11B,EAAQC,aAAY,kBAAMy1B,MAAe,KAC/C,OAAO,kBAAMx1B,cAAcF,MAC1B,CAACvlC,EAAa46D,IAEjB,IAAMqP,EAAmBrqG,EAAAA,aAAkB,SAAChc,GAC1CA,EAAE0pC,iBAEF7K,GAAAA,KAAW,iCAAkC,CAC3CG,MAAOknF,EAAWxwH,OAAAA,EAAQswH,OAAAA,GACzB,CACD16F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACR9C,QAAQN,IAAI,uBAAD2B,OAAwBwqH,EAAS,aAAAxqH,OAAYhG,EAAM,aAAAgG,OAAYsqH,EAAM,eAAAtqH,OAAcgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACrH8nB,MAAMg2B,KACR,CAACA,EAAaj/C,EAAG+oH,EAAWxwH,EAAQswH,IAEvC,OAAOjtE,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAACn2B,GAAY63B,YAAU,EAAAnlD,SAAA,EACzDsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,eACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACbsW,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,eACH4jC,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,YACHsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,IAAEtlC,EAAE,aAAa,QACrB47C,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,IAAEtlC,EAAE,aAAa,iBAI3B47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,iBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,gBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,KAAGtlC,EAAE,kBAChB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQkiB,YAAY,2CAA2Cp8C,aAAc/Q,EAChFotD,SAAU,SAAC9iD,GAAC,OAAK+lH,EAAU/lH,EAAEtK,OAAO0B,cAEpD2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,gBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,KAAGtlC,EAAE,kBAChB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQkiB,YAAY,+CAA+Cp8C,aAAcu/G,EACpFljE,SAAU,SAAC9iD,GAAC,OAAKimH,EAAUjmH,EAAEtK,OAAO0B,cAEpD2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,oBAAmB7a,SAAA,EACxD1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,eACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,KACNtlC,EAAE,aAAa,UAClB4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,cAAc,4BAA6BzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,aAAY,SACnG1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAMx0B,EAAE,cAAc,8BAA+BzH,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAa,YAExG1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWipD,eAAgBmjE,EAAW5nE,MAAOnhD,EAAE,aACpD2lD,SAAU,SAAC9iD,GAAC,OAAKmmH,GAAcD,UAE7CnlF,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKqmH,EAAiBrmH,IAAGyiC,SACzEtlC,EAAE,oCAKX47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,cACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAACo8D,GAAK,CAACC,IAAK,EAAE3yE,SAAA,EACZ1B,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAAC0vD,GAAK,CAACjiC,GAAI03D,EAAY,UAAY,YAAYzjF,SAChCtlC,EAAZ+oH,EAAc,YAAiB,oBAGpCnlF,EAAAA,GAAAA,KAAA,OAAA0B,SAAMtlC,EAAE,eACR47C,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CAAMtlC,EAAE,aAAa,KAAGzH,MACxBqjD,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,UAAU,KACb4jC,EAAAA,GAAAA,KAAA,OAAA0B,UAAU,OAAJ0xE,QAAI,IAAJA,OAAI,EAAJA,EAAMiS,MAAO10G,KAAKsL,UAAUm3F,EAAKiS,IAAK,KAAM,SAEpDrtE,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,UAAU,KACb4jC,EAAAA,GAAAA,KAAA,OAAA0B,UAAU,OAAJ0xE,QAAI,IAAJA,OAAI,EAAJA,EAAM13G,MAAOiV,KAAKsL,UAAUm3F,EAAK13G,IAAK,KAAM,mBAQ9D,SAASooH,KACP,IAAMzoE,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EACiDq3F,EAAAnlE,GAAhBrT,EAAAA,WAAgB,GAAjDsqG,EAAY9xB,EAAA,GAAE+xB,EAAe/xB,EAAA,GAC0BG,EAAAtlE,GAAhBrT,EAAAA,WAAgB,GAAvDwqG,EAAe7xB,EAAA,GAAE8xB,EAAkB9xB,EAAA,GAE1C34E,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,kCAAmC,GAC3C,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAADymF,EAAAwjC,EACI,QAAjBxjC,EAAIzmF,EAAI6B,KAAKA,YAAI,IAAA4kF,GAAbA,EAAeyjC,OAAOJ,EAAgB9pH,EAAI6B,KAAKA,KAAKqoH,OACvC,QAAjBD,EAAIjqH,EAAI6B,KAAKA,YAAI,IAAAooH,GAAbA,EAAeE,QAAQH,EAAmBhqH,EAAI6B,KAAKA,KAAKsoH,QAC5DvsH,QAAQN,IAAI,iBAAD2B,OAAkBgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACpD8nB,MAAMg2B,KACR,CAACA,EAAamqE,EAAiBE,IAElC,IAAMI,EAAe7qG,EAAAA,aAAkB,SAAChc,GACtCA,EAAE0pC,iBAEF7K,GAAAA,KAAW,mCAAoC,CAC7C8nF,MAAO/zG,SAAS0zG,GAAeM,OAAQh0G,SAAS4zG,IAC/C,CACDl7F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,oBACPipB,MAAMg2B,KACR,CAACA,EAAakqE,EAAcE,EAAiBrpH,IAEhD,OACE4jC,EAAAA,GAAAA,KAACknD,GAAS,CAAC/B,iBAAkB,CAAC,KAAM0B,YAAU,EAAAnlD,UAC5CsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,2BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,2BACf4jC,EAAAA,GAAAA,KAAC8f,GAAAA,KAAS,CAAApe,SAAC,gBACX1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc6/G,EAAcxjE,SAAU,SAAC9iD,GAAC,OAAKumH,EAAgBvmH,EAAEtK,OAAO0B,cAEjG2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,4BACf4jC,EAAAA,GAAAA,KAAC8f,GAAAA,KAAS,CAAApe,SAAC,gBACX1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAc+/G,EAAiB1jE,SAAU,SAAC9iD,GAAC,OAAKymH,EAAmBzmH,EAAEtK,OAAO0B,cAEvG2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAK6mH,EAAa7mH,IAAGyiC,SACrEtlC,EAAE,6BASjB,SAASynH,KACP,IAA0C9vB,EAAAzlE,GAAhBrT,EAAAA,WAAgB,GAAnCkgC,EAAK44C,EAAA,GAAE34C,EAAQ24C,EAAA,GAC4BG,EAAA5lE,GAAhBrT,EAAAA,WAAgB,GAA3C8qG,EAAS7xB,EAAA,GAAE8xB,EAAY9xB,EAAA,GACxB74C,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAEP6e,EAAAA,WAAgB,WACd6iB,GAAAA,IAAU,kCACP1Y,MAAK,SAAA1pB,GACJsqH,EAAatqH,EAAI6B,KAAKA,KAAKg+C,OAC3BH,EAAS1/C,EAAI6B,KAAKA,KAAKi+C,KACvBliD,QAAQN,IAAI,gBAAD2B,OAAiBgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACnD8nB,MAAMg2B,KACV,CAACA,IAGJ,IAAM4qE,EAAchrG,EAAAA,aAAkB,SAAChc,GACrCA,EAAE0pC,iBAEF7K,GAAAA,KAAW,kCAAmC,CAC5Cqd,MAAO,MAAO39B,KAAM29B,GACnB,CACD5wB,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,uBACPipB,MAAMg2B,KACR,CAACA,EAAaF,EAAO/+C,IAGlB8pH,EAAkBjrG,EAAAA,aAAkB,SAAChc,GACzCA,EAAE0pC,iBAEF7K,GAAAA,KAAW,kCAAmC,CAC5Cqd,MAAO,QAAS39B,KAAMuoG,GACrB,CACDx7F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,uBACPipB,MAAMg2B,KACR,CAACA,EAAa0qE,EAAW3pH,IAE5B,OACE47C,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAAC,IAAK,KAAM0B,YAAU,EAAAnlD,SAAA,EACjDsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,2BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,yBACf4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcy1C,EAAO2G,YAAa1lD,EAAE,yBAA0B2lD,SAAU,SAAC9iD,GAAC,OAAKm8C,EAASn8C,EAAEtK,OAAO0B,cAE5H2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKgnH,EAAYhnH,IAAGyiC,SACpEtlC,EAAE,oCAKX47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,2BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,yBACf4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcqgH,EAAWjkE,YAAa1lD,EAAE,yBAA0B2lD,SAAU,SAAC9iD,GAAC,OAAK+mH,EAAa/mH,EAAEtK,OAAO0B,cAEpI2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKinH,EAAgBjnH,IAAGyiC,SACxEtlC,EAAE,sCASjB,SAASsnH,KACP,IAA4CrvB,EAAA/lE,GAAhBrT,EAAAA,WAAgB,GAArCgzE,EAAMoG,EAAA,GAAE2hB,EAAS3hB,EAAA,GAC8BG,EAAAlmE,GAAhBrT,EAAAA,WAAgB,GAA/CkrG,EAAW3xB,EAAA,GAAE4xB,EAAc5xB,EAAA,GACUG,EAAArmE,GAAhBrT,EAAAA,WAAgB,GAArCorG,EAAM1xB,EAAA,GAAE2xB,EAAS3xB,EAAA,GACjBlrD,EAAiCnb,GAAjB+a,KAAiB,GAArB,GACbgS,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAEP6e,EAAAA,WAAgB,WACd,IAAMkrG,EAAmD,SAArC18E,EAAap0B,IAAI,gBACrC/b,QAAQN,IAAI,qCAAD2B,OAAsCwrH,EAAW,iCAC5DC,EAAeD,KACd,CAAC18E,IAEJxuB,EAAAA,WAAgB,WACd6iB,GAAAA,KAAW,uCAAwC,GAChD,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNs6G,EAAUt6G,EAAI6B,KAAKA,KAAKoxF,SACxBr1F,QAAQN,IAAI,4BAAD2B,OAA6BgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WAC/D8nB,MAAMg2B,KACR,CAACA,IAEJ,IAAMkrE,EAAetrG,EAAAA,aAAkB,SAAChc,GACtCA,EAAE0pC,iBAEGslD,EAKLnwD,GAAAA,KAAW,wCAAyC,CAClDmwD,OAAAA,GACC,CACD1jE,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,sBACR9C,QAAQN,IAAI,wBACXqsB,MAAMg2B,GAXPtD,MAAM37C,EAAE,6BAYT,CAACi/C,EAAa4yC,EAAQ7xF,IAEnBoqH,EAAevrG,EAAAA,aAAkB,SAAChc,GACtC6+B,GAAAA,KAAW,yCAA0C,CACnD2oF,YAAaJ,GACZ,CACD97F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,iBACR9C,QAAQN,IAAI,8BAAD2B,OAA+B0rH,OACzChhG,MAAMg2B,KACR,CAACA,EAAaj/C,EAAGiqH,IAEpB,OACEruE,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAAC,KAAM0B,YAAU,EAAAnlD,SAAA,EAC5CsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,yBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,0BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,8BACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcuoF,EAAQlsC,SAAU,SAAC9iD,GAAC,OAAK+2G,EAAU/2G,EAAEtK,OAAO0B,cAErF2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKsnH,EAAatnH,GAAG,IAAMyiC,SAC3EtlC,EAAE,yBACI,gBAId+pH,IAAenmF,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACdsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,2BACrB47C,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAAxlD,SAAA,EACb1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAOyc,UAAU,0BAAyB7a,UAC9D1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAC/mD,KAAK,WAAWwkD,MAAOnhD,EAAE,uBAAwB4lD,eAAgBqkE,EAAQp+E,QAAS,kBAAMq+E,GAAWD,SAEjHrmF,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKunH,EAAavnH,IAAGyiC,SACrEtlC,EAAE,8BASjB,SAASunH,KACP,IAA8C7uB,EAAAxmE,GAAlBrT,EAAAA,SAAe,IAAG,GAAvCuK,EAAMsvE,EAAA,GAAE0f,EAAS1f,EAAA,GAC0BG,EAAA3mE,GAApBrT,EAAAA,UAAe,GAAK,GAA3CioG,EAAOjuB,EAAA,GAAEkuB,EAAUluB,EAAA,GACpB55C,GAAcC,EAAAA,GAAAA,mBAcpB,OAZArgC,EAAAA,WAAgB,WACdkoG,GAAW,GAEXrlF,GAAAA,KAAW,gCAAiC,GACzC,CACDvT,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAADwmF,EAAAwkC,EAAAC,EACbnS,GAAa,OAAH94G,QAAG,IAAHA,GAAS,QAANwmF,EAAHxmF,EAAK6B,YAAI,IAAA2kF,OAAN,EAAHA,EAAW3kF,OAAQ,IAC7BjE,QAAQN,IAAI,2BAAD2B,OAA+B,OAAHe,QAAG,IAAHA,GAAS,QAANgrH,EAAHhrH,EAAK6B,YAAI,IAAAmpH,GAAM,QAANC,EAATD,EAAWnpH,YAAI,IAAAopH,OAAZ,EAAHA,EAAiBC,cACvDvhG,MAAMg2B,GAAawG,QAAQshE,KAC7B,CAAC9nE,EAAa8nE,EAAY3O,IAErB0O,GAAiDljF,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,KAAvC5Z,EAAAA,GAAAA,KAAC6mF,GAAgB,CAACrhG,OAAQA,IAG9C,SAASqhG,GAAgB5lG,GAAY,IAAVuE,EAAMvE,EAANuE,OACuB8mF,EAAAh+E,GAA1BrT,EAAAA,SAAeuK,EAAOnwB,KAAI,GAAzCA,EAAGi3G,EAAA,GAAEwa,EAAMxa,EAAA,GAC8BG,EAAAn+E,GAA1BrT,EAAAA,SAAeuK,EAAOuhG,KAAI,GAAzCA,EAAGta,EAAA,GAAEua,EAAMva,EAAA,GACuCG,EAAAt+E,GAA7BrT,EAAAA,SAAeuK,EAAOoK,QAAO,GAAlDA,EAAMg9E,EAAA,GAAEqa,EAASra,EAAA,GAC+Bc,EAAAp/E,GAArBrT,EAAAA,UAAe,GAAM,GAAhD+lC,EAAS0sD,EAAA,GAAEzsD,EAAYysD,EAAA,GACxBryD,GAAcC,EAAAA,GAAAA,mBACbl/C,EAAKo8C,KAALp8C,EAED8qH,EAAcjsG,EAAAA,SAAc,WAChC,MAAO,qEACN,IAEHA,EAAAA,WAAgB,WACTisG,EAAYvvH,KAAKuG,OAAOmzB,SAASH,YAClCtB,GACJq3F,EAAU/oH,OAAOmzB,SAASH,aACzB,CAACtB,EAAQs3F,EAAaD,IAEzB,IAAME,EAAeh+B,GAAa,CAChCC,SAAUnuE,EAAAA,OAAa,CACrB,CAACsvE,OAAQ,qBAAOzhE,GAAI,kBAEtBugE,OAAQpuE,EAAAA,OAAa,CACnB,CAAC6N,GAAI,oBAIHs+F,EAAYnsG,EAAAA,YAAiB,eAAAq+C,EAAAzd,GAAA0F,KAAAA,MAAC,SAAAC,EAAOviD,GAAC,OAAAsiD,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,OACvB,GAAnB/f,EAAE0pC,iBAEGtzC,GAAQ0xH,EAAG,CAAAtlE,EAAAziC,KAAA,QACiB,OAA/B+4B,MAAM37C,EAAE,uBAAuBqlD,EAAAgpD,OAAA,iBAIjCxpD,GAAa,GAEbnjB,GAAAA,KAAW,yBAA0B,CACnCzoC,IAAAA,EAAK0xH,IAAAA,GACJ,CACDx8F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,mBACR9C,QAAQN,IAAI,qBACXqsB,MAAMg2B,GAAawG,QAAQZ,GAAc,wBAAAQ,EAAAE,UAAAH,OAC7C,gBAAAI,GAAA,OAAA0X,EAAA/gE,MAAA,KAAAE,YAlBkC,GAkBhC,CAAC4iD,EAAahmD,EAAK0xH,EAAK3qH,EAAG6kD,IAExBomE,EAAqBpsG,EAAAA,aAAkB,SAAChc,GAC5CA,EAAE0pC,iBAEF,IAAMxX,EAAOjzB,OAAOmzB,SAASF,KAC7B,OAAIA,GAAiB,OAATA,GAA0B,SAATA,EACpB4mB,MAAM,GAADp9C,OAAIyB,EAAE,2BAA0B,KAAAzB,OAAIw2B,EAAI,MAAAx2B,OAAKuD,OAAOmzB,SAASN,KAAI,MAG1Em2F,EAAYvvH,KAAKuG,OAAOmzB,SAASH,UAIjCtB,EAIAs3F,EAAYvvH,KAAKi4B,GAIlB1xB,OAAOmzB,SAASH,WAAatB,EACxBmoB,MAAM,GAADp9C,OAAIyB,EAAE,2BAA0B,MAAAzB,OAAKuD,OAAOmzB,SAASH,SAAQ,OAAAv2B,OAAMyB,EAAE,4BAA2B,MAAAzB,OAAKi1B,EAAM,OAGzHqxB,GAAa,QAEbnjB,GAAAA,KAAW,iCAAkC,CAC3ClO,OAAAA,GACC,CACDrF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNq8C,MAAM37C,EAAE,uBACR9C,QAAQN,IAAI,gCACXqsB,MAAMg2B,GAAawG,QAAQZ,IAhBrBlJ,MAAM37C,EAAE,8BAJR27C,MAAM37C,EAAE,yBAJR27C,MAAM,GAADp9C,OAAIyB,EAAE,2BAA0B,MAAAzB,OAAKuD,OAAOmzB,SAASH,SAAQ,OAAAv2B,OAAMyB,EAAE,gCAyBlF,CAACi/C,EAAazrB,EAAQxzB,EAAG6kD,EAAcimE,IAEpCp9E,EAAkC,SAAf,OAANtkB,QAAM,IAANA,OAAM,EAANA,EAAQohG,UAAqB,IAAM,IACtD,OACE5uE,EAAAA,GAAAA,MAACkvC,GAAS,CAAC/B,iBAAkB,CAACr7C,GAAa+8C,YAAU,EAAAnlD,SAAA,EACnDsW,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,yBACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,0BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,8BACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAckqB,EAAQmyB,SAAU,SAAC9iD,GAAC,OAAKgoH,EAAUhoH,EAAEtK,OAAO0B,cAErF2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAU4T,EAAW/Y,QAAS,SAAChpC,GAAC,OAAKooH,EAAmBpoH,IAAGyiC,SAChGtlC,EAAE,+BACI,SACT4jC,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAW29B,IAAgB,QAC7DnmE,IAAahhB,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAUrkC,MAAO,CAACgwC,cAAe,qBAIzFjK,EAAAA,GAAAA,MAACkvC,GAAAA,KAAc,CAAC5kC,SAAS,IAAG5gB,SAAA,EAC1B1B,EAAAA,GAAAA,KAACknD,GAAAA,OAAgB,CAAAxlD,SAAEtlC,EAAE,4BACrB4jC,EAAAA,GAAAA,KAACknD,GAAAA,KAAc,CAAAxlD,UACbsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,0BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,8BACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,WAAWuoE,KAAM,EAAGziG,aAAcrQ,EAAK0sD,SAAU,SAAC9iD,GAAC,OAAK6nH,EAAO7nH,EAAEtK,OAAO0B,cAE3F2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,2BACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,+BACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,WAAWuoE,KAAM,EAAGziG,aAAcqhH,EAAKhlE,SAAU,SAAC9iD,GAAC,OAAK+nH,EAAO/nH,EAAEtK,OAAO0B,cAE3F2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAU4T,EAAW/Y,QAAS,SAAChpC,GAAC,OAAKmoH,EAAUnoH,IAAGyiC,SACvFtlC,EAAE,4BACI,SACT4jC,EAAAA,GAAAA,KAAC6qD,GAAe,CAACC,YAAY,EAAMtB,UAAW29B,IAAgB,QAC7DnmE,IAAahhB,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAUrkC,MAAO,CAACgwC,cAAe,uBAQ/F,SAAS4iE,GAAWjwH,GAClB,IAAoDq5G,EAAA3/E,GAAhBrT,EAAAA,WAAgB,GAA7CqsG,EAAUrZ,EAAA,GAAEsZ,EAAatZ,EAAA,GACzB7xG,EAAKo8C,KAALp8C,EACAooH,EAAwB5vH,EAAxB4vH,UAAWM,EAAalwH,EAAbkwH,IAAKvnH,EAAQ3I,EAAR2I,KAEjB0qC,EAAUhtB,EAAAA,aAAkB,SAAChc,GACjCA,EAAE0pC,iBACF4+E,GAAeD,KACd,CAACA,IAEJ,OAAK9C,GASHxsE,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAC,SACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,WAAWuoE,KAAM,EAAGziG,aAAY,QAAA/K,OAAUmqH,GAAO7mE,UAAU,QAE9EjG,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAC,aACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,WAAWuoE,KAAM,EAAGziG,aAAY,yBAAA/K,OAA2B6pH,GAAavmE,UAAU,OAEpG1gD,IACCy6C,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAC,UACZ1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,WAAWuoE,KAAM,EAAGziG,aAAciL,KAAKsL,UAAU1e,EAAM,KAAM,GAAI0gD,UAAU,KAC5Fje,EAAAA,GAAAA,KAAA,cAKJA,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SACxB4lF,IAActnF,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UAAC1B,EAAAA,GAAAA,KAACwnF,GAAahvH,GAAA,GAAK5D,SAEvDorC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASkvC,QAAS,SAAChpC,GAAC,OAAKgpC,EAAQhpC,IAAGyiC,SAChE4lF,EAAa,QAAU,eACjB,YA9BTtvE,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,CACGtlC,EAAE,wBAAuB4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAOtlC,EAAE,uBAkC3C,SAASorH,GAAahZ,GAA0B,IAAxBgW,EAAShW,EAATgW,UAAWM,EAAGtW,EAAHsW,IAAKvnH,EAAIixG,EAAJjxG,KACc6wG,EAAA9/E,GAAhBrT,EAAAA,WAAgB,GAA7CwsG,EAAUrZ,EAAA,GAAEsZ,EAAatZ,EAAA,GAC1B/yD,GAAcC,EAAAA,GAAAA,mBAapB,OAXArgC,EAAAA,WAAgB,WACd6iB,GAAAA,KAAWgnF,EAAKvnH,EAAM,CACpBgtB,QAAS,CACP,cAAgB,UAAD5vB,OAAY6pH,MAE5Bp/F,MAAK,SAAA1pB,GACNgsH,EAAchsH,EAAI6B,MAClBjE,QAAQN,IAAI,oBAAD2B,OAAqBmqH,EAAG,cAAAnqH,OAAagW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACvE8nB,MAAMg2B,KACR,CAACA,EAAampE,EAAWM,EAAKvnH,KAG/By6C,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAC,cACZ1B,EAAAA,GAAAA,KAAA,OAAA0B,SACC/wB,KAAKsL,UAAUwrG,EAAY,KAAM,QC3yBxC,OAZA,SAAyBxoG,EAAI0oG,GAC3B,IAAIC,GAAUj9E,EAAAA,EAAAA,SAAO,IACrB4B,EAAAA,EAAAA,YAAU,WACR,IAAIq7E,EAAQnoH,QAKZ,OAAOwf,IAJL2oG,EAAQnoH,SAAU,IAKnBkoH,IC9BL,GAAehxE,GAAmB,qDCG5BkxE,GAA4B5sG,EAAAA,YAAiB,SAAAoF,EAMhDmf,GAAQ,IAAAG,EAAAtf,EAJTuf,GAAIC,OAAS,IAAAF,EAAG,MAAKA,EACrBF,EAAQpf,EAARof,SACAK,EAASzf,EAATyf,UACGlrC,EAAK+pC,GAAAte,EAAA0f,IAEF+nF,EAAiB7nF,IAAAA,CAAWH,EAAWZ,GAAmBO,EAAU,kBAC1E,OAAoBO,EAAAA,GAAAA,KAAKH,EAASrnC,GAAAA,GAAA,CAChCgnC,IAAKA,GACF5qC,GAAK,IACRkrC,UAAWgoF,QAGfD,GAAa3nF,YAAc,eAC3B,iVCCMC,GAAe,CACnB4nF,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,gBAAiB,GACjBC,mBAAoB,EACpBC,SAAU,IACVvgE,UAAU,EACVwgE,MAAO,QACPC,MAAM,EACNC,OAAO,EACPC,UAAuBzoF,EAAAA,GAAAA,KAAK,OAAQ,CAClC,cAAe,OACfF,UAAW,+BAEb4oF,UAAW,WACXC,UAAuB3oF,EAAAA,GAAAA,KAAK,OAAQ,CAClC,cAAe,OACfF,UAAW,+BAEb8oF,UAAW,QAYb,IAAMC,GAAwB5tG,EAAAA,YAAiB,SAACw8B,EAAmBjY,GACjE,IAAAkY,EAgCIxM,GAAgBuM,EAAmB,CACrCqxE,YAAa,aACbl7D,EAAAlW,EAhCA9X,GAAIC,OAAS,IAAA+tB,EAAG,MAAKA,EACrBnuB,EAAQiY,EAARjY,SACAsoF,EAAKrwE,EAALqwE,MACAC,EAAItwE,EAAJswE,KACAC,EAAQvwE,EAARuwE,SACAC,EAAUxwE,EAAVwwE,WACAC,EAAezwE,EAAfywE,gBACAW,EAAWpxE,EAAXoxE,YACAj7D,EAAQnW,EAARmW,SACAk7D,EAAOrxE,EAAPqxE,QACAC,EAAMtxE,EAANsxE,OACAX,EAAQ3wE,EAAR2wE,SACAvgE,EAAQpQ,EAARoQ,SACAla,EAAS8J,EAAT9J,UACA06E,EAAK5wE,EAAL4wE,MACAruB,EAAWviD,EAAXuiD,YACAC,EAAUxiD,EAAVwiD,WACAquB,EAAI7wE,EAAJ6wE,KACAC,EAAK9wE,EAAL8wE,MACAS,EAAYvxE,EAAZuxE,aACAC,EAAWxxE,EAAXwxE,YACAC,EAAUzxE,EAAVyxE,WACAV,EAAQ/wE,EAAR+wE,SACAC,EAAShxE,EAATgxE,UACAC,EAAQjxE,EAARixE,SACAC,EAASlxE,EAATkxE,UACAtyE,EAAOoB,EAAPpB,QACAxW,EAAS4X,EAAT5X,UACA4B,EAAQgW,EAARhW,SACG9sC,EAAK+pC,GAAA+Y,EAAA3X,IAIJnmC,EAASslC,GAAmBO,EAAU,YACtColB,EAAQxlB,KACR+pF,GAAmBz+E,EAAAA,EAAAA,QAAO,MACkByO,EAAA9qB,IAAhBuc,EAAAA,EAAAA,UAAS,QAAO,GAA3CkxB,EAAS3iB,EAAA,GAAEiwE,EAAYjwE,EAAA,GACakwE,EAAAh7F,IAAfuc,EAAAA,EAAAA,WAAS,GAAM,GAApC0+E,EAAMD,EAAA,GAAEE,EAASF,EAAA,GACyBG,EAAAn7F,IAAfuc,EAAAA,EAAAA,WAAS,GAAM,GAA1C6+E,EAASD,EAAA,GAAEE,EAAYF,EAAA,GACkDG,EAAAt7F,IAA1Buc,EAAAA,EAAAA,UAASi+E,GAAe,GAAE,GAAzEe,EAAmBD,EAAA,GAAEE,EAAsBF,EAAA,GAE7CF,GAAaZ,IAAgBe,IAC5BT,EAAiB3pH,QACnB4pH,EAAaD,EAAiB3pH,SAE9B4pH,GAAcP,GAAe,GAAKe,EAAsB,OAAS,QAG/D9B,GACF4B,GAAa,GAGfG,EAAuBhB,GAAe,KAGxCv8E,EAAAA,EAAAA,YAAU,WACJ68E,EAAiB3pH,UACnB2pH,EAAiB3pH,QAAU,SAG/B,IACIsqH,EADAC,EAAc,EAIlBrxH,GAAQ+oC,GAAU,SAACkb,EAAOv8C,KACtB2pH,EAEE3pH,IAAUyoH,IACZiB,EAAsBntE,EAAMhoD,MAAMyzH,aAGtC,IAAM4B,EAAyBx9E,GAAgBs9E,GACzCroE,GAAOzW,EAAAA,EAAAA,cAAY,SAAA7vC,GACvB,IAAIsuH,EAAJ,CAIA,IAAIQ,EAAkBL,EAAsB,EAE5C,GAAIK,EAAkB,EAAG,CACvB,IAAK3B,EACH,OAGF2B,EAAkBF,EAAc,EAGlCZ,EAAiB3pH,QAAU,OACf,MAAZouD,GAA4BA,EAASq8D,EAAiB9uH,MACrD,CAACsuH,EAAWG,EAAqBh8D,EAAU06D,EAAMyB,IAE9ChrG,GAAOwtB,IAAiB,SAAApxC,GAC5B,IAAIsuH,EAAJ,CAIA,IAAIQ,EAAkBL,EAAsB,EAE5C,GAAIK,GAAmBF,EAAa,CAClC,IAAKzB,EACH,OAGF2B,EAAkB,EAGpBd,EAAiB3pH,QAAU,OACf,MAAZouD,GAA4BA,EAASq8D,EAAiB9uH,OAElD+uH,IAAax/E,EAAAA,EAAAA,WACnB0e,EAAAA,EAAAA,qBAAoB7pB,GAAK,iBAAO,CAC9B2F,QAASglF,GAAW1qH,QACpBiiD,KAAAA,EACA1iC,KAAAA,OAGF,IAAMorG,GAAkB59E,IAAiB,YAClC7uB,SAASinE,QAjIlB,SAAmBz/C,GACjB,IAAKA,IAAYA,EAAQlzB,QAAUkzB,EAAQ4uB,aAAe5uB,EAAQ4uB,WAAW9hD,MAC3E,OAAO,EAGT,IAAMo4G,EAAe14E,iBAAiBxM,GACtC,MAAgC,SAAzBklF,EAAat/B,SAAkD,WAA5Bs/B,EAAax9D,YAA4E,SAAjDlb,iBAAiBxM,EAAQ4uB,YAAYg3B,QA2H7Fu/B,CAAUH,GAAW1qH,WACvColD,EACFnD,IAEA1iC,SAIAurG,GAA+B,SAAdxuD,EAAuB,QAAU,MACxDyuD,IAAgB,WACVzC,IAKO,MAAXgB,GAA2BA,EAAQc,EAAqBU,IAC9C,MAAVvB,GAA0BA,EAAOa,EAAqBU,OACrD,CAACV,IACJ,IAAMY,GAAiB,GAAH9vH,OAAMf,EAAM,UAAAe,OAASohE,GACnC2uD,GAAuB,GAAH/vH,OAAMf,EAAM,UAAAe,OAAS4vH,IACzCh1E,IAActK,EAAAA,EAAAA,cAAY,SAAA+F,GAC9BwD,GAAqBxD,GACV,MAAX+3E,GAA2BA,EAAQc,EAAqBU,MACvD,CAACxB,EAASc,EAAqBU,KAC5B90E,IAAgBxK,EAAAA,EAAAA,cAAY,WAChC0+E,GAAa,GACH,MAAVX,GAA0BA,EAAOa,EAAqBU,MACrD,CAACvB,EAAQa,EAAqBU,KAC3Br8E,IAAgBjD,EAAAA,EAAAA,cAAY,SAAA7vC,GAChC,GAAI0sD,IAAa,kBAAkBnwD,KAAKyD,EAAMzG,OAAOw4C,SACnD,OAAQ/xC,EAAM/F,KACZ,IAAK,YASH,OARA+F,EAAMutC,sBAEFkc,EACF7lC,GAAK5jB,GAELsmD,EAAKtmD,IAKT,IAAK,aASH,OARAA,EAAMutC,sBAEFkc,EACFnD,EAAKtmD,GAEL4jB,GAAK5jB,IASA,MAAbwyC,GAA6BA,EAAUxyC,KACtC,CAAC0sD,EAAUla,EAAW8T,EAAM1iC,GAAM6lC,IAC/Bg1C,IAAkB5uD,EAAAA,EAAAA,cAAY,SAAA7vC,GACpB,UAAVktH,GACFkB,GAAU,GAGG,MAAfvvB,GAA+BA,EAAY7+F,KAC1C,CAACktH,EAAOruB,IACLH,IAAiB7uD,EAAAA,EAAAA,cAAY,SAAA7vC,GACjCouH,GAAU,GACI,MAAdtvB,GAA8BA,EAAW9+F,KACxC,CAAC8+F,IACEywB,IAAiBhgF,EAAAA,EAAAA,QAAO,GACxBigF,IAAiBjgF,EAAAA,EAAAA,QAAO,GACxBkgF,GAAsBnjC,KACtBojC,IAAmB7/E,EAAAA,EAAAA,cAAY,SAAA7vC,GACnCuvH,GAAelrH,QAAUrE,EAAM2vH,QAAQ,GAAGC,QAC1CJ,GAAenrH,QAAU,EAEX,UAAV6oH,GACFkB,GAAU,GAGI,MAAhBP,GAAgCA,EAAa7tH,KAC5C,CAACktH,EAAOW,IACLgC,IAAkBhgF,EAAAA,EAAAA,cAAY,SAAA7vC,GAC9BA,EAAM2vH,SAAW3vH,EAAM2vH,QAAQj2H,OAAS,EAC1C81H,GAAenrH,QAAU,EAEzBmrH,GAAenrH,QAAUrE,EAAM2vH,QAAQ,GAAGC,QAAUL,GAAelrH,QAGtD,MAAfypH,GAA+BA,EAAY9tH,KAC1C,CAAC8tH,IACEgC,IAAiBjgF,EAAAA,EAAAA,cAAY,SAAA7vC,GACjC,GAAIotH,EAAO,CACT,IAAM2C,EAAcP,GAAenrH,QAE/BgO,KAAKC,IAAIy9G,GA1PK,KA2PZA,EAAc,EAChBzpE,EAAKtmD,GAEL4jB,GAAK5jB,IAKG,UAAVktH,GACFuC,GAAoB1+G,KAAI,WACtBq9G,GAAU,KACTnB,QAAY3uH,GAGH,MAAdyvH,GAA8BA,EAAW/tH,KACxC,CAACotH,EAAOF,EAAO5mE,EAAM1iC,GAAM6rG,GAAqBxC,EAAUc,IACvDiC,GAAyB,MAAZ/C,IAAqBkB,IAAWG,EAC7C2B,IAAoB1gF,EAAAA,EAAAA,WAC1B4B,EAAAA,EAAAA,YAAU,WACR,IAAIlsB,EAAMirG,EAEV,GAAKF,GAAL,CAIA,IAAMG,EAAW1mE,EAAQnD,EAAO1iC,GAEhC,OADAqsG,GAAkB5rH,QAAUvB,OAAO2iF,YAAYljE,SAAS6tG,gBAAkBpB,GAAkBmB,EAA0H,OAA/GlrG,EAAmE,OAA3DirG,EAAwBrB,EAAuBxqH,SAAmB6rH,EAAwBjD,GAAoBhoG,OAAO3mB,GAC7N,WAC6B,OAA9B2xH,GAAkB5rH,SACpBqhF,cAAcuqC,GAAkB5rH,aAGnC,CAAC2rH,GAAY1pE,EAAM1iC,GAAMirG,EAAwB5B,EAAU+B,GAAiBvlE,IAC/E,IAAM4mE,IAAoB52E,EAAAA,EAAAA,UAAQ,kBAAMqzE,GAAcrxH,MAAMI,KAAK,CAC/DnC,OAAQk1H,IACP,SAACxjF,EAAGnmC,GAAK,OAAK,SAAAjF,GACH,MAAZyyD,GAA4BA,EAASxtD,EAAOjF,SAC1C,CAAC8sH,EAAY8B,EAAan8D,IAC9B,OAAoB7V,EAAAA,GAAAA,MAAMnY,EAASrnC,GAAAA,GAAA,CACjCgnC,IAAK2qF,IACFv1H,GAAK,IACRg5C,UAAWM,GACX+rD,YAAaJ,GACbK,WAAYJ,GACZmvB,aAAc6B,GACd5B,YAAa+B,GACb9B,WAAY+B,GACZprF,UAAWG,IAAAA,CAAWH,EAAWlmC,EAAQmuH,GAAS,QAASC,GAAQ,GAAJrtH,OAAOf,EAAM,SAAS08C,GAAW,GAAJ37C,OAAOf,EAAM,KAAAe,OAAI27C,IAC7G5U,SAAU,CAACwmF,IAA2BloF,EAAAA,GAAAA,KAAK,MAAO,CAChDF,UAAW,GAAFnlC,OAAKf,EAAM,eACpB8nC,SAAUz+B,GAAIy+B,GAAU,SAAC8E,EAAGnmC,GAAK,OAAkB2/B,EAAAA,GAAAA,KAAK,SAAU,CAChEjnC,KAAM,SACN,iBAAkB,GAElB,aAAiC,MAAnBovH,GAA2BA,EAAgBrzH,OAASqzH,EAAgB9nH,GAAS,SAAH1F,OAAY0F,EAAQ,GAC5Gy/B,UAAWz/B,IAAUwpH,EAAsB,cAAWnwH,EACtDuuC,QAASwjF,GAAoBA,GAAkBprH,QAAS3G,EACxD,eAAgB2G,IAAUwpH,GACzBxpH,SACY2/B,EAAAA,GAAAA,KAAK,MAAO,CAC3BF,UAAW,GAAFnlC,OAAKf,EAAM,UACpB8nC,SAAUz+B,GAAIy+B,GAAU,SAACkb,EAAOv8C,GAC9B,IAAM8oC,EAAW9oC,IAAUwpH,EAC3B,OAAO9B,GAAqB/nF,EAAAA,GAAAA,KAAKiV,GAAmB,CAClDlG,GAAI5F,EACJqH,QAASrH,EAAWoM,QAAc77C,EAClC62C,UAAWpH,EAAWsM,QAAgB/7C,EACtCw3C,eAAgBoD,GAChB5S,SAAU,SAACzb,EAAQ6vB,GAAU,OAAkB76B,EAAAA,aAAmB2hC,EAAKpkD,GAAAA,GAAA,GAAOs9C,GAAU,IACtFhW,UAAWG,IAAAA,CAAW2c,EAAMhoD,MAAMkrC,UAAWqJ,GAAuB,YAAXljB,GAAwBwkG,IAA4B,YAAXxkG,GAAmC,YAAXA,IAAyB,UAAsB,aAAXA,GAAoC,YAAXA,IAAyBykG,UAElMzvG,EAAAA,aAAmB2hC,EAAO,CAC1C9c,UAAWG,IAAAA,CAAW2c,EAAMhoD,MAAMkrC,UAAWqJ,GAAY,iBAG3D8+E,IAAyBjwE,EAAAA,GAAAA,MAAM4B,GAAAA,SAAW,CAC5ClY,SAAU,EAAE6mF,GAAwB,IAAhBO,KAAmC9wE,EAAAA,GAAAA,MAAM/J,GAAQ,CACnEnO,UAAW,GAAFnlC,OAAKf,EAAM,iBACpBquC,QAASyZ,EACThgB,SAAU,CAAC+mF,EAAUC,IAA0B1oF,EAAAA,GAAAA,KAAK,OAAQ,CAC1DF,UAAW,kBACX4B,SAAUgnF,QAETH,GAAQO,IAAgBkB,EAAc,KAAmBhyE,EAAAA,GAAAA,MAAM/J,GAAQ,CAC1EnO,UAAW,GAAFnlC,OAAKf,EAAM,iBACpBquC,QAASjpB,GACT0iB,SAAU,CAACinF,EAAUC,IAA0B5oF,EAAAA,GAAAA,KAAK,OAAQ,CAC1DF,UAAW,kBACX4B,SAAUknF,iBAMpBC,GAAS3oF,YAAc,WACvB2oF,GAAS1oF,aAAeA,GACxB,OAAehrC,OAAOguB,OAAO0lG,GAAU,CACrC6C,QAASC,GACTx7D,KAAM03D,yBCrWO,SAAS+D,KAEtB,MAAoB,OADHnrC,MACUzgD,EAAAA,GAAAA,KAAC6rF,GAAS,KAAM7rF,EAAAA,GAAAA,KAAC8rF,GAAS,IAGvD,SAASD,KACP,OACE7rF,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,UACdsW,EAAAA,GAAAA,MAAC6wE,GAAQ,CAACvyE,QAAQ,OAAO+xE,SAAU,KAAK3mF,SAAA,EACtCsW,EAAAA,GAAAA,MAAC6wE,GAAAA,KAAa,CAAAnnF,SAAA,EACZ1B,EAAAA,GAAAA,KAAA,OACEF,UAAU,gBACVxiB,IAAKyuG,GACLvqC,IAAI,eAENxpC,EAAAA,GAAAA,MAAC6wE,GAAAA,QAAgB,CAAAnnF,SAAA,EACf1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,mDACJsW,EAAAA,GAAAA,MAAA,KAAAtW,SAAA,CAAG,4HACmB1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,+CAA+Cj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,yCAAU,mBAI5HsW,EAAAA,GAAAA,MAAC6wE,GAAAA,KAAa,CAAAnnF,SAAA,EACZ1B,EAAAA,GAAAA,KAAA,OACEF,UAAU,gBACVxiB,IAAK0uG,GACLxqC,IAAI,iCAENxpC,EAAAA,GAAAA,MAAC6wE,GAAAA,QAAgB,CAAAnnF,SAAA,EACf1B,EAAAA,GAAAA,KAAA,MAAA0B,SAAI,yDACJ1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAG,iMAUf,SAASoqF,KACP,OACE9zE,EAAAA,GAAAA,MAACzY,GAAS,CAACG,OAAK,EAAAgC,SAAA,CAAC,6BAEfsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,EACEsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,YAEF1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,gCAAgCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,sCAI3EsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,YAEF1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,iCAAiCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,uCAI5EsW,EAAAA,GAAAA,MAAA,MAAAtW,SAAA,CAAI,WAEF1B,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,qCAAqCj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,gDC/DjF,SAASuqF,KACd,IAAqDnyE,EAAAxrB,GAArBrT,EAAAA,UAAe,GAAM,GAA9CixG,EAAQpyE,EAAA,GAAEqyE,EAAWryE,EAAA,GAE5B,SAASsyE,IACPD,EAAYjuH,OAAO6mD,YAAc,MAUnC,OARA9pC,EAAAA,WAAgB,WAGd,OAFAmxG,IACAluH,OAAOg3B,iBAAiB,SAAUk3F,GAC3B,WACLluH,OAAOm1B,oBAAoB,SAAU+4F,MAEtC,CAACD,IAEGD,ECrBT,SAASxgF,KAA2Q,OAA9PA,GAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAAkB+2C,GAASnzC,MAAMW,KAAMT,WAEhT,SAASkmC,GAAyBjmC,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAAkErD,EAAKR,EAAnEF,EAEzF,SAAuC+D,EAAQ+lC,GAAY,GAAc,MAAV/lC,EAAgB,MAAO,GAAI,IAA2DrD,EAAKR,EAA5DF,EAAS,GAAQ+pC,EAAavpC,OAAO6C,KAAKU,GAAqB,IAAK7D,EAAI,EAAGA,EAAI6pC,EAAW5pC,OAAQD,IAAOQ,EAAMqpC,EAAW7pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,IAAaV,EAAOU,GAAOqD,EAAOrD,IAAQ,OAAOV,EAFxM42C,CAA8B7yC,EAAQ+lC,GAAuB,GAAItpC,OAAO8C,sBAAuB,CAAE,IAAI2mC,EAAmBzpC,OAAO8C,sBAAsBS,GAAS,IAAK7D,EAAI,EAAGA,EAAI+pC,EAAiB9pC,OAAQD,IAAOQ,EAAMupC,EAAiB/pC,GAAQ4pC,EAAS/hC,QAAQrH,IAAQ,GAAkBF,OAAOd,UAAUwqC,qBAAqBtoC,KAAKmC,EAAQrD,KAAgBV,EAAOU,GAAOqD,EAAOrD,IAAU,OAAOV,EAMne,IAAI03H,IAAoB5kE,EAAAA,EAAAA,aAAW,SAAUpnC,EAAMmf,GACjD,IAAI8hD,EAAQjhE,EAAKihE,MACb18D,EAAOvE,EAAKuE,KACZ9L,EAAO6lB,GAAyBte,EAAM,CAAC,QAAS,SAEpD,OAAoBpF,EAAAA,cAAoB,MAAOywB,GAAS,CACtDlM,IAAKA,EACLupD,MAAO,6BACPzZ,QAAS,YACT1sB,MAAOh+B,EACP+9B,OAAQ/9B,EACR4rC,KAAM8wB,GACLxoE,GAAoBmC,EAAAA,cAAoB,OAAQ,CACjDs0D,EAAG,+HACYt0D,EAAAA,cAAoB,OAAQ,CAC3Cs0D,EAAG,0uCAGP88C,GAAK56E,UAAY,CACf6vC,MAAOjrC,KAAAA,OACPzxB,KAAMyxB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE/Cg2E,GAAKlsF,aAAe,CAClBmhD,MAAO,eACP18D,KAAM,OAER,UCzBO,SAAS0nG,GAAoBjsG,GAAiD,IAA/Cs/F,EAAQt/F,EAARs/F,SAAUvD,EAAS/7F,EAAT+7F,UAAW7oF,EAAQlT,EAARkT,SAAU0rF,EAAY5+F,EAAZ4+F,aAC5D7iH,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBACd4wE,EAAWD,KASXM,EAAYtxG,EAAAA,OAAa,MAC0B6+B,EAAAxrB,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuhG,EAAU1iE,EAAA,GAAE2iE,EAAa3iE,EAAA,GACyBoB,EAAA5sB,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuxG,EAAUtxE,EAAA,GAAEuxE,EAAavxE,EAAA,GACyB6F,EAAAzyB,GAArBrT,EAAAA,UAAe,GAAM,GAAlDyxG,EAAU3rE,EAAA,GAAE4rE,EAAa5rE,EAAA,GACyBixC,EAAA1jE,GAArBrT,EAAAA,UAAe,GAAM,GAAlD2xG,EAAU56B,EAAA,GAAE66B,EAAa76B,EAAA,GAGsBG,EAAA7jE,GAApBrT,EAAAA,SAAe,MAAK,GAA/C6xG,EAAS36B,EAAA,GAAE46B,EAAY56B,EAAA,GACkBG,EAAAhkE,GAApBrT,EAAAA,SAAe,MAAK,GAAzC+xG,EAAM16B,EAAA,GAAE26B,EAAS36B,EAAA,GACgCG,EAAAnkE,GAAhBrT,EAAAA,WAAgB,GAAjD6iG,EAAYrrB,EAAA,GAAEsrB,EAAetrB,EAAA,GACkBI,EAAAvkE,GAApBrT,EAAAA,SAAe,MAAK,GAA/CiyG,EAASr6B,EAAA,GAAEs6B,EAAYt6B,EAAA,GACoCG,EAAA1kE,GAApBrT,EAAAA,SAAe,MAAK,GAA3DmyG,EAAep6B,EAAA,GAAEq6B,EAAkBr6B,EAAA,GAEgBG,EAAA7kE,GAApBrT,EAAAA,SAAe,MAAK,GAAnDqyG,EAAWn6B,EAAA,GAAEo6B,EAAcp6B,EAAA,GAEgBG,EAAAhlE,GAApBrT,EAAAA,UAAe,GAAK,GAA3CuyG,EAAOl6B,EAAA,GAAEm6B,EAAUn6B,EAAA,GAC0BG,EAAAnlE,GAAlBrT,EAAAA,SAAe,IAAG,GAA7CyyG,EAASj6B,EAAA,GAAEk6B,EAAYl6B,EAAA,GACuBG,EAAAtlE,GAAjBrT,EAAAA,SAAe,GAAE,GAA9C2yG,EAAUh6B,EAAA,GAAEi6B,EAAaj6B,EAAA,GACoBG,EAAAzlE,GAAlBrT,EAAAA,SAAe,IAAG,GAA7C6yG,EAAS/5B,EAAA,GAAEg6B,EAAYh6B,EAAA,GACkBG,EAAA5lE,GAAlBrT,EAAAA,SAAe,IAAG,GAAzC+yG,EAAO95B,EAAA,GAAE+5B,GAAU/5B,EAAA,GAGpB10D,GAAMvkB,EAAAA,OAAa,CACvB5V,MAAO,EACP6oH,aAAa,EACbC,gBAAiB,KACjBC,YAAa,KACbC,YAAa,KACbC,cAAe,KACfC,YAAa,GACbb,UAAW,GACXI,UAAW,GACXU,SAAU,GACVZ,WAAY,IAGRa,GAAaxzG,EAAAA,OAAa,CAC9BuhG,YAAY,EACZkS,YAAa,EACbC,oBAAoB,EACpBC,aAAc,IAGVC,GAAW5zG,EAAAA,aAAkB,SAAC6zG,GAClC,IAAMC,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,GAAI//B,QAAQiuH,UAAS,GAAA/yH,OAAA2pD,GAAO9kB,GAAI//B,QAAQiuH,WAAS,CAAE,CAAC5kG,GAAIimG,EAAKD,IAAAA,KAC7DnB,EAAanuF,GAAI//B,QAAQiuH,aACxB,CAACC,EAAcnuF,KAEZwvF,GAAW/zG,EAAAA,aAAkB,SAAC0yB,EAAMmhF,EAAKx4E,EAAS24E,GAItD,GAHApB,IAAgBruF,GAAI//B,QAAQmuH,YAGxBpuF,GAAI//B,QAAQquH,UAAUh5H,OAAS,IAAMm6H,EAAa,CACpD,IAAMC,EAAO1vF,GAAI//B,QAAQquH,UAAUtuF,GAAI//B,QAAQquH,UAAUh5H,OAAS,GAClE,GAAIo6H,EAAKvhF,OAASA,EAGhB,OAFAuhF,EAAKJ,IAAG,GAAAn0H,OAAMu0H,EAAKJ,KAAGn0H,OAAGm0H,QACzBf,EAAYzpE,GAAK9kB,GAAI//B,QAAQquH,YAKjC,IAAMiB,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,GAAI//B,QAAQquH,UAAS,GAAAnzH,OAAA2pD,GAAO9kB,GAAI//B,QAAQquH,WAAS,CAAE,CAAChlG,GAAIimG,EAAKphF,KAAAA,EAAMmhF,IAAAA,EAAKx4E,QAAAA,KACxEy3E,EAAavuF,GAAI//B,QAAQquH,aACxB,CAACC,EAAcvuF,GAAKquF,IAEjBsB,GAASl0G,EAAAA,aAAkB,SAACsgC,EAAOuzE,GACvC,IAAMC,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,GAAI//B,QAAQ+uH,SAAQ,GAAA7zH,OAAA2pD,GAAO9kB,GAAI//B,QAAQ+uH,UAAQ,CAAE,CAAC1lG,GAAIimG,EAAKxzE,MAAAA,EAAOuzE,IAAAA,EAAKM,QAAS,IAAIr/F,QACpFk+F,GAAWzuF,GAAI//B,QAAQ+uH,YACtB,CAACP,GAAYzuF,KAEV6vF,GAAep0G,EAAAA,aAAkB,SAACjiB,GACtC,IAAMqH,EAAQm/B,GAAI//B,QAAQ+uH,SAASc,WAAU,SAACj0H,GAAC,OAAKA,EAAEytB,KAAO9vB,EAAI8vB,MACjE0W,GAAI//B,QAAQ+uH,SAASluH,OAAOD,EAAO,GACnC4tH,GAAU3pE,GAAK9kB,GAAI//B,QAAQ+uH,aAC1B,CAACP,GAAYzuF,KAEV+vF,GAAiBt0G,EAAAA,aAAkB,SAACjiB,GACxC,IAAMqH,EAAQm/B,GAAI//B,QAAQiuH,UAAU4B,WAAU,SAACj0H,GAAC,OAAKA,EAAEytB,KAAO9vB,EAAI8vB,MAClE0W,GAAI//B,QAAQiuH,UAAUptH,OAAOD,EAAO,GACpCstH,EAAYrpE,GAAK9kB,GAAI//B,QAAQiuH,cAC5B,CAACC,EAAcnuF,KAGZgwF,GAAcv0G,EAAAA,OAAa,MACjCA,EAAAA,WAAgB,WACTuxG,GAA0B,OAAXgD,SAAW,IAAXA,IAAAA,GAAa/vH,UACjCnG,QAAQN,IAAI,6BAAD2B,OAA8B60H,GAAY/vH,QAAQq8D,aAAY,WAAAnhE,OAAUqzH,EAAQl5H,SAC3F06H,GAAY/vH,QAAQgwH,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAC/D,CAACnD,EAAYgD,GAAaxB,IAG7B/yG,EAAAA,WAAgB,WACd,IAAM20G,EAAM,eAAArtG,EAAAs5B,GAAA0F,KAAAA,MAAG,SAAAuoD,IAAA,IAAAzc,EAAAC,EAAAuiC,EAAA,OAAAtuE,KAAAA,MAAA,SAAA2oD,GAAA,cAAAA,EAAAxoD,KAAAwoD,EAAAlrF,MAAA,OAMwE,GAJ/EquE,EAAoC,cAA7BnvF,OAAOmzB,SAASH,UAAyD,cAA7BhzB,OAAOmzB,SAASH,SACnEo8D,EAAuC,WAA7BpvF,OAAOmzB,SAASP,UAC1B++F,EAAkBxiC,GAAQC,IACbuhC,GAASzyH,EAAE,kBAC9B9C,QAAQN,IAAI,wBAAD2B,OAAyBk1H,EAAe,SAAAl1H,OAAQ0yF,EAAI,YAAA1yF,OAAW2yF,IACrEuiC,EAAgB,CAAD3lB,EAAAlrF,KAAA,eAAAkrF,EAAAO,OAAA,wBAAAP,EAAAlrF,KAAA,EAIZ,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,QAAM,KAAD,KACjD2yH,GAAWhvH,QAAQmvH,aAAa,CAAD1kB,EAAAlrF,KAAA,gBAGxC,IAAInjB,SAAQ,SAAAC,GACVxC,QAAQN,IAAI,kCAEZmF,UAAU2xH,aAAaC,aACrB,CAAC7f,OAAO,IACR9qF,MAAK,SAAC7G,GACNjlB,QAAQN,IAAI,2CACZ,IAAMg3H,EAAW,IAAIC,cAAc1xG,GAE7BgwG,EAAc,GACpByB,EAAS96F,iBAAiB,iBAAiB,SAAArS,GAAa,IAAXtlB,EAAIslB,EAAJtlB,KAC3CgxH,EAAYj2H,KAAKiF,MAEnByyH,EAAS96F,iBAAiB,OAAM2mB,GAAA0F,KAAAA,MAAE,SAAAC,IAAA,OAAAD,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,OAEhC1lB,QAAQN,IAAI,gCAAD2B,OAAiC4zH,EAAYz5H,OAAM,YAAA6F,OAAWq1H,EAAS18G,QAClFiL,EAAO2xG,YAAYv3H,SAAQ,SAAAw3H,GAAK,OAAIA,EAAMxuE,UAC1C9sC,YAAW,WACTvb,QAAQN,IAAI,8BACZ8C,MAtI4B,KAuIM,wBAAA2lD,EAAAE,UAAAH,QAGtCwuE,EAASv6D,QACT5gD,YAAW,WACTm7G,EAASruE,OACTroD,QAAQN,IAAI,wCAAD2B,OAAyCq1H,EAAS18G,UA9IjC,OAgJ7B+R,OAAM,SAAAhsB,GAAK,OAAIw1H,GAAS,GAADl0H,OAAIyB,EAAE,eAAc,MAAAzB,OAAKtB,UAClD+rB,MAAK,WACNqoG,GAAW,MACV,yBAAAvjB,EAAAvoD,UAAAmoD,OACJ,kBA/CW,OAAAvnF,EAAAhqB,MAAA,KAAAE,YAAA,GAgDZm3H,MACC,CAACxzH,EAAGyyH,GAAUpB,EAAYgB,KAG7BxzG,EAAAA,WAAgB,WACVuyG,IAEJl0H,QAAQN,IAAI,6BACZ8kC,GAAAA,KAAW,oCAAqC,CAC9Cm+E,KAAM0D,EAAUvD,UAAAA,GACf,CACD7xF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,gCAAD2B,OAAiCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACpEwvH,EAAarxH,EAAI6B,KAAKA,KAAK6yH,KAC3BnD,EAAUvxH,EAAI6B,KAAKA,KAAKunF,QACxBi5B,EAAgBriH,EAAI6B,KAAKA,KAAKugH,iBAC7Bz4F,MAAMg2B,MACR,CAACA,EAAamyE,EAAS7N,EAAUvD,EAAW2Q,EAAcE,EAAWlP,IAGxE,IAAMsS,GAAgBp1G,EAAAA,YAAiB,eAAAq+C,EAAAzd,GAAA0F,KAAAA,MAAC,SAAA+uE,EAAOC,GAAI,IAAAt1H,EAAA,OAAAsmD,KAAAA,MAAA,SAAAivE,GAAA,cAAAA,EAAA9uE,KAAA8uE,EAAAxxG,MAAA,OACjDmuG,EAAaoD,GAEb9T,GAAc,GACRxhH,EAAW,SAAXA,IACJsxH,EAAU9sH,QAAQ4zB,oBAAoB,QAASp4B,GAE/CwxH,GAAc,GACdhQ,GAAc,GACdgS,GAAWhvH,QAAQmvH,cAAe,EAClCt1H,QAAQN,IAAI,mCAAD2B,OAAoCmyH,KAEjDP,EAAU9sH,QAAQy1B,iBAAiB,QAASj6B,GAE5C3B,QAAQN,IAAI,kCACZy1H,GAAWhvH,QAAQmvH,cAAe,EAClCrC,EAAU9sH,QAAQ6d,IAAG,4CAAA3iB,OAA+C41H,EAAKE,MAAK,SAAA91H,OAAQmyH,GACtFP,EAAU9sH,QAAQixH,OAAOrrG,OAAM,SAAAhsB,GAC7Bw1H,GAAS,GAADl0H,OAAIyB,EAAE,mBAAkB,MAAAzB,OAAKtB,IACrCojH,GAAc,MACb,wBAAA+T,EAAA7uE,UAAA2uE,OACJ,gBAAA1uE,GAAA,OAAA0X,EAAA/gE,MAAA,KAAAE,YArBsC,GAqBpC,CAAC2D,EAAGyyH,GAAU/B,EAAWL,EAAehQ,EAAegS,GAAYtB,IAGtElyG,EAAAA,WAAgB,WACd,IAAM20G,EAAM,eAAAphB,EAAA3yD,GAAA0F,KAAAA,MAAG,SAAAovE,IAAA,OAAApvE,KAAAA,MAAA,SAAAqvE,GAAA,cAAAA,EAAAlvE,KAAAkvE,EAAA5xG,MAAA,UACRwtG,EAAW,CAADoE,EAAA5xG,KAAA,eAAA4xG,EAAAnmB,OAAA,qBACXjrE,GAAI//B,QAAQ4uH,YAAY,CAADuC,EAAA5xG,KAAA,eAAA4xG,EAAAnmB,OAAA,wBAAAmmB,EAAA5xG,KAAA,EAInB,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,QAAM,KAAD,KAClD2yH,GAAWhvH,QAAQmvH,aAAa,CAADgC,EAAA5xG,KAAA,eAEvC1lB,QAAQN,IAAI,oCACZmF,UAAU2xH,aAAaC,aACrB,CAAE7f,OAAO,IACT9qF,MAAK,SAAC7G,GACNihB,GAAI//B,QAAQ4uH,YAAc9vG,EAC1BjlB,QAAQN,IAAI,yCACXqsB,OAAM,SAAAhsB,GAAK,OAAIw1H,GAAS,GAADl0H,OAAIyB,EAAE,eAAc,MAAAzB,OAAKtB,OAAU,wBAAAu3H,EAAAjvE,UAAAgvE,OAC9D,kBAhBW,OAAAniB,EAAAj2G,MAAA,KAAAE,YAAA,GAiBZm3H,MACC,CAACf,GAAUzyH,EAAGowH,EAAYhtF,GAAKivF,KAGlCxzG,EAAAA,WAAgB,WACd,GAAKuxG,EAAL,CACA2C,GAAO,QAAoB/yH,EAAX8vH,EAAa,gBAAqB,mBAElD,IAAMtrC,EAAQC,aAAY,WACVv8B,GAAO9kB,GAAI//B,QAAQ+uH,UACxB71H,SAAQ,SAACK,GACZ,IAAI+2B,KAAS/2B,EAAIo2H,QAAU,KAC7BC,GAAar2H,QAGhB,KACH,OAAO,kBAAM8nF,cAAcF,OAC1B,CAACxkF,EAAGowH,EAAY2C,GAAQjD,EAAU1sF,GAAK6vF,KAG1C,IAAMwB,GAAiB51G,EAAAA,YAAiB4gC,GAAA0F,KAAAA,MAAC,SAAAuvE,IAAA,OAAAvvE,KAAAA,MAAA,SAAAwvE,GAAA,cAAAA,EAAArvE,KAAAqvE,EAAA/xG,MAAA,UAClCwtG,EAAW,CAADuE,EAAA/xG,KAAA,eAAA+xG,EAAAtmB,OAAA,oBACVjrE,GAAI//B,QAAQ4uH,YAAY,CAAD0C,EAAA/xG,KAAA,eAAA+xG,EAAAtmB,OAAA,iBACuC,GAA/DjrE,GAAI//B,QAAQ2uH,aAAap6E,aAAaxU,GAAI//B,QAAQ2uH,cAClD5uF,GAAI//B,QAAQ6uH,cAAc,CAADyC,EAAA/xG,KAAA,eAAA+xG,EAAAtmB,OAAA,qBACzBjrE,GAAI//B,QAAQyuH,YAAY,CAAD6C,EAAA/xG,KAAA,eAAA+xG,EAAAtmB,OAAA,qBACvBgkB,GAAWhvH,QAAQmvH,aAAa,CAADmC,EAAA/xG,KAAA,gBAAA+xG,EAAAtmB,OAAA,kBACnCjrE,GAAI//B,QAAQ0uH,gBAAkB,IAAIp+F,KAClCyP,GAAI//B,QAAQyuH,aAAc,EAC1B1uF,GAAI//B,QAAQ4F,OAAS,EAErB/L,QAAQN,IAAI,iBAKZwmC,GAAI//B,QAAQ6uH,cAAgB,IAAI2B,cAAczwF,GAAI//B,QAAQ4uH,aAC1D7uF,GAAI//B,QAAQ4uH,YAAc,KAG1B7uF,GAAI//B,QAAQ6uH,cAAcp5F,iBAAiB,SAAS,WAClD57B,QAAQN,IAAI,oCACZ6zH,GAAc,MAGhBrtF,GAAI//B,QAAQ6uH,cAAcp5F,iBAAiB,iBAAiB,SAAAg6E,GAAe,IAAZ3xG,EAAI2xG,EAAJ3xG,KAC7DiiC,GAAI//B,QAAQ8uH,YAAYj2H,KAAKiF,GAC7BjE,QAAQN,IAAI,qCAAD2B,OAAsC4C,EAAKqnB,KAAI,cAG5D4a,GAAI//B,QAAQ6uH,cAAc74D,QAC1Bn8D,QAAQN,IAAI,4BAA4B,yBAAA+3H,EAAApvE,UAAAmvE,OACvC,CAACtE,EAAYhtF,GAAKqtF,EAAe4B,KAG9BuC,GAAgB/1G,EAAAA,YAAiB4gC,GAAA0F,KAAAA,MAAC,SAAA0vE,IAAA,IAAAC,EAAAC,EAAA,OAAA5vE,KAAAA,MAAA,SAAA6vE,GAAA,cAAAA,EAAA1vE,KAAA0vE,EAAApyG,MAAA,UACjCwtG,EAAW,CAAD4E,EAAApyG,KAAA,eAAAoyG,EAAA3mB,OAAA,iBAETymB,EAAgB,eAAAphB,EAAAj0D,GAAA0F,KAAAA,MAAG,SAAA8vE,EAAMC,GAAY,IAAAC,EAAAC,EAAA,OAAAjwE,KAAAA,MAAA,SAAAkwE,GAAA,cAAAA,EAAA/vE,KAAA+vE,EAAAzyG,MAAA,cAAAyyG,EAAAzyG,KAAA,EAEf,IAAInjB,SAAQ,SAACC,EAASC,GAC9C+hC,GAAAA,KAAW,2CAA4C,CACrDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,GAC/B,CACDviG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,wCAAD2B,OAAyCe,EAAI6B,KAAKA,KAAKwxH,MAClEjzH,EAAQJ,EAAI6B,KAAKA,KAAKwxH,QACrB1pG,OAAM,SAAChsB,GAAK,OAAK0C,EAAO1C,SAC1B,KAAD,EATe,OAAXk4H,EAAWE,EAAA/mB,KAAA+mB,EAAAzyG,KAAA,EAYa,IAAInjB,SAAQ,SAACC,GACzC,IAAM41H,EAAS,IAAIC,WACnBD,EAAOE,OAAS,WAGd,IAAMC,EAAcH,EAAOvyH,OAAOhE,MAAM,KAAK,GAC7CW,EAAQ+1H,IAGV,IAAMC,EAAY,IAAI9qG,KAAKwY,GAAI//B,QAAQ8uH,aACvCmD,EAAOK,cAAcD,MACpB,KAAD,EAXmB,OAAfN,EAAeC,EAAA/mB,KAAA+mB,EAAAzyG,KAAA,EAcf,IAAInjB,SAAQ,SAACC,EAASC,GAC1BzC,QAAQN,IAAI,kBAAD2B,OAAmB6kC,GAAI//B,QAAQ8uH,YAAYz5H,OAAM,mBAAA6F,OAAkBmyH,EAAS,WAAAnyH,OAAUqyH,IACjGxtF,GAAI//B,QAAQ8uH,YAAc,GAE1BzwF,GAAAA,KAAW,qCAAsC,CAC/Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWiC,IAAKwC,EAAazsC,OAAQkoC,EACrEgF,IAAKV,EAAcphB,MAAOshB,GACzB,CACDjnG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,wBAAD2B,OAAyBe,EAAI6B,KAAKA,KAAKwxH,IAAG,KAAAp0H,OAAIe,EAAI6B,KAAKA,KAAKq9G,MACvE9+G,EAAQJ,EAAI6B,KAAKA,KAAKwxH,KACtBxB,EAAe7xH,EAAI6B,KAAKA,KAAKq9G,QAC5Bv1F,OAAM,SAAChsB,GAAK,OAAK0C,EAAO1C,SAC1B,KAAD,EAGFC,QAAQN,IAAI,mBAAD2B,OAAoB42H,EAAW,0BAAA52H,OAAyB42H,IAAe,OACvE,OAAAE,EAAAzyG,KAAA,GACU,IAAInjB,SAAQ,SAACC,EAASC,GACvC+hC,GAAAA,KAAW,oCAAqC,CAC9Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWiC,IAAKwC,GAC/C,CACDhnG,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAADwmF,EAAAC,EACD,QAAZD,EAAIxmF,EAAI6B,YAAI,IAAA2kF,GAAM,QAANC,EAARD,EAAU3kF,YAAI,IAAA4kF,GAAdA,EAAgB8vC,SAEpBn2H,EAAQJ,EAAI6B,KAAKA,SAChB8nB,OAAM,SAAAhsB,GAAK,OAAI0C,EAAO1C,SACxB,KAAD,GAVQ,IAAAo4H,EAAA/mB,KAYDunB,SAAS,CAADR,EAAAzyG,KAAA,SAC4B,OAA3C1lB,QAAQN,IAAI,+BAA+By4H,EAAAhnB,OAAA,2BAAAgnB,EAAAzyG,KAAA,GAIvC,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,QAAO,KAAD,GAAA21H,EAAAzyG,KAAA,iCAAAyyG,EAAA9vE,UAAA0vE,OAE5D,gBAlEqB1mB,GAAA,OAAAmF,EAAAv3G,MAAA,KAAAE,YAAA,GAoEhB04H,EAAiB,eAAAe,EAAAr2E,GAAA0F,KAAAA,MAAG,SAAA4wE,IAAA,IAAAb,EAAA,OAAA/vE,KAAAA,MAAA,SAAA6wE,GAAA,cAAAA,EAAA1wE,KAAA0wE,EAAApzG,MAAA,UACnBwgB,GAAI//B,QAAQ6uH,cAAc,CAAD8D,EAAApzG,KAAA,eAAAozG,EAAA3nB,OAAA,iBAIiF,OAJjF2nB,EAAA1wE,KAAA,EAGtB4vE,EAAe,IAAIvhG,KAASyP,GAAI//B,QAAQ0uH,gBApVpB,IAqV1B70H,QAAQN,IAAI,qCAAD2B,OAAsC22H,EAAY,cAAA32H,OAAa6kC,GAAI//B,QAAQ6uH,cAAch7G,QAAS8+G,EAAApzG,KAAA,EAEvG,IAAInjB,SAAQ,SAAAC,GAChB0jC,GAAI//B,QAAQ6uH,cAAcp5F,iBAAiB,QAAQ,WAClCsK,GAAI//B,QAAQ6uH,cAAc/vG,OAClC2xG,YAAYv3H,SAAQ,SAAAw3H,GAAK,OAAIA,EAAMxuE,UAC1C9sC,WAAW/Y,EAAS,OAGtBxC,QAAQN,IAAI,gCAAD2B,OAAiC6kC,GAAI//B,QAAQ8uH,YAAYz5H,OAAM,YAAA6F,OAAW6kC,GAAI//B,QAAQ6uH,cAAch7G,QAC/GksB,GAAI//B,QAAQ6uH,cAAc3sE,UACzB,KAAD,EAI8E,GAFhFkrE,GAAc,GACdF,GAAc,GACdrzH,QAAQN,IAAI,kCAAD2B,OAAmC6kC,GAAI//B,QAAQ8uH,YAAYz5H,WAElEw8H,EArWwB,KAqWgB,CAAAc,EAAApzG,KAAA,SAC1C1lB,QAAQF,KAAK,oCACb2+C,MAAM,qCAAqCq6E,EAAApzG,KAAA,wBAAAozG,EAAA1wE,KAAA,GAAA0wE,EAAApzG,KAAA,GAGnCkyG,EAAiBI,GAAc,KAAD,GAAAc,EAAApzG,KAAA,iBAAAozG,EAAA1wE,KAAA,GAAA0wE,EAAAxnB,GAAAwnB,EAAA,UAEpC94H,QAAQF,KAAK,wBAADuB,OAAAy3H,EAAAxnB,KACZtxG,QAAQF,KAAK,6BACb2+C,MAAM,wBAADp9C,OAAAy3H,EAAAxnB,KAA8B,eAAAwnB,EAAApzG,KAAA,GAM/B,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,QAAM,KAAD,MAClD2yH,GAAWhvH,QAAQmvH,aAAa,CAADwD,EAAApzG,KAAA,iBAGvC1lB,QAAQN,IAAI,2CACZ,IAAI6C,SAAQ,SAACC,EAASC,GACpBoC,UAAU2xH,aAAaC,aACrB,CAAE7f,OAAO,IACT9qF,MAAK,SAAC7G,GACNihB,GAAI//B,QAAQ4uH,YAAc9vG,EAC1BjlB,QAAQN,IAAI,4CACZ8C,OACCupB,OAAM,SAAAhsB,GAAK,OAAI0C,EAAO1C,SACxB+4H,EAAApzG,KAAA,iBAAAozG,EAAA1wE,KAAA,GAAA0wE,EAAAvnB,GAAAunB,EAAA,SAEHr6E,MAAKq6E,EAAAvnB,IAAI,QAIuB,OAJvBunB,EAAA1wE,KAAA,GAETirE,GAAc,GACdntF,GAAI//B,QAAQ6uH,cAAgB,KAC5B9uF,GAAI//B,QAAQyuH,aAAc,EAAMkE,EAAA56G,OAAA,6BAAA46G,EAAAzwE,UAAAwwE,EAAA,iCAEnC,kBA1DsB,OAAAD,EAAA35H,MAAA,KAAAE,YAAA,GA4DnB+mC,GAAI//B,QAAQ2uH,aAAap6E,aAAaxU,GAAI//B,QAAQ2uH,aACtD5uF,GAAI//B,QAAQ2uH,YAAcv5G,YAAW,WACnCs8G,MA9Y4B,KA+YF,wBAAAC,EAAAzvE,UAAAsvE,OAC3B,CAACtR,EAAUvD,EAAW0Q,EAAWE,EAAQR,EAAYhtF,GAAKmtF,EAAeE,EAAe4B,GAAYlB,IAGjG8E,GAAWp3G,EAAAA,YAAiB,eAAAq3G,EAAAz2E,GAAA0F,KAAAA,MAAC,SAAAgxE,EAAO/0G,EAAMg1G,GAAU,IAAAjB,EAAA,OAAAhwE,KAAAA,MAAA,SAAAkxE,GAAA,cAAAA,EAAA/wE,KAAA+wE,EAAAzzG,MAAA,UACnDwtG,EAAW,CAADiG,EAAAzzG,KAAA,eAAAyzG,EAAAhoB,OAAA,oBACVjtF,EAAK,CAADi1G,EAAAzzG,KAAA,eAAAyzG,EAAAhoB,OAAA,wBAAAgoB,EAAA/wE,KAAA,EAAA+wE,EAAAzzG,KAAA,EAGmB,IAAInjB,SAAQ,SAACC,EAASC,GAC9C+hC,GAAAA,KAAW,2CAA4C,CACrDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,GAC/B,CACDviG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,wCAAD2B,OAAyCe,EAAI6B,KAAKA,KAAKwxH,MAClEjzH,EAAQJ,EAAI6B,KAAKA,KAAKwxH,QACrB1pG,MAAMg2B,MACR,KAAD,EATe,OAAXk2E,EAAWkB,EAAA/nB,KAAA+nB,EAAAzzG,KAAA,GAWX,IAAInjB,SAAQ,SAACC,EAASC,GAC1B+hC,GAAAA,KAAW,qCAAsC,CAC/Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWiC,IAAKwC,EAAazsC,OAAQkoC,EACrExvG,KAAMA,GACL,CACD+M,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,2BAAD2B,OAA4Be,EAAI6B,KAAKA,KAAKwxH,IAAG,KAAAp0H,OAAIe,EAAI6B,KAAKA,KAAKq9G,MAC1E9+G,EAAQJ,EAAI6B,KAAKA,KAAKwxH,QACrB1pG,MAAMg2B,MACR,KAAD,GAKyB,OALzBo3E,EAAA/wE,KAAA,GAKF8wE,GAAcA,IAAaC,EAAAj7G,OAAA,6BAAAi7G,EAAA9wE,UAAA4wE,EAAA,uBAE9B,gBAAAG,EAAAC,GAAA,OAAAL,EAAA/5H,MAAA,KAAAE,YAjCiC,GAiC/B,CAAC+zH,EAAYnxE,EAAaskE,EAAUvD,EAAW0Q,EAAWE,IAsK7D,OAnKA/xG,EAAAA,WAAgB,WACd,GAAKuxG,GACA1O,EAAL,CAEA,IAAM5vE,EAAgB,SAACjvC,GACrB,IAAIytH,EAAJ,CAEA,IAAMv/E,EAAUluC,EAAEtK,OAAOw4C,QAAQlpC,cACjB,UAAZkpC,GAAmC,aAAZA,IACb,MAAVluC,EAAE5J,KAAyB,OAAV4J,EAAE5J,KAA0B,MAAV4J,EAAE5J,KACzCw7H,QAEIl6B,EAAc,SAAC13F,GACfytH,GACU,MAAVztH,EAAE5J,KAAyB,OAAV4J,EAAE5J,KAA0B,MAAV4J,EAAE5J,KACzC27H,MAKF,OAFA9yH,OAAOg3B,iBAAiB,UAAWgZ,GACnChwC,OAAOg3B,iBAAiB,QAASyhE,GAC1B,WACLz4F,OAAOm1B,oBAAoB,UAAW6a,GACtChwC,OAAOm1B,oBAAoB,QAASsjE,OAErC,CAAC61B,EAAYqE,GAAgBG,GAAetE,EAAY5O,IAG3D7iG,EAAAA,WAAgB,WACT6xG,GACAnN,IAELrmH,QAAQN,IAAI,6BACZ8kC,GAAAA,KAAW,wCAAyC,CAClDm+E,KAAM0D,EAAUvD,UAAAA,GACf,CACD7xF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,iCAAD2B,OAAkCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACrE8vH,EAAmB3xH,EAAI6B,KAAKA,KAAKq1H,SAChCvtG,MAAMg2B,MACR,CAACA,EAAaskE,EAAUvD,EAAWiR,EAAoBP,IAG1D7xG,EAAAA,WAAgB,WACd,GAAKuxG,EAAL,CAEA,IAAMqG,EAAe,eAAAC,EAAAj3E,GAAA0F,KAAAA,MAAG,SAAAwxE,IAAA,IAAAC,EAAAC,EAAAt/G,EAAAqsD,EAAAnrE,EAAA,OAAA0sD,KAAAA,MAAA,SAAA2xE,GAAA,cAAAA,EAAAxxE,KAAAwxE,EAAAl0G,MAAA,UACjBwtG,GAAeM,GAAcM,EAAe,CAAA8F,EAAAl0G,KAAA,eAAAk0G,EAAAzoB,OAAA,qBAC7CgkB,GAAWhvH,QAAQ+8G,WAAW,CAAD0W,EAAAl0G,KAAA,eAAAk0G,EAAAzoB,OAAA,iBACI,OAArCgkB,GAAWhvH,QAAQ+8G,YAAa,EAAK0W,EAAAxxE,KAAA,EAAAwxE,EAAAl0G,KAAA,EAGL,IAAInjB,SAAQ,SAACC,EAASC,GAClD+hC,GAAAA,KAAW,wCAAyC,CAClDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAW8F,KAAMxF,EAAiBtoC,OAAQkoC,GACzE,CACDziG,QAASzO,OACRsJ,MAAK,SAAA1pB,GAINI,EAAQJ,EAAI6B,KAAKA,SAChB8nB,MAAMg2B,MACR,KAAD,EAGiD,GAHjD23E,EAAAE,EAAAxoB,KAXKuoB,EAAID,EAAJC,KAAMt/G,EAAOq/G,EAAPr/G,QAab86G,GAAWhvH,QAAQkvH,mBAAqBh7G,EACxC86G,GAAWhvH,QAAQivH,aAAkB,OAAJuE,QAAI,IAAJA,OAAI,EAAJA,EAAMn+H,SAAU,EACxC,OAAJm+H,QAAI,IAAJA,GAAAA,EAAMn+H,OAAO,CAADo+H,EAAAl0G,KAAA,gBAAAk0G,EAAAzoB,OAAA,kBAAAzqC,EAAAze,KAAAA,MAAA,SAAAye,EAERnrE,GAAC,IAAAi6H,EAAAqE,EAAA,OAAA5xE,KAAAA,MAAA,SAAA6xE,GAAA,cAAAA,EAAA1xE,KAAA0xE,EAAAp0G,MAAA,OACY,GACH,UADX8vG,EAAMmE,EAAKp+H,IACT84C,KAAe,CAAAylF,EAAAp0G,KAAA,QAC+B,OAApDgwG,GAASF,EAAIv7F,UAAY,MAAOu7F,EAAIA,IAAK,WAAWsE,EAAA3oB,OAAA,4BAOtD,GAHM0oB,EAAmBrE,EAAIuE,KAC7BrE,GAASF,EAAIv7F,UAAY,MAAOu7F,EAAIA,IAAK,WAGpCA,EAAIwE,SAAS,CAADF,EAAAp0G,KAAA,SACf1lB,QAAQN,IAAI,mCAAD2B,OAAoCgW,KAAKsL,UAAU6yG,KAAQsE,EAAAp0G,KAAA,wBAAAo0G,EAAAp0G,KAAA,GAGhE,IAAInjB,SAAQ,SAAAC,GAChB,IAAMqsB,EAAG,2CAAAxtB,OAA8CmyH,EAAS,UAAAnyH,OAASyyH,EAAe,UAAAzyH,OAASw4H,EAAgB,UAAAx4H,OAASglH,EAAQ,eAAAhlH,OAAcyhH,GAChJ9iH,QAAQN,IAAI,gBAAD2B,OAAiBwtB,IAO5BokG,EAAU9sH,QAAQy1B,iBAAiB,SALlB,SAAXj6B,IACJsxH,EAAU9sH,QAAQ4zB,oBAAoB,QAASp4B,GAC/C3B,QAAQN,IAAI,eAAD2B,OAAgBwtB,EAAG,WAC9BrsB,OAIFywH,EAAU9sH,QAAQ6d,IAAM6K,EACxBokG,EAAU9sH,QAAQixH,OAAOrrG,OAAM,SAAAhsB,GAC7BC,QAAQN,IAAI,aAAD2B,OAAcwtB,EAAG,aAAAxtB,OAAYtB,IACxCyC,UAED,KAAD,UAAAs3H,EAAAp0G,KAAA,GAIE,IAAInjB,SAAQ,SAACC,EAASC,GAC1B+hC,GAAAA,KAAW,yCAA0C,CACnDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAW8F,KAAMxF,EAAiBiG,KAAMF,GACvE,CACD5oG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,uBAAD2B,OAAwBw4H,IACnCr3H,OACCupB,OAAM,SAAAhsB,GAAK,OAAI0C,EAAO1C,SACxB,KAAD,oBAAA+5H,EAAAzxE,UAAAqe,MA5CKnrE,EAAI,EAAE,KAAD,QAAEA,EAAIo+H,EAAKn+H,QAAM,CAAAo+H,EAAAl0G,KAAA,gBAAAk0G,EAAAK,cAAAvzD,EAAtBnrE,GAAC,iCAAAq+H,EAAAtoB,GAAA,CAAAsoB,EAAAl0G,KAAA,gBAAAk0G,EAAAzoB,OAAA,uBAAuB51G,IAAGq+H,EAAAl0G,KAAA,iBA+CE,OA/CFk0G,EAAAxxE,KAAA,GA+CpC+sE,GAAWhvH,QAAQ+8G,YAAa,EAAM0W,EAAA17G,OAAA,6BAAA07G,EAAAvxE,UAAAoxE,EAAA,uBAEzC,kBAxEoB,OAAAD,EAAAv6H,MAAA,KAAAE,YAAA,GA0EfmoF,EAAQC,YAAWhlC,GAAA0F,KAAAA,MAAC,SAAAiyE,IAAA,OAAAjyE,KAAAA,MAAA,SAAAkyE,GAAA,cAAAA,EAAA/xE,KAAA+xE,EAAAz0G,MAAA,OACxB6zG,IAAkBxtG,MAAMg2B,GAAa,wBAAAo4E,EAAA9xE,UAAA6xE,OACpC,KACH,OAAO,kBAAM1yC,cAAcF,OAC1B,CAAC4rC,EAAYnxE,EAAayxE,EAAWM,EAAiB4B,GAAUP,GAAY9O,EAAUvD,EAAW4Q,IAGpG/xG,EAAAA,WAAgB,WACd,IAAM2lE,EAAQC,YAAWhlC,GAAA0F,KAAAA,MAAC,SAAAmyE,IAAA,OAAAnyE,KAAAA,MAAA,SAAAoyE,GAAA,cAAAA,EAAAjyE,KAAAiyE,EAAA30G,MAAA,WACpByvG,GAAWhvH,QAAQivH,cAAeD,GAAWhvH,QAAQkvH,mBAAkB,CAAAgF,EAAA30G,KAAA,QAOrC,OAN/ByvG,GAAWhvH,QAAQmvH,eACtBt1H,QAAQN,IAAI,+CAAD2B,OAAgDiyH,IACtDA,GACHD,GAAc,IAGlB8B,GAAWhvH,QAAQmvH,aAAe,EAAE+E,EAAAlpB,OAAA,iBAIlCgkB,GAAWhvH,QAAQmvH,eACrBH,GAAWhvH,QAAQmvH,cAAgB,EAC9BH,GAAWhvH,QAAQmvH,eACtBt1H,QAAQN,IAAI,6CAAD2B,OAA8CiyH,IACpDA,GACHD,GAAc,KAGnB,wBAAAgH,EAAAhyE,UAAA+xE,OACA,KACH,OAAO,kBAAM5yC,cAAcF,MAC1B,CAAC6tC,GAAY7B,EAAYD,IAG5B1xG,EAAAA,WAAgB,WACd,IAAM2lE,EAAQC,YAAWhlC,GAAA0F,KAAAA,MAAC,SAAAqyE,IAAA,IAAAC,EAAAxyC,EAAA,OAAA9/B,KAAAA,MAAA,SAAAuyE,GAAA,cAAAA,EAAApyE,KAAAoyE,EAAA90G,MAAA,OAClB60G,GAAK,IAAI9jG,MAAO7I,cAAc/rB,MAAM,KAAK,GAAGA,MAAM,KAAK,GACvDkmF,EAAKotC,GAAWhvH,QACtBnG,QAAQN,IAAI,UAAD2B,OAAWk5H,EAAE,mBAAAl5H,OAAkB0mF,EAAGqtC,YAAW,cAAA/zH,OAAa0mF,EAAGstC,mBAAkB,cAAAh0H,OAAa0mF,EAAGutC,aAAY,iBAAAj0H,OAAgB0mF,EAAGm7B,aAAc,wBAAAsX,EAAAnyE,UAAAiyE,OACtJ,KACH,OAAO,kBAAM9yC,cAAcF,MAC1B,CAAC6tC,KAEAjB,GACKx1E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAAE1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,OAAe,kBAG3EozB,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,OAAA0B,UAAK1B,EAAAA,GAAAA,KAAA,SAAOR,IAAK+sF,EAAWtE,UAAU,EAAMrjC,OAAO,aAClDkoC,IAAcN,GAAaxsF,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UAC1B1B,EAAAA,GAAAA,KAAC+zF,GAAgB,CAAMpU,SAAAA,EAAUvD,UAAAA,EAC/B7oF,SAAAA,EAAU0rF,aAAAA,EAAc6N,UAAAA,EAAWE,OAAAA,EAAQ5/E,SAAUovE,EAAYj/D,MAAOnhD,EAAE,gBAC1E43H,SAAU3D,OACR,GACL7D,IAAeN,GACdl0E,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACF1B,EAAAA,GAAAA,KAACi0F,GAAmB,CAClBvH,WAAAA,EAAYE,WAAAA,EAAYiE,eAAAA,GAAgBG,cAAAA,GAAeqB,SAAAA,GAAU1S,SAAAA,EAAUvD,UAAAA,EAC3E0Q,UAAAA,EAAWI,UAAAA,EAAWpP,aAAAA,EAAcwP,YAAAA,OAGxCttF,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACFsW,EAAAA,GAAAA,MAACk8E,GAAgB,CAAMpG,UAAAA,EAAWF,WAAAA,EAAYjO,SAAAA,EAAUvD,UAAAA,EAAS16E,SAAA,EAC/D1B,EAAAA,GAAAA,KAACm0F,GAAc,CAAMzG,UAAAA,EAAW6B,eAAAA,MAChCvvF,EAAAA,GAAAA,KAACo0F,GAAY,CAAMpG,QAAAA,EAASqB,aAAAA,aAGzB,GACV7C,GAAcN,GACbl0E,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAACq0F,GAAoB,CAAMvG,UAAAA,EAAWF,WAAAA,KACtC5tF,EAAAA,GAAAA,KAACm0F,GAAc,CAAMzG,UAAAA,EAAW6B,eAAAA,MAChCvvF,EAAAA,GAAAA,KAACo0F,GAAY,CAAMpG,QAAAA,EAASqB,aAAAA,MAC5BrvF,EAAAA,GAAAA,KAACi0F,GAAmB,CAClBvH,WAAAA,EAAYE,WAAAA,EAAYiE,eAAAA,GAAgBG,cAAAA,GAAeqB,SAAAA,GAAU1S,SAAAA,EAAUvD,UAAAA,EAC3E0Q,UAAAA,EAAWI,UAAAA,EAAWpP,aAAAA,EAAcwP,YAAAA,OAE/B,IACXttF,EAAAA,GAAAA,KAAA,OAAKR,IAAKgwF,QAKT,SAAS8E,GAAmBC,GAAyB,IAAvB5U,EAAQ4U,EAAR5U,SAAUvD,EAASmY,EAATnY,UACtChgH,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAIdixE,EAAYtxG,EAAAA,OAAa,MAC0Bo5E,EAAA/lE,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuhG,EAAUnoB,EAAA,GAAEooB,EAAapoB,EAAA,GACyBG,EAAAlmE,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuxG,EAAUh4B,EAAA,GAAEi4B,EAAaj4B,EAAA,GAGsBG,EAAArmE,GAApBrT,EAAAA,SAAe,MAAK,GAA/C6xG,EAASn4B,EAAA,GAAEo4B,EAAYp4B,EAAA,GAC0BG,EAAAxmE,GAApBrT,EAAAA,SAAe,MAAK,GAAjDu5G,EAAU1/B,EAAA,GAAE2/B,EAAa3/B,EAAA,GACkCG,EAAA3mE,GAApBrT,EAAAA,SAAe,MAAK,GAA3DmyG,EAAen4B,EAAA,GAAEo4B,EAAkBp4B,EAAA,GAGeqX,EAAAh+E,GAAjBrT,EAAAA,SAAe,GAAE,GAAlDy5G,EAAYpoB,EAAA,GAAEqoB,EAAeroB,EAAA,GACgBG,EAAAn+E,GAAlBrT,EAAAA,SAAe,IAAG,GAA7CyyG,EAASjhB,EAAA,GAAEkhB,EAAYlhB,EAAA,GACuBG,EAAAt+E,GAAjBrT,EAAAA,SAAe,GAAE,GAA9C2yG,EAAUhhB,EAAA,GAAEihB,EAAajhB,EAAA,GACoBc,EAAAp/E,GAAlBrT,EAAAA,SAAe,IAAG,GAA7C6yG,EAASpgB,EAAA,GAAEqgB,EAAYrgB,EAAA,GACkBO,EAAA3/E,GAAlBrT,EAAAA,SAAe,IAAG,GAAzC+yG,EAAO/f,EAAA,GAAEggB,EAAUhgB,EAAA,GAGpBzuE,EAAMvkB,EAAAA,OAAa,CACvB5V,MAAO,EACP6oH,aAAa,EACbC,gBAAiB,KACjBC,YAAa,KACbC,YAAa,KACbC,cAAe,KACfC,YAAa,GACbb,UAAW,GACXI,UAAW,GACXU,SAAU,GACVZ,WAAY,IAGRiB,EAAW5zG,EAAAA,aAAkB,SAAC6zG,GAClC,IAAMC,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,EAAI//B,QAAQiuH,UAAS,GAAA/yH,OAAA2pD,GAAO9kB,EAAI//B,QAAQiuH,WAAS,CAAE,CAAC5kG,GAAIimG,EAAKD,IAAAA,KAC7DnB,EAAanuF,EAAI//B,QAAQiuH,aACxB,CAACC,EAAcnuF,IAEZwvF,EAAW/zG,EAAAA,aAAkB,SAAC0yB,EAAMmhF,EAAKx4E,EAAS24E,GAItD,GAHApB,IAAgBruF,EAAI//B,QAAQmuH,YAGxBpuF,EAAI//B,QAAQquH,UAAUh5H,OAAS,IAAMm6H,EAAa,CACpD,IAAMC,EAAO1vF,EAAI//B,QAAQquH,UAAUtuF,EAAI//B,QAAQquH,UAAUh5H,OAAS,GAClE,GAAIo6H,EAAKvhF,OAASA,EAGhB,OAFAuhF,EAAKJ,IAAG,GAAAn0H,OAAMu0H,EAAKJ,KAAGn0H,OAAGm0H,QACzBf,EAAYzpE,GAAK9kB,EAAI//B,QAAQquH,YAKjC,IAAMiB,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,EAAI//B,QAAQquH,UAAS,GAAAnzH,OAAA2pD,GAAO9kB,EAAI//B,QAAQquH,WAAS,CAAE,CAAChlG,GAAIimG,EAAKphF,KAAAA,EAAMmhF,IAAAA,EAAKx4E,QAAAA,KACxEy3E,EAAavuF,EAAI//B,QAAQquH,aACxB,CAACC,EAAcvuF,EAAKquF,IAEjBsB,EAASl0G,EAAAA,aAAkB,SAACsgC,EAAOuzE,GACvC,IAAMC,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,EAAI//B,QAAQ+uH,SAAQ,GAAA7zH,OAAA2pD,GAAO9kB,EAAI//B,QAAQ+uH,UAAQ,CAAE,CAAC1lG,GAAIimG,EAAKxzE,MAAAA,EAAOuzE,IAAAA,EAAKM,QAAS,IAAIr/F,QACpFk+F,EAAWzuF,EAAI//B,QAAQ+uH,YACtB,CAACP,EAAYzuF,IAEV6vF,EAAep0G,EAAAA,aAAkB,SAACjiB,GACtC,IAAMqH,EAAQm/B,EAAI//B,QAAQ+uH,SAASc,WAAU,SAACj0H,GAAC,OAAKA,EAAEytB,KAAO9vB,EAAI8vB,MACjE0W,EAAI//B,QAAQ+uH,SAASluH,OAAOD,EAAO,GACnC4tH,EAAU3pE,GAAK9kB,EAAI//B,QAAQ+uH,aAC1B,CAACP,EAAYzuF,IAEV+vF,EAAiBt0G,EAAAA,aAAkB,SAACjiB,GACxC,IAAMqH,EAAQm/B,EAAI//B,QAAQiuH,UAAU4B,WAAU,SAACj0H,GAAC,OAAKA,EAAEytB,KAAO9vB,EAAI8vB,MAClE0W,EAAI//B,QAAQiuH,UAAUptH,OAAOD,EAAO,GACpCstH,EAAYrpE,GAAK9kB,EAAI//B,QAAQiuH,cAC5B,CAACC,EAAcnuF,IAGZgwF,EAAcv0G,EAAAA,OAAa,MACjCA,EAAAA,WAAgB,WACTuxG,GAA0B,OAAXgD,QAAW,IAAXA,GAAAA,EAAa/vH,UACjCnG,QAAQN,IAAI,6BAAD2B,OAA8B60H,EAAY/vH,QAAQq8D,aAAY,WAAAnhE,OAAUqzH,EAAQl5H,SAC3F06H,EAAY/vH,QAAQgwH,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAC/D,CAACnD,EAAYgD,EAAaxB,IAG7B/yG,EAAAA,WAAgB,WACT0kG,IAELrmH,QAAQN,IAAI,6BACZ8kC,GAAAA,KAAW,wCAAyC,CAClDm+E,KAAM0D,EAAUvD,UAAAA,GACf,CACD7xF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,iCAAD2B,OAAkCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACrEwvH,EAAarxH,EAAI6B,KAAKA,KAAK6yH,KAC3B/C,EAAmB3xH,EAAI6B,KAAKA,KAAKq1H,MACjC6B,EAAc/4H,EAAI6B,KAAKA,KAAKkzH,UAC3BprG,MAAMg2B,MACR,CAACA,EAAaskE,EAAUvD,EAAWiR,EAAoBoH,EAAe1H,IAGzE9xG,EAAAA,WAAgB,WACd,GAAK6xG,GAAc0H,EAAnB,CASAjI,EAAU9sH,QAAQy1B,iBAAiB,SAPlB,SAAXj6B,IACJsxH,EAAU9sH,QAAQ4zB,oBAAoB,QAASp4B,GAE/C05H,EAAgB,GAChBlI,GAAc,GACdnzH,QAAQN,IAAI,mCAAD2B,OAAoCmyH,OAIjDP,EAAU9sH,QAAQ6d,IAAG,4CAAA3iB,OAA+C65H,EAAU,SAAA75H,OAAQmyH,GACtFP,EAAU9sH,QAAQixH,OAAOrrG,OAAM,SAAChsB,GAC9Bs7H,GAAiB,SAElB,CAACv4H,EAAGyyH,EAAU/B,EAAW0H,EAAYG,IAGxC,IAAMtE,EAAgBp1G,EAAAA,aAAkB,WACtCwhG,GAAc,GASd8P,EAAU9sH,QAAQy1B,iBAAiB,SAPlB,SAAXj6B,IACJsxH,EAAU9sH,QAAQ4zB,oBAAoB,QAASp4B,GAE/CwxH,GAAc,GACdhQ,GAAc,GACdnjH,QAAQN,IAAI,mCAAD2B,OAAoCmyH,OAIjDP,EAAU9sH,QAAQ6d,IAAG,4CAAA3iB,OAA+C65H,EAAU,SAAA75H,OAAQmyH,GACtFP,EAAU9sH,QAAQixH,OAAOrrG,OAAM,SAAAhsB,GAC7Bw1H,EAAS,GAADl0H,OAAIyB,EAAE,mBAAkB,MAAAzB,OAAKtB,IACrCojH,GAAc,QAEf,CAACrgH,EAAGyyH,EAAU/B,EAAW0H,EAAY/H,EAAehQ,IAGvDxhG,EAAAA,WAAgB,WACd,GAAKuxG,EAAL,CACA2C,EAAO,QAAS/yH,EAAE,mBAElB,IAAMwkF,EAAQC,aAAY,WACVv8B,GAAO9kB,EAAI//B,QAAQ+uH,UACxB71H,SAAQ,SAACK,GACZ,IAAI+2B,KAAS/2B,EAAIo2H,QAAU,KAC7BC,EAAar2H,QAGhB,KACH,OAAO,kBAAM8nF,cAAcF,OAC1B,CAACxkF,EAAGowH,EAAY2C,GA1JF,EA0JoB3vF,EAAK6vF,IAG1C,IAAMZ,EAAaxzG,EAAAA,OAAa,CAC9BuhG,YAAY,IA8Ed,OA3EAvhG,EAAAA,WAAgB,WACd,GAAKuxG,EAAL,CAEA,IAAMqG,EAAe,eAAA+B,EAAA/4E,GAAA0F,KAAAA,MAAG,SAAAszE,IAAA,IAAA5B,EAAA6B,EAAAjgI,EAAAkgI,EAAA,OAAAxzE,KAAAA,MAAA,SAAAyzE,GAAA,cAAAA,EAAAtzE,KAAAszE,EAAAh2G,MAAA,UACjBwtG,GAAeM,GAAcM,EAAe,CAAA4H,EAAAh2G,KAAA,eAAAg2G,EAAAvqB,OAAA,qBAC7CgkB,EAAWhvH,QAAQ+8G,WAAW,CAADwY,EAAAh2G,KAAA,eAAAg2G,EAAAvqB,OAAA,iBACI,OAArCgkB,EAAWhvH,QAAQ+8G,YAAa,EAAKwY,EAAAtzE,KAAA,EAAAszE,EAAAh2G,KAAA,EAGhB,IAAInjB,SAAQ,SAACC,EAASC,GACvC+hC,GAAAA,KAAW,wCAAyC,CAClDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAW8F,KAAMxF,GAChD,CACD7iG,QAASzO,OACRsJ,MAAK,SAAA1pB,GAINI,EAAQJ,EAAI6B,KAAKA,KAAK01H,SACrB5tG,MAAMg2B,MACR,KAAD,EAXQ,GAaD,QAbH43E,EAAI+B,EAAAtqB,YAaD,IAAJuoB,GAAAA,EAAMn+H,OAAO,CAADkgI,EAAAh2G,KAAA,gBAAAg2G,EAAAvqB,OAAA,kBAAAqqB,EAAAvzE,KAAAA,MAAA,SAAAuzE,EACRjgI,GAAC,IAAAi6H,EAAAqE,EAAA,OAAA5xE,KAAAA,MAAA,SAAA0zE,GAAA,cAAAA,EAAAvzE,KAAAuzE,EAAAj2G,MAAA,OACY,GACH,UADX8vG,EAAMmE,EAAKp+H,IACT84C,KAAe,CAAAsnF,EAAAj2G,KAAA,QACsB,OAA3CgwG,EAASF,EAAIv7F,SAAUu7F,EAAIA,IAAK,WAAWmG,EAAAxqB,OAAA,UAAAppG,OAAA,WAO7C,OAHM8xH,EAAmBrE,EAAIuE,KAC7BrE,EAASF,EAAIv7F,SAAUu7F,EAAIA,IAAK,WAEhCmG,EAAAj2G,KAAA,EACM,IAAInjB,SAAQ,SAAAC,GAChB,IAAMqsB,EAAG,2CAAAxtB,OAA8CmyH,EAAS,UAAAnyH,OAASyyH,EAAe,UAAAzyH,OAASw4H,EAAgB,UAAAx4H,OAASglH,EAAQ,eAAAhlH,OAAcyhH,GAChJ9iH,QAAQN,IAAI,gBAAD2B,OAAiBwtB,IAO5BokG,EAAU9sH,QAAQy1B,iBAAiB,SALlB,SAAXj6B,IACJsxH,EAAU9sH,QAAQ4zB,oBAAoB,QAASp4B,GAC/C3B,QAAQN,IAAI,eAAD2B,OAAgBwtB,EAAG,WAC9BrsB,OAIFywH,EAAU9sH,QAAQ6d,IAAM6K,EACxBokG,EAAU9sH,QAAQixH,OAAOrrG,OAAM,SAAAhsB,GAC7BC,QAAQN,IAAI,aAAD2B,OAAcwtB,EAAG,aAAAxtB,OAAYtB,IACxCyC,UAED,KAAD,SAAAm5H,EAAAj2G,KAAA,GAGI,IAAInjB,SAAQ,SAACC,EAASC,GAC1B+hC,GAAAA,KAAW,yCAA0C,CACnDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAW8F,KAAMxF,EAAiBiG,KAAMF,GACvE,CACD5oG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,uBAAD2B,OAAwBw4H,IACnCr3H,OACCupB,OAAM,SAAAhsB,GAAK,OAAI0C,EAAO1C,SACxB,KAAD,oBAAA47H,EAAAtzE,UAAAmzE,MAvCKjgI,EAAI,EAAE,KAAD,QAAEA,EAAIo+H,EAAKn+H,QAAM,CAAAkgI,EAAAh2G,KAAA,gBAAAg2G,EAAAzB,cAAAuB,EAAtBjgI,GAAC,sCAAAkgI,EAAAC,EAAApqB,IAAA,CAAAoqB,EAAAh2G,KAAA,gBAAAg2G,EAAAvqB,OAAA,SAAAsqB,EAAA1zH,GAAA,QAAuBxM,IAAGmgI,EAAAh2G,KAAA,iBA0CE,OA1CFg2G,EAAAtzE,KAAA,GA0CpC+sE,EAAWhvH,QAAQ+8G,YAAa,EAAMwY,EAAAx9G,OAAA,6BAAAw9G,EAAArzE,UAAAkzE,EAAA,uBAEzC,kBAhEoB,OAAAD,EAAAr8H,MAAA,KAAAE,YAAA,GAkEfmoF,EAAQC,YAAWhlC,GAAA0F,KAAAA,MAAC,SAAA2zE,IAAA,OAAA3zE,KAAAA,MAAA,SAAA4zE,GAAA,cAAAA,EAAAzzE,KAAAyzE,EAAAn2G,MAAA,OACxB6zG,IAAkBxtG,MAAMg2B,GAAa,wBAAA85E,EAAAxzE,UAAAuzE,OACpC,KACH,OAAO,kBAAMp0C,cAAcF,OAC1B,CAAC4rC,EAAYnxE,EAAayxE,EAAWM,EAAiB4B,EAAUP,EAAY9O,EAAUvD,KAGrFpkE,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACqB,IAAlBgzF,GACC10F,EAAAA,GAAAA,KAAC6N,GAAM,CAACT,SAAUovE,EAAYlmE,QAAQ,UAAUv9C,KAAK,SAASkvC,QAASooF,EAAc3uF,SAClFtlC,EAAE,kBACO,IACd4jC,EAAAA,GAAAA,KAAA,OAAA0B,UAAK1B,EAAAA,GAAAA,KAAA,SAAOR,IAAK+sF,EAAWtE,UAAU,EAAMrjC,OAAO,cACnD5kD,EAAAA,GAAAA,KAACm0F,GAAc,CAAMzG,UAAAA,EAAW6B,eAAAA,KAChCvvF,EAAAA,GAAAA,KAACo0F,GAAY,CAAMpG,QAAAA,EAASqB,aAAAA,KAC5BrvF,EAAAA,GAAAA,KAACo1F,GAAsB,CAAMtH,UAAAA,EAAWF,WAAAA,KACxC5tF,EAAAA,GAAAA,KAAA,OAAKR,IAAKgwF,OAKlB,SAASuE,GAAgBsB,GAAyG,IAAvG1V,EAAQ0V,EAAR1V,SAAUvD,EAASiZ,EAATjZ,UAAW7oF,EAAQ8hG,EAAR9hG,SAAU0rF,EAAYoW,EAAZpW,aAAc6N,EAASuI,EAATvI,UAAWE,EAAMqI,EAANrI,OAAQ5/E,EAAQioF,EAARjoF,SAAUmQ,EAAK83E,EAAL93E,MAAOy2E,EAAQqB,EAARrB,SAAUsB,EAAQD,EAARC,SAC9Gj6E,GAAcC,EAAAA,GAAAA,mBAC8B8yD,EAAA9/E,GAApBrT,EAAAA,UAAe,GAAK,GAA3CioG,EAAO9U,EAAA,GAAE+U,EAAU/U,EAAA,GACkBK,EAAAngF,GAApBrT,EAAAA,SAAe,MAAK,GAArCs1G,EAAI9hB,EAAA,GAAE8mB,EAAO9mB,EAAA,GAqBpB,OAnBAxzF,EAAAA,WAAgB,WACT+xG,GAELlvF,GAAAA,KAAW,mCAAoC,CAC7Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWhoC,OAAQkoC,GAClD,CACDziG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNynH,GAAW,GACX,IAAM5mB,EAAI7gG,EAAI6B,KAAKA,KACnBg4H,EAAO/8H,GAAAA,GAAC,GACH+jG,GAAC,IAAEzX,OAAQkoC,EACdz5F,SAAUA,GAAYgpE,EAAEhpE,SACxBnxB,SAAU68G,GAAgB1iB,EAAEn6F,YAE9B9I,QAAQN,IAAI,oCAAD2B,OAAqCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACvE8nB,MAAMg2B,KACR,CAACA,EAAak6E,EAASpS,EAAYxD,EAAUvD,EAAW7oF,EAAU0rF,EAAc6N,EAAWE,IAE1F9J,IAAYqN,GACPv4E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAAE1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,OAAe,kBAEtEob,EAAAA,GAAAA,KAACw1F,GAAoB,CAAM7V,SAAAA,EAAUvD,UAAAA,EAAW0Q,UAAAA,EAAWyD,KAAAA,EAAMnjF,SAAAA,EAAUmQ,MAAAA,EAAOy2E,SAAAA,EAAUsB,SAAAA,IAGrG,SAASE,GAAoBC,GAA+E,IAA7E9V,EAAQ8V,EAAR9V,SAAUvD,EAASqZ,EAATrZ,UAAW0Q,EAAS2I,EAAT3I,UAAWyD,EAAIkF,EAAJlF,KAAMnjF,EAAQqoF,EAARroF,SAAUmQ,EAAKk4E,EAALl4E,MAAOy2E,EAAQyB,EAARzB,SAAUsB,EAAQG,EAARH,SACvFl5H,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEqC+jE,EAAA/wF,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuhG,EAAU6C,EAAA,GAAE5C,EAAa4C,EAAA,GAC6BqW,EAAApnG,GAA7BrT,EAAAA,SAAes1G,EAAKh9F,UAAS,GAAtDwrF,EAAQ2W,EAAA,GAAE1W,EAAW0W,EAAA,GACyCC,EAAArnG,GAA7BrT,EAAAA,SAAes1G,EAAKnuH,UAAS,GAA9D68G,EAAY0W,EAAA,GAAEzW,EAAeyW,EAAA,GAE9BC,EAAe36G,EAAAA,aAAkB,SAAChc,GACtCw9G,GAAc,GAEd3+E,GAAAA,KAAW,oCAAqC,CAC9Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWhoC,OAAQyrC,EAAKzrC,OACxDptF,KAAMqnH,EAAUpiG,KAAMsiG,GACrB,CACD10F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN+gH,GAAc,GACdnjH,QAAQN,IAAI,oCACZg7H,GAAYA,EAASt4H,EAAI6B,KAAKA,SAC7B8nB,MAAMg2B,KACR,CAACA,EAAaskE,EAAUvD,EAAW0Q,EAAWyD,EAAMxR,EAAUE,EAAc+U,EAAUvX,IAEzF,OAAOz8E,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACLsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQ2M,aAAcq5G,EAAUh9D,SAAU,SAAC9iD,GACvEA,EAAE0pC,iBACFq2E,EAAY//G,EAAEtK,OAAO0B,cAGzB2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,sBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,SAClCA,EAAE,aAAa,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,4BAA+B,aACrDtlC,EAAE,cAAc,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,wDAAwDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAa,QAElI1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcu5G,EAAcl9D,SAAU,SAAC9iD,GAC9DA,EAAE0pC,iBACFu2E,EAAgBjgH,EAAEtK,OAAO0B,cAG7B2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUovE,GAAcpvE,EAAUnF,QAAS2tF,EAAal0F,SAC7F6b,GAASnhD,EAAE,mBAEbk5H,GAAWt9E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,QAEZ1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUovE,GAAcpvE,EAAUnF,QAASqtF,EAAS5zF,SAC3FtlC,EAAE,sBAEC,IACN4jC,EAAAA,GAAAA,KAAA,aAKN,SAASi0F,GAAmB4B,GAA2I,IAAzInJ,EAAUmJ,EAAVnJ,WAAYE,EAAUiJ,EAAVjJ,WAAYiE,EAAcgF,EAAdhF,eAAgBG,EAAa6E,EAAb7E,cAAe1D,EAAWuI,EAAXvI,YAAa+E,EAAQwD,EAARxD,SAAU1S,EAAQkW,EAARlW,SAAUvD,EAASyZ,EAATzZ,UAAW0Q,EAAS+I,EAAT/I,UAAWI,EAAS2I,EAAT3I,UAAWpP,EAAY+X,EAAZ/X,aAC9I1hH,EAAKo8C,KAALp8C,EACD8vH,EAAWD,KAC4C6J,EAAAxnG,GAArBrT,EAAAA,UAAe,GAAM,GAAtD86G,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACkBG,EAAA3nG,GAApBrT,EAAAA,SAAe,MAAK,GAA/Ci7G,EAASD,EAAA,GAAEE,EAAYF,EAAA,GACmCG,EAAA9nG,GAArBrT,EAAAA,UAAe,GAAM,GAA1Do7G,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GACSG,EAAAjoG,GAAzBrT,EAAAA,SAAeiyG,GAAU,GAA1CqD,EAAIgG,EAAA,GAAEhB,EAAOgB,EAAA,GACkCC,EAAAloG,GAAhBrT,EAAAA,WAAgB,GAA/C4K,EAAW2wG,EAAA,GAAEC,EAAcD,EAAA,GACgBE,EAAApoG,GAAlBrT,EAAAA,SAAe,IAAG,GAA3C07G,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAE5Bz7G,EAAAA,WAAgB,WACd,GAAK0kG,EAAL,CAEA,IAAM93F,EAAS,CACb,cACA,WACA,cAAc,WAADltB,QACF,IAAIo1B,MAAO7I,eAAa,UAAAvsB,OACzB8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAE,QAAAkD,OACtCglH,GAAQ,aAAAhlH,OACHyhH,IAETj0F,EAAG,GAAAxtB,OAAMuD,OAAO0hH,WAAU,KAAAjlH,OAAI4hB,GAAO9c,UAAS,oBAAA9E,OAAmBktB,EAAOloB,KAAK,MACnFw2H,EAAahuG,GACb7uB,QAAQN,IAAI,yBAAD2B,OAA0BwtB,OACpC,CAACw3F,EAAUwW,EAAc/Z,EAAWmU,IAEpBt1G,EAAAA,aAAkB,SAAChc,GACpCA,EAAE0pC,iBACGutF,IACLF,GAAgB,GAChB93H,OAAOi2B,KAAK+hG,EAAW,SAAU,gDAChC,CAACA,EAAWF,IALf,IAOMa,EAAe57G,EAAAA,aAAkB,SAAChc,GACtCA,EAAE0pC,iBACF2tF,GAAkB,GAClBN,GAAgB,KACf,CAACM,EAAmBN,IAEjBc,EAAqB77G,EAAAA,aAAkB,SAACs1G,GAC5C+F,GAAkB,GAClBf,EAAO/8H,GAAC,GAAI+3H,MACX,CAAC+F,EAAmBf,IAEvBt6G,EAAAA,WAAgB,WACTs1G,GACLkG,EAAe,QAAD97H,OAAS41H,EAAKh9F,UAAY,MAAK,MAAA54B,OAAK41H,EAAKnuH,SAAQ,QAC9D,CAACmuH,EAAMkG,IAEV,IAAMM,EAAa97G,EAAAA,aAAkB,SAAChc,GACpCA,EAAE0pC,iBACGguF,GAELtE,GAAYA,EAASsE,GAAU,WAC7BC,EAAY,SAEb,CAACD,EAAUtE,EAAUuE,IAElBI,EAAiB/7G,EAAAA,aAAkB,SAAChc,GAC1B,UAAVA,EAAE5J,KACJ0hI,EAAW93H,KAEZ,CAAC83H,IAOJ,OALA97G,EAAAA,WAAgB,WACTqyG,GACLsJ,EAAYtJ,KACX,CAACA,IAEApB,GACKl0E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACLsW,EAAAA,GAAAA,MAAC4wD,GAAU,CAAC9oE,UAAU,sCAAqC4B,SAAA,EACzD1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CACXlgB,GAAG,QAAQkiB,YAAa1lD,EAAE,gBAAiB,mBAAiB,eAAe/F,MAAOsgI,EAClF50E,SAAU,SAAC9iD,GAAC,OAAK23H,EAAY33H,EAAEtK,OAAO0B,QACtC4gI,WAAYD,KACdh3F,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUxtB,GAAG,gBAAgBmf,QAAS8uF,EAAWr1F,SAAEtlC,EAAE,oBAEtE0hH,IAAgB99E,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACf1B,EAAAA,GAAAA,KAAA,OAAKF,UAAU,2BACVmpF,aAAc4H,EAAgB1H,WAAY6H,EAAe5jF,SAAUs/E,GAAc2J,EAAe30F,SACjGgrF,GAMA1sF,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,QAAQxW,UAAU,uBANxDE,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAAA,OAAKF,UAAW8sF,EAAa,oBAAsB,oBAAoBlrF,UACrE1B,EAAAA,GAAAA,KAAA,OAAKF,UAAU,2BAW3BE,EAAAA,GAAAA,KAAA,OAAA0B,UACEsW,EAAAA,GAAAA,MAACorC,GAAI,CAAA1hD,SAAA,EACHsW,EAAAA,GAAAA,MAACorC,GAAAA,OAAW,CAAA1hD,SAAA,CACTtlC,EAAE,eAAgB25H,EAAe,GAAKlwG,GACvCma,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS7N,UAAU,uBAAsB4B,UACjD1B,EAAAA,GAAAA,KAAC4qD,GAAS,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAK+2H,GAAiBD,QAEvDA,IAAgB/1F,EAAAA,GAAAA,KAAA,OAAKF,UAAU,yBAAwB4B,UACtDsW,EAAAA,GAAAA,MAACyzB,GAAAA,KAAa,CAACp0B,MAAM,EAAK3V,SAAA,EACvB,GACD1B,EAAAA,GAAAA,KAACyrC,GAAAA,KAAa,CAAC76C,KAAK,KAAKqX,QAAS4uF,EAAan1F,SAAEtlC,EAAE,+BAIzD47C,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,CACP20F,GAAiBr2F,EAAAA,GAAAA,KAAC+zF,GAAgB,CACjCpU,SAAAA,EAAUvD,UAAAA,EAAW0Q,UAAAA,EAAWE,OAAQE,EAAUpoC,OAAQkvC,SAAU8C,EACpExB,SAAU,kBAAMgB,GAAkB,MAC5B,IACRt+E,EAAAA,GAAAA,MAAC4wD,GAAU,CAAC9oE,UAAU,kCAAiC4B,SAAA,EACrD1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CACXlgB,GAAG,QAAQkiB,YAAa1lD,EAAE,gBAAiB,mBAAiB,eAAe/F,MAAOsgI,EAClF50E,SAAU,SAAC9iD,GAAC,OAAK23H,EAAY33H,EAAEtK,OAAO0B,QACtC4gI,WAAYD,KACdh3F,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUxtB,GAAG,gBAAgBmf,QAAS8uF,EAAWr1F,SAAEtlC,EAAE,oBAEtE0hH,IAAgB99E,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACf1B,EAAAA,GAAAA,KAAA,OAAKF,UAAU,uBACVmpF,aAAc4H,EAAgB1H,WAAY6H,EAAe5jF,SAAUs/E,GAAc2J,EAAe30F,SACjGgrF,GAMA1sF,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,QAAQxW,UAAU,uBANxDE,EAAAA,GAAAA,KAAA,OAAA0B,UACE1B,EAAAA,GAAAA,KAAA,OAAKF,UAAW8sF,EAAa,oBAAsB,oBAAoBlrF,UACrE1B,EAAAA,GAAAA,KAAA,OAAKF,UAAU,+BAcnC,SAASo0F,GAAgBgD,GAA0D,IAAxDpJ,EAASoJ,EAATpJ,UAAWF,EAAUsJ,EAAVtJ,WAAYlsF,EAAQw1F,EAARx1F,SAAUi+E,EAAQuX,EAARvX,SAAUvD,EAAS8a,EAAT9a,UAC7DhgH,EAAKo8C,KAALp8C,EACsD+6H,EAAA7oG,GAArBrT,EAAAA,UAAe,GAAM,GAAtD86G,EAAYoB,EAAA,GAAEnB,EAAemB,EAAA,GACkBC,EAAA9oG,GAApBrT,EAAAA,SAAe,MAAK,GAA/Ci7G,EAASkB,EAAA,GAAEjB,EAAYiB,EAAA,GAGxBC,EAAcp8G,EAAAA,OAAa,MACjCA,EAAAA,WAAgB,WACE,OAAXo8G,QAAW,IAAXA,GAAAA,EAAa53H,UAClBnG,QAAQN,IAAI,8BAAD2B,OAA+B08H,EAAY53H,QAAQq8D,aAAY,WAAAnhE,OAAUmzH,EAAUh5H,OAAM,YAAA6F,OAAWizH,IAC/GyJ,EAAY53H,QAAQ63H,SAAS,EAAGD,EAAY53H,QAAQq8D,iBACnD,CAACgyD,EAAWuJ,EAAazJ,IAE5B3yG,EAAAA,WAAgB,WACd,GAAK0kG,EAAL,CAEA,IAAM93F,EAAS,CACb,cACA,WACA,cAAe,WAAAltB,QACJ,IAAIo1B,MAAO7I,eAAa,UAAAvsB,OACzB8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAE,QAAAkD,OACtCglH,GAAQ,aAAAhlH,OACHyhH,IAETj0F,EAAG,GAAAxtB,OAAMuD,OAAO0hH,WAAU,KAAAjlH,OAAI4hB,GAAO9c,UAAS,oBAAA9E,OAAmBktB,EAAOloB,KAAK,MACnFw2H,EAAahuG,GACb7uB,QAAQN,IAAI,yBAAD2B,OAA0BwtB,OACpC,CAACw3F,EAAUwW,EAAc/Z,IAE5B,IAAMmb,EAAat8G,EAAAA,aAAkB,SAAChc,GACpCA,EAAE0pC,iBACGutF,IACLF,GAAgB,GAChB93H,OAAOi2B,KAAK+hG,EAAW,SAAU,gDAChC,CAACA,EAAWF,IAEf,OACEh2F,EAAAA,GAAAA,KAAA,OAAA0B,UACEsW,EAAAA,GAAAA,MAACorC,GAAI,CAAA1hD,SAAA,EACHsW,EAAAA,GAAAA,MAACorC,GAAAA,OAAW,CAAA1hD,SAAA,CACTtlC,EAAE,iBACF,EAGA25H,IAAgB/1F,EAAAA,GAAAA,KAAA,OAAKF,UAAU,wBAAuB4B,UACrD1B,EAAAA,GAAAA,KAACyrC,GAAAA,KAAa,CAACp0B,MAAM,EAAK3V,UACxB1B,EAAAA,GAAAA,KAACyrC,GAAAA,KAAa,CAAC76C,KAAK,KAAKqX,QAASsvF,EAAW71F,SAAEtlC,EAAE,6BAIvD4jC,EAAAA,GAAAA,KAACojD,GAAAA,KAAS,CAAA1hD,UACRsW,EAAAA,GAAAA,MAAA,OAAKlY,UAAU,kBAAkBN,IAAK63F,EAAY31F,SAAA,CAC/CA,EACAosF,EAAU7qH,KAAI,SAACjK,GACd,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAclB,QAASt9C,EAAIs9C,QAASxW,UAAU,oBAAmB4B,SAAA,CACpE1oC,EAAI20C,KAAK,KAAG30C,EAAI81H,MADP91H,EAAI8vB,iBAYhC,SAASurG,GAAoBmD,GAA2B,IAAzB1J,EAAS0J,EAAT1J,UAAWF,EAAU4J,EAAV5J,WAElCyJ,EAAcp8G,EAAAA,OAAa,MAOjC,OANAA,EAAAA,WAAgB,WACE,OAAXo8G,QAAW,IAAXA,GAAAA,EAAa53H,UAClBnG,QAAQN,IAAI,8BAAD2B,OAA+B08H,EAAY53H,QAAQq8D,aAAY,WAAAnhE,OAAUmzH,EAAUh5H,OAAM,YAAA6F,OAAWizH,IAC/GyJ,EAAY53H,QAAQ63H,SAAS,EAAGD,EAAY53H,QAAQq8D,iBACnD,CAACgyD,EAAWuJ,EAAazJ,KAG1B5tF,EAAAA,GAAAA,KAAA,OAAKF,UAAU,2BAA2BN,IAAK63F,EAAY31F,SACxDosF,EAAU7qH,KAAI,SAACjK,GACd,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAclB,QAASt9C,EAAIs9C,QAASxW,UAAU,oBAAmB4B,SAAA,CACpE1oC,EAAI20C,KAAK,KAAG30C,EAAI81H,MADP91H,EAAI8vB,SAS1B,SAASssG,GAAsBqC,GAA2B,IAAzB3J,EAAS2J,EAAT3J,UAAWF,EAAU6J,EAAV7J,WAEpCyJ,EAAcp8G,EAAAA,OAAa,MAOjC,OANAA,EAAAA,WAAgB,WACE,OAAXo8G,QAAW,IAAXA,GAAAA,EAAa53H,UAClBnG,QAAQN,IAAI,8BAAD2B,OAA+B08H,EAAY53H,QAAQq8D,aAAY,WAAAnhE,OAAUmzH,EAAUh5H,OAAM,YAAA6F,OAAWizH,IAC/GyJ,EAAY53H,QAAQ63H,SAAS,EAAGD,EAAY53H,QAAQq8D,iBACnD,CAACgyD,EAAWuJ,EAAazJ,KAG1B5tF,EAAAA,GAAAA,KAAA,OAAKF,UAAU,yBAAyBN,IAAK63F,EAAY31F,SACtDosF,EAAU7qH,KAAI,SAACjK,GACd,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAclB,QAASt9C,EAAIs9C,QAAQ5U,SAAA,CACtC1oC,EAAI20C,KAAK,KAAG30C,EAAI81H,MADP91H,EAAI8vB,SAS1B,SAASqrG,GAAcuD,GAA+B,IAA7BhK,EAASgK,EAAThK,UAAW6B,EAAcmI,EAAdnI,eAClC,OACEvvF,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACZgsF,EAAUzqH,KAAI,SAACjK,GACd,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAcI,QAAS,kBAAM23E,EAAev2H,IAAMs9C,QAAQ,SAASuB,aAAW,EAAAnW,SAAA,EAClF1B,EAAAA,GAAAA,KAACwX,GAAAA,QAAa,CAAA9V,SAAC,YACf1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAI1oC,EAAI81H,QAFE91H,EAAI8vB,SAU1B,SAASsrG,GAAYuD,GAA2B,IAAzB3J,EAAO2J,EAAP3J,QAASqB,EAAYsI,EAAZtI,aAC9B,OACErvF,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACZssF,EAAQ/qH,KAAI,SAACjK,GACZ,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAcI,QAAS,kBAAMy3E,EAAar2H,IAAMs9C,QAAQ,UAAUuB,aAAW,EAAAnW,SAAA,EACjF1B,EAAAA,GAAAA,KAACwX,GAAAA,QAAa,CAAA9V,SAAE1oC,EAAIuiD,SACpBvb,EAAAA,GAAAA,KAAA,KAAA0B,SAAI1oC,EAAI81H,QAFE91H,EAAI8vB,SCnvCnB,SAAS8uG,GAAoBv3G,GAAiD,IAA/Cs/F,EAAQt/F,EAARs/F,SAAUvD,EAAS/7F,EAAT+7F,UAAW7oF,EAAQlT,EAARkT,SAAU0rF,EAAY5+F,EAAZ4+F,aAC5D7iH,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBACd4wE,EAAWD,KASXM,EAAYtxG,EAAAA,OAAa,MAC0B6+B,EAAAxrB,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuhG,EAAU1iE,EAAA,GAAE2iE,EAAa3iE,EAAA,GACyBoB,EAAA5sB,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuxG,EAAUtxE,EAAA,GAAEuxE,EAAavxE,EAAA,GACyB6F,EAAAzyB,GAArBrT,EAAAA,UAAe,GAAM,GAAlDyxG,EAAU3rE,EAAA,GAAE4rE,EAAa5rE,EAAA,GACyBixC,EAAA1jE,GAArBrT,EAAAA,UAAe,GAAM,GAAlD2xG,EAAU56B,EAAA,GAAE66B,EAAa76B,EAAA,GAGsBG,EAAA7jE,GAApBrT,EAAAA,SAAe,MAAK,GAA/C6xG,EAAS36B,EAAA,GAAE46B,EAAY56B,EAAA,GACkBG,EAAAhkE,GAApBrT,EAAAA,SAAe,MAAK,GAAzC+xG,EAAM16B,EAAA,GAAE26B,EAAS36B,EAAA,GACgCG,EAAAnkE,GAAhBrT,EAAAA,WAAgB,GAAjD6iG,EAAYrrB,EAAA,GAAEsrB,EAAetrB,EAAA,GACkBI,EAAAvkE,GAApBrT,EAAAA,SAAe,MAAK,GAA/CiyG,EAASr6B,EAAA,GAAEs6B,EAAYt6B,EAAA,GACoCG,EAAA1kE,GAApBrT,EAAAA,SAAe,MAAK,GAA3DmyG,EAAep6B,EAAA,GAAEq6B,EAAkBr6B,EAAA,GAEgBG,EAAA7kE,GAApBrT,EAAAA,SAAe,MAAK,GAAnDqyG,EAAWn6B,EAAA,GAAEo6B,EAAcp6B,EAAA,GAEgBG,EAAAhlE,GAApBrT,EAAAA,UAAe,GAAK,GAA3CuyG,EAAOl6B,EAAA,GAAEm6B,EAAUn6B,EAAA,GAC0BG,EAAAnlE,GAAlBrT,EAAAA,SAAe,IAAG,GAA7CyyG,EAASj6B,EAAA,GAAEk6B,EAAYl6B,EAAA,GACuBG,EAAAtlE,GAAjBrT,EAAAA,SAAe,GAAE,GAA9C2yG,EAAUh6B,EAAA,GAAEi6B,EAAaj6B,EAAA,GACoBG,EAAAzlE,GAAlBrT,EAAAA,SAAe,IAAG,GAA7C6yG,EAAS/5B,EAAA,GAAEg6B,EAAYh6B,EAAA,GACkBG,EAAA5lE,GAAlBrT,EAAAA,SAAe,IAAG,GAAzC+yG,EAAO95B,EAAA,GAAE+5B,GAAU/5B,EAAA,GAGpB10D,GAAMvkB,EAAAA,OAAa,CACvB48G,YAAY,EACZxJ,YAAa,KACbX,UAAW,GACXI,UAAW,GACXU,SAAU,GACVZ,WAAY,IAGRa,GAAaxzG,EAAAA,OAAa,CAC9BuhG,YAAY,EACZkS,YAAa,EACbC,oBAAoB,EACpBC,aAAc,IAGVC,GAAW5zG,EAAAA,aAAkB,SAAC6zG,GAClC,IAAMC,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,GAAI//B,QAAQiuH,UAAS,GAAA/yH,OAAA2pD,GAAO9kB,GAAI//B,QAAQiuH,WAAS,CAAE,CAAC5kG,GAAIimG,EAAKD,IAAAA,KAC7DnB,EAAanuF,GAAI//B,QAAQiuH,aACxB,CAACC,EAAcnuF,KAEZwvF,GAAW/zG,EAAAA,aAAkB,SAAC0yB,EAAMmhF,EAAKx4E,EAAS24E,GAItD,GAHApB,IAAgBruF,GAAI//B,QAAQmuH,YAGxBpuF,GAAI//B,QAAQquH,UAAUh5H,OAAS,IAAMm6H,EAAa,CACpD,IAAMC,EAAO1vF,GAAI//B,QAAQquH,UAAUtuF,GAAI//B,QAAQquH,UAAUh5H,OAAS,GAClE,GAAIo6H,EAAKvhF,OAASA,EAGhB,OAFAuhF,EAAKJ,IAAG,GAAAn0H,OAAMu0H,EAAKJ,KAAGn0H,OAAGm0H,QACzBf,EAAYzpE,GAAK9kB,GAAI//B,QAAQquH,YAKjC,IAAMiB,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,GAAI//B,QAAQquH,UAAS,GAAAnzH,OAAA2pD,GAAO9kB,GAAI//B,QAAQquH,WAAS,CAAE,CAAChlG,GAAIimG,EAAKphF,KAAAA,EAAMmhF,IAAAA,EAAKx4E,QAAAA,KACxEy3E,EAAavuF,GAAI//B,QAAQquH,aACxB,CAACC,EAAcvuF,GAAKquF,IAEjBsB,GAASl0G,EAAAA,aAAkB,SAACsgC,EAAOuzE,GACvC,IAAMC,EAAG,MAAAp0H,OAAS8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAEkD,QAAG,IAAIo1B,MAAOyhC,UAAUh6D,SAAS,IAAIC,OAAO,IAClG+nC,GAAI//B,QAAQ+uH,SAAQ,GAAA7zH,OAAA2pD,GAAO9kB,GAAI//B,QAAQ+uH,UAAQ,CAAE,CAAC1lG,GAAIimG,EAAKxzE,MAAAA,EAAOuzE,IAAAA,EAAKM,QAAS,IAAIr/F,QACpFk+F,GAAWzuF,GAAI//B,QAAQ+uH,YACtB,CAACP,GAAYzuF,KAEV6vF,GAAep0G,EAAAA,aAAkB,SAACjiB,GACtC,IAAMqH,EAAQm/B,GAAI//B,QAAQ+uH,SAASc,WAAU,SAACj0H,GAAC,OAAKA,EAAEytB,KAAO9vB,EAAI8vB,MACjE0W,GAAI//B,QAAQ+uH,SAASluH,OAAOD,EAAO,GACnC4tH,GAAU3pE,GAAK9kB,GAAI//B,QAAQ+uH,aAC1B,CAACP,GAAYzuF,KAEV+vF,GAAiBt0G,EAAAA,aAAkB,SAACjiB,GACxC,IAAMqH,EAAQm/B,GAAI//B,QAAQiuH,UAAU4B,WAAU,SAACj0H,GAAC,OAAKA,EAAEytB,KAAO9vB,EAAI8vB,MAClE0W,GAAI//B,QAAQiuH,UAAUptH,OAAOD,EAAO,GACpCstH,EAAYrpE,GAAK9kB,GAAI//B,QAAQiuH,cAC5B,CAACC,EAAcnuF,KAGZgwF,GAAcv0G,EAAAA,OAAa,MACjCA,EAAAA,WAAgB,WACTuxG,GAA0B,OAAXgD,SAAW,IAAXA,IAAAA,GAAa/vH,UACjCnG,QAAQN,IAAI,6BAAD2B,OAA8B60H,GAAY/vH,QAAQq8D,aAAY,WAAAnhE,OAAUqzH,EAAQl5H,SAC3F06H,GAAY/vH,QAAQgwH,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAC/D,CAACnD,EAAYgD,GAAaxB,IAG7B/yG,EAAAA,WAAgB,WACd,IAAM20G,EAAM,eAAArtG,EAAAs5B,GAAA0F,KAAAA,MAAG,SAAAuoD,IAAA,IAAAzc,EAAAC,EAAAuiC,EAAA,OAAAtuE,KAAAA,MAAA,SAAA2oD,GAAA,cAAAA,EAAAxoD,KAAAwoD,EAAAlrF,MAAA,OAMwE,GAJ/EquE,EAAoC,cAA7BnvF,OAAOmzB,SAASH,UAAyD,cAA7BhzB,OAAOmzB,SAASH,SACnEo8D,EAAuC,WAA7BpvF,OAAOmzB,SAASP,UAC1B++F,EAAkBxiC,GAAQC,IACbuhC,GAASzyH,EAAE,kBAC9B9C,QAAQN,IAAI,wBAAD2B,OAAyBk1H,EAAe,SAAAl1H,OAAQ0yF,EAAI,YAAA1yF,OAAW2yF,IACrEuiC,EAAgB,CAAD3lB,EAAAlrF,KAAA,eAAAkrF,EAAAO,OAAA,wBAAAP,EAAAlrF,KAAA,EAIZ,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,QAAM,KAAD,KACjD2yH,GAAWhvH,QAAQmvH,aAAa,CAAD1kB,EAAAlrF,KAAA,gBAGxC,IAAInjB,SAAQ,SAAAC,GACVxC,QAAQN,IAAI,kCAEZmF,UAAU2xH,aAAaC,aACrB,CAAC7f,OAAO,IACR9qF,MAAK,SAAC7G,GACNjlB,QAAQN,IAAI,2CACZ,IAAMg3H,EAAW,IAAIC,cAAc1xG,GAE7BgwG,EAAc,GACpByB,EAAS96F,iBAAiB,iBAAiB,SAAArS,GAAa,IAAXtlB,EAAIslB,EAAJtlB,KAC3CgxH,EAAYj2H,KAAKiF,MAEnByyH,EAAS96F,iBAAiB,OAAM2mB,GAAA0F,KAAAA,MAAE,SAAAC,IAAA,OAAAD,KAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAziC,MAAA,OAEhC1lB,QAAQN,IAAI,gCAAD2B,OAAiC4zH,EAAYz5H,OAAM,YAAA6F,OAAWq1H,EAAS18G,QAClFiL,EAAO2xG,YAAYv3H,SAAQ,SAAAw3H,GAAK,OAAIA,EAAMxuE,UAC1C9sC,YAAW,WACTvb,QAAQN,IAAI,8BACZ8C,MAjI4B,KAkIM,wBAAA2lD,EAAAE,UAAAH,QAGtCwuE,EAASv6D,QACT5gD,YAAW,WACTm7G,EAASruE,OACTroD,QAAQN,IAAI,wCAAD2B,OAAyCq1H,EAAS18G,UAzIjC,OA2I7B+R,OAAM,SAAAhsB,GAAK,OAAIw1H,GAAS,GAADl0H,OAAIyB,EAAE,eAAc,MAAAzB,OAAKtB,UAClD+rB,MAAK,WACNqoG,GAAW,MACV,yBAAAvjB,EAAAvoD,UAAAmoD,OACJ,kBA/CW,OAAAvnF,EAAAhqB,MAAA,KAAAE,YAAA,GAgDZm3H,MACC,CAACxzH,EAAGyyH,GAAUpB,EAAYgB,KAG7BxzG,EAAAA,WAAgB,WACVuyG,IAEJl0H,QAAQN,IAAI,6BACZ8kC,GAAAA,KAAW,oCAAqC,CAC9Cm+E,KAAM0D,EAAUvD,UAAAA,GACf,CACD7xF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,gCAAD2B,OAAiCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACpEwvH,EAAarxH,EAAI6B,KAAKA,KAAK6yH,KAC3BnD,EAAUvxH,EAAI6B,KAAKA,KAAKunF,QACxBi5B,EAAgBriH,EAAI6B,KAAKA,KAAKugH,iBAC7Bz4F,MAAMg2B,MACR,CAACA,EAAamyE,EAAS7N,EAAUvD,EAAW2Q,EAAcE,EAAWlP,IAGxE,IAAMsS,GAAgBp1G,EAAAA,YAAiB,eAAAq+C,EAAAzd,GAAA0F,KAAAA,MAAC,SAAA+uE,EAAOC,GAAI,IAAAt1H,EAAA,OAAAsmD,KAAAA,MAAA,SAAAivE,GAAA,cAAAA,EAAA9uE,KAAA8uE,EAAAxxG,MAAA,OACjDmuG,EAAaoD,GAEb9T,GAAc,GACRxhH,EAAW,SAAXA,IACJsxH,EAAU9sH,QAAQ4zB,oBAAoB,QAASp4B,GAE/CwxH,GAAc,GACdhQ,GAAc,GACdgS,GAAWhvH,QAAQmvH,cAAe,EAClCt1H,QAAQN,IAAI,mCAAD2B,OAAoCmyH,KAEjDP,EAAU9sH,QAAQy1B,iBAAiB,QAASj6B,GAE5C3B,QAAQN,IAAI,kCACZy1H,GAAWhvH,QAAQmvH,cAAe,EAClCrC,EAAU9sH,QAAQ6d,IAAG,4CAAA3iB,OAA+C41H,EAAKE,MAAK,SAAA91H,OAAQmyH,GACtFP,EAAU9sH,QAAQixH,OAAOrrG,OAAM,SAAAhsB,GAC7Bw1H,GAAS,GAADl0H,OAAIyB,EAAE,mBAAkB,MAAAzB,OAAKtB,IACrCojH,GAAc,MACb,wBAAA+T,EAAA7uE,UAAA2uE,OACJ,gBAAA1uE,GAAA,OAAA0X,EAAA/gE,MAAA,KAAAE,YArBsC,GAqBpC,CAAC2D,EAAGyyH,GAAU/B,EAAWL,EAAehQ,EAAegS,GAAYtB,IAGtElyG,EAAAA,WAAgB,WACd,GAAKuxG,EAAL,CACA2C,GAAO,QAAoB/yH,EAAX8vH,EAAa,gBAAqB,mBAElD,IAAMtrC,EAAQC,aAAY,WACVv8B,GAAO9kB,GAAI//B,QAAQ+uH,UACxB71H,SAAQ,SAACK,GACZ,IAAI+2B,KAAS/2B,EAAIo2H,QAAU,KAC7BC,GAAar2H,QAGhB,KACH,OAAO,kBAAM8nF,cAAcF,OAC1B,CAACxkF,EAAGowH,EAAY2C,GAAQjD,EAAU1sF,GAAK6vF,KAG1C,IAAM6B,GAAmBj2G,EAAAA,YAAiB,eAAAuzF,EAAA3yD,GAAA0F,KAAAA,MAAC,SAAAovE,EAAMmH,GAAQ,IAAAxG,EAAAC,EAAAC,EAAA,OAAAjwE,KAAAA,MAAA,SAAAqvE,GAAA,cAAAA,EAAAlvE,KAAAkvE,EAAA5xG,MAAA,OAGvD,OAFMsyG,EAAewG,EAASvkF,WAE9Bq9E,EAAA5xG,KAAA,EAC0B,IAAInjB,SAAQ,SAACC,EAASC,GAC9C+hC,GAAAA,KAAW,2CAA4C,CACrDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,GAC/B,CACDviG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,wCAAD2B,OAAyCe,EAAI6B,KAAKA,KAAKwxH,MAClEjzH,EAAQJ,EAAI6B,KAAKA,KAAKwxH,QACrB1pG,OAAM,SAAChsB,GAAK,OAAK0C,EAAO1C,SAC1B,KAAD,EATe,OAAXk4H,EAAWX,EAAAlmB,KAAAkmB,EAAA5xG,KAAA,EAYa,IAAInjB,SAAQ,SAACC,GACzC,IAAM41H,EAAS,IAAIC,WACnBD,EAAOE,OAAS,WAGd,IAAMC,EAAcH,EAAOvyH,OAAOhE,MAAM,KAAK,GAC7CW,EAAQ+1H,IAGV,IAAMC,EAAY,IAAI9qG,KAAK8wG,EAASvJ,aACpCmD,EAAOK,cAAcD,MACpB,KAAD,EAXmB,OAAfN,EAAeZ,EAAAlmB,KAAAkmB,EAAA5xG,KAAA,EAcf,IAAInjB,SAAQ,SAACC,EAASC,GAC1BzC,QAAQN,IAAI,kBAAD2B,OAAmBm9H,EAASvJ,YAAYz5H,OAAM,mBAAA6F,OAAkBmyH,EAAS,WAAAnyH,OAAUqyH,IAE9FlvF,GAAAA,KAAW,qCAAsC,CAC/Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWiC,IAAKwC,EAAazsC,OAAQkoC,EACrEgF,IAAKV,EAAcphB,MAAOshB,GACzB,CACDjnG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,wBAAD2B,OAAyBe,EAAI6B,KAAKA,KAAKwxH,IAAG,KAAAp0H,OAAIe,EAAI6B,KAAKA,KAAKq9G,MACvE9+G,EAAQJ,EAAI6B,KAAKA,KAAKwxH,KACtBxB,EAAe7xH,EAAI6B,KAAKA,KAAKq9G,QAC5Bv1F,OAAM,SAAChsB,GAAK,OAAK0C,EAAO1C,SAC1B,KAAD,EAGFC,QAAQN,IAAI,mBAAD2B,OAAoB42H,EAAW,0BAAA52H,OAAyB42H,IAAe,QACvE,OAAAX,EAAA5xG,KAAA,GACU,IAAInjB,SAAQ,SAACC,EAASC,GACvC+hC,GAAAA,KAAW,oCAAqC,CAC9Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWiC,IAAKwC,GAC/C,CACDhnG,QAASzO,OACRsJ,MAAK,SAAA1pB,GAAQ,IAADwmF,EAAAC,EACD,QAAZD,EAAIxmF,EAAI6B,YAAI,IAAA2kF,GAAM,QAANC,EAARD,EAAU3kF,YAAI,IAAA4kF,GAAdA,EAAgB8vC,SAEpBn2H,EAAQJ,EAAI6B,KAAKA,SAChB8nB,OAAM,SAAAhsB,GAAK,OAAI0C,EAAO1C,SACxB,KAAD,GAVQ,IAAAu3H,EAAAlmB,KAYDunB,SAAS,CAADrB,EAAA5xG,KAAA,SAC4B,OAA3C1lB,QAAQN,IAAI,+BAA+B43H,EAAAnmB,OAAA,2BAAAmmB,EAAA5xG,KAAA,GAIvC,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,QAAO,KAAD,GAAA80H,EAAA5xG,KAAA,kCAAA4xG,EAAAjvE,UAAAgvE,OAE5D,gBAAAhmB,GAAA,OAAA6D,EAAAj2G,MAAA,KAAAE,YAnEyC,GAmEvC,CAACknH,EAAUvD,EAAW0Q,EAAWE,EAAQO,IAItCwK,GAAiB98G,EAAAA,YAAiB,eAAA8zF,EAAAlzD,GAAA0F,KAAAA,MAAC,SAAA0vE,EAAO+G,GAAS,IAAAC,EAAAC,EAAAJ,EAAA,OAAAv2E,KAAAA,MAAA,SAAA6vE,GAAA,cAAAA,EAAA1vE,KAAA0vE,EAAApyG,MAAA,UAClDwtG,EAAW,CAAD4E,EAAApyG,KAAA,eAAAoyG,EAAA3mB,OAAA,qBACXjrE,GAAI//B,QAAQ4uH,YAAY,CAAD+C,EAAApyG,KAAA,eAAAoyG,EAAA3mB,OAAA,iBAEqB,OAAhDnxG,QAAQN,IAAI,qCAAoCo4H,EAAApyG,KAAA,EAC1C,IAAInjB,SAAQ,SAAAC,GAChBqC,UAAU2xH,aAAaC,aACrB,CAAC7f,OAAO,IACR9qF,MAAK,SAAC7G,GACNihB,GAAI//B,QAAQ4uH,YAAc9vG,EAC1BjlB,QAAQN,IAAI,uCACZ8C,OACCupB,OAAM,SAAAhsB,GAAK,OAAIw1H,GAAS,GAADl0H,OAAIyB,EAAE,eAAc,MAAAzB,OAAKtB,UAClD,KAAD,EAmFF,OAhFAmmC,GAAI//B,QAAQo4H,YAAa,EACzBlL,GAAc,GACdqL,GAAaA,IAEPC,EAAa,eAAA/oB,EAAArzD,GAAA0F,KAAAA,MAAG,SAAAuvE,IAAA,IAAAgH,EAAA,OAAAv2E,KAAAA,MAAA,SAAAwvE,GAAA,cAAAA,EAAArvE,KAAAqvE,EAAA/xG,MAAA,OAmCoB,OAlCxC1lB,QAAQN,IAAI,kBAGN8+H,EAAW,CAEf3J,gBAAiB,IAAIp+F,KACrBooG,eAAgB,KAChB5kF,SAAU,WACR,OAAKukF,EAASK,eACPL,EAASK,eAAiBL,EAAS3J,gBADL,MAOvCG,cAAe,IAAI2B,cAAczwF,GAAI//B,QAAQ4uH,aAC7CE,YAAa,KAIND,cAAcp5F,iBAAiB,SAAS,WAC/C57B,QAAQN,IAAI,oCACZ6zH,GAAc,MAGhBiL,EAASxJ,cAAcp5F,iBAAiB,iBAAiB,SAAAo6E,GAAe,IAAZ/xG,EAAI+xG,EAAJ/xG,KAC1Du6H,EAASvJ,YAAYj2H,KAAKiF,GAC1B,IAAM+zH,EAAe,IAAIvhG,KAAS+nG,EAAS3J,gBAlUjB,IAmUpB0F,GAAK,IAAI9jG,MAAO7I,cAAc/rB,MAAM,KAAK,GAAGA,MAAM,KAAK,GAC7D7B,QAAQN,IAAI,GAAD2B,OAAIk5H,EAAE,uCAAAl5H,OAAsC4C,EAAKqnB,KAAI,qBAAAjqB,OAAoB22H,EAAY,UAIlGwG,EAASxJ,cAAc74D,MAAM,MAC7Bn8D,QAAQN,IAAI,4BAA4B+3H,EAAAtmB,OAAA,SACjCqtB,GAAQ,wBAAA/G,EAAApvE,UAAAmvE,OAChB,kBArCkB,OAAA5hB,EAAA32G,MAAA,KAAAE,YAAA,GAuCby/H,EAAY,eAAApoB,EAAAj0D,GAAA0F,KAAAA,MAAG,SAAA8vE,EAAOyG,EAAUM,GAAO,IAAAC,EAAA,OAAA92E,KAAAA,MAAA,SAAAkwE,GAAA,cAAAA,EAAA/vE,KAAA+vE,EAAAzyG,MAAA,OASzC,GAPIq5G,EAAkB,WACtB,GAAKD,EAAL,CACA9+H,QAAQN,IAAI,qCACZ,IAAMulB,EAASihB,GAAI//B,QAAQ4uH,YAC3B7uF,GAAI//B,QAAQ4uH,YAAc,KAC1B9vG,EAAO2xG,YAAYv3H,SAAQ,SAAAw3H,GAAK,OAAIA,EAAMxuE,UAC1CkrE,GAAc,KAGXiL,EAAS,CAADrG,EAAAzyG,KAAA,QACO,OAAlBq5G,IAAkB5G,EAAAhnB,OAAA,iBAIyB,OAA7CnxG,QAAQN,IAAI,kCAAiCy4H,EAAAzyG,KAAA,EACvC,IAAInjB,SAAQ,SAAAC,GAChBg8H,EAASxJ,cAAcp5F,iBAAiB,QAAQ,WAC1CkjG,GAASC,IAGbP,EAASK,eAAiB,IAAIpoG,KAE9B,IAAM8jG,GAAK,IAAI9jG,MAAO7I,cAAc/rB,MAAM,KAAK,GAAGA,MAAM,KAAK,GAC7D7B,QAAQN,IAAI,GAAD2B,OAAIk5H,EAAE,qCAAAl5H,OAAoCm9H,EAASvJ,YAAYz5H,OAAM,eAAA6F,OAAcm9H,EAASvkF,WAAU,OAEjHz3C,OAGFxC,QAAQN,IAAI,gCAAD2B,OAAiCm9H,EAASvJ,YAAYz5H,OAAM,YAAA6F,OAAWm9H,EAASxJ,cAAch7G,QACzGwkH,EAASxJ,cAAc3sE,UACtB,KAAD,SAAA8vE,EAAAhnB,OAAA,SAEKqtB,GAAQ,wBAAArG,EAAA9vE,UAAA0vE,OAChB,gBAnCiBsB,EAAA2F,GAAA,OAAAxoB,EAAAv3G,MAAA,KAAAE,YAAA,GAqClB24H,EAAA1vE,KAAA,GAAA0vE,EAAApyG,KAAA,GAEuBi5G,IAAgB,KAAD,GAAhCH,EAAQ1G,EAAA1mB,KAAA,QACD,IACLlrE,GAAI//B,QAAQo4H,WAAW,CAADzG,EAAApyG,KAAA,SACsB,OAA9C1lB,QAAQN,IAAI,kCAAkCo4H,EAAApyG,KAAA,GACxCk5G,EAAaJ,GAAU,GAAM,KAAD,UAAA1G,EAAA3mB,OAAA,uBAIhC,IAAI16E,KAAS+nG,EAAS3J,iBA3XT,KA2X0C,CAAAiD,EAAApyG,KAAA,gBAAAoyG,EAAAmC,cAAAhyE,KAAAA,MAAA,SAAA4wE,IAAA,IAAAoG,EAAA1E,EAAA,OAAAtyE,KAAAA,MAAA,SAAA6wE,GAAA,cAAAA,EAAA1wE,KAAA0wE,EAAApzG,MAAA,cAAAozG,EAAApzG,KAAA,EAC7Bk5G,EAAaJ,GAAU,GAAO,KAAD,EAAtC,OAAbS,EAAanG,EAAA1nB,KAAA0nB,EAAApzG,KAAA,EACFi5G,IAAgB,KAAD,EAAhCH,EAAQ1F,EAAA1nB,KACFmpB,GAAK,IAAI9jG,MAAO7I,cAAc/rB,MAAM,KAAK,GAAGA,MAAM,KAAK,GAC7D7B,QAAQN,IAAI,GAAD2B,OAAIk5H,EAAE,mDAGjB3C,GAAiBqH,GAAelzG,OAAM,SAACpmB,GACrC3F,QAAQF,KAAK,gCAADuB,OAAiCgW,KAAKsL,UAAUs8G,GAAc,WAAA59H,OAAUsE,OACnF,wBAAAmzH,EAAAzwE,UAAAwwE,KATsD5wE,GAStD,wBAAA6vE,EAAApyG,KAAA,GAGC,IAAInjB,SAAQ,SAAAC,GAAO,OAAI+Y,WAAW/Y,EAAS,QAAO,KAAD,GAAAs1H,EAAApyG,KAAA,iBAIpC,OAJoCoyG,EAAA1vE,KAAA,GAGzDirE,GAAc,GACdE,GAAc,GAAOuE,EAAA55G,OAAA,6BAAA45G,EAAAzvE,UAAAsvE,EAAA,wBAExB,gBAAAyB,GAAA,OAAA3jB,EAAAx2G,MAAA,KAAAE,YA5HuC,GA4HrC,CAAC+mC,GAAKgtF,EAAYpwH,EAAGyyH,GA7YD,IA6Y2BqC,KAI5CsH,GAAgBv9G,EAAAA,YAAiB4gC,GAAA0F,KAAAA,MAAC,SAAAgxE,IAAA,OAAAhxE,KAAAA,MAAA,SAAAkxE,GAAA,cAAAA,EAAA/wE,KAAA+wE,EAAAzzG,MAAA,UACjCwtG,EAAW,CAADiG,EAAAzzG,KAAA,eAAAyzG,EAAAhoB,OAAA,oBACVjrE,GAAI//B,QAAQ4uH,YAAY,CAADoE,EAAAzzG,KAAA,eAAAyzG,EAAAhoB,OAAA,iBAG5BjrE,GAAI//B,QAAQo4H,YAAa,EAEzB,WACOr4F,GAAI//B,QAAQ4uH,YAAY,CAADoE,EAAAzzG,KAAA,gBAAAyzG,EAAAzzG,KAAA,EACtB,IAAInjB,SAAQ,SAAAC,GAAO,OAAI+Y,WAAW/Y,EAAS,QAAM,KAAD,EAAA22H,EAAAzzG,KAAA,iCAAAyzG,EAAA9wE,UAAA4wE,OAEvD,CAAC/yF,GAAKgtF,IAGH6F,GAAWp3G,EAAAA,YAAiB,eAAAq3G,EAAAz2E,GAAA0F,KAAAA,MAAC,SAAAwxE,EAAOv1G,EAAMg1G,GAAU,IAAAjB,EAAA,OAAAhwE,KAAAA,MAAA,SAAA6xE,GAAA,cAAAA,EAAA1xE,KAAA0xE,EAAAp0G,MAAA,UACnDwtG,EAAW,CAAD4G,EAAAp0G,KAAA,eAAAo0G,EAAA3oB,OAAA,oBACVjtF,EAAK,CAAD41G,EAAAp0G,KAAA,eAAAo0G,EAAA3oB,OAAA,wBAAA2oB,EAAA1xE,KAAA,EAAA0xE,EAAAp0G,KAAA,EAGmB,IAAInjB,SAAQ,SAACC,EAASC,GAC9C+hC,GAAAA,KAAW,2CAA4C,CACrDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,GAC/B,CACDviG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,wCAAD2B,OAAyCe,EAAI6B,KAAKA,KAAKwxH,MAClEjzH,EAAQJ,EAAI6B,KAAKA,KAAKwxH,QACrB1pG,MAAMg2B,MACR,KAAD,EATe,OAAXk2E,EAAW6B,EAAA1oB,KAAA0oB,EAAAp0G,KAAA,GAWX,IAAInjB,SAAQ,SAACC,EAASC,GAC1B+hC,GAAAA,KAAW,qCAAsC,CAC/Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWiC,IAAKwC,EAAazsC,OAAQkoC,EACrExvG,KAAMA,GACL,CACD+M,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,2BAAD2B,OAA4Be,EAAI6B,KAAKA,KAAKwxH,IAAG,KAAAp0H,OAAIe,EAAI6B,KAAKA,KAAKq9G,MAC1E9+G,EAAQJ,EAAI6B,KAAKA,KAAKwxH,QACrB1pG,MAAMg2B,MACR,KAAD,GAKyB,OALzB+3E,EAAA1xE,KAAA,GAKF8wE,GAAcA,IAAaY,EAAA57G,OAAA,6BAAA47G,EAAAzxE,UAAAoxE,EAAA,uBAE9B,gBAAA0F,EAAAC,GAAA,OAAApG,EAAA/5H,MAAA,KAAAE,YAjCiC,GAiC/B,CAAC+zH,EAAYnxE,EAAaskE,EAAUvD,EAAW0Q,EAAWE,IAkF7D,OA/EA/xG,EAAAA,WAAgB,WACT6xG,GACAnN,IAELrmH,QAAQN,IAAI,6BACZ8kC,GAAAA,KAAW,wCAAyC,CAClDm+E,KAAM0D,EAAUvD,UAAAA,GACf,CACD7xF,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,iCAAD2B,OAAkCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,QACrE8vH,EAAmB3xH,EAAI6B,KAAKA,KAAKq1H,SAChCvtG,MAAMg2B,MACR,CAACA,EAAaskE,EAAUvD,EAAWiR,EAAoBP,IAG1D7xG,EAAAA,WAAgB,WACd,GAAKuxG,EAAL,CAEA,IAAMqG,EAAe,eAAAC,EAAAj3E,GAAA0F,KAAAA,MAAG,SAAAiyE,IAAA,IAAAR,EAAAC,EAAAt/G,EAAAqsD,EAAAnrE,EAAA,OAAA0sD,KAAAA,MAAA,SAAAkyE,GAAA,cAAAA,EAAA/xE,KAAA+xE,EAAAz0G,MAAA,UACjBwtG,GAAeM,GAAcM,EAAe,CAAAqG,EAAAz0G,KAAA,eAAAy0G,EAAAhpB,OAAA,qBAC7CgkB,GAAWhvH,QAAQ+8G,WAAW,CAADiX,EAAAz0G,KAAA,eAAAy0G,EAAAhpB,OAAA,iBACI,OAArCgkB,GAAWhvH,QAAQ+8G,YAAa,EAAKiX,EAAA/xE,KAAA,EAAA+xE,EAAAz0G,KAAA,EAGL,IAAInjB,SAAQ,SAACC,EAASC,GAClD+hC,GAAAA,KAAW,wCAAyC,CAClDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAW8F,KAAMxF,EAAiBtoC,OAAQkoC,GACzE,CACDziG,QAASzO,OACRsJ,MAAK,SAAA1pB,GAINI,EAAQJ,EAAI6B,KAAKA,SAChB8nB,MAAMg2B,MACR,KAAD,EAGiD,GAHjD23E,EAAAS,EAAA/oB,KAXKuoB,EAAID,EAAJC,KAAMt/G,EAAOq/G,EAAPr/G,QAab86G,GAAWhvH,QAAQkvH,mBAAqBh7G,EACxC86G,GAAWhvH,QAAQivH,aAAkB,OAAJuE,QAAI,IAAJA,OAAI,EAAJA,EAAMn+H,SAAU,EACxC,OAAJm+H,QAAI,IAAJA,GAAAA,EAAMn+H,OAAO,CAAD2+H,EAAAz0G,KAAA,gBAAAy0G,EAAAhpB,OAAA,kBAAAzqC,EAAAze,KAAAA,MAAA,SAAAye,EAERnrE,GAAC,IAAAi6H,EAAAqE,EAAA,OAAA5xE,KAAAA,MAAA,SAAA2xE,GAAA,cAAAA,EAAAxxE,KAAAwxE,EAAAl0G,MAAA,OACY,GACH,UADX8vG,EAAMmE,EAAKp+H,IACT84C,KAAe,CAAAulF,EAAAl0G,KAAA,QACqC,OAA1DgwG,GAASF,EAAIv7F,UAAY,MAAOu7F,EAAIA,IAAK,WAAW,GAAMoE,EAAAzoB,OAAA,4BAW5D,OAPM0oB,EAAmBrE,EAAIuE,KAC7BrE,GAASF,EAAIv7F,UAAY,MAAOu7F,EAAIA,IAAK,WAIzCx1H,QAAQN,IAAI,0CAAD2B,OAA2CgW,KAAKsL,UAAU6yG,KAErEoE,EAAAl0G,KAAA,EACM,IAAInjB,SAAQ,SAACC,EAASC,GAC1B+hC,GAAAA,KAAW,yCAA0C,CACnDm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAW8F,KAAMxF,EAAiBiG,KAAMF,GACvE,CACD5oG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNpC,QAAQN,IAAI,uBAAD2B,OAAwBw4H,IACnCr3H,OACCupB,OAAM,SAAAhsB,GAAK,OAAI0C,EAAO1C,SACxB,KAAD,mBAAA65H,EAAAvxE,UAAAqe,MAxBKnrE,EAAI,EAAE,KAAD,QAAEA,EAAIo+H,EAAKn+H,QAAM,CAAA2+H,EAAAz0G,KAAA,gBAAAy0G,EAAAF,cAAAvzD,EAAtBnrE,GAAC,iCAAA4+H,EAAA7oB,GAAA,CAAA6oB,EAAAz0G,KAAA,gBAAAy0G,EAAAhpB,OAAA,uBAAuB51G,IAAG4+H,EAAAz0G,KAAA,iBA2BE,OA3BFy0G,EAAA/xE,KAAA,GA2BpC+sE,GAAWhvH,QAAQ+8G,YAAa,EAAMiX,EAAAj8G,OAAA,6BAAAi8G,EAAA9xE,UAAA6xE,EAAA,uBAEzC,kBApDoB,OAAAV,EAAAv6H,MAAA,KAAAE,YAAA,GAsDfmoF,EAAQC,YAAWhlC,GAAA0F,KAAAA,MAAC,SAAAmyE,IAAA,OAAAnyE,KAAAA,MAAA,SAAAoyE,GAAA,cAAAA,EAAAjyE,KAAAiyE,EAAA30G,MAAA,OACxB6zG,IAAkBxtG,MAAMg2B,GAAa,wBAAAs4E,EAAAhyE,UAAA+xE,OACpC,KACH,OAAO,kBAAM5yC,cAAcF,OAC1B,CAAC4rC,EAAYnxE,EAAayxE,EAAWM,EAAiB4B,GAAUP,GAAY9O,EAAUvD,EAAW4Q,IAEhGQ,GACKx1E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAAE1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,OAAe,kBAG3EozB,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAAA,OAAA0B,UAAK1B,EAAAA,GAAAA,KAAA,SAAOR,IAAK+sF,EAAWtE,UAAU,EAAMrjC,OAAO,aAClDkoC,IAAcN,GAAaxsF,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UAC1B1B,EAAAA,GAAAA,KAAC+zF,GAAgB,CAAMpU,SAAAA,EAAUvD,UAAAA,EAC/B7oF,SAAAA,EAAU0rF,aAAAA,EAAc6N,UAAAA,EAAWE,OAAAA,EAAQ5/E,SAAUovE,EAAYj/D,MAAOnhD,EAAE,kBAC1E43H,SAAU3D,OACR,GACL7D,IAAeN,GACdl0E,EAAAA,GAAAA,MAACqqC,GAAG,CAAA3gD,SAAA,EACF1B,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACF1B,EAAAA,GAAAA,KAAC24F,GAAmB,CAClBjM,WAAAA,EAAYE,WAAAA,EAAYmL,eAAAA,GAAgBS,cAAAA,GAAenG,SAAAA,GAAU1S,SAAAA,EAAUvD,UAAAA,EAC3E0Q,UAAAA,EAAWI,UAAAA,EAAWpP,aAAAA,EAAcwP,YAAAA,OAGxCttF,EAAAA,GAAAA,KAACoe,GAAG,CAAA1c,UACFsW,EAAAA,GAAAA,MAACk8E,GAAgB,CAAMpG,UAAAA,EAAWF,WAAAA,EAAYjO,SAAAA,EAAUvD,UAAAA,EAAS16E,SAAA,EAC/D1B,EAAAA,GAAAA,KAACm0F,GAAc,CAAMzG,UAAAA,EAAW6B,eAAAA,MAChCvvF,EAAAA,GAAAA,KAACo0F,GAAY,CAAMpG,QAAAA,EAASqB,aAAAA,aAGzB,GACV7C,GAAcN,GACbl0E,EAAAA,GAAAA,MAAA,OAAAtW,SAAA,EACE1B,EAAAA,GAAAA,KAACq0F,GAAoB,CAAMvG,UAAAA,EAAWF,WAAAA,KACtC5tF,EAAAA,GAAAA,KAACm0F,GAAc,CAAMzG,UAAAA,EAAW6B,eAAAA,MAChCvvF,EAAAA,GAAAA,KAACo0F,GAAY,CAAMpG,QAAAA,EAASqB,aAAAA,MAC5BrvF,EAAAA,GAAAA,KAAC24F,GAAmB,CAClBjM,WAAAA,EAAYE,WAAAA,EAAYmL,eAAAA,GAAgBS,cAAAA,GAAenG,SAAAA,GAAU1S,SAAAA,EAAUvD,UAAAA,EAC3E0Q,UAAAA,EAAWI,UAAAA,EAAWpP,aAAAA,EAAcwP,YAAAA,OAE/B,IACXttF,EAAAA,GAAAA,KAAA,OAAKR,IAAKgwF,QAKhB,SAASuE,GAAgB6E,GAAyG,IAAvGjZ,EAAQiZ,EAARjZ,SAAUvD,EAASwc,EAATxc,UAAW7oF,EAAQqlG,EAARrlG,SAAU0rF,EAAY2Z,EAAZ3Z,aAAc6N,EAAS8L,EAAT9L,UAAWE,EAAM4L,EAAN5L,OAAQ5/E,EAAQwrF,EAARxrF,SAAUmQ,EAAKq7E,EAALr7E,MAAOy2E,EAAQ4E,EAAR5E,SAAUsB,EAAQsD,EAARtD,SAC9Gj6E,GAAcC,EAAAA,GAAAA,mBAC8B+4C,EAAA/lE,GAApBrT,EAAAA,UAAe,GAAK,GAA3CioG,EAAO7uB,EAAA,GAAE8uB,EAAU9uB,EAAA,GACkBG,EAAAlmE,GAApBrT,EAAAA,SAAe,MAAK,GAArCs1G,EAAI/7B,EAAA,GAAE+gC,EAAO/gC,EAAA,GAqBpB,OAnBAv5E,EAAAA,WAAgB,WACT+xG,GAELlvF,GAAAA,KAAW,mCAAoC,CAC7Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWhoC,OAAQkoC,GAClD,CACDziG,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNynH,GAAW,GACX,IAAM5mB,EAAI7gG,EAAI6B,KAAKA,KACnBg4H,EAAO/8H,GAAAA,GAAC,GACH+jG,GAAC,IAAEzX,OAAQkoC,EACdz5F,SAAUA,GAAYgpE,EAAEhpE,SACxBnxB,SAAU68G,GAAgB1iB,EAAEn6F,YAE9B9I,QAAQN,IAAI,oCAAD2B,OAAqCgW,KAAKsL,UAAUvgB,EAAI6B,KAAKA,WACvE8nB,MAAMg2B,KACR,CAACA,EAAak6E,EAASpS,EAAYxD,EAAUvD,EAAW7oF,EAAU0rF,EAAc6N,EAAWE,IAE1F9J,IAAYqN,GACPv4E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAAE1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,OAAe,kBAEtEob,EAAAA,GAAAA,KAACw1F,GAAoB,CAAM7V,SAAAA,EAAUvD,UAAAA,EAAW0Q,UAAAA,EAAWyD,KAAAA,EAAMnjF,SAAAA,EAAUmQ,MAAAA,EAAOy2E,SAAAA,EAAUsB,SAAAA,IAGrG,SAASE,GAAoBqD,GAA+E,IAA7ElZ,EAAQkZ,EAARlZ,SAAUvD,EAASyc,EAATzc,UAAW0Q,EAAS+L,EAAT/L,UAAWyD,EAAIsI,EAAJtI,KAAMnjF,EAAQyrF,EAARzrF,SAAUmQ,EAAKs7E,EAALt7E,MAAOy2E,EAAQ6E,EAAR7E,SAAUsB,EAAQuD,EAARvD,SACvFl5H,EAAKo8C,KAALp8C,EACDi/C,GAAcC,EAAAA,GAAAA,mBAEqCq5C,EAAArmE,GAArBrT,EAAAA,UAAe,GAAM,GAAlDuhG,EAAU7nB,EAAA,GAAE8nB,EAAa9nB,EAAA,GAC6BG,EAAAxmE,GAA7BrT,EAAAA,SAAes1G,EAAKh9F,UAAS,GAAtDwrF,EAAQjqB,EAAA,GAAEkqB,EAAWlqB,EAAA,GACyCG,EAAA3mE,GAA7BrT,EAAAA,SAAes1G,EAAKnuH,UAAS,GAA9D68G,EAAYhqB,EAAA,GAAEiqB,EAAejqB,EAAA,GAE9B2gC,EAAe36G,EAAAA,aAAkB,SAAChc,GACtCw9G,GAAc,GAEd3+E,GAAAA,KAAW,oCAAqC,CAC9Cm+E,KAAM0D,EAAUvD,UAAAA,EAAWgU,IAAKtD,EAAWhoC,OAAQyrC,EAAKzrC,OACxDptF,KAAMqnH,EAAUpiG,KAAMsiG,GACrB,CACD10F,QAASzO,OACRsJ,MAAK,SAAA1pB,GACN+gH,GAAc,GACdnjH,QAAQN,IAAI,oCACZg7H,GAAYA,EAASt4H,EAAI6B,KAAKA,SAC7B8nB,MAAMg2B,KACR,CAACA,EAAaskE,EAAUvD,EAAW0Q,EAAWyD,EAAMxR,EAAUE,EAAc+U,EAAUvX,IAEzF,OAAOz8E,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACLsW,EAAAA,GAAAA,MAAC8H,GAAI,CAAApe,SAAA,EACHsW,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,oBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,sBACjB4jC,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQ7mC,KAAK,QAAQ2M,aAAcq5G,EAAUh9D,SAAU,SAAC9iD,GACvEA,EAAE0pC,iBACFq2E,EAAY//G,EAAEtK,OAAO0B,cAGzB2hD,EAAAA,GAAAA,MAAC8H,GAAAA,MAAU,CAAChgB,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,MAAU,CAAApe,SAAEtlC,EAAE,sBACf47C,EAAAA,GAAAA,MAAC8H,GAAAA,KAAS,CAAApe,SAAA,CAAC,MAAItlC,EAAE,oBAAoB,SAClCA,EAAE,aAAa,KAAC4jC,EAAAA,GAAAA,KAAA,QAAA0B,SAAM,4BAA+B,aACrDtlC,EAAE,cAAc,KAAC4jC,EAAAA,GAAAA,KAAA,KAAGpP,KAAK,wDAAwDj8B,OAAO,SAAS04C,IAAI,aAAY3L,SAAC,cAAa,QAElI1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CAAClgB,GAAG,QAAQl6B,aAAcu5G,EAAcl9D,SAAU,SAAC9iD,GAC9DA,EAAE0pC,iBACFu2E,EAAgBjgH,EAAEtK,OAAO0B,cAG7B2pC,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUovE,GAAcpvE,EAAUnF,QAAS2tF,EAAal0F,SAC7F6b,GAASnhD,EAAE,mBAEbk5H,GAAWt9E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,QAEZ1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAUovE,GAAcpvE,EAAUnF,QAASqtF,EAAS5zF,SACzFtlC,EAAE,sBAED,IACN4jC,EAAAA,GAAAA,KAAA,aAKN,SAAS24F,GAAmBpE,GAA2I,IAAzI7H,EAAU6H,EAAV7H,WAAYE,EAAU2H,EAAV3H,WAAYU,EAAWiH,EAAXjH,YAAa+E,EAAQkC,EAARlC,SAAU0F,EAAcxD,EAAdwD,eAAgBS,EAAajE,EAAbiE,cAAe7Y,EAAQ4U,EAAR5U,SAAUvD,EAASmY,EAATnY,UAAW0Q,EAASyH,EAATzH,UAAWI,EAASqH,EAATrH,UAAWpP,EAAYyW,EAAZzW,aAC9I1hH,EAAKo8C,KAALp8C,EACD8vH,EAAWD,KAC4C3f,EAAAh+E,GAArBrT,EAAAA,UAAe,GAAM,GAAtD86G,EAAYzpB,EAAA,GAAE0pB,EAAe1pB,EAAA,GACkBG,EAAAn+E,GAApBrT,EAAAA,SAAe,MAAK,GAA/Ci7G,EAASzpB,EAAA,GAAE0pB,EAAY1pB,EAAA,GACmCG,EAAAt+E,GAArBrT,EAAAA,UAAe,GAAM,GAA1Do7G,EAAczpB,EAAA,GAAE0pB,EAAiB1pB,EAAA,GACSc,EAAAp/E,GAAzBrT,EAAAA,SAAeiyG,GAAU,GAA1CqD,EAAI7iB,EAAA,GAAE6nB,EAAO7nB,EAAA,GACkCO,EAAA3/E,GAAhBrT,EAAAA,WAAgB,GAA/C4K,EAAWooF,EAAA,GAAEwoB,EAAcxoB,EAAA,GACgBG,EAAA9/E,GAAlBrT,EAAAA,SAAe,IAAG,GAA3C07G,EAAQvoB,EAAA,GAAEwoB,EAAWxoB,EAAA,GAC4CK,EAAAngF,GAA1BrT,EAAAA,SAAeyxG,GAAW,GAAjEoM,EAAerqB,EAAA,GAAEsqB,EAAkBtqB,EAAA,GACmB4Q,EAAA/wF,GAArBrT,EAAAA,UAAe,GAAM,GAAtD+9G,EAAY3Z,EAAA,GAAE4Z,EAAe5Z,EAAA,GAEpCpkG,EAAAA,WAAgB,WACd,GAAK0kG,EAAL,CAEA,IAAM93F,EAAS,CACb,cACA,WACA,cAAc,WAADltB,QACF,IAAIo1B,MAAO7I,eAAa,UAAAvsB,OACzB8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAE,QAAAkD,OACtCglH,GAAQ,aAAAhlH,OACHyhH,IAETj0F,EAAG,GAAAxtB,OAAMuD,OAAO0hH,WAAU,KAAAjlH,OAAI4hB,GAAO9c,UAAS,oBAAA9E,OAAmBktB,EAAOloB,KAAK,MACnFw2H,EAAahuG,GACb7uB,QAAQN,IAAI,yBAAD2B,OAA0BwtB,OACpC,CAACw3F,EAAUwW,EAAc/Z,EAAWmU,IAEpBt1G,EAAAA,aAAkB,SAAChc,GACpCA,EAAE0pC,iBACGutF,IACLF,GAAgB,GAChB93H,OAAOi2B,KAAK+hG,EAAW,SAAU,gDAChC,CAACA,EAAWF,IALf,IAOMa,EAAe57G,EAAAA,aAAkB,SAAChc,GACtCA,EAAE0pC,iBACF2tF,GAAkB,GAClBN,GAAgB,KACf,CAACM,EAAmBN,IAEjBc,EAAqB77G,EAAAA,aAAkB,SAACs1G,GAC5C+F,GAAkB,GAClBf,EAAO/8H,GAAC,GAAI+3H,MACX,CAAC+F,EAAmBf,IAEvBt6G,EAAAA,WAAgB,WACTs1G,GACLkG,EAAe,QAAD97H,OAAS41H,EAAKh9F,UAAY,MAAK,MAAA54B,OAAK41H,EAAKnuH,SAAQ,QAC9D,CAACmuH,EAAMkG,IAEV,IAAMM,EAAa97G,EAAAA,aAAkB,SAAChc,GACpCA,EAAE0pC,iBACGguF,GAELtE,GAAYA,EAASsE,GAAU,WAC7BC,EAAY,SAEb,CAACD,EAAUtE,EAAUuE,IAElBI,EAAiB/7G,EAAAA,aAAkB,SAAChc,GAC1B,UAAVA,EAAE5J,KACJ0hI,EAAW93H,KAEZ,CAAC83H,IAEJ97G,EAAAA,WAAgB,WACTqyG,GACLsJ,EAAYtJ,KACX,CAACA,IAEJ,IAAM4L,EAAuBj+G,EAAAA,YAAiB,eAAA25G,EAAA/4E,GAAA0F,KAAAA,MAAC,SAAAqyE,EAAO30H,GAAC,OAAAsiD,KAAAA,MAAA,SAAAuyE,GAAA,cAAAA,EAAApyE,KAAAoyE,EAAA90G,MAAA,OAKnD,OAJF/f,EAAE0pC,iBAAiBmrF,EAAApyE,KAAA,EAEjBu3E,GAAgB,GAEhBnF,EAAA90G,KAAA,EACM,IAAInjB,SAAQ,SAACC,EAASC,GAC1Bg8H,EAAej8H,GAASupB,MAAMtpB,MAC7B,KAAD,SAAA+3H,EAAA90G,KAAA,EACI,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,SAAO,KAAD,EACzDi9H,GAAmB,GAAM,OAEF,OAFEjF,EAAApyE,KAAA,EAEzBu3E,GAAgB,GAAOnF,EAAAt8G,OAAA,4BAAAs8G,EAAAnyE,UAAAiyE,EAAA,sBAE1B,gBAAAuF,GAAA,OAAAvE,EAAAr8H,MAAA,KAAAE,YAd6C,GAc3C,CAACwgI,EAAiBlB,EAAgBgB,IAE/BK,EAAsBn+G,EAAAA,YAAiB,eAAAo+G,EAAAx9E,GAAA0F,KAAAA,MAAC,SAAAszE,EAAO51H,GAAC,OAAAsiD,KAAAA,MAAA,SAAA0zE,GAAA,cAAAA,EAAAvzE,KAAAuzE,EAAAj2G,MAAA,OAG5B,OAFxB/f,EAAE0pC,iBAAiBssF,EAAAvzE,KAAA,EAEjBu3E,GAAgB,GAAMhE,EAAAj2G,KAAA,EAChBw5G,IAAgB,KAAD,SAAAvD,EAAAj2G,KAAA,EACf,IAAInjB,SAAQ,SAACC,GAAO,OAAK+Y,WAAW/Y,EAAS,QAAM,KAAD,EACxDi9H,GAAmB,GAAO,OAEH,OAFG9D,EAAAvzE,KAAA,EAE1Bu3E,GAAgB,GAAOhE,EAAAz9G,OAAA,4BAAAy9G,EAAAtzE,UAAAkzE,EAAA,sBAE1B,gBAAAyE,GAAA,OAAAD,EAAA9gI,MAAA,KAAAE,YAV4C,GAU1C,CAACwgI,EAAiBT,EAAeO,IAEpC,OAAI7M,GACKl0E,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACLsW,EAAAA,GAAAA,MAAC4wD,GAAU,CAAC9oE,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CACXlgB,GAAG,QAAQkiB,YAAa1lD,EAAE,gBAAiB,mBAAiB,eAAe/F,MAAOsgI,EAClF50E,SAAU,SAAC9iD,GAAC,OAAK23H,EAAY33H,EAAEtK,OAAO0B,QACtC4gI,WAAYD,KACdh3F,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUxtB,GAAG,gBAAgBmf,QAAS8uF,EAAWr1F,SAAEtlC,EAAE,oBAEtE0hH,IAAgB99E,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SACbo3F,GAMA9gF,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAU4rF,EAAc/wF,QAASmxF,EAAoB13F,SAC1FtlC,EAAE,iBACI,SACT4jC,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,WAVnCozB,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAChB1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAU4rF,EAAc/wF,QAASixF,EAAqBx3F,SAC3FtlC,EAAE,kBACI,SACPswH,GAAcE,KAAe5sF,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,gBAY1Fob,EAAAA,GAAAA,KAAA,OAAA0B,UACEsW,EAAAA,GAAAA,MAACorC,GAAI,CAAA1hD,SAAA,EACHsW,EAAAA,GAAAA,MAACorC,GAAAA,OAAW,CAAA1hD,SAAA,CACTtlC,EAAE,eAAgB25H,EAAe,GAAKlwG,GACvCma,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS7N,UAAU,uBAAsB4B,UACjD1B,EAAAA,GAAAA,KAAC4qD,GAAS,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAK+2H,GAAiBD,QAEvDA,IAAgB/1F,EAAAA,GAAAA,KAAA,OAAKF,UAAU,yBAAwB4B,UACtDsW,EAAAA,GAAAA,MAACyzB,GAAAA,KAAa,CAACp0B,MAAM,EAAK3V,SAAA,EACvB,GACD1B,EAAAA,GAAAA,KAACyrC,GAAAA,KAAa,CAAC76C,KAAK,KAAKqX,QAAS4uF,EAAan1F,SAAEtlC,EAAE,+BAIzD47C,EAAAA,GAAAA,MAACorC,GAAAA,KAAS,CAAA1hD,SAAA,CACP20F,GAAiBr2F,EAAAA,GAAAA,KAAC+zF,GAAgB,CACjCpU,SAAAA,EAAUvD,UAAAA,EAAW0Q,UAAAA,EAAWE,OAAQE,EAAUpoC,OAAQkvC,SAAU8C,EACpExB,SAAU,kBAAMgB,GAAkB,MAC5B,IACRt+E,EAAAA,GAAAA,MAAC4wD,GAAU,CAAC9oE,UAAU,OAAM4B,SAAA,EAC1B1B,EAAAA,GAAAA,KAAC8f,GAAAA,QAAY,CACXlgB,GAAG,QAAQkiB,YAAa1lD,EAAE,gBAAiB,mBAAiB,eAAe/F,MAAOsgI,EAClF50E,SAAU,SAAC9iD,GAAC,OAAK23H,EAAY33H,EAAEtK,OAAO0B,QACtC4gI,WAAYD,KACdh3F,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUxtB,GAAG,gBAAgBmf,QAAS8uF,EAAWr1F,SAAEtlC,EAAE,oBAEtE0hH,IAAgB99E,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SACbo3F,GAMA9gF,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAU4rF,EAAc/wF,QAASmxF,EAAoB13F,SAC1FtlC,EAAE,iBACI,SACT4jC,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,WAVnCozB,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAChB1B,EAAAA,GAAAA,KAAC6N,GAAM,CAACyI,QAAQ,UAAUv9C,KAAK,SAASq0C,SAAU4rF,EAAc/wF,QAASixF,EAAqBx3F,SAC3FtlC,EAAE,kBACI,SACPswH,GAAcE,KAAe5sF,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,oBAelG,SAASsvG,GAAgBmB,GAA0D,IAAxDvH,EAASuH,EAATvH,UAAWF,EAAUyH,EAAVzH,WAAYlsF,EAAQ2zF,EAAR3zF,SAAUi+E,EAAQ0V,EAAR1V,SAAUvD,EAASiZ,EAATjZ,UAC7DhgH,EAAKo8C,KAALp8C,EACsDs5H,EAAApnG,GAArBrT,EAAAA,UAAe,GAAM,GAAtD86G,EAAYL,EAAA,GAAEM,EAAeN,EAAA,GACkBC,EAAArnG,GAApBrT,EAAAA,SAAe,MAAK,GAA/Ci7G,EAASP,EAAA,GAAEQ,EAAYR,EAAA,GAGxB0B,EAAcp8G,EAAAA,OAAa,MACjCA,EAAAA,WAAgB,WACE,OAAXo8G,QAAW,IAAXA,GAAAA,EAAa53H,UAClBnG,QAAQN,IAAI,8BAAD2B,OAA+B08H,EAAY53H,QAAQq8D,aAAY,WAAAnhE,OAAUmzH,EAAUh5H,OAAM,YAAA6F,OAAWizH,IAC/GyJ,EAAY53H,QAAQ63H,SAAS,EAAGD,EAAY53H,QAAQq8D,iBACnD,CAACgyD,EAAWuJ,EAAazJ,IAE5B3yG,EAAAA,WAAgB,WACd,GAAK0kG,EAAL,CAEA,IAAM93F,EAAS,CACb,cACA,WACA,cAAe,WAAAltB,QACJ,IAAIo1B,MAAO7I,eAAa,UAAAvsB,OACzB8S,KAAKqX,SAASttB,SAAS,IAAIC,OAAO,IAAE,QAAAkD,OACtCglH,GAAQ,aAAAhlH,OACHyhH,IAETj0F,EAAG,GAAAxtB,OAAMuD,OAAO0hH,WAAU,KAAAjlH,OAAI4hB,GAAO9c,UAAS,oBAAA9E,OAAmBktB,EAAOloB,KAAK,MACnFw2H,EAAahuG,GACb7uB,QAAQN,IAAI,yBAAD2B,OAA0BwtB,OACpC,CAACw3F,EAAUwW,EAAc/Z,IAE5B,IAAMmb,EAAat8G,EAAAA,aAAkB,SAAChc,GACpCA,EAAE0pC,iBACGutF,IACLF,GAAgB,GAChB93H,OAAOi2B,KAAK+hG,EAAW,SAAU,gDAChC,CAACA,EAAWF,IAEf,OACEh2F,EAAAA,GAAAA,KAAA,OAAA0B,UACEsW,EAAAA,GAAAA,MAACorC,GAAI,CAAA1hD,SAAA,EACHsW,EAAAA,GAAAA,MAACorC,GAAAA,OAAW,CAAA1hD,SAAA,CACTtlC,EAAE,iBACH4jC,EAAAA,GAAAA,KAAA,OAAK2N,KAAK,SAAS7N,UAAU,uBAAsB4B,UACjD1B,EAAAA,GAAAA,KAAC4qD,GAAS,CAAChmE,KAAM,GAAIqjB,QAAS,SAAChpC,GAAC,OAAK+2H,GAAiBD,QAEvDA,IAAgB/1F,EAAAA,GAAAA,KAAA,OAAKF,UAAU,wBAAuB4B,UACrD1B,EAAAA,GAAAA,KAACyrC,GAAAA,KAAa,CAACp0B,MAAM,EAAK3V,UACxB1B,EAAAA,GAAAA,KAACyrC,GAAAA,KAAa,CAAC76C,KAAK,KAAKqX,QAASsvF,EAAW71F,SAAEtlC,EAAE,6BAIvD4jC,EAAAA,GAAAA,KAACojD,GAAAA,KAAS,CAAA1hD,UACRsW,EAAAA,GAAAA,MAAA,OAAKlY,UAAU,kBAAkBN,IAAK63F,EAAY31F,SAAA,CAC/CA,EACAosF,EAAU7qH,KAAI,SAACjK,GACd,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAclB,QAASt9C,EAAIs9C,QAASxW,UAAU,oBAAmB4B,SAAA,CACpE1oC,EAAI20C,KAAK,KAAG30C,EAAI81H,MADP91H,EAAI8vB,iBAYhC,SAASurG,GAAoBoB,GAA2B,IAAzB3H,EAAS2H,EAAT3H,UAAWF,EAAU6H,EAAV7H,WAElCyJ,EAAcp8G,EAAAA,OAAa,MAOjC,OANAA,EAAAA,WAAgB,WACE,OAAXo8G,QAAW,IAAXA,GAAAA,EAAa53H,UAClBnG,QAAQN,IAAI,8BAAD2B,OAA+B08H,EAAY53H,QAAQq8D,aAAY,WAAAnhE,OAAUmzH,EAAUh5H,OAAM,YAAA6F,OAAWizH,IAC/GyJ,EAAY53H,QAAQ63H,SAAS,EAAGD,EAAY53H,QAAQq8D,iBACnD,CAACgyD,EAAWuJ,EAAazJ,KAG1B5tF,EAAAA,GAAAA,KAAA,OAAKF,UAAU,gCAAgCN,IAAK63F,EAAY31F,SAC7DosF,EAAU7qH,KAAI,SAACjK,GACd,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAclB,QAASt9C,EAAIs9C,QAASxW,UAAU,oBAAmB4B,SAAA,CACpE1oC,EAAI20C,KAAK,KAAG30C,EAAI81H,MADP91H,EAAI8vB,SAS1B,SAASqrG,GAAc0B,GAA+B,IAA7BnI,EAASmI,EAATnI,UAAW6B,EAAcsG,EAAdtG,eAClC,OACEvvF,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACZgsF,EAAUzqH,KAAI,SAACjK,GACd,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAcI,QAAS,kBAAM23E,EAAev2H,IAAMs9C,QAAQ,SAASuB,aAAW,EAAAnW,SAAA,EAClF1B,EAAAA,GAAAA,KAACwX,GAAAA,QAAa,CAAA9V,SAAC,YACf1B,EAAAA,GAAAA,KAAA,KAAA0B,SAAI1oC,EAAI81H,QAFE91H,EAAI8vB,SAU1B,SAASsrG,GAAY8C,GAA2B,IAAzBlJ,EAAOkJ,EAAPlJ,QAASqB,EAAY6H,EAAZ7H,aAC9B,OACErvF,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,SACZssF,EAAQ/qH,KAAI,SAACjK,GACZ,OACEg/C,EAAAA,GAAAA,MAACR,GAAK,CAAcI,QAAS,kBAAMy3E,EAAar2H,IAAMs9C,QAAQ,UAAUuB,aAAW,EAAAnW,SAAA,EACjF1B,EAAAA,GAAAA,KAACwX,GAAAA,QAAa,CAAA9V,SAAE1oC,EAAIuiD,SACpBvb,EAAAA,GAAAA,KAAA,KAAA0B,SAAI1oC,EAAI81H,QAFE91H,EAAI8vB,SC96BX,SAASywG,KACtB,IAAMloG,EAAW2R,KACVvkB,EAAQ+5B,KAAR/5B,KACoDq7B,EAAAxrB,GAArBrT,EAAAA,UAAe,GAAM,GAApDq9B,EAAWwB,EAAA,GAAE0/E,EAAc1/E,EAAA,GAsBlC,OAlBA7+B,EAAAA,WAAgB,WACd,GAAKwD,GAAS4S,EAAd,CAEA,IAAM1U,EAAO0U,EAASD,SAASj2B,MAAM,KAAK,GAGrCwhB,GAASxnB,OAAO6C,KAAK2I,IAAWkN,SAAS8O,KAK1CJ,GAAO9c,YAAckd,GACvB8B,EAAK/G,eAAeiF,GAGtB68G,GAAe,OACd,CAACA,EAAgB/6G,EAAM4S,KAGxB2mB,EAAAA,GAAAA,MAACzY,GAAS,CAACG,OAAK,EAAAgC,SAAA,EACd1B,EAAAA,GAAAA,KAAA,QACEsY,GAKAtY,EAAAA,GAAAA,KAACy5F,GAAW,KAJZzhF,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACE1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,OAAe,6BAQ5E,SAAS60G,KACP,IAAMp+E,GAAcC,EAAAA,GAAAA,mBACb7R,EAAiCnb,GAAjB+a,KAAiB,GAArB,GAC+B6R,EAAA5sB,GAApBrT,EAAAA,UAAe,GAAK,GAA3CioG,EAAOhoE,EAAA,GAAEioE,EAAUjoE,EAAA,GAsC1B,GApCAjgC,EAAAA,WAAgB,WACd,IAAMqD,EAAMmrB,EAAap0B,IAAI,OACvB+mG,EAAY3yE,EAAap0B,IAAI,aAC7BqkH,EAASjwF,EAAap0B,IAAI,UAC1B4mG,EAAOxyE,EAAap0B,IAAI,QACxBmqG,EAAY/1E,EAAap0B,IAAI,aAC7Bke,EAAWkW,EAAap0B,IAAI,YAC5B4pG,EAAex1E,EAAap0B,IAAI,YAChC8pG,EAAY11E,EAAap0B,IAAI,WAcnC,GAbA/b,QAAQN,IAAI,yBAAD2B,OAA0B2jB,EAAG,6BACxChlB,QAAQN,IAAI,2BAAD2B,OAAqC,OAATyhH,QAAS,IAATA,OAAS,EAATA,EAAWtnH,OAAM,sCACxDwE,QAAQN,IAAI,sBAAD2B,OAAuB++H,EAAM,kCAC5B,YAARp7G,IACFhlB,QAAQN,IAAI,4BAAD2B,OAA6BshH,EAAI,iCAC5C3iH,QAAQN,IAAI,yBAAD2B,OAA0B6kH,EAAS,wDAC5B,MAAdA,IACFlmH,QAAQN,IAAI,0BAAD2B,OAA2B44B,EAAQ,mCAC9Cj6B,QAAQN,IAAI,0BAAD2B,OAA2BskH,EAAY,4BAClD3lH,QAAQN,IAAI,oCAAD2B,OAAqCwkH,EAAS,2CAIxD7gG,EAAK,MAAM,IAAIvG,MAAM,UAC1B,IAAKqkG,EAAW,MAAM,IAAIrkG,MAAM,iBAChC,GAAY,YAARuG,IAAsB29F,EAAM,MAAM,IAAIlkG,MAAM,cAEhD+lB,GAAAA,KAAW,qCAAsC,CAC/Cm+E,KAAMxyE,EAAap0B,IAAI,QAAS+mG,UAAW3yE,EAAap0B,IAAI,cAC3D,CACDkV,QAASzO,OACRsJ,MAAK,SAAA1pB,GACNynH,GAAW,GACX7pH,QAAQN,IAAI,2BACXqsB,MAAMg2B,KACR,CAACA,EAAa5R,EAAc05E,IAE3BD,EACF,OAAOlrE,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACL1B,EAAAA,GAAAA,KAACugB,GAAO,CAACC,UAAU,SAASlK,QAAQ,UAAU1xB,KAAK,OAAe,qBAItE,IAAMtG,EAAMmrB,EAAap0B,IAAI,OAC7B,GAAY,YAARiJ,EAAmB,CACrB,IAAMkhG,EAA8C,MAAlC/1E,EAAap0B,IAAI,aAC7BsqG,EAAWl2E,EAAap0B,IAAI,QAC5B+mG,EAAY3yE,EAAap0B,IAAI,aAC7Bke,EAAWkW,EAAap0B,IAAI,YAC5B4pG,EAAex1E,EAAap0B,IAAI,YAChC8pG,EAAY11E,EAAap0B,IAAI,WACnC,OAAImqG,EACgB,cAAdL,GACKn/E,EAAAA,GAAAA,KAAC43F,GAAoB,CAAMjY,SAAAA,EAAUvD,UAAAA,EAAW7oF,SAAAA,EAAU0rF,aAAAA,KAE5Dj/E,EAAAA,GAAAA,KAACssF,GAAoB,CAAM3M,SAAAA,EAAUvD,UAAAA,EAAW7oF,SAAAA,EAAU0rF,aAAAA,KAE1Dj/E,EAAAA,GAAAA,KAACs0F,GAAmB,CAAM3U,SAAAA,EAAUvD,UAAAA,IAG7C,OAAOpkE,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CAAE,eAAapjB,KCrE1B,SAASq7G,GAASt5G,GAAW,IAAThnB,EAAKgnB,EAALhnB,MAClB,OAAO2mC,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,SAAO,OAALroC,QAAK,IAALA,OAAK,EAALA,EAAOksB,UAGlC,SAASq0G,KACP,IAAqDC,EAAAvrG,GAA/BrT,EAAAA,WAAiBwoE,IAAc,GAA9Ct4D,EAAG0uG,EAAA,GAAEC,EAAMD,EAAA,GACZx+E,GAAcC,EAAAA,GAAAA,mBAapB,OAXArgC,EAAAA,WAAgB,WACT6+G,GAELh8F,GAAAA,KAAW,0BAA2B,CACpChrB,OAAQyJ,GAAO9c,YACd2lB,MAAK,SAAA1pB,GACNo+H,EAAOp+H,EAAI6B,KAAKA,MAChBjE,QAAQN,IAAI,WAAD2B,OAAYgW,KAAKsL,UAAUvgB,EAAI6B,WACzC8nB,MAAMg2B,KACR,CAACA,EAAay+E,KAEV95F,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,SAAGvW,IAAO6U,EAAAA,GAAAA,KAAC+5F,GAAO,MAG3B,SAASA,KACP,IAAkD7+E,EAAA5sB,GAApBrT,EAAAA,UAAe,GAAK,GAA3CioG,EAAOhoE,EAAA,GAAEioE,EAAUjoE,EAAA,GAE6B6F,EAAAzyB,GAAjBrT,EAAAA,SAAe,GAAE,GAAhDq9B,EAAWyI,EAAA,GAAEy4E,EAAcz4E,EAAA,GAC5B1F,GAAcC,EAAAA,GAAAA,mBAWpB,OATArgC,EAAAA,WAAgB,WACd6iB,GAAAA,IAAU,4BAA4B1Y,MAAK,SAAA1pB,GACzCpC,QAAQN,IAAI,aAAD2B,OAAcgW,KAAKsL,UAAUvgB,EAAI6B,QAC5CugC,GAAAA,IAAU,2BAA2B1Y,MAAK,SAAA1pB,GACxC89H,EAAe99H,EAAI6B,KAAKA,KAAK5D,KAAO,GAAK,MACxC0rB,MAAMg2B,MACRh2B,MAAMg2B,GAAawG,QAAQshE,KAC7B,CAAC9nE,KAGFrD,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,CACGwhF,IAAWljF,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACV1B,EAAAA,GAAAA,KAACT,GAAS,CAACG,OAAK,EAAAgC,SAAC,kBAEjBwhF,IAAWljF,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UACX1B,EAAAA,GAAAA,KAACyH,GAAa,CAACjG,SAAUtjC,OAAO0hH,WAAWl+E,UACzC1B,EAAAA,GAAAA,KAACg6F,GAAQ,CAAM1hF,YAAAA,EAAakhF,eAAAA,WAOtC,SAASQ,GAAQz3G,GAAiC,IAA/B+1B,EAAW/1B,EAAX+1B,YAAakhF,EAAcj3G,EAAdi3G,eAC0BxnC,EAAA1jE,GAAhBrT,EAAAA,WAAgB,GAAjDg/G,EAAYjoC,EAAA,GAAEkoC,EAAeloC,EAAA,GACMG,EAAA7jE,GAAhBrT,EAAAA,WAAgB,GAAnCmB,EAAK+1E,EAAA,GAAEgoC,EAAQhoC,EAAA,GACf1oD,EAAiCnb,GAAjB+a,KAAiB,GAArB,GAE8BipD,EAAAhkE,GAAjBrT,EAAAA,SAAe,GAAE,GAA1Cm/G,EAAQ9nC,EAAA,GAAE+nC,EAAW/nC,EAAA,GAE5Br3E,EAAAA,WAAgB,WACTwuB,GACL4wF,EAA2C,MAA/B5wF,EAAap0B,IAAI,UAAoB,GAAK,KACrD,CAACo0B,IAEJxuB,EAAAA,WAAgB,WACdk/G,EAASr+G,QACR,CAACm+G,IAEJ,IAAMp4C,EAAS5mE,EAAAA,aAAkB,SAACmB,GAChCo9G,EAAe,GACfU,GAAgB,KACf,CAACV,EAAgBU,IAEpB,OACEliF,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACiB,IAAd04F,IAAmBp6F,EAAAA,GAAAA,KAAC+gD,GAAS,CAAMzoC,YAAAA,EAAal8B,MAAAA,KACjD4jB,EAAAA,GAAAA,KAACsC,GAAM,CAAAZ,SACY,IAAhB4W,GACCtY,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,CAAAymB,UACb1B,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,IAAI4oC,SAASnF,EAAAA,GAAAA,KAAC/kB,EAAAA,SAAc,SAE1C+8B,EAAAA,GAAAA,MAAC/8B,EAAAA,SAAc,CAAAymB,SAAA,EACb1B,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,IAAI4oC,SAASnF,EAAAA,GAAAA,KAACs6F,GAAO,OACjCtiF,EAAAA,GAAAA,MAAC3W,GAAK,CAAC9kC,KAAK,UAAU4oC,SAASnF,EAAAA,GAAAA,KAACu6F,GAAS,IAAG74F,SAAA,EACxB,IAAjB4W,IAAsBN,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EACrB1B,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,IAAI4oC,SAASnF,EAAAA,GAAAA,KAAC4hD,GAAK,CAACC,OAAQA,OACxC7hD,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,gBAAgB4oC,SAASnF,EAAAA,GAAAA,KAAC4hD,GAAK,CAACC,OAAQA,SAErC,IAAhBvpC,IAAsBl8B,IAAS4jB,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,CAAAlY,UAC9B1B,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,IAAI4oC,SAASnF,EAAAA,GAAAA,KAAC0gB,GAAK,CAACC,QAAS,kBAAMu5E,GAAiBD,UAEjD,IAAhB3hF,GAAqBl8B,IAAS47B,EAAAA,GAAAA,MAAA4B,GAAAA,SAAA,CAAAlY,SAAA,EAC7B1B,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,IAAI4oC,SAASnF,EAAAA,GAAAA,KAAC0gB,GAAK,CAACC,QAAS,kBAAMu5E,GAAiBD,SAChEj6F,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,gBAAgB4oC,SAASnF,EAAAA,GAAAA,KAAC0gB,GAAK,CAACC,QAAS,kBAAMu5E,GAAiBD,SAC5Ej6F,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,mBAAmB4oC,SAASnF,EAAAA,GAAAA,KAACqhF,GAAQ,OACjDrhF,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,mBAAmB4oC,SAASnF,EAAAA,GAAAA,KAACw6F,GAAQ,OACjDx6F,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,kBAAkB4oC,SAASnF,EAAAA,GAAAA,KAAC4rF,GAAO,OAC/C5rF,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,qBAAqB4oC,SAASnF,EAAAA,GAAAA,KAAC0jD,GAAU,OACrD1jD,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,iBAAiB4oC,SAASnF,EAAAA,GAAAA,KAACkiB,GAAM,CAACC,SAAU,kBAAM+3E,GAAiBD,WAEhE,IAAhB3hF,IAAqBtY,EAAAA,GAAAA,KAACqB,GAAK,CAAC9kC,KAAK,iBAAiB4oC,SAASnF,EAAAA,GAAAA,KAACu5F,GAAO,eAI7D,IAAda,IAAmBp6F,EAAAA,GAAAA,KAAC6a,GAAM,OAKjC,SAAS0/E,KACP,IAAM1yG,EpSobD,WAKL,IAAM9D,GAAY9I,EAAAA,EAAAA,YAAiB+lB,IAA7Bjd,QACF2e,EAAa3e,EAAQA,EAAQjvB,OAAS,GAC1C,OAAO4tC,EAAcA,EAAW7a,OAAiB,GoS3blC4yG,GACTz1F,EAAWJ,KACXvT,EAAW2R,KAgBjB,OAbA/nB,EAAAA,WAAgB,WACd,IAAI9lB,OAAO6C,KAAK2I,IAAWkN,SAASga,EAAO/U,SAGtC3d,OAAO6C,KAAK2I,IAAWkN,SAAS0O,GAAO9c,WAA5C,CAIA,IAAM4kC,EAAK,CAACjT,SAAS,IAADz2B,OAAM4hB,GAAO9c,UAAS,KAAA9E,OAAIktB,EAAO/U,QAAUke,OAAQK,EAASL,QAEhF,OADA13B,QAAQN,IAAI,WAAD2B,OAAYgW,KAAKsL,UAAUooB,GAAG,eAClCW,EAASX,MACf,CAACW,EAAUnd,EAAQwJ,KAEf2O,EAAAA,GAAAA,KAACkB,GAAM,IAGhB,SAASo5F,KACP,IAAMt1F,EAAWJ,KACXvT,EAAW2R,KAQjB,OANA/nB,EAAAA,WAAgB,WACd,IAAMopB,EAAK,CAACjT,SAAS,IAADz2B,OAAM4hB,GAAO9c,UAAS,kBAAkBuxB,OAAQK,EAASL,QAC7E13B,QAAQN,IAAI,WAAD2B,OAAYgW,KAAKsL,UAAUooB,GAAG,aACzCW,EAASX,KACR,CAACW,EAAU3T,KAEP2O,EAAAA,GAAAA,KAAA4Z,GAAAA,SAAA,IAGT,OA7JA,WACE,IAA0CE,EAAAxrB,GAApBrT,EAAAA,SAAe,MAAK,GAAnCkQ,EAAG2uB,EAAA,GAAEggF,EAAMhgF,EAAA,GAElB,OACE9Z,EAAAA,GAAAA,KAACyjD,GAAcxkD,SAAQ,CAAC5oC,MAAO,CAAC80B,EAAK2uG,GAAQp4F,UAC3C1B,EAAAA,GAAAA,KAACyZ,GAAAA,cAAa,CAACC,kBAAoBigF,GAAWj4F,UAC5C1B,EAAAA,GAAAA,KAACwZ,GAAgB,CAAA9X,UACf1B,EAAAA,GAAAA,KAAC45F,GAAU,WC/BrB3pF,EAAAA,QACEjQ,EAAAA,GAAAA,KAAC/kB,EAAAA,WAAgB,CAAAymB,UACb1B,EAAAA,GAAAA,KAAC06F,GAAG,MAER/8G,SAASg9G,eAAe,uCCd1B,SAASC,EAAS1+H,EAAG0mB,EAAG9kB,GAClB5B,aAAa8G,SAAQ9G,EAAI2+H,EAAW3+H,EAAG4B,IACvC8kB,aAAa5f,SAAQ4f,EAAIi4G,EAAWj4G,EAAG9kB,IAE3C,IAAIiF,EAAIyO,EAAMtV,EAAG0mB,EAAG9kB,GAEpB,OAAOiF,GAAK,CACV0yD,MAAO1yD,EAAE,GACTkjC,IAAKljC,EAAE,GACP+3H,IAAKh9H,EAAIrG,MAAM,EAAGsL,EAAE,IACpB+a,KAAMhgB,EAAIrG,MAAMsL,EAAE,GAAK7G,EAAEpH,OAAQiO,EAAE,IACnCg4H,KAAMj9H,EAAIrG,MAAMsL,EAAE,GAAK6f,EAAE9tB,SAI7B,SAAS+lI,EAAWG,EAAKl9H,GACvB,IAAIzB,EAAIyB,EAAIwF,MAAM03H,GAClB,OAAO3+H,EAAIA,EAAE,GAAK,KAIpB,SAASmV,EAAMtV,EAAG0mB,EAAG9kB,GACnB,IAAIm9H,EAAMC,EAAK9nE,EAAMF,EAAO/zD,EACxBykG,EAAK9lG,EAAIpB,QAAQR,GACjB2nG,EAAK/lG,EAAIpB,QAAQkmB,EAAGghF,EAAK,GACzB/uG,EAAI+uG,EAER,GAAIA,GAAM,GAAKC,EAAK,EAAG,CACrB,GAAG3nG,IAAI0mB,EACL,MAAO,CAACghF,EAAIC,GAKd,IAHAo3B,EAAO,GACP7nE,EAAOt1D,EAAIhJ,OAEJD,GAAK,IAAMsK,GACZtK,GAAK+uG,GACPq3B,EAAK3iI,KAAKzD,GACV+uG,EAAK9lG,EAAIpB,QAAQR,EAAGrH,EAAI,IACA,GAAfomI,EAAKnmI,OACdqK,EAAS,CAAE87H,EAAKzxH,MAAOq6F,KAEvBq3B,EAAMD,EAAKzxH,OACD4pD,IACRA,EAAO8nE,EACPhoE,EAAQ2wC,GAGVA,EAAK/lG,EAAIpB,QAAQkmB,EAAG/tB,EAAI,IAG1BA,EAAI+uG,EAAKC,GAAMD,GAAM,EAAIA,EAAKC,EAG5Bo3B,EAAKnmI,SACPqK,EAAS,CAAEi0D,EAAMF,IAIrB,OAAO/zD,EA3DTrL,EAAOC,QAAU6mI,EAqBjBA,EAASppH,MAAQA,qBCtBjB,OAOC,WACA,aAEA,IAAI2pH,EAAS,GAAGp+H,eAEhB,SAASkjC,IAGR,IAFA,IAAI7W,EAAU,GAELv0B,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAC1C,IAAIo1C,EAAMxxC,UAAU5D,GACpB,GAAKo1C,EAAL,CAEA,IAAImxF,SAAiBnxF,EAErB,GAAgB,WAAZmxF,GAAoC,WAAZA,EAC3BhyG,EAAQ9wB,KAAK2xC,QACP,GAAIpzC,MAAMC,QAAQmzC,IACxB,GAAIA,EAAIn1C,OAAQ,CACf,IAAIumI,EAAQp7F,EAAW1nC,MAAM,KAAM0xC,GAC/BoxF,GACHjyG,EAAQ9wB,KAAK+iI,SAGT,GAAgB,WAAZD,EACV,GAAInxF,EAAIzyC,WAAarC,OAAOd,UAAUmD,SACrC,IAAK,IAAInC,KAAO40C,EACXkxF,EAAO5kI,KAAK0zC,EAAK50C,IAAQ40C,EAAI50C,IAChC+zB,EAAQ9wB,KAAKjD,QAIf+zB,EAAQ9wB,KAAK2xC,EAAIzyC,aAKpB,OAAO4xB,EAAQzpB,KAAK,KAGgB7L,EAAOC,SAC3CksC,EAAWzB,QAAUyB,EACrBnsC,EAAOC,QAAUksC,QAKhB,KAFwB,EAAF,WACtB,OAAOA,GACP,QAFoB,OAEpB,aA9CF,iCCyCDnsC,EAAOC,QA5BS,SAASunI,EAAWrtH,EAAQ/R,EAAG0mB,EAAG9f,EAAGysE,EAAGtwE,EAAG4Q,GAOzD,IAAKyrH,EAAW,CACd,IAAIjiI,EACJ,QAAeK,IAAXuU,EACF5U,EAAQ,IAAI0e,MACV,qIAGG,CACL,IAAI9e,EAAO,CAACiD,EAAG0mB,EAAG9f,EAAGysE,EAAGtwE,EAAG4Q,GACvB0rH,EAAW,GACfliI,EAAQ,IAAI0e,MACV9J,EAAOtR,QAAQ,OAAO,WAAa,OAAO1D,EAAKsiI,UAE3C7jI,KAAO,sBAIf,MADA2B,EAAMmiI,YAAc,EACdniI,yBC5CV,IAAIuhI,EAAWl5C,EAAQ,KAEvB5tF,EAAOC,QA6DP,SAAmB+J,GACjB,IAAKA,EACH,MAAO,GAQgB,OAArBA,EAAIisC,OAAO,EAAG,KAChBjsC,EAAM,SAAWA,EAAIisC,OAAO,IAG9B,OAAOyjB,EA7DT,SAAsB1vD,GACpB,OAAOA,EAAI3C,MAAM,QAAQwE,KAAK87H,GACnBtgI,MAAM,OAAOwE,KAAK+7H,GAClBvgI,MAAM,OAAOwE,KAAKg8H,GAClBxgI,MAAM,OAAOwE,KAAKi8H,GAClBzgI,MAAM,OAAOwE,KAAKk8H,GAwDfC,CAAah+H,IAAM,GAAMmF,IAAI84H,IAzE7C,IAAIN,EAAW,UAAUhuH,KAAKqX,SAAS,KACnC42G,EAAU,SAASjuH,KAAKqX,SAAS,KACjC62G,EAAW,UAAUluH,KAAKqX,SAAS,KACnC82G,EAAW,UAAUnuH,KAAKqX,SAAS,KACnC+2G,EAAY,WAAWpuH,KAAKqX,SAAS,KAEzC,SAASk3G,EAAQl+H,GACf,OAAO+T,SAAS/T,EAAK,KAAOA,EACxB+T,SAAS/T,EAAK,IACdA,EAAIklB,WAAW,GAWrB,SAAS+4G,EAAej+H,GACtB,OAAOA,EAAI3C,MAAMsgI,GAAU97H,KAAK,MACrBxE,MAAMugI,GAAS/7H,KAAK,KACpBxE,MAAMwgI,GAAUh8H,KAAK,KACrBxE,MAAMygI,GAAUj8H,KAAK,KACrBxE,MAAM0gI,GAAWl8H,KAAK,KAOnC,SAASs8H,EAAgBn+H,GACvB,IAAKA,EACH,MAAO,CAAC,IAEV,IAAI2F,EAAQ,GACRpH,EAAIu+H,EAAS,IAAK,IAAK98H,GAE3B,IAAKzB,EACH,OAAOyB,EAAI3C,MAAM,KAEnB,IAAI2/H,EAAMz+H,EAAEy+H,IACRh9G,EAAOzhB,EAAEyhB,KACTi9G,EAAO1+H,EAAE0+H,KACTjlI,EAAIglI,EAAI3/H,MAAM,KAElBrF,EAAEA,EAAEhB,OAAO,IAAM,IAAMgpB,EAAO,IAC9B,IAAIo+G,EAAYD,EAAgBlB,GAQhC,OAPIA,EAAKjmI,SACPgB,EAAEA,EAAEhB,OAAO,IAAMonI,EAAUp/H,QAC3BhH,EAAEwC,KAAKC,MAAMzC,EAAGomI,IAGlBz4H,EAAMnL,KAAKC,MAAMkL,EAAO3N,GAEjB2N,EAoBT,SAAS04H,EAAQr+H,GACf,MAAO,IAAMA,EAAM,IAErB,SAASs+H,EAAS90G,GAChB,MAAO,SAAS3vB,KAAK2vB,GAGvB,SAAS+0G,EAAIxnI,EAAGy+D,GACd,OAAOz+D,GAAKy+D,EAEd,SAASgpE,EAAIznI,EAAGy+D,GACd,OAAOz+D,GAAKy+D,EAGd,SAAS9F,EAAO1vD,EAAKy+H,GACnB,IAAIC,EAAa,GAEbngI,EAAIu+H,EAAS,IAAK,IAAK98H,GAC3B,IAAKzB,EAAG,MAAO,CAACyB,GAGhB,IAAIg9H,EAAMz+H,EAAEy+H,IACRC,EAAO1+H,EAAE0+H,KAAKjmI,OACd04D,EAAOnxD,EAAE0+H,MAAM,GACf,CAAC,IAEL,GAAI,MAAMpjI,KAAK0E,EAAEy+H,KACf,IAAK,IAAI99H,EAAI,EAAGA,EAAI+9H,EAAKjmI,OAAQkI,IAAK,CACpC,IAAIy/H,EAAY3B,EAAK,IAAMz+H,EAAEyhB,KAAO,IAAMi9G,EAAK/9H,GAC/Cw/H,EAAWlkI,KAAKmkI,OAEb,CACL,IAaIllI,EAkBAmlI,EA/BAC,EAAoB,iCAAiChlI,KAAK0E,EAAEyhB,MAC5D8+G,EAAkB,uCAAuCjlI,KAAK0E,EAAEyhB,MAChE++G,EAAaF,GAAqBC,EAClCE,EAAYzgI,EAAEyhB,KAAKphB,QAAQ,MAAQ,EACvC,IAAKmgI,IAAeC,EAElB,OAAIzgI,EAAE0+H,KAAKz3H,MAAM,SAERkqD,EADP1vD,EAAMzB,EAAEy+H,IAAM,IAAMz+H,EAAEyhB,KAAO69G,EAAWt/H,EAAE0+H,MAGrC,CAACj9H,GAIV,GAAI++H,EACFtlI,EAAI8E,EAAEyhB,KAAK3iB,MAAM,aAGjB,GAAiB,KADjB5D,EAAI0kI,EAAgB5/H,EAAEyhB,OAChBhpB,QAGa,KADjByC,EAAIi2D,EAAOj2D,EAAE,IAAI,GAAO0L,IAAIk5H,IACtBrnI,OACJ,OAAOimI,EAAK93H,KAAI,SAASnN,GACvB,OAAOuG,EAAEy+H,IAAMvjI,EAAE,GAAKzB,KAU9B,GAAI+mI,EAAY,CACd,IAAIxpE,EAAI2oE,EAAQzkI,EAAE,IACd+7D,EAAI0oE,EAAQzkI,EAAE,IACdqrD,EAAQn1C,KAAKilD,IAAIn7D,EAAE,GAAGzC,OAAQyC,EAAE,GAAGzC,QACnCioI,EAAmB,GAAZxlI,EAAEzC,OACT2Y,KAAKC,IAAIsuH,EAAQzkI,EAAE,KACnB,EACAI,EAAO0kI,EACG/oE,EAAID,IAEhB0pE,IAAS,EACTplI,EAAO2kI,GAET,IAAIU,EAAMzlI,EAAE6vB,KAAKg1G,GAEjBM,EAAI,GAEJ,IAAK,IAAI7nI,EAAIw+D,EAAG17D,EAAK9C,EAAGy+D,GAAIz+D,GAAKkoI,EAAM,CACrC,IAAIj6H,EACJ,GAAI85H,EAEQ,QADV95H,EAAIlF,OAAOwlH,aAAavuH,MAEtBiO,EAAI,SAGN,GADAA,EAAIlF,OAAO/I,GACPmoI,EAAK,CACP,IAAIC,EAAOr6E,EAAQ9/C,EAAEhO,OACrB,GAAImoI,EAAO,EAAG,CACZ,IAAIC,EAAI,IAAIrmI,MAAMomI,EAAO,GAAGt9H,KAAK,KAE/BmD,EADEjO,EAAI,EACF,IAAMqoI,EAAIp6H,EAAErL,MAAM,GAElBylI,EAAIp6H,GAIhB45H,EAAEpkI,KAAKwK,QAEJ,CACL45H,EAAI,GAEJ,IAAK,IAAIh9H,EAAI,EAAGA,EAAInI,EAAEzC,OAAQ4K,IAC5Bg9H,EAAEpkI,KAAKC,MAAMmkI,EAAGlvE,EAAOj2D,EAAEmI,IAAI,IAIjC,IAASA,EAAI,EAAGA,EAAIg9H,EAAE5nI,OAAQ4K,IAC5B,IAAS1C,EAAI,EAAGA,EAAI+9H,EAAKjmI,OAAQkI,IAAK,CAChCy/H,EAAY3B,EAAM4B,EAAEh9H,GAAKq7H,EAAK/9H,KAC7Bu/H,GAASM,GAAcJ,IAC1BD,EAAWlkI,KAAKmkI,IAKxB,OAAOD,qCCjMiEzoI,QAGjE,WAAc,aAEnB,IAAIopI,EA4HA/1G,EA1HJ,SAASg2G,IACL,OAAOD,EAAa5kI,MAAM,KAAME,WAKpC,SAAS4kI,EAAgB5pH,GACrB0pH,EAAe1pH,EAGnB,SAAS3c,EAAQozC,GACb,OACIA,aAAiBrzC,OACyB,mBAA1C1B,OAAOd,UAAUmD,SAASjB,KAAK2zC,GAIvC,SAASrqB,EAASqqB,GAGd,OACa,MAATA,GAC0C,oBAA1C/0C,OAAOd,UAAUmD,SAASjB,KAAK2zC,GAIvC,SAASlmB,EAAW9nB,EAAG0mB,GACnB,OAAOztB,OAAOd,UAAU0I,eAAexG,KAAK2F,EAAG0mB,GAGnD,SAAS06G,EAAcrpI,GACnB,GAAIkB,OAAOihB,oBACP,OAAkD,IAA3CjhB,OAAOihB,oBAAoBniB,GAAKa,OAEvC,IAAIkI,EACJ,IAAKA,KAAK/I,EACN,GAAI+vB,EAAW/vB,EAAK+I,GAChB,OAAO,EAGf,OAAO,EAIf,SAASwiB,EAAY0qB,GACjB,YAAiB,IAAVA,EAGX,SAAStqB,EAASsqB,GACd,MACqB,kBAAVA,GACmC,oBAA1C/0C,OAAOd,UAAUmD,SAASjB,KAAK2zC,GAIvC,SAASlqB,EAAOkqB,GACZ,OACIA,aAAiBna,MACyB,kBAA1C56B,OAAOd,UAAUmD,SAASjB,KAAK2zC,GAIvC,SAASjnC,EAAIrM,EAAKqoB,GACd,IACIpqB,EADA6G,EAAM,GAEV,IAAK7G,EAAI,EAAGA,EAAI+B,EAAI9B,SAAUD,EAC1B6G,EAAIpD,KAAK2mB,EAAGroB,EAAI/B,GAAIA,IAExB,OAAO6G,EAGX,SAASinB,EAAOzmB,EAAG0mB,GACf,IAAK,IAAI/tB,KAAK+tB,EACNoB,EAAWpB,EAAG/tB,KACdqH,EAAErH,GAAK+tB,EAAE/tB,IAYjB,OARImvB,EAAWpB,EAAG,cACd1mB,EAAE1E,SAAWorB,EAAEprB,UAGfwsB,EAAWpB,EAAG,aACd1mB,EAAE8C,QAAU4jB,EAAE5jB,SAGX9C,EAGX,SAASqhI,EAAUrzF,EAAOj8B,EAAQ6E,EAAQ0qH,GACtC,OAAOC,GAAiBvzF,EAAOj8B,EAAQ6E,EAAQ0qH,GAAQ,GAAME,MAGjE,SAASC,IAEL,MAAO,CACH37B,OAAO,EACP47B,aAAc,GACdC,YAAa,GACbx4E,UAAW,EACXy4E,cAAe,EACfC,WAAW,EACXC,WAAY,KACZC,aAAc,KACdC,eAAe,EACfC,iBAAiB,EACjBC,KAAK,EACLC,gBAAiB,GACjBC,IAAK,KACLC,SAAU,KACVC,SAAS,EACTC,iBAAiB,GAIzB,SAASC,EAAgBriI,GAIrB,OAHa,MAATA,EAAEsiI,MACFtiI,EAAEsiI,IAAMhB,KAELthI,EAAEsiI,IAsBb,SAASviF,EAAQ//C,GACb,GAAkB,MAAdA,EAAEuiI,SAAkB,CACpB,IAAI1gC,EAAQwgC,EAAgBriI,GACxBwiI,EAAcz3G,EAAK7wB,KAAK2nG,EAAMmgC,iBAAiB,SAAUxpI,GACrD,OAAY,MAALA,KAEXiqI,GACKltH,MAAMvV,EAAE0iB,GAAGyyC,YACZ0sC,EAAM74C,SAAW,IAChB64C,EAAM8D,QACN9D,EAAM8/B,aACN9/B,EAAM+/B,eACN//B,EAAM6gC,iBACN7gC,EAAMugC,kBACNvgC,EAAM6/B,YACN7/B,EAAMggC,gBACNhgC,EAAMigC,mBACLjgC,EAAMqgC,UAAargC,EAAMqgC,UAAYM,GAU/C,GARIxiI,EAAE2iI,UACFF,EACIA,GACwB,IAAxB5gC,EAAM4/B,eACwB,IAA9B5/B,EAAM0/B,aAAa9oI,aACD4E,IAAlBwkG,EAAM+gC,SAGS,MAAnB9pI,OAAO+pI,UAAqB/pI,OAAO+pI,SAAS7iI,GAG5C,OAAOyiI,EAFPziI,EAAEuiI,SAAWE,EAKrB,OAAOziI,EAAEuiI,SAGb,SAASO,EAAcjhC,GACnB,IAAI7hG,EAAIkhI,EAAU6B,KAOlB,OANa,MAATlhC,EACAv7E,EAAO+7G,EAAgBriI,GAAI6hG,GAE3BwgC,EAAgBriI,GAAG8hI,iBAAkB,EAGlC9hI,EA7DP+qB,EADAvwB,MAAMxC,UAAU+yB,KACTvwB,MAAMxC,UAAU+yB,KAEhB,SAAUi4G,GACb,IAEIxqI,EAFAuH,EAAIjH,OAAO+D,MACX/B,EAAMiF,EAAEtH,SAAW,EAGvB,IAAKD,EAAI,EAAGA,EAAIsC,EAAKtC,IACjB,GAAIA,KAAKuH,GAAKijI,EAAI9oI,KAAK2C,KAAMkD,EAAEvH,GAAIA,EAAGuH,GAClC,OAAO,EAIf,OAAO,GAqDf,IAAIkjI,EAAoBlC,EAAMkC,iBAAmB,GAC7CC,GAAmB,EAEvB,SAASC,EAAWn7F,EAAIptC,GACpB,IAAIpC,EAAG8I,EAAM8R,EAiCb,GA/BK+P,EAAYvoB,EAAKwoI,oBAClBp7F,EAAGo7F,iBAAmBxoI,EAAKwoI,kBAE1BjgH,EAAYvoB,EAAKynB,MAClB2lB,EAAG3lB,GAAKznB,EAAKynB,IAEZc,EAAYvoB,EAAKyoI,MAClBr7F,EAAGq7F,GAAKzoI,EAAKyoI,IAEZlgH,EAAYvoB,EAAK0oI,MAClBt7F,EAAGs7F,GAAK1oI,EAAK0oI,IAEZngH,EAAYvoB,EAAK+nI,WAClB36F,EAAG26F,QAAU/nI,EAAK+nI,SAEjBx/G,EAAYvoB,EAAK2oI,QAClBv7F,EAAGu7F,KAAO3oI,EAAK2oI,MAEdpgH,EAAYvoB,EAAK4oI,UAClBx7F,EAAGw7F,OAAS5oI,EAAK4oI,QAEhBrgH,EAAYvoB,EAAKqrE,WAClBj+B,EAAGi+B,QAAUrrE,EAAKqrE,SAEjB9iD,EAAYvoB,EAAK0nI,OAClBt6F,EAAGs6F,IAAMD,EAAgBznI,IAExBuoB,EAAYvoB,EAAK6oI,WAClBz7F,EAAGy7F,QAAU7oI,EAAK6oI,SAGlBR,EAAiBxqI,OAAS,EAC1B,IAAKD,EAAI,EAAGA,EAAIyqI,EAAiBxqI,OAAQD,IAGhC2qB,EADL/P,EAAMxY,EADN0G,EAAO2hI,EAAiBzqI,OAGpBwvC,EAAG1mC,GAAQ8R,GAKvB,OAAO40B,EAIX,SAAS07F,EAAOv6G,GACZg6G,EAAWtmI,KAAMssB,GACjBtsB,KAAK6lB,GAAK,IAAIgR,KAAkB,MAAbvK,EAAOzG,GAAayG,EAAOzG,GAAGyyC,UAAY4tE,KACxDlmI,KAAKkjD,YACNljD,KAAK6lB,GAAK,IAAIgR,KAAKqvG,OAIE,IAArBG,IACAA,GAAmB,EACnBnC,EAAM4C,aAAa9mI,MACnBqmI,GAAmB,GAI3B,SAASU,EAAShsI,GACd,OACIA,aAAe8rI,GAAkB,MAAP9rI,GAAuC,MAAxBA,EAAIwrI,iBAIrD,SAASrmI,EAAK01H,IAEgC,IAAtCsO,EAAM8C,6BACa,qBAAZ5mI,SACPA,QAAQF,MAERE,QAAQF,KAAK,wBAA0B01H,GAI/C,SAASqR,EAAUrR,EAAK7vG,GACpB,IAAImhH,GAAY,EAEhB,OAAOz9G,GAAO,WAIV,GAHgC,MAA5By6G,EAAMiD,oBACNjD,EAAMiD,mBAAmB,KAAMvR,GAE/BsR,EAAW,CACX,IACIn2F,EACAp1C,EACAQ,EAHA4D,EAAO,GAIX,IAAKpE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAEnC,GADAo1C,EAAM,GACsB,kBAAjBxxC,UAAU5D,GAAiB,CAElC,IAAKQ,KADL40C,GAAO,MAAQp1C,EAAI,KACP4D,UAAU,GACdurB,EAAWvrB,UAAU,GAAIpD,KACzB40C,GAAO50C,EAAM,KAAOoD,UAAU,GAAGpD,GAAO,MAGhD40C,EAAMA,EAAIxyC,MAAM,GAAI,QAEpBwyC,EAAMxxC,UAAU5D,GAEpBoE,EAAKX,KAAK2xC,GAEd7wC,EACI01H,EACI,gBACAj4H,MAAMxC,UAAUoD,MAAMlB,KAAK0C,GAAM0G,KAAK,IACtC,MACA,IAAIoY,OAAQlb,OAEpBujI,GAAY,EAEhB,OAAOnhH,EAAG1mB,MAAMW,KAAMT,aACvBwmB,GAGP,IAgFIjnB,EAhFAsoI,EAAe,GAEnB,SAASC,EAAgB7oI,EAAMo3H,GACK,MAA5BsO,EAAMiD,oBACNjD,EAAMiD,mBAAmB3oI,EAAMo3H,GAE9BwR,EAAa5oI,KACd0B,EAAK01H,GACLwR,EAAa5oI,IAAQ,GAO7B,SAASioB,EAAWuqB,GAChB,MACyB,qBAAbihB,UAA4BjhB,aAAiBihB,UACX,sBAA1Ch2D,OAAOd,UAAUmD,SAASjB,KAAK2zC,GAIvC,SAAS/9B,EAAIqZ,GACT,IAAI7nB,EAAM9I,EACV,IAAKA,KAAK2wB,EACFxB,EAAWwB,EAAQ3wB,KAEf8qB,EADJhiB,EAAO6nB,EAAO3wB,IAEVqE,KAAKrE,GAAK8I,EAEVzE,KAAK,IAAMrE,GAAK8I,GAI5BzE,KAAKu/B,QAAUjT,EAIftsB,KAAKsnI,+BAAiC,IAAIx9H,QACrC9J,KAAKunI,wBAAwB/nI,QAAUQ,KAAKwnI,cAAchoI,QACvD,IACA,UAAUA,QAItB,SAASioI,EAAaC,EAAcC,GAChC,IACIljI,EADAjC,EAAMinB,EAAO,GAAIi+G,GAErB,IAAKjjI,KAAQkjI,EACL78G,EAAW68G,EAAaljI,KACpBkiB,EAAS+gH,EAAajjI,KAAUkiB,EAASghH,EAAYljI,KACrDjC,EAAIiC,GAAQ,GACZglB,EAAOjnB,EAAIiC,GAAOijI,EAAajjI,IAC/BglB,EAAOjnB,EAAIiC,GAAOkjI,EAAYljI,KACF,MAArBkjI,EAAYljI,GACnBjC,EAAIiC,GAAQkjI,EAAYljI,UAEjBjC,EAAIiC,IAIvB,IAAKA,KAAQijI,EAEL58G,EAAW48G,EAAcjjI,KACxBqmB,EAAW68G,EAAaljI,IACzBkiB,EAAS+gH,EAAajjI,MAGtBjC,EAAIiC,GAAQglB,EAAO,GAAIjnB,EAAIiC,KAGnC,OAAOjC,EAGX,SAAS6gB,EAAOiJ,GACE,MAAVA,GACAtsB,KAAKiT,IAAIqZ,GAhEjB43G,EAAM8C,6BAA8B,EACpC9C,EAAMiD,mBAAqB,KAsEvBroI,EADA7C,OAAO6C,KACA7C,OAAO6C,KAEP,SAAU/D,GACb,IAAIY,EACA6G,EAAM,GACV,IAAK7G,KAAKZ,EACF+vB,EAAW/vB,EAAKY,IAChB6G,EAAIpD,KAAKzD,GAGjB,OAAO6G,GAIf,IAAIolI,EAAkB,CAClBC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAGd,SAASC,EAAShsI,EAAKisI,EAAKpxG,GACxB,IAAI/2B,EAASD,KAAKqoI,UAAUlsI,IAAQ6D,KAAKqoI,UAAoB,SAC7D,OAAO5hH,EAAWxmB,GAAUA,EAAO5C,KAAK+qI,EAAKpxG,GAAO/2B,EAGxD,SAASqoI,EAASp0H,EAAQq0H,EAAcC,GACpC,IAAIC,EAAY,GAAKl0H,KAAKC,IAAIN,GAC1Bw0H,EAAcH,EAAeE,EAAU7sI,OAE3C,OADWsY,GAAU,EAERs0H,EAAY,IAAM,GAAM,KACjCj0H,KAAK45E,IAAI,GAAI55E,KAAKilD,IAAI,EAAGkvE,IAAcpqI,WAAWuyC,OAAO,GACzD43F,EAIR,IAAIE,EAAmB,yMACnBC,EAAwB,6CACxBC,EAAkB,GAClBC,EAAuB,GAM3B,SAASC,EAAe7lH,EAAO8lH,EAAQx5H,EAAS+K,GAC5C,IAAIkpC,EAAOlpC,EACa,kBAAbA,IACPkpC,EAAO,WACH,OAAOzjD,KAAKua,OAGhB2I,IACA4lH,EAAqB5lH,GAASugC,GAE9BulF,IACAF,EAAqBE,EAAO,IAAM,WAC9B,OAAOV,EAAS7kF,EAAKpkD,MAAMW,KAAMT,WAAYypI,EAAO,GAAIA,EAAO,MAGnEx5H,IACAs5H,EAAqBt5H,GAAW,WAC5B,OAAOxP,KAAKipI,aAAaz5H,QACrBi0C,EAAKpkD,MAAMW,KAAMT,WACjB2jB,KAMhB,SAASgmH,EAAuBl4F,GAC5B,OAAIA,EAAM5mC,MAAM,YACL4mC,EAAMvtC,QAAQ,WAAY,IAE9ButC,EAAMvtC,QAAQ,MAAO,IAGhC,SAAS0lI,EAAmBp0H,GACxB,IACIpZ,EACAC,EAFAwtI,EAAQr0H,EAAO3K,MAAMu+H,GAIzB,IAAKhtI,EAAI,EAAGC,EAASwtI,EAAMxtI,OAAQD,EAAIC,EAAQD,IACvCmtI,EAAqBM,EAAMztI,IAC3BytI,EAAMztI,GAAKmtI,EAAqBM,EAAMztI,IAEtCytI,EAAMztI,GAAKutI,EAAuBE,EAAMztI,IAIhD,OAAO,SAAUysI,GACb,IACIzsI,EADAsE,EAAS,GAEb,IAAKtE,EAAI,EAAGA,EAAIC,EAAQD,IACpBsE,GAAUwmB,EAAW2iH,EAAMztI,IACrBytI,EAAMztI,GAAG0B,KAAK+qI,EAAKrzH,GACnBq0H,EAAMztI,GAEhB,OAAOsE,GAKf,SAASopI,EAAalmI,EAAG4R,GACrB,OAAK5R,EAAE+/C,WAIPnuC,EAASu0H,EAAav0H,EAAQ5R,EAAE8lI,cAChCJ,EAAgB9zH,GACZ8zH,EAAgB9zH,IAAWo0H,EAAmBp0H,GAE3C8zH,EAAgB9zH,GAAQ5R,IAPpBA,EAAE8lI,aAAaM,cAU9B,SAASD,EAAav0H,EAAQ6E,GAC1B,IAAIje,EAAI,EAER,SAAS6tI,EAA4Bx4F,GACjC,OAAOp3B,EAAO6vH,eAAez4F,IAAUA,EAI3C,IADA43F,EAAsBzxH,UAAY,EAC3Bxb,GAAK,GAAKitI,EAAsBnqI,KAAKsW,IACxCA,EAASA,EAAOtR,QACZmlI,EACAY,GAEJZ,EAAsBzxH,UAAY,EAClCxb,GAAK,EAGT,OAAOoZ,EAGX,IAAI20H,EAAwB,CACxBC,IAAK,YACLrqD,GAAI,SACJsqD,EAAG,aACHC,GAAI,eACJC,IAAK,sBACLC,KAAM,6BAGV,SAASN,EAAettI,GACpB,IAAI4Y,EAAS/U,KAAKgqI,gBAAgB7tI,GAC9B8tI,EAAcjqI,KAAKgqI,gBAAgB7tI,EAAI2U,eAE3C,OAAIiE,IAAWk1H,EACJl1H,GAGX/U,KAAKgqI,gBAAgB7tI,GAAO8tI,EACvB7/H,MAAMu+H,GACN5+H,KAAI,SAAUmgI,GACX,MACY,SAARA,GACQ,OAARA,GACQ,OAARA,GACQ,SAARA,EAEOA,EAAI3rI,MAAM,GAEd2rI,KAEVzjI,KAAK,IAEHzG,KAAKgqI,gBAAgB7tI,IAGhC,IAAIguI,EAAqB,eAEzB,SAASZ,IACL,OAAOvpI,KAAKoqI,aAGhB,IAAIC,EAAiB,KACjBC,EAAgC,UAEpC,SAAS96H,EAAQ0E,GACb,OAAOlU,KAAKuqI,SAAS9mI,QAAQ,KAAMyQ,GAGvC,IAAIs2H,EAAsB,CACtBC,OAAQ,QACRC,KAAM,SACNznI,EAAG,gBACH2mG,GAAI,aACJzmG,EAAG,WACHmlG,GAAI,aACJz4E,EAAG,UACH86G,GAAI,WACJt0D,EAAG,QACHg0B,GAAI,UACJv1E,EAAG,SACH81G,GAAI,WACJC,EAAG,UACH1qD,GAAI,YACJ/lB,EAAG,SACH0wE,GAAI,YAGR,SAASC,EAAa72H,EAAQ82H,EAAep6H,EAAQq6H,GACjD,IAAIhrI,EAASD,KAAKkrI,cAAct6H,GAChC,OAAO6V,EAAWxmB,GACZA,EAAOiU,EAAQ82H,EAAep6H,EAAQq6H,GACtChrI,EAAOwD,QAAQ,MAAOyQ,GAGhC,SAASi3H,GAAWC,EAAMnrI,GACtB,IAAI8U,EAAS/U,KAAKkrI,cAAcE,EAAO,EAAI,SAAW,QACtD,OAAO3kH,EAAW1R,GAAUA,EAAO9U,GAAU8U,EAAOtR,QAAQ,MAAOxD,GAGvE,IAAIorI,GAAU,GAEd,SAASC,GAAaC,EAAMC,GACxB,IAAIC,EAAYF,EAAKxgI,cACrBsgI,GAAQI,GAAaJ,GAAQI,EAAY,KAAOJ,GAAQG,GAAaD,EAGzE,SAASG,GAAeC,GACpB,MAAwB,kBAAVA,EACRN,GAAQM,IAAUN,GAAQM,EAAM5gI,oBAChCvK,EAGV,SAASorI,GAAqBC,GAC1B,IACIC,EACArnI,EAFAsnI,EAAkB,GAItB,IAAKtnI,KAAQonI,EACL/gH,EAAW+gH,EAAapnI,KACxBqnI,EAAiBJ,GAAejnI,MAE5BsnI,EAAgBD,GAAkBD,EAAYpnI,IAK1D,OAAOsnI,EAGX,IAAIC,GAAa,GAEjB,SAASC,GAAgBV,EAAMW,GAC3BF,GAAWT,GAAQW,EAGvB,SAASC,GAAoBC,GACzB,IACI/oC,EADAsoC,EAAQ,GAEZ,IAAKtoC,KAAK+oC,EACFthH,EAAWshH,EAAU/oC,IACrBsoC,EAAMvsI,KAAK,CAAEmsI,KAAMloC,EAAG6oC,SAAUF,GAAW3oC,KAMnD,OAHAsoC,EAAM93H,MAAK,SAAU7Q,EAAG0mB,GACpB,OAAO1mB,EAAEkpI,SAAWxiH,EAAEwiH,YAEnBP,EAGX,SAASU,GAAWC,GAChB,OAAQA,EAAO,IAAM,GAAKA,EAAO,MAAQ,GAAMA,EAAO,MAAQ,EAGlE,SAASC,GAASr4H,GACd,OAAIA,EAAS,EAEFK,KAAKi4H,KAAKt4H,IAAW,EAErBK,KAAKsmB,MAAM3mB,GAI1B,SAASu4H,GAAMC,GACX,IAAIC,GAAiBD,EACjBvvI,EAAQ,EAMZ,OAJsB,IAAlBwvI,GAAuBnhH,SAASmhH,KAChCxvI,EAAQovI,GAASI,IAGdxvI,EAGX,SAASyvI,GAAWrB,EAAMsB,GACtB,OAAO,SAAU1vI,GACb,OAAa,MAATA,GACA2vI,GAAM9sI,KAAMurI,EAAMpuI,GAClB+mI,EAAM4C,aAAa9mI,KAAM6sI,GAClB7sI,MAEAmc,GAAInc,KAAMurI,IAK7B,SAASpvH,GAAIisH,EAAKmD,GACd,OAAOnD,EAAIllF,UACLklF,EAAIviH,GAAG,OAASuiH,EAAIzB,OAAS,MAAQ,IAAM4E,KAC3CrF,IAGV,SAAS4G,GAAM1E,EAAKmD,EAAMpuI,GAClBirI,EAAIllF,YAAcxqC,MAAMvb,KAEX,aAATouI,GACAc,GAAWjE,EAAIkE,SACC,IAAhBlE,EAAI2E,SACW,KAAf3E,EAAI4E,QAEJ7vI,EAAQsvI,GAAMtvI,GACdirI,EAAIviH,GAAG,OAASuiH,EAAIzB,OAAS,MAAQ,IAAM4E,GACvCpuI,EACAirI,EAAI2E,QACJE,GAAY9vI,EAAOirI,EAAI2E,WAG3B3E,EAAIviH,GAAG,OAASuiH,EAAIzB,OAAS,MAAQ,IAAM4E,GAAMpuI,IAO7D,SAAS+vI,GAAUvB,GAEf,OAAIllH,EAAWzmB,KADf2rI,EAAQD,GAAeC,KAEZ3rI,KAAK2rI,KAET3rI,KAGX,SAASmtI,GAAUxB,EAAOxuI,GACtB,GAAqB,kBAAVwuI,EAAoB,CAE3B,IACIhwI,EADAyxI,EAAcjB,GADlBR,EAAQC,GAAqBD,IAG7B,IAAKhwI,EAAI,EAAGA,EAAIyxI,EAAYxxI,OAAQD,IAChCqE,KAAKotI,EAAYzxI,GAAG4vI,MAAMI,EAAMyB,EAAYzxI,GAAG4vI,YAInD,GAAI9kH,EAAWzmB,KADf2rI,EAAQD,GAAeC,KAEnB,OAAO3rI,KAAK2rI,GAAOxuI,GAG3B,OAAO6C,KAGX,IAmBIqtI,GAnBAC,GAAS,KACTC,GAAS,OACTC,GAAS,QACTC,GAAS,QACTC,GAAS,aACTC,GAAY,QACZC,GAAY,YACZC,GAAY,gBACZC,GAAY,UACZC,GAAY,UACZC,GAAY,eACZC,GAAgB,MAChBC,GAAc,WACdC,GAAc,qBACdC,GAAmB,0BACnBC,GAAiB,uBAGjBC,GAAY,wJAKhB,SAASC,GAAcrrH,EAAOrM,EAAO23H,GACjCnB,GAAQnqH,GAASuD,EAAW5P,GACtBA,EACA,SAAU43H,EAAUxF,GAChB,OAAOwF,GAAYD,EAAcA,EAAc33H,GAI7D,SAAS63H,GAAsBxrH,EAAOoJ,GAClC,OAAKxB,EAAWuiH,GAASnqH,GAIlBmqH,GAAQnqH,GAAOoJ,EAAOw5G,QAASx5G,EAAOs6G,SAHlC,IAAI98H,OAAO6kI,GAAezrH,IAOzC,SAASyrH,GAAe1rI,GACpB,OAAO0B,GACH1B,EACKQ,QAAQ,KAAM,IACdA,QAAQ,uCAAuC,SAC5CuG,EACAqhB,EACAC,EACAsjH,EACAC,GAEA,OAAOxjH,GAAMC,GAAMsjH,GAAMC,MAKzC,SAASlqI,GAAY1B,GACjB,OAAOA,EAAEQ,QAAQ,yBAA0B,QApC/C4pI,GAAU,GAuCV,IAAI94G,GAAS,GAEb,SAASu6G,GAAc5rH,EAAO3I,GAC1B,IAAI5e,EACA8nD,EAAOlpC,EASX,IARqB,kBAAV2I,IACPA,EAAQ,CAACA,IAETwD,EAASnM,KACTkpC,EAAO,SAAUzS,EAAOo4F,GACpBA,EAAM7uH,GAAYkyH,GAAMz7F,KAG3Br1C,EAAI,EAAGA,EAAIunB,EAAMtnB,OAAQD,IAC1B44B,GAAOrR,EAAMvnB,IAAM8nD,EAI3B,SAASsrF,GAAkB7rH,EAAO3I,GAC9Bu0H,GAAc5rH,GAAO,SAAU8tB,EAAOo4F,EAAO98G,EAAQpJ,GACjDoJ,EAAO0iH,GAAK1iH,EAAO0iH,IAAM,GACzBz0H,EAASy2B,EAAO1kB,EAAO0iH,GAAI1iH,EAAQpJ,MAI3C,SAAS+rH,GAAwB/rH,EAAO8tB,EAAO1kB,GAC9B,MAAT0kB,GAAiBlmB,EAAWyJ,GAAQrR,IACpCqR,GAAOrR,GAAO8tB,EAAO1kB,EAAO4iH,GAAI5iH,EAAQpJ,GAIhD,IAcI1f,GAdA2rI,GAAO,EACPC,GAAQ,EACRC,GAAO,EACPC,GAAO,EACPC,GAAS,EACTC,GAAS,EACTC,GAAc,EACdC,GAAO,EACPC,GAAU,EAEd,SAASC,GAAIvxI,EAAG87D,GACZ,OAAS97D,EAAI87D,EAAKA,GAAKA,EAoB3B,SAAS8yE,GAAYX,EAAMS,GACvB,GAAIr0H,MAAM4zH,IAAS5zH,MAAMq0H,GACrB,OAAO7G,IAEX,IAAI2J,EAAWD,GAAI7C,EAAO,IAE1B,OADAT,IAASS,EAAQ8C,GAAY,GACT,IAAbA,EACDxD,GAAWC,GACP,GACA,GACJ,GAAOuD,EAAW,EAAK,EAxB7BrsI,GADA7F,MAAMxC,UAAUqI,QACN7F,MAAMxC,UAAUqI,QAEhB,SAAU7G,GAEhB,IAAIhB,EACJ,IAAKA,EAAI,EAAGA,EAAIqE,KAAKpE,SAAUD,EAC3B,GAAIqE,KAAKrE,KAAOgB,EACZ,OAAOhB,EAGf,OAAQ,GAmBhBotI,EAAe,IAAK,CAAC,KAAM,GAAI,MAAM,WACjC,OAAO/oI,KAAK+sI,QAAU,KAG1BhE,EAAe,MAAO,EAAG,GAAG,SAAUh0H,GAClC,OAAO/U,KAAKipI,aAAa6G,YAAY9vI,KAAM+U,MAG/Cg0H,EAAe,OAAQ,EAAG,GAAG,SAAUh0H,GACnC,OAAO/U,KAAKipI,aAAa8G,OAAO/vI,KAAM+U,MAK1Cu2H,GAAa,QAAS,KAItBW,GAAgB,QAAS,GAIzBsC,GAAc,IAAKZ,IACnBY,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,OAAO,SAAUE,EAAU70H,GACrC,OAAOA,EAAOo2H,iBAAiBvB,MAEnCF,GAAc,QAAQ,SAAUE,EAAU70H,GACtC,OAAOA,EAAOq2H,YAAYxB,MAG9BK,GAAc,CAAC,IAAK,OAAO,SAAU99F,EAAOo4F,GACxCA,EAAMgG,IAAS3C,GAAMz7F,GAAS,KAGlC89F,GAAc,CAAC,MAAO,SAAS,SAAU99F,EAAOo4F,EAAO98G,EAAQpJ,GAC3D,IAAI6pH,EAAQzgH,EAAOs6G,QAAQsJ,YAAYl/F,EAAO9tB,EAAOoJ,EAAOw5G,SAE/C,MAATiH,EACA3D,EAAMgG,IAASrC,EAEfvH,EAAgBl5G,GAAQy4G,aAAe/zF,KAM/C,IAAIm/F,GAAsB,wFAAwFluI,MAC1G,KAEJmuI,GAA2B,kDAAkDnuI,MACzE,KAEJouI,GAAmB,gCACnBC,GAA0BhC,GAC1BiC,GAAqBjC,GAEzB,SAASkC,GAAartI,EAAG4R,GACrB,OAAK5R,EAKEvF,EAAQoC,KAAKywI,SACdzwI,KAAKywI,QAAQttI,EAAE4pI,SACf/sI,KAAKywI,SACAzwI,KAAKywI,QAAQC,UAAYL,IAAkB5xI,KAAKsW,GAC3C,SACA,cACR5R,EAAE4pI,SAVCnvI,EAAQoC,KAAKywI,SACdzwI,KAAKywI,QACLzwI,KAAKywI,QAAoB,WAWvC,SAASE,GAAkBxtI,EAAG4R,GAC1B,OAAK5R,EAKEvF,EAAQoC,KAAK4wI,cACd5wI,KAAK4wI,aAAaztI,EAAE4pI,SACpB/sI,KAAK4wI,aACDP,GAAiB5xI,KAAKsW,GAAU,SAAW,cAC7C5R,EAAE4pI,SARCnvI,EAAQoC,KAAK4wI,cACd5wI,KAAK4wI,aACL5wI,KAAK4wI,aAAyB,WAS5C,SAASC,GAAkBC,EAAW/7H,EAAQuvH,GAC1C,IAAI3oI,EACAo1I,EACA3I,EACA4I,EAAMF,EAAUG,oBACpB,IAAKjxI,KAAKkxI,aAKN,IAHAlxI,KAAKkxI,aAAe,GACpBlxI,KAAKmxI,iBAAmB,GACxBnxI,KAAKoxI,kBAAoB,GACpBz1I,EAAI,EAAGA,EAAI,KAAMA,EAClBysI,EAAM/D,EAAU,CAAC,IAAM1oI,IACvBqE,KAAKoxI,kBAAkBz1I,GAAKqE,KAAK8vI,YAC7B1H,EACA,IACF6I,oBACFjxI,KAAKmxI,iBAAiBx1I,GAAKqE,KAAK+vI,OAAO3H,EAAK,IAAI6I,oBAIxD,OAAI3M,EACe,QAAXvvH,GAEe,KADfg8H,EAAKvtI,GAAQnG,KAAK2C,KAAKoxI,kBAAmBJ,IACvBD,EAAK,MAGT,KADfA,EAAKvtI,GAAQnG,KAAK2C,KAAKmxI,iBAAkBH,IACtBD,EAAK,KAGb,QAAXh8H,GAEY,KADZg8H,EAAKvtI,GAAQnG,KAAK2C,KAAKoxI,kBAAmBJ,MAK3B,KADfD,EAAKvtI,GAAQnG,KAAK2C,KAAKmxI,iBAAkBH,IAF9BD,EAGa,MAGZ,KADZA,EAAKvtI,GAAQnG,KAAK2C,KAAKmxI,iBAAkBH,MAK1B,KADfD,EAAKvtI,GAAQnG,KAAK2C,KAAKoxI,kBAAmBJ,IAF/BD,EAGa,KAKpC,SAASM,GAAkBP,EAAW/7H,EAAQuvH,GAC1C,IAAI3oI,EAAGysI,EAAKvxH,EAEZ,GAAI7W,KAAKsxI,kBACL,OAAOT,GAAkBxzI,KAAK2C,KAAM8wI,EAAW/7H,EAAQuvH,GAY3D,IATKtkI,KAAKkxI,eACNlxI,KAAKkxI,aAAe,GACpBlxI,KAAKmxI,iBAAmB,GACxBnxI,KAAKoxI,kBAAoB,IAMxBz1I,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAmBrB,GAjBAysI,EAAM/D,EAAU,CAAC,IAAM1oI,IACnB2oI,IAAWtkI,KAAKmxI,iBAAiBx1I,KACjCqE,KAAKmxI,iBAAiBx1I,GAAK,IAAImO,OAC3B,IAAM9J,KAAK+vI,OAAO3H,EAAK,IAAI3kI,QAAQ,IAAK,IAAM,IAC9C,KAEJzD,KAAKoxI,kBAAkBz1I,GAAK,IAAImO,OAC5B,IAAM9J,KAAK8vI,YAAY1H,EAAK,IAAI3kI,QAAQ,IAAK,IAAM,IACnD,MAGH6gI,GAAWtkI,KAAKkxI,aAAav1I,KAC9Bkb,EACI,IAAM7W,KAAK+vI,OAAO3H,EAAK,IAAM,KAAOpoI,KAAK8vI,YAAY1H,EAAK,IAC9DpoI,KAAKkxI,aAAav1I,GAAK,IAAImO,OAAO+M,EAAMpT,QAAQ,IAAK,IAAK,MAI1D6gI,GACW,SAAXvvH,GACA/U,KAAKmxI,iBAAiBx1I,GAAG8C,KAAKqyI,GAE9B,OAAOn1I,EACJ,GACH2oI,GACW,QAAXvvH,GACA/U,KAAKoxI,kBAAkBz1I,GAAG8C,KAAKqyI,GAE/B,OAAOn1I,EACJ,IAAK2oI,GAAUtkI,KAAKkxI,aAAav1I,GAAG8C,KAAKqyI,GAC5C,OAAOn1I,GAOnB,SAAS41I,GAASnJ,EAAKjrI,GACnB,IAAIq0I,EAEJ,IAAKpJ,EAAIllF,UAEL,OAAOklF,EAGX,GAAqB,kBAAVjrI,EACP,GAAI,QAAQsB,KAAKtB,GACbA,EAAQsvI,GAAMtvI,QAId,IAAKupB,EAFLvpB,EAAQirI,EAAIa,aAAaiH,YAAY/yI,IAGjC,OAAOirI,EAOnB,OAFAoJ,EAAaj9H,KAAK+jB,IAAI8vG,EAAI4E,OAAQC,GAAY7E,EAAIkE,OAAQnvI,IAC1DirI,EAAIviH,GAAG,OAASuiH,EAAIzB,OAAS,MAAQ,IAAM,SAASxpI,EAAOq0I,GACpDpJ,EAGX,SAASqJ,GAAYt0I,GACjB,OAAa,MAATA,GACAo0I,GAASvxI,KAAM7C,GACf+mI,EAAM4C,aAAa9mI,MAAM,GAClBA,MAEAmc,GAAInc,KAAM,SAIzB,SAAS0xI,KACL,OAAOzE,GAAYjtI,KAAKssI,OAAQtsI,KAAK+sI,SAGzC,SAASiD,GAAiBvB,GACtB,OAAIzuI,KAAKsxI,mBACAxmH,EAAW9qB,KAAM,iBAClB2xI,GAAmBt0I,KAAK2C,MAExByuI,EACOzuI,KAAK4xI,wBAEL5xI,KAAK6xI,oBAGX/mH,EAAW9qB,KAAM,uBAClBA,KAAK6xI,kBAAoBvB,IAEtBtwI,KAAK4xI,yBAA2BnD,EACjCzuI,KAAK4xI,wBACL5xI,KAAK6xI,mBAInB,SAAS5B,GAAYxB,GACjB,OAAIzuI,KAAKsxI,mBACAxmH,EAAW9qB,KAAM,iBAClB2xI,GAAmBt0I,KAAK2C,MAExByuI,EACOzuI,KAAK8xI,mBAEL9xI,KAAK+xI,eAGXjnH,EAAW9qB,KAAM,kBAClBA,KAAK+xI,aAAexB,IAEjBvwI,KAAK8xI,oBAAsBrD,EAC5BzuI,KAAK8xI,mBACL9xI,KAAK+xI,cAInB,SAASJ,KACL,SAASK,EAAUhvI,EAAG0mB,GAClB,OAAOA,EAAE9tB,OAASoH,EAAEpH,OAGxB,IAGID,EACAysI,EAJA6J,EAAc,GACdC,EAAa,GACbC,EAAc,GAGlB,IAAKx2I,EAAI,EAAGA,EAAI,GAAIA,IAEhBysI,EAAM/D,EAAU,CAAC,IAAM1oI,IACvBs2I,EAAY7yI,KAAKY,KAAK8vI,YAAY1H,EAAK,KACvC8J,EAAW9yI,KAAKY,KAAK+vI,OAAO3H,EAAK,KACjC+J,EAAY/yI,KAAKY,KAAK+vI,OAAO3H,EAAK,KAClC+J,EAAY/yI,KAAKY,KAAK8vI,YAAY1H,EAAK,KAO3C,IAHA6J,EAAYp+H,KAAKm+H,GACjBE,EAAWr+H,KAAKm+H,GAChBG,EAAYt+H,KAAKm+H,GACZr2I,EAAI,EAAGA,EAAI,GAAIA,IAChBs2I,EAAYt2I,GAAKgJ,GAAYstI,EAAYt2I,IACzCu2I,EAAWv2I,GAAKgJ,GAAYutI,EAAWv2I,IAE3C,IAAKA,EAAI,EAAGA,EAAI,GAAIA,IAChBw2I,EAAYx2I,GAAKgJ,GAAYwtI,EAAYx2I,IAG7CqE,KAAK+xI,aAAe,IAAIjoI,OAAO,KAAOqoI,EAAY1rI,KAAK,KAAO,IAAK,KACnEzG,KAAK6xI,kBAAoB7xI,KAAK+xI,aAC9B/xI,KAAK8xI,mBAAqB,IAAIhoI,OAC1B,KAAOooI,EAAWzrI,KAAK,KAAO,IAC9B,KAEJzG,KAAK4xI,wBAA0B,IAAI9nI,OAC/B,KAAOmoI,EAAYxrI,KAAK,KAAO,IAC/B,KAiDR,SAAS2rI,GAAW9F,GAChB,OAAOD,GAAWC,GAAQ,IAAM,IA5CpCvD,EAAe,IAAK,EAAG,GAAG,WACtB,IAAI3uE,EAAIp6D,KAAKssI,OACb,OAAOlyE,GAAK,KAAOkuE,EAASluE,EAAG,GAAK,IAAMA,KAG9C2uE,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAO/oI,KAAKssI,OAAS,OAGzBvD,EAAe,EAAG,CAAC,OAAQ,GAAI,EAAG,QAClCA,EAAe,EAAG,CAAC,QAAS,GAAI,EAAG,QACnCA,EAAe,EAAG,CAAC,SAAU,GAAG,GAAO,EAAG,QAI1CuC,GAAa,OAAQ,KAIrBW,GAAgB,OAAQ,GAIxBsC,GAAc,IAAKL,IACnBK,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,OAAQR,GAAWN,IACjCc,GAAc,QAASP,GAAWN,IAClCa,GAAc,SAAUP,GAAWN,IAEnCoB,GAAc,CAAC,QAAS,UAAWK,IACnCL,GAAc,QAAQ,SAAU99F,EAAOo4F,GACnCA,EAAM+F,IACe,IAAjBn+F,EAAMp1C,OAAesoI,EAAMmO,kBAAkBrhG,GAASy7F,GAAMz7F,MAEpE89F,GAAc,MAAM,SAAU99F,EAAOo4F,GACjCA,EAAM+F,IAAQjL,EAAMmO,kBAAkBrhG,MAE1C89F,GAAc,KAAK,SAAU99F,EAAOo4F,GAChCA,EAAM+F,IAAQx2H,SAASq4B,EAAO,OAWlCkzF,EAAMmO,kBAAoB,SAAUrhG,GAChC,OAAOy7F,GAAMz7F,IAAUy7F,GAAMz7F,GAAS,GAAK,KAAO,MAKtD,IAAIshG,GAAa1F,GAAW,YAAY,GAExC,SAAS2F,KACL,OAAOlG,GAAWrsI,KAAKssI,QAG3B,SAASkG,GAAWp4E,EAAGj3D,EAAGkzE,EAAGxmD,EAAGg7G,EAAG5nI,EAAGwvI,GAGlC,IAAIzF,EAYJ,OAVI5yE,EAAI,KAAOA,GAAK,GAEhB4yE,EAAO,IAAIn2G,KAAKujC,EAAI,IAAKj3D,EAAGkzE,EAAGxmD,EAAGg7G,EAAG5nI,EAAGwvI,GACpCjnH,SAASwhH,EAAK0F,gBACd1F,EAAK2F,YAAYv4E,IAGrB4yE,EAAO,IAAIn2G,KAAKujC,EAAGj3D,EAAGkzE,EAAGxmD,EAAGg7G,EAAG5nI,EAAGwvI,GAG/BzF,EAGX,SAAS4F,GAAcx4E,GACnB,IAAI4yE,EAAMjtI,EAcV,OAZIq6D,EAAI,KAAOA,GAAK,IAChBr6D,EAAOpC,MAAMxC,UAAUoD,MAAMlB,KAAKkC,YAE7B,GAAK66D,EAAI,IACd4yE,EAAO,IAAIn2G,KAAKA,KAAKg8G,IAAIxzI,MAAM,KAAMU,IACjCyrB,SAASwhH,EAAK8F,mBACd9F,EAAK+F,eAAe34E,IAGxB4yE,EAAO,IAAIn2G,KAAKA,KAAKg8G,IAAIxzI,MAAM,KAAME,YAGlCytI,EAIX,SAASgG,GAAgB1G,EAAM2G,EAAKC,GAChC,IACIC,EAAM,EAAIF,EAAMC,EAIpB,QAFa,EAAIN,GAActG,EAAM,EAAG6G,GAAKC,YAAcH,GAAO,EAElDE,EAAM,EAI1B,SAASE,GAAmB/G,EAAMgH,EAAMC,EAASN,EAAKC,GAClD,IAGIM,EACAC,EAFAC,EAAY,EAAI,GAAKJ,EAAO,IAFZ,EAAIC,EAAUN,GAAO,EACxBD,GAAgB1G,EAAM2G,EAAKC,GAgB5C,OAXIQ,GAAa,EAEbD,EAAerB,GADfoB,EAAUlH,EAAO,GACoBoH,EAC9BA,EAAYtB,GAAW9F,IAC9BkH,EAAUlH,EAAO,EACjBmH,EAAeC,EAAYtB,GAAW9F,KAEtCkH,EAAUlH,EACVmH,EAAeC,GAGZ,CACHpH,KAAMkH,EACNE,UAAWD,GAInB,SAASE,GAAWvL,EAAK6K,EAAKC,GAC1B,IAEIU,EACAJ,EAHAK,EAAab,GAAgB5K,EAAIkE,OAAQ2G,EAAKC,GAC9CI,EAAO/+H,KAAKsmB,OAAOutG,EAAIsL,YAAcG,EAAa,GAAK,GAAK,EAehE,OAXIP,EAAO,EAEPM,EAAUN,EAAOQ,GADjBN,EAAUpL,EAAIkE,OAAS,EACe2G,EAAKC,GACpCI,EAAOQ,GAAY1L,EAAIkE,OAAQ2G,EAAKC,IAC3CU,EAAUN,EAAOQ,GAAY1L,EAAIkE,OAAQ2G,EAAKC,GAC9CM,EAAUpL,EAAIkE,OAAS,IAEvBkH,EAAUpL,EAAIkE,OACdsH,EAAUN,GAGP,CACHA,KAAMM,EACNtH,KAAMkH,GAId,SAASM,GAAYxH,EAAM2G,EAAKC,GAC5B,IAAIW,EAAab,GAAgB1G,EAAM2G,EAAKC,GACxCa,EAAiBf,GAAgB1G,EAAO,EAAG2G,EAAKC,GACpD,OAAQd,GAAW9F,GAAQuH,EAAaE,GAAkB,EAsC9D,SAASC,GAAW5L,GAChB,OAAOuL,GAAWvL,EAAKpoI,KAAKi0I,MAAMhB,IAAKjzI,KAAKi0I,MAAMf,KAAKI,KAlC3DvK,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,QACrCA,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,WAIrCuC,GAAa,OAAQ,KACrBA,GAAa,UAAW,KAIxBW,GAAgB,OAAQ,GACxBA,GAAgB,UAAW,GAI3BsC,GAAc,IAAKZ,IACnBY,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,IAAKZ,IACnBY,GAAc,KAAMZ,GAAWJ,IAE/BwB,GAAkB,CAAC,IAAK,KAAM,IAAK,OAAO,SACtC/9F,EACAsiG,EACAhnH,EACApJ,GAEAowH,EAAKpwH,EAAM2tB,OAAO,EAAG,IAAM47F,GAAMz7F,MAWrC,IAAIkjG,GAAoB,CACpBjB,IAAK,EACLC,IAAK,GAGT,SAASiB,KACL,OAAOn0I,KAAKi0I,MAAMhB,IAGtB,SAASmB,KACL,OAAOp0I,KAAKi0I,MAAMf,IAKtB,SAASmB,GAAWrjG,GAChB,IAAIsiG,EAAOtzI,KAAKipI,aAAaqK,KAAKtzI,MAClC,OAAgB,MAATgxC,EAAgBsiG,EAAOtzI,KAAKkuD,IAAqB,GAAhBld,EAAQsiG,GAAW,KAG/D,SAASgB,GAActjG,GACnB,IAAIsiG,EAAOK,GAAW3zI,KAAM,EAAG,GAAGszI,KAClC,OAAgB,MAATtiG,EAAgBsiG,EAAOtzI,KAAKkuD,IAAqB,GAAhBld,EAAQsiG,GAAW,KAgE/D,SAASiB,GAAavjG,EAAOp3B,GACzB,MAAqB,kBAAVo3B,EACAA,EAGNt4B,MAAMs4B,GAKU,kBADrBA,EAAQp3B,EAAO46H,cAAcxjG,IAElBA,EAGJ,KARIr4B,SAASq4B,EAAO,IAW/B,SAASyjG,GAAgBzjG,EAAOp3B,GAC5B,MAAqB,kBAAVo3B,EACAp3B,EAAO46H,cAAcxjG,GAAS,GAAK,EAEvCt4B,MAAMs4B,GAAS,KAAOA,EAIjC,SAAS0jG,GAAcC,EAAIt2I,GACvB,OAAOs2I,EAAGp2I,MAAMF,EAAG,GAAGoD,OAAOkzI,EAAGp2I,MAAM,EAAGF,IArF7C0qI,EAAe,IAAK,EAAG,KAAM,OAE7BA,EAAe,KAAM,EAAG,GAAG,SAAUh0H,GACjC,OAAO/U,KAAKipI,aAAa2L,YAAY50I,KAAM+U,MAG/Cg0H,EAAe,MAAO,EAAG,GAAG,SAAUh0H,GAClC,OAAO/U,KAAKipI,aAAa4L,cAAc70I,KAAM+U,MAGjDg0H,EAAe,OAAQ,EAAG,GAAG,SAAUh0H,GACnC,OAAO/U,KAAKipI,aAAa6L,SAAS90I,KAAM+U,MAG5Cg0H,EAAe,IAAK,EAAG,EAAG,WAC1BA,EAAe,IAAK,EAAG,EAAG,cAI1BuC,GAAa,MAAO,KACpBA,GAAa,UAAW,KACxBA,GAAa,aAAc,KAG3BW,GAAgB,MAAO,IACvBA,GAAgB,UAAW,IAC3BA,GAAgB,aAAc,IAI9BsC,GAAc,IAAKZ,IACnBY,GAAc,IAAKZ,IACnBY,GAAc,IAAKZ,IACnBY,GAAc,MAAM,SAAUE,EAAU70H,GACpC,OAAOA,EAAOm7H,iBAAiBtG,MAEnCF,GAAc,OAAO,SAAUE,EAAU70H,GACrC,OAAOA,EAAOo7H,mBAAmBvG,MAErCF,GAAc,QAAQ,SAAUE,EAAU70H,GACtC,OAAOA,EAAOq7H,cAAcxG,MAGhCM,GAAkB,CAAC,KAAM,MAAO,SAAS,SAAU/9F,EAAOsiG,EAAMhnH,EAAQpJ,GACpE,IAAIqwH,EAAUjnH,EAAOs6G,QAAQ4N,cAAcxjG,EAAO9tB,EAAOoJ,EAAOw5G,SAEjD,MAAXyN,EACAD,EAAKj9D,EAAIk9D,EAET/N,EAAgBl5G,GAAQu5G,eAAiB70F,KAIjD+9F,GAAkB,CAAC,IAAK,IAAK,MAAM,SAAU/9F,EAAOsiG,EAAMhnH,EAAQpJ,GAC9DowH,EAAKpwH,GAASupH,GAAMz7F,MAkCxB,IAAIkkG,GAAwB,2DAA2DjzI,MAC/E,KAEJkzI,GAA6B,8BAA8BlzI,MAAM,KACjEmzI,GAA2B,uBAAuBnzI,MAAM,KACxDozI,GAAuB/G,GACvBgH,GAA4BhH,GAC5BiH,GAA0BjH,GAE9B,SAASkH,GAAeryI,EAAG4R,GACvB,IAAI+/H,EAAWl3I,EAAQoC,KAAKy1I,WACtBz1I,KAAKy1I,UACLz1I,KAAKy1I,UACDtyI,IAAW,IAANA,GAAcnD,KAAKy1I,UAAU/E,SAASjyI,KAAKsW,GAC1C,SACA,cAEhB,OAAa,IAAN5R,EACDuxI,GAAcI,EAAU90I,KAAKi0I,MAAMhB,KACnC9vI,EACA2xI,EAAS3xI,EAAEuyI,OACXZ,EAGV,SAASa,GAAoBxyI,GACzB,OAAa,IAANA,EACDuxI,GAAc10I,KAAK41I,eAAgB51I,KAAKi0I,MAAMhB,KAC9C9vI,EACAnD,KAAK41I,eAAezyI,EAAEuyI,OACtB11I,KAAK41I,eAGf,SAASC,GAAkB1yI,GACvB,OAAa,IAANA,EACDuxI,GAAc10I,KAAK81I,aAAc91I,KAAKi0I,MAAMhB,KAC5C9vI,EACAnD,KAAK81I,aAAa3yI,EAAEuyI,OACpB11I,KAAK81I,aAGf,SAASC,GAAoBC,EAAajhI,EAAQuvH,GAC9C,IAAI3oI,EACAo1I,EACA3I,EACA4I,EAAMgF,EAAY/E,oBACtB,IAAKjxI,KAAKi2I,eAKN,IAJAj2I,KAAKi2I,eAAiB,GACtBj2I,KAAKk2I,oBAAsB,GAC3Bl2I,KAAKm2I,kBAAoB,GAEpBx6I,EAAI,EAAGA,EAAI,IAAKA,EACjBysI,EAAM/D,EAAU,CAAC,IAAM,IAAIqR,IAAI/5I,GAC/BqE,KAAKm2I,kBAAkBx6I,GAAKqE,KAAK40I,YAC7BxM,EACA,IACF6I,oBACFjxI,KAAKk2I,oBAAoBv6I,GAAKqE,KAAK60I,cAC/BzM,EACA,IACF6I,oBACFjxI,KAAKi2I,eAAet6I,GAAKqE,KAAK80I,SAAS1M,EAAK,IAAI6I,oBAIxD,OAAI3M,EACe,SAAXvvH,GAEe,KADfg8H,EAAKvtI,GAAQnG,KAAK2C,KAAKi2I,eAAgBjF,IACpBD,EAAK,KACN,QAAXh8H,GAEQ,KADfg8H,EAAKvtI,GAAQnG,KAAK2C,KAAKk2I,oBAAqBlF,IACzBD,EAAK,MAGT,KADfA,EAAKvtI,GAAQnG,KAAK2C,KAAKm2I,kBAAmBnF,IACvBD,EAAK,KAGb,SAAXh8H,GAEY,KADZg8H,EAAKvtI,GAAQnG,KAAK2C,KAAKi2I,eAAgBjF,MAK3B,KADZD,EAAKvtI,GAAQnG,KAAK2C,KAAKk2I,oBAAqBlF,MAK7B,KADfD,EAAKvtI,GAAQnG,KAAK2C,KAAKm2I,kBAAmBnF,IAN/BD,EAOa,KACN,QAAXh8H,GAEK,KADZg8H,EAAKvtI,GAAQnG,KAAK2C,KAAKk2I,oBAAqBlF,MAKhC,KADZD,EAAKvtI,GAAQnG,KAAK2C,KAAKi2I,eAAgBjF,MAKxB,KADfD,EAAKvtI,GAAQnG,KAAK2C,KAAKm2I,kBAAmBnF,IAN/BD,EAOa,MAGZ,KADZA,EAAKvtI,GAAQnG,KAAK2C,KAAKm2I,kBAAmBnF,MAK9B,KADZD,EAAKvtI,GAAQnG,KAAK2C,KAAKi2I,eAAgBjF,MAKxB,KADfD,EAAKvtI,GAAQnG,KAAK2C,KAAKk2I,oBAAqBlF,IANjCD,EAOa,KAKpC,SAASqF,GAAoBJ,EAAajhI,EAAQuvH,GAC9C,IAAI3oI,EAAGysI,EAAKvxH,EAEZ,GAAI7W,KAAKq2I,oBACL,OAAON,GAAoB14I,KAAK2C,KAAMg2I,EAAajhI,EAAQuvH,GAU/D,IAPKtkI,KAAKi2I,iBACNj2I,KAAKi2I,eAAiB,GACtBj2I,KAAKm2I,kBAAoB,GACzBn2I,KAAKk2I,oBAAsB,GAC3Bl2I,KAAKs2I,mBAAqB,IAGzB36I,EAAI,EAAGA,EAAI,EAAGA,IAAK,CA6BpB,GA1BAysI,EAAM/D,EAAU,CAAC,IAAM,IAAIqR,IAAI/5I,GAC3B2oI,IAAWtkI,KAAKs2I,mBAAmB36I,KACnCqE,KAAKs2I,mBAAmB36I,GAAK,IAAImO,OAC7B,IAAM9J,KAAK80I,SAAS1M,EAAK,IAAI3kI,QAAQ,IAAK,QAAU,IACpD,KAEJzD,KAAKk2I,oBAAoBv6I,GAAK,IAAImO,OAC9B,IAAM9J,KAAK60I,cAAczM,EAAK,IAAI3kI,QAAQ,IAAK,QAAU,IACzD,KAEJzD,KAAKm2I,kBAAkBx6I,GAAK,IAAImO,OAC5B,IAAM9J,KAAK40I,YAAYxM,EAAK,IAAI3kI,QAAQ,IAAK,QAAU,IACvD,MAGHzD,KAAKi2I,eAAet6I,KACrBkb,EACI,IACA7W,KAAK80I,SAAS1M,EAAK,IACnB,KACApoI,KAAK60I,cAAczM,EAAK,IACxB,KACApoI,KAAK40I,YAAYxM,EAAK,IAC1BpoI,KAAKi2I,eAAet6I,GAAK,IAAImO,OAAO+M,EAAMpT,QAAQ,IAAK,IAAK,MAI5D6gI,GACW,SAAXvvH,GACA/U,KAAKs2I,mBAAmB36I,GAAG8C,KAAKu3I,GAEhC,OAAOr6I,EACJ,GACH2oI,GACW,QAAXvvH,GACA/U,KAAKk2I,oBAAoBv6I,GAAG8C,KAAKu3I,GAEjC,OAAOr6I,EACJ,GACH2oI,GACW,OAAXvvH,GACA/U,KAAKm2I,kBAAkBx6I,GAAG8C,KAAKu3I,GAE/B,OAAOr6I,EACJ,IAAK2oI,GAAUtkI,KAAKi2I,eAAet6I,GAAG8C,KAAKu3I,GAC9C,OAAOr6I,GAOnB,SAAS46I,GAAgBvlG,GACrB,IAAKhxC,KAAKkjD,UACN,OAAgB,MAATlS,EAAgBhxC,KAAOkmI,IAElC,IAAIwP,EAAM11I,KAAK2mI,OAAS3mI,KAAK6lB,GAAGutH,YAAcpzI,KAAK6lB,GAAG2wH,SACtD,OAAa,MAATxlG,GACAA,EAAQujG,GAAavjG,EAAOhxC,KAAKipI,cAC1BjpI,KAAKkuD,IAAIld,EAAQ0kG,EAAK,MAEtBA,EAIf,SAASe,GAAsBzlG,GAC3B,IAAKhxC,KAAKkjD,UACN,OAAgB,MAATlS,EAAgBhxC,KAAOkmI,IAElC,IAAIqN,GAAWvzI,KAAK01I,MAAQ,EAAI11I,KAAKipI,aAAagL,MAAMhB,KAAO,EAC/D,OAAgB,MAATjiG,EAAgBuiG,EAAUvzI,KAAKkuD,IAAIld,EAAQuiG,EAAS,KAG/D,SAASmD,GAAmB1lG,GACxB,IAAKhxC,KAAKkjD,UACN,OAAgB,MAATlS,EAAgBhxC,KAAOkmI,IAOlC,GAAa,MAATl1F,EAAe,CACf,IAAIuiG,EAAUkB,GAAgBzjG,EAAOhxC,KAAKipI,cAC1C,OAAOjpI,KAAK01I,IAAI11I,KAAK01I,MAAQ,EAAInC,EAAUA,EAAU,GAErD,OAAOvzI,KAAK01I,OAAS,EAI7B,SAAST,GAAcxG,GACnB,OAAIzuI,KAAKq2I,qBACAvrH,EAAW9qB,KAAM,mBAClB22I,GAAqBt5I,KAAK2C,MAE1ByuI,EACOzuI,KAAK42I,qBAEL52I,KAAK62I,iBAGX/rH,EAAW9qB,KAAM,oBAClBA,KAAK62I,eAAiBxB,IAEnBr1I,KAAK42I,sBAAwBnI,EAC9BzuI,KAAK42I,qBACL52I,KAAK62I,gBAInB,SAAS7B,GAAmBvG,GACxB,OAAIzuI,KAAKq2I,qBACAvrH,EAAW9qB,KAAM,mBAClB22I,GAAqBt5I,KAAK2C,MAE1ByuI,EACOzuI,KAAK82I,0BAEL92I,KAAK+2I,sBAGXjsH,EAAW9qB,KAAM,yBAClBA,KAAK+2I,oBAAsBzB,IAExBt1I,KAAK82I,2BAA6BrI,EACnCzuI,KAAK82I,0BACL92I,KAAK+2I,qBAInB,SAAShC,GAAiBtG,GACtB,OAAIzuI,KAAKq2I,qBACAvrH,EAAW9qB,KAAM,mBAClB22I,GAAqBt5I,KAAK2C,MAE1ByuI,EACOzuI,KAAKg3I,wBAELh3I,KAAKi3I,oBAGXnsH,EAAW9qB,KAAM,uBAClBA,KAAKi3I,kBAAoB1B,IAEtBv1I,KAAKg3I,yBAA2BvI,EACjCzuI,KAAKg3I,wBACLh3I,KAAKi3I,mBAInB,SAASN,KACL,SAAS3E,EAAUhvI,EAAG0mB,GAClB,OAAOA,EAAE9tB,OAASoH,EAAEpH,OAGxB,IAIID,EACAysI,EACA8O,EACAC,EACAC,EARAC,EAAY,GACZpF,EAAc,GACdC,EAAa,GACbC,EAAc,GAMlB,IAAKx2I,EAAI,EAAGA,EAAI,EAAGA,IAEfysI,EAAM/D,EAAU,CAAC,IAAM,IAAIqR,IAAI/5I,GAC/Bu7I,EAAOvyI,GAAY3E,KAAK40I,YAAYxM,EAAK,KACzC+O,EAASxyI,GAAY3E,KAAK60I,cAAczM,EAAK,KAC7CgP,EAAQzyI,GAAY3E,KAAK80I,SAAS1M,EAAK,KACvCiP,EAAUj4I,KAAK83I,GACfjF,EAAY7yI,KAAK+3I,GACjBjF,EAAW9yI,KAAKg4I,GAChBjF,EAAY/yI,KAAK83I,GACjB/E,EAAY/yI,KAAK+3I,GACjBhF,EAAY/yI,KAAKg4I,GAIrBC,EAAUxjI,KAAKm+H,GACfC,EAAYp+H,KAAKm+H,GACjBE,EAAWr+H,KAAKm+H,GAChBG,EAAYt+H,KAAKm+H,GAEjBhyI,KAAK62I,eAAiB,IAAI/sI,OAAO,KAAOqoI,EAAY1rI,KAAK,KAAO,IAAK,KACrEzG,KAAK+2I,oBAAsB/2I,KAAK62I,eAChC72I,KAAKi3I,kBAAoBj3I,KAAK62I,eAE9B72I,KAAK42I,qBAAuB,IAAI9sI,OAC5B,KAAOooI,EAAWzrI,KAAK,KAAO,IAC9B,KAEJzG,KAAK82I,0BAA4B,IAAIhtI,OACjC,KAAOmoI,EAAYxrI,KAAK,KAAO,IAC/B,KAEJzG,KAAKg3I,wBAA0B,IAAIltI,OAC/B,KAAOutI,EAAU5wI,KAAK,KAAO,IAC7B,KAMR,SAAS6wI,KACL,OAAOt3I,KAAKu3I,QAAU,IAAM,GAGhC,SAASC,KACL,OAAOx3I,KAAKu3I,SAAW,GAiC3B,SAASlS,GAASniH,EAAOu0H,GACrB1O,EAAe7lH,EAAO,EAAG,GAAG,WACxB,OAAOljB,KAAKipI,aAAa5D,SACrBrlI,KAAKu3I,QACLv3I,KAAK03I,UACLD,MAiBZ,SAASE,GAAclJ,EAAU70H,GAC7B,OAAOA,EAAOg+H,eA2DlB,SAASC,GAAW7mG,GAGhB,MAAgD,OAAxCA,EAAQ,IAAIjmC,cAAc8F,OAAO,GAnH7Ck4H,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,QAClCA,EAAe,IAAK,CAAC,KAAM,GAAI,EAAGuO,IAClCvO,EAAe,IAAK,CAAC,KAAM,GAAI,EAAGyO,IAElCzO,EAAe,MAAO,EAAG,GAAG,WACxB,MAAO,GAAKuO,GAAQj4I,MAAMW,MAAQsoI,EAAStoI,KAAK03I,UAAW,MAG/D3O,EAAe,QAAS,EAAG,GAAG,WAC1B,MACI,GACAuO,GAAQj4I,MAAMW,MACdsoI,EAAStoI,KAAK03I,UAAW,GACzBpP,EAAStoI,KAAK83I,UAAW,MAIjC/O,EAAe,MAAO,EAAG,GAAG,WACxB,MAAO,GAAK/oI,KAAKu3I,QAAUjP,EAAStoI,KAAK03I,UAAW,MAGxD3O,EAAe,QAAS,EAAG,GAAG,WAC1B,MACI,GACA/oI,KAAKu3I,QACLjP,EAAStoI,KAAK03I,UAAW,GACzBpP,EAAStoI,KAAK83I,UAAW,MAcjCzS,GAAS,KAAK,GACdA,GAAS,KAAK,GAIdiG,GAAa,OAAQ,KAGrBW,GAAgB,OAAQ,IAQxBsC,GAAc,IAAKoJ,IACnBpJ,GAAc,IAAKoJ,IACnBpJ,GAAc,IAAKZ,IACnBY,GAAc,IAAKZ,IACnBY,GAAc,IAAKZ,IACnBY,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,KAAMZ,GAAWJ,IAE/BgB,GAAc,MAAOX,IACrBW,GAAc,QAASV,IACvBU,GAAc,MAAOX,IACrBW,GAAc,QAASV,IAEvBiB,GAAc,CAAC,IAAK,MAAOQ,IAC3BR,GAAc,CAAC,IAAK,OAAO,SAAU99F,EAAOo4F,EAAO98G,GAC/C,IAAIyrH,EAAStL,GAAMz7F,GACnBo4F,EAAMkG,IAAmB,KAAXyI,EAAgB,EAAIA,KAEtCjJ,GAAc,CAAC,IAAK,MAAM,SAAU99F,EAAOo4F,EAAO98G,GAC9CA,EAAO0rH,MAAQ1rH,EAAOs6G,QAAQqR,KAAKjnG,GACnC1kB,EAAO4rH,UAAYlnG,KAEvB89F,GAAc,CAAC,IAAK,OAAO,SAAU99F,EAAOo4F,EAAO98G,GAC/C88G,EAAMkG,IAAQ7C,GAAMz7F,GACpBw0F,EAAgBl5G,GAAQy5G,SAAU,KAEtC+I,GAAc,OAAO,SAAU99F,EAAOo4F,EAAO98G,GACzC,IAAIo2E,EAAM1xD,EAAMp1C,OAAS,EACzBwtI,EAAMkG,IAAQ7C,GAAMz7F,EAAMH,OAAO,EAAG6xD,IACpC0mC,EAAMmG,IAAU9C,GAAMz7F,EAAMH,OAAO6xD,IACnC8iC,EAAgBl5G,GAAQy5G,SAAU,KAEtC+I,GAAc,SAAS,SAAU99F,EAAOo4F,EAAO98G,GAC3C,IAAI6rH,EAAOnnG,EAAMp1C,OAAS,EACtBw8I,EAAOpnG,EAAMp1C,OAAS,EAC1BwtI,EAAMkG,IAAQ7C,GAAMz7F,EAAMH,OAAO,EAAGsnG,IACpC/O,EAAMmG,IAAU9C,GAAMz7F,EAAMH,OAAOsnG,EAAM,IACzC/O,EAAMoG,IAAU/C,GAAMz7F,EAAMH,OAAOunG,IACnC5S,EAAgBl5G,GAAQy5G,SAAU,KAEtC+I,GAAc,OAAO,SAAU99F,EAAOo4F,EAAO98G,GACzC,IAAIo2E,EAAM1xD,EAAMp1C,OAAS,EACzBwtI,EAAMkG,IAAQ7C,GAAMz7F,EAAMH,OAAO,EAAG6xD,IACpC0mC,EAAMmG,IAAU9C,GAAMz7F,EAAMH,OAAO6xD,OAEvCosC,GAAc,SAAS,SAAU99F,EAAOo4F,EAAO98G,GAC3C,IAAI6rH,EAAOnnG,EAAMp1C,OAAS,EACtBw8I,EAAOpnG,EAAMp1C,OAAS,EAC1BwtI,EAAMkG,IAAQ7C,GAAMz7F,EAAMH,OAAO,EAAGsnG,IACpC/O,EAAMmG,IAAU9C,GAAMz7F,EAAMH,OAAOsnG,EAAM,IACzC/O,EAAMoG,IAAU/C,GAAMz7F,EAAMH,OAAOunG,OAWvC,IAAIC,GAA6B,gBAK7BC,GAAa1L,GAAW,SAAS,GAErC,SAAS2L,GAAehB,EAAOG,EAASc,GACpC,OAAIjB,EAAQ,GACDiB,EAAU,KAAO,KAEjBA,EAAU,KAAO,KAIhC,IAuBIC,GAvBAC,GAAa,CACbvQ,SAAUP,EACV6B,eAAgBC,EAChBH,YAAaY,EACb36H,QAAS66H,EACTsO,uBAAwBrO,EACxBS,aAAcP,EAEduF,OAAQI,GACRL,YAAaM,GAEbkD,KAAMY,GAENY,SAAUI,GACVN,YAAaQ,GACbP,cAAeM,GAEfyD,cAAeP,IAIfrxD,GAAU,GACV6xD,GAAiB,GAGrB,SAASC,GAAaC,EAAM76I,GACxB,IAAIvC,EACAq9I,EAAOzkI,KAAK+jB,IAAIygH,EAAKn9I,OAAQsC,EAAKtC,QACtC,IAAKD,EAAI,EAAGA,EAAIq9I,EAAMr9I,GAAK,EACvB,GAAIo9I,EAAKp9I,KAAOuC,EAAKvC,GACjB,OAAOA,EAGf,OAAOq9I,EAGX,SAASC,GAAgB98I,GACrB,OAAOA,EAAMA,EAAI4O,cAActH,QAAQ,IAAK,KAAOtH,EAMvD,SAAS+8I,GAAaC,GAOlB,IANA,IACI3yI,EACAsf,EACAlM,EACA3X,EAJAtG,EAAI,EAMDA,EAAIw9I,EAAMv9I,QAAQ,CAKrB,IAHA4K,GADAvE,EAAQg3I,GAAgBE,EAAMx9I,IAAIsG,MAAM,MAC9BrG,OAEVkqB,GADAA,EAAOmzH,GAAgBE,EAAMx9I,EAAI,KACnBmqB,EAAK7jB,MAAM,KAAO,KACzBuE,EAAI,GAAG,CAEV,GADAoT,EAASw/H,GAAWn3I,EAAM1D,MAAM,EAAGiI,GAAGC,KAAK,MAEvC,OAAOmT,EAEX,GACIkM,GACAA,EAAKlqB,QAAU4K,GACfsyI,GAAa72I,EAAO6jB,IAAStf,EAAI,EAGjC,MAEJA,IAEJ7K,IAEJ,OAAO88I,GAGX,SAASW,GAAW56I,GAChB,IAAI66I,EAAY,KAGhB,QACsB74I,IAAlBwmF,GAAQxoF,IAER5D,GACAA,EAAOC,QAEP,IACIw+I,EAAYZ,GAAaa,MAEzBC,OAAAA,WAAAA,IAAAA,EAAAA,IAAAA,MAAAA,kCAAAA,MAAAA,EAAAA,KAAAA,mBAAAA,EAAAA,IACAC,GAAmBH,GACrB,MAAOtzI,GAGLihF,GAAQxoF,GAAQ,KAGxB,OAAOwoF,GAAQxoF,GAMnB,SAASg7I,GAAmBr9I,EAAKs9I,GAC7B,IAAIp1I,EAqBJ,OApBIlI,KAEIkI,EADAiiB,EAAYmzH,GACLC,GAAUv9I,GAEVw9I,GAAax9I,EAAKs9I,IAKzBhB,GAAep0I,EAEQ,qBAAZjE,SAA2BA,QAAQF,MAE1CE,QAAQF,KACJ,UAAY/D,EAAM,2CAM3Bs8I,GAAaa,MAGxB,SAASK,GAAan7I,EAAM8tB,GACxB,GAAe,OAAXA,EAAiB,CACjB,IAAI1S,EACA8tH,EAAegR,GAEnB,GADApsH,EAAOstH,KAAOp7I,EACO,MAAjBwoF,GAAQxoF,GACR6oI,EACI,uBACA,2OAKJK,EAAe1gD,GAAQxoF,GAAM+gC,aAC1B,GAA2B,MAAvBjT,EAAOutH,aACd,GAAoC,MAAhC7yD,GAAQ16D,EAAOutH,cACfnS,EAAe1gD,GAAQ16D,EAAOutH,cAAct6G,YACzC,CAEH,GAAc,OADd3lB,EAASw/H,GAAW9sH,EAAOutH,eAWvB,OAPKhB,GAAevsH,EAAOutH,gBACvBhB,GAAevsH,EAAOutH,cAAgB,IAE1ChB,GAAevsH,EAAOutH,cAAcz6I,KAAK,CACrCZ,KAAMA,EACN8tB,OAAQA,IAEL,KATPo7G,EAAe9tH,EAAO2lB,QA0BlC,OAbAynD,GAAQxoF,GAAQ,IAAI6kB,EAAOokH,EAAaC,EAAcp7G,IAElDusH,GAAer6I,IACfq6I,GAAer6I,GAAMiB,SAAQ,SAAU06D,GACnCw/E,GAAax/E,EAAE37D,KAAM27D,EAAE7tC,WAO/BktH,GAAmBh7I,GAEZwoF,GAAQxoF,GAIf,cADOwoF,GAAQxoF,GACR,KAIf,SAASs7I,GAAat7I,EAAM8tB,GACxB,GAAc,MAAVA,EAAgB,CAChB,IAAI1S,EACAmgI,EACArS,EAAegR,GAEE,MAAjB1xD,GAAQxoF,IAA+C,MAA9BwoF,GAAQxoF,GAAMq7I,aAEvC7yD,GAAQxoF,GAAMyU,IAAIw0H,EAAazgD,GAAQxoF,GAAM+gC,QAASjT,KAIrC,OADjBytH,EAAYX,GAAW56I,MAEnBkpI,EAAeqS,EAAUx6G,SAE7BjT,EAASm7G,EAAaC,EAAcp7G,GACnB,MAAbytH,IAIAztH,EAAOstH,KAAOp7I,IAElBob,EAAS,IAAIyJ,EAAOiJ,IACbutH,aAAe7yD,GAAQxoF,GAC9BwoF,GAAQxoF,GAAQob,GAIpB4/H,GAAmBh7I,QAGE,MAAjBwoF,GAAQxoF,KAC0B,MAA9BwoF,GAAQxoF,GAAMq7I,cACd7yD,GAAQxoF,GAAQwoF,GAAQxoF,GAAMq7I,aAC1Br7I,IAASg7I,MACTA,GAAmBh7I,IAEC,MAAjBwoF,GAAQxoF,WACRwoF,GAAQxoF,IAI3B,OAAOwoF,GAAQxoF,GAInB,SAASk7I,GAAUv9I,GACf,IAAIyd,EAMJ,GAJIzd,GAAOA,EAAIyqI,SAAWzqI,EAAIyqI,QAAQ0S,QAClCn9I,EAAMA,EAAIyqI,QAAQ0S,QAGjBn9I,EACD,OAAOs8I,GAGX,IAAK76I,EAAQzB,GAAM,CAGf,GADAyd,EAASw/H,GAAWj9I,GAEhB,OAAOyd,EAEXzd,EAAM,CAACA,GAGX,OAAO+8I,GAAa/8I,GAGxB,SAAS69I,KACL,OAAOl7I,EAAKkoF,IAGhB,SAASizD,GAAc92I,GACnB,IAAIgpD,EACAnpD,EAAIG,EAAE+rI,GAuCV,OArCIlsI,IAAsC,IAAjCwiI,EAAgBriI,GAAGgpD,WACxBA,EACInpD,EAAEosI,IAAS,GAAKpsI,EAAEosI,IAAS,GACrBA,GACApsI,EAAEqsI,IAAQ,GAAKrsI,EAAEqsI,IAAQpC,GAAYjqI,EAAEmsI,IAAOnsI,EAAEosI,KAChDC,GACArsI,EAAEssI,IAAQ,GACVtsI,EAAEssI,IAAQ,IACG,KAAZtsI,EAAEssI,MACgB,IAAdtsI,EAAEusI,KACe,IAAdvsI,EAAEwsI,KACiB,IAAnBxsI,EAAEysI,KACVH,GACAtsI,EAAEusI,IAAU,GAAKvsI,EAAEusI,IAAU,GAC7BA,GACAvsI,EAAEwsI,IAAU,GAAKxsI,EAAEwsI,IAAU,GAC7BA,GACAxsI,EAAEysI,IAAe,GAAKzsI,EAAEysI,IAAe,IACvCA,IACC,EAGPjK,EAAgBriI,GAAG+2I,qBAClB/tF,EAAWgjF,IAAQhjF,EAAWkjF,MAE/BljF,EAAWkjF,IAEX7J,EAAgBriI,GAAGg3I,iBAAgC,IAAdhuF,IACrCA,EAAWujF,IAEXlK,EAAgBriI,GAAGi3I,mBAAkC,IAAdjuF,IACvCA,EAAWwjF,IAGfnK,EAAgBriI,GAAGgpD,SAAWA,GAG3BhpD,EAKX,IAAIk3I,GAAmB,iJACnBC,GAAgB,6IAChBC,GAAU,wBACVC,GAAW,CACP,CAAC,eAAgB,uBACjB,CAAC,aAAc,mBACf,CAAC,eAAgB,kBACjB,CAAC,aAAc,eAAe,GAC9B,CAAC,WAAY,eACb,CAAC,UAAW,cAAc,GAC1B,CAAC,aAAc,cACf,CAAC,WAAY,SACb,CAAC,aAAc,eACf,CAAC,YAAa,eAAe,GAC7B,CAAC,UAAW,SACZ,CAAC,SAAU,SAAS,GACpB,CAAC,OAAQ,SAAS,IAGtBC,GAAW,CACP,CAAC,gBAAiB,uBAClB,CAAC,gBAAiB,sBAClB,CAAC,WAAY,kBACb,CAAC,QAAS,aACV,CAAC,cAAe,qBAChB,CAAC,cAAe,oBAChB,CAAC,SAAU,gBACX,CAAC,OAAQ,YACT,CAAC,KAAM,SAEXC,GAAkB,qBAElBpV,GAAU,0LACVqV,GAAa,CACTC,GAAI,EACJC,IAAK,EACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,KAIb,SAASC,GAAchvH,GACnB,IAAI3wB,EACAwG,EAGAo5I,EACAC,EACAC,EACAC,EALA9qI,EAAS0b,EAAO9G,GAChBpb,EAAQiwI,GAAiBrjI,KAAKpG,IAAW0pI,GAActjI,KAAKpG,GAMhE,GAAIxG,EAAO,CAGP,IAFAo7H,EAAgBl5G,GAAQ44G,KAAM,EAEzBvpI,EAAI,EAAGwG,EAAIq4I,GAAS5+I,OAAQD,EAAIwG,EAAGxG,IACpC,GAAI6+I,GAAS7+I,GAAG,GAAGqb,KAAK5M,EAAM,IAAK,CAC/BoxI,EAAahB,GAAS7+I,GAAG,GACzB4/I,GAA+B,IAAnBf,GAAS7+I,GAAG,GACxB,MAGR,GAAkB,MAAd6/I,EAEA,YADAlvH,EAAOo5G,UAAW,GAGtB,GAAIt7H,EAAM,GAAI,CACV,IAAKzO,EAAI,EAAGwG,EAAIs4I,GAAS7+I,OAAQD,EAAIwG,EAAGxG,IACpC,GAAI8+I,GAAS9+I,GAAG,GAAGqb,KAAK5M,EAAM,IAAK,CAE/BqxI,GAAcrxI,EAAM,IAAM,KAAOqwI,GAAS9+I,GAAG,GAC7C,MAGR,GAAkB,MAAd8/I,EAEA,YADAnvH,EAAOo5G,UAAW,GAI1B,IAAK6V,GAA2B,MAAdE,EAEd,YADAnvH,EAAOo5G,UAAW,GAGtB,GAAIt7H,EAAM,GAAI,CACV,IAAImwI,GAAQvjI,KAAK5M,EAAM,IAInB,YADAkiB,EAAOo5G,UAAW,GAFlBgW,EAAW,IAMnBpvH,EAAOk6G,GAAKgV,GAAcC,GAAc,KAAOC,GAAY,IAC3DC,GAA0BrvH,QAE1BA,EAAOo5G,UAAW,EAI1B,SAASkW,GACLC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAIj2I,EAAS,CACTk2I,GAAeN,GACfzL,GAAyB5sI,QAAQs4I,GACjCnjI,SAASojI,EAAQ,IACjBpjI,SAASqjI,EAAS,IAClBrjI,SAASsjI,EAAW,KAOxB,OAJIC,GACAj2I,EAAO7G,KAAKuZ,SAASujI,EAAW,KAG7Bj2I,EAGX,SAASk2I,GAAeN,GACpB,IAAIvP,EAAO3zH,SAASkjI,EAAS,IAC7B,OAAIvP,GAAQ,GACD,IAAOA,EACPA,GAAQ,IACR,KAAOA,EAEXA,EAGX,SAAS8P,GAAkBn5I,GAEvB,OAAOA,EACFQ,QAAQ,oBAAqB,KAC7BA,QAAQ,WAAY,KACpBA,QAAQ,SAAU,IAClBA,QAAQ,SAAU,IAG3B,SAAS44I,GAAaC,EAAYC,EAAajwH,GAC3C,OAAIgwH,GAEsBnH,GAA2B3xI,QAAQ84I,KACrC,IAAIzlH,KAChB0lH,EAAY,GACZA,EAAY,GACZA,EAAY,IACd/F,WAEFhR,EAAgBl5G,GAAQi5G,iBAAkB,EAC1Cj5G,EAAOo5G,UAAW,GACX,GAMnB,SAAS8W,GAAgBC,EAAWC,EAAgBC,GAChD,GAAIF,EACA,OAAO9B,GAAW8B,GACf,GAAIC,EAEP,OAAO,EAEP,IAAIE,EAAKjkI,SAASgkI,EAAW,IACzBx5I,EAAIy5I,EAAK,IAEb,OADSA,EAAKz5I,GAAK,IACR,GAAKA,EAKxB,SAAS05I,GAAkBvwH,GACvB,IACIwwH,EADA1yI,EAAQk7H,GAAQtuH,KAAKolI,GAAkB9vH,EAAO9G,KAElD,GAAIpb,EAAO,CASP,GARA0yI,EAAclB,GACVxxI,EAAM,GACNA,EAAM,GACNA,EAAM,GACNA,EAAM,GACNA,EAAM,GACNA,EAAM,KAELiyI,GAAajyI,EAAM,GAAI0yI,EAAaxwH,GACrC,OAGJA,EAAO4iH,GAAK4N,EACZxwH,EAAOo6G,KAAO8V,GAAgBpyI,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAExDkiB,EAAOzG,GAAK+sH,GAAcvzI,MAAM,KAAMitB,EAAO4iH,IAC7C5iH,EAAOzG,GAAGk3H,cAAczwH,EAAOzG,GAAGm3H,gBAAkB1wH,EAAOo6G,MAE3DlB,EAAgBl5G,GAAQg5G,SAAU,OAElCh5G,EAAOo5G,UAAW,EAK1B,SAASuX,GAAiB3wH,GACtB,IAAItiB,EAAU0wI,GAAgB1jI,KAAKsV,EAAO9G,IAC1B,OAAZxb,GAKJsxI,GAAchvH,IACU,IAApBA,EAAOo5G,kBACAp5G,EAAOo5G,SAKlBmX,GAAkBvwH,IACM,IAApBA,EAAOo5G,kBACAp5G,EAAOo5G,SAKdp5G,EAAOw5G,QACPx5G,EAAOo5G,UAAW,EAGlBxB,EAAMgZ,wBAAwB5wH,MAtB9BA,EAAOzG,GAAK,IAAIgR,MAAM7sB,EAAQ,IAoCtC,SAASgnB,GAAShuB,EAAG0mB,EAAG9f,GACpB,OAAS,MAAL5G,EACOA,EAEF,MAAL0mB,EACOA,EAEJ9f,EAGX,SAASuzI,GAAiB7wH,GAEtB,IAAI8wH,EAAW,IAAIvmH,KAAKqtG,EAAMltG,OAC9B,OAAI1K,EAAO+wH,QACA,CACHD,EAAStK,iBACTsK,EAASE,cACTF,EAASG,cAGV,CAACH,EAAS1K,cAAe0K,EAASI,WAAYJ,EAASK,WAOlE,SAASC,GAAgBpxH,GACrB,IAAI3wB,EACAqxI,EAEA2Q,EACAC,EACAC,EAHA7sG,EAAQ,GAKZ,IAAI1kB,EAAOzG,GAAX,CAgCA,IA5BA83H,EAAcR,GAAiB7wH,GAG3BA,EAAO0iH,IAAyB,MAAnB1iH,EAAO4iH,GAAGG,KAAqC,MAApB/iH,EAAO4iH,GAAGE,KAClD0O,GAAsBxxH,GAID,MAArBA,EAAOyxH,aACPF,EAAY7sH,GAAS1E,EAAO4iH,GAAGC,IAAOwO,EAAYxO,MAG9C7iH,EAAOyxH,WAAa3L,GAAWyL,IACT,IAAtBvxH,EAAOyxH,cAEPvY,EAAgBl5G,GAAQ4tH,oBAAqB,GAGjDlN,EAAO4F,GAAciL,EAAW,EAAGvxH,EAAOyxH,YAC1CzxH,EAAO4iH,GAAGE,IAASpC,EAAKsQ,cACxBhxH,EAAO4iH,GAAGG,IAAQrC,EAAKuQ,cAQtB5hJ,EAAI,EAAGA,EAAI,GAAqB,MAAhB2wB,EAAO4iH,GAAGvzI,KAAcA,EACzC2wB,EAAO4iH,GAAGvzI,GAAKq1C,EAAMr1C,GAAKgiJ,EAAYhiJ,GAI1C,KAAOA,EAAI,EAAGA,IACV2wB,EAAO4iH,GAAGvzI,GAAKq1C,EAAMr1C,GACD,MAAhB2wB,EAAO4iH,GAAGvzI,GAAoB,IAANA,EAAU,EAAI,EAAK2wB,EAAO4iH,GAAGvzI,GAKrC,KAApB2wB,EAAO4iH,GAAGI,KACY,IAAtBhjH,EAAO4iH,GAAGK,KACY,IAAtBjjH,EAAO4iH,GAAGM,KACiB,IAA3BljH,EAAO4iH,GAAGO,MAEVnjH,EAAO0xH,UAAW,EAClB1xH,EAAO4iH,GAAGI,IAAQ,GAGtBhjH,EAAOzG,IAAMyG,EAAO+wH,QAAUzK,GAAgBJ,IAAYnzI,MACtD,KACA2xC,GAEJ4sG,EAAkBtxH,EAAO+wH,QACnB/wH,EAAOzG,GAAGutH,YACV9mH,EAAOzG,GAAG2wH,SAIG,MAAflqH,EAAOo6G,MACPp6G,EAAOzG,GAAGk3H,cAAczwH,EAAOzG,GAAGm3H,gBAAkB1wH,EAAOo6G,MAG3Dp6G,EAAO0xH,WACP1xH,EAAO4iH,GAAGI,IAAQ,IAKlBhjH,EAAO0iH,IACgB,qBAAhB1iH,EAAO0iH,GAAG34D,GACjB/pD,EAAO0iH,GAAG34D,IAAMunE,IAEhBpY,EAAgBl5G,GAAQi5G,iBAAkB,IAIlD,SAASuY,GAAsBxxH,GAC3B,IAAIwI,EAAGmpH,EAAU3K,EAAMC,EAASN,EAAKC,EAAKh8H,EAAMgnI,EAAiBC,EAGrD,OADZrpH,EAAIxI,EAAO0iH,IACLlzD,IAAqB,MAAPhnD,EAAEspH,GAAoB,MAAPtpH,EAAEupH,GACjCpL,EAAM,EACNC,EAAM,EAMN+K,EAAWjtH,GACP8D,EAAEgnD,GACFxvD,EAAO4iH,GAAGC,IACVwE,GAAW2K,KAAe,EAAG,GAAGhS,MAEpCgH,EAAOtiH,GAAS8D,EAAEspH,EAAG,KACrB7K,EAAUviH,GAAS8D,EAAEupH,EAAG,IACV,GAAK9K,EAAU,KACzB2K,GAAkB,KAGtBjL,EAAM3mH,EAAOs6G,QAAQqN,MAAMhB,IAC3BC,EAAM5mH,EAAOs6G,QAAQqN,MAAMf,IAE3BiL,EAAUxK,GAAW2K,KAAerL,EAAKC,GAEzC+K,EAAWjtH,GAAS8D,EAAEypH,GAAIjyH,EAAO4iH,GAAGC,IAAOgP,EAAQ7R,MAGnDgH,EAAOtiH,GAAS8D,EAAEA,EAAGqpH,EAAQ7K,MAElB,MAAPx+G,EAAEuhD,IAEFk9D,EAAUz+G,EAAEuhD,GACE,GAAKk9D,EAAU,KACzB2K,GAAkB,GAER,MAAPppH,EAAE/uB,GAETwtI,EAAUz+G,EAAE/uB,EAAIktI,GACZn+G,EAAE/uB,EAAI,GAAK+uB,EAAE/uB,EAAI,KACjBm4I,GAAkB,IAItB3K,EAAUN,GAGdK,EAAO,GAAKA,EAAOQ,GAAYmK,EAAUhL,EAAKC,GAC9C1N,EAAgBl5G,GAAQ6tH,gBAAiB,EACf,MAAnB+D,EACP1Y,EAAgBl5G,GAAQ8tH,kBAAmB,GAE3CljI,EAAOm8H,GAAmB4K,EAAU3K,EAAMC,EAASN,EAAKC,GACxD5mH,EAAO4iH,GAAGC,IAAQj4H,EAAKo1H,KACvBhgH,EAAOyxH,WAAa7mI,EAAKw8H,WAWjC,SAASiI,GAA0BrvH,GAE/B,GAAIA,EAAOk6G,KAAOtC,EAAMsa,SAIxB,GAAIlyH,EAAOk6G,KAAOtC,EAAMua,SAAxB,CAIAnyH,EAAO4iH,GAAK,GACZ1J,EAAgBl5G,GAAQw8E,OAAQ,EAGhC,IACIntG,EACA4gJ,EACAhoH,EACArR,EACAw7H,EAGAtZ,EARAx0H,EAAS,GAAK0b,EAAO9G,GAMrBm5H,EAAe/tI,EAAOhV,OACtBgjJ,EAAyB,EAM7B,IAHArqH,EACI+0G,EAAah9G,EAAOk6G,GAAIl6G,EAAOs6G,SAASx8H,MAAMu+H,IAAqB,GAElEhtI,EAAI,EAAGA,EAAI44B,EAAO34B,OAAQD,IAC3BunB,EAAQqR,EAAO54B,IACf4gJ,GAAe3rI,EAAOxG,MAAMskI,GAAsBxrH,EAAOoJ,KACrD,IAAI,OAEJoyH,EAAU9tI,EAAOigC,OAAO,EAAGjgC,EAAOpN,QAAQ+4I,KAC9B3gJ,OAAS,GACjB4pI,EAAgBl5G,GAAQq4G,YAAYvlI,KAAKs/I,GAE7C9tI,EAASA,EAAOrS,MACZqS,EAAOpN,QAAQ+4I,GAAeA,EAAY3gJ,QAE9CgjJ,GAA0BrC,EAAY3gJ,QAGtCktI,EAAqB5lH,IACjBq5H,EACA/W,EAAgBl5G,GAAQw8E,OAAQ,EAEhC08B,EAAgBl5G,GAAQo4G,aAAatlI,KAAK8jB,GAE9C+rH,GAAwB/rH,EAAOq5H,EAAajwH,IACrCA,EAAOw5G,UAAYyW,GAC1B/W,EAAgBl5G,GAAQo4G,aAAatlI,KAAK8jB,GAKlDsiH,EAAgBl5G,GAAQs4G,cACpB+Z,EAAeC,EACfhuI,EAAOhV,OAAS,GAChB4pI,EAAgBl5G,GAAQq4G,YAAYvlI,KAAKwR,GAKzC0b,EAAO4iH,GAAGI,KAAS,KACiB,IAApC9J,EAAgBl5G,GAAQy5G,SACxBz5G,EAAO4iH,GAAGI,IAAQ,IAElB9J,EAAgBl5G,GAAQy5G,aAAUvlI,GAGtCglI,EAAgBl5G,GAAQ64G,gBAAkB74G,EAAO4iH,GAAG3wI,MAAM,GAC1DinI,EAAgBl5G,GAAQ+4G,SAAW/4G,EAAO4rH,UAE1C5rH,EAAO4iH,GAAGI,IAAQuP,GACdvyH,EAAOs6G,QACPt6G,EAAO4iH,GAAGI,IACVhjH,EAAO4rH,WAKC,QADZ9S,EAAMI,EAAgBl5G,GAAQ84G,OAE1B94G,EAAO4iH,GAAGC,IAAQ7iH,EAAOs6G,QAAQkY,gBAAgB1Z,EAAK94G,EAAO4iH,GAAGC,MAGpEuO,GAAgBpxH,GAChB2tH,GAAc3tH,QA/EVuwH,GAAkBvwH,QAJlBgvH,GAAchvH,GAsFtB,SAASuyH,GAAgBjlI,EAAQmlI,EAAM1Z,GACnC,IAAI2Z,EAEJ,OAAgB,MAAZ3Z,EAEO0Z,EAEgB,MAAvBnlI,EAAOqlI,aACArlI,EAAOqlI,aAAaF,EAAM1Z,GACX,MAAfzrH,EAAOq+H,OAEd+G,EAAOplI,EAAOq+H,KAAK5S,KACP0Z,EAAO,KACfA,GAAQ,IAEPC,GAAiB,KAATD,IACTA,EAAO,GAEJA,GAGAA,EAKf,SAASG,GAAyB5yH,GAC9B,IAAI6yH,EACAC,EACAC,EACA1jJ,EACA2jJ,EACAC,EACAC,GAAoB,EAExB,GAAyB,IAArBlzH,EAAOk6G,GAAG5qI,OAGV,OAFA4pI,EAAgBl5G,GAAQ04G,eAAgB,OACxC14G,EAAOzG,GAAK,IAAIgR,KAAKqvG,MAIzB,IAAKvqI,EAAI,EAAGA,EAAI2wB,EAAOk6G,GAAG5qI,OAAQD,IAC9B2jJ,EAAe,EACfC,GAAmB,EACnBJ,EAAa7Y,EAAW,GAAIh6G,GACN,MAAlBA,EAAO+wH,UACP8B,EAAW9B,QAAU/wH,EAAO+wH,SAEhC8B,EAAW3Y,GAAKl6G,EAAOk6G,GAAG7qI,GAC1BggJ,GAA0BwD,GAEtBj8F,EAAQi8F,KACRI,GAAmB,GAIvBD,GAAgB9Z,EAAgB2Z,GAAYva,cAG5C0a,GAAkE,GAAlD9Z,EAAgB2Z,GAAYza,aAAa9oI,OAEzD4pI,EAAgB2Z,GAAY/0G,MAAQk1G,EAE/BE,EAaGF,EAAeD,IACfA,EAAcC,EACdF,EAAaD,IAbE,MAAfE,GACAC,EAAeD,GACfE,KAEAF,EAAcC,EACdF,EAAaD,EACTI,IACAC,GAAoB,IAWpC/1H,EAAO6C,EAAQ8yH,GAAcD,GAGjC,SAASM,GAAiBnzH,GACtB,IAAIA,EAAOzG,GAAX,CAIA,IAAIlqB,EAAIiwI,GAAqBt/G,EAAO9G,IAChCk6H,OAAsBl/I,IAAV7E,EAAE+5I,IAAoB/5I,EAAEqxI,KAAOrxI,EAAE+5I,IACjDppH,EAAO4iH,GAAKnlI,EACR,CAACpO,EAAE2wI,KAAM3wI,EAAEoxI,MAAO2S,EAAW/jJ,EAAEojJ,KAAMpjJ,EAAEgkJ,OAAQhkJ,EAAEikJ,OAAQjkJ,EAAEkkJ,cAC3D,SAAU9kJ,GACN,OAAOA,GAAO4d,SAAS5d,EAAK,OAIpC2iJ,GAAgBpxH,IAGpB,SAASwzH,GAAiBxzH,GACtB,IAAI9pB,EAAM,IAAIqkI,EAAOoT,GAAc8F,GAAczzH,KAOjD,OANI9pB,EAAIw7I,WAEJx7I,EAAI0rD,IAAI,EAAG,KACX1rD,EAAIw7I,cAAWx9I,GAGZgC,EAGX,SAASu9I,GAAczzH,GACnB,IAAI0kB,EAAQ1kB,EAAO9G,GACfzQ,EAASuX,EAAOk6G,GAIpB,OAFAl6G,EAAOs6G,QAAUt6G,EAAOs6G,SAAW8S,GAAUptH,EAAOm6G,IAEtC,OAAVz1F,QAA8BxwC,IAAXuU,GAAkC,KAAVi8B,EACpCi1F,EAAc,CAAEpB,WAAW,KAGjB,kBAAV7zF,IACP1kB,EAAO9G,GAAKwrB,EAAQ1kB,EAAOs6G,QAAQoZ,SAAShvG,IAG5C+1F,EAAS/1F,GACF,IAAI61F,EAAOoT,GAAcjpG,KACzBlqB,EAAOkqB,GACd1kB,EAAOzG,GAAKmrB,EACLpzC,EAAQmX,GACfmqI,GAAyB5yH,GAClBvX,EACP4mI,GAA0BrvH,GAE1B2zH,GAAgB3zH,GAGf42B,EAAQ52B,KACTA,EAAOzG,GAAK,MAGTyG,IAGX,SAAS2zH,GAAgB3zH,GACrB,IAAI0kB,EAAQ1kB,EAAO9G,GACfc,EAAY0qB,GACZ1kB,EAAOzG,GAAK,IAAIgR,KAAKqtG,EAAMltG,OACpBlQ,EAAOkqB,GACd1kB,EAAOzG,GAAK,IAAIgR,KAAKma,EAAMlrC,WACH,kBAAVkrC,EACdisG,GAAiB3wH,GACV1uB,EAAQozC,IACf1kB,EAAO4iH,GAAKnlI,EAAIinC,EAAMzyC,MAAM,IAAI,SAAUxD,GACtC,OAAO4d,SAAS5d,EAAK,OAEzB2iJ,GAAgBpxH,IACT3F,EAASqqB,GAChByuG,GAAiBnzH,GACV5F,EAASsqB,GAEhB1kB,EAAOzG,GAAK,IAAIgR,KAAKma,GAErBkzF,EAAMgZ,wBAAwB5wH,GAItC,SAASi4G,GAAiBvzF,EAAOj8B,EAAQ6E,EAAQ0qH,EAAQ4b,GACrD,IAAIt2I,EAAI,GA2BR,OAzBe,IAAXmL,IAA8B,IAAXA,IACnBuvH,EAASvvH,EACTA,OAASvU,IAGE,IAAXoZ,IAA8B,IAAXA,IACnB0qH,EAAS1qH,EACTA,OAASpZ,IAIRmmB,EAASqqB,IAAUozF,EAAcpzF,IACjCpzC,EAAQozC,IAA2B,IAAjBA,EAAMp1C,UAEzBo1C,OAAQxwC,GAIZoJ,EAAE28H,kBAAmB,EACrB38H,EAAEyzI,QAAUzzI,EAAE+8H,OAASuZ,EACvBt2I,EAAE68H,GAAK7sH,EACPhQ,EAAE4b,GAAKwrB,EACPpnC,EAAE48H,GAAKzxH,EACPnL,EAAEk8H,QAAUxB,EAELwb,GAAiBl2I,GAG5B,SAAS00I,GAAYttG,EAAOj8B,EAAQ6E,EAAQ0qH,GACxC,OAAOC,GAAiBvzF,EAAOj8B,EAAQ6E,EAAQ0qH,GAAQ,GAre3DJ,EAAMgZ,wBAA0BjW,EAC5B,iSAGA,SAAU36G,GACNA,EAAOzG,GAAK,IAAIgR,KAAKvK,EAAO9G,IAAM8G,EAAO+wH,QAAU,OAAS,QAuLpEnZ,EAAMsa,SAAW,aAGjBta,EAAMua,SAAW,aAySjB,IAAI0B,GAAelZ,EACX,sGACA,WACI,IAAIn0H,EAAQwrI,GAAYj/I,MAAM,KAAME,WACpC,OAAIS,KAAKkjD,WAAapwC,EAAMowC,UACjBpwC,EAAQ9S,KAAOA,KAAO8S,EAEtBmzH,OAInBma,GAAenZ,EACX,sGACA,WACI,IAAIn0H,EAAQwrI,GAAYj/I,MAAM,KAAME,WACpC,OAAIS,KAAKkjD,WAAapwC,EAAMowC,UACjBpwC,EAAQ9S,KAAOA,KAAO8S,EAEtBmzH,OAUvB,SAASoa,GAAOt6H,EAAIu6H,GAChB,IAAI99I,EAAK7G,EAIT,GAHuB,IAAnB2kJ,EAAQ1kJ,QAAgBgC,EAAQ0iJ,EAAQ,MACxCA,EAAUA,EAAQ,KAEjBA,EAAQ1kJ,OACT,OAAO0iJ,KAGX,IADA97I,EAAM89I,EAAQ,GACT3kJ,EAAI,EAAGA,EAAI2kJ,EAAQ1kJ,SAAUD,EACzB2kJ,EAAQ3kJ,GAAGunD,YAAao9F,EAAQ3kJ,GAAGoqB,GAAIvjB,KACxCA,EAAM89I,EAAQ3kJ,IAGtB,OAAO6G,EAIX,SAAS81B,KAGL,OAAO+nH,GAAO,WAFH,GAAG9hJ,MAAMlB,KAAKkC,UAAW,IAKxC,SAASi6D,KAGL,OAAO6mF,GAAO,UAFH,GAAG9hJ,MAAMlB,KAAKkC,UAAW,IAKxC,IAAIy3B,GAAM,WACN,OAAOH,KAAKG,IAAMH,KAAKG,OAAS,IAAIH,MAGpC0pH,GAAW,CACX,OACA,UACA,QACA,OACA,MACA,OACA,SACA,SACA,eAGJ,SAASC,GAAgBr9I,GACrB,IAAIhH,EAEAR,EADA8kJ,GAAiB,EAErB,IAAKtkJ,KAAOgH,EACR,GACI2nB,EAAW3nB,EAAGhH,MAEuB,IAAjCqH,GAAQnG,KAAKkjJ,GAAUpkJ,IACZ,MAAVgH,EAAEhH,IAAiBuc,MAAMvV,EAAEhH,KAGhC,OAAO,EAIf,IAAKR,EAAI,EAAGA,EAAI4kJ,GAAS3kJ,SAAUD,EAC/B,GAAIwH,EAAEo9I,GAAS5kJ,IAAK,CAChB,GAAI8kJ,EACA,OAAO,EAEPxlG,WAAW93C,EAAEo9I,GAAS5kJ,OAAS8wI,GAAMtpI,EAAEo9I,GAAS5kJ,OAChD8kJ,GAAiB,GAK7B,OAAO,EAGX,SAASC,KACL,OAAO1gJ,KAAK0lI,SAGhB,SAASib,KACL,OAAOC,GAAe1a,KAG1B,SAAS2a,GAASxmG,GACd,IAAI0xF,EAAkBH,GAAqBvxF,GACvCymG,EAAQ/U,EAAgBO,MAAQ,EAChCyU,EAAWhV,EAAgBiV,SAAW,EACtCjR,EAAShE,EAAgBgB,OAAS,EAClCkU,EAAQlV,EAAgBuH,MAAQvH,EAAgBmV,SAAW,EAC3DC,EAAOpV,EAAgB2J,KAAO,EAC9B6B,EAAQxL,EAAgBgT,MAAQ,EAChCrH,EAAU3L,EAAgB4T,QAAU,EACpC7H,EAAU/L,EAAgB6T,QAAU,EACpCwB,EAAerV,EAAgB8T,aAAe,EAElD7/I,KAAK0lI,SAAW8a,GAAgBzU,GAGhC/rI,KAAKqhJ,eACAD,EACS,IAAVtJ,EACU,IAAVJ,EACQ,IAARH,EAAe,GAAK,GAGxBv3I,KAAKshJ,OAASH,EAAe,EAARF,EAIrBjhJ,KAAKywI,SAAWV,EAAoB,EAAXgR,EAAuB,GAARD,EAExC9gJ,KAAKuhJ,MAAQ,GAEbvhJ,KAAK4mI,QAAU8S,KAEf15I,KAAKwhJ,UAGT,SAASC,GAAW1mJ,GAChB,OAAOA,aAAe8lJ,GAG1B,SAASa,GAASxtI,GACd,OAAIA,EAAS,GACyB,EAA3BK,KAAKykB,OAAO,EAAI9kB,GAEhBK,KAAKykB,MAAM9kB,GAK1B,SAASytI,GAAcC,EAAQC,EAAQC,GACnC,IAGInmJ,EAHAsC,EAAMsW,KAAK+jB,IAAIspH,EAAOhmJ,OAAQimJ,EAAOjmJ,QACrCmmJ,EAAaxtI,KAAKC,IAAIotI,EAAOhmJ,OAASimJ,EAAOjmJ,QAC7ComJ,EAAQ,EAEZ,IAAKrmJ,EAAI,EAAGA,EAAIsC,EAAKtC,KAEZmmJ,GAAeF,EAAOjmJ,KAAOkmJ,EAAOlmJ,KACnCmmJ,GAAerV,GAAMmV,EAAOjmJ,MAAQ8wI,GAAMoV,EAAOlmJ,MAEnDqmJ,IAGR,OAAOA,EAAQD,EAKnB,SAASx8F,GAAOriC,EAAO++H,GACnBlZ,EAAe7lH,EAAO,EAAG,GAAG,WACxB,IAAIqiC,EAASvlD,KAAKkiJ,YACdC,EAAO,IAKX,OAJI58F,EAAS,IACTA,GAAUA,EACV48F,EAAO,KAGPA,EACA7Z,KAAY/iF,EAAS,IAAK,GAC1B08F,EACA3Z,IAAW/iF,EAAS,GAAI,MAKpCA,GAAO,IAAK,KACZA,GAAO,KAAM,IAIbgpF,GAAc,IAAKH,IACnBG,GAAc,KAAMH,IACpBU,GAAc,CAAC,IAAK,OAAO,SAAU99F,EAAOo4F,EAAO98G,GAC/CA,EAAO+wH,SAAU,EACjB/wH,EAAOo6G,KAAO0b,GAAiBhU,GAAkBp9F,MAQrD,IAAIqxG,GAAc,kBAElB,SAASD,GAAiB1tH,EAAS9jB,GAC/B,IAEIrG,EACAmtI,EAHA7sH,GAAWja,GAAU,IAAIxG,MAAMsqB,GAKnC,OAAgB,OAAZ7J,EACO,KAOQ,KAFnB6sH,EAAuB,IADvBntI,IADQsgB,EAAQA,EAAQjvB,OAAS,IAAM,IACtB,IAAIwO,MAAMi4I,KAAgB,CAAC,IAAK,EAAG,IAClC,GAAW5V,GAAMliI,EAAM,KAElB,EAAiB,MAAbA,EAAM,GAAamtI,GAAWA,EAI7D,SAAS4K,GAAgBtxG,EAAOuxG,GAC5B,IAAI//I,EAAK4oI,EACT,OAAImX,EAAM5b,QACNnkI,EAAM+/I,EAAM3hI,QACZwqH,GACKrE,EAAS/1F,IAAUlqB,EAAOkqB,GACrBA,EAAMlrC,UACNw4I,GAAYttG,GAAOlrC,WAAatD,EAAIsD,UAE9CtD,EAAIqjB,GAAG28H,QAAQhgJ,EAAIqjB,GAAG/f,UAAYslI,GAClClH,EAAM4C,aAAatkI,GAAK,GACjBA,GAEA87I,GAAYttG,GAAOyxG,QAIlC,SAASC,GAAcv/I,GAGnB,OAAQoR,KAAKykB,MAAM71B,EAAE0iB,GAAG88H,qBAqB5B,SAASC,GAAa5xG,EAAO6xG,EAAeC,GACxC,IACIC,EADAx9F,EAASvlD,KAAKopE,SAAW,EAE7B,IAAKppE,KAAKkjD,UACN,OAAgB,MAATlS,EAAgBhxC,KAAOkmI,IAElC,GAAa,MAATl1F,EAAe,CACf,GAAqB,kBAAVA,GAEP,GAAc,QADdA,EAAQoxG,GAAiBhU,GAAkBp9F,IAEvC,OAAOhxC,UAEJuU,KAAKC,IAAIw8B,GAAS,KAAO8xG,IAChC9xG,GAAgB,IAwBpB,OAtBKhxC,KAAK2mI,QAAUkc,IAChBE,EAAcL,GAAc1iJ,OAEhCA,KAAKopE,QAAUp4B,EACfhxC,KAAK2mI,QAAS,EACK,MAAfoc,GACA/iJ,KAAKkuD,IAAI60F,EAAa,KAEtBx9F,IAAWvU,KACN6xG,GAAiB7iJ,KAAKgjJ,kBACvBC,GACIjjJ,KACA4gJ,GAAe5vG,EAAQuU,EAAQ,KAC/B,GACA,GAEIvlD,KAAKgjJ,oBACbhjJ,KAAKgjJ,mBAAoB,EACzB9e,EAAM4C,aAAa9mI,MAAM,GACzBA,KAAKgjJ,kBAAoB,OAG1BhjJ,KAEP,OAAOA,KAAK2mI,OAASphF,EAASm9F,GAAc1iJ,MAIpD,SAASkjJ,GAAWlyG,EAAO6xG,GACvB,OAAa,MAAT7xG,GACqB,kBAAVA,IACPA,GAASA,GAGbhxC,KAAKkiJ,UAAUlxG,EAAO6xG,GAEf7iJ,OAECA,KAAKkiJ,YAIrB,SAASiB,GAAeN,GACpB,OAAO7iJ,KAAKkiJ,UAAU,EAAGW,GAG7B,SAASO,GAAiBP,GAStB,OARI7iJ,KAAK2mI,SACL3mI,KAAKkiJ,UAAU,EAAGW,GAClB7iJ,KAAK2mI,QAAS,EAEVkc,GACA7iJ,KAAKqjJ,SAASX,GAAc1iJ,MAAO,MAGpCA,KAGX,SAASsjJ,KACL,GAAiB,MAAbtjJ,KAAK0mI,KACL1mI,KAAKkiJ,UAAUliJ,KAAK0mI,MAAM,GAAO,QAC9B,GAAuB,kBAAZ1mI,KAAKwlB,GAAiB,CACpC,IAAI+9H,EAAQnB,GAAiBjU,GAAanuI,KAAKwlB,IAClC,MAAT+9H,EACAvjJ,KAAKkiJ,UAAUqB,GAEfvjJ,KAAKkiJ,UAAU,GAAG,GAG1B,OAAOliJ,KAGX,SAASwjJ,GAAqBxyG,GAC1B,QAAKhxC,KAAKkjD,YAGVlS,EAAQA,EAAQstG,GAAYttG,GAAOkxG,YAAc,GAEzCliJ,KAAKkiJ,YAAclxG,GAAS,KAAO,GAG/C,SAASyyG,KACL,OACIzjJ,KAAKkiJ,YAAcliJ,KAAK4gB,QAAQmsH,MAAM,GAAGmV,aACzCliJ,KAAKkiJ,YAAcliJ,KAAK4gB,QAAQmsH,MAAM,GAAGmV,YAIjD,SAASwB,KACL,IAAKp9H,EAAYtmB,KAAK2jJ,eAClB,OAAO3jJ,KAAK2jJ,cAGhB,IACI7wI,EADAlJ,EAAI,GAcR,OAXA08H,EAAW18H,EAAG5J,OACd4J,EAAIm2I,GAAcn2I,IAEZslI,IACFp8H,EAAQlJ,EAAE+8H,OAAStC,EAAUz6H,EAAEslI,IAAMoP,GAAY10I,EAAEslI,IACnDlvI,KAAK2jJ,cACD3jJ,KAAKkjD,WAAay+F,GAAc/3I,EAAEslI,GAAIp8H,EAAM0X,WAAa,GAE7DxqB,KAAK2jJ,eAAgB,EAGlB3jJ,KAAK2jJ,cAGhB,SAASC,KACL,QAAO5jJ,KAAKkjD,YAAaljD,KAAK2mI,OAGlC,SAASkd,KACL,QAAO7jJ,KAAKkjD,WAAYljD,KAAK2mI,OAGjC,SAASmd,KACL,QAAO9jJ,KAAKkjD,WAAYljD,KAAK2mI,QAA2B,IAAjB3mI,KAAKopE,QApJhD86D,EAAM4C,aAAe,aAwJrB,IAAIid,GAAc,wDAIdC,GAAW,sKAEf,SAASpD,GAAe5vG,EAAO70C,GAC3B,IAGIgmJ,EACA3lI,EACAynI,EALA5pG,EAAWrJ,EAEX5mC,EAAQ,KAkEZ,OA7DIq3I,GAAWzwG,GACXqJ,EAAW,CACPo4F,GAAIzhG,EAAMqwG,cACVhrE,EAAGrlC,EAAMswG,MACTzW,EAAG75F,EAAMy/F,SAEN/pH,EAASsqB,KAAWt4B,OAAOs4B,IAClCqJ,EAAW,GACPl+C,EACAk+C,EAASl+C,IAAQ60C,EAEjBqJ,EAAS+mG,cAAgBpwG,IAErB5mC,EAAQ25I,GAAY/sI,KAAKg6B,KACjCmxG,EAAoB,MAAb/3I,EAAM,IAAc,EAAI,EAC/BiwC,EAAW,CACP+f,EAAG,EACHic,EAAGo2D,GAAMriI,EAAMilI,KAAS8S,EACxBtyH,EAAG48G,GAAMriI,EAAMklI,KAAS6S,EACxBh/I,EAAGspI,GAAMriI,EAAMmlI,KAAW4S,EAC1Bl/I,EAAGwpI,GAAMriI,EAAMolI,KAAW2S,EAC1B1P,GAAIhG,GAAMiV,GAA8B,IAArBt3I,EAAMqlI,MAAwB0S,KAE7C/3I,EAAQ45I,GAAShtI,KAAKg6B,KAC9BmxG,EAAoB,MAAb/3I,EAAM,IAAc,EAAI,EAC/BiwC,EAAW,CACP+f,EAAG8pF,GAAS95I,EAAM,GAAI+3I,GACtBtX,EAAGqZ,GAAS95I,EAAM,GAAI+3I,GACtBrtH,EAAGovH,GAAS95I,EAAM,GAAI+3I,GACtB9rE,EAAG6tE,GAAS95I,EAAM,GAAI+3I,GACtBtyH,EAAGq0H,GAAS95I,EAAM,GAAI+3I,GACtBh/I,EAAG+gJ,GAAS95I,EAAM,GAAI+3I,GACtBl/I,EAAGihJ,GAAS95I,EAAM,GAAI+3I,KAEP,MAAZ9nG,EAEPA,EAAW,GAES,kBAAbA,IACN,SAAUA,GAAY,OAAQA,KAE/B4pG,EAAUE,GACN7F,GAAYjkG,EAASt8C,MACrBugJ,GAAYjkG,EAASlP,MAGzBkP,EAAW,IACFo4F,GAAKwR,EAAQ7C,aACtB/mG,EAASwwF,EAAIoZ,EAAQlU,QAGzBvzH,EAAM,IAAIqkI,GAASxmG,GAEfonG,GAAWzwG,IAAUlmB,EAAWkmB,EAAO,aACvCx0B,EAAIoqH,QAAU51F,EAAM41F,SAGpB6a,GAAWzwG,IAAUlmB,EAAWkmB,EAAO,cACvCx0B,EAAIkpH,SAAW10F,EAAM00F,UAGlBlpH,EAMX,SAAS0nI,GAASE,EAAKjC,GAInB,IAAI3/I,EAAM4hJ,GAAOnpG,WAAWmpG,EAAI3gJ,QAAQ,IAAK,MAE7C,OAAQiV,MAAMlW,GAAO,EAAIA,GAAO2/I,EAGpC,SAASkC,GAA0BxyF,EAAM/+C,GACrC,IAAItQ,EAAM,GAUV,OARAA,EAAIutI,OACAj9H,EAAMi6H,QAAUl7E,EAAKk7E,QAAyC,IAA9Bj6H,EAAMw5H,OAASz6E,EAAKy6E,QACpDz6E,EAAKjxC,QAAQstC,IAAI1rD,EAAIutI,OAAQ,KAAKuU,QAAQxxI,MACxCtQ,EAAIutI,OAGVvtI,EAAI4+I,cAAgBtuI,GAAS++C,EAAKjxC,QAAQstC,IAAI1rD,EAAIutI,OAAQ,KAEnDvtI,EAGX,SAAS2hJ,GAAkBtyF,EAAM/+C,GAC7B,IAAItQ,EACJ,OAAMqvD,EAAK3O,WAAapwC,EAAMowC,WAI9BpwC,EAAQwvI,GAAgBxvI,EAAO++C,GAC3BA,EAAK0yF,SAASzxI,GACdtQ,EAAM6hJ,GAA0BxyF,EAAM/+C,KAEtCtQ,EAAM6hJ,GAA0BvxI,EAAO++C,IACnCuvF,cAAgB5+I,EAAI4+I,aACxB5+I,EAAIutI,QAAUvtI,EAAIutI,QAGfvtI,GAZI,CAAE4+I,aAAc,EAAGrR,OAAQ,GAgB1C,SAASyU,GAAY3hF,EAAWrkE,GAC5B,OAAO,SAAU+X,EAAKkuI,GAClB,IAASpsF,EAmBT,OAjBe,OAAXosF,GAAoB/rI,OAAO+rI,KAC3Bpd,EACI7oI,EACA,YACIA,EACA,uDACAA,EAHJ,kGAOJ65D,EAAM9hD,EACNA,EAAMkuI,EACNA,EAASpsF,GAIb4qF,GAAYjjJ,KADN4gJ,GAAerqI,EAAKkuI,GACH5hF,GAChB7iE,MAIf,SAASijJ,GAAY7a,EAAK/tF,EAAUqqG,EAAU5d,GAC1C,IAAIsa,EAAe/mG,EAASgnG,cACxBF,EAAOO,GAASrnG,EAASinG,OACzBvR,EAAS2R,GAASrnG,EAASo2F,SAE1BrI,EAAIllF,YAKT4jF,EAA+B,MAAhBA,GAA8BA,EAEzCiJ,GACAwB,GAASnJ,EAAKjsH,GAAIisH,EAAK,SAAW2H,EAAS2U,GAE3CvD,GACArU,GAAM1E,EAAK,OAAQjsH,GAAIisH,EAAK,QAAU+Y,EAAOuD,GAE7CtD,GACAhZ,EAAIviH,GAAG28H,QAAQpa,EAAIviH,GAAG/f,UAAYs7I,EAAesD,GAEjD5d,GACA5C,EAAM4C,aAAasB,EAAK+Y,GAAQpR,IA5FxC6Q,GAAe76H,GAAK86H,GAAS1lJ,UAC7BylJ,GAAe+D,QAAUhE,GA+FzB,IAAIzyF,GAAMs2F,GAAY,EAAG,OACrBnB,GAAWmB,IAAa,EAAG,YAE/B,SAASh+H,GAASwqB,GACd,MAAwB,kBAAVA,GAAsBA,aAAiBtsC,OAIzD,SAASkgJ,GAAc5zG,GACnB,OACI+1F,EAAS/1F,IACTlqB,EAAOkqB,IACPxqB,GAASwqB,IACTtqB,EAASsqB,IACT6zG,GAAsB7zG,IACtB8zG,GAAoB9zG,IACV,OAAVA,QACUxwC,IAAVwwC,EAIR,SAAS8zG,GAAoB9zG,GACzB,IA4BIr1C,EACAw9C,EA7BA4rG,EAAap+H,EAASqqB,KAAWozF,EAAcpzF,GAC/Cg0G,GAAe,EACfC,EAAa,CACT,QACA,OACA,IACA,SACA,QACA,IACA,OACA,MACA,IACA,QACA,OACA,IACA,QACA,OACA,IACA,UACA,SACA,IACA,UACA,SACA,IACA,eACA,cACA,MAKR,IAAKtpJ,EAAI,EAAGA,EAAIspJ,EAAWrpJ,OAAQD,GAAK,EACpCw9C,EAAW8rG,EAAWtpJ,GACtBqpJ,EAAeA,GAAgBl6H,EAAWkmB,EAAOmI,GAGrD,OAAO4rG,GAAcC,EAGzB,SAASH,GAAsB7zG,GAC3B,IAAIk0G,EAAYtnJ,EAAQozC,GACpBm0G,GAAe,EAOnB,OANID,IACAC,EAGkB,IAFdn0G,EAAM/xC,QAAO,SAAU20G,GACnB,OAAQltF,EAASktF,IAASptF,GAASwqB,MACpCp1C,QAEJspJ,GAAaC,EAGxB,SAASC,GAAep0G,GACpB,IAUIr1C,EACAw9C,EAXA4rG,EAAap+H,EAASqqB,KAAWozF,EAAcpzF,GAC/Cg0G,GAAe,EACfC,EAAa,CACT,UACA,UACA,UACA,WACA,WACA,YAKR,IAAKtpJ,EAAI,EAAGA,EAAIspJ,EAAWrpJ,OAAQD,GAAK,EACpCw9C,EAAW8rG,EAAWtpJ,GACtBqpJ,EAAeA,GAAgBl6H,EAAWkmB,EAAOmI,GAGrD,OAAO4rG,GAAcC,EAGzB,SAASK,GAAkBC,EAAUtuH,GACjC,IAAIo0G,EAAOka,EAASla,KAAKp0G,EAAK,QAAQ,GACtC,OAAOo0G,GAAQ,EACT,WACAA,GAAQ,EACR,WACAA,EAAO,EACP,UACAA,EAAO,EACP,UACAA,EAAO,EACP,UACAA,EAAO,EACP,WACA,WAGV,SAASma,GAAWC,EAAM3sI,GAEG,IAArBtZ,UAAU3D,SACL2D,UAAU,GAGJqlJ,GAAcrlJ,UAAU,KAC/BimJ,EAAOjmJ,UAAU,GACjBsZ,OAAUrY,GACH4kJ,GAAe7lJ,UAAU,MAChCsZ,EAAUtZ,UAAU,GACpBimJ,OAAOhlJ,IAPPglJ,OAAOhlJ,EACPqY,OAAUrY,IAWlB,IAAIw2B,EAAMwuH,GAAQlH,KACdmH,EAAMnD,GAAgBtrH,EAAKh3B,MAAM0lJ,QAAQ,OACzC3wI,EAASmvH,EAAMyhB,eAAe3lJ,KAAMylJ,IAAQ,WAC5CxlJ,EACI4Y,IACC4N,EAAW5N,EAAQ9D,IACd8D,EAAQ9D,GAAQ1X,KAAK2C,KAAMg3B,GAC3Bne,EAAQ9D,IAEtB,OAAO/U,KAAK+U,OACR9U,GAAUD,KAAKipI,aAAad,SAASpzH,EAAQ/U,KAAMs+I,GAAYtnH,KAIvE,SAASpW,KACL,OAAO,IAAIimH,EAAO7mI,MAGtB,SAASskJ,GAAQtzG,EAAO26F,GACpB,IAAIia,EAAa7e,EAAS/1F,GAASA,EAAQstG,GAAYttG,GACvD,SAAMhxC,KAAKkjD,YAAa0iG,EAAW1iG,aAIrB,iBADdyoF,EAAQD,GAAeC,IAAU,eAEtB3rI,KAAK8F,UAAY8/I,EAAW9/I,UAE5B8/I,EAAW9/I,UAAY9F,KAAK4gB,QAAQ8kI,QAAQ/Z,GAAO7lI,WAIlE,SAASy+I,GAASvzG,EAAO26F,GACrB,IAAIia,EAAa7e,EAAS/1F,GAASA,EAAQstG,GAAYttG,GACvD,SAAMhxC,KAAKkjD,YAAa0iG,EAAW1iG,aAIrB,iBADdyoF,EAAQD,GAAeC,IAAU,eAEtB3rI,KAAK8F,UAAY8/I,EAAW9/I,UAE5B9F,KAAK4gB,QAAQilI,MAAMla,GAAO7lI,UAAY8/I,EAAW9/I,WAIhE,SAASggJ,GAAU/nJ,EAAMotC,EAAIwgG,EAAOoa,GAChC,IAAIC,EAAYjf,EAAShpI,GAAQA,EAAOugJ,GAAYvgJ,GAChDkoJ,EAAUlf,EAAS57F,GAAMA,EAAKmzG,GAAYnzG,GAC9C,SAAMnrC,KAAKkjD,WAAa8iG,EAAU9iG,WAAa+iG,EAAQ/iG,aAK/B,OAFxB6iG,EAAcA,GAAe,MAEZ,GACP/lJ,KAAKskJ,QAAQ0B,EAAWra,IACvB3rI,KAAKukJ,SAASyB,EAAWra,MACZ,MAAnBoa,EAAY,GACP/lJ,KAAKukJ,SAAS0B,EAASta,IACtB3rI,KAAKskJ,QAAQ2B,EAASta,IAIrC,SAASua,GAAOl1G,EAAO26F,GACnB,IACIwa,EADAP,EAAa7e,EAAS/1F,GAASA,EAAQstG,GAAYttG,GAEvD,SAAMhxC,KAAKkjD,YAAa0iG,EAAW1iG,aAIrB,iBADdyoF,EAAQD,GAAeC,IAAU,eAEtB3rI,KAAK8F,YAAc8/I,EAAW9/I,WAErCqgJ,EAAUP,EAAW9/I,UAEjB9F,KAAK4gB,QAAQ8kI,QAAQ/Z,GAAO7lI,WAAaqgJ,GACzCA,GAAWnmJ,KAAK4gB,QAAQilI,MAAMla,GAAO7lI,YAKjD,SAASsgJ,GAAcp1G,EAAO26F,GAC1B,OAAO3rI,KAAKkmJ,OAAOl1G,EAAO26F,IAAU3rI,KAAKskJ,QAAQtzG,EAAO26F,GAG5D,SAAS0a,GAAer1G,EAAO26F,GAC3B,OAAO3rI,KAAKkmJ,OAAOl1G,EAAO26F,IAAU3rI,KAAKukJ,SAASvzG,EAAO26F,GAG7D,SAASP,GAAKp6F,EAAO26F,EAAO2a,GACxB,IAAIC,EAAMC,EAAWvmJ,EAErB,IAAKD,KAAKkjD,UACN,OAAOgjF,IAKX,KAFAqgB,EAAOjE,GAAgBtxG,EAAOhxC,OAEpBkjD,UACN,OAAOgjF,IAOX,OAJAsgB,EAAoD,KAAvCD,EAAKrE,YAAcliJ,KAAKkiJ,aAErCvW,EAAQD,GAAeC,IAGnB,IAAK,OACD1rI,EAASwmJ,GAAUzmJ,KAAMumJ,GAAQ,GACjC,MACJ,IAAK,QACDtmJ,EAASwmJ,GAAUzmJ,KAAMumJ,GACzB,MACJ,IAAK,UACDtmJ,EAASwmJ,GAAUzmJ,KAAMumJ,GAAQ,EACjC,MACJ,IAAK,SACDtmJ,GAAUD,KAAOumJ,GAAQ,IACzB,MACJ,IAAK,SACDtmJ,GAAUD,KAAOumJ,GAAQ,IACzB,MACJ,IAAK,OACDtmJ,GAAUD,KAAOumJ,GAAQ,KACzB,MACJ,IAAK,MACDtmJ,GAAUD,KAAOumJ,EAAOC,GAAa,MACrC,MACJ,IAAK,OACDvmJ,GAAUD,KAAOumJ,EAAOC,GAAa,OACrC,MACJ,QACIvmJ,EAASD,KAAOumJ,EAGxB,OAAOD,EAAUrmJ,EAASssI,GAAStsI,GAGvC,SAASwmJ,GAAUzjJ,EAAG0mB,GAClB,GAAI1mB,EAAEgqI,OAAStjH,EAAEsjH,OAGb,OAAQyZ,GAAU/8H,EAAG1mB,GAGzB,IAAI0jJ,EAAyC,IAAvBh9H,EAAE4iH,OAAStpI,EAAEspI,SAAgB5iH,EAAEqjH,QAAU/pI,EAAE+pI,SAE7D4Z,EAAS3jJ,EAAE4d,QAAQstC,IAAIw4F,EAAgB,UAe3C,QAASA,GAXLh9H,EAAIi9H,EAAS,GAGHj9H,EAAIi9H,IAAWA,EAFf3jJ,EAAE4d,QAAQstC,IAAIw4F,EAAiB,EAAG,YAMlCh9H,EAAIi9H,IAFJ3jJ,EAAE4d,QAAQstC,IAAIw4F,EAAiB,EAAG,UAETC,MAIF,EAMzC,SAASroJ,KACL,OAAO0B,KAAK4gB,QAAQhH,OAAO,MAAM7E,OAAO,oCAG5C,SAASiZ,GAAY44H,GACjB,IAAK5mJ,KAAKkjD,UACN,OAAO,KAEX,IAAIshF,GAAqB,IAAfoiB,EACNzjJ,EAAIqhI,EAAMxkI,KAAK4gB,QAAQ4jH,MAAQxkI,KACnC,OAAImD,EAAEmpI,OAAS,GAAKnpI,EAAEmpI,OAAS,KACpBjD,EACHlmI,EACAqhI,EACM,iCACA,gCAGV/9G,EAAWoQ,KAAK17B,UAAU6yB,aAEtBw2G,EACOxkI,KAAK6mJ,SAAS74H,cAEd,IAAI6I,KAAK72B,KAAK8F,UAA+B,GAAnB9F,KAAKkiJ,YAAmB,KACpDl0H,cACAvqB,QAAQ,IAAK4lI,EAAalmI,EAAG,MAGnCkmI,EACHlmI,EACAqhI,EAAM,+BAAiC,8BAU/C,SAASsiB,KACL,IAAK9mJ,KAAKkjD,UACN,MAAO,qBAAuBljD,KAAKwlB,GAAK,OAE5C,IAEI9kB,EACA4rI,EACAtzH,EACAnL,EALA41C,EAAO,SACPsjG,EAAO,GAcX,OATK/mJ,KAAK4jJ,YACNngG,EAA4B,IAArBzjD,KAAKkiJ,YAAoB,aAAe,mBAC/C6E,EAAO,KAEXrmJ,EAAS,IAAM+iD,EAAO,MACtB6oF,EAAO,GAAKtsI,KAAKssI,QAAUtsI,KAAKssI,QAAU,KAAO,OAAS,SAC1DtzH,EAAW,wBACXnL,EAASk5I,EAAO,OAET/mJ,KAAK+U,OAAOrU,EAAS4rI,EAAOtzH,EAAWnL,GAGlD,SAASkH,GAAOiyI,GACPA,IACDA,EAAchnJ,KAAK8jJ,QACb5f,EAAM+iB,iBACN/iB,EAAMgjB,eAEhB,IAAIjnJ,EAASopI,EAAarpI,KAAMgnJ,GAChC,OAAOhnJ,KAAKipI,aAAake,WAAWlnJ,GAGxC,SAASlC,GAAKynJ,EAAMxa,GAChB,OACIhrI,KAAKkjD,YACH6jF,EAASye,IAASA,EAAKtiG,WAAco7F,GAAYkH,GAAMtiG,WAElD09F,GAAe,CAAEz1G,GAAInrC,KAAMjC,KAAMynJ,IACnC5rI,OAAO5Z,KAAK4Z,UACZwtI,UAAUpc,GAERhrI,KAAKipI,aAAaM,cAIjC,SAAS8d,GAAQrc,GACb,OAAOhrI,KAAKjC,KAAKugJ,KAAetT,GAGpC,SAAS7/F,GAAGq6G,EAAMxa,GACd,OACIhrI,KAAKkjD,YACH6jF,EAASye,IAASA,EAAKtiG,WAAco7F,GAAYkH,GAAMtiG,WAElD09F,GAAe,CAAE7iJ,KAAMiC,KAAMmrC,GAAIq6G,IACnC5rI,OAAO5Z,KAAK4Z,UACZwtI,UAAUpc,GAERhrI,KAAKipI,aAAaM,cAIjC,SAAS+d,GAAMtc,GACX,OAAOhrI,KAAKmrC,GAAGmzG,KAAetT,GAMlC,SAASpxH,GAAOzd,GACZ,IAAIorJ,EAEJ,YAAY/mJ,IAARrE,EACO6D,KAAK4mI,QAAQ0S,OAGC,OADrBiO,EAAgB7N,GAAUv9I,MAEtB6D,KAAK4mI,QAAU2gB,GAEZvnJ,MA1HfkkI,EAAMgjB,cAAgB,uBACtBhjB,EAAM+iB,iBAAmB,yBA6HzB,IAAIxjI,GAAOwjH,EACP,mJACA,SAAU9qI,GACN,YAAYqE,IAARrE,EACO6D,KAAKipI,aAELjpI,KAAK4Z,OAAOzd,MAK/B,SAAS8sI,KACL,OAAOjpI,KAAK4mI,QAGhB,IAAI4gB,GAAgB,IAChBC,GAAgB,GAAKD,GACrBE,GAAc,GAAKD,GACnBE,GAAmB,QAAwBD,GAG/C,SAASE,GAAMC,EAAUC,GACrB,OAASD,EAAWC,EAAWA,GAAWA,EAG9C,SAASC,GAAiB3tF,EAAGj3D,EAAGkzE,GAE5B,OAAIjc,EAAI,KAAOA,GAAK,EAET,IAAIvjC,KAAKujC,EAAI,IAAKj3D,EAAGkzE,GAAKsxE,GAE1B,IAAI9wH,KAAKujC,EAAGj3D,EAAGkzE,GAAGvwE,UAIjC,SAASkiJ,GAAe5tF,EAAGj3D,EAAGkzE,GAE1B,OAAIjc,EAAI,KAAOA,GAAK,EAETvjC,KAAKg8G,IAAIz4E,EAAI,IAAKj3D,EAAGkzE,GAAKsxE,GAE1B9wH,KAAKg8G,IAAIz4E,EAAGj3D,EAAGkzE,GAI9B,SAASqvE,GAAQ/Z,GACb,IAAI6Z,EAAMyC,EAEV,QAAcznJ,KADdmrI,EAAQD,GAAeC,KACc,gBAAVA,IAA4B3rI,KAAKkjD,UACxD,OAAOljD,KAKX,OAFAioJ,EAAcjoJ,KAAK2mI,OAASqhB,GAAiBD,GAErCpc,GACJ,IAAK,OACD6Z,EAAOyC,EAAYjoJ,KAAKssI,OAAQ,EAAG,GACnC,MACJ,IAAK,UACDkZ,EAAOyC,EACHjoJ,KAAKssI,OACLtsI,KAAK+sI,QAAW/sI,KAAK+sI,QAAU,EAC/B,GAEJ,MACJ,IAAK,QACDyY,EAAOyC,EAAYjoJ,KAAKssI,OAAQtsI,KAAK+sI,QAAS,GAC9C,MACJ,IAAK,OACDyY,EAAOyC,EACHjoJ,KAAKssI,OACLtsI,KAAK+sI,QACL/sI,KAAKgtI,OAAShtI,KAAKuzI,WAEvB,MACJ,IAAK,UACDiS,EAAOyC,EACHjoJ,KAAKssI,OACLtsI,KAAK+sI,QACL/sI,KAAKgtI,QAAUhtI,KAAKkoJ,aAAe,IAEvC,MACJ,IAAK,MACL,IAAK,OACD1C,EAAOyC,EAAYjoJ,KAAKssI,OAAQtsI,KAAK+sI,QAAS/sI,KAAKgtI,QACnD,MACJ,IAAK,OACDwY,EAAOxlJ,KAAK6lB,GAAG/f,UACf0/I,GAAQoC,GACJpC,GAAQxlJ,KAAK2mI,OAAS,EAAI3mI,KAAKkiJ,YAAcuF,IAC7CC,IAEJ,MACJ,IAAK,SACDlC,EAAOxlJ,KAAK6lB,GAAG/f,UACf0/I,GAAQoC,GAAMpC,EAAMiC,IACpB,MACJ,IAAK,SACDjC,EAAOxlJ,KAAK6lB,GAAG/f,UACf0/I,GAAQoC,GAAMpC,EAAMgC,IAM5B,OAFAxnJ,KAAK6lB,GAAG28H,QAAQgD,GAChBthB,EAAM4C,aAAa9mI,MAAM,GAClBA,KAGX,SAAS6lJ,GAAMla,GACX,IAAI6Z,EAAMyC,EAEV,QAAcznJ,KADdmrI,EAAQD,GAAeC,KACc,gBAAVA,IAA4B3rI,KAAKkjD,UACxD,OAAOljD,KAKX,OAFAioJ,EAAcjoJ,KAAK2mI,OAASqhB,GAAiBD,GAErCpc,GACJ,IAAK,OACD6Z,EAAOyC,EAAYjoJ,KAAKssI,OAAS,EAAG,EAAG,GAAK,EAC5C,MACJ,IAAK,UACDkZ,EACIyC,EACIjoJ,KAAKssI,OACLtsI,KAAK+sI,QAAW/sI,KAAK+sI,QAAU,EAAK,EACpC,GACA,EACR,MACJ,IAAK,QACDyY,EAAOyC,EAAYjoJ,KAAKssI,OAAQtsI,KAAK+sI,QAAU,EAAG,GAAK,EACvD,MACJ,IAAK,OACDyY,EACIyC,EACIjoJ,KAAKssI,OACLtsI,KAAK+sI,QACL/sI,KAAKgtI,OAAShtI,KAAKuzI,UAAY,GAC/B,EACR,MACJ,IAAK,UACDiS,EACIyC,EACIjoJ,KAAKssI,OACLtsI,KAAK+sI,QACL/sI,KAAKgtI,QAAUhtI,KAAKkoJ,aAAe,GAAK,GACxC,EACR,MACJ,IAAK,MACL,IAAK,OACD1C,EAAOyC,EAAYjoJ,KAAKssI,OAAQtsI,KAAK+sI,QAAS/sI,KAAKgtI,OAAS,GAAK,EACjE,MACJ,IAAK,OACDwY,EAAOxlJ,KAAK6lB,GAAG/f,UACf0/I,GACIkC,GACAE,GACIpC,GAAQxlJ,KAAK2mI,OAAS,EAAI3mI,KAAKkiJ,YAAcuF,IAC7CC,IAEJ,EACJ,MACJ,IAAK,SACDlC,EAAOxlJ,KAAK6lB,GAAG/f,UACf0/I,GAAQiC,GAAgBG,GAAMpC,EAAMiC,IAAiB,EACrD,MACJ,IAAK,SACDjC,EAAOxlJ,KAAK6lB,GAAG/f,UACf0/I,GAAQgC,GAAgBI,GAAMpC,EAAMgC,IAAiB,EAM7D,OAFAxnJ,KAAK6lB,GAAG28H,QAAQgD,GAChBthB,EAAM4C,aAAa9mI,MAAM,GAClBA,KAGX,SAAS8F,KACL,OAAO9F,KAAK6lB,GAAG/f,UAAkC,KAArB9F,KAAKopE,SAAW,GAGhD,SAAS++E,KACL,OAAO5zI,KAAKsmB,MAAM76B,KAAK8F,UAAY,KAGvC,SAAS+gJ,KACL,OAAO,IAAIhwH,KAAK72B,KAAK8F,WAGzB,SAAS0kB,KACL,IAAIrnB,EAAInD,KACR,MAAO,CACHmD,EAAEmpI,OACFnpI,EAAE4pI,QACF5pI,EAAE6pI,OACF7pI,EAAE47I,OACF57I,EAAEw8I,SACFx8I,EAAEy8I,SACFz8I,EAAE08I,eAIV,SAASuI,KACL,IAAIjlJ,EAAInD,KACR,MAAO,CACH8gJ,MAAO39I,EAAEmpI,OACTyD,OAAQ5sI,EAAE4pI,QACVC,KAAM7pI,EAAE6pI,OACRuK,MAAOp0I,EAAEo0I,QACTG,QAASv0I,EAAEu0I,UACXI,QAAS30I,EAAE20I,UACXsJ,aAAcj+I,EAAEi+I,gBAIxB,SAAS10H,KAEL,OAAO1sB,KAAKkjD,UAAYljD,KAAKguB,cAAgB,KAGjD,SAASq6H,KACL,OAAOnlG,EAAQljD,MAGnB,SAASsoJ,KACL,OAAO7+H,EAAO,GAAI+7G,EAAgBxlI,OAGtC,SAASuoJ,KACL,OAAO/iB,EAAgBxlI,MAAMmsD,SAGjC,SAASq8F,KACL,MAAO,CACHx3G,MAAOhxC,KAAKwlB,GACZzQ,OAAQ/U,KAAKwmI,GACb5sH,OAAQ5Z,KAAK4mI,QACbsZ,MAAOlgJ,KAAK2mI,OACZrC,OAAQtkI,KAAK8lI,SAuDrB,SAAS2iB,GAAWtlJ,EAAG4R,GACnB,IAAIpZ,EACAwG,EACA6qI,EACA0b,EAAO1oJ,KAAK2oJ,OAASjP,GAAU,MAAMiP,MACzC,IAAKhtJ,EAAI,EAAGwG,EAAIumJ,EAAK9sJ,OAAQD,EAAIwG,IAAKxG,EASlC,OAPS,kBADM+sJ,EAAK/sJ,GAAGitJ,QAGf5b,EAAO9I,EAAMwkB,EAAK/sJ,GAAGitJ,OAAOlD,QAAQ,OACpCgD,EAAK/sJ,GAAGitJ,MAAQ5b,EAAKlnI,kBAId4iJ,EAAK/sJ,GAAGktJ,OACnB,IAAK,YACDH,EAAK/sJ,GAAGktJ,MAAQ,IAChB,MACJ,IAAK,SAED7b,EAAO9I,EAAMwkB,EAAK/sJ,GAAGktJ,OAAOnD,QAAQ,OAAO5/I,UAC3C4iJ,EAAK/sJ,GAAGktJ,MAAQ7b,EAAKlnI,UAIjC,OAAO4iJ,EAGX,SAASI,GAAgBC,EAASh0I,EAAQuvH,GACtC,IAAI3oI,EACAwG,EAEA3D,EACAo7I,EACAoP,EAHAN,EAAO1oJ,KAAK0oJ,OAMhB,IAFAK,EAAUA,EAAQj4I,cAEbnV,EAAI,EAAGwG,EAAIumJ,EAAK9sJ,OAAQD,EAAIwG,IAAKxG,EAKlC,GAJA6C,EAAOkqJ,EAAK/sJ,GAAG6C,KAAKsS,cACpB8oI,EAAO8O,EAAK/sJ,GAAGi+I,KAAK9oI,cACpBk4I,EAASN,EAAK/sJ,GAAGqtJ,OAAOl4I,cAEpBwzH,EACA,OAAQvvH,GACJ,IAAK,IACL,IAAK,KACL,IAAK,MACD,GAAI6kI,IAASmP,EACT,OAAOL,EAAK/sJ,GAEhB,MAEJ,IAAK,OACD,GAAI6C,IAASuqJ,EACT,OAAOL,EAAK/sJ,GAEhB,MAEJ,IAAK,QACD,GAAIqtJ,IAAWD,EACX,OAAOL,EAAK/sJ,QAIrB,GAAI,CAAC6C,EAAMo7I,EAAMoP,GAAQxlJ,QAAQulJ,IAAY,EAChD,OAAOL,EAAK/sJ,GAKxB,SAASstJ,GAAsB7jB,EAAKkH,GAChC,IAAIlmG,EAAMg/F,EAAIwjB,OAASxjB,EAAIyjB,MAAQ,GAAM,EACzC,YAAaroJ,IAAT8rI,EACOpI,EAAMkB,EAAIwjB,OAAOtc,OAEjBpI,EAAMkB,EAAIwjB,OAAOtc,QAAUA,EAAOlH,EAAI7/E,QAAUnf,EAI/D,SAAS8iH,KACL,IAAIvtJ,EACAwG,EACAoU,EACAmyI,EAAO1oJ,KAAKipI,aAAayf,OAC7B,IAAK/sJ,EAAI,EAAGwG,EAAIumJ,EAAK9sJ,OAAQD,EAAIwG,IAAKxG,EAAG,CAIrC,GAFA4a,EAAMvW,KAAK4gB,QAAQ8kI,QAAQ,OAAO5/I,UAE9B4iJ,EAAK/sJ,GAAGitJ,OAASryI,GAAOA,GAAOmyI,EAAK/sJ,GAAGktJ,MACvC,OAAOH,EAAK/sJ,GAAG6C,KAEnB,GAAIkqJ,EAAK/sJ,GAAGktJ,OAAStyI,GAAOA,GAAOmyI,EAAK/sJ,GAAGitJ,MACvC,OAAOF,EAAK/sJ,GAAG6C,KAIvB,MAAO,GAGX,SAAS2qJ,KACL,IAAIxtJ,EACAwG,EACAoU,EACAmyI,EAAO1oJ,KAAKipI,aAAayf,OAC7B,IAAK/sJ,EAAI,EAAGwG,EAAIumJ,EAAK9sJ,OAAQD,EAAIwG,IAAKxG,EAAG,CAIrC,GAFA4a,EAAMvW,KAAK4gB,QAAQ8kI,QAAQ,OAAO5/I,UAE9B4iJ,EAAK/sJ,GAAGitJ,OAASryI,GAAOA,GAAOmyI,EAAK/sJ,GAAGktJ,MACvC,OAAOH,EAAK/sJ,GAAGqtJ,OAEnB,GAAIN,EAAK/sJ,GAAGktJ,OAAStyI,GAAOA,GAAOmyI,EAAK/sJ,GAAGitJ,MACvC,OAAOF,EAAK/sJ,GAAGqtJ,OAIvB,MAAO,GAGX,SAASI,KACL,IAAIztJ,EACAwG,EACAoU,EACAmyI,EAAO1oJ,KAAKipI,aAAayf,OAC7B,IAAK/sJ,EAAI,EAAGwG,EAAIumJ,EAAK9sJ,OAAQD,EAAIwG,IAAKxG,EAAG,CAIrC,GAFA4a,EAAMvW,KAAK4gB,QAAQ8kI,QAAQ,OAAO5/I,UAE9B4iJ,EAAK/sJ,GAAGitJ,OAASryI,GAAOA,GAAOmyI,EAAK/sJ,GAAGktJ,MACvC,OAAOH,EAAK/sJ,GAAGi+I,KAEnB,GAAI8O,EAAK/sJ,GAAGktJ,OAAStyI,GAAOA,GAAOmyI,EAAK/sJ,GAAGitJ,MACvC,OAAOF,EAAK/sJ,GAAGi+I,KAIvB,MAAO,GAGX,SAASyP,KACL,IAAI1tJ,EACAwG,EACAikC,EACA7vB,EACAmyI,EAAO1oJ,KAAKipI,aAAayf,OAC7B,IAAK/sJ,EAAI,EAAGwG,EAAIumJ,EAAK9sJ,OAAQD,EAAIwG,IAAKxG,EAMlC,GALAyqC,EAAMsiH,EAAK/sJ,GAAGitJ,OAASF,EAAK/sJ,GAAGktJ,MAAQ,GAAM,EAG7CtyI,EAAMvW,KAAK4gB,QAAQ8kI,QAAQ,OAAO5/I,UAG7B4iJ,EAAK/sJ,GAAGitJ,OAASryI,GAAOA,GAAOmyI,EAAK/sJ,GAAGktJ,OACvCH,EAAK/sJ,GAAGktJ,OAAStyI,GAAOA,GAAOmyI,EAAK/sJ,GAAGitJ,MAExC,OACK5oJ,KAAKssI,OAASpI,EAAMwkB,EAAK/sJ,GAAGitJ,OAAOtc,QAAUlmG,EAC9CsiH,EAAK/sJ,GAAG4pD,OAKpB,OAAOvlD,KAAKssI,OAGhB,SAASgd,GAAc7a,GAInB,OAHK3jH,EAAW9qB,KAAM,mBAClBupJ,GAAiBlsJ,KAAK2C,MAEnByuI,EAAWzuI,KAAKwpJ,eAAiBxpJ,KAAKypJ,WAGjD,SAASC,GAAcjb,GAInB,OAHK3jH,EAAW9qB,KAAM,mBAClBupJ,GAAiBlsJ,KAAK2C,MAEnByuI,EAAWzuI,KAAK2pJ,eAAiB3pJ,KAAKypJ,WAGjD,SAASG,GAAgBnb,GAIrB,OAHK3jH,EAAW9qB,KAAM,qBAClBupJ,GAAiBlsJ,KAAK2C,MAEnByuI,EAAWzuI,KAAK6pJ,iBAAmB7pJ,KAAKypJ,WAGnD,SAASK,GAAarb,EAAU70H,GAC5B,OAAOA,EAAO8vI,cAAcjb,GAGhC,SAASsb,GAAatb,EAAU70H,GAC5B,OAAOA,EAAO0vI,cAAc7a,GAGhC,SAASub,GAAevb,EAAU70H,GAC9B,OAAOA,EAAOgwI,gBAAgBnb,GAGlC,SAASwb,GAAoBxb,EAAU70H,GACnC,OAAOA,EAAOswI,sBAAwBjc,GAG1C,SAASsb,KACL,IAII5tJ,EACAwG,EALAgoJ,EAAa,GACbC,EAAa,GACbC,EAAe,GACflY,EAAc,GAGduW,EAAO1oJ,KAAK0oJ,OAEhB,IAAK/sJ,EAAI,EAAGwG,EAAIumJ,EAAK9sJ,OAAQD,EAAIwG,IAAKxG,EAClCyuJ,EAAWhrJ,KAAKuF,GAAY+jJ,EAAK/sJ,GAAG6C,OACpC2rJ,EAAW/qJ,KAAKuF,GAAY+jJ,EAAK/sJ,GAAGi+I,OACpCyQ,EAAajrJ,KAAKuF,GAAY+jJ,EAAK/sJ,GAAGqtJ,SAEtC7W,EAAY/yI,KAAKuF,GAAY+jJ,EAAK/sJ,GAAG6C,OACrC2zI,EAAY/yI,KAAKuF,GAAY+jJ,EAAK/sJ,GAAGi+I,OACrCzH,EAAY/yI,KAAKuF,GAAY+jJ,EAAK/sJ,GAAGqtJ,SAGzChpJ,KAAKypJ,WAAa,IAAI3/I,OAAO,KAAOqoI,EAAY1rI,KAAK,KAAO,IAAK,KACjEzG,KAAKwpJ,eAAiB,IAAI1/I,OAAO,KAAOsgJ,EAAW3jJ,KAAK,KAAO,IAAK,KACpEzG,KAAK2pJ,eAAiB,IAAI7/I,OAAO,KAAOqgJ,EAAW1jJ,KAAK,KAAO,IAAK,KACpEzG,KAAK6pJ,iBAAmB,IAAI//I,OACxB,KAAOugJ,EAAa5jJ,KAAK,KAAO,IAChC,KAcR,SAAS6jJ,GAAuBpnI,EAAOqnI,GACnCxhB,EAAe,EAAG,CAAC7lH,EAAOA,EAAMtnB,QAAS,EAAG2uJ,GA4ChD,SAASC,GAAex5G,GACpB,OAAOy5G,GAAqBptJ,KACxB2C,KACAgxC,EACAhxC,KAAKszI,OACLtzI,KAAKuzI,UACLvzI,KAAKipI,aAAagL,MAAMhB,IACxBjzI,KAAKipI,aAAagL,MAAMf,KAIhC,SAASwX,GAAkB15G,GACvB,OAAOy5G,GAAqBptJ,KACxB2C,KACAgxC,EACAhxC,KAAKkhJ,UACLlhJ,KAAKkoJ,aACL,EACA,GAIR,SAASyC,KACL,OAAO7W,GAAY9zI,KAAKssI,OAAQ,EAAG,GAGvC,SAASse,KACL,OAAO9W,GAAY9zI,KAAK6qJ,cAAe,EAAG,GAG9C,SAASC,KACL,IAAIC,EAAW/qJ,KAAKipI,aAAagL,MACjC,OAAOH,GAAY9zI,KAAKssI,OAAQye,EAAS9X,IAAK8X,EAAS7X,KAG3D,SAAS8X,KACL,IAAID,EAAW/qJ,KAAKipI,aAAagL,MACjC,OAAOH,GAAY9zI,KAAKi+I,WAAY8M,EAAS9X,IAAK8X,EAAS7X,KAG/D,SAASuX,GAAqBz5G,EAAOsiG,EAAMC,EAASN,EAAKC,GACrD,IAAI+X,EACJ,OAAa,MAATj6G,EACO2iG,GAAW3zI,KAAMizI,EAAKC,GAAK5G,MAG9BgH,GADJ2X,EAAcnX,GAAY9iG,EAAOiiG,EAAKC,MAElCI,EAAO2X,GAEJC,GAAW7tJ,KAAK2C,KAAMgxC,EAAOsiG,EAAMC,EAASN,EAAKC,IAIhE,SAASgY,GAAWjN,EAAU3K,EAAMC,EAASN,EAAKC,GAC9C,IAAIiY,EAAgB9X,GAAmB4K,EAAU3K,EAAMC,EAASN,EAAKC,GACjElG,EAAO4F,GAAcuY,EAAc7e,KAAM,EAAG6e,EAAczX,WAK9D,OAHA1zI,KAAKssI,KAAKU,EAAK8F,kBACf9yI,KAAK+sI,MAAMC,EAAKsQ,eAChBt9I,KAAKgtI,KAAKA,EAAKuQ,cACRv9I,KAwBX,SAASorJ,GAAcp6G,GACnB,OAAgB,MAATA,EACDz8B,KAAKi4H,MAAMxsI,KAAK+sI,QAAU,GAAK,GAC/B/sI,KAAK+sI,MAAoB,GAAb/7F,EAAQ,GAAUhxC,KAAK+sI,QAAU,GAvavDhE,EAAe,IAAK,EAAG,EAAG,WAC1BA,EAAe,KAAM,EAAG,EAAG,WAC3BA,EAAe,MAAO,EAAG,EAAG,WAC5BA,EAAe,OAAQ,EAAG,EAAG,WAC7BA,EAAe,QAAS,EAAG,EAAG,aAE9BA,EAAe,IAAK,CAAC,IAAK,GAAI,KAAM,WACpCA,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,WAClCA,EAAe,IAAK,CAAC,MAAO,GAAI,EAAG,WACnCA,EAAe,IAAK,CAAC,OAAQ,GAAI,EAAG,WAEpCwF,GAAc,IAAKub,IACnBvb,GAAc,KAAMub,IACpBvb,GAAc,MAAOub,IACrBvb,GAAc,OAAQwb,IACtBxb,GAAc,QAASyb,IAEvBlb,GAAc,CAAC,IAAK,KAAM,MAAO,OAAQ,UAAU,SAC/C99F,EACAo4F,EACA98G,EACApJ,GAEA,IAAIkiH,EAAM94G,EAAOs6G,QAAQykB,UAAUr6G,EAAO9tB,EAAOoJ,EAAOw5G,SACpDV,EACAI,EAAgBl5G,GAAQ84G,IAAMA,EAE9BI,EAAgBl5G,GAAQw4G,WAAa9zF,KAI7Cu9F,GAAc,IAAKN,IACnBM,GAAc,KAAMN,IACpBM,GAAc,MAAON,IACrBM,GAAc,OAAQN,IACtBM,GAAc,KAAM0b,IAEpBnb,GAAc,CAAC,IAAK,KAAM,MAAO,QAASK,IAC1CL,GAAc,CAAC,OAAO,SAAU99F,EAAOo4F,EAAO98G,EAAQpJ,GAClD,IAAI9Y,EACAkiB,EAAOs6G,QAAQsjB,uBACf9/I,EAAQ4mC,EAAM5mC,MAAMkiB,EAAOs6G,QAAQsjB,uBAGnC59H,EAAOs6G,QAAQ0kB,oBACfliB,EAAM+F,IAAQ7iH,EAAOs6G,QAAQ0kB,oBAAoBt6G,EAAO5mC,GAExDg/H,EAAM+F,IAAQx2H,SAASq4B,EAAO,OA4OtC+3F,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAO/oI,KAAKi+I,WAAa,OAG7BlV,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAO/oI,KAAK6qJ,cAAgB,OAOhCP,GAAuB,OAAQ,YAC/BA,GAAuB,QAAS,YAChCA,GAAuB,OAAQ,eAC/BA,GAAuB,QAAS,eAIhChf,GAAa,WAAY,MACzBA,GAAa,cAAe,MAI5BW,GAAgB,WAAY,GAC5BA,GAAgB,cAAe,GAI/BsC,GAAc,IAAKL,IACnBK,GAAc,IAAKL,IACnBK,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,OAAQR,GAAWN,IACjCc,GAAc,OAAQR,GAAWN,IACjCc,GAAc,QAASP,GAAWN,IAClCa,GAAc,QAASP,GAAWN,IAElCqB,GAAkB,CAAC,OAAQ,QAAS,OAAQ,UAAU,SAClD/9F,EACAsiG,EACAhnH,EACApJ,GAEAowH,EAAKpwH,EAAM2tB,OAAO,EAAG,IAAM47F,GAAMz7F,MAGrC+9F,GAAkB,CAAC,KAAM,OAAO,SAAU/9F,EAAOsiG,EAAMhnH,EAAQpJ,GAC3DowH,EAAKpwH,GAASghH,EAAMmO,kBAAkBrhG,MAsE1C+3F,EAAe,IAAK,EAAG,KAAM,WAI7BuC,GAAa,UAAW,KAIxBW,GAAgB,UAAW,GAI3BsC,GAAc,IAAKjB,IACnBwB,GAAc,KAAK,SAAU99F,EAAOo4F,GAChCA,EAAMgG,IAA8B,GAApB3C,GAAMz7F,GAAS,MAanC+3F,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,QAIrCuC,GAAa,OAAQ,KAGrBW,GAAgB,OAAQ,GAIxBsC,GAAc,IAAKZ,IACnBY,GAAc,KAAMZ,GAAWJ,IAC/BgB,GAAc,MAAM,SAAUE,EAAU70H,GAEpC,OAAO60H,EACD70H,EAAO2tH,yBAA2B3tH,EAAO4tH,cACzC5tH,EAAO0tH,kCAGjBwH,GAAc,CAAC,IAAK,MAAOO,IAC3BP,GAAc,MAAM,SAAU99F,EAAOo4F,GACjCA,EAAMiG,IAAQ5C,GAAMz7F,EAAM5mC,MAAMujI,IAAW,OAK/C,IAAI4d,GAAmB3e,GAAW,QAAQ,GAyB1C,SAAS4e,GAAgBx6G,GACrB,IAAI0iG,EACAn/H,KAAKykB,OACAh5B,KAAK4gB,QAAQ8kI,QAAQ,OAAS1lJ,KAAK4gB,QAAQ8kI,QAAQ,SAAW,OAC/D,EACR,OAAgB,MAAT10G,EAAgB0iG,EAAY1zI,KAAKkuD,IAAIld,EAAQ0iG,EAAW,KA1BnE3K,EAAe,MAAO,CAAC,OAAQ,GAAI,OAAQ,aAI3CuC,GAAa,YAAa,OAG1BW,GAAgB,YAAa,GAI7BsC,GAAc,MAAOT,IACrBS,GAAc,OAAQf,IACtBsB,GAAc,CAAC,MAAO,SAAS,SAAU99F,EAAOo4F,EAAO98G,GACnDA,EAAOyxH,WAAatR,GAAMz7F,MAiB9B+3F,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,UAIlCuC,GAAa,SAAU,KAIvBW,GAAgB,SAAU,IAI1BsC,GAAc,IAAKZ,IACnBY,GAAc,KAAMZ,GAAWJ,IAC/BuB,GAAc,CAAC,IAAK,MAAOS,IAI3B,IAAIkc,GAAe7e,GAAW,WAAW,GAIzC7D,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,UAIlCuC,GAAa,SAAU,KAIvBW,GAAgB,SAAU,IAI1BsC,GAAc,IAAKZ,IACnBY,GAAc,KAAMZ,GAAWJ,IAC/BuB,GAAc,CAAC,IAAK,MAAOU,IAI3B,IA8CItsH,GAAOwoI,GA9CPC,GAAe/e,GAAW,WAAW,GA+CzC,IA3CA7D,EAAe,IAAK,EAAG,GAAG,WACtB,SAAU/oI,KAAK6/I,cAAgB,QAGnC9W,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,SAAU/oI,KAAK6/I,cAAgB,OAGnC9W,EAAe,EAAG,CAAC,MAAO,GAAI,EAAG,eACjCA,EAAe,EAAG,CAAC,OAAQ,GAAI,GAAG,WAC9B,OAA4B,GAArB/oI,KAAK6/I,iBAEhB9W,EAAe,EAAG,CAAC,QAAS,GAAI,GAAG,WAC/B,OAA4B,IAArB/oI,KAAK6/I,iBAEhB9W,EAAe,EAAG,CAAC,SAAU,GAAI,GAAG,WAChC,OAA4B,IAArB/oI,KAAK6/I,iBAEhB9W,EAAe,EAAG,CAAC,UAAW,GAAI,GAAG,WACjC,OAA4B,IAArB/oI,KAAK6/I,iBAEhB9W,EAAe,EAAG,CAAC,WAAY,GAAI,GAAG,WAClC,OAA4B,IAArB/oI,KAAK6/I,iBAEhB9W,EAAe,EAAG,CAAC,YAAa,GAAI,GAAG,WACnC,OAA4B,IAArB/oI,KAAK6/I,iBAKhBvU,GAAa,cAAe,MAI5BW,GAAgB,cAAe,IAI/BsC,GAAc,IAAKT,GAAWR,IAC9BiB,GAAc,KAAMT,GAAWP,IAC/BgB,GAAc,MAAOT,GAAWN,IAG3BtqH,GAAQ,OAAQA,GAAMtnB,QAAU,EAAGsnB,IAAS,IAC7CqrH,GAAcrrH,GAAO+qH,IAGzB,SAAS2d,GAAQ56G,EAAOo4F,GACpBA,EAAMqG,IAAehD,GAAuB,KAAhB,KAAOz7F,IAGvC,IAAK9tB,GAAQ,IAAKA,GAAMtnB,QAAU,EAAGsnB,IAAS,IAC1C4rH,GAAc5rH,GAAO0oI,IAYzB,SAASC,KACL,OAAO7rJ,KAAK2mI,OAAS,MAAQ,GAGjC,SAASmlB,KACL,OAAO9rJ,KAAK2mI,OAAS,6BAA+B,GAdxD+kB,GAAoB9e,GAAW,gBAAgB,GAI/C7D,EAAe,IAAK,EAAG,EAAG,YAC1BA,EAAe,KAAM,EAAG,EAAG,YAY3B,IAAIgjB,GAAQllB,EAAO1rI,UAwGnB,SAAS6wJ,GAAWh7G,GAChB,OAAOstG,GAAoB,IAARttG,GAGvB,SAASi7G,KACL,OAAO3N,GAAYj/I,MAAM,KAAME,WAAW2sJ,YAG9C,SAASC,GAAmBv7I,GACxB,OAAOA,EA/GXm7I,GAAM79F,IAAMA,GACZ69F,GAAM5jB,SAAWod,GACjBwG,GAAMnrI,MAAQA,GACdmrI,GAAM3gB,KAAOA,GACb2gB,GAAMlG,MAAQA,GACdkG,GAAMh3I,OAASA,GACfg3I,GAAMhuJ,KAAOA,GACbguJ,GAAM1E,QAAUA,GAChB0E,GAAM5gH,GAAKA,GACX4gH,GAAMzE,MAAQA,GACdyE,GAAM5vI,IAAM+wH,GACZ6e,GAAMxD,UAAYA,GAClBwD,GAAMzH,QAAUA,GAChByH,GAAMxH,SAAWA,GACjBwH,GAAMjG,UAAYA,GAClBiG,GAAM7F,OAASA,GACf6F,GAAM3F,cAAgBA,GACtB2F,GAAM1F,eAAiBA,GACvB0F,GAAM7oG,QAAUmlG,GAChB0D,GAAMtoI,KAAOA,GACbsoI,GAAMnyI,OAASA,GACfmyI,GAAM9iB,WAAaA,GACnB8iB,GAAMvyF,IAAM4mF,GACZ2L,GAAMzzH,IAAM6nH,GACZ4L,GAAMzD,aAAeA,GACrByD,GAAM94I,IAAMk6H,GACZ4e,GAAMrG,QAAUA,GAChBqG,GAAM1I,SAAWA,GACjB0I,GAAMvhI,QAAUA,GAChBuhI,GAAM3D,SAAWA,GACjB2D,GAAMlF,OAASA,GACfkF,GAAM/9H,YAAcA,GACpB+9H,GAAMjF,QAAUA,GACM,qBAAX9rJ,QAAwC,MAAdA,OAAOoxJ,MACxCL,GAAM/wJ,OAAOoxJ,IAAI,+BAAiC,WAC9C,MAAO,UAAYpsJ,KAAK+U,SAAW,MAG3Cg3I,GAAMr/H,OAASA,GACfq/H,GAAMztJ,SAAWA,GACjBytJ,GAAM5D,KAAOA,GACb4D,GAAMjmJ,QAAUA,GAChBimJ,GAAMvD,aAAeA,GACrBuD,GAAMhD,QAAUG,GAChB6C,GAAMM,UAAYlD,GAClB4C,GAAMO,QAAUlD,GAChB2C,GAAMQ,QAAUlD,GAChB0C,GAAMzf,KAAOgG,GACbyZ,GAAM1f,WAAakG,GACnBwZ,GAAM9N,SAAWuM,GACjBuB,GAAMlB,YAAcH,GACpBqB,GAAM/K,QAAU+K,GAAMhL,SAAWqK,GACjCW,GAAMhf,MAAQ0E,GACdsa,GAAM9e,YAAcyE,GACpBqa,GAAMzY,KAAOyY,GAAM9K,MAAQ5M,GAC3B0X,GAAM7K,QAAU6K,GAAMS,SAAWlY,GACjCyX,GAAMjY,YAAcgX,GACpBiB,GAAMU,gBAAkBzB,GACxBe,GAAMW,eAAiB/B,GACvBoB,GAAMY,sBAAwB/B,GAC9BmB,GAAM/e,KAAOue,GACbQ,GAAMrW,IAAMqW,GAAM5K,KAAO5K,GACzBwV,GAAMxY,QAAUkD,GAChBsV,GAAM7D,WAAaxR,GACnBqV,GAAMrY,UAAY8X,GAClBO,GAAMhN,KAAOgN,GAAMxU,MAAQe,GAC3ByT,GAAMpM,OAASoM,GAAMrU,QAAU+T,GAC/BM,GAAMnM,OAASmM,GAAMjU,QAAU6T,GAC/BI,GAAMlM,YAAckM,GAAM3K,aAAesK,GACzCK,GAAM7J,UAAYU,GAClBmJ,GAAMvnB,IAAM2e,GACZ4I,GAAMtJ,MAAQW,GACd2I,GAAMG,UAAY5I,GAClByI,GAAMvI,qBAAuBA,GAC7BuI,GAAMa,MAAQnJ,GACdsI,GAAMnI,QAAUA,GAChBmI,GAAMlI,YAAcA,GACpBkI,GAAMjI,MAAQA,GACdiI,GAAM7L,MAAQ4D,GACdiI,GAAMc,SAAWhB,GACjBE,GAAMe,SAAWhB,GACjBC,GAAMgB,MAAQ9lB,EACV,kDACAskB,IAEJQ,GAAMhc,OAAS9I,EACX,mDACAwK,IAEJsa,GAAMjL,MAAQ7Z,EACV,iDACAqL,IAEJyZ,GAAMhF,KAAO9f,EACT,2GACAic,IAEJ6I,GAAMiB,aAAe/lB,EACjB,0GACAyc,IAeJ,IAAIuJ,GAAU5pI,EAAOloB,UAuCrB,SAAS+xJ,GAAMn4I,EAAQ5N,EAAOgmJ,EAAOC,GACjC,IAAIxzI,EAAS8/H,KACTlV,EAAMH,IAAYpxH,IAAIm6I,EAAQjmJ,GAClC,OAAOyS,EAAOuzI,GAAO3oB,EAAKzvH,GAG9B,SAASs4I,GAAet4I,EAAQ5N,EAAOgmJ,GAQnC,GAPIzmI,EAAS3R,KACT5N,EAAQ4N,EACRA,OAASvU,GAGbuU,EAASA,GAAU,GAEN,MAAT5N,EACA,OAAO+lJ,GAAMn4I,EAAQ5N,EAAOgmJ,EAAO,SAGvC,IAAIxxJ,EACA2xJ,EAAM,GACV,IAAK3xJ,EAAI,EAAGA,EAAI,GAAIA,IAChB2xJ,EAAI3xJ,GAAKuxJ,GAAMn4I,EAAQpZ,EAAGwxJ,EAAO,SAErC,OAAOG,EAWX,SAASC,GAAiBC,EAAcz4I,EAAQ5N,EAAOgmJ,GACvB,mBAAjBK,GACH9mI,EAAS3R,KACT5N,EAAQ4N,EACRA,OAASvU,GAGbuU,EAASA,GAAU,KAGnB5N,EADA4N,EAASy4I,EAETA,GAAe,EAEX9mI,EAAS3R,KACT5N,EAAQ4N,EACRA,OAASvU,GAGbuU,EAASA,GAAU,IAGvB,IAEIpZ,EAFAie,EAAS8/H,KACT91I,EAAQ4pJ,EAAe5zI,EAAOq6H,MAAMhB,IAAM,EAE1Cqa,EAAM,GAEV,GAAa,MAATnmJ,EACA,OAAO+lJ,GAAMn4I,GAAS5N,EAAQvD,GAAS,EAAGupJ,EAAO,OAGrD,IAAKxxJ,EAAI,EAAGA,EAAI,EAAGA,IACf2xJ,EAAI3xJ,GAAKuxJ,GAAMn4I,GAASpZ,EAAIiI,GAAS,EAAGupJ,EAAO,OAEnD,OAAOG,EAGX,SAASG,GAAW14I,EAAQ5N,GACxB,OAAOkmJ,GAAet4I,EAAQ5N,EAAO,UAGzC,SAASumJ,GAAgB34I,EAAQ5N,GAC7B,OAAOkmJ,GAAet4I,EAAQ5N,EAAO,eAGzC,SAASwmJ,GAAaH,EAAcz4I,EAAQ5N,GACxC,OAAOomJ,GAAiBC,EAAcz4I,EAAQ5N,EAAO,YAGzD,SAASymJ,GAAkBJ,EAAcz4I,EAAQ5N,GAC7C,OAAOomJ,GAAiBC,EAAcz4I,EAAQ5N,EAAO,iBAGzD,SAAS0mJ,GAAgBL,EAAcz4I,EAAQ5N,GAC3C,OAAOomJ,GAAiBC,EAAcz4I,EAAQ5N,EAAO,eA5HzD8lJ,GAAQ9kB,SAAWA,EACnB8kB,GAAQxjB,eAAiBA,EACzBwjB,GAAQ1jB,YAAcA,EACtB0jB,GAAQz9I,QAAUA,EAClBy9I,GAAQjN,SAAWmM,GACnBc,GAAQ9F,WAAagF,GACrBc,GAAQliB,aAAeA,EACvBkiB,GAAQ9hB,WAAaA,GACrB8hB,GAAQh6I,IAAMA,EACdg6I,GAAQvE,KAAOD,GACfwE,GAAQ5B,UAAYvC,GACpBmE,GAAQnO,gBAAkBmK,GAC1BgE,GAAQvD,cAAgBA,GACxBuD,GAAQ3D,cAAgBA,GACxB2D,GAAQrD,gBAAkBA,GAE1BqD,GAAQld,OAASS,GACjByc,GAAQnd,YAAca,GACtBsc,GAAQ/c,YAAcmB,GACtB4b,GAAQhd,YAAcA,GACtBgd,GAAQjd,iBAAmBA,GAC3Bid,GAAQ3Z,KAAOU,GACfiZ,GAAQa,eAAiB1Z,GACzB6Y,GAAQc,eAAiB5Z,GAEzB8Y,GAAQnY,SAAWU,GACnByX,GAAQrY,YAAciB,GACtBoX,GAAQpY,cAAgBc,GACxBsX,GAAQzY,cAAgB4B,GAExB6W,GAAQhY,cAAgBA,GACxBgY,GAAQjY,mBAAqBA,GAC7BiY,GAAQlY,iBAAmBA,GAE3BkY,GAAQhV,KAAOJ,GACfoV,GAAQ5nB,SAAWkT,GA4FnBiB,GAAmB,KAAM,CACrBkP,KAAM,CACF,CACIE,MAAO,aACPC,MAAO,IACPtjG,OAAQ,EACR/mD,KAAM,cACNwqJ,OAAQ,KACRpP,KAAM,MAEV,CACIgP,MAAO,aACPC,OAAO,IACPtjG,OAAQ,EACR/mD,KAAM,gBACNwqJ,OAAQ,KACRpP,KAAM,OAGdjB,uBAAwB,uBACxBnpI,QAAS,SAAU0E,GACf,IAAIwV,EAAIxV,EAAS,GAWjB,OAAOA,GATgC,IAA/Bu4H,GAAOv4H,EAAS,IAAO,IACjB,KACM,IAANwV,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,SAOtBw6G,EAAMzgH,KAAOwjH,EACT,wDACAuS,IAEJtV,EAAM8pB,SAAW/mB,EACb,gEACAyS,IAGJ,IAAIuU,GAAU15I,KAAKC,IAEnB,SAASA,KACL,IAAInQ,EAAOrE,KAAKuhJ,MAahB,OAXAvhJ,KAAKqhJ,cAAgB4M,GAAQjuJ,KAAKqhJ,eAClCrhJ,KAAKshJ,MAAQ2M,GAAQjuJ,KAAKshJ,OAC1BthJ,KAAKywI,QAAUwd,GAAQjuJ,KAAKywI,SAE5BpsI,EAAK+8I,aAAe6M,GAAQ5pJ,EAAK+8I,cACjC/8I,EAAKyzI,QAAUmW,GAAQ5pJ,EAAKyzI,SAC5BzzI,EAAKqzI,QAAUuW,GAAQ5pJ,EAAKqzI,SAC5BrzI,EAAKkzI,MAAQ0W,GAAQ5pJ,EAAKkzI,OAC1BlzI,EAAK0rI,OAASke,GAAQ5pJ,EAAK0rI,QAC3B1rI,EAAKy8I,MAAQmN,GAAQ5pJ,EAAKy8I,OAEnB9gJ,KAGX,SAASkuJ,GAAc7zG,EAAUrJ,EAAO7zC,EAAO0lE,GAC3C,IAAI/vD,EAAQ8tI,GAAe5vG,EAAO7zC,GAMlC,OAJAk9C,EAASgnG,eAAiBx+E,EAAY/vD,EAAMuuI,cAC5ChnG,EAASinG,OAASz+E,EAAY/vD,EAAMwuI,MACpCjnG,EAASo2F,SAAW5tE,EAAY/vD,EAAM29H,QAE/Bp2F,EAASmnG,UAIpB,SAAS2M,GAAMn9G,EAAO7zC,GAClB,OAAO+wJ,GAAcluJ,KAAMgxC,EAAO7zC,EAAO,GAI7C,SAASixJ,GAAWp9G,EAAO7zC,GACvB,OAAO+wJ,GAAcluJ,KAAMgxC,EAAO7zC,GAAQ,GAG9C,SAASkxJ,GAAQn6I,GACb,OAAIA,EAAS,EACFK,KAAKsmB,MAAM3mB,GAEXK,KAAKi4H,KAAKt4H,GAIzB,SAASo6I,KACL,IAIIxW,EACAJ,EACAH,EACAuJ,EACAyN,EARAnN,EAAephJ,KAAKqhJ,cACpBF,EAAOnhJ,KAAKshJ,MACZvR,EAAS/vI,KAAKywI,QACdpsI,EAAOrE,KAAKuhJ,MAgDhB,OArCSH,GAAgB,GAAKD,GAAQ,GAAKpR,GAAU,GAC5CqR,GAAgB,GAAKD,GAAQ,GAAKpR,GAAU,IAGjDqR,GAAuD,MAAvCiN,GAAQG,GAAaze,GAAUoR,GAC/CA,EAAO,EACPpR,EAAS,GAKb1rI,EAAK+8I,aAAeA,EAAe,IAEnCtJ,EAAUvL,GAAS6U,EAAe,KAClC/8I,EAAKyzI,QAAUA,EAAU,GAEzBJ,EAAUnL,GAASuL,EAAU,IAC7BzzI,EAAKqzI,QAAUA,EAAU,GAEzBH,EAAQhL,GAASmL,EAAU,IAC3BrzI,EAAKkzI,MAAQA,EAAQ,GAErB4J,GAAQ5U,GAASgL,EAAQ,IAIzBxH,GADAwe,EAAiBhiB,GAASkiB,GAAatN,IAEvCA,GAAQkN,GAAQG,GAAaD,IAG7BzN,EAAQvU,GAASwD,EAAS,IAC1BA,GAAU,GAEV1rI,EAAK88I,KAAOA,EACZ98I,EAAK0rI,OAASA,EACd1rI,EAAKy8I,MAAQA,EAEN9gJ,KAGX,SAASyuJ,GAAatN,GAGlB,OAAe,KAAPA,EAAe,OAG3B,SAASqN,GAAaze,GAElB,OAAiB,OAATA,EAAmB,KAG/B,SAASrpG,GAAGilG,GACR,IAAK3rI,KAAKkjD,UACN,OAAOgjF,IAEX,IAAIib,EACApR,EACAqR,EAAephJ,KAAKqhJ,cAIxB,GAAc,WAFd1V,EAAQD,GAAeC,KAEY,YAAVA,GAAiC,SAAVA,EAG5C,OAFAwV,EAAOnhJ,KAAKshJ,MAAQF,EAAe,MACnCrR,EAAS/vI,KAAKywI,QAAUge,GAAatN,GAC7BxV,GACJ,IAAK,QACD,OAAOoE,EACX,IAAK,UACD,OAAOA,EAAS,EACpB,IAAK,OACD,OAAOA,EAAS,QAKxB,OADAoR,EAAOnhJ,KAAKshJ,MAAQ/sI,KAAKykB,MAAMw1H,GAAaxuJ,KAAKywI,UACzC9E,GACJ,IAAK,OACD,OAAOwV,EAAO,EAAIC,EAAe,OACrC,IAAK,MACD,OAAOD,EAAOC,EAAe,MACjC,IAAK,OACD,OAAc,GAAPD,EAAYC,EAAe,KACtC,IAAK,SACD,OAAc,KAAPD,EAAcC,EAAe,IACxC,IAAK,SACD,OAAc,MAAPD,EAAeC,EAAe,IAEzC,IAAK,cACD,OAAO7sI,KAAKsmB,MAAa,MAAPsmH,GAAgBC,EACtC,QACI,MAAM,IAAIviI,MAAM,gBAAkB8sH,IAMlD,SAAS+iB,KACL,OAAK1uJ,KAAKkjD,UAINljD,KAAKqhJ,cACQ,MAAbrhJ,KAAKshJ,MACJthJ,KAAKywI,QAAU,GAAM,OACK,QAA3BhE,GAAMzsI,KAAKywI,QAAU,IANdvK,IAUf,SAASyoB,GAAOC,GACZ,OAAO,WACH,OAAO5uJ,KAAK0mC,GAAGkoH,IAIvB,IAAIC,GAAiBF,GAAO,MACxBG,GAAYH,GAAO,KACnBI,GAAYJ,GAAO,KACnBK,GAAUL,GAAO,KACjBM,GAASN,GAAO,KAChBO,GAAUP,GAAO,KACjBQ,GAAWR,GAAO,KAClBS,GAAaT,GAAO,KACpBU,GAAUV,GAAO,KAErB,SAASW,KACL,OAAO1O,GAAe5gJ,MAG1B,SAASuvJ,GAAM5jB,GAEX,OADAA,EAAQD,GAAeC,GAChB3rI,KAAKkjD,UAAYljD,KAAK2rI,EAAQ,OAASzF,IAGlD,SAASspB,GAAWhxJ,GAChB,OAAO,WACH,OAAOwB,KAAKkjD,UAAYljD,KAAKuhJ,MAAM/iJ,GAAQ0nI,KAInD,IAAIkb,GAAeoO,GAAW,gBAC1B1X,GAAU0X,GAAW,WACrB9X,GAAU8X,GAAW,WACrBjY,GAAQiY,GAAW,SACnBrO,GAAOqO,GAAW,QAClBzf,GAASyf,GAAW,UACpB1O,GAAQ0O,GAAW,SAEvB,SAASvO,KACL,OAAO1U,GAASvsI,KAAKmhJ,OAAS,GAGlC,IAAInoH,GAAQzkB,KAAKykB,MACby2H,GAAa,CACT7lD,GAAI,GACJ3mG,EAAG,GACHE,EAAG,GACH0sB,EAAG,GACHwmD,EAAG,GACHvhD,EAAG,KACH+1G,EAAG,IAIX,SAAS6kB,GAAkB9+I,EAAQsD,EAAQ82H,EAAeC,EAAUrxH,GAChE,OAAOA,EAAOmxH,aAAa72H,GAAU,IAAK82H,EAAep6H,EAAQq6H,GAGrE,SAAS0kB,GAAeC,EAAgB5kB,EAAeykB,EAAY71I,GAC/D,IAAIygC,EAAWumG,GAAegP,GAAgBp7I,MAC1CsjI,EAAU9+G,GAAMqhB,EAAS3T,GAAG,MAC5BgxG,EAAU1+G,GAAMqhB,EAAS3T,GAAG,MAC5B6wG,EAAQv+G,GAAMqhB,EAAS3T,GAAG,MAC1By6G,EAAOnoH,GAAMqhB,EAAS3T,GAAG,MACzBqpG,EAAS/2G,GAAMqhB,EAAS3T,GAAG,MAC3Bu6G,EAAQjoH,GAAMqhB,EAAS3T,GAAG,MAC1Bo6G,EAAQ9nH,GAAMqhB,EAAS3T,GAAG,MAC1B1jC,EACK80I,GAAW2X,EAAW7lD,IAAM,CAAC,IAAKkuC,IAClCA,EAAU2X,EAAWxsJ,GAAK,CAAC,KAAM60I,IACjCJ,GAAW,GAAK,CAAC,MACjBA,EAAU+X,EAAWtsJ,GAAK,CAAC,KAAMu0I,IACjCH,GAAS,GAAK,CAAC,MACfA,EAAQkY,EAAW5/H,GAAK,CAAC,KAAM0nH,IAC/B4J,GAAQ,GAAK,CAAC,MACdA,EAAOsO,EAAWp5E,GAAK,CAAC,KAAM8qE,GAgBvC,OAdoB,MAAhBsO,EAAW36H,IACX9xB,EACIA,GACCi+I,GAAS,GAAK,CAAC,MACfA,EAAQwO,EAAW36H,GAAK,CAAC,KAAMmsH,KAExCj+I,EAAIA,GACC+sI,GAAU,GAAK,CAAC,MAChBA,EAAS0f,EAAW5kB,GAAK,CAAC,KAAMkF,IAChC+Q,GAAS,GAAK,CAAC,MAAS,CAAC,KAAMA,IAElC,GAAK9V,EACPhoI,EAAE,IAAM4sJ,EAAiB,EACzB5sJ,EAAE,GAAK4W,EACA81I,GAAkBrwJ,MAAM,KAAM2D,GAIzC,SAAS6sJ,GAA2BC,GAChC,YAAyBtvJ,IAArBsvJ,EACO92H,GAEqB,oBAArB82H,IACP92H,GAAQ82H,GACD,GAMf,SAASC,GAA4BC,EAAWC,GAC5C,YAA8BzvJ,IAA1BivJ,GAAWO,UAGDxvJ,IAAVyvJ,EACOR,GAAWO,IAEtBP,GAAWO,GAAaC,EACN,MAAdD,IACAP,GAAW7lD,GAAKqmD,EAAQ,IAErB,IAGX,SAAS7I,GAAS8I,EAAeC,GAC7B,IAAKnwJ,KAAKkjD,UACN,OAAOljD,KAAKipI,aAAaM,cAG7B,IAEI3vH,EACA3Z,EAHAmwJ,GAAa,EACbC,EAAKZ,GAyBT,MArB6B,kBAAlBS,IACPC,EAAgBD,EAChBA,GAAgB,GAES,mBAAlBA,IACPE,EAAaF,GAEY,kBAAlBC,IACPE,EAAKp0J,OAAOguB,OAAO,GAAIwlI,GAAYU,GACZ,MAAnBA,EAAcltJ,GAAiC,MAApBktJ,EAAcvmD,KACzCymD,EAAGzmD,GAAKumD,EAAcltJ,EAAI,IAKlChD,EAAS0vJ,GAAe3vJ,MAAOowJ,EAAYC,EAD3Cz2I,EAAS5Z,KAAKipI,cAGVmnB,IACAnwJ,EAAS2Z,EAAOuxH,YAAYnrI,KAAMC,IAG/B2Z,EAAOutI,WAAWlnJ,GAG7B,IAAIqwJ,GAAQ/7I,KAAKC,IAEjB,SAAS2tI,GAAKhoF,GACV,OAAQA,EAAI,IAAMA,EAAI,KAAOA,EAGjC,SAASo2F,KAQL,IAAKvwJ,KAAKkjD,UACN,OAAOljD,KAAKipI,aAAaM,cAG7B,IAGImO,EACAH,EACAuJ,EACA79I,EAEAutJ,EACAC,EACAC,EACAC,EAXA7Y,EAAUwY,GAAMtwJ,KAAKqhJ,eAAiB,IACtCF,EAAOmP,GAAMtwJ,KAAKshJ,OAClBvR,EAASugB,GAAMtwJ,KAAKywI,SAKpBn3G,EAAQt5B,KAAK8uJ,YAMjB,OAAKx1H,GAOLo+G,EAAUnL,GAASuL,EAAU,IAC7BP,EAAQhL,GAASmL,EAAU,IAC3BI,GAAW,GACXJ,GAAW,GAGXoJ,EAAQvU,GAASwD,EAAS,IAC1BA,GAAU,GAGV9sI,EAAI60I,EAAUA,EAAQ5oC,QAAQ,GAAGzrG,QAAQ,SAAU,IAAM,GAEzD+sJ,EAAYl3H,EAAQ,EAAI,IAAM,GAC9Bm3H,EAAStO,GAAKniJ,KAAKywI,WAAa0R,GAAK7oH,GAAS,IAAM,GACpDo3H,EAAWvO,GAAKniJ,KAAKshJ,SAAWa,GAAK7oH,GAAS,IAAM,GACpDq3H,EAAUxO,GAAKniJ,KAAKqhJ,iBAAmBc,GAAK7oH,GAAS,IAAM,GAGvDk3H,EACA,KACC1P,EAAQ2P,EAAS3P,EAAQ,IAAM,KAC/B/Q,EAAS0gB,EAAS1gB,EAAS,IAAM,KACjCoR,EAAOuP,EAAWvP,EAAO,IAAM,KAC/B5J,GAASG,GAAWI,EAAU,IAAM,KACpCP,EAAQoZ,EAAUpZ,EAAQ,IAAM,KAChCG,EAAUiZ,EAAUjZ,EAAU,IAAM,KACpCI,EAAU6Y,EAAU1tJ,EAAI,IAAM,KA9BxB,MAkCf,IAAI2tJ,GAAU/P,GAAS1lJ,UAwGvB,OAtGAy1J,GAAQ1tG,QAAUw9F,GAClBkQ,GAAQp8I,IAAMA,GACdo8I,GAAQ1iG,IAAMigG,GACdyC,GAAQvN,SAAW+K,GACnBwC,GAAQlqH,GAAKA,GACbkqH,GAAQ/B,eAAiBA,GACzB+B,GAAQ9B,UAAYA,GACpB8B,GAAQ7B,UAAYA,GACpB6B,GAAQ5B,QAAUA,GAClB4B,GAAQ3B,OAASA,GACjB2B,GAAQ1B,QAAUA,GAClB0B,GAAQzB,SAAWA,GACnByB,GAAQxB,WAAaA,GACrBwB,GAAQvB,QAAUA,GAClBuB,GAAQ9qJ,QAAU4oJ,GAClBkC,GAAQpP,QAAU8M,GAClBsC,GAAQhwI,MAAQ0uI,GAChBsB,GAAQz0I,IAAMozI,GACdqB,GAAQxP,aAAeA,GACvBwP,GAAQ9Y,QAAUA,GAClB8Y,GAAQlZ,QAAUA,GAClBkZ,GAAQrZ,MAAQA,GAChBqZ,GAAQzP,KAAOA,GACfyP,GAAQ3P,MAAQA,GAChB2P,GAAQ7gB,OAASA,GACjB6gB,GAAQ9P,MAAQA,GAChB8P,GAAQxJ,SAAWA,GACnBwJ,GAAQ5iI,YAAcuiI,GACtBK,GAAQtyJ,SAAWiyJ,GACnBK,GAAQlkI,OAAS6jI,GACjBK,GAAQh3I,OAASA,GACjBg3I,GAAQ3nB,WAAaA,GAErB2nB,GAAQC,YAAc5pB,EAClB,sFACAspB,IAEJK,GAAQntI,KAAOA,GAIfslH,EAAe,IAAK,EAAG,EAAG,QAC1BA,EAAe,IAAK,EAAG,EAAG,WAI1BwF,GAAc,IAAKL,IACnBK,GAAc,IAAKF,IACnBS,GAAc,KAAK,SAAU99F,EAAOo4F,EAAO98G,GACvCA,EAAOzG,GAAK,IAAIgR,KAAyB,IAApBokB,WAAWjK,OAEpC89F,GAAc,KAAK,SAAU99F,EAAOo4F,EAAO98G,GACvCA,EAAOzG,GAAK,IAAIgR,KAAK41G,GAAMz7F,OAK/BkzF,EAAMrlG,QAAU,SAEhBslG,EAAgBma,IAEhBpa,EAAMn+G,GAAKgmI,GACX7nB,EAAM5rG,IAAMA,GACZ4rG,EAAM1qE,IAAMA,GACZ0qE,EAAMltG,IAAMA,GACZktG,EAAMM,IAAMH,EACZH,EAAMikB,KAAO6D,GACb9nB,EAAM6L,OAAS0d,GACfvpB,EAAMp9G,OAASA,EACfo9G,EAAMtqH,OAAS4/H,GACftV,EAAMygB,QAAU1e,EAChB/B,EAAM7pF,SAAWumG,GACjB1c,EAAM6C,SAAWA,EACjB7C,EAAM4Q,SAAW6Y,GACjBzpB,EAAMgoB,UAAYD,GAClB/nB,EAAM+E,WAAayQ,GACnBxV,EAAMud,WAAaA,GACnBvd,EAAM4L,YAAc4d,GACpBxpB,EAAM0Q,YAAciZ,GACpB3pB,EAAMyV,aAAeA,GACrBzV,EAAM4V,aAAeA,GACrB5V,EAAMl9C,QAAUgzD,GAChB9V,EAAM2Q,cAAgB+Y,GACtB1pB,EAAMwH,eAAiBA,GACvBxH,EAAM4sB,qBAAuBjB,GAC7B3rB,EAAM6sB,sBAAwBhB,GAC9B7rB,EAAMyhB,eAAiBN,GACvBnhB,EAAM/oI,UAAY4wJ,GAGlB7nB,EAAM8sB,UAAY,CACdC,eAAgB,mBAChBC,uBAAwB,sBACxBC,kBAAmB,0BACnB9hB,KAAM,aACN+hB,KAAM,QACNC,aAAc,WACdC,QAAS,eACT5hB,KAAM,aACNN,MAAO,WAGJlL,EA5hLyEqtB,iCCCpF,IAAIxyJ,EAAwB9C,OAAO8C,sBAC/B8E,EAAiB5H,OAAOd,UAAU0I,eAClC2tJ,EAAmBv1J,OAAOd,UAAUwqC,qBAExC,SAASyiH,EAAS7xI,GACjB,GAAY,OAARA,QAAwB/V,IAAR+V,EACnB,MAAM,IAAIhb,UAAU,yDAGrB,OAAOU,OAAOsa,GA+Cf3b,EAAOC,QA5CP,WACC,IACC,IAAKoB,OAAOguB,OACX,OAAO,EAMR,IAAIwnI,EAAQ,IAAI/sJ,OAAO,OAEvB,GADA+sJ,EAAM,GAAK,KACkC,MAAzCx1J,OAAOihB,oBAAoBu0I,GAAO,GACrC,OAAO,EAKR,IADA,IAAIC,EAAQ,GACH/1J,EAAI,EAAGA,EAAI,GAAIA,IACvB+1J,EAAM,IAAMhtJ,OAAOwlH,aAAavuH,IAAMA,EAKvC,GAAwB,eAHXM,OAAOihB,oBAAoBw0I,GAAO3nJ,KAAI,SAAU1L,GAC5D,OAAOqzJ,EAAMrzJ,MAEHoI,KAAK,IACf,OAAO,EAIR,IAAIkrJ,EAAQ,GAIZ,MAHA,uBAAuB1vJ,MAAM,IAAIxC,SAAQ,SAAUmyJ,GAClDD,EAAMC,GAAUA,KAGf,yBADE31J,OAAO6C,KAAK7C,OAAOguB,OAAO,GAAI0nI,IAAQlrJ,KAAK,IAM9C,MAAOuU,GAER,OAAO,GAIQ62I,GAAoB51J,OAAOguB,OAAS,SAAUxuB,EAAQ+D,GAKtE,IAJA,IAAIzB,EAEAiB,EADAmsC,EAAKi9G,EAAS3sJ,GAGTwH,EAAI,EAAGA,EAAI1D,UAAU3D,OAAQqH,IAAK,CAG1C,IAAK,IAAI9G,KAFT4B,EAAO9B,OAAOsD,UAAU0D,IAGnBY,EAAexG,KAAKU,EAAM5B,KAC7BgvC,EAAGhvC,GAAO4B,EAAK5B,IAIjB,GAAI4C,EAAuB,CAC1BC,EAAUD,EAAsBhB,GAChC,IAAK,IAAIpC,EAAI,EAAGA,EAAIqD,EAAQpD,OAAQD,IAC/B61J,EAAiBn0J,KAAKU,EAAMiB,EAAQrD,MACvCwvC,EAAGnsC,EAAQrD,IAAMoC,EAAKiB,EAAQrD,MAMlC,OAAOwvC,qCCtFRlvC,OAAOC,eAAerB,EAAS,aAAc,CAC3CsC,OAAO,IAETtC,EAAAA,QAQA,WACE,IAAK,IAAIiG,EAAOvB,UAAU3D,OAAQ8iC,EAAa/gC,MAAMmD,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IACjF29B,EAAW39B,GAAQxB,UAAUwB,GAG/B,SAAS+wJ,IACP,IAAK,IAAI7wJ,EAAQ1B,UAAU3D,OAAQmE,EAAOpC,MAAMsD,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFnB,EAAKmB,GAAS3B,UAAU2B,GAG1B,IAAIf,EAAQ,KAaZ,OAXAu+B,EAAWj/B,SAAQ,SAAUm/B,GAC3B,GAAa,MAATz+B,EAAJ,CAIA,IAAI8F,EAAS24B,EAAUv/B,WAAMmB,EAAWT,GAC1B,MAAVkG,IACF9F,EAAQ8F,OAIL9F,EAGT,OAAO,EAAI4xJ,EAA6BzsH,SAASwsH,IAhCnD,IAIgC/2J,EAJ5Bi3J,EAA8BxpE,EAAQ,IAEtCupE,GAE4Bh3J,EAF0Bi3J,IAELj3J,EAAIk3J,WAAal3J,EAAM,CAAEuqC,QAASvqC,GA8BvFH,EAAOC,QAAUA,EAAiB,uCCvClCoB,OAAOC,eAAerB,EAAS,aAAc,CAC3CsC,OAAO,IAETtC,EAAAA,QAYA,SAAoCq3J,GAClC,SAASz9C,EAAU09C,EAAYz2J,EAAO02J,EAAU99E,EAAen8C,EAAUk6H,GACvE,IAAIC,EAAoBh+E,GAAiB,gBACrCi+E,EAAmBF,GAAgBD,EAEvC,GAAuB,MAAnB12J,EAAM02J,GACR,OAAID,EACK,IAAItzI,MAAM,YAAcsZ,EAAW,KAAOo6H,EAAhC,2BAAsFD,EAAoB,MAGtH,KAGT,IAAK,IAAIxxJ,EAAOvB,UAAU3D,OAAQmE,EAAOpC,MAAMmD,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAC9FhB,EAAKgB,EAAO,GAAKxB,UAAUwB,GAG7B,OAAOmxJ,EAAS7yJ,WAAMmB,EAAW,CAAC9E,EAAO02J,EAAUE,EAAmBn6H,EAAUo6H,GAAkB9wJ,OAAO1B,IAG3G,IAAIyyJ,EAAmB/9C,EAAUt3F,KAAK,MAAM,GAG5C,OAFAq1I,EAAiBL,WAAa19C,EAAUt3F,KAAK,MAAM,GAE5Cq1I,GAET53J,EAAOC,QAAUA,EAAiB,0CCjClC,IAAI43J,EAAuBjqE,EAAQ,IAEnC,SAASkqE,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3C93J,EAAOC,QAAU,WACf,SAASg4J,EAAKn3J,EAAO02J,EAAU99E,EAAen8C,EAAUk6H,EAAct9D,GACpE,GAAIA,IAAW09D,EAAf,CAIA,IAAIz3I,EAAM,IAAI6D,MACZ,mLAKF,MADA7D,EAAIxc,KAAO,sBACLwc,GAGR,SAAS83I,IACP,OAAOD,EAFTA,EAAKV,WAAaU,EAMlB,IAAIE,EAAiB,CACnB3pB,MAAOypB,EACPG,OAAQH,EACRhyJ,KAAMgyJ,EACNpvG,KAAMovG,EACN3+I,OAAQ2+I,EACRj0J,OAAQi0J,EACRjiJ,OAAQiiJ,EACRI,OAAQJ,EAERK,IAAKL,EACLM,QAASL,EACT7mH,QAAS4mH,EACTO,YAAaP,EACbQ,WAAYP,EACZh7G,KAAM+6G,EACNS,SAAUR,EACVS,MAAOT,EACPU,UAAWV,EACXW,MAAOX,EACPY,MAAOZ,EAEPa,eAAgBhB,EAChBC,kBAAmBF,GAKrB,OAFAK,EAAe51G,UAAY41G,EAEpBA,sBC9CPn4J,EAAOC,QAAU2tF,EAAQ,IAARA,gCCNnB5tF,EAAOC,QAFoB,oECT3B,IAAI+4J,EAAOprE,EAAQ,KAEnB,SAASqrE,EAAWxvJ,GACnBrE,KAAK4zJ,KAAOA,EAAKE,eACjB9zJ,KAAKqE,KAAOA,EAGbwvJ,EAAW14J,UAAY,CAEtB44J,UAAY,SAAS9qI,GACpB,OAAOjpB,KAAKqE,KAAKzI,QAGlB46B,MAAQ,SAASvN,GAChB,IAAK,IAAIttB,EAAI,EAAGA,EAAIqE,KAAKqE,KAAKzI,OAAQD,IAErCstB,EAAO+qI,IAAIh0J,KAAKqE,KAAKylB,WAAWnuB,GAAI,KAKvCf,EAAOC,QAAUg5J,mBCrBjB,SAASI,IACRj0J,KAAKipB,OAAS,IAAItrB,MAClBqC,KAAKpE,OAAS,EAGfq4J,EAAY94J,UAAY,CAEvBghB,IAAM,SAAShV,GACd,IAAI+sJ,EAAW3/I,KAAKsmB,MAAM1zB,EAAQ,GAClC,OAA8D,IAApDnH,KAAKipB,OAAOirI,KAAe,EAAI/sJ,EAAQ,EAAO,IAGzD6sJ,IAAM,SAASG,EAAKv4J,GACnB,IAAK,IAAID,EAAI,EAAGA,EAAIC,EAAQD,IAC3BqE,KAAKo0J,OAA8C,IAAnCD,IAASv4J,EAASD,EAAI,EAAO,KAI/C04J,gBAAkB,WACjB,OAAOr0J,KAAKpE,QAGbw4J,OAAS,SAASE,GAEjB,IAAIJ,EAAW3/I,KAAKsmB,MAAM76B,KAAKpE,OAAS,GACpCoE,KAAKipB,OAAOrtB,QAAUs4J,GACzBl0J,KAAKipB,OAAO7pB,KAAK,GAGdk1J,IACHt0J,KAAKipB,OAAOirI,IAAc,MAAUl0J,KAAKpE,OAAS,GAGnDoE,KAAKpE,WAIPhB,EAAOC,QAAUo5J,mBCrCjBr5J,EAAOC,QAAU,CAChB+uI,EAAI,EACJiB,EAAI,EACJ0pB,EAAI,EACJC,EAAI,wBCJL,IAAIC,EAAOjsE,EAAQ,KAEnB,SAASksE,EAAaP,EAAKvwJ,GAE1B,QAAkBpD,GAAd2zJ,EAAIv4J,OACP,MAAM,IAAIijB,MAAMs1I,EAAIv4J,OAAS,IAAMgI,GAKpC,IAFA,IAAI2hD,EAAS,EAENA,EAAS4uG,EAAIv4J,QAAyB,GAAfu4J,EAAI5uG,IACjCA,IAGDvlD,KAAKm0J,IAAM,IAAIx2J,MAAMw2J,EAAIv4J,OAAS2pD,EAAS3hD,GAC3C,IAAK,IAAIjI,EAAI,EAAGA,EAAIw4J,EAAIv4J,OAAS2pD,EAAQ5pD,IACxCqE,KAAKm0J,IAAIx4J,GAAKw4J,EAAIx4J,EAAI4pD,GAIxBmvG,EAAav5J,UAAY,CAExBghB,IAAM,SAAShV,GACd,OAAOnH,KAAKm0J,IAAIhtJ,IAGjB4sJ,UAAY,WACX,OAAO/zJ,KAAKm0J,IAAIv4J,QAGjBmpE,SAAW,SAASh/D,GAInB,IAFA,IAAIouJ,EAAM,IAAIx2J,MAAMqC,KAAK+zJ,YAAchuJ,EAAEguJ,YAAc,GAE9Cp4J,EAAI,EAAGA,EAAIqE,KAAK+zJ,YAAap4J,IACrC,IAAK,IAAI6K,EAAI,EAAGA,EAAIT,EAAEguJ,YAAavtJ,IAClC2tJ,EAAIx4J,EAAI6K,IAAMiuJ,EAAKE,KAAKF,EAAKG,KAAK50J,KAAKmc,IAAIxgB,IAAO84J,EAAKG,KAAK7uJ,EAAEoW,IAAI3V,KAIpE,OAAO,IAAIkuJ,EAAaP,EAAK,IAG9BvkB,IAAM,SAAS7pI,GAEd,GAAI/F,KAAK+zJ,YAAchuJ,EAAEguJ,YAAc,EACtC,OAAO/zJ,KAOR,IAJA,IAAI60J,EAAQJ,EAAKG,KAAK50J,KAAKmc,IAAI,IAAOs4I,EAAKG,KAAK7uJ,EAAEoW,IAAI,IAElDg4I,EAAM,IAAIx2J,MAAMqC,KAAK+zJ,aAEhBp4J,EAAI,EAAGA,EAAIqE,KAAK+zJ,YAAap4J,IACrCw4J,EAAIx4J,GAAKqE,KAAKmc,IAAIxgB,GAGnB,IAASA,EAAI,EAAGA,EAAIoK,EAAEguJ,YAAap4J,IAClCw4J,EAAIx4J,IAAM84J,EAAKE,KAAKF,EAAKG,KAAK7uJ,EAAEoW,IAAIxgB,IAAOk5J,GAI5C,OAAO,IAAIH,EAAaP,EAAK,GAAGvkB,IAAI7pI,KAItCnL,EAAOC,QAAU65J,uBClEjB,IAAII,EAAUtsE,EAAQ,KAClBusE,EAAUvsE,EAAQ,KAClBwsE,EAAYxsE,EAAQ,KACpBysE,EAAOzsE,EAAQ,KACf0sE,EAAa1sE,EAAQ,KAEzB,SAASuJ,EAAOojE,EAAYC,GAC3Bp1J,KAAKm1J,WAAaA,EAClBn1J,KAAKo1J,kBAAoBA,EACzBp1J,KAAKqd,QAAU,KACfrd,KAAKq1J,YAAc,EACnBr1J,KAAKs1J,UAAY,KACjBt1J,KAAKu1J,SAAW,GAIjB,IAAIxJ,EAAQh6D,EAAO52F,UAEnB4wJ,EAAMyJ,QAAU,SAASnxJ,GACxB,IAAIoxJ,EAAU,IAAIX,EAAQzwJ,GAC1BrE,KAAKu1J,SAASn2J,KAAKq2J,GACnBz1J,KAAKs1J,UAAY,MAGlBvJ,EAAM2J,OAAS,SAASC,EAAKC,GAC5B,GAAID,EAAM,GAAK31J,KAAKq1J,aAAeM,GAAOC,EAAM,GAAK51J,KAAKq1J,aAAeO,EACxE,MAAM,IAAI/2I,MAAM82I,EAAM,IAAMC,GAE7B,OAAO51J,KAAKqd,QAAQs4I,GAAKC,IAG1B7J,EAAM8J,eAAiB,WACtB,OAAO71J,KAAKq1J,aAGbtJ,EAAM5iD,KAAO,WAEZ,GAAInpG,KAAKm1J,WAAa,EAAG,CACxB,IAAIA,EAAa,EACjB,IAAKA,EAAa,EAAGA,EAAa,GAAIA,IAAc,CAKnD,IAJA,IAAIW,EAAWf,EAAQgB,YAAYZ,EAAYn1J,KAAKo1J,mBAEhDnsI,EAAS,IAAI+rI,EACbgB,EAAiB,EACZr6J,EAAI,EAAGA,EAAIm6J,EAASl6J,OAAQD,IACpCq6J,GAAkBF,EAASn6J,GAAGs6J,UAG/B,IAASt6J,EAAI,EAAGA,EAAIqE,KAAKu1J,SAAS35J,OAAQD,IAAK,CAC9C,IAAI0I,EAAOrE,KAAKu1J,SAAS55J,GACzBstB,EAAO+qI,IAAI3vJ,EAAKuvJ,KAAM,GACtB3qI,EAAO+qI,IAAI3vJ,EAAK0vJ,YAAakB,EAAKZ,gBAAgBhwJ,EAAKuvJ,KAAMuB,IAC7D9wJ,EAAKmyB,MAAMvN,GAEZ,GAAIA,EAAOorI,mBAAsC,EAAjB2B,EAC/B,MAEFh2J,KAAKm1J,WAAaA,EAEnBn1J,KAAKk2J,UAAS,EAAOl2J,KAAKm2J,uBAG3BpK,EAAMmK,SAAW,SAASz3J,EAAM23J,GAE/Bp2J,KAAKq1J,YAAgC,EAAlBr1J,KAAKm1J,WAAiB,GACzCn1J,KAAKqd,QAAU,IAAI1f,MAAMqC,KAAKq1J,aAE9B,IAAK,IAAIM,EAAM,EAAGA,EAAM31J,KAAKq1J,YAAaM,IAAO,CAEhD31J,KAAKqd,QAAQs4I,GAAO,IAAIh4J,MAAMqC,KAAKq1J,aAEnC,IAAK,IAAIO,EAAM,EAAGA,EAAM51J,KAAKq1J,YAAaO,IACzC51J,KAAKqd,QAAQs4I,GAAKC,GAAO,KAI3B51J,KAAKq2J,0BAA0B,EAAG,GAClCr2J,KAAKq2J,0BAA0Br2J,KAAKq1J,YAAc,EAAG,GACrDr1J,KAAKq2J,0BAA0B,EAAGr2J,KAAKq1J,YAAc,GACrDr1J,KAAKs2J,6BACLt2J,KAAKu2J,qBACLv2J,KAAKw2J,cAAc/3J,EAAM23J,GAErBp2J,KAAKm1J,YAAc,GACtBn1J,KAAKy2J,gBAAgBh4J,GAGA,MAAlBuB,KAAKs1J,YACRt1J,KAAKs1J,UAAYvjE,EAAO2kE,WAAW12J,KAAKm1J,WAAYn1J,KAAKo1J,kBAAmBp1J,KAAKu1J,WAGlFv1J,KAAK22J,QAAQ32J,KAAKs1J,UAAWc,IAG9BrK,EAAMsK,0BAA4B,SAASV,EAAKC,GAE/C,IAAK,IAAI/rJ,GAAK,EAAGA,GAAK,EAAGA,IAExB,KAAI8rJ,EAAM9rJ,IAAM,GAAK7J,KAAKq1J,aAAeM,EAAM9rJ,GAE/C,IAAK,IAAID,GAAK,EAAGA,GAAK,EAAGA,IAEpBgsJ,EAAMhsJ,IAAM,GAAK5J,KAAKq1J,aAAeO,EAAMhsJ,IAK9C5J,KAAKqd,QAAQs4I,EAAM9rJ,GAAG+rJ,EAAMhsJ,GAHvB,GAAKC,GAAKA,GAAK,IAAW,GAALD,GAAe,GAALA,IAC/B,GAAKA,GAAKA,GAAK,IAAW,GAALC,GAAe,GAALA,IAC/B,GAAKA,GAAKA,GAAK,GAAK,GAAKD,GAAKA,GAAK,IAS5CmiJ,EAAMoK,mBAAqB,WAK1B,IAHA,IAAIS,EAAe,EACfzpH,EAAU,EAELxxC,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAE3BqE,KAAKk2J,UAAS,EAAMv6J,GAEpB,IAAIk7J,EAAY5B,EAAK6B,aAAa92J,OAEzB,GAALrE,GAAUi7J,EAAgBC,KAC7BD,EAAeC,EACf1pH,EAAUxxC,GAIZ,OAAOwxC,GAGR4+G,EAAMgL,gBAAkB,SAASC,EAAWC,EAAeC,GAE1D,IAAIC,EAAQH,EAAUI,qBAAqBH,EAAeC,GAG1Dl3J,KAAKmpG,OAEL,IAAK,IAAIwsD,EAAM,EAAGA,EAAM31J,KAAKqd,QAAQzhB,OAAQ+5J,IAI5C,IAFA,IAAIv7F,EANI,EAMAu7F,EAECC,EAAM,EAAGA,EAAM51J,KAAKqd,QAAQs4I,GAAK/5J,OAAQg6J,IAAO,CAExD,IAAIz7F,EAVG,EAUCy7F,EACG51J,KAAKqd,QAAQs4I,GAAKC,KAG5BuB,EAAME,UAAU,EAAG,KACnBF,EAAMG,OAAOn9F,EAAGC,GAChB+8F,EAAMI,OAAOp9F,EAhBP,EAgBeC,GACrB+8F,EAAMI,OAAOp9F,EAjBP,EAiBeC,EAjBf,GAkBN+8F,EAAMI,OAAOp9F,EAAGC,EAlBV,GAmBN+8F,EAAMK,WAKT,OAAOL,GAGRpL,EAAMwK,mBAAqB,WAE1B,IAAK,IAAI1sJ,EAAI,EAAGA,EAAI7J,KAAKq1J,YAAc,EAAGxrJ,IACf,MAAtB7J,KAAKqd,QAAQxT,GAAG,KAGpB7J,KAAKqd,QAAQxT,GAAG,GAAMA,EAAI,GAAK,GAGhC,IAAK,IAAID,EAAI,EAAGA,EAAI5J,KAAKq1J,YAAc,EAAGzrJ,IACf,MAAtB5J,KAAKqd,QAAQ,GAAGzT,KAGpB5J,KAAKqd,QAAQ,GAAGzT,GAAMA,EAAI,GAAK,IAIjCmiJ,EAAMuK,2BAA6B,WAIlC,IAFA,IAAI5zD,EAAMuyD,EAAKwC,mBAAmBz3J,KAAKm1J,YAE9Bx5J,EAAI,EAAGA,EAAI+mG,EAAI9mG,OAAQD,IAE/B,IAAK,IAAI6K,EAAI,EAAGA,EAAIk8F,EAAI9mG,OAAQ4K,IAAK,CAEpC,IAAImvJ,EAAMjzD,EAAI/mG,GACVi6J,EAAMlzD,EAAIl8F,GAEd,GAA8B,MAA1BxG,KAAKqd,QAAQs4I,GAAKC,GAItB,IAAK,IAAI/rJ,GAAK,EAAGA,GAAK,EAAGA,IAExB,IAAK,IAAID,GAAK,EAAGA,GAAK,EAAGA,IAIvB5J,KAAKqd,QAAQs4I,EAAM9rJ,GAAG+rJ,EAAMhsJ,IAFnB,GAANC,GAAgB,GAALA,IAAgB,GAAND,GAAgB,GAALA,GACzB,GAALC,GAAe,GAALD,IAWrBmiJ,EAAM0K,gBAAkB,SAASh4J,GAIhC,IAFA,IAAIi5J,EAAOzC,EAAK0C,iBAAiB33J,KAAKm1J,YAE7Bx5J,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC5B,IAAIi0I,GAAQnxI,GAA8B,IAAnBi5J,GAAQ/7J,EAAK,GACpCqE,KAAKqd,QAAQ9I,KAAKsmB,MAAMl/B,EAAI,IAAIA,EAAI,EAAIqE,KAAKq1J,YAAc,EAAI,GAAKzlB,EAGrE,IAASj0I,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACxBi0I,GAAQnxI,GAA8B,IAAnBi5J,GAAQ/7J,EAAK,GACpCqE,KAAKqd,QAAQ1hB,EAAI,EAAIqE,KAAKq1J,YAAc,EAAI,GAAG9gJ,KAAKsmB,MAAMl/B,EAAI,IAAMi0I,IAItEmc,EAAMyK,cAAgB,SAAS/3J,EAAM23J,GAMpC,IAJA,IAAI/xJ,EAAQrE,KAAKo1J,mBAAqB,EAAKgB,EACvCsB,EAAOzC,EAAK2C,eAAevzJ,GAGtB1I,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAE5B,IAAIi0I,GAAQnxI,GAA8B,IAAnBi5J,GAAQ/7J,EAAK,GAEhCA,EAAI,EACPqE,KAAKqd,QAAQ1hB,GAAG,GAAKi0I,EACXj0I,EAAI,EACdqE,KAAKqd,QAAQ1hB,EAAI,GAAG,GAAKi0I,EAEzB5vI,KAAKqd,QAAQrd,KAAKq1J,YAAc,GAAK15J,GAAG,GAAKi0I,EAK/C,IAASj0I,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAExBi0I,GAAQnxI,GAA8B,IAAnBi5J,GAAQ/7J,EAAK,GAEhCA,EAAI,EACPqE,KAAKqd,QAAQ,GAAGrd,KAAKq1J,YAAc15J,EAAI,GAAKi0I,EAClCj0I,EAAI,EACdqE,KAAKqd,QAAQ,GAAG,GAAK1hB,EAAI,EAAI,GAAKi0I,EAElC5vI,KAAKqd,QAAQ,GAAG,GAAK1hB,EAAI,GAAKi0I,EAKhC5vI,KAAKqd,QAAQrd,KAAKq1J,YAAc,GAAG,IAAO52J,GAG3CstJ,EAAM4K,QAAU,SAAStyJ,EAAM+xJ,GAO9B,IALA,IAAIyB,GAAO,EACPlC,EAAM31J,KAAKq1J,YAAc,EACzByC,EAAW,EACXC,EAAY,EAEPnC,EAAM51J,KAAKq1J,YAAc,EAAGO,EAAM,EAAGA,GAAO,EAIpD,IAFW,GAAPA,GAAUA,MAED,CAEZ,IAAK,IAAIhsJ,EAAI,EAAGA,EAAI,EAAGA,IAEtB,GAAkC,MAA9B5J,KAAKqd,QAAQs4I,GAAKC,EAAMhsJ,GAAY,CAEvC,IAAIouJ,GAAO,EAEPD,EAAY1zJ,EAAKzI,SACpBo8J,EAAkD,IAAtC3zJ,EAAK0zJ,KAAeD,EAAY,IAGlC7C,EAAKgD,QAAQ7B,EAAaT,EAAKC,EAAMhsJ,KAG/CouJ,GAAQA,GAGTh4J,KAAKqd,QAAQs4I,GAAKC,EAAMhsJ,GAAKouJ,GAGZ,KAFjBF,IAGCC,IACAD,EAAW,GAOd,IAFAnC,GAAOkC,GAEG,GAAK73J,KAAKq1J,aAAeM,EAAK,CACvCA,GAAOkC,EACPA,GAAOA,EACP,SAMJ9lE,EAAOmmE,KAAO,IACdnmE,EAAOomE,KAAO,GAEdpmE,EAAO2kE,WAAa,SAASvB,EAAYC,EAAmBG,GAM3D,IAJA,IAAIO,EAAWf,EAAQgB,YAAYZ,EAAYC,GAE3CnsI,EAAS,IAAI+rI,EAERr5J,EAAI,EAAGA,EAAI45J,EAAS35J,OAAQD,IAAK,CACzC,IAAI0I,EAAOkxJ,EAAS55J,GACpBstB,EAAO+qI,IAAI3vJ,EAAKuvJ,KAAM,GACtB3qI,EAAO+qI,IAAI3vJ,EAAK0vJ,YAAakB,EAAKZ,gBAAgBhwJ,EAAKuvJ,KAAMuB,IAC7D9wJ,EAAKmyB,MAAMvN,GAIZ,IAAI+sI,EAAiB,EACrB,IAASr6J,EAAI,EAAGA,EAAIm6J,EAASl6J,OAAQD,IACpCq6J,GAAkBF,EAASn6J,GAAGs6J,UAG/B,GAAIhtI,EAAOorI,kBAAqC,EAAjB2B,EAC9B,MAAM,IAAIn3I,MAAM,0BACboK,EAAOorI,kBACP,IACkB,EAAjB2B,EACD,KASJ,IALI/sI,EAAOorI,kBAAoB,GAAsB,EAAjB2B,GACnC/sI,EAAO+qI,IAAI,EAAG,GAIR/qI,EAAOorI,kBAAoB,GAAK,GACtCprI,EAAOmrI,QAAO,GAIf,OAEKnrI,EAAOorI,mBAAsC,EAAjB2B,KAGhC/sI,EAAO+qI,IAAIjiE,EAAOmmE,KAAM,KAEpBjvI,EAAOorI,mBAAsC,EAAjB2B,KAGhC/sI,EAAO+qI,IAAIjiE,EAAOomE,KAAM,GAGzB,OAAOpmE,EAAOqmE,YAAYnvI,EAAQ6sI,IAGnC/jE,EAAOqmE,YAAc,SAASnvI,EAAQ6sI,GAUrC,IARA,IAAIvwG,EAAS,EAET8yG,EAAa,EACbC,EAAa,EAEbC,EAAS,IAAI56J,MAAMm4J,EAASl6J,QAC5B48J,EAAS,IAAI76J,MAAMm4J,EAASl6J,QAEvBiO,EAAI,EAAGA,EAAIisJ,EAASl6J,OAAQiO,IAAK,CAEzC,IAAI4uJ,EAAU3C,EAASjsJ,GAAGosJ,UACtByC,EAAU5C,EAASjsJ,GAAG8uJ,WAAaF,EAEvCJ,EAAa9jJ,KAAKilD,IAAI6+F,EAAYI,GAClCH,EAAa/jJ,KAAKilD,IAAI8+F,EAAYI,GAElCH,EAAO1uJ,GAAK,IAAIlM,MAAM86J,GAEtB,IAAK,IAAI98J,EAAI,EAAGA,EAAI48J,EAAO1uJ,GAAGjO,OAAQD,IACrC48J,EAAO1uJ,GAAGlO,GAAK,IAAOstB,EAAOA,OAAOttB,EAAI4pD,GAEzCA,GAAUkzG,EAEV,IAAIG,EAAS3D,EAAK4D,0BAA0BH,GAGxCI,EAFU,IAAI5D,EAAWqD,EAAO1uJ,GAAI+uJ,EAAO7E,YAAc,GAEvCnkB,IAAIgpB,GAC1BJ,EAAO3uJ,GAAK,IAAIlM,MAAMi7J,EAAO7E,YAAc,GAC3C,IAASp4J,EAAI,EAAGA,EAAI68J,EAAO3uJ,GAAGjO,OAAQD,IAAK,CACjC,IAAIo9J,EAAWp9J,EAAIm9J,EAAQ/E,YAAcyE,EAAO3uJ,GAAGjO,OAC5D48J,EAAO3uJ,GAAGlO,GAAMo9J,GAAY,EAAID,EAAQ38I,IAAI48I,GAAY,GAK1D,IAAIC,EAAiB,EACrB,IAASr9J,EAAI,EAAGA,EAAIm6J,EAASl6J,OAAQD,IACpCq9J,GAAkBlD,EAASn6J,GAAGg9J,WAG/B,IAAIt0J,EAAO,IAAI1G,MAAMq7J,GACjB7xJ,EAAQ,EAEZ,IAASxL,EAAI,EAAGA,EAAI08J,EAAY18J,IAC/B,IAASkO,EAAI,EAAGA,EAAIisJ,EAASl6J,OAAQiO,IAChClO,EAAI48J,EAAO1uJ,GAAGjO,SACjByI,EAAK8C,KAAWoxJ,EAAO1uJ,GAAGlO,IAK7B,IAASA,EAAI,EAAGA,EAAI28J,EAAY38J,IAC/B,IAASkO,EAAI,EAAGA,EAAIisJ,EAASl6J,OAAQiO,IAChClO,EAAI68J,EAAO3uJ,GAAGjO,SACjByI,EAAK8C,KAAWqxJ,EAAO3uJ,GAAGlO,IAK7B,OAAO0I,GAGRzJ,EAAOC,QAAUk3F,uBCnbjB,IAAIknE,EAAMzwE,EAAQ,KAElB,SAAS0wE,EAAUP,EAAY1C,GAC9Bj2J,KAAK24J,WAAaA,EAClB34J,KAAKi2J,UAAaA,EAGnBiD,EAAUC,eAAiB,CAQ1B,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAGR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IAGR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IAGR,CAAC,EAAG,IAAK,IACT,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAGR,CAAC,EAAG,IAAK,KACT,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IAGR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,IACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,KACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,IACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IACrB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,KACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IACrB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,IAGT,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IACrB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,IACT,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,IACT,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,IAGT,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,KACV,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,KAGtBD,EAAUnD,YAAc,SAASZ,EAAYC,GAE5C,IAAIgE,EAAUF,EAAUG,gBAAgBlE,EAAYC,GAEpD,QAAe50J,GAAX44J,EACH,MAAM,IAAIv6I,MAAM,6BAA+Bs2I,EAAa,sBAAwBC,GAOrF,IAJA,IAAIx5J,EAASw9J,EAAQx9J,OAAS,EAE1Bwd,EAAO,IAAIzb,MAENhC,EAAI,EAAGA,EAAIC,EAAQD,IAM3B,IAJA,IAAIwQ,EAAQitJ,EAAY,EAAJz9J,EAAQ,GACxBg9J,EAAaS,EAAY,EAAJz9J,EAAQ,GAC7Bs6J,EAAamD,EAAY,EAAJz9J,EAAQ,GAExB6K,EAAI,EAAGA,EAAI2F,EAAO3F,IAC1B4S,EAAKha,KAAK,IAAI85J,EAAUP,EAAY1C,IAItC,OAAO78I,GAGR8/I,EAAUG,gBAAkB,SAASlE,EAAYC,GAEhD,OAAOA,GACP,KAAK6D,EAAIrvB,EACR,OAAOsvB,EAAUC,eAAkC,GAAlBhE,EAAa,GAAS,GACxD,KAAK8D,EAAIpuB,EACR,OAAOquB,EAAUC,eAAkC,GAAlBhE,EAAa,GAAS,GACxD,KAAK8D,EAAI1E,EACR,OAAO2E,EAAUC,eAAkC,GAAlBhE,EAAa,GAAS,GACxD,KAAK8D,EAAIzE,EACR,OAAO0E,EAAUC,eAAkC,GAAlBhE,EAAa,GAAS,GACxD,QACC,SAIFv6J,EAAOC,QAAUq+J,mBC5QjB,IA9BA,IAAII,EAAS,CAEZ1E,KAAO,SAASv2J,GAEf,GAAIA,EAAI,EACP,MAAM,IAAIwgB,MAAM,QAAUxgB,EAAI,KAG/B,OAAOi7J,EAAOC,UAAUl7J,IAGzBs2J,KAAO,SAASt2J,GAEf,KAAOA,EAAI,GACVA,GAAK,IAGN,KAAOA,GAAK,KACXA,GAAK,IAGN,OAAOi7J,EAAOE,UAAUn7J,IAGzBm7J,UAAY,IAAI77J,MAAM,KAEtB47J,UAAY,IAAI57J,MAAM,MAIdhC,EAAI,EAAGA,EAAI,EAAGA,IACtB29J,EAAOE,UAAU79J,GAAK,GAAKA,EAE5B,IAASA,EAAI,EAAGA,EAAI,IAAKA,IACxB29J,EAAOE,UAAU79J,GAAK29J,EAAOE,UAAU79J,EAAI,GACxC29J,EAAOE,UAAU79J,EAAI,GACrB29J,EAAOE,UAAU79J,EAAI,GACrB29J,EAAOE,UAAU79J,EAAI,GAEzB,IAASA,EAAI,EAAGA,EAAI,IAAKA,IACxB29J,EAAOC,UAAUD,EAAOE,UAAU79J,IAAOA,EAG1Cf,EAAOC,QAAUy+J,mBC3CjB1+J,EAAOC,QAAU,CAChB4+J,YAAe,EACfC,eAAkB,EAClB5F,eAAkB,EAClB6F,WAAc,wBCJf,IAAIC,EAAOpxE,EAAQ,KACf0sE,EAAa1sE,EAAQ,KACrBisE,EAAOjsE,EAAQ,KAEfqxE,EACU,EADVA,EAEU,EAFVA,EAGU,EAHVA,EAIU,EAJVA,EAKU,EALVA,EAMU,EANVA,EAOU,EAPVA,EAQU,EAGVC,EAAS,CAETC,uBAAyB,CACxB,GACA,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,GAAI,IAChB,CAAC,EAAG,GAAI,GAAI,GAAI,IAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,KACpB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,MAG3BC,IAAO,KACPC,IAAO,KACPC,SAAY,MAEZtC,eAAiB,SAASvzJ,GAEzB,IADA,IAAIgyE,EAAIhyE,GAAQ,GACTy1J,EAAOK,YAAY9jF,GAAKyjF,EAAOK,YAAYL,EAAOE,MAAQ,GAChE3jF,GAAMyjF,EAAOE,KAAQF,EAAOK,YAAY9jF,GAAKyjF,EAAOK,YAAYL,EAAOE,KAExE,OAAU31J,GAAQ,GAAMgyE,GAAKyjF,EAAOI,UAGrCvC,iBAAmB,SAAStzJ,GAE3B,IADA,IAAIgyE,EAAIhyE,GAAQ,GACTy1J,EAAOK,YAAY9jF,GAAKyjF,EAAOK,YAAYL,EAAOG,MAAQ,GAChE5jF,GAAMyjF,EAAOG,KAAQH,EAAOK,YAAY9jF,GAAKyjF,EAAOK,YAAYL,EAAOG,KAExE,OAAQ51J,GAAQ,GAAMgyE,GAGvB8jF,YAAc,SAAS91J,GAItB,IAFA,IAAI+1J,EAAQ,EAEG,GAAR/1J,GACN+1J,IACA/1J,KAAU,EAGX,OAAO+1J,GAGR3C,mBAAqB,SAAStC,GAC7B,OAAO2E,EAAOC,uBAAuB5E,EAAa,IAGnD8C,QAAU,SAAS7B,EAAaz6J,EAAG6K,GAElC,OAAQ4vJ,GAER,KAAKyD,EAA2B,OAAQl+J,EAAI6K,GAAK,GAAK,EACtD,KAAKqzJ,EAA2B,OAAOl+J,EAAI,GAAK,EAChD,KAAKk+J,EAA2B,OAAOrzJ,EAAI,GAAK,EAChD,KAAKqzJ,EAA2B,OAAQl+J,EAAI6K,GAAK,GAAK,EACtD,KAAKqzJ,EAA2B,OAAQtlJ,KAAKsmB,MAAMl/B,EAAI,GAAK4Y,KAAKsmB,MAAMr0B,EAAI,IAAO,GAAK,EACvF,KAAKqzJ,EAA2B,OAAQl+J,EAAI6K,EAAK,EAAK7K,EAAI6K,EAAK,GAAK,EACpE,KAAKqzJ,EAA2B,OAAUl+J,EAAI6K,EAAK,EAAK7K,EAAI6K,EAAK,GAAK,GAAK,EAC3E,KAAKqzJ,EAA2B,OAAUl+J,EAAI6K,EAAK,GAAK7K,EAAI6K,GAAK,GAAK,GAAK,EAE3E,QACC,MAAM,IAAIqY,MAAM,mBAAqBu3I,KAIvCyC,0BAA4B,SAASwB,GAIpC,IAFA,IAAIr3J,EAAI,IAAIkyJ,EAAW,CAAC,GAAI,GAEnBv5J,EAAI,EAAGA,EAAI0+J,EAAoB1+J,IACvCqH,EAAIA,EAAE+hE,SAAS,IAAImwF,EAAW,CAAC,EAAGT,EAAKE,KAAKh5J,IAAK,IAGlD,OAAOqH,GAGRqxJ,gBAAkB,SAAST,EAAM/zJ,GAEhC,GAAI,GAAKA,GAAQA,EAAO,GAIvB,OAAO+zJ,GACP,KAAKgG,EAAKH,YAAe,OAAO,GAChC,KAAKG,EAAKF,eAAkB,OAAO,EACnC,KAAKE,EAAK9F,eACV,KAAK8F,EAAKD,WAAe,OAAO,EAChC,QACC,MAAM,IAAI96I,MAAM,QAAU+0I,QAGrB,GAAI/zJ,EAAO,GAIjB,OAAO+zJ,GACP,KAAKgG,EAAKH,YAAe,OAAO,GAChC,KAAKG,EAAKF,eAAkB,OAAO,GACnC,KAAKE,EAAK9F,eAAiB,OAAO,GAClC,KAAK8F,EAAKD,WAAe,OAAO,GAChC,QACC,MAAM,IAAI96I,MAAM,QAAU+0I,OAGrB,MAAI/zJ,EAAO,IAcjB,MAAM,IAAIgf,MAAM,QAAUhf,GAV1B,OAAO+zJ,GACP,KAAKgG,EAAKH,YAAe,OAAO,GAChC,KAAKG,EAAKF,eAAiB,OAAO,GAClC,KAAKE,EAAK9F,eAAiB,OAAO,GAClC,KAAK8F,EAAKD,WAAe,OAAO,GAChC,QACC,MAAM,IAAI96I,MAAM,QAAU+0I,MAQ7BkD,aAAe,SAASwD,GAQvB,IANA,IAAIjF,EAAciF,EAAOzE,iBAErBgB,EAAY,EAIPlB,EAAM,EAAGA,EAAMN,EAAaM,IAEpC,IAAK,IAAIC,EAAM,EAAGA,EAAMP,EAAaO,IAAO,CAK9C,IAHG,IAAI2E,EAAY,EACZvC,EAAOsC,EAAO5E,OAAOC,EAAKC,GAExB/rJ,GAAK,EAAGA,GAAK,EAAGA,IAErB,KAAI8rJ,EAAM9rJ,EAAI,GAAKwrJ,GAAeM,EAAM9rJ,GAIxC,IAAK,IAAID,GAAK,EAAGA,GAAK,EAAGA,IAEpBgsJ,EAAMhsJ,EAAI,GAAKyrJ,GAAeO,EAAMhsJ,GAI/B,GAALC,GAAe,GAALD,GAIVouJ,GAAQsC,EAAO5E,OAAOC,EAAM9rJ,EAAG+rJ,EAAMhsJ,IACxC2wJ,IAKCA,EAAY,IACf1D,GAAc,EAAI0D,EAAY,GAOjC,IAAS5E,EAAM,EAAGA,EAAMN,EAAc,EAAGM,IACxC,IAASC,EAAM,EAAGA,EAAMP,EAAc,EAAGO,IAAO,CAC/C,IAAIzpJ,EAAQ,EACRmuJ,EAAO5E,OAAOC,EAASC,IAAWzpJ,IAClCmuJ,EAAO5E,OAAOC,EAAM,EAAGC,IAAWzpJ,IAClCmuJ,EAAO5E,OAAOC,EAASC,EAAM,IAAKzpJ,IAClCmuJ,EAAO5E,OAAOC,EAAM,EAAGC,EAAM,IAAKzpJ,IACzB,GAATA,GAAuB,GAATA,IACjB0qJ,GAAa,GAOhB,IAASlB,EAAM,EAAGA,EAAMN,EAAaM,IACpC,IAASC,EAAM,EAAGA,EAAMP,EAAc,EAAGO,IACpC0E,EAAO5E,OAAOC,EAAKC,KACjB0E,EAAO5E,OAAOC,EAAKC,EAAM,IACzB0E,EAAO5E,OAAOC,EAAKC,EAAM,IACzB0E,EAAO5E,OAAOC,EAAKC,EAAM,IACzB0E,EAAO5E,OAAOC,EAAKC,EAAM,KACzB0E,EAAO5E,OAAOC,EAAKC,EAAM,IACzB0E,EAAO5E,OAAOC,EAAKC,EAAM,KAC9BiB,GAAa,IAKhB,IAASjB,EAAM,EAAGA,EAAMP,EAAaO,IACpC,IAASD,EAAM,EAAGA,EAAMN,EAAc,EAAGM,IACpC2E,EAAO5E,OAAOC,EAAKC,KACjB0E,EAAO5E,OAAOC,EAAM,EAAGC,IACvB0E,EAAO5E,OAAOC,EAAM,EAAGC,IACvB0E,EAAO5E,OAAOC,EAAM,EAAGC,IACvB0E,EAAO5E,OAAOC,EAAM,EAAGC,KACvB0E,EAAO5E,OAAOC,EAAM,EAAGC,IACvB0E,EAAO5E,OAAOC,EAAM,EAAGC,KAC5BiB,GAAa,IAOhB,IAAI2D,EAAY,EAEhB,IAAS5E,EAAM,EAAGA,EAAMP,EAAaO,IACpC,IAASD,EAAM,EAAGA,EAAMN,EAAaM,IAChC2E,EAAO5E,OAAOC,EAAKC,IACtB4E,IAQH,OAFA3D,GAAqB,IADTtiJ,KAAKC,IAAI,IAAMgmJ,EAAYnF,EAAcA,EAAc,IAAM,KAO9Ez6J,EAAOC,QAAUi/J,oCC3QJ,IAAIW,EAAGjyE,EAAQ,KAASrlF,EAAEqlF,EAAQ,KAAiB3+E,EAAE2+E,EAAQ,KAAa,SAASpuB,EAAEp3D,GAAG,IAAI,IAAI0mB,EAAE,yDAAyD1mB,EAAE4G,EAAE,EAAEA,EAAErK,UAAU3D,OAAOgO,IAAI8f,GAAG,WAAW+E,mBAAmBlvB,UAAUqK,IAAI,MAAM,yBAAyB5G,EAAE,WAAW0mB,EAAE,iHAAiH,IAAI+wI,EAAG,MAAM57I,MAAMu7C,EAAE,MAAM,IAAIsgG,EAAG,IAAIniG,IAAIoiG,EAAG,GAAG,SAASC,EAAG53J,EAAE0mB,GAAGmxI,EAAG73J,EAAE0mB,GAAGmxI,EAAG73J,EAAE,UAAU0mB,GAC3e,SAASmxI,EAAG73J,EAAE0mB,GAAW,IAARixI,EAAG33J,GAAG0mB,EAAM1mB,EAAE,EAAEA,EAAE0mB,EAAE9tB,OAAOoH,IAAI03J,EAAGxsG,IAAIxkC,EAAE1mB,IACzD,IAAI83J,IAAK,qBAAqB91J,QAAQ,qBAAqBA,OAAOyf,UAAU,qBAAqBzf,OAAOyf,SAASC,eAAeq2I,EAAG,8VAA8VC,EAAG/+J,OAAOd,UAAU0I,eACrfo3J,EAAG,GAAGC,EAAG,GAC+M,SAASC,EAAEn4J,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,EAAEykJ,GAAGp7J,KAAKq7J,gBAAgB,IAAI3xI,GAAG,IAAIA,GAAG,IAAIA,EAAE1pB,KAAKs7J,cAAcjlF,EAAEr2E,KAAKu7J,mBAAmBx1J,EAAE/F,KAAKw7J,gBAAgB5xJ,EAAE5J,KAAKy7J,aAAaz4J,EAAEhD,KAAKH,KAAK6pB,EAAE1pB,KAAK07J,YAAY/kJ,EAAE3W,KAAK27J,kBAAkBP,EAAE,IAAIQ,EAAE,GACnb,uIAAuI35J,MAAM,KAAKxC,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAevD,SAAQ,SAASuD,GAAG,IAAI0mB,EAAE1mB,EAAE,GAAG44J,EAAElyI,GAAG,IAAIyxI,EAAEzxI,EAAE,GAAE,EAAG1mB,EAAE,GAAG,MAAK,GAAG,MAAM,CAAC,kBAAkB,YAAY,aAAa,SAASvD,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE+H,cAAc,MAAK,GAAG,MACve,CAAC,cAAc,4BAA4B,YAAY,iBAAiBtL,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,8OAA8Of,MAAM,KAAKxC,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE+H,cAAc,MAAK,GAAG,MACrb,CAAC,UAAU,WAAW,QAAQ,YAAYtL,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,YAAYvD,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,OAAO,OAAO,OAAO,QAAQvD,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,SAASvD,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE+H,cAAc,MAAK,GAAG,MAAM,IAAI8wJ,EAAG,gBAAgB,SAASC,EAAG94J,GAAG,OAAOA,EAAE,GAAG8N,cAI3Y,SAASirJ,EAAG/4J,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE61J,EAAE/3J,eAAe6lB,GAAGkyI,EAAElyI,GAAG,MAAW,OAAO3jB,EAAE,IAAIA,EAAElG,MAAKw2E,IAAO,EAAE3sD,EAAE9tB,SAAS,MAAM8tB,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,QAPnJ,SAAY1mB,EAAE0mB,EAAE9f,EAAEysE,GAAG,GAAG,OAAO3sD,GAAG,qBAAqBA,GADwE,SAAY1mB,EAAE0mB,EAAE9f,EAAEysE,GAAG,GAAG,OAAOzsE,GAAG,IAAIA,EAAE/J,KAAK,OAAM,EAAG,cAAc6pB,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAG2sD,IAAc,OAAOzsE,GAASA,EAAEyxJ,gBAAmD,WAAnCr4J,EAAEA,EAAE+H,cAAcxM,MAAM,EAAE,KAAsB,UAAUyE,GAAE,QAAQ,OAAM,GAC/Tg5J,CAAGh5J,EAAE0mB,EAAE9f,EAAEysE,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOzsE,EAAE,OAAOA,EAAE/J,MAAM,KAAK,EAAE,OAAO6pB,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAOhR,MAAMgR,GAAG,KAAK,EAAE,OAAOhR,MAAMgR,IAAI,EAAEA,EAAE,OAAM,EAOrDhb,CAAGgb,EAAE9f,EAAE7D,EAAEswE,KAAKzsE,EAAE,MAAMysE,GAAG,OAAOtwE,EARpL,SAAY/C,GAAG,QAAGg4J,EAAG39J,KAAK69J,EAAGl4J,KAAeg4J,EAAG39J,KAAK49J,EAAGj4J,KAAe+3J,EAAGt8J,KAAKuE,GAAUk4J,EAAGl4J,IAAG,GAAGi4J,EAAGj4J,IAAG,GAAS,IAQsEi5J,CAAGvyI,KAAK,OAAO9f,EAAE5G,EAAEwpD,gBAAgB9iC,GAAG1mB,EAAE20B,aAAajO,EAAE,GAAG9f,IAAI7D,EAAEy1J,gBAAgBx4J,EAAE+C,EAAE01J,cAAc,OAAO7xJ,EAAE,IAAI7D,EAAElG,MAAQ,GAAG+J,GAAG8f,EAAE3jB,EAAEu1J,cAAcjlF,EAAEtwE,EAAEw1J,mBAAmB,OAAO3xJ,EAAE5G,EAAEwpD,gBAAgB9iC,IAAa9f,EAAE,KAAX7D,EAAEA,EAAElG,OAAc,IAAIkG,IAAG,IAAK6D,EAAE,GAAG,GAAGA,EAAEysE,EAAErzE,EAAEk5J,eAAe7lF,EAAE3sD,EAAE9f,GAAG5G,EAAE20B,aAAajO,EAAE9f,MAH5d,0jCAA0jC3H,MAAM,KAAKxC,SAAQ,SAASuD,GAAG,IAAI0mB,EAAE1mB,EAAES,QAAQo4J,EACzmCC,GAAIF,EAAElyI,GAAG,IAAIyxI,EAAEzxI,EAAE,GAAE,EAAG1mB,EAAE,MAAK,GAAG,MAAM,2EAA2Ef,MAAM,KAAKxC,SAAQ,SAASuD,GAAG,IAAI0mB,EAAE1mB,EAAES,QAAQo4J,EAAGC,GAAIF,EAAElyI,GAAG,IAAIyxI,EAAEzxI,EAAE,GAAE,EAAG1mB,EAAE,gCAA+B,GAAG,MAAM,CAAC,WAAW,WAAW,aAAavD,SAAQ,SAASuD,GAAG,IAAI0mB,EAAE1mB,EAAES,QAAQo4J,EAAGC,GAAIF,EAAElyI,GAAG,IAAIyxI,EAAEzxI,EAAE,GAAE,EAAG1mB,EAAE,wCAAuC,GAAG,MAAM,CAAC,WAAW,eAAevD,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE+H,cAAc,MAAK,GAAG,MAC/c6wJ,EAAEO,UAAU,IAAIhB,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAc17J,SAAQ,SAASuD,GAAG44J,EAAE54J,GAAG,IAAIm4J,EAAEn4J,EAAE,GAAE,EAAGA,EAAE+H,cAAc,MAAK,GAAG,MAEzL,IAAIqxJ,EAAG3B,EAAG4B,mDAAmDC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAChN,GAAG,oBAAoBtiK,QAAQA,OAAOoxJ,IAAI,CAAC,IAAI/N,EAAErjJ,OAAOoxJ,IAAIkQ,EAAGje,EAAE,iBAAiBke,EAAGle,EAAE,gBAAgBme,EAAGne,EAAE,kBAAkBoe,EAAGpe,EAAE,qBAAqBqe,EAAGre,EAAE,kBAAkBse,EAAGte,EAAE,kBAAkBue,EAAGve,EAAE,iBAAiBwe,EAAGxe,EAAE,qBAAqBye,EAAGze,EAAE,kBAAkB0e,EAAG1e,EAAE,uBAAuB2e,EAAG3e,EAAE,cAAc4e,EAAG5e,EAAE,cAAc6e,EAAG7e,EAAE,eAAeA,EAAE,eAAe8e,EAAG9e,EAAE,mBAAmB+e,EAAG/e,EAAE,0BAA0Bgf,EAAGhf,EAAE,mBAAmBif,EAAGjf,EAAE,uBACxc,IAAmLkf,EAA/KC,EAAG,oBAAoBxiK,QAAQA,OAAOC,SAAS,SAASwiK,EAAGz6J,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAEw6J,GAAIx6J,EAAEw6J,IAAKx6J,EAAE,eAA0CA,EAAE,KAAY,SAAS06J,EAAG16J,GAAG,QAAG,IAASu6J,EAAG,IAAI,MAAM1+I,QAAS,MAAMjV,GAAG,IAAI8f,EAAE9f,EAAEjG,MAAM+S,OAAOtM,MAAM,gBAAgBmzJ,EAAG7zI,GAAGA,EAAE,IAAI,GAAG,MAAM,KAAK6zI,EAAGv6J,EAAE,IAAI26J,GAAG,EACjU,SAASC,EAAG56J,EAAE0mB,GAAG,IAAI1mB,GAAG26J,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAI/zJ,EAAEiV,MAAMg/I,kBAAkBh/I,MAAMg/I,uBAAkB,EAAO,IAAI,GAAGn0I,EAAE,GAAGA,EAAE,WAAW,MAAM7K,SAAU5iB,OAAOC,eAAewtB,EAAEvuB,UAAU,QAAQ,CAAC8X,IAAI,WAAW,MAAM4L,WAAY,kBAAkBpZ,SAASA,QAAQC,UAAU,CAAC,IAAID,QAAQC,UAAUgkB,EAAE,IAAI,MAAM5lB,GAAG,IAAIuyE,EAAEvyE,EAAE2B,QAAQC,UAAU1C,EAAE,GAAG0mB,OAAO,CAAC,IAAIA,EAAErsB,OAAO,MAAMyG,GAAGuyE,EAAEvyE,EAAEd,EAAE3F,KAAKqsB,EAAEvuB,eAAe,CAAC,IAAI,MAAM0jB,QAAS,MAAM/a,GAAGuyE,EAAEvyE,EAAEd,KAAK,MAAMc,GAAG,GAAGA,GAAGuyE,GAAG,kBAAkBvyE,EAAEH,MAAM,CAAC,IAAI,IAAIoC,EAAEjC,EAAEH,MAAM1B,MAAM,MACnf0U,EAAE0/D,EAAE1yE,MAAM1B,MAAM,MAAMm5J,EAAEr1J,EAAEnK,OAAO,EAAEi0B,EAAElZ,EAAE/a,OAAO,EAAE,GAAGw/J,GAAG,GAAGvrI,GAAG9pB,EAAEq1J,KAAKzkJ,EAAEkZ,IAAIA,IAAI,KAAK,GAAGurI,GAAG,GAAGvrI,EAAEurI,IAAIvrI,IAAI,GAAG9pB,EAAEq1J,KAAKzkJ,EAAEkZ,GAAG,CAAC,GAAG,IAAIurI,GAAG,IAAIvrI,EAAG,GAAG,GAAGurI,IAAQ,IAAJvrI,GAAS9pB,EAAEq1J,KAAKzkJ,EAAEkZ,GAAG,MAAM,KAAK9pB,EAAEq1J,GAAG33J,QAAQ,WAAW,cAAc,GAAG23J,GAAG,GAAGvrI,GAAG,QAAQ,QAAQ8tI,GAAG,EAAG9+I,MAAMg/I,kBAAkBj0J,EAAE,OAAO5G,EAAEA,EAAEA,EAAEgkC,aAAahkC,EAAExE,KAAK,IAAIk/J,EAAG16J,GAAG,GAC7T,SAAS86J,EAAG96J,GAAG,OAAOA,EAAE+6J,KAAK,KAAK,EAAE,OAAOL,EAAG16J,EAAEnD,MAAM,KAAK,GAAG,OAAO69J,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO16J,EAAE46J,EAAG56J,EAAEnD,MAAK,GAAM,KAAK,GAAG,OAAOmD,EAAE46J,EAAG56J,EAAEnD,KAAKq4C,QAAO,GAAM,KAAK,GAAG,OAAOl1C,EAAE46J,EAAG56J,EAAEnD,KAAKm+J,SAAQ,GAAM,KAAK,EAAE,OAAOh7J,EAAE46J,EAAG56J,EAAEnD,MAAK,GAAM,QAAQ,MAAM,IAC9T,SAASo+J,EAAGj7J,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEgkC,aAAahkC,EAAExE,MAAM,KAAK,GAAG,kBAAkBwE,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKw5J,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKG,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKK,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkB/5J,EAAE,OAAOA,EAAEk7J,UAAU,KAAKtB,EAAG,OAAO55J,EAAEgkC,aAAa,WAAW,YAAY,KAAK21H,EAAG,OAAO35J,EAAEulD,SAASvhB,aAAa,WAAW,YAAY,KAAK61H,EAAG,IAAInzI,EAAE1mB,EAAEk1C,OACnd,OAD0dxuB,EAAEA,EAAEsd,aAAatd,EAAElrB,MAAM,GAC5ewE,EAAEgkC,cAAc,KAAKtd,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAKszI,EAAG,OAAOiB,EAAGj7J,EAAEnD,MAAM,KAAKq9J,EAAG,OAAOe,EAAGj7J,EAAEg7J,SAAS,KAAKf,EAAGvzI,EAAE1mB,EAAEm7J,SAASn7J,EAAEA,EAAEo7J,MAAM,IAAI,OAAOH,EAAGj7J,EAAE0mB,IAAI,MAAM9f,KAAK,OAAO,KAAK,SAASy0J,EAAGr7J,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,OAAOA,EAAE,QAAQ,MAAM,IAAI,SAASs7J,EAAGt7J,GAAG,IAAI0mB,EAAE1mB,EAAEnD,KAAK,OAAOmD,EAAEA,EAAE6nD,WAAW,UAAU7nD,EAAE+H,gBAAgB,aAAa2e,GAAG,UAAUA,GAE1Z,SAAS60I,EAAGv7J,GAAGA,EAAEw7J,gBAAgBx7J,EAAEw7J,cADvD,SAAYx7J,GAAG,IAAI0mB,EAAE40I,EAAGt7J,GAAG,UAAU,QAAQ4G,EAAE3N,OAAOkD,yBAAyB6D,EAAE9H,YAAYC,UAAUuuB,GAAG2sD,EAAE,GAAGrzE,EAAE0mB,GAAG,IAAI1mB,EAAEa,eAAe6lB,IAAI,qBAAqB9f,GAAG,oBAAoBA,EAAEuS,KAAK,oBAAoBvS,EAAEqJ,IAAI,CAAC,IAAIlN,EAAE6D,EAAEuS,IAAIxF,EAAE/M,EAAEqJ,IAAiL,OAA7KhX,OAAOC,eAAe8G,EAAE0mB,EAAE,CAAC3tB,cAAa,EAAGogB,IAAI,WAAW,OAAOpW,EAAE1I,KAAK2C,OAAOiT,IAAI,SAASjQ,GAAGqzE,EAAE,GAAGrzE,EAAE2T,EAAEtZ,KAAK2C,KAAKgD,MAAM/G,OAAOC,eAAe8G,EAAE0mB,EAAE,CAAC5tB,WAAW8N,EAAE9N,aAAmB,CAAC2iK,SAAS,WAAW,OAAOpoF,GAAGqoF,SAAS,SAAS17J,GAAGqzE,EAAE,GAAGrzE,GAAG27J,aAAa,WAAW37J,EAAEw7J,cACxf,YAAYx7J,EAAE0mB,MAAuDk1I,CAAG57J,IAAI,SAAS67J,EAAG77J,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAI0mB,EAAE1mB,EAAEw7J,cAAc,IAAI90I,EAAE,OAAM,EAAG,IAAI9f,EAAE8f,EAAE+0I,WAAepoF,EAAE,GAAqD,OAAlDrzE,IAAIqzE,EAAEioF,EAAGt7J,GAAGA,EAAE2xG,QAAQ,OAAO,QAAQ3xG,EAAE7F,QAAO6F,EAAEqzE,KAAazsE,IAAG8f,EAAEg1I,SAAS17J,IAAG,GAAO,SAAS87J,EAAG97J,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqByhB,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOzhB,EAAE4nD,eAAe5nD,EAAE4hB,KAAK,MAAM8E,GAAG,OAAO1mB,EAAE4hB,MAC/Z,SAASm6I,EAAG/7J,EAAE0mB,GAAG,IAAI9f,EAAE8f,EAAEirF,QAAQ,OAAOxxG,EAAE,GAAGumB,EAAE,CAACo/B,oBAAe,EAAOt8C,kBAAa,EAAOrP,WAAM,EAAOw3G,QAAQ,MAAM/qG,EAAEA,EAAE5G,EAAEg8J,cAAcC,iBAAiB,SAASC,GAAGl8J,EAAE0mB,GAAG,IAAI9f,EAAE,MAAM8f,EAAEld,aAAa,GAAGkd,EAAEld,aAAa6pE,EAAE,MAAM3sD,EAAEirF,QAAQjrF,EAAEirF,QAAQjrF,EAAEo/B,eAAel/C,EAAEy0J,EAAG,MAAM30I,EAAEvsB,MAAMusB,EAAEvsB,MAAMyM,GAAG5G,EAAEg8J,cAAc,CAACC,eAAe5oF,EAAE8oF,aAAav1J,EAAEw1J,WAAW,aAAa11I,EAAE7pB,MAAM,UAAU6pB,EAAE7pB,KAAK,MAAM6pB,EAAEirF,QAAQ,MAAMjrF,EAAEvsB,OAAO,SAASkiK,GAAGr8J,EAAE0mB,GAAe,OAAZA,EAAEA,EAAEirF,UAAiBonD,EAAG/4J,EAAE,UAAU0mB,GAAE,GAC3d,SAAS41I,GAAGt8J,EAAE0mB,GAAG21I,GAAGr8J,EAAE0mB,GAAG,IAAI9f,EAAEy0J,EAAG30I,EAAEvsB,OAAOk5E,EAAE3sD,EAAE7pB,KAAK,GAAG,MAAM+J,EAAK,WAAWysE,GAAM,IAAIzsE,GAAG,KAAK5G,EAAE7F,OAAO6F,EAAE7F,OAAOyM,KAAE5G,EAAE7F,MAAM,GAAGyM,GAAO5G,EAAE7F,QAAQ,GAAGyM,IAAI5G,EAAE7F,MAAM,GAAGyM,QAAQ,GAAG,WAAWysE,GAAG,UAAUA,EAA8B,YAA3BrzE,EAAEwpD,gBAAgB,SAAgB9iC,EAAE7lB,eAAe,SAAS07J,GAAGv8J,EAAE0mB,EAAE7pB,KAAK+J,GAAG8f,EAAE7lB,eAAe,iBAAiB07J,GAAGv8J,EAAE0mB,EAAE7pB,KAAKw+J,EAAG30I,EAAEld,eAAe,MAAMkd,EAAEirF,SAAS,MAAMjrF,EAAEo/B,iBAAiB9lD,EAAE8lD,iBAAiBp/B,EAAEo/B,gBACnZ,SAAS3J,GAAGn8C,EAAE0mB,EAAE9f,GAAG,GAAG8f,EAAE7lB,eAAe,UAAU6lB,EAAE7lB,eAAe,gBAAgB,CAAC,IAAIwyE,EAAE3sD,EAAE7pB,KAAK,KAAK,WAAWw2E,GAAG,UAAUA,QAAG,IAAS3sD,EAAEvsB,OAAO,OAAOusB,EAAEvsB,OAAO,OAAOusB,EAAE,GAAG1mB,EAAEg8J,cAAcG,aAAav1J,GAAG8f,IAAI1mB,EAAE7F,QAAQ6F,EAAE7F,MAAMusB,GAAG1mB,EAAEwJ,aAAakd,EAAW,MAAT9f,EAAE5G,EAAExE,QAAcwE,EAAExE,KAAK,IAAIwE,EAAE8lD,iBAAiB9lD,EAAEg8J,cAAcC,eAAe,KAAKr1J,IAAI5G,EAAExE,KAAKoL,GACvV,SAAS21J,GAAGv8J,EAAE0mB,EAAE9f,GAAM,WAAW8f,GAAGo1I,EAAG97J,EAAEw1C,iBAAiBx1C,IAAE,MAAM4G,EAAE5G,EAAEwJ,aAAa,GAAGxJ,EAAEg8J,cAAcG,aAAan8J,EAAEwJ,eAAe,GAAG5C,IAAI5G,EAAEwJ,aAAa,GAAG5C,IAAwF,SAAS41J,GAAGx8J,EAAE0mB,GAA6D,OAA1D1mB,EAAEG,EAAE,CAACqlC,cAAS,GAAQ9e,IAAMA,EAAlI,SAAY1mB,GAAG,IAAI0mB,EAAE,GAAuD,OAApD+wI,EAAGgF,SAAShgK,QAAQuD,GAAE,SAASA,GAAG,MAAMA,IAAI0mB,GAAG1mB,MAAY0mB,EAAiDg2I,CAAGh2I,EAAE8e,aAAUxlC,EAAEwlC,SAAS9e,GAAS1mB,EACvU,SAAS28J,GAAG38J,EAAE0mB,EAAE9f,EAAEysE,GAAe,GAAZrzE,EAAEA,EAAEzC,QAAWmpB,EAAE,CAACA,EAAE,GAAG,IAAI,IAAI3jB,EAAE,EAAEA,EAAE6D,EAAEhO,OAAOmK,IAAI2jB,EAAE,IAAI9f,EAAE7D,KAAI,EAAG,IAAI6D,EAAE,EAAEA,EAAE5G,EAAEpH,OAAOgO,IAAI7D,EAAE2jB,EAAE7lB,eAAe,IAAIb,EAAE4G,GAAGzM,OAAO6F,EAAE4G,GAAGg2J,WAAW75J,IAAI/C,EAAE4G,GAAGg2J,SAAS75J,GAAGA,GAAGswE,IAAIrzE,EAAE4G,GAAGi2J,iBAAgB,OAAQ,CAAmB,IAAlBj2J,EAAE,GAAGy0J,EAAGz0J,GAAG8f,EAAE,KAAS3jB,EAAE,EAAEA,EAAE/C,EAAEpH,OAAOmK,IAAI,CAAC,GAAG/C,EAAE+C,GAAG5I,QAAQyM,EAAiD,OAA9C5G,EAAE+C,GAAG65J,UAAS,OAAGvpF,IAAIrzE,EAAE+C,GAAG85J,iBAAgB,IAAW,OAAOn2I,GAAG1mB,EAAE+C,GAAGmuC,WAAWxqB,EAAE1mB,EAAE+C,IAAI,OAAO2jB,IAAIA,EAAEk2I,UAAS,IACpY,SAASE,GAAG98J,EAAE0mB,GAAG,GAAG,MAAMA,EAAEq2I,wBAAwB,MAAMlhJ,MAAMu7C,EAAE,KAAK,OAAOj3D,EAAE,GAAGumB,EAAE,CAACvsB,WAAM,EAAOqP,kBAAa,EAAOg8B,SAAS,GAAGxlC,EAAEg8J,cAAcG,eAAe,SAASa,GAAGh9J,EAAE0mB,GAAG,IAAI9f,EAAE8f,EAAEvsB,MAAM,GAAG,MAAMyM,EAAE,CAA+B,GAA9BA,EAAE8f,EAAE8e,SAAS9e,EAAEA,EAAEld,aAAgB,MAAM5C,EAAE,CAAC,GAAG,MAAM8f,EAAE,MAAM7K,MAAMu7C,EAAE,KAAK,GAAGz8D,MAAMC,QAAQgM,GAAG,CAAC,KAAK,GAAGA,EAAEhO,QAAQ,MAAMijB,MAAMu7C,EAAE,KAAKxwD,EAAEA,EAAE,GAAG8f,EAAE9f,EAAE,MAAM8f,IAAIA,EAAE,IAAI9f,EAAE8f,EAAE1mB,EAAEg8J,cAAc,CAACG,aAAad,EAAGz0J,IAC/Y,SAASq2J,GAAGj9J,EAAE0mB,GAAG,IAAI9f,EAAEy0J,EAAG30I,EAAEvsB,OAAOk5E,EAAEgoF,EAAG30I,EAAEld,cAAc,MAAM5C,KAAIA,EAAE,GAAGA,KAAM5G,EAAE7F,QAAQ6F,EAAE7F,MAAMyM,GAAG,MAAM8f,EAAEld,cAAcxJ,EAAEwJ,eAAe5C,IAAI5G,EAAEwJ,aAAa5C,IAAI,MAAMysE,IAAIrzE,EAAEwJ,aAAa,GAAG6pE,GAAG,SAAS6pF,GAAGl9J,GAAG,IAAI0mB,EAAE1mB,EAAEm9J,YAAYz2I,IAAI1mB,EAAEg8J,cAAcG,cAAc,KAAKz1I,GAAG,OAAOA,IAAI1mB,EAAE7F,MAAMusB,GAAG,IAAI02I,GAAS,+BAATA,GAAwF,6BAC9X,SAASC,GAAGr9J,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,gCAAgC,SAASs9J,GAAGt9J,EAAE0mB,GAAG,OAAO,MAAM1mB,GAAG,iCAAiCA,EAAEq9J,GAAG32I,GAAG,+BAA+B1mB,GAAG,kBAAkB0mB,EAAE,+BAA+B1mB,EAC3U,IAAIuL,GAAevL,GAAZu9J,IAAYv9J,GAAsJ,SAASA,EAAE0mB,GAAG,GAAG1mB,EAAEw9J,eAAeJ,IAAQ,cAAcp9J,EAAEA,EAAEy9J,UAAU/2I,MAAM,CAA2F,KAA1Fnb,GAAGA,IAAIkW,SAASC,cAAc,QAAU+7I,UAAU,QAAQ/2I,EAAE5jB,UAAUxH,WAAW,SAAaorB,EAAEnb,GAAGmyJ,WAAW19J,EAAE09J,YAAY19J,EAAEgiB,YAAYhiB,EAAE09J,YAAY,KAAKh3I,EAAEg3I,YAAY19J,EAAE6hB,YAAY6E,EAAEg3I,cAArZ,qBAAqBC,OAAOA,MAAMC,wBAAwB,SAASl3I,EAAE9f,EAAEysE,EAAEtwE,GAAG46J,MAAMC,yBAAwB,WAAW,OAAO59J,GAAE0mB,EAAE9f,OAAU5G,IACtK,SAAS69J,GAAG79J,EAAE0mB,GAAG,GAAGA,EAAE,CAAC,IAAI9f,EAAE5G,EAAE09J,WAAW,GAAG92J,GAAGA,IAAI5G,EAAE89J,WAAW,IAAIl3J,EAAEwjD,SAAwB,YAAdxjD,EAAEm3J,UAAUr3I,GAAU1mB,EAAEm9J,YAAYz2I,EACrH,IAAIs3I,GAAG,CAACC,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGC,YAAW,EAAGC,WAAU,EAAGC,YAAW,EAAG/kF,SAAQ,EAAGp4B,OAAM,EAAGo9G,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAAGC,MAAK,EAAGC,aAAY,EAC1fC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAG9rF,kBAAiB,EAAG+rF,eAAc,EAAG1sF,aAAY,GAAI2sF,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAGxgK,EAAE0mB,EAAE9f,GAAG,OAAO,MAAM8f,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAG9f,GAAG,kBAAkB8f,GAAG,IAAIA,GAAGs3I,GAAGn9J,eAAeb,IAAIg+J,GAAGh+J,IAAI,GAAG0mB,GAAGhT,OAAOgT,EAAE,KAC9Z,SAAS+5I,GAAGzgK,EAAE0mB,GAAa,IAAI,IAAI9f,KAAlB5G,EAAEA,EAAE+V,MAAmB2Q,EAAE,GAAGA,EAAE7lB,eAAe+F,GAAG,CAAC,IAAIysE,EAAE,IAAIzsE,EAAEpG,QAAQ,MAAMuC,EAAEy9J,GAAG55J,EAAE8f,EAAE9f,GAAGysE,GAAG,UAAUzsE,IAAIA,EAAE,YAAYysE,EAAErzE,EAAE0gK,YAAY95J,EAAE7D,GAAG/C,EAAE4G,GAAG7D,GADT9J,OAAO6C,KAAKkiK,IAAIvhK,SAAQ,SAASuD,GAAGugK,GAAG9jK,SAAQ,SAASiqB,GAAGA,EAAEA,EAAE1mB,EAAE6N,OAAO,GAAGC,cAAc9N,EAAEkH,UAAU,GAAG82J,GAAGt3I,GAAGs3I,GAAGh+J,SACrG,IAAI2gK,GAAGxgK,EAAE,CAACygK,UAAS,GAAI,CAACC,MAAK,EAAGhyG,MAAK,EAAGiyG,IAAG,EAAGlO,KAAI,EAAGmO,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAGjzH,OAAM,EAAGkzH,QAAO,EAAGxzE,MAAK,EAAGjmD,MAAK,EAAG2R,OAAM,EAAG58C,QAAO,EAAGy3H,OAAM,EAAGktC,KAAI,IAClT,SAASC,GAAGphK,EAAE0mB,GAAG,GAAGA,EAAE,CAAC,GAAGi6I,GAAG3gK,KAAK,MAAM0mB,EAAE8e,UAAU,MAAM9e,EAAEq2I,yBAAyB,MAAMlhJ,MAAMu7C,EAAE,IAAIp3D,IAAI,GAAG,MAAM0mB,EAAEq2I,wBAAwB,CAAC,GAAG,MAAMr2I,EAAE8e,SAAS,MAAM3pB,MAAMu7C,EAAE,KAAK,GAAK,kBAAkB1wC,EAAEq2I,2BAAyB,WAAWr2I,EAAEq2I,yBAAyB,MAAMlhJ,MAAMu7C,EAAE,KAAM,GAAG,MAAM1wC,EAAE3Q,OAAO,kBAAkB2Q,EAAE3Q,MAAM,MAAM8F,MAAMu7C,EAAE,MAC5V,SAASiqG,GAAGrhK,EAAE0mB,GAAG,IAAI,IAAI1mB,EAAEQ,QAAQ,KAAK,MAAM,kBAAkBkmB,EAAE46I,GAAG,OAAOthK,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,GAAI,SAASuhK,GAAGvhK,GAA6F,OAA1FA,EAAEA,EAAEvH,QAAQuH,EAAEwhK,YAAYx/J,QAASy/J,0BAA0BzhK,EAAEA,EAAEyhK,yBAAgC,IAAIzhK,EAAEoqD,SAASpqD,EAAE63D,WAAW73D,EAAE,IAAI0hK,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACxb,SAASC,GAAG7hK,GAAG,GAAGA,EAAE8hK,GAAG9hK,GAAG,CAAC,GAAG,oBAAoB0hK,GAAG,MAAM7lJ,MAAMu7C,EAAE,MAAM,IAAI1wC,EAAE1mB,EAAE+hK,UAAUr7I,IAAIA,EAAEs7I,GAAGt7I,GAAGg7I,GAAG1hK,EAAE+hK,UAAU/hK,EAAEnD,KAAK6pB,KAAK,SAASu7I,GAAGjiK,GAAG2hK,GAAGC,GAAGA,GAAGxlK,KAAK4D,GAAG4hK,GAAG,CAAC5hK,GAAG2hK,GAAG3hK,EAAE,SAASkiK,KAAK,GAAGP,GAAG,CAAC,IAAI3hK,EAAE2hK,GAAGj7I,EAAEk7I,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAG7hK,GAAM0mB,EAAE,IAAI1mB,EAAE,EAAEA,EAAE0mB,EAAE9tB,OAAOoH,IAAI6hK,GAAGn7I,EAAE1mB,KAAK,SAASmiK,GAAGniK,EAAE0mB,GAAG,OAAO1mB,EAAE0mB,GAAG,SAAS07I,GAAGpiK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,OAAO/C,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,SAASs/J,MAAM,IAAIC,GAAGH,GAAGI,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAQ,OAAOd,IAAI,OAAOC,KAAGS,KAAKH,MAE9Z,SAASQ,GAAG1iK,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAE+hK,UAAU,GAAG,OAAOn7J,EAAE,OAAO,KAAK,IAAIysE,EAAE2uF,GAAGp7J,GAAG,GAAG,OAAOysE,EAAE,OAAO,KAAKzsE,EAAEysE,EAAE3sD,GAAG1mB,EAAE,OAAO0mB,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgB2sD,GAAGA,EAAEniC,YAAqBmiC,IAAI,YAAbrzE,EAAEA,EAAEnD,OAAuB,UAAUmD,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGqzE,EAAE,MAAMrzE,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAG4G,GAAG,oBACleA,EAAE,MAAMiV,MAAMu7C,EAAE,IAAI1wC,SAAS9f,IAAI,OAAOA,EAAE,IAAI+7J,IAAG,EAAG,GAAG7K,EAAG,IAAI,IAAI8K,GAAG,GAAG3pK,OAAOC,eAAe0pK,GAAG,UAAU,CAACzpJ,IAAI,WAAWwpJ,IAAG,KAAM3gK,OAAOg3B,iBAAiB,OAAO4pI,GAAGA,IAAI5gK,OAAOm1B,oBAAoB,OAAOyrI,GAAGA,IAAI,MAAM5iK,IAAG2iK,IAAG,EAAG,SAASE,GAAG7iK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,EAAEykJ,EAAEvrI,EAAE/rB,GAAG,IAAI3B,EAAExE,MAAMxC,UAAUoD,MAAMlB,KAAKkC,UAAU,GAAG,IAAImqB,EAAErqB,MAAMuK,EAAEzH,GAAG,MAAM9D,GAAG2B,KAAK8lK,QAAQznK,IAAI,IAAI0nK,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAAS9iK,GAAG+iK,IAAG,EAAGC,GAAGhjK,IAAI,SAASojK,GAAGpjK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,EAAEykJ,EAAEvrI,EAAE/rB,GAAGiiK,IAAG,EAAGC,GAAG,KAAKH,GAAGxmK,MAAM8mK,GAAG5mK,WACvV,SAAS8mK,GAAGrjK,GAAG,IAAI0mB,EAAE1mB,EAAE4G,EAAE5G,EAAE,GAAGA,EAAEsjK,UAAU,KAAK58I,EAAE68I,QAAQ78I,EAAEA,EAAE68I,WAAW,CAACvjK,EAAE0mB,EAAE,GAAO,KAAa,MAAjBA,EAAE1mB,GAASgiG,SAAcp7F,EAAE8f,EAAE68I,QAAQvjK,EAAE0mB,EAAE68I,aAAavjK,GAAG,OAAO,IAAI0mB,EAAEq0I,IAAIn0J,EAAE,KAAK,SAAS48J,GAAGxjK,GAAG,GAAG,KAAKA,EAAE+6J,IAAI,CAAC,IAAIr0I,EAAE1mB,EAAEyjK,cAAsE,GAAxD,OAAO/8I,IAAkB,QAAd1mB,EAAEA,EAAEsjK,aAAqB58I,EAAE1mB,EAAEyjK,gBAAmB,OAAO/8I,EAAE,OAAOA,EAAEg9I,WAAW,OAAO,KAAK,SAASC,GAAG3jK,GAAG,GAAGqjK,GAAGrjK,KAAKA,EAAE,MAAM6b,MAAMu7C,EAAE,MAEpS,SAASwsG,GAAG5jK,GAAW,GAARA,EADtN,SAAYA,GAAG,IAAI0mB,EAAE1mB,EAAEsjK,UAAU,IAAI58I,EAAE,CAAS,GAAG,QAAXA,EAAE28I,GAAGrjK,IAAe,MAAM6b,MAAMu7C,EAAE,MAAM,OAAO1wC,IAAI1mB,EAAE,KAAKA,EAAE,IAAI,IAAI4G,EAAE5G,EAAEqzE,EAAE3sD,IAAI,CAAC,IAAI3jB,EAAE6D,EAAE28J,OAAO,GAAG,OAAOxgK,EAAE,MAAM,IAAI4Q,EAAE5Q,EAAEugK,UAAU,GAAG,OAAO3vJ,EAAE,CAAY,GAAG,QAAd0/D,EAAEtwE,EAAEwgK,QAAmB,CAAC38J,EAAEysE,EAAE,SAAS,MAAM,GAAGtwE,EAAE29C,QAAQ/sC,EAAE+sC,MAAM,CAAC,IAAI/sC,EAAE5Q,EAAE29C,MAAM/sC,GAAG,CAAC,GAAGA,IAAI/M,EAAE,OAAO+8J,GAAG5gK,GAAG/C,EAAE,GAAG2T,IAAI0/D,EAAE,OAAOswF,GAAG5gK,GAAG2jB,EAAE/S,EAAEA,EAAEkwJ,QAAQ,MAAMhoJ,MAAMu7C,EAAE,MAAO,GAAGxwD,EAAE28J,SAASlwF,EAAEkwF,OAAO38J,EAAE7D,EAAEswE,EAAE1/D,MAAM,CAAC,IAAI,IAAIykJ,GAAE,EAAGvrI,EAAE9pB,EAAE29C,MAAM7zB,GAAG,CAAC,GAAGA,IAAIjmB,EAAE,CAACwxJ,GAAE,EAAGxxJ,EAAE7D,EAAEswE,EAAE1/D,EAAE,MAAM,GAAGkZ,IAAIwmD,EAAE,CAAC+kF,GAAE,EAAG/kF,EAAEtwE,EAAE6D,EAAE+M,EAAE,MAAMkZ,EAAEA,EAAEg3I,QAAQ,IAAIzL,EAAE,CAAC,IAAIvrI,EAAElZ,EAAE+sC,MAAM7zB,GAAG,CAAC,GAAGA,IAC5fjmB,EAAE,CAACwxJ,GAAE,EAAGxxJ,EAAE+M,EAAE0/D,EAAEtwE,EAAE,MAAM,GAAG8pB,IAAIwmD,EAAE,CAAC+kF,GAAE,EAAG/kF,EAAE1/D,EAAE/M,EAAE7D,EAAE,MAAM8pB,EAAEA,EAAEg3I,QAAQ,IAAIzL,EAAE,MAAMv8I,MAAMu7C,EAAE,OAAQ,GAAGxwD,EAAE08J,YAAYjwF,EAAE,MAAMx3D,MAAMu7C,EAAE,MAAO,GAAG,IAAIxwD,EAAEm0J,IAAI,MAAMl/I,MAAMu7C,EAAE,MAAM,OAAOxwD,EAAEm7J,UAAUx+J,UAAUqD,EAAE5G,EAAE0mB,EAAmBo9I,CAAG9jK,IAAOA,EAAE,OAAO,KAAK,IAAI,IAAI0mB,EAAE1mB,IAAI,CAAC,GAAG,IAAI0mB,EAAEq0I,KAAK,IAAIr0I,EAAEq0I,IAAI,OAAOr0I,EAAE,GAAGA,EAAEg6B,MAAMh6B,EAAEg6B,MAAM6iH,OAAO78I,EAAEA,EAAEA,EAAEg6B,UAAU,CAAC,GAAGh6B,IAAI1mB,EAAE,MAAM,MAAM0mB,EAAEm9I,SAAS,CAAC,IAAIn9I,EAAE68I,QAAQ78I,EAAE68I,SAASvjK,EAAE,OAAO,KAAK0mB,EAAEA,EAAE68I,OAAO78I,EAAEm9I,QAAQN,OAAO78I,EAAE68I,OAAO78I,EAAEA,EAAEm9I,SAAS,OAAO,KAC5c,SAASE,GAAG/jK,EAAE0mB,GAAG,IAAI,IAAI9f,EAAE5G,EAAEsjK,UAAU,OAAO58I,GAAG,CAAC,GAAGA,IAAI1mB,GAAG0mB,IAAI9f,EAAE,OAAM,EAAG8f,EAAEA,EAAE68I,OAAO,OAAM,EAAG,IAAIS,GAAG90J,GAAG+0J,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAI9uG,IAAI+uG,GAAG,IAAI/uG,IAAIgvG,GAAG,GAAGC,GAAG,6PAA6P1lK,MAAM,KACrb,SAAS2lK,GAAG5kK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,MAAM,CAAC8hK,UAAU7kK,EAAE8kK,aAAap+I,EAAEq+I,iBAAmB,GAAFn+J,EAAKi2F,YAAY95F,EAAEiiK,iBAAiB,CAAC3xF,IAAI,SAAS4xF,GAAGjlK,EAAE0mB,GAAG,OAAO1mB,GAAG,IAAK,UAAU,IAAK,WAAWqkK,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAGU,OAAOx+I,EAAEy+I,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBV,GAAGS,OAAOx+I,EAAEy+I,YAC3Z,SAASC,GAAGplK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAG,OAAG,OAAO3T,GAAGA,EAAE68F,cAAclpF,GAAS3T,EAAE4kK,GAAGl+I,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAG,OAAO+S,IAAY,QAARA,EAAEo7I,GAAGp7I,KAAaxX,GAAGwX,IAAI1mB,IAAEA,EAAE+kK,kBAAkB1xF,EAAE3sD,EAAE1mB,EAAEglK,iBAAiB,OAAOjiK,IAAI,IAAI2jB,EAAElmB,QAAQuC,IAAI2jB,EAAEtqB,KAAK2G,GAAU/C,GAE9M,SAASqlK,GAAGrlK,GAAG,IAAI0mB,EAAE4+I,GAAGtlK,EAAEvH,QAAQ,GAAG,OAAOiuB,EAAE,CAAC,IAAI9f,EAAEy8J,GAAG38I,GAAG,GAAG,OAAO9f,EAAE,GAAW,MAAR8f,EAAE9f,EAAEm0J,MAAY,GAAW,QAARr0I,EAAE88I,GAAG58J,IAAmH,OAAtG5G,EAAE6kK,UAAUn+I,OAAEw9I,GAAGlkK,EAAEulK,cAAa,WAAW1+J,EAAE2+J,yBAAyBxlK,EAAEkpI,UAAS,WAAW+6B,GAAGr9J,cAAoB,GAAG,IAAI8f,GAAG9f,EAAEm7J,UAAU0D,QAA8D,YAArDzlK,EAAE6kK,UAAU,IAAIj+J,EAAEm0J,IAAIn0J,EAAEm7J,UAAU2D,cAAc,MAAa1lK,EAAE6kK,UAAU,KAC1U,SAASc,GAAG3lK,GAAG,GAAG,OAAOA,EAAE6kK,UAAU,OAAM,EAAG,IAAI,IAAIn+I,EAAE1mB,EAAEglK,iBAAiB,EAAEt+I,EAAE9tB,QAAQ,CAAC,IAAIgO,EAAEg/J,GAAG5lK,EAAE8kK,aAAa9kK,EAAE+kK,iBAAiBr+I,EAAE,GAAG1mB,EAAE68F,aAAa,GAAG,OAAOj2F,EAAE,OAAe,QAAR8f,EAAEo7I,GAAGl7J,KAAasI,GAAGwX,GAAG1mB,EAAE6kK,UAAUj+J,GAAE,EAAG8f,EAAE9lB,QAAQ,OAAM,EAAG,SAASilK,GAAG7lK,EAAE0mB,EAAE9f,GAAG++J,GAAG3lK,IAAI4G,EAAEs+J,OAAOx+I,GACzQ,SAASo/I,KAAK,IAAI3B,IAAG,EAAG,EAAEC,GAAGxrK,QAAQ,CAAC,IAAIoH,EAAEokK,GAAG,GAAG,GAAG,OAAOpkK,EAAE6kK,UAAU,CAAmB,QAAlB7kK,EAAE8hK,GAAG9hK,EAAE6kK,aAAqBb,GAAGhkK,GAAG,MAAM,IAAI,IAAI0mB,EAAE1mB,EAAEglK,iBAAiB,EAAEt+I,EAAE9tB,QAAQ,CAAC,IAAIgO,EAAEg/J,GAAG5lK,EAAE8kK,aAAa9kK,EAAE+kK,iBAAiBr+I,EAAE,GAAG1mB,EAAE68F,aAAa,GAAG,OAAOj2F,EAAE,CAAC5G,EAAE6kK,UAAUj+J,EAAE,MAAM8f,EAAE9lB,QAAQ,OAAOZ,EAAE6kK,WAAWT,GAAGxjK,QAAQ,OAAOyjK,IAAIsB,GAAGtB,MAAMA,GAAG,MAAM,OAAOC,IAAIqB,GAAGrB,MAAMA,GAAG,MAAM,OAAOC,IAAIoB,GAAGpB,MAAMA,GAAG,MAAMC,GAAG/nK,QAAQopK,IAAIpB,GAAGhoK,QAAQopK,IACrZ,SAASE,GAAG/lK,EAAE0mB,GAAG1mB,EAAE6kK,YAAYn+I,IAAI1mB,EAAE6kK,UAAU,KAAKV,KAAKA,IAAG,EAAGt9J,EAAEm/J,0BAA0Bn/J,EAAEo/J,wBAAwBH,MACrH,SAASI,GAAGlmK,GAAG,SAAS0mB,EAAEA,GAAG,OAAOq/I,GAAGr/I,EAAE1mB,GAAG,GAAG,EAAEokK,GAAGxrK,OAAO,CAACmtK,GAAG3B,GAAG,GAAGpkK,GAAG,IAAI,IAAI4G,EAAE,EAAEA,EAAEw9J,GAAGxrK,OAAOgO,IAAI,CAAC,IAAIysE,EAAE+wF,GAAGx9J,GAAGysE,EAAEwxF,YAAY7kK,IAAIqzE,EAAEwxF,UAAU,OAA+F,IAAxF,OAAOR,IAAI0B,GAAG1B,GAAGrkK,GAAG,OAAOskK,IAAIyB,GAAGzB,GAAGtkK,GAAG,OAAOukK,IAAIwB,GAAGxB,GAAGvkK,GAAGwkK,GAAG/nK,QAAQiqB,GAAG+9I,GAAGhoK,QAAQiqB,GAAO9f,EAAE,EAAEA,EAAE89J,GAAG9rK,OAAOgO,KAAIysE,EAAEqxF,GAAG99J,IAAKi+J,YAAY7kK,IAAIqzE,EAAEwxF,UAAU,MAAM,KAAK,EAAEH,GAAG9rK,QAAiB,QAARgO,EAAE89J,GAAG,IAAYG,WAAYQ,GAAGz+J,GAAG,OAAOA,EAAEi+J,WAAWH,GAAG9jK,QAC/X,SAASulK,GAAGnmK,EAAE0mB,GAAG,IAAI9f,EAAE,GAAkF,OAA/EA,EAAE5G,EAAE+H,eAAe2e,EAAE3e,cAAcnB,EAAE,SAAS5G,GAAG,SAAS0mB,EAAE9f,EAAE,MAAM5G,GAAG,MAAM0mB,EAAS9f,EAAE,IAAIw/J,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,GAAGC,GAAG,GACnF,SAASC,GAAG3mK,GAAG,GAAGymK,GAAGzmK,GAAG,OAAOymK,GAAGzmK,GAAG,IAAIomK,GAAGpmK,GAAG,OAAOA,EAAE,IAAY4G,EAAR8f,EAAE0/I,GAAGpmK,GAAK,IAAI4G,KAAK8f,EAAE,GAAGA,EAAE7lB,eAAe+F,IAAIA,KAAK8/J,GAAG,OAAOD,GAAGzmK,GAAG0mB,EAAE9f,GAAG,OAAO5G,EAA9X83J,IAAK4O,GAAGjlJ,SAASC,cAAc,OAAO3L,MAAM,mBAAmB/T,gBAAgBokK,GAAGC,aAAa/hH,iBAAiB8hH,GAAGE,mBAAmBhiH,iBAAiB8hH,GAAGG,eAAejiH,WAAW,oBAAoBtiD,eAAeokK,GAAGI,cAAcprH,YACxO,IAAIwrH,GAAGD,GAAG,gBAAgBE,GAAGF,GAAG,sBAAsBG,GAAGH,GAAG,kBAAkBI,GAAGJ,GAAG,iBAAiBK,GAAG,IAAItxG,IAAIuxG,GAAG,IAAIvxG,IAAIwxG,GAAG,CAAC,QAAQ,QAAQN,GAAG,eAAeC,GAAG,qBAAqBC,GAAG,iBAAiB,UAAU,UAAU,iBAAiB,iBAAiB,iBAAiB,iBAAiB,UAAU,UAAU,YAAY,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,oBAAoB,oBAAoB,OAAO,OAAO,aAAa,aAAa,iBAAiB,iBAAiB,YAAY,YAC/e,qBAAqB,qBAAqB,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,aAAa,aAAaC,GAAG,gBAAgB,UAAU,WAAW,SAASI,GAAGnnK,EAAE0mB,GAAG,IAAI,IAAI9f,EAAE,EAAEA,EAAE5G,EAAEpH,OAAOgO,GAAG,EAAE,CAAC,IAAIysE,EAAErzE,EAAE4G,GAAG7D,EAAE/C,EAAE4G,EAAE,GAAG7D,EAAE,MAAMA,EAAE,GAAG+K,cAAc/K,EAAExH,MAAM,IAAI0rK,GAAGh3J,IAAIojE,EAAE3sD,GAAGsgJ,GAAG/2J,IAAIojE,EAAEtwE,GAAG60J,EAAG70J,EAAE,CAACswE,MAA2B+zF,EAAfvgK,EAAEwgK,gBAAkB,IAAIhjI,GAAE,EAC/X,SAASijI,GAAGtnK,GAAG,GAAG,KAAK,EAAEA,GAAG,OAAOqkC,GAAE,GAAG,EAAE,GAAG,KAAK,EAAErkC,GAAG,OAAOqkC,GAAE,GAAG,EAAE,GAAG,KAAK,EAAErkC,GAAG,OAAOqkC,GAAE,GAAG,EAAE,IAAI3d,EAAE,GAAG1mB,EAAE,OAAG,IAAI0mB,GAAS2d,GAAE,GAAG3d,GAAK,KAAO,GAAF1mB,IAAaqkC,GAAE,GAAG,IAAc,KAAX3d,EAAE,IAAI1mB,IAAkBqkC,GAAE,GAAG3d,GAAK,KAAO,IAAF1mB,IAAcqkC,GAAE,EAAE,KAAgB,KAAZ3d,EAAE,KAAK1mB,IAAkBqkC,GAAE,EAAE3d,GAAK,KAAO,KAAF1mB,IAAeqkC,GAAE,EAAE,MAAoB,KAAf3d,EAAE,QAAQ1mB,IAAkBqkC,GAAE,EAAE3d,GAAkB,KAAhBA,EAAE,SAAS1mB,IAAkBqkC,GAAE,EAAE3d,GAAO,SAAF1mB,GAAkBqkC,GAAE,EAAE,UAAY,KAAO,UAAFrkC,IAAoBqkC,GAAE,EAAE,WAA2B,KAAjB3d,EAAE,UAAU1mB,IAAkBqkC,GAAE,EAAE3d,GAAK,KAAK,WAAW1mB,IAAUqkC,GAAE,EAAE,aACjfA,GAAE,EAASrkC,GACX,SAASunK,GAAGvnK,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAEwnK,aAAa,GAAG,IAAI5gK,EAAE,OAAOy9B,GAAE,EAAE,IAAIgvC,EAAE,EAAEtwE,EAAE,EAAE4Q,EAAE3T,EAAEynK,aAAarP,EAAEp4J,EAAE0nK,eAAe76I,EAAE7sB,EAAE2nK,YAAY,GAAG,IAAIh0J,EAAE0/D,EAAE1/D,EAAE5Q,EAAEshC,GAAE,QAAQ,GAAiB,KAAd1wB,EAAI,UAAF/M,GAAkB,CAAC,IAAI9F,EAAE6S,GAAGykJ,EAAE,IAAIt3J,GAAGuyE,EAAEi0F,GAAGxmK,GAAGiC,EAAEshC,IAAS,KAALxX,GAAGlZ,KAAU0/D,EAAEi0F,GAAGz6I,GAAG9pB,EAAEshC,SAAgB,KAAP1wB,EAAE/M,GAAGwxJ,IAAS/kF,EAAEi0F,GAAG3zJ,GAAG5Q,EAAEshC,IAAG,IAAIxX,IAAIwmD,EAAEi0F,GAAGz6I,GAAG9pB,EAAEshC,IAAG,GAAG,IAAIgvC,EAAE,OAAO,EAAqC,GAAxBA,EAAEzsE,IAAI,GAAjBysE,EAAE,GAAGu0F,GAAGv0F,IAAa,EAAE,GAAGA,IAAI,GAAG,EAAK,IAAI3sD,GAAGA,IAAI2sD,GAAG,KAAK3sD,EAAE0xI,GAAG,CAAO,GAANkP,GAAG5gJ,GAAM3jB,GAAGshC,GAAE,OAAO3d,EAAE2d,GAAEthC,EAAqB,GAAG,KAAtB2jB,EAAE1mB,EAAE6nK,gBAAwB,IAAI7nK,EAAEA,EAAE8nK,cAAcphJ,GAAG2sD,EAAE,EAAE3sD,GAAc3jB,EAAE,IAAb6D,EAAE,GAAGghK,GAAGlhJ,IAAU2sD,GAAGrzE,EAAE4G,GAAG8f,IAAI3jB,EAAE,OAAOswE,EAC1e,SAAS00F,GAAG/nK,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEwnK,cAAsCxnK,EAAI,WAAFA,EAAa,WAAW,EAAE,SAASgoK,GAAGhoK,EAAE0mB,GAAG,OAAO1mB,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAmB,KAAZA,EAAEioK,GAAG,IAAIvhJ,IAASshJ,GAAG,GAAGthJ,GAAG1mB,EAAE,KAAK,GAAG,OAAoB,KAAbA,EAAEioK,GAAG,KAAKvhJ,IAASshJ,GAAG,EAAEthJ,GAAG1mB,EAAE,KAAK,EAAE,OAAqB,KAAdA,EAAEioK,GAAG,MAAMvhJ,MAA4B,KAAjB1mB,EAAEioK,GAAG,SAASvhJ,MAAW1mB,EAAE,MAAMA,EAAE,KAAK,EAAE,OAA0B,KAAnB0mB,EAAEuhJ,GAAG,WAAWvhJ,MAAWA,EAAE,WAAWA,EAAE,MAAM7K,MAAMu7C,EAAE,IAAIp3D,IAAK,SAASioK,GAAGjoK,GAAG,OAAOA,GAAGA,EAAE,SAASkoK,GAAGloK,GAAG,IAAI,IAAI0mB,EAAE,GAAG9f,EAAE,EAAE,GAAGA,EAAEA,IAAI8f,EAAEtqB,KAAK4D,GAAG,OAAO0mB,EACrd,SAASyhJ,GAAGnoK,EAAE0mB,EAAE9f,GAAG5G,EAAEwnK,cAAc9gJ,EAAE,IAAI2sD,EAAE3sD,EAAE,EAAE1mB,EAAE0nK,gBAAgBr0F,EAAErzE,EAAE2nK,aAAat0F,GAAErzE,EAAEA,EAAEooK,YAAW1hJ,EAAE,GAAGkhJ,GAAGlhJ,IAAQ9f,EAAE,IAAIghK,GAAGr2J,KAAK82J,MAAM92J,KAAK82J,MAAiC,SAAYroK,GAAG,OAAO,IAAIA,EAAE,GAAG,IAAIsoK,GAAGtoK,GAAGuoK,GAAG,GAAG,GAAvED,GAAG/2J,KAAKzU,IAAIyrK,GAAGh3J,KAAKi3J,IAAqD,IAAInhE,GAAGxgG,EAAE4hK,8BAA8BC,GAAG7hK,EAAE2+J,yBAAyBp9D,IAAG,EAAG,SAASugE,GAAG3oK,EAAE0mB,EAAE9f,EAAEysE,GAAGkvF,IAAIF,KAAK,IAAIt/J,EAAE6lK,GAAGj1J,EAAE4uJ,GAAGA,IAAG,EAAG,IAAIH,GAAGr/J,EAAE/C,EAAE0mB,EAAE9f,EAAEysE,GAAG,SAASkvF,GAAG5uJ,IAAI8uJ,MAAM,SAAS71I,GAAG5sB,EAAE0mB,EAAE9f,EAAEysE,GAAGq1F,GAAGrhE,GAAGuhE,GAAGzuJ,KAAK,KAAKna,EAAE0mB,EAAE9f,EAAEysE,IACjb,SAASu1F,GAAG5oK,EAAE0mB,EAAE9f,EAAEysE,GAAU,IAAItwE,EAAX,GAAGqlG,GAAU,IAAIrlG,EAAE,KAAO,EAAF2jB,KAAO,EAAE09I,GAAGxrK,SAAS,EAAE+rK,GAAGnkK,QAAQR,GAAGA,EAAE4kK,GAAG,KAAK5kK,EAAE0mB,EAAE9f,EAAEysE,GAAG+wF,GAAGhoK,KAAK4D,OAAO,CAAC,IAAI2T,EAAEiyJ,GAAG5lK,EAAE0mB,EAAE9f,EAAEysE,GAAG,GAAG,OAAO1/D,EAAE5Q,GAAGkiK,GAAGjlK,EAAEqzE,OAAO,CAAC,GAAGtwE,EAAE,CAAC,IAAI,EAAE4hK,GAAGnkK,QAAQR,GAA+B,OAA3BA,EAAE4kK,GAAGjxJ,EAAE3T,EAAE0mB,EAAE9f,EAAEysE,QAAG+wF,GAAGhoK,KAAK4D,GAAU,GAfhO,SAAYA,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,OAAO2jB,GAAG,IAAK,UAAU,OAAO29I,GAAGe,GAAGf,GAAGrkK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,IAAG,EAAG,IAAK,YAAY,OAAOuhK,GAAGc,GAAGd,GAAGtkK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,IAAG,EAAG,IAAK,YAAY,OAAOwhK,GAAGa,GAAGb,GAAGvkK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,IAAG,EAAG,IAAK,cAAc,IAAI4Q,EAAE5Q,EAAEoiK,UAAkD,OAAxCX,GAAGv0J,IAAI0D,EAAEyxJ,GAAGZ,GAAGrrJ,IAAIxF,IAAI,KAAK3T,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,KAAU,EAAG,IAAK,oBAAoB,OAAO4Q,EAAE5Q,EAAEoiK,UAAUV,GAAGx0J,IAAI0D,EAAEyxJ,GAAGX,GAAGtrJ,IAAIxF,IAAI,KAAK3T,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,KAAI,EAAG,OAAM,EAe9H8lK,CAAGl1J,EAAE3T,EAAE0mB,EAAE9f,EAAEysE,GAAG,OAAO4xF,GAAGjlK,EAAEqzE,GAAGy1F,GAAG9oK,EAAE0mB,EAAE2sD,EAAE,KAAKzsE,KAC9Q,SAASg/J,GAAG5lK,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAEw+J,GAAGluF,GAAW,GAAG,QAAXtwE,EAAEuiK,GAAGviK,IAAe,CAAC,IAAI4Q,EAAE0vJ,GAAGtgK,GAAG,GAAG,OAAO4Q,EAAE5Q,EAAE,SAAS,CAAC,IAAIq1J,EAAEzkJ,EAAEonJ,IAAI,GAAG,KAAK3C,EAAE,CAAS,GAAG,QAAXr1J,EAAEygK,GAAG7vJ,IAAe,OAAO5Q,EAAEA,EAAE,UAAU,GAAG,IAAIq1J,EAAE,CAAC,GAAGzkJ,EAAEouJ,UAAU0D,QAAQ,OAAO,IAAI9xJ,EAAEonJ,IAAIpnJ,EAAEouJ,UAAU2D,cAAc,KAAK3iK,EAAE,UAAU4Q,IAAI5Q,IAAIA,EAAE,OAAqB,OAAd+lK,GAAG9oK,EAAE0mB,EAAE2sD,EAAEtwE,EAAE6D,GAAU,KAAK,IAAImiK,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACzT,SAASC,KAAK,GAAGD,GAAG,OAAOA,GAAG,IAAIjpK,EAAkBqzE,EAAhB3sD,EAAEsiJ,GAAGpiK,EAAE8f,EAAE9tB,OAASmK,EAAE,UAAUgmK,GAAGA,GAAG5uK,MAAM4uK,GAAG5L,YAAYxpJ,EAAE5Q,EAAEnK,OAAO,IAAIoH,EAAE,EAAEA,EAAE4G,GAAG8f,EAAE1mB,KAAK+C,EAAE/C,GAAGA,KAAK,IAAIo4J,EAAExxJ,EAAE5G,EAAE,IAAIqzE,EAAE,EAAEA,GAAG+kF,GAAG1xI,EAAE9f,EAAEysE,KAAKtwE,EAAE4Q,EAAE0/D,GAAGA,KAAK,OAAO41F,GAAGlmK,EAAExH,MAAMyE,EAAE,EAAEqzE,EAAE,EAAEA,OAAE,GAAQ,SAAS81F,GAAGnpK,GAAG,IAAI0mB,EAAE1mB,EAAE8tD,QAA+E,MAAvE,aAAa9tD,EAAgB,KAAbA,EAAEA,EAAEopK,WAAgB,KAAK1iJ,IAAI1mB,EAAE,IAAKA,EAAE0mB,EAAE,KAAK1mB,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,EAAE,SAASqoG,KAAK,OAAM,EAAG,SAASghE,KAAK,OAAM,EACjY,SAASC,GAAGtpK,GAAG,SAAS0mB,EAAEA,EAAE2sD,EAAEtwE,EAAE4Q,EAAEykJ,GAA6G,IAAI,IAAIxxJ,KAAlH5J,KAAKusK,WAAW7iJ,EAAE1pB,KAAKwsK,YAAYzmK,EAAE/F,KAAKH,KAAKw2E,EAAEr2E,KAAK6/F,YAAYlpF,EAAE3W,KAAKvE,OAAO2/J,EAAEp7J,KAAK6wD,cAAc,KAAkB7tD,EAAEA,EAAEa,eAAe+F,KAAK8f,EAAE1mB,EAAE4G,GAAG5J,KAAK4J,GAAG8f,EAAEA,EAAE/S,GAAGA,EAAE/M,IAAgI,OAA5H5J,KAAKysK,oBAAoB,MAAM91J,EAAEi5B,iBAAiBj5B,EAAEi5B,kBAAiB,IAAKj5B,EAAE+1J,aAAarhE,GAAGghE,GAAGrsK,KAAK+1D,qBAAqBs2G,GAAUrsK,KAC1E,OAD+EmD,EAAEumB,EAAEvuB,UAAU,CAACs0C,eAAe,WAAWzvC,KAAK4vC,kBAAiB,EAAG,IAAI5sC,EAAEhD,KAAK6/F,YAAY78F,IAAIA,EAAEysC,eAAezsC,EAAEysC,iBAAiB,mBAAmBzsC,EAAE0pK,cAC7e1pK,EAAE0pK,aAAY,GAAI1sK,KAAKysK,mBAAmBphE,KAAK72D,gBAAgB,WAAW,IAAIxxC,EAAEhD,KAAK6/F,YAAY78F,IAAIA,EAAEwxC,gBAAgBxxC,EAAEwxC,kBAAkB,mBAAmBxxC,EAAE2pK,eAAe3pK,EAAE2pK,cAAa,GAAI3sK,KAAK+1D,qBAAqBs1C,KAAKuhE,QAAQ,aAAaC,aAAaxhE,KAAY3hF,EAChR,IAAoLojJ,GAAGC,GAAGC,GAAtLC,GAAG,CAACC,WAAW,EAAE1yH,QAAQ,EAAEC,WAAW,EAAE0yH,UAAU,SAASnqK,GAAG,OAAOA,EAAEmqK,WAAWt2I,KAAKG,OAAO4Y,iBAAiB,EAAEw9H,UAAU,GAAGC,GAAGf,GAAGW,IAAIK,GAAGnqK,EAAE,GAAG8pK,GAAG,CAACp8E,KAAK,EAAE08E,OAAO,IAAIC,GAAGlB,GAAGgB,IAAaG,GAAGtqK,EAAE,GAAGmqK,GAAG,CAACI,QAAQ,EAAEC,QAAQ,EAAE77C,QAAQ,EAAE87C,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEx+H,QAAQ,EAAEC,SAAS,EAAEF,OAAO,EAAED,QAAQ,EAAE2+H,iBAAiBC,GAAG7+H,OAAO,EAAE8+H,QAAQ,EAAEruE,cAAc,SAAS58F,GAAG,YAAO,IAASA,EAAE48F,cAAc58F,EAAEkrK,cAAclrK,EAAEwhK,WAAWxhK,EAAEmrK,UAAUnrK,EAAEkrK,YAAYlrK,EAAE48F,eAAewuE,UAAU,SAASprK,GAAG,MAAG,cAC3eA,EAASA,EAAEorK,WAAUprK,IAAIgqK,KAAKA,IAAI,cAAchqK,EAAEnD,MAAMitK,GAAG9pK,EAAE0qK,QAAQV,GAAGU,QAAQX,GAAG/pK,EAAE2qK,QAAQX,GAAGW,SAASZ,GAAGD,GAAG,EAAEE,GAAGhqK,GAAU8pK,KAAIuB,UAAU,SAASrrK,GAAG,MAAM,cAAcA,EAAEA,EAAEqrK,UAAUtB,MAAMuB,GAAGhC,GAAGmB,IAAiCc,GAAGjC,GAA7BnpK,EAAE,GAAGsqK,GAAG,CAACe,aAAa,KAA4CC,GAAGnC,GAA9BnpK,EAAE,GAAGmqK,GAAG,CAAC1tE,cAAc,KAA0E8uE,GAAGpC,GAA5DnpK,EAAE,GAAG8pK,GAAG,CAAC0B,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAcC,GAAG3rK,EAAE,GAAG8pK,GAAG,CAAC8B,cAAc,SAAS/rK,GAAG,MAAM,kBAAkBA,EAAEA,EAAE+rK,cAAc/pK,OAAO+pK,iBAAiBC,GAAG1C,GAAGwC,IAAyBG,GAAG3C,GAArBnpK,EAAE,GAAG8pK,GAAG,CAAC5oK,KAAK,KAAc6qK,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKv7F,KAAK,cAAcw7F,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASlpH,QAAQ,UAAUmpH,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAGntK,GAAG,IAAI0mB,EAAE1pB,KAAK6/F,YAAY,OAAOn2E,EAAEqkJ,iBAAiBrkJ,EAAEqkJ,iBAAiB/qK,MAAIA,EAAE+sK,GAAG/sK,OAAM0mB,EAAE1mB,GAAM,SAASgrK,KAAK,OAAOmC,GAC9R,IAAIC,GAAGjtK,EAAE,GAAGmqK,GAAG,CAACnxK,IAAI,SAAS6G,GAAG,GAAGA,EAAE7G,IAAI,CAAC,IAAIutB,EAAEwlJ,GAAGlsK,EAAE7G,MAAM6G,EAAE7G,IAAI,GAAG,iBAAiButB,EAAE,OAAOA,EAAE,MAAM,aAAa1mB,EAAEnD,KAAc,MAARmD,EAAEmpK,GAAGnpK,IAAU,QAAQ0B,OAAOwlH,aAAalnH,GAAI,YAAYA,EAAEnD,MAAM,UAAUmD,EAAEnD,KAAKiwK,GAAG9sK,EAAE8tD,UAAU,eAAe,IAAIhhD,KAAK,EAAEqoB,SAAS,EAAEmX,QAAQ,EAAEC,SAAS,EAAEF,OAAO,EAAED,QAAQ,EAAEihI,OAAO,EAAEz2J,OAAO,EAAEm0J,iBAAiBC,GAAG5B,SAAS,SAASppK,GAAG,MAAM,aAAaA,EAAEnD,KAAKssK,GAAGnpK,GAAG,GAAG8tD,QAAQ,SAAS9tD,GAAG,MAAM,YAAYA,EAAEnD,MAAM,UAAUmD,EAAEnD,KAAKmD,EAAE8tD,QAAQ,GAAG85C,MAAM,SAAS5nG,GAAG,MAAM,aAC7eA,EAAEnD,KAAKssK,GAAGnpK,GAAG,YAAYA,EAAEnD,MAAM,UAAUmD,EAAEnD,KAAKmD,EAAE8tD,QAAQ,KAAKw/G,GAAGhE,GAAG8D,IAAiIG,GAAGjE,GAA7HnpK,EAAE,GAAGsqK,GAAG,CAACtF,UAAU,EAAEz+G,MAAM,EAAED,OAAO,EAAE+mH,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEC,UAAU,KAAmIC,GAAGzE,GAArHnpK,EAAE,GAAGmqK,GAAG,CAACz7C,QAAQ,EAAEm/C,cAAc,EAAEC,eAAe,EAAE5hI,OAAO,EAAED,QAAQ,EAAEE,QAAQ,EAAEC,SAAS,EAAEw+H,iBAAiBC,MAA0EkD,GAAG5E,GAA3DnpK,EAAE,GAAG8pK,GAAG,CAACxR,aAAa,EAAEmT,YAAY,EAAEC,cAAc,KAAcsC,GAAGhuK,EAAE,GAAGsqK,GAAG,CAAC2D,OAAO,SAASpuK,GAAG,MAAM,WAAWA,EAAEA,EAAEouK,OAAO,gBAAgBpuK,GAAGA,EAAEquK,YAAY,GAClfC,OAAO,SAAStuK,GAAG,MAAM,WAAWA,EAAEA,EAAEsuK,OAAO,gBAAgBtuK,GAAGA,EAAEuuK,YAAY,eAAevuK,GAAGA,EAAEwuK,WAAW,GAAGC,OAAO,EAAEC,UAAU,IAAIC,GAAGrF,GAAG6E,IAAIS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIC,GAAG/W,GAAI,qBAAqB91J,OAAO8sK,GAAG,KAAKhX,GAAI,iBAAiBr2I,WAAWqtJ,GAAGrtJ,SAASstJ,cAAc,IAAIC,GAAGlX,GAAI,cAAc91J,SAAS8sK,GAAGG,GAAGnX,KAAM+W,IAAIC,IAAI,EAAEA,IAAI,IAAIA,IAAII,GAAGxtK,OAAOwlH,aAAa,IAAIioD,IAAG,EAC1W,SAASC,GAAGpvK,EAAE0mB,GAAG,OAAO1mB,GAAG,IAAK,QAAQ,OAAO,IAAI4uK,GAAGpuK,QAAQkmB,EAAEonC,SAAS,IAAK,UAAU,OAAO,MAAMpnC,EAAEonC,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,GAAI,SAASuhH,GAAGrvK,GAAc,MAAM,kBAAjBA,EAAEA,EAAEuqK,SAAkC,SAASvqK,EAAEA,EAAEqB,KAAK,KAAK,IAAIiuK,IAAG,EAE9Q,IAAIC,GAAG,CAACnqF,OAAM,EAAG4kD,MAAK,EAAGh0H,UAAS,EAAG,kBAAiB,EAAGw5J,OAAM,EAAGzlC,OAAM,EAAG74H,QAAO,EAAGomB,UAAS,EAAGhiB,OAAM,EAAGwf,QAAO,EAAG26I,KAAI,EAAGnuJ,MAAK,EAAGkhI,MAAK,EAAGv2H,KAAI,EAAGqkH,MAAK,GAAI,SAASo/B,GAAG1vK,GAAG,IAAI0mB,EAAE1mB,GAAGA,EAAE6nD,UAAU7nD,EAAE6nD,SAAS9/C,cAAc,MAAM,UAAU2e,IAAI6oJ,GAAGvvK,EAAEnD,MAAM,aAAa6pB,EAAQ,SAASipJ,GAAG3vK,EAAE0mB,EAAE9f,EAAEysE,GAAG4uF,GAAG5uF,GAAsB,GAAnB3sD,EAAEkpJ,GAAGlpJ,EAAE,aAAgB9tB,SAASgO,EAAE,IAAIyjK,GAAG,WAAW,SAAS,KAAKzjK,EAAEysE,GAAGrzE,EAAE5D,KAAK,CAAC8C,MAAM0H,EAAEipK,UAAUnpJ,KAAK,IAAIopJ,GAAG,KAAKC,GAAG,KAAK,SAASluE,GAAG7hG,GAAGgwK,GAAGhwK,EAAE,GAAG,SAASiwK,GAAGjwK,GAAe,GAAG67J,EAATqU,GAAGlwK,IAAY,OAAOA,EACne,SAASmwK,GAAGnwK,EAAE0mB,GAAG,GAAG,WAAW1mB,EAAE,OAAO0mB,EAAE,IAAI0pJ,IAAG,EAAG,GAAGtY,EAAG,CAAC,IAAIuY,GAAG,GAAGvY,EAAG,CAAC,IAAIwY,GAAG,YAAY7uJ,SAAS,IAAI6uJ,GAAG,CAAC,IAAIC,GAAG9uJ,SAASC,cAAc,OAAO6uJ,GAAG57I,aAAa,UAAU,WAAW27I,GAAG,oBAAoBC,GAAGC,QAAQH,GAAGC,QAAQD,IAAG,EAAGD,GAAGC,MAAM5uJ,SAASstJ,cAAc,EAAEttJ,SAASstJ,cAAc,SAAS0B,KAAKX,KAAKA,GAAGY,YAAY,mBAAmBC,IAAIZ,GAAGD,GAAG,MAAM,SAASa,GAAG3wK,GAAG,GAAG,UAAUA,EAAEy4J,cAAcwX,GAAGF,IAAI,CAAC,IAAIrpJ,EAAE,GAAyB,GAAtBipJ,GAAGjpJ,EAAEqpJ,GAAG/vK,EAAEuhK,GAAGvhK,IAAIA,EAAE6hG,GAAM0gE,GAAGviK,EAAE0mB,OAAO,CAAC67I,IAAG,EAAG,IAAIJ,GAAGniK,EAAE0mB,GAAG,QAAQ67I,IAAG,EAAGE,QAC3e,SAASmO,GAAG5wK,EAAE0mB,EAAE9f,GAAG,YAAY5G,GAAGywK,KAAUV,GAAGnpK,GAARkpK,GAAGppJ,GAAUmqJ,YAAY,mBAAmBF,KAAK,aAAa3wK,GAAGywK,KAAK,SAASK,GAAG9wK,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOiwK,GAAGF,IAAI,SAASgB,GAAG/wK,EAAE0mB,GAAG,GAAG,UAAU1mB,EAAE,OAAOiwK,GAAGvpJ,GAAG,SAASsqJ,GAAGhxK,EAAE0mB,GAAG,GAAG,UAAU1mB,GAAG,WAAWA,EAAE,OAAOiwK,GAAGvpJ,GAAmE,IAAIuqJ,GAAG,oBAAoBh4K,OAAOqoK,GAAGroK,OAAOqoK,GAA5G,SAAYthK,EAAE0mB,GAAG,OAAO1mB,IAAI0mB,IAAI,IAAI1mB,GAAG,EAAEA,IAAI,EAAE0mB,IAAI1mB,IAAIA,GAAG0mB,IAAIA,GAAoDwqJ,GAAGj4K,OAAOd,UAAU0I,eAC7a,SAASswK,GAAGnxK,EAAE0mB,GAAG,GAAGuqJ,GAAGjxK,EAAE0mB,GAAG,OAAM,EAAG,GAAG,kBAAkB1mB,GAAG,OAAOA,GAAG,kBAAkB0mB,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI9f,EAAE3N,OAAO6C,KAAKkE,GAAGqzE,EAAEp6E,OAAO6C,KAAK4qB,GAAG,GAAG9f,EAAEhO,SAASy6E,EAAEz6E,OAAO,OAAM,EAAG,IAAIy6E,EAAE,EAAEA,EAAEzsE,EAAEhO,OAAOy6E,IAAI,IAAI69F,GAAG72K,KAAKqsB,EAAE9f,EAAEysE,MAAM49F,GAAGjxK,EAAE4G,EAAEysE,IAAI3sD,EAAE9f,EAAEysE,KAAK,OAAM,EAAG,OAAM,EAAG,SAAS+9F,GAAGpxK,GAAG,KAAKA,GAAGA,EAAE09J,YAAY19J,EAAEA,EAAE09J,WAAW,OAAO19J,EAClU,SAASqxK,GAAGrxK,EAAE0mB,GAAG,IAAwB2sD,EAApBzsE,EAAEwqK,GAAGpxK,GAAO,IAAJA,EAAE,EAAY4G,GAAG,CAAC,GAAG,IAAIA,EAAEwjD,SAAS,CAA0B,GAAzBipB,EAAErzE,EAAE4G,EAAEu2J,YAAYvkK,OAAUoH,GAAG0mB,GAAG2sD,GAAG3sD,EAAE,MAAM,CAACouB,KAAKluC,EAAE27C,OAAO77B,EAAE1mB,GAAGA,EAAEqzE,EAAErzE,EAAE,CAAC,KAAK4G,GAAG,CAAC,GAAGA,EAAE0qK,YAAY,CAAC1qK,EAAEA,EAAE0qK,YAAY,MAAMtxK,EAAE4G,EAAEA,EAAEixD,WAAWjxD,OAAE,EAAOA,EAAEwqK,GAAGxqK,IAAI,SAAS2qK,GAAGvxK,EAAE0mB,GAAG,SAAO1mB,IAAG0mB,KAAE1mB,IAAI0mB,KAAK1mB,GAAG,IAAIA,EAAEoqD,YAAY1jC,GAAG,IAAIA,EAAE0jC,SAASmnH,GAAGvxK,EAAE0mB,EAAEmxC,YAAY,aAAa73D,EAAEA,EAAE8nD,SAASphC,KAAG1mB,EAAE+nD,4BAAwD,GAA7B/nD,EAAE+nD,wBAAwBrhC,MAClZ,SAAS8qJ,KAAK,IAAI,IAAIxxK,EAAEgC,OAAO0kB,EAAEo1I,IAAKp1I,aAAa1mB,EAAEyxK,mBAAmB,CAAC,IAAI,IAAI7qK,EAAE,kBAAkB8f,EAAEgrJ,cAAcv8I,SAAST,KAAK,MAAM2+C,GAAGzsE,GAAE,EAAG,IAAGA,EAAyB,MAAM8f,EAAEo1I,GAA/B97J,EAAE0mB,EAAEgrJ,eAAgCjwJ,UAAU,OAAOiF,EAAE,SAASirJ,GAAG3xK,GAAG,IAAI0mB,EAAE1mB,GAAGA,EAAE6nD,UAAU7nD,EAAE6nD,SAAS9/C,cAAc,OAAO2e,IAAI,UAAUA,IAAI,SAAS1mB,EAAEnD,MAAM,WAAWmD,EAAEnD,MAAM,QAAQmD,EAAEnD,MAAM,QAAQmD,EAAEnD,MAAM,aAAamD,EAAEnD,OAAO,aAAa6pB,GAAG,SAAS1mB,EAAE4xK,iBACxZ,IAAIC,GAAG/Z,GAAI,iBAAiBr2I,UAAU,IAAIA,SAASstJ,aAAa+C,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC3F,SAASC,GAAGlyK,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAEzsE,EAAE5E,SAAS4E,EAAEA,EAAE6a,SAAS,IAAI7a,EAAEwjD,SAASxjD,EAAEA,EAAE4uC,cAAcy8H,IAAI,MAAMH,IAAIA,KAAKhW,EAAGzoF,KAAU,mBAALA,EAAEy+F,KAAyBH,GAAGt+F,GAAGA,EAAE,CAAC9Z,MAAM8Z,EAAE8+F,eAAepoI,IAAIspC,EAAE++F,cAAuF/+F,EAAE,CAACg/F,YAA3Eh/F,GAAGA,EAAE79B,eAAe69B,EAAE79B,cAAcI,aAAa5zC,QAAQswK,gBAA+BD,WAAWE,aAAal/F,EAAEk/F,aAAaC,UAAUn/F,EAAEm/F,UAAUC,YAAYp/F,EAAEo/F,aAAcT,IAAIb,GAAGa,GAAG3+F,KAAK2+F,GAAG3+F,EAAsB,GAApBA,EAAEu8F,GAAGmC,GAAG,aAAgBn5K,SAAS8tB,EAAE,IAAI2jJ,GAAG,WAAW,SAAS,KAAK3jJ,EAAE9f,GAAG5G,EAAE5D,KAAK,CAAC8C,MAAMwnB,EAAEmpJ,UAAUx8F,IAAI3sD,EAAEjuB,OAAOq5K,MACjf3K,GAAG,mjBAAmjBloK,MAAM,KAC5jB,GAAGkoK,GAAG,oRAAoRloK,MAAM,KAAK,GAAGkoK,GAAGD,GAAG,GAAG,IAAI,IAAIwL,GAAG,qFAAqFzzK,MAAM,KAAK0zK,GAAG,EAAEA,GAAGD,GAAG95K,OAAO+5K,KAAK1L,GAAGh3J,IAAIyiK,GAAGC,IAAI,GAAG9a,EAAG,eAAe,CAAC,WAAW,cACleA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBD,EAAG,WAAW,oEAAoE34J,MAAM,MAAM24J,EAAG,WAAW,uFAAuF34J,MAAM,MAAM24J,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2D34J,MAAM,MAC5f24J,EAAG,qBAAqB,6DAA6D34J,MAAM,MAAM24J,EAAG,sBAAsB,8DAA8D34J,MAAM,MAAM,IAAI2zK,GAAG,sNAAsN3zK,MAAM,KAAK4zK,GAAG,IAAIt9G,IAAI,0CAA0Ct2D,MAAM,KAAKR,OAAOm0K,KACnf,SAASE,GAAG9yK,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAErzE,EAAEnD,MAAM,gBAAgBmD,EAAE6tD,cAAcjnD,EA/CjE,SAAY5G,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,EAAEykJ,EAAEvrI,EAAE/rB,GAA4B,GAAzBsiK,GAAG/mK,MAAMW,KAAKT,WAAcwmK,GAAG,CAAC,IAAGA,GAAgC,MAAMlnJ,MAAMu7C,EAAE,MAA1C,IAAIj4D,EAAE6jK,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAG/jK,IA+CjE4zK,CAAG1/F,EAAE3sD,OAAE,EAAO1mB,GAAGA,EAAE6tD,cAAc,KACpG,SAASmiH,GAAGhwK,EAAE0mB,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAI9f,EAAE,EAAEA,EAAE5G,EAAEpH,OAAOgO,IAAI,CAAC,IAAIysE,EAAErzE,EAAE4G,GAAG7D,EAAEswE,EAAEn0E,MAAMm0E,EAAEA,EAAEw8F,UAAU7vK,EAAE,CAAC,IAAI2T,OAAE,EAAO,GAAG+S,EAAE,IAAI,IAAI0xI,EAAE/kF,EAAEz6E,OAAO,EAAE,GAAGw/J,EAAEA,IAAI,CAAC,IAAIvrI,EAAEwmD,EAAE+kF,GAAGt3J,EAAE+rB,EAAEx0B,SAAS8G,EAAE0tB,EAAEghC,cAA2B,GAAbhhC,EAAEA,EAAE9tB,SAAY+B,IAAI6S,GAAG5Q,EAAEgwD,uBAAuB,MAAM/yD,EAAE8yK,GAAG/vK,EAAE8pB,EAAE1tB,GAAGwU,EAAE7S,OAAO,IAAIs3J,EAAE,EAAEA,EAAE/kF,EAAEz6E,OAAOw/J,IAAI,CAAoD,GAA5Ct3J,GAAP+rB,EAAEwmD,EAAE+kF,IAAO//J,SAAS8G,EAAE0tB,EAAEghC,cAAchhC,EAAEA,EAAE9tB,SAAY+B,IAAI6S,GAAG5Q,EAAEgwD,uBAAuB,MAAM/yD,EAAE8yK,GAAG/vK,EAAE8pB,EAAE1tB,GAAGwU,EAAE7S,IAAI,GAAGmiK,GAAG,MAAMjjK,EAAEkjK,GAAGD,IAAG,EAAGC,GAAG,KAAKljK,EAC1a,SAASgzK,GAAEhzK,EAAE0mB,GAAG,IAAI9f,EAAEqsK,GAAGvsJ,GAAG2sD,EAAErzE,EAAE,WAAW4G,EAAE4mC,IAAI6lC,KAAK6/F,GAAGxsJ,EAAE1mB,EAAE,GAAE,GAAI4G,EAAEskD,IAAImoB,IAAI,IAAI8/F,GAAG,kBAAkB5hK,KAAKqX,SAASttB,SAAS,IAAIC,MAAM,GAAG,SAAS63K,GAAGpzK,GAAGA,EAAEmzK,MAAMnzK,EAAEmzK,KAAI,EAAGzb,EAAGj7J,SAAQ,SAASiqB,GAAGmsJ,GAAGrlI,IAAI9mB,IAAI2sJ,GAAG3sJ,GAAE,EAAG1mB,EAAE,MAAMqzK,GAAG3sJ,GAAE,EAAG1mB,EAAE,UACtO,SAASqzK,GAAGrzK,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE,EAAExG,UAAU3D,aAAQ,IAAS2D,UAAU,GAAGA,UAAU,GAAG,EAAEoX,EAAE/M,EAA6D,GAA3D,oBAAoB5G,GAAG,IAAI4G,EAAEwjD,WAAWz2C,EAAE/M,EAAE4uC,eAAkB,OAAO69B,IAAI3sD,GAAGmsJ,GAAGrlI,IAAIxtC,GAAG,CAAC,GAAG,WAAWA,EAAE,OAAO+C,GAAG,EAAE4Q,EAAE0/D,EAAE,IAAI+kF,EAAE6a,GAAGt/J,GAAGkZ,EAAE7sB,EAAE,MAAM0mB,EAAE,UAAU,UAAU0xI,EAAE5qH,IAAI3gB,KAAKnG,IAAI3jB,GAAG,GAAGmwK,GAAGv/J,EAAE3T,EAAE+C,EAAE2jB,GAAG0xI,EAAEltG,IAAIr+B,IAClS,SAASqmJ,GAAGlzK,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAEkkK,GAAG9tJ,IAAIuN,GAAG,YAAO,IAAS3jB,EAAE,EAAEA,GAAG,KAAK,EAAEA,EAAE4lK,GAAG,MAAM,KAAK,EAAE5lK,EAAE6pB,GAAG,MAAM,QAAQ7pB,EAAE6lK,GAAGhiK,EAAE7D,EAAEoX,KAAK,KAAKuM,EAAE9f,EAAE5G,GAAG+C,OAAE,GAAQ4/J,IAAI,eAAej8I,GAAG,cAAcA,GAAG,UAAUA,IAAI3jB,GAAE,GAAIswE,OAAE,IAAStwE,EAAE/C,EAAEg5B,iBAAiBtS,EAAE9f,EAAE,CAACowC,SAAQ,EAAGJ,QAAQ7zC,IAAI/C,EAAEg5B,iBAAiBtS,EAAE9f,GAAE,QAAI,IAAS7D,EAAE/C,EAAEg5B,iBAAiBtS,EAAE9f,EAAE,CAACgwC,QAAQ7zC,IAAI/C,EAAEg5B,iBAAiBtS,EAAE9f,GAAE,GACpW,SAASkiK,GAAG9oK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,IAAI4Q,EAAE0/D,EAAE,GAAG,KAAO,EAAF3sD,IAAM,KAAO,EAAFA,IAAM,OAAO2sD,EAAErzE,EAAE,OAAO,CAAC,GAAG,OAAOqzE,EAAE,OAAO,IAAI+kF,EAAE/kF,EAAE0nF,IAAI,GAAG,IAAI3C,GAAG,IAAIA,EAAE,CAAC,IAAIvrI,EAAEwmD,EAAE0uF,UAAU2D,cAAc,GAAG74I,IAAI9pB,GAAG,IAAI8pB,EAAEu9B,UAAUv9B,EAAEgrC,aAAa90D,EAAE,MAAM,GAAG,IAAIq1J,EAAE,IAAIA,EAAE/kF,EAAEkwF,OAAO,OAAOnL,GAAG,CAAC,IAAIt3J,EAAEs3J,EAAE2C,IAAI,IAAG,IAAIj6J,GAAG,IAAIA,MAAKA,EAAEs3J,EAAE2J,UAAU2D,iBAAkB3iK,GAAG,IAAIjC,EAAEspD,UAAUtpD,EAAE+2D,aAAa90D,GAAE,OAAOq1J,EAAEA,EAAEmL,OAAO,KAAK,OAAO12I,GAAG,CAAS,GAAG,QAAXurI,EAAEkN,GAAGz4I,IAAe,OAAe,GAAG,KAAX/rB,EAAEs3J,EAAE2C,MAAc,IAAIj6J,EAAE,CAACuyE,EAAE1/D,EAAEykJ,EAAE,SAASp4J,EAAE6sB,EAAEA,EAAEgrC,YAAYwb,EAAEA,EAAEkwF,QAvD7c,SAAYvjK,EAAE0mB,EAAE9f,GAAG,GAAG47J,GAAG,OAAOxiK,EAAE0mB,EAAE9f,GAAG47J,IAAG,EAAG,IAAWF,GAAGtiK,EAAE0mB,EAAE9f,GAAG,QAAQ47J,IAAG,EAAGC,MAuDoY6Q,EAAG,WAAW,IAAIjgG,EAAE1/D,EAAE5Q,EAAEw+J,GAAG36J,GAAGwxJ,EAAE,GACpfp4J,EAAE,CAAC,IAAI6sB,EAAEm6I,GAAG7tJ,IAAInZ,GAAG,QAAG,IAAS6sB,EAAE,CAAC,IAAI/rB,EAAEupK,GAAGlzG,EAAEn3D,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAImpK,GAAGviK,GAAG,MAAM5G,EAAE,IAAK,UAAU,IAAK,QAAQc,EAAEwsK,GAAG,MAAM,IAAK,UAAUn2G,EAAE,QAAQr2D,EAAE2qK,GAAG,MAAM,IAAK,WAAWt0G,EAAE,OAAOr2D,EAAE2qK,GAAG,MAAM,IAAK,aAAa,IAAK,YAAY3qK,EAAE2qK,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAI7kK,EAAEulC,OAAO,MAAMnsC,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAcc,EAAEwqK,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAOxqK,EAC1iByqK,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAazqK,EAAEitK,GAAG,MAAM,KAAKnH,GAAG,KAAKC,GAAG,KAAKC,GAAGhmK,EAAE4qK,GAAG,MAAM,KAAK3E,GAAGjmK,EAAEotK,GAAG,MAAM,IAAK,SAASptK,EAAE0pK,GAAG,MAAM,IAAK,QAAQ1pK,EAAE6tK,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQ7tK,EAAEkrK,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAYlrK,EAAEysK,GAAG,IAAIz7I,EAAE,KAAO,EAAFpL,GAAKs6G,GAAGlvG,GAAG,WAAW9xB,EAAEqgG,EAAEvuE,EAAE,OAAOjF,EAAEA,EAAE,UAAU,KAAKA,EAAEiF,EAAE,GAAG,IAAI,IAAQ5Z,EAAJhY,EAAEmzE,EAAI,OAC/enzE,GAAG,CAAK,IAAIiF,GAAR+S,EAAEhY,GAAU6hK,UAAsF,GAA5E,IAAI7pJ,EAAE6iJ,KAAK,OAAO51J,IAAI+S,EAAE/S,EAAE,OAAOk7F,IAAc,OAAVl7F,EAAEu9J,GAAGxiK,EAAEmgG,KAAYvuE,EAAE11B,KAAKm3K,GAAGrzK,EAAEiF,EAAE+S,MAAS8oH,EAAE,MAAM9gI,EAAEA,EAAEqjK,OAAO,EAAEzxI,EAAEl5B,SAASi0B,EAAE,IAAI/rB,EAAE+rB,EAAEsqC,EAAE,KAAKvwD,EAAE7D,GAAGq1J,EAAEh8J,KAAK,CAAC8C,MAAM2tB,EAAEgjJ,UAAU/9I,MAAM,GAAG,KAAO,EAAFpL,GAAK,CAA4E,GAAnC5lB,EAAE,aAAad,GAAG,eAAeA,KAAtE6sB,EAAE,cAAc7sB,GAAG,gBAAgBA,IAA2C,KAAO,GAAF0mB,MAAQywC,EAAEvwD,EAAEg2F,eAAeh2F,EAAEskK,eAAe5F,GAAGnuG,KAAIA,EAAE+xC,OAAgBpoG,GAAG+rB,KAAGA,EAAE9pB,EAAEf,SAASe,EAAEA,GAAG8pB,EAAE9pB,EAAEyyC,eAAe3oB,EAAE+oB,aAAa/oB,EAAE2mJ,aAAaxxK,OAAUlB,GAAqCA,EAAEuyE,EAAiB,QAAflc,GAAnCA,EAAEvwD,EAAEg2F,eAAeh2F,EAAEukK,WAAkB7F,GAAGnuG,GAAG,QACleA,KAAR6pE,EAAEqiC,GAAGlsG,KAAU,IAAIA,EAAE4jG,KAAK,IAAI5jG,EAAE4jG,OAAK5jG,EAAE,QAAUr2D,EAAE,KAAKq2D,EAAEkc,GAAKvyE,IAAIq2D,GAAE,CAAgU,GAA/TrlC,EAAEw5I,GAAGnmK,EAAE,eAAek7F,EAAE,eAAengG,EAAE,QAAW,eAAeF,GAAG,gBAAgBA,IAAE8xB,EAAEy7I,GAAGpoK,EAAE,iBAAiBk7F,EAAE,iBAAiBngG,EAAE,WAAU8gI,EAAE,MAAMlgI,EAAE+rB,EAAEqjJ,GAAGpvK,GAAGoX,EAAE,MAAMi/C,EAAEtqC,EAAEqjJ,GAAG/4G,IAAGtqC,EAAE,IAAIiF,EAAE3sB,EAAEjF,EAAE,QAAQY,EAAE8F,EAAE7D,IAAKtK,OAAOuoI,EAAEn0G,EAAE+vE,cAAc1kF,EAAE/S,EAAE,KAAKmgK,GAAGviK,KAAKswE,KAAIvhD,EAAE,IAAIA,EAAEuuE,EAAEngG,EAAE,QAAQi3D,EAAEvwD,EAAE7D,IAAKtK,OAAOyf,EAAE4Z,EAAE8qE,cAAcokC,EAAE77H,EAAE2sB,GAAGkvG,EAAE77H,EAAKrE,GAAGq2D,EAAEzwC,EAAE,CAAa,IAAR25E,EAAElpC,EAAEj3D,EAAE,EAAMgY,EAAhB4Z,EAAEhxB,EAAkBoX,EAAEA,EAAEu7J,GAAGv7J,GAAGhY,IAAQ,IAAJgY,EAAE,EAAM/S,EAAEk7F,EAAEl7F,EAAEA,EAAEsuK,GAAGtuK,GAAG+S,IAAI,KAAK,EAAEhY,EAAEgY,GAAG4Z,EAAE2hJ,GAAG3hJ,GAAG5xB,IAAI,KAAK,EAAEgY,EAAEhY,GAAGmgG,EACpfozE,GAAGpzE,GAAGnoF,IAAI,KAAKhY,KAAK,CAAC,GAAG4xB,IAAIuuE,GAAG,OAAOA,GAAGvuE,IAAIuuE,EAAEijE,UAAU,MAAM58I,EAAEoL,EAAE2hJ,GAAG3hJ,GAAGuuE,EAAEozE,GAAGpzE,GAAGvuE,EAAE,UAAUA,EAAE,KAAK,OAAOhxB,GAAG4yK,GAAGtb,EAAEvrI,EAAE/rB,EAAEgxB,GAAE,GAAI,OAAOqlC,GAAG,OAAO6pE,GAAG0yC,GAAGtb,EAAEp3B,EAAE7pE,EAAErlC,GAAE,GAAiE,GAAG,YAA1ChxB,GAAjB+rB,EAAEwmD,EAAE68F,GAAG78F,GAAGrxE,QAAW6lD,UAAUh7B,EAAEg7B,SAAS9/C,gBAA+B,UAAUjH,GAAG,SAAS+rB,EAAEhwB,KAAK,IAAI82K,EAAExD,QAAQ,GAAGT,GAAG7iJ,GAAG,GAAGujJ,GAAGuD,EAAE3C,OAAO,CAAC2C,EAAE7C,GAAG,IAAI8C,EAAEhD,QAAQ9vK,EAAE+rB,EAAEg7B,WAAW,UAAU/mD,EAAEiH,gBAAgB,aAAa8kB,EAAEhwB,MAAM,UAAUgwB,EAAEhwB,QAAQ82K,EAAE5C,IAClV,OADyV4C,IAAIA,EAAEA,EAAE3zK,EAAEqzE,IAAKs8F,GAAGvX,EAAEub,EAAE/sK,EAAE7D,IAAW6wK,GAAGA,EAAE5zK,EAAE6sB,EAAEwmD,GAAG,aAAarzE,IAAI4zK,EAAE/mJ,EAAEmvI,gBACte4X,EAAExX,YAAY,WAAWvvI,EAAEhwB,MAAM0/J,GAAG1vI,EAAE,SAASA,EAAE1yB,QAAOy5K,EAAEvgG,EAAE68F,GAAG78F,GAAGrxE,OAAchC,GAAG,IAAK,WAAa0vK,GAAGkE,IAAI,SAASA,EAAEhC,mBAAgBE,GAAG8B,EAAE7B,GAAG1+F,EAAE2+F,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAG9Z,EAAExxJ,EAAE7D,GAAG,MAAM,IAAK,kBAAkB,GAAG8uK,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQK,GAAG9Z,EAAExxJ,EAAE7D,GAAG,IAAIwuJ,EAAE,GAAGsd,GAAGnoJ,EAAE,CAAC,OAAO1mB,GAAG,IAAK,mBAAmB,IAAI4mI,EAAE,qBAAqB,MAAMlgH,EAAE,IAAK,iBAAiBkgH,EAAE,mBAAmB,MAAMlgH,EACrf,IAAK,oBAAoBkgH,EAAE,sBAAsB,MAAMlgH,EAAEkgH,OAAE,OAAY0oC,GAAGF,GAAGpvK,EAAE4G,KAAKggI,EAAE,oBAAoB,YAAY5mI,GAAG,MAAM4G,EAAEknD,UAAU84E,EAAE,sBAAsBA,IAAIqoC,IAAI,OAAOroK,EAAEgQ,SAAS04J,IAAI,uBAAuB1oC,EAAE,qBAAqBA,GAAG0oC,KAAK/d,EAAE2X,OAAYF,GAAG,UAARD,GAAGhmK,GAAkBgmK,GAAG5uK,MAAM4uK,GAAG5L,YAAYmS,IAAG,IAAe,GAAVsE,EAAEhE,GAAGv8F,EAAEuzD,IAAOhuI,SAASguI,EAAE,IAAIqlC,GAAGrlC,EAAE5mI,EAAE,KAAK4G,EAAE7D,GAAGq1J,EAAEh8J,KAAK,CAAC8C,MAAM0nI,EAAEipC,UAAU+D,IAAIriB,EAAE3qB,EAAEvlI,KAAKkwJ,EAAW,QAARA,EAAE8d,GAAGzoK,MAAcggI,EAAEvlI,KAAKkwJ,MAASA,EAAEyd,GA1BjK,SAAYhvK,EAAE0mB,GAAG,OAAO1mB,GAAG,IAAK,iBAAiB,OAAOqvK,GAAG3oJ,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEkhF,MAAa,MAAKunE,IAAG,EAAUD,IAAG,IAAK,YAAY,OAAOlvK,EAAE0mB,EAAErlB,QAAS6tK,IAAIC,GAAG,KAAKnvK,EAAE,QAAQ,OAAO,MA0BxB6zK,CAAG7zK,EAAE4G,GAzB1b,SAAY5G,EAAE0mB,GAAG,GAAG4oJ,GAAG,MAAM,mBAAmBtvK,IAAI6uK,IAAIO,GAAGpvK,EAAE0mB,IAAI1mB,EAAEkpK,KAAKD,GAAGD,GAAGD,GAAG,KAAKuG,IAAG,EAAGtvK,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAK0mB,EAAE4lB,SAAS5lB,EAAE2lB,QAAQ3lB,EAAE0lB,UAAU1lB,EAAE4lB,SAAS5lB,EAAE2lB,OAAO,CAAC,GAAG3lB,EAAEqL,MAAM,EAAErL,EAAEqL,KAAKn5B,OAAO,OAAO8tB,EAAEqL,KAAK,GAAGrL,EAAEkhF,MAAM,OAAOlmG,OAAOwlH,aAAaxgG,EAAEkhF,OAAO,OAAO,KAAK,IAAK,iBAAiB,OAAOqnE,IAAI,OAAOvoJ,EAAE9P,OAAO,KAAK8P,EAAErlB,MAyB+EyyK,CAAG9zK,EAAE4G,MAA2B,GAAxBysE,EAAEu8F,GAAGv8F,EAAE,kBAAqBz6E,SAASmK,EAAE,IAAIkpK,GAAG,gBACnf,cAAc,KAAKrlK,EAAE7D,GAAGq1J,EAAEh8J,KAAK,CAAC8C,MAAM6D,EAAE8sK,UAAUx8F,IAAItwE,EAAE1B,KAAKkwJ,IAAGye,GAAG5X,EAAE1xI,MAAK,SAAS6sJ,GAAGvzK,EAAE0mB,EAAE9f,GAAG,MAAM,CAACvO,SAAS2H,EAAEjB,SAAS2nB,EAAEmnC,cAAcjnD,GAAG,SAASgpK,GAAG5vK,EAAE0mB,GAAG,IAAI,IAAI9f,EAAE8f,EAAE,UAAU2sD,EAAE,GAAG,OAAOrzE,GAAG,CAAC,IAAI+C,EAAE/C,EAAE2T,EAAE5Q,EAAEg/J,UAAU,IAAIh/J,EAAEg4J,KAAK,OAAOpnJ,IAAI5Q,EAAE4Q,EAAY,OAAVA,EAAE+uJ,GAAG1iK,EAAE4G,KAAYysE,EAAEv2C,QAAQy2I,GAAGvzK,EAAE2T,EAAE5Q,IAAc,OAAV4Q,EAAE+uJ,GAAG1iK,EAAE0mB,KAAY2sD,EAAEj3E,KAAKm3K,GAAGvzK,EAAE2T,EAAE5Q,KAAK/C,EAAEA,EAAEujK,OAAO,OAAOlwF,EAAE,SAASogG,GAAGzzK,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAEujK,aAAavjK,GAAG,IAAIA,EAAE+6J,KAAK,OAAO/6J,GAAI,KACxa,SAAS0zK,GAAG1zK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,IAAI,IAAI4Q,EAAE+S,EAAE6iJ,WAAWnR,EAAE,GAAG,OAAOxxJ,GAAGA,IAAIysE,GAAG,CAAC,IAAIxmD,EAAEjmB,EAAE9F,EAAE+rB,EAAEy2I,UAAUnkK,EAAE0tB,EAAEk1I,UAAU,GAAG,OAAOjhK,GAAGA,IAAIuyE,EAAE,MAAM,IAAIxmD,EAAEkuI,KAAK,OAAO57J,IAAI0tB,EAAE1tB,EAAE4D,EAAa,OAAVjC,EAAE4hK,GAAG97J,EAAE+M,KAAYykJ,EAAEt7H,QAAQy2I,GAAG3sK,EAAE9F,EAAE+rB,IAAK9pB,GAAc,OAAVjC,EAAE4hK,GAAG97J,EAAE+M,KAAYykJ,EAAEh8J,KAAKm3K,GAAG3sK,EAAE9F,EAAE+rB,KAAMjmB,EAAEA,EAAE28J,OAAO,IAAInL,EAAEx/J,QAAQoH,EAAE5D,KAAK,CAAC8C,MAAMwnB,EAAEmpJ,UAAUzX,IAAI,SAAS2b,MAAM,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGl0K,EAAE0mB,GAAG,OAAO1mB,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW,QAAQ0mB,EAAEulC,UAAU,OAAM,EAC3b,SAASkoH,GAAGn0K,EAAE0mB,GAAG,MAAM,aAAa1mB,GAAG,WAAWA,GAAG,aAAaA,GAAG,kBAAkB0mB,EAAE8e,UAAU,kBAAkB9e,EAAE8e,UAAU,kBAAkB9e,EAAEq2I,yBAAyB,OAAOr2I,EAAEq2I,yBAAyB,MAAMr2I,EAAEq2I,wBAAwBqX,OAAO,IAAIC,GAAG,oBAAoB17J,WAAWA,gBAAW,EAAO27J,GAAG,oBAAoBx8H,aAAaA,kBAAa,EAAO,SAASy8H,GAAGv0K,GAAG,IAAIA,EAAEoqD,SAASpqD,EAAEm9J,YAAY,GAAG,IAAIn9J,EAAEoqD,WAAoB,OAATpqD,EAAEA,EAAE4hB,QAAe5hB,EAAEm9J,YAAY,KACxc,SAASqX,GAAGx0K,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEsxK,YAAY,CAAC,IAAI5qJ,EAAE1mB,EAAEoqD,SAAS,GAAG,IAAI1jC,GAAG,IAAIA,EAAE,MAAM,OAAO1mB,EAAE,SAASy0K,GAAGz0K,GAAGA,EAAEA,EAAE00K,gBAAgB,IAAI,IAAIhuJ,EAAE,EAAE1mB,GAAG,CAAC,GAAG,IAAIA,EAAEoqD,SAAS,CAAC,IAAIxjD,EAAE5G,EAAEqB,KAAK,GAAG,MAAMuF,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAI8f,EAAE,OAAO1mB,EAAE0mB,QAAQ,OAAO9f,GAAG8f,IAAI1mB,EAAEA,EAAE00K,gBAAgB,OAAO,KAAK,IAAIC,GAAG,EAA0D,IAAIC,GAAGrjK,KAAKqX,SAASttB,SAAS,IAAIC,MAAM,GAAGs5K,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAG1rE,GAAG,oBAAoB0rE,GAAGG,GAAG,iBAAiBH,GAC9d,SAAStP,GAAGtlK,GAAG,IAAI0mB,EAAE1mB,EAAE60K,IAAI,GAAGnuJ,EAAE,OAAOA,EAAE,IAAI,IAAI9f,EAAE5G,EAAE63D,WAAWjxD,GAAG,CAAC,GAAG8f,EAAE9f,EAAEsiG,KAAKtiG,EAAEiuK,IAAI,CAAe,GAAdjuK,EAAE8f,EAAE48I,UAAa,OAAO58I,EAAEg6B,OAAO,OAAO95C,GAAG,OAAOA,EAAE85C,MAAM,IAAI1gD,EAAEy0K,GAAGz0K,GAAG,OAAOA,GAAG,CAAC,GAAG4G,EAAE5G,EAAE60K,IAAI,OAAOjuK,EAAE5G,EAAEy0K,GAAGz0K,GAAG,OAAO0mB,EAAM9f,GAAJ5G,EAAE4G,GAAMixD,WAAW,OAAO,KAAK,SAASiqG,GAAG9hK,GAAkB,QAAfA,EAAEA,EAAE60K,KAAK70K,EAAEkpG,MAAc,IAAIlpG,EAAE+6J,KAAK,IAAI/6J,EAAE+6J,KAAK,KAAK/6J,EAAE+6J,KAAK,IAAI/6J,EAAE+6J,IAAI,KAAK/6J,EAAE,SAASkwK,GAAGlwK,GAAG,GAAG,IAAIA,EAAE+6J,KAAK,IAAI/6J,EAAE+6J,IAAI,OAAO/6J,EAAE+hK,UAAU,MAAMlmJ,MAAMu7C,EAAE,KAAM,SAAS4qG,GAAGhiK,GAAG,OAAOA,EAAE80K,KAAK,KAClb,SAAS7B,GAAGjzK,GAAG,IAAI0mB,EAAE1mB,EAAE+0K,IAAkC,YAA9B,IAASruJ,IAAIA,EAAE1mB,EAAE+0K,IAAI,IAAIx/G,KAAY7uC,EAAE,IAAIsuJ,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAGl1K,GAAG,MAAM,CAACuD,QAAQvD,GAAG,SAASwxJ,GAAExxJ,GAAG,EAAEi1K,KAAKj1K,EAAEuD,QAAQyxK,GAAGC,IAAID,GAAGC,IAAI,KAAKA,MAAM,SAASE,GAAEn1K,EAAE0mB,GAAGuuJ,KAAKD,GAAGC,IAAIj1K,EAAEuD,QAAQvD,EAAEuD,QAAQmjB,EAAE,IAAI0uJ,GAAG,GAAGvtC,GAAEqtC,GAAGE,IAAI50C,GAAE00C,IAAG,GAAIG,GAAGD,GAC5P,SAASE,GAAGt1K,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAEnD,KAAK04K,aAAa,IAAI3uK,EAAE,OAAOwuK,GAAG,IAAI/hG,EAAErzE,EAAE+hK,UAAU,GAAG1uF,GAAGA,EAAEmiG,8CAA8C9uJ,EAAE,OAAO2sD,EAAEoiG,0CAA0C,IAAS9hK,EAAL5Q,EAAE,GAAK,IAAI4Q,KAAK/M,EAAE7D,EAAE4Q,GAAG+S,EAAE/S,GAAoH,OAAjH0/D,KAAIrzE,EAAEA,EAAE+hK,WAAYyT,4CAA4C9uJ,EAAE1mB,EAAEy1K,0CAA0C1yK,GAAUA,EAAE,SAAS2yK,GAAG11K,GAAyB,OAAO,QAA7BA,EAAEA,EAAE21K,yBAAmC,IAAS31K,EAAE,SAAS41K,KAAKpkB,GAAEhxB,IAAGgxB,GAAE3pB,IAAG,SAASguC,GAAG71K,EAAE0mB,EAAE9f,GAAG,GAAGihI,GAAEtkI,UAAU6xK,GAAG,MAAMv5J,MAAMu7C,EAAE,MAAM+9G,GAAEttC,GAAEnhH,GAAGyuJ,GAAE30C,GAAE55H,GAC/e,SAASkvK,GAAG91K,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAErzE,EAAE+hK,UAAgC,GAAtB/hK,EAAE0mB,EAAEivJ,kBAAqB,oBAAoBtiG,EAAE0iG,gBAAgB,OAAOnvK,EAAwB,IAAI,IAAI7D,KAA9BswE,EAAEA,EAAE0iG,kBAAiC,KAAKhzK,KAAK/C,GAAG,MAAM6b,MAAMu7C,EAAE,IAAI6jG,EAAGv0I,IAAI,UAAU3jB,IAAI,OAAO5C,EAAE,GAAGyG,EAAEysE,GAAG,SAAS2iG,GAAGh2K,GAAyG,OAAtGA,GAAGA,EAAEA,EAAE+hK,YAAY/hK,EAAEi2K,2CAA2Cb,GAAGC,GAAGxtC,GAAEtkI,QAAQ4xK,GAAEttC,GAAE7nI,GAAGm1K,GAAE30C,GAAEA,GAAEj9H,UAAe,EAAG,SAAS2yK,GAAGl2K,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAErzE,EAAE+hK,UAAU,IAAI1uF,EAAE,MAAMx3D,MAAMu7C,EAAE,MAAMxwD,GAAG5G,EAAE81K,GAAG91K,EAAE0mB,EAAE2uJ,IAAIhiG,EAAE4iG,0CAA0Cj2K,EAAEwxJ,GAAEhxB,IAAGgxB,GAAE3pB,IAAGstC,GAAEttC,GAAE7nI,IAAIwxJ,GAAEhxB,IAAG20C,GAAE30C,GAAE55H,GAC7e,IAAIuvK,GAAG,KAAKC,GAAG,KAAKC,GAAGxvK,EAAE2+J,yBAAyB8Q,GAAGzvK,EAAEm/J,0BAA0BuQ,GAAG1vK,EAAE2vK,wBAAwBC,GAAG5vK,EAAE6vK,qBAAqBC,GAAG9vK,EAAE+vK,sBAAsBC,GAAGhwK,EAAEwgK,aAAayP,GAAGjwK,EAAEkwK,iCAAiCC,GAAGnwK,EAAEowK,2BAA2BC,GAAGrwK,EAAE4hK,8BAA8B0O,GAAGtwK,EAAEo/J,wBAAwBmR,GAAGvwK,EAAEwwK,qBAAqBC,GAAGzwK,EAAE0wK,sBAAsBC,GAAG,GAAGC,QAAG,IAASd,GAAGA,GAAG,aAAae,GAAG,KAAKnmH,GAAG,KAAKomH,IAAG,EAAGC,GAAGf,KAAKgB,GAAE,IAAID,GAAGf,GAAG,WAAW,OAAOA,KAAKe,IACtd,SAASE,KAAK,OAAOhB,MAAM,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,QAAQ,MAAMz7J,MAAMu7C,EAAE,OAAQ,SAAS2gH,GAAG/3K,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAOg3K,GAAG,KAAK,GAAG,OAAOE,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOE,GAAG,QAAQ,MAAMz7J,MAAMu7C,EAAE,OAAQ,SAASmkF,GAAGv7I,EAAE0mB,GAAW,OAAR1mB,EAAE+3K,GAAG/3K,GAAUq2K,GAAGr2K,EAAE0mB,GAAG,SAASsxJ,GAAGh4K,EAAE0mB,EAAE9f,GAAW,OAAR5G,EAAE+3K,GAAG/3K,GAAUs2K,GAAGt2K,EAAE0mB,EAAE9f,GAAG,SAASqxK,KAAK,GAAG,OAAO1mH,GAAG,CAAC,IAAIvxD,EAAEuxD,GAAGA,GAAG,KAAKglH,GAAGv2K,GAAGk4K,KAC3a,SAASA,KAAK,IAAIP,IAAI,OAAOD,GAAG,CAACC,IAAG,EAAG,IAAI33K,EAAE,EAAE,IAAI,IAAI0mB,EAAEgxJ,GAAGn8B,GAAG,IAAG,WAAW,KAAKv7I,EAAE0mB,EAAE9tB,OAAOoH,IAAI,CAAC,IAAI4G,EAAE8f,EAAE1mB,GAAG,GAAG4G,EAAEA,GAAE,SAAU,OAAOA,OAAM8wK,GAAG,KAAK,MAAM9wK,GAAG,MAAM,OAAO8wK,KAAKA,GAAGA,GAAGn8K,MAAMyE,EAAE,IAAIs2K,GAAGU,GAAGiB,IAAIrxK,EAAG,QAAQ+wK,IAAG,IAAK,IAAIQ,GAAG/e,EAAGgf,wBAAwB,SAAStwF,GAAG9nF,EAAE0mB,GAAG,GAAG1mB,GAAGA,EAAEikC,aAAa,CAA4B,IAAI,IAAIr9B,KAAnC8f,EAAEvmB,EAAE,GAAGumB,GAAG1mB,EAAEA,EAAEikC,kBAA4B,IAASvd,EAAE9f,KAAK8f,EAAE9f,GAAG5G,EAAE4G,IAAI,OAAO8f,EAAE,OAAOA,EAAE,IAAI2xJ,GAAGnD,GAAG,MAAMoD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,KAC5b,SAASI,GAAG14K,GAAG,IAAI0mB,EAAE2xJ,GAAG90K,QAAQiuJ,GAAE6mB,IAAIr4K,EAAEnD,KAAK0oD,SAASozH,cAAcjyJ,EAAE,SAASkyJ,GAAG54K,EAAE0mB,GAAG,KAAK,OAAO1mB,GAAG,CAAC,IAAI4G,EAAE5G,EAAEsjK,UAAU,IAAItjK,EAAE64K,WAAWnyJ,KAAKA,EAAC,CAAC,GAAG,OAAO9f,IAAIA,EAAEiyK,WAAWnyJ,KAAKA,EAAE,MAAW9f,EAAEiyK,YAAYnyJ,OAAO1mB,EAAE64K,YAAYnyJ,EAAE,OAAO9f,IAAIA,EAAEiyK,YAAYnyJ,GAAG1mB,EAAEA,EAAEujK,QAAQ,SAASuV,GAAG94K,EAAE0mB,GAAG4xJ,GAAGt4K,EAAEw4K,GAAGD,GAAG,KAAsB,QAAjBv4K,EAAEA,EAAE+4K,eAAuB,OAAO/4K,EAAEg5K,eAAe,KAAKh5K,EAAEi5K,MAAMvyJ,KAAKwyJ,IAAG,GAAIl5K,EAAEg5K,aAAa,MACvY,SAASG,GAAGn5K,EAAE0mB,GAAG,GAAG8xJ,KAAKx4K,IAAG,IAAK0mB,GAAG,IAAIA,EAAmG,GAA7F,kBAAkBA,GAAG,aAAaA,IAAE8xJ,GAAGx4K,EAAE0mB,EAAE,YAAWA,EAAE,CAAC9a,QAAQ5L,EAAEo5K,aAAa1yJ,EAAE5D,KAAK,MAAS,OAAOy1J,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAMz8J,MAAMu7C,EAAE,MAAMmhH,GAAG7xJ,EAAE4xJ,GAAGS,aAAa,CAACE,MAAM,EAAED,aAAatyJ,EAAE2yJ,WAAW,WAAWd,GAAGA,GAAGz1J,KAAK4D,EAAE,OAAO1mB,EAAE24K,cAAc,IAAIW,IAAG,EAAG,SAASC,GAAGv5K,GAAGA,EAAEw5K,YAAY,CAACC,UAAUz5K,EAAEyjK,cAAciW,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACniK,QAAQ,MAAMoiK,QAAQ,MAC1a,SAASC,GAAG95K,EAAE0mB,GAAG1mB,EAAEA,EAAEw5K,YAAY9yJ,EAAE8yJ,cAAcx5K,IAAI0mB,EAAE8yJ,YAAY,CAACC,UAAUz5K,EAAEy5K,UAAUC,gBAAgB15K,EAAE05K,gBAAgBC,eAAe35K,EAAE25K,eAAeC,OAAO55K,EAAE45K,OAAOC,QAAQ75K,EAAE65K,UAAU,SAASE,GAAG/5K,EAAE0mB,GAAG,MAAM,CAACszJ,UAAUh6K,EAAEi6K,KAAKvzJ,EAAEq0I,IAAI,EAAE54H,QAAQ,KAAK5qB,SAAS,KAAKuL,KAAK,MAAM,SAASo3J,GAAGl6K,EAAE0mB,GAAmB,GAAG,QAAnB1mB,EAAEA,EAAEw5K,aAAwB,CAAY,IAAI5yK,GAAf5G,EAAEA,EAAE45K,QAAeniK,QAAQ,OAAO7Q,EAAE8f,EAAE5D,KAAK4D,GAAGA,EAAE5D,KAAKlc,EAAEkc,KAAKlc,EAAEkc,KAAK4D,GAAG1mB,EAAEyX,QAAQiP,GACrZ,SAASyzJ,GAAGn6K,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAEw5K,YAAYnmG,EAAErzE,EAAEsjK,UAAU,GAAG,OAAOjwF,GAAoBzsE,KAAhBysE,EAAEA,EAAEmmG,aAAmB,CAAC,IAAIz2K,EAAE,KAAK4Q,EAAE,KAAyB,GAAG,QAAvB/M,EAAEA,EAAE8yK,iBAA4B,CAAC,EAAE,CAAC,IAAIthB,EAAE,CAAC4hB,UAAUpzK,EAAEozK,UAAUC,KAAKrzK,EAAEqzK,KAAKlf,IAAIn0J,EAAEm0J,IAAI54H,QAAQv7B,EAAEu7B,QAAQ5qB,SAAS3Q,EAAE2Q,SAASuL,KAAK,MAAM,OAAOnP,EAAE5Q,EAAE4Q,EAAEykJ,EAAEzkJ,EAAEA,EAAEmP,KAAKs1I,EAAExxJ,EAAEA,EAAEkc,WAAW,OAAOlc,GAAG,OAAO+M,EAAE5Q,EAAE4Q,EAAE+S,EAAE/S,EAAEA,EAAEmP,KAAK4D,OAAO3jB,EAAE4Q,EAAE+S,EAAiH,OAA/G9f,EAAE,CAAC6yK,UAAUpmG,EAAEomG,UAAUC,gBAAgB32K,EAAE42K,eAAehmK,EAAEimK,OAAOvmG,EAAEumG,OAAOC,QAAQxmG,EAAEwmG,cAAS75K,EAAEw5K,YAAY5yK,GAA4B,QAAnB5G,EAAE4G,EAAE+yK,gBAAwB/yK,EAAE8yK,gBAAgBhzJ,EAAE1mB,EAAE8iB,KACnf4D,EAAE9f,EAAE+yK,eAAejzJ,EACnB,SAAS0zJ,GAAGp6K,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE/C,EAAEw5K,YAAYF,IAAG,EAAG,IAAI3lK,EAAE5Q,EAAE22K,gBAAgBthB,EAAEr1J,EAAE42K,eAAe9sJ,EAAE9pB,EAAE62K,OAAOniK,QAAQ,GAAG,OAAOoV,EAAE,CAAC9pB,EAAE62K,OAAOniK,QAAQ,KAAK,IAAI3W,EAAE+rB,EAAE1tB,EAAE2B,EAAEgiB,KAAKhiB,EAAEgiB,KAAK,KAAK,OAAOs1I,EAAEzkJ,EAAExU,EAAEi5J,EAAEt1I,KAAK3jB,EAAEi5J,EAAEt3J,EAAE,IAAIzF,EAAE2E,EAAEsjK,UAAU,GAAG,OAAOjoK,EAAE,CAAiB,IAAIg/K,GAApBh/K,EAAEA,EAAEm+K,aAAoBG,eAAeU,IAAIjiB,IAAI,OAAOiiB,EAAEh/K,EAAEq+K,gBAAgBv6K,EAAEk7K,EAAEv3J,KAAK3jB,EAAE9D,EAAEs+K,eAAe74K,IAAI,GAAG,OAAO6S,EAAE,CAA8B,IAA7B0mK,EAAEt3K,EAAE02K,UAAUrhB,EAAE,EAAE/8J,EAAE8D,EAAE2B,EAAE,OAAO,CAAC+rB,EAAElZ,EAAEsmK,KAAK,IAAIrgL,EAAE+Z,EAAEqmK,UAAU,IAAI3mG,EAAExmD,KAAKA,EAAE,CAAC,OAAOxxB,IAAIA,EAAEA,EAAEynB,KAAK,CAACk3J,UAAUpgL,EAAEqgL,KAAK,EAAElf,IAAIpnJ,EAAEonJ,IAAI54H,QAAQxuB,EAAEwuB,QAAQ5qB,SAAS5D,EAAE4D,SACrfuL,KAAK,OAAO9iB,EAAE,CAAC,IAAIs6K,EAAEt6K,EAAEm3D,EAAExjD,EAAU,OAARkZ,EAAEnG,EAAE9sB,EAAEgN,EAASuwD,EAAE4jG,KAAK,KAAK,EAAc,GAAG,oBAAfuf,EAAEnjH,EAAEh1B,SAAiC,CAACk4I,EAAEC,EAAEjgL,KAAKT,EAAEygL,EAAExtJ,GAAG,MAAM7sB,EAAEq6K,EAAEC,EAAE,MAAMt6K,EAAE,KAAK,EAAEs6K,EAAEt4E,OAAe,KAATs4E,EAAEt4E,MAAY,GAAG,KAAK,EAAsD,GAAG,QAA3Cn1E,EAAE,oBAAdytJ,EAAEnjH,EAAEh1B,SAAgCm4I,EAAEjgL,KAAKT,EAAEygL,EAAExtJ,GAAGytJ,SAAe,IAASztJ,EAAE,MAAM7sB,EAAEq6K,EAAEl6K,EAAE,GAAGk6K,EAAExtJ,GAAG,MAAM7sB,EAAE,KAAK,EAAEs5K,IAAG,GAAI,OAAO3lK,EAAE4D,WAAWvX,EAAEgiG,OAAO,GAAe,QAAZn1E,EAAE9pB,EAAE82K,SAAiB92K,EAAE82K,QAAQ,CAAClmK,GAAGkZ,EAAEzwB,KAAKuX,SAAS/Z,EAAE,CAACogL,UAAUpgL,EAAEqgL,KAAKptJ,EAAEkuI,IAAIpnJ,EAAEonJ,IAAI54H,QAAQxuB,EAAEwuB,QAAQ5qB,SAAS5D,EAAE4D,SAASuL,KAAK,MAAM,OAAOznB,GAAG8D,EAAE9D,EAAEzB,EAAEkH,EAAEu5K,GAAGh/K,EAAEA,EAAEynB,KAAKlpB,EAAEw+J,GAAGvrI,EAAW,GAAG,QAAZlZ,EAAEA,EAAEmP,MAC1e,IAAsB,QAAnB+J,EAAE9pB,EAAE62K,OAAOniK,SAAiB,MAAW9D,EAAEkZ,EAAE/J,KAAK+J,EAAE/J,KAAK,KAAK/f,EAAE42K,eAAe9sJ,EAAE9pB,EAAE62K,OAAOniK,QAAQ,MAAc,OAAOpc,IAAIyF,EAAEu5K,GAAGt3K,EAAE02K,UAAU34K,EAAEiC,EAAE22K,gBAAgBv6K,EAAE4D,EAAE42K,eAAet+K,EAAEk/K,IAAIniB,EAAEp4J,EAAEi5K,MAAM7gB,EAAEp4J,EAAEyjK,cAAc4W,GAAG,SAASG,GAAGx6K,EAAE0mB,EAAE9f,GAA8B,GAA3B5G,EAAE0mB,EAAEmzJ,QAAQnzJ,EAAEmzJ,QAAQ,KAAQ,OAAO75K,EAAE,IAAI0mB,EAAE,EAAEA,EAAE1mB,EAAEpH,OAAO8tB,IAAI,CAAC,IAAI2sD,EAAErzE,EAAE0mB,GAAG3jB,EAAEswE,EAAE97D,SAAS,GAAG,OAAOxU,EAAE,CAAqB,GAApBswE,EAAE97D,SAAS,KAAK87D,EAAEzsE,EAAK,oBAAoB7D,EAAE,MAAM8Y,MAAMu7C,EAAE,IAAIr0D,IAAIA,EAAE1I,KAAKg5E,KAAK,IAAIonG,IAAI,IAAIhjB,EAAG9zH,WAAW+2I,KAC3b,SAASC,GAAG36K,EAAE0mB,EAAE9f,EAAEysE,GAA8BzsE,EAAE,QAAXA,EAAEA,EAAEysE,EAAtB3sD,EAAE1mB,EAAEyjK,sBAAmC,IAAS78J,EAAE8f,EAAEvmB,EAAE,GAAGumB,EAAE9f,GAAG5G,EAAEyjK,cAAc78J,EAAE,IAAI5G,EAAEi5K,QAAQj5K,EAAEw5K,YAAYC,UAAU7yK,GAC3I,IAAIg0K,GAAG,CAACjqI,UAAU,SAAS3wC,GAAG,SAAOA,EAAEA,EAAE66K,kBAAiBxX,GAAGrjK,KAAKA,GAAM86K,gBAAgB,SAAS96K,EAAE0mB,EAAE9f,GAAG5G,EAAEA,EAAE66K,gBAAgB,IAAIxnG,EAAE0nG,KAAKh4K,EAAEi4K,GAAGh7K,GAAG2T,EAAEomK,GAAG1mG,EAAEtwE,GAAG4Q,EAAEwuB,QAAQzb,OAAE,IAAS9f,GAAG,OAAOA,IAAI+M,EAAE4D,SAAS3Q,GAAGszK,GAAGl6K,EAAE2T,GAAGsnK,GAAGj7K,EAAE+C,EAAEswE,IAAI6nG,oBAAoB,SAASl7K,EAAE0mB,EAAE9f,GAAG5G,EAAEA,EAAE66K,gBAAgB,IAAIxnG,EAAE0nG,KAAKh4K,EAAEi4K,GAAGh7K,GAAG2T,EAAEomK,GAAG1mG,EAAEtwE,GAAG4Q,EAAEonJ,IAAI,EAAEpnJ,EAAEwuB,QAAQzb,OAAE,IAAS9f,GAAG,OAAOA,IAAI+M,EAAE4D,SAAS3Q,GAAGszK,GAAGl6K,EAAE2T,GAAGsnK,GAAGj7K,EAAE+C,EAAEswE,IAAI8nG,mBAAmB,SAASn7K,EAAE0mB,GAAG1mB,EAAEA,EAAE66K,gBAAgB,IAAIj0K,EAAEm0K,KAAK1nG,EAAE2nG,GAAGh7K,GAAG+C,EAAEg3K,GAAGnzK,EAAEysE,GAAGtwE,EAAEg4J,IAAI,OAAE,IAASr0I,GAAG,OAAOA,IAAI3jB,EAAEwU,SACjfmP,GAAGwzJ,GAAGl6K,EAAE+C,GAAGk4K,GAAGj7K,EAAEqzE,EAAEzsE,KAAK,SAASw0K,GAAGp7K,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,EAAEykJ,GAAiB,MAAM,oBAApBp4J,EAAEA,EAAE+hK,WAAsCsZ,sBAAsBr7K,EAAEq7K,sBAAsBhoG,EAAE1/D,EAAEykJ,IAAG1xI,EAAEvuB,YAAWuuB,EAAEvuB,UAAUmjL,wBAAsBnK,GAAGvqK,EAAEysE,KAAK89F,GAAGpuK,EAAE4Q,IAC/M,SAAS4nK,GAAGv7K,EAAE0mB,EAAE9f,GAAG,IAAIysE,GAAE,EAAGtwE,EAAEqyK,GAAOzhK,EAAE+S,EAAE4uB,YAA2W,MAA/V,kBAAkB3hC,GAAG,OAAOA,EAAEA,EAAEwlK,GAAGxlK,IAAI5Q,EAAE2yK,GAAGhvJ,GAAG2uJ,GAAGxtC,GAAEtkI,QAAyBoQ,GAAG0/D,EAAE,QAAtBA,EAAE3sD,EAAE6uJ,oBAA4B,IAASliG,GAAGiiG,GAAGt1K,EAAE+C,GAAGqyK,IAAI1uJ,EAAE,IAAIA,EAAE9f,EAAE+M,GAAG3T,EAAEyjK,cAAc,OAAO/8I,EAAEtP,YAAO,IAASsP,EAAEtP,MAAMsP,EAAEtP,MAAM,KAAKsP,EAAE80J,QAAQZ,GAAG56K,EAAE+hK,UAAUr7I,EAAEA,EAAEm0J,gBAAgB76K,EAAEqzE,KAAIrzE,EAAEA,EAAE+hK,WAAYyT,4CAA4CzyK,EAAE/C,EAAEy1K,0CAA0C9hK,GAAU+S,EAC3Z,SAAS+0J,GAAGz7K,EAAE0mB,EAAE9f,EAAEysE,GAAGrzE,EAAE0mB,EAAEtP,MAAM,oBAAoBsP,EAAEipB,2BAA2BjpB,EAAEipB,0BAA0B/oC,EAAEysE,GAAG,oBAAoB3sD,EAAEg1J,kCAAkCh1J,EAAEg1J,iCAAiC90K,EAAEysE,GAAG3sD,EAAEtP,QAAQpX,GAAG46K,GAAGM,oBAAoBx0J,EAAEA,EAAEtP,MAAM,MAC/P,SAASukK,GAAG37K,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE/C,EAAE+hK,UAAUh/J,EAAErK,MAAMkO,EAAE7D,EAAEqU,MAAMpX,EAAEyjK,cAAc1gK,EAAE23K,KAAKD,GAAGlB,GAAGv5K,GAAG,IAAI2T,EAAE+S,EAAE4uB,YAAY,kBAAkB3hC,GAAG,OAAOA,EAAE5Q,EAAE6I,QAAQutK,GAAGxlK,IAAIA,EAAE+hK,GAAGhvJ,GAAG2uJ,GAAGxtC,GAAEtkI,QAAQR,EAAE6I,QAAQ0pK,GAAGt1K,EAAE2T,IAAIymK,GAAGp6K,EAAE4G,EAAE7D,EAAEswE,GAAGtwE,EAAEqU,MAAMpX,EAAEyjK,cAA2C,oBAA7B9vJ,EAAE+S,EAAEgpB,4BAAiDirI,GAAG36K,EAAE0mB,EAAE/S,EAAE/M,GAAG7D,EAAEqU,MAAMpX,EAAEyjK,eAAe,oBAAoB/8I,EAAEgpB,0BAA0B,oBAAoB3sC,EAAEotC,yBAAyB,oBAAoBptC,EAAE64K,2BAA2B,oBAAoB74K,EAAE0sC,qBACve/oB,EAAE3jB,EAAEqU,MAAM,oBAAoBrU,EAAE0sC,oBAAoB1sC,EAAE0sC,qBAAqB,oBAAoB1sC,EAAE64K,2BAA2B74K,EAAE64K,4BAA4Bl1J,IAAI3jB,EAAEqU,OAAOwjK,GAAGM,oBAAoBn4K,EAAEA,EAAEqU,MAAM,MAAMgjK,GAAGp6K,EAAE4G,EAAE7D,EAAEswE,GAAGtwE,EAAEqU,MAAMpX,EAAEyjK,eAAe,oBAAoB1gK,EAAEmwC,oBAAoBlzC,EAAEgiG,OAAO,GAAG,IAAI65E,GAAGlhL,MAAMC,QACvT,SAASkhL,GAAG97K,EAAE0mB,EAAE9f,GAAW,GAAG,QAAX5G,EAAE4G,EAAE08B,MAAiB,oBAAoBtjC,GAAG,kBAAkBA,EAAE,CAAC,GAAG4G,EAAEm1K,OAAO,CAAY,GAAXn1K,EAAEA,EAAEm1K,OAAY,CAAC,GAAG,IAAIn1K,EAAEm0J,IAAI,MAAMl/I,MAAMu7C,EAAE,MAAM,IAAIic,EAAEzsE,EAAEm7J,UAAU,IAAI1uF,EAAE,MAAMx3D,MAAMu7C,EAAE,IAAIp3D,IAAI,IAAI+C,EAAE,GAAG/C,EAAE,OAAG,OAAO0mB,GAAG,OAAOA,EAAE4c,KAAK,oBAAoB5c,EAAE4c,KAAK5c,EAAE4c,IAAI04I,aAAaj5K,EAAS2jB,EAAE4c,KAAI5c,EAAE,SAAS1mB,GAAG,IAAI0mB,EAAE2sD,EAAEqnG,KAAKh0J,IAAI+zJ,KAAK/zJ,EAAE2sD,EAAEqnG,KAAK,IAAI,OAAO16K,SAAS0mB,EAAE3jB,GAAG2jB,EAAE3jB,GAAG/C,GAAG0mB,EAAEs1J,WAAWj5K,EAAS2jB,GAAE,GAAG,kBAAkB1mB,EAAE,MAAM6b,MAAMu7C,EAAE,MAAM,IAAIxwD,EAAEm1K,OAAO,MAAMlgK,MAAMu7C,EAAE,IAAIp3D,IAAK,OAAOA,EAChe,SAASi8K,GAAGj8K,EAAE0mB,GAAG,GAAG,aAAa1mB,EAAEnD,KAAK,MAAMgf,MAAMu7C,EAAE,GAAG,oBAAoBn+D,OAAOd,UAAUmD,SAASjB,KAAKqsB,GAAG,qBAAqBztB,OAAO6C,KAAK4qB,GAAGjjB,KAAK,MAAM,IAAIijB,IAClK,SAASw1J,GAAGl8K,GAAG,SAAS0mB,EAAEA,EAAE9f,GAAG,GAAG5G,EAAE,CAAC,IAAIqzE,EAAE3sD,EAAEy1J,WAAW,OAAO9oG,GAAGA,EAAE+oG,WAAWx1K,EAAE8f,EAAEy1J,WAAWv1K,GAAG8f,EAAE21J,YAAY31J,EAAEy1J,WAAWv1K,EAAEA,EAAEw1K,WAAW,KAAKx1K,EAAEo7F,MAAM,GAAG,SAASp7F,EAAEA,EAAEysE,GAAG,IAAIrzE,EAAE,OAAO,KAAK,KAAK,OAAOqzE,GAAG3sD,EAAE9f,EAAEysE,GAAGA,EAAEA,EAAEwwF,QAAQ,OAAO,KAAK,SAASxwF,EAAErzE,EAAE0mB,GAAG,IAAI1mB,EAAE,IAAI01D,IAAI,OAAOhvC,GAAG,OAAOA,EAAEvtB,IAAI6G,EAAEiQ,IAAIyW,EAAEvtB,IAAIutB,GAAG1mB,EAAEiQ,IAAIyW,EAAEviB,MAAMuiB,GAAGA,EAAEA,EAAEm9I,QAAQ,OAAO7jK,EAAE,SAAS+C,EAAE/C,EAAE0mB,GAAsC,OAAnC1mB,EAAEs8K,GAAGt8K,EAAE0mB,IAAKviB,MAAM,EAAEnE,EAAE6jK,QAAQ,KAAY7jK,EAAE,SAAS2T,EAAE+S,EAAE9f,EAAEysE,GAAa,OAAV3sD,EAAEviB,MAAMkvE,EAAMrzE,EAA4B,QAAjBqzE,EAAE3sD,EAAE48I,YAA6BjwF,EAAEA,EAAElvE,OAAQyC,GAAG8f,EAAEs7E,MAAM,EACpfp7F,GAAGysE,GAAE3sD,EAAEs7E,MAAM,EAASp7F,GADoaA,EACla,SAASwxJ,EAAE1xI,GAAsC,OAAnC1mB,GAAG,OAAO0mB,EAAE48I,YAAY58I,EAAEs7E,MAAM,GAAUt7E,EAAE,SAASmG,EAAE7sB,EAAE0mB,EAAE9f,EAAEysE,GAAG,OAAG,OAAO3sD,GAAG,IAAIA,EAAEq0I,MAAWr0I,EAAE61J,GAAG31K,EAAE5G,EAAE4wJ,KAAKv9E,IAAKkwF,OAAOvjK,EAAE0mB,KAAEA,EAAE3jB,EAAE2jB,EAAE9f,IAAK28J,OAAOvjK,EAAS0mB,GAAE,SAAS5lB,EAAEd,EAAE0mB,EAAE9f,EAAEysE,GAAG,OAAG,OAAO3sD,GAAGA,EAAE0pI,cAAcxpJ,EAAE/J,OAAYw2E,EAAEtwE,EAAE2jB,EAAE9f,EAAElO,QAAS4qC,IAAIw4I,GAAG97K,EAAE0mB,EAAE9f,GAAGysE,EAAEkwF,OAAOvjK,EAAEqzE,KAAEA,EAAEmpG,GAAG51K,EAAE/J,KAAK+J,EAAEzN,IAAIyN,EAAElO,MAAM,KAAKsH,EAAE4wJ,KAAKv9E,IAAK/vC,IAAIw4I,GAAG97K,EAAE0mB,EAAE9f,GAAGysE,EAAEkwF,OAAOvjK,EAASqzE,GAAE,SAASl0E,EAAEa,EAAE0mB,EAAE9f,EAAEysE,GAAG,OAAG,OAAO3sD,GAAG,IAAIA,EAAEq0I,KAAKr0I,EAAEq7I,UAAU2D,gBAAgB9+J,EAAE8+J,eAAeh/I,EAAEq7I,UAAU0a,iBAAiB71K,EAAE61K,iBAAsB/1J,EACrgBg2J,GAAG91K,EAAE5G,EAAE4wJ,KAAKv9E,IAAKkwF,OAAOvjK,EAAE0mB,KAAEA,EAAE3jB,EAAE2jB,EAAE9f,EAAE4+B,UAAU,KAAM+9H,OAAOvjK,EAAS0mB,GAAE,SAASrrB,EAAE2E,EAAE0mB,EAAE9f,EAAEysE,EAAE1/D,GAAG,OAAG,OAAO+S,GAAG,IAAIA,EAAEq0I,MAAWr0I,EAAEi2J,GAAG/1K,EAAE5G,EAAE4wJ,KAAKv9E,EAAE1/D,IAAK4vJ,OAAOvjK,EAAE0mB,KAAEA,EAAE3jB,EAAE2jB,EAAE9f,IAAK28J,OAAOvjK,EAAS0mB,GAAE,SAAS2zJ,EAAEr6K,EAAE0mB,EAAE9f,GAAG,GAAG,kBAAkB8f,GAAG,kBAAkBA,EAAE,OAAOA,EAAE61J,GAAG,GAAG71J,EAAE1mB,EAAE4wJ,KAAKhqJ,IAAK28J,OAAOvjK,EAAE0mB,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEw0I,UAAU,KAAK5B,EAAG,OAAO1yJ,EAAE41K,GAAG91J,EAAE7pB,KAAK6pB,EAAEvtB,IAAIutB,EAAEhuB,MAAM,KAAKsH,EAAE4wJ,KAAKhqJ,IAAK08B,IAAIw4I,GAAG97K,EAAE,KAAK0mB,GAAG9f,EAAE28J,OAAOvjK,EAAE4G,EAAE,KAAK2yJ,EAAG,OAAO7yI,EAAEg2J,GAAGh2J,EAAE1mB,EAAE4wJ,KAAKhqJ,IAAK28J,OAAOvjK,EAAE0mB,EAAE,GAAGm1J,GAAGn1J,IAAI+zI,EAAG/zI,GAAG,OAAOA,EAAEi2J,GAAGj2J,EACnf1mB,EAAE4wJ,KAAKhqJ,EAAE,OAAQ28J,OAAOvjK,EAAE0mB,EAAEu1J,GAAGj8K,EAAE0mB,GAAG,OAAO,KAAK,SAAS9sB,EAAEoG,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE,OAAO2jB,EAAEA,EAAEvtB,IAAI,KAAK,GAAG,kBAAkByN,GAAG,kBAAkBA,EAAE,OAAO,OAAO7D,EAAE,KAAK8pB,EAAE7sB,EAAE0mB,EAAE,GAAG9f,EAAEysE,GAAG,GAAG,kBAAkBzsE,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEs0J,UAAU,KAAK5B,EAAG,OAAO1yJ,EAAEzN,MAAM4J,EAAE6D,EAAE/J,OAAO28J,EAAGn+J,EAAE2E,EAAE0mB,EAAE9f,EAAElO,MAAM8sC,SAAS6tC,EAAEtwE,GAAGjC,EAAEd,EAAE0mB,EAAE9f,EAAEysE,GAAG,KAAK,KAAKkmF,EAAG,OAAO3yJ,EAAEzN,MAAM4J,EAAE5D,EAAEa,EAAE0mB,EAAE9f,EAAEysE,GAAG,KAAK,GAAGwoG,GAAGj1K,IAAI6zJ,EAAG7zJ,GAAG,OAAO,OAAO7D,EAAE,KAAK1H,EAAE2E,EAAE0mB,EAAE9f,EAAEysE,EAAE,MAAM4oG,GAAGj8K,EAAE4G,GAAG,OAAO,KAAK,SAAS0zK,EAAEt6K,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,GAAG,kBAAkBswE,GAAG,kBAAkBA,EAAE,OAClexmD,EAAEnG,EADue1mB,EAAEA,EAAEmZ,IAAIvS,IACtf,KAAW,GAAGysE,EAAEtwE,GAAG,GAAG,kBAAkBswE,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAE6nF,UAAU,KAAK5B,EAAG,OAAOt5J,EAAEA,EAAEmZ,IAAI,OAAOk6D,EAAEl6E,IAAIyN,EAAEysE,EAAEl6E,MAAM,KAAKk6E,EAAEx2E,OAAO28J,EAAGn+J,EAAEqrB,EAAE1mB,EAAEqzE,EAAE36E,MAAM8sC,SAASziC,EAAEswE,EAAEl6E,KAAK2H,EAAE4lB,EAAE1mB,EAAEqzE,EAAEtwE,GAAG,KAAKw2J,EAAG,OAA2Cp6J,EAAEunB,EAAtC1mB,EAAEA,EAAEmZ,IAAI,OAAOk6D,EAAEl6E,IAAIyN,EAAEysE,EAAEl6E,MAAM,KAAWk6E,EAAEtwE,GAAG,GAAG84K,GAAGxoG,IAAIonF,EAAGpnF,GAAG,OAAwBh4E,EAAEqrB,EAAnB1mB,EAAEA,EAAEmZ,IAAIvS,IAAI,KAAWysE,EAAEtwE,EAAE,MAAMk5K,GAAGv1J,EAAE2sD,GAAG,OAAO,KAAK,SAASlc,EAAEp0D,EAAEq1J,EAAEvrI,EAAE/rB,GAAG,IAAI,IAAI3B,EAAE,KAAKe,EAAE,KAAKmgG,EAAE+3D,EAAEp3B,EAAEo3B,EAAE,EAAElgJ,EAAE,KAAK,OAAOmoF,GAAG2gC,EAAEn0G,EAAEj0B,OAAOooI,IAAI,CAAC3gC,EAAEl8F,MAAM68H,GAAG9oH,EAAEmoF,EAAEA,EAAE,MAAMnoF,EAAEmoF,EAAEwjE,QAAQ,IAAIxoK,EAAEzB,EAAEmJ,EAAEs9F,EAAExzE,EAAEm0G,GAAGlgI,GAAG,GAAG,OAAOzF,EAAE,CAAC,OAAOglG,IAAIA,EAAEnoF,GAAG,MAAMlY,GAAGqgG,GAAG,OACjfhlG,EAAEioK,WAAW58I,EAAE3jB,EAAEs9F,GAAG+3D,EAAEzkJ,EAAEtY,EAAE+8J,EAAEp3B,GAAG,OAAO9gI,EAAEf,EAAE9D,EAAE6E,EAAE2jK,QAAQxoK,EAAE6E,EAAE7E,EAAEglG,EAAEnoF,EAAE,GAAG8oH,IAAIn0G,EAAEj0B,OAAO,OAAOgO,EAAE7D,EAAEs9F,GAAGlhG,EAAE,GAAG,OAAOkhG,EAAE,CAAC,KAAK2gC,EAAEn0G,EAAEj0B,OAAOooI,IAAkB,QAAd3gC,EAAEg6E,EAAEt3K,EAAE8pB,EAAEm0G,GAAGlgI,MAAcs3J,EAAEzkJ,EAAE0sF,EAAE+3D,EAAEp3B,GAAG,OAAO9gI,EAAEf,EAAEkhG,EAAEngG,EAAE2jK,QAAQxjE,EAAEngG,EAAEmgG,GAAG,OAAOlhG,EAAE,IAAIkhG,EAAEhtB,EAAEtwE,EAAEs9F,GAAG2gC,EAAEn0G,EAAEj0B,OAAOooI,IAAsB,QAAlB9oH,EAAEoiK,EAAEj6E,EAAEt9F,EAAEi+H,EAAEn0G,EAAEm0G,GAAGlgI,MAAcd,GAAG,OAAOkY,EAAEorJ,WAAWjjE,EAAE6kE,OAAO,OAAOhtJ,EAAE/e,IAAI6nI,EAAE9oH,EAAE/e,KAAKi/J,EAAEzkJ,EAAEuE,EAAEkgJ,EAAEp3B,GAAG,OAAO9gI,EAAEf,EAAE+Y,EAAEhY,EAAE2jK,QAAQ3rJ,EAAEhY,EAAEgY,GAA4C,OAAzClY,GAAGqgG,EAAE5jG,SAAQ,SAASuD,GAAG,OAAO0mB,EAAE3jB,EAAE/C,MAAYb,EAAE,SAAS2yB,EAAE/uB,EAAEq1J,EAAEvrI,EAAE/rB,GAAG,IAAI3B,EAAEs7J,EAAG5tI,GAAG,GAAG,oBAAoB1tB,EAAE,MAAM0c,MAAMu7C,EAAE,MAAkB,GAAG,OAAfvqC,EAAE1tB,EAAE9E,KAAKwyB,IAC1e,MAAMhR,MAAMu7C,EAAE,MAAM,IAAI,IAAIl3D,EAAEf,EAAE,KAAKkhG,EAAE+3D,EAAEp3B,EAAEo3B,EAAE,EAAElgJ,EAAE,KAAK7c,EAAEwxB,EAAE/J,OAAO,OAAOu9E,IAAIhlG,EAAEkd,KAAKyoH,IAAI3lI,EAAEwxB,EAAE/J,OAAO,CAACu9E,EAAEl8F,MAAM68H,GAAG9oH,EAAEmoF,EAAEA,EAAE,MAAMnoF,EAAEmoF,EAAEwjE,QAAQ,IAAI/xI,EAAEl4B,EAAEmJ,EAAEs9F,EAAEhlG,EAAElB,MAAM2G,GAAG,GAAG,OAAOgxB,EAAE,CAAC,OAAOuuE,IAAIA,EAAEnoF,GAAG,MAAMlY,GAAGqgG,GAAG,OAAOvuE,EAAEwxI,WAAW58I,EAAE3jB,EAAEs9F,GAAG+3D,EAAEzkJ,EAAEme,EAAEsmI,EAAEp3B,GAAG,OAAO9gI,EAAEf,EAAE2yB,EAAE5xB,EAAE2jK,QAAQ/xI,EAAE5xB,EAAE4xB,EAAEuuE,EAAEnoF,EAAE,GAAG7c,EAAEkd,KAAK,OAAO3R,EAAE7D,EAAEs9F,GAAGlhG,EAAE,GAAG,OAAOkhG,EAAE,CAAC,MAAMhlG,EAAEkd,KAAKyoH,IAAI3lI,EAAEwxB,EAAE/J,OAAwB,QAAjBznB,EAAEg/K,EAAEt3K,EAAE1H,EAAElB,MAAM2G,MAAcs3J,EAAEzkJ,EAAEtY,EAAE+8J,EAAEp3B,GAAG,OAAO9gI,EAAEf,EAAE9D,EAAE6E,EAAE2jK,QAAQxoK,EAAE6E,EAAE7E,GAAG,OAAO8D,EAAE,IAAIkhG,EAAEhtB,EAAEtwE,EAAEs9F,IAAIhlG,EAAEkd,KAAKyoH,IAAI3lI,EAAEwxB,EAAE/J,OAA4B,QAArBznB,EAAEi/K,EAAEj6E,EAAEt9F,EAAEi+H,EAAE3lI,EAAElB,MAAM2G,MAAcd,GAAG,OAAO3E,EAAEioK,WAChfjjE,EAAE6kE,OAAO,OAAO7pK,EAAElC,IAAI6nI,EAAE3lI,EAAElC,KAAKi/J,EAAEzkJ,EAAEtY,EAAE+8J,EAAEp3B,GAAG,OAAO9gI,EAAEf,EAAE9D,EAAE6E,EAAE2jK,QAAQxoK,EAAE6E,EAAE7E,GAA4C,OAAzC2E,GAAGqgG,EAAE5jG,SAAQ,SAASuD,GAAG,OAAO0mB,EAAE3jB,EAAE/C,MAAYb,EAAE,OAAO,SAASa,EAAEqzE,EAAE1/D,EAAEkZ,GAAG,IAAI/rB,EAAE,kBAAkB6S,GAAG,OAAOA,GAAGA,EAAE9W,OAAO28J,GAAI,OAAO7lJ,EAAExa,IAAI2H,IAAI6S,EAAEA,EAAEjb,MAAM8sC,UAAU,IAAIrmC,EAAE,kBAAkBwU,GAAG,OAAOA,EAAE,GAAGxU,EAAE,OAAOwU,EAAEunJ,UAAU,KAAK5B,EAAGt5J,EAAE,CAAS,IAARb,EAAEwU,EAAExa,IAAQ2H,EAAEuyE,EAAE,OAAOvyE,GAAG,CAAC,GAAGA,EAAE3H,MAAMgG,EAAE,CAAC,GAAmB,IAAZ2B,EAAEi6J,KAAY,GAAGpnJ,EAAE9W,OAAO28J,EAAG,CAAC5yJ,EAAE5G,EAAEc,EAAE+iK,UAASxwF,EAAEtwE,EAAEjC,EAAE6S,EAAEjb,MAAM8sC,WAAY+9H,OAAOvjK,EAAEA,EAAEqzE,EAAE,MAAMrzE,QAAgB,GAAGc,EAAEsvJ,cAAcz8I,EAAE9W,KAAK,CAAC+J,EAAE5G,EAAEc,EAAE+iK,UAC5exwF,EAAEtwE,EAAEjC,EAAE6S,EAAEjb,QAAS4qC,IAAIw4I,GAAG97K,EAAEc,EAAE6S,GAAG0/D,EAAEkwF,OAAOvjK,EAAEA,EAAEqzE,EAAE,MAAMrzE,EAAG4G,EAAE5G,EAAEc,GAAG,MAAW4lB,EAAE1mB,EAAEc,GAAGA,EAAEA,EAAE+iK,QAAQlwJ,EAAE9W,OAAO28J,IAAInmF,EAAEspG,GAAGhpK,EAAEjb,MAAM8sC,SAASxlC,EAAE4wJ,KAAK/jI,EAAElZ,EAAExa,MAAOoqK,OAAOvjK,EAAEA,EAAEqzE,KAAIxmD,EAAE2vJ,GAAG7oK,EAAE9W,KAAK8W,EAAExa,IAAIwa,EAAEjb,MAAM,KAAKsH,EAAE4wJ,KAAK/jI,IAAKyW,IAAIw4I,GAAG97K,EAAEqzE,EAAE1/D,GAAGkZ,EAAE02I,OAAOvjK,EAAEA,EAAE6sB,GAAG,OAAOurI,EAAEp4J,GAAG,KAAKu5J,EAAGv5J,EAAE,CAAC,IAAIc,EAAE6S,EAAExa,IAAI,OAAOk6E,GAAG,CAAC,GAAGA,EAAEl6E,MAAM2H,EAAC,CAAC,GAAG,IAAIuyE,EAAE0nF,KAAK1nF,EAAE0uF,UAAU2D,gBAAgB/xJ,EAAE+xJ,eAAeryF,EAAE0uF,UAAU0a,iBAAiB9oK,EAAE8oK,eAAe,CAAC71K,EAAE5G,EAAEqzE,EAAEwwF,UAASxwF,EAAEtwE,EAAEswE,EAAE1/D,EAAE6xB,UAAU,KAAM+9H,OAAOvjK,EAAEA,EAAEqzE,EAAE,MAAMrzE,EAAO4G,EAAE5G,EAAEqzE,GAAG,MAAW3sD,EAAE1mB,EAAEqzE,GAAGA,EAAEA,EAAEwwF,SAAQxwF,EACpfqpG,GAAG/oK,EAAE3T,EAAE4wJ,KAAK/jI,IAAK02I,OAAOvjK,EAAEA,EAAEqzE,EAAE,OAAO+kF,EAAEp4J,GAAG,GAAG,kBAAkB2T,GAAG,kBAAkBA,EAAE,OAAOA,EAAE,GAAGA,EAAE,OAAO0/D,GAAG,IAAIA,EAAE0nF,KAAKn0J,EAAE5G,EAAEqzE,EAAEwwF,UAASxwF,EAAEtwE,EAAEswE,EAAE1/D,IAAK4vJ,OAAOvjK,EAAEA,EAAEqzE,IAAIzsE,EAAE5G,EAAEqzE,IAAGA,EAAEkpG,GAAG5oK,EAAE3T,EAAE4wJ,KAAK/jI,IAAK02I,OAAOvjK,EAAEA,EAAEqzE,GAAG+kF,EAAEp4J,GAAG,GAAG67K,GAAGloK,GAAG,OAAOwjD,EAAEn3D,EAAEqzE,EAAE1/D,EAAEkZ,GAAG,GAAG4tI,EAAG9mJ,GAAG,OAAOme,EAAE9xB,EAAEqzE,EAAE1/D,EAAEkZ,GAAc,GAAX1tB,GAAG88K,GAAGj8K,EAAE2T,GAAM,qBAAqBA,IAAI7S,EAAE,OAAOd,EAAE+6J,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,MAAMl/I,MAAMu7C,EAAE,IAAI6jG,EAAGj7J,EAAEnD,OAAO,cAAe,OAAO+J,EAAE5G,EAAEqzE,IAAI,IAAIupG,GAAGV,IAAG,GAAIW,GAAGX,IAAG,GAAIY,GAAG,GAAGC,GAAG7H,GAAG4H,IAAIE,GAAG9H,GAAG4H,IAAIG,GAAG/H,GAAG4H,IACtd,SAASI,GAAGl9K,GAAG,GAAGA,IAAI88K,GAAG,MAAMjhK,MAAMu7C,EAAE,MAAM,OAAOp3D,EAAE,SAASm9K,GAAGn9K,EAAE0mB,GAAyC,OAAtCyuJ,GAAE8H,GAAGv2J,GAAGyuJ,GAAE6H,GAAGh9K,GAAGm1K,GAAE4H,GAAGD,IAAI98K,EAAE0mB,EAAE0jC,UAAmB,KAAK,EAAE,KAAK,GAAG1jC,GAAGA,EAAEA,EAAEoiC,iBAAiBpiC,EAAE82I,aAAaF,GAAG,KAAK,IAAI,MAAM,QAAkE52I,EAAE42I,GAArC52I,GAAvB1mB,EAAE,IAAIA,EAAE0mB,EAAEmxC,WAAWnxC,GAAM82I,cAAc,KAAKx9J,EAAEA,EAAEixC,SAAkBugH,GAAEurB,IAAI5H,GAAE4H,GAAGr2J,GAAG,SAAS02J,KAAK5rB,GAAEurB,IAAIvrB,GAAEwrB,IAAIxrB,GAAEyrB,IAAI,SAASI,GAAGr9K,GAAGk9K,GAAGD,GAAG15K,SAAS,IAAImjB,EAAEw2J,GAAGH,GAAGx5K,SAAaqD,EAAE02J,GAAG52I,EAAE1mB,EAAEnD,MAAM6pB,IAAI9f,IAAIuuK,GAAE6H,GAAGh9K,GAAGm1K,GAAE4H,GAAGn2K,IAAI,SAAS+gI,GAAG3nI,GAAGg9K,GAAGz5K,UAAUvD,IAAIwxJ,GAAEurB,IAAIvrB,GAAEwrB,KAAK,IAAIM,GAAEpI,GAAG,GAC9c,SAASqI,GAAGv9K,GAAG,IAAI,IAAI0mB,EAAE1mB,EAAE,OAAO0mB,GAAG,CAAC,GAAG,KAAKA,EAAEq0I,IAAI,CAAC,IAAIn0J,EAAE8f,EAAE+8I,cAAc,GAAG,OAAO78J,IAAmB,QAAfA,EAAEA,EAAE88J,aAAqB,OAAO98J,EAAEvF,MAAM,OAAOuF,EAAEvF,MAAM,OAAOqlB,OAAO,GAAG,KAAKA,EAAEq0I,UAAK,IAASr0I,EAAE82J,cAAcC,aAAa,GAAG,KAAa,GAAR/2J,EAAEs7E,OAAU,OAAOt7E,OAAO,GAAG,OAAOA,EAAEg6B,MAAM,CAACh6B,EAAEg6B,MAAM6iH,OAAO78I,EAAEA,EAAEA,EAAEg6B,MAAM,SAAS,GAAGh6B,IAAI1mB,EAAE,MAAM,KAAK,OAAO0mB,EAAEm9I,SAAS,CAAC,GAAG,OAAOn9I,EAAE68I,QAAQ78I,EAAE68I,SAASvjK,EAAE,OAAO,KAAK0mB,EAAEA,EAAE68I,OAAO78I,EAAEm9I,QAAQN,OAAO78I,EAAE68I,OAAO78I,EAAEA,EAAEm9I,QAAQ,OAAO,KAAK,IAAI6Z,GAAG,KAAKC,GAAG,KAAKC,IAAG,EACpd,SAASC,GAAG79K,EAAE0mB,GAAG,IAAI9f,EAAEk3K,GAAG,EAAE,KAAK,KAAK,GAAGl3K,EAAEwpJ,YAAY,UAAUxpJ,EAAE/J,KAAK,UAAU+J,EAAEm7J,UAAUr7I,EAAE9f,EAAE28J,OAAOvjK,EAAE4G,EAAEo7F,MAAM,EAAE,OAAOhiG,EAAEm8K,YAAYn8K,EAAEm8K,WAAWC,WAAWx1K,EAAE5G,EAAEm8K,WAAWv1K,GAAG5G,EAAEq8K,YAAYr8K,EAAEm8K,WAAWv1K,EAAE,SAASm3K,GAAG/9K,EAAE0mB,GAAG,OAAO1mB,EAAE+6J,KAAK,KAAK,EAAE,IAAIn0J,EAAE5G,EAAEnD,KAAyE,OAAO,QAA3E6pB,EAAE,IAAIA,EAAE0jC,UAAUxjD,EAAEmB,gBAAgB2e,EAAEmhC,SAAS9/C,cAAc,KAAK2e,KAAmB1mB,EAAE+hK,UAAUr7I,GAAE,GAAO,KAAK,EAAE,OAAoD,QAA7CA,EAAE,KAAK1mB,EAAEg+K,cAAc,IAAIt3J,EAAE0jC,SAAS,KAAK1jC,KAAY1mB,EAAE+hK,UAAUr7I,GAAE,GAAwB,QAAQ,OAAM,GACve,SAASu3J,GAAGj+K,GAAG,GAAG49K,GAAG,CAAC,IAAIl3J,EAAEi3J,GAAG,GAAGj3J,EAAE,CAAC,IAAI9f,EAAE8f,EAAE,IAAIq3J,GAAG/9K,EAAE0mB,GAAG,CAAqB,KAApBA,EAAE8tJ,GAAG5tK,EAAE0qK,gBAAqByM,GAAG/9K,EAAE0mB,GAAuC,OAAnC1mB,EAAEgiG,OAAe,KAAThiG,EAAEgiG,MAAY,EAAE47E,IAAG,OAAGF,GAAG19K,GAAS69K,GAAGH,GAAG92K,GAAG82K,GAAG19K,EAAE29K,GAAGnJ,GAAG9tJ,EAAEg3I,iBAAiB19J,EAAEgiG,OAAe,KAAThiG,EAAEgiG,MAAY,EAAE47E,IAAG,EAAGF,GAAG19K,GAAG,SAASk+K,GAAGl+K,GAAG,IAAIA,EAAEA,EAAEujK,OAAO,OAAOvjK,GAAG,IAAIA,EAAE+6J,KAAK,IAAI/6J,EAAE+6J,KAAK,KAAK/6J,EAAE+6J,KAAK/6J,EAAEA,EAAEujK,OAAOma,GAAG19K,EAC5S,SAASm+K,GAAGn+K,GAAG,GAAGA,IAAI09K,GAAG,OAAM,EAAG,IAAIE,GAAG,OAAOM,GAAGl+K,GAAG49K,IAAG,GAAG,EAAG,IAAIl3J,EAAE1mB,EAAEnD,KAAK,GAAG,IAAImD,EAAE+6J,KAAK,SAASr0I,GAAG,SAASA,IAAIytJ,GAAGztJ,EAAE1mB,EAAEw9K,eAAe,IAAI92J,EAAEi3J,GAAGj3J,GAAGm3J,GAAG79K,EAAE0mB,GAAGA,EAAE8tJ,GAAG9tJ,EAAE4qJ,aAAmB,GAAN4M,GAAGl+K,GAAM,KAAKA,EAAE+6J,IAAI,CAAgD,KAA7B/6J,EAAE,QAApBA,EAAEA,EAAEyjK,eAAyBzjK,EAAE0jK,WAAW,MAAW,MAAM7nJ,MAAMu7C,EAAE,MAAMp3D,EAAE,CAAiB,IAAhBA,EAAEA,EAAEsxK,YAAgB5qJ,EAAE,EAAE1mB,GAAG,CAAC,GAAG,IAAIA,EAAEoqD,SAAS,CAAC,IAAIxjD,EAAE5G,EAAEqB,KAAK,GAAG,OAAOuF,EAAE,CAAC,GAAG,IAAI8f,EAAE,CAACi3J,GAAGnJ,GAAGx0K,EAAEsxK,aAAa,MAAMtxK,EAAE0mB,QAAQ,MAAM9f,GAAG,OAAOA,GAAG,OAAOA,GAAG8f,IAAI1mB,EAAEA,EAAEsxK,YAAYqM,GAAG,WAAWA,GAAGD,GAAGlJ,GAAGx0K,EAAE+hK,UAAUuP,aAAa,KAAK,OAAM,EACtf,SAAS8M,KAAKT,GAAGD,GAAG,KAAKE,IAAG,EAAG,IAAIvwB,GAAG,GAAG,SAASgxB,KAAK,IAAI,IAAIr+K,EAAE,EAAEA,EAAEqtJ,GAAGz0J,OAAOoH,IAAIqtJ,GAAGrtJ,GAAGs+K,8BAA8B,KAAKjxB,GAAGz0J,OAAO,EAAE,IAAI2lL,GAAGnlB,EAAGolB,uBAAuBC,GAAGrlB,EAAGgf,wBAAwBsG,GAAG,EAAEC,GAAE,KAAKC,GAAE,KAAKC,GAAE,KAAKC,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAK,MAAMnjK,MAAMu7C,EAAE,MAAO,SAAS6nH,GAAGj/K,EAAE0mB,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAI9f,EAAE,EAAEA,EAAE8f,EAAE9tB,QAAQgO,EAAE5G,EAAEpH,OAAOgO,IAAI,IAAIqqK,GAAGjxK,EAAE4G,GAAG8f,EAAE9f,IAAI,OAAM,EAAG,OAAM,EAC9X,SAASs4K,GAAGl/K,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAyH,GAAtH+qK,GAAG/qK,EAAEgrK,GAAEj4J,EAAEA,EAAE+8I,cAAc,KAAK/8I,EAAE8yJ,YAAY,KAAK9yJ,EAAEuyJ,MAAM,EAAEsF,GAAGh7K,QAAQ,OAAOvD,GAAG,OAAOA,EAAEyjK,cAAc0b,GAAGC,GAAGp/K,EAAE4G,EAAEysE,EAAEtwE,GAAMg8K,GAAG,CAACprK,EAAE,EAAE,EAAE,CAAO,GAANorK,IAAG,IAAQ,GAAGprK,GAAG,MAAMkI,MAAMu7C,EAAE,MAAMzjD,GAAG,EAAEkrK,GAAED,GAAE,KAAKl4J,EAAE8yJ,YAAY,KAAK+E,GAAGh7K,QAAQ87K,GAAGr/K,EAAE4G,EAAEysE,EAAEtwE,SAASg8K,IAAkE,GAA9DR,GAAGh7K,QAAQ+7K,GAAG54J,EAAE,OAAOk4J,IAAG,OAAOA,GAAE97J,KAAK47J,GAAG,EAAEG,GAAED,GAAED,GAAE,KAAKG,IAAG,EAAMp4J,EAAE,MAAM7K,MAAMu7C,EAAE,MAAM,OAAOp3D,EAAE,SAASu/K,KAAK,IAAIv/K,EAAE,CAACyjK,cAAc,KAAKgW,UAAU,KAAK+F,UAAU,KAAKnoK,MAAM,KAAKyL,KAAK,MAA8C,OAAxC,OAAO+7J,GAAEF,GAAElb,cAAcob,GAAE7+K,EAAE6+K,GAAEA,GAAE/7J,KAAK9iB,EAAS6+K,GAC/e,SAASY,KAAK,GAAG,OAAOb,GAAE,CAAC,IAAI5+K,EAAE2+K,GAAErb,UAAUtjK,EAAE,OAAOA,EAAEA,EAAEyjK,cAAc,UAAUzjK,EAAE4+K,GAAE97J,KAAK,IAAI4D,EAAE,OAAOm4J,GAAEF,GAAElb,cAAcob,GAAE/7J,KAAK,GAAG,OAAO4D,EAAEm4J,GAAEn4J,EAAEk4J,GAAE5+K,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAM6b,MAAMu7C,EAAE,MAAUp3D,EAAE,CAACyjK,eAAPmb,GAAE5+K,GAAqByjK,cAAcgW,UAAUmF,GAAEnF,UAAU+F,UAAUZ,GAAEY,UAAUnoK,MAAMunK,GAAEvnK,MAAMyL,KAAK,MAAM,OAAO+7J,GAAEF,GAAElb,cAAcob,GAAE7+K,EAAE6+K,GAAEA,GAAE/7J,KAAK9iB,EAAE,OAAO6+K,GAAE,SAASa,GAAG1/K,EAAE0mB,GAAG,MAAM,oBAAoBA,EAAEA,EAAE1mB,GAAG0mB,EACvY,SAASi5J,GAAG3/K,GAAG,IAAI0mB,EAAE+4J,KAAK74K,EAAE8f,EAAErP,MAAM,GAAG,OAAOzQ,EAAE,MAAMiV,MAAMu7C,EAAE,MAAMxwD,EAAEg5K,oBAAoB5/K,EAAE,IAAIqzE,EAAEurG,GAAE77K,EAAEswE,EAAEmsG,UAAU7rK,EAAE/M,EAAE6Q,QAAQ,GAAG,OAAO9D,EAAE,CAAC,GAAG,OAAO5Q,EAAE,CAAC,IAAIq1J,EAAEr1J,EAAE+f,KAAK/f,EAAE+f,KAAKnP,EAAEmP,KAAKnP,EAAEmP,KAAKs1I,EAAE/kF,EAAEmsG,UAAUz8K,EAAE4Q,EAAE/M,EAAE6Q,QAAQ,KAAK,GAAG,OAAO1U,EAAE,CAACA,EAAEA,EAAE+f,KAAKuwD,EAAEA,EAAEomG,UAAU,IAAI5sJ,EAAEurI,EAAEzkJ,EAAE,KAAK7S,EAAEiC,EAAE,EAAE,CAAC,IAAI5D,EAAE2B,EAAEm5K,KAAK,IAAIyE,GAAGv/K,KAAKA,EAAE,OAAO0tB,IAAIA,EAAEA,EAAE/J,KAAK,CAACm3J,KAAK,EAAEtuI,OAAO7qC,EAAE6qC,OAAOk0I,aAAa/+K,EAAE++K,aAAaC,WAAWh/K,EAAEg/K,WAAWh9J,KAAK,OAAOuwD,EAAEvyE,EAAE++K,eAAe7/K,EAAEc,EAAEg/K,WAAW9/K,EAAEqzE,EAAEvyE,EAAE6qC,YAAY,CAAC,IAAItwC,EAAE,CAAC4+K,KAAK96K,EAAEwsC,OAAO7qC,EAAE6qC,OAAOk0I,aAAa/+K,EAAE++K,aAC9fC,WAAWh/K,EAAEg/K,WAAWh9J,KAAK,MAAM,OAAO+J,GAAGurI,EAAEvrI,EAAExxB,EAAEsY,EAAE0/D,GAAGxmD,EAAEA,EAAE/J,KAAKznB,EAAEsjL,GAAE1F,OAAO95K,EAAEo7K,IAAIp7K,EAAE2B,EAAEA,EAAEgiB,WAAW,OAAOhiB,GAAGA,IAAIiC,GAAG,OAAO8pB,EAAElZ,EAAE0/D,EAAExmD,EAAE/J,KAAKs1I,EAAE6Y,GAAG59F,EAAE3sD,EAAE+8I,iBAAiByV,IAAG,GAAIxyJ,EAAE+8I,cAAcpwF,EAAE3sD,EAAE+yJ,UAAU9lK,EAAE+S,EAAE84J,UAAU3yJ,EAAEjmB,EAAEm5K,kBAAkB1sG,EAAE,MAAM,CAAC3sD,EAAE+8I,cAAc78J,EAAEo5K,UACtQ,SAASC,GAAGjgL,GAAG,IAAI0mB,EAAE+4J,KAAK74K,EAAE8f,EAAErP,MAAM,GAAG,OAAOzQ,EAAE,MAAMiV,MAAMu7C,EAAE,MAAMxwD,EAAEg5K,oBAAoB5/K,EAAE,IAAIqzE,EAAEzsE,EAAEo5K,SAASj9K,EAAE6D,EAAE6Q,QAAQ9D,EAAE+S,EAAE+8I,cAAc,GAAG,OAAO1gK,EAAE,CAAC6D,EAAE6Q,QAAQ,KAAK,IAAI2gJ,EAAEr1J,EAAEA,EAAE+f,KAAK,GAAGnP,EAAE3T,EAAE2T,EAAEykJ,EAAEzsH,QAAQysH,EAAEA,EAAEt1I,WAAWs1I,IAAIr1J,GAAGkuK,GAAGt9J,EAAE+S,EAAE+8I,iBAAiByV,IAAG,GAAIxyJ,EAAE+8I,cAAc9vJ,EAAE,OAAO+S,EAAE84J,YAAY94J,EAAE+yJ,UAAU9lK,GAAG/M,EAAEm5K,kBAAkBpsK,EAAE,MAAM,CAACA,EAAE0/D,GACnV,SAAS6sG,GAAGlgL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE3sD,EAAEy5J,YAAY9sG,EAAEA,EAAE3sD,EAAE05J,SAAS,IAAIr9K,EAAE2jB,EAAE43J,8BAAyI,GAAxG,OAAOv7K,EAAE/C,EAAE+C,IAAIswE,GAAUrzE,EAAEA,EAAEqgL,kBAAiBrgL,GAAG0+K,GAAG1+K,KAAKA,KAAE0mB,EAAE43J,8BAA8BjrG,EAAEg6E,GAAGjxJ,KAAKsqB,KAAM1mB,EAAE,OAAO4G,EAAE8f,EAAE05J,SAAoB,MAAX/yB,GAAGjxJ,KAAKsqB,GAAS7K,MAAMu7C,EAAE,MACzP,SAASkpH,GAAGtgL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAEw9K,GAAE,GAAG,OAAOx9K,EAAE,MAAM8Y,MAAMu7C,EAAE,MAAM,IAAIzjD,EAAE+S,EAAEy5J,YAAY/nB,EAAEzkJ,EAAE+S,EAAE05J,SAASvzJ,EAAE0xJ,GAAGh7K,QAAQzC,EAAE+rB,EAAE8hB,UAAS,WAAW,OAAOuxI,GAAGn9K,EAAE2jB,EAAE9f,MAAKzH,EAAE2B,EAAE,GAAGzF,EAAEyF,EAAE,GAAGA,EAAE+9K,GAAE,IAAIxE,EAAEr6K,EAAEyjK,cAAc7pK,EAAEygL,EAAEK,KAAKJ,EAAE1gL,EAAE4mL,YAAYrpH,EAAEkjH,EAAE79K,OAAO69K,EAAEA,EAAEhhJ,UAAU,IAAIvH,EAAE6sJ,GACuO,OADrO3+K,EAAEyjK,cAAc,CAACiX,KAAK9gL,EAAE4C,OAAOkqB,EAAE2S,UAAUg6C,GAAGxmD,EAAEwjB,WAAU,WAAWz2C,EAAE4mL,YAAY55K,EAAEhN,EAAE6mL,YAAYthL,EAAE,IAAIa,EAAE2T,EAAE+S,EAAE05J,SAAS,IAAInP,GAAG7Y,EAAEp4J,GAAG,CAACA,EAAE4G,EAAE8f,EAAE05J,SAASnP,GAAG51K,EAAE2E,KAAKb,EAAEa,GAAGA,EAAEg7K,GAAGlpJ,GAAG/uB,EAAEs9K,kBAAkBrgL,EAAE+C,EAAEykK,cAAcxnK,EAAE+C,EAAEs9K,iBAAiBt9K,EAAE8kK,gBAAgB7nK,EAAE,IAAI,IAAIqzE,EAC5ftwE,EAAE+kK,cAAcj7I,EAAE7sB,EAAE,EAAE6sB,GAAG,CAAC,IAAI/rB,EAAE,GAAG8mK,GAAG/6I,GAAG1nB,EAAE,GAAGrE,EAAEuyE,EAAEvyE,IAAId,EAAE6sB,IAAI1nB,MAAK,CAACyB,EAAE8f,EAAE2sD,IAAIxmD,EAAEwjB,WAAU,WAAW,OAAOgjC,EAAE3sD,EAAE05J,SAAQ,WAAW,IAAIpgL,EAAEpG,EAAE4mL,YAAY55K,EAAEhN,EAAE6mL,YAAY,IAAI75K,EAAE5G,EAAE0mB,EAAE05J,UAAU,IAAI/sG,EAAE2nG,GAAGlpJ,GAAG/uB,EAAEs9K,kBAAkBhtG,EAAEtwE,EAAEykK,aAAa,MAAMtvJ,GAAGtR,GAAE,WAAW,MAAMsR,WAAS,CAACwO,EAAE2sD,IAAI49F,GAAGqJ,EAAE1zK,IAAIqqK,GAAG95G,EAAEzwC,IAAIuqJ,GAAGoJ,EAAEhnG,MAAKrzE,EAAE,CAACyX,QAAQ,KAAKuoK,SAAS,KAAKJ,oBAAoBF,GAAGK,kBAAkB1kL,IAAK2kL,SAAS7gL,EAAEuhL,GAAGvmK,KAAK,KAAKwkK,GAAE3+K,GAAGc,EAAEuW,MAAMrX,EAAEc,EAAE0+K,UAAU,KAAKnkL,EAAE6kL,GAAGn9K,EAAE2jB,EAAE9f,GAAG9F,EAAE2iK,cAAc3iK,EAAE24K,UAAUp+K,GAAUA,EACte,SAASslL,GAAG3gL,EAAE0mB,EAAE9f,GAAc,OAAO05K,GAAZb,KAAiBz/K,EAAE0mB,EAAE9f,GAAG,SAASg6K,GAAG5gL,GAAG,IAAI0mB,EAAE64J,KAAmL,MAA9K,oBAAoBv/K,IAAIA,EAAEA,KAAK0mB,EAAE+8I,cAAc/8I,EAAE+yJ,UAAUz5K,EAAoFA,GAAlFA,EAAE0mB,EAAErP,MAAM,CAACI,QAAQ,KAAKuoK,SAAS,KAAKJ,oBAAoBF,GAAGK,kBAAkB//K,IAAOggL,SAASU,GAAGvmK,KAAK,KAAKwkK,GAAE3+K,GAAS,CAAC0mB,EAAE+8I,cAAczjK,GAChR,SAAS6gL,GAAG7gL,EAAE0mB,EAAE9f,EAAEysE,GAAkO,OAA/NrzE,EAAE,CAAC+6J,IAAI/6J,EAAE9F,OAAOwsB,EAAEsiD,QAAQpiE,EAAE6kH,KAAKp4C,EAAEvwD,KAAK,MAAsB,QAAhB4D,EAAEi4J,GAAEnF,cAAsB9yJ,EAAE,CAACy1J,WAAW,MAAMwC,GAAEnF,YAAY9yJ,EAAEA,EAAEy1J,WAAWn8K,EAAE8iB,KAAK9iB,GAAmB,QAAf4G,EAAE8f,EAAEy1J,YAAoBz1J,EAAEy1J,WAAWn8K,EAAE8iB,KAAK9iB,GAAGqzE,EAAEzsE,EAAEkc,KAAKlc,EAAEkc,KAAK9iB,EAAEA,EAAE8iB,KAAKuwD,EAAE3sD,EAAEy1J,WAAWn8K,GAAWA,EAAE,SAAS8gL,GAAG9gL,GAA4B,OAAdA,EAAE,CAACuD,QAAQvD,GAAhBu/K,KAA4B9b,cAAczjK,EAAE,SAAS+gL,KAAK,OAAOtB,KAAKhc,cAAc,SAASud,GAAGhhL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAEw8K,KAAKZ,GAAE38E,OAAOhiG,EAAE+C,EAAE0gK,cAAcod,GAAG,EAAEn6J,EAAE9f,OAAE,OAAO,IAASysE,EAAE,KAAKA,GACjc,SAAS4tG,GAAGjhL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE08K,KAAKpsG,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAI1/D,OAAE,EAAO,GAAG,OAAOirK,GAAE,CAAC,IAAIxmB,EAAEwmB,GAAEnb,cAA0B,GAAZ9vJ,EAAEykJ,EAAEpvF,QAAW,OAAOqK,GAAG4rG,GAAG5rG,EAAE+kF,EAAE3sC,MAAmB,YAAZo1D,GAAGn6J,EAAE9f,EAAE+M,EAAE0/D,GAAWsrG,GAAE38E,OAAOhiG,EAAE+C,EAAE0gK,cAAcod,GAAG,EAAEn6J,EAAE9f,EAAE+M,EAAE0/D,GAAG,SAAS6tG,GAAGlhL,EAAE0mB,GAAG,OAAOs6J,GAAG,IAAI,EAAEhhL,EAAE0mB,GAAG,SAASy6J,GAAGnhL,EAAE0mB,GAAG,OAAOu6J,GAAG,IAAI,EAAEjhL,EAAE0mB,GAAG,SAAS06J,GAAGphL,EAAE0mB,GAAG,OAAOu6J,GAAG,EAAE,EAAEjhL,EAAE0mB,GAAG,SAAS26J,GAAGrhL,EAAE0mB,GAAG,MAAG,oBAAoBA,GAAS1mB,EAAEA,IAAI0mB,EAAE1mB,GAAG,WAAW0mB,EAAE,QAAU,OAAOA,QAAG,IAASA,GAAS1mB,EAAEA,IAAI0mB,EAAEnjB,QAAQvD,EAAE,WAAW0mB,EAAEnjB,QAAQ,YAAtE,EACxY,SAAS+9K,GAAGthL,EAAE0mB,EAAE9f,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEnI,OAAO,CAACuB,IAAI,KAAYihL,GAAG,EAAE,EAAEI,GAAGlnK,KAAK,KAAKuM,EAAE1mB,GAAG4G,GAAG,SAAS8gG,MAAM,SAASC,GAAG3nG,EAAE0mB,GAAG,IAAI9f,EAAE64K,KAAK/4J,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAI2sD,EAAEzsE,EAAE68J,cAAc,OAAG,OAAOpwF,GAAG,OAAO3sD,GAAGu4J,GAAGv4J,EAAE2sD,EAAE,IAAWA,EAAE,IAAGzsE,EAAE68J,cAAc,CAACzjK,EAAE0mB,GAAU1mB,GAAE,SAASuhL,GAAGvhL,EAAE0mB,GAAG,IAAI9f,EAAE64K,KAAK/4J,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAI2sD,EAAEzsE,EAAE68J,cAAc,OAAG,OAAOpwF,GAAG,OAAO3sD,GAAGu4J,GAAGv4J,EAAE2sD,EAAE,IAAWA,EAAE,IAAGrzE,EAAEA,IAAI4G,EAAE68J,cAAc,CAACzjK,EAAE0mB,GAAU1mB,GACzZ,SAASwhL,GAAGxhL,EAAE0mB,GAAG,IAAI9f,EAAEkxK,KAAKv8B,GAAG,GAAG30I,EAAE,GAAGA,GAAE,WAAW5G,GAAE,MAAMu7I,GAAG,GAAG30I,EAAE,GAAGA,GAAE,WAAW,IAAIA,EAAE63K,GAAGrjI,WAAWqjI,GAAGrjI,WAAW,EAAE,IAAIp7C,GAAE,GAAI0mB,IAAI,QAAQ+3J,GAAGrjI,WAAWx0C,MAC5J,SAAS85K,GAAG1gL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE0nG,KAAKh4K,EAAEi4K,GAAGh7K,GAAG2T,EAAE,CAACsmK,KAAKl3K,EAAE4oC,OAAO/kC,EAAEi5K,aAAa,KAAKC,WAAW,KAAKh9J,KAAK,MAAMs1I,EAAE1xI,EAAEjP,QAA6E,GAArE,OAAO2gJ,EAAEzkJ,EAAEmP,KAAKnP,GAAGA,EAAEmP,KAAKs1I,EAAEt1I,KAAKs1I,EAAEt1I,KAAKnP,GAAG+S,EAAEjP,QAAQ9D,EAAEykJ,EAAEp4J,EAAEsjK,UAAatjK,IAAI2+K,IAAG,OAAOvmB,GAAGA,IAAIumB,GAAEI,GAAGD,IAAG,MAAO,CAAC,GAAG,IAAI9+K,EAAEi5K,QAAQ,OAAO7gB,GAAG,IAAIA,EAAE6gB,QAAiC,QAAxB7gB,EAAE1xI,EAAEk5J,qBAA8B,IAAI,IAAI/yJ,EAAEnG,EAAEq5J,kBAAkBj/K,EAAEs3J,EAAEvrI,EAAEjmB,GAAmC,GAAhC+M,EAAEksK,aAAaznB,EAAEzkJ,EAAEmsK,WAAWh/K,EAAKmwK,GAAGnwK,EAAE+rB,GAAG,OAAO,MAAM1tB,IAAa87K,GAAGj7K,EAAE+C,EAAEswE,IAC9Z,IAAIisG,GAAG,CAACmC,YAAYtI,GAAGpqI,YAAYiwI,GAAG97I,WAAW87I,GAAG3uI,UAAU2uI,GAAG7xH,oBAAoB6xH,GAAGluI,gBAAgBkuI,GAAGrmI,QAAQqmI,GAAG3sH,WAAW2sH,GAAGvwI,OAAOuwI,GAAGrwI,SAASqwI,GAAG0C,cAAc1C,GAAG2C,iBAAiB3C,GAAG4C,cAAc5C,GAAG6C,iBAAiB7C,GAAG8C,oBAAoB9C,GAAG+C,0BAAyB,GAAI5C,GAAG,CAACsC,YAAYtI,GAAGpqI,YAAY,SAAS/uC,EAAE0mB,GAA4C,OAAzC64J,KAAK9b,cAAc,CAACzjK,OAAE,IAAS0mB,EAAE,KAAKA,GAAU1mB,GAAGkjC,WAAWi2I,GAAG9oI,UAAU6wI,GAAG/zH,oBAAoB,SAASntD,EAAE0mB,EAAE9f,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEnI,OAAO,CAACuB,IAAI,KAAYghL,GAAG,EAAE,EAAEK,GAAGlnK,KAAK,KACvfuM,EAAE1mB,GAAG4G,IAAIkqC,gBAAgB,SAAS9wC,EAAE0mB,GAAG,OAAOs6J,GAAG,EAAE,EAAEhhL,EAAE0mB,IAAIiyB,QAAQ,SAAS34C,EAAE0mB,GAAG,IAAI9f,EAAE24K,KAAqD,OAAhD74J,OAAE,IAASA,EAAE,KAAKA,EAAE1mB,EAAEA,IAAI4G,EAAE68J,cAAc,CAACzjK,EAAE0mB,GAAU1mB,GAAGqyD,WAAW,SAASryD,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAEksG,KAAuK,OAAlK74J,OAAE,IAAS9f,EAAEA,EAAE8f,GAAGA,EAAE2sD,EAAEowF,cAAcpwF,EAAEomG,UAAU/yJ,EAAmF1mB,GAAjFA,EAAEqzE,EAAEh8D,MAAM,CAACI,QAAQ,KAAKuoK,SAAS,KAAKJ,oBAAoB5/K,EAAE+/K,kBAAkBr5J,IAAOs5J,SAASU,GAAGvmK,KAAK,KAAKwkK,GAAE3+K,GAAS,CAACqzE,EAAEowF,cAAczjK,IAAIyuC,OAAOqyI,GAAGnyI,SAASiyI,GAAGc,cAAch6E,GAAGi6E,iBAAiB,SAAS3hL,GAAG,IAAI0mB,EAAEk6J,GAAG5gL,GAAG4G,EAAE8f,EAAE,GAAG2sD,EAAE3sD,EAAE,GAC5Z,OAD+Zw6J,IAAG,WAAW,IAAIx6J,EAAE+3J,GAAGrjI,WAC9eqjI,GAAGrjI,WAAW,EAAE,IAAIi4B,EAAErzE,GAAG,QAAQy+K,GAAGrjI,WAAW10B,KAAI,CAAC1mB,IAAW4G,GAAGg7K,cAAc,WAAW,IAAI5hL,EAAE4gL,IAAG,GAAIl6J,EAAE1mB,EAAE,GAA8B,OAAN8gL,GAArB9gL,EAAEwhL,GAAGrnK,KAAK,KAAKna,EAAE,KAAgB,CAACA,EAAE0mB,IAAIm7J,iBAAiB,SAAS7hL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAEksG,KAAkF,OAA7ElsG,EAAEowF,cAAc,CAACiX,KAAK,CAAC8F,YAAY95J,EAAE+5J,YAAY,MAAMjkL,OAAOwD,EAAEq5B,UAAUzyB,GAAU05K,GAAGjtG,EAAErzE,EAAE0mB,EAAE9f,IAAIk7K,oBAAoB,WAAW,GAAGlE,GAAG,CAAC,IAAI59K,GAAE,EAAG0mB,EAzDlD,SAAY1mB,GAAG,MAAM,CAACk7J,SAASf,EAAG7+J,SAAS0E,EAAE8C,QAAQ9C,GAyDDgiL,EAAG,WAAiD,MAAtChiL,IAAIA,GAAE,EAAG4G,EAAE,MAAM+tK,MAAMr5K,SAAS,MAAYugB,MAAMu7C,EAAE,SAASxwD,EAAEg6K,GAAGl6J,GAAG,GAC1Z,OAD6Z,KAAY,EAAPi4J,GAAE/tB,QAAU+tB,GAAE38E,OAAO,IAAI6+E,GAAG,GAAE,WAAWj6K,EAAE,MAAM+tK,MAAMr5K,SAAS,YAChf,EAAO,OAAcorB,EAAmC,OAANk6J,GAA3Bl6J,EAAE,MAAMiuJ,MAAMr5K,SAAS,KAAiBorB,GAAGq7J,0BAAyB,GAAI3C,GAAG,CAACqC,YAAYtI,GAAGpqI,YAAY44D,GAAGzkE,WAAWi2I,GAAG9oI,UAAU8wI,GAAGh0H,oBAAoBm0H,GAAGxwI,gBAAgBswI,GAAGzoI,QAAQ4oI,GAAGlvH,WAAWstH,GAAGlxI,OAAOsyI,GAAGpyI,SAAS,WAAW,OAAOgxI,GAAGD,KAAKgC,cAAch6E,GAAGi6E,iBAAiB,SAAS3hL,GAAG,IAAI0mB,EAAEi5J,GAAGD,IAAI94K,EAAE8f,EAAE,GAAG2sD,EAAE3sD,EAAE,GAA6F,OAA1Fy6J,IAAG,WAAW,IAAIz6J,EAAE+3J,GAAGrjI,WAAWqjI,GAAGrjI,WAAW,EAAE,IAAIi4B,EAAErzE,GAAG,QAAQy+K,GAAGrjI,WAAW10B,KAAI,CAAC1mB,IAAW4G,GAAGg7K,cAAc,WAAW,IAAI5hL,EAAE2/K,GAAGD,IAAI,GAAG,MAAM,CAACqB,KAAKx9K,QAC9evD,IAAI6hL,iBAAiBlB,GAAGmB,oBAAoB,WAAW,OAAOnC,GAAGD,IAAI,IAAIqC,0BAAyB,GAAI1C,GAAG,CAACoC,YAAYtI,GAAGpqI,YAAY44D,GAAGzkE,WAAWi2I,GAAG9oI,UAAU8wI,GAAGh0H,oBAAoBm0H,GAAGxwI,gBAAgBswI,GAAGzoI,QAAQ4oI,GAAGlvH,WAAW4tH,GAAGxxI,OAAOsyI,GAAGpyI,SAAS,WAAW,OAAOsxI,GAAGP,KAAKgC,cAAch6E,GAAGi6E,iBAAiB,SAAS3hL,GAAG,IAAI0mB,EAAEu5J,GAAGP,IAAI94K,EAAE8f,EAAE,GAAG2sD,EAAE3sD,EAAE,GAA6F,OAA1Fy6J,IAAG,WAAW,IAAIz6J,EAAE+3J,GAAGrjI,WAAWqjI,GAAGrjI,WAAW,EAAE,IAAIi4B,EAAErzE,GAAG,QAAQy+K,GAAGrjI,WAAW10B,KAAI,CAAC1mB,IAAW4G,GAAGg7K,cAAc,WAAW,IAAI5hL,EAAEigL,GAAGP,IAAI,GAAG,MAAM,CAACqB,KAAKx9K,QACrfvD,IAAI6hL,iBAAiBlB,GAAGmB,oBAAoB,WAAW,OAAO7B,GAAGP,IAAI,IAAIqC,0BAAyB,GAAIE,GAAG7oB,EAAG8oB,kBAAkBhJ,IAAG,EAAG,SAAS3wE,GAAGvoG,EAAE0mB,EAAE9f,EAAEysE,GAAG3sD,EAAEg6B,MAAM,OAAO1gD,EAAE68K,GAAGn2J,EAAE,KAAK9f,EAAEysE,GAAGupG,GAAGl2J,EAAE1mB,EAAE0gD,MAAM95C,EAAEysE,GAAG,SAAS8uG,GAAGniL,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG6D,EAAEA,EAAEsuC,OAAO,IAAIvhC,EAAE+S,EAAE4c,IAA8B,OAA1Bw1I,GAAGpyJ,EAAE3jB,GAAGswE,EAAE6rG,GAAGl/K,EAAE0mB,EAAE9f,EAAEysE,EAAE1/D,EAAE5Q,GAAM,OAAO/C,GAAIk5K,IAA0ExyJ,EAAEs7E,OAAO,EAAEuG,GAAGvoG,EAAE0mB,EAAE2sD,EAAEtwE,GAAU2jB,EAAEg6B,QAAhGh6B,EAAE8yJ,YAAYx5K,EAAEw5K,YAAY9yJ,EAAEs7E,QAAQ,IAAIhiG,EAAEi5K,QAAQl2K,EAAEq/K,GAAGpiL,EAAE0mB,EAAE3jB,IACxW,SAASgrI,GAAG/tI,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAG,GAAG,OAAO3T,EAAE,CAAC,IAAIo4J,EAAExxJ,EAAE/J,KAAK,MAAG,oBAAoBu7J,GAAIiqB,GAAGjqB,SAAI,IAASA,EAAEn0H,cAAc,OAAOr9B,EAAE07K,cAAS,IAAS17K,EAAEq9B,eAAsDjkC,EAAEw8K,GAAG51K,EAAE/J,KAAK,KAAKw2E,EAAE3sD,EAAEA,EAAEkqI,KAAKj9I,IAAK2vB,IAAI5c,EAAE4c,IAAItjC,EAAEujK,OAAO78I,EAASA,EAAEg6B,MAAM1gD,IAAvG0mB,EAAEq0I,IAAI,GAAGr0I,EAAE7pB,KAAKu7J,EAAEnxJ,GAAGjH,EAAE0mB,EAAE0xI,EAAE/kF,EAAEtwE,EAAE4Q,IAAoF,OAAVykJ,EAAEp4J,EAAE0gD,MAAS,KAAK39C,EAAE4Q,KAAK5Q,EAAEq1J,EAAEolB,eAA0B52K,EAAE,QAAdA,EAAEA,EAAE07K,SAAmB17K,EAAEuqK,IAAKpuK,EAAEswE,IAAIrzE,EAAEsjC,MAAM5c,EAAE4c,KAAY8+I,GAAGpiL,EAAE0mB,EAAE/S,IAAG+S,EAAEs7E,OAAO,GAAEhiG,EAAEs8K,GAAGlkB,EAAE/kF,IAAK/vC,IAAI5c,EAAE4c,IAAItjC,EAAEujK,OAAO78I,EAASA,EAAEg6B,MAAM1gD,GAClb,SAASiH,GAAGjH,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAG,GAAG,OAAO3T,GAAGmxK,GAAGnxK,EAAEw9K,cAAcnqG,IAAIrzE,EAAEsjC,MAAM5c,EAAE4c,IAAI,IAAG41I,IAAG,EAAG,KAAKvlK,EAAE5Q,GAAqC,OAAO2jB,EAAEuyJ,MAAMj5K,EAAEi5K,MAAMmJ,GAAGpiL,EAAE0mB,EAAE/S,GAAhE,KAAa,MAAR3T,EAAEgiG,SAAek3E,IAAG,GAA0C,OAAOp9J,GAAG9b,EAAE0mB,EAAE9f,EAAEysE,EAAE1/D,GACnL,SAAS4uK,GAAGviL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE3sD,EAAEs3J,aAAaj7K,EAAEswE,EAAE7tC,SAAS7xB,EAAE,OAAO3T,EAAEA,EAAEyjK,cAAc,KAAK,GAAG,WAAWpwF,EAAEu9E,MAAM,kCAAkCv9E,EAAEu9E,KAAK,GAAG,KAAY,EAAPlqI,EAAEkqI,MAAQlqI,EAAE+8I,cAAc,CAAC+e,UAAU,GAAGC,GAAG/7J,EAAE9f,OAAQ,IAAG,KAAO,WAAFA,GAA8E,OAAO5G,EAAE,OAAO2T,EAAEA,EAAE6uK,UAAU57K,EAAEA,EAAE8f,EAAEuyJ,MAAMvyJ,EAAEmyJ,WAAW,WAAWnyJ,EAAE+8I,cAAc,CAAC+e,UAAUxiL,GAAGyiL,GAAG/7J,EAAE1mB,GAAG,KAAxK0mB,EAAE+8I,cAAc,CAAC+e,UAAU,GAAGC,GAAG/7J,EAAE,OAAO/S,EAAEA,EAAE6uK,UAAU57K,QAA0H,OAAO+M,GAAG0/D,EAAE1/D,EAAE6uK,UAAU57K,EAAE8f,EAAE+8I,cAAc,MAAMpwF,EAAEzsE,EAAE67K,GAAG/7J,EAAE2sD,GAAe,OAAZk1B,GAAGvoG,EAAE0mB,EAAE3jB,EAAE6D,GAAU8f,EAAEg6B,MAC1e,SAASgiI,GAAG1iL,EAAE0mB,GAAG,IAAI9f,EAAE8f,EAAE4c,KAAO,OAAOtjC,GAAG,OAAO4G,GAAG,OAAO5G,GAAGA,EAAEsjC,MAAM18B,KAAE8f,EAAEs7E,OAAO,KAAI,SAASlmF,GAAG9b,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,IAAI4Q,EAAE+hK,GAAG9uK,GAAGyuK,GAAGxtC,GAAEtkI,QAA4C,OAApCoQ,EAAE2hK,GAAG5uJ,EAAE/S,GAAGmlK,GAAGpyJ,EAAE3jB,GAAG6D,EAAEs4K,GAAGl/K,EAAE0mB,EAAE9f,EAAEysE,EAAE1/D,EAAE5Q,GAAM,OAAO/C,GAAIk5K,IAA0ExyJ,EAAEs7E,OAAO,EAAEuG,GAAGvoG,EAAE0mB,EAAE9f,EAAE7D,GAAU2jB,EAAEg6B,QAAhGh6B,EAAE8yJ,YAAYx5K,EAAEw5K,YAAY9yJ,EAAEs7E,QAAQ,IAAIhiG,EAAEi5K,QAAQl2K,EAAEq/K,GAAGpiL,EAAE0mB,EAAE3jB,IAC9P,SAASylG,GAAGxoG,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,GAAG2yK,GAAG9uK,GAAG,CAAC,IAAI+M,GAAE,EAAGqiK,GAAGtvJ,QAAQ/S,GAAE,EAAW,GAARmlK,GAAGpyJ,EAAE3jB,GAAM,OAAO2jB,EAAEq7I,UAAU,OAAO/hK,IAAIA,EAAEsjK,UAAU,KAAK58I,EAAE48I,UAAU,KAAK58I,EAAEs7E,OAAO,GAAGu5E,GAAG70J,EAAE9f,EAAEysE,GAAGsoG,GAAGj1J,EAAE9f,EAAEysE,EAAEtwE,GAAGswE,GAAE,OAAQ,GAAG,OAAOrzE,EAAE,CAAC,IAAIo4J,EAAE1xI,EAAEq7I,UAAUl1I,EAAEnG,EAAE82J,cAAcplB,EAAE1/J,MAAMm0B,EAAE,IAAI/rB,EAAEs3J,EAAExsJ,QAAQzM,EAAEyH,EAAE0uC,YAAY,kBAAkBn2C,GAAG,OAAOA,EAAEA,EAAEg6K,GAAGh6K,GAAyBA,EAAEm2K,GAAG5uJ,EAA1BvnB,EAAEu2K,GAAG9uK,GAAGyuK,GAAGxtC,GAAEtkI,SAAmB,IAAIlI,EAAEuL,EAAE8oC,yBAAyB2qI,EAAE,oBAAoBh/K,GAAG,oBAAoB+8J,EAAEjoH,wBAAwBkqI,GAAG,oBAAoBjiB,EAAEsjB,kCACpd,oBAAoBtjB,EAAEzoH,4BAA4B9iB,IAAIwmD,GAAGvyE,IAAI3B,IAAIs8K,GAAG/0J,EAAE0xI,EAAE/kF,EAAEl0E,GAAGm6K,IAAG,EAAG,IAAI1/K,EAAE8sB,EAAE+8I,cAAcrL,EAAEhhJ,MAAMxd,EAAEwgL,GAAG1zJ,EAAE2sD,EAAE+kF,EAAEr1J,GAAGjC,EAAE4lB,EAAE+8I,cAAc52I,IAAIwmD,GAAGz5E,IAAIkH,GAAG0/H,GAAEj9H,SAAS+1K,IAAI,oBAAoBj+K,IAAIs/K,GAAGj0J,EAAE9f,EAAEvL,EAAEg4E,GAAGvyE,EAAE4lB,EAAE+8I,gBAAgB52I,EAAEysJ,IAAI8B,GAAG10J,EAAE9f,EAAEimB,EAAEwmD,EAAEz5E,EAAEkH,EAAE3B,KAAKk7K,GAAG,oBAAoBjiB,EAAEwjB,2BAA2B,oBAAoBxjB,EAAE3oH,qBAAqB,oBAAoB2oH,EAAE3oH,oBAAoB2oH,EAAE3oH,qBAAqB,oBAAoB2oH,EAAEwjB,2BAA2BxjB,EAAEwjB,6BAA6B,oBACzexjB,EAAEllH,oBAAoBxsB,EAAEs7E,OAAO,KAAK,oBAAoBo2D,EAAEllH,oBAAoBxsB,EAAEs7E,OAAO,GAAGt7E,EAAE82J,cAAcnqG,EAAE3sD,EAAE+8I,cAAc3iK,GAAGs3J,EAAE1/J,MAAM26E,EAAE+kF,EAAEhhJ,MAAMtW,EAAEs3J,EAAExsJ,QAAQzM,EAAEk0E,EAAExmD,IAAI,oBAAoBurI,EAAEllH,oBAAoBxsB,EAAEs7E,OAAO,GAAG3uB,GAAE,OAAQ,CAAC+kF,EAAE1xI,EAAEq7I,UAAU+X,GAAG95K,EAAE0mB,GAAGmG,EAAEnG,EAAE82J,cAAcr+K,EAAEunB,EAAE7pB,OAAO6pB,EAAE0pI,YAAYvjI,EAAEi7D,GAAGphE,EAAE7pB,KAAKgwB,GAAGurI,EAAE1/J,MAAMyG,EAAEk7K,EAAE3zJ,EAAEs3J,aAAapkL,EAAEw+J,EAAExsJ,QAAwB,kBAAhB9K,EAAE8F,EAAE0uC,cAAiC,OAAOx0C,EAAEA,EAAEq4K,GAAGr4K,GAAyBA,EAAEw0K,GAAG5uJ,EAA1B5lB,EAAE40K,GAAG9uK,GAAGyuK,GAAGxtC,GAAEtkI,SAAmB,IAAI+2K,EAAE1zK,EAAE8oC,0BAA0Br0C,EAAE,oBAAoBi/K,GACnf,oBAAoBliB,EAAEjoH,0BAA0B,oBAAoBioH,EAAEsjB,kCAAkC,oBAAoBtjB,EAAEzoH,4BAA4B9iB,IAAIwtJ,GAAGzgL,IAAIkH,IAAI26K,GAAG/0J,EAAE0xI,EAAE/kF,EAAEvyE,GAAGw4K,IAAG,EAAG1/K,EAAE8sB,EAAE+8I,cAAcrL,EAAEhhJ,MAAMxd,EAAEwgL,GAAG1zJ,EAAE2sD,EAAE+kF,EAAEr1J,GAAG,IAAIo0D,EAAEzwC,EAAE+8I,cAAc52I,IAAIwtJ,GAAGzgL,IAAIu9D,GAAGqpE,GAAEj9H,SAAS+1K,IAAI,oBAAoBgB,IAAIK,GAAGj0J,EAAE9f,EAAE0zK,EAAEjnG,GAAGlc,EAAEzwC,EAAE+8I,gBAAgBtkK,EAAEm6K,IAAI8B,GAAG10J,EAAE9f,EAAEzH,EAAEk0E,EAAEz5E,EAAEu9D,EAAEr2D,KAAKzF,GAAG,oBAAoB+8J,EAAEuqB,4BAA4B,oBAAoBvqB,EAAEtoH,sBAAsB,oBAAoBsoH,EAAEtoH,qBAAqBsoH,EAAEtoH,oBAAoBujC,EAC1gBlc,EAAEr2D,GAAG,oBAAoBs3J,EAAEuqB,4BAA4BvqB,EAAEuqB,2BAA2BtvG,EAAElc,EAAEr2D,IAAI,oBAAoBs3J,EAAEhlH,qBAAqB1sB,EAAEs7E,OAAO,GAAG,oBAAoBo2D,EAAEjoH,0BAA0BzpB,EAAEs7E,OAAO,OAAO,oBAAoBo2D,EAAEhlH,oBAAoBvmB,IAAI7sB,EAAEw9K,eAAe5jL,IAAIoG,EAAEyjK,gBAAgB/8I,EAAEs7E,OAAO,GAAG,oBAAoBo2D,EAAEjoH,yBAAyBtjB,IAAI7sB,EAAEw9K,eAAe5jL,IAAIoG,EAAEyjK,gBAAgB/8I,EAAEs7E,OAAO,KAAKt7E,EAAE82J,cAAcnqG,EAAE3sD,EAAE+8I,cAActsG,GAAGihG,EAAE1/J,MAAM26E,EAAE+kF,EAAEhhJ,MAAM+/C,EAAEihG,EAAExsJ,QAAQ9K,EAAEuyE,EAAEl0E,IAAI,oBAAoBi5J,EAAEhlH,oBAC7fvmB,IAAI7sB,EAAEw9K,eAAe5jL,IAAIoG,EAAEyjK,gBAAgB/8I,EAAEs7E,OAAO,GAAG,oBAAoBo2D,EAAEjoH,yBAAyBtjB,IAAI7sB,EAAEw9K,eAAe5jL,IAAIoG,EAAEyjK,gBAAgB/8I,EAAEs7E,OAAO,KAAK3uB,GAAE,GAAI,OAAOuvG,GAAG5iL,EAAE0mB,EAAE9f,EAAEysE,EAAE1/D,EAAE5Q,GACzL,SAAS6/K,GAAG5iL,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAG+uK,GAAG1iL,EAAE0mB,GAAG,IAAI0xI,EAAE,KAAa,GAAR1xI,EAAEs7E,OAAU,IAAI3uB,IAAI+kF,EAAE,OAAOr1J,GAAGmzK,GAAGxvJ,EAAE9f,GAAE,GAAIw7K,GAAGpiL,EAAE0mB,EAAE/S,GAAG0/D,EAAE3sD,EAAEq7I,UAAUkgB,GAAG1+K,QAAQmjB,EAAE,IAAImG,EAAEurI,GAAG,oBAAoBxxJ,EAAEi8K,yBAAyB,KAAKxvG,EAAEn+B,SAAwI,OAA/HxuB,EAAEs7E,OAAO,EAAE,OAAOhiG,GAAGo4J,GAAG1xI,EAAEg6B,MAAMk8H,GAAGl2J,EAAE1mB,EAAE0gD,MAAM,KAAK/sC,GAAG+S,EAAEg6B,MAAMk8H,GAAGl2J,EAAE,KAAKmG,EAAElZ,IAAI40F,GAAGvoG,EAAE0mB,EAAEmG,EAAElZ,GAAG+S,EAAE+8I,cAAcpwF,EAAEj8D,MAAMrU,GAAGmzK,GAAGxvJ,EAAE9f,GAAE,GAAW8f,EAAEg6B,MAAM,SAASoiI,GAAG9iL,GAAG,IAAI0mB,EAAE1mB,EAAE+hK,UAAUr7I,EAAEq8J,eAAelN,GAAG71K,EAAE0mB,EAAEq8J,eAAer8J,EAAEq8J,iBAAiBr8J,EAAE9a,SAAS8a,EAAE9a,SAASiqK,GAAG71K,EAAE0mB,EAAE9a,SAAQ,GAAIuxK,GAAGn9K,EAAE0mB,EAAEg/I,eAC7d,IAS0Vsd,GAAMC,GAAGC,GAT/VC,GAAG,CAACzf,WAAW,KAAK0f,UAAU,GAClC,SAASC,GAAGrjL,EAAE0mB,EAAE9f,GAAG,IAAsCwxJ,EAAlC/kF,EAAE3sD,EAAEs3J,aAAaj7K,EAAEu6K,GAAE/5K,QAAQoQ,GAAE,EAA6M,OAAvMykJ,EAAE,KAAa,GAAR1xI,EAAEs7E,UAAao2D,GAAE,OAAOp4J,GAAG,OAAOA,EAAEyjK,gBAAiB,KAAO,EAAF1gK,IAAMq1J,GAAGzkJ,GAAE,EAAG+S,EAAEs7E,QAAQ,IAAI,OAAOhiG,GAAG,OAAOA,EAAEyjK,oBAAe,IAASpwF,EAAEiwG,WAAU,IAAKjwG,EAAEkwG,6BAA6BxgL,GAAG,GAAGoyK,GAAEmI,GAAI,EAAFv6K,GAAQ,OAAO/C,QAAG,IAASqzE,EAAEiwG,UAAUrF,GAAGv3J,GAAG1mB,EAAEqzE,EAAE7tC,SAASziC,EAAEswE,EAAEiwG,SAAY3vK,GAAS3T,EAAEwjL,GAAG98J,EAAE1mB,EAAE+C,EAAE6D,GAAG8f,EAAEg6B,MAAM+iH,cAAc,CAAC+e,UAAU57K,GAAG8f,EAAE+8I,cAAc0f,GAAGnjL,GAAK,kBAAkBqzE,EAAEowG,2BAAiCzjL,EAAEwjL,GAAG98J,EAAE1mB,EAAE+C,EAAE6D,GAAG8f,EAAEg6B,MAAM+iH,cAAc,CAAC+e,UAAU57K,GAC/f8f,EAAE+8I,cAAc0f,GAAGz8J,EAAEuyJ,MAAM,SAASj5K,KAAE4G,EAAE88K,GAAG,CAAC9yB,KAAK,UAAUprH,SAASxlC,GAAG0mB,EAAEkqI,KAAKhqJ,EAAE,OAAQ28J,OAAO78I,EAASA,EAAEg6B,MAAM95C,KAAY5G,EAAEyjK,cAAkB9vJ,GAAS0/D,EAAEswG,GAAG3jL,EAAE0mB,EAAE2sD,EAAE7tC,SAAS6tC,EAAEiwG,SAAS18K,GAAG+M,EAAE+S,EAAEg6B,MAAM39C,EAAE/C,EAAE0gD,MAAM+iH,cAAc9vJ,EAAE8vJ,cAAc,OAAO1gK,EAAE,CAACy/K,UAAU57K,GAAG,CAAC47K,UAAUz/K,EAAEy/K,UAAU57K,GAAG+M,EAAEklK,WAAW74K,EAAE64K,YAAYjyK,EAAE8f,EAAE+8I,cAAc0f,GAAG9vG,IAAEzsE,EAAEg9K,GAAG5jL,EAAE0mB,EAAE2sD,EAAE7tC,SAAS5+B,GAAG8f,EAAE+8I,cAAc,KAAY78J,IAClQ,SAAS48K,GAAGxjL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE/C,EAAE4wJ,KAAKj9I,EAAE3T,EAAE0gD,MAAuK,OAAjKh6B,EAAE,CAACkqI,KAAK,SAASprH,SAAS9e,GAAG,KAAO,EAAF3jB,IAAM,OAAO4Q,GAAGA,EAAEklK,WAAW,EAAEllK,EAAEqqK,aAAat3J,GAAG/S,EAAE+vK,GAAGh9J,EAAE3jB,EAAE,EAAE,MAAM6D,EAAE+1K,GAAG/1K,EAAE7D,EAAEswE,EAAE,MAAM1/D,EAAE4vJ,OAAOvjK,EAAE4G,EAAE28J,OAAOvjK,EAAE2T,EAAEkwJ,QAAQj9J,EAAE5G,EAAE0gD,MAAM/sC,EAAS/M,EACrV,SAASg9K,GAAG5jL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE/C,EAAE0gD,MAAiL,OAA3K1gD,EAAE+C,EAAE8gK,QAAQj9J,EAAE01K,GAAGv5K,EAAE,CAAC6tJ,KAAK,UAAUprH,SAAS5+B,IAAI,KAAY,EAAP8f,EAAEkqI,QAAUhqJ,EAAEqyK,MAAM5lG,GAAGzsE,EAAE28J,OAAO78I,EAAE9f,EAAEi9J,QAAQ,KAAK,OAAO7jK,IAAIA,EAAEo8K,WAAW,KAAKp8K,EAAEgiG,MAAM,EAAEt7E,EAAE21J,YAAY31J,EAAEy1J,WAAWn8K,GAAU0mB,EAAEg6B,MAAM95C,EAC7N,SAAS+8K,GAAG3jL,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,IAAI4Q,EAAE+S,EAAEkqI,KAAKwH,EAAEp4J,EAAE0gD,MAAM1gD,EAAEo4J,EAAEyL,QAAQ,IAAIh3I,EAAE,CAAC+jI,KAAK,SAASprH,SAAS5+B,GAAoS,OAAjS,KAAO,EAAF+M,IAAM+S,EAAEg6B,QAAQ03G,IAAGxxJ,EAAE8f,EAAEg6B,OAAQm4H,WAAW,EAAEjyK,EAAEo3K,aAAanxJ,EAAiB,QAAfurI,EAAExxJ,EAAEu1K,aAAqBz1J,EAAE21J,YAAYz1K,EAAEy1K,YAAY31J,EAAEy1J,WAAW/jB,EAAEA,EAAEgkB,WAAW,MAAM11J,EAAE21J,YAAY31J,EAAEy1J,WAAW,MAAMv1K,EAAE01K,GAAGlkB,EAAEvrI,GAAG,OAAO7sB,EAAEqzE,EAAEipG,GAAGt8K,EAAEqzE,IAAIA,EAAEspG,GAAGtpG,EAAE1/D,EAAE5Q,EAAE,OAAQi/F,OAAO,EAAG3uB,EAAEkwF,OAAO78I,EAAE9f,EAAE28J,OAAO78I,EAAE9f,EAAEi9J,QAAQxwF,EAAE3sD,EAAEg6B,MAAM95C,EAASysE,EAAE,SAASwwG,GAAG7jL,EAAE0mB,GAAG1mB,EAAEi5K,OAAOvyJ,EAAE,IAAI9f,EAAE5G,EAAEsjK,UAAU,OAAO18J,IAAIA,EAAEqyK,OAAOvyJ,GAAGkyJ,GAAG54K,EAAEujK,OAAO78I,GACtd,SAASo9J,GAAG9jL,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAG,IAAIykJ,EAAEp4J,EAAEyjK,cAAc,OAAOrL,EAAEp4J,EAAEyjK,cAAc,CAACsgB,YAAYr9J,EAAEs9J,UAAU,KAAKC,mBAAmB,EAAEjxD,KAAK3/C,EAAE19C,KAAK/uB,EAAEs9K,SAASnhL,EAAEo5K,WAAWxoK,IAAIykJ,EAAE2rB,YAAYr9J,EAAE0xI,EAAE4rB,UAAU,KAAK5rB,EAAE6rB,mBAAmB,EAAE7rB,EAAEplC,KAAK3/C,EAAE+kF,EAAEziI,KAAK/uB,EAAEwxJ,EAAE8rB,SAASnhL,EAAEq1J,EAAE+jB,WAAWxoK,GACvQ,SAASwwK,GAAGnkL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE3sD,EAAEs3J,aAAaj7K,EAAEswE,EAAEoqG,YAAY9pK,EAAE0/D,EAAE19C,KAAsC,GAAjC4yE,GAAGvoG,EAAE0mB,EAAE2sD,EAAE7tC,SAAS5+B,GAAkB,KAAO,GAAtBysE,EAAEiqG,GAAE/5K,UAAqB8vE,EAAI,EAAFA,EAAI,EAAE3sD,EAAEs7E,OAAO,OAAO,CAAC,GAAG,OAAOhiG,GAAG,KAAa,GAARA,EAAEgiG,OAAUhiG,EAAE,IAAIA,EAAE0mB,EAAEg6B,MAAM,OAAO1gD,GAAG,CAAC,GAAG,KAAKA,EAAE+6J,IAAI,OAAO/6J,EAAEyjK,eAAeogB,GAAG7jL,EAAE4G,QAAQ,GAAG,KAAK5G,EAAE+6J,IAAI8oB,GAAG7jL,EAAE4G,QAAQ,GAAG,OAAO5G,EAAE0gD,MAAM,CAAC1gD,EAAE0gD,MAAM6iH,OAAOvjK,EAAEA,EAAEA,EAAE0gD,MAAM,SAAS,GAAG1gD,IAAI0mB,EAAE,MAAM1mB,EAAE,KAAK,OAAOA,EAAE6jK,SAAS,CAAC,GAAG,OAAO7jK,EAAEujK,QAAQvjK,EAAEujK,SAAS78I,EAAE,MAAM1mB,EAAEA,EAAEA,EAAEujK,OAAOvjK,EAAE6jK,QAAQN,OAAOvjK,EAAEujK,OAAOvjK,EAAEA,EAAE6jK,QAAQxwF,GAAG,EAAS,GAAP8hG,GAAEmI,GAAEjqG,GAAM,KAAY,EAAP3sD,EAAEkqI,MAAQlqI,EAAE+8I,cACze,UAAU,OAAO1gK,GAAG,IAAK,WAAqB,IAAV6D,EAAE8f,EAAEg6B,MAAU39C,EAAE,KAAK,OAAO6D,GAAiB,QAAd5G,EAAE4G,EAAE08J,YAAoB,OAAOia,GAAGv9K,KAAK+C,EAAE6D,GAAGA,EAAEA,EAAEi9J,QAAY,QAAJj9J,EAAE7D,IAAYA,EAAE2jB,EAAEg6B,MAAMh6B,EAAEg6B,MAAM,OAAO39C,EAAE6D,EAAEi9J,QAAQj9J,EAAEi9J,QAAQ,MAAMigB,GAAGp9J,GAAE,EAAG3jB,EAAE6D,EAAE+M,EAAE+S,EAAEy1J,YAAY,MAAM,IAAK,YAA6B,IAAjBv1K,EAAE,KAAK7D,EAAE2jB,EAAEg6B,MAAUh6B,EAAEg6B,MAAM,KAAK,OAAO39C,GAAG,CAAe,GAAG,QAAjB/C,EAAE+C,EAAEugK,YAAuB,OAAOia,GAAGv9K,GAAG,CAAC0mB,EAAEg6B,MAAM39C,EAAE,MAAM/C,EAAE+C,EAAE8gK,QAAQ9gK,EAAE8gK,QAAQj9J,EAAEA,EAAE7D,EAAEA,EAAE/C,EAAE8jL,GAAGp9J,GAAE,EAAG9f,EAAE,KAAK+M,EAAE+S,EAAEy1J,YAAY,MAAM,IAAK,WAAW2H,GAAGp9J,GAAE,EAAG,KAAK,UAAK,EAAOA,EAAEy1J,YAAY,MAAM,QAAQz1J,EAAE+8I,cAAc,KAAK,OAAO/8I,EAAEg6B,MAC/f,SAAS0hI,GAAGpiL,EAAE0mB,EAAE9f,GAAyD,GAAtD,OAAO5G,IAAI0mB,EAAEqyJ,aAAa/4K,EAAE+4K,cAAcwB,IAAI7zJ,EAAEuyJ,MAAS,KAAKryK,EAAE8f,EAAEmyJ,YAAY,CAAC,GAAG,OAAO74K,GAAG0mB,EAAEg6B,QAAQ1gD,EAAE0gD,MAAM,MAAM7kC,MAAMu7C,EAAE,MAAM,GAAG,OAAO1wC,EAAEg6B,MAAM,CAA4C,IAAjC95C,EAAE01K,GAAZt8K,EAAE0mB,EAAEg6B,MAAa1gD,EAAEg+K,cAAct3J,EAAEg6B,MAAM95C,EAAMA,EAAE28J,OAAO78I,EAAE,OAAO1mB,EAAE6jK,SAAS7jK,EAAEA,EAAE6jK,SAAQj9J,EAAEA,EAAEi9J,QAAQyY,GAAGt8K,EAAEA,EAAEg+K,eAAgBza,OAAO78I,EAAE9f,EAAEi9J,QAAQ,KAAK,OAAOn9I,EAAEg6B,MAAM,OAAO,KAK5P,SAAS0jI,GAAGpkL,EAAE0mB,GAAG,IAAIk3J,GAAG,OAAO59K,EAAEkkL,UAAU,IAAK,SAASx9J,EAAE1mB,EAAE21B,KAAK,IAAI,IAAI/uB,EAAE,KAAK,OAAO8f,GAAG,OAAOA,EAAE48I,YAAY18J,EAAE8f,GAAGA,EAAEA,EAAEm9I,QAAQ,OAAOj9J,EAAE5G,EAAE21B,KAAK,KAAK/uB,EAAEi9J,QAAQ,KAAK,MAAM,IAAK,YAAYj9J,EAAE5G,EAAE21B,KAAK,IAAI,IAAI09C,EAAE,KAAK,OAAOzsE,GAAG,OAAOA,EAAE08J,YAAYjwF,EAAEzsE,GAAGA,EAAEA,EAAEi9J,QAAQ,OAAOxwF,EAAE3sD,GAAG,OAAO1mB,EAAE21B,KAAK31B,EAAE21B,KAAK,KAAK31B,EAAE21B,KAAKkuI,QAAQ,KAAKxwF,EAAEwwF,QAAQ,MAC7Z,SAASwgB,GAAGrkL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE3sD,EAAEs3J,aAAa,OAAOt3J,EAAEq0I,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,KAAK,KAAK,EAQyC,KAAK,GAAG,OAAO2a,GAAGhvJ,EAAE7pB,OAAO+4K,KAAK,KAR1C,KAAK,EAAsL,OAApLwH,KAAK5rB,GAAEhxB,IAAGgxB,GAAE3pB,IAAGw2C,MAAKhrG,EAAE3sD,EAAEq7I,WAAYghB,iBAAiB1vG,EAAEznE,QAAQynE,EAAE0vG,eAAe1vG,EAAE0vG,eAAe,MAAS,OAAO/iL,GAAG,OAAOA,EAAE0gD,QAAMy9H,GAAGz3J,GAAGA,EAAEs7E,OAAO,EAAE3uB,EAAEoyF,UAAU/+I,EAAEs7E,OAAO,MAAkB,KAAK,KAAK,EAAE2lC,GAAGjhH,GAAG,IAAI3jB,EAAEm6K,GAAGD,GAAG15K,SAAkB,GAATqD,EAAE8f,EAAE7pB,KAAQ,OAAOmD,GAAG,MAAM0mB,EAAEq7I,UAAUkhB,GAAGjjL,EAAE0mB,EAAE9f,EAAEysE,GAAKrzE,EAAEsjC,MAAM5c,EAAE4c,MAAM5c,EAAEs7E,OAAO,SAAS,CAAC,IAAI3uB,EAAE,CAAC,GAAG,OAC7f3sD,EAAEq7I,UAAU,MAAMlmJ,MAAMu7C,EAAE,MAAM,OAAO,KAAsB,GAAjBp3D,EAAEk9K,GAAGH,GAAGx5K,SAAY46K,GAAGz3J,GAAG,CAAC2sD,EAAE3sD,EAAEq7I,UAAUn7J,EAAE8f,EAAE7pB,KAAK,IAAI8W,EAAE+S,EAAE82J,cAA8B,OAAhBnqG,EAAEwhG,IAAInuJ,EAAE2sD,EAAEyhG,IAAInhK,EAAS/M,GAAG,IAAK,SAASosK,GAAE,SAAS3/F,GAAG2/F,GAAE,QAAQ3/F,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQ2/F,GAAE,OAAO3/F,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIrzE,EAAE,EAAEA,EAAE4yK,GAAGh6K,OAAOoH,IAAIgzK,GAAEJ,GAAG5yK,GAAGqzE,GAAG,MAAM,IAAK,SAAS2/F,GAAE,QAAQ3/F,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAO2/F,GAAE,QAAQ3/F,GAAG2/F,GAAE,OAAO3/F,GAAG,MAAM,IAAK,UAAU2/F,GAAE,SAAS3/F,GAAG,MAAM,IAAK,QAAQ6oF,GAAG7oF,EAAE1/D,GAAGq/J,GAAE,UAAU3/F,GAAG,MAAM,IAAK,SAASA,EAAE2oF,cAC5f,CAACsoB,cAAc3wK,EAAEs5F,UAAU+lE,GAAE,UAAU3/F,GAAG,MAAM,IAAK,WAAW2pF,GAAG3pF,EAAE1/D,GAAGq/J,GAAE,UAAU3/F,GAAkB,IAAI,IAAI+kF,KAAvBgJ,GAAGx6J,EAAE+M,GAAG3T,EAAE,KAAkB2T,EAAEA,EAAE9S,eAAeu3J,KAAKr1J,EAAE4Q,EAAEykJ,GAAG,aAAaA,EAAE,kBAAkBr1J,EAAEswE,EAAE8pF,cAAcp6J,IAAI/C,EAAE,CAAC,WAAW+C,IAAI,kBAAkBA,GAAGswE,EAAE8pF,cAAc,GAAGp6J,IAAI/C,EAAE,CAAC,WAAW,GAAG+C,IAAI40J,EAAG92J,eAAeu3J,IAAI,MAAMr1J,GAAG,aAAaq1J,GAAG4a,GAAE,SAAS3/F,IAAI,OAAOzsE,GAAG,IAAK,QAAQ20J,EAAGloF,GAAGl3B,GAAGk3B,EAAE1/D,GAAE,GAAI,MAAM,IAAK,WAAW4nJ,EAAGloF,GAAG6pF,GAAG7pF,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoB1/D,EAAEo4B,UAAUsnC,EAAEkxG,QACtfxQ,IAAI1gG,EAAErzE,EAAE0mB,EAAE8yJ,YAAYnmG,EAAE,OAAOA,IAAI3sD,EAAEs7E,OAAO,OAAO,CAAiZ,OAAhZo2D,EAAE,IAAIr1J,EAAEqnD,SAASrnD,EAAEA,EAAEyyC,cAAcx1C,IAAIo9J,KAAUp9J,EAAEq9J,GAAGz2J,IAAI5G,IAAIo9J,GAAQ,WAAWx2J,IAAG5G,EAAEo4J,EAAE12I,cAAc,QAAS+7I,UAAU,qBAAuBz9J,EAAEA,EAAEgiB,YAAYhiB,EAAE09J,aAAa,kBAAkBrqF,EAAEiuF,GAAGthK,EAAEo4J,EAAE12I,cAAc9a,EAAE,CAAC06J,GAAGjuF,EAAEiuF,MAAMthK,EAAEo4J,EAAE12I,cAAc9a,GAAG,WAAWA,IAAIwxJ,EAAEp4J,EAAEqzE,EAAE45B,SAASmrD,EAAEnrD,UAAS,EAAG55B,EAAE3qD,OAAO0vI,EAAE1vI,KAAK2qD,EAAE3qD,QAAQ1oB,EAAEo4J,EAAEosB,gBAAgBxkL,EAAE4G,GAAG5G,EAAE60K,IAAInuJ,EAAE1mB,EAAE80K,IAAIzhG,EAAE2vG,GAAGhjL,EAAE0mB,GAASA,EAAEq7I,UAAU/hK,EAAEo4J,EAAEiJ,GAAGz6J,EAAEysE,GAAUzsE,GAAG,IAAK,SAASosK,GAAE,SAAShzK,GAAGgzK,GAAE,QAAQhzK,GACpf+C,EAAEswE,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQ2/F,GAAE,OAAOhzK,GAAG+C,EAAEswE,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAItwE,EAAE,EAAEA,EAAE6vK,GAAGh6K,OAAOmK,IAAIiwK,GAAEJ,GAAG7vK,GAAG/C,GAAG+C,EAAEswE,EAAE,MAAM,IAAK,SAAS2/F,GAAE,QAAQhzK,GAAG+C,EAAEswE,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAO2/F,GAAE,QAAQhzK,GAAGgzK,GAAE,OAAOhzK,GAAG+C,EAAEswE,EAAE,MAAM,IAAK,UAAU2/F,GAAE,SAAShzK,GAAG+C,EAAEswE,EAAE,MAAM,IAAK,QAAQ6oF,GAAGl8J,EAAEqzE,GAAGtwE,EAAEg5J,EAAG/7J,EAAEqzE,GAAG2/F,GAAE,UAAUhzK,GAAG,MAAM,IAAK,SAAS+C,EAAEy5J,GAAGx8J,EAAEqzE,GAAG,MAAM,IAAK,SAASrzE,EAAEg8J,cAAc,CAACsoB,cAAcjxG,EAAE45B,UAAUlqG,EAAE5C,EAAE,GAAGkzE,EAAE,CAACl5E,WAAM,IAAS64K,GAAE,UAAUhzK,GAAG,MAAM,IAAK,WAAWg9J,GAAGh9J,EAAEqzE,GAAGtwE,EACpf+5J,GAAG98J,EAAEqzE,GAAG2/F,GAAE,UAAUhzK,GAAG,MAAM,QAAQ+C,EAAEswE,EAAE+tF,GAAGx6J,EAAE7D,GAAG,IAAI8pB,EAAE9pB,EAAE,IAAI4Q,KAAKkZ,EAAE,GAAGA,EAAEhsB,eAAe8S,GAAG,CAAC,IAAI7S,EAAE+rB,EAAElZ,GAAG,UAAUA,EAAE8sJ,GAAGzgK,EAAEc,GAAG,4BAA4B6S,EAAuB,OAApB7S,EAAEA,EAAEA,EAAEszK,YAAO,IAAgB7W,GAAGv9J,EAAEc,GAAI,aAAa6S,EAAE,kBAAkB7S,GAAG,aAAa8F,GAAG,KAAK9F,IAAI+8J,GAAG79J,EAAEc,GAAG,kBAAkBA,GAAG+8J,GAAG79J,EAAE,GAAGc,GAAG,mCAAmC6S,GAAG,6BAA6BA,GAAG,cAAcA,IAAIgkJ,EAAG92J,eAAe8S,GAAG,MAAM7S,GAAG,aAAa6S,GAAGq/J,GAAE,SAAShzK,GAAG,MAAMc,GAAGi4J,EAAG/4J,EAAE2T,EAAE7S,EAAEs3J,IAAI,OAAOxxJ,GAAG,IAAK,QAAQ20J,EAAGv7J,GAAGm8C,GAAGn8C,EAAEqzE,GAAE,GACnf,MAAM,IAAK,WAAWkoF,EAAGv7J,GAAGk9J,GAAGl9J,GAAG,MAAM,IAAK,SAAS,MAAMqzE,EAAEl5E,OAAO6F,EAAE20B,aAAa,QAAQ,GAAG0mI,EAAGhoF,EAAEl5E,QAAQ,MAAM,IAAK,SAAS6F,EAAEitG,WAAW55B,EAAE45B,SAAmB,OAAVt5F,EAAE0/D,EAAEl5E,OAAcwiK,GAAG38J,IAAIqzE,EAAE45B,SAASt5F,GAAE,GAAI,MAAM0/D,EAAE7pE,cAAcmzJ,GAAG38J,IAAIqzE,EAAE45B,SAAS55B,EAAE7pE,cAAa,GAAI,MAAM,QAAQ,oBAAoBzG,EAAEgpC,UAAU/rC,EAAEukL,QAAQxQ,IAAIG,GAAGttK,EAAEysE,KAAK3sD,EAAEs7E,OAAO,GAAG,OAAOt7E,EAAE4c,MAAM5c,EAAEs7E,OAAO,KAAK,OAAO,KAAK,KAAK,EAAE,GAAGhiG,GAAG,MAAM0mB,EAAEq7I,UAAUmhB,GAAGljL,EAAE0mB,EAAE1mB,EAAEw9K,cAAcnqG,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAO3sD,EAAEq7I,UAAU,MAAMlmJ,MAAMu7C,EAAE,MAC/exwD,EAAEs2K,GAAGD,GAAG15K,SAAS25K,GAAGH,GAAGx5K,SAAS46K,GAAGz3J,IAAI2sD,EAAE3sD,EAAEq7I,UAAUn7J,EAAE8f,EAAE82J,cAAcnqG,EAAEwhG,IAAInuJ,EAAE2sD,EAAE0qF,YAAYn3J,IAAI8f,EAAEs7E,OAAO,MAAK3uB,GAAG,IAAIzsE,EAAEwjD,SAASxjD,EAAEA,EAAE4uC,eAAeivI,eAAepxG,IAAKwhG,IAAInuJ,EAAEA,EAAEq7I,UAAU1uF,GAAG,OAAO,KAAK,KAAK,GAA0B,OAAvBm+E,GAAE8rB,IAAGjqG,EAAE3sD,EAAE+8I,cAAiB,KAAa,GAAR/8I,EAAEs7E,QAAiBt7E,EAAEuyJ,MAAMryK,EAAE8f,IAAE2sD,EAAE,OAAOA,EAAEzsE,GAAE,EAAG,OAAO5G,OAAE,IAAS0mB,EAAE82J,cAAc8F,UAAUnF,GAAGz3J,GAAG9f,EAAE,OAAO5G,EAAEyjK,cAAiBpwF,IAAIzsE,GAAG,KAAY,EAAP8f,EAAEkqI,QAAW,OAAO5wJ,IAAG,IAAK0mB,EAAE82J,cAAc+F,4BAA4B,KAAe,EAAVjG,GAAE/5K,SAAW,IAAImhL,KAAIA,GAAE,IAAW,IAAIA,IAAG,IAAIA,KAAEA,GACrf,GAAE,OAAOnE,IAAG,KAAQ,UAAHhG,KAAe,KAAQ,UAAHoK,KAAeC,GAAGrE,GAAEnlC,OAAM/nE,GAAGzsE,KAAE8f,EAAEs7E,OAAO,GAAS,MAAK,KAAK,EAAE,OAAOo7E,KAAW,OAAOp9K,GAAGozK,GAAG1sJ,EAAEq7I,UAAU2D,eAAe,KAAK,KAAK,GAAG,OAAOgT,GAAGhyJ,GAAG,KAA0C,KAAK,GAA0B,GAAvB8qI,GAAE8rB,IAAwB,QAArBjqG,EAAE3sD,EAAE+8I,eAA0B,OAAO,KAAsC,GAAjC9vJ,EAAE,KAAa,GAAR+S,EAAEs7E,OAA2B,QAAjBo2D,EAAE/kF,EAAE2wG,WAAsB,GAAGrwK,EAAEywK,GAAG/wG,GAAE,OAAQ,CAAC,GAAG,IAAIqxG,IAAG,OAAO1kL,GAAG,KAAa,GAARA,EAAEgiG,OAAU,IAAIhiG,EAAE0mB,EAAEg6B,MAAM,OAAO1gD,GAAG,CAAS,GAAG,QAAXo4J,EAAEmlB,GAAGv9K,IAAe,CACjW,IADkW0mB,EAAEs7E,OAAO,GAAGoiF,GAAG/wG,GAAE,GAAoB,QAAhB1/D,EAAEykJ,EAAEohB,eAAuB9yJ,EAAE8yJ,YAAY7lK,EAAE+S,EAAEs7E,OAAO,GACnf,OAAO3uB,EAAE8oG,aAAaz1J,EAAE21J,YAAY,MAAM31J,EAAEy1J,WAAW9oG,EAAE8oG,WAAW9oG,EAAEzsE,EAAMA,EAAE8f,EAAEg6B,MAAM,OAAO95C,GAAO5G,EAAEqzE,GAAN1/D,EAAE/M,GAAQo7F,OAAO,EAAEruF,EAAEyoK,WAAW,KAAKzoK,EAAE0oK,YAAY,KAAK1oK,EAAEwoK,WAAW,KAAmB,QAAd/jB,EAAEzkJ,EAAE2vJ,YAAoB3vJ,EAAEklK,WAAW,EAAEllK,EAAEslK,MAAMj5K,EAAE2T,EAAE+sC,MAAM,KAAK/sC,EAAE6pK,cAAc,KAAK7pK,EAAE8vJ,cAAc,KAAK9vJ,EAAE6lK,YAAY,KAAK7lK,EAAEolK,aAAa,KAAKplK,EAAEouJ,UAAU,OAAOpuJ,EAAEklK,WAAWzgB,EAAEygB,WAAWllK,EAAEslK,MAAM7gB,EAAE6gB,MAAMtlK,EAAE+sC,MAAM03G,EAAE13G,MAAM/sC,EAAE6pK,cAAcplB,EAAEolB,cAAc7pK,EAAE8vJ,cAAcrL,EAAEqL,cAAc9vJ,EAAE6lK,YAAYphB,EAAEohB,YAAY7lK,EAAE9W,KAAKu7J,EAAEv7J,KAAKmD,EAAEo4J,EAAE2gB,aACpfplK,EAAEolK,aAAa,OAAO/4K,EAAE,KAAK,CAACi5K,MAAMj5K,EAAEi5K,MAAMD,aAAah5K,EAAEg5K,eAAepyK,EAAEA,EAAEi9J,QAA2B,OAAnBsR,GAAEmI,GAAY,EAAVA,GAAE/5K,QAAU,GAAUmjB,EAAEg6B,MAAM1gD,EAAEA,EAAE6jK,QAAQ,OAAOxwF,EAAE19C,MAAMkiJ,KAAIgN,KAAKn+J,EAAEs7E,OAAO,GAAGruF,GAAE,EAAGywK,GAAG/wG,GAAE,GAAI3sD,EAAEuyJ,MAAM,cAAc,CAAC,IAAItlK,EAAE,GAAW,QAAR3T,EAAEu9K,GAAGnlB,KAAa,GAAG1xI,EAAEs7E,OAAO,GAAGruF,GAAE,EAAmB,QAAhB/M,EAAE5G,EAAEw5K,eAAuB9yJ,EAAE8yJ,YAAY5yK,EAAE8f,EAAEs7E,OAAO,GAAGoiF,GAAG/wG,GAAE,GAAI,OAAOA,EAAE19C,MAAM,WAAW09C,EAAE6wG,WAAW9rB,EAAEkL,YAAYsa,GAAG,OAAmC,QAA5Bl3J,EAAEA,EAAEy1J,WAAW9oG,EAAE8oG,cAAsBz1J,EAAE01J,WAAW,MAAM,UAAU,EAAEvE,KAAIxkG,EAAE4wG,mBAAmBY,IAAI,aAAaj+K,IAAI8f,EAAEs7E,OACjf,GAAGruF,GAAE,EAAGywK,GAAG/wG,GAAE,GAAI3sD,EAAEuyJ,MAAM,UAAU5lG,EAAE0wG,aAAa3rB,EAAEyL,QAAQn9I,EAAEg6B,MAAMh6B,EAAEg6B,MAAM03G,IAAa,QAATxxJ,EAAEysE,EAAE2/C,MAAcpsH,EAAEi9J,QAAQzL,EAAE1xI,EAAEg6B,MAAM03G,EAAE/kF,EAAE2/C,KAAKolC,GAAG,OAAO,OAAO/kF,EAAE19C,MAAM/uB,EAAEysE,EAAE19C,KAAK09C,EAAE2wG,UAAUp9K,EAAEysE,EAAE19C,KAAK/uB,EAAEi9J,QAAQxwF,EAAE8oG,WAAWz1J,EAAEy1J,WAAW9oG,EAAE4wG,mBAAmBpM,KAAIjxK,EAAEi9J,QAAQ,KAAKn9I,EAAE42J,GAAE/5K,QAAQ4xK,GAAEmI,GAAE3pK,EAAI,EAAF+S,EAAI,EAAI,EAAFA,GAAK9f,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOk+K,KAAK,OAAO9kL,GAAG,OAAOA,EAAEyjK,iBAAiB,OAAO/8I,EAAE+8I,gBAAgB,kCAAkCpwF,EAAEu9E,OAAOlqI,EAAEs7E,OAAO,GAAG,KAAK,MAAMnmF,MAAMu7C,EAAE,IAAI1wC,EAAEq0I,MAChd,SAASgqB,GAAG/kL,GAAG,OAAOA,EAAE+6J,KAAK,KAAK,EAAE2a,GAAG11K,EAAEnD,OAAO+4K,KAAK,IAAIlvJ,EAAE1mB,EAAEgiG,MAAM,OAAS,KAAFt7E,GAAQ1mB,EAAEgiG,OAAS,KAAHt7E,EAAQ,GAAG1mB,GAAG,KAAK,KAAK,EAAgC,GAA9Bo9K,KAAK5rB,GAAEhxB,IAAGgxB,GAAE3pB,IAAGw2C,KAAkB,KAAO,IAApB33J,EAAE1mB,EAAEgiG,QAAoB,MAAMnmF,MAAMu7C,EAAE,MAAyB,OAAnBp3D,EAAEgiG,OAAS,KAAHt7E,EAAQ,GAAU1mB,EAAE,KAAK,EAAE,OAAO2nI,GAAG3nI,GAAG,KAAK,KAAK,GAAG,OAAOwxJ,GAAE8rB,IAAe,MAAZ52J,EAAE1mB,EAAEgiG,QAAchiG,EAAEgiG,OAAS,KAAHt7E,EAAQ,GAAG1mB,GAAG,KAAK,KAAK,GAAG,OAAOwxJ,GAAE8rB,IAAG,KAAK,KAAK,EAAE,OAAOF,KAAK,KAAK,KAAK,GAAG,OAAO1E,GAAG14K,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAO8kL,KAAK,KAAK,QAAQ,OAAO,MACra,SAASE,GAAGhlL,EAAE0mB,GAAG,IAAI,IAAI9f,EAAE,GAAGysE,EAAE3sD,EAAE,GAAG9f,GAAGk0J,EAAGznF,GAAGA,EAAEA,EAAEkwF,aAAalwF,GAAG,IAAItwE,EAAE6D,EAAE,MAAM+M,GAAG5Q,EAAE,6BAA6B4Q,EAAE0V,QAAQ,KAAK1V,EAAEhT,MAAM,MAAM,CAACxG,MAAM6F,EAAExD,OAAOkqB,EAAE/lB,MAAMoC,GAAG,SAASkiL,GAAGjlL,EAAE0mB,GAAG,IAAItpB,QAAQD,MAAMupB,EAAEvsB,OAAO,MAAMyM,GAAG+R,YAAW,WAAW,MAAM/R,MAlB3Po8K,GAAG,SAAShjL,EAAE0mB,GAAG,IAAI,IAAI9f,EAAE8f,EAAEg6B,MAAM,OAAO95C,GAAG,CAAC,GAAG,IAAIA,EAAEm0J,KAAK,IAAIn0J,EAAEm0J,IAAI/6J,EAAE6hB,YAAYjb,EAAEm7J,gBAAgB,GAAG,IAAIn7J,EAAEm0J,KAAK,OAAOn0J,EAAE85C,MAAM,CAAC95C,EAAE85C,MAAM6iH,OAAO38J,EAAEA,EAAEA,EAAE85C,MAAM,SAAS,GAAG95C,IAAI8f,EAAE,MAAM,KAAK,OAAO9f,EAAEi9J,SAAS,CAAC,GAAG,OAAOj9J,EAAE28J,QAAQ38J,EAAE28J,SAAS78I,EAAE,OAAO9f,EAAEA,EAAE28J,OAAO38J,EAAEi9J,QAAQN,OAAO38J,EAAE28J,OAAO38J,EAAEA,EAAEi9J,UAChSof,GAAG,SAASjjL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE/C,EAAEw9K,cAAc,GAAGz6K,IAAIswE,EAAE,CAACrzE,EAAE0mB,EAAEq7I,UAAUmb,GAAGH,GAAGx5K,SAAS,IAAyU60J,EAArUzkJ,EAAE,KAAK,OAAO/M,GAAG,IAAK,QAAQ7D,EAAEg5J,EAAG/7J,EAAE+C,GAAGswE,EAAE0oF,EAAG/7J,EAAEqzE,GAAG1/D,EAAE,GAAG,MAAM,IAAK,SAAS5Q,EAAEy5J,GAAGx8J,EAAE+C,GAAGswE,EAAEmpF,GAAGx8J,EAAEqzE,GAAG1/D,EAAE,GAAG,MAAM,IAAK,SAAS5Q,EAAE5C,EAAE,GAAG4C,EAAE,CAAC5I,WAAM,IAASk5E,EAAElzE,EAAE,GAAGkzE,EAAE,CAACl5E,WAAM,IAASwZ,EAAE,GAAG,MAAM,IAAK,WAAW5Q,EAAE+5J,GAAG98J,EAAE+C,GAAGswE,EAAEypF,GAAG98J,EAAEqzE,GAAG1/D,EAAE,GAAG,MAAM,QAAQ,oBAAoB5Q,EAAEgpC,SAAS,oBAAoBsnC,EAAEtnC,UAAU/rC,EAAEukL,QAAQxQ,IAAyB,IAAI50K,KAAzBiiK,GAAGx6J,EAAEysE,GAASzsE,EAAE,KAAc7D,EAAE,IAAIswE,EAAExyE,eAAe1B,IAAI4D,EAAElC,eAAe1B,IAAI,MAAM4D,EAAE5D,GAAG,GAAG,UAC3eA,EAAE,CAAC,IAAI0tB,EAAE9pB,EAAE5D,GAAG,IAAIi5J,KAAKvrI,EAAEA,EAAEhsB,eAAeu3J,KAAKxxJ,IAAIA,EAAE,IAAIA,EAAEwxJ,GAAG,QAAQ,4BAA4Bj5J,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIw4J,EAAG92J,eAAe1B,GAAGwU,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAIvX,KAAK+C,EAAE,OAAO,IAAIA,KAAKk0E,EAAE,CAAC,IAAIvyE,EAAEuyE,EAAEl0E,GAAyB,GAAtB0tB,EAAE,MAAM9pB,EAAEA,EAAE5D,QAAG,EAAUk0E,EAAExyE,eAAe1B,IAAI2B,IAAI+rB,IAAI,MAAM/rB,GAAG,MAAM+rB,GAAG,GAAG,UAAU1tB,EAAE,GAAG0tB,EAAE,CAAC,IAAIurI,KAAKvrI,GAAGA,EAAEhsB,eAAeu3J,IAAIt3J,GAAGA,EAAED,eAAeu3J,KAAKxxJ,IAAIA,EAAE,IAAIA,EAAEwxJ,GAAG,IAAI,IAAIA,KAAKt3J,EAAEA,EAAED,eAAeu3J,IAAIvrI,EAAEurI,KAAKt3J,EAAEs3J,KAAKxxJ,IAClfA,EAAE,IAAIA,EAAEwxJ,GAAGt3J,EAAEs3J,SAASxxJ,IAAI+M,IAAIA,EAAE,IAAIA,EAAEvX,KAAK+C,EAAEyH,IAAIA,EAAE9F,MAAM,4BAA4B3B,GAAG2B,EAAEA,EAAEA,EAAEszK,YAAO,EAAOvnJ,EAAEA,EAAEA,EAAEunJ,YAAO,EAAO,MAAMtzK,GAAG+rB,IAAI/rB,IAAI6S,EAAEA,GAAG,IAAIvX,KAAK+C,EAAE2B,IAAI,aAAa3B,EAAE,kBAAkB2B,GAAG,kBAAkBA,IAAI6S,EAAEA,GAAG,IAAIvX,KAAK+C,EAAE,GAAG2B,GAAG,mCAAmC3B,GAAG,6BAA6BA,IAAIw4J,EAAG92J,eAAe1B,IAAI,MAAM2B,GAAG,aAAa3B,GAAG6zK,GAAE,SAAShzK,GAAG2T,GAAGkZ,IAAI/rB,IAAI6S,EAAE,KAAK,kBAAkB7S,GAAG,OAAOA,GAAGA,EAAEo6J,WAAWf,EAAGr5J,EAAExF,YAAYqY,EAAEA,GAAG,IAAIvX,KAAK+C,EAAE2B,IAAI8F,IAAI+M,EAAEA,GAAG,IAAIvX,KAAK,QAC/ewK,GAAG,IAAIzH,EAAEwU,GAAK+S,EAAE8yJ,YAAYr6K,KAAEunB,EAAEs7E,OAAO,KAAIkhF,GAAG,SAASljL,EAAE0mB,EAAE9f,EAAEysE,GAAGzsE,IAAIysE,IAAI3sD,EAAEs7E,OAAO,IAcgL,IAAIkjF,GAAG,oBAAoBn0I,QAAQA,QAAQ2kB,IAAI,SAASyvH,GAAGnlL,EAAE0mB,EAAE9f,IAAGA,EAAEmzK,IAAI,EAAEnzK,IAAKm0J,IAAI,EAAEn0J,EAAEu7B,QAAQ,CAAC8G,QAAQ,MAAM,IAAIoqC,EAAE3sD,EAAEvsB,MAAsD,OAAhDyM,EAAE2Q,SAAS,WAAW6tK,KAAKA,IAAG,EAAGC,GAAGhyG,GAAG4xG,GAAGjlL,EAAE0mB,IAAW9f,EACpb,SAAS0+K,GAAGtlL,EAAE0mB,EAAE9f,IAAGA,EAAEmzK,IAAI,EAAEnzK,IAAKm0J,IAAI,EAAE,IAAI1nF,EAAErzE,EAAEnD,KAAKgmL,yBAAyB,GAAG,oBAAoBxvG,EAAE,CAAC,IAAItwE,EAAE2jB,EAAEvsB,MAAMyM,EAAEu7B,QAAQ,WAAmB,OAAR8iJ,GAAGjlL,EAAE0mB,GAAU2sD,EAAEtwE,IAAI,IAAI4Q,EAAE3T,EAAE+hK,UAA8O,OAApO,OAAOpuJ,GAAG,oBAAoBA,EAAE4xK,oBAAoB3+K,EAAE2Q,SAAS,WAAW,oBAAoB87D,IAAI,OAAOmyG,GAAGA,GAAG,IAAIjwH,IAAI,CAACv4D,OAAOwoL,GAAGt6H,IAAIluD,MAAMioL,GAAGjlL,EAAE0mB,IAAI,IAAI9f,EAAE8f,EAAE/lB,MAAM3D,KAAKuoL,kBAAkB7+J,EAAEvsB,MAAM,CAACsrL,eAAe,OAAO7+K,EAAEA,EAAE,OAAcA,EAAE,IAAI8+K,GAAG,oBAAoBC,QAAQA,QAAQpwH,IACxc,SAASqwH,GAAG5lL,GAAG,IAAI0mB,EAAE1mB,EAAEsjC,IAAI,GAAG,OAAO5c,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,MAAM,MAAM9f,GAAGi/K,GAAG7lL,EAAE4G,QAAQ8f,EAAEnjB,QAAQ,KAAK,SAASuiL,GAAG9lL,EAAE0mB,GAAG,OAAOA,EAAEq0I,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAA8Q,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAjS,KAAK,EAAE,GAAW,IAARr0I,EAAEs7E,OAAW,OAAOhiG,EAAE,CAAC,IAAI4G,EAAE5G,EAAEw9K,cAAcnqG,EAAErzE,EAAEyjK,cAA4B/8I,GAAd1mB,EAAE0mB,EAAEq7I,WAAc5xH,wBAAwBzpB,EAAE0pI,cAAc1pI,EAAE7pB,KAAK+J,EAAEkhF,GAAGphE,EAAE7pB,KAAK+J,GAAGysE,GAAGrzE,EAAE+lL,oCAAoCr/J,EAAE,OAAO,KAAK,EAA6C,YAAnC,IAARA,EAAEs7E,OAAWuyE,GAAG7tJ,EAAEq7I,UAAU2D,gBAA0D,MAAM7pJ,MAAMu7C,EAAE,MAC5e,SAAS4uH,GAAGhmL,EAAE0mB,EAAE9f,GAAG,OAAOA,EAAEm0J,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAgD,GAAG,QAAhCr0I,EAAE,QAAlBA,EAAE9f,EAAE4yK,aAAuB9yJ,EAAEy1J,WAAW,MAAiB,CAACn8K,EAAE0mB,EAAEA,EAAE5D,KAAK,EAAE,CAAC,GAAG,KAAW,EAAN9iB,EAAE+6J,KAAO,CAAC,IAAI1nF,EAAErzE,EAAE9F,OAAO8F,EAAEgpE,QAAQqK,IAAIrzE,EAAEA,EAAE8iB,WAAW9iB,IAAI0mB,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAE9f,EAAE4yK,aAAuB9yJ,EAAEy1J,WAAW,MAAiB,CAACn8K,EAAE0mB,EAAEA,EAAE5D,KAAK,EAAE,CAAC,IAAI/f,EAAE/C,EAAEqzE,EAAEtwE,EAAE+f,KAAa,KAAO,GAAf/f,EAAEA,EAAEg4J,OAAe,KAAO,EAAFh4J,KAAOkjL,GAAGr/K,EAAE5G,GAAGkmL,GAAGt/K,EAAE5G,IAAIA,EAAEqzE,QAAQrzE,IAAI0mB,GAAG,OAAO,KAAK,EACtR,OADwR1mB,EAAE4G,EAAEm7J,UAAkB,EAARn7J,EAAEo7F,QAAU,OAAOt7E,EAAE1mB,EAAEkzC,qBAAqBmgC,EAAEzsE,EAAEwpJ,cAAcxpJ,EAAE/J,KAAK6pB,EAAE82J,cAAc11F,GAAGlhF,EAAE/J,KAAK6pB,EAAE82J,eAAex9K,EAAEozC,mBAAmBigC,EACxgB3sD,EAAE+8I,cAAczjK,EAAE+lL,4CAAuD,QAAhBr/J,EAAE9f,EAAE4yK,cAAsBgB,GAAG5zK,EAAE8f,EAAE1mB,IAAU,KAAK,EAAkB,GAAG,QAAnB0mB,EAAE9f,EAAE4yK,aAAwB,CAAQ,GAAPx5K,EAAE,KAAQ,OAAO4G,EAAE85C,MAAM,OAAO95C,EAAE85C,MAAMq6G,KAAK,KAAK,EAA4B,KAAK,EAAE/6J,EAAE4G,EAAE85C,MAAMqhH,UAAUyY,GAAG5zK,EAAE8f,EAAE1mB,GAAG,OAAO,KAAK,EAA2E,OAAzEA,EAAE4G,EAAEm7J,eAAU,OAAOr7I,GAAW,EAAR9f,EAAEo7F,OAASkyE,GAAGttK,EAAE/J,KAAK+J,EAAE42K,gBAAgBx9K,EAAE8hB,SAAe,KAAK,EAAS,KAAK,EAAS,KAAK,GACnX,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAD6U,KAAK,GACzY,YAD4Y,OAAOlb,EAAE68J,gBAAgB78J,EAAEA,EAAE08J,UAAU,OAAO18J,IAAIA,EAAEA,EAAE68J,cAAc,OAAO78J,IAAIA,EAAEA,EAAE88J,WAAW,OAAO98J,GAAGs/J,GAAGt/J,OACzb,MAAMiV,MAAMu7C,EAAE,MAC5E,SAAS+uH,GAAGnmL,EAAE0mB,GAAG,IAAI,IAAI9f,EAAE5G,IAAI,CAAC,GAAG,IAAI4G,EAAEm0J,IAAI,CAAC,IAAI1nF,EAAEzsE,EAAEm7J,UAAU,GAAGr7I,EAAY,oBAAV2sD,EAAEA,EAAEt9D,OAA4B2qJ,YAAYrtF,EAAEqtF,YAAY,UAAU,OAAO,aAAartF,EAAEwb,QAAQ,WAAW,CAACxb,EAAEzsE,EAAEm7J,UAAU,IAAIh/J,EAAE6D,EAAE42K,cAAcznK,MAAMhT,OAAE,IAASA,GAAG,OAAOA,GAAGA,EAAElC,eAAe,WAAWkC,EAAE8rF,QAAQ,KAAKxb,EAAEt9D,MAAM84E,QAAQ2xE,GAAG,UAAUz9J,SAAS,GAAG,IAAI6D,EAAEm0J,IAAIn0J,EAAEm7J,UAAUhE,UAAUr3I,EAAE,GAAG9f,EAAE42K,mBAAmB,IAAI,KAAK52K,EAAEm0J,KAAK,KAAKn0J,EAAEm0J,KAAK,OAAOn0J,EAAE68J,eAAe78J,IAAI5G,IAAI,OAAO4G,EAAE85C,MAAM,CAAC95C,EAAE85C,MAAM6iH,OAAO38J,EAAEA,EAAEA,EAAE85C,MAAM,SAAS,GAAG95C,IACtf5G,EAAE,MAAM,KAAK,OAAO4G,EAAEi9J,SAAS,CAAC,GAAG,OAAOj9J,EAAE28J,QAAQ38J,EAAE28J,SAASvjK,EAAE,OAAO4G,EAAEA,EAAE28J,OAAO38J,EAAEi9J,QAAQN,OAAO38J,EAAE28J,OAAO38J,EAAEA,EAAEi9J,SACjH,SAASuiB,GAAGpmL,EAAE0mB,GAAG,GAAG0vJ,IAAI,oBAAoBA,GAAGiQ,qBAAqB,IAAIjQ,GAAGiQ,qBAAqBlQ,GAAGzvJ,GAAG,MAAM/S,IAAI,OAAO+S,EAAEq0I,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAmB,GAAG,QAAnB/6J,EAAE0mB,EAAE8yJ,cAAyC,QAAfx5K,EAAEA,EAAEm8K,YAAqB,CAAC,IAAIv1K,EAAE5G,EAAEA,EAAE8iB,KAAK,EAAE,CAAC,IAAIuwD,EAAEzsE,EAAE7D,EAAEswE,EAAErK,QAAgB,GAARqK,EAAEA,EAAE0nF,SAAO,IAASh4J,EAAE,GAAG,KAAO,EAAFswE,GAAK4yG,GAAGv/J,EAAE9f,OAAO,CAACysE,EAAE3sD,EAAE,IAAI3jB,IAAI,MAAM4Q,GAAGkyK,GAAGxyG,EAAE1/D,IAAI/M,EAAEA,EAAEkc,WAAWlc,IAAI5G,GAAG,MAAM,KAAK,EAAsB,GAApB4lL,GAAGl/J,GAAoB,oBAAjB1mB,EAAE0mB,EAAEq7I,WAAmCzuH,qBAAqB,IAAItzC,EAAEtH,MAAMguB,EAAE82J,cAAcx9K,EAAEoX,MAAMsP,EAAE+8I,cAAczjK,EAAEszC,uBAAuB,MAAM3/B,GAAGkyK,GAAGn/J,EAC/gB/S,GAAG,MAAM,KAAK,EAAEiyK,GAAGl/J,GAAG,MAAM,KAAK,EAAE4/J,GAAGtmL,EAAE0mB,IAAI,SAAS6/J,GAAGvmL,GAAGA,EAAEsjK,UAAU,KAAKtjK,EAAE0gD,MAAM,KAAK1gD,EAAE+4K,aAAa,KAAK/4K,EAAEq8K,YAAY,KAAKr8K,EAAEm8K,WAAW,KAAKn8K,EAAEw9K,cAAc,KAAKx9K,EAAEyjK,cAAc,KAAKzjK,EAAEg+K,aAAa,KAAKh+K,EAAEujK,OAAO,KAAKvjK,EAAEw5K,YAAY,KAAK,SAASgN,GAAGxmL,GAAG,OAAO,IAAIA,EAAE+6J,KAAK,IAAI/6J,EAAE+6J,KAAK,IAAI/6J,EAAE+6J,IACnS,SAAS0rB,GAAGzmL,GAAGA,EAAE,CAAC,IAAI,IAAI0mB,EAAE1mB,EAAEujK,OAAO,OAAO78I,GAAG,CAAC,GAAG8/J,GAAG9/J,GAAG,MAAM1mB,EAAE0mB,EAAEA,EAAE68I,OAAO,MAAM1nJ,MAAMu7C,EAAE,MAAO,IAAIxwD,EAAE8f,EAAgB,OAAdA,EAAE9f,EAAEm7J,UAAiBn7J,EAAEm0J,KAAK,KAAK,EAAE,IAAI1nF,GAAE,EAAG,MAAM,KAAK,EAA+B,KAAK,EAAE3sD,EAAEA,EAAEg/I,cAAcryF,GAAE,EAAG,MAAM,QAAQ,MAAMx3D,MAAMu7C,EAAE,MAAe,GAARxwD,EAAEo7F,QAAW67D,GAAGn3I,EAAE,IAAI9f,EAAEo7F,QAAQ,IAAIhiG,EAAE0mB,EAAE,IAAI9f,EAAE5G,IAAI,CAAC,KAAK,OAAO4G,EAAEi9J,SAAS,CAAC,GAAG,OAAOj9J,EAAE28J,QAAQijB,GAAG5/K,EAAE28J,QAAQ,CAAC38J,EAAE,KAAK,MAAM5G,EAAE4G,EAAEA,EAAE28J,OAAiC,IAA1B38J,EAAEi9J,QAAQN,OAAO38J,EAAE28J,OAAW38J,EAAEA,EAAEi9J,QAAQ,IAAIj9J,EAAEm0J,KAAK,IAAIn0J,EAAEm0J,KAAK,KAAKn0J,EAAEm0J,KAAK,CAAC,GAAW,EAARn0J,EAAEo7F,MAAQ,SAASt7E,EAAE,GAAG,OAC/e9f,EAAE85C,OAAO,IAAI95C,EAAEm0J,IAAI,SAASr0I,EAAO9f,EAAE85C,MAAM6iH,OAAO38J,EAAEA,EAAEA,EAAE85C,MAAM,KAAa,EAAR95C,EAAEo7F,OAAS,CAACp7F,EAAEA,EAAEm7J,UAAU,MAAM/hK,GAAGqzE,EAAEqzG,GAAG1mL,EAAE4G,EAAE8f,GAAGigK,GAAG3mL,EAAE4G,EAAE8f,GACzH,SAASggK,GAAG1mL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAErzE,EAAE+6J,IAAIh4J,EAAE,IAAIswE,GAAG,IAAIA,EAAE,GAAGtwE,EAAE/C,EAAE+C,EAAE/C,EAAE+hK,UAAU/hK,EAAE+hK,UAAU1pK,SAASquB,EAAE,IAAI9f,EAAEwjD,SAASxjD,EAAEixD,WAAW+uH,aAAa5mL,EAAE0mB,GAAG9f,EAAEggL,aAAa5mL,EAAE0mB,IAAI,IAAI9f,EAAEwjD,UAAU1jC,EAAE9f,EAAEixD,YAAa+uH,aAAa5mL,EAAE4G,IAAK8f,EAAE9f,GAAIib,YAAY7hB,GAA4B,QAAxB4G,EAAEA,EAAEigL,2BAA8B,IAASjgL,GAAG,OAAO8f,EAAE69J,UAAU79J,EAAE69J,QAAQxQ,UAAU,GAAG,IAAI1gG,GAAc,QAAVrzE,EAAEA,EAAE0gD,OAAgB,IAAIgmI,GAAG1mL,EAAE0mB,EAAE9f,GAAG5G,EAAEA,EAAE6jK,QAAQ,OAAO7jK,GAAG0mL,GAAG1mL,EAAE0mB,EAAE9f,GAAG5G,EAAEA,EAAE6jK,QAC9Y,SAAS8iB,GAAG3mL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAErzE,EAAE+6J,IAAIh4J,EAAE,IAAIswE,GAAG,IAAIA,EAAE,GAAGtwE,EAAE/C,EAAE+C,EAAE/C,EAAE+hK,UAAU/hK,EAAE+hK,UAAU1pK,SAASquB,EAAE9f,EAAEggL,aAAa5mL,EAAE0mB,GAAG9f,EAAEib,YAAY7hB,QAAQ,GAAG,IAAIqzE,GAAc,QAAVrzE,EAAEA,EAAE0gD,OAAgB,IAAIimI,GAAG3mL,EAAE0mB,EAAE9f,GAAG5G,EAAEA,EAAE6jK,QAAQ,OAAO7jK,GAAG2mL,GAAG3mL,EAAE0mB,EAAE9f,GAAG5G,EAAEA,EAAE6jK,QACrN,SAASyiB,GAAGtmL,EAAE0mB,GAAG,IAAI,IAAa3jB,EAAE4Q,EAAX/M,EAAE8f,EAAE2sD,GAAE,IAAS,CAAC,IAAIA,EAAE,CAACA,EAAEzsE,EAAE28J,OAAOvjK,EAAE,OAAO,CAAC,GAAG,OAAOqzE,EAAE,MAAMx3D,MAAMu7C,EAAE,MAAoB,OAAdr0D,EAAEswE,EAAE0uF,UAAiB1uF,EAAE0nF,KAAK,KAAK,EAAEpnJ,GAAE,EAAG,MAAM3T,EAAE,KAAK,EAAiC,KAAK,EAAE+C,EAAEA,EAAE2iK,cAAc/xJ,GAAE,EAAG,MAAM3T,EAAEqzE,EAAEA,EAAEkwF,OAAOlwF,GAAE,EAAG,GAAG,IAAIzsE,EAAEm0J,KAAK,IAAIn0J,EAAEm0J,IAAI,CAAC/6J,EAAE,IAAI,IAAIo4J,EAAEp4J,EAAE6sB,EAAEjmB,EAAE9F,EAAE+rB,IAAI,GAAGu5J,GAAGhuB,EAAEt3J,GAAG,OAAOA,EAAE4/C,OAAO,IAAI5/C,EAAEi6J,IAAIj6J,EAAE4/C,MAAM6iH,OAAOziK,EAAEA,EAAEA,EAAE4/C,UAAU,CAAC,GAAG5/C,IAAI+rB,EAAE,MAAM7sB,EAAE,KAAK,OAAOc,EAAE+iK,SAAS,CAAC,GAAG,OAAO/iK,EAAEyiK,QAAQziK,EAAEyiK,SAAS12I,EAAE,MAAM7sB,EAAEc,EAAEA,EAAEyiK,OAAOziK,EAAE+iK,QAAQN,OAAOziK,EAAEyiK,OAAOziK,EAAEA,EAAE+iK,QAAQlwJ,GAAGykJ,EAAEr1J,EAAE8pB,EAAEjmB,EAAEm7J,UACrf,IAAI3J,EAAEhuG,SAASguG,EAAEvgG,WAAW71C,YAAY6K,GAAGurI,EAAEp2I,YAAY6K,IAAI9pB,EAAEif,YAAYpb,EAAEm7J,gBAAgB,GAAG,IAAIn7J,EAAEm0J,KAAK,GAAG,OAAOn0J,EAAE85C,MAAM,CAAC39C,EAAE6D,EAAEm7J,UAAU2D,cAAc/xJ,GAAE,EAAG/M,EAAE85C,MAAM6iH,OAAO38J,EAAEA,EAAEA,EAAE85C,MAAM,eAAe,GAAG0lI,GAAGpmL,EAAE4G,GAAG,OAAOA,EAAE85C,MAAM,CAAC95C,EAAE85C,MAAM6iH,OAAO38J,EAAEA,EAAEA,EAAE85C,MAAM,SAAS,GAAG95C,IAAI8f,EAAE,MAAM,KAAK,OAAO9f,EAAEi9J,SAAS,CAAC,GAAG,OAAOj9J,EAAE28J,QAAQ38J,EAAE28J,SAAS78I,EAAE,OAAkB,KAAX9f,EAAEA,EAAE28J,QAAaxI,MAAM1nF,GAAE,GAAIzsE,EAAEi9J,QAAQN,OAAO38J,EAAE28J,OAAO38J,EAAEA,EAAEi9J,SAClZ,SAASijB,GAAG9mL,EAAE0mB,GAAG,OAAOA,EAAEq0I,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIn0J,EAAE8f,EAAE8yJ,YAAyC,GAAG,QAAhC5yK,EAAE,OAAOA,EAAEA,EAAEu1K,WAAW,MAAiB,CAAC,IAAI9oG,EAAEzsE,EAAEA,EAAEkc,KAAK,GAAG,KAAW,EAANuwD,EAAE0nF,OAAS/6J,EAAEqzE,EAAErK,QAAQqK,EAAErK,aAAQ,OAAO,IAAShpE,GAAGA,KAAKqzE,EAAEA,EAAEvwD,WAAWuwD,IAAIzsE,GAAG,OAAO,KAAK,EAErJ,KAAK,GAAoG,KAAK,GAAG,OAF6C,KAAK,EAAgB,GAAG,OAAjBA,EAAE8f,EAAEq7I,WAAqB,CAAC1uF,EAAE3sD,EAAE82J,cAAc,IAAIz6K,EAAE,OAAO/C,EAAEA,EAAEw9K,cAAcnqG,EAAErzE,EAAE0mB,EAAE7pB,KAAK,IAAI8W,EAAE+S,EAAE8yJ,YAA+B,GAAnB9yJ,EAAE8yJ,YAAY,KAAQ,OAAO7lK,EAAE,CAAgF,IAA/E/M,EAAEkuK,IAAIzhG,EAAE,UAAUrzE,GAAG,UAAUqzE,EAAEx2E,MAAM,MAAMw2E,EAAE73E,MAAM6gK,GAAGz1J,EAAEysE,GAAGguF,GAAGrhK,EAAE+C,GAAG2jB,EAAE26I,GAAGrhK,EAAEqzE,GAAOtwE,EAAE,EAAEA,EAAE4Q,EAAE/a,OAAOmK,GAClf,EAAE,CAAC,IAAIq1J,EAAEzkJ,EAAE5Q,GAAG8pB,EAAElZ,EAAE5Q,EAAE,GAAG,UAAUq1J,EAAEqI,GAAG75J,EAAEimB,GAAG,4BAA4BurI,EAAEmF,GAAG32J,EAAEimB,GAAG,aAAaurI,EAAEyF,GAAGj3J,EAAEimB,GAAGksI,EAAGnyJ,EAAEwxJ,EAAEvrI,EAAEnG,GAAG,OAAO1mB,GAAG,IAAK,QAAQs8J,GAAG11J,EAAEysE,GAAG,MAAM,IAAK,WAAW4pF,GAAGr2J,EAAEysE,GAAG,MAAM,IAAK,SAASrzE,EAAE4G,EAAEo1J,cAAcsoB,YAAY19K,EAAEo1J,cAAcsoB,cAAcjxG,EAAE45B,SAAmB,OAAVt5F,EAAE0/D,EAAEl5E,OAAcwiK,GAAG/1J,IAAIysE,EAAE45B,SAASt5F,GAAE,GAAI3T,MAAMqzE,EAAE45B,WAAW,MAAM55B,EAAE7pE,aAAamzJ,GAAG/1J,IAAIysE,EAAE45B,SAAS55B,EAAE7pE,cAAa,GAAImzJ,GAAG/1J,IAAIysE,EAAE45B,SAAS55B,EAAE45B,SAAS,GAAG,IAAG,MAAO,OAAO,KAAK,EAAE,GAAG,OAAOvmF,EAAEq7I,UAAU,MAAMlmJ,MAAMu7C,EAAE,MAC/c,YADqd1wC,EAAEq7I,UAAUhE,UACjfr3I,EAAE82J,eAAqB,KAAK,EAA8D,aAA5D52K,EAAE8f,EAAEq7I,WAAY0D,UAAU7+J,EAAE6+J,SAAQ,EAAGS,GAAGt/J,EAAE8+J,iBAAsC,KAAK,GAAyD,OAAtD,OAAOh/I,EAAE+8I,gBAAgBsjB,GAAGlP,KAAIsO,GAAGz/J,EAAEg6B,OAAM,SAAKsmI,GAAGtgK,GAAU,KAAK,GAAS,YAANsgK,GAAGtgK,GAAyB,KAAK,GAAG,KAAK,GAAgC,YAA7By/J,GAAGz/J,EAAE,OAAOA,EAAE+8I,eAAsB,MAAM5nJ,MAAMu7C,EAAE,MAAO,SAAS4vH,GAAGhnL,GAAG,IAAI0mB,EAAE1mB,EAAEw5K,YAAY,GAAG,OAAO9yJ,EAAE,CAAC1mB,EAAEw5K,YAAY,KAAK,IAAI5yK,EAAE5G,EAAE+hK,UAAU,OAAOn7J,IAAIA,EAAE5G,EAAE+hK,UAAU,IAAI2jB,IAAIh/J,EAAEjqB,SAAQ,SAASiqB,GAAG,IAAI2sD,EAAE4zG,GAAG9sK,KAAK,KAAKna,EAAE0mB,GAAG9f,EAAE4mC,IAAI9mB,KAAK9f,EAAEskD,IAAIxkC,GAAGA,EAAEwC,KAAKmqD,EAAEA,QACne,SAAS6zG,GAAGlnL,EAAE0mB,GAAG,OAAO,OAAO1mB,IAAsB,QAAlBA,EAAEA,EAAEyjK,gBAAwB,OAAOzjK,EAAE0jK,cAA+B,QAAlBh9I,EAAEA,EAAE+8I,gBAAwB,OAAO/8I,EAAEg9I,YAAe,IAAIyjB,GAAG51K,KAAKi4H,KAAK49C,GAAGhuB,EAAGolB,uBAAuB6I,GAAGjuB,EAAG8oB,kBAAkBoF,GAAE,EAAE/G,GAAE,KAAKgH,GAAE,KAAKnsC,GAAE,EAAEosC,GAAG,EAAEC,GAAGvS,GAAG,GAAGwP,GAAE,EAAEgD,GAAG,KAAKC,GAAG,EAAEpN,GAAG,EAAEoK,GAAG,EAAEiD,GAAG,EAAEC,GAAG,KAAKd,GAAG,EAAElC,GAAGiD,EAAAA,EAAS,SAASC,KAAKlD,GAAGhN,KAAI,IAAI,IA8BsFmQ,GA9BlFC,GAAE,KAAK7C,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAK0C,IAAG,EAAGC,GAAG,KAAKC,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAG,EAAG,SAAS/N,KAAK,OAAO,KAAO,GAAFuM,IAAMzP,MAAK,IAAI6Q,GAAGA,GAAGA,GAAG7Q,KAC3e,SAASmD,GAAGh7K,GAAY,GAAG,KAAO,GAAnBA,EAAEA,EAAE4wJ,OAAkB,OAAO,EAAE,GAAG,KAAO,EAAF5wJ,GAAK,OAAO,KAAK83K,KAAK,EAAE,EAAkB,GAAhB,IAAI6Q,KAAKA,GAAGhB,IAAO,IAAIxP,GAAG/8H,WAAW,CAAC,IAAIwtI,KAAKA,GAAG,OAAOf,GAAGA,GAAGrgB,aAAa,GAAGxnK,EAAE2oL,GAAG,IAAIjiK,EAAE,SAASkiK,GAAsD,OAA7C,KAANliK,IAAIA,KAA8B,KAAPA,GAAb1mB,EAAE,SAASA,IAAOA,KAAU0mB,EAAE,OAAcA,EAA4D,OAA1D1mB,EAAE83K,KAAK,KAAO,EAAFwP,KAAM,KAAKtnL,EAAEA,EAAEgoK,GAAG,GAAG2gB,IAAa3oL,EAAEgoK,GAAVhoK,EAtK3Q,SAAYA,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,QAAQ,OAAO,GAsKuJ+oL,CAAG/oL,GAAU2oL,IAAY3oL,EACnT,SAASi7K,GAAGj7K,EAAE0mB,EAAE9f,GAAG,GAAG,GAAG4hL,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAK5sK,MAAMu7C,EAAE,MAAgB,GAAG,QAAbp3D,EAAEgpL,GAAGhpL,EAAE0mB,IAAe,OAAO,KAAKyhJ,GAAGnoK,EAAE0mB,EAAE9f,GAAG5G,IAAIugL,KAAIoE,IAAIj+J,EAAE,IAAIg+J,IAAGE,GAAG5kL,EAAEo7I,KAAI,IAAI/nE,EAAEykG,KAAK,IAAIpxJ,EAAE,KAAO,EAAF4gK,KAAM,KAAO,GAAFA,IAAM2B,GAAGjpL,IAAIkpL,GAAGlpL,EAAE4G,GAAG,IAAI0gL,KAAIS,KAAK9P,QAAQ,KAAO,EAAFqP,KAAM,KAAKj0G,GAAG,KAAKA,IAAI,OAAOk1G,GAAGA,GAAG,IAAIhzH,IAAI,CAACv1D,IAAIuoL,GAAGr9H,IAAIlrD,IAAIkpL,GAAGlpL,EAAE4G,IAAIihL,GAAG7nL,EAAE,SAASgpL,GAAGhpL,EAAE0mB,GAAG1mB,EAAEi5K,OAAOvyJ,EAAE,IAAI9f,EAAE5G,EAAEsjK,UAAqC,IAA3B,OAAO18J,IAAIA,EAAEqyK,OAAOvyJ,GAAG9f,EAAE5G,EAAMA,EAAEA,EAAEujK,OAAO,OAAOvjK,GAAGA,EAAE64K,YAAYnyJ,EAAgB,QAAd9f,EAAE5G,EAAEsjK,aAAqB18J,EAAEiyK,YAAYnyJ,GAAG9f,EAAE5G,EAAEA,EAAEA,EAAEujK,OAAO,OAAO,IAAI38J,EAAEm0J,IAAIn0J,EAAEm7J,UAAU,KACze,SAASmnB,GAAGlpL,EAAE0mB,GAAG,IAAI,IAAI9f,EAAE5G,EAAEmpL,aAAa91G,EAAErzE,EAAE0nK,eAAe3kK,EAAE/C,EAAE2nK,YAAYh0J,EAAE3T,EAAEopL,gBAAgBhxB,EAAEp4J,EAAEwnK,aAAa,EAAEpP,GAAG,CAAC,IAAIvrI,EAAE,GAAG+6I,GAAGxP,GAAGt3J,EAAE,GAAG+rB,EAAE1tB,EAAEwU,EAAEkZ,GAAG,IAAI,IAAI1tB,GAAG,GAAG,KAAK2B,EAAEuyE,IAAI,KAAKvyE,EAAEiC,GAAG,CAAC5D,EAAEunB,EAAE4gJ,GAAGxmK,GAAG,IAAIzF,EAAEgpC,GAAE1wB,EAAEkZ,GAAG,IAAIxxB,EAAE8D,EAAE,IAAI,GAAG9D,EAAE8D,EAAE,KAAK,QAAQA,GAAGunB,IAAI1mB,EAAEynK,cAAc3mK,GAAGs3J,IAAIt3J,EAAwB,GAAtBuyE,EAAEk0F,GAAGvnK,EAAEA,IAAIugL,GAAEnlC,GAAE,GAAG10H,EAAE2d,GAAK,IAAIgvC,EAAE,OAAOzsE,IAAIA,IAAI4wK,IAAIjB,GAAG3vK,GAAG5G,EAAEmpL,aAAa,KAAKnpL,EAAEqpL,iBAAiB,OAAO,CAAC,GAAG,OAAOziL,EAAE,CAAC,GAAG5G,EAAEqpL,mBAAmB3iK,EAAE,OAAO9f,IAAI4wK,IAAIjB,GAAG3vK,GAAG,KAAK8f,GAAG9f,EAAEqiL,GAAG9uK,KAAK,KAAKna,GAAG,OAAO03K,IAAIA,GAAG,CAAC9wK,GAAG2qD,GAAG+kH,GAAGU,GAAGkB,KAAKR,GAAGt7K,KAAKwK,GACrfA,EAAE4wK,IAAI,KAAK9wJ,EAAE9f,EAAEoxK,GAAG,GAAGiR,GAAG9uK,KAAK,KAAKna,KAAK4G,EAzK+F,SAAY5G,GAAG,OAAOA,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,QAAQ,MAAM6b,MAAMu7C,EAAE,IAAIp3D,KAyKxTspL,CAAG5iK,GAAG9f,EAAEoxK,GAAGpxK,EAAE2iL,GAAGpvK,KAAK,KAAKna,KAAKA,EAAEqpL,iBAAiB3iK,EAAE1mB,EAAEmpL,aAAaviL,GAC5G,SAAS2iL,GAAGvpL,GAAiB,GAAd0oL,IAAI,EAAEE,GAAGD,GAAG,EAAK,KAAO,GAAFrB,IAAM,MAAMzrK,MAAMu7C,EAAE,MAAM,IAAI1wC,EAAE1mB,EAAEmpL,aAAa,GAAGK,MAAMxpL,EAAEmpL,eAAeziK,EAAE,OAAO,KAAK,IAAI9f,EAAE2gK,GAAGvnK,EAAEA,IAAIugL,GAAEnlC,GAAE,GAAG,GAAG,IAAIx0I,EAAE,OAAO,KAAK,IAAIysE,EAAEzsE,EAAM7D,EAAEukL,GAAEA,IAAG,GAAG,IAAI3zK,EAAE81K,KAAkC,IAA1BlJ,KAAIvgL,GAAGo7I,KAAI/nE,IAAE00G,KAAK2B,GAAG1pL,EAAEqzE,MAAM,IAAIs2G,KAAK,MAAM,MAAM98J,GAAG+8J,GAAG5pL,EAAE6sB,GAAgE,GAApD4rJ,KAAK2O,GAAG7jL,QAAQoQ,EAAE2zK,GAAEvkL,EAAE,OAAOwkL,GAAEl0G,EAAE,GAAGktG,GAAE,KAAKnlC,GAAE,EAAE/nE,EAAEqxG,IAAM,KAAKiD,GAAGhD,IAAI+E,GAAG1pL,EAAE,QAAQ,GAAG,IAAIqzE,EAAE,CAAyF,GAAxF,IAAIA,IAAIi0G,IAAG,GAAGtnL,EAAEylK,UAAUzlK,EAAEylK,SAAQ,EAAG8O,GAAGv0K,EAAE0lK,gBAAwB,KAAR9+J,EAAEmhK,GAAG/nK,MAAWqzE,EAAEw2G,GAAG7pL,EAAE4G,KAAQ,IAAIysE,EAAE,MAAM3sD,EAAEghK,GAAGgC,GAAG1pL,EAAE,GAAG4kL,GAAG5kL,EAAE4G,GAAGsiL,GAAGlpL,EAAE63K,MAAKnxJ,EAC3c,OAD6c1mB,EAAE8pL,aACrf9pL,EAAEuD,QAAQ+/J,UAAUtjK,EAAE+pL,cAAcnjL,EAASysE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAMx3D,MAAMu7C,EAAE,MAAM,KAAK,EACI,KAAK,EAAE4yH,GAAGhqL,GAAG,MADH,KAAK,EAAU,GAAR4kL,GAAG5kL,EAAE4G,IAAS,SAAFA,KAAcA,GAAiB,IAAbysE,EAAE0zG,GAAG,IAAIlP,MAAU,CAAC,GAAG,IAAItQ,GAAGvnK,EAAE,GAAG,MAAyB,KAAnB+C,EAAE/C,EAAE0nK,gBAAqB9gK,KAAKA,EAAE,CAACm0K,KAAK/6K,EAAE2nK,aAAa3nK,EAAE0nK,eAAe3kK,EAAE,MAAM/C,EAAEiqL,cAAc5V,GAAG2V,GAAG7vK,KAAK,KAAKna,GAAGqzE,GAAG,MAAM22G,GAAGhqL,GAAG,MAAM,KAAK,EAAU,GAAR4kL,GAAG5kL,EAAE4G,IAAS,QAAFA,KAAaA,EAAE,MAAqB,IAAfysE,EAAErzE,EAAEooK,WAAerlK,GAAG,EAAE,EAAE6D,GAAG,CAAC,IAAIwxJ,EAAE,GAAGwP,GAAGhhK,GAAG+M,EAAE,GAAGykJ,GAAEA,EAAE/kF,EAAE+kF,IAAKr1J,IAAIA,EAAEq1J,GAAGxxJ,IAAI+M,EACjZ,GADmZ/M,EAAE7D,EAClZ,IAD4Z6D,GAAG,KAAXA,EAAEixK,KAAIjxK,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAClfA,EAAE,KAAK,KAAKugL,GAAGvgL,EAAE,OAAOA,GAAU,CAAC5G,EAAEiqL,cAAc5V,GAAG2V,GAAG7vK,KAAK,KAAKna,GAAG4G,GAAG,MAAMojL,GAAGhqL,GAAG,MAAyB,QAAQ,MAAM6b,MAAMu7C,EAAE,OAAkB,OAAV8xH,GAAGlpL,EAAE63K,MAAY73K,EAAEmpL,eAAeziK,EAAE6iK,GAAGpvK,KAAK,KAAKna,GAAG,KAAK,SAAS4kL,GAAG5kL,EAAE0mB,GAAuD,IAApDA,IAAIkhK,GAAGlhK,IAAIi+J,GAAG3kL,EAAE0nK,gBAAgBhhJ,EAAE1mB,EAAE2nK,cAAcjhJ,EAAM1mB,EAAEA,EAAEopL,gBAAgB,EAAE1iK,GAAG,CAAC,IAAI9f,EAAE,GAAGghK,GAAGlhJ,GAAG2sD,EAAE,GAAGzsE,EAAE5G,EAAE4G,IAAI,EAAE8f,IAAI2sD,GAC1U,SAAS41G,GAAGjpL,GAAG,GAAG,KAAO,GAAFsnL,IAAM,MAAMzrK,MAAMu7C,EAAE,MAAW,GAALoyH,KAAQxpL,IAAIugL,IAAG,KAAKvgL,EAAEynK,aAAarsB,IAAG,CAAC,IAAI10H,EAAE00H,GAAMx0I,EAAEijL,GAAG7pL,EAAE0mB,GAAG,KAAKihK,GAAGhD,MAAgB/9K,EAAEijL,GAAG7pL,EAAf0mB,EAAE6gJ,GAAGvnK,EAAE0mB,UAA6B9f,EAAEijL,GAAG7pL,EAAf0mB,EAAE6gJ,GAAGvnK,EAAE,IAAgH,GAAnG,IAAIA,EAAE+6J,KAAK,IAAIn0J,IAAI0gL,IAAG,GAAGtnL,EAAEylK,UAAUzlK,EAAEylK,SAAQ,EAAG8O,GAAGv0K,EAAE0lK,gBAAwB,KAARh/I,EAAEqhJ,GAAG/nK,MAAW4G,EAAEijL,GAAG7pL,EAAE0mB,KAAQ,IAAI9f,EAAE,MAAMA,EAAE8gL,GAAGgC,GAAG1pL,EAAE,GAAG4kL,GAAG5kL,EAAE0mB,GAAGwiK,GAAGlpL,EAAE63K,MAAKjxK,EAAuE,OAArE5G,EAAE8pL,aAAa9pL,EAAEuD,QAAQ+/J,UAAUtjK,EAAE+pL,cAAcrjK,EAAEsjK,GAAGhqL,GAAGkpL,GAAGlpL,EAAE63K,MAAY,KACnR,SAASqS,GAAGlqL,EAAE0mB,GAAG,IAAI9f,EAAE0gL,GAAEA,IAAG,EAAE,IAAI,OAAOtnL,EAAE0mB,GAAG,QAAY,KAAJ4gK,GAAE1gL,KAAUmhL,KAAK9P,OAAO,SAASkS,GAAGnqL,EAAE0mB,GAAG,IAAI9f,EAAE0gL,GAAEA,KAAI,EAAEA,IAAG,EAAE,IAAI,OAAOtnL,EAAE0mB,GAAG,QAAY,KAAJ4gK,GAAE1gL,KAAUmhL,KAAK9P,OAAO,SAASwK,GAAGziL,EAAE0mB,GAAGyuJ,GAAEsS,GAAGD,IAAIA,IAAI9gK,EAAEihK,IAAIjhK,EAAE,SAASo+J,KAAK0C,GAAGC,GAAGlkL,QAAQiuJ,GAAEi2B,IAC5V,SAASiC,GAAG1pL,EAAE0mB,GAAG1mB,EAAE8pL,aAAa,KAAK9pL,EAAE+pL,cAAc,EAAE,IAAInjL,EAAE5G,EAAEiqL,cAAiD,IAAlC,IAAIrjL,IAAI5G,EAAEiqL,eAAe,EAAE3V,GAAG1tK,IAAO,OAAO2gL,GAAE,IAAI3gL,EAAE2gL,GAAEhkB,OAAO,OAAO38J,GAAG,CAAC,IAAIysE,EAAEzsE,EAAE,OAAOysE,EAAE0nF,KAAK,KAAK,EAA6B,QAA3B1nF,EAAEA,EAAEx2E,KAAK84K,yBAA4B,IAAStiG,GAAGuiG,KAAK,MAAM,KAAK,EAAEwH,KAAK5rB,GAAEhxB,IAAGgxB,GAAE3pB,IAAGw2C,KAAK,MAAM,KAAK,EAAE12C,GAAGt0D,GAAG,MAAM,KAAK,EAAE+pG,KAAK,MAAM,KAAK,GAAc,KAAK,GAAG5rB,GAAE8rB,IAAG,MAAM,KAAK,GAAG5E,GAAGrlG,GAAG,MAAM,KAAK,GAAG,KAAK,GAAGyxG,KAAKl+K,EAAEA,EAAE28J,OAAOgd,GAAEvgL,EAAEunL,GAAEjL,GAAGt8K,EAAEuD,QAAQ,MAAM63I,GAAEosC,GAAGG,GAAGjhK,EAAEg+J,GAAE,EAAEgD,GAAG,KAAKE,GAAGjD,GAAGpK,GAAG,EACvc,SAASqP,GAAG5pL,EAAE0mB,GAAG,OAAE,CAAC,IAAI9f,EAAE2gL,GAAE,IAAuB,GAAnB9O,KAAK8F,GAAGh7K,QAAQ+7K,GAAMR,GAAG,CAAC,IAAI,IAAIzrG,EAAEsrG,GAAElb,cAAc,OAAOpwF,GAAG,CAAC,IAAItwE,EAAEswE,EAAEh8D,MAAM,OAAOtU,IAAIA,EAAE0U,QAAQ,MAAM47D,EAAEA,EAAEvwD,KAAKg8J,IAAG,EAAyC,GAAtCJ,GAAG,EAAEG,GAAED,GAAED,GAAE,KAAKI,IAAG,EAAGsI,GAAG9jL,QAAQ,KAAQ,OAAOqD,GAAG,OAAOA,EAAE28J,OAAO,CAACmhB,GAAE,EAAEgD,GAAGhhK,EAAE6gK,GAAE,KAAK,MAAMvnL,EAAE,CAAC,IAAI2T,EAAE3T,EAAEo4J,EAAExxJ,EAAE28J,OAAO12I,EAAEjmB,EAAE9F,EAAE4lB,EAAoD,GAAlDA,EAAE00H,GAAEvuH,EAAEm1E,OAAO,KAAKn1E,EAAEwvJ,YAAYxvJ,EAAEsvJ,WAAW,KAAQ,OAAOr7K,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEooB,KAAK,CAAC,IAAI/pB,EAAE2B,EAAE,GAAG,KAAY,EAAP+rB,EAAE+jI,MAAQ,CAAC,IAAIv1J,EAAEwxB,EAAEy2I,UAAUjoK,GAAGwxB,EAAE2sJ,YAAYn+K,EAAEm+K,YAAY3sJ,EAAE42I,cAAcpoK,EAAEooK,cAAc52I,EAAEosJ,MAAM59K,EAAE49K,QACpfpsJ,EAAE2sJ,YAAY,KAAK3sJ,EAAE42I,cAAc,MAAM,IAAI4W,EAAE,KAAe,EAAViD,GAAE/5K,SAAW3J,EAAEw+J,EAAE,EAAE,CAAC,IAAIkiB,EAAE,GAAGA,EAAE,KAAK1gL,EAAEmhK,IAAI,CAAC,IAAI5jG,EAAEv9D,EAAE6pK,cAAc,GAAG,OAAOtsG,EAAEmjH,EAAE,OAAOnjH,EAAEusG,eAAqB,CAAC,IAAI5xI,EAAEl4B,EAAE4jL,cAAclD,OAAE,IAASxoJ,EAAEwxJ,YAAY,IAAKxxJ,EAAEyxJ,6BAA8BlJ,IAAS,GAAGC,EAAE,CAAC,IAAIt5C,EAAEpnI,EAAE4/K,YAAY,GAAG,OAAOx4C,EAAE,CAAC,IAAI3gC,EAAE,IAAI9qC,IAAI8qC,EAAEn1C,IAAI/rD,GAAGvF,EAAE4/K,YAAYn5E,OAAO2gC,EAAE91E,IAAI/rD,GAAG,GAAG,KAAY,EAAPvF,EAAEg3J,MAAQ,CAA2C,GAA1Ch3J,EAAEooG,OAAO,GAAGn1E,EAAEm1E,OAAO,MAAMn1E,EAAEm1E,QAAQ,KAAQ,IAAIn1E,EAAEkuI,IAAI,GAAG,OAAOluI,EAAEy2I,UAAUz2I,EAAEkuI,IAAI,OAAO,CAAC,IAAI76J,EAAE65K,IAAI,EAAE,GAAG75K,EAAE66J,IAAI,EAAEmf,GAAGrtJ,EAAE3sB,GAAG2sB,EAAEosJ,OAAO,EAAE,MAAMj5K,EAAEc,OAC5f,EAAO+rB,EAAEnG,EAAE,IAAIxO,EAAEvE,EAAEy2K,UAA+G,GAArG,OAAOlyK,GAAGA,EAAEvE,EAAEy2K,UAAU,IAAIlF,GAAGpkL,EAAE,IAAIy0D,IAAIr9C,EAAEjI,IAAI9Q,EAAE2B,SAAgB,KAAXA,EAAEoX,EAAEiB,IAAIha,MAAgB2B,EAAE,IAAIy0D,IAAIr9C,EAAEjI,IAAI9Q,EAAE2B,KAASA,EAAE0sC,IAAI3gB,GAAG,CAAC/rB,EAAEoqD,IAAIr+B,GAAG,IAAI1nB,EAAEklL,GAAGlwK,KAAK,KAAKxG,EAAExU,EAAE0tB,GAAG1tB,EAAE+pB,KAAK/jB,EAAEA,GAAGvL,EAAEooG,OAAO,KAAKpoG,EAAEq/K,MAAMvyJ,EAAE,MAAM1mB,EAAEpG,EAAEA,EAAE2pK,aAAa,OAAO3pK,GAAGkH,EAAE+a,OAAOo/I,EAAGpuI,EAAEhwB,OAAO,qBAAqB,yLAAyL,IAAI6nL,KAAIA,GAAE,GAAG5jL,EAAEkkL,GAAGlkL,EAAE+rB,GAAGjzB,EACpfw+J,EAAE,EAAE,CAAC,OAAOx+J,EAAEmhK,KAAK,KAAK,EAAEpnJ,EAAE7S,EAAElH,EAAEooG,OAAO,KAAKt7E,IAAIA,EAAE9sB,EAAEq/K,OAAOvyJ,EAAkByzJ,GAAGvgL,EAAburL,GAAGvrL,EAAE+Z,EAAE+S,IAAW,MAAM1mB,EAAE,KAAK,EAAE2T,EAAE7S,EAAE,IAAI8yK,EAAEh6K,EAAEiD,KAAK00J,EAAE33J,EAAEmoK,UAAU,GAAG,KAAa,GAARnoK,EAAEooG,SAAY,oBAAoB4xE,EAAEiP,0BAA0B,OAAOtxB,GAAG,oBAAoBA,EAAEg0B,oBAAoB,OAAOC,KAAKA,GAAGh4I,IAAI+jH,KAAK,CAAC33J,EAAEooG,OAAO,KAAKt7E,IAAIA,EAAE9sB,EAAEq/K,OAAOvyJ,EAAkByzJ,GAAGvgL,EAAb0rL,GAAG1rL,EAAE+Z,EAAE+S,IAAW,MAAM1mB,GAAGpG,EAAEA,EAAE2pK,aAAa,OAAO3pK,GAAG0wL,GAAG1jL,GAAG,MAAM2jL,GAAI7jK,EAAE6jK,EAAGhD,KAAI3gL,GAAG,OAAOA,IAAI2gL,GAAE3gL,EAAEA,EAAE28J,QAAQ,SAAS,OAC/a,SAASkmB,KAAK,IAAIzpL,EAAEonL,GAAG7jL,QAAsB,OAAd6jL,GAAG7jL,QAAQ+7K,GAAU,OAAOt/K,EAAEs/K,GAAGt/K,EAAE,SAAS6pL,GAAG7pL,EAAE0mB,GAAG,IAAI9f,EAAE0gL,GAAEA,IAAG,GAAG,IAAIj0G,EAAEo2G,KAA2B,IAAtBlJ,KAAIvgL,GAAGo7I,KAAI10H,GAAGgjK,GAAG1pL,EAAE0mB,KAAM,IAAI8jK,KAAK,MAAM,MAAMznL,GAAG6mL,GAAG5pL,EAAE+C,GAAkC,GAAtB01K,KAAK6O,GAAE1gL,EAAEwgL,GAAG7jL,QAAQ8vE,EAAK,OAAOk0G,GAAE,MAAM1rK,MAAMu7C,EAAE,MAAiB,OAAXmpH,GAAE,KAAKnlC,GAAE,EAASspC,GAAE,SAAS8F,KAAK,KAAK,OAAOjD,IAAGkD,GAAGlD,IAAG,SAASoC,KAAK,KAAK,OAAOpC,KAAI9Q,MAAMgU,GAAGlD,IAAG,SAASkD,GAAGzqL,GAAG,IAAI0mB,EAAEshK,GAAGhoL,EAAEsjK,UAAUtjK,EAAEwnL,IAAIxnL,EAAEw9K,cAAcx9K,EAAEg+K,aAAa,OAAOt3J,EAAE4jK,GAAGtqL,GAAGunL,GAAE7gK,EAAE2gK,GAAG9jL,QAAQ,KAC5a,SAAS+mL,GAAGtqL,GAAG,IAAI0mB,EAAE1mB,EAAE,EAAE,CAAC,IAAI4G,EAAE8f,EAAE48I,UAAqB,GAAXtjK,EAAE0mB,EAAE68I,OAAU,KAAa,KAAR78I,EAAEs7E,OAAY,CAAc,GAAG,QAAhBp7F,EAAEy9K,GAAGz9K,EAAE8f,EAAE8gK,KAAqB,YAAJD,GAAE3gL,GAAa,GAAG,MAAPA,EAAE8f,GAAYq0I,KAAK,KAAKn0J,EAAEm0J,KAAK,OAAOn0J,EAAE68J,eAAe,KAAQ,WAAH+jB,KAAgB,KAAY,EAAP5gL,EAAEgqJ,MAAQ,CAAC,IAAI,IAAIv9E,EAAE,EAAEtwE,EAAE6D,EAAE85C,MAAM,OAAO39C,GAAGswE,GAAGtwE,EAAEk2K,MAAMl2K,EAAE81K,WAAW91K,EAAEA,EAAE8gK,QAAQj9J,EAAEiyK,WAAWxlG,EAAE,OAAOrzE,GAAG,KAAa,KAARA,EAAEgiG,SAAc,OAAOhiG,EAAEq8K,cAAcr8K,EAAEq8K,YAAY31J,EAAE21J,aAAa,OAAO31J,EAAEy1J,aAAa,OAAOn8K,EAAEm8K,aAAan8K,EAAEm8K,WAAWC,WAAW11J,EAAE21J,aAAar8K,EAAEm8K,WAAWz1J,EAAEy1J,YAAY,EAAEz1J,EAAEs7E,QAAQ,OAC/ehiG,EAAEm8K,WAAWn8K,EAAEm8K,WAAWC,WAAW11J,EAAE1mB,EAAEq8K,YAAY31J,EAAE1mB,EAAEm8K,WAAWz1J,QAAQ,CAAS,GAAG,QAAX9f,EAAEm+K,GAAGr+J,IAAkC,OAAlB9f,EAAEo7F,OAAO,UAAKulF,GAAE3gL,GAAS,OAAO5G,IAAIA,EAAEq8K,YAAYr8K,EAAEm8K,WAAW,KAAKn8K,EAAEgiG,OAAO,MAAkB,GAAG,QAAft7E,EAAEA,EAAEm9I,SAAyB,YAAJ0jB,GAAE7gK,GAAS6gK,GAAE7gK,EAAE1mB,QAAQ,OAAO0mB,GAAG,IAAIg+J,KAAIA,GAAE,GAAG,SAASsF,GAAGhqL,GAAG,IAAI0mB,EAAEoxJ,KAA8B,OAAzBv8B,GAAG,GAAGmvC,GAAGvwK,KAAK,KAAKna,EAAE0mB,IAAW,KACtT,SAASgkK,GAAG1qL,EAAE0mB,GAAG,GAAG8iK,WAAW,OAAOrB,IAAI,GAAG,KAAO,GAAFb,IAAM,MAAMzrK,MAAMu7C,EAAE,MAAM,IAAIxwD,EAAE5G,EAAE8pL,aAAa,GAAG,OAAOljL,EAAE,OAAO,KAA2C,GAAtC5G,EAAE8pL,aAAa,KAAK9pL,EAAE+pL,cAAc,EAAKnjL,IAAI5G,EAAEuD,QAAQ,MAAMsY,MAAMu7C,EAAE,MAAMp3D,EAAEmpL,aAAa,KAAK,IAAI91G,EAAEzsE,EAAEqyK,MAAMryK,EAAEiyK,WAAW91K,EAAEswE,EAAE1/D,EAAE3T,EAAEwnK,cAAczkK,EAAE/C,EAAEwnK,aAAazkK,EAAE/C,EAAE0nK,eAAe,EAAE1nK,EAAE2nK,YAAY,EAAE3nK,EAAEynK,cAAc1kK,EAAE/C,EAAEqgL,kBAAkBt9K,EAAE/C,EAAE6nK,gBAAgB9kK,EAAEA,EAAE/C,EAAE8nK,cAAc,IAAI,IAAI1P,EAAEp4J,EAAEooK,WAAWv7I,EAAE7sB,EAAEopL,gBAAgB,EAAEz1K,GAAG,CAAC,IAAI7S,EAAE,GAAG8mK,GAAGj0J,GAAGxU,EAAE,GAAG2B,EAAEiC,EAAEjC,GAAG,EAAEs3J,EAAEt3J,IAAI,EAAE+rB,EAAE/rB,IAAI,EAAE6S,IAAIxU,EACnV,GADqV,OACjfopL,IAAI,KAAO,GAAFl1G,IAAOk1G,GAAG/6I,IAAIxtC,IAAIuoL,GAAGrjB,OAAOllK,GAAGA,IAAIugL,KAAIgH,GAAEhH,GAAE,KAAKnlC,GAAE,GAAG,EAAEx0I,EAAEo7F,MAAM,OAAOp7F,EAAEu1K,YAAYv1K,EAAEu1K,WAAWC,WAAWx1K,EAAEysE,EAAEzsE,EAAEy1K,aAAahpG,EAAEzsE,EAAEysE,EAAEzsE,EAAEy1K,YAAe,OAAOhpG,EAAE,CAAwC,GAAvCtwE,EAAEukL,GAAEA,IAAG,GAAGD,GAAG9jL,QAAQ,KAAKywK,GAAG5rE,GAAaupE,GAAVvZ,EAAEoZ,MAAc,CAAC,GAAG,mBAAmBpZ,EAAEvrI,EAAE,CAAC0sC,MAAM6+F,EAAE+Z,eAAepoI,IAAIquH,EAAEga,mBAAmBpyK,EAAE,GAAG6sB,GAAGA,EAAEurI,EAAE5iH,gBAAgB3oB,EAAE+oB,aAAa5zC,QAAQ7C,EAAE0tB,EAAEylJ,cAAczlJ,EAAEylJ,iBAAiB,IAAInzK,EAAEwrL,WAAW,CAAC99J,EAAE1tB,EAAEkzK,WAAW1+J,EAAExU,EAAEozK,aAAazxK,EAAE3B,EAAEqzK,UAAUrzK,EAAEA,EAAEszK,YAAY,IAAI5lJ,EAAEu9B,SAAStpD,EAAEspD,SAAS,MAAMmgI,GAAI19J,EAAE,KACnf,MAAM7sB,EAAE,IAAI3E,EAAE,EAAEg/K,GAAG,EAAEzgL,GAAG,EAAE0gL,EAAE,EAAEnjH,EAAE,EAAErlC,EAAEsmI,EAAEp3B,EAAE,KAAKt6G,EAAE,OAAO,CAAC,IAAI,IAAI25E,EAAKvuE,IAAIjF,GAAG,IAAIlZ,GAAG,IAAIme,EAAEs4B,WAAWiwH,EAAEh/K,EAAEsY,GAAGme,IAAIhxB,GAAG,IAAI3B,GAAG,IAAI2yB,EAAEs4B,WAAWxwD,EAAEyB,EAAE8D,GAAG,IAAI2yB,EAAEs4B,WAAW/uD,GAAGy2B,EAAEisI,UAAUnlK,QAAW,QAAQynG,EAAEvuE,EAAE4rI,aAAkB18B,EAAElvG,EAAEA,EAAEuuE,EAAE,OAAO,CAAC,GAAGvuE,IAAIsmI,EAAE,MAAM1xI,EAA8C,GAA5Cs6G,IAAIn0G,KAAKytJ,IAAI3mK,IAAI0mK,EAAEh/K,GAAG2lI,IAAIlgI,KAAKq2D,IAAIh4D,IAAIvF,EAAEyB,GAAM,QAAQglG,EAAEvuE,EAAEw/I,aAAa,MAAUtwC,GAAJlvG,EAAEkvG,GAAMnpE,WAAW/lC,EAAEuuE,EAAExzE,GAAG,IAAIwtJ,IAAI,IAAIzgL,EAAE,KAAK,CAAC2/D,MAAM8gH,EAAEtwI,IAAInwC,QAAQizB,EAAE,KAAKA,EAAEA,GAAG,CAAC0sC,MAAM,EAAExvB,IAAI,QAAQld,EAAE,KAAKonJ,GAAG,CAAC2W,YAAYxyB,EAAEyyB,eAAeh+J,GAAGu7E,IAAG,EAAGygF,GAAG,KAAKC,IAAG,EAAGb,GAAE50G,EAAE,GAAG,IAAIy3G,KAAK,MAAMP,GAAI,GAAG,OACvgBtC,GAAE,MAAMpsK,MAAMu7C,EAAE,MAAMyuH,GAAGoC,GAAEsC,GAAItC,GAAEA,GAAE7L,kBAAiB,OAAO6L,IAAGY,GAAG,KAAKZ,GAAE50G,EAAE,GAAG,IAAI,IAAI+kF,EAAEp4J,EAAE,OAAOioL,IAAG,CAAC,IAAI/nL,EAAE+nL,GAAEjmF,MAA+B,GAAvB,GAAF9hG,GAAM29J,GAAGoqB,GAAElmB,UAAU,IAAS,IAAF7hK,EAAM,CAAC,IAAIgY,EAAE+vK,GAAE3kB,UAAU,GAAG,OAAOprJ,EAAE,CAAC,IAAI/S,EAAE+S,EAAEorB,IAAI,OAAOn+B,IAAI,oBAAoBA,EAAEA,EAAE,MAAMA,EAAE5B,QAAQ,OAAO,OAAS,KAAFrD,GAAQ,KAAK,EAAEumL,GAAGwB,IAAGA,GAAEjmF,QAAQ,EAAE,MAAM,KAAK,EAAEykF,GAAGwB,IAAGA,GAAEjmF,QAAQ,EAAE8kF,GAAGmB,GAAE3kB,UAAU2kB,IAAG,MAAM,KAAK,KAAKA,GAAEjmF,QAAQ,KAAK,MAAM,KAAK,KAAKimF,GAAEjmF,QAAQ,KAAK8kF,GAAGmB,GAAE3kB,UAAU2kB,IAAG,MAAM,KAAK,EAAEnB,GAAGmB,GAAE3kB,UAAU2kB,IAAG,MAAM,KAAK,EAAM3B,GAAGluB,EAAPvrI,EAAEo7J,IAAU,IAAItU,EAAE9mJ,EAAEy2I,UAAUijB,GAAG15J,GAAG,OACnf8mJ,GAAG4S,GAAG5S,GAAGsU,GAAEA,GAAE7L,YAAY,MAAMmO,GAAI,GAAG,OAAOtC,GAAE,MAAMpsK,MAAMu7C,EAAE,MAAMyuH,GAAGoC,GAAEsC,GAAItC,GAAEA,GAAE7L,kBAAiB,OAAO6L,IAAkD,GAA/C9iL,EAAE8uK,GAAG/7J,EAAEs5J,KAAKtxK,EAAEiF,EAAEylL,YAAYxyB,EAAEjzJ,EAAE0lL,eAAkB3yK,IAAIhY,GAAGA,GAAGA,EAAEs1C,eAAe+7H,GAAGrxK,EAAEs1C,cAAcsT,gBAAgB5oD,GAAG,CAAC,OAAOk4J,GAAGuZ,GAAGzxK,KAAKgY,EAAEkgJ,EAAE7+F,WAAc,KAARp0D,EAAEizJ,EAAEruH,OAAiB5kC,EAAE+S,GAAG,mBAAmBhY,GAAGA,EAAEiyK,eAAej6J,EAAEhY,EAAEkyK,aAAa7gK,KAAK+jB,IAAInwB,EAAEjF,EAAE/F,MAAMvB,UAAUuM,GAAG+S,EAAEhY,EAAEs1C,eAAe/zB,WAAWvJ,EAAE09B,aAAa5zC,QAASswK,eAAentK,EAAEA,EAAEmtK,eAAezlJ,EAAE3sB,EAAEi9J,YAAYvkK,OAAO+6K,EAAEpiK,KAAK+jB,IAAI8iI,EAAE7+F,MAAM1sC,GAAGurI,OAAE,IACpfA,EAAEruH,IAAI4pI,EAAEpiK,KAAK+jB,IAAI8iI,EAAEruH,IAAIld,IAAI1nB,EAAEshB,QAAQktJ,EAAEvb,IAAIvrI,EAAEurI,EAAEA,EAAEub,EAAEA,EAAE9mJ,GAAGA,EAAEwkJ,GAAGnxK,EAAEyzK,GAAGhgK,EAAE09J,GAAGnxK,EAAEk4J,GAAGvrI,GAAGlZ,IAAI,IAAIxO,EAAEwlL,YAAYxlL,EAAEktK,aAAaxlJ,EAAEioB,MAAM3vC,EAAEotK,eAAe1lJ,EAAE01B,QAAQp9C,EAAEqtK,YAAY7+J,EAAEmhC,MAAM3vC,EAAEstK,cAAc9+J,EAAE4uC,WAAUrqC,EAAEA,EAAE6yK,eAAgBC,SAASn+J,EAAEioB,KAAKjoB,EAAE01B,QAAQp9C,EAAE8lL,kBAAkBtX,EAAEvb,GAAGjzJ,EAAE+lL,SAAShzK,GAAG/S,EAAEshB,OAAO9S,EAAEmhC,KAAKnhC,EAAE4uC,UAAUrqC,EAAEizK,OAAOx3K,EAAEmhC,KAAKnhC,EAAE4uC,QAAQp9C,EAAE+lL,SAAShzK,OAAQA,EAAE,GAAG,IAAI/S,EAAEjF,EAAEiF,EAAEA,EAAE0yD,YAAY,IAAI1yD,EAAEilD,UAAUlyC,EAAE9b,KAAK,CAAC6sC,QAAQ9jC,EAAE+xD,KAAK/xD,EAAEi5D,WAAWrH,IAAI5xD,EAAEm5D,YAAmD,IAAvC,oBAAoBp+D,EAAE4hB,OAAO5hB,EAAE4hB,QAAY5hB,EACrf,EAAEA,EAAEgY,EAAEtf,OAAOsH,KAAIiF,EAAE+S,EAAEhY,IAAK+oC,QAAQm1B,WAAWj5D,EAAE+xD,KAAK/xD,EAAE8jC,QAAQq1B,UAAUn5D,EAAE4xD,IAAIqxC,KAAK4rE,GAAGC,GAAGD,GAAG,KAAKh0K,EAAEuD,QAAQqD,EAAEqhL,GAAE50G,EAAE,GAAG,IAAI,IAAInzE,EAAEF,EAAE,OAAOioL,IAAG,CAAC,IAAIrU,EAAEqU,GAAEjmF,MAAgC,GAAxB,GAAF4xE,GAAMoS,GAAG9lL,EAAE+nL,GAAE3kB,UAAU2kB,IAAQ,IAAFrU,EAAM,CAAC17J,OAAE,EAAO,IAAIq5I,EAAE02B,GAAE3kJ,IAAI,GAAG,OAAOiuH,EAAE,CAAC,IAAI3qB,EAAEqhD,GAAElmB,UAAiBkmB,GAAEltB,IAA8B7iJ,EAAE0uH,EAAE,oBAAoB2qB,EAAEA,EAAEr5I,GAAGq5I,EAAEhuJ,QAAQ2U,GAAG+vK,GAAEA,GAAE7L,YAAY,MAAMmO,GAAI,GAAG,OAAOtC,GAAE,MAAMpsK,MAAMu7C,EAAE,MAAMyuH,GAAGoC,GAAEsC,GAAItC,GAAEA,GAAE7L,kBAAiB,OAAO6L,IAAGA,GAAE,KAAKxQ,KAAK6P,GAAEvkL,OAAO/C,EAAEuD,QAAQqD,EAAE,GAAGshL,GAAGA,IAAG,EAAGC,GAAGnoL,EAAEooL,GAAG1hK,OAAO,IAAIuhK,GAAE50G,EAAE,OAAO40G,IAAGvhK,EACpfuhK,GAAE7L,WAAW6L,GAAE7L,WAAW,KAAa,EAAR6L,GAAEjmF,SAAU4xE,EAAEqU,IAAIpkB,QAAQ,KAAK+P,EAAE7R,UAAU,MAAMkmB,GAAEvhK,EAAqF,GAAlE,KAAjB2sD,EAAErzE,EAAEwnK,gBAAqBge,GAAG,MAAM,IAAInyG,EAAErzE,IAAIyoL,GAAGD,MAAMA,GAAG,EAAEC,GAAGzoL,GAAGwoL,GAAG,EAAE5hL,EAAEA,EAAEm7J,UAAaqU,IAAI,oBAAoBA,GAAGgV,kBAAkB,IAAIhV,GAAGgV,kBAAkBjV,GAAGvvK,OAAE,EAAO,MAAsB,GAAhBA,EAAErD,QAAQy+F,QAAW,MAAMuoF,IAAe,GAAVrB,GAAGlpL,EAAE63K,MAAQuN,GAAG,MAAMA,IAAG,EAAGplL,EAAEqlL,GAAGA,GAAG,KAAKrlL,EAAE,OAAG,KAAO,EAAFsnL,KAAiBrP,KAAL,KACjW,SAAS6S,KAAK,KAAK,OAAO7C,IAAG,CAAC,IAAIjoL,EAAEioL,GAAE3kB,UAAUwlB,IAAI,OAAOD,KAAK,KAAa,EAARZ,GAAEjmF,OAAS+hE,GAAGkkB,GAAEY,MAAMC,IAAG,GAAI,KAAKb,GAAEltB,KAAKmsB,GAAGlnL,EAAEioL,KAAIlkB,GAAGkkB,GAAEY,MAAMC,IAAG,IAAK,IAAIpiK,EAAEuhK,GAAEjmF,MAAM,KAAO,IAAFt7E,IAAQo/J,GAAG9lL,EAAEioL,IAAG,KAAO,IAAFvhK,IAAQwhK,KAAKA,IAAG,EAAGlQ,GAAG,IAAG,WAAgB,OAALwR,KAAY,SAAQvB,GAAEA,GAAE7L,YAAY,SAASoN,KAAK,GAAG,KAAKpB,GAAG,CAAC,IAAIpoL,EAAE,GAAGooL,GAAG,GAAGA,GAAS,OAANA,GAAG,GAAU7sC,GAAGv7I,EAAE6J,IAAI,OAAM,EAAG,SAASq8K,GAAGlmL,EAAE0mB,GAAG2hK,GAAGjsL,KAAKsqB,EAAE1mB,GAAGkoL,KAAKA,IAAG,EAAGlQ,GAAG,IAAG,WAAgB,OAALwR,KAAY,SAAQ,SAASvD,GAAGjmL,EAAE0mB,GAAG4hK,GAAGlsL,KAAKsqB,EAAE1mB,GAAGkoL,KAAKA,IAAG,EAAGlQ,GAAG,IAAG,WAAgB,OAALwR,KAAY,SACzd,SAAS3/K,KAAK,GAAG,OAAOs+K,GAAG,OAAM,EAAG,IAAInoL,EAAEmoL,GAAW,GAARA,GAAG,KAAQ,KAAO,GAAFb,IAAM,MAAMzrK,MAAMu7C,EAAE,MAAM,IAAI1wC,EAAE4gK,GAAEA,IAAG,GAAG,IAAI1gL,EAAE0hL,GAAGA,GAAG,GAAG,IAAI,IAAIj1G,EAAE,EAAEA,EAAEzsE,EAAEhO,OAAOy6E,GAAG,EAAE,CAAC,IAAItwE,EAAE6D,EAAEysE,GAAG1/D,EAAE/M,EAAEysE,EAAE,GAAG+kF,EAAEr1J,EAAEimE,QAAyB,GAAjBjmE,EAAEimE,aAAQ,EAAU,oBAAoBovF,EAAE,IAAIA,IAAI,MAAMt3J,GAAG,GAAG,OAAO6S,EAAE,MAAMkI,MAAMu7C,EAAE,MAAMyuH,GAAGlyK,EAAE7S,IAAe,IAAX8F,EAAEyhL,GAAGA,GAAG,GAAOh1G,EAAE,EAAEA,EAAEzsE,EAAEhO,OAAOy6E,GAAG,EAAE,CAACtwE,EAAE6D,EAAEysE,GAAG1/D,EAAE/M,EAAEysE,EAAE,GAAG,IAAI,IAAIxmD,EAAE9pB,EAAE7I,OAAO6I,EAAEimE,QAAQn8C,IAAI,MAAM/rB,GAAG,GAAG,OAAO6S,EAAE,MAAMkI,MAAMu7C,EAAE,MAAMyuH,GAAGlyK,EAAE7S,IAAI,IAAI+rB,EAAE7sB,EAAEuD,QAAQ84K,YAAY,OAAOxvJ,GAAG7sB,EAAE6sB,EAAEuvJ,WAAWvvJ,EAAEuvJ,WAAW,KAAa,EAARvvJ,EAAEm1E,QAAUn1E,EAAEg3I,QACjf,KAAKh3I,EAAEk1I,UAAU,MAAMl1I,EAAE7sB,EAAW,OAATsnL,GAAE5gK,EAAEuxJ,MAAW,EAAG,SAASoT,GAAGrrL,EAAE0mB,EAAE9f,GAAyBszK,GAAGl6K,EAAf0mB,EAAEy+J,GAAGnlL,EAAf0mB,EAAEs+J,GAAGp+K,EAAE8f,GAAY,IAAWA,EAAEq0J,KAAe,QAAV/6K,EAAEgpL,GAAGhpL,EAAE,MAAcmoK,GAAGnoK,EAAE,EAAE0mB,GAAGwiK,GAAGlpL,EAAE0mB,IACzI,SAASm/J,GAAG7lL,EAAE0mB,GAAG,GAAG,IAAI1mB,EAAE+6J,IAAIswB,GAAGrrL,EAAEA,EAAE0mB,QAAQ,IAAI,IAAI9f,EAAE5G,EAAEujK,OAAO,OAAO38J,GAAG,CAAC,GAAG,IAAIA,EAAEm0J,IAAI,CAACswB,GAAGzkL,EAAE5G,EAAE0mB,GAAG,MAAW,GAAG,IAAI9f,EAAEm0J,IAAI,CAAC,IAAI1nF,EAAEzsE,EAAEm7J,UAAU,GAAG,oBAAoBn7J,EAAE/J,KAAKgmL,0BAA0B,oBAAoBxvG,EAAEkyG,oBAAoB,OAAOC,KAAKA,GAAGh4I,IAAI6lC,IAAI,CAAW,IAAItwE,EAAEuiL,GAAG1+K,EAAnB5G,EAAEglL,GAAGt+J,EAAE1mB,GAAgB,GAA4B,GAAzBk6K,GAAGtzK,EAAE7D,GAAGA,EAAEg4K,KAAkB,QAAbn0K,EAAEoiL,GAAGpiL,EAAE,IAAeuhK,GAAGvhK,EAAE,EAAE7D,GAAGmmL,GAAGtiL,EAAE7D,QAAQ,GAAG,oBAAoBswE,EAAEkyG,oBAAoB,OAAOC,KAAKA,GAAGh4I,IAAI6lC,IAAI,IAAIA,EAAEkyG,kBAAkB7+J,EAAE1mB,GAAG,MAAM2T,IAAI,OAAO/M,EAAEA,EAAE28J,QACpd,SAAS8mB,GAAGrqL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAErzE,EAAEoqL,UAAU,OAAO/2G,GAAGA,EAAE6xF,OAAOx+I,GAAGA,EAAEq0J,KAAK/6K,EAAE2nK,aAAa3nK,EAAE0nK,eAAe9gK,EAAE25K,KAAIvgL,IAAIo7I,GAAEx0I,KAAKA,IAAI,IAAI89K,IAAG,IAAIA,KAAM,SAAFtpC,MAAcA,IAAG,IAAIy8B,KAAIkP,GAAG2C,GAAG1pL,EAAE,GAAG4nL,IAAIhhL,GAAGsiL,GAAGlpL,EAAE0mB,GAAG,SAASugK,GAAGjnL,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAE+hK,UAAU,OAAOn7J,GAAGA,EAAEs+J,OAAOx+I,GAAO,KAAJA,EAAE,KAAmB,KAAO,GAAhBA,EAAE1mB,EAAE4wJ,OAAelqI,EAAE,EAAE,KAAO,EAAFA,GAAKA,EAAE,KAAKoxJ,KAAK,EAAE,GAAG,IAAI6Q,KAAKA,GAAGhB,IAAuB,KAAnBjhK,EAAEuhJ,GAAG,UAAU0gB,OAAYjiK,EAAE,WAAW9f,EAAEm0K,KAAe,QAAV/6K,EAAEgpL,GAAGhpL,EAAE0mB,MAAcyhJ,GAAGnoK,EAAE0mB,EAAE9f,GAAGsiL,GAAGlpL,EAAE4G,IAUjZ,SAAS0kL,GAAGtrL,EAAE0mB,EAAE9f,EAAEysE,GAAGr2E,KAAK+9J,IAAI/6J,EAAEhD,KAAK7D,IAAIyN,EAAE5J,KAAK6mK,QAAQ7mK,KAAK0jD,MAAM1jD,KAAKumK,OAAOvmK,KAAK+kK,UAAU/kK,KAAKH,KAAKG,KAAKozJ,YAAY,KAAKpzJ,KAAKmH,MAAM,EAAEnH,KAAKsmC,IAAI,KAAKtmC,KAAKghL,aAAat3J,EAAE1pB,KAAK+7K,aAAa/7K,KAAKymK,cAAczmK,KAAKw8K,YAAYx8K,KAAKwgL,cAAc,KAAKxgL,KAAK4zJ,KAAKv9E,EAAEr2E,KAAKglG,MAAM,EAAEhlG,KAAKm/K,WAAWn/K,KAAKq/K,YAAYr/K,KAAKo/K,WAAW,KAAKp/K,KAAK67K,WAAW77K,KAAKi8K,MAAM,EAAEj8K,KAAKsmK,UAAU,KAAK,SAASwa,GAAG99K,EAAE0mB,EAAE9f,EAAEysE,GAAG,OAAO,IAAIi4G,GAAGtrL,EAAE0mB,EAAE9f,EAAEysE,GAAG,SAASgvG,GAAGriL,GAAiB,UAAdA,EAAEA,EAAE7H,aAAuB6H,EAAEurL,kBAErd,SAASjP,GAAGt8K,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAEsjK,UACuB,OADb,OAAO18J,IAAGA,EAAEk3K,GAAG99K,EAAE+6J,IAAIr0I,EAAE1mB,EAAE7G,IAAI6G,EAAE4wJ,OAAQR,YAAYpwJ,EAAEowJ,YAAYxpJ,EAAE/J,KAAKmD,EAAEnD,KAAK+J,EAAEm7J,UAAU/hK,EAAE+hK,UAAUn7J,EAAE08J,UAAUtjK,EAAEA,EAAEsjK,UAAU18J,IAAIA,EAAEo3K,aAAat3J,EAAE9f,EAAE/J,KAAKmD,EAAEnD,KAAK+J,EAAEo7F,MAAM,EAAEp7F,EAAEw1K,WAAW,KAAKx1K,EAAEy1K,YAAY,KAAKz1K,EAAEu1K,WAAW,MAAMv1K,EAAEiyK,WAAW74K,EAAE64K,WAAWjyK,EAAEqyK,MAAMj5K,EAAEi5K,MAAMryK,EAAE85C,MAAM1gD,EAAE0gD,MAAM95C,EAAE42K,cAAcx9K,EAAEw9K,cAAc52K,EAAE68J,cAAczjK,EAAEyjK,cAAc78J,EAAE4yK,YAAYx5K,EAAEw5K,YAAY9yJ,EAAE1mB,EAAE+4K,aAAanyK,EAAEmyK,aAAa,OAAOryJ,EAAE,KAAK,CAACuyJ,MAAMvyJ,EAAEuyJ,MAAMD,aAAatyJ,EAAEsyJ,cAC3epyK,EAAEi9J,QAAQ7jK,EAAE6jK,QAAQj9J,EAAEzC,MAAMnE,EAAEmE,MAAMyC,EAAE08B,IAAItjC,EAAEsjC,IAAW18B,EACvD,SAAS41K,GAAGx8K,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,EAAE4Q,GAAG,IAAIykJ,EAAE,EAAM,GAAJ/kF,EAAErzE,EAAK,oBAAoBA,EAAEqiL,GAAGriL,KAAKo4J,EAAE,QAAQ,GAAG,kBAAkBp4J,EAAEo4J,EAAE,OAAOp4J,EAAE,OAAOA,GAAG,KAAKw5J,EAAG,OAAOmjB,GAAG/1K,EAAE4+B,SAASziC,EAAE4Q,EAAE+S,GAAG,KAAK0zI,EAAGhC,EAAE,EAAEr1J,GAAG,GAAG,MAAM,KAAK02J,EAAGrB,EAAE,EAAEr1J,GAAG,EAAE,MAAM,KAAK22J,EAAG,OAAO15J,EAAE89K,GAAG,GAAGl3K,EAAE8f,EAAI,EAAF3jB,IAAOqtJ,YAAYsJ,EAAG15J,EAAEnD,KAAK68J,EAAG15J,EAAEi5K,MAAMtlK,EAAE3T,EAAE,KAAK85J,EAAG,OAAO95J,EAAE89K,GAAG,GAAGl3K,EAAE8f,EAAE3jB,IAAKlG,KAAKi9J,EAAG95J,EAAEowJ,YAAY0J,EAAG95J,EAAEi5K,MAAMtlK,EAAE3T,EAAE,KAAK+5J,EAAG,OAAO/5J,EAAE89K,GAAG,GAAGl3K,EAAE8f,EAAE3jB,IAAKqtJ,YAAY2J,EAAG/5J,EAAEi5K,MAAMtlK,EAAE3T,EAAE,KAAKq6J,EAAG,OAAOqpB,GAAG98K,EAAE7D,EAAE4Q,EAAE+S,GAAG,KAAK4zI,EAAG,OAAOt6J,EAAE89K,GAAG,GAAGl3K,EAAE8f,EAAE3jB,IAAKqtJ,YAAYkK,EAAGt6J,EAAEi5K,MAAMtlK,EAAE3T,EAAE,QAAQ,GAAG,kBAChfA,GAAG,OAAOA,EAAE,OAAOA,EAAEk7J,UAAU,KAAKvB,EAAGvB,EAAE,GAAG,MAAMp4J,EAAE,KAAK45J,EAAGxB,EAAE,EAAE,MAAMp4J,EAAE,KAAK65J,EAAGzB,EAAE,GAAG,MAAMp4J,EAAE,KAAKg6J,EAAG5B,EAAE,GAAG,MAAMp4J,EAAE,KAAKi6J,EAAG7B,EAAE,GAAG/kF,EAAE,KAAK,MAAMrzE,EAAE,KAAKk6J,EAAG9B,EAAE,GAAG,MAAMp4J,EAAE,MAAM6b,MAAMu7C,EAAE,IAAI,MAAMp3D,EAAEA,SAASA,EAAE,KAAuD,OAAjD0mB,EAAEo3J,GAAG1lB,EAAExxJ,EAAE8f,EAAE3jB,IAAKqtJ,YAAYpwJ,EAAE0mB,EAAE7pB,KAAKw2E,EAAE3sD,EAAEuyJ,MAAMtlK,EAAS+S,EAAE,SAASi2J,GAAG38K,EAAE0mB,EAAE9f,EAAEysE,GAA2B,OAAxBrzE,EAAE89K,GAAG,EAAE99K,EAAEqzE,EAAE3sD,IAAKuyJ,MAAMryK,EAAS5G,EAAE,SAAS0jL,GAAG1jL,EAAE0mB,EAAE9f,EAAEysE,GAA6C,OAA1CrzE,EAAE89K,GAAG,GAAG99K,EAAEqzE,EAAE3sD,IAAK0pI,YAAYiK,EAAGr6J,EAAEi5K,MAAMryK,EAAS5G,EAAE,SAASu8K,GAAGv8K,EAAE0mB,EAAE9f,GAA8B,OAA3B5G,EAAE89K,GAAG,EAAE99K,EAAE,KAAK0mB,IAAKuyJ,MAAMryK,EAAS5G,EAClc,SAAS08K,GAAG18K,EAAE0mB,EAAE9f,GAA8J,OAA3J8f,EAAEo3J,GAAG,EAAE,OAAO99K,EAAEwlC,SAASxlC,EAAEwlC,SAAS,GAAGxlC,EAAE7G,IAAIutB,IAAKuyJ,MAAMryK,EAAE8f,EAAEq7I,UAAU,CAAC2D,cAAc1lK,EAAE0lK,cAAc8lB,gBAAgB,KAAK/O,eAAez8K,EAAEy8K,gBAAuB/1J,EACrL,SAAS+kK,GAAGzrL,EAAE0mB,EAAE9f,GAAG5J,KAAK+9J,IAAIr0I,EAAE1pB,KAAK0oK,cAAc1lK,EAAEhD,KAAK8sL,aAAa9sL,KAAKotL,UAAUptL,KAAKuG,QAAQvG,KAAKwuL,gBAAgB,KAAKxuL,KAAKitL,eAAe,EAAEjtL,KAAK+lL,eAAe/lL,KAAK4O,QAAQ,KAAK5O,KAAKyoK,QAAQ7+J,EAAE5J,KAAKmsL,aAAa,KAAKnsL,KAAKqsL,iBAAiB,EAAErsL,KAAKorK,WAAWF,GAAG,GAAGlrK,KAAKosL,gBAAgBlhB,IAAI,GAAGlrK,KAAK6qK,eAAe7qK,KAAK+sL,cAAc/sL,KAAKqjL,iBAAiBrjL,KAAKyqK,aAAazqK,KAAK2qK,YAAY3qK,KAAK0qK,eAAe1qK,KAAKwqK,aAAa,EAAExqK,KAAK8qK,cAAcI,GAAG,GAAGlrK,KAAK0uL,gCAAgC,KAC7e,SAASC,GAAG3rL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE,EAAE92E,UAAU3D,aAAQ,IAAS2D,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAAC2+J,SAAS3B,EAAGpgK,IAAI,MAAMk6E,EAAE,KAAK,GAAGA,EAAE7tC,SAASxlC,EAAE0lK,cAAch/I,EAAE+1J,eAAe71K,GACxK,SAASglL,GAAG5rL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAItwE,EAAE2jB,EAAEnjB,QAAQoQ,EAAEonK,KAAK3iB,EAAE4iB,GAAGj4K,GAAG/C,EAAE,GAAG4G,EAAE,CAAqB8f,EAAE,CAAC,GAAG28I,GAA1Bz8J,EAAEA,EAAEi0K,mBAA8Bj0K,GAAG,IAAIA,EAAEm0J,IAAI,MAAMl/I,MAAMu7C,EAAE,MAAM,IAAIvqC,EAAEjmB,EAAE,EAAE,CAAC,OAAOimB,EAAEkuI,KAAK,KAAK,EAAEluI,EAAEA,EAAEk1I,UAAUn2J,QAAQ,MAAM8a,EAAE,KAAK,EAAE,GAAGgvJ,GAAG7oJ,EAAEhwB,MAAM,CAACgwB,EAAEA,EAAEk1I,UAAUkU,0CAA0C,MAAMvvJ,GAAGmG,EAAEA,EAAE02I,aAAa,OAAO12I,GAAG,MAAMhR,MAAMu7C,EAAE,MAAO,GAAG,IAAIxwD,EAAEm0J,IAAI,CAAC,IAAIj6J,EAAE8F,EAAE/J,KAAK,GAAG64K,GAAG50K,GAAG,CAAC8F,EAAEkvK,GAAGlvK,EAAE9F,EAAE+rB,GAAG,MAAM7sB,GAAG4G,EAAEimB,OAAOjmB,EAAEwuK,GACrW,OADwW,OAAO1uJ,EAAE9a,QAAQ8a,EAAE9a,QAAQhF,EAAE8f,EAAEq8J,eAAen8K,GAAE8f,EAAEqzJ,GAAGpmK,EAAEykJ,IAAKj2H,QAAQ,CAAC8G,QAAQjpC,GAAuB,QAApBqzE,OAAE,IAASA,EAAE,KAAKA,KAC1e3sD,EAAEnP,SAAS87D,GAAG6mG,GAAGn3K,EAAE2jB,GAAGu0J,GAAGl4K,EAAEq1J,EAAEzkJ,GAAUykJ,EAAE,SAASyzB,GAAG7rL,GAAe,OAAZA,EAAEA,EAAEuD,SAAcm9C,OAAyB1gD,EAAE0gD,MAAMq6G,IAAoD/6J,EAAE0gD,MAAMqhH,WAAhF,KAA2F,SAAS+pB,GAAG9rL,EAAE0mB,GAAqB,GAAG,QAArB1mB,EAAEA,EAAEyjK,gBAA2B,OAAOzjK,EAAE0jK,WAAW,CAAC,IAAI98J,EAAE5G,EAAEojL,UAAUpjL,EAAEojL,UAAU,IAAIx8K,GAAGA,EAAE8f,EAAE9f,EAAE8f,GAAG,SAASqlK,GAAG/rL,EAAE0mB,GAAGolK,GAAG9rL,EAAE0mB,IAAI1mB,EAAEA,EAAEsjK,YAAYwoB,GAAG9rL,EAAE0mB,GACxV,SAASslK,GAAGhsL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE,MAAMzsE,GAAG,MAAMA,EAAEqlL,kBAAkBrlL,EAAEqlL,iBAAiBC,gBAAgB,KAAiK,GAA5JtlL,EAAE,IAAI6kL,GAAGzrL,EAAE0mB,EAAE,MAAM9f,IAAG,IAAKA,EAAE6+J,SAAS/+I,EAAEo3J,GAAG,EAAE,KAAK,KAAK,IAAIp3J,EAAE,EAAE,IAAIA,EAAE,EAAE,GAAG9f,EAAErD,QAAQmjB,EAAEA,EAAEq7I,UAAUn7J,EAAE2yK,GAAG7yJ,GAAG1mB,EAAEkpG,IAAItiG,EAAErD,QAAQ6vK,GAAG,IAAIpzK,EAAEoqD,SAASpqD,EAAE63D,WAAW73D,GAAMqzE,EAAE,IAAIrzE,EAAE,EAAEA,EAAEqzE,EAAEz6E,OAAOoH,IAAI,CAAQ,IAAI+C,GAAX2jB,EAAE2sD,EAAErzE,IAAWmgL,YAAYp9K,EAAEA,EAAE2jB,EAAE05J,SAAS,MAAMx5K,EAAE8kL,gCAAgC9kL,EAAE8kL,gCAAgC,CAAChlK,EAAE3jB,GAAG6D,EAAE8kL,gCAAgCtvL,KAAKsqB,EAAE3jB,GAAG/F,KAAKmvL,cAAcvlL,EAC/R,SAASwlL,GAAGpsL,GAAG,SAASA,GAAG,IAAIA,EAAEoqD,UAAU,IAAIpqD,EAAEoqD,UAAU,KAAKpqD,EAAEoqD,WAAW,IAAIpqD,EAAEoqD,UAAU,iCAAiCpqD,EAAE+9J,YAEvT,SAASsuB,GAAGrsL,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,IAAI4Q,EAAE/M,EAAEigL,oBAAoB,GAAGlzK,EAAE,CAAC,IAAIykJ,EAAEzkJ,EAAEw4K,cAAc,GAAG,oBAAoBppL,EAAE,CAAC,IAAI8pB,EAAE9pB,EAAEA,EAAE,WAAW,IAAI/C,EAAE6rL,GAAGzzB,GAAGvrI,EAAExyB,KAAK2F,IAAI4rL,GAAGllK,EAAE0xI,EAAEp4J,EAAE+C,OAAO,CAAmD,GAAlD4Q,EAAE/M,EAAEigL,oBAD1K,SAAY7mL,EAAE0mB,GAA0H,GAAvHA,IAA2DA,MAAvDA,EAAE1mB,EAAE,IAAIA,EAAEoqD,SAASpqD,EAAE8oD,gBAAgB9oD,EAAE09J,WAAW,OAAa,IAAIh3I,EAAE0jC,WAAW1jC,EAAE4lK,aAAa,qBAAwB5lK,EAAE,IAAI,IAAI9f,EAAEA,EAAE5G,EAAE89J,WAAW99J,EAAEgiB,YAAYpb,GAAG,OAAO,IAAIolL,GAAGhsL,EAAE,EAAE0mB,EAAE,CAAC++I,SAAQ,QAAI,GAC3B8mB,CAAG3lL,EAAEysE,GAAG+kF,EAAEzkJ,EAAEw4K,cAAiB,oBAAoBppL,EAAE,CAAC,IAAIjC,EAAEiC,EAAEA,EAAE,WAAW,IAAI/C,EAAE6rL,GAAGzzB,GAAGt3J,EAAEzG,KAAK2F,IAAImqL,IAAG,WAAWyB,GAAGllK,EAAE0xI,EAAEp4J,EAAE+C,MAAK,OAAO8oL,GAAGzzB,GAGlG,SAASo0B,GAAGxsL,EAAE0mB,GAAG,IAAI9f,EAAE,EAAErK,UAAU3D,aAAQ,IAAS2D,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAI6vL,GAAG1lK,GAAG,MAAM7K,MAAMu7C,EAAE,MAAM,OAAOu0H,GAAG3rL,EAAE0mB,EAAE,KAAK9f,GA1BtWohL,GAAG,SAAShoL,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAE3sD,EAAEuyJ,MAAM,GAAG,OAAOj5K,EAAE,GAAGA,EAAEw9K,gBAAgB92J,EAAEs3J,cAAcx9C,GAAEj9H,QAAQ21K,IAAG,MAAQ,IAAG,KAAKtyK,EAAEysE,GAAoC,CAAO,OAAN6lG,IAAG,EAAUxyJ,EAAEq0I,KAAK,KAAK,EAAE+nB,GAAGp8J,GAAG03J,KAAK,MAAM,KAAK,EAAEf,GAAG32J,GAAG,MAAM,KAAK,EAAEgvJ,GAAGhvJ,EAAE7pB,OAAOm5K,GAAGtvJ,GAAG,MAAM,KAAK,EAAEy2J,GAAGz2J,EAAEA,EAAEq7I,UAAU2D,eAAe,MAAM,KAAK,GAAGryF,EAAE3sD,EAAE82J,cAAcrjL,MAAM,IAAI4I,EAAE2jB,EAAE7pB,KAAK0oD,SAAS4vH,GAAEkD,GAAGt1K,EAAE41K,eAAe51K,EAAE41K,cAActlG,EAAE,MAAM,KAAK,GAAG,GAAG,OAAO3sD,EAAE+8I,cAAe,OAAG,KAAK78J,EAAE8f,EAAEg6B,MAAMm4H,YAAmBwK,GAAGrjL,EAAE0mB,EAAE9f,IAAGuuK,GAAEmI,GAAY,EAAVA,GAAE/5K,SAA8B,QAAnBmjB,EAAE07J,GAAGpiL,EAAE0mB,EAAE9f,IAC/e8f,EAAEm9I,QAAQ,MAAKsR,GAAEmI,GAAY,EAAVA,GAAE/5K,SAAW,MAAM,KAAK,GAA0B,GAAvB8vE,EAAE,KAAKzsE,EAAE8f,EAAEmyJ,YAAe,KAAa,GAAR74K,EAAEgiG,OAAU,CAAC,GAAG3uB,EAAE,OAAO8wG,GAAGnkL,EAAE0mB,EAAE9f,GAAG8f,EAAEs7E,OAAO,GAA+F,GAA1E,QAAlBj/F,EAAE2jB,EAAE+8I,iBAAyB1gK,EAAEihL,UAAU,KAAKjhL,EAAE4yB,KAAK,KAAK5yB,EAAEo5K,WAAW,MAAMhH,GAAEmI,GAAEA,GAAE/5K,SAAY8vE,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAO3sD,EAAEuyJ,MAAM,EAAEsJ,GAAGviL,EAAE0mB,EAAE9f,GAAG,OAAOw7K,GAAGpiL,EAAE0mB,EAAE9f,GAD3LsyK,GAAG,KAAa,MAARl5K,EAAEgiG,YACyLk3E,IAAG,EAAa,OAAVxyJ,EAAEuyJ,MAAM,EAASvyJ,EAAEq0I,KAAK,KAAK,EAA+I,GAA7I1nF,EAAE3sD,EAAE7pB,KAAK,OAAOmD,IAAIA,EAAEsjK,UAAU,KAAK58I,EAAE48I,UAAU,KAAK58I,EAAEs7E,OAAO,GAAGhiG,EAAE0mB,EAAEs3J,aAAaj7K,EAAEuyK,GAAG5uJ,EAAEmhH,GAAEtkI,SAASu1K,GAAGpyJ,EAAE9f,GAAG7D,EAAEm8K,GAAG,KAAKx4J,EAAE2sD,EAAErzE,EAAE+C,EAAE6D,GAAG8f,EAAEs7E,OAAO,EAAK,kBACrej/F,GAAG,OAAOA,GAAG,oBAAoBA,EAAEmyC,aAAQ,IAASnyC,EAAEm4J,SAAS,CAAiD,GAAhDx0I,EAAEq0I,IAAI,EAAEr0I,EAAE+8I,cAAc,KAAK/8I,EAAE8yJ,YAAY,KAAQ9D,GAAGriG,GAAG,CAAC,IAAI1/D,GAAE,EAAGqiK,GAAGtvJ,QAAQ/S,GAAE,EAAG+S,EAAE+8I,cAAc,OAAO1gK,EAAEqU,YAAO,IAASrU,EAAEqU,MAAMrU,EAAEqU,MAAM,KAAKmiK,GAAG7yJ,GAAG,IAAI0xI,EAAE/kF,EAAE3jC,yBAAyB,oBAAoB0oH,GAAGuiB,GAAGj0J,EAAE2sD,EAAE+kF,EAAEp4J,GAAG+C,EAAEy4K,QAAQZ,GAAGl0J,EAAEq7I,UAAUh/J,EAAEA,EAAE83K,gBAAgBn0J,EAAEi1J,GAAGj1J,EAAE2sD,EAAErzE,EAAE4G,GAAG8f,EAAEk8J,GAAG,KAAKl8J,EAAE2sD,GAAE,EAAG1/D,EAAE/M,QAAQ8f,EAAEq0I,IAAI,EAAExyD,GAAG,KAAK7hF,EAAE3jB,EAAE6D,GAAG8f,EAAEA,EAAEg6B,MAAM,OAAOh6B,EAAE,KAAK,GAAG3jB,EAAE2jB,EAAE0pI,YAAYpwJ,EAAE,CAChX,OADiX,OAAOA,IAAIA,EAAEsjK,UAAU,KAAK58I,EAAE48I,UAAU,KAAK58I,EAAEs7E,OAAO,GACnfhiG,EAAE0mB,EAAEs3J,aAAuBj7K,GAAV4Q,EAAE5Q,EAAEq4J,OAAUr4J,EAAEo4J,UAAUz0I,EAAE7pB,KAAKkG,EAAE4Q,EAAE+S,EAAEq0I,IAOxD,SAAY/6J,GAAG,GAAG,oBAAoBA,EAAE,OAAOqiL,GAAGriL,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAEk7J,YAAgBrB,EAAG,OAAO,GAAG,GAAG75J,IAAIg6J,EAAG,OAAO,GAAG,OAAO,EAPlFyyB,CAAG1pL,GAAG/C,EAAE8nF,GAAG/kF,EAAE/C,GAAU2T,GAAG,KAAK,EAAE+S,EAAE5K,GAAG,KAAK4K,EAAE3jB,EAAE/C,EAAE4G,GAAG,MAAM5G,EAAE,KAAK,EAAE0mB,EAAE8hF,GAAG,KAAK9hF,EAAE3jB,EAAE/C,EAAE4G,GAAG,MAAM5G,EAAE,KAAK,GAAG0mB,EAAEy7J,GAAG,KAAKz7J,EAAE3jB,EAAE/C,EAAE4G,GAAG,MAAM5G,EAAE,KAAK,GAAG0mB,EAAEqnH,GAAG,KAAKrnH,EAAE3jB,EAAE+kF,GAAG/kF,EAAElG,KAAKmD,GAAGqzE,EAAEzsE,GAAG,MAAM5G,EAAE,MAAM6b,MAAMu7C,EAAE,IAAIr0D,EAAE,KAAM,OAAO2jB,EAAE,KAAK,EAAE,OAAO2sD,EAAE3sD,EAAE7pB,KAAKkG,EAAE2jB,EAAEs3J,aAA2CliK,GAAG9b,EAAE0mB,EAAE2sD,EAArCtwE,EAAE2jB,EAAE0pI,cAAc/8E,EAAEtwE,EAAE+kF,GAAGzU,EAAEtwE,GAAc6D,GAAG,KAAK,EAAE,OAAOysE,EAAE3sD,EAAE7pB,KAAKkG,EAAE2jB,EAAEs3J,aAA2Cx1E,GAAGxoG,EAAE0mB,EAAE2sD,EAArCtwE,EAAE2jB,EAAE0pI,cAAc/8E,EAAEtwE,EAAE+kF,GAAGzU,EAAEtwE,GAAc6D,GAAG,KAAK,EAAwB,GAAtBk8K,GAAGp8J,GAAG2sD,EAAE3sD,EAAE8yJ,YAAe,OAAOx5K,GAAG,OAAOqzE,EAAE,MAAMx3D,MAAMu7C,EAAE,MAC3Y,GAA9Gic,EAAE3sD,EAAEs3J,aAA+Bj7K,EAAE,QAApBA,EAAE2jB,EAAE+8I,eAAyB1gK,EAAEkmC,QAAQ,KAAK6wI,GAAG95K,EAAE0mB,GAAG0zJ,GAAG1zJ,EAAE2sD,EAAE,KAAKzsE,IAAGysE,EAAE3sD,EAAE+8I,cAAcx6H,WAAelmC,EAAEq7K,KAAK13J,EAAE07J,GAAGpiL,EAAE0mB,EAAE9f,OAAO,CAAuF,IAArE+M,GAAjB5Q,EAAE2jB,EAAEq7I,WAAiB0D,WAAQkY,GAAGnJ,GAAG9tJ,EAAEq7I,UAAU2D,cAAchI,YAAYggB,GAAGh3J,EAAE/S,EAAEiqK,IAAG,GAAMjqK,EAAE,CAAqC,GAAG,OAAvC3T,EAAE+C,EAAE2oL,iCAA2C,IAAI3oL,EAAE,EAAEA,EAAE/C,EAAEpH,OAAOmK,GAAG,GAAE4Q,EAAE3T,EAAE+C,IAAKu7K,8BAA8Bt+K,EAAE+C,EAAE,GAAGsqJ,GAAGjxJ,KAAKuX,GAAoB,IAAjB/M,EAAEi2K,GAAGn2J,EAAE,KAAK2sD,EAAEzsE,GAAO8f,EAAEg6B,MAAM95C,EAAEA,GAAGA,EAAEo7F,OAAe,EAATp7F,EAAEo7F,MAAS,KAAKp7F,EAAEA,EAAEi9J,aAAat7D,GAAGvoG,EAAE0mB,EAAE2sD,EAAEzsE,GAAGw3K,KAAK13J,EAAEA,EAAEg6B,MAAM,OAAOh6B,EAAE,KAAK,EAAE,OAAO22J,GAAG32J,GAAG,OAAO1mB,GACnfi+K,GAAGv3J,GAAG2sD,EAAE3sD,EAAE7pB,KAAKkG,EAAE2jB,EAAEs3J,aAAarqK,EAAE,OAAO3T,EAAEA,EAAEw9K,cAAc,KAAKplB,EAAEr1J,EAAEyiC,SAAS2uI,GAAG9gG,EAAEtwE,GAAGq1J,EAAE,KAAK,OAAOzkJ,GAAGwgK,GAAG9gG,EAAE1/D,KAAK+S,EAAEs7E,OAAO,IAAI0gF,GAAG1iL,EAAE0mB,GAAG6hF,GAAGvoG,EAAE0mB,EAAE0xI,EAAExxJ,GAAG8f,EAAEg6B,MAAM,KAAK,EAAE,OAAO,OAAO1gD,GAAGi+K,GAAGv3J,GAAG,KAAK,KAAK,GAAG,OAAO28J,GAAGrjL,EAAE0mB,EAAE9f,GAAG,KAAK,EAAE,OAAOu2K,GAAGz2J,EAAEA,EAAEq7I,UAAU2D,eAAeryF,EAAE3sD,EAAEs3J,aAAa,OAAOh+K,EAAE0mB,EAAEg6B,MAAMk8H,GAAGl2J,EAAE,KAAK2sD,EAAEzsE,GAAG2hG,GAAGvoG,EAAE0mB,EAAE2sD,EAAEzsE,GAAG8f,EAAEg6B,MAAM,KAAK,GAAG,OAAO2yB,EAAE3sD,EAAE7pB,KAAKkG,EAAE2jB,EAAEs3J,aAA2CmE,GAAGniL,EAAE0mB,EAAE2sD,EAArCtwE,EAAE2jB,EAAE0pI,cAAc/8E,EAAEtwE,EAAE+kF,GAAGzU,EAAEtwE,GAAc6D,GAAG,KAAK,EAAE,OAAO2hG,GAAGvoG,EAAE0mB,EAAEA,EAAEs3J,aAAap3K,GAAG8f,EAAEg6B,MAAM,KAAK,EACtc,KAAK,GAAG,OAAO6nD,GAAGvoG,EAAE0mB,EAAEA,EAAEs3J,aAAax4I,SAAS5+B,GAAG8f,EAAEg6B,MAAM,KAAK,GAAG1gD,EAAE,CAACqzE,EAAE3sD,EAAE7pB,KAAK0oD,SAASxiD,EAAE2jB,EAAEs3J,aAAa5lB,EAAE1xI,EAAE82J,cAAc7pK,EAAE5Q,EAAE5I,MAAM,IAAI0yB,EAAEnG,EAAE7pB,KAAK0oD,SAAiD,GAAxC4vH,GAAEkD,GAAGxrJ,EAAE8rJ,eAAe9rJ,EAAE8rJ,cAAchlK,EAAK,OAAOykJ,EAAE,GAAGvrI,EAAEurI,EAAEj+J,MAA0G,KAApGwZ,EAAEs9J,GAAGpkJ,EAAElZ,GAAG,EAAwF,GAArF,oBAAoB0/D,EAAEq5G,sBAAsBr5G,EAAEq5G,sBAAsB7/J,EAAElZ,GAAG,cAAqB,GAAGykJ,EAAE5yH,WAAWziC,EAAEyiC,WAAWg7F,GAAEj9H,QAAQ,CAACmjB,EAAE07J,GAAGpiL,EAAE0mB,EAAE9f,GAAG,MAAM5G,QAAQ,IAAc,QAAV6sB,EAAEnG,EAAEg6B,SAAiB7zB,EAAE02I,OAAO78I,GAAG,OAAOmG,GAAG,CAAC,IAAI/rB,EAAE+rB,EAAEksJ,aAAa,GAAG,OAAOj4K,EAAE,CAACs3J,EAAEvrI,EAAE6zB,MAAM,IAAI,IAAIvhD,EACtf2B,EAAEk4K,aAAa,OAAO75K,GAAG,CAAC,GAAGA,EAAEyM,UAAUynE,GAAG,KAAKl0E,EAAEi6K,aAAazlK,GAAG,CAAC,IAAIkZ,EAAEkuI,OAAM57J,EAAE46K,IAAI,EAAEnzK,GAAGA,IAAKm0J,IAAI,EAAEmf,GAAGrtJ,EAAE1tB,IAAI0tB,EAAEosJ,OAAOryK,EAAgB,QAAdzH,EAAE0tB,EAAEy2I,aAAqBnkK,EAAE85K,OAAOryK,GAAGgyK,GAAG/rJ,EAAE02I,OAAO38J,GAAG9F,EAAEm4K,OAAOryK,EAAE,MAAMzH,EAAEA,EAAE2jB,WAAWs1I,EAAE,KAAKvrI,EAAEkuI,KAAIluI,EAAEhwB,OAAO6pB,EAAE7pB,KAAK,KAAagwB,EAAE6zB,MAAM,GAAG,OAAO03G,EAAEA,EAAEmL,OAAO12I,OAAO,IAAIurI,EAAEvrI,EAAE,OAAOurI,GAAG,CAAC,GAAGA,IAAI1xI,EAAE,CAAC0xI,EAAE,KAAK,MAAkB,GAAG,QAAfvrI,EAAEurI,EAAEyL,SAAoB,CAACh3I,EAAE02I,OAAOnL,EAAEmL,OAAOnL,EAAEvrI,EAAE,MAAMurI,EAAEA,EAAEmL,OAAO12I,EAAEurI,EAAE7vD,GAAGvoG,EAAE0mB,EAAE3jB,EAAEyiC,SAAS5+B,GAAG8f,EAAEA,EAAEg6B,MAAM,OAAOh6B,EAAE,KAAK,EAAE,OAAO3jB,EAAE2jB,EAAE7pB,KAAsBw2E,GAAjB1/D,EAAE+S,EAAEs3J,cAAiBx4I,SAASszI,GAAGpyJ,EAAE9f,GACndysE,EAAEA,EADodtwE,EAAEo2K,GAAGp2K,EACpf4Q,EAAEg5K,wBAA8BjmK,EAAEs7E,OAAO,EAAEuG,GAAGvoG,EAAE0mB,EAAE2sD,EAAEzsE,GAAG8f,EAAEg6B,MAAM,KAAK,GAAG,OAAgB/sC,EAAEm0E,GAAX/kF,EAAE2jB,EAAE7pB,KAAY6pB,EAAEs3J,cAA6BjwC,GAAG/tI,EAAE0mB,EAAE3jB,EAAtB4Q,EAAEm0E,GAAG/kF,EAAElG,KAAK8W,GAAc0/D,EAAEzsE,GAAG,KAAK,GAAG,OAAOK,GAAGjH,EAAE0mB,EAAEA,EAAE7pB,KAAK6pB,EAAEs3J,aAAa3qG,EAAEzsE,GAAG,KAAK,GAAG,OAAOysE,EAAE3sD,EAAE7pB,KAAKkG,EAAE2jB,EAAEs3J,aAAaj7K,EAAE2jB,EAAE0pI,cAAc/8E,EAAEtwE,EAAE+kF,GAAGzU,EAAEtwE,GAAG,OAAO/C,IAAIA,EAAEsjK,UAAU,KAAK58I,EAAE48I,UAAU,KAAK58I,EAAEs7E,OAAO,GAAGt7E,EAAEq0I,IAAI,EAAE2a,GAAGriG,IAAIrzE,GAAE,EAAGg2K,GAAGtvJ,IAAI1mB,GAAE,EAAG84K,GAAGpyJ,EAAE9f,GAAG20K,GAAG70J,EAAE2sD,EAAEtwE,GAAG44K,GAAGj1J,EAAE2sD,EAAEtwE,EAAE6D,GAAGg8K,GAAG,KAAKl8J,EAAE2sD,GAAE,EAAGrzE,EAAE4G,GAAG,KAAK,GAAG,OAAOu9K,GAAGnkL,EAAE0mB,EAAE9f,GAAG,KAAK,GAAoB,KAAK,GAAG,OAAO27K,GAAGviL,EAAE0mB,EAAE9f,GAAG,MAAMiV,MAAMu7C,EAAE,IAAI1wC,EAAEq0I,OAa/eixB,GAAG7zL,UAAU+8C,OAAO,SAASl1C,GAAG4rL,GAAG5rL,EAAEhD,KAAKmvL,cAAc,KAAK,OAAOH,GAAG7zL,UAAUy0L,QAAQ,WAAW,IAAI5sL,EAAEhD,KAAKmvL,cAAczlK,EAAE1mB,EAAE0lK,cAAckmB,GAAG,KAAK5rL,EAAE,MAAK,WAAW0mB,EAAEwiF,IAAI,SAEwJ86D,GAAG,SAAShkK,GAAM,KAAKA,EAAE+6J,MAAgBkgB,GAAGj7K,EAAE,EAAV+6K,MAAegR,GAAG/rL,EAAE,KAAKkP,GAAG,SAASlP,GAAM,KAAKA,EAAE+6J,MAAgBkgB,GAAGj7K,EAAE,SAAV+6K,MAAsBgR,GAAG/rL,EAAE,YACncikK,GAAG,SAASjkK,GAAG,GAAG,KAAKA,EAAE+6J,IAAI,CAAC,IAAIr0I,EAAEq0J,KAAKn0K,EAAEo0K,GAAGh7K,GAAGi7K,GAAGj7K,EAAE4G,EAAE8f,GAAGqlK,GAAG/rL,EAAE4G,KAAKs9J,GAAG,SAASlkK,EAAE0mB,GAAG,OAAOA,KAC7Fg7I,GAAG,SAAS1hK,EAAE0mB,EAAE9f,GAAG,OAAO8f,GAAG,IAAK,QAAyB,GAAjB41I,GAAGt8J,EAAE4G,GAAG8f,EAAE9f,EAAEpL,KAAQ,UAAUoL,EAAE/J,MAAM,MAAM6pB,EAAE,CAAC,IAAI9f,EAAE5G,EAAE4G,EAAEixD,YAAYjxD,EAAEA,EAAEixD,WAAsF,IAA3EjxD,EAAEA,EAAEwoD,iBAAiB,cAAc36C,KAAKsL,UAAU,GAAG2G,GAAG,mBAAuBA,EAAE,EAAEA,EAAE9f,EAAEhO,OAAO8tB,IAAI,CAAC,IAAI2sD,EAAEzsE,EAAE8f,GAAG,GAAG2sD,IAAIrzE,GAAGqzE,EAAEw5G,OAAO7sL,EAAE6sL,KAAK,CAAC,IAAI9pL,EAAEi/J,GAAG3uF,GAAG,IAAItwE,EAAE,MAAM8Y,MAAMu7C,EAAE,KAAKykG,EAAGxoF,GAAGipF,GAAGjpF,EAAEtwE,KAAK,MAAM,IAAK,WAAWk6J,GAAGj9J,EAAE4G,GAAG,MAAM,IAAK,SAAmB,OAAV8f,EAAE9f,EAAEzM,QAAewiK,GAAG38J,IAAI4G,EAAEqmG,SAASvmF,GAAE,KAAMy7I,GAAG+nB,GAC9Z9nB,GAAG,SAASpiK,EAAE0mB,EAAE9f,EAAEysE,EAAEtwE,GAAG,IAAI4Q,EAAE2zK,GAAEA,IAAG,EAAE,IAAI,OAAO/rC,GAAG,GAAGv7I,EAAEma,KAAK,KAAKuM,EAAE9f,EAAEysE,EAAEtwE,IAAI,QAAY,KAAJukL,GAAE3zK,KAAUo0K,KAAK9P,QAAQ5V,GAAG,WAAW,KAAO,GAAFilB,MAhD/H,WAAc,GAAG,OAAOiB,GAAG,CAAC,IAAIvoL,EAAEuoL,GAAGA,GAAG,KAAKvoL,EAAEvD,SAAQ,SAASuD,GAAGA,EAAEynK,cAAc,GAAGznK,EAAEwnK,aAAa0hB,GAAGlpL,EAAE63K,SAAOI,KAgDsB6U,GAAKtD,OAAOlnB,GAAG,SAAStiK,EAAE0mB,GAAG,IAAI9f,EAAE0gL,GAAEA,IAAG,EAAE,IAAI,OAAOtnL,EAAE0mB,GAAG,QAAY,KAAJ4gK,GAAE1gL,KAAUmhL,KAAK9P,QAA+I,IAAI8U,GAAG,CAACC,OAAO,CAAClrB,GAAGoO,GAAGlO,GAAGC,GAAGC,GAAGsnB,GAAG,CAACjmL,SAAQ,KAAM0pL,GAAG,CAACC,wBAAwB5nB,GAAG6nB,WAAW,EAAEtxJ,QAAQ,SAASuxJ,oBAAoB,aACveC,GAAG,CAACF,WAAWF,GAAGE,WAAWtxJ,QAAQoxJ,GAAGpxJ,QAAQuxJ,oBAAoBH,GAAGG,oBAAoBE,eAAeL,GAAGK,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,mBAAmB,KAAKvxF,eAAe,KAAKwxF,qBAAqB10B,EAAGolB,uBAAuBuP,wBAAwB,SAAS/tL,GAAW,OAAO,QAAfA,EAAE4jK,GAAG5jK,IAAmB,KAAKA,EAAE+hK,WAAWmrB,wBAAwBD,GAAGC,yBAR/I,WAAc,OAAO,MAS7Wc,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,MAAM,GAAG,qBAAqBC,+BAA+B,CAAC,IAAIC,GAAGD,+BAA+B,IAAIC,GAAGC,YAAYD,GAAGE,cAAc,IAAIrY,GAAGmY,GAAGG,OAAOpB,IAAIjX,GAAGkY,GAAG,MAAMtuL,MAAKnI,EAAQwhK,mDAAmD0zB,GAAGl1L,EAAQ62L,aAAalC,GACnX30L,EAAQ82L,YAAY,SAAS3uL,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEoqD,SAAS,OAAOpqD,EAAE,IAAI0mB,EAAE1mB,EAAE66K,gBAAgB,QAAG,IAASn0J,EAAE,CAAC,GAAG,oBAAoB1mB,EAAEk1C,OAAO,MAAMr5B,MAAMu7C,EAAE,MAAM,MAAMv7C,MAAMu7C,EAAE,IAAIn+D,OAAO6C,KAAKkE,KAA0C,OAA5BA,EAAE,QAAVA,EAAE4jK,GAAGl9I,IAAc,KAAK1mB,EAAE+hK,WAAoBlqK,EAAQ+2L,UAAU,SAAS5uL,EAAE0mB,GAAG,IAAI9f,EAAE0gL,GAAE,GAAG,KAAO,GAAF1gL,GAAM,OAAO5G,EAAE0mB,GAAG4gK,IAAG,EAAE,IAAI,GAAGtnL,EAAE,OAAOu7I,GAAG,GAAGv7I,EAAEma,KAAK,KAAKuM,IAAI,QAAQ4gK,GAAE1gL,EAAEqxK,OAAOpgL,EAAQ4tK,QAAQ,SAASzlK,EAAE0mB,EAAE9f,GAAG,IAAIwlL,GAAG1lK,GAAG,MAAM7K,MAAMu7C,EAAE,MAAM,OAAOi1H,GAAG,KAAKrsL,EAAE0mB,GAAE,EAAG9f,IACnd/O,EAAQq9C,OAAO,SAASl1C,EAAE0mB,EAAE9f,GAAG,IAAIwlL,GAAG1lK,GAAG,MAAM7K,MAAMu7C,EAAE,MAAM,OAAOi1H,GAAG,KAAKrsL,EAAE0mB,GAAE,EAAG9f,IAAI/O,EAAQg3L,uBAAuB,SAAS7uL,GAAG,IAAIosL,GAAGpsL,GAAG,MAAM6b,MAAMu7C,EAAE,KAAK,QAAOp3D,EAAE6mL,sBAAqBsD,IAAG,WAAWkC,GAAG,KAAK,KAAKrsL,GAAE,GAAG,WAAWA,EAAE6mL,oBAAoB,KAAK7mL,EAAEkpG,IAAI,YAAS,IAAQrxG,EAAQi3L,wBAAwB5E,GAAGryL,EAAQk3L,sBAAsB,SAAS/uL,EAAE0mB,GAAG,OAAO8lK,GAAGxsL,EAAE0mB,EAAE,EAAEnqB,UAAU3D,aAAQ,IAAS2D,UAAU,GAAGA,UAAU,GAAG,OAC9a1E,EAAQm3L,oCAAoC,SAAShvL,EAAE0mB,EAAE9f,EAAEysE,GAAG,IAAI+4G,GAAGxlL,GAAG,MAAMiV,MAAMu7C,EAAE,MAAM,GAAG,MAAMp3D,QAAG,IAASA,EAAE66K,gBAAgB,MAAMh/J,MAAMu7C,EAAE,KAAK,OAAOi1H,GAAGrsL,EAAE0mB,EAAE9f,GAAE,EAAGysE,IAAIx7E,EAAQgkC,QAAQ,4CCtS7L,SAASozJ,IAEP,GAC4C,qBAAnCZ,gCAC4C,oBAA5CA,+BAA+BY,SAcxC,IAEEZ,+BAA+BY,SAASA,GACxC,MAAOj3K,GAGP5a,QAAQD,MAAM6a,IAOhBi3K,GACAr3L,EAAOC,QAAU,EAAjBD,gWClCa,SAAS8B,EAAgBC,EAAGC,GAMzC,OALAF,EAAkBT,OAAOY,gBAAkB,SAAyBF,EAAGC,GAErE,OADAD,EAAEG,UAAYF,EACPD,GAGFD,EAAgBC,EAAGC,GCLb,SAASs1L,EAAel1L,EAAUC,GAC/CD,EAAS7B,UAAYc,OAAOiB,OAAOD,EAAW9B,WAC9C6B,EAAS7B,UAAUD,YAAc8B,EACjCH,EAAeG,EAAUC,GCF3B,IAAMk1L,EAAe,SAACnvL,EAAwB0mB,GAAzB,gBAAC1mB,IAAAA,EAAoB,SAArB,IAAyB0mB,IAAAA,EAAoB,IAChE1mB,EAAEpH,SAAW8tB,EAAE9tB,QAAUoH,EAAEkrB,MAAK,SAAC0lF,EAAMzsG,GAAP,OAAkBlL,OAAOqoK,GAAG1wD,EAAMlqF,EAAEviB,QA+DhEirL,EAAmC,CAACjyL,MAAO,MAE3CogD,EAAAA,SAAAA,2IAQJnmC,MAAQg4K,IACRzxI,mBAAqB,WAA6B,6BAAzB5gD,EAAyB,yBAAzBA,EAAyB,gBAChD,QAAKrE,MAAM22L,UAAX,IAAK32L,OAAM22L,QAAX,QAAwBtyL,GACxB,EAAK8O,oBAPAg3K,yBAAP,SAAgC1lL,GAC9B,MAAO,CAACA,MAAAA,+BASV0O,MAAAA,WACE7O,KAAK4uC,SAASwjJ,MAGhB7J,kBAAAA,SAAkBpoL,EAAc6iB,GAAuB,QACrD,YAAAhjB,KAAKtE,OAAMoqK,UAAX,SAAqB3lK,EAAO6iB,MAG9BozB,mBAAAA,SACEpD,EACAH,GAEA,IAcE,IAdK1yC,EAASH,KAAKoa,MAAdja,MACAmyL,EAAatyL,KAAKtE,MAAlB42L,UAUK,OAAVnyL,GACoB,OAApB0yC,EAAU1yC,OACVgyL,EAAan/I,EAAUs/I,UAAWA,KAElC,YAAAtyL,KAAKtE,OAAM62L,oBAAX,SAA+Bv/I,EAAUs/I,UAAWA,GACpDtyL,KAAK6O,YAITqpC,OAAAA,WACE,IAAO/3C,EAASH,KAAKoa,MAAdja,MAEP,EAAsDH,KAAKtE,MAApD82L,EAAP,EAAOA,eAAgBhyI,EAAvB,EAAuBA,kBAAmB8lI,EAA1C,EAA0CA,SAE1C,GAAc,OAAVnmL,EAAgB,CAClB,IAAMzE,EAAQ,CACZyE,MAAAA,EACAwgD,mBAAoB3gD,KAAK2gD,oBAE3B,GAAI5+B,EAAM0wK,eAAenM,GACvB,OAAOA,EACF,GAA8B,oBAAnBkM,EAChB,OAAOA,EAAe92L,GACjB,GAAI8kD,EACT,OAAOz+B,EAAAA,cAACy+B,EAAsB9kD,GAE9B,MAAM,IAAImjB,MACR,8FAKN,OAAO7e,KAAKtE,MAAM8sC,YArEhB+X,CAAsBx+B,EAAM4kB,WAyElC,SAAS+rJ,EACP/rJ,EACAgsJ,GAEA,IAAMC,EAAkC,SAAAl3L,GACtC,OACEqmB,EAAAA,cAACw+B,EAAkBoyI,EACjB5wK,EAAAA,cAAC4kB,EAAcjrC,KAMf8C,EAAOmoC,EAAUK,aAAeL,EAAUnoC,MAAQ,UAGxD,OAFAo0L,EAAQ5rJ,YAAR4rJ,qBAA2Cp0L,EAA3Co0L,IAEOA,EAGT,SAASxwI,EAAgBywI,GACvB,MAA0B9wK,EAAM4vB,SAAkB,MAA3CxxC,EAAP,KAAc2yL,EAAd,KACA,GAAkB,MAAdD,EAAoB,MAAMA,EAC9B,GAAa,MAAT1yL,EAAe,MAAMA,EACzB,OAAO2yL,4JClKT72L,OAAOC,eAAerB,EAAS,aAAc,CAC3CsC,OAAO,IAGT,IAEI41L,EAAcC,EAFDxqG,EAAQ,IAMrByqG,EAAUD,EAFDxqG,EAAQ,MAIrB,SAASwqG,EAAuBj4L,GAAO,OAAOA,GAAOA,EAAIk3J,WAAal3J,EAAM,CAAEuqC,QAASvqC,GAEvF,IAAIw9C,EAAY,CACd89B,EAAG08G,EAAYztJ,QAAQ10B,OAAOuhJ,WAC9B76F,KAAMy7H,EAAYztJ,QAAQ10B,OAAOuhJ,WACjC+gC,WAAYH,EAAYztJ,QAAQpxB,OAAOi+I,WACvCghC,WAAYJ,EAAYztJ,QAAQpxB,OAAOi+I,YAKrCihC,EAAa,SAAoBjsK,GACnC,IAAIkvD,EAAIlvD,EAAKkvD,EACT/e,EAAOnwC,EAAKmwC,KACZ47H,EAAa/rK,EAAK+rK,WAClBC,EAAahsK,EAAKgsK,WACtB,OAAOF,EAAQ3tJ,QAAQ5gB,cAAc,OAAQ,CAAE2xD,EAAGA,EAAG/e,KAAMA,EAAMkE,UAAW,UAAY,CAAC,EAAG,EAAG,EAAG,EAAG03H,EAAYC,GAAc,OAGjIC,EAAW76I,UAAYA,EACvB66I,EAAWnsJ,aAXQ,GAanBpsC,EAAAA,QAAkBu4L,oCClClBn3L,OAAOC,eAAerB,EAAS,aAAc,CAC3CsC,OAAO,IAGT,IAAIq1C,EAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAInPs3L,EAAcC,EAFDxqG,EAAQ,IAMrByqG,EAAUD,EAFDxqG,EAAQ,MAIrB,SAASwqG,EAAuBj4L,GAAO,OAAOA,GAAOA,EAAIk3J,WAAal3J,EAAM,CAAEuqC,QAASvqC,GAIvF,IAAIw9C,EAAY,CACd/P,SAAUuqJ,EAAYztJ,QAAQ8jG,MAAM+oB,WACpCzmI,KAAMqnK,EAAYztJ,QAAQpxB,OAAOi+I,WACjC9vG,MAAO0wI,EAAYztJ,QAAQ10B,OAC3Bi/E,MAAOkjG,EAAYztJ,QAAQ10B,QAGzBq2B,EAAe,CACjBob,WAAO7hD,EACPqvF,MAAO,8BAGLwjG,EAAgB,SAAuBlsK,GACzC,IAAIqhB,EAAWrhB,EAAKqhB,SAChB9c,EAAOvE,EAAKuE,KACZ22B,EAAQl7B,EAAKk7B,MACbwtC,EAAQ1oE,EAAK0oE,MACbn0F,EAnBN,SAAkCX,EAAK+D,GAAQ,IAAIrD,EAAS,GAAI,IAAK,IAAIE,KAAKZ,EAAW+D,EAAK0E,QAAQ7H,IAAM,GAAkBM,OAAOd,UAAU0I,eAAexG,KAAKtC,EAAKY,KAAcF,EAAOE,GAAKZ,EAAIY,IAAM,OAAOF,EAmBrMgqC,CAAyBte,EAAM,CAAC,WAAY,OAAQ,QAAS,UAEzE,OAAO8rK,EAAQ3tJ,QAAQ5gB,cACrB,MACA8tB,EAAS,GAAI92C,EAAO,CAAE+tD,OAAQ/9B,EAAMg+B,MAAOh+B,EAAMmkE,MAAOA,IACxDxtC,EAAQ4wI,EAAQ3tJ,QAAQ5gB,cACtB,QACA,KACA29B,GACE,KACJ7Z,IAIJ6qJ,EAAc96I,UAAYA,EAC1B86I,EAAcpsJ,aAAeA,EAE7BpsC,EAAAA,QAAkBw4L,oCChDlB,IAAI7gJ,EAAWv2C,OAAOguB,QAAU,SAAUxuB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAI4D,UAAU3D,OAAQD,IAAK,CAAE,IAAI6D,EAASD,UAAU5D,GAAI,IAAK,IAAIQ,KAAOqD,EAAcvD,OAAOd,UAAU0I,eAAexG,KAAKmC,EAAQrD,KAAQV,EAAOU,GAAOqD,EAAOrD,IAAY,OAAOV,GAInP63L,EAAWN,EAFDxqG,EAAQ,MAMlB+qG,EAAsBP,EAFDxqG,EAAQ,MAM7BuqG,EAAcC,EAFDxqG,EAAQ,IAIrBgrG,EAAShrG,EAAQ,KAEjByqG,EAAUD,EAAuBQ,GAIjCC,EAAeT,EAFDxqG,EAAQ,MAMtBkrG,EAAkBV,EAFDxqG,EAAQ,MAI7B,SAASwqG,EAAuBj4L,GAAO,OAAOA,GAAOA,EAAIk3J,WAAal3J,EAAM,CAAEuqC,QAASvqC,GAKvF,IAAIw9C,EAAY,CACdo7I,QAASZ,EAAYztJ,QAAQ10B,OAC7BohF,QAAS+gG,EAAYztJ,QAAQ10B,OAC7BgjL,MAAOb,EAAYztJ,QAAQiuH,MAAM,CAAC,IAAK,IAAK,IAAK,MACjD7nI,KAAMqnK,EAAYztJ,QAAQpxB,OAC1B/W,MAAO41L,EAAYztJ,QAAQ10B,OAAOuhJ,YAUhCpgE,EAAS,SAAgB5qE,GAC3B,IAAIwsK,EAAUxsK,EAAKwsK,QACf3hG,EAAU7qE,EAAK6qE,QACf4hG,EAAQzsK,EAAKysK,MACbloK,EAAOvE,EAAKuE,KACZvuB,EAAQgqB,EAAKhqB,MACbzB,EAxBN,SAAkCX,EAAK+D,GAAQ,IAAIrD,EAAS,GAAI,IAAK,IAAIE,KAAKZ,EAAW+D,EAAK0E,QAAQ7H,IAAM,GAAkBM,OAAOd,UAAU0I,eAAexG,KAAKtC,EAAKY,KAAcF,EAAOE,GAAKZ,EAAIY,IAAM,OAAOF,EAwBrMgqC,CAAyBte,EAAM,CAAC,UAAW,UAAW,QAAS,OAAQ,UAG/E0sK,EAAS,IAAIP,EAAShuJ,SAAS,EAAGiuJ,EAAoBjuJ,QAAQsuJ,IAClEC,EAAOr+B,QAAQr4J,GACf02L,EAAO1qF,OACP,IAAI2qF,EAAQD,EAAOx2K,QACf02K,EAAWroK,EAAOooK,EAAMl4L,OAC5B,OAAOq3L,EAAQ3tJ,QAAQ5gB,cACrBgvK,EAAgBpuJ,QAChBkN,EAAS,GAAI92C,EAAO,CAAEgwB,KAAMA,IAC5BooK,EAAM/pL,KAAI,SAAU4rJ,EAAKq+B,GACvB,OAAOr+B,EAAI5rJ,KAAI,SAAUkqL,EAAMC,GAC7B,IAAI58H,EAAO28H,EAAOjiG,EAAU2hG,EACxBT,EAAa3+K,KAAKykB,MAAMk7J,EAAYH,GACpCZ,EAAa5+K,KAAKykB,MAAMg7J,EAAWD,GACnCI,EAAc5/K,KAAKykB,OAAOk7J,EAAY,GAAKH,GAAYb,EACvDkB,EAAe7/K,KAAKykB,OAAOg7J,EAAW,GAAKD,GAAYZ,EACvD98G,EAAI,WAAa89G,EAAc,QAAUA,EAAc,IAAMC,EAAe,QAAUA,EAAe,KACzG,OAAOnB,EAAQ3tJ,QAAQ5gB,cAAc+uK,EAAanuJ,QAEhD,CAAEnpC,IAAK,aAAe63L,EAAW,IAAME,EAErC79G,EAAGA,EACL/e,KAAMA,EACN47H,WAAYA,EACZC,WAAYA,YAOtBphG,EAAOx5C,UAAYA,EACnBw5C,EAAO9qD,aA/CY,CACjB0sJ,QAAS,UACT3hG,QAAS,UACT4hG,MAAO,IACPloK,KAAM,KA6CR7wB,EAAQ,GAAU,EAAI24L,EAAO9lJ,MAAMqkD,qCCtFtBvJ,EAAQ,KAAiB,IAAI7xE,EAAE6xE,EAAQ,KAAS4yE,EAAE,MAA6B,GAAvBvgK,EAAQw5L,SAAS,MAAS,oBAAoBr5L,QAAQA,OAAOoxJ,IAAI,CAAC,IAAIv8H,EAAE70B,OAAOoxJ,IAAIgP,EAAEvrI,EAAE,iBAAiBh1B,EAAQw5L,SAASxkK,EAAE,kBAAkB,IAAI1sB,EAAEwT,EAAE0lJ,mDAAmD6oB,kBAAkB7mL,EAAEpC,OAAOd,UAAU0I,eAAejH,EAAE,CAACT,KAAI,EAAGmqC,KAAI,EAAGguJ,QAAO,EAAGC,UAAS,GACrW,SAASr5K,EAAEtR,EAAE5G,EAAEc,GAAG,IAAI4lB,EAAE2sD,EAAE,GAAGtwE,EAAE,KAAK5D,EAAE,KAAiF,IAAIunB,UAAhF,IAAS5lB,IAAIiC,EAAE,GAAGjC,QAAG,IAASd,EAAE7G,MAAM4J,EAAE,GAAG/C,EAAE7G,UAAK,IAAS6G,EAAEsjC,MAAMnkC,EAAEa,EAAEsjC,KAActjC,EAAE3E,EAAEhB,KAAK2F,EAAE0mB,KAAK9sB,EAAEiH,eAAe6lB,KAAK2sD,EAAE3sD,GAAG1mB,EAAE0mB,IAAI,GAAG9f,GAAGA,EAAEq9B,aAAa,IAAIvd,KAAK1mB,EAAE4G,EAAEq9B,kBAAe,IAASovC,EAAE3sD,KAAK2sD,EAAE3sD,GAAG1mB,EAAE0mB,IAAI,MAAM,CAACw0I,SAAS9C,EAAEv7J,KAAK+J,EAAEzN,IAAI4J,EAAEugC,IAAInkC,EAAEzG,MAAM26E,EAAE0oG,OAAO57K,EAAEoD,SAAS1L,EAAQ25L,IAAIt5K,EAAErgB,EAAQ45L,KAAKv5K,oCCD1U,IAAI/Y,EAAEqmF,EAAQ,KAAiBnqF,EAAE,MAAMzB,EAAE,MAAM/B,EAAQw5L,SAAS,MAAMx5L,EAAQ65L,WAAW,MAAM75L,EAAQ85L,SAAS,MAAM,IAAIz5K,EAAE,MAAMrR,EAAE,MAAM3G,EAAE,MAAMrI,EAAQ+5L,SAAS,MAAM,IAAIvxF,EAAE,MAAMl7F,EAAE,MACpM,GAAG,oBAAoBnN,QAAQA,OAAOoxJ,IAAI,CAAC,IAAIt3H,EAAE95B,OAAOoxJ,IAAI/tJ,EAAEy2B,EAAE,iBAAiBl4B,EAAEk4B,EAAE,gBAAgBj6B,EAAQw5L,SAASv/J,EAAE,kBAAkBj6B,EAAQ65L,WAAW5/J,EAAE,qBAAqBj6B,EAAQ85L,SAAS7/J,EAAE,kBAAkB5Z,EAAE4Z,EAAE,kBAAkBjrB,EAAEirB,EAAE,iBAAiB5xB,EAAE4xB,EAAE,qBAAqBj6B,EAAQ+5L,SAAS9/J,EAAE,kBAAkBuuE,EAAEvuE,EAAE,cAAc3sB,EAAE2sB,EAAE,cAAc,IAAIqlC,EAAE,oBAAoBn/D,QAAQA,OAAOC,SACtR,SAAS+oI,EAAEhhI,GAAG,IAAI,IAAI0mB,EAAE,yDAAyD1mB,EAAE4G,EAAE,EAAEA,EAAErK,UAAU3D,OAAOgO,IAAI8f,GAAG,WAAW+E,mBAAmBlvB,UAAUqK,IAAI,MAAM,yBAAyB5G,EAAE,WAAW0mB,EAAE,iHACpU,IAAI2zJ,EAAE,CAAC1pI,UAAU,WAAW,OAAM,GAAIwqI,mBAAmB,aAAaD,oBAAoB,aAAaJ,gBAAgB,cAAc3iB,EAAE,GAAG,SAASmiB,EAAEt6K,EAAE0mB,EAAE9f,GAAG5J,KAAKtE,MAAMsH,EAAEhD,KAAK4O,QAAQ8a,EAAE1pB,KAAK09K,KAAKviB,EAAEn7J,KAAKw+K,QAAQ50K,GAAGyzK,EACpN,SAASzhB,KAA6B,SAASvd,EAAEr7I,EAAE0mB,EAAE9f,GAAG5J,KAAKtE,MAAMsH,EAAEhD,KAAK4O,QAAQ8a,EAAE1pB,KAAK09K,KAAKviB,EAAEn7J,KAAKw+K,QAAQ50K,GAAGyzK,EADsGC,EAAEniL,UAAUozL,iBAAiB,GAAGjR,EAAEniL,UAAUyzC,SAAS,SAAS5rC,EAAE0mB,GAAG,GAAG,kBAAkB1mB,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAM6b,MAAMmlH,EAAE,KAAKhkI,KAAKw+K,QAAQV,gBAAgB99K,KAAKgD,EAAE0mB,EAAE,aAAa4zJ,EAAEniL,UAAUi7D,YAAY,SAASpzD,GAAGhD,KAAKw+K,QAAQL,mBAAmBn+K,KAAKgD,EAAE,gBACnd44J,EAAEzgK,UAAUmiL,EAAEniL,UAAsF,IAAIksC,EAAEg3G,EAAEljJ,UAAU,IAAIygK,EAAEv0H,EAAEnsC,YAAYmjJ,EAAEl8I,EAAEklC,EAAEi2I,EAAEniL,WAAWksC,EAAEi3I,sBAAqB,EAAG,IAAItI,EAAE,CAACzvK,QAAQ,MAAMiuJ,EAAEv4J,OAAOd,UAAU0I,eAAes0K,EAAE,CAACh8K,KAAI,EAAGmqC,KAAI,EAAGguJ,QAAO,EAAGC,UAAS,GAChS,SAAS5d,EAAE3zK,EAAE0mB,EAAE9f,GAAG,IAAI7D,EAAEswE,EAAE,GAAGvyE,EAAE,KAAK+rB,EAAE,KAAK,GAAG,MAAMnG,EAAE,IAAI3jB,UAAK,IAAS2jB,EAAE4c,MAAMzW,EAAEnG,EAAE4c,UAAK,IAAS5c,EAAEvtB,MAAM2H,EAAE,GAAG4lB,EAAEvtB,KAAKutB,EAAE8qI,EAAEn3J,KAAKqsB,EAAE3jB,KAAKoyK,EAAEt0K,eAAekC,KAAKswE,EAAEtwE,GAAG2jB,EAAE3jB,IAAI,IAAIq1J,EAAE77J,UAAU3D,OAAO,EAAE,GAAG,IAAIw/J,EAAE/kF,EAAE7tC,SAAS5+B,OAAO,GAAG,EAAEwxJ,EAAE,CAAC,IAAI,IAAIzkJ,EAAEhZ,MAAMy9J,GAAGj4J,EAAE,EAAEA,EAAEi4J,EAAEj4J,IAAIwT,EAAExT,GAAG5D,UAAU4D,EAAE,GAAGkzE,EAAE7tC,SAAS7xB,EAAE,GAAG3T,GAAGA,EAAEikC,aAAa,IAAIlhC,KAAKq1J,EAAEp4J,EAAEikC,kBAAe,IAASovC,EAAEtwE,KAAKswE,EAAEtwE,GAAGq1J,EAAEr1J,IAAI,MAAM,CAACm4J,SAAS7/J,EAAEwB,KAAKmD,EAAE7G,IAAI2H,EAAEwiC,IAAIzW,EAAEn0B,MAAM26E,EAAE0oG,OAAO/I,EAAEzvK,SACxU,SAASqjI,EAAE5mI,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEk7J,WAAW7/J,EAAqG,IAAIwsI,EAAE,OAAO,SAASrH,EAAExgI,EAAE0mB,GAAG,MAAM,kBAAkB1mB,GAAG,OAAOA,GAAG,MAAMA,EAAE7G,IAA7K,SAAgB6G,GAAG,IAAI0mB,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAI1mB,EAAES,QAAQ,SAAQ,SAAST,GAAG,OAAO0mB,EAAE1mB,MAAmF8B,CAAO,GAAG9B,EAAE7G,KAAKutB,EAAEprB,SAAS,IAC5W,SAASu8K,EAAE73K,EAAE0mB,EAAE9f,EAAE7D,EAAEswE,GAAG,IAAIvyE,SAASd,EAAK,cAAcc,GAAG,YAAYA,IAAEd,EAAE,MAAK,IAAI6sB,GAAE,EAAG,GAAG,OAAO7sB,EAAE6sB,GAAE,OAAQ,OAAO/rB,GAAG,IAAK,SAAS,IAAK,SAAS+rB,GAAE,EAAG,MAAM,IAAK,SAAS,OAAO7sB,EAAEk7J,UAAU,KAAK7/J,EAAE,KAAKzB,EAAEizB,GAAE,GAAI,GAAGA,EAAE,OAAWwmD,EAAEA,EAANxmD,EAAE7sB,GAASA,EAAE,KAAK+C,EAAE,IAAIy9H,EAAE3zG,EAAE,GAAG9pB,EAAEpI,MAAMC,QAAQy4E,IAAIzsE,EAAE,GAAG,MAAM5G,IAAI4G,EAAE5G,EAAES,QAAQonI,EAAE,OAAO,KAAKgwC,EAAExkG,EAAE3sD,EAAE9f,EAAE,IAAG,SAAS5G,GAAG,OAAOA,MAAK,MAAMqzE,IAAIuzD,EAAEvzD,KAAKA,EAD/W,SAAWrzE,EAAE0mB,GAAG,MAAM,CAACw0I,SAAS7/J,EAAEwB,KAAKmD,EAAEnD,KAAK1D,IAAIutB,EAAE4c,IAAItjC,EAAEsjC,IAAI5qC,MAAMsH,EAAEtH,MAAMqjL,OAAO/7K,EAAE+7K,QAC4RnI,CAAEvgG,EAAEzsE,IAAIysE,EAAEl6E,KAAK0zB,GAAGA,EAAE1zB,MAAMk6E,EAAEl6E,IAAI,IAAI,GAAGk6E,EAAEl6E,KAAKsH,QAAQonI,EAAE,OAAO,KAAK7nI,IAAI0mB,EAAEtqB,KAAKi3E,IAAI,EAAyB,GAAvBxmD,EAAE,EAAE9pB,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOpI,MAAMC,QAAQoF,GAAG,IAAI,IAAIo4J,EACzf,EAAEA,EAAEp4J,EAAEpH,OAAOw/J,IAAI,CAAQ,IAAIzkJ,EAAE5Q,EAAEy9H,EAAf1/H,EAAEd,EAAEo4J,GAAeA,GAAGvrI,GAAGgrJ,EAAE/2K,EAAE4lB,EAAE9f,EAAE+M,EAAE0/D,QAAQ,GAAG1/D,EANhE,SAAW3T,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAEm3D,GAAGn3D,EAAEm3D,IAAIn3D,EAAE,eAA0CA,EAAE,KAMlDo3D,CAAEp3D,GAAG,oBAAoB2T,EAAE,IAAI3T,EAAE2T,EAAEtZ,KAAK2F,GAAGo4J,EAAE,IAAIt3J,EAAEd,EAAE8iB,QAAQvK,MAA6BsU,GAAGgrJ,EAA1B/2K,EAAEA,EAAE3G,MAA0BusB,EAAE9f,EAAtB+M,EAAE5Q,EAAEy9H,EAAE1/H,EAAEs3J,KAAkB/kF,QAAQ,GAAG,WAAWvyE,EAAE,MAAM4lB,EAAE,GAAG1mB,EAAE6b,MAAMmlH,EAAE,GAAG,oBAAoBt6G,EAAE,qBAAqBztB,OAAO6C,KAAKkE,GAAGyD,KAAK,MAAM,IAAIijB,IAAI,OAAOmG,EAAE,SAASywJ,EAAEt9K,EAAE0mB,EAAE9f,GAAG,GAAG,MAAM5G,EAAE,OAAOA,EAAE,IAAI+C,EAAE,GAAGswE,EAAE,EAAmD,OAAjDwkG,EAAE73K,EAAE+C,EAAE,GAAG,IAAG,SAAS/C,GAAG,OAAO0mB,EAAErsB,KAAKuM,EAAE5G,EAAEqzE,QAActwE,EAC1Z,SAASwuJ,EAAEvxJ,GAAG,IAAI,IAAIA,EAAE6xL,QAAQ,CAAC,IAAInrK,EAAE1mB,EAAE8xL,QAAQprK,EAAEA,IAAI1mB,EAAE6xL,QAAQ,EAAE7xL,EAAE8xL,QAAQprK,EAAEA,EAAEwC,MAAK,SAASxC,GAAG,IAAI1mB,EAAE6xL,UAAUnrK,EAAEA,EAAE4b,QAAQtiC,EAAE6xL,QAAQ,EAAE7xL,EAAE8xL,QAAQprK,MAAI,SAASA,GAAG,IAAI1mB,EAAE6xL,UAAU7xL,EAAE6xL,QAAQ,EAAE7xL,EAAE8xL,QAAQprK,MAAK,GAAG,IAAI1mB,EAAE6xL,QAAQ,OAAO7xL,EAAE8xL,QAAQ,MAAM9xL,EAAE8xL,QAAS,IAAInT,EAAE,CAACp7K,QAAQ,MAAM,SAASq7K,IAAI,IAAI5+K,EAAE2+K,EAAEp7K,QAAQ,GAAG,OAAOvD,EAAE,MAAM6b,MAAMmlH,EAAE,MAAM,OAAOhhI,EAAE,IAAI6+K,EAAE,CAACL,uBAAuBG,EAAEvG,wBAAwB,CAACh9H,WAAW,GAAG8mI,kBAAkBlP,EAAE+e,qBAAqB,CAACxuL,SAAQ,GAAI0jB,OAAO9nB,GACjetH,EAAQ4kK,SAAS,CAAC11J,IAAIu2K,EAAE7gL,QAAQ,SAASuD,EAAE0mB,EAAE9f,GAAG02K,EAAEt9K,GAAE,WAAW0mB,EAAErqB,MAAMW,KAAKT,aAAYqK,IAAIuC,MAAM,SAASnJ,GAAG,IAAI0mB,EAAE,EAAuB,OAArB42J,EAAEt9K,GAAE,WAAW0mB,OAAaA,GAAGc,QAAQ,SAASxnB,GAAG,OAAOs9K,EAAEt9K,GAAE,SAASA,GAAG,OAAOA,MAAK,IAAIgyL,KAAK,SAAShyL,GAAG,IAAI4mI,EAAE5mI,GAAG,MAAM6b,MAAMmlH,EAAE,MAAM,OAAOhhI,IAAInI,EAAQ8rC,UAAU22I,EAAEziL,EAAQo6L,cAAc52C,EAAExjJ,EAAQwhK,mDAAmDwlB,EAChXhnL,EAAQomG,aAAa,SAASj+F,EAAE0mB,EAAE9f,GAAG,GAAG,OAAO5G,QAAG,IAASA,EAAE,MAAM6b,MAAMmlH,EAAE,IAAIhhI,IAAI,IAAI+C,EAAE5D,EAAE,GAAGa,EAAEtH,OAAO26E,EAAErzE,EAAE7G,IAAI2H,EAAEd,EAAEsjC,IAAIzW,EAAE7sB,EAAE+7K,OAAO,GAAG,MAAMr1J,EAAE,CAAoE,QAAnE,IAASA,EAAE4c,MAAMxiC,EAAE4lB,EAAE4c,IAAIzW,EAAEmmJ,EAAEzvK,cAAS,IAASmjB,EAAEvtB,MAAMk6E,EAAE,GAAG3sD,EAAEvtB,KAAQ6G,EAAEnD,MAAMmD,EAAEnD,KAAKonC,aAAa,IAAIm0H,EAAEp4J,EAAEnD,KAAKonC,aAAa,IAAItwB,KAAK+S,EAAE8qI,EAAEn3J,KAAKqsB,EAAE/S,KAAKwhK,EAAEt0K,eAAe8S,KAAK5Q,EAAE4Q,QAAG,IAAS+S,EAAE/S,SAAI,IAASykJ,EAAEA,EAAEzkJ,GAAG+S,EAAE/S,IAAI,IAAIA,EAAEpX,UAAU3D,OAAO,EAAE,GAAG,IAAI+a,EAAE5Q,EAAEyiC,SAAS5+B,OAAO,GAAG,EAAE+M,EAAE,CAACykJ,EAAEz9J,MAAMgZ,GAAG,IAAI,IAAIxT,EAAE,EAAEA,EAAEwT,EAAExT,IAAIi4J,EAAEj4J,GAAG5D,UAAU4D,EAAE,GAAG4C,EAAEyiC,SAAS4yH,EAAE,MAAM,CAAC8C,SAAS7/J,EAAEwB,KAAKmD,EAAEnD,KACxf1D,IAAIk6E,EAAE/vC,IAAIxiC,EAAEpI,MAAMqK,EAAEg5K,OAAOlvJ,IAAIh1B,EAAQoyD,cAAc,SAASjqD,EAAE0mB,GAA8K,YAA3K,IAASA,IAAIA,EAAE,OAAM1mB,EAAE,CAACk7J,SAASr0J,EAAE6lL,sBAAsBhmK,EAAEiyJ,cAAc34K,EAAEkyL,eAAelyL,EAAEmyL,aAAa,EAAEpvJ,SAAS,KAAKD,SAAS,OAAQC,SAAS,CAACm4H,SAAShjJ,EAAEqtC,SAASvlD,GAAUA,EAAE8iC,SAAS9iC,GAAGnI,EAAQ6pB,cAAciyJ,EAAE97K,EAAQu6L,cAAc,SAASpyL,GAAG,IAAI0mB,EAAEitJ,EAAEx5J,KAAK,KAAKna,GAAY,OAAT0mB,EAAE7pB,KAAKmD,EAAS0mB,GAAG7uB,EAAQw6L,UAAU,WAAW,MAAM,CAAC9uL,QAAQ,OAAO1L,EAAQ0zD,WAAW,SAASvrD,GAAG,MAAM,CAACk7J,SAASh7J,EAAEg1C,OAAOl1C,IAAInI,EAAQ43L,eAAe7oD,EAC3e/uI,EAAQy6L,KAAK,SAAStyL,GAAG,MAAM,CAACk7J,SAAS/1J,EAAEg2J,SAAS,CAAC02B,SAAS,EAAEC,QAAQ9xL,GAAGo7J,MAAM7J,IAAI15J,EAAQ6yC,KAAK,SAAS1qC,EAAE0mB,GAAG,MAAM,CAACw0I,SAAS76D,EAAExjG,KAAKmD,EAAEsiL,aAAQ,IAAS57J,EAAE,KAAKA,IAAI7uB,EAAQk3C,YAAY,SAAS/uC,EAAE0mB,GAAG,OAAOk4J,IAAI7vI,YAAY/uC,EAAE0mB,IAAI7uB,EAAQqrC,WAAW,SAASljC,EAAE0mB,GAAG,OAAOk4J,IAAI17I,WAAWljC,EAAE0mB,IAAI7uB,EAAQ6pL,cAAc,aAAa7pL,EAAQw4C,UAAU,SAASrwC,EAAE0mB,GAAG,OAAOk4J,IAAIvuI,UAAUrwC,EAAE0mB,IAAI7uB,EAAQs1D,oBAAoB,SAASntD,EAAE0mB,EAAE9f,GAAG,OAAOg4K,IAAIzxH,oBAAoBntD,EAAE0mB,EAAE9f,IAC9c/O,EAAQi5C,gBAAgB,SAAS9wC,EAAE0mB,GAAG,OAAOk4J,IAAI9tI,gBAAgB9wC,EAAE0mB,IAAI7uB,EAAQ8gD,QAAQ,SAAS34C,EAAE0mB,GAAG,OAAOk4J,IAAIjmI,QAAQ34C,EAAE0mB,IAAI7uB,EAAQw6D,WAAW,SAASryD,EAAE0mB,EAAE9f,GAAG,OAAOg4K,IAAIvsH,WAAWryD,EAAE0mB,EAAE9f,IAAI/O,EAAQ42C,OAAO,SAASzuC,GAAG,OAAO4+K,IAAInwI,OAAOzuC,IAAInI,EAAQ82C,SAAS,SAAS3uC,GAAG,OAAO4+K,IAAIjwI,SAAS3uC,IAAInI,EAAQgkC,QAAQ,2CCnBnTjkC,EAAOC,QAAU,EAAjBD,uCCAAA,EAAOC,QAAU,EAAjBD,sBCIF,IAAI26L,EAAW,SAAU16L,GACvB,aAEA,IAEI2F,EAFAg1L,EAAKv5L,OAAOd,UACZ8mI,EAASuzD,EAAG3xL,eAEZ4xL,EAA4B,oBAAXz6L,OAAwBA,OAAS,GAClD06L,EAAiBD,EAAQx6L,UAAY,aACrC06L,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQ5uK,aAAe,gBAE/C,SAASsE,EAAOpwB,EAAKoB,EAAKgB,GAOxB,OANAlB,OAAOC,eAAenB,EAAKoB,EAAK,CAC9BgB,MAAOA,EACPrB,YAAY,EACZC,cAAc,EACdC,UAAU,IAELjB,EAAIoB,GAEb,IAEEgvB,EAAO,GAAI,IACX,MAAOnQ,GACPmQ,EAAS,SAASpwB,EAAKoB,EAAKgB,GAC1B,OAAOpC,EAAIoB,GAAOgB,GAItB,SAASkyH,EAAKymE,EAASC,EAASv5L,EAAMw5L,GAEpC,IAAIC,EAAiBF,GAAWA,EAAQ56L,qBAAqB+6L,EAAYH,EAAUG,EAC/EC,EAAYl6L,OAAOiB,OAAO+4L,EAAe96L,WACzCyT,EAAU,IAAIo+C,EAAQgpI,GAAe,IAMzC,OAFAG,EAAUC,QAuMZ,SAA0BN,EAASt5L,EAAMoS,GACvC,IAAIwL,EAAQi8K,EAEZ,OAAO,SAAgBrjK,EAAQ+d,GAC7B,GAAI32B,IAAUk8K,EACZ,MAAM,IAAIz3K,MAAM,gCAGlB,GAAIzE,IAAUm8K,EAAmB,CAC/B,GAAe,UAAXvjK,EACF,MAAM+d,EAKR,OAAOylJ,IAMT,IAHA5nL,EAAQokB,OAASA,EACjBpkB,EAAQmiC,IAAMA,IAED,CACX,IAAI0lJ,EAAW7nL,EAAQ6nL,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAU7nL,GACnD,GAAI8nL,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnB9nL,EAAQokB,OAGVpkB,EAAQ4iG,KAAO5iG,EAAQioL,MAAQjoL,EAAQmiC,SAElC,GAAuB,UAAnBniC,EAAQokB,OAAoB,CACrC,GAAI5Y,IAAUi8K,EAEZ,MADAj8K,EAAQm8K,EACF3nL,EAAQmiC,IAGhBniC,EAAQkoL,kBAAkBloL,EAAQmiC,SAEN,WAAnBniC,EAAQokB,QACjBpkB,EAAQ2iG,OAAO,SAAU3iG,EAAQmiC,KAGnC32B,EAAQk8K,EAER,IAAIS,EAASC,EAASlB,EAASt5L,EAAMoS,GACrC,GAAoB,WAAhBmoL,EAAOl3L,KAAmB,CAO5B,GAJAua,EAAQxL,EAAQ2M,KACZg7K,EACAU,EAEAF,EAAOhmJ,MAAQ6lJ,EACjB,SAGF,MAAO,CACLz5L,MAAO45L,EAAOhmJ,IACdx1B,KAAM3M,EAAQ2M,MAGS,UAAhBw7K,EAAOl3L,OAChBua,EAAQm8K,EAGR3nL,EAAQokB,OAAS,QACjBpkB,EAAQmiC,IAAMgmJ,EAAOhmJ,OA/QPmmJ,CAAiBpB,EAASt5L,EAAMoS,GAE7CunL,EAcT,SAASa,EAASjxK,EAAIhrB,EAAKg2C,GACzB,IACE,MAAO,CAAElxC,KAAM,SAAUkxC,IAAKhrB,EAAG1oB,KAAKtC,EAAKg2C,IAC3C,MAAO/1B,GACP,MAAO,CAAEnb,KAAM,QAASkxC,IAAK/1B,IAhBjCngB,EAAQw0H,KAAOA,EAoBf,IAAIgnE,EAAyB,iBACzBY,EAAyB,iBACzBX,EAAoB,YACpBC,EAAoB,YAIpBK,EAAmB,GAMvB,SAASV,KACT,SAASiB,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBlsK,EAAOksK,EAAmB3B,GAAgB,WACxC,OAAO11L,QAGT,IAAIs3L,EAAWr7L,OAAOsB,eAClBg6L,EAA0BD,GAAYA,EAASA,EAAS79C,EAAO,MAC/D89C,GACAA,IAA4B/B,GAC5BvzD,EAAO5kI,KAAKk6L,EAAyB7B,KAGvC2B,EAAoBE,GAGtB,IAAIC,EAAKJ,EAA2Bj8L,UAClC+6L,EAAU/6L,UAAYc,OAAOiB,OAAOm6L,GAYtC,SAASI,EAAsBt8L,GAC7B,CAAC,OAAQ,QAAS,UAAUsE,SAAQ,SAASuzB,GAC3C7H,EAAOhwB,EAAW63B,GAAQ,SAAS+d,GACjC,OAAO/wC,KAAKo2L,QAAQpjK,EAAQ+d,SAkClC,SAAS2mJ,EAAcvB,EAAWwB,GAChC,SAASC,EAAO5kK,EAAQ+d,EAAKnuC,EAASC,GACpC,IAAIk0L,EAASC,EAASb,EAAUnjK,GAASmjK,EAAWplJ,GACpD,GAAoB,UAAhBgmJ,EAAOl3L,KAEJ,CACL,IAAIoG,EAAS8wL,EAAOhmJ,IAChB5zC,EAAQ8I,EAAO9I,MACnB,OAAIA,GACiB,kBAAVA,GACP8kI,EAAO5kI,KAAKF,EAAO,WACdw6L,EAAY/0L,QAAQzF,EAAM06L,SAAS3rK,MAAK,SAAS/uB,GACtDy6L,EAAO,OAAQz6L,EAAOyF,EAASC,MAC9B,SAASmY,GACV48K,EAAO,QAAS58K,EAAKpY,EAASC,MAI3B80L,EAAY/0L,QAAQzF,GAAO+uB,MAAK,SAAS4rK,GAI9C7xL,EAAO9I,MAAQ26L,EACfl1L,EAAQqD,MACP,SAAS9F,GAGV,OAAOy3L,EAAO,QAASz3L,EAAOyC,EAASC,MAvBzCA,EAAOk0L,EAAOhmJ,KA4BlB,IAAIgnJ,EAgCJ/3L,KAAKo2L,QA9BL,SAAiBpjK,EAAQ+d,GACvB,SAASinJ,IACP,OAAO,IAAIL,GAAY,SAAS/0L,EAASC,GACvC+0L,EAAO5kK,EAAQ+d,EAAKnuC,EAASC,MAIjC,OAAOk1L,EAaLA,EAAkBA,EAAgB7rK,KAChC8rK,EAGAA,GACEA,KAkHV,SAASrB,EAAoBF,EAAU7nL,GACrC,IAAIokB,EAASyjK,EAASx7L,SAAS2T,EAAQokB,QACvC,GAAIA,IAAWxyB,EAAW,CAKxB,GAFAoO,EAAQ6nL,SAAW,KAEI,UAAnB7nL,EAAQokB,OAAoB,CAE9B,GAAIyjK,EAASx7L,SAAiB,SAG5B2T,EAAQokB,OAAS,SACjBpkB,EAAQmiC,IAAMvwC,EACdm2L,EAAoBF,EAAU7nL,GAEP,UAAnBA,EAAQokB,QAGV,OAAO4jK,EAIXhoL,EAAQokB,OAAS,QACjBpkB,EAAQmiC,IAAM,IAAIx1C,UAChB,kDAGJ,OAAOq7L,EAGT,IAAIG,EAASC,EAAShkK,EAAQyjK,EAASx7L,SAAU2T,EAAQmiC,KAEzD,GAAoB,UAAhBgmJ,EAAOl3L,KAIT,OAHA+O,EAAQokB,OAAS,QACjBpkB,EAAQmiC,IAAMgmJ,EAAOhmJ,IACrBniC,EAAQ6nL,SAAW,KACZG,EAGT,IAAI5zK,EAAO+zK,EAAOhmJ,IAElB,OAAM/tB,EAOFA,EAAKzH,MAGP3M,EAAQ6nL,EAASwB,YAAcj1K,EAAK7lB,MAGpCyR,EAAQkX,KAAO2wK,EAASyB,QAQD,WAAnBtpL,EAAQokB,SACVpkB,EAAQokB,OAAS,OACjBpkB,EAAQmiC,IAAMvwC,GAUlBoO,EAAQ6nL,SAAW,KACZG,GANE5zK,GA3BPpU,EAAQokB,OAAS,QACjBpkB,EAAQmiC,IAAM,IAAIx1C,UAAU,oCAC5BqT,EAAQ6nL,SAAW,KACZG,GAoDX,SAASuB,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxBp4L,KAAK04L,WAAWt5L,KAAKi5L,GAGvB,SAASM,EAAcN,GACrB,IAAItB,EAASsB,EAAMO,YAAc,GACjC7B,EAAOl3L,KAAO,gBACPk3L,EAAOhmJ,IACdsnJ,EAAMO,WAAa7B,EAGrB,SAAS/pI,EAAQgpI,GAIfh2L,KAAK04L,WAAa,CAAC,CAAEJ,OAAQ,SAC7BtC,EAAYv2L,QAAQ04L,EAAcn4L,MAClCA,KAAK6O,OAAM,GA8Bb,SAAS4qI,EAAOo/C,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASnD,GAC9B,GAAIoD,EACF,OAAOA,EAAez7L,KAAKw7L,GAG7B,GAA6B,oBAAlBA,EAAS/yK,KAClB,OAAO+yK,EAGT,IAAKngL,MAAMmgL,EAASj9L,QAAS,CAC3B,IAAID,GAAK,EAAGmqB,EAAO,SAASA,IAC1B,OAASnqB,EAAIk9L,EAASj9L,QACpB,GAAIqmI,EAAO5kI,KAAKw7L,EAAUl9L,GAGxB,OAFAmqB,EAAK3oB,MAAQ07L,EAASl9L,GACtBmqB,EAAKvK,MAAO,EACLuK,EAOX,OAHAA,EAAK3oB,MAAQqD,EACbslB,EAAKvK,MAAO,EAELuK,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAM0wK,GAIjB,SAASA,IACP,MAAO,CAAEr5L,MAAOqD,EAAW+a,MAAM,GA+MnC,OA7mBA47K,EAAkBh8L,UAAYi8L,EAC9BjsK,EAAOqsK,EAAI,cAAeJ,GAC1BjsK,EAAOisK,EAA4B,cAAeD,GAClDA,EAAkBnwJ,YAAc7b,EAC9BisK,EACAvB,EACA,qBAaFh7L,EAAQk+L,oBAAsB,SAASC,GACrC,IAAI5gI,EAAyB,oBAAX4gI,GAAyBA,EAAO99L,YAClD,QAAOk9D,IACHA,IAAS++H,GAG2B,uBAAnC/+H,EAAKpxB,aAAeoxB,EAAK55D,QAIhC3D,EAAQo+L,KAAO,SAASD,GAQtB,OAPI/8L,OAAOY,eACTZ,OAAOY,eAAem8L,EAAQ5B,IAE9B4B,EAAOl8L,UAAYs6L,EACnBjsK,EAAO6tK,EAAQnD,EAAmB,sBAEpCmD,EAAO79L,UAAYc,OAAOiB,OAAOs6L,GAC1BwB,GAOTn+L,EAAQq+L,MAAQ,SAASnoJ,GACvB,MAAO,CAAE8mJ,QAAS9mJ,IAsEpB0mJ,EAAsBC,EAAcv8L,WACpCgwB,EAAOusK,EAAcv8L,UAAWw6L,GAAqB,WACnD,OAAO31L,QAETnF,EAAQ68L,cAAgBA,EAKxB78L,EAAQ0kB,MAAQ,SAASu2K,EAASC,EAASv5L,EAAMw5L,EAAa2B,QACxC,IAAhBA,IAAwBA,EAAch1L,SAE1C,IAAI7E,EAAO,IAAI45L,EACbroE,EAAKymE,EAASC,EAASv5L,EAAMw5L,GAC7B2B,GAGF,OAAO98L,EAAQk+L,oBAAoBhD,GAC/Bj4L,EACAA,EAAKgoB,OAAOoG,MAAK,SAASjmB,GACxB,OAAOA,EAAOsV,KAAOtV,EAAO9I,MAAQW,EAAKgoB,WAuKjD2xK,EAAsBD,GAEtBrsK,EAAOqsK,EAAI3B,EAAmB,aAO9B1qK,EAAOqsK,EAAI9B,GAAgB,WACzB,OAAO11L,QAGTmrB,EAAOqsK,EAAI,YAAY,WACrB,MAAO,wBAkCT38L,EAAQiE,KAAO,SAASF,GACtB,IAAIE,EAAO,GACX,IAAK,IAAI3C,KAAOyC,EACdE,EAAKM,KAAKjD,GAMZ,OAJA2C,EAAKq6L,UAIE,SAASrzK,IACd,KAAOhnB,EAAKlD,QAAQ,CAClB,IAAIO,EAAM2C,EAAKwR,MACf,GAAInU,KAAOyC,EAGT,OAFAknB,EAAK3oB,MAAQhB,EACb2pB,EAAKvK,MAAO,EACLuK,EAQX,OADAA,EAAKvK,MAAO,EACLuK,IAsCXjrB,EAAQ4+I,OAASA,EAMjBzsF,EAAQ7xD,UAAY,CAClBD,YAAa8xD,EAEbn+C,MAAO,SAASuqL,GAcd,GAbAp5L,KAAKwoD,KAAO,EACZxoD,KAAK8lB,KAAO,EAGZ9lB,KAAKwxG,KAAOxxG,KAAK62L,MAAQr2L,EACzBR,KAAKub,MAAO,EACZvb,KAAKy2L,SAAW,KAEhBz2L,KAAKgzB,OAAS,OACdhzB,KAAK+wC,IAAMvwC,EAEXR,KAAK04L,WAAWj5L,QAAQk5L,IAEnBS,EACH,IAAK,IAAI56L,KAAQwB,KAEQ,MAAnBxB,EAAKqS,OAAO,IACZoxH,EAAO5kI,KAAK2C,KAAMxB,KACjBka,OAAOla,EAAKD,MAAM,MACrByB,KAAKxB,GAAQgC,IAMrBioD,KAAM,WACJzoD,KAAKub,MAAO,EAEZ,IACI89K,EADYr5L,KAAK04L,WAAW,GACLE,WAC3B,GAAwB,UAApBS,EAAWx5L,KACb,MAAMw5L,EAAWtoJ,IAGnB,OAAO/wC,KAAKs5L,MAGdxC,kBAAmB,SAASyC,GAC1B,GAAIv5L,KAAKub,KACP,MAAMg+K,EAGR,IAAI3qL,EAAU5O,KACd,SAASuI,EAAOixL,EAAKC,GAYnB,OAXA1C,EAAOl3L,KAAO,QACdk3L,EAAOhmJ,IAAMwoJ,EACb3qL,EAAQkX,KAAO0zK,EAEXC,IAGF7qL,EAAQokB,OAAS,OACjBpkB,EAAQmiC,IAAMvwC,KAGNi5L,EAGZ,IAAK,IAAI99L,EAAIqE,KAAK04L,WAAW98L,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI08L,EAAQr4L,KAAK04L,WAAW/8L,GACxBo7L,EAASsB,EAAMO,WAEnB,GAAqB,SAAjBP,EAAMC,OAIR,OAAO/vL,EAAO,OAGhB,GAAI8vL,EAAMC,QAAUt4L,KAAKwoD,KAAM,CAC7B,IAAIkxI,EAAWz3D,EAAO5kI,KAAKg7L,EAAO,YAC9BsB,EAAa13D,EAAO5kI,KAAKg7L,EAAO,cAEpC,GAAIqB,GAAYC,EAAY,CAC1B,GAAI35L,KAAKwoD,KAAO6vI,EAAME,SACpB,OAAOhwL,EAAO8vL,EAAME,UAAU,GACzB,GAAIv4L,KAAKwoD,KAAO6vI,EAAMG,WAC3B,OAAOjwL,EAAO8vL,EAAMG,iBAGjB,GAAIkB,GACT,GAAI15L,KAAKwoD,KAAO6vI,EAAME,SACpB,OAAOhwL,EAAO8vL,EAAME,UAAU,OAG3B,KAAIoB,EAMT,MAAM,IAAI96K,MAAM,0CALhB,GAAI7e,KAAKwoD,KAAO6vI,EAAMG,WACpB,OAAOjwL,EAAO8vL,EAAMG,gBAU9BjnF,OAAQ,SAAS1xG,EAAMkxC,GACrB,IAAK,IAAIp1C,EAAIqE,KAAK04L,WAAW98L,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI08L,EAAQr4L,KAAK04L,WAAW/8L,GAC5B,GAAI08L,EAAMC,QAAUt4L,KAAKwoD,MACrBy5E,EAAO5kI,KAAKg7L,EAAO,eACnBr4L,KAAKwoD,KAAO6vI,EAAMG,WAAY,CAChC,IAAIoB,EAAevB,EACnB,OAIAuB,IACU,UAAT/5L,GACS,aAATA,IACD+5L,EAAatB,QAAUvnJ,GACvBA,GAAO6oJ,EAAapB,aAGtBoB,EAAe,MAGjB,IAAI7C,EAAS6C,EAAeA,EAAahB,WAAa,GAItD,OAHA7B,EAAOl3L,KAAOA,EACdk3L,EAAOhmJ,IAAMA,EAET6oJ,GACF55L,KAAKgzB,OAAS,OACdhzB,KAAK8lB,KAAO8zK,EAAapB,WAClB5B,GAGF52L,KAAK65L,SAAS9C,IAGvB8C,SAAU,SAAS9C,EAAQ0B,GACzB,GAAoB,UAAhB1B,EAAOl3L,KACT,MAAMk3L,EAAOhmJ,IAcf,MAXoB,UAAhBgmJ,EAAOl3L,MACS,aAAhBk3L,EAAOl3L,KACTG,KAAK8lB,KAAOixK,EAAOhmJ,IACM,WAAhBgmJ,EAAOl3L,MAChBG,KAAKs5L,KAAOt5L,KAAK+wC,IAAMgmJ,EAAOhmJ,IAC9B/wC,KAAKgzB,OAAS,SACdhzB,KAAK8lB,KAAO,OACa,WAAhBixK,EAAOl3L,MAAqB44L,IACrCz4L,KAAK8lB,KAAO2yK,GAGP7B,GAGTt4K,OAAQ,SAASk6K,GACf,IAAK,IAAI78L,EAAIqE,KAAK04L,WAAW98L,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI08L,EAAQr4L,KAAK04L,WAAW/8L,GAC5B,GAAI08L,EAAMG,aAAeA,EAGvB,OAFAx4L,KAAK65L,SAASxB,EAAMO,WAAYP,EAAMI,UACtCE,EAAcN,GACPzB,IAKb,MAAS,SAAS0B,GAChB,IAAK,IAAI38L,EAAIqE,KAAK04L,WAAW98L,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI08L,EAAQr4L,KAAK04L,WAAW/8L,GAC5B,GAAI08L,EAAMC,SAAWA,EAAQ,CAC3B,IAAIvB,EAASsB,EAAMO,WACnB,GAAoB,UAAhB7B,EAAOl3L,KAAkB,CAC3B,IAAIi6L,EAAS/C,EAAOhmJ,IACpB4nJ,EAAcN,GAEhB,OAAOyB,GAMX,MAAM,IAAIj7K,MAAM,0BAGlBw7G,cAAe,SAASw+D,EAAUZ,EAAYC,GAa5C,OAZAl4L,KAAKy2L,SAAW,CACdx7L,SAAUw+I,EAAOo/C,GACjBZ,WAAYA,EACZC,QAASA,GAGS,SAAhBl4L,KAAKgzB,SAGPhzB,KAAK+wC,IAAMvwC,GAGNo2L,IAQJ/7L,EA9sBM,CAqtBgBD,EAAOC,SAGtC,IACEk/L,mBAAqBxE,EACrB,MAAOyE,GAWmB,kBAAfxyK,WACTA,WAAWuyK,mBAAqBxE,EAEhCtjI,SAAS,IAAK,yBAAdA,CAAwCsjI,oCCvuB/B,IAAI5+K,EAAEykJ,EAAEvrI,EAAE/rB,EAAE,GAAG,kBAAkBm2L,aAAa,oBAAoBA,YAAYjjK,IAAI,CAAC,IAAI70B,EAAE83L,YAAYp/L,EAAQwvK,aAAa,WAAW,OAAOloK,EAAE60B,WAAW,CAAC,IAAIp6B,EAAEi6B,KAAK3b,EAAEte,EAAEo6B,MAAMn8B,EAAQwvK,aAAa,WAAW,OAAOztK,EAAEo6B,MAAM9b,GAC3O,GAAG,qBAAqBlW,QAAQ,oBAAoBk1L,eAAe,CAAC,IAAIh3L,EAAE,KAAKmgG,EAAE,KAAKvuE,EAAE,SAAFA,IAAa,GAAG,OAAO5xB,EAAE,IAAI,IAAIF,EAAEnI,EAAQwvK,eAAennK,GAAE,EAAGF,GAAGE,EAAE,KAAK,MAAMwmB,GAAG,MAAM/N,WAAWmZ,EAAE,GAAGpL,IAAK/S,EAAE,SAAS3T,GAAG,OAAOE,EAAEyY,WAAWhF,EAAE,EAAE3T,IAAIE,EAAEF,EAAE2Y,WAAWmZ,EAAE,KAAKsmI,EAAE,SAASp4J,EAAE0mB,GAAG25E,EAAE1nF,WAAW3Y,EAAE0mB,IAAImG,EAAE,WAAWirB,aAAauoD,IAAIxoG,EAAQ6+K,qBAAqB,WAAW,OAAM,GAAI51K,EAAEjJ,EAAQs/L,wBAAwB,iBAAiB,CAAC,IAAIhgI,EAAEn1D,OAAO2W,WAAWy+C,EAAEp1D,OAAO81C,aAAa,GAAG,qBAAqB16C,QAAQ,CAAC,IAAI4jI,EAC7fh/H,OAAOo1L,qBAAqB,oBAAoBp1L,OAAOq1L,uBAAuBj6L,QAAQD,MAAM,sJAAsJ,oBAAoB6jI,GAAG5jI,QAAQD,MAAM,qJAAqJ,IAAIk9K,GAAE,EAAGliB,EAAE,KAAKmiB,GAAG,EAAE1hB,EAAE,EAAEvd,EAAE,EAAExjJ,EAAQ6+K,qBAAqB,WAAW,OAAO7+K,EAAQwvK,gBAChgBhsB,GAAGv6I,EAAE,aAAajJ,EAAQs/L,wBAAwB,SAASn3L,GAAG,EAAEA,GAAG,IAAIA,EAAE5C,QAAQD,MAAM,mHAAmHy7J,EAAE,EAAE54J,EAAEuR,KAAKsmB,MAAM,IAAI73B,GAAG,GAAG,IAAIqkC,EAAE,IAAI6yJ,eAAelkB,EAAE3uI,EAAEizJ,MAAMjzJ,EAAEkzJ,MAAMC,UAAU,WAAW,GAAG,OAAOr/B,EAAE,CAAC,IAAIn4J,EAAEnI,EAAQwvK,eAAehsB,EAAEr7I,EAAE44J,EAAE,IAAIT,GAAE,EAAGn4J,GAAGgzK,EAAEykB,YAAY,OAAOpd,GAAE,EAAGliB,EAAE,MAAM,MAAMzxI,GAAG,MAAMssJ,EAAEykB,YAAY,MAAM/wK,QAAS2zJ,GAAE,GAAI1mK,EAAE,SAAS3T,GAAGm4J,EAAEn4J,EAAEq6K,IAAIA,GAAE,EAAGrH,EAAEykB,YAAY,QAAQr/B,EAAE,SAASp4J,EAAE0mB,GAAG4zJ,EACtfnjH,GAAE,WAAWn3D,EAAEnI,EAAQwvK,kBAAiB3gJ,IAAImG,EAAE,WAAWuqC,EAAEkjH,GAAGA,GAAG,GAAG,SAAS9oB,EAAExxJ,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAEpH,OAAOoH,EAAE5D,KAAKsqB,GAAG1mB,EAAE,OAAO,CAAC,IAAIqzE,EAAEzsE,EAAE,IAAI,EAAE7D,EAAE/C,EAAEqzE,GAAG,UAAG,IAAStwE,GAAG,EAAEoyK,EAAEpyK,EAAE2jB,IAA0B,MAAM1mB,EAA7BA,EAAEqzE,GAAG3sD,EAAE1mB,EAAE4G,GAAG7D,EAAE6D,EAAEysE,GAAgB,SAASsgG,EAAE3zK,GAAU,YAAO,KAAdA,EAAEA,EAAE,IAAqB,KAAKA,EAChP,SAAS4zK,EAAE5zK,GAAG,IAAI0mB,EAAE1mB,EAAE,GAAG,QAAG,IAAS0mB,EAAE,CAAC,IAAI9f,EAAE5G,EAAEsN,MAAM,GAAG1G,IAAI8f,EAAE,CAAC1mB,EAAE,GAAG4G,EAAE5G,EAAE,IAAI,IAAIqzE,EAAE,EAAEtwE,EAAE/C,EAAEpH,OAAOy6E,EAAEtwE,GAAG,CAAC,IAAI5C,EAAE,GAAGkzE,EAAE,GAAG,EAAEh4E,EAAE2E,EAAEG,GAAGgF,EAAEhF,EAAE,EAAE0G,EAAE7G,EAAEmF,GAAG,QAAG,IAAS9J,GAAG,EAAE85K,EAAE95K,EAAEuL,QAAG,IAASC,GAAG,EAAEsuK,EAAEtuK,EAAExL,IAAI2E,EAAEqzE,GAAGxsE,EAAE7G,EAAEmF,GAAGyB,EAAEysE,EAAEluE,IAAInF,EAAEqzE,GAAGh4E,EAAE2E,EAAEG,GAAGyG,EAAEysE,EAAElzE,OAAQ,WAAG,IAAS0G,GAAG,EAAEsuK,EAAEtuK,EAAED,IAA0B,MAAM5G,EAA7BA,EAAEqzE,GAAGxsE,EAAE7G,EAAEmF,GAAGyB,EAAEysE,EAAEluE,IAAgB,OAAOuhB,EAAE,OAAO,KAAK,SAASyuJ,EAAEn1K,EAAE0mB,GAAG,IAAI9f,EAAE5G,EAAE03L,UAAUhxK,EAAEgxK,UAAU,OAAO,IAAI9wL,EAAEA,EAAE5G,EAAE4sB,GAAGlG,EAAEkG,GAAG,IAAIg6G,EAAE,GAAGiB,EAAE,GAAGrH,EAAE,EAAEq3C,EAAE,KAAKyF,EAAE,EAAE/rB,GAAE,EAAGotB,GAAE,EAAGC,GAAE,EACja,SAASC,EAAE7+K,GAAG,IAAI,IAAI0mB,EAAEitJ,EAAE9rC,GAAG,OAAOnhH,GAAG,CAAC,GAAG,OAAOA,EAAEnP,SAASq8J,EAAE/rC,OAAQ,MAAGnhH,EAAEixK,WAAW33L,GAAgD,MAA9C4zK,EAAE/rC,GAAGnhH,EAAEgxK,UAAUhxK,EAAEkxK,eAAepmC,EAAE5qB,EAAElgH,GAAcA,EAAEitJ,EAAE9rC,IAAI,SAAS04C,EAAEvgL,GAAa,GAAV4+K,GAAE,EAAGC,EAAE7+K,IAAO2+K,EAAE,GAAG,OAAOhL,EAAE/sC,GAAG+3C,GAAE,EAAGhrK,EAAE+wK,OAAO,CAAC,IAAIh+J,EAAEitJ,EAAE9rC,GAAG,OAAOnhH,GAAG0xI,EAAEmoB,EAAE75J,EAAEixK,UAAU33L,IACtP,SAAS0kL,EAAE1kL,EAAE0mB,GAAGi4J,GAAE,EAAGC,IAAIA,GAAE,EAAG/xJ,KAAK0kI,GAAE,EAAG,IAAI3qJ,EAAE02K,EAAE,IAAS,IAALuB,EAAEn4J,GAAOmxJ,EAAElE,EAAE/sC,GAAG,OAAOixC,MAAMA,EAAE+f,eAAelxK,IAAI1mB,IAAInI,EAAQ6+K,yBAAyB,CAAC,IAAIrjG,EAAEwkG,EAAEtgK,SAAS,GAAG,oBAAoB87D,EAAE,CAACwkG,EAAEtgK,SAAS,KAAK+lK,EAAEzF,EAAEggB,cAAc,IAAI90L,EAAEswE,EAAEwkG,EAAE+f,gBAAgBlxK,GAAGA,EAAE7uB,EAAQwvK,eAAe,oBAAoBtkK,EAAE80K,EAAEtgK,SAASxU,EAAE80K,IAAIlE,EAAE/sC,IAAIgtC,EAAEhtC,GAAGi4C,EAAEn4J,QAAQktJ,EAAEhtC,GAAGixC,EAAElE,EAAE/sC,GAAG,GAAG,OAAOixC,EAAE,IAAI13K,GAAE,MAAO,CAAC,IAAI9E,EAAEs4K,EAAE9rC,GAAG,OAAOxsI,GAAG+8J,EAAEmoB,EAAEllL,EAAEs8L,UAAUjxK,GAAGvmB,GAAE,EAAG,OAAOA,EAAE,QAAQ03K,EAAE,KAAKyF,EAAE12K,EAAE2qJ,GAAE,GAAI,IAAInW,EAAEt6I,EAAEjJ,EAAQ0/K,sBAAsB,EACte1/K,EAAQo/K,2BAA2B,EAAEp/K,EAAQw/K,qBAAqB,EAAEx/K,EAAQouK,wBAAwB,EAAEpuK,EAAQigM,mBAAmB,KAAKjgM,EAAQ4wK,8BAA8B,EAAE5wK,EAAQ2+K,wBAAwB,SAASx2K,GAAGA,EAAEuX,SAAS,MAAM1f,EAAQkgM,2BAA2B,WAAWpZ,GAAGptB,IAAIotB,GAAE,EAAGhrK,EAAE+wK,KAAK7sL,EAAQk/K,iCAAiC,WAAW,OAAOuG,GAAGzlL,EAAQmgM,8BAA8B,WAAW,OAAOrkB,EAAE/sC,IACpa/uI,EAAQogM,cAAc,SAASj4L,GAAG,OAAOs9K,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI52J,EAAE,EAAE,MAAM,QAAQA,EAAE42J,EAAE,IAAI12K,EAAE02K,EAAEA,EAAE52J,EAAE,IAAI,OAAO1mB,IAAI,QAAQs9K,EAAE12K,IAAI/O,EAAQqgM,wBAAwB,aAAargM,EAAQ++K,sBAAsBx7B,EAAEvjJ,EAAQ2tK,yBAAyB,SAASxlK,EAAE0mB,GAAG,OAAO1mB,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAI4G,EAAE02K,EAAEA,EAAEt9K,EAAE,IAAI,OAAO0mB,IAAI,QAAQ42J,EAAE12K,IACpW/O,EAAQmuK,0BAA0B,SAAShmK,EAAE0mB,EAAE9f,GAAG,IAAIysE,EAAEx7E,EAAQwvK,eAA8F,OAA/E,kBAAkBzgK,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAEyxC,QAA6B,EAAEzxC,EAAEysE,EAAEzsE,EAAEysE,EAAGzsE,EAAEysE,EAASrzE,GAAG,KAAK,EAAE,IAAI+C,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAA2M,OAAjM/C,EAAE,CAAC4sB,GAAG4zG,IAAIjpH,SAASmP,EAAEmxK,cAAc73L,EAAE23L,UAAU/wL,EAAEgxL,eAAvD70L,EAAE6D,EAAE7D,EAAoE20L,WAAW,GAAG9wL,EAAEysE,GAAGrzE,EAAE03L,UAAU9wL,EAAE4qJ,EAAE3pB,EAAE7nI,GAAG,OAAO2zK,EAAE/sC,IAAI5mI,IAAI2zK,EAAE9rC,KAAK+2C,EAAE/xJ,IAAI+xJ,GAAE,EAAGxmB,EAAEmoB,EAAE35K,EAAEysE,MAAMrzE,EAAE03L,UAAU30L,EAAEyuJ,EAAE5qB,EAAE5mI,GAAG2+K,GAAGptB,IAAIotB,GAAE,EAAGhrK,EAAE+wK,KAAY1kL,GAC1dnI,EAAQsgM,sBAAsB,SAASn4L,GAAG,IAAI0mB,EAAE42J,EAAE,OAAO,WAAW,IAAI12K,EAAE02K,EAAEA,EAAE52J,EAAE,IAAI,OAAO1mB,EAAE3D,MAAMW,KAAKT,WAAW,QAAQ+gL,EAAE12K,uCChB3HhP,EAAOC,QAAU,EAAjBD,uCCAF,IAAIwgM,gQACJ,IAAIC,EAAQ,IAAIxzK,WAAW,IACZ,SAASyzK,IAEtB,IAAKF,KAGHA,EAAoC,qBAAXG,QAA0BA,OAAOH,iBAAmBG,OAAOH,gBAAgBj+K,KAAKo+K,SAA+B,qBAAbC,UAAgE,oBAA7BA,SAASJ,iBAAkCI,SAASJ,gBAAgBj+K,KAAKq+K,WAGrO,MAAM,IAAI38K,MAAM,4GAIpB,OAAOu8K,EAAgBC,GCjBzB,4HCQA,ICFA,MAJA,SAAkB1sF,GAChB,MAAuB,kBAATA,GAAqB8sF,EAAAA,KAAW9sF,IDG5C+sF,EAAY,GAEP//L,EAAI,EAAGA,EAAI,MAAOA,EACzB+/L,EAAUt8L,MAAMzD,EAAI,KAAO2C,SAAS,IAAIuyC,OAAO,IAoBjD,IEvBI8qJ,EAEAC,EFqBJ,EAjBA,SAAmBl+L,GACjB,IAAI6nD,EAAShmD,UAAU3D,OAAS,QAAsB4E,IAAjBjB,UAAU,GAAmBA,UAAU,GAAK,EAG7EovG,GAAQ+sF,EAAUh+L,EAAI6nD,EAAS,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAM,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAM,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAM,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,IAAM,IAAMm2I,EAAUh+L,EAAI6nD,EAAS,KAAOm2I,EAAUh+L,EAAI6nD,EAAS,KAAOm2I,EAAUh+L,EAAI6nD,EAAS,KAAOm2I,EAAUh+L,EAAI6nD,EAAS,KAAOm2I,EAAUh+L,EAAI6nD,EAAS,KAAOm2I,EAAUh+L,EAAI6nD,EAAS,MAAMx6C,cAMzf,IAAKmnJ,EAASvjD,GACZ,MAAMpzG,UAAU,+BAGlB,OAAOozG,GEfLktF,EAAa,EACbC,EAAa,EAkFjB,MAhFA,SAAYv7L,EAASw7L,EAAKx2I,GACxB,IAAI5pD,EAAIogM,GAAOx2I,GAAU,EACrB77B,EAAIqyK,GAAO,IAAIp+L,MAAM,IAErBm6C,GADJv3C,EAAUA,GAAW,IACFu3C,MAAQ6jJ,EACvBK,OAAgCx7L,IAArBD,EAAQy7L,SAAyBz7L,EAAQy7L,SAAWJ,EAInE,GAAY,MAAR9jJ,GAA4B,MAAZkkJ,EAAkB,CACpC,IAAIC,EAAY17L,EAAQqrB,SAAWrrB,EAAQ+6L,KAAOA,KAEtC,MAARxjJ,IAEFA,EAAO6jJ,EAAU,CAAgB,EAAfM,EAAU,GAAWA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAG3F,MAAZD,IAEFA,EAAWJ,EAAiD,OAApCK,EAAU,IAAM,EAAIA,EAAU,KAQ1D,IAAIC,OAA0B17L,IAAlBD,EAAQ27L,MAAsB37L,EAAQ27L,MAAQrlK,KAAKG,MAG3DmlK,OAA0B37L,IAAlBD,EAAQ47L,MAAsB57L,EAAQ47L,MAAQL,EAAa,EAEnEM,EAAKF,EAAQL,GAAcM,EAAQL,GAAc,IAarD,GAXIM,EAAK,QAA0B57L,IAArBD,EAAQy7L,WACpBA,EAAWA,EAAW,EAAI,QAKvBI,EAAK,GAAKF,EAAQL,SAAiCr7L,IAAlBD,EAAQ47L,QAC5CA,EAAQ,GAINA,GAAS,IACX,MAAM,IAAIt9K,MAAM,mDAGlBg9K,EAAaK,EACbJ,EAAaK,EACbP,EAAYI,EAIZ,IAAIK,GAA4B,KAAb,WAFnBH,GAAS,cAE+BC,GAAS,WACjDzyK,EAAE/tB,KAAO0gM,IAAO,GAAK,IACrB3yK,EAAE/tB,KAAO0gM,IAAO,GAAK,IACrB3yK,EAAE/tB,KAAO0gM,IAAO,EAAI,IACpB3yK,EAAE/tB,KAAY,IAAL0gM,EAET,IAAIC,EAAMJ,EAAQ,WAAc,IAAQ,UACxCxyK,EAAE/tB,KAAO2gM,IAAQ,EAAI,IACrB5yK,EAAE/tB,KAAa,IAAN2gM,EAET5yK,EAAE/tB,KAAO2gM,IAAQ,GAAK,GAAM,GAE5B5yK,EAAE/tB,KAAO2gM,IAAQ,GAAK,IAEtB5yK,EAAE/tB,KAAOqgM,IAAa,EAAI,IAE1BtyK,EAAE/tB,KAAkB,IAAXqgM,EAET,IAAK,IAAI39L,EAAI,EAAGA,EAAI,IAAKA,EACvBqrB,EAAE/tB,EAAI0C,GAAKy5C,EAAKz5C,GAGlB,OAAO09L,GAAOh5K,EAAU2G,ICzD1B,MAhCA,SAAeilF,GACb,IAAKujD,EAASvjD,GACZ,MAAMpzG,UAAU,gBAGlB,IAAI4M,EACAzK,EAAM,IAAImqB,WAAW,IAuBzB,OArBAnqB,EAAI,IAAMyK,EAAIwQ,SAASg2F,EAAKpwG,MAAM,EAAG,GAAI,OAAS,GAClDb,EAAI,GAAKyK,IAAM,GAAK,IACpBzK,EAAI,GAAKyK,IAAM,EAAI,IACnBzK,EAAI,GAAS,IAAJyK,EAETzK,EAAI,IAAMyK,EAAIwQ,SAASg2F,EAAKpwG,MAAM,EAAG,IAAK,OAAS,EACnDb,EAAI,GAAS,IAAJyK,EAETzK,EAAI,IAAMyK,EAAIwQ,SAASg2F,EAAKpwG,MAAM,GAAI,IAAK,OAAS,EACpDb,EAAI,GAAS,IAAJyK,EAETzK,EAAI,IAAMyK,EAAIwQ,SAASg2F,EAAKpwG,MAAM,GAAI,IAAK,OAAS,EACpDb,EAAI,GAAS,IAAJyK,EAGTzK,EAAI,KAAOyK,EAAIwQ,SAASg2F,EAAKpwG,MAAM,GAAI,IAAK,KAAO,cAAgB,IACnEb,EAAI,IAAMyK,EAAI,WAAc,IAC5BzK,EAAI,IAAMyK,IAAM,GAAK,IACrBzK,EAAI,IAAMyK,IAAM,GAAK,IACrBzK,EAAI,IAAMyK,IAAM,EAAI,IACpBzK,EAAI,IAAU,IAAJyK,EACHzK,GCdM,SAAS,EAACc,EAAMqgC,EAAS09J,GACtC,SAASC,EAAar/L,EAAO0N,EAAWkxL,EAAKx2I,GAS3C,GARqB,kBAAVpoD,IACTA,EAjBN,SAAuByH,GACrBA,EAAM21B,SAAS9L,mBAAmB7pB,IAIlC,IAFA,IAAI4zB,EAAQ,GAEH78B,EAAI,EAAGA,EAAIiJ,EAAIhJ,SAAUD,EAChC68B,EAAMp5B,KAAKwF,EAAIklB,WAAWnuB,IAG5B,OAAO68B,EAQKikK,CAAct/L,IAGC,kBAAd0N,IACTA,EAAYoD,EAAMpD,IAGK,KAArBA,EAAUjP,OACZ,MAAML,UAAU,oEAMlB,IAAIi9B,EAAQ,IAAI3Q,WAAW,GAAK1qB,EAAMvB,QAOtC,GANA48B,EAAMvlB,IAAIpI,GACV2tB,EAAMvlB,IAAI9V,EAAO0N,EAAUjP,SAC3B48B,EAAQ+jK,EAAS/jK,IACX,GAAgB,GAAXA,EAAM,GAAYqG,EAC7BrG,EAAM,GAAgB,GAAXA,EAAM,GAAY,IAEzBujK,EAAK,CACPx2I,EAASA,GAAU,EAEnB,IAAK,IAAI5pD,EAAI,EAAGA,EAAI,KAAMA,EACxBogM,EAAIx2I,EAAS5pD,GAAK68B,EAAM78B,GAG1B,OAAOogM,EAGT,OAAOh5K,EAAUyV,GAInB,IACEgkK,EAAah+L,KAAOA,EACpB,MAAOwc,IAKT,OAFAwhL,EAAaE,IA7CE,uCA8CfF,EAAa3kF,IA7CE,uCA8CR2kF,ECNT,SAASG,EAAgBC,GACvB,OAAwC,IAAhCA,EAAe,KAAO,GAAK,GAAU,EAuH/C,SAASC,EAAQ1iI,EAAGC,GAClB,IAAI0iI,GAAW,MAAJ3iI,IAAmB,MAAJC,GAE1B,OADWD,GAAK,KAAOC,GAAK,KAAO0iI,GAAO,KAC5B,GAAW,MAANA,EAerB,SAASC,EAAO7hL,EAAGlY,EAAG0mB,EAAGywC,EAAGl3D,EAAGC,GAC7B,OAAO25L,GATc1oC,EASQ0oC,EAAQA,EAAQ75L,EAAGkY,GAAI2hL,EAAQ1iI,EAAGj3D,OATrC85L,EAS0C/5L,GARhDkxJ,IAAQ,GAAK6oC,EAQuCtzK,GAT1E,IAAuByqI,EAAK6oC,EAY5B,SAASC,EAAMj6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAGl3D,EAAGC,GAC/B,OAAO65L,EAAOrzK,EAAI9f,GAAK8f,EAAI2sD,EAAGrzE,EAAG0mB,EAAGywC,EAAGl3D,EAAGC,GAG5C,SAASg6L,EAAMl6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAGl3D,EAAGC,GAC/B,OAAO65L,EAAOrzK,EAAI2sD,EAAIzsE,GAAKysE,EAAGrzE,EAAG0mB,EAAGywC,EAAGl3D,EAAGC,GAG5C,SAASi6L,EAAMn6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAGl3D,EAAGC,GAC/B,OAAO65L,EAAOrzK,EAAI9f,EAAIysE,EAAGrzE,EAAG0mB,EAAGywC,EAAGl3D,EAAGC,GAGvC,SAASk6L,EAAMp6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAGl3D,EAAGC,GAC/B,OAAO65L,EAAOnzL,GAAK8f,GAAK2sD,GAAIrzE,EAAG0mB,EAAGywC,EAAGl3D,EAAGC,GAG1C,MAlMA,SAAas1B,GACX,GAAqB,kBAAVA,EAAoB,CAC7B,IAAIo9F,EAAMr7F,SAAS9L,mBAAmB+J,IAEtCA,EAAQ,IAAI3Q,WAAW+tG,EAAIh6H,QAE3B,IAAK,IAAID,EAAI,EAAGA,EAAIi6H,EAAIh6H,SAAUD,EAChC68B,EAAM78B,GAAKi6H,EAAI9rG,WAAWnuB,GAI9B,OAOF,SAA8Bq1C,GAK5B,IAJA,IAAI/wC,EAAS,GACTo9L,EAA0B,GAAfrsJ,EAAMp1C,OACjB0hM,EAAS,mBAEJ3hM,EAAI,EAAGA,EAAI0hM,EAAU1hM,GAAK,EAAG,CACpC,IAAIw+D,EAAInpB,EAAMr1C,GAAK,KAAOA,EAAI,GAAK,IAC/B4hM,EAAM5kL,SAAS2kL,EAAOzsL,OAAOspD,IAAM,EAAI,IAAQmjI,EAAOzsL,OAAW,GAAJspD,GAAW,IAC5El6D,EAAOb,KAAKm+L,GAGd,OAAOt9L,EAlBAu9L,CAiCT,SAAoBrjI,EAAGl8D,GAErBk8D,EAAEl8D,GAAO,IAAM,KAAQA,EAAM,GAC7Bk8D,EAAEwiI,EAAgB1+L,GAAO,GAAKA,EAM9B,IALA,IAAI+E,EAAI,WACJ0mB,GAAK,UACL9f,GAAK,WACLysE,EAAI,UAEC16E,EAAI,EAAGA,EAAIw+D,EAAEv+D,OAAQD,GAAK,GAAI,CACrC,IAAI8hM,EAAOz6L,EACP06L,EAAOh0K,EACPi0K,EAAO/zL,EACPg0L,EAAOvnH,EACXrzE,EAAIi6L,EAAMj6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,GAAI,GAAI,WAChC06E,EAAI4mH,EAAM5mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,IAAK,WACrCiO,EAAIqzL,EAAMrzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,GAAI,WACpC+tB,EAAIuzK,EAAMvzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,IAAK,YACrCqH,EAAIi6L,EAAMj6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,GAAI,WACpC06E,EAAI4mH,EAAM5mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,GAAI,YACpCiO,EAAIqzL,EAAMrzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,IAAK,YACrC+tB,EAAIuzK,EAAMvzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,IAAK,UACrCqH,EAAIi6L,EAAMj6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,EAAG,YACnC06E,EAAI4mH,EAAM5mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,IAAK,YACrCiO,EAAIqzL,EAAMrzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,IAAK,OACtC+tB,EAAIuzK,EAAMvzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,IAAK,IAAK,YACtCqH,EAAIi6L,EAAMj6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,IAAK,EAAG,YACpC06E,EAAI4mH,EAAM5mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,IAAK,IAAK,UACtCiO,EAAIqzL,EAAMrzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,IAAK,YAEtCqH,EAAIk6L,EAAMl6L,EADV0mB,EAAIuzK,EAAMvzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,IAAK,GAAI,YACrBiO,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,GAAI,WACpC06E,EAAI6mH,EAAM7mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,GAAI,YACpCiO,EAAIszL,EAAMtzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,GAAI,WACrC+tB,EAAIwzK,EAAMxzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,GAAI,IAAK,WACjCqH,EAAIk6L,EAAMl6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,GAAI,WACpC06E,EAAI6mH,EAAM7mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,IAAK,EAAG,UACpCiO,EAAIszL,EAAMtzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,IAAK,WACtC+tB,EAAIwzK,EAAMxzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,IAAK,WACrCqH,EAAIk6L,EAAMl6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,EAAG,WACnC06E,EAAI6mH,EAAM7mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,IAAK,GAAI,YACrCiO,EAAIszL,EAAMtzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,IAAK,WACrC+tB,EAAIwzK,EAAMxzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,GAAI,YACpCqH,EAAIk6L,EAAMl6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,IAAK,GAAI,YACrC06E,EAAI6mH,EAAM7mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,GAAI,UACpCiO,EAAIszL,EAAMtzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,GAAI,YAEpCqH,EAAIm6L,EAAMn6L,EADV0mB,EAAIwzK,EAAMxzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,IAAK,IAAK,YACtBiO,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,GAAI,QACpC06E,EAAI8mH,EAAM9mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,IAAK,YACrCiO,EAAIuzL,EAAMvzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,GAAI,YACrC+tB,EAAIyzK,EAAMzzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,IAAK,IAAK,UACtCqH,EAAIm6L,EAAMn6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,GAAI,YACpC06E,EAAI8mH,EAAM9mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,GAAI,YACpCiO,EAAIuzL,EAAMvzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,IAAK,WACrC+tB,EAAIyzK,EAAMzzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,IAAK,IAAK,YACtCqH,EAAIm6L,EAAMn6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,IAAK,EAAG,WACpC06E,EAAI8mH,EAAM9mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,GAAI,IAAK,WACjCiO,EAAIuzL,EAAMvzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,IAAK,WACrC+tB,EAAIyzK,EAAMzzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,GAAI,UACpCqH,EAAIm6L,EAAMn6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,GAAI,WACpC06E,EAAI8mH,EAAM9mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,IAAK,IAAK,WACtCiO,EAAIuzL,EAAMvzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,GAAI,WAErCqH,EAAIo6L,EAAMp6L,EADV0mB,EAAIyzK,EAAMzzK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,IAAK,WACrBiO,EAAGysE,EAAGlc,EAAEx+D,GAAI,GAAI,WAChC06E,EAAI+mH,EAAM/mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,GAAI,YACpCiO,EAAIwzL,EAAMxzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,IAAK,YACtC+tB,EAAI0zK,EAAM1zK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,IAAK,UACrCqH,EAAIo6L,EAAMp6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,IAAK,EAAG,YACpC06E,EAAI+mH,EAAM/mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,GAAI,IAAK,YACrCiO,EAAIwzL,EAAMxzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,IAAK,IAAK,SACtC+tB,EAAI0zK,EAAM1zK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,IAAK,YACrCqH,EAAIo6L,EAAMp6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,EAAG,YACnC06E,EAAI+mH,EAAM/mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,IAAK,IAAK,UACtCiO,EAAIwzL,EAAMxzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,IAAK,YACrC+tB,EAAI0zK,EAAM1zK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,IAAK,GAAI,YACrCqH,EAAIo6L,EAAMp6L,EAAG0mB,EAAG9f,EAAGysE,EAAGlc,EAAEx+D,EAAI,GAAI,GAAI,WACpC06E,EAAI+mH,EAAM/mH,EAAGrzE,EAAG0mB,EAAG9f,EAAGuwD,EAAEx+D,EAAI,IAAK,IAAK,YACtCiO,EAAIwzL,EAAMxzL,EAAGysE,EAAGrzE,EAAG0mB,EAAGywC,EAAEx+D,EAAI,GAAI,GAAI,WACpC+tB,EAAI0zK,EAAM1zK,EAAG9f,EAAGysE,EAAGrzE,EAAGm3D,EAAEx+D,EAAI,GAAI,IAAK,WACrCqH,EAAI65L,EAAQ75L,EAAGy6L,GACf/zK,EAAImzK,EAAQnzK,EAAGg0K,GACf9zL,EAAIizL,EAAQjzL,EAAG+zL,GACftnH,EAAIwmH,EAAQxmH,EAAGunH,GAGjB,MAAO,CAAC56L,EAAG0mB,EAAG9f,EAAGysE,GArHWwnH,CA6H9B,SAAsB7sJ,GACpB,GAAqB,IAAjBA,EAAMp1C,OACR,MAAO,GAMT,IAHA,IAAIkiM,EAAyB,EAAf9sJ,EAAMp1C,OAChBqE,EAAS,IAAI89L,YAAYpB,EAAgBmB,IAEpCniM,EAAI,EAAGA,EAAImiM,EAASniM,GAAK,EAChCsE,EAAOtE,GAAK,KAAsB,IAAfq1C,EAAMr1C,EAAI,KAAcA,EAAI,GAGjD,OAAOsE,EAzIgC+9L,CAAaxlK,GAAuB,EAAfA,EAAM58B,UC5BpE,EADSqiM,EAAI,KAAM,GAAMC,GCqBzB,MApBA,SAAY39L,EAASw7L,EAAKx2I,GAExB,IAAI44I,GADJ59L,EAAUA,GAAW,IACFqrB,SAAWrrB,EAAQ+6L,KAAOA,KAK7C,GAHA6C,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBpC,EAAK,CACPx2I,EAASA,GAAU,EAEnB,IAAK,IAAI5pD,EAAI,EAAGA,EAAI,KAAMA,EACxBogM,EAAIx2I,EAAS5pD,GAAKwiM,EAAKxiM,GAGzB,OAAOogM,EAGT,OAAOh5K,EAAUo7K,IClBnB,SAASxnL,EAAE1T,EAAGk3D,EAAGC,EAAG4pE,GAClB,OAAQ/gI,GACN,KAAK,EACH,OAAOk3D,EAAIC,GAAKD,EAAI6pE,EAEtB,KAAK,EAML,KAAK,EACH,OAAO7pE,EAAIC,EAAI4pE,EAJjB,KAAK,EACH,OAAO7pE,EAAIC,EAAID,EAAI6pE,EAAI5pE,EAAI4pE,GAOjC,SAASo6D,EAAKjkI,EAAG97D,GACf,OAAO87D,GAAK97D,EAAI87D,IAAM,GAAK97D,EA4E7B,MAzEA,SAAcm6B,GACZ,IAAIo+I,EAAI,CAAC,WAAY,WAAY,WAAY,YACzCpiB,EAAI,CAAC,WAAY,WAAY,WAAY,UAAY,YAEzD,GAAqB,kBAAVh8H,EAAoB,CAC7B,IAAIo9F,EAAMr7F,SAAS9L,mBAAmB+J,IAEtCA,EAAQ,GAER,IAAK,IAAI78B,EAAI,EAAGA,EAAIi6H,EAAIh6H,SAAUD,EAChC68B,EAAMp5B,KAAKw2H,EAAI9rG,WAAWnuB,SAElBgC,MAAMC,QAAQ46B,KAExBA,EAAQ76B,MAAMxC,UAAUoD,MAAMlB,KAAKm7B,IAGrCA,EAAMp5B,KAAK,KAKX,IAJA,IAAI+C,EAAIq2B,EAAM58B,OAAS,EAAI,EACvB4nI,EAAIjvH,KAAKi4H,KAAKrqI,EAAI,IAClB0oI,EAAI,IAAIltI,MAAM6lI,GAETh+G,EAAK,EAAGA,EAAKg+G,IAAKh+G,EAAI,CAG7B,IAFA,IAAI9nB,EAAM,IAAIqgM,YAAY,IAEjBv3L,EAAI,EAAGA,EAAI,KAAMA,EACxB9I,EAAI8I,GAAKgyB,EAAW,GAALhT,EAAc,EAAJhf,IAAU,GAAKgyB,EAAW,GAALhT,EAAc,EAAJhf,EAAQ,IAAM,GAAKgyB,EAAW,GAALhT,EAAc,EAAJhf,EAAQ,IAAM,EAAIgyB,EAAW,GAALhT,EAAc,EAAJhf,EAAQ,GAGvIqkI,EAAErlH,GAAM9nB,EAGVmtI,EAAErH,EAAI,GAAG,IAA2B,GAApBhrG,EAAM58B,OAAS,GAAS2Y,KAAK45E,IAAI,EAAG,IACpD08C,EAAErH,EAAI,GAAG,IAAMjvH,KAAKsmB,MAAMgwG,EAAErH,EAAI,GAAG,KACnCqH,EAAErH,EAAI,GAAG,IAA2B,GAApBhrG,EAAM58B,OAAS,GAAS,WAExC,IAAK,IAAIyiM,EAAM,EAAGA,EAAM76D,IAAK66D,EAAK,CAGhC,IAFA,IAAIjgD,EAAI,IAAI2/C,YAAY,IAEf76L,EAAI,EAAGA,EAAI,KAAMA,EACxBk7I,EAAEl7I,GAAK2nI,EAAEwzD,GAAKn7L,GAGhB,IAAK,IAAIo7L,EAAK,GAAIA,EAAK,KAAMA,EAC3BlgD,EAAEkgD,GAAMF,EAAKhgD,EAAEkgD,EAAK,GAAKlgD,EAAEkgD,EAAK,GAAKlgD,EAAEkgD,EAAK,IAAMlgD,EAAEkgD,EAAK,IAAK,GAShE,IANA,IAAIt7L,EAAIwxJ,EAAE,GACN9qI,EAAI8qI,EAAE,GACN5qJ,EAAI4qJ,EAAE,GACNn+E,EAAIm+E,EAAE,GACNzuJ,EAAIyuJ,EAAE,GAED+pC,EAAM,EAAGA,EAAM,KAAMA,EAAK,CACjC,IAAIt7L,EAAIsR,KAAKsmB,MAAM0jK,EAAM,IACrB1c,EAAIuc,EAAKp7L,EAAG,GAAK2T,EAAE1T,EAAGymB,EAAG9f,EAAGysE,GAAKtwE,EAAI6wK,EAAE3zK,GAAKm7I,EAAEmgD,KAAS,EAC3Dx4L,EAAIswE,EACJA,EAAIzsE,EACJA,EAAIw0L,EAAK10K,EAAG,MAAQ,EACpBA,EAAI1mB,EACJA,EAAI6+K,EAGNrtB,EAAE,GAAKA,EAAE,GAAKxxJ,IAAM,EACpBwxJ,EAAE,GAAKA,EAAE,GAAK9qI,IAAM,EACpB8qI,EAAE,GAAKA,EAAE,GAAK5qJ,IAAM,EACpB4qJ,EAAE,GAAKA,EAAE,GAAKn+E,IAAM,EACpBm+E,EAAE,GAAKA,EAAE,GAAKzuJ,IAAM,EAGtB,MAAO,CAACyuJ,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,KCzFxV,EADSypC,EAAI,KAAM,GAAMO,GCFzB,yCCUA,MARA,SAAiB7vF,GACf,IAAKujD,EAASvjD,GACZ,MAAMpzG,UAAU,gBAGlB,OAAOod,SAASg2F,EAAK99D,OAAO,GAAI,GAAI,mCCStC,IAEI89B,EAAU,aA2Cd/zE,EAAOC,QAAU8zE,4NC5Db8vH,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBn+L,IAAjBo+L,EACH,OAAOA,EAAa/jM,QAGrB,IAAID,EAAS6jM,EAAyBE,GAAY,CACjD/uK,GAAI+uK,EACJ7jL,QAAQ,EACRjgB,QAAS,IAUV,OANAgkM,EAAoBF,GAAUthM,KAAKzC,EAAOC,QAASD,EAAQA,EAAOC,QAAS6jM,GAG3E9jM,EAAOkgB,QAAS,EAGTlgB,EAAOC,QCvBf6jM,EAAoBrgM,EAAI,SAASzD,GAChC,IAAI2vJ,EAAS3vJ,GAAUA,EAAOq3J,WAC7B,WAAa,OAAOr3J,EAAgB,SACpC,WAAa,OAAOA,GAErB,OADA8jM,EAAoBroH,EAAEk0E,EAAQ,CAAEvnJ,EAAGunJ,IAC5BA,GCLRm0C,EAAoBroH,EAAI,SAASx7E,EAASikM,GACzC,IAAI,IAAI3iM,KAAO2iM,EACXJ,EAAoB/hM,EAAEmiM,EAAY3iM,KAASuiM,EAAoB/hM,EAAE9B,EAASsB,IAC5EF,OAAOC,eAAerB,EAASsB,EAAK,CAAEL,YAAY,EAAMqgB,IAAK2iL,EAAW3iM,MCJ3EuiM,EAAoBtjC,EAAI,WACvB,GAA0B,kBAAf5zI,WAAyB,OAAOA,WAC3C,IACC,OAAOxnB,MAAQ,IAAIiyD,SAAS,cAAb,GACd,MAAOlsD,GACR,GAAsB,kBAAXf,OAAqB,OAAOA,QALjB,GCAxB05L,EAAoB/hM,EAAI,SAAS5B,EAAK0J,GAAQ,OAAOxI,OAAOd,UAAU0I,eAAexG,KAAKtC,EAAK0J,ICC/Fi6L,EAAoB70L,EAAI,SAAShP,GACX,qBAAXG,QAA0BA,OAAO6rB,aAC1C5qB,OAAOC,eAAerB,EAASG,OAAO6rB,YAAa,CAAE1pB,MAAO,WAE7DlB,OAAOC,eAAerB,EAAS,aAAc,CAAEsC,OAAO,KCLvDuhM,EAAoBK,IAAM,SAASnkM,GAGlC,OAFAA,EAAO0L,MAAQ,GACV1L,EAAO4tC,WAAU5tC,EAAO4tC,SAAW,IACjC5tC,GCHR8jM,EAAoB9hM,EAAI,SCGE8hM,EAAoB","sources":["../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","utils.js","i18n.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Container.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/index.tsx","../../packages/react-router-dom/index.tsx","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/Alert.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","components/SrsErrorBoundary.js","pages/Footer.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormRange.js","../node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/react-bootstrap/esm/Spinner.js","pages/Login.js","pages/Logout.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/react-bootstrap/esm/Navbar.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/TabContext.js","../node_modules/@restart/ui/esm/NavItem.js","../node_modules/@restart/ui/esm/Nav.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js","resources/logo.svg","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../node_modules/@react-aria/ssr/dist/packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/country-flag-icons/source/react/3x2/index.js","components/LanguageSwitch.js","pages/Navigator.js","pages/Setup.js","../node_modules/react-bootstrap/esm/Row.js","../node_modules/react-bootstrap/esm/CardImg.js","../node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/react-bootstrap/esm/Card.js","components/SrsEnvContext.js","pages/Components.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/TabPanel.js","../node_modules/@restart/ui/esm/Tabs.js","../node_modules/react-bootstrap/esm/TabContent.js","../node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/react-bootstrap/esm/TabPane.js","../node_modules/react-bootstrap/esm/Tabs.js","../node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/react-bootstrap/esm/Tab.js","../node_modules/react-bootstrap/esm/AccordionContext.js","../node_modules/react-bootstrap/esm/AccordionCollapse.js","../node_modules/react-bootstrap/esm/AccordionItemContext.js","../node_modules/react-bootstrap/esm/AccordionBody.js","../node_modules/react-bootstrap/esm/AccordionButton.js","../node_modules/react-bootstrap/esm/AccordionHeader.js","../node_modules/react-bootstrap/esm/AccordionItem.js","../node_modules/react-bootstrap/esm/Accordion.js","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/react-bootstrap/esm/ToastFade.js","../node_modules/react-bootstrap/esm/ToastContext.js","../node_modules/react-bootstrap/esm/ToastHeader.js","../node_modules/react-bootstrap/esm/ToastBody.js","../node_modules/react-bootstrap/esm/Toast.js","../node_modules/react-bootstrap-icons/dist/icons/play.js","../node_modules/react-bootstrap-icons/dist/icons/hand-thumbs-up.js","../node_modules/react-bootstrap-icons/dist/icons/share.js","../node_modules/react-bootstrap-icons/dist/icons/patch-question.js","components/TutorialsButton.js","components/SrsQRCode.js","../node_modules/react-bootstrap-icons/dist/icons/clipboard.js","../node_modules/react-bootstrap-icons/dist/icons/arrow-repeat.js","pages/ScenarioLive.js","components/UrlGenerator.js","../node_modules/react-bootstrap/esm/Table.js","../node_modules/react-bootstrap/esm/Badge.js","pages/ScenarioForward.js","pages/ScenarioTutorials.js","components/DvrStatus.js","../node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/react-bootstrap/esm/helpers.js","../node_modules/react-bootstrap/esm/Popover.js","../node_modules/@restart/ui/esm/useRootClose.js","../node_modules/@restart/ui/esm/Overlay.js","../node_modules/react-bootstrap/esm/Overlay.js","../node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/react-bootstrap/esm/OverlayTrigger.js","components/PopoverConfirm.js","components/TutorialsText.js","../node_modules/minimatch/src/assert-valid-pattern.ts","../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","../node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js","../node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js","../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","../node_modules/minimatch/src/brace-expressions.ts","../node_modules/minimatch/src/unescape.ts","../node_modules/minimatch/src/ast.ts","../node_modules/minimatch/src/escape.ts","../node_modules/minimatch/src/index.ts","pages/ScenarioRecord.js","../node_modules/react-bootstrap/esm/ListGroupItem.js","../node_modules/react-bootstrap/esm/ListGroup.js","../node_modules/react-bootstrap/esm/InputGroup.js","components/FileUploader.js","pages/ScenarioVLive.js","pages/ScenarioSrt.js","components/SetupCamSecret.js","pages/ScenarioRecordCos.js","pages/ScenarioRecordVod.js","pages/ScenarioOthers.js","../node_modules/react-bootstrap/esm/createUtilityClasses.js","../node_modules/react-bootstrap/esm/Stack.js","pages/ScenarioTranscode.js","components/OpenAISettings.js","pages/ScenarioTranscript.js","pages/ScenarioLiveRoom.js","pages/ScenarioCamera.js","pages/Scenario.js","pages/Settings.js","../node_modules/@restart/hooks/esm/useUpdateEffect.js","../node_modules/react-bootstrap/esm/CarouselCaption.js","../node_modules/react-bootstrap/esm/CarouselItem.js","../node_modules/react-bootstrap/esm/Carousel.js","pages/Contact.js","components/IsMobile.js","../node_modules/react-bootstrap-icons/dist/icons/gear.js","components/AITalk.js","components/AIDictation.js","pages/Popouts.js","App.js","index.js","../node_modules/balanced-match/index.js","../node_modules/classnames/index.js","../node_modules/invariant/browser.js","../node_modules/minimatch/node_modules/brace-expansion/index.js","../node_modules/moment/moment.js","../node_modules/object-assign/index.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/qr.js/lib/8BitByte.js","../node_modules/qr.js/lib/BitBuffer.js","../node_modules/qr.js/lib/ErrorCorrectLevel.js","../node_modules/qr.js/lib/Polynomial.js","../node_modules/qr.js/lib/QRCode.js","../node_modules/qr.js/lib/RSBlock.js","../node_modules/qr.js/lib/math.js","../node_modules/qr.js/lib/mode.js","../node_modules/qr.js/lib/util.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-error-boundary/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-error-boundary/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-error-boundary/src/index.tsx","../node_modules/react-qr-code/lib/components/QRCodeCell/index.js","../node_modules/react-qr-code/lib/components/QRCodeSurface/index.js","../node_modules/react-qr-code/lib/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/v1.js","../node_modules/uuid/dist/esm-browser/parse.js","../node_modules/uuid/dist/esm-browser/v35.js","../node_modules/uuid/dist/esm-browser/md5.js","../node_modules/uuid/dist/esm-browser/v3.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/sha1.js","../node_modules/uuid/dist/esm-browser/v5.js","../node_modules/uuid/dist/esm-browser/nil.js","../node_modules/uuid/dist/esm-browser/version.js","../node_modules/warning/warning.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/startup"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = '_zero';\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val.trim();\n if (val.trim() === 'false') formatOptions[key.trim()] = false;\n if (val.trim() === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val.trim())) formatOptions[key.trim()] = parseInt(val.trim(), 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nconst SRS_TERRAFORM_TOKEN = 'SRS_TERRAFORM_TOKEN';\nconst SRS_STACK_LOCALE = 'SRS_STACK_LOCALE';\nconst SRS_STREAM_NAME = 'SRS_STREAM_NAME';\n\nexport const Token = {\n save: (data) => {\n localStorage.setItem(SRS_TERRAFORM_TOKEN, JSON.stringify(data));\n },\n load: () => {\n const info = localStorage.getItem(SRS_TERRAFORM_TOKEN);\n if (!info) return null;\n\n const o = JSON.parse(info);\n return {token: o.token};\n },\n updateBearer: (bearer) => {\n const info = localStorage.getItem(SRS_TERRAFORM_TOKEN);\n const o = JSON.parse(info || '{}');\n o.bearer = bearer;\n localStorage.setItem(SRS_TERRAFORM_TOKEN, JSON.stringify(o));\n },\n loadBearer: () => {\n const info = localStorage.getItem(SRS_TERRAFORM_TOKEN);\n const o = JSON.parse(info || '{}');\n return {token: o.bearer};\n },\n loadBearerHeader: () => {\n const info = localStorage.getItem(SRS_TERRAFORM_TOKEN);\n const o = JSON.parse(info || '{}');\n return o?.bearer ? {'Authorization': `Bearer ${o?.bearer}`} : {};\n },\n remove: () => {\n localStorage.removeItem(SRS_TERRAFORM_TOKEN);\n },\n};\n\nexport const Locale = {\n _cache: null,\n save: (data) => {\n Locale._cache = data;\n localStorage.setItem(SRS_STACK_LOCALE, JSON.stringify(data));\n },\n load: () => {\n const info = localStorage.getItem(SRS_STACK_LOCALE);\n Locale._cache = info ? JSON.parse(info) : null;\n return Locale._cache;\n },\n current: () => {\n return Locale._cache?.lang || process.env.REACT_APP_LOCALE || 'zh';\n }\n};\n\nexport const StreamName = {\n save: (name) => {\n localStorage.setItem(SRS_STREAM_NAME, name);\n },\n load: () => {\n return localStorage.getItem(SRS_STREAM_NAME) || 'livestream';\n }\n};\n\nexport const Tools = {\n mask(data) {\n return JSON.stringify({\n ...data,\n token: `***${data?.token?.length}B***`,\n bearer: `***${data?.bearer?.length}B***`,\n });\n },\n\n // Copy object, with optional extras fields, for example:\n // copy({id: 0}, ['msg': 'hi'])\n // Return an object:\n // {id: 0, msg: 'hi'}\n copy(from, extras) {\n let cp = Tools.merge({}, from);\n\n for (let i = 0; i < extras?.length; i += 2) {\n const k = extras[i];\n const v = extras[i + 1];\n const ov = cp[k];\n\n const obj = {};\n obj[k] = Tools.merge(ov, v);\n cp = Tools.merge(cp, obj);\n }\n return cp;\n },\n // Merge two object, rewrite dst by src fields.\n merge(dst, src) {\n if (typeof dst !== 'object') return src;\n if (typeof src !== 'object') return src;\n\n const cp = {};\n for (const k in dst) {\n cp[k] = dst[k];\n }\n for (const k in src) {\n cp[k] = src[k];\n }\n return cp;\n }\n};\n\nexport const Clipboard = {\n copy(text) {\n if (navigator.clipboard) {\n return navigator.clipboard.writeText(text);\n }\n\n const e = document.createElement(\"textarea\");\n e.value = text;\n e.style.position = \"fixed\";\n\n document.body.appendChild(e);\n e.focus();\n e.select();\n\n return new Promise((resolve, reject) => {\n try {\n const success = document.execCommand('copy');\n if (success) {\n resolve(true);\n } else {\n reject(false);\n }\n } catch (e) {\n reject(e);\n } finally {\n document.body.removeChild(e);\n }\n });\n }\n};\n\nexport const Errors = {\n redis: 1007, // Redis is not ready.\n auth: 2001, // Verify token failed.\n btHttps: 3001, // Please use BT to configure HTTPS.\n};\n\nfunction buildStreamURL (vhost, app, stream) {\n if (vhost === '__defaultVhost__') {\n return `${app}/${stream}`;\n } else {\n return `${vhost}/${app}/${stream}`;\n }\n};\n\nexport const StreamURL = {\n build: (vhost, app, stream) => {\n return buildStreamURL(vhost, app, stream);\n },\n};\n\nexport const PlatformPublicKey = `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC1c+ZAfJ93/qJ3bYp3SuVaMqYMniMCjNnFf20asK+oM7HJqFbBe/VZM2/Z2UkDHZiOqiArb1RLjYQeUFbUmPj2A5cCE8IPaeu28thbOdEC6wTztnAOdVzQBkBPytZiVR8DUUAzgz0tLoXB4nXGXQDntTgXoL/Rzn59BQIa7BzLlLnKc4TCn+LPpsOOmDPnnvjjJXpBKTY/rRTYvvgCUCQ/clSfBsgfQgP1p0nVRlH3FoZaJS4QRdzFVRKJtCytC1NwtgVNwRxpqYsJos9YW+yw+X/K5w7JAjG0v+9TycIzl5/Wd7R3zHMENe2uYx7XayksLc1ZLfgBD1/gldYd6l5VCcgHZJWKVsur8dNwvs0yWj3y9iOi1Lx+J8gLkMSqNouHVV2nVvSILoeWHaadd1+3ghuXKmbvauYI6mYai/T12vnEcxZ1yc6rVah8oy+vNwmpcKj2lixExrNW8JrhjLUU/Rlzla89es8JAZNfQDy7+ZOU1UGt//QqGZaiC8VhtV0= video@MB0`;\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport {Locale} from \"./utils\";\n\n// the translations\n// (tip move them in a JSON file and import them,\n// or even better, manage them separated from your code: https://react.i18next.com/guides/multiple-translation-files)\nimport resources from \"./resources/locale.json\";\nconsole.log(`i18n loads resources ${JSON.stringify(Object.keys(resources))}`);\n\n// We must load the locale first.\nLocale.load();\n\ni18n\n .use(initReactI18next) // passes i18n down to react-i18next\n .init({\n resources,\n lng: Locale.current(), // language to use, more information here: https://www.i18next.com/overview/configuration-options#languages-namespaces-resources\n // you can use the i18n.changeLanguage function to change the language manually: https://www.i18next.com/overview/api#changelanguage\n // if you're using a language detector, do not define the lng option\n\n interpolation: {\n escapeValue: false // react already safes from xss\n }\n });\n\nexport default i18n;\n\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {}\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\n\nfunction ThemeProvider({\n prefixes = {},\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: { ...prefixes\n },\n dir\n }), [prefixes, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({ ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, { ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n fluid: false\n};\nconst Container = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n fluid,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'container');\n const suffix = typeof fluid === 'string' ? `-${fluid}` : '-fluid';\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, fluid ? `${prefix}${suffix}` : prefix)\n });\n});\nContainer.displayName = 'Container';\nContainer.defaultProps = defaultProps;\nexport default Container;","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type {\n History,\n InitialEntry,\n Location,\n MemoryHistory,\n Path,\n To\n} from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath\n} from \"history\";\n\nexport type { Location, Path, To, NavigationType };\n\nfunction invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nfunction warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record<string, boolean> = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level <Router> API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick<History, \"go\" | \"push\" | \"replace\" | \"createHref\">;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext<NavigationContextObject>(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext<LocationContextObject>(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext<RouteContextObject>({\n outlet: null,\n matches: []\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A <Router> that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef<MemoryHistory>();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n `<Navigate> may be used only in the context of a <Router> component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n `<Navigate> must not be used on the initial render in a <StaticRouter>. ` +\n `This is a no-op, but you should modify your code so the <Navigate> is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A <Route> is only ever to be used as the child of <Routes> element, ` +\n `never rendered directly. Please wrap your <Route> in a <Routes>.`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial<Location> | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a <Router> directly. Instead, you'll render a\n * router that is more specific to your environment such as a <BrowserRouter>\n * in web browsers or a <StaticRouter> for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a <Router> inside another <Router>.` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n `<Router basename=\"${basename}\"> is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the <Router> won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n <NavigationContext.Provider value={navigationContext}>\n <LocationContext.Provider\n children={children}\n value={{ location, navigationType }}\n />\n </NavigationContext.Provider>\n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial<Location> | string;\n}\n\n/**\n * A container for a nested tree of <Route> elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a <Router>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a <Router> component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment<Segment extends string> =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment<LeftSegment> extends infer LeftResult\n ? ParamParseSegment<RightSegment> extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment<RightSegment> extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey<Segment extends string> =\n ParamParseSegment<Segment> extends string\n ? ParamParseSegment<Segment>\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * <NavLink>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(pattern: PathPattern<Path> | Path): PathMatch<ParamKey> | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a <Router> component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath<ParamKey, Path>(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by <Link>s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext<unknown>(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext<Context = unknown>(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by <Outlet> to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n <OutletContext.Provider value={context}>{outlet}</OutletContext.Provider>\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record<string, string | undefined> = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params<ParamsOrKey> : Partial<ParamsOrKey>\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an <Outlet> to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial<Location> | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a <Router> component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent <Route path=\"${parentPath}\"> to <Route ` +\n `path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an <Outlet /> with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map(match =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase])\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, _ =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch<ParamKey extends string = string> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial<Location> | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map(meta => meta.childrenIndex),\n b.routesMeta.map(meta => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter(s => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<ParamKey extends string = string>(\n branch: RouteBranch,\n pathname: string\n): RouteMatch<ParamKey>[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: joinPaths([matchedPathname, match.pathnameBase]),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n <RouteContext.Provider\n children={\n match.route.element !== undefined ? match.route.element : <Outlet />\n }\n value={{\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }}\n />\n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern<Path extends string = string> {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch<ParamKey extends string = string> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable<T> = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(\n pattern: PathPattern<Path> | Path,\n pathname: string\n): PathMatch<ParamKey> | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce<Mutable<Params>>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n \"(?:\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how <a href> works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext\n};\n","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory, createPath } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n};\n\nexport type {\n Location,\n Path,\n To,\n NavigationType,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window\n}: BrowserRouterProps) {\n let historyRef = React.useRef<BrowserHistory>();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef<HashHistory>();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n <a\n {...rest}\n href={href}\n onClick={handleClick}\n ref={ref}\n target={target}\n />\n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit<LinkProps, \"className\" | \"style\" | \"children\"> {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n <Link\n {...rest}\n aria-current={ariaCurrent}\n className={className}\n ref={ref}\n style={style}\n to={to}\n >\n {typeof children === \"function\" ? children({ isActive }) : children}\n </Link>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkClickHandler<E extends Element = HTMLAnchorElement>(\n to: To,\n {\n target,\n replace: replaceProp,\n state\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent<E, MouseEvent>) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent<E, MouseEvent>) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record<string, string | string[]>\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","import { useState } from 'react';\n/**\n * A convenience hook around `useState` designed to be paired with\n * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.\n * Callback refs are useful over `useRef()` when you need to respond to the ref being set\n * instead of lazily accessing it in an effect.\n *\n * ```ts\n * const [element, attachRef] = useCallbackRef<HTMLDivElement>()\n *\n * useEffect(() => {\n * if (!element) return\n *\n * const calendar = new FullCalendar.Calendar(element)\n *\n * return () => {\n * calendar.destroy()\n * }\n * }, [element])\n *\n * return <div ref={attachRef} />\n * ```\n *\n * @category refs\n */\n\nexport default function useCallbackRef() {\n return useState(null);\n}","import { useRef, useEffect } from 'react';\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nexport default function useMounted() {\n var mounted = useRef(true);\n var isMounted = useRef(function () {\n return mounted.current;\n });\n useEffect(function () {\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import { useEffect, useRef } from 'react';\n/**\n * Store the last of some value. Tracked via a `Ref` only updating it\n * after the component renders.\n *\n * Helpful if you need to compare a prop value to it's previous value during render.\n *\n * ```ts\n * function Component(props) {\n * const lastProps = usePrevious(props)\n *\n * if (lastProps.foo !== props.foo)\n * resetValueFromProps(props.foo)\n * }\n * ```\n *\n * @param value the value to track\n */\n\nexport default function usePrevious(value) {\n var ref = useRef(null);\n useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}","import { useEffect, useLayoutEffect } from 'react';\nvar isReactNative = typeof global !== 'undefined' && // @ts-ignore\nglobal.navigator && // @ts-ignore\nglobal.navigator.product === 'ReactNative';\nvar isDOM = typeof document !== 'undefined';\n/**\n * Is `useLayoutEffect` in a DOM or React Native environment, otherwise resolves to useEffect\n * Only useful to avoid the console warning.\n *\n * PREFER `useEffect` UNLESS YOU KNOW WHAT YOU ARE DOING.\n *\n * @category effects\n */\n\nexport default isDOM || isReactNative ? useLayoutEffect : useEffect;","import { useState } from 'react';\nimport useEffect from './useIsomorphicEffect';\nvar targetMap = new WeakMap();\nvar resizeObserver;\n\nfunction getResizeObserver() {\n // eslint-disable-next-line no-return-assign\n return resizeObserver = resizeObserver || new window.ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var handler = targetMap.get(entry.target);\n if (handler) handler(entry.contentRect);\n });\n });\n}\n/**\n * Efficiently observe size changes on an element. Depends on the `ResizeObserver` api,\n * and polyfills are needed in older browsers.\n *\n * ```ts\n * const [ref, attachRef] = useCallbackRef(null);\n *\n * const rect = useResizeObserver(ref);\n *\n * return (\n * <div ref={attachRef}>\n * {JSON.stringify(rect)}\n * </div>\n * )\n * ```\n *\n * @param element The DOM element to observe\n */\n\n\nexport default function useResizeObserver(element) {\n var _useState = useState(null),\n rect = _useState[0],\n setRect = _useState[1];\n\n useEffect(function () {\n if (!element) return;\n getResizeObserver().observe(element);\n setRect(element.getBoundingClientRect());\n targetMap.set(element, function (rect) {\n setRect(rect);\n });\n return function () {\n targetMap.delete(element);\n };\n }, [element]);\n return rect;\n}","const _excluded = [\"as\", \"disabled\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\nexport function useButtonProps({\n tagName,\n disabled,\n href,\n target,\n rel,\n onClick,\n tabIndex = 0,\n type\n}) {\n if (!tagName) {\n if (href != null || target != null || rel != null) {\n tagName = 'a';\n } else {\n tagName = 'button';\n }\n }\n\n const meta = {\n tagName\n };\n\n if (tagName === 'button') {\n return [{\n type: type || 'button',\n disabled\n }, meta];\n }\n\n const handleClick = event => {\n if (disabled || tagName === 'a' && isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n onClick == null ? void 0 : onClick(event);\n };\n\n const handleKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n\n return [{\n role: 'button',\n // explicitly undefined so that it overrides the props disabled in a spread\n // e.g. <Tag {...props} {...hookProps} />\n disabled: undefined,\n tabIndex: disabled ? undefined : tabIndex,\n href: tagName === 'a' && disabled ? undefined : href,\n target: tagName === 'a' ? target : undefined,\n 'aria-disabled': !disabled ? undefined : disabled,\n rel: tagName === 'a' ? rel : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, meta];\n}\nconst Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: asProp,\n disabled\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [buttonProps, {\n tagName: Component\n }] = useButtonProps(Object.assign({\n tagName: asProp,\n disabled\n }, props));\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, buttonProps, {\n ref: ref\n }));\n});\nButton.displayName = 'Button';\nexport default Button;","const _excluded = [\"onKeyDown\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport * as React from 'react';\nimport { useEventCallback } from '@restart/hooks';\nimport { useButtonProps } from './Button';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n\n/**\n * An generic `<a>` component that covers a few A11y cases, ensuring that\n * cases where the `href` is missing or trivial like \"#\" are treated like buttons.\n */\nconst Anchor = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [buttonProps] = useButtonProps(Object.assign({\n tagName: 'a'\n }, props));\n const handleKeyDown = useEventCallback(e => {\n buttonProps.onKeyDown(e);\n onKeyDown == null ? void 0 : onKeyDown(e);\n });\n\n if (isTrivialHref(props.href) && !props.role || props.role === 'button') {\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, buttonProps, {\n onKeyDown: handleKeyDown\n }));\n }\n\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, {\n onKeyDown: onKeyDown\n }));\n});\nAnchor.displayName = 'Anchor';\nexport default Anchor;","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerEvent(element, 'transitionend', true);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n if (bubbles === void 0) {\n bubbles = false;\n }\n\n if (cancelable === void 0) {\n cancelable = true;\n }\n\n if (node) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(eventName, bubbles, cancelable);\n node.dispatchEvent(event);\n }\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\n\nfunction parseDuration(node, property) {\n const str = css(node, property) || '';\n const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nexport default function transitionEndListener(element, handler) {\n const duration = parseDuration(element, 'transitionDuration');\n const delay = parseDuration(element, 'transitionDelay');\n const remove = transitionEnd(element, e => {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import { useMemo } from 'react';\n\nvar toFnRef = function toFnRef(ref) {\n return !ref || typeof ref === 'function' ? ref : function (value) {\n ref.current = value;\n };\n};\n\nexport function mergeRefs(refA, refB) {\n var a = toFnRef(refA);\n var b = toFnRef(refB);\n return function (value) {\n if (a) a(value);\n if (b) b(value);\n };\n}\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return <button ref={mergedRef} {...props}/>\n * })\n * ```\n *\n * @param refA A Callback or mutable Ref\n * @param refB A Callback or mutable Ref\n * @category refs\n */\n\nfunction useMergedRefs(refA, refB) {\n return useMemo(function () {\n return mergeRefs(refA, refB);\n }, [refA, refB]);\n}\n\nexport default useMergedRefs;","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n\n return componentOrElement != null ? componentOrElement : null;\n}","import React, { useCallback, useRef } from 'react';\nimport Transition from 'react-transition-group/Transition';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// Normalizes Transition callbacks when nodeRef is used.\nconst TransitionWrapper = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n addEndListener,\n children,\n childRef,\n ...props\n}, ref) => {\n const nodeRef = useRef(null);\n const mergedRef = useMergedRefs(nodeRef, childRef);\n\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n\n const normalize = callback => param => {\n if (callback && nodeRef.current) {\n callback(nodeRef.current, param);\n }\n };\n /* eslint-disable react-hooks/exhaustive-deps */\n\n\n const handleEnter = useCallback(normalize(onEnter), [onEnter]);\n const handleEntering = useCallback(normalize(onEntering), [onEntering]);\n const handleEntered = useCallback(normalize(onEntered), [onEntered]);\n const handleExit = useCallback(normalize(onExit), [onExit]);\n const handleExiting = useCallback(normalize(onExiting), [onExiting]);\n const handleExited = useCallback(normalize(onExited), [onExited]);\n const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return /*#__PURE__*/_jsx(Transition, {\n ref: ref,\n ...props,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n children: typeof children === 'function' ? (status, innerProps) => children(status, { ...innerProps,\n ref: attachRef\n }) : /*#__PURE__*/React.cloneElement(children, {\n ref: attachRef\n })\n });\n});\nexport default TransitionWrapper;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false\n};\nconst fadeStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst Fade = /*#__PURE__*/React.forwardRef(({\n className,\n children,\n transitionClasses = {},\n ...props\n}, ref) => {\n const handleEnter = useCallback((node, isAppearing) => {\n triggerBrowserReflow(node);\n props.onEnter == null ? void 0 : props.onEnter(node, isAppearing);\n }, [props]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n onEnter: handleEnter,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, { ...innerProps,\n className: classNames('fade', className, children.props.className, fadeStyles[status], transitionClasses[status])\n })\n });\n});\nFade.defaultProps = defaultProps;\nFade.displayName = 'Fade';\nexport default Fade;","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n 'aria-label': PropTypes.string,\n onClick: PropTypes.func,\n\n /**\n * Render different color variant for the button.\n *\n * Omitting this will render the default dark color.\n */\n variant: PropTypes.oneOf(['white'])\n};\nconst defaultProps = {\n 'aria-label': 'Close'\n};\nconst CloseButton = /*#__PURE__*/React.forwardRef(({\n className,\n variant,\n ...props\n}, ref) => /*#__PURE__*/_jsx(\"button\", {\n ref: ref,\n type: \"button\",\n className: classNames('btn-close', variant && `btn-close-${variant}`, className),\n ...props\n}));\nCloseButton.displayName = 'CloseButton';\nCloseButton.propTypes = propTypes;\nCloseButton.defaultProps = defaultProps;\nexport default CloseButton;","import * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (className => /*#__PURE__*/React.forwardRef((p, ref) => /*#__PURE__*/_jsx(\"div\", { ...p,\n ref: ref,\n className: classNames(p.className, className)\n})));","var rHyphen = /-(.)/g;\nexport default function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}","import classNames from 'classnames';\nimport camelize from 'dom-helpers/camelize';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst pascalCase = str => str[0].toUpperCase() + camelize(str).slice(1);\n\n// TODO: emstricten & fix the typing here! `createWithBsPrefix<TElementType>...`\nexport default function createWithBsPrefix(prefix, {\n displayName = pascalCase(prefix),\n Component,\n defaultProps\n} = {}) {\n const BsComponent = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Tag = Component || 'div',\n ...props\n }, ref) => {\n const resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Tag, {\n ref: ref,\n className: classNames(className, resolvedPrefix),\n ...props\n });\n });\n BsComponent.defaultProps = defaultProps;\n BsComponent.displayName = displayName;\n return BsComponent;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Fade from './Fade';\nimport CloseButton from './CloseButton';\nimport divWithClassName from './divWithClassName';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nDivStyledAsH4.displayName = 'DivStyledAsH4';\nconst AlertHeading = createWithBsPrefix('alert-heading', {\n Component: DivStyledAsH4\n});\nconst AlertLink = createWithBsPrefix('alert-link', {\n Component: Anchor\n});\nconst defaultProps = {\n variant: 'primary',\n show: true,\n transition: Fade,\n closeLabel: 'Close alert'\n};\nconst Alert = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n bsPrefix,\n show,\n closeLabel,\n closeVariant,\n className,\n children,\n variant,\n onClose,\n dismissible,\n transition,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n show: 'onClose'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'alert');\n const handleClose = useEventCallback(e => {\n if (onClose) {\n onClose(false, e);\n }\n });\n const Transition = transition === true ? Fade : transition;\n\n const alert = /*#__PURE__*/_jsxs(\"div\", {\n role: \"alert\",\n ...(!Transition ? props : undefined),\n ref: ref,\n className: classNames(className, prefix, variant && `${prefix}-${variant}`, dismissible && `${prefix}-dismissible`),\n children: [dismissible && /*#__PURE__*/_jsx(CloseButton, {\n onClick: handleClose,\n \"aria-label\": closeLabel,\n variant: closeVariant\n }), children]\n });\n\n if (!Transition) return show ? alert : null;\n return /*#__PURE__*/_jsx(Transition, {\n unmountOnExit: true,\n ...props,\n ref: undefined,\n in: show,\n children: alert\n });\n});\nAlert.displayName = 'Alert';\nAlert.defaultProps = defaultProps;\nexport default Object.assign(Alert, {\n Link: AlertLink,\n Heading: AlertHeading\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useButtonProps } from '@restart/ui/Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n variant: 'primary',\n active: false,\n disabled: false\n};\nconst Button = /*#__PURE__*/React.forwardRef(({\n as,\n bsPrefix,\n variant,\n size,\n active,\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn');\n const [buttonProps, {\n tagName\n }] = useButtonProps({\n tagName: as,\n ...props\n });\n const Component = tagName;\n return /*#__PURE__*/_jsx(Component, { ...props,\n ...buttonProps,\n ref: ref,\n className: classNames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && props.disabled && 'disabled')\n });\n});\nButton.displayName = 'Button';\nButton.defaultProps = defaultProps;\nexport default Button;","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, namespaces.join()]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {ErrorBoundary} from 'react-error-boundary';\nimport {Alert, Button, Container} from \"react-bootstrap\";\nimport {Errors} from \"../utils\";\nimport {NavLink} from \"react-router-dom\";\nimport {useTranslation} from \"react-i18next\";\n\nexport function SrsErrorBoundary({children}) {\n return (\n <ErrorBoundary FallbackComponent={ErrorFallback}>\n <>{children}</>\n </ErrorBoundary>\n );\n}\n\nfunction ErrorFallback({error, resetErrorBoundary}) {\n const [show, setShow] = React.useState(true);\n\n const onResetError = React.useCallback(() => {\n setShow(false);\n resetErrorBoundary();\n }, [setShow, resetErrorBoundary]);\n\n if (!show) return <></>;\n return (\n <Container fluid>\n <Alert variant=\"danger\" onClose={() => setShow(false)} dismissible>\n <Alert.Heading>You got an error!</Alert.Heading>\n <ErrorDetail error={error} />\n <Button variant=\"success\" type=\"button\" onClick={onResetError}>OK</Button>\n </Alert>\n </Container>\n );\n}\n\nfunction ErrorDetail({error}) {\n const {t} = useTranslation();\n\n if (!error) return (\n <p>Empty unknown error</p>\n );\n\n const err = error?.response?.data;\n if (err?.code === Errors.auth || err?.code === Errors.redis || err?.code === Errors.btHttps) {\n return (\n <>\n {\n err?.code === Errors.auth &&\n <p>{t('errs.expire1')}<NavLink to='/routers-logout'>{t('errs.expire2')}</NavLink></p>\n }\n { err?.code === Errors.redis && <p>{t('errs.redis1')}</p> }\n { err?.code === Errors.btHttps && <p>{t('errs.btHttps1')}</p> }\n <p>\n Error Code: {err?.code}\n </p>\n <p>\n <pre style={{whiteSpace: 'pre-wrap'}}>{err?.data?.message}</pre>\n </p>\n </>\n );\n }\n\n if (err?.code) return (\n <div>\n <p>\n Request: {`${error.request?.responseURL}`} <br/>\n Status: {`${error.response?.status}`} {`${error.response?.statusText}`} <br/>\n Code: {`${err?.code}`} <br/>\n Message: {`${err?.data?.message}`} <br/> <br/>\n </p>\n <pre>\n {JSON.stringify(error.response.data, null, 2)}\n </pre>\n </div>\n );\n\n if (error.response?.status) {\n return (\n <p>\n Request: {`${error.request?.responseURL}`} <br/>\n Status: {`${error.response?.status}`} {`${error.response?.statusText}`} <br/>\n Data: {`${err}`}\n </p>\n );\n }\n\n if (error instanceof Error) {\n return (\n <div>\n <p>\n Name: {error.name} <br/>\n Message: {error.message} <br/> <br/>\n </p>\n <pre>\n {error.stack}\n </pre>\n </div>\n );\n }\n\n if (typeof(error) === 'object') {\n return <p>Object: {JSON.stringify(error)}</p>\n }\n\n if (typeof(error) === 'function') {\n return <p>Function: {error.toString()}</p>\n }\n\n return <p>{error.toString()}</p>;\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport Container from \"react-bootstrap/Container\";\nimport axios from \"axios\";\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\nimport {useErrorHandler} from \"react-error-boundary\";\n\nexport default function Footer() {\n return (\n <SrsErrorBoundary>\n <FooterImpl />\n </SrsErrorBoundary>\n );\n}\n\nfunction FooterImpl() {\n const [versions, setVersions] = React.useState();\n const [beian, setBeian] = React.useState();\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n axios.get('/terraform/v1/mgmt/versions')\n .then(res => setVersions(res.data)).catch(handleError);\n }, [handleError]);\n\n React.useEffect(() => {\n axios.get('/terraform/v1/mgmt/beian/query')\n .then(res => {\n setBeian(res.data.data);\n document.title = res.data.data.title || 'SRS Stack';\n console.log(`Beian: query ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError]);\n\n return (\n <Container fluid>\n <p></p>\n <p className=\"text-center\">\n <a href='https://github.com/ossrs/srs-stack' target='_blank' rel='noreferrer'>\n ©srs-stack/v{versions?.data?.version}\n </a>\n <a href='https://beian.miit.gov.cn' target='_blank' rel='noreferrer'>{beian?.icp}</a>\n </p>\n </Container>\n );\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Feedback = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n as: Component = 'div',\n className,\n type = 'valid',\n tooltip = false,\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)\n}));\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","import * as React from 'react'; // TODO\n\nconst FormContext = /*#__PURE__*/React.createContext({});\nexport default FormContext;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckInput = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n className,\n type = 'checkbox',\n isValid = false,\n isInvalid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-input');\n return /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-label');\n return /*#__PURE__*/_jsx(\"label\", { ...props,\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n });\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","import * as React from 'react';\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\n\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\n\n\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\n\n\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\n\nexport { map, forEach, hasChildOfType };","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { hasChildOfType } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FormCheck = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n bsSwitchPrefix,\n inline = false,\n disabled = false,\n isValid = false,\n isInvalid = false,\n feedbackTooltip = false,\n feedback,\n feedbackType,\n className,\n style,\n title = '',\n type = 'checkbox',\n label,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'input',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check');\n bsSwitchPrefix = useBootstrapPrefix(bsSwitchPrefix, 'form-switch');\n const {\n controlId\n } = useContext(FormContext);\n const innerFormContext = useMemo(() => ({\n controlId: id || controlId\n }), [controlId, id]);\n const hasLabel = !children && label != null && label !== false || hasChildOfType(children, FormCheckLabel);\n\n const input = /*#__PURE__*/_jsx(FormCheckInput, { ...props,\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: as\n });\n\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: innerFormContext,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: style,\n className: classNames(className, hasLabel && bsPrefix, inline && `${bsPrefix}-inline`, type === 'switch' && bsSwitchPrefix),\n children: children || /*#__PURE__*/_jsxs(_Fragment, {\n children: [input, hasLabel && /*#__PURE__*/_jsx(FormCheckLabel, {\n title: title,\n children: label\n }), feedback && /*#__PURE__*/_jsx(Feedback, {\n type: feedbackType,\n tooltip: feedbackTooltip,\n children: feedback\n })]\n })\n })\n });\n});\nFormCheck.displayName = 'FormCheck';\nexport default Object.assign(FormCheck, {\n Input: FormCheckInput,\n Label: FormCheckLabel\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormControl = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n type,\n size,\n htmlSize,\n id,\n className,\n isValid = false,\n isInvalid = false,\n plaintext,\n readOnly,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');\n let classes;\n\n if (plaintext) {\n classes = {\n [`${bsPrefix}-plaintext`]: true\n };\n } else {\n classes = {\n [bsPrefix]: true,\n [`${bsPrefix}-${size}`]: size\n };\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `<FormControl>` when `id` is specified.') : void 0;\n return /*#__PURE__*/_jsx(Component, { ...props,\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, classes, isValid && `is-valid`, isInvalid && `is-invalid`, type === 'color' && `${bsPrefix}-color`)\n });\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback\n});","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('form-floating');","import * as React from 'react';\nimport { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormGroup = /*#__PURE__*/React.forwardRef(({\n controlId,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const context = useMemo(() => ({\n controlId\n }), [controlId]);\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref\n })\n });\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DEVICE_SIZES = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport function useCol({\n as,\n bsPrefix,\n className,\n ...props\n}) {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'col');\n const spans = [];\n const classes = [];\n DEVICE_SIZES.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let span;\n let offset;\n let order;\n\n if (typeof propValue === 'object' && propValue != null) {\n ({\n span,\n offset,\n order\n } = propValue);\n } else {\n span = propValue;\n }\n\n const infix = brkPoint !== 'xs' ? `-${brkPoint}` : '';\n if (span) spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);\n if (order != null) classes.push(`order${infix}-${order}`);\n if (offset != null) classes.push(`offset${infix}-${offset}`);\n });\n return [{ ...props,\n className: classNames(className, ...spans, ...classes)\n }, {\n as,\n bsPrefix,\n spans\n }];\n}\nconst Col = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(props, ref) => {\n const [{\n className,\n ...colProps\n }, {\n as: Component = 'div',\n bsPrefix,\n spans\n }] = useCol(props);\n return /*#__PURE__*/_jsx(Component, { ...colProps,\n ref: ref,\n className: classNames(className, !spans.length && bsPrefix)\n });\n});\nCol.displayName = 'Col';\nexport default Col;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n column: false,\n visuallyHidden: false\n};\nconst FormLabel = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'label',\n bsPrefix,\n column,\n visuallyHidden,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n let columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = `${columnClass} ${columnClass}-${column}`;\n const classes = classNames(className, bsPrefix, visuallyHidden && 'visually-hidden', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `<FormLabel>` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/_jsx(Col, {\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor,\n ...props\n });\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n _jsx(Component, {\n ref: ref,\n className: classes,\n htmlFor: htmlFor,\n ...props\n })\n );\n});\nFormLabel.displayName = 'FormLabel';\nFormLabel.defaultProps = defaultProps;\nexport default FormLabel;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormRange = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-range');\n return /*#__PURE__*/_jsx(\"input\", { ...props,\n type: \"range\",\n ref: ref,\n className: classNames(className, bsPrefix),\n id: id || controlId\n });\n});\nFormRange.displayName = 'FormRange';\nexport default FormRange;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormSelect = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n htmlSize,\n className,\n isValid = false,\n isInvalid = false,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-select');\n return /*#__PURE__*/_jsx(\"select\", { ...props,\n size: htmlSize,\n ref: ref,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, isValid && `is-valid`, isInvalid && `is-invalid`),\n id: id || controlId\n });\n});\nFormSelect.displayName = 'FormSelect';\nexport default FormSelect;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormText = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n as: Component = 'small',\n muted,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n });\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import * as React from 'react';\nimport FormCheck from './FormCheck';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Switch = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(FormCheck, { ...props,\n ref: ref,\n type: \"switch\"\n}));\nSwitch.displayName = 'Switch';\nexport default Object.assign(Switch, {\n Input: FormCheck.Input,\n Label: FormCheck.Label\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport FormGroup from './FormGroup';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FloatingLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n controlId,\n label,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsxs(FormGroup, {\n ref: ref,\n className: classNames(className, bsPrefix),\n controlId: controlId,\n ...props,\n children: [children, /*#__PURE__*/_jsx(\"label\", {\n htmlFor: controlId,\n children: label\n })]\n });\n});\nFloatingLabel.displayName = 'FloatingLabel';\nexport default FloatingLabel;","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport FormCheck from './FormCheck';\nimport FormControl from './FormControl';\nimport FormFloating from './FormFloating';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormRange from './FormRange';\nimport FormSelect from './FormSelect';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport FloatingLabel from './FloatingLabel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * The Form `ref` will be forwarded to the underlying element,\n * which means, unless it's rendered `as` a composite component,\n * it will be a DOM node, when resolved.\n *\n * @type {ReactRef}\n * @alias ref\n */\n _ref: PropTypes.any,\n\n /**\n * Mark a form as having been validated. Setting it to `true` will\n * toggle any validation styles on the forms elements.\n */\n validated: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Form = /*#__PURE__*/React.forwardRef(({\n className,\n validated,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'form',\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, validated && 'was-validated')\n}));\nForm.displayName = 'Form';\nForm.propTypes = propTypes;\nexport default Object.assign(Form, {\n Group: FormGroup,\n Control: FormControl,\n Floating: FormFloating,\n Check: FormCheck,\n Switch,\n Label: FormLabel,\n Text: FormText,\n Range: FormRange,\n Select: FormSelect,\n FloatingLabel\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Spinner = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n variant,\n animation,\n size,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n const bsSpinnerPrefix = `${bsPrefix}-${animation}`;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsSpinnerPrefix, size && `${bsSpinnerPrefix}-${size}`, variant && `text-${variant}`)\n });\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport Container from \"react-bootstrap/Container\";\nimport {Form, Button, Spinner} from 'react-bootstrap';\nimport axios from \"axios\";\nimport {useNavigate} from \"react-router-dom\";\nimport {Token, Tools} from '../utils';\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useTranslation} from \"react-i18next\";\n\nexport default function Login({onLogin}) {\n return (\n <SrsErrorBoundary>\n <LoginImpl onLogin={onLogin} />\n </SrsErrorBoundary>\n );\n}\n\nfunction LoginImpl({onLogin}) {\n const [plaintext, setPlaintext] = React.useState(true);\n const [password, setPassword] = React.useState();\n const [operating, setOperating] = React.useState(false);\n const navigate = useNavigate();\n const passwordRef = React.useRef();\n const plaintextRef = React.useRef();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n // Verify the token if exists.\n React.useEffect(() => {\n const token = Token.load();\n if (!token || !token.token) return;\n\n console.log(`Login: Verify, token is ${Tools.mask(token)}`);\n\n // Both JWT token or Bearer token are OK. Here we use JWT token.\n axios.post('/terraform/v1/mgmt/token', {\n ...token,\n }).then(res => {\n // Here we use the Bearer token to verify again.\n axios.post('/terraform/v1/mgmt/token', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`Login: Done, token is ${Tools.mask(token)}`);\n navigate('/routers-scenario');\n });\n }).catch(handleError);\n }, [navigate, handleError]);\n\n // Focus to password input.\n React.useEffect(() => {\n plaintext ? plaintextRef.current?.focus() : passwordRef.current?.focus();\n }, [plaintext]);\n\n // User click login button.\n // Note that we use callback, because when we use it in other hooks, it might be null, for example, to use handleLogin\n // in useEffect, which should depends on the hooks, but should never depends on RAW function, because it always\n // changes its value. See https://stackoverflow.com/a/55854902/17679565\n const handleLogin = React.useCallback((e) => {\n e.preventDefault();\n setOperating(true);\n\n axios.post('/terraform/v1/mgmt/login', {\n password,\n }).then(async (res) => {\n await new Promise(resolve => setTimeout(resolve, 600));\n\n const data = res.data.data;\n console.log(`Login: OK, token is ${Tools.mask(data)}`);\n Token.save(data);\n\n onLogin && onLogin();\n navigate('/routers-scenario');\n }).catch(handleError).finally(setOperating);\n }, [password, handleError, onLogin, navigate, setOperating]);\n\n return (\n <>\n <Container fluid>\n <Form>\n <Form.Group className=\"mb-3\" controlId=\"formBasicPassword\">\n <Form.Label>{t('login.passwordLabel')}</Form.Label>\n {\n !plaintext &&\n <Form.Control type=\"password\" placeholder=\"Password\" ref={passwordRef} defaultValue={password}\n onChange={(e) => setPassword(e.target.value)}/>\n }\n {\n plaintext &&\n <Form.Control type=\"text\" placeholder=\"Password\" ref={plaintextRef} defaultValue={password}\n onChange={(e) => setPassword(e.target.value)}/>\n }\n <Form.Text className=\"text-muted\">\n * {t('login.passwordTip')}\n </Form.Text>\n </Form.Group>\n <Form.Group className=\"mb-3\" controlId=\"formBasicCheckbox\">\n <Form.Check type=\"checkbox\" label={t('login.labelShow')} defaultChecked={plaintext}\n onClick={() => setPlaintext(!plaintext)}/>\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" disabled={operating} onClick={(e) => handleLogin(e)}>\n {t('login.labelLogin')}\n </Button> \n {operating && <Spinner animation=\"border\" variant=\"success\" style={{verticalAlign: 'middle'}} />}\n </Form>\n </Container>\n </>\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport Container from \"react-bootstrap/Container\";\nimport React from \"react\";\nimport {useNavigate} from \"react-router-dom\";\nimport {Token} from \"../utils\";\nimport {useTranslation} from \"react-i18next\";\n\nexport default function Logout({onLogout}) {\n const navigate = useNavigate();\n const {t} = useTranslation();\n\n React.useEffect(() => {\n if (window.confirm(t('nav.logout2'))) {\n Token.remove();\n onLogout && onLogout();\n }\n\n navigate('/routers-login');\n }, [navigate, t, onLogout]);\n\n return <Container fluid>Logout</Container>;\n}\n\n","import * as React from 'react';\nconst SelectableContext = /*#__PURE__*/React.createContext(null);\nexport const makeEventKey = (eventKey, href = null) => {\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarBrand = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');\n const Component = as || (props.href ? 'a' : 'span');\n return /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, bsPrefix)\n });\n});\nNavbarBrand.displayName = 'NavbarBrand';\nexport default NavbarBrand;","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction(...funcs) {\n return funcs.filter(f => f != null).reduce((acc, f) => {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) return f;\n return function chainedFunction(...args) {\n // @ts-ignore\n acc.apply(this, args); // @ts-ignore\n\n f.apply(this, args);\n };\n }, null);\n}\n\nexport default createChainedFunction;","import classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport React, { useMemo } from 'react';\nimport { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\n\nfunction getDefaultDimensionValue(dimension, elem) {\n const offset = `offset${dimension[0].toUpperCase()}${dimension.slice(1)}`;\n const value = elem[offset];\n const margins = MARGINS[dimension];\n return value + // @ts-ignore\n parseInt(css(elem, margins[0]), 10) + // @ts-ignore\n parseInt(css(elem, margins[1]), 10);\n}\n\nconst collapseStyles = {\n [EXITED]: 'collapse',\n [EXITING]: 'collapsing',\n [ENTERING]: 'collapsing',\n [ENTERED]: 'collapse show'\n};\nconst defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n getDimensionValue: getDefaultDimensionValue\n};\nconst Collapse = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n className,\n children,\n dimension = 'height',\n getDimensionValue = getDefaultDimensionValue,\n ...props\n}, ref) => {\n /* Compute dimension */\n const computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n /* -- Expanding -- */\n\n const handleEnter = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = '0';\n }, onEnter), [computedDimension, onEnter]);\n const handleEntering = useMemo(() => createChainedFunction(elem => {\n const scroll = `scroll${computedDimension[0].toUpperCase()}${computedDimension.slice(1)}`;\n elem.style[computedDimension] = `${elem[scroll]}px`;\n }, onEntering), [computedDimension, onEntering]);\n const handleEntered = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onEntered), [computedDimension, onEntered]);\n /* -- Collapsing -- */\n\n const handleExit = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = `${getDimensionValue(computedDimension, elem)}px`;\n triggerBrowserReflow(elem);\n }, onExit), [onExit, getDimensionValue, computedDimension]);\n const handleExiting = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onExiting), [computedDimension, onExiting]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n \"aria-expanded\": props.role ? props.in : null,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting,\n childRef: children.ref,\n children: (state, innerProps) => /*#__PURE__*/React.cloneElement(children, { ...innerProps,\n className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'collapse-horizontal')\n })\n });\n}); // @ts-ignore\n\n// @ts-ignore\nCollapse.defaultProps = defaultProps;\nexport default Collapse;","import * as React from 'react'; // TODO: check\n\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","import * as React from 'react';\nimport { useContext } from 'react';\nimport Collapse from './Collapse';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarCollapse = /*#__PURE__*/React.forwardRef(({\n children,\n bsPrefix,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');\n const context = useContext(NavbarContext);\n return /*#__PURE__*/_jsx(Collapse, {\n in: !!(context && context.expanded),\n ...props,\n children: /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n className: bsPrefix,\n children: children\n })\n });\n});\nNavbarCollapse.displayName = 'NavbarCollapse';\nexport default NavbarCollapse;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n label: 'Toggle navigation'\n};\nconst NavbarToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n label,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'button',\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');\n const {\n onToggle,\n expanded\n } = useContext(NavbarContext) || {};\n const handleClick = useEventCallback(e => {\n if (onClick) onClick(e);\n if (onToggle) onToggle();\n });\n\n if (Component === 'button') {\n props.type = 'button';\n }\n\n return /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n onClick: handleClick,\n \"aria-label\": label,\n className: classNames(className, bsPrefix, !expanded && 'collapsed'),\n children: children || /*#__PURE__*/_jsx(\"span\", {\n className: `${bsPrefix}-icon`\n })\n });\n});\nNavbarToggle.displayName = 'NavbarToggle';\nNavbarToggle.defaultProps = defaultProps;\nexport default NavbarToggle;","import ownerDocument from './ownerDocument';\n/**\n * Returns the actively focused element safely.\n *\n * @param doc the document to check\n */\n\nexport default function activeElement(doc) {\n if (doc === void 0) {\n doc = ownerDocument();\n }\n\n // Support: IE 9 only\n // IE9 throws an \"Unspecified error\" accessing document.activeElement from an <iframe>\n try {\n var active = doc.activeElement; // IE11 returns a seemingly empty object in some cases when accessing\n // document.activeElement from an <iframe>\n\n if (!active || !active.nodeName) return null;\n return active;\n } catch (e) {\n /* ie throws if no active element */\n return doc.body;\n }\n}","/* eslint-disable no-bitwise, no-cond-assign */\n\n/**\n * Checks if an element contains another given element.\n * \n * @param context the context element\n * @param node the element to check\n */\nexport default function contains(context, node) {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n if (context.contains) return context.contains(node);\n if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);\n}","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\n\nexport default function useWillUnmount(fn) {\n var onUnmount = useUpdatedRef(fn);\n useEffect(function () {\n return function () {\n return onUnmount.current();\n };\n }, []);\n}","import { useRef } from 'react';\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\n\nexport default function useUpdatedRef(value) {\n var valueRef = useRef(value);\n valueRef.current = value;\n return valueRef;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export const ATTRIBUTE_PREFIX = `data-rr-ui-`;\nexport const PROPERTY_PREFIX = `rrUi`;\nexport function dataAttr(property) {\n return `${ATTRIBUTE_PREFIX}${property}`;\n}\nexport function dataProp(property) {\n return `${PROPERTY_PREFIX}${property}`;\n}","import css from 'dom-helpers/css';\nimport { dataAttr } from './DataKey';\nimport getBodyScrollbarWidth from './getScrollbarWidth';\nexport const OPEN_DATA_ATTRIBUTE = dataAttr('modal-open');\n/**\n * Manages a stack of Modals as well as ensuring\n * body scrolling is is disabled and padding accounted for\n */\n\nclass ModalManager {\n constructor({\n ownerDocument,\n handleContainerOverflow = true,\n isRTL = false\n } = {}) {\n this.handleContainerOverflow = handleContainerOverflow;\n this.isRTL = isRTL;\n this.modals = [];\n this.ownerDocument = ownerDocument;\n }\n\n getScrollbarWidth() {\n return getBodyScrollbarWidth(this.ownerDocument);\n }\n\n getElement() {\n return (this.ownerDocument || document).body;\n }\n\n setModalAttributes(_modal) {// For overriding\n }\n\n removeModalAttributes(_modal) {// For overriding\n }\n\n setContainerStyle(containerState) {\n const style = {\n overflow: 'hidden'\n }; // we are only interested in the actual `style` here\n // because we will override it\n\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const container = this.getElement();\n containerState.style = {\n overflow: container.style.overflow,\n [paddingProp]: container.style[paddingProp]\n };\n\n if (containerState.scrollBarWidth) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style[paddingProp] = `${parseInt(css(container, paddingProp) || '0', 10) + containerState.scrollBarWidth}px`;\n }\n\n container.setAttribute(OPEN_DATA_ATTRIBUTE, '');\n css(container, style);\n }\n\n reset() {\n [...this.modals].forEach(m => this.remove(m));\n }\n\n removeContainerStyle(containerState) {\n const container = this.getElement();\n container.removeAttribute(OPEN_DATA_ATTRIBUTE);\n Object.assign(container.style, containerState.style);\n }\n\n add(modal) {\n let modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = this.modals.length;\n this.modals.push(modal);\n this.setModalAttributes(modal);\n\n if (modalIdx !== 0) {\n return modalIdx;\n }\n\n this.state = {\n scrollBarWidth: this.getScrollbarWidth(),\n style: {}\n };\n\n if (this.handleContainerOverflow) {\n this.setContainerStyle(this.state);\n }\n\n return modalIdx;\n }\n\n remove(modal) {\n const modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n this.modals.splice(modalIdx, 1); // if that was the last modal in a container,\n // clean up the container\n\n if (!this.modals.length && this.handleContainerOverflow) {\n this.removeContainerStyle(this.state);\n }\n\n this.removeModalAttributes(modal);\n }\n\n isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n }\n\n}\n\nexport default ModalManager;","/**\n * Get the width of the vertical window scrollbar if it's visible\n */\nexport default function getBodyScrollbarWidth(ownerDocument = document) {\n const window = ownerDocument.defaultView;\n return Math.abs(window.innerWidth - ownerDocument.documentElement.clientWidth);\n}","import { createContext, useContext } from 'react';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nconst Context = /*#__PURE__*/createContext(canUseDOM ? window : undefined);\nexport const WindowProvider = Context.Provider;\n/**\n * The document \"window\" placed in React context. Helpful for determining\n * SSR context, or when rendering into an iframe.\n *\n * @returns the current window\n */\n\nexport default function useWindow() {\n return useContext(Context);\n}","import ownerDocument from 'dom-helpers/ownerDocument';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport { useState, useEffect } from 'react';\nimport useWindow from './useWindow';\nexport const resolveContainerRef = (ref, document) => {\n var _ref;\n\n if (!canUseDOM) return null;\n if (ref == null) return (document || ownerDocument()).body;\n if (typeof ref === 'function') ref = ref();\n if (ref && 'current' in ref) ref = ref.current;\n if ((_ref = ref) != null && _ref.nodeType) return ref || null;\n return null;\n};\nexport default function useWaitForDOMRef(ref, onResolved) {\n const window = useWindow();\n const [resolvedRef, setRef] = useState(() => resolveContainerRef(ref, window == null ? void 0 : window.document));\n\n if (!resolvedRef) {\n const earlyRef = resolveContainerRef(ref);\n if (earlyRef) setRef(earlyRef);\n }\n\n useEffect(() => {\n if (onResolved && resolvedRef) {\n onResolved(resolvedRef);\n }\n }, [onResolved, resolvedRef]);\n useEffect(() => {\n const nextRef = resolveContainerRef(ref);\n\n if (nextRef !== resolvedRef) {\n setRef(nextRef);\n }\n }, [ref, resolvedRef]);\n return resolvedRef;\n}","const _excluded = [\"show\", \"role\", \"className\", \"style\", \"children\", \"backdrop\", \"keyboard\", \"onBackdropClick\", \"onEscapeKeyDown\", \"transition\", \"backdropTransition\", \"autoFocus\", \"enforceFocus\", \"restoreFocus\", \"restoreFocusOptions\", \"renderDialog\", \"renderBackdrop\", \"manager\", \"container\", \"onShow\", \"onHide\", \"onExit\", \"onExited\", \"onExiting\", \"onEnter\", \"onEntering\", \"onEntered\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint-disable @typescript-eslint/no-use-before-define, react/prop-types */\nimport activeElement from 'dom-helpers/activeElement';\nimport contains from 'dom-helpers/contains';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport listen from 'dom-helpers/listen';\nimport { useState, useRef, useCallback, useImperativeHandle, forwardRef, useEffect } from 'react';\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport useMounted from '@restart/hooks/useMounted';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport ModalManager from './ModalManager';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport useWindow from './useWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nlet manager;\n\nfunction getManager(window) {\n if (!manager) manager = new ModalManager({\n ownerDocument: window == null ? void 0 : window.document\n });\n return manager;\n}\n\nfunction useModalManager(provided) {\n const window = useWindow();\n const modalManager = provided || getManager(window);\n const modal = useRef({\n dialog: null,\n backdrop: null\n });\n return Object.assign(modal.current, {\n add: () => modalManager.add(modal.current),\n remove: () => modalManager.remove(modal.current),\n isTopModal: () => modalManager.isTopModal(modal.current),\n setDialogRef: useCallback(ref => {\n modal.current.dialog = ref;\n }, []),\n setBackdropRef: useCallback(ref => {\n modal.current.backdrop = ref;\n }, [])\n });\n}\n\nconst Modal = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n show = false,\n role = 'dialog',\n className,\n style,\n children,\n backdrop = true,\n keyboard = true,\n onBackdropClick,\n onEscapeKeyDown,\n transition,\n backdropTransition,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n renderDialog,\n renderBackdrop = props => /*#__PURE__*/_jsx(\"div\", Object.assign({}, props)),\n manager: providedManager,\n container: containerRef,\n onShow,\n onHide = () => {},\n onExit,\n onExited,\n onExiting,\n onEnter,\n onEntering,\n onEntered\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const container = useWaitForDOMRef(containerRef);\n const modal = useModalManager(providedManager);\n const isMounted = useMounted();\n const prevShow = usePrevious(show);\n const [exited, setExited] = useState(!show);\n const lastFocusRef = useRef(null);\n useImperativeHandle(ref, () => modal, [modal]);\n\n if (canUseDOM && !prevShow && show) {\n lastFocusRef.current = activeElement();\n }\n\n if (!transition && !show && !exited) {\n setExited(true);\n } else if (show && exited) {\n setExited(false);\n }\n\n const handleShow = useEventCallback(() => {\n modal.add();\n removeKeydownListenerRef.current = listen(document, 'keydown', handleDocumentKeyDown);\n removeFocusListenerRef.current = listen(document, 'focus', // the timeout is necessary b/c this will run before the new modal is mounted\n // and so steals focus from it\n () => setTimeout(handleEnforceFocus), true);\n\n if (onShow) {\n onShow();\n } // autofocus after onShow to not trigger a focus event for previous\n // modals before this one is shown.\n\n\n if (autoFocus) {\n const currentActiveElement = activeElement(document);\n\n if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n lastFocusRef.current = currentActiveElement;\n modal.dialog.focus();\n }\n }\n });\n const handleHide = useEventCallback(() => {\n modal.remove();\n removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current();\n removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current();\n\n if (restoreFocus) {\n var _lastFocusRef$current;\n\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n (_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions);\n lastFocusRef.current = null;\n }\n }); // TODO: try and combine these effects: https://github.com/react-bootstrap/react-overlays/pull/794#discussion_r409954120\n // Show logic when:\n // - show is `true` _and_ `container` has resolved\n\n useEffect(() => {\n if (!show || !container) return;\n handleShow();\n }, [show, container,\n /* should never change: */\n handleShow]); // Hide cleanup logic when:\n // - `exited` switches to true\n // - component unmounts;\n\n useEffect(() => {\n if (!exited) return;\n handleHide();\n }, [exited, handleHide]);\n useWillUnmount(() => {\n handleHide();\n }); // --------------------------------\n\n const handleEnforceFocus = useEventCallback(() => {\n if (!enforceFocus || !isMounted() || !modal.isTopModal()) {\n return;\n }\n\n const currentActiveElement = activeElement();\n\n if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n modal.dialog.focus();\n }\n });\n const handleBackdropClick = useEventCallback(e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n onBackdropClick == null ? void 0 : onBackdropClick(e);\n\n if (backdrop === true) {\n onHide();\n }\n });\n const handleDocumentKeyDown = useEventCallback(e => {\n if (keyboard && e.keyCode === 27 && modal.isTopModal()) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n\n if (!e.defaultPrevented) {\n onHide();\n }\n }\n });\n const removeFocusListenerRef = useRef();\n const removeKeydownListenerRef = useRef();\n\n const handleHidden = (...args) => {\n setExited(true);\n onExited == null ? void 0 : onExited(...args);\n };\n\n const Transition = transition;\n\n if (!container || !(show || Transition && !exited)) {\n return null;\n }\n\n const dialogProps = Object.assign({\n role,\n ref: modal.setDialogRef,\n // apparently only works on the dialog role element\n 'aria-modal': role === 'dialog' ? true : undefined\n }, rest, {\n style,\n className,\n tabIndex: -1\n });\n let dialog = renderDialog ? renderDialog(dialogProps) : /*#__PURE__*/_jsx(\"div\", Object.assign({}, dialogProps, {\n children: /*#__PURE__*/React.cloneElement(children, {\n role: 'document'\n })\n }));\n\n if (Transition) {\n dialog = /*#__PURE__*/_jsx(Transition, {\n appear: true,\n unmountOnExit: true,\n in: !!show,\n onExit: onExit,\n onExiting: onExiting,\n onExited: handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n children: dialog\n });\n }\n\n let backdropElement = null;\n\n if (backdrop) {\n const BackdropTransition = backdropTransition;\n backdropElement = renderBackdrop({\n ref: modal.setBackdropRef,\n onClick: handleBackdropClick\n });\n\n if (BackdropTransition) {\n backdropElement = /*#__PURE__*/_jsx(BackdropTransition, {\n appear: true,\n in: !!show,\n children: backdropElement\n });\n }\n }\n\n return /*#__PURE__*/_jsx(_Fragment, {\n children: /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/_jsxs(_Fragment, {\n children: [backdropElement, dialog]\n }), container)\n });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n Manager: ModalManager\n});","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('offcanvas-body');","import classNames from 'classnames';\nimport * as React from 'react';\nimport { ENTERED, ENTERING, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport TransitionWrapper from './TransitionWrapper';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false\n};\nconst transitionStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst OffcanvasToggling = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, { ...innerProps,\n className: classNames(className, children.props.className, (status === ENTERING || status === EXITING) && `${bsPrefix}-toggling`, transitionStyles[status])\n })\n });\n});\nOffcanvasToggling.defaultProps = defaultProps;\nOffcanvasToggling.displayName = 'OffcanvasToggling';\nexport default OffcanvasToggling;","import * as React from 'react';\nconst ModalContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide() {}\n\n});\nexport default ModalContext;","import * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport CloseButton from './CloseButton';\nimport ModalContext from './ModalContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst defaultProps = {\n closeLabel: 'Close',\n closeButton: false\n};\nconst AbstractModalHeader = /*#__PURE__*/React.forwardRef(({\n closeLabel,\n closeVariant,\n closeButton,\n onHide,\n children,\n ...props\n}, ref) => {\n const context = useContext(ModalContext);\n const handleClick = useEventCallback(() => {\n context == null ? void 0 : context.onHide();\n onHide == null ? void 0 : onHide();\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick\n })]\n });\n});\nAbstractModalHeader.defaultProps = defaultProps;\nexport default AbstractModalHeader;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n closeLabel: 'Close',\n closeButton: false\n};\nconst OffcanvasHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-header');\n return /*#__PURE__*/_jsx(AbstractModalHeader, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n });\n});\nOffcanvasHeader.displayName = 'OffcanvasHeader';\nOffcanvasHeader.defaultProps = defaultProps;\nexport default OffcanvasHeader;","import createWithBsPrefix from './createWithBsPrefix';\nimport divWithClassName from './divWithClassName';\nconst DivStyledAsH5 = divWithClassName('h5');\nexport default createWithBsPrefix('offcanvas-title', {\n Component: DivStyledAsH5\n});","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n/**\n * Runs `querySelectorAll` on a given element.\n * \n * @param element the element\n * @param selector the selector\n */\n\nexport default function qsa(element, selector) {\n return toArray(element.querySelectorAll(selector));\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","import addClass from 'dom-helpers/addClass';\nimport css from 'dom-helpers/css';\nimport qsa from 'dom-helpers/querySelectorAll';\nimport removeClass from 'dom-helpers/removeClass';\nimport ModalManager from '@restart/ui/ModalManager';\nconst Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n};\n\nclass BootstrapModalManager extends ModalManager {\n adjustAndStore(prop, element, adjust) {\n const actual = element.style[prop]; // TODO: DOMStringMap and CSSStyleDeclaration aren't strictly compatible\n // @ts-ignore\n\n element.dataset[prop] = actual;\n css(element, {\n [prop]: `${parseFloat(css(element, prop)) + adjust}px`\n });\n }\n\n restore(prop, element) {\n const value = element.dataset[prop];\n\n if (value !== undefined) {\n delete element.dataset[prop];\n css(element, {\n [prop]: value\n });\n }\n }\n\n setContainerStyle(containerState) {\n super.setContainerStyle(containerState);\n const container = this.getElement();\n addClass(container, 'modal-open');\n if (!containerState.scrollBarWidth) return;\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.adjustAndStore(paddingProp, el, containerState.scrollBarWidth));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.adjustAndStore(marginProp, el, -containerState.scrollBarWidth));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.adjustAndStore(marginProp, el, containerState.scrollBarWidth));\n }\n\n removeContainerStyle(containerState) {\n super.removeContainerStyle(containerState);\n const container = this.getElement();\n removeClass(container, 'modal-open');\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.restore(paddingProp, el));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.restore(marginProp, el));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.restore(marginProp, el));\n }\n\n}\n\nlet sharedManager;\nexport function getSharedManager(options) {\n if (!sharedManager) sharedManager = new BootstrapModalManager(options);\n return sharedManager;\n}\nexport default BootstrapModalManager;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","import classNames from 'classnames';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport * as React from 'react';\nimport { useCallback, useContext, useMemo, useRef } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport Fade from './Fade';\nimport OffcanvasBody from './OffcanvasBody';\nimport OffcanvasToggling from './OffcanvasToggling';\nimport ModalContext from './ModalContext';\nimport NavbarContext from './NavbarContext';\nimport OffcanvasHeader from './OffcanvasHeader';\nimport OffcanvasTitle from './OffcanvasTitle';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport BootstrapModalManager, { getSharedManager } from './BootstrapModalManager';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n show: false,\n backdrop: true,\n keyboard: true,\n scroll: false,\n autoFocus: true,\n enforceFocus: true,\n restoreFocus: true,\n placement: 'start'\n};\n\nfunction DialogTransition(props) {\n return /*#__PURE__*/_jsx(OffcanvasToggling, { ...props\n });\n}\n\nfunction BackdropTransition(props) {\n return /*#__PURE__*/_jsx(Fade, { ...props\n });\n}\n\nconst Offcanvas = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n 'aria-labelledby': ariaLabelledby,\n placement,\n\n /* BaseModal props */\n show,\n backdrop,\n keyboard,\n scroll,\n onEscapeKeyDown,\n onShow,\n onHide,\n container,\n autoFocus,\n enforceFocus,\n restoreFocus,\n restoreFocusOptions,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n backdropClassName,\n manager: propsManager,\n ...props\n}, ref) => {\n const modalManager = useRef();\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n const {\n onToggle\n } = useContext(NavbarContext) || {};\n const handleHide = useEventCallback(() => {\n onToggle == null ? void 0 : onToggle();\n onHide == null ? void 0 : onHide();\n });\n const modalContext = useMemo(() => ({\n onHide: handleHide\n }), [handleHide]);\n\n function getModalManager() {\n if (propsManager) return propsManager;\n\n if (scroll) {\n // Have to use a different modal manager since the shared\n // one handles overflow.\n if (!modalManager.current) modalManager.current = new BootstrapModalManager({\n handleContainerOverflow: false\n });\n return modalManager.current;\n }\n\n return getSharedManager();\n }\n\n const handleEnter = (node, ...args) => {\n if (node) node.style.visibility = 'visible';\n onEnter == null ? void 0 : onEnter(node, ...args);\n };\n\n const handleExited = (node, ...args) => {\n if (node) node.style.visibility = '';\n onExited == null ? void 0 : onExited(...args);\n };\n\n const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", { ...backdropProps,\n className: classNames(`${bsPrefix}-backdrop`, backdropClassName)\n }), [backdropClassName, bsPrefix]);\n\n const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n role: \"dialog\",\n ...dialogProps,\n ...props,\n className: classNames(className, bsPrefix, `${bsPrefix}-${placement}`),\n \"aria-labelledby\": ariaLabelledby,\n children: children\n });\n\n return /*#__PURE__*/_jsx(ModalContext.Provider, {\n value: modalContext,\n children: /*#__PURE__*/_jsx(BaseModal, {\n show: show,\n ref: ref,\n backdrop: backdrop,\n container: container,\n keyboard: keyboard,\n autoFocus: autoFocus,\n enforceFocus: enforceFocus && !scroll,\n restoreFocus: restoreFocus,\n restoreFocusOptions: restoreFocusOptions,\n onEscapeKeyDown: onEscapeKeyDown,\n onShow: onShow,\n onHide: handleHide,\n onEnter: handleEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: handleExited,\n manager: getModalManager(),\n transition: DialogTransition,\n backdropTransition: BackdropTransition,\n renderBackdrop: renderBackdrop,\n renderDialog: renderDialog\n })\n });\n});\nOffcanvas.displayName = 'Offcanvas';\nOffcanvas.defaultProps = defaultProps;\nexport default Object.assign(Offcanvas, {\n Body: OffcanvasBody,\n Header: OffcanvasHeader,\n Title: OffcanvasTitle\n});","import * as React from 'react';\nimport { useContext } from 'react';\nimport Offcanvas from './Offcanvas';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarOffcanvas = /*#__PURE__*/React.forwardRef((props, ref) => {\n const context = useContext(NavbarContext);\n return /*#__PURE__*/_jsx(Offcanvas, {\n ref: ref,\n show: !!(context != null && context.expanded),\n ...props\n });\n});\nNavbarOffcanvas.displayName = 'NavbarOffcanvas';\nexport default NavbarOffcanvas;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport { useUncontrolled } from 'uncontrollable';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport NavbarBrand from './NavbarBrand';\nimport NavbarCollapse from './NavbarCollapse';\nimport NavbarToggle from './NavbarToggle';\nimport NavbarOffcanvas from './NavbarOffcanvas';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarText = createWithBsPrefix('navbar-text', {\n Component: 'span'\n});\nconst defaultProps = {\n expand: true,\n variant: 'light',\n collapseOnSelect: false\n};\nconst Navbar = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n bsPrefix: initialBsPrefix,\n expand,\n variant,\n bg,\n fixed,\n sticky,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'nav',\n expanded,\n onToggle,\n onSelect,\n collapseOnSelect,\n ...controlledProps\n } = useUncontrolled(props, {\n expanded: 'onToggle'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'navbar');\n const handleCollapse = useCallback((...args) => {\n onSelect == null ? void 0 : onSelect(...args);\n\n if (collapseOnSelect && expanded) {\n onToggle == null ? void 0 : onToggle(false);\n }\n }, [onSelect, collapseOnSelect, expanded, onToggle]); // will result in some false positives but that seems better\n // than false negatives. strict `undefined` check allows explicit\n // \"nulling\" of the role if the user really doesn't want one\n\n if (controlledProps.role === undefined && Component !== 'nav') {\n controlledProps.role = 'navigation';\n }\n\n let expandClass = `${bsPrefix}-expand`;\n if (typeof expand === 'string') expandClass = `${expandClass}-${expand}`;\n const navbarContext = useMemo(() => ({\n onToggle: () => onToggle == null ? void 0 : onToggle(!expanded),\n bsPrefix,\n expanded: !!expanded\n }), [bsPrefix, expanded, onToggle]);\n return /*#__PURE__*/_jsx(NavbarContext.Provider, {\n value: navbarContext,\n children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleCollapse,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...controlledProps,\n className: classNames(className, bsPrefix, expand && expandClass, variant && `${bsPrefix}-${variant}`, bg && `bg-${bg}`, sticky && `sticky-${sticky}`, fixed && `fixed-${fixed}`)\n })\n })\n });\n});\nNavbar.defaultProps = defaultProps;\nNavbar.displayName = 'Navbar';\nexport default Object.assign(Navbar, {\n Brand: NavbarBrand,\n Collapse: NavbarCollapse,\n Offcanvas: NavbarOffcanvas,\n Text: NavbarText,\n Toggle: NavbarToggle\n});","import { useReducer } from 'react';\n/**\n * Returns a function that triggers a component update. the hook equivalent to\n * `this.forceUpdate()` in a class component. In most cases using a state value directly\n * is preferable but may be required in some advanced usages of refs for interop or\n * when direct DOM manipulation is required.\n *\n * ```ts\n * const forceUpdate = useForceUpdate();\n *\n * const updateOnClick = useCallback(() => {\n * forceUpdate()\n * }, [forceUpdate])\n *\n * return <button type=\"button\" onClick={updateOnClick}>Hi there</button>\n * ```\n */\n\nexport default function useForceUpdate() {\n // The toggling state value is designed to defeat React optimizations for skipping\n // updates when they are stricting equal to the last state value\n var _useReducer = useReducer(function (state) {\n return !state;\n }, false),\n dispatch = _useReducer[1];\n\n return dispatch;\n}","import * as React from 'react';\nconst NavContext = /*#__PURE__*/React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","import * as React from 'react';\nconst TabContext = /*#__PURE__*/React.createContext(null);\nexport default TabContext;","const _excluded = [\"as\", \"active\", \"eventKey\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useNavItem({\n key,\n onClick,\n active,\n id,\n role,\n disabled\n}) {\n const parentOnSelect = useContext(SelectableContext);\n const navContext = useContext(NavContext);\n let isActive = active;\n const props = {\n role\n };\n\n if (navContext) {\n if (!role && navContext.role === 'tablist') props.role = 'tab';\n const contextControllerId = navContext.getControllerId(key != null ? key : null);\n const contextControlledId = navContext.getControlledId(key != null ? key : null); // @ts-ignore\n\n props[dataAttr('event-key')] = key;\n props.id = contextControllerId || id;\n props['aria-controls'] = contextControlledId;\n isActive = active == null && key != null ? navContext.activeKey === key : active;\n }\n\n if (props.role === 'tab') {\n if (disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n if (isActive) {\n props['aria-selected'] = isActive;\n } else {\n props.tabIndex = -1;\n }\n }\n\n props.onClick = useEventCallback(e => {\n if (disabled) return;\n onClick == null ? void 0 : onClick(e);\n\n if (key == null) {\n return;\n }\n\n if (parentOnSelect && !e.isPropagationStopped()) {\n parentOnSelect(key, e);\n }\n });\n return [props, {\n isActive\n }];\n}\nconst NavItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: Component = Button,\n active,\n eventKey\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [props, meta] = useNavItem(Object.assign({\n key: makeEventKey(eventKey, options.href),\n active\n }, options)); // @ts-ignore\n\n props[dataAttr('active')] = meta.isActive;\n return /*#__PURE__*/_jsx(Component, Object.assign({}, options, props, {\n ref: ref\n }));\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","const _excluded = [\"as\", \"onSelect\", \"activeKey\", \"role\", \"onKeyDown\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport qsa from 'dom-helpers/querySelectorAll';\nimport * as React from 'react';\nimport { useContext, useEffect, useRef } from 'react';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport TabContext from './TabContext';\nimport { dataAttr, dataProp } from './DataKey';\nimport NavItem from './NavItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\n\nconst EVENT_KEY_ATTR = dataAttr('event-key');\nconst Nav = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n onSelect,\n activeKey,\n role,\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n // A ref and forceUpdate for refocus, b/c we only want to trigger when needed\n // and don't want to reset the set in the effect\n const forceUpdate = useForceUpdate();\n const needsRefocusRef = useRef(false);\n const parentOnSelect = useContext(SelectableContext);\n const tabContext = useContext(TabContext);\n let getControlledId, getControllerId;\n\n if (tabContext) {\n role = role || 'tablist';\n activeKey = tabContext.activeKey; // TODO: do we need to duplicate these?\n\n getControlledId = tabContext.getControlledId;\n getControllerId = tabContext.getControllerId;\n }\n\n const listNode = useRef(null);\n\n const getNextActiveTab = offset => {\n const currentListNode = listNode.current;\n if (!currentListNode) return null;\n const items = qsa(currentListNode, `[${EVENT_KEY_ATTR}]:not([aria-disabled=true])`);\n const activeChild = currentListNode.querySelector('[aria-selected=true]');\n if (!activeChild) return null;\n const index = items.indexOf(activeChild);\n if (index === -1) return null;\n let nextIndex = index + offset;\n if (nextIndex >= items.length) nextIndex = 0;\n if (nextIndex < 0) nextIndex = items.length - 1;\n return items[nextIndex];\n };\n\n const handleSelect = (key, event) => {\n if (key == null) return;\n onSelect == null ? void 0 : onSelect(key, event);\n parentOnSelect == null ? void 0 : parentOnSelect(key, event);\n };\n\n const handleKeyDown = event => {\n onKeyDown == null ? void 0 : onKeyDown(event);\n\n if (!tabContext) {\n return;\n }\n\n let nextActiveChild;\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n nextActiveChild = getNextActiveTab(-1);\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n nextActiveChild = getNextActiveTab(1);\n break;\n\n default:\n return;\n }\n\n if (!nextActiveChild) return;\n event.preventDefault();\n handleSelect(nextActiveChild.dataset[dataProp('EventKey')] || null, event);\n needsRefocusRef.current = true;\n forceUpdate();\n };\n\n useEffect(() => {\n if (listNode.current && needsRefocusRef.current) {\n const activeChild = listNode.current.querySelector(`[${EVENT_KEY_ATTR}][aria-selected=true]`);\n activeChild == null ? void 0 : activeChild.focus();\n }\n\n needsRefocusRef.current = false;\n });\n const mergedRef = useMergedRefs(ref, listNode);\n return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleSelect,\n children: /*#__PURE__*/_jsx(NavContext.Provider, {\n value: {\n role,\n // used by NavLink to determine it's role\n activeKey: makeEventKey(activeKey),\n getControlledId: getControlledId || noop,\n getControllerId: getControllerId || noop\n },\n children: /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n onKeyDown: handleKeyDown,\n ref: mergedRef,\n role: role\n }))\n })\n });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n Item: NavItem\n});","import * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'CardHeaderContext';\nexport default context;","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('nav-item');","import classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n disabled: false\n};\nconst NavLink = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n as: Component = Anchor,\n active,\n eventKey,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n ...props\n });\n return /*#__PURE__*/_jsx(Component, { ...props,\n ...navItemProps,\n ref: ref,\n className: classNames(className, bsPrefix, props.disabled && 'disabled', meta.isActive && 'active')\n });\n});\nNavLink.displayName = 'NavLink';\nNavLink.defaultProps = defaultProps;\nexport default NavLink;","import classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport CardHeaderContext from './CardHeaderContext';\nimport NavItem from './NavItem';\nimport NavLink from './NavLink';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n justify: false,\n fill: false\n};\nconst Nav = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n as = 'div',\n bsPrefix: initialBsPrefix,\n variant,\n fill,\n justify,\n navbar,\n navbarScroll,\n className,\n activeKey,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'nav');\n let navbarBsPrefix;\n let cardHeaderBsPrefix;\n let isNavbar = false;\n const navbarContext = useContext(NavbarContext);\n const cardHeaderContext = useContext(CardHeaderContext);\n\n if (navbarContext) {\n navbarBsPrefix = navbarContext.bsPrefix;\n isNavbar = navbar == null ? true : navbar;\n } else if (cardHeaderContext) {\n ({\n cardHeaderBsPrefix\n } = cardHeaderContext);\n }\n\n return /*#__PURE__*/_jsx(BaseNav, {\n as: as,\n ref: ref,\n activeKey: activeKey,\n className: classNames(className, {\n [bsPrefix]: !isNavbar,\n [`${navbarBsPrefix}-nav`]: isNavbar,\n [`${navbarBsPrefix}-nav-scroll`]: isNavbar && navbarScroll,\n [`${cardHeaderBsPrefix}-${variant}`]: !!cardHeaderBsPrefix,\n [`${bsPrefix}-${variant}`]: !!variant,\n [`${bsPrefix}-fill`]: fill,\n [`${bsPrefix}-justified`]: justify\n }),\n ...props\n });\n});\nNav.displayName = 'Nav';\nNav.defaultProps = defaultProps;\nexport default Object.assign(Nav, {\n Item: NavItem,\n Link: NavLink\n});","var _clipPath;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 64 32\",\n height: \"32px\",\n width: \"64px\",\n id: \"svg2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"defs\", {\n id: \"defs6\"\n }, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linearGradient28\",\n spreadMethod: \"pad\",\n gradientTransform: \"matrix(148.91527,0,0,-148.91527,151.81076,224.17897)\",\n gradientUnits: \"userSpaceOnUse\",\n y2: 0,\n x2: 1,\n y1: 0,\n x1: 0\n }, /*#__PURE__*/React.createElement(\"stop\", {\n id: \"stop24\",\n offset: 0,\n style: {\n stopOpacity: 1,\n stopColor: \"#3caae1\"\n }\n }), /*#__PURE__*/React.createElement(\"stop\", {\n id: \"stop26\",\n offset: 1,\n style: {\n stopOpacity: 1,\n stopColor: \"#b65c9e\"\n }\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"linearGradient48\",\n spreadMethod: \"pad\",\n gradientTransform: \"matrix(155.05911,0,0,-155.05911,49.431911,216.24139)\",\n gradientUnits: \"userSpaceOnUse\",\n y2: 0,\n x2: 1,\n y1: 0,\n x1: 0\n }, /*#__PURE__*/React.createElement(\"stop\", {\n id: \"stop44\",\n offset: 0,\n style: {\n stopOpacity: 1,\n stopColor: \"#2ca0d4\"\n }\n }), /*#__PURE__*/React.createElement(\"stop\", {\n id: \"stop46\",\n offset: 1,\n style: {\n stopOpacity: 1,\n stopColor: \"#305ba7\"\n }\n })), _clipPath || (_clipPath = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath58\",\n clipPathUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path56\",\n d: \"M 0,350.158 H 350.158 V 0 H 0 Z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(0.172146, 0, 0, -0.188192, -9.741413, 53.288761)\",\n id: \"g10\",\n style: {}\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"g12\",\n style: {},\n transform: \"matrix(0.654687, 0, 0, 0.654687, 47.49966, 55.96529)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"g14\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"g20\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"g22\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path30\",\n style: {\n fill: \"url(#linearGradient28)\",\n stroke: \"none\"\n },\n d: \"m 151.811,280.659 54.062,-54.064 14.238,14.586 c 13.253,11.772 33.681,8.665 42.764,-6.48 v 0 c 6.949,-11.585 4.152,-27.659 -6.248,-35.919 v 0 c -11.647,-9.249 -27.453,-8.66 -37.707,1.501 v 0 c -8.318,8.241 -16.529,16.588 -24.814,24.861 v 0 c -13.578,13.558 -26.814,27.483 -40.842,40.56 v 0 c -0.155,0.144 -0.318,0.269 -0.474,0.412 v 0 c 1.246,-1.658 40.823,-54.57 51.701,-97.422 v 0 c 14.746,-10.175 31.762,-12.852 50.25,-8.006 v 0 c 35.557,9.319 55.709,47.52 41.276,82.815 v 0 c -9.385,22.952 -27.32,35.949 -52.141,38.356 v 0 c -15.155,1.471 -27.697,-2.422 -38.597,-9.506 v 0 l -8.305,8.306 c -6.236,6.235 -14.409,9.353 -22.581,9.353 v 0 c -8.173,0 -16.346,-3.118 -22.582,-9.353\"\n }))))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"g32\",\n style: {},\n transform: \"matrix(0.653075, 0, 0, 0.653075, 48.56073, 55.406696)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"g34\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"g40\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"g42\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path50\",\n style: {\n fill: \"url(#linearGradient48)\",\n stroke: \"none\"\n },\n d: \"m 50.99,234 c -1.85,-8.185 -1.733,-14.379 -1.264,-20.194 v 0 c 2.822,-30.213 29.126,-54.494 59.465,-55.353 v 0 c 13.788,-0.391 25.237,3.439 35.23,9.815 v 0 l 8.671,-8.669 c 12.471,-12.471 32.691,-12.471 45.163,0 v 0 l -52.152,52.151 c -0.639,0.65 -1.262,1.284 -1.904,1.935 v 0 c -4.061,-4.127 -8.071,-8.229 -12.109,-12.304 v 0 c -7.927,-8.003 -17.355,-11.004 -28.326,-8.029 v 0 C 92.462,196.418 84.207,206.453 83.4,217.68 v 0 c -0.881,12.257 5.312,23.099 16.04,28.075 v 0 c 10.826,5.024 23.504,2.646 32.091,-5.942 v 0 c 21.291,-21.289 42.367,-42.8 63.987,-63.751 v 0 c 2.884,-2.793 5.882,-5.235 8.973,-7.368 v 0 c -16.324,63.52 -50.455,95.764 -51.701,97.422 v 0 c -12.077,11.041 -26.76,16.121 -41.224,16.121 v 0 C 84.3,282.238 57.808,264.189 50.99,234\"\n }))))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"g52\",\n style: {},\n transform: \"matrix(0.797304, 0, 0, 0.797304, 194.474228, 136.918259)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clipPath58)\",\n id: \"g54\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(126.2779,90.4397)\",\n id: \"g60\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path62\",\n style: {\n fill: \"#494545\",\n fillOpacity: 1,\n fillRule: \"nonzero\",\n stroke: \"none\"\n },\n d: \"m 0,0 h -19.449 c -3.396,0.381 -5.093,2.049 -5.093,5.005 l 0.132,0.879 c 0.731,2.487 2.385,3.731 4.961,3.731 H 5.357 c 1.2,0 2.327,0.16 3.381,0.484 4.479,1.843 6.717,5.005 6.717,9.483 0,0.233 -0.073,0.351 -0.219,0.351 h -35.783 c -2.458,0 -5.034,-0.776 -7.727,-2.328 -4.419,-3.453 -6.629,-7.361 -6.629,-11.721 0,-2.167 0.337,-4.289 1.009,-6.366 2.752,-6.586 8.109,-9.879 16.069,-9.879 h 18.09 c 3.395,-0.352 5.092,-2.005 5.092,-4.961 L 5.226,-16.2 c -0.732,-2.488 -2.387,-3.732 -4.961,-3.732 h -24.807 c -1.199,0 -2.326,-0.175 -3.381,-0.527 -4.477,-1.815 -6.717,-4.962 -6.717,-9.439 0,-0.264 0.074,-0.396 0.22,-0.396 H 1.362 c 2.458,0 5.034,0.79 7.728,2.371 4.419,3.453 6.629,7.361 6.629,11.723 0,2.371 -0.337,4.404 -1.011,6.102 C 12.075,-3.365 7.172,0 0,0\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(257.773,80.342)\",\n id: \"g64\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path66\",\n style: {\n fill: \"#494545\",\n fillOpacity: 1,\n fillRule: \"nonzero\",\n stroke: \"none\"\n },\n d: \"m 0,0 c -2.633,6.732 -7.536,10.098 -14.708,10.098 h -19.449 c -3.396,0.381 -5.093,2.048 -5.093,5.005 l 0.131,0.878 c 0.732,2.488 2.386,3.732 4.962,3.732 h 24.805 c 1.201,0 2.328,0.16 3.381,0.483 4.48,1.844 6.717,5.005 6.717,9.484 0,0.233 -0.072,0.35 -0.218,0.35 h -35.783 c -2.458,0 -5.035,-0.775 -7.727,-2.327 -4.419,-3.453 -6.63,-7.361 -6.63,-11.722 0,-2.167 0.337,-4.289 1.01,-6.366 2.751,-6.586 8.108,-9.879 16.069,-9.879 h 18.089 c 3.395,-0.351 5.092,-2.005 5.092,-4.961 l -0.13,-0.878 c -0.733,-2.488 -2.387,-3.731 -4.962,-3.731 H -39.25 c -1.2,0 -2.327,-0.176 -3.381,-0.527 -4.477,-1.816 -6.717,-4.962 -6.717,-9.44 0,-0.263 0.073,-0.395 0.22,-0.395 h 35.781 c 2.459,0 5.035,0.79 7.728,2.371 4.419,3.453 6.63,7.361 6.63,11.722 C 1.011,-3.731 0.674,-1.698 0,0\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(160.6578,100.5822)\",\n id: \"g68\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path70\",\n style: {\n fill: \"#494545\",\n fillOpacity: 1,\n fillRule: \"nonzero\",\n stroke: \"none\"\n },\n d: \"m 0,0 h 7.033 v 5.847 c 0,1.153 0.634,2.204 1.654,2.741 1.021,0.537 2.245,0.467 3.195,-0.185 L 20.445,2.54 C 21.284,1.965 21.787,1.017 21.791,0 h 2.004 c 2.986,0 4.77,-1.713 5.356,-5.138 L 29.02,-5.839 c -0.674,-3.015 -2.416,-4.523 -5.225,-4.523 H 0 Z m 23.531,-20.108 c 2.518,0 5.182,0.834 7.991,2.503 4.594,3.306 6.894,7.507 6.894,12.6 0,4.126 -1.626,7.815 -4.874,11.064 -3.103,2.545 -5.956,3.82 -8.562,3.82 H -9.528 l -0.22,-0.265 v -49.217 l 0.133,-0.13 c 2.048,0 3.832,0.482 5.356,1.448 2.838,2.107 4.259,4.317 4.259,6.63 v 20.722 l 26.648,-26.518 c 1.288,-1.99 3.66,-2.986 7.114,-2.986 3.891,0.235 5.84,0.908 5.84,2.02 v 0.22 c 0,0.146 -5.944,6.176 -17.826,18.089 z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(180.5738,101.9846)\",\n id: \"g72\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path74\",\n style: {\n fill: \"#494545\",\n fillOpacity: 1,\n fillRule: \"nonzero\",\n stroke: \"none\"\n },\n d: \"m 0,0 -8.563,5.863 c -0.323,0.222 -0.688,0.333 -1.055,0.333 -0.299,0 -0.598,-0.072 -0.878,-0.22 -0.627,-0.33 -1,-0.95 -1,-1.659 V -7.41 c 0,-0.708 0.373,-1.327 1,-1.657 0.627,-0.332 1.349,-0.289 1.933,0.111 L 0,-3.092 c 0.518,0.354 0.815,0.918 0.815,1.545 C 0.815,-0.918 0.518,-0.354 0,0\"\n }))))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.2037e62098e5b9efa8e2ad7121e8de7d.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext(null);\nexport default DropdownContext;","var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","import { useCallback } from 'react';\nimport useMounted from './useMounted';\n\nfunction useSafeState(state) {\n var isMounted = useMounted();\n return [state[0], useCallback(function (nextState) {\n if (!isMounted()) return;\n return state[1](nextState);\n }, [isMounted, state[1]])];\n}\n\nexport default useSafeState;","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nexport default function getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (isHTMLElement(element) && includeScale) {\n var offsetHeight = element.offsetHeight;\n var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // Fallback to 1 in case both values are `0`\n\n if (offsetWidth > 0) {\n scaleX = round(rect.width) / offsetWidth || 1;\n }\n\n if (offsetHeight > 0) {\n scaleY = round(rect.height) / offsetHeight || 1;\n }\n }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import arrow from '@popperjs/core/lib/modifiers/arrow';\nimport computeStyles from '@popperjs/core/lib/modifiers/computeStyles';\nimport eventListeners from '@popperjs/core/lib/modifiers/eventListeners';\nimport flip from '@popperjs/core/lib/modifiers/flip';\nimport hide from '@popperjs/core/lib/modifiers/hide';\nimport offset from '@popperjs/core/lib/modifiers/offset';\nimport popperOffsets from '@popperjs/core/lib/modifiers/popperOffsets';\nimport preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { placements } from '@popperjs/core/lib/enums';\nimport { popperGenerator } from '@popperjs/core/lib/popper-base'; // For the common JS build we will turn this file into a bundle with no imports.\n// This is b/c the Popper lib is all esm files, and would break in a common js only environment\n\nexport const createPopper = popperGenerator({\n defaultModifiers: [hide, popperOffsets, computeStyles, eventListeners, offset, flip, preventOverflow, arrow]\n});\nexport { placements };","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","const _excluded = [\"enabled\", \"placement\", \"strategy\", \"modifiers\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { dequal } from 'dequal';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\nconst disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false,\n phase: 'afterWrite',\n fn: () => undefined\n}; // until docjs supports type exports...\n\nconst ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: ({\n state\n }) => () => {\n const {\n reference,\n popper\n } = state.elements;\n\n if ('removeAttribute' in reference) {\n const ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(id => id.trim() !== popper.id);\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n },\n fn: ({\n state\n }) => {\n var _popper$getAttribute;\n\n const {\n popper,\n reference\n } = state.elements;\n const role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n const ids = reference.getAttribute('aria-describedby');\n\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n\n reference.setAttribute('aria-describedby', ids ? `${ids},${popper.id}` : popper.id);\n }\n }\n};\nconst EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\n\nfunction usePopper(referenceElement, popperElement, _ref = {}) {\n let {\n enabled = true,\n placement = 'bottom',\n strategy = 'absolute',\n modifiers = EMPTY_MODIFIERS\n } = _ref,\n config = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const prevModifiers = useRef(modifiers);\n const popperInstanceRef = useRef();\n const update = useCallback(() => {\n var _popperInstanceRef$cu;\n\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n const forceUpdate = useCallback(() => {\n var _popperInstanceRef$cu2;\n\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n const [popperState, setState] = useSafeState(useState({\n placement,\n update,\n forceUpdate,\n attributes: {},\n styles: {\n popper: {},\n arrow: {}\n }\n }));\n const updateModifier = useMemo(() => ({\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: ({\n state\n }) => {\n const styles = {};\n const attributes = {};\n Object.keys(state.elements).forEach(element => {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state,\n styles,\n attributes,\n update,\n forceUpdate,\n placement: state.placement\n });\n }\n }), [update, forceUpdate, setState]);\n const nextModifiers = useMemo(() => {\n if (!dequal(prevModifiers.current, modifiers)) {\n prevModifiers.current = modifiers;\n }\n\n return prevModifiers.current;\n }, [modifiers]);\n useEffect(() => {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement,\n strategy,\n modifiers: [...nextModifiers, updateModifier, disabledApplyStylesModifier]\n });\n }, [strategy, placement, updateModifier, enabled, nextModifiers]);\n useEffect(() => {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n\n popperInstanceRef.current = createPopper(referenceElement, popperElement, Object.assign({}, config, {\n placement,\n strategy,\n modifiers: [...nextModifiers, ariaDescribedByModifier, updateModifier]\n }));\n return () => {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(s => Object.assign({}, s, {\n attributes: {},\n styles: {\n popper: {}\n }\n }));\n }\n }; // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\n\nexport default usePopper;","import contains from 'dom-helpers/contains';\nimport listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useCallback, useEffect, useRef } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\n\nconst noop = () => {};\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport const getRefTarget = ref => ref && ('current' in ref ? ref.current : ref);\n\n/**\n * The `useClickOutside` hook registers your callback on the document that fires\n * when a pointer event is registered outside of the provided ref or element.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary\n * @param {function} onClickOutside\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useClickOutside(ref, onClickOutside = noop, {\n disabled,\n clickTrigger = 'click'\n} = {}) {\n const preventMouseClickOutsideRef = useRef(false);\n const handleMouseCapture = useCallback(e => {\n const currentTarget = getRefTarget(ref);\n warning(!!currentTarget, 'ClickOutside captured a close event but does not have a ref to compare it to. ' + 'useClickOutside(), should be passed a ref that resolves to a DOM node');\n preventMouseClickOutsideRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, e.target);\n }, [ref]);\n const handleMouse = useEventCallback(e => {\n if (!preventMouseClickOutsideRef.current) {\n onClickOutside(e);\n }\n });\n useEffect(() => {\n if (disabled || ref == null) return undefined;\n const doc = ownerDocument(getRefTarget(ref)); // Store the current event to avoid triggering handlers immediately\n // https://github.com/facebook/react/issues/20074\n\n let currentEvent = (doc.defaultView || window).event; // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n\n const removeMouseCaptureListener = listen(doc, clickTrigger, handleMouseCapture, true);\n const removeMouseListener = listen(doc, clickTrigger, e => {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n handleMouse(e);\n });\n let mobileSafariHackListeners = [];\n\n if ('ontouchstart' in doc.documentElement) {\n mobileSafariHackListeners = [].slice.call(doc.body.children).map(el => listen(el, 'mousemove', noop));\n }\n\n return () => {\n removeMouseCaptureListener();\n removeMouseListener();\n mobileSafariHackListeners.forEach(remove => remove());\n };\n }, [ref, disabled, clickTrigger, handleMouseCapture, handleMouse]);\n}\n\nexport default useClickOutside;","export function toModifierMap(modifiers) {\n const result = {};\n\n if (!Array.isArray(modifiers)) {\n return modifiers || result;\n } // eslint-disable-next-line no-unused-expressions\n\n\n modifiers == null ? void 0 : modifiers.forEach(m => {\n result[m.name] = m;\n });\n return result;\n}\nexport function toModifierArray(map = {}) {\n if (Array.isArray(map)) return map;\n return Object.keys(map).map(k => {\n map[k].name = k;\n return map[k];\n });\n}\nexport default function mergeOptionsWithPopperConfig({\n enabled,\n enableEvents,\n placement,\n flip,\n offset,\n fixed,\n containerPadding,\n arrowElement,\n popperConfig = {}\n}) {\n var _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;\n\n const modifiers = toModifierMap(popperConfig.modifiers);\n return Object.assign({}, popperConfig, {\n placement,\n enabled,\n strategy: fixed ? 'fixed' : popperConfig.strategy,\n modifiers: toModifierArray(Object.assign({}, modifiers, {\n eventListeners: {\n enabled: enableEvents\n },\n preventOverflow: Object.assign({}, modifiers.preventOverflow, {\n options: containerPadding ? Object.assign({\n padding: containerPadding\n }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options\n }),\n offset: {\n options: Object.assign({\n offset\n }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)\n },\n arrow: Object.assign({}, modifiers.arrow, {\n enabled: !!arrowElement,\n options: Object.assign({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {\n element: arrowElement\n })\n }),\n flip: Object.assign({\n enabled: !!flip\n }, modifiers.flip)\n }))\n });\n}","const _excluded = [\"children\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { useContext, useRef } from 'react';\nimport * as React from 'react';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport DropdownContext from './DropdownContext';\nimport usePopper from './usePopper';\nimport useClickOutside from './useClickOutside';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst noop = () => {};\n/**\n * @memberOf Dropdown\n * @param {object} options\n * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection\n * @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle\n * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`\n * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.\n * @param {string} options.rootCloseEvent The pointer event to listen for when determining \"clicks outside\" the menu for triggering a close.\n * @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.\n */\n\n\nexport function useDropdownMenu(options = {}) {\n const context = useContext(DropdownContext);\n const [arrowElement, attachArrowRef] = useCallbackRef();\n const hasShownRef = useRef(false);\n const {\n flip,\n offset,\n rootCloseEvent,\n fixed = false,\n placement: placementOverride,\n popperConfig = {},\n enableEventListeners = true,\n usePopper: shouldUsePopper = !!context\n } = options;\n const show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show;\n\n if (show && !hasShownRef.current) {\n hasShownRef.current = true;\n }\n\n const handleClose = e => {\n context == null ? void 0 : context.toggle(false, e);\n };\n\n const {\n placement,\n setMenu,\n menuElement,\n toggleElement\n } = context || {};\n const popper = usePopper(toggleElement, menuElement, mergeOptionsWithPopperConfig({\n placement: placementOverride || placement || 'bottom-start',\n enabled: shouldUsePopper,\n enableEvents: enableEventListeners == null ? show : enableEventListeners,\n offset,\n flip,\n fixed,\n arrowElement,\n popperConfig\n }));\n const menuProps = Object.assign({\n ref: setMenu || noop,\n 'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id\n }, popper.attributes.popper, {\n style: popper.styles.popper\n });\n const metadata = {\n show,\n placement,\n hasShown: hasShownRef.current,\n toggle: context == null ? void 0 : context.toggle,\n popper: shouldUsePopper ? popper : null,\n arrowProps: shouldUsePopper ? Object.assign({\n ref: attachArrowRef\n }, popper.attributes.arrow, {\n style: popper.styles.arrow\n }) : {}\n };\n useClickOutside(menuElement, handleClose, {\n clickTrigger: rootCloseEvent,\n disabled: !show\n });\n return [menuProps, metadata];\n}\nconst defaultProps = {\n usePopper: true\n};\n\n/**\n * Also exported as `<Dropdown.Menu>` from `Dropdown`.\n *\n * @displayName DropdownMenu\n * @memberOf Dropdown\n */\nfunction DropdownMenu(_ref) {\n let {\n children\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [props, meta] = useDropdownMenu(options);\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\n\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.defaultProps = defaultProps;\n/** @component */\n\nexport default DropdownMenu;","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport React, {ReactNode, useContext, useLayoutEffect, useMemo, useState} from 'react';\n\n// To support SSR, the auto incrementing id counter is stored in a context. This allows\n// it to be reset on every request to ensure the client and server are consistent.\n// There is also a prefix string that is used to support async loading components\n// Each async boundary must be wrapped in an SSR provider, which appends to the prefix\n// and resets the current id counter. This ensures that async loaded components have\n// consistent ids regardless of the loading order.\ninterface SSRContextValue {\n prefix: string,\n current: number\n}\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst defaultContext: SSRContextValue = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\n\nconst SSRContext = React.createContext<SSRContextValue>(defaultContext);\n\ninterface SSRProviderProps {\n /** Your application here. */\n children: ReactNode\n}\n\n/**\n * When using SSR with React Aria, applications must be wrapped in an SSRProvider.\n * This ensures that auto generated ids are consistent between the client and server.\n */\nexport function SSRProvider(props: SSRProviderProps): JSX.Element {\n let cur = useContext(SSRContext);\n let value: SSRContextValue = useMemo(() => ({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === defaultContext ? '' : `${cur.prefix}-${++cur.current}`,\n current: 0\n }), [cur]);\n\n return (\n <SSRContext.Provider value={value}>\n {props.children}\n </SSRContext.Provider>\n );\n}\n\nlet canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\n/** @private */\nexport function useSSRSafeId(defaultId?: string): string {\n let ctx = useContext(SSRContext);\n\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === defaultContext && !canUseDOM) {\n console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n }\n\n return useMemo(() => defaultId || `react-aria${ctx.prefix}-${++ctx.current}`, [defaultId]);\n}\n\n/**\n * Returns whether the component is currently being server side rendered or\n * hydrated on the client. Can be used to delay browser-specific rendering\n * until after hydration.\n */\nexport function useIsSSR(): boolean {\n let cur = useContext(SSRContext);\n let isInSSRContext = cur !== defaultContext;\n let [isSSR, setIsSSR] = useState(isInSSRContext);\n\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof window !== 'undefined' && isInSSRContext) {\n // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => {\n setIsSSR(false);\n }, []);\n }\n\n return isSSR;\n}\n","import { useContext, useCallback } from 'react';\nimport * as React from 'react';\nimport { useSSRSafeId } from './ssr';\nimport DropdownContext from './DropdownContext';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const isRoleMenu = el => {\n var _el$getAttribute;\n\n return ((_el$getAttribute = el.getAttribute('role')) == null ? void 0 : _el$getAttribute.toLowerCase()) === 'menu';\n};\n\nconst noop = () => {};\n/**\n * Wires up Dropdown toggle functionality, returning a set a props to attach\n * to the element that functions as the dropdown toggle (generally a button).\n *\n * @memberOf Dropdown\n */\n\n\nexport function useDropdownToggle() {\n const id = useSSRSafeId();\n const {\n show = false,\n toggle = noop,\n setToggle,\n menuElement\n } = useContext(DropdownContext) || {};\n const handleClick = useCallback(e => {\n toggle(!show, e);\n }, [show, toggle]);\n const props = {\n id,\n ref: setToggle || noop,\n onClick: handleClick,\n 'aria-expanded': !!show\n }; // This is maybe better down in an effect, but\n // the component is going to update anyway when the menu element\n // is set so might return new props.\n\n if (menuElement && isRoleMenu(menuElement)) {\n props['aria-haspopup'] = true;\n }\n\n return [props, {\n show,\n toggle\n }];\n}\n\n/**\n * Also exported as `<Dropdown.Toggle>` from `Dropdown`.\n *\n * @displayName DropdownToggle\n * @memberOf Dropdown\n */\nfunction DropdownToggle({\n children\n}) {\n const [props, meta] = useDropdownToggle();\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\n\nDropdownToggle.displayName = 'DropdownToggle';\n/** @component */\n\nexport default DropdownToggle;","const _excluded = [\"eventKey\", \"disabled\", \"onClick\", \"active\", \"as\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NavContext from './NavContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\n/**\n * Create a dropdown item. Returns a set of props for the dropdown item component\n * including an `onClick` handler that prevents selection when the item is disabled\n */\nexport function useDropdownItem({\n key,\n href,\n active,\n disabled,\n onClick\n}) {\n const onSelectCtx = useContext(SelectableContext);\n const navContext = useContext(NavContext);\n const {\n activeKey\n } = navContext || {};\n const eventKey = makeEventKey(key, href);\n const isActive = active == null && key != null ? makeEventKey(activeKey) === eventKey : active;\n const handleClick = useEventCallback(event => {\n if (disabled) return;\n onClick == null ? void 0 : onClick(event);\n\n if (onSelectCtx && !event.isPropagationStopped()) {\n onSelectCtx(eventKey, event);\n }\n });\n return [{\n onClick: handleClick,\n 'aria-disabled': disabled || undefined,\n 'aria-selected': isActive,\n [dataAttr('dropdown-item')]: ''\n }, {\n isActive\n }];\n}\nconst DropdownItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n eventKey,\n disabled,\n onClick,\n active,\n as: Component = Button\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [dropdownItemProps] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n ref: ref\n }, dropdownItemProps));\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","import qsa from 'dom-helpers/querySelectorAll';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport { useCallback, useRef, useEffect, useMemo, useContext } from 'react';\nimport * as React from 'react';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useEventListener from '@restart/hooks/useEventListener';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle, { isRoleMenu } from './DropdownToggle';\nimport DropdownItem from './DropdownItem';\nimport SelectableContext from './SelectableContext';\nimport { dataAttr } from './DataKey';\nimport useWindow from './useWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction useRefWithUpdate() {\n const forceUpdate = useForceUpdate();\n const ref = useRef(null);\n const attachRef = useCallback(element => {\n ref.current = element; // ensure that a menu set triggers an update for consumers\n\n forceUpdate();\n }, [forceUpdate]);\n return [ref, attachRef];\n}\n/**\n * @displayName Dropdown\n * @public\n */\n\n\nfunction Dropdown({\n defaultShow,\n show: rawShow,\n onSelect,\n onToggle: rawOnToggle,\n itemSelector = `* [${dataAttr('dropdown-item')}]`,\n focusFirstItemOnShow,\n placement = 'bottom-start',\n children\n}) {\n const window = useWindow();\n const [show, onToggle] = useUncontrolledProp(rawShow, defaultShow, rawOnToggle); // We use normal refs instead of useCallbackRef in order to populate the\n // the value as quickly as possible, otherwise the effect to focus the element\n // may run before the state value is set\n\n const [menuRef, setMenu] = useRefWithUpdate();\n const menuElement = menuRef.current;\n const [toggleRef, setToggle] = useRefWithUpdate();\n const toggleElement = toggleRef.current;\n const lastShow = usePrevious(show);\n const lastSourceEvent = useRef(null);\n const focusInDropdown = useRef(false);\n const onSelectCtx = useContext(SelectableContext);\n const toggle = useCallback((nextShow, event, source = event == null ? void 0 : event.type) => {\n onToggle(nextShow, {\n originalEvent: event,\n source\n });\n }, [onToggle]);\n const handleSelect = useEventCallback((key, event) => {\n onSelect == null ? void 0 : onSelect(key, event);\n toggle(false, event, 'select');\n\n if (!event.isPropagationStopped()) {\n onSelectCtx == null ? void 0 : onSelectCtx(key, event);\n }\n });\n const context = useMemo(() => ({\n toggle,\n placement,\n show,\n menuElement,\n toggleElement,\n setMenu,\n setToggle\n }), [toggle, placement, show, menuElement, toggleElement, setMenu, setToggle]);\n\n if (menuElement && lastShow && !show) {\n focusInDropdown.current = menuElement.contains(menuElement.ownerDocument.activeElement);\n }\n\n const focusToggle = useEventCallback(() => {\n if (toggleElement && toggleElement.focus) {\n toggleElement.focus();\n }\n });\n const maybeFocusFirst = useEventCallback(() => {\n const type = lastSourceEvent.current;\n let focusType = focusFirstItemOnShow;\n\n if (focusType == null) {\n focusType = menuRef.current && isRoleMenu(menuRef.current) ? 'keyboard' : false;\n }\n\n if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {\n return;\n }\n\n const first = qsa(menuRef.current, itemSelector)[0];\n if (first && first.focus) first.focus();\n });\n useEffect(() => {\n if (show) maybeFocusFirst();else if (focusInDropdown.current) {\n focusInDropdown.current = false;\n focusToggle();\n } // only `show` should be changing\n }, [show, focusInDropdown, focusToggle, maybeFocusFirst]);\n useEffect(() => {\n lastSourceEvent.current = null;\n });\n\n const getNextFocusedChild = (current, offset) => {\n if (!menuRef.current) return null;\n const items = qsa(menuRef.current, itemSelector);\n let index = items.indexOf(current) + offset;\n index = Math.max(0, Math.min(index, items.length));\n return items[index];\n };\n\n useEventListener(useCallback(() => window.document, [window]), 'keydown', event => {\n var _menuRef$current, _toggleRef$current;\n\n const {\n key\n } = event;\n const target = event.target;\n const fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target);\n const fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target); // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400\n // in inscrutability\n\n const isInput = /input|textarea/i.test(target.tagName);\n\n if (isInput && (key === ' ' || key !== 'Escape' && fromMenu || key === 'Escape' && target.type === 'search')) {\n return;\n }\n\n if (!fromMenu && !fromToggle) {\n return;\n }\n\n if (key === 'Tab' && (!menuRef.current || !show)) {\n return;\n }\n\n lastSourceEvent.current = event.type;\n const meta = {\n originalEvent: event,\n source: event.type\n };\n\n switch (key) {\n case 'ArrowUp':\n {\n const next = getNextFocusedChild(target, -1);\n if (next && next.focus) next.focus();\n event.preventDefault();\n return;\n }\n\n case 'ArrowDown':\n event.preventDefault();\n\n if (!show) {\n onToggle(true, meta);\n } else {\n const next = getNextFocusedChild(target, 1);\n if (next && next.focus) next.focus();\n }\n\n return;\n\n case 'Tab':\n // on keydown the target is the element being tabbed FROM, we need that\n // to know if this event is relevant to this dropdown (e.g. in this menu).\n // On `keyup` the target is the element being tagged TO which we use to check\n // if focus has left the menu\n addEventListener(target.ownerDocument, 'keyup', e => {\n var _menuRef$current2;\n\n if (e.key === 'Tab' && !e.target || !((_menuRef$current2 = menuRef.current) != null && _menuRef$current2.contains(e.target))) {\n onToggle(false, meta);\n }\n }, {\n once: true\n });\n break;\n\n case 'Escape':\n if (key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onToggle(false, meta);\n break;\n\n default:\n }\n });\n return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleSelect,\n children: /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: context,\n children: children\n })\n });\n}\n\nDropdown.displayName = 'Dropdown';\nDropdown.Menu = DropdownMenu;\nDropdown.Toggle = DropdownToggle;\nDropdown.Item = DropdownItem;\nexport default Dropdown;","import { useEffect } from 'react';\nimport useEventCallback from './useEventCallback';\n\n/**\n * Attaches an event handler outside directly to specified DOM element\n * bypassing the react synthetic event system.\n *\n * @param element The target to listen for events on\n * @param event The DOM event name\n * @param handler An event handler\n * @param capture Whether or not to listen during the capture event phase\n */\nexport default function useEventListener(eventTarget, event, listener, capture) {\n if (capture === void 0) {\n capture = false;\n }\n\n var handler = useEventCallback(listener);\n useEffect(function () {\n var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n target.addEventListener(event, handler, capture);\n return function () {\n return target.removeEventListener(event, handler, capture);\n };\n }, [eventTarget]);\n}","import * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext({});\nDropdownContext.displayName = 'DropdownContext';\nexport default DropdownContext;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useDropdownItem } from '@restart/ui/DropdownItem';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n eventKey,\n disabled = false,\n onClick,\n active,\n as: Component = Anchor,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n const [dropdownItemProps, meta] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, { ...props,\n ...dropdownItemProps,\n ref: ref,\n className: classNames(className, prefix, meta.isActive && 'active', disabled && 'disabled')\n });\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","import * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n // @ts-ignore\n if (!(process.env.NODE_ENV !== \"production\")) return ref; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n const warningRef = useCallback(refValue => {\n !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${componentName} injected a ref to a provided \\`as\\` component that resolved to a component instance instead of a DOM element. ` + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n }, [componentName]); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n return useMergedRefs(warningRef, ref);\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownMenu } from '@restart/ui/DropdownMenu';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport DropdownContext from './DropdownContext';\nimport InputGroupContext from './InputGroupContext';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n flip: true\n};\nexport function getDropdownMenuPlacement(alignEnd, dropDirection, isRTL) {\n const topStart = isRTL ? 'top-end' : 'top-start';\n const topEnd = isRTL ? 'top-start' : 'top-end';\n const bottomStart = isRTL ? 'bottom-end' : 'bottom-start';\n const bottomEnd = isRTL ? 'bottom-start' : 'bottom-end';\n const leftStart = isRTL ? 'right-start' : 'left-start';\n const leftEnd = isRTL ? 'right-end' : 'left-end';\n const rightStart = isRTL ? 'left-start' : 'right-start';\n const rightEnd = isRTL ? 'left-end' : 'right-end';\n let placement = alignEnd ? bottomEnd : bottomStart;\n if (dropDirection === 'up') placement = alignEnd ? topEnd : topStart;else if (dropDirection === 'end') placement = alignEnd ? rightEnd : rightStart;else if (dropDirection === 'start') placement = alignEnd ? leftEnd : leftStart;\n return placement;\n}\nconst DropdownMenu = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n align,\n rootCloseEvent,\n flip,\n show: showProps,\n renderOnMount,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n popperConfig,\n variant,\n ...props\n}, ref) => {\n let alignEnd = false;\n const isNavbar = useContext(NavbarContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n const {\n align: contextAlign,\n drop,\n isRTL\n } = useContext(DropdownContext);\n align = align || contextAlign;\n const isInputGroup = useContext(InputGroupContext);\n const alignClasses = [];\n\n if (align) {\n if (typeof align === 'object') {\n const keys = Object.keys(align);\n process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n\n if (keys.length) {\n const brkPoint = keys[0];\n const direction = align[brkPoint]; // .dropdown-menu-end is required for responsively aligning\n // left in addition to align left classes.\n\n alignEnd = direction === 'start';\n alignClasses.push(`${prefix}-${brkPoint}-${direction}`);\n }\n } else if (align === 'end') {\n alignEnd = true;\n }\n }\n\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const [menuProps, {\n hasShown,\n popper,\n show,\n toggle\n }] = useDropdownMenu({\n flip,\n rootCloseEvent,\n show: showProps,\n usePopper: !isNavbar && alignClasses.length === 0,\n offset: [0, 2],\n popperConfig,\n placement\n });\n menuProps.ref = useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref);\n useIsomorphicEffect(() => {\n // Popper's initial position for the menu is incorrect when\n // renderOnMount=true. Need to call update() to correct it.\n if (show) popper == null ? void 0 : popper.update();\n }, [show]);\n if (!hasShown && !renderOnMount && !isInputGroup) return null; // For custom components provide additional, non-DOM, props;\n\n if (typeof Component !== 'string') {\n menuProps.show = show;\n\n menuProps.close = () => toggle == null ? void 0 : toggle(false);\n\n menuProps.align = align;\n }\n\n let style = props.style;\n\n if (popper != null && popper.placement) {\n // we don't need the default popper style,\n // menus are display: none when not shown.\n style = { ...props.style,\n ...menuProps.style\n };\n props['x-placement'] = popper.placement;\n }\n\n return /*#__PURE__*/_jsx(Component, { ...props,\n ...menuProps,\n style: style // Bootstrap css requires this data attrib to style responsive menus.\n ,\n ...((alignClasses.length || isNavbar) && {\n 'data-bs-popper': 'static'\n }),\n className: classNames(className, prefix, show && 'show', alignEnd && `${prefix}-end`, variant && `${prefix}-${variant}`, ...alignClasses)\n });\n});\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.defaultProps = defaultProps;\nexport default DropdownMenu;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownToggle } from '@restart/ui/DropdownToggle';\nimport DropdownContext from '@restart/ui/DropdownContext';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Button from './Button';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n split,\n className,\n childBsPrefix,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = Button,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n const dropdownContext = useContext(DropdownContext);\n const isInputGroup = useContext(InputGroupContext);\n\n if (childBsPrefix !== undefined) {\n props.bsPrefix = childBsPrefix;\n }\n\n const [toggleProps] = useDropdownToggle();\n toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle')); // This intentionally forwards size and variant (if set) to the\n // underlying component, to allow it to render size and style variants.\n\n return /*#__PURE__*/_jsx(Component, {\n className: classNames(className, prefix, split && `${prefix}-split`, !!isInputGroup && (dropdownContext == null ? void 0 : dropdownContext.show) && 'show'),\n ...toggleProps,\n ...props\n });\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport BaseDropdown from '@restart/ui/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownItem from './DropdownItem';\nimport DropdownMenu, { getDropdownMenuPlacement } from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownHeader = createWithBsPrefix('dropdown-header', {\n defaultProps: {\n role: 'heading'\n }\n});\nconst DropdownDivider = createWithBsPrefix('dropdown-divider', {\n Component: 'hr',\n defaultProps: {\n role: 'separator'\n }\n});\nconst DropdownItemText = createWithBsPrefix('dropdown-item-text', {\n Component: 'span'\n});\nconst defaultProps = {\n navbar: false,\n align: 'start',\n autoClose: true\n};\nconst Dropdown = /*#__PURE__*/React.forwardRef((pProps, ref) => {\n const {\n bsPrefix,\n drop,\n show,\n className,\n align,\n onSelect,\n onToggle,\n focusFirstItemOnShow,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n navbar: _4,\n autoClose,\n ...props\n } = useUncontrolled(pProps, {\n show: 'onToggle'\n });\n const isInputGroup = useContext(InputGroupContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n const isRTL = useIsRTL();\n\n const isClosingPermitted = source => {\n // autoClose=false only permits close on button click\n if (autoClose === false) return source === 'click'; // autoClose=inside doesn't permit close on rootClose\n\n if (autoClose === 'inside') return source !== 'rootClose'; // autoClose=outside doesn't permit close on select\n\n if (autoClose === 'outside') return source !== 'select';\n return true;\n };\n\n const handleToggle = useEventCallback((nextShow, meta) => {\n if (meta.originalEvent.currentTarget === document && (meta.source !== 'keydown' || meta.originalEvent.key === 'Escape')) meta.source = 'rootClose';\n if (isClosingPermitted(meta.source)) onToggle == null ? void 0 : onToggle(nextShow, meta);\n });\n const alignEnd = align === 'end';\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const contextValue = useMemo(() => ({\n align,\n drop,\n isRTL\n }), [align, drop, isRTL]);\n return /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(BaseDropdown, {\n placement: placement,\n show: show,\n onSelect: onSelect,\n onToggle: handleToggle,\n focusFirstItemOnShow: focusFirstItemOnShow,\n itemSelector: `.${prefix}-item:not(.disabled):not(:disabled)`,\n children: isInputGroup ? props.children : /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, show && 'show', (!drop || drop === 'down') && prefix, drop === 'up' && 'dropup', drop === 'end' && 'dropend', drop === 'start' && 'dropstart')\n })\n })\n });\n});\nDropdown.displayName = 'Dropdown';\nDropdown.defaultProps = defaultProps;\nexport default Object.assign(Dropdown, {\n Toggle: DropdownToggle,\n Menu: DropdownMenu,\n Item: DropdownItem,\n ItemText: DropdownItemText,\n Divider: DropdownDivider,\n Header: DropdownHeader\n});","import React from \"react\"\n\nexport var AC = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M440.1 181.1c-.1 39.2-6.4 81.4-57.4 101.5-51.1-20.1-57.3-62.3-57.4-101.5h114.8z\"\n />\n <path\n fill=\"#29DBFF\"\n d=\"M439.6 197.7c-2.8 34.9-12.4 67.4-57 85-44.4-17.6-54.5-51.2-56.9-84.9\"\n />\n <path\n fill=\"#FFF\"\n d=\"M437.8 214.1c-3.2 24.3-16.7 53.5-55.1 68.6-38.4-15.1-50.5-42.5-55.1-68.4\"\n />\n <path\n fill=\"#29DBFF\"\n d=\"M434.2 230.3c-5.7 17.7-19.3 39.4-51.3 52.8-32-12.6-45.2-33.8-51.4-53\"\n />\n <path\n fill=\"#FFF\"\n d=\"M426.7 246.9c-6.5 11.3-17.7 25.4-44 35.9-27.5-11.5-37.4-25.3-44-36.1\"\n />\n <path\n fill=\"#29DBFF\"\n d=\"M412.4 265.1c-8.1 7.2-12 11.2-29.6 17.9-20.1-7.9-22.6-11.6-29.2-17.5\"\n />\n <path\n fill=\"#5CC85C\"\n d=\"M383.3 231.6c-.2-.2-27.9 35.7-27.9 35.7-1.8-1.3-10-9.5-13.3-15l41.3-50.1 40.2 49.7c-3.9 6.5-11.4 13.6-13.2 15M382.6 85.3l-26.5 45h53z\"\n />\n <ellipse\n transform=\"rotate(-82.3 291.431 225.686)\"\n fill=\"#F7A226\"\n cx={291.4}\n cy={225.7}\n rx={48.7}\n ry={15.7}\n />\n <ellipse\n transform=\"rotate(-68.099 303.087 164.67)\"\n fill=\"#DDC7AB\"\n cx={303.1}\n cy={164.7}\n rx={11.7}\n ry={7.2}\n />\n <ellipse\n transform=\"rotate(-81.738 291.697 271.697)\"\n fill=\"#DDC7AB\"\n cx={291.7}\n cy={271.7}\n rx={11.4}\n ry={3.3}\n />\n <ellipse\n transform=\"matrix(.9986 -.05353 .05353 .9986 -13.992 16.424)\"\n fill=\"#DDC7AB\"\n cx={299.6}\n cy={269.4}\n rx={3.3}\n ry={11}\n />\n <ellipse\n transform=\"rotate(-21.518 314.54 201.06)\"\n fill=\"#DDC7AB\"\n cx={314.5}\n cy={201.1}\n rx={4.1}\n ry={13.7}\n />\n <ellipse\n transform=\"rotate(-21.518 317.511 178.077)\"\n fill=\"#DDC7AB\"\n cx={317.5}\n cy={178.1}\n rx={13.7}\n ry={4.1}\n />\n <ellipse\n transform=\"rotate(-7.7 473.781 225.857)\"\n fill=\"#F7A226\"\n cx={473.6}\n cy={225.9}\n rx={15.7}\n ry={48.7}\n />\n <ellipse\n transform=\"rotate(-21.901 462.057 164.866)\"\n fill=\"#DDC7AB\"\n cx={462}\n cy={164.9}\n rx={7.2}\n ry={11.7}\n />\n <ellipse\n transform=\"rotate(-8.27 473.27 271.908)\"\n fill=\"#DDC7AB\"\n cx={473.4}\n cy={271.9}\n rx={3.3}\n ry={11.4}\n />\n <ellipse\n transform=\"matrix(.05353 -.9986 .9986 .05353 171.34 719.998)\"\n fill=\"#DDC7AB\"\n cx={465.5}\n cy={269.6}\n rx={11}\n ry={3.3}\n />\n <ellipse\n transform=\"rotate(-68.482 450.552 201.247)\"\n fill=\"#DDC7AB\"\n cx={450.6}\n cy={201.2}\n rx={13.7}\n ry={4.1}\n />\n <ellipse\n transform=\"rotate(-68.482 447.58 178.265)\"\n fill=\"#DDC7AB\"\n cx={447.6}\n cy={178.3}\n rx={4.1}\n ry={13.7}\n />\n <path\n fill=\"#B0C6CC\"\n d=\"M373.3 130.3L356.1 155l17.8 26.1H396l4.7-25.4-5.4-25.4z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M256 0v117.4h-46.1l46.1 30.7v22.6h-22.6L160 121.8v48.9H96v-48.9l-73.4 48.9H0v-22.6l46.1-30.7H0v-64h46.1L0 22.7V0h22.6L96 48.9V0h64v48.9L233.4 0z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 0h-32v69.4H0v32h112v69.3h32v-69.3h112v-32H144z\"\n />\n <path fill=\"#2E52B2\" d=\"M256 22.7v30.7h-46.1z\" />\n <path\n fill=\"#D80027\"\n d=\"M0 170.7v-11l62.5-42.3h22.6L7.3 170.7zM7.3.1l77.8 53.2H62.5L0 11.1V.1zM256 .1v11l-62.5 42.3h-22.6L248.7.1zm-7.3 170.6l-77.8-53.3h22.6l62.5 42.3v11z\"\n />\n </svg>\n)\n\nexport var AD = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<style />\n <path fill=\"#FFDA44\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#0052B4\" d=\"M0 0h171v342H0z\" />\n <path fill=\"#D80027\" d=\"M342 0h171v342H342zM198.9 113.6H256v64.8h-57.1z\" />\n <path\n d=\"M267.6 113.6v64.7m16.6-64.7v64.7m16.6-64.7v64.7\"\n stroke=\"#D80027\"\n strokeWidth={7}\n />\n <path\n d=\"M247.4 178.4v64.7m-13.3-64.7v64.7m-13.3-64.6v53.9m-13.7-53.9v47.1\"\n stroke=\"#D80027\"\n strokeWidth={5}\n />\n <path fill=\"#FFDA44\" d=\"M199.9 146l27.6-32.4 28.5 32.3-28.1 32.4z\" />\n <path\n fill=\"#BC8B00\"\n d=\"M182.2 95.9v92.2c0 34.3 27.3 54.2 48.6 64.5-.8 1.4 25.1 8.3 25.1 8.3s25.9-6.9 25.1-8.3c21.4-10.3 48.6-30.1 48.6-64.5V95.9H182.2zm129.9 92.2c0 16.9-10 29.4-32.8 43.9-8.6 5.5-17.5 9-23.3 11-5.8-2-14.7-5.5-23.3-11-22.8-14.5-32.8-28-32.8-43.9v-74.5h112.2v74.5z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M264.4 188.9h29.5v8.6h-29.5zm0 17.6h29.5v8.6h-29.5z\"\n />\n </svg>\n)\n\nexport var AE = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#009e49\" d=\"M0 0h513v114H0z\" />\n <path d=\"M0 228h513v114H0z\" />\n <path fill=\"#ce1126\" d=\"M0 0h171v342H0z\" />\n </svg>\n)\n\nexport var AF = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#DB3E00\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#479900\" d=\"M331 0h182v342H331z\" />\n <path d=\"M0 0h181.8v342H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 126.7c-19.4 0-35.2 15.8-35.2 35.2v52.8h70.4v-52.8c0-19.5-15.8-35.2-35.2-35.2z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M256 84.3c-47.7 0-86.4 38.7-86.4 86.4S208.3 257 256 257s86.4-38.7 86.4-86.4-38.7-86.3-86.4-86.3zm0 157.7c-39.4 0-71.4-32-71.4-71.4 0-39.4 32-71.4 71.4-71.4 39.4 0 71.4 32 71.4 71.4 0 39.5-32 71.4-71.4 71.4z\"\n />\n </svg>\n)\n\nexport var AG = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#0072c6\"\n d=\"M88.8 136.5c-2.2 12.9-3.4 26.2-3.4 39.8 0 13.6 1.2 27 3.4 39.8L256 228.3l167.2-12.1c2.2-12.9 3.4-26.2 3.4-39.8s-1.2-27-3.4-39.8\"\n />\n <path\n fill=\"#FFF\"\n d=\"M423.2 219H88.8c15.8 69.8 84.7 122.3 167.2 122.3S407.4 288.8 423.2 219z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M365.9 136.5H146.1l44.9-21.1-23.9-43.5 48.8 9.4L222 32l34 36.2L290 32l6.1 49.3 48.8-9.4-23.9 43.5z\"\n />\n <g fill=\"#ce1126\">\n <path d=\"M256.5 342L0 0v342z\" />\n <path d=\"M513 342V0L256 342z\" />\n </g>\n </svg>\n)\n\nexport var AI = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#00318b\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M454.8 265.38c7.94-10.93 13.24-24.27 13.24-40.42V104.89a59.754 59.754 0 01-36.02 12.01c-19.64 0-37.07-9.43-48.03-24.01-10.95 14.58-28.39 24.01-48.03 24.01-13.52 0-25.99-4.47-36.02-12v120.06c0 16.16 5.3 29.5 13.24 40.42H454.8z\"\n />\n <path\n fill=\"#8DCCFF\"\n d=\"M310.23 260.98C332.65 296.96 384 309 384 309s51.35-12.04 73.77-48.02H310.23z\"\n />\n <path\n fill=\"#D87B00\"\n d=\"M396.66 172.21c.32 1.42 8.72 10.17 17.56 20.15 1.39 1.57-8.74 12.63-6.91 12.59 4.75-.12 19.27-17.26 19.34 6.65.05 15.94-30 27.51-30 27.51h17.47l.65 14.96s4.97-13.34 7.59-16.57c8.1-9.97 20.18-30.07 34.59-27.1 14.41 2.97-13.66-13.92-13.66-13.92s-5.2-15.19-16.63-16.97c-10.06-1.57-14.29-2.51-26.64-7.3-1.68-.65-3.88-2.32-3.36 0z\"\n />\n <path\n fill=\"#D87B00\"\n d=\"M359.69 198.69c1.07-.99 4.46-12.63 8.69-25.28.67-1.99 15.31 1.27 14.35-.3-2.47-4.06-24.58-8.08-3.9-20.08 13.79-8 38.82 12.27 38.82 12.27l-8.72-15.14 12.64-8.03s-14.05 2.35-18.14 1.69c-12.68-2.04-36.13-2.48-40.75-16.45-4.62-13.97-5.25 18.79-5.25 18.79s-10.56 12.08-6.4 22.88c3.66 9.5 4.96 13.64 6.97 26.73.29 1.79-.06 4.53 1.69 2.92z\"\n />\n <path\n fill=\"#D87B00\"\n d=\"M395.67 219.87c-1.39-.43-13.16 2.49-26.22 5.18-2.06.42-6.59-13.88-7.47-12.26-2.27 4.17 5.36 25.31-15.41 13.45-13.84-7.91-8.89-39.73-8.89-39.73l-8.71 15.14-13.29-6.9s9.09 10.96 10.57 14.84c4.6 11.99 16 32.49 6.24 43.49-9.76 11.01 18.88-4.9 18.88-4.9s15.76 3.07 23-5.96c6.38-7.94 9.3-11.14 19.61-19.45 1.43-1.12 3.97-2.19 1.69-2.9z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M256.5 0h-23.1L160 48.9V0H96v48.9L22.6 0H0v22.7l46.1 30.7H0v64h46.1L0 148.1V171h22.6L96 121.8V171h64v-49.2l73.4 49.2h23.1v-22.9l-46.6-30.7h46.6v-64h-46.6l46.6-30.7z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 0h-32v69.4H0v32h112V171h32v-69.6h112.5v-32H144z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M0 171v-11.3l62.5-42.3h22.6L7.3 171zM7.3.1l77.8 53.2H62.5L0 11.1V.1zm249.2 0v11l-63 42.3h-22.6L248.7.1zM248.7 171l-77.8-53.6h22.6l63 42.3V171z\"\n />\n </svg>\n)\n\nexport var AL = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 90 60\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#ED2024\" d=\"M0 0h90v60H0z\" />\n <path\n fill=\"#212121\"\n d=\"M32.5 12.2v16l7.1 2.5-5 4.9 2.4 3 5.3-5.5 1.2 2.3-3 4.9 3.6 5.6-1.8 2.6 2.8 3.6 2.7-3.7-1.5-2.6 3-5.8-2.7-4.6 1.2-2.3 5.2 5.5 2.5-2.9-5.2-5.1 7.2-2.6V12.2l-5.2 1.9-.1 3.8-3.3.3v-2.6l1.7-2.3 5.6-2.2-2.3-.4 1.4-1.2.9.4-.8-1.4L54 9l-1-1.1L47.5 9l1.4 1.1-3.8 4.9-3.8-4.8 1.3-1.1-5-1.2L36.2 9l-1.5-.4-.8 1.4.9-.6 1.6 1.1-2.3.5 5.5 2 1.6 2.3v2.9l-3.3-.3v-3.6z\"\n />\n <path\n d=\"M26.2 25h6.4v2.5h-6.4zm0-4.1h6.4v2.7h-6.4zm0-4.2h6.4v2.6h-6.4zm0-4h6.4v2.5h-6.4zM57.4 25h6.4v2.5h-6.4zm0-4.1h6.4v2.7h-6.4zm0-4.2h6.4v2.6h-6.4zm0-4h6.4v2.5h-6.4zM53.4 36.1h6.4V38h-6.4zm-23.2 0h6.4V38h-6.4z\"\n fill=\"#212121\"\n />\n </svg>\n)\n\nexport var AM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#D80027\" d=\"M0 0h513v114H0z\" />\n <path fill=\"#FF9811\" d=\"M0 228h513v114H0z\" />\n </svg>\n)\n\nexport var AO = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path d=\"M0 171h513v171H0z\" />\n <path fill=\"#D80027\" className=\"prefix__st0\" d=\"M0 0h513v171H0z\" />\n <g fill=\"#FFDA44\">\n <path d=\"M332.7 135.6l17.5-8.6-7.4-19-18.7 6.2zm-45.6-56l5.5-18.8-19.1-7.2-8 18zm29.4 23.2l12.2-15.3-14.9-13.9-14.2 13.6zm19.4 68.9l19.5-.8v-21.3l-22.9.2zm-12.6 38.1l18.8 5.5 7.3-19-18-8zm-29 32.4l14.9 12.7 14.4-14.4-13.1-14.7zm-47-147.7l9.8 19.9 21.9 3.3-15.9 15.5 3.6 21.9-19.6-10.4-19.7 10.2 3.8-21.9-15.8-15.5 22-3.1z\" />\n <path d=\"M250.8 61.3l-2.7 18.3c43.1 3.2 77 39.2 77 83.1 0 46-37.3 82.9-83.4 83.4-29.2.3-51.3-14.8-67-33.7l-13.9 12.3c15 19 40.8 39.9 80.9 39.9 56.3 0 101.9-45.6 101.9-101.9.1-53.2-40.7-96.9-92.8-101.4z\" />\n <path\n fill=\"#000\"\n d=\"M291.9 223.4l-11.8 14s51.9 38.9 53.6 40.4c1.7 1.5 5.2 2 9.1-2.7 3.7-4.5 2.8-8.1.9-9.7-2-1.5-51.8-42-51.8-42z\"\n />\n <path d=\"M206.1 157.2c-7.7 10.3-7.5 23.1 2.8 30.9 0 0 135.2 101.5 136.9 103 1.7 1.5 5.2 2 9.1-2.7 3.7-4.5 2.8-8.1.9-9.7-1.9-1.5-149.7-121.5-149.7-121.5zm47.7 99.1l7.3 18.2 19.5-6-4.8-19.1zm-40.4-3.7l-2 19.5 20.1 3.6 4.5-19.1zm-35.7-21.2L167.4 248l16.4 12.1 12.5-15.2z\" />\n </g>\n </svg>\n)\n\nexport var AQ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 744 496\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#3A7DCE\" d=\"M0 0h744v496H0V0z\" />\n <path\n fill=\"#fff\"\n d=\"M120 125l90 63 54-14 23-81 61-36 92 14 105 55 6 90 34 12v92l-65 115-78 24-72-17 18-30-8-32-10 9-162-25-49-85 20-46-49-62z\"\n />\n </svg>\n)\n\nexport var AR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v342H0z\" />\n <path fill=\"#338AF3\" d=\"M0 0h512v114H0zm0 228h512v114H0z\" />\n <circle\n fill=\"#FFDA44\"\n stroke=\"#d6ab00\"\n strokeWidth={5}\n cx={256.5}\n cy={171}\n r={40}\n />\n </svg>\n)\n\nexport var AS = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#10338c\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#D80027\" d=\"M513 33L95.3 171 513 310.76v30.57L0 171 513 0z\" />\n <path fill=\"#FFF\" d=\"M513 287.18v24.58L81.72 171 513 30v24.16\" />\n <path\n fill=\"#A2001D\"\n d=\"M476.98 140.21l-21.89 10.68-3.18-15.32 31.19-29.77s-9.42-40.65-13.75-44.98l-112.32 55.82-6.84 36.76-31.9 28.59-.4 34.2 34.29-22.76 67.23-2.66-1.51 38.11h22.23l11.9-44.64 31.55-24.61-6.6-19.42z\"\n />\n <path\n fill=\"#EFC100\"\n stroke=\"#231F20\"\n strokeMiterlimit={10}\n d=\"M317.89 238.41l-22.24-11.11 22.24-11.11h144.46v22.22z\"\n />\n </svg>\n)\n\nexport var AT = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 114h513v114H0z\" />\n <path fill=\"#D80027\" d=\"M0 0h513v114H0zm0 228h513v114H0z\" />\n </svg>\n)\n\nexport var AU = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#10338c\" d=\"M0 0h513v342H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M222.2 170.7c.3-.3.5-.6.8-.9-.2.3-.5.6-.8.9zM188 212.6l11 22.9 24.7-5.7-11 22.8 19.9 15.8-24.8 5.6.1 25.4-19.9-15.9-19.8 15.9.1-25.4-24.8-5.6 19.9-15.8-11.1-22.8 24.8 5.7zm197.9 28.5l5.2 10.9 11.8-2.7-5.3 10.9 9.5 7.5-11.8 2.6v12.2l-9.4-7.6-9.5 7.6.1-12.2-11.8-2.6 9.5-7.5-5.3-10.9 11.8 2.7zm-48.6-116l5.2 10.9 11.8-2.7-5.3 10.9 9.5 7.5-11.8 2.7v12.1l-9.4-7.6-9.5 7.6.1-12.1-11.9-2.7 9.5-7.5-5.3-10.9L332 136zm48.6-66.2l5.2 10.9 11.8-2.7-5.3 10.9 9.5 7.5-11.8 2.7v12.1l-9.4-7.6-9.5 7.6.1-12.1-11.8-2.7 9.5-7.5-5.3-10.9 11.8 2.7zm42.5 49.7l5.2 10.9 11.8-2.7-5.3 10.9 9.5 7.5-11.8 2.6V150l-9.4-7.6-9.5 7.6v-12.2l-11.8-2.6 9.5-7.5-5.3-10.9 11.8 2.7zM398 166.5l4.1 12.7h13.3l-10.8 7.8 4.2 12.7-10.8-7.9-10.8 7.9 4.1-12.7-10.7-7.8h13.3z\" />\n <path d=\"M254.8 0v30.6l-45.1 25.1h45.1V115h-59.1l59.1 32.8v22.9h-26.7l-73.5-40.9v40.9H99v-48.6l-87.4 48.6H-1.2v-30.6L44 115H-1.2V55.7h59.1L-1.2 22.8V0h26.7L99 40.8V0h55.6v48.6L242.1 0z\" />\n </g>\n <path\n fill=\"#D80027\"\n d=\"M142.8 0h-32v69.3h-112v32h112v69.4h32v-69.4h112v-32h-112z\"\n />\n <path fill=\"#0052B4\" d=\"M154.6 115l100.2 55.7v-15.8L183 115z\" />\n <path fill=\"#FFF\" d=\"M154.6 115l100.2 55.7v-15.8L183 115z\" />\n <path\n d=\"M154.6 115l100.2 55.7v-15.8L183 115zm-83.9 0l-71.9 39.9v15.8L99 115z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M99 55.7L-1.2 0v15.7l71.9 40z\" />\n <path fill=\"#FFF\" d=\"M99 55.7L-1.2 0v15.7l71.9 40z\" />\n <path\n d=\"M99 55.7L-1.2 0v15.7l71.9 40zm84 0l71.8-40V0L154.6 55.7z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var AW = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 363 242\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 0h363v242H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M57 96.9L14.7 78.2 57 59.6l18.6-42.2 18.6 42.2 42.3 18.6-42.3 18.7-18.6 42.2z\"\n />\n <path\n fill=\"#f30028\"\n d=\"M75.6 40.6l11.5 26.1 26.1 11.5-26.1 11.5-11.5 26.1-11.5-26.1L38 78.2l26.1-11.5z\"\n />\n <path d=\"M0 152.2h363v15.7H0zm0 31.4h363v15.7H0z\" fill=\"#FFDA44\" />\n </svg>\n)\n\nexport var AX = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M513 210.9H202.2V342h-79.8V210.9H0v-79.8h122.4V0h79.8v131.1H513v61.2z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M513 149.7v42.6H183.7V342H141V192.3H0v-42.6h141V0h42.7v149.7z\"\n />\n </svg>\n)\n\nexport var AZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#ef3340\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#00b5e2\" d=\"M0 0h513v114H0z\" />\n <path fill=\"#509e2f\" d=\"M0 228h513v114H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M265.6 212.6c-23 0-41.6-18.6-41.6-41.6s18.6-41.6 41.6-41.6c7.2 0 13.9 1.8 19.8 5-9.2-9-21.9-14.6-35.8-14.6-28.3 0-51.2 22.9-51.2 51.2s22.9 51.2 51.2 51.2c13.9 0 26.6-5.6 35.8-14.6-5.9 3.2-12.6 5-19.8 5z\" />\n <path d=\"M297.6 142.2l5.5 15.5 14.9-7.1-7.1 14.9 15.5 5.5-15.5 5.5 7.1 14.9-14.9-7.1-5.5 15.5-5.5-15.5-14.9 7.1 7.1-14.9-15.5-5.5 15.5-5.5-7.1-14.9 14.9 7.1z\" />\n </g>\n </svg>\n)\n\nexport var BA = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#10338C\" d=\"M0 0h513.1v342H0z\" />\n <path fill=\"#F6C500\" d=\"M99.9 0h342v342\" />\n <g fill=\"#FFF\">\n <path d=\"M19.9 21.1L40.3 6.2 60.9 21 54 0H26.7z\" />\n <path d=\"M92.3 25.5L84.4 1.3l-7.8 24.2H51.3l20.5 14.8-7.8 24 20.4-14.8L105 64.3l-7.9-24 20.5-14.9z\" />\n <path d=\"M136.3 69.2l-7.8-24-7.8 24H95.5l20.4 14.9-7.8 24 20.4-14.8 20.6 14.8-7.8-24 20.4-14.9z\" />\n <path d=\"M179.4 112.3l-7.8-24.1-7.8 24.1h-25.3l20.5 14.9-7.8 24 20.4-14.8 20.6 14.8-7.9-24 20.5-15z\" />\n <path d=\"M222.5 155.3l-7.8-24-7.8 24h-25.4l20.6 15-7.8 24 20.4-14.9 20.4 14.9-7.8-24 20.6-15z\" />\n <path d=\"M265.6 198.4l-7.8-24-7.8 24h-25.4l20.6 14.9-7.8 24.1 20.4-14.9 20.4 14.9-7.8-24.2 20.5-14.8z\" />\n <path d=\"M308.7 241.5l-7.9-24-7.8 24h-25.3l20.5 14.8-7.9 24.2 20.6-14.9 20.4 14.8-7.8-24.1 20.5-14.8z\" />\n <path d=\"M351.7 284.6l-7.8-24.2-7.8 24.2h-25.3l20.4 14.8-7.8 24.1 20.5-14.9 20.5 14.9-7.8-24.1 20.4-14.8z\" />\n <path d=\"M387 303.5l-7.9 24.1-25.3.1 19.8 14.3h26.6l19.9-14.4h-25.3z\" />\n </g>\n </svg>\n)\n\nexport var BB = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#ffc726\" d=\"M0 0h513v342H0z\" />\n <path d=\"M0 0h171v342H0zm342 0h171v342H342z\" fill=\"#00267f\" />\n <path d=\"M325.74 101.02l-31.97 12.4c-.68 1.35-5.79 7.54-8.18 53.06h-17.05v-60.42L256 78.68l-12.54 27v60.8H226.4c-2.39-45.53-7.8-52.48-8.47-53.84l-31.68-11.63c.15.31 15.4 31.34 15.4 78.01v12.54h41.81v71.07h25.08v-71.07h41.81v-12.54c0-24.13 4.17-44.02 7.68-56.46 3.82-13.57 7.7-21.49 7.74-21.57l-.03.03z\" />\n </svg>\n)\n\nexport var BD = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#2d6e41\" d=\"M0 85.331h513v342H0z\" />\n <circle fill=\"#F40B32\" cx={218.902} cy={256.5} r={115} />\n </svg>\n)\n\nexport var BE = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#fdda25\" d=\"M0 0h513v342H0z\" />\n <path d=\"M0 0h171v342H0z\" />\n <path fill=\"#ef3340\" d=\"M342 0h171v342H342z\" />\n </svg>\n)\n\nexport var BF = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#3d944f\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#ef2b2d\" d=\"M0 0h513v171H0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M256 102.6l16.9 52h54.7l-44.2 32.2 16.8 52-44.2-32.1-44.2 32.1 16.8-52-44.2-32.2h54.7z\"\n />\n </svg>\n)\n\nexport var BG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#00966e\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#FFF\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#d62612\" d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var BH = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M222.8 34.3l-85.2 34.2 85.2 34.1-85.2 34.1 85.2 34.1-85.2 34.1 85.2 34.1-85.2 34.1 85.2 34.1-85.2 34.1H0V0h137.6z\"\n />\n </svg>\n)\n\nexport var BI = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M215.9 170.7L0 314.6V26.8zM513 26.8v287.8L297.1 170.7z\"\n fill=\"#47a644\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M512 26.8L296.1 170.7 512 314.6v26.7h-40.1L256 197.4 40.1 341.3H0v-26.7l215.9-143.9L0 26.8V0h40.1L256 143.9 471.9 0H512z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M513 26.8L297.1 170.7 513 314.6V342h-40L256 197.4 39 342H0v-27.4l215.9-143.9L0 26.8V0h40.1L256 143.9 471.9 0H513z\"\n />\n <circle fill=\"#FFF\" cx={251.6} cy={170.7} r={100.2} />\n <path\n d=\"M251.4 103.6l7.4 12.9h14.8l-7.4 12.8 7.4 12.8h-14.8l-7.4 12.9-7.4-12.9h-14.8l7.4-12.8-7.4-12.8H244zm38.8 66.7l7.4 12.9h14.8L305 196l7.4 12.8h-14.8l-7.4 12.9-7.4-12.9h-14.9l7.4-12.8-7.4-12.8h14.9zm-77.2 0l7.4 12.9h14.9l-7.4 12.8 7.4 12.8h-14.9l-7.4 12.9-7.4-12.9h-14.8l7.4-12.8-7.4-12.8h14.8z\"\n fill=\"#D80027\"\n stroke=\"#47a644\"\n strokeWidth={3}\n />\n </svg>\n)\n\nexport var BJ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#008751\" d=\"M0 85.333h513v342H0z\" />\n <path fill=\"#fcd116\" d=\"M196.666 85.333H513v171H196.666z\" />\n <path fill=\"#e8112d\" d=\"M196.666 256H513v171H196.666z\" />\n </svg>\n)\n\nexport var BL = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.33\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.33H0z\" />\n <path\n fill=\"#E6BC00\"\n d=\"M157.31 199.76s-9.04 43.93-19.31 40.39c-10.62-3.54-17.53-18.76-17.53-18.76l-14.52 21.24s38.18 8.48 41.01 5.47c1.22-1.14 8.21-15.1 10.34-26.05v-22.29zm-56.13 60.57s-2.48 20.18-1.06 22.66c1.24 2.3 39.48 11.33 39.48 11.33s-24.96 16.46-29.74 20.54L91.8 284.94l-.71-24.61h10.09zm11.33-165.69s39.65 41.6 40.36 45.5c.71 3.72-4.25 3.19-4.25 3.19s-44.79-37.53-49.92-41.07c-5.31-3.55 13.81-7.62 13.81-7.62z\"\n />\n <path\n fill=\"#ADADAD\"\n d=\"M99.41 104.73s16.99-.71 16.64-11.51c-.35-10.62-11.15-14.87-19.12-12.39-7.97 2.3-23.01 13.45-13.63 35.05 9.38 21.42 23.37 29.39 26.2 47.8 0 0-5.46 9.86-19.12.35-16.9-11.77-6.2-38.24-10.44-44.96-4.25-7.08-40.95-38.92-40.95-38.92s-30.24 39.37-18 74.92c16.95 49.21 51.74 31.98 64.61 36.76 0 0-42.13 61.96-49.57 67.09 0 0 24.08 8.32 47.8-18.76 0 0 5.84 9.74 7.08 20.18h10.27c4.78-26.2 51.51-64.26 49.92-82.32-1.77-21.25-49.21-49.39-51.69-73.29z\"\n />\n <path\n fill=\"#E6BC00\"\n d=\"M359.17 201.27s8.96 42.43 19.23 38.89c10.62-3.54 17.53-18.76 17.53-18.76l14.52 21.24s-37 8.48-39.83 5.47c-1.21-1.14-9.32-13.79-11.52-24.66l.07-22.18zm56.05 59.06s2.48 20.18 1.06 22.66c-1.24 2.3-39.48 11.33-39.48 11.33s24.96 16.46 29.74 20.54l18.06-29.92.71-24.61h-10.09zM403.89 94.64s-39.65 41.6-40.36 45.5c-.71 3.72 4.25 3.19 4.25 3.19s44.79-37.53 49.92-41.07c5.14-3.55-13.81-7.62-13.81-7.62z\"\n />\n <path\n fill=\"#125ECC\"\n d=\"M157.31 87.06H359.1v145.46c0 16.06-9.69 21.39-21.91 31.85l-45.92 39.41c-18.25 15.62-47.91 15.57-66.07 0l-46.01-39.43c-12.08-10.35-21.88-15.71-21.88-31.82V87.06z\"\n />\n <path\n fill=\"#FFE600\"\n d=\"M200.55 147.71c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41-6.45 14.41-14.41 14.41zm57.65-3c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41-6.45 14.41-14.41 14.41zm57.65 3c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41-6.45 14.41-14.41 14.41zM214.96 274.43c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41c.01 7.96-6.45 14.41-14.41 14.41zm43.24 14.42c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41c0 7.95-6.45 14.41-14.41 14.41zm43.24-14.42c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41-6.45 14.41-14.41 14.41z\"\n />\n <path fill=\"#D60537\" d=\"M157.31 175.36H359.1v57.65H157.31v-57.65z\" />\n <path\n fill=\"#EACE00\"\n d=\"M142.9 43.82s57.65-14.41 115.31-14.41 115.31 14.41 115.31 14.41l-14.41 57.65s-50.45-14.41-100.89-14.41-100.89 14.41-100.89 14.41L142.9 43.82z\"\n />\n <path\n fill=\"#7A6920\"\n d=\"M258.2 72.65c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41-6.45 14.41-14.41 14.41zm57.65 5c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41-6.45 14.41-14.41 14.41zm-115.3 0c-7.96 0-14.41-6.45-14.41-14.41s6.45-14.41 14.41-14.41 14.41 6.45 14.41 14.41-6.45 14.41-14.41 14.41z\"\n />\n <path\n fill=\"#ADADAD\"\n d=\"M365.08 178.02c-1.59 18.06 45.14 56.12 49.92 82.32h10.27c1.24-10.44 7.08-20.18 7.08-20.18 23.72 27.09 47.8 18.76 47.8 18.76-7.44-5.13-49.57-67.09-49.57-67.09 12.88-4.78 47.67 12.45 64.61-36.76 12.24-35.55-18-74.92-18-74.92s-36.7 31.84-40.95 38.92c-4.25 6.73 6.46 33.2-10.44 44.96-13.66 9.51-19.12-.35-19.12-.35 2.83-18.41 16.82-26.38 26.2-47.8 9.38-21.6-5.66-32.75-13.63-35.05-7.97-2.48-18.76 1.77-19.12 12.39-.35 10.8 16.64 11.51 16.64 11.51-2.48 23.9-49.92 52.04-51.69 73.29z\"\n />\n <circle fill=\"#FFF\" cx={258.2} cy={204.19} r={16.93} />\n </svg>\n)\n\nexport var BM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#c8102e\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#012169\" d=\"M0 .1h256.5v171H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 0h-22.6L160 48.9V0H96v48.9L22.6 0H0v22.7l46.1 30.7H0v64h46.1L0 148.1v22.6h22.6L96 121.8v48.9h64v-48.9l73.4 48.9H256v-22.6l-46.1-30.7H256v-64h-46.1L256 22.7z\"\n />\n <path\n fill=\"#c8102e\"\n d=\"M144 0h-32v69.4H0v32h112v69.3h32v-69.3h112v-32H144z\"\n />\n <path\n fill=\"#c8102e\"\n d=\"M0 170.7v-11l62.5-42.3h22.6L7.3 170.7zM7.3.1l77.8 53.2H62.5L0 11.1V.1zM256 .1v11l-62.5 42.3h-22.6L248.7.1zm-7.3 170.6l-77.8-53.3h22.6l62.5 42.3v11z\"\n />\n <g transform=\"translate(13 5)\">\n <path\n fill=\"#fff\"\n d=\"M303.9 94.94v99.69c0 59.81 79.75 99.69 79.75 99.69s79.75-39.88 79.75-99.69V94.94H303.9z\"\n />\n <path\n fill=\"#2F8F22\"\n d=\"M436.37 254.44H330.93c23.13 25.08 52.72 39.88 52.72 39.88s29.59-14.8 52.72-39.88z\"\n />\n <circle fill=\"#65B5D2\" cx={383.65} cy={214.56} r={39.88} />\n <circle fill=\"#c8102e\" cx={343.77} cy={194.63} r={19.94} />\n <circle fill=\"#c8102e\" cx={423.52} cy={194.63} r={19.94} />\n <circle fill=\"#c8102e\" cx={383.65} cy={154.75} r={19.94} />\n </g>\n </svg>\n)\n\nexport var BN = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.33\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 0h512v341.33H0z\" />\n <path d=\"M0 193.74l512 127.19V214.26L0 97.08z\" />\n <path fill=\"#FFF\" d=\"M512 234.26v-86.67L0 20.41v86.67\" />\n <g fill=\"#D80027\" stroke=\"#231F20\" strokeWidth={3} strokeMiterlimit={10}>\n <path d=\"M306.4 134.01a50.28 50.28 0 016.07 24.02c0 21.55-13.51 39.94-32.52 47.19v-59.51c5.7-1.19 10-6.37 10-12.59 6.9 0 12.5-5.75 12.5-12.85h-.42c6.9 0 12.91-5.75 12.91-12.85h-34.99V76.58l-14.99-27.71-15 27.71v30.84h-34.99c0 7.1 6.01 12.85 12.91 12.85h-.42c0 7.1 5.6 12.85 12.5 12.85 0 6.22 4.29 11.4 9.99 12.59v61.37c-22.09-5.39-38.48-25.3-38.48-49.05 0-8.7 2.2-16.88 6.07-24.02-10.96 11.21-17.72 26.53-17.72 43.44 0 34.32 27.82 62.15 62.15 62.15s62.15-27.83 62.15-62.15c0-16.91-6.77-32.24-17.72-43.44z\" />\n <path d=\"M198.46 226.81s20.69 27.71 66.5 27.71 66.5-27.71 66.5-27.71l13.47 28.37s-21.03 27.71-79.97 27.71-79.97-27.71-79.97-27.71l13.47-28.37zm-69.22-93.63h20.88l24.93 27.26v73.45h-26.28v-68.37zm270.76 0h-20.88l-24.93 27.26v73.45h26.27v-68.37z\" />\n </g>\n </svg>\n)\n\nexport var BO = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#d52b1e\" d=\"M0 0h513v114H0z\" />\n <path fill=\"#f9e300\" d=\"M0 114h513v114H0z\" />\n <path fill=\"#007934\" d=\"M0 228h513v114H0z\" />\n </svg>\n)\n\nexport var BQ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#012a87\" d=\"M0 341.3h512V0z\" />\n <path fill=\"#f9d90f\" d=\"M250.4 0H0v166.9z\" />\n <path\n fill=\"#dc171d\"\n d=\"M140.4 118.3l12.2 21.2h24.5l-12.3 21.1 12.3 21.2h-24.5L140.4 203l-12.2-21.2h-24.5l12.3-21.2-12.3-21.1h24.5z\"\n />\n <circle\n fill=\"none\"\n stroke=\"#000\"\n strokeWidth={9}\n strokeMiterlimit={10}\n cx={140.4}\n cy={160.6}\n r={57.7}\n />\n </svg>\n)\n\nexport var BR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#009b3a\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#fedf00\" d=\"M256.5 19.3l204.9 151.4L256.5 322 50.6 170.7z\" />\n <circle fill=\"#FFF\" cx={256.5} cy={171} r={80.4} />\n <path\n fill=\"#002776\"\n d=\"M215.9 165.7c-13.9 0-27.4 2.1-40.1 6 .6 43.9 36.3 79.3 80.3 79.3 27.2 0 51.3-13.6 65.8-34.3-24.9-31-63.2-51-106-51zm119 20.3c.9-5 1.5-10.1 1.5-15.4 0-44.4-36-80.4-80.4-80.4-33.1 0-61.5 20.1-73.9 48.6 10.9-2.2 22.1-3.4 33.6-3.4 46.8.1 89 19.5 119.2 50.6z\"\n />\n </svg>\n)\n\nexport var BS = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#ffc72c\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512v113.775H0zm0 227.551h512v113.775H0z\"\n fill=\"#00778b\"\n />\n <path d=\"M256 256.006L0 426.668V85.331z\" />\n </svg>\n)\n\nexport var BT = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FF7415\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#FFDA44\" d=\"M512 0H0v341.3\" />\n <path\n fill=\"none\"\n stroke=\"#FFF\"\n strokeWidth={42}\n strokeMiterlimit={10}\n d=\"M128.7 255.5s35 54 67.3 32.4c56.9-37.9-68.9-108.6-2.9-152.6 58.3-38.8 76.6 103.5 137.6 62.8 59-39.3-64.7-111.4-9.2-148.4 33.4-22.2 67.1 32.6 67.1 32.6\"\n />\n </svg>\n)\n\nexport var BV = ({ title, ...rest }) => (\n <svg viewBox=\"0 33.333 1100 733.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#ef2b2d\" d=\"M0 0h1100v800H0z\" />\n <path fill=\"#fff\" d=\"M300 0h200v800H300z\" />\n <path fill=\"#fff\" d=\"M0 300h1100v200H0z\" />\n <path fill=\"#002868\" d=\"M350 0h100v800H350z\" />\n <path fill=\"#002868\" d=\"M0 350h1100v100H0z\" />\n </svg>\n)\n\nexport var BW = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path d=\"M0 238h513v104H0zM0 0h513v104H0z\" fill=\"#6da9d2\" />\n <path d=\"M0 125.5h513v89.656H0z\" />\n </svg>\n)\n\nexport var BY = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#007C30\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#CE1720\" d=\"M0 230h513V0H0\" />\n <path fill=\"#FFF\" d=\"M100 230V0H0v342h513-413z\" />\n <path\n d=\"M28 159.6L8.6 128.2 28 97.4l19.3 30.8zm44.6 0l-19.3-31.4 19.3-30.8L92 128.2zM28 241.2L8.6 209.8 28 179l19.3 30.8zm44.6 0l-19.3-31.4L72.6 179 92 209.8z\"\n fill=\"#CE1720\"\n />\n <path\n d=\"M28 73.8l-16.1-26L28 22.2l16 25.6zm44.6 0l-16-26 16-25.6 16.1 25.6zM28 318l-16.1-26.1L28 266.3l16 25.6zm44.6 0l-16-26.1 16-25.6 16.1 25.6z\"\n fill=\"none\"\n stroke=\"#CE1720\"\n strokeWidth={7}\n />\n </svg>\n)\n\nexport var BZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#003e87\" d=\"M0 0h512v341.3H0z\" />\n <circle fill=\"#FFF\" cx={260.9} cy={170.9} r={118.9} />\n <circle\n fill=\"none\"\n stroke=\"#6DA544\"\n strokeWidth={18}\n strokeMiterlimit={10}\n cx={261.9}\n cy={173.1}\n r={94.5}\n />\n <g stroke=\"#000\">\n <path\n fill=\"#003e87\"\n d=\"M261.9 151.5l-50.6 23.4v20c0 11.8 6.1 22.8 16.2 28.9L262 239l34.5-15.2c10-6.2 16.2-17.1 16.2-28.9v-20l-50.8-23.4z\"\n />\n <path fill=\"#FFDA44\" d=\"M211.3 128.1h101.3v46.7H211.3z\" />\n </g>\n <path d=\"M0 0h512v35H0zm0 306h512v35H0z\" fill=\"#ce1127\" />\n </svg>\n)\n\nexport var CA = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M0 0h142v342H0zm371 0h142v342H371zm-64.5 206l50.4-25.2-25.2-12.6V143l-50.4 25.2 25.2-50.4h-25.2L256.1 80l-25.2 37.8h-25.2l25.2 50.4-50.4-25.2v25.2l-25.2 12.6 50.4 25.2-12.6 25.2h50.4V269h25.2v-37.8h50.4z\"\n fill=\"red\"\n />\n </svg>\n)\n\nexport var CC = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"green\" d=\"M0 0h512v341.3H0z\" />\n <path\n d=\"M422.7 252.4l6.2 12.8 13.8-3.2-6.2 12.8 11.2 8.8-13.9 3.2V301l-11.1-8.9-11.1 8.9v-14.2l-13.8-3.2 11.1-8.8-6.2-12.8 13.9 3.2zm-46.6-136.3l6.2 12.9 13.8-3.2-6.2 12.8 11.2 8.8-13.9 3.1v14.3l-11.1-8.9-11.1 8.9.1-14.3-13.9-3.1 11.1-8.8-6.2-12.8L370 129zm37-77.8l6.2 12.8 13.8-3.2-6.2 12.8 11.2 8.9-13.9 3.1v14.2L413.1 78 402 86.9l.1-14.2-13.9-3.1 11.1-8.9-6.2-12.8 13.9 3.2zm51.8 58.4l6.2 12.8 13.9-3.2-6.3 12.8 11.2 8.9-13.9 3.1.1 14.2-11.2-8.9-11.1 8.9.1-14.2L440 128l11.2-8.9-6.3-12.8 13.9 3.2zm-28 68.1l4.9 14.8h15.6l-12.6 9.2 4.8 14.9-12.7-9.2-12.6 9.2 4.8-14.9-12.6-9.2h15.6zM306.8 254.7c-49.2 0-89.1-39.9-89.1-89.1s39.9-89.1 89.1-89.1c15.3 0 29.8 3.9 42.4 10.7C329.4 67.9 302.3 56 272.5 56c-60.5 0-109.6 49.1-109.6 109.6S212 275.3 272.5 275.3c29.8 0 56.9-11.9 76.6-31.3-12.6 6.8-27 10.7-42.3 10.7zM140.4 59.5C129.7 41 109.7 28.6 86.8 28.6S44 41 33.3 59.5h107.1zm.2.4l-53.8 53.8-53.7-53.8C28 68.9 25 79.3 25 90.5c0 34.2 27.7 61.9 61.9 61.9s61.9-27.7 61.9-61.9c-.1-11.2-3.1-21.6-8.2-30.6z\"\n fill=\"#FFDA44\"\n />\n <path\n fill=\"#A2001D\"\n d=\"M71.4 98.2v52.2c4.9 1.3 10.1 1.9 15.5 1.9s10.5-.7 15.5-1.9V98.2h-31z\"\n />\n </svg>\n)\n\nexport var CD = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#FFDA44\" d=\"M512 66.9V0H411.7L0 274.4v66.9h100.3z\" />\n <path fill=\"#D80027\" d=\"M512 0v40.1L60.2 341.3H0v-40.1L451.8 0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M93.6 31.2l16.3 50.4H163l-42.9 31.2 16.4 50.5-42.9-31.2-43 31.2L67 112.8 24.1 81.6h53.1z\"\n />\n </svg>\n)\n\nexport var CF = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#d21034\" d=\"M0 0h512v341.3H0z\" />\n <path d=\"M0 170.7h211.5V256H0zm300.5 0H512V256H300.5z\" fill=\"#3a9927\" />\n <path fill=\"#003082\" d=\"M0 0v85.3h211.5V0h89v85.3H512V0z\" />\n <path d=\"M300.5 85.3H512v85.3H300.5zM0 85.3h211.5v85.3H0z\" fill=\"#FFF\" />\n <path\n d=\"M300.5 341.3h-89V256H0v85.3h512V256H300.5zM105.7 8.6l8.6 26.2h27.5L119.5 51l8.6 26.2L105.7 61 83.4 77.2 91.9 51 69.6 34.8h27.6z\"\n fill=\"#ffce00\"\n />\n </svg>\n)\n\nexport var CG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#da1a35\" d=\"M0 85.331h513v342H0z\" />\n <path fill=\"#009543\" d=\"M443.726 85.331L102.4 426.657H0V85.331z\" />\n <path\n fill=\"#fbde4a\"\n d=\"M500.124 85.331L158.798 426.657H11.876L353.202 85.331z\"\n />\n </svg>\n)\n\nexport var CH = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"red\" d=\"M0 85.337h513v342H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M356.174 222.609h-66.783v-66.783h-66.782v66.783h-66.783v66.782h66.783v66.783h66.782v-66.783h66.783z\"\n />\n </svg>\n)\n\nexport var CI = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.326H0z\" />\n <path fill=\"#009e60\" d=\"M330.207 85.331H512v341.337H330.207z\" />\n <path fill=\"#f77f00\" d=\"M0 85.331h181.793v341.337H0z\" />\n </svg>\n)\n\nexport var CK = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#01237a\" d=\"M0 85.332h513v342H0z\" />\n <path\n d=\"M384 156.705l5.283 16.254h17.089l-13.826 10.045 5.281 16.254L384 189.211l-13.825 10.047 5.28-16.254-13.825-10.045h17.089zm-70.209 29.081l15.228 7.758 12.084-12.083-2.673 16.879 15.227 7.759-16.879 2.673-2.674 16.88-7.76-15.227-16.878 2.673 12.086-12.084zm-29.081 70.209l16.254-5.281.001-17.089 10.044 13.825 16.254-5.282-10.046 13.827 10.046 13.826-16.254-5.28-10.044 13.825v-17.09zm29.081 70.209l7.759-15.229-12.084-12.084 16.881 2.674 7.757-15.227 2.674 16.879 16.879 2.672-15.227 7.759 2.673 16.882-12.084-12.087zM384 355.284l-5.281-16.253h-17.091l13.827-10.045-5.28-16.254L384 322.776l13.827-10.044-5.281 16.254 13.826 10.045h-17.089zm70.209-29.08l-15.229-7.758-12.083 12.084 2.673-16.882-15.227-7.756 16.879-2.675 2.675-16.879 7.756 15.227 16.881-2.674-12.086 12.085zm29.081-70.209l-16.254 5.281v17.09l-10.045-13.826-16.254 5.281 10.046-13.826-10.046-13.827 16.254 5.282 10.045-13.825v17.089zm-29.081-70.207l-7.757 15.226 12.082 12.084-16.881-2.673-7.756 15.227-2.675-16.88-16.879-2.675 15.227-7.757-2.673-16.878 12.084 12.082zM0 186.665v16h46.069L0 233.377v7.539l57.377-38.252H80L0 255.998h112v-69.334H0zm96 69.331H22.628L96 207.083v48.913zm80-117.331l80-53.334H144v69.334h112v-16h-46.069L256 107.951v-7.539l-57.377 38.251H176v.002zm-16-53.332h73.372L160 134.246V85.333zm-16 170.665h112l-80-53.334h22.623L256 240.917v-7.539l-46.069-30.713H256v-16H144v69.333zm16-48.915l73.372 48.913H160v-48.913zM112 85.331H0l80 53.334H57.377L0 100.413v7.539l46.069 30.712H0v16h112V85.331zm-16 48.915L22.628 85.333H96v48.913z\"\n fill=\"#FFF\"\n />\n <g fill=\"#D80027\">\n <path d=\"M144 85.331h-32v69.334H0v32h112v69.333h32v-69.333h112v-32H144z\" />\n <path d=\"M80 138.665L0 85.331v15.082l57.377 38.252zm96 0h22.623L256 100.413V85.331zm-118.623 64L0 240.917v15.081l80-53.333zm118.623 0l80 53.333v-15.081l-57.377-38.252z\" />\n </g>\n </svg>\n)\n\nexport var CL = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#FFF\" d=\"M196 0h317v171H196z\" />\n <path fill=\"#0037A1\" d=\"M0 0h196v171H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M98 24.5L113.1 71H162l-39.6 28.7 15.2 46.5L98 117.5l-39.6 28.7 15.2-46.5L34 71h48.9z\"\n />\n </svg>\n)\n\nexport var CM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#ce1126\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#007a5e\" d=\"M0 0h171v342H0z\" />\n <path\n d=\"M342 0h171v342H342zm-86 102.2l17.2 53H329L283.9 188l17.2 53-45.1-32.7-45.1 32.7 17.2-53-45.1-32.8h55.8z\"\n fill=\"#fcd116\"\n />\n </svg>\n)\n\nexport var CN = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M226.8 239.2l-9.7-15.6-17.9 4.4 11.9-14.1-9.7-15.6 17.1 6.9 11.8-14.1-1.3 18.4 17.1 6.9-17.9 4.4zM290.6 82l-10.1 15.4 11.6 14.3-17.7-4.8-10.1 15.5-1-18.4-17.7-4.8 17.2-6.6-1-18.4 11.6 14.3zm-54.4-56.6l-2 18.3 16.8 7.6-18 3.8-2 18.3-9.2-16-17.9 3.8 12.3-13.7-9.2-15.9 16.8 7.5zm56.6 136.4l-14.9 10.9 5.8 17.5-14.9-10.8-14.9 11 5.6-17.6-14.9-10.7 18.4-.1 5.6-17.6 5.8 17.5zM115 46.3l17.3 53.5h56.2l-45.4 32.9 17.3 53.5-45.4-33-45.5 33 17.4-53.5-45.5-32.9h56.3z\"\n fill=\"#FFDA44\"\n />\n </svg>\n)\n\nexport var CO = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 343.096h512v83.567H0z\" />\n <path fill=\"#0052B4\" d=\"M0 256h512v87.096H0z\" />\n </svg>\n)\n\nexport var CR = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 211.473h512v89.043H0z\" />\n <path d=\"M0 352.462h512v74.207H0zM0 85.331h512v74.207H0z\" fill=\"#0052B4\" />\n </svg>\n)\n\nexport var CU = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FF9811\" d=\"M0-40.8v422.9-211.4z\" />\n <path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path\n d=\"M0 0h512v68.3H0zm0 136.5h512v68.3H0zm0 136.6h512v68.3H0z\"\n fill=\"#0052B4\"\n />\n <path fill=\"#D80027\" d=\"M256 170.7L0 341.3V0z\" />\n <path\n fill=\"#FFF\"\n d=\"M86.5 111.4l12.7 39.2h41.3l-33.4 24.2 12.8 39.3-33.4-24.2-33.4 24.2 12.8-39.3-33.4-24.2h41.2z\"\n />\n </svg>\n)\n\nexport var CV = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#003893\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#cf2027\" d=\"M0 182.2h513v41.4H0z\" />\n <path fill=\"#FFF\" d=\"M0 140.8h513v41.4H0zm0 82.8h513V265H0z\" />\n <path\n d=\"M150.4 70l6.9 21.1h22.2l-18 13.1 6.9 21.1-18-13.1-17.9 13.1 6.8-21.1-17.9-13.1h22.2zm0 209.7l6.9 21.1h22.2l-18 13 6.9 21.2-18-13.1-17.9 13.1 6.8-21.2-17.9-13h22.2zm-97.6-70.9l6.9 21.1h22.2l-18 13 6.9 21.2-18-13.1-17.9 13.1 6.8-21.2-17.9-13H46zM90.1 91l6.9 21.1h22.2l-18 13 6.9 21.2-18-13.1-17.9 13.1 6.8-21.2-18-13h22.3zm-66.3 71H46l6.8-21.1 6.9 21.1h22.2l-18 13.1 6.9 21.1-18-13-17.9 13 6.8-21.1zm48.4 148.9l6.8-21.1-18-13h22.3l6.8-21.2 6.9 21.2h22.2l-18 13 6.9 21.1-18-13zM248 208.8l-6.9 21.1h-22.2l18 13-6.9 21.2 18-13.1 18 13.1-6.9-21.2 18-13h-22.2zM210.7 91l-6.8 21.1h-22.2l17.9 13-6.8 21.2 17.9-13.1 18 13.1-6.9-21.2 18-13h-22.2zm66.4 71h-22.2l-6.9-21.1-6.9 21.1h-22.2l18 13.1-6.9 21.1 18-13 18 13-6.9-21.1zm-48.4 148.9l-6.9-21.1 18-13h-22.2l-6.9-21.2-6.8 21.2h-22.2l17.9 13-6.8 21.1 17.9-13z\"\n fill=\"#f7d116\"\n stroke=\"#000\"\n />\n </svg>\n)\n\nexport var CW = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#002b7f\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#f9e814\" d=\"M0 233.5h513v51H0z\" />\n <path\n d=\"M168.7 86.5l12.9 39.8h41.8l-33.8 24.5 12.9 39.7-33.8-24.5-33.8 24.5 12.9-39.7-33.8-24.5h41.8zm-83.3-54l7.8 23.9h25L97.9 71.1l7.8 23.8-20.3-14.7-20.3 14.7 7.8-23.8-20.3-14.7h25.1z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var CX = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0021ad\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#1c8a42\" d=\"M0 0h512v341.3\" />\n <path\n d=\"M77.6 272l5.7 11.9 12.8-3-5.7 11.9 10.3 8.1-12.8 2.9V317l-10.3-8.3-10.2 8.3v-13.2l-12.8-2.9 10.3-8.1-5.8-11.9 12.9 3zm-37.1-98.9l5.7 11.9 12.8-3-5.7 11.8 10.3 8.2-12.9 2.9.1 13.2-10.3-8.3-10.3 8.3.1-13.2-12.9-2.9 10.4-8.2L22 182l12.8 3zm37.1-80.9l5.7 11.8 12.8-2.9-5.7 11.8 10.3 8.2-12.8 2.9v13.1l-10.3-8.2-10.2 8.2V124l-12.8-2.9 10.3-8.2-5.8-11.8L72 104zm46.1 62.9l5.7 11.9 12.8-3-5.7 11.9 10.3 8.1-12.8 2.9v13.2l-10.3-8.2-10.2 8.2v-13.2l-12.8-2.9 10.3-8.1-5.7-11.9 12.8 3zm-32.9 54l4.4 13.7h14.5L98 231.3l4.5 13.7-11.7-8.4-11.7 8.4 4.5-13.7-11.7-8.5h14.4z\"\n fill=\"#FFF\"\n />\n <circle fill=\"#ffc639\" cx={267.1} cy={170.7} r={74.5} />\n <path\n fill=\"#1c8a42\"\n d=\"M267.1 220.3h24.8s10.8-19 0-37.2l24.8-24.8-12.4-24.8h-12.4s-6.2 18.6-31 18.6-31-18.6-31-18.6h-12.4l12.4 24.8-12.4 24.8 12.4 12.4s12.4-24.8 37.2-12.4c0 0 10.5 15.5 0 37.2z\"\n />\n <path\n fill=\"#ffc639\"\n d=\"M464.4 92.2c.6-2.9-.2-17.6-.2-20.7 0-21.3-13.9-39.4-33.2-45.7 5.9 12 9.2 25.4 9.2 39.7 0 4.8-.4 9.5-1.1 14.1-2.9-4.7-6.6-8.9-11.2-12.6-17.1-13.6-40.6-14-57.9-2.5 13.4 2.9 26.3 8.9 37.7 18 9 7.1 16.2 16.8 21.7 26.1 0 0-17.8 10.9-31 15.1s-42.3 7.9-42.3 7.9c72 12 132-36 132-36-6.5-13.4-15.8-4-23.7-3.4z\"\n />\n </svg>\n)\n\nexport var CY = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#DB7D00\"\n d=\"M141.7 154.7s.2 67.1 74.7 65.3l4.5 13.9h8.9s-7.4-41.1 60.1-41.5c0 0 0-27.6 27.6-27.6H359s-66-51.8 58.9-118l1.8-13.1s-129.9 71-198.9 57.2c0 0 10.7 42.5-10.8 42.5-10.8 0-9.7-8.1-32.3-8.1-18.7 0-17.3 19.7-26.3 19.5-8.9-.2-18.8-12.3-19.6-10.2-.7 2.1 9.9 20.1 9.9 20.1z\"\n />\n <g fill=\"#006651\">\n <path d=\"M237.2 308.1c6.9-5 13-6.6 22.4-8.3s19.4-4.4 24.6-5.8-17.7 6.6-23.5 8.3c-5.8 1.6-23.5 5.8-23.5 5.8zm37.9-14.7c-1.9-11.9 2.8-24.3 13.5-29.3 2.5 8.6-5.2 23.2-13.5 29.3zm18.2-6.2c-5.8-9.8 4-22.6 11.1-28.8 3.3 6-2.5 23.7-11.1 28.8zm16.9-7.6c-6.2-8.4 1.1-23.2 8.8-29 3.1 8.2.1 23.2-8.8 29zm16.9-10.6c-5.6-8-1.7-20.4 6.3-28.4 5.8 6.6.9 21-6.3 28.4zm13.5-10.7c-4.7-7.5 1.1-25.4 8.6-30.4 3.3 6.6.8 25.4-8.6 30.4zm10.8-2.8c-1.4-10.8 17.4-22.7 25.2-22.4-.9 8.9-8.9 18.6-25.2 22.4zm-10.5 12.2c8.8-9.1 26-9.1 32.1-7.2-1.7 5.3-21.9 16.9-32.1 7.2z\" />\n <path d=\"M328.7 276.8c12.4-3.3 20.5-6.1 27.9 1.7-5.2 6.6-25.4 4.7-27.9-1.7zm-17.7 8c11.9-6.4 26.3 3 28.5 8.6-13.3 5.5-28.7-7.2-28.5-8.6zm-16.3 9.2c10.8-4.1 23.2 1.4 28.2 7.5-5.8 2.7-21 5.7-28.2-7.5zm-14.9 4.7c12.4-1.4 24.4 8 27 13.4-15.9 1.5-22-3.2-27-13.4zm-4 9.4c-6.9-5-13-6.6-22.4-8.3-9.4-1.7-19.4-4.4-24.6-5.8-5.3-1.4 17.7 6.6 23.5 8.3 5.8 1.6 23.5 5.8 23.5 5.8zm-37.9-14.7c1.9-11.9-2.8-24.3-13.5-29.3-2.5 8.6 5.2 23.2 13.5 29.3zm-18.2-6.2c5.8-9.8-4-22.6-11.1-28.8-3.3 6 2.5 23.7 11.1 28.8zm-16.9-7.6c6.2-8.4-1.1-23.2-8.8-29-3.1 8.2-.1 23.2 8.8 29zM185.9 269c5.6-8 1.7-20.4-6.3-28.4-5.8 6.6-.9 21 6.3 28.4zm-13.5-10.7c4.7-7.5-1.1-25.4-8.6-30.4-3.3 6.6-.8 25.4 8.6 30.4zm-10.8-2.8c1.4-10.8-17.4-22.7-25.2-22.4.9 8.9 8.9 18.6 25.2 22.4zm10.5 12.2c-8.8-9.1-26-9.1-32.1-7.2 1.7 5.3 21.9 16.9 32.1 7.2z\" />\n <path d=\"M184.3 276.8c-12.4-3.3-20.5-6.1-27.9 1.7 5.2 6.6 25.4 4.7 27.9-1.7zm17.7 8c-11.9-6.4-26.3 3-28.5 8.6 13.3 5.5 28.7-7.2 28.5-8.6zm16.3 9.2c-10.8-4.1-23.2 1.4-28.2 7.5 5.8 2.7 21 5.7 28.2-7.5zm14.9 4.7c-12.4-1.4-24.4 8-27 13.4 15.9 1.5 22-3.2 27-13.4z\" />\n </g>\n </svg>\n)\n\nexport var CZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#11457e\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#d7141a\" d=\"M512 256v170.663H0L215.185 256z\" />\n <path fill=\"#FFF\" d=\"M512 85.337V256H215.185L0 85.337z\" />\n </svg>\n)\n\nexport var DE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.331h512v341.337H0z\" />\n <path d=\"M0 85.331h512v113.775H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 312.882h512v113.775H0z\" />\n </svg>\n)\n\nexport var DJ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#12ad2b\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#6ab2e7\" d=\"M512 0v166.7L0 170.8V0z\" />\n <path fill=\"#FFF\" d=\"M256 170.7L0 341.3V0z\" />\n <path\n fill=\"#d7141a\"\n d=\"M89.8 92.5l17 52.4H162l-44.6 32.5 17 52.4-44.6-32.4-44.6 32.4 17-52.4-44.6-32.5h55.2z\"\n />\n </svg>\n)\n\nexport var DK = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#c60c30\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#FFF\" d=\"M190 0h-60v140H0v60h130v142h60V200h323v-60H190z\" />\n </svg>\n)\n\nexport var DM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#496E2D\" d=\"M0 0h512v341.3H0z\" />\n <path d=\"M0 110.7v120h512v-120z\" />\n <path fill=\"#FFDA44\" d=\"M0 110.7h512v40H0z\" />\n <path fill=\"#FFF\" d=\"M0 190.7h512v40H0z\" />\n <path d=\"M196 0h120v341.3H196z\" />\n <path fill=\"#FFDA44\" d=\"M196 0h40v341.3h-40z\" />\n <path fill=\"#FFF\" d=\"M274.7 0h40v341.3h-40z\" />\n <circle fill=\"#D80027\" cx={256} cy={170.7} r={123.1} />\n <path\n d=\"M256 58.6l4.6 14.2h15l-12.1 8.9 4.6 14.2-12.1-8.8-12.1 8.8 4.6-14.2-12.1-8.9h15zM190.1 80l12.2 8.8 12.1-8.8-4.6 14.3 12.1 8.8h-15l-4.6 14.2-4.7-14.2h-15l12.1-8.8zm-40.7 56h15l4.6-14.2 4.7 14.2h15l-12.2 8.8 4.7 14.3-12.2-8.8-12.1 8.8 4.6-14.3zm0 69.3l12.1-8.8-4.6-14.3L169 191l12.2-8.8-4.7 14.3 12.2 8.8h-15l-4.7 14.3-4.6-14.3zm40.7 56.1l4.6-14.3-12.1-8.8h15l4.7-14.3 4.6 14.3h15l-12.1 8.8 4.6 14.3-12.1-8.9zm65.9 21.4l-4.6-14.3h-15l12.1-8.8-4.6-14.3 12.1 8.8 12.1-8.8-4.6 14.3 12.1 8.8h-15zm65.9-21.4l-12.2-8.9-12.1 8.9 4.6-14.3-12.1-8.8h15l4.6-14.3 4.7 14.3h15l-12.1 8.8zm40.7-56.1h-15l-4.6 14.3-4.7-14.3h-15l12.2-8.8-4.7-14.3L343 191l12.1-8.8-4.6 14.3zm0-69.3l-12.1 8.8 4.6 14.3-12.1-8.8-12.2 8.8 4.7-14.3-12.2-8.8h15l4.7-14.2 4.6 14.2zm-40.7-56l-4.6 14.3 12.1 8.8h-15l-4.7 14.2-4.6-14.2h-15l12.1-8.8-4.6-14.3 12.1 8.8zM279.3 168.7c-11-21.1-14.5-25.1-14.5-25.1s.4-9.7.4-15.6c0-8.8-7.4-15.8-16.5-15.8-8.6 0-15.7 2.9-16.5 11-4.2.9-8.6 4.1-8.6 10.7 0 4.8 1 7.3 5.2 9.3 2.1-4.6 4.3-4.8 9.3-6.4.8.6 1.7 3 2.6 3.4l.3 1s-13.3 6.6-13.3 30.9c0 29.5 22 45.4 22 45.4l-1.8.3-1.9 7.1h22v-7.2l11 17.5c.3-.3 10.2-47.6.3-66.5z\"\n fill=\"#496E2D\"\n />\n </svg>\n)\n\nexport var DO = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#D80027\" d=\"M0 215.2h211.5v126.1H0z\" />\n <path fill=\"#0052B4\" d=\"M0 0h211.5v126.2H0z\" />\n <path fill=\"#D80027\" d=\"M300.5 0H512v126.2H300.5z\" />\n <path fill=\"#0052B4\" d=\"M300.5 215.2H512v126.1H300.5z\" />\n <g stroke=\"#FFF\" strokeWidth={5} strokeMiterlimit={10}>\n <path fill=\"#0052B4\" d=\"M256 130h-49.9v49.4s19.5 6 49.9 6V130z\" />\n <path\n fill=\"#D80027\"\n d=\"M206.1 179.4v6c0 27.5 22.3 49.9 49.9 49.9v-49.9c-30.4 0-49.9-6-49.9-6z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M256 235.3c27.5 0 49.9-22.3 49.9-49.9v-6s-19.5 6-49.9 6v49.9z\"\n />\n <path fill=\"#D80027\" d=\"M256 130v55.4c30.4 0 49.9-6 49.9-6V130H256z\" />\n </g>\n </svg>\n)\n\nexport var DZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#41662E\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#FFF\" d=\"M256 0h256v341.3H256z\" />\n <g fill=\"#D80027\">\n <path d=\"M341.5 105.3l-29.4 40.4-47.5-15.4 29.4 40.4-29.4 40.4 47.5-15.4 29.4 40.4v-50l47.5-15.5-47.5-15.4z\" />\n <path d=\"M309.9 276.7c-58.5 0-106-47.5-106-106s47.5-106 106-106c18.3 0 35.4 4.6 50.4 12.7-23.5-23-55.7-37.2-91.2-37.2-72 0-130.4 58.4-130.4 130.4S197.1 301 269.1 301c35.5 0 67.7-14.2 91.2-37.2-14.9 8.2-32.1 12.9-50.4 12.9z\" />\n </g>\n </svg>\n)\n\nexport var EC = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#0052B4\" d=\"M0 170.7h512V256H0z\" />\n <path fill=\"#D80027\" d=\"M0 256h512v85.3H0z\" />\n <circle fill=\"#FFDA44\" cx={256} cy={170.7} r={59.4} />\n <path\n fill=\"#4C1F00\"\n d=\"M369.2 79.9s-27.2-13.8-33.9-16c-6.7-2.2-49.1-13.2-49.1-7 0 10.3-13.5 12-15.5 12s-2-5.3-14.8-5.3-13.7 4.8-15.8 4.8c-2.2 0-14.5-1-14.5-11.5 0-5.2-42.9 4-49.1 7-6.1 3.1-33.9 16-33.9 16s45.8 2.7 53.9 6.2 43.8 16.5 43.8 16.5l-2.8 13.3h37.8l-3.8-13.3s35.1-12.7 43.8-16.5 53.9-6.2 53.9-6.2z\"\n />\n <path\n fill=\"#57BA17\"\n d=\"M217.7 171.7c0 21.1 17.2 38.3 38.3 38.3 21.1 0 38.3-17.2 38.3-38.3v-11.5h-76.5v11.5z\"\n />\n <path\n fill=\"#338AF3\"\n d=\"M256 110.5c-21.1 0-38.3 17.2-38.3 38.3v11.5h76.5v-11.5c.1-21.1-17.1-38.3-38.2-38.3z\"\n />\n </svg>\n)\n\nexport var EE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#111\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#368FD8\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#FFF\" d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var EG = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#D80027\" d=\"M0 0h512v113.8H0z\" />\n <path d=\"M0 227.6h512v113.8H0z\" />\n <path\n fill=\"#C09300\"\n d=\"M220.3 204.4s0-58.4 4.5-64.7c3.1-4.3 16.8 5.2 22.7 4.5 0 0 4.2-7.5 4.5-12 .3-4.6-1.1-7.6-4.9-6.2 0 0-1.2-2.1.5-3.3 1.6-1.2 5.6.1 5.6.1s-.5-1 1.6-.9c2.9.2 7.2 1.4 7.4 5.6.2 3.1.3 7.7.4 8.7.7 6.8 2.7 8.7 2.7 8.7s18.4-9.2 22-5.2c3.3 3.8 4.5 64.7 4.5 64.7l-18.1-16.8 12.1 29.5s-14.4 2.4-28.9 2.4c-14.5 0-31.1-4.2-31.1-4.2l13.8-28.2-19.3 17.3z\"\n />\n </svg>\n)\n\nexport var EH = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path d=\"M0 0h512v113.8H0z\" />\n <path fill=\"#428823\" d=\"M0 227.6h512v113.8H0z\" />\n <g fill=\"#D80027\">\n <path d=\"M256 170.7L0 341.3V0zm53.1 0c0-22.9 13.1-42.1 34.6-46.8-3.3-.7-6.7-1.1-10.3-1.1-26.4 0-47.9 21.4-47.9 47.9s21.4 47.9 47.9 47.9c3.5 0 7-.4 10.3-1.1-21.5-4.8-34.6-23.9-34.6-46.8z\" />\n <path d=\"M365 129.2l10.3 31.7h33.3l-27 19.6 10.3 31.7-26.9-19.6-27 19.6 10.3-31.7-27-19.6h33.4z\" />\n </g>\n </svg>\n)\n\nexport var ER = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#56AF35\" d=\"M0 0h512v170.7H0z\" />\n <path fill=\"#D80027\" d=\"M0 341.3l512-170.7L0 0v341.3z\" />\n <g fill=\"#ffc945\">\n <path d=\"M134.7 231.5c33.6 0 60.8-27.2 60.8-60.8s-27.2-60.8-60.8-60.8-60.8 27.2-60.8 60.8 27.2 60.8 60.8 60.8zm0 24.3c-47 0-85.2-38.1-85.2-85.2s38.1-85.2 85.2-85.2 85.2 38.1 85.2 85.2-38.2 85.2-85.2 85.2z\" />\n <circle cx={119.5} cy={148.3} r={17.5} />\n <circle cx={148.9} cy={158.5} r={17.5} />\n <circle cx={134.7} cy={135.2} r={17.5} />\n <circle cx={119.5} cy={172.7} r={17.5} />\n <circle cx={149.9} cy={182.8} r={17.5} />\n <circle cx={122.5} cy={198} r={17.5} />\n <circle cx={145.9} cy={205.2} r={17.5} />\n </g>\n </svg>\n)\n\nexport var ES = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 22.5 15\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h22.5v15H0V0z\" />\n <path fill=\"#D03433\" d=\"M0 0h22.5v4H0V0zm0 11h22.5v4H0v-4z\" />\n <path fill=\"#FBCA46\" d=\"M0 4h22.5v7H0V4z\" />\n <path fill=\"#FFF\" d=\"M7.8 7h1v.5h-1V7z\" />\n <path\n fill=\"#A41517\"\n d=\"M7.2 8.5c0 .3.3.5.6.5s.6-.2.6-.5L8.5 7H7.1l.1 1.5zM6.6 7c0-.3.2-.5.4-.5h1.5c.3 0 .5.2.5.4V7l-.1 1.5c-.1.6-.5 1-1.1 1-.6 0-1-.4-1.1-1L6.6 7z\"\n />\n <path\n fill=\"#A41517\"\n d=\"M6.8 7.5h2V8h-.5l-.5 1-.5-1h-.5v-.5zM5.3 6h1v3.5h-1V6zm4 0h1v3.5h-1V6zm-2.5-.5c0-.3.2-.5.5-.5h1c.3 0 .5.2.5.5v.2c0 .2-.1.3-.3.3H7c-.1 0-.2-.1-.2-.2v-.3z\"\n />\n </svg>\n)\n\nexport var ET = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 22.5 15\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#20AA46\" d=\"M0 0h22.5v5H0V0z\" />\n <path fill=\"#E92F3B\" d=\"M0 10h22.5v5H0v-5z\" />\n <path fill=\"#FADF50\" d=\"M0 5h22.5v5H0V5z\" />\n <circle fill=\"#205CCA\" cx={11.3} cy={7.5} r={5.2} />\n <g stroke=\"#FFDB3D\" fill=\"none\">\n <path\n d=\"M11.3 8.8l-2.1 1.5.8-2.4-2-1.5h2.5l.8-2.3.8 2.3h2.6l-2.1 1.5.8 2.4-2.1-1.5zm-1-2.4h1.9M9.9 7.8l1.3 1m.8-2.6l.7 1.8M10 7.9l.6-1.8M11 9l1.6-1.1\"\n strokeWidth={0.5}\n />\n <path\n d=\"M8.7 3.9l1.1 1.6m4-1.7l-1 1.6m-1.5 4.7V12M8.9 8.3L7.1 9m8.4 0l-1.8-.7\"\n strokeWidth={0.25}\n />\n </g>\n </svg>\n)\n\nexport var EU = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 810 540\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#039\" d=\"M0 0h810v540H0z\" />\n <path\n fill=\"#FC0\"\n d=\"M404.951 59.865l6.735 20.718h21.894l-17.633 12.812 6.638 20.74-17.634-12.812-17.634 12.812 6.736-20.729-17.633-12.812h21.796zm-90 24l6.735 20.718h21.894l-17.633 12.812 6.638 20.74-17.634-12.812-17.634 12.812 6.736-20.729-17.633-12.812h21.796zm-66 66l6.735 20.718h21.894l-17.633 12.812 6.638 20.74-17.634-12.812-17.634 12.812 6.736-20.729-17.633-12.812h21.796zm-24 89.999l6.735 20.719h21.894l-17.633 12.813 6.638 20.74-17.634-12.813-17.634 12.813 6.736-20.731-17.633-12.811h21.796zm24 90.001l6.735 20.719h21.894l-17.633 12.811 6.638 20.74-17.634-12.811-17.634 12.811 6.736-20.729-17.633-12.812h21.796zm66 66l6.735 20.719h21.894l-17.633 12.811 6.638 20.74-17.634-12.811-17.634 12.811 6.736-20.729-17.633-12.812h21.796zm180-312l6.735 20.718h21.894l-17.633 12.812 6.637 20.74-17.633-12.812-17.635 12.812 6.737-20.729-17.633-12.812h21.795zm66 66l6.735 20.718h21.894l-17.633 12.812 6.637 20.74-17.633-12.812-17.635 12.812 6.737-20.729-17.633-12.812h21.795zm24 90l6.735 20.718h21.894l-17.633 12.813 6.638 20.74-17.634-12.813-17.634 12.813 6.736-20.731-17.633-12.811h21.796zm-24 90l6.735 20.719h21.894l-17.633 12.811 6.638 20.74-17.634-12.811-17.634 12.811 6.736-20.729-17.633-12.812h21.796zm-156 90l6.735 20.719h21.894l-17.633 12.811 6.638 20.74-17.634-12.811-17.634 12.811 6.736-20.729-17.633-12.812h21.796zm90-24.001l6.735 20.719h21.894l-17.633 12.812 6.639 20.74-17.635-12.812-17.633 12.812 6.735-20.73-17.633-12.811h21.797z\"\n />\n </svg>\n)\n\nexport var FI = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#2E52B2\"\n d=\"M512 129.3V212H203.7v129.3H121V212H0v-82.7h121V0h82.7v129.3z\"\n />\n </svg>\n)\n\nexport var FJ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#2E52B2\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 0v22.6l-46.1 30.7H256v64h-46.1L256 148v22.7h-22.6l-73.4-49v49H96v-49l-73.4 49H0V148l46.1-30.7H0v-64h46.1L0 22.6V0h22.6L96 48.9V0h64v48.9L233.4 0z\"\n />\n <g fill=\"#D80027\">\n <path d=\"M144 0h-32v69.3H0v32h112v69.4h32v-69.4h112v-32H144z\" />\n <path d=\"M0 0v15.1l57.4 38.2H80zm256 0v15.1l-57.4 38.2H176z\" />\n <path d=\"M0 0v15.1l57.4 38.2H80zm256 0v15.1l-57.4 38.2H176zM0 170.7v-15.1l57.4-38.3H80zm256 0v-15.1l-57.4-38.3H176z\" />\n </g>\n <path\n fill=\"#F3F3F3\"\n d=\"M307.1 127.1v92c0 61.6 80.5 80.5 80.5 80.5s80.4-19 80.4-80.6v-92l-80.5-23-80.4 23.1z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M468 132.8V98.3H307.1v34.5h69v69h-69v23h69V296c6.9 2.5 11.5 3.5 11.5 3.5s4.6-1.1 11.5-3.5v-71.2h69v-23h-69v-69H468z\"\n />\n </svg>\n)\n\nexport var FK = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 0v30.6l-45.2 25.1H256V115h-59.1l59.1 32.8v22.9h-26.7l-73.5-40.9v40.9h-55.6v-48.6l-87.5 48.6H0v-30.6L45.2 115H0V55.7h59.1L0 22.8V0h26.7l73.5 40.8V0h55.6v48.6L243.3 0z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 0h-32v69.3H0v32h112v69.4h32v-69.4h112v-32H144z\"\n />\n <path fill=\"#0052B4\" d=\"M155.8 115L256 170.7v-15.8L184.2 115z\" />\n <path fill=\"#FFF\" d=\"M155.8 115L256 170.7v-15.8L184.2 115z\" />\n <path\n d=\"M155.8 115L256 170.7v-15.8L184.2 115zm-84 0L0 154.9v15.8L100.2 115z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M100.2 55.6L0 0v15.7l71.8 39.9z\" />\n <path fill=\"#FFF\" d=\"M100.2 55.6L0 0v15.7l71.8 39.9z\" />\n <path\n d=\"M100.2 55.6L0 0v15.7l71.8 39.9zm84 0L256 15.7V0L155.8 55.6z\"\n fill=\"#D80027\"\n />\n <path\n fill=\"#1F8BDE\"\n d=\"M312.2 194.2v-90c0-8.5 6.5-15.3 15-15.3h120.5c8.3 0 15 6.8 15 15.3v90c0 75.2-75.2 105.3-75.2 105.3s-75.3-30.1-75.3-105.3z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M312.2 194.2v-90c0-8.5 6.5-15.3 15-15.3h120.5c8.3 0 15 6.8 15 15.3v90c0 75.2-75.2 105.3-75.2 105.3s-75.3-30.1-75.3-105.3zm79.6 86.3c7.9-4.5 15.9-10 23.2-16.7 20.5-18.5 32.6-41.4 32.6-69.7v-90c0-.3-120.4-.3-120.4-.3v90.3c0 28.3 12.1 51.2 32.6 69.7 8.3 7.5 17.6 13.9 27.6 19 1.4-.6 2.8-1.4 4.4-2.3z\"\n />\n <path\n fill=\"#187536\"\n d=\"M347.1 193.4c-2.6-7.9 1.7-14.3 10.1-14.3h60.5c8.2 0 12.8 6.3 10.1 14.3l-5.5 16.5c-2.6 7.9-8.9 9.2-15.8 4 0 0 2.6-4.8-19.1-4.8-21.7 0-19.1 4.8-19.1 4.8-6.1 5.7-13.1 4-15.8-4 .1.1-5.4-16.5-5.4-16.5z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M357.4 179.1c8.1 1.6 17.8-15 30.1-15 13.1 0 21.8 17.1 30.1 15 7.4-1.8 15-22.2 15-30.1 0-16.6-20.2-30.1-45.1-30.1-24.9 0-45.1 13.5-45.1 30.1-.1 8.5 6.6 28.5 15 30.1zm-1.4 91.6c6.2.4 12.5-1.8 17.2-6.5l9-9c2.9-2.9 7.5-2.9 10.4 0l9 9c4.7 4.7 11 6.9 17.1 6.5 5.3-.3 32.5-33.5 25.7-32.6-4.6.6-9.1 2.8-12.7 6.3l-.1.1-9 9c-2.9 2.9-7.5 2.9-10.4 0l-9-9c-8.7-8.8-22.9-8.8-31.7-.1l-.1.1-9 9c-2.9 2.9-7.5 2.9-10.4 0l-9-9c-3.5-3.5-7.8-5.6-12.3-6.3-6.7-1.1 20.1 32.2 25.3 32.5zM322.1 210c2.9-2.9 7.5-2.9 10.4 0l9 9c8.8 8.7 22.9 8.7 31.7 0l9-9c2.9-2.9 7.5-2.9 10.4 0l9 9c8.8 8.7 22.9 8.7 31.7 0l9-9c2.9-2.9 7.5-2.9 10.4 0 0 0 5.5-14.8 2.5-15.9-7.9-2.9-17.2-1.2-23.5 5.2l-.1.1-9 9c-2.9 2.9-7.5 2.9-10.4 0l-9-9c-8.7-8.8-22.9-8.8-31.7-.1l-.1.1-9 9c-2.9 2.9-7.5 2.9-10.4 0l-9-9c-6.2-6.2-15.1-8-22.8-5.5-3.1 1.1 1.9 16.1 1.9 16.1z\"\n />\n </svg>\n)\n\nexport var FM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 0h512v341.3H0z\" />\n <path\n d=\"M256 37.9l10.1 31.2H299l-26.6 19.3 10.2 31.2-26.6-19.3-26.6 19.3 10.2-31.2L213 69.1h32.9zM123.2 170.7l31.2-10.2v-32.8l19.3 26.6 31.2-10.2-19.3 26.6 19.3 26.5-31.2-10.1-19.3 26.5v-32.8zM256 303.5l-10.1-31.2H213l26.6-19.3-10.2-31.3L256 241l26.6-19.3-10.2 31.3 26.6 19.3h-32.9zm132.8-132.8l-31.2 10.1v32.8l-19.3-26.5-31.2 10.1 19.3-26.5-19.3-26.6 31.2 10.2 19.3-26.6v32.8z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var FO = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#0F61A5\"\n d=\"M512 214.5H206.2v126.8h-87.8V214.5H0v-87.7h118.4V0h87.8v126.8H512V192z\"\n />\n <path\n fill=\"#E50E3D\"\n d=\"M512 149.3V192H183.7v149.3H141V192H0v-42.7h141V0h42.7v149.3z\"\n />\n </svg>\n)\n\nexport var FR = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#0052B4\" d=\"M0 85.331h170.663v341.337H0z\" />\n <path fill=\"#D80027\" d=\"M341.337 85.331H512v341.337H341.337z\" />\n </svg>\n)\n\nexport var GA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#0052B4\" d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var GB = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.333h512V426.67H0z\" />\n <path\n fill=\"#D80027\"\n d=\"M288 85.33h-64v138.666H0v64h224v138.666h64V287.996h224v-64H288z\"\n />\n <path\n d=\"M393.785 315.358L512 381.034v-65.676zm-82.133 0L512 426.662v-31.474l-143.693-79.83zm146.982 111.304l-146.982-81.664v81.664z\"\n fill=\"#0052B4\"\n />\n <path\n fill=\"#FFF\"\n d=\"M311.652 315.358L512 426.662v-31.474l-143.693-79.83z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M311.652 315.358L512 426.662v-31.474l-143.693-79.83z\"\n />\n <path\n d=\"M90.341 315.356L0 365.546v-50.19zm110.007 14.154v97.151H25.491z\"\n fill=\"#0052B4\"\n />\n <path\n fill=\"#D80027\"\n d=\"M143.693 315.358L0 395.188v31.474l200.348-111.304z\"\n />\n <path\n d=\"M118.215 196.634L0 130.958v65.676zm82.133 0L0 85.33v31.474l143.693 79.83zM53.366 85.33l146.982 81.664V85.33z\"\n fill=\"#0052B4\"\n />\n <path fill=\"#FFF\" d=\"M200.348 196.634L0 85.33v31.474l143.693 79.83z\" />\n <path fill=\"#D80027\" d=\"M200.348 196.634L0 85.33v31.474l143.693 79.83z\" />\n <path\n d=\"M421.659 196.636L512 146.446v50.19zm-110.007-14.154V85.331h174.857z\"\n fill=\"#0052B4\"\n />\n <path\n fill=\"#D80027\"\n d=\"M368.307 196.634L512 116.804V85.33L311.652 196.634z\"\n />\n </svg>\n)\n\nexport var GD = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#c60a0a\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#3E8446\" d=\"M256 170.7L44.5 296.8V44.5z\" />\n <path\n d=\"M256 170.7l211.5 126.1h-423zM467.5 44.5L256 170.7 44.5 44.5z\"\n fill=\"#FFDA44\"\n />\n <path fill=\"#3E8446\" d=\"M467.5 44.5v252.3L256 170.7z\" />\n <path\n d=\"M256 10.4l3.3 10.2H270l-8.6 6.3 3.3 10.2-8.7-6.3-8.7 6.3 3.3-10.2-8.6-6.3h10.7zm-85.9 0l3.3 10.2h10.7l-8.6 6.3 3.3 10.2-8.7-6.3-8.7 6.3 3.3-10.2-8.6-6.3h10.7zm171.8 0l3.3 10.2H356l-8.7 6.3 3.3 10.2-8.7-6.3-8.7 6.3 3.3-10.2-8.6-6.3h10.7zM256 304.2l3.3 10.2H270l-8.6 6.3 3.3 10.2-8.7-6.3-8.7 6.3 3.3-10.2-8.6-6.3h10.7zm-85.9 0l3.3 10.2h10.7l-8.6 6.3 3.3 10.2-8.7-6.3-8.7 6.3 3.3-10.2-8.6-6.3h10.7zm171.8 0l3.3 10.2H356l-8.7 6.3 3.3 10.2-8.7-6.3-8.7 6.3 3.3-10.2-8.6-6.3h10.7z\"\n fill=\"#FFDA44\"\n />\n <circle fill=\"#c60a0a\" cx={244.5} cy={170.7} r={76.2} />\n <path\n fill=\"#FFDA44\"\n d=\"M244.5 110.1l13.6 41.8h44l-35.6 25.8 13.6 41.8-35.6-25.8-35.5 25.8 13.6-41.8-35.6-25.8h44zm-136.8 57.7c4.4 6.9 2.3 16.1-4.6 20.5s-16.1 2.3-20.5-4.6c-7.9-12.5-3.3-33-3.3-33s20.4 4.6 28.4 17.1z\"\n />\n <circle fill=\"#A2001D\" cx={99.1} cy={182.1} r={7.4} />\n </svg>\n)\n\nexport var GE = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 22.5 15\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M.8 0h21v15H.8V0z\" />\n <path fill=\"#eb000e\" d=\"M9.8 6H0v3h9.8v6h3V9h9.8V6h-9.8V0h-3v6z\" />\n <path\n fill=\"#eb000e\"\n d=\"M17.3 2.7l-.2-1.2h1l-.2 1.2 1.2-.2v1l-1.2-.2.2 1.2h-1l.2-1.2-1.2.2v-1l1.2.2zm-12.7 0l-.2-1.2h1l-.2 1.2 1.2-.2v1l-1.2-.2.2 1.2h-1l.2-1.2-1.2.2v-1l1.2.2zm0 9l-.2-1.2h1l-.2 1.2 1.2-.2v1l-1.2-.2.2 1.2h-1l.2-1.2-1.2.2v-1l1.2.2zm12.7 0l-.2-1.2h1l-.2 1.2 1.2-.2v1l-1.2-.2.2 1.2h-1l.2-1.2-1.2.2v-1l1.2.2z\"\n />\n </svg>\n)\n\nexport var GF = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 90 60\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FDEB01\" d=\"M0 0l90 60H0z\" />\n <path fill=\"#58A846\" d=\"M90 0v60L0 0z\" />\n <path\n fill=\"#ED3D24\"\n d=\"M50.7 33.3l9.3-6.7H48.5L45 15.7l-3.5 10.9H30l9.3 6.7-3.6 11 9.3-6.7 9.3 6.7z\"\n />\n </svg>\n)\n\nexport var GG = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#D80027\"\n d=\"M308 0H204v118.7H0v104h204V342h104V222.7h205v-104H308z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M368.6 188l26 17.3V136l-26 17.3h-95.3V58.1l17.3-26h-69.2l17.3 26v95.2h-95.3l-26-17.3v69.3l26-17.3h95.3v95.2l-17.3 26h69.2l-17.3-26V188z\"\n />\n </svg>\n)\n\nexport var GH = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#496E2D\" d=\"M0 312.888h512v113.775H0z\" />\n <path d=\"M255.883 199.111l14.119 43.458 40.366 3.2-36.969 26.861 19.453 40.259-36.969-26.859-36.97 26.859 14.123-43.459-36.969-26.861h45.696z\" />\n </svg>\n)\n\nexport var GI = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#D80027\" d=\"M0 230h513v112H0z\" />\n <path\n fill=\"#D80027\"\n stroke=\"#000\"\n strokeMiterlimit={10}\n d=\"M363.1 131.8V99.1H374V77.3h-21.9v10.9h-21.8V77.3h-21.8v21.8h10.9v32.7h-21.8V55.5h10.9V33.7h-21.8v10.9h-10.9V33.7H254v10.9h-10.9V33.7h-21.8v21.8h10.9v76.3h-21.8V99.1h10.9V77.3h-21.8v10.9h-21.8V77.3h-21.8v21.8h10.9v32.7H145V219h239.9v-87.2z\"\n />\n <path\n fill=\"#FFDA44\"\n stroke=\"#000\"\n strokeMiterlimit={10}\n d=\"M264.9 235.5l-24.2 18.2 19.1 14.3v31.3h-23.2v9h23v7.9h-23v9.3H270V268l19.1-14.3-24.2-18.2zm0 25.3l-10.1-7.1 10.1-7.1 10.1 7.1-10.1 7.1z\"\n />\n <path d=\"M239.6 209.7v-27.9s.1-22.3 25-22.3c24.8 0 25.7 22 25.7 22v28.2h-50.7zm-69.1 0v-24.3s.1-18.7 19.6-18.7 20.2 18.4 20.2 18.4v24.5h-39.8z\" />\n <path d=\"M169.1 209.7v-24.3s.1-18.7 19.6-18.7 20.2 18.4 20.2 18.4v24.5h-39.8zm151.8 0v-24.3s.1-18.7 19.6-18.7 20.2 18.4 20.2 18.4v24.5h-39.8zm8.4-77.7v-15.7s.1-12.1 11.3-12.1c11.3 0 11.7 11.9 11.7 11.9V132h-23zm-78.8 0v-23.7s.1-18.3 14.3-18.3c14.2 0 14.7 18 14.7 18v24h-29zm-73 0v-15.7s.1-12.1 11.3-12.1 11.7 11.9 11.7 11.9V132h-23z\" />\n </svg>\n)\n\nexport var GL = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#FFF\" d=\"M513 0v171H0V0z\" />\n <circle fill=\"#FFF\" cx={185.8} cy={171.2} r={117.8} />\n <path\n fill=\"#D80027\"\n d=\"M68 171c0-65.1 52.8-117.8 117.8-117.8 65.1 0 117.8 52.8 117.8 117.8\"\n />\n </svg>\n)\n\nexport var GM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#1a7e25\" d=\"M0 322.783h512v103.88H0z\" />\n <path fill=\"#cf0d19\" d=\"M0 85.337h512v104.515H0z\" />\n <path fill=\"#0052B4\" d=\"M0 210.877h512v89.656H0z\" />\n </svg>\n)\n\nexport var GN = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 0h512v342H0z\" />\n <path fill=\"#6DA544\" d=\"M342 0h171v342H342z\" />\n <path fill=\"#D80027\" d=\"M0 0h171v342H0z\" />\n </svg>\n)\n\nexport var GP = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#0052B4\" d=\"M0 85.331h170.663v341.337H0z\" />\n <path fill=\"#D80027\" d=\"M341.337 85.331H512v341.337H341.337z\" />\n </svg>\n)\n\nexport var GQ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#6DA544\" d=\"M0 0h513v113.8H0z\" />\n <path fill=\"#D80027\" d=\"M0 227.6h513V342H0z\" />\n <path fill=\"#0070C8\" d=\"M126 170.7L0 341.3V0z\" />\n <path\n fill=\"none\"\n stroke=\"#000\"\n strokeMiterlimit={10}\n d=\"M233.8 139.4v40.4c0 35.6 35.6 35.6 35.6 35.6s35.6 0 35.6-35.6v-40.4h-71.2z\"\n />\n <path fill=\"#786145\" d=\"M264.5 179.8h9.8l4 25.8h-17.8z\" />\n <path\n fill=\"#6DA544\"\n d=\"M287.2 162c0-9.8-8-14.8-17.8-14.8s-17.8 5-17.8 14.8c-4.9 0-8.9 4-8.9 8.9s4 8.9 8.9 8.9h35.6c4.9 0 8.9-4 8.9-8.9s-4-8.9-8.9-8.9z\"\n />\n <path\n d=\"M230.7 120l1.9 3.3h3.8l-1.9 3.3 1.9 3.2h-3.8l-1.9 3.3-1.9-3.3H225l1.9-3.2-1.9-3.3h3.8zm15.3 0l1.9 3.3h3.7l-1.9 3.3 1.9 3.2h-3.7l-1.9 3.3-1.9-3.3h-3.8l1.9-3.2-1.9-3.3h3.8zm15.3 0l1.9 3.3h3.7l-1.9 3.3 1.9 3.2h-3.7l-1.9 3.3-1.9-3.3h-3.8l1.9-3.2-1.9-3.3h3.8zm15.8 0l1.9 3.3h3.8l-1.9 3.3 1.9 3.2H279l-1.9 3.3-1.9-3.3h-3.7l1.8-3.2-1.8-3.3h3.7zm16 0l1.9 3.3h3.8l-1.9 3.3 1.9 3.2H295l-1.9 3.3-1.9-3.3h-3.7l1.8-3.2-1.8-3.3h3.7zm15 0l1.9 3.3h3.7l-1.9 3.3 1.9 3.2H310l-1.9 3.3-1.9-3.3h-3.8l1.9-3.2-1.9-3.3h3.8z\"\n fill=\"#FFDA00\"\n stroke=\"#000\"\n strokeMiterlimit={10}\n />\n </svg>\n)\n\nexport var GR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <g fill=\"#0d5eaf\">\n <path d=\"M0 0h513v38H0zm0 76h513v38H0zm0 76h513v38H0zm0 76h513v38H0zm0 76h513v38H0z\" />\n <path d=\"M0 0h190v190H0z\" />\n </g>\n <g fill=\"#FFF\">\n <path d=\"M0 76h190v38H0z\" />\n <path d=\"M76 0h38v190H76z\" />\n </g>\n </svg>\n)\n\nexport var GS = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 0v117.4h-46.1l46.1 30.7v22.6h-22.6L160 121.8v48.9H96v-48.9l-73.4 48.9H0v-22.6l46.1-30.7H0v-64h46.1L0 22.7V0h22.6L96 48.9V0h64v48.9L233.4 0z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 0h-32v69.4H0v32h112v69.3h32v-69.3h112v-32H144z\"\n />\n <path fill=\"#2E52B2\" d=\"M256 22.7v30.7h-46.1z\" />\n <path\n fill=\"#D80027\"\n d=\"M0 170.7v-11l62.5-42.3h22.6L7.3 170.7zM7.3.1l77.8 53.2H62.5L0 11.1V.1zM256 .1v11l-62.5 42.3h-22.6L248.7.1zm-7.3 170.6l-77.8-53.3h22.6l62.5 42.3v11z\"\n />\n <ellipse fill=\"#FFF\" cx={443.4} cy={233.6} rx={29} ry={43.5} />\n <ellipse fill=\"#FFCE00\" cx={406.9} cy={317.7} rx={22} ry={9.3} />\n <ellipse fill=\"#FFCE00\" cx={364} cy={317.7} rx={22} ry={9.3} />\n <path fill=\"#39B200\" d=\"M342 190.1l43.4 86.9 43.5-86.9z\" />\n <ellipse fill=\"#9B9B9B\" cx={327.5} cy={233.6} rx={29} ry={43.5} />\n <path\n fill=\"#757575\"\n d=\"M371 175.6l-14.5 14.5h57.9l-14.5-14.5 14.5-43.5s-13-29-29-29-29 29-29 29l14.6 43.5z\"\n />\n <circle fill=\"#C6B56F\" cx={385.4} cy={67} r={29} />\n <circle fill=\"#A54A00\" cx={386} cy={88.7} r={29} />\n <circle fill=\"#FFF\" cx={443.4} cy={117.7} r={29} />\n <circle fill=\"#0049FF\" cx={342.2} cy={146.7} r={29} />\n <circle fill=\"#0041F9\" cx={429.8} cy={146.7} r={29} />\n <circle fill=\"#F7D71E\" cx={386} cy={233.6} r={29} />\n <circle fill=\"#CEC851\" cx={457.9} cy={190.1} r={29} />\n <circle fill=\"#FFF\" cx={385.4} cy={289.5} r={29} />\n <path\n fill=\"#7C0B29\"\n d=\"M371 135.7l14.5-3.5 14.5 3.5c0 7.5-14.5 11-14.5 11s-14.5-3.5-14.5-11z\"\n />\n <circle fill=\"#FFF\" cx={327.5} cy={117.4} r={29} />\n </svg>\n)\n\nexport var GT = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path d=\"M0 0h171v342H0zm342 0h171v342H342z\" fill=\"#338AF3\" />\n <circle fill=\"#DCC26D\" cx={256} cy={155.8} r={25.5} />\n <path\n fill=\"#628A40\"\n d=\"M194.2 155.9c0 22.1 11.8 42.5 30.8 53.5 5.9 3.4 13.5 1.4 16.9-4.5 3.4-5.9 1.4-13.5-4.5-16.9-11.5-6.6-18.5-18.9-18.5-32.1 0-6.8-5.5-12.4-12.4-12.4s-12.3 5.5-12.3 12.4zm95.1 52.1c17.8-11.4 28.6-31 28.5-52.1 0-6.8-5.5-12.4-12.4-12.4-6.8 0-12.4 5.5-12.4 12.4 0 12.7-6.5 24.5-17.1 31.3-5.8 3.6-7.7 11.2-4.1 17 3.6 5.8 11.2 7.7 17 4.1.2-.1.3-.2.5-.3z\"\n />\n </svg>\n)\n\nexport var GU = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#0052B4\" d=\"M11.1 11.1h489.7v319.1H11.1z\" />\n <path\n fill=\"#7DBEF1\"\n d=\"M256 285.3s76.4-51.3 76.4-114.6S256 56 256 56s-76.4 51.3-76.4 114.6S256 285.3 256 285.3z\"\n />\n <path fill=\"#1C8AE6\" d=\"M179.8 180.7h152.6l-29.3 64.9h-95.2z\" />\n <path\n fill=\"#FFF042\"\n d=\"M192.3 205.9s40.5 38.2 51 38.2c12.4 0 12.6-18.4 25.5-25.5 20.2-11.1 51-12.7 51-12.7L297 248.7l-41 36.6-46.8-39.7-16.9-39.7z\"\n />\n <path\n fill=\"#259C7B\"\n d=\"M256 157.5l-22.5 15.6 7.9-26.2-21.8-16.5 27.4-.5 9-25.9 9 25.9 27.4.5-21.8 16.6 7.9 26.2-22.5-15.7z\"\n />\n <path\n fill=\"#8E5715\"\n d=\"M249.7 144.6c-.9 9.2-1.5 18.4-1.7 27.6-.3 11.9.3 20.7 2 26 2.2 6.6 7.2 12.9 14.2 18.9 5.3 4.6 10.6 8.1 14.2 10.1 3.1 1.7 7 .6 8.7-2.4 1.7-3.1.6-7-2.4-8.7-4.3-2.5-8.4-5.4-12.2-8.7-5.4-4.6-9.1-9.2-10.4-13.3-1.1-3.4-1.6-11.3-1.4-21.7.2-8.9.8-17.8 1.7-26.6.4-3.5-2.2-6.6-5.7-7-3.6-.3-6.7 2.3-7 5.8z\"\n />\n <path fill=\"#FFF\" d=\"M217.8 170.7l25.5 38.2h-25.5v-38.2z\" />\n <path\n fill=\"none\"\n stroke=\"#D80027\"\n strokeWidth={12}\n strokeMiterlimit={10}\n d=\"M256 285.3s76.4-51.3 76.4-114.6S256 56 256 56s-76.4 51.3-76.4 114.6S256 285.3 256 285.3z\"\n />\n </svg>\n)\n\nexport var GW = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#6DA544\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 85.331h512v170.663H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.331h181.793v341.337H0z\" />\n <path d=\"M98.32 195.127l15.107 46.497h48.894l-39.555 28.74 15.108 46.498-39.554-28.737-39.556 28.737 15.111-46.498-39.554-28.74h48.891z\" />\n </svg>\n)\n\nexport var GY = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 900 600\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#009E49\" d=\"M0 0h900v600H0V0z\" />\n <path fill=\"#FFF\" d=\"M0 0l947 300L0 600V0z\" />\n <path fill=\"#FFD00D\" d=\"M0 26.1L870 300 0 573.9V26.1z\" />\n <path fill=\"#2D2D2D\" d=\"M0 0l450 300L0 600V0z\" />\n <path fill=\"#D3132F\" d=\"M0 35l397.5 265L0 565V35z\" />\n </svg>\n)\n\nexport var HK = ({ title, ...rest }) => (\n <svg viewBox=\"0 0.5 21 14\" {...rest}>\n {title && <title>{title}</title>}\n<g fill=\"none\" fillRule=\"evenodd\">\n <path fill=\"#FFF\" d=\"M0 0h21v15H0z\" />\n <path fill=\"#ee1c25\" d=\"M0 0h21v15H0z\" />\n <path\n d=\"M12 7.19c-.798-.5-1 .409-1 0 0-.828.895-1.5 2-1.5s2 .672 2 1.5c-.949 0-1.044.5-1.5.5-.56 0-.702 0-1.5-.5zM13.25 7a.25.25 0 100-.5.25.25 0 000 .5zm-1.81 1.962c.228-.913-.698-.824-.31-.95.788-.257 1.703.387 2.045 1.438.341 1.05-.021 2.11-.809 2.366-.293-.903-.798-.838-.939-1.272-.173-.533-.217-.668.012-1.582zm.566 1.13a.25.25 0 10.476-.154.25.25 0 00-.476.154zM9.58 8.977c.94-.065.57-.919.81-.588.486.67.157 1.74-.737 2.389-.894.65-2.013.632-2.5-.038.768-.558.55-1.018.92-1.286.453-.33.568-.413 1.507-.477zm-.899.888a.25.25 0 10.294.405.25.25 0 00-.294-.405zm.312-2.652c.351.874 1.049.258.809.588-.487.67-1.606.687-2.5.038-.894-.65-1.223-1.719-.736-2.39.767.559 1.138.21 1.507.478.453.33.568.413.92 1.286zm-1.124-.58a.25.25 0 10-.293.404.25.25 0 00.293-.404zm2.619-.524c-.722.605.08 1.078-.309.951-.788-.256-1.15-1.315-.809-2.365.342-1.05 1.257-1.695 2.045-1.439-.293.903.153 1.147.012 1.581-.173.533-.217.668-.939 1.272zm.205-1.247a.25.25 0 10-.475-.155.25.25 0 00.475.155z\"\n fill=\"#FFF\"\n />\n </g>\n </svg>\n)\n\nexport var HM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.333h512V426.67H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M223.397 255.996c.273-.304.543-.609.813-.916-.27.308-.546.61-.82.916h.007zm-34.18 41.927l10.958 22.913 24.747-5.718-11.083 22.853 19.9 15.781-24.776 5.585.069 25.398-19.815-15.89-19.814 15.89.069-25.398-24.776-5.585 19.9-15.781-11.083-22.853 24.746 5.718zm197.859 28.464l5.227 10.929 11.803-2.728-5.286 10.9 9.492 7.528-11.818 2.663.032 12.114-9.45-7.578-9.45 7.578.032-12.114-11.817-2.663 9.491-7.528-5.285-10.9 11.803 2.728zm-48.623-115.939l5.227 10.93 11.803-2.729-5.286 10.901 9.491 7.528-11.817 2.663.032 12.115-9.45-7.58-9.451 7.58.033-12.115-11.818-2.663 9.491-7.528-5.284-10.901 11.802 2.729zm48.623-66.25l5.227 10.93 11.803-2.73-5.286 10.902 9.491 7.527-11.817 2.664.032 12.114-9.45-7.58-9.45 7.58.032-12.114-11.817-2.664 9.491-7.527-5.285-10.902 11.803 2.73zm42.471 49.688l5.227 10.929 11.802-2.728-5.284 10.9 9.491 7.527-11.818 2.664.033 12.114-9.451-7.578-9.45 7.578.032-12.114-11.817-2.664 9.491-7.527-5.286-10.9 11.803 2.728zm-30.368 57.97l4.11 12.652h13.304l-10.763 7.82 4.112 12.652-10.763-7.819-10.765 7.819 4.112-12.652-10.763-7.82h13.304z\" />\n <path d=\"M256 85.333v30.553l-45.167 25.099H256v59.359h-59.103L256 233.179v22.817h-26.68l-73.494-40.826v40.826h-55.652v-48.573l-87.43 48.573H0v-30.553l45.167-25.099H0v-59.359h59.103L0 108.139V85.333h26.68l73.494 40.827V85.333h55.652v48.573l87.43-48.573z\" />\n </g>\n <path\n fill=\"#D80027\"\n d=\"M144 85.33h-32v69.332H0v32h112v69.334h32v-69.334h112v-32H144z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915z\"\n />\n <path\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915zm-83.98 0L0 240.259v15.737l100.174-55.652z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915z\" />\n <path fill=\"#FFF\" d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915z\" />\n <path\n d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915zm83.98 0L256 101.067V85.33l-100.174 55.652z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var HN = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M0 0h513v114H0zm0 228h513v114H0zm203.5-110.1l6.7 16.6 17.6 1-14 10.9 4.7 17.7-15-9.9-15 9.9 4.7-17.7-14-10.9 17.6-1zm105 0l6.7 16.6 17.6 1-14 10.9 4.7 17.7-15-9.9-15 9.9 4.7-17.7-14-10.9 17.6-1zM256 147.6l6.7 16.6 17.6 1-14 10.9 4.7 17.7-15-9.9-15 9.9 4.7-17.7-14-10.9 17.6-1zm-52.5 29.7l6.7 16.6 17.6 1-14 10.9 4.7 17.6-15-9.9-15 9.9 4.7-17.6-14-10.9 17.6-1zm105 0l6.7 16.6 17.6 1-14 10.9 4.7 17.6-15-9.9-15 9.9 4.7-17.6-14-10.9 17.6-1z\"\n fill=\"#338AF3\"\n />\n </svg>\n)\n\nexport var HR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#D80027\" d=\"M0 0h513v114H0z\" />\n <path fill=\"#0052B4\" d=\"M0 228h513v114H0z\" />\n <path\n d=\"M309.3 113.2v-44l17.5-14.4 17.7 14.4v44zm-105.6 0v-44l-17.3-14.4-17.9 14.4v44zm35.2 0v-44l17.6-14.4 17.6 14.4v44z\"\n fill=\"#338AF3\"\n />\n <path\n d=\"M309.3 113.2h-35.2v-44l17.5-14.4 17.7 14.4zm-70.4 0h-35.2v-44l17.5-14.4 17.7 14.4z\"\n fill=\"#0052B4\"\n />\n <path\n stroke=\"#D80027\"\n fill=\"#FFF\"\n d=\"M168.5 113.2v101.9c0 24.3 14.4 46.2 35.4 59.4 21.3 13.4 42.1 14.7 52.6 14.7s31.4-1.7 52.6-14.8c21-13 35.4-35.1 35.4-59.3V113.2h-176z\"\n />\n <path\n d=\"M168.5 113.2h35.2v35.2h-35.2zm70.4 0h35.2v35.2h-35.2zm70.4 0h35.2v35.2h-35.2zm-105.6 35.2h35.2v35.2h-35.2zm70.4 0h35.2v35.2h-35.2zm-105.6 35.2h35.2v35.2h-35.2zm35.2 35.2h35.2V254h-35.2zm35.2-35.2h35.2v35.2h-35.2zm70.4 0h35.2v35.2h-35.2zm-35.2 35.2h35.2V254h-35.2zm35.2 55.5c8.6-5.4 16.2-12.3 22-20.3h-22v20.3zM181.7 254c5.8 8 13.3 14.9 22 20.4V254h-22zm57.2 0v33.7c7.2 1.2 13.3 1.5 17.6 1.5 4.3 0 10.4-.3 17.6-1.6V254h-35.2z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var HT = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#A2001D\" d=\"M0 0h513v172H0z\" />\n <path fill=\"#0052B4\" d=\"M0 172h513v172H0z\" />\n <path fill=\"#FFF\" d=\"M381.4 251.5l-110.7-13.8-110.8 13.8V85.4h221.5z\" />\n <circle fill=\"#0052B4\" cx={270.7} cy={182.3} r={55.4} />\n <circle fill=\"#A2001D\" cx={270.7} cy={182.3} r={27.7} />\n <path fill=\"#6DA544\" d=\"M229.1 113.1h83.1l-41.5 41.5z\" />\n <path fill=\"#FFDA44\" d=\"M256.8 140.8h27.7v83h-27.7z\" />\n <path fill=\"#6DA544\" d=\"M314.9 215.5h-88.5l-66.5 36h221.5z\" />\n </svg>\n)\n\nexport var HU = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#6DA544\" d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var IC = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 300 200\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#fc0\" d=\"M0 0h300v200H0z\" />\n <path fill=\"#0768a9\" d=\"M0 0h200v200H0z\" />\n <path fill=\"#fff\" d=\"M0 0h100v200H0z\" />\n </svg>\n)\n\nexport var ID = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.333h512v341.333H0z\" />\n <path fill=\"#E00\" d=\"M0 85.333h512V256H0z\" />\n </svg>\n)\n\nexport var IE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M0 85.331h170.663v341.337H0z\" />\n <path fill=\"#FF9811\" d=\"M341.337 85.331H512v341.337H341.337z\" />\n </svg>\n)\n\nexport var IL = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M340.6 122.4h-56.1l-28-48.6-28 48.6h-56.1l28 48.6-28 48.6h56.1l28 48.6 28-48.6h56.1l-28-48.6 28-48.6zM293.2 171L276 204.2h-38.9L219.8 171l17.2-33.2h38.9l17.3 33.2zm-36.7-71.8l11.9 23.3h-23.9l12-23.3zm-58.3 38.6h23.9l-10.8 21-13.1-21zm0 66.4l13-22.1 11.9 22.1h-24.9zm58.3 37.5l-11.9-22.1h23.9l-12 22.1zm59.4-37.5h-25l11.9-22.1 13.1 22.1zm-26.1-66.4h26.1l-13 22.1-13.1-22.1zM0 21.3h512V64H0zm0 256h512V320H0z\"\n fill=\"#2E52B2\"\n />\n </svg>\n)\n\nexport var IM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#E52D42\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M393.3 68.2h-45.8l-33.8 80.2-34.4-22.9s-24.7-59.1-34.4-68.2c-9.7-9.7-18.7-.6-48.9 7.8-29.6 8.4-30.8 18.7-42.2 18.7-4.8 0-19.9-17.5-27.7-22.3-12.1-7.8-16.9-4.2-13.9 7.2 1.2 4.8 10.9 10.9 16.9 19.9 7.8 11.5 12.7 25.9 12.7 25.9s10.9-10.3 16.9-12.1c9-2.4 19.3 1.8 31.4 0 15.1-2.4 31.4-10.9 31.4-10.9l4.2 43.4s-54.3 50.7-49.5 70.6 56.1 44.6 68.2 62.7c12.1 17.5-7.2 24.1-7.2 32.6s-1.8 19.9 7.2 16.3c9-3.6 10.3-18.1 18.7-31.4 6-9 10.3-13.9 11.5-17.5 1.8-9-23.5-32-37.4-48.9-6.6-7.8-19.9-18.7-19.9-18.7l39.2-29.6s67.6 27.7 82.6 18.7c15.1-9 19.3-98.3 19.3-98.3l47-11.5-12.1-11.7z\"\n />\n <path\n fill=\"#F8DD4E\"\n d=\"M279.3 262.4c-6 0-11.5-4.8-11.5-11.5s4.8-11.5 11.5-11.5c6 0 11.5 4.8 11.5 11.5s-5.5 11.5-11.5 11.5zm45.8-182.8c-6 0-11.5-4.8-11.5-11.5s4.8-11.5 11.5-11.5c6 0 11.5 4.8 11.5 11.5s-5.5 11.5-11.5 11.5zm0 91.1c-6 0-11.5-4.8-11.5-11.5 0-6 4.8-11.5 11.5-11.5 6 0 11.5 4.8 11.5 11.5-.6 6.7-5.5 11.5-11.5 11.5zm-136.9 45.8c-6 0-11.5-4.8-11.5-11.5 0-6 4.8-11.5 11.5-11.5 6.6 0 11.5 4.8 11.5 11.5s-5.5 11.5-11.5 11.5zm45.2-136.9c-6 0-11.5-4.8-11.5-11.5s4.8-11.5 11.5-11.5c6 0 11.5 4.8 11.5 11.5s-4.8 11.5-11.5 11.5zm22.9 91.1c-6 0-11.5-10.3-11.5-22.9s4.8-22.9 11.5-22.9c6 0 11.5 10.3 11.5 22.9s-4.8 22.9-11.5 22.9zm-114-45.2c-6 0-11.5-4.8-11.5-11.5 0-6.6 4.8-11.5 11.5-11.5 6.6 0 11.5 4.8 11.5 11.5 0 6.6-4.8 11.5-11.5 11.5z\"\n />\n </svg>\n)\n\nexport var IN = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#181A93\" d=\"M17.3 0h478.4v342H17.3V0z\" />\n <path fill=\"#FFA44A\" d=\"M0 0h513v114H0V0z\" />\n <path fill=\"#1A9F0B\" d=\"M0 228h513v114H0V228z\" />\n <path fill=\"#FFF\" d=\"M0 114h513v114H0V114z\" />\n <circle fill=\"#FFF\" cx={256.5} cy={171} r={34.2} />\n <path\n fill=\"#181A93\"\n d=\"M256.5 216.6c-25.1 0-45.6-20.5-45.6-45.6s20.5-45.6 45.6-45.6 45.6 20.5 45.6 45.6-20.5 45.6-45.6 45.6zm0-11.4c18.2 0 34.2-16 34.2-34.2s-15.9-34.2-34.2-34.2-34.2 16-34.2 34.2 16 34.2 34.2 34.2z\"\n />\n <circle fill=\"#181A93\" cx={256.5} cy={171} r={22.8} />\n </svg>\n)\n\nexport var IO = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0-.3h513V342H0V-.3z\" />\n <path\n fill=\"#0052B4\"\n d=\"M462.9 198.1c-4 0-14-5-21-9-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-16 9-20 9s-14-5-20-9c-11-6-22-12-32.1-12-9 0-20 6-31.1 12-7 4-16 9-20 9s-13-5-20-9c-11-6-22-12-31.1-12-10 0-21 6-32.1 12-6 4-16 9-20 9s-13-5-20-9c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-17 9-21 9s-13-5-20-9c-10-6-20-12-30.1-12v22l19 10c11 6 21 12 31.1 12s21-6 32.1-12c6-4 16-10 20-10s13 6 20 10c11 6 21 12 31.1 12s20-6 31.1-12c7-4 17-10 21-10s13 6 20 10c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-10 20-10s14 6 21 10c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-10 20-10s14 6 20 10c11 6 22 12 32.1 12s20-6 31.1-12l19-10v-22c-10 0-20 6-30.1 12-7 4-16 9-20 9zM0 31.7l19 10c11 6 21 12 31.1 12s21-6 32.1-12c6-4 16-10 20-10s13 6 20 10c11 6 21 12 31.1 12s20-6 31.1-12c7-4 17-10 21-10s13 6 20 10c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-10 20-10s14 6 21 10c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-10 20-10s14 6 20 10c11 6 22 12 32.1 12s20-6 31.1-12l19-10v-22c-10 1-20 6-30.1 12-7 4-16 9-20 9s-14-5-21-9c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-16 9-20 9s-14-5-20-9c-11-6-22-12-32.1-12s-20 6-31.1 12c-7 4-16 9-20 9s-13-5-20-9c-11-6-22-12-31.1-12s-21 6-32.1 12c-6 4-16 9-20 9s-13-5-20-9c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-17 9-21 9s-13-5-20-9c-10-6-20-11-30.1-12v22zm462.9 55.2c-4 0-14-5-21-9-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-16 9-20 9s-14-5-20-9c-11-6-22-12-32.1-12-9 0-20 6-31.1 12-7 4-16 9-20 9s-13-5-20-9c-11-6-22-12-31.1-12-10 0-21 6-32.1 12-6 4-16 9-20 9s-13-5-20-9c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-17 9-21 9s-13-5-20-9c-10-6-20-12-30.1-12v22l19 9c11 6 21 12 31.1 12s21-6 32.1-12c6-4 16-9 20-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 17-9 21-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 21 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 20 9c11 6 22 12 32.1 12s20-6 31.1-12l19-9v-22c-10 0-20 6-30.1 12-7 3.9-16 9-20 9zm50.1 34c-10 1-20 6-30.1 12-7 4-16 10-20 10s-14-6-21-10c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-16 10-20 10s-14-6-20-10c-11-6-22-12-32.1-12s-20 6-31.1 12c-7 4-16 10-20 10s-13-6-20-10c-11-6-22-12-31.1-12s-21 6-32.1 12c-6 4-16 10-20 10s-13-6-20-10c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-17 10-21 10s-13-6-20-10c-10-6-20-11-30.1-12v23c4 1 13 5 19 9 11 6 21 12 31.1 12s21-6 32.1-12c6-4 16-9 20-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 17-9 21-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 21 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 20 9c11 6 22 12 32.1 12s20-6 31.1-12c6-4 15-8 19-9v-23zm-50.1 133.3c-4 0-14-5-21-9-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-16 9-20 9s-14-5-20-9c-11-6-22-12-32.1-12-9 0-20 6-31.1 12-7 4-16 9-20 9s-13-5-20-9c-11-6-22-12-31.1-12-10 0-21 6-32.1 12-6 4-16 9-20 9s-13-5-20-9c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-17 9-21 9s-13-5-20-9c-10-6-20-12-30.1-12v22l19 9c11 6 21 12 31.1 12s21-6 32.1-12c6-4 16-9 20-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 17-9 21-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 21 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 20 9c11 6 22 12 32.1 12s20-6 31.1-12l19-9v-22c-10 0-20 6-30.1 12-7 4-16 9-20 9zm50.1 34c-10 1-20 6-30.1 12-7 4-16 10-20 10s-14-6-21-10c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-16 10-20 10s-14-6-20-10c-11-6-22-12-32.1-12s-20 6-31.1 12c-7 4-16 10-20 10s-13-6-20-10c-11-6-22-12-31.1-12s-21 6-32.1 12c-6 4-16 10-20 10s-13-6-20-10c-11-6-21-12-31.1-12s-20 6-31.1 12c-7 4-17 10-21 10s-13-6-20-10c-10-6-20-11-30.1-12v23c4 0 13 5 19 9 11 6 21 12 31.1 12s21-6 32.1-12c6-4 16-9 20-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 17-9 21-9s13 5 20 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 21 9c11 6 21 12 31.1 12s20-6 31.1-12c7-4 16-9 20-9s14 5 20 9c11 6 22 12 32.1 12s20-6 31.1-12c6-4 15-9 19-9v-23z\"\n />\n <path fill=\"#FFF\" d=\"M0-.3h256v171H0V-.3z\" />\n <path\n d=\"M389.8 119.9H408v78.8h-18.3l.1-78.8zm0 117.8H408v75.1h-18.3l.1-75.1z\"\n fill=\"#A2001D\"\n />\n <g fill=\"#D80027\">\n <path d=\"M144-.3h-32v70H0v32h112v69h32v-69h112v-32H144v-70z\" />\n <path d=\"M0-.3v15l57 39h23L0-.3zm256 0v15l-57 39h-23l80-54z\" />\n <path d=\"M0-.3v15l57 39h23L0-.3zm256 0v15l-57 39h-23l80-54zM0 170.7v-15l57-38h23l-80 53zm256 0v-15l-57-38h-23l80 53z\" />\n </g>\n <g fill=\"#2E52B2\">\n <path d=\"M0 22.7v31h46l-46-31zm96-23v49L23-.3h73zm160 23v31h-46l46-31zm-96-23v49l73-49h-73z\" />\n <path d=\"M0 22.7v31h46l-46-31zm96-23v49L23-.3h73zm160 23v31h-46l46-31zm-96-23v49l73-49h-73zM0 147.7v-30h46l-46 30zm96 23v-49l-73 49h73zm160-23v-30h-46l46 30zm-96 23v-49l73 49h-73z\" />\n </g>\n <path\n fill=\"#5DA51E\"\n stroke=\"#45602C\"\n strokeWidth={4}\n strokeMiterlimit={10}\n d=\"M462.8 91.5h-29.1l25.7-25.7c4.5-4.4 4.5-11.4 0-15.8l-3.4-3.4c-4.4-4.4-11.4-4.4-15.8 0l-25.9 25.9V37.4c0-6.2-5.1-11.3-11.3-11.3h-4.7c-6.2 0-11.3 5.1-11.3 11.3v31.7l-23.5-23.8c-4.7-4.7-12.2-4.7-16.9 0l-3.6 3.6c-4.7 4.7-4.7 12.4 0 17.2l25 25.4h-30.6c-6 0-10.9 4.9-10.9 10.9v4.6c0 6 4.9 10.9 10.9 10.9H369l-20.7 20.7c-4.4 4.4-4.4 11.4 0 15.8l3.4 3.4c4.4 4.4 11.4 4.4 15.8 0l19.6-19.6V167c0 6.1 5.1 11.1 11.3 11.3h4.7c6.2 0 11.3-5.1 11.3-11.3v-28.3l22.2 22.6c4.7 4.7 12.4 4.7 17.1 0l3.6-3.6c4.7-4.7 4.7-12.4 0-17.2L435.2 118h27.6c5.9 0 10.7-4.9 10.9-10.9v-4.6c0-6.1-4.9-11-10.9-11z\"\n />\n <path\n fill=\"#E2DD24\"\n stroke=\"#525625\"\n strokeWidth={4}\n strokeMiterlimit={10}\n d=\"M439.2 249.1h-79.8s-.9-13.4-6-21.8c-6.2-10.4-13.9-28.1-1.4-36.7 15.9-10.9 33.7.8 48.2.8 11.8.1 26.9-14 45-.8 12.2 8.9 3.9 28.2-1.3 36.7-7 11.5-4.7 21.8-4.7 21.8z\"\n />\n </svg>\n)\n\nexport var IQ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#CE1126\" d=\"M0 0h513v114H0z\" />\n <path d=\"M0 228h513v114H0z\" />\n <path\n d=\"M219.2 160.7h-29.3c1.5-5.7 6.6-9.9 12.8-9.9v-19.9c-18.3 0-33.1 14.9-33.1 33.1v16.5h49.6c1.8 0 3.3 1.5 3.3 3.3v6.6h-66.2v19.9h86.1v-26.5c0-12.7-10.4-23.1-23.2-23.1zm49.6 29.8v-59.6H249v79.5h33.1v-19.9zm66.2 0v-59.6h-19.8v59.6h-6.6v-19.8h-19.9v39.7h59.6v-19.9z\"\n fill=\"#547C31\"\n />\n </svg>\n)\n\nexport var IR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v342H0z\" />\n <path fill=\"#6DA544\" d=\"M0 0h513v114H0z\" />\n <path\n d=\"M0 227.9h513v114H0zm278.8-93.1c.1 2 8.7 26.2 4.4 39.4-6.6 20.3-15.8 21.8-19.8 24.5V134l-6.9-4.2-6.9 4.2v64.7c-4-2.7-12.4-2.4-19.8-24.5-4.3-12.7 5.7-37.3 5.8-39.2 0 0-9.5 8.1-15.8 24-5.9 14.8 1.9 49.6 29.5 54.8 2.3.4 4.7 5.6 7.2 5.6 2.1 0 4.1-5.2 6-5.5 28.4-4.6 35-41.7 29.9-55.6-5.4-14.6-13.6-23.5-13.6-23.5z\"\n fill=\"#D80027\"\n />\n <path\n d=\"M44.6 98.9h22.3v24.4H44.6zM0 98.9h22.3v24.4H0zm89.2 0h22.3v24.4H89.2zm44.6 0h22.3v24.4h-22.3zm44.6 0h22.3v24.4h-22.3zm44.6 0h22.3v24.4H223zm44.7 0H290v24.4h-22.3zm44.6 0h22.3v24.4h-22.3zm44.6 0h22.3v24.4h-22.3zm44.6 0h22.3v24.4h-22.3zm44.6 0h22.3v24.4h-22.3zm44.6 0H513v24.4h-22.3zm-446.1 118h22.3v25.5H44.6zm-44.6 0h22.3v25.5H0zm89.2 0h22.3v25.5H89.2zm44.6 0h22.3v25.5h-22.3zm44.6 0h22.3v25.5h-22.3zm44.6 0h22.3v25.5H223zm44.7 0H290v25.5h-22.3zm44.6 0h22.3v25.5h-22.3zm44.6 0h22.3v25.5h-22.3zm44.6 0h22.3v25.5h-22.3zm44.6 0h22.3v25.5h-22.3zm44.6 0H513v25.5h-22.3z\"\n fill=\"#FFF\"\n opacity={0.5}\n />\n </svg>\n)\n\nexport var IS = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.334h512v341.337H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M512 295.883H202.195v130.783h-79.76V295.883H0v-79.772h122.435V85.329h79.76v130.782H512v61.218z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M512 234.666v42.663H183.652v149.337h-42.674V277.329H0v-42.663h140.978V85.329h42.674v149.337z\"\n />\n </svg>\n)\n\nexport var IT = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M341.334 85.33H0v341.332h512V85.33z\" />\n <path fill=\"#6DA544\" d=\"M0 85.333h170.663V426.67H0z\" />\n <path fill=\"#D80027\" d=\"M341.337 85.333H512V426.67H341.337z\" />\n </svg>\n)\n\nexport var JE = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#D80027\"\n d=\"M301.8 171L513 30.2V0h-45.3L256.5 140.8 45.3 0H0v30.2L211.2 171 0 311.8V342h45.3l211.2-140.8L467.7 342H513v-30.2z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M233.7 44.6l22.3 5.6 22.3-5.6 4-20.9-14.9 6.5L256 14.8l-11.4 15.4-14.9-6.5z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M233.7 44.6s-4 12.9-4 29.9c0 27.9 26.3 41.3 26.3 41.3s26.3-15.5 26.3-41.3c0-15.4-4-29.9-4-29.9s-8.1-5-22.3-5-22.3 5-22.3 5z\"\n />\n </svg>\n)\n\nexport var JM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#6DA544\" d=\"M0 85.337h512v341.326H0z\" />\n <path d=\"M215.864 256.006L0 399.911V112.089zM512 112.089v287.822L296.136 256.006z\" />\n <path\n fill=\"#0052B4\"\n d=\"M512 112.089L296.136 256.006 512 399.911v26.757h-40.125L256 282.752 40.125 426.668H0v-26.757l215.864-143.905L0 112.089V85.331h40.125L256 229.248 471.875 85.331H512z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M512 112.089L296.136 256.006 512 399.911v26.757h-40.125L256 282.752 40.125 426.668H0v-26.757l215.864-143.905L0 112.089V85.331h40.125L256 229.248 471.875 85.331H512z\"\n />\n </svg>\n)\n\nexport var JO = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.339h512v341.326H0z\" />\n <path d=\"M0 85.339h512v113.775H0z\" />\n <path fill=\"#6DA544\" d=\"M0 312.89h512v113.775H0z\" />\n <path fill=\"#D80027\" d=\"M256 256.006L0 426.669V85.331z\" />\n <path\n fill=\"#FFF\"\n d=\"M77.913 224.802l7.876 16.469 17.786-4.11-7.965 16.426 14.303 11.343-17.808 4.014.049 18.255-14.241-11.421-14.241 11.421.05-18.255-17.809-4.014 14.303-11.343-7.965-16.426 17.786 4.11z\"\n />\n </svg>\n)\n\nexport var JP = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.337H0z\" />\n <circle fill=\"#D80027\" cx={256} cy={255.994} r={96} />\n </svg>\n)\n\nexport var KE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.337H0z\" />\n <path d=\"M0 85.331h512v90.579H0z\" />\n <path fill=\"#496E2D\" d=\"M0 336.089h512v90.568H0z\" />\n <path fill=\"#A2001D\" d=\"M0 198.606h512v114.799H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M323.265 139.803l-25.583-11.809L256 222.376l-41.682-94.382-25.583 11.809 51.749 116.191-51.749 116.192 25.583 11.808L256 289.613l41.682 94.381 25.583-11.808-51.749-116.192z\" />\n <path d=\"M273.376 150.931C263.472 140.115 256 133.898 256 133.898s-7.472 6.216-17.376 17.032v210.127C248.528 371.873 256 378.091 256 378.091s7.472-6.216 17.376-17.033V150.931z\" />\n </g>\n <path\n d=\"M209.04 191.226v129.535c10.465 18.542 23.274 33.742 32.872 43.818V147.408c-9.599 10.076-22.408 25.275-32.872 43.818zm93.92 0c-10.465-18.543-23.274-33.742-32.872-43.818V364.58c9.599-10.077 22.407-25.276 32.872-43.818V191.226z\"\n fill=\"#A2001D\"\n />\n <path d=\"M302.96 191.226v129.535c10.594-18.774 18.784-40.973 18.784-64.767s-8.19-45.993-18.784-64.768zm-93.92 0v129.535c-10.594-18.774-18.784-40.973-18.784-64.767s8.19-45.993 18.784-64.768z\" />\n </svg>\n)\n\nexport var KG = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 342\" {...rest}>\n {title && <title>{title}</title>}\n<g fill=\"#D80027\">\n <path d=\"M0 0h513v342H0z\" />\n <circle cx={256} cy={170.7} r={170.7} />\n </g>\n <path\n fill=\"#FFDA44\"\n d=\"M382.4 170.7L330.8 195l27.5 50-56.1-10.7-7.1 56.6-39.1-41.7-39.1 41.7-7.1-56.6-56.1 10.7 27.5-50-51.6-24.3 51.6-24.3-27.5-50.1 56.1 10.8 7.1-56.7L256 92.1l39.1-41.7 7.1 56.7 56.1-10.8-27.5 50.1z\"\n />\n <circle fill=\"#D80027\" cx={257.4} cy={170.7} r={71.6} />\n <path\n d=\"M214.2 170.7c-2.1 0-4.1.1-6.2.3.1 12 4.4 22.9 11.6 31.5 3.8-10.3 9.5-19.6 16.7-27.7-6.9-2.7-14.3-4.1-22.1-4.1zm26.6 46.5c5.2 1.9 10.8 2.9 16.6 2.9 5.8 0 11.4-1 16.6-2.9-2.8-11.1-8.7-21-16.6-28.8-7.9 7.8-13.8 17.7-16.6 28.8zm59.4-71.2c-8.5-14.8-24.5-24.7-42.8-24.7-18.3 0-34.2 9.9-42.8 24.7 15.6.1 30.2 4.3 42.8 11.6 12.6-7.3 27.2-11.6 42.8-11.6zm-21.7 28.8c7.2 8 12.9 17.4 16.7 27.7 7.2-8.5 11.5-19.5 11.6-31.5-2-.2-4.1-.3-6.2-.3-7.7 0-15.2 1.4-22.1 4.1z\"\n fill=\"#FFDA44\"\n />\n </svg>\n)\n\nexport var KH = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512v113.775H0zm0 227.551h512v113.775H0z\"\n fill=\"#0052B4\"\n />\n <path\n fill=\"#FFF\"\n d=\"M303.49 281.971v-17.809h-11.873v-23.745l-11.872-11.872-11.872 11.872v-23.744L256 204.8l-11.873 11.873v23.744l-11.872-11.872-11.872 11.872v23.745H208.51v17.809h-11.872v17.808h118.724v-17.808z\"\n />\n </svg>\n)\n\nexport var KI = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 450 300\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#CE1126\" d=\"M0 0h450v300H0V0z\" />\n <g fill=\"#FCD116\">\n <circle cx={227.6} cy={161.2} r={56.2} />\n <path d=\"M254.1 73.4l-23.7 26 28.6 6.5zm-51.5.2l-4.8 33.1 28.5-8zm94.3 26.7l-34.7 8.5 20.1 23.7zm-138.3-1.8l15.5 32.7 20.2-22.7zm159 45.3l-34.4-9.9 5.6 29.5zm-182-2.6l31.9 19.8 5.2-27.7z\" />\n </g>\n <path fill=\"#003F87\" d=\"M0 175h450v125H0V175z\" />\n <path\n fill=\"#FFF\"\n d=\"M0 267c15 0 30 13 45 13s30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13v-21c-15 0-30 13-45 13s-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13v21zm0-43c15 0 30 13 45 13s30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13v-21c-15 0-30 13-45 13s-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13v21zm0-43c15 0 30 13 45 13s30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13 30 13 45 13 30-13 45-13v-21c-15 0-30 13-45 13s-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13-30 13-45 13-30-13-45-13v21z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n fill=\"#FCD116\"\n d=\"M183.2 48.3l-1.1-5.3 22.4-3.7s-30.1-7.1-40-10.7c-14.3-5.1-16.3-12.1-16.3-12.1s44.7 11 64.8 11c4.3 0 12.8 10.7 12.8 10.7s14.8-14.9 21.9-15.4c32.1-2.3 66.6-6.4 66.6-6.4s-10 6.7-16 8.5c-16.2 4.9-50.6 11.7-50.6 11.7l-4.8 7.5H277l-14.4 4.3 7.4 6.9s-7.8-4.1-18.1-2.1c-7.1 1.3-15.4 6-22.9 8-18.7 4.8-29.9-12.8-29.9-12.8l-15.9-.1z\"\n />\n </svg>\n)\n\nexport var KM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 85.337h512v85.337H0z\" />\n <path fill=\"#FFF\" d=\"M0 170.663h512V256H0z\" />\n <path fill=\"#D80027\" d=\"M0 256h512v85.337H0z\" />\n <path fill=\"#6DA544\" d=\"M256 256.006L0 426.668V85.331z\" />\n <g fill=\"#FFF\">\n <path d=\"M68.638 256c0-24.865 17.476-45.638 40.812-50.734a52.059 52.059 0 00-11.13-1.208c-28.688 0-51.942 23.255-51.942 51.942s23.255 51.942 51.942 51.942c3.822 0 7.543-.425 11.13-1.208-23.337-5.096-40.812-25.869-40.812-50.734z\" />\n <path d=\"M108.877 211.478l2.762 8.503h8.94l-7.232 5.256 2.762 8.502-7.232-5.255-7.234 5.255 2.764-8.502-7.234-5.256h8.94zm0 22.261l2.762 8.503h8.94l-7.232 5.255 2.762 8.503-7.232-5.255-7.234 5.255 2.764-8.503-7.234-5.255h8.94zm0 22.261l2.762 8.503h8.94l-7.232 5.255 2.762 8.503-7.232-5.255-7.234 5.255 2.764-8.503-7.234-5.255h8.94zm0 22.261l2.762 8.502h8.94l-7.232 5.256 2.762 8.503-7.232-5.255-7.234 5.255 2.764-8.503-7.234-5.256h8.94z\" />\n </g>\n </svg>\n)\n\nexport var KN = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#6DA544\" d=\"M512 0H0v342\" />\n <path fill=\"#FFDA44\" d=\"M307.7 0L0 194.5V342h206.9L513 148.5V0z\" />\n <path d=\"M513 0H385.2L0 249.4V341l126.2 1L513 91.6z\" />\n <path\n d=\"M141.1 187l31.2 24 32.3-22.2-13.1 37 31.1 23.9-39.2-1.1-13.2 37-11.1-37.6-39.2-1.1 32.3-22.2zM310.6 70.8l31.2 23.9 32.3-22.2-13.1 37 31.1 23.9-39.2-1.1-13.2 37-11.1-37.6-39.2-1.1 32.4-22.2z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var KP = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#91DC5A\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#FFF\" d=\"M0 85.331h512v341.337H0z\" />\n <path d=\"M0 85.331h512v57.188H0zM0 369.48h512v57.177H0z\" fill=\"#0052B4\" />\n <path fill=\"#D80027\" d=\"M0 165.215h512v181.582H0z\" />\n <circle fill=\"#FFF\" cx={190.33} cy={255.994} r={65.668} />\n <path\n fill=\"#D80027\"\n d=\"M190.332 190.332l14.734 45.346h47.757l-38.65 28.028 14.849 45.481-38.69-28.16-38.631 28.107 14.79-45.428-38.616-28.028h47.722z\"\n />\n </svg>\n)\n\nexport var KR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 900 600\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h900v600H0z\" />\n <g transform=\"rotate(-56.31)\">\n <path\n d=\"M-75 228.3H75m-150 37.5H75m-150 37.5H75m-150 475H75m-150 37.5H75m-150 37.5H75\"\n stroke=\"#000\"\n strokeWidth={25}\n />\n <path stroke=\"#FFF\" strokeWidth={12.5} d=\"M0 753.3v125\" />\n <circle fill=\"#ca163a\" cy={540.8} r={150} />\n <path\n fill=\"#0e4896\"\n d=\"M0 390.8c-41.4 0-75 33.6-75 75s33.6 75 75 75 75 33.6 75 75-33.6 75-75 75c-82.8 0-150-67.2-150-150s67.2-150 150-150z\"\n />\n </g>\n <path\n d=\"M231.56 535.73l-83.205-124.808M262.76 514.928l-83.205-124.807m114.407 104.006l-83.205-124.808m478.43-138.675l-83.205-124.807M720.39 209.843L637.184 85.036m114.407 104.006L668.386 64.234\"\n stroke=\"#000\"\n strokeWidth={25}\n />\n <path\n stroke=\"#FFF\"\n strokeWidth={12.5}\n d=\"M205.6 462.897l31.202-20.8m389.981-259.989l36.444-24.296m31.202-20.801l31.202-20.801\"\n />\n </svg>\n)\n\nexport var KW = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#D80027\" d=\"M0 312.888h512v113.775H0z\" />\n <path d=\"M166.957 312.889L0 426.663V85.337l166.957 113.774z\" />\n </svg>\n)\n\nexport var KY = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.334h512v341.337H0z\" />\n <circle fill=\"#6DA544\" cx={384} cy={181.79} r={29.682} />\n <path fill=\"#D80027\" d=\"M332.054 174.377h103.88v44.522h-103.88z\" />\n <path fill=\"#496E2D\" d=\"M435.942 255.997v-.001.001z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M332.058 285.678v29.682h15.616c9.364 9.176 22.18 14.84 36.326 14.84 14.147 0 26.962-5.664 36.326-14.84h15.616v-29.682H332.058z\"\n />\n <path\n fill=\"#338AF3\"\n d=\"M332.058 211.475v44.522c0 39.759 51.942 51.942 51.942 51.942s51.942-12.182 51.942-51.942v-44.522H332.058z\"\n />\n <path\n d=\"M383.997 235.256c-12.985 0-12.985 11.873-25.97 11.873s-12.985-11.873-25.97-11.873v20.777c12.985 0 12.985 11.873 25.97 11.873s12.985-11.873 25.97-11.873c12.986 0 12.986 11.873 25.973 11.873 12.986 0 12.986-11.873 25.973-11.873v-20.777c-12.986 0-12.986 11.873-25.973 11.873-12.986-.001-12.986-11.873-25.973-11.873zm0-41.59c-12.985 0-12.985 11.873-25.97 11.873s-12.985-11.873-25.97-11.873v20.777c12.985 0 12.985 11.873 25.97 11.873s12.985-11.873 25.97-11.873c12.986 0 12.986 11.873 25.973 11.873 12.986 0 12.986-11.873 25.973-11.873v-20.777c-12.986 0-12.986 11.873-25.973 11.873-12.986 0-12.986-11.873-25.973-11.873z\"\n fill=\"#F3F3F3\"\n />\n <path\n fill=\"#FFF\"\n d=\"M256 85.334v22.617l-46.069 30.709H256v64h-46.069L256 233.38v22.617h-22.628L160 207.078v48.919H96v-48.919l-73.372 48.919H0V233.38l46.069-30.72H0v-64h46.069L0 107.951V85.334h22.628L96 134.241V85.334h64v48.907l73.372-48.907z\"\n />\n <g fill=\"#D80027\">\n <path d=\"M144 85.329h-32v69.334H0v32h112v69.334h32v-69.334h112v-32H144z\" />\n <path d=\"M0 85.329v15.082l57.377 38.252H80zm256 0v15.082l-57.377 38.252H176z\" />\n <path d=\"M0 85.329v15.082l57.377 38.252H80zm256 0v15.082l-57.377 38.252H176zM0 255.997v-15.082l57.377-38.252H80zm256 0v-15.082l-57.377-38.252H176z\" />\n </g>\n </svg>\n)\n\nexport var KZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#36B6CC\" d=\"M0 0h513v342H0V0z\" />\n <circle fill=\"#FFD400\" cx={256.5} cy={170.9} r={68.4} />\n <path\n fill=\"#FFD400\"\n d=\"M256.5 251.5l-27.9 41.7-7.1-49.7-43.2 25.5 15.2-47.8-50 4.2 34.4-36.5-46.9-18 46.8-18-34.4-36.5 50 4.2-15.2-47.8 43.2 25.4 7.1-49.7 27.9 41.7 27.9-41.7 7.1 49.7 43.2-25.4-15.2 47.8 50-4.2-34.3 36.6 46.8 17.9-46.8 18 34.4 36.5-50-4.2 15.2 47.8-43.2-25.4-7.1 49.7c0-.1-27.9-41.8-27.9-41.8zm0-.8c44.1 0 79.9-35.8 79.9-79.9S300.6 91 256.5 91s-79.9 35.8-79.9 79.9 35.8 79.8 79.9 79.8zM22.8 28.3c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H28.5c-3.1 0-5.7-2.5-5.7-5.6V28.3zm0 45.7c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H28.5c-3.1 0-5.7-2.5-5.7-5.6V74zm0 45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H28.5c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm0 45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H28.5c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm0 45.7c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H28.5c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm0 45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H28.5c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm0 45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H28.5c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm22.8-22.8c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H51.3c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm0-45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7V245c.1 3.1-2.4 5.7-5.6 5.7H51.3c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm0-45.7c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H51.3c-3.1 0-5.7-2.5-5.7-5.6V188zm0-45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H51.3c-3.1 0-5.7-2.5-5.7-5.6v-11.4zm0-45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H51.3c-3.1 0-5.7-2.5-5.7-5.6V96.8zm0-45.6c0-3.2 2.4-5.7 5.7-5.7h11.3c3.2 0 5.7 2.4 5.7 5.7v11.3c.1 3.1-2.4 5.7-5.6 5.7H51.3c-3.1 0-5.7-2.5-5.7-5.6V51.2z\"\n />\n </svg>\n)\n\nexport var LA = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h513v342H0z\" />\n <path d=\"M0 .1h513v90.7H0zm0 251.2h513V342H0z\" fill=\"#D80027\" />\n <circle fill=\"#FFF\" cx={256.5} cy={171} r={65.9} />\n </svg>\n)\n\nexport var LB = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path d=\"M0 .2h513v90.7H0zm.5 251.1H513V342H.5z\" fill=\"#D80027\" />\n <path\n fill=\"#6DA544\"\n d=\"M290.3 193.5L256 130.7l-34.3 62.8h25.7v17.2h17.2v-17.2z\"\n />\n <path\n fill=\"#14AF5A\"\n d=\"M241.3 213.1c4.4-4.4 4.4-11.6-.1-16l4.7 4.7c-5.2-4.7-12.2-6.6-19.1-5.3l-23.5 5.9c-6.1 1.5-6.8-.4-1.8-4.2l27.1-20.3c5.1-3.8 4.2-6.9-2.3-6.9h-11c-6.4 0-7-2.3-1.5-5.1l25.3-12.7c5.6-2.8 5.1-5.1-1.5-5.1h-11c-6.4 0-7.4-3.1-2.3-6.9l27.1-20.3c5.6-3.8 12.9-3.8 18.5 0l27.1 20.3c5.1 3.8 4.2 6.9-2.3 6.9h-11c-6.4 0-7 2.3-1.5 5.1l25.3 12.7c5.6 2.8 5.1 5.1-1.5 5.1h-11c-6.4 0-7.4 3.1-2.3 6.9l27.1 20.3c5.1 3.8 4.4 5.7-1.8 4.2l-23.5-5.9c-6.8-1.3-13.9.6-19.1 5.3l4.7-4.7c-4.4 4.4-4.5 11.5-.1 16l6.8 6.8c4.4 4.4 3.1 8-3.3 8h-45.8c-6.2 0-7.7-3.6-3.3-8 .1.1 6.9-6.8 6.9-6.8z\"\n />\n </svg>\n)\n\nexport var LC = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#55B2FF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#F3F3F3\" d=\"M148.5 298.1h216l-108-254.2z\" />\n <path fill=\"#333\" d=\"M186 272.7l70.5-160.3L327 272.7z\" />\n <path fill=\"#FFDA44\" d=\"M148.5 298.1h216l-108-101.7z\" />\n </svg>\n)\n\nexport var LI = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#0052B4\" d=\"M0 0h513v171H0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M149.3 98.1c0-14-11.3-25.3-25.3-25.3-6.5 0-12.4 2.4-16.9 6.4V64.4h8.4V47.5h-8.4v-8.4H90.3v8.4h-8.4v16.9h8.4v14.9c-4.5-4-10.4-6.4-16.9-6.4-14 0-25.3 11.3-25.3 25.3 0 7.5 3.3 14.2 8.4 18.8v14.9h84.3V117c5.3-4.7 8.5-11.5 8.5-18.9z\"\n />\n </svg>\n)\n\nexport var LK = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#A2001D\" d=\"M222.6 22.3h267.1v296.8H222.6z\" />\n <path fill=\"#D80027\" d=\"M22.3 22.3h200.3v296.8H22.3z\" />\n <path fill=\"#FFDA44\" d=\"M200.3 0h22.3v342h-22.3z\" />\n <path fill=\"#6DA544\" d=\"M22.3 22.3h89v296.8h-89z\" />\n <path fill=\"#FF9811\" d=\"M111.3 22.3h89v296.8h-89z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M368.2 156.8c-1.4-2 0-37.9 0-37.9.9-7.4.1-8.4 1-11.4.9-2.9 5.4-11.6 5.4-11.6s-6-2.3-10.3-.6c-4.3 1.7-24.7-7.5-31.2 3.4-4.4 7-23.6 16.2-24.6 14-1-2.2-5.9-5-6.9-2.9s-.7 13.9 0 16c.8 2.6 9.8 2 12.3 3.1 3.7 1.8 12.2 8.2 11.9 10.7-.3 2.5-22.5-6-24.2-4.5-1.4 1.2-1.9 13.2-.4 15 1.8 2.1 23.4 5.6 25 7.5 1.6 1.9-13.1 7.4-12.3 25 .7 14.7 8 17.4 8 17.4s-2.4 3.6-7.8 3.1c-6.2-.6-27.4-17.7-27.4-17.7s-3.5-109 3.6-121.4c4.9-8.5-22.7 10.1-22.7 50.8V151c0 6.6-1.4 22.4 2.6 34 0 0-.4 46.9 1.5 49.6s12.7 2.2 14.8 0 0-30 0-30c7.7.2 18.3 17.5 32.5 16.4 20.6-1.6 28.7-9.9 34.3-5 8.1 7.1 5.5 23.2.4 31.5-2.2 3.5-14.3 4.7-15.7 7.6-1.4 2.9.5 5.4.5 5.4h29.7s1.4-20.5 2.7-26.1c1.3-5.7-.6-10.7 5.9-10.4 23.5 1.1 39.8-15.3 45.5-8 3.2 4.1 5.6 29.9 3.3 33.3-2.2 3.4-13.8 2.8-15.2 6.7-1.4 4 .8 4.4.8 4.4h29.7s-.4-21.2 2.5-27.7 4.9-10.4 9.3-17.2c4.4-6.8 11.3-15.7 11.3-36.2 0-14.2-8.1-22.8-8.1-22.8H417c-14.1.2-47.4 2.3-48.8.3zm-136-124.5c10.7-10.6 20.2-2.7 22.2 2.1 1.9 4.8 2.1 8.2 2.8 13.6.9 6.9 4.9 14 4.9 14s-7.1-3.8-14.7-4.2c-4.7-.3-9-.6-13.6-2.5-5.7-2.3-11.7-12.9-1.6-23zm248.4-.1c10.7 10.6 2.8 20.2-2 22.2s-8.2 2.1-13.6 2.8c-6.9.9-14 5-14 5s3.7-7.1 4.2-14.7c.3-4.7.6-9.1 2.4-13.6 2.2-5.7 12.8-11.8 23-1.7zm.1 276.9c-10.7 10.6-20.2 2.6-22.2-2.2-1.9-4.8-2.1-8.2-2.7-13.6-.8-6.9-4.9-14.1-4.9-14.1s7 3.8 14.7 4.3c4.7.3 9 .6 13.6 2.5 5.7 2.4 11.7 13.1 1.5 23.1zm-248.2-.1c-10.6-10.7-2.7-20.2 2.1-22.2 4.8-1.9 8.2-2.1 13.6-2.8 6.9-.9 14-4.9 14-4.9s-3.8 7.1-4.2 14.7c-.3 4.7-.6 9-2.5 13.6-2.3 5.7-12.9 11.8-23 1.6z\"\n />\n <path\n fill=\"none\"\n stroke=\"#FFDA44\"\n strokeWidth={6}\n strokeMiterlimit={10}\n d=\"M446.9 162.4s7.5-2.6 8.4-16.1c.6-8.6-19.8-16-39-11.5-19.7 4.6-34-3.1-34-14.6 0-22.9 29.7-16.2 38.9-11.3 9.1 4.9 29.7 23.5 35.1 9.4\"\n />\n </svg>\n)\n\nexport var LR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path\n d=\"M0 0h512v31.1H0zm0 62.2h512v31.1H0zm0 62.3h512v31.1H0zm0 62.3h512v31.1H0zm0 62.5h512v31.1H0zm0 61.6h512V342H0z\"\n fill=\"#bf0a30\"\n />\n <path fill=\"#002868\" d=\"M0 0h155.6v155.6H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M77.8 30.2l10.7 32.9h34.6l-28 20.4 10.7 32.9-28-20.3-28 20.3 10.7-32.9-28-20.4h34.6z\"\n />\n </svg>\n)\n\nexport var LS = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#0052B4\" d=\"M0 0h513v114H0z\" />\n <path fill=\"#6DA544\" d=\"M0 227.6h513v114H0z\" />\n <path d=\"M245.2 171l7.7-23.1c2-5.9 5.1-6 7.1 0l7.7 23.1 19.4 29.1c1.7 2.6 1.3 6.3-1.2 8 0 0-6.9 8-29.5 8s-29.5-8-29.5-8c-2.4-2-2.9-5.4-1.2-8l19.5-29.1z\" />\n <path d=\"M256.5 171c-12.5 0-22.6-10.1-22.6-22.6 0-12.5 10.1-22.6 22.6-22.6s22.6 10.1 22.6 22.6c0 12.5-10.2 22.6-22.6 22.6zm0 0c6.2 0 11.3-16.3 11.3-22.6 0-6.2-5.1-11.3-11.3-11.3-6.2 0-11.3 5.1-11.3 11.3 0 6.3 5 22.6 11.3 22.6z\" />\n </svg>\n)\n\nexport var LT = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#6DA544\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#D80027\" d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var LU = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#338AF3\" d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var LV = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n className=\"prefix__st1\"\n d=\"M0 0h513v127.6H0zm0 214.4h513V342H0z\"\n fill=\"#A2001D\"\n />\n </svg>\n)\n\nexport var LY = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#496E2D\" d=\"M0 312.888h512v113.775H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M281.424 236.026l8.962 12.35 14.513-4.706-8.975 12.339 8.961 12.349-14.509-4.724-8.976 12.34.01-15.258-14.51-4.725 14.514-4.706z\" />\n <path d=\"M256.965 286.868c-17.048 0-30.868-13.821-30.868-30.868s13.821-30.868 30.868-30.868a30.742 30.742 0 0114.684 3.71c-6.851-6.698-16.218-10.833-26.556-10.833-20.982 0-37.992 17.01-37.992 37.992s17.01 37.992 37.992 37.992c10.338 0 19.706-4.135 26.556-10.833a30.738 30.738 0 01-14.684 3.708z\" />\n </g>\n </svg>\n)\n\nexport var MA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.337v341.326h512V85.337z\" />\n <path\n fill=\"#20661b\"\n d=\"M352 226.484h-73.337L256 156.738l-22.663 69.748H160l59.331 43.107-22.663 69.749L256 296.232l59.332 43.107-22.663-69.749L352 226.484zm-116.063 37.711l7.663-23.585h24.8l7.663 23.585v.001L256 278.772l-20.063-14.577zm27.873-37.711h-15.619L256 202.447l7.81 24.037zm24.269 28.982l-4.827-14.856h25.274l-20.447 14.856zm-59.331-14.856l-4.827 14.856-20.447-14.856h25.274zm-5.211 61.748l7.81-24.036 12.636 9.181-20.446 14.855zm44.479-14.856l12.636-9.181 7.81 24.036-20.446-14.855z\"\n />\n </svg>\n)\n\nexport var MC = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.333h512v341.333H0z\" />\n <path fill=\"#c70000\" d=\"M0 85.333h512V256H0z\" />\n </svg>\n)\n\nexport var MD = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#D80027\" d=\"M342 0h171v342H342z\" />\n <path fill=\"#0052B4\" d=\"M0 0h171v342H0z\" />\n <path\n fill=\"#AF7F59\"\n d=\"M206.2 129.1h33.2L256 79.3l16.6 49.8h33.2v99.6L256 262l-49.8-33.2v-99.7zm33.2 33.3v49.8h33.2v-49.8h-33.2z\"\n />\n </svg>\n)\n\nexport var ME = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#E6BE53\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#E01D24\" d=\"M20 20h473v302H20z\" />\n <path\n fill=\"#E6BE53\"\n d=\"M248.5 112.9c4.4 4.4 11.6 4.4 16 0l-4.7 4.7 22.7-22.7c4.9-4.5 12.1-5.6 18.2-2.8l2.1 1c5.7 2.9 6.7 8.7 2.3 13.1l4.7-4.7-22.8 22.8c-4.5 4.9-5.6 12.1-2.8 18.2l1 2.1c2.9 5.7 5.1 15.4 5.1 21.6v-11.3c0 6.2 4.4 9.1 10.2 6.2l2.1-1c5.7-2.9 6.7-8.7 2.3-13.1l4.7 4.7c-4.4-4.4-4.4-11.6 0-16l-4.7 4.7c5.2-5.5 9.6-11.6 13.1-18.2l1-2.1c2.9-5.7 6.3-15.1 7.9-21.2l5.8-23.3c1.5-6 5.9-6.8 9.6-1.8l20.2 26.9c3.8 5.1 6.9 14 6.9 20.6v22.4c0 6.3-2.2 15.8-5.1 21.7l-1 2.1c-3.5 6.6-7.9 12.7-13.1 18.2l-6.8 6.8c-5.4 5.2-11.5 9.6-18.2 13.1l-2.1 1c-5.7 2.9-15.5 5.1-21.6 5.1-6.2 0-6.9 2.2-1.1 5.1l2.1 1c5.7 2.9 13.8 8.7 18.2 13.1l-4.7-4.7c4.4 4.4 11.6 4.4 16 0l-4.7 4.7c4.4-4.4 11.6-4.4 16 0L339 226c4.6 4.9 5.7 12.1 2.9 18.2l-1 2.1c-2.9 5.7-10.4 10.2-16.4 10.2-7.5-.3-14.8-2-21.6-5.1l-2.1-1c-6.5-3.6-11.8-8.9-15.4-15.4l-1-2.1c-2.9-5.7-8.7-6.7-13.1-2.3l4.7-4.7c-4.4 4.7-5.2 11.8-1.8 17.3l10.3 15.4c3.4 5.1 2 12.1-3.1 15.5L266 284.4c-5.7 3.4-12.8 3.4-18.6 0L232 274.1c-5.1-3.4-6.5-10.3-3.1-15.5l10.3-15.4c3.4-5.5 2.6-12.6-1.8-17.3l4.7 4.7c-4.4-4.4-10.2-3.6-13.1 2.3l-1 2.1c-2.9 5.7-9.5 12.4-15.4 15.4l-2.1 1c-5.7 2.9-15.5 5.1-21.6 5.1-6.9-.3-13.1-4.2-16.4-10.2l-1-2.1c-2.8-6.1-1.6-13.3 2.9-18.2l-4.7 4.7c4.4-4.4 11.6-4.4 16 0L181 226c4.4 4.4 11.6 4.4 16 0l-4.7 4.7c5.5-5.2 11.6-9.6 18.2-13.1l2.1-1c5.7-2.9 5-5.1-1.1-5.1-7.5-.3-14.8-2-21.6-5.1l-2.1-1c-6.6-3.5-12.7-7.9-18.2-13.1l-6.8-6.8c-5.2-5.4-9.6-11.5-13.1-18.2l-1-2.1c-3.1-6.8-4.9-14.2-5.1-21.7V121c0-6.3 3.1-15.6 6.9-20.6l20.2-26.9c3.8-5.1 8.1-4.3 9.6 1.8l5.8 23.3c2 7.3 4.6 14.4 7.9 21.2l1 2.1c2.9 5.7 8.7 13.8 13.1 18.2l-4.7-4.7c4.4 4.4 4.4 11.6 0 16l4.7-4.7c-4.4 4.4-3.6 10.2 2.3 13.1l2.1 1c5.7 2.9 10.2 0 10.2-6.2v11.3c0-6.2 2.2-15.7 5.1-21.6l1-2.1c2.8-6.1 1.7-13.2-2.8-18.2l-22.7-22.7 4.7 4.7c-4.4-4.4-3.6-10.2 2.3-13.1l2.1-1c6.1-2.8 13.2-1.7 18.2 2.8l22.7 22.7-4.8-4.5zm-18-40.7c-4.4-4.4-3.2-9.5 2.8-11.5l12.4-4.2c6-2 15.5-2 21.5 0l12.4 4.2c6 2 7.2 7.1 2.8 11.5l-6.8 6.8c-5.3 4.7-12.1 7.5-19.2 7.9-6.2 0-14.8-3.5-19.2-7.9.1 0-6.7-6.8-6.7-6.8z\"\n />\n <path\n fill=\"#215F90\"\n d=\"M233.9 200.2c0 6.2 1.7 6.4 4.2.5 0 0 7.1-23.2 18.4-23.2 11.3 0 18.6 23.6 18.6 23.6 2.2 5.7 4 5.3 4-1.1v-11.2c0-18.7-10.1-33.9-22.6-33.9-12.5 0-22.6 15.2-22.6 33.9v11.4z\"\n />\n </svg>\n)\n\nexport var MF = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 108 72\" {...rest}>\n {title && <title>{title}</title>}\n<path d=\"M0 0h108v72H0z\" fill=\"#003787\" />\n <path d=\"M0 0h108L60 48v24H48V48z\" fill=\"#fff\" />\n <circle cx={54} cy={30} r={8} fill=\"#f9d90f\" />\n <path d=\"M44 30h20L54 48z\" fill=\"#fff\" />\n <path d=\"M54 48L38 33h32z\" fill=\"#cf142b\" />\n </svg>\n)\n\nexport var MG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#6DA544\" d=\"M512 426.666V85.329H0v341.337h512z\" />\n <path fill=\"#D80027\" d=\"M512 85.331H0v170.666h512V85.331z\" />\n <path fill=\"#FFF\" d=\"M0 85.334h181.793v341.337H0z\" />\n </svg>\n)\n\nexport var MH = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#1E509C\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#FFF\" d=\"M513 176.1V81.3L0 342l513-165.9z\" />\n <path fill=\"#F18D36\" d=\"M513 0v81.3L0 342 513 0z\" />\n <path\n fill=\"#FFF\"\n d=\"M126.7 99.3l-7.8-54.1-7.7 54.1-20.8-23.7 10.7 31.6-31.5-10.7 23.6 20.8-54.1 7.7 54.1 7.7-23.6 20.8 31.5-10.7-10.7 31.6 20.8-23.7 7.7 54.1 7.8-54.1 20.7 23.7-10.6-31.6 31.5 10.7-23.6-20.8 54-7.7-54-7.7 23.6-20.8-31.5 10.7 10.6-31.6z\"\n />\n </svg>\n)\n\nexport var MK = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.333h512V426.67H0z\" />\n <g fill=\"#D80027\">\n <path d=\"M383.875 426.662L256 252.286l26.827 174.376zM133.565 85.33L256 252.286 230.314 85.33zm95.606 341.332L256 252.286 128.124 426.662zM0 85.33V212.9l256 39.386L28.333 85.33zm0 341.332h18.212L256 252.286 0 291.67zm256-174.376L512 212.9V85.33h-28.331zM281.686 85.33L256 252.286 378.434 85.33zM512 426.662V291.671l-256-39.385 237.787 174.376z\" />\n <circle cx={256} cy={252.29} r={59.359} />\n </g>\n <circle fill=\"#FFDA44\" cx={256} cy={252.29} r={44.522} />\n </svg>\n)\n\nexport var ML = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#6DA544\" d=\"M0 85.331h170.663v341.337H0z\" />\n <path fill=\"#D80027\" d=\"M341.337 85.331H512v341.337H341.337z\" />\n </svg>\n)\n\nexport var MM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#6DA544\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#D80027\" d=\"M0 312.888h512v113.775H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M384 227.261h-97.783L256 134.265l-30.217 92.997H128l79.108 57.475-30.217 92.998L256 320.925l79.108 56.81-30.217-92.998L384 227.261z\"\n />\n </svg>\n)\n\nexport var MN = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#095FAD\" d=\"M0 0h513v342H0z\" />\n <path d=\"M342 0h171v342H342zM0 0h171v342H0z\" fill=\"#BE1229\" />\n <g fill=\"#FFDA44\">\n <path d=\"M108.3 166.3h14.8v74.2h-14.8zm-59.4 0h14.8v74.2H48.9z\" />\n <circle cx={86} cy={203.4} r={14.8} />\n <path d=\"M71.2 225.7h29.7v14.8H71.2zm0-59.4h29.7v14.8H71.2z\" />\n <circle cx={86} cy={144} r={14.8} />\n <path d=\"M76.3 123.9h19.5L86 108.3z\" />\n </g>\n </svg>\n)\n\nexport var MO = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#00745a\" d=\"M0 85.331h512v341.337H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M285.682 248.878c-4.19 0-8.166.836-11.861 2.164 2.023-4.509 3.379-9.527 3.379-14.885 0-21.201-21.201-37.101-21.201-37.101s-21.201 15.901-21.201 37.101c0 5.357 1.356 10.375 3.379 14.885-3.693-1.328-7.671-2.164-11.861-2.164-21.201 0-37.101 21.201-37.101 21.201s15.901 21.201 37.101 21.201c12.429 0 23.031-7.286 29.682-13.315 6.65 6.03 17.251 13.315 29.682 13.315 21.201 0 37.101-21.201 37.101-21.201s-15.899-21.201-37.099-21.201z\"\n />\n <path\n d=\"M256 152.111l4.38 13.476h14.171l-11.464 8.332 4.376 13.476-11.463-8.33-11.463 8.33 4.376-13.476-11.464-8.332h14.171zm-53.888 23.572l8.425 7.585 9.818-5.667-4.61 10.355 8.423 7.588-11.274-1.185-4.611 10.355-2.358-11.088-11.275-1.185 9.818-5.669zm-39.45 39.449l11.09 2.358 5.668-9.818 1.186 11.274 11.089 2.358-10.357 4.61 1.186 11.274-7.587-8.423-10.357 4.61 5.669-9.818zm147.227-39.449l-8.425 7.585-9.818-5.667 4.611 10.355-8.425 7.588 11.275-1.185 4.61 10.355 2.359-11.088 11.275-1.185-9.818-5.669zm39.449 39.449l-11.089 2.358-5.669-9.818-1.186 11.274-11.088 2.358 10.357 4.61-1.185 11.274 7.586-8.423 10.357 4.61-5.669-9.818z\"\n fill=\"#FFDA44\"\n />\n <path\n d=\"M256 350.642c16.84 0 32.363-5.619 44.816-15.073h-89.63c12.451 9.454 27.974 15.073 44.814 15.073zm-68.023-44.522a74.138 74.138 0 008.85 15.073h118.345a74.13 74.13 0 008.85-15.073H187.977z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var MP = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 750 500\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0071BC\" d=\"M0 0h750v500H0V0z\" />\n <g fill=\"#FFF\" stroke=\"#000\" strokeWidth={1.9}>\n <circle cx={375} cy={245} r={225} fill=\"#fff\" />\n <circle cx={375} cy={245} r={165} fill=\"#0071BC\" />\n </g>\n <g stroke=\"#000\">\n <path\n fill=\"#8C8A8C\"\n strokeWidth={1.9}\n d=\"M444.7 450c.7 11-7.8 20-18.8 20H323.6c-11 0-19.5-9-19-20l16.7-325c.6-11 10-20 21-20h61.4c11 0 20.5 9 21.2 20l19.8 325z\"\n />\n <path\n fill=\"#FFF\"\n strokeWidth={2}\n strokeLinejoin=\"round\"\n d=\"M373 114l30 93h97l-78 56 29 92-78-56-78 57 30-93-79-57h97l30-92z\"\n />\n </g>\n </svg>\n)\n\nexport var MQ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h513v342H0z\" />\n <g fill=\"#fff\">\n <path d=\"M512 148.4v44.5H278.3v148.4h-44.6V192.9H0v-44.5h233.7V0h44.6v148.4z\" />\n <path d=\"M101 36.1c4.2-.2 8.3-.1 12.5.2 5.5.4 9.4 1.6 9.1.5-.5-1.8-.1-2.2-.8-1.8-1.3 1 .7-.2-7.4 4.4-11.8 6.7-16.9 11.8-14.3 21 2.3 8.1 8.2 10.3 22.3 12.5l1.9.3c5.6.9 8.1 1.4 9.8 2.2.4.2-.3-1-.1-1.7-.2.6-3.9 2.1-13.3 3.9l-4.7.9c-18.1 3.7-27.1 8.5-28.5 21-1.5 13.7 12.7 23.3 30.6 25.6 18.2 2.4 34.1-3.6 35.7-18.4 1-9.4-5.5-15-15.9-17.1-7-1.4-16.3-1.4-27.4-.3-12.4 1.3-24.7 3.4-36.9 6.3-3.6.7-5.9 4.2-5.2 7.8.7 3.6 4.2 5.9 7.8 5.2.2 0 .3-.1.5-.1 11.6-2.7 23.3-4.7 35.1-5.9 9.9-1 18-1 23.4.1 4.4.9 5.3 1.7 5.2 2.6-.5 5.1-8.9 8.2-20.7 6.7-11.6-1.5-19.5-6.8-19.1-11 .5-4.3 5.3-6.8 17.9-9.4l4.6-.9c15.5-3 21.1-5.3 23.5-13.2 1.9-6.5-1.3-11.6-7.2-14.2-3.2-1.4-6.3-2.1-13.2-3.1l-1.8-.3c-8-1.3-11.4-2.6-11.5-3-.1-.4 1.8-2.3 8.1-5.9l4.4-2.5c1.5-.8 2.9-1.8 4.3-2.7 4.6-3.4 7.2-7.1 5.8-12.3-1.9-7.3-9-9.5-20.9-10.4-4.7-.3-9.3-.4-14-.3l-2 .1c-3.7.2-6.5 3.4-6.3 7 .2 3.7 3.4 6.5 7 6.3l1.7-.1zm284 0c4.2-.2 8.3-.1 12.5.2 5.5.4 9.4 1.6 9.1.5-.5-1.8-.1-2.2-.8-1.8-1.3 1 .7-.2-7.4 4.4-11.8 6.7-16.9 11.8-14.3 21 2.3 8.1 8.2 10.3 22.3 12.5l1.9.3c5.6.9 8.1 1.4 9.8 2.2.4.2-.3-1-.1-1.7-.2.6-3.9 2.1-13.3 3.9l-4.7.9c-18.1 3.7-27.1 8.5-28.5 21-1.5 13.7 12.7 23.3 30.6 25.6 18.2 2.4 34.1-3.6 35.7-18.4 1-9.4-5.5-15-15.9-17.1-7-1.4-16.3-1.4-27.4-.3-12.4 1.3-24.7 3.4-36.9 6.3-3.6.7-5.9 4.2-5.2 7.8.7 3.6 4.2 5.9 7.8 5.2.2 0 .3-.1.5-.1 11.6-2.7 23.3-4.7 35.1-5.9 9.9-1 18-1 23.4.1 4.4.9 5.3 1.7 5.2 2.6-.5 5.1-8.9 8.2-20.7 6.7-11.6-1.5-19.5-6.8-19.1-11 .5-4.3 5.3-6.8 17.9-9.4l4.6-.9c15.5-3 21.1-5.3 23.5-13.2 1.9-6.5-1.3-11.6-7.2-14.2-3.2-1.4-6.3-2.1-13.2-3.1l-1.8-.3c-8-1.3-11.4-2.6-11.5-3-.1-.4 1.8-2.3 8.1-5.9l4.4-2.5c1.5-.8 2.9-1.8 4.3-2.7 4.6-3.4 7.2-7.1 5.8-12.3-1.9-7.3-9-9.5-20.9-10.4-4.7-.3-9.3-.4-14-.3l-2 .1c-3.7.2-6.5 3.4-6.3 7 .2 3.7 3.4 6.5 7 6.3l1.7-.1zm-5.4 199c4.2-.2 8.3-.1 12.5.2 5.5.4 9.4 1.6 9.1.5-.5-1.8-.1-2.2-.8-1.8-1.3 1 .7-.2-7.4 4.4-11.8 6.7-16.9 11.8-14.3 21 2.3 8.1 8.2 10.3 22.3 12.5l1.9.3c5.6.9 8.1 1.4 9.8 2.2.4.2-.3-1-.1-1.7-.2.6-3.9 2.1-13.3 3.9l-4.7.9c-18.1 3.7-27.1 8.5-28.5 21-1.5 13.7 12.7 23.3 30.6 25.6 18.2 2.4 34.1-3.6 35.7-18.4 1-9.4-5.5-15-15.9-17.1-7-1.4-16.3-1.4-27.4-.3-12.4 1.3-24.7 3.4-36.9 6.3-3.6.7-5.9 4.2-5.2 7.8.7 3.6 4.2 5.9 7.8 5.2.2 0 .3-.1.5-.1 11.6-2.7 23.3-4.7 35.1-5.9 9.9-1 18-1 23.4.1 4.4.9 5.3 1.7 5.2 2.6-.5 5.1-8.9 8.2-20.7 6.7-11.6-1.5-19.5-6.8-19.1-11 .5-4.3 5.3-6.8 17.9-9.4l4.6-.9c15.5-3 21.1-5.3 23.5-13.2 1.9-6.5-1.3-11.6-7.2-14.2-3.2-1.4-6.3-2.1-13.2-3.1l-1.8-.3c-8-1.3-11.4-2.6-11.5-3-.1-.4 1.8-2.3 8.1-5.9l4.4-2.5c1.5-.8 2.9-1.8 4.3-2.7 4.6-3.4 7.2-7.1 5.8-12.3-1.9-7.3-9-9.5-20.9-10.4-4.7-.3-9.3-.4-14-.3l-2 .1c-3.7.2-6.5 3.4-6.3 7s3.4 6.5 7 6.3l1.7-.1zm-278.6 0c4.2-.2 8.3-.1 12.5.2 5.5.4 9.4 1.6 9.1.5-.5-1.8-.1-2.2-.8-1.8-1.3 1 .7-.2-7.4 4.4-11.8 6.7-16.9 11.8-14.3 21 2.3 8.1 8.2 10.3 22.3 12.5l1.9.3c5.6.9 8.1 1.4 9.8 2.2.4.2-.3-1-.1-1.7-.2.6-3.9 2.1-13.3 3.9l-4.7.9c-18.1 3.7-27.1 8.5-28.5 21-1.5 13.7 12.7 23.3 30.6 25.6 18.2 2.4 34.1-3.6 35.7-18.4 1-9.4-5.5-15-15.9-17.1-7-1.4-16.3-1.4-27.4-.3-12.4 1.3-24.7 3.4-36.9 6.3-3.6.7-5.9 4.2-5.2 7.8s4.2 5.9 7.8 5.2c.2 0 .3-.1.5-.1 11.6-2.7 23.3-4.7 35.1-5.9 9.9-1 18-1 23.4.1 4.4.9 5.3 1.7 5.2 2.6-.5 5.1-8.9 8.2-20.7 6.7-11.6-1.5-19.5-6.8-19.1-11 .5-4.3 5.3-6.8 17.9-9.4l4.6-.9c15.5-3 21.1-5.3 23.5-13.2 1.9-6.5-1.3-11.6-7.2-14.2-3.2-1.4-6.3-2.1-13.2-3.1l-1.8-.3c-8-1.3-11.4-2.6-11.5-3-.1-.4 1.8-2.3 8.1-5.9l4.4-2.5c1.5-.8 2.9-1.8 4.3-2.7 4.6-3.4 7.2-7.1 5.8-12.3-1.9-7.3-9-9.5-20.9-10.4-4.7-.3-9.3-.4-14-.3l-2 .1c-3.7.2-6.5 3.4-6.3 7 .2 3.7 3.4 6.5 7 6.3l1.7-.1z\" />\n </g>\n </svg>\n)\n\nexport var MR = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#496E2D\" d=\"M0 85.331h512v341.337H0z\" />\n <g fill=\"#FFDA44\">\n <path d=\"M256 298.851c-45.956 0-84.348-32.298-93.767-75.429A96.288 96.288 0 00160 243.994c0 53.02 42.979 96 96 96s96-42.98 96-96c0-7.066-.785-13.942-2.233-20.572-9.419 43.131-47.811 75.429-93.767 75.429z\" />\n <path d=\"M255.999 171.994l8.935 27.502h28.918l-23.394 16.996 8.936 27.503-23.395-16.998-23.394 16.998 8.937-27.503-23.394-16.996h28.915z\" />\n </g>\n </svg>\n)\n\nexport var MS = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#1B4991\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#00A2B8\"\n stroke=\"#FFF\"\n strokeWidth={3}\n d=\"M318.2 106.7v106.5c0 51.9 67.8 67.8 67.8 67.8s67.8-15.9 67.8-67.8V106.7H318.2z\"\n />\n <path\n fill=\"#A35023\"\n d=\"M319.7 212.7c0 50.8 66.3 66.3 66.3 66.3s66.3-15.6 66.3-66.3H319.7z\"\n />\n <path d=\"M415.1 155.1h-19.4v-19.4h-19.4v19.4H357v19.4h19.3v58.1h19.4v-58.1h19.4z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 0v30.6l-45.2 25.1H256V115h-59.1l59.1 32.8v22.9h-26.7l-73.5-40.9v40.9h-55.6v-48.6l-87.5 48.6H0v-30.6L45.2 115H0V55.7h59.1L0 22.8V0h26.7l73.5 40.8V0h55.6v48.6L243.3 0z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 0h-32v69.3H0v32h112v69.4h32v-69.4h112v-32H144z\"\n />\n <path fill=\"#0052B4\" d=\"M155.8 115L256 170.7v-15.8L184.2 115z\" />\n <path fill=\"#FFF\" d=\"M155.8 115L256 170.7v-15.8L184.2 115z\" />\n <path\n fill=\"#D80027\"\n d=\"M155.8 115L256 170.7v-15.8L184.2 115zm-84 0L0 154.9v15.8L100.2 115z\"\n />\n <path fill=\"#0052B4\" d=\"M100.2 55.6L0 0v15.7l71.8 39.9z\" />\n <path fill=\"#FFF\" d=\"M100.2 55.6L0 0v15.7l71.8 39.9z\" />\n <path\n fill=\"#D80027\"\n d=\"M100.2 55.6L0 0v15.7l71.8 39.9zm84 0L256 15.7V0L155.8 55.6z\"\n />\n </svg>\n)\n\nexport var MT = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#C31B28\" d=\"M256 0h256.5v342H256z\" />\n <path\n fill=\"#ACABB1\"\n stroke=\"#C31B28\"\n strokeWidth={2}\n d=\"M101.2 68.2V33H66v35.2H30.8v35.2H66v35.2h35.2v-35.2h35.2V68.2z\"\n />\n </svg>\n)\n\nexport var MU = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#f7ce00\" d=\"M0 85.331h512v341.326H0z\" />\n <path fill=\"#e32737\" d=\"M0 85.331h512v85.337H0z\" />\n <path fill=\"#191f6a\" d=\"M0 170.657h512v85.337H0z\" />\n <path fill=\"#00a04e\" d=\"M0 341.331h512v85.337H0z\" />\n </svg>\n)\n\nexport var MV = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#d01920\" d=\"M0 85.331h512v341.333H0z\" />\n <path fill=\"#017c3b\" d=\"M144.696 174.375h222.609v163.25H144.696z\" />\n <path\n fill=\"#FFF\"\n d=\"M283.484 304.226c-26.637 0-48.232-21.594-48.232-48.232s21.594-48.232 48.232-48.232c8.306 0 16.12 2.1 22.943 5.797-10.703-10.467-25.341-16.927-41.494-16.927-32.784 0-59.362 26.577-59.362 59.362s26.578 59.362 59.362 59.362c16.154 0 30.791-6.461 41.494-16.927-6.822 3.698-14.636 5.797-22.943 5.797z\"\n />\n </svg>\n)\n\nexport var MW = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#272727\" d=\"M0 0h512v114H0z\" />\n <path fill=\"#e40112\" d=\"M0 114h512v114H0z\" />\n <path fill=\"#07893f\" d=\"M0 228h512v114H0z\" />\n <circle fill=\"#e40112\" cx={256} cy={125} r={95} />\n </svg>\n)\n\nexport var MX = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#dc2339\" d=\"M342 0H0v341.3h513V0z\" />\n <path fill=\"#11865d\" d=\"M0 0h171v342H0z\" />\n <path fill=\"#FFF\" d=\"M171 0h171v342H171z\" />\n <path\n fill=\"#8C9157\"\n d=\"M195.8 171.2c0 21.6 11.5 41.7 30.3 52.5 5.8 3.4 13.2 1.4 16.6-4.4 3.4-5.8 1.4-13.2-4.4-16.6-11.3-6.5-18.2-18.5-18.2-31.5 0-6.7-5.4-12.1-12.1-12.1-6.7 0-12.2 5.4-12.2 12.1zm93.4 51.1c17.5-11.1 28-30.4 28-51.1 0-6.7-5.4-12.1-12.1-12.1s-12.1 5.4-12.1 12.1c0 12.4-6.3 24-16.8 30.7-5.7 3.5-7.5 10.9-4.1 16.7s10.9 7.5 16.7 4.1c0-.2.2-.3.4-.4z\"\n />\n <ellipse fill=\"#C59262\" cx={256.5} cy={159.1} rx={24.3} ry={36.4} />\n </svg>\n)\n\nexport var MY = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M0 0h513v24.4H0zm0 48.9h513v24.4H0zm0 48.8h513v24.4H0zm0 48.9h513V171H0zm0 48.8h513v24.4H0zm0 48.9h513v24.4H0zm0 48.8h513v24.4H0z\"\n fill=\"#c00\"\n />\n <path fill=\"#006\" d=\"M0 0h256.5v195.4H0z\" />\n <path\n d=\"M153.3 42.1C122.6 30.7 88.5 46.3 77.1 77s4.2 64.8 34.9 76.2c13.3 5 28 5 41.4 0-30.7 24.5-75.4 19.6-100-11.1s-19.6-75.4 11.1-100c26-20.7 62.9-20.7 88.8 0zm26.7 75l-20.6 23.3 5.4-30.6-31-1.6 27.3-14.9L143 68l28.6 12 8.4-29.9 8.4 29.9L217 68l-18 25.4 27.3 14.9-31 1.6 5.4 30.6-20.7-23.4z\"\n fill=\"#fc0\"\n />\n </svg>\n)\n\nexport var MZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.333h513v342H0z\" />\n <path fill=\"#f4d900\" d=\"M0 323.333h513v104H0z\" />\n <path fill=\"#006d66\" d=\"M0 85.333h513v104H0z\" />\n <path d=\"M0 204.333h513v104H0z\" />\n <path fill=\"#cb0f31\" d=\"M256 256.006L0 426.668V85.331z\" />\n <path\n fill=\"#f4d900\"\n d=\"M83.477 195.132l15.107 46.498h48.894l-39.554 28.739 15.107 46.499-39.554-28.738-39.555 28.738 15.11-46.499-39.554-28.739H68.37z\"\n />\n </svg>\n)\n\nexport var NA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#496E2D\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#0052B4\" d=\"M0 426.663V85.337h512\" />\n <path fill=\"#FFF\" d=\"M512 152.222V85.337H411.67L0 359.778v66.885h100.33z\" />\n <path\n fill=\"#A2001D\"\n d=\"M512 85.337v40.125L60.193 426.663H0v-40.125L451.807 85.337z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M187.737 189.212l-22.741 10.696 12.11 22.024-24.693-4.724-3.129 24.945-17.199-18.347-17.2 18.347-3.129-24.945-24.693 4.723 12.109-22.023-22.739-10.696 22.74-10.697-12.11-22.022 24.693 4.722 3.13-24.944 17.199 18.347 17.2-18.347 3.128 24.944 24.693-4.722-12.108 22.024z\"\n />\n </svg>\n)\n\nexport var NC = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 640 426.7\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#009543\" d=\"M0 293h640v133.7H0V293z\" />\n <path fill=\"#ED4135\" d=\"M0 132h640v161.3H0V132z\" />\n <path fill=\"#0035AD\" d=\"M0 0h640v133.3H0V0z\" />\n <circle\n fill=\"#FAE600\"\n stroke=\"#000\"\n strokeWidth={5.3}\n cx={240}\n cy={213.3}\n r={157.3}\n />\n <path d=\"M307.9 354.5l-31.8 12-36.1 4.2-37.8-2.4-35.9-15.5s28.6-29.3 40.7-33.5c8.6-3 22.4-3.7 22.4-3.7V122l-.3-66H246l-.5 67.5v191.7s15.3 1.2 22.1 4.1c11.3 4.9 40.3 35.2 40.3 35.2z\" />\n <path d=\"M212.727 102.375l42.955-21.418 5.577 11.187-42.955 21.417z\" />\n <ellipse cx={237.8} cy={280.5} rx={16.8} ry={26.5} />\n <circle cx={237.4} cy={143.4} r={20.9} />\n <ellipse cx={238.4} cy={211.1} rx={19.9} ry={12.1} />\n <path d=\"M213.8 177h47v10h-47zm0 57h47v10h-47z\" />\n </svg>\n)\n\nexport var NE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#e05206\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#0db02b\" d=\"M0 312.888h512v113.775H0z\" />\n <circle fill=\"#e05206\" cx={256} cy={256} r={32} />\n </svg>\n)\n\nexport var NF = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.5 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.5h513v342H0z\" />\n <path\n d=\"M0 85.5h171v342H0zm342 0h171v342H342zm-38 226.495l-48-152.001-48 152.001h36v39.999h24v-39.999z\"\n fill=\"#007b23\"\n />\n </svg>\n)\n\nexport var NG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.5 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.5h513v342H0z\" />\n <path d=\"M0 85.5h171v342H0zm342 0h171v342H342z\" fill=\"#007b23\" />\n </svg>\n)\n\nexport var NI = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512v113.775H0zm0 227.551h512v113.775H0z\"\n fill=\"#338AF3\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M256 214.447c-22.949 0-41.553 18.603-41.553 41.553S233.05 297.553 256 297.553c22.949 0 41.553-18.603 41.553-41.553S278.949 214.447 256 214.447zm0 65.298c-13.114 0-23.745-10.631-23.745-23.745s10.631-23.745 23.745-23.745 23.745 10.631 23.745 23.745-10.631 23.745-23.745 23.745z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M276.563 261.936L256 256l-20.563 5.936-6.855 11.873h54.836z\"\n />\n <path fill=\"#338AF3\" d=\"M256 226.32l-13.709 23.744L256 256l13.709-5.936z\" />\n <path fill=\"#6DA544\" d=\"M235.437 261.936h41.126l-6.854-11.872h-27.418z\" />\n </svg>\n)\n\nexport var NL = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.5 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.5h513v342H0z\" />\n <path fill=\"#cd1f2a\" d=\"M0 85.5h513v114H0z\" />\n <path fill=\"#1d4185\" d=\"M0 312h513v114H0z\" />\n </svg>\n)\n\nexport var NO = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.334h512v341.337H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M512 295.883H202.195v130.783h-79.76V295.883H0v-79.772h122.435V85.329h79.76v130.782H512v61.218z\"\n />\n <path\n fill=\"#2E52B2\"\n d=\"M512 234.666v42.663H183.652v149.337h-42.674V277.329H0v-42.663h140.978V85.329h42.674v149.337z\"\n />\n </svg>\n)\n\nexport var NP = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n fill=\"#0052B4\"\n d=\"M0 426.663V85.337l280.419 174.75H87.61l183.576 166.576z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M244.769 249.888L10.199 103.71v312.754h234.57L61.193 249.888z\"\n />\n <g fill=\"#FFF\">\n <path d=\"M98.003 324.433l-14.589-6.863 7.77-14.13-15.844 3.03-2.008-16.005-11.035 11.772-11.036-11.772-2.008 16.005-15.843-3.031 7.77 14.131-14.591 6.863 14.591 6.862-7.77 14.13 15.844-3.029 2.007 16.004 11.036-11.772L73.332 358.4l2.008-16.004 15.843 3.03-7.769-14.13zm-9.735-132.771l-10.612-4.991 5.651-10.278-11.523 2.205-1.461-11.641-8.026 8.561-8.026-8.561-1.46 11.641-11.525-2.205 5.652 10.278-10.613 4.991 25.972 5.194z\" />\n <path d=\"M93.462 191.662c0 17.212-13.953 31.165-31.165 31.165s-31.165-13.953-31.165-31.165\" />\n </g>\n </svg>\n)\n\nexport var NR = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 239.994h512v32H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M174.802 341.329l-19.124 8.996 10.184 18.521-20.767-3.973-2.631 20.978L128 370.422l-14.465 15.429-2.63-20.978-20.767 3.973 10.183-18.521-19.123-8.996 19.124-8.995-10.184-18.52 20.766 3.971 2.632-20.978L128 312.236l14.465-15.429 2.63 20.978 20.767-3.971-10.183 18.521z\"\n />\n </svg>\n)\n\nexport var NU = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.334h512v341.337H0z\" />\n <path fill=\"#FFF\" d=\"M0 85.334h256v170.663H0z\" />\n <g fill=\"#D80027\">\n <path d=\"M144 85.33h-32v69.333H0v32h112v69.334h32v-69.334h112v-32H144z\" />\n <path d=\"M0 85.329v15.083l57.377 38.251H80z\" />\n </g>\n <path\n d=\"M0 107.951v30.712h46.069zm96-22.62v48.913L22.628 85.331z\"\n fill=\"#2E52B2\"\n />\n <path fill=\"#D80027\" d=\"M256 85.329v15.083l-57.377 38.251H176z\" />\n <path\n d=\"M256 107.951v30.712h-46.069zm-96-22.62v48.913l73.372-48.913z\"\n fill=\"#2E52B2\"\n />\n <path fill=\"#D80027\" d=\"M0 85.329v15.083l57.377 38.251H80z\" />\n <path\n d=\"M0 107.951v30.712h46.069zm96-22.62v48.913L22.628 85.331z\"\n fill=\"#2E52B2\"\n />\n <path fill=\"#D80027\" d=\"M256 85.329v15.083l-57.377 38.251H176z\" />\n <path\n d=\"M256 107.951v30.712h-46.069zm-96-22.62v48.913l73.372-48.913z\"\n fill=\"#2E52B2\"\n />\n <path fill=\"#D80027\" d=\"M0 255.997v-15.082l57.377-38.252H80z\" />\n <path\n d=\"M0 233.376v-30.713h46.069zm96 22.618v-48.912l-73.372 48.912z\"\n fill=\"#2E52B2\"\n />\n <path fill=\"#D80027\" d=\"M256 255.997v-15.082l-57.377-38.252H176z\" />\n <g fill=\"#2E52B2\">\n <path d=\"M256 233.376v-30.713h-46.069zm-96 22.618v-48.912l73.372 48.912z\" />\n <circle cx={128} cy={170.66} r={22.627} />\n </g>\n <path\n d=\"M128 154.663l3.97 12.222h12.854l-10.398 7.556 3.971 12.222L128 179.109l-10.398 7.554 3.972-12.222-10.398-7.556h12.853zm0 65.14l2.364 7.278h7.653l-6.19 4.498 2.364 7.278-6.191-4.498-6.191 4.498 2.364-7.278-6.19-4.498h7.652zm0-117.334l2.364 7.278h7.653l-6.19 4.498 2.364 7.278-6.191-4.498-6.191 4.498 2.364-7.278-6.19-4.498h7.652zm69.931 58.667l2.365 7.277h7.653l-6.192 4.499 2.365 7.279-6.191-4.498-6.191 4.498 2.365-7.279-6.191-4.499h7.652zm-139.862 0l2.364 7.277h7.653l-6.191 4.499 2.364 7.279-6.19-4.498-6.191 4.498 2.365-7.279-6.192-4.499h7.653z\"\n fill=\"#FFDA44\"\n />\n </svg>\n)\n\nexport var NZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.334h512v341.337H0z\" />\n <path\n d=\"M425.301 233.745l3.388 10.428h10.963l-8.87 6.444 3.388 10.427-8.869-6.444-8.871 6.444 3.388-10.427-8.87-6.444h10.963zm-39.194 75.072l5.083 15.642h16.445l-13.305 9.667 5.082 15.64-13.305-9.667-13.305 9.667 5.083-15.64-13.305-9.667h16.445zm1.481-122.846l4.236 13.036h13.704l-11.088 8.054 4.235 13.034-11.087-8.056-11.088 8.056 4.235-13.034-11.087-8.054h13.704zm-37.712 47.32l5.082 15.641h16.446l-13.306 9.666 5.084 15.641-13.306-9.666-13.305 9.666 5.082-15.641-13.305-9.666h16.445z\"\n fill=\"#D80027\"\n />\n <path\n fill=\"#FFF\"\n d=\"M256.003 85.329v30.564l-45.178 25.088h45.178v59.359H196.89l59.113 32.846v22.806h-26.69l-73.484-40.826v40.826h-55.652v-48.573l-87.429 48.573H.003v-30.553l45.168-25.099H.003v-59.359h59.103L.003 108.147V85.329h26.68l73.494 40.838V85.329h55.652v48.573l87.43-48.573z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 85.33h-32v69.334H0v32h112v69.334h32v-69.334h112v-32H144z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M155.826 200.344L256 255.998v-15.739l-71.847-39.915z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M155.826 200.344L256 255.998v-15.739l-71.847-39.915z\"\n />\n <path\n d=\"M155.826 200.344L256 255.998v-15.739l-71.847-39.915zm-83.98 0L0 240.259v15.739l100.174-55.654z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M100.174 140.983L0 85.33v15.738l71.847 39.915z\" />\n <path fill=\"#FFF\" d=\"M100.174 140.983L0 85.33v15.738l71.847 39.915z\" />\n <path\n d=\"M100.174 140.983L0 85.33v15.738l71.847 39.915zm83.98 0L256 101.068V85.33l-100.174 55.653z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var OM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 0h513v342H0z\" />\n <path fill=\"#FFF\" d=\"M138 0h377v114H138z\" />\n <path fill=\"#4A7C3A\" d=\"M138 230h377v114H138z\" />\n <g fill=\"none\" stroke=\"#FFF\" strokeWidth={10} strokeMiterlimit={2}>\n <path d=\"M40.3 35.2s37.1 48 50.8 54.5c13.7 6.5 17.1 5.7 17.1 5.7\" />\n <path d=\"M100 35.2S62.9 80.6 53.3 87.6c-9.6 7-18.7 7.8-18.7 7.8m17.1-30.1h37.9M70.7 35.2v30.1\" />\n </g>\n </svg>\n)\n\nexport var PA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#0052B4\" d=\"M256 256v170.663H0V256h256z\" />\n <path fill=\"#D80027\" d=\"M512 85.337V256H256V85.337h256z\" />\n <path\n fill=\"#0052B4\"\n d=\"M128 123.034l11.824 36.389h38.263l-30.955 22.491 11.823 36.389L128 195.813l-30.955 22.49 11.823-36.389-30.955-22.491h38.263z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M384 293.697l11.824 36.389h38.263l-30.955 22.491 11.823 36.389L384 366.476l-30.955 22.49 11.823-36.389-30.955-22.491h38.263z\"\n />\n </svg>\n)\n\nexport var PE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.326H0z\" />\n <path\n d=\"M0 85.331h170.663v341.337H0zm341.337 0H512v341.337H341.337z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var PF = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512v113.775H0zm0 227.551h512v113.775H0z\"\n fill=\"#D80027\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M293.991 256c0 20.982-17.01 33.243-37.992 33.243S218.008 276.982 218.008 256s17.01-37.992 37.992-37.992 37.991 17.01 37.991 37.992z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M293.991 256c0 20.982-17.01 37.992-37.992 37.992s-37.992-17.01-37.992-37.992\"\n />\n <path\n d=\"M232.259 246.506h9.498v19h-9.498zm37.988 0h9.498v19h-9.498zm-19-14.247h9.498v33.243h-9.498z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var PG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path d=\"M0 85.333h512V426.67H0z\" />\n <path fill=\"#A2001D\" d=\"M0 85.33h512v341.332\" />\n <path\n d=\"M204.631 326.488l2.762 8.504h8.941l-7.233 5.255 2.763 8.502-7.233-5.254-7.233 5.254 2.762-8.502-7.233-5.255h8.94zm-22.834-81.622l4.605 14.172h14.901l-12.056 8.757 4.605 14.172-12.055-8.759-12.055 8.759 4.606-14.172-12.056-8.757h14.901zm0 103.883l4.604 14.173h14.902l-12.057 8.757 4.606 14.173-12.055-8.759-12.055 8.759 4.604-14.173-12.054-8.757h14.899zm43.566-66.782l4.606 14.172h14.901l-12.056 8.758 4.605 14.172-12.056-8.759-12.054 8.759 4.606-14.172-12.056-8.758h14.901zm-87.133 0l4.606 14.172h14.899l-12.054 8.758 4.603 14.172-12.054-8.759-12.055 8.759 4.605-14.172-12.055-8.758h14.9z\"\n fill=\"#FFF\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M376.526 204.163c-7.628-7.628-17.538-12.133-28.189-12.908l31.88-24.795c-12.698-12.698-29.714-18.431-46.319-17.218a44.31 44.31 0 00-11.396-19.511l-12.593 25.186a18.47 18.47 0 00-3.148-4.197c-7.245-7.245-18.991-7.244-26.234 0s-7.245 18.99 0 26.234a18.536 18.536 0 004.197 3.148l-25.186 12.593a44.303 44.303 0 0019.519 11.399c-1.217 16.606 4.511 33.619 17.209 46.317L324.12 214.6a11.053 11.053 0 017.807-3.202c2.973 0 5.768 1.158 7.87 3.26a11.055 11.055 0 013.26 7.87c0 2.974-1.158 5.768-3.26 7.87l10.494 10.494c4.905-4.905 7.607-11.428 7.607-18.364 0-5.675-1.81-11.071-5.153-15.534a29.492 29.492 0 0113.288 7.662c11.573 11.572 11.573 30.403 0 41.975l10.494 10.494c8.409-8.409 13.039-19.59 13.039-31.481-.001-11.892-4.632-23.072-13.04-31.481z\"\n />\n </svg>\n)\n\nexport var PH = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#0052B4\" d=\"M512 85.337V256H256L0 85.337z\" />\n <path fill=\"#D80027\" d=\"M512 256v170.663H0L256 256z\" />\n <path\n d=\"M161.908 256l-27.288-12.835 14.532-26.428-29.632 5.668-3.755-29.933-20.64 22.015-20.639-22.015-3.755 29.933-29.631-5.669 14.531 26.428L28.343 256l27.288 12.835L41.1 295.263l29.633-5.668 3.753 29.933 20.639-22.015 20.64 22.015 3.755-29.933 29.631 5.669-14.532-26.427zM21.789 117.607l9.081 12.696 14.879-4.714-9.268 12.56 9.081 12.694-14.809-4.932-9.268 12.559.117-15.608-14.809-4.934 14.88-4.712zm0 235.923l9.081 12.696 14.879-4.714-9.268 12.56 9.081 12.695-14.809-4.933-9.268 12.558.117-15.607-14.809-4.934 14.88-4.712zm188.606-117.961l-9.081 12.695-14.879-4.713 9.268 12.559-9.081 12.696 14.809-4.933 9.268 12.558-.117-15.607 14.809-4.934-14.88-4.713z\"\n fill=\"#FFDA44\"\n />\n </svg>\n)\n\nexport var PK = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<g fill=\"#FFF\">\n <path d=\"M393.508 170.516l17.512 18.875 23.363-10.821-12.541 22.487 17.513 18.876-25.263-4.978-12.539 22.488-3.073-25.564-25.263-4.978 23.363-10.82z\" />\n <path d=\"M0 85.343h512v341.326H0z\" />\n </g>\n <path fill=\"#01411c\" d=\"M128 85.331h384v341.337H128z\" />\n <path\n d=\"M361.909 298.793c-31.037 22.426-74.378 15.446-96.804-15.592-22.427-31.038-15.446-74.379 15.593-96.804 9.677-6.992 20.55-11.125 31.613-12.563-21.283-3.183-43.777 1.613-62.598 15.211-38.2 27.602-46.792 80.944-19.191 119.145 27.601 38.199 80.944 46.792 119.145 19.189 18.82-13.598 30.436-33.448 34.096-54.655-4.839 10.05-12.176 19.076-21.854 26.069zm-1.329-125.904l17.484 18.842 23.322-10.802-12.519 22.447 17.483 18.844-25.219-4.968-12.519 22.45-3.067-25.521-25.22-4.969 23.323-10.802z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var PL = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<g fill=\"#FFF\">\n <path d=\"M0 85.337h512v341.326H0z\" />\n <path d=\"M0 85.337h512V256H0z\" />\n </g>\n <path fill=\"#D80027\" d=\"M0 256h512v170.663H0z\" />\n </svg>\n)\n\nexport var PM = ({ title, ...rest }) => (\n <svg viewBox=\"0 26.666 640 426.666\" {...rest}>\n {title && <title>{title}</title>}\n<g fillRule=\"evenodd\" strokeWidth=\"1pt\">\n <path fill=\"#fff\" d=\"M0 0h640v480H0z\" />\n <path fill=\"#00267f\" d=\"M0 0h213.3v480H0z\" />\n <path fill=\"#f31830\" d=\"M426.7 0H640v480H426.7z\" />\n </g>\n </svg>\n)\n\nexport var PN = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.333h512V426.67H0z\" />\n <path\n fill=\"#ACABB1\"\n d=\"M400.696 219.822L384 225.387l-16.696-5.565-5.565-13.913 5.565-13.913h33.392l-5.566 13.913z\"\n />\n <path\n fill=\"#338AF3\"\n d=\"M345.043 219.822v61.217c0 29.821 38.957 38.957 38.957 38.957s38.957-9.137 38.957-38.957v-61.217h-77.914z\"\n />\n <path\n fill=\"#6DA544\"\n d=\"M348.555 295.541C358.131 313.927 384 319.996 384 319.996s25.869-6.069 35.445-24.455L384 236.518l-35.445 59.023z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M422.957 280.421L384 219.822l-38.957 60.599v.618c0 5.518 1.337 10.328 3.512 14.503L384 240.405l35.445 55.137c2.175-4.175 3.512-8.983 3.512-14.503v-.618z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M256 85.333v30.553l-45.167 25.099H256v59.359h-59.103L256 233.179v22.817h-26.68l-73.494-40.826v40.826h-55.652v-48.573l-87.43 48.573H0v-30.554l45.167-25.098H0v-59.359h59.103L0 108.139V85.333h26.68l73.494 40.825V85.333h55.652v48.572l87.43-48.572z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 85.33h-32v69.332H0v32h112v69.334h32v-69.334h112v-32H144z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915z\"\n />\n <path\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915zm-83.98 0L0 240.259v15.737l100.174-55.652z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915z\" />\n <path fill=\"#FFF\" d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915z\" />\n <path\n d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915zm83.98 0L256 101.067V85.33l-100.174 55.652z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var PR = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512V153.6H0zm0 136.526h512v68.263H0zM0 358.4h512v68.263H0z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M256 256.006L0 426.668V85.331z\" />\n <path\n fill=\"#FFF\"\n d=\"M83.477 195.132l15.107 46.498h48.894l-39.554 28.739 15.107 46.499-39.554-28.738-39.555 28.738 15.11-46.499-39.554-28.739H68.37z\"\n />\n </svg>\n)\n\nexport var PS = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#268024\" d=\"M0 312.888h512v113.775H0z\" />\n <path fill=\"#e4312b\" d=\"M256 256.006L0 426.668V85.331z\" />\n </svg>\n)\n\nexport var PT = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M196.641 85.337v341.326H0V85.337z\" />\n <circle fill=\"#FFDA44\" cx={196.641} cy={256} r={64} />\n <path\n fill=\"#D80027\"\n d=\"M160.638 224v40.001c0 19.882 16.118 36 36 36s36-16.118 36-36V224h-72z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M196.638 276c-6.617 0-12-5.383-12-12v-16h24.001v16c-.001 6.616-5.385 12-12.001 12z\"\n />\n </svg>\n)\n\nexport var PW = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 85.331h512v341.337H0z\" />\n <circle fill=\"#FFDA44\" cx={218.902} cy={255.994} r={74.207} />\n </svg>\n)\n\nexport var PY = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#0052B4\" d=\"M0 312.888h512v113.775H0z\" />\n <path\n fill=\"#6DA544\"\n d=\"M289.579 216.738l-12.592 12.592c5.37 5.372 8.693 12.792 8.693 20.988 0 16.392-13.289 29.68-29.68 29.68-16.392 0-29.68-13.289-29.68-29.68 0-8.195 3.322-15.616 8.693-20.988l-12.592-12.592c-8.594 8.594-13.91 20.466-13.91 33.579 0 26.228 21.261 47.489 47.489 47.489s47.489-21.261 47.489-47.489c0-13.112-5.316-24.985-13.91-33.579z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M256 232.51l4.421 13.605h14.304l-11.573 8.408 4.421 13.604L256 259.719l-11.573 8.408 4.421-13.604-11.573-8.408h14.304z\"\n />\n </svg>\n)\n\nexport var QA = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#751A46\" d=\"M0 0h512v342H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M0 0v342h150.3l37.7-19.6-37.7-18.9 37.7-19-37.7-18.9 37.7-19-37.7-19 37.7-18.9-37.7-19 37.7-19-37.7-18.9 37.7-19-37.7-18.9 37.7-19-37.7-19L188 57l-37.7-19L188 19.1 150.3 0z\"\n />\n </svg>\n)\n\nexport var RE = ({ title, ...rest }) => (\n <svg viewBox=\"0 26.666 640 426.666\" {...rest}>\n {title && <title>{title}</title>}\n<g fillRule=\"evenodd\" strokeWidth=\"1pt\">\n <path fill=\"#fff\" d=\"M0 0h640v480H0z\" />\n <path fill=\"#00267f\" d=\"M0 0h213.3v480H0z\" />\n <path fill=\"#f31830\" d=\"M426.7 0H640v480H426.7z\" />\n </g>\n </svg>\n)\n\nexport var RO = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.331h512v341.326H0z\" />\n <path fill=\"#0052B4\" d=\"M0 85.331h170.663v341.337H0z\" />\n <path fill=\"#D80027\" d=\"M341.337 85.331H512v341.337H341.337z\" />\n </svg>\n)\n\nexport var RS = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.331h512v113.775H0z\" />\n <path fill=\"#FFF\" d=\"M0 312.882h512v113.775H0z\" />\n <path\n fill=\"#D80027\"\n d=\"M129.468 181.793v85.136c0 48.429 63.267 63.267 63.267 63.267S256 315.356 256 266.929v-85.136H129.468z\"\n />\n <path\n d=\"M155.634 196.634h74.201v-29.681l-14.841 7.42-22.261-22.26-22.259 22.26-14.84-7.42zm85.526 82.148l-48.231-48.231-48.231 48.231 15.741 15.74 32.49-32.49 32.49 32.49z\"\n fill=\"#FFDA44\"\n />\n <path\n fill=\"#FFF\"\n d=\"M241.16 233.734h-22.504a14.74 14.74 0 002.001-7.418c0-8.196-6.645-14.84-14.84-14.84-5.663 0-10.581 3.172-13.083 7.836-2.502-4.663-7.421-7.836-13.083-7.836-8.195 0-14.84 6.644-14.84 14.84 0 2.706.736 5.235 2.001 7.418h-22.114c0 8.196 7.139 14.84 15.334 14.84h-.494c0 8.196 6.644 14.84 14.84 14.84 0 7.257 5.211 13.286 12.094 14.576l-11.694 26.401a48.075 48.075 0 0018.149 3.544 48.079 48.079 0 0018.149-3.544l-11.694-26.401c6.883-1.29 12.094-7.319 12.094-14.576 8.196 0 14.84-6.644 14.84-14.84h-.494c8.199 0 15.338-6.644 15.338-14.84z\"\n />\n </svg>\n)\n\nexport var RU = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.33v341.332h512V85.33z\" />\n <path fill=\"#0052B4\" d=\"M0 85.333h512V426.67H0z\" />\n <path fill=\"#FFF\" d=\"M0 85.333h512v113.775H0z\" />\n <path fill=\"#D80027\" d=\"M0 312.884h512v113.775H0z\" />\n </svg>\n)\n\nexport var RW = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 255.994h512v81.619H0z\" />\n <path fill=\"#496E2D\" d=\"M0 337.614h512v89.043H0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M278.261 185.209l20.844 9.804-11.099 20.186 22.632-4.33 2.868 22.865 15.765-16.816 15.766 16.816 2.867-22.865 22.633 4.33-11.099-20.186 20.843-9.804-20.844-9.805 11.1-20.185-22.633 4.329-2.868-22.864-15.765 16.816-15.766-16.816-2.867 22.864-22.634-4.329 11.1 20.187z\"\n />\n </svg>\n)\n\nexport var SA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#055e1c\" d=\"M0 85.333h512v341.333H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M183.548 289.386c0 12.295 9.731 22.261 21.736 22.261h65.208c0 10.244 8.11 18.551 18.114 18.551h21.736c10.004 0 18.114-8.306 18.114-18.551v-22.261H183.548zm146.716-107.595v51.942c0 8.183-6.5 14.84-14.491 14.84v22.261c19.976 0 36.226-16.643 36.226-37.101v-51.942h-21.735zm-155.773 51.943c0 8.183-6.5 14.84-14.491 14.84v22.261c19.976 0 36.226-16.643 36.226-37.101v-51.942H174.49v51.942z\" />\n <path d=\"M297.661 181.788h21.736v51.942h-21.736zm-32.604 29.685c0 2.046-1.625 3.71-3.623 3.71-1.998 0-3.623-1.664-3.623-3.71v-29.682h-21.736v29.682c0 2.046-1.625 3.71-3.623 3.71s-3.623-1.664-3.623-3.71v-29.682h-21.736v29.682c0 14.32 11.376 25.971 25.358 25.971 5.385 0 10.38-1.733 14.491-4.677 4.11 2.944 9.106 4.677 14.491 4.677 1.084 0 2.15-.078 3.2-.215-1.54 6.499-7.255 11.345-14.068 11.345v22.261c19.976 0 36.226-16.643 36.226-37.101v-51.943h-21.736l.002 29.682z\" />\n <path d=\"M207.093 248.57h32.601v22.261h-32.601z\" />\n </g>\n </svg>\n)\n\nexport var SB = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#496E2D\" d=\"M0 85.334h512v341.337H0z\" />\n <path fill=\"#0052B4\" d=\"M0 426.663V85.329h512\" />\n <path\n fill=\"#FFDA44\"\n d=\"M0 396.494v30.169h45.255L512 115.499v-30.17h-45.255z\"\n />\n <path\n d=\"M85.688 108.787l5.12 15.756h16.566l-13.403 9.737 5.12 15.757-13.403-9.738-13.405 9.738 5.12-15.757L64 124.543h16.567zm84.624 0l5.121 15.756H192l-13.403 9.737 5.12 15.757-13.405-9.738-13.403 9.738 5.12-15.757-13.403-9.737h16.566zm-84.624 82.502l5.12 15.756h16.566l-13.403 9.738 5.12 15.757-13.403-9.739-13.405 9.739 5.12-15.757L64 207.045h16.567zm84.624 0l5.121 15.756H192l-13.403 9.738 5.12 15.757-13.405-9.739-13.403 9.739 5.12-15.757-13.403-9.738h16.566zM128 150.037l5.12 15.756h16.568l-13.405 9.738 5.12 15.758L128 181.55l-13.403 9.739 5.12-15.758-13.405-9.738h16.568z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var SC = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#FFDA44\" d=\"M235.454 85.337L0 426.663 427.345 85.337z\" />\n <path fill=\"#6DA544\" d=\"M512 329.393L0 426.663h512z\" />\n <path fill=\"#D80027\" d=\"M512 85.337h-84.655L0 426.663l512-204.512z\" />\n <path fill=\"#0052B4\" d=\"M0 85.337v341.326L235.454 85.337z\" />\n </svg>\n)\n\nexport var SD = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path d=\"M0 312.888h512v113.775H0z\" />\n <path fill=\"#496E2D\" d=\"M0 426.668V85.331l256 170.675z\" />\n </svg>\n)\n\nexport var SE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.333h512V426.67H0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M192 85.33h-64v138.666H0v64h128v138.666h64V287.996h320v-64H192z\"\n />\n </svg>\n)\n\nexport var SG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512V256H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M83.478 170.666c0-24.865 17.476-45.637 40.812-50.734a52.059 52.059 0 00-11.13-1.208c-28.688 0-51.942 23.254-51.942 51.941s23.255 51.942 51.942 51.942c3.822 0 7.543-.425 11.13-1.208-23.336-5.095-40.812-25.867-40.812-50.733zm66.783-48.231l3.684 11.337h11.921l-9.645 7.007 3.684 11.337-9.644-7.006-9.645 7.006 3.685-11.337-9.645-7.007h11.921z\" />\n <path d=\"M121.344 144.696l3.683 11.337h11.921l-9.645 7.007 3.684 11.337-9.643-7.006-9.645 7.006 3.685-11.337-9.645-7.007h11.921zm57.834 0l3.684 11.337h11.921l-9.645 7.007 3.684 11.337-9.644-7.006-9.644 7.006 3.685-11.337-9.645-7.007h11.921zm-11.131 33.391l3.684 11.337h11.921l-9.644 7.007 3.684 11.337-9.645-7.006-9.643 7.006 3.684-11.337-9.644-7.007h11.92zm-35.573 0l3.683 11.337h11.921l-9.644 7.007 3.684 11.337-9.644-7.006-9.644 7.006 3.684-11.337-9.644-7.007h11.92z\" />\n </g>\n </svg>\n)\n\nexport var SH = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 0v117.4h-46.1l46.1 30.7v22.6h-22.6L160 121.8v48.9H96v-48.9l-73.4 48.9H0v-22.6l46.1-30.7H0v-64h46.1L0 22.7V0h22.6L96 48.9V0h64v48.9L233.4 0z\"\n />\n <g fill=\"#D80027\">\n <path d=\"M144 0h-32v69.4H0v32h112v69.3h32v-69.3h112v-32H144z\" />\n <path d=\"M0 0v15.1l57.4 38.3H80zm256 0v15.1l-57.4 38.3H176z\" />\n </g>\n <path fill=\"#2E52B2\" d=\"M256 22.7v30.7h-46.1z\" />\n <path\n d=\"M0 0v15.1l57.4 38.3H80zm256 0v15.1l-57.4 38.3H176z\"\n fill=\"#D80027\"\n />\n <path fill=\"#2E52B2\" d=\"M256 22.7v30.7h-46.1z\" />\n <path\n d=\"M0 170.7v-15.1l57.4-38.2H80zm256 0v-15.1l-57.4-38.2H176z\"\n fill=\"#D80027\"\n />\n <path\n fill=\"#29DBFF\"\n d=\"M449 139.7c-.1 44.4-7.2 92.1-65 114.9-57.8-22.8-64.9-70.5-65-114.9h130z\"\n />\n <path\n fill=\"#ffda44\"\n d=\"M449 139.7c0-16.7-.9-32.9-.5-47.1C426.9 83 398.4 81 383.9 81s-42.9 2-64.6 11.6c.4 14.2-.5 30.4-.5 47.1H449z\"\n />\n <path\n fill=\"#BF521B\"\n d=\"M369.5 204.5l.3 10.3-12.8.2 4.9 13.2h-17.3c-18-20.2-23.4-42.4-24.9-68.1l9.1-9.7 8.3 14.3 10.8-12.8 7 7.8.8 15.7 13.8 29.1z\"\n />\n <path\n fill=\"#474747\"\n d=\"M436.6 192.5l-8.6 18.3h-47l-29.2-19.5 25.7 10.5h25.1l3.7-6.5 7.2.2 2-3z\"\n />\n </svg>\n)\n\nexport var SI = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#0052B4\" d=\"M0 199.112h512v113.775H0z\" />\n <path fill=\"#D80027\" d=\"M0 312.888h512v113.775H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M233.606 196.639v14.837c0 34.081-44.522 44.522-44.522 44.522s-44.522-10.44-44.522-44.522v-14.837l-.145-44.188 89.043-.266.146 44.454z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M233.606 196.639v14.837c0 34.081-44.522 44.522-44.522 44.522s-44.522-10.44-44.522-44.522v-14.837l-.145-44.188 89.043-.266.146 44.454z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M233.606 196.639v14.837c0 34.081-44.522 44.522-44.522 44.522s-44.522-10.44-44.522-44.522v-14.837l14.848 14.837 29.674-22.261 29.685 22.261 14.837-14.837z\"\n />\n </svg>\n)\n\nexport var SJ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.334h512v341.337H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M512 295.883H202.195v130.783h-79.76V295.883H0v-79.772h122.435V85.329h79.76v130.782H512v61.218z\"\n />\n <path\n fill=\"#2E52B2\"\n d=\"M512 234.666v42.663H183.652v149.337h-42.674V277.329H0v-42.663h140.978V85.329h42.674v149.337z\"\n />\n </svg>\n)\n\nexport var SK = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#0052B4\" d=\"M0 196.641h512v118.717H0z\" />\n <path fill=\"#D80027\" d=\"M0 315.359h512v111.304H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M129.468 181.799v85.136c0 48.429 63.267 63.267 63.267 63.267S256 315.362 256 266.935v-85.136H129.468z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M146.126 184.294v81.941c0 5.472 1.215 10.64 3.623 15.485h85.97c2.408-4.844 3.623-10.012 3.623-15.485v-81.941h-93.216z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M221.301 241.427h-21.425v-14.283h14.284v-14.283h-14.284v-14.284h-14.283v14.284h-14.282v14.283h14.282v14.283h-21.426v14.284h21.426v14.283h14.283v-14.283h21.425z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M169.232 301.658c9.204 5.783 18.66 9.143 23.502 10.636 4.842-1.494 14.298-4.852 23.502-10.636 9.282-5.833 15.79-12.506 19.484-19.939a24.878 24.878 0 00-14.418-4.583c-1.956 0-3.856.232-5.682.657-3.871-8.796-12.658-14.94-22.884-14.94-10.227 0-19.013 6.144-22.884 14.94a25.048 25.048 0 00-5.682-.657 24.88 24.88 0 00-14.418 4.583c3.691 7.433 10.198 14.106 19.48 19.939z\"\n />\n </svg>\n)\n\nexport var SL = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#338AF3\" d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var SM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 85.34h512v341.326H0z\" />\n <path fill=\"#FFF\" d=\"M512 85.334v166.69L0 256.175V85.334z\" />\n <path\n fill=\"#6DA544\"\n d=\"M323.744 203.099L256 270.843l-67.744-67.744a81.156 81.156 0 00-13.879 45.483v22.261c0 35.744 23.097 66.193 55.148 77.213-4.277 8.385-3.556 18.848 2.712 26.671l24.258-19.439 24.258 19.439c6.342-7.915 7.011-18.534 2.564-26.968 31.614-11.261 54.308-41.485 54.308-76.916v-22.261a81.174 81.174 0 00-13.881-45.483z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M256 330.206c-32.732 0-59.362-26.63-59.362-59.362v-22.261c0-32.733 26.63-59.363 59.362-59.363s59.362 26.63 59.362 59.362v22.261c0 32.733-26.63 59.363-59.362 59.363z\"\n />\n <path\n fill=\"#338AF3\"\n d=\"M293.101 270.843v-22.261c0-20.458-16.643-37.101-37.101-37.101s-37.101 16.643-37.101 37.101v22.261L256 278.264l37.101-7.421z\"\n />\n <path\n fill=\"#6DA544\"\n d=\"M218.899 270.843c0 20.458 16.643 37.101 37.101 37.101s37.101-16.643 37.101-37.101h-74.202z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M300.522 189.22c0-12.295-9.966-22.261-22.261-22.261a22.173 22.173 0 00-14.84 5.672v-13.093h7.421v-14.84h-7.421v-7.421h-14.84v7.421h-7.421v14.84h7.421v13.093a22.177 22.177 0 00-14.841-5.672c-12.295 0-22.261 9.966-22.261 22.261 0 6.591 2.867 12.512 7.421 16.589v13.093h74.203v-13.093c4.552-4.077 7.419-9.997 7.419-16.589z\"\n />\n </svg>\n)\n\nexport var SN = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.331h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M330.207 85.331H512v341.337H330.207z\" />\n <path\n d=\"M0 85.331h181.793v341.337H0zm255.999 111.301l14.733 45.347h47.685l-38.576 28.029 14.734 45.348-38.576-28.026-38.577 28.026 14.737-45.348-38.576-28.029h47.681z\"\n fill=\"#496E2D\"\n />\n </svg>\n)\n\nexport var SO = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 85.331h512v341.337H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 157.273l22.663 69.748H352l-59.332 43.106 22.664 69.749L256 296.769l-59.332 43.107 22.664-69.749L160 227.021h73.337z\"\n />\n </svg>\n)\n\nexport var SR = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#A2001D\" d=\"M0 196.636h512v118.728H0z\" />\n <path d=\"M0 352.462h512v74.207H0zM0 85.331h512v74.207H0z\" fill=\"#6DA544\" />\n <path\n fill=\"#FFDA44\"\n d=\"M256.742 218.003l9.43 29.021h30.518L272 264.963l9.431 29.023-24.689-17.937-24.689 17.937 9.431-29.023-24.69-17.939h30.518z\"\n />\n </svg>\n)\n\nexport var SS = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#496E2D\" d=\"M0 322.783h512v103.88H0z\" />\n <path d=\"M0 85.337h512v104.515H0z\" />\n <path fill=\"#A2001D\" d=\"M0 210.877h512v89.656H0z\" />\n <path fill=\"#0052B4\" d=\"M256 256.006L0 426.668V85.331z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M73.178 209.188l20.831 29.067 34.084-10.83-21.207 28.795 20.83 29.069-33.939-11.271-21.208 28.794.234-35.762-33.94-11.273 34.083-10.83z\"\n />\n </svg>\n)\n\nexport var ST = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512v113.775H0zm0 227.551h512v113.775H0z\"\n fill=\"#6DA544\"\n />\n <path fill=\"#D80027\" d=\"M256 256.006L0 426.668V85.331z\" />\n <path d=\"M302.049 226.318l7.368 22.674h23.842l-19.288 14.016 7.366 22.674-19.288-14.015-19.287 14.015 7.366-22.674-19.288-14.016h23.842zm74.203 0l7.367 22.674h23.842l-19.288 14.016 7.367 22.674-19.288-14.015-19.288 14.015 7.367-22.674-19.288-14.016h23.842z\" />\n </svg>\n)\n\nexport var SV = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512v113.775H0zm0 227.551h512v113.775H0z\"\n fill=\"#0052B4\"\n />\n <path fill=\"#FFDA44\" d=\"M228.582 261.936L256 214.447l27.418 47.489z\" />\n <path\n fill=\"#6DA544\"\n d=\"M291.616 277.616L256 295.425l-35.616-17.809v-23.744h71.232z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M289.579 216.485l-12.592 12.592c5.37 5.372 8.693 12.791 8.693 20.988 0 16.392-13.289 29.68-29.68 29.68-16.392 0-29.68-13.289-29.68-29.68 0-8.195 3.322-15.616 8.693-20.988l-12.592-12.592c-8.594 8.594-13.91 20.466-13.91 33.579 0 26.228 21.261 47.489 47.489 47.489s47.489-21.261 47.489-47.489c0-13.114-5.316-24.987-13.91-33.579z\"\n />\n </svg>\n)\n\nexport var SX = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M512 85.331v166.69L0 256.173V85.331z\" />\n <path fill=\"#FFF\" d=\"M256 256.006L0 426.668V85.331z\" />\n <g fill=\"#FFDA44\">\n <path d=\"M59.621 256a59.546 59.546 0 00-.193 4.57c0 32.821 26.607 59.429 59.429 59.429s59.429-26.607 59.429-59.429c0-1.539-.078-3.061-.193-4.57H59.621z\" />\n <circle cx={118.862} cy={210.287} r={18.286} />\n </g>\n <path\n fill=\"#D80027\"\n d=\"M77.715 205.714v59.429c0 31.494 41.144 41.143 41.144 41.143s41.144-9.649 41.144-41.143v-59.429H77.715z\"\n />\n <path\n fill=\"#338AF3\"\n d=\"M118.877 287.148c-7.632-2.746-22.876-9.767-22.876-22.006v-41.144h45.715v41.144c-.001 12.28-15.244 19.283-22.839 22.006z\"\n />\n <path\n fill=\"#F3F3F3\"\n d=\"M128.001 246.856v-9.142l-9.144-4.571-9.142 4.571v9.142l-4.571 4.573v18.285h27.428v-18.285z\"\n />\n </svg>\n)\n\nexport var SY = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.331h512v113.775H0z\" />\n <path d=\"M0 312.882h512v113.775H0z\" />\n <path\n d=\"M187.31 215.184l9.208 28.341h29.802l-24.11 17.518 9.209 28.342-24.109-17.516-24.11 17.516 9.209-28.342-24.109-17.518h29.801zm137.38 0l9.209 28.341H363.7l-24.109 17.518 9.209 28.342-24.11-17.516-24.109 17.516 9.209-28.342-24.11-17.518h29.802z\"\n fill=\"#6DA544\"\n />\n </svg>\n)\n\nexport var SZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 900 600\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#2B5DEA\" d=\"M0 0h900v600H0V0z\" />\n <path fill=\"#FFDF29\" d=\"M0 100h900v400H0V100z\" />\n <path fill=\"#D70000\" d=\"M0 150h900v300H0V150z\" />\n <path\n fill=\"#FFF\"\n d=\"M450 171.4v257.2c114.3 0 171.4-85.7 214.3-128.6-42.9-42.9-100-128.6-214.3-128.6z\"\n />\n <path d=\"M450 171.4c-100 0-171.4 85.7-214.3 128.6C278.6 342.9 350 428.6 450 428.6V171.4z\" />\n <path fill=\"#FFF\" d=\"M346.3 254.3h21v91.3h-21zm51.9 0h21v91.3h-21z\" />\n <path d=\"M477.8 254.3h21v91.3h-21zm51.9 0h21v91.3h-21z\" />\n </svg>\n)\n\nexport var TA = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 0v117.4h-46.1l46.1 30.7v22.6h-22.6L160 121.8v48.9H96v-48.9l-73.4 48.9H0v-22.6l46.1-30.7H0v-64h46.1L0 22.7V0h22.6L96 48.9V0h64v48.9L233.4 0z\"\n />\n <g fill=\"#D80027\">\n <path d=\"M144 0h-32v69.4H0v32h112v69.3h32v-69.3h112v-32H144z\" />\n <path d=\"M0 0v15.1l57.4 38.3H80zm256 0v15.1l-57.4 38.3H176z\" />\n </g>\n <path fill=\"#2E52B2\" d=\"M256 22.7v30.7h-46.1z\" />\n <path\n d=\"M0 0v15.1l57.4 38.3H80zm256 0v15.1l-57.4 38.3H176z\"\n fill=\"#D80027\"\n />\n <path fill=\"#2E52B2\" d=\"M256 22.7v30.7h-46.1z\" />\n <path\n d=\"M0 170.7v-15.1l57.4-38.2H80zm256 0v-15.1l-57.4-38.2H176z\"\n fill=\"#D80027\"\n />\n <path\n fill=\"#29DBFF\"\n d=\"M448.9 169.5c0 9.6-.3 29.6-1.4 39.2-4.1 34.9-23.5 68.8-62.1 85.9-45.3-17.9-60.8-51-64.9-85.9-1.1-9.6-1.5-19.4-1.5-29l.3-47.1h129.2l.4 36.9z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M447.5 208.7c-.2 1.6-.4 3.3-.6 4.9-4.8 33.1-22.9 65.4-61.5 81-43.2-17-59.4-47.9-64.2-81-.2-1.6-.4-3.2-.6-4.9\"\n />\n <path fill=\"#29DBFF\" d=\"M385.4 251.7l-22.9-43h45.8z\" />\n <path fill=\"#FFF\" d=\"M385.4 165.8l-22.9 42.9h45.8z\" />\n <ellipse fill=\"#FFBE57\" cx={474.8} cy={236.8} rx={16.8} ry={43.3} />\n <ellipse fill=\"#FFBE57\" cx={295.3} cy={236.8} rx={16.8} ry={43.3} />\n <path\n fill=\"#FFF\"\n d=\"M385.4 31.5l-33.4 44h68.5zM315.5 280s33.8 29.5 69.9 29.5 67.1-29.5 67.1-29.5l8.5 14.6S439.2 326 385.4 326 307 294.6 307 294.6l8.5-14.6z\"\n />\n <ellipse fill=\"#A5A5A5\" cx={386.3} cy={104.3} rx={34.3} ry={23.3} />\n </svg>\n)\n\nexport var TC = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.333h512V426.67H0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M332.058 191.996v78.221c0 38.103 51.942 49.779 51.942 49.779s51.942-11.675 51.942-49.779v-78.221H332.058z\"\n />\n <path\n fill=\"#FF9811\"\n d=\"M376.579 220.44c0 7.855-6.644 28.445-14.84 28.445s-14.84-20.589-14.84-28.445c0-7.856 14.84-14.222 14.84-14.222s14.84 6.367 14.84 14.222z\"\n />\n <path\n fill=\"#A2001D\"\n d=\"M415.961 235.93c2.394-5.6 4.257-13.785 4.257-17.86 0-6.546-8.904-11.852-8.904-11.852s-8.904 5.306-8.904 11.852c0 4.075 1.862 12.26 4.257 17.86l-5.141 11.123a26.898 26.898 0 009.788 1.831c3.463 0 6.766-.654 9.788-1.831l-5.141-11.123z\"\n />\n <path\n fill=\"#6DA544\"\n d=\"M372.87 270.217s-7.421 14.222-7.421 28.445h37.101c0-14.222-7.421-28.445-7.421-28.445l-11.13-7.111-11.129 7.111z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M395.13 270.217v-3.555c0-5.891-4.983-10.666-11.13-10.666-6.147 0-11.13 4.776-11.13 10.666v3.555h22.26z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M256 85.333v30.553l-45.167 25.099H256v59.359h-59.103L256 233.179v22.817h-26.68l-73.494-40.826v40.826h-55.652v-48.573l-87.43 48.573H0v-30.554l45.167-25.098H0v-59.359h59.103L0 108.139V85.333h26.68l73.494 40.825V85.333h55.652v48.572l87.43-48.572z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M144 85.33h-32v69.332H0v32h112v69.334h32v-69.334h112v-32H144z\"\n />\n <path\n fill=\"#0052B4\"\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915z\"\n />\n <path\n d=\"M155.826 200.344L256 255.996v-15.737l-71.847-39.915zm-83.98 0L0 240.259v15.737l100.174-55.652z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915z\" />\n <path fill=\"#FFF\" d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915z\" />\n <path\n d=\"M100.174 140.982L0 85.33v15.737l71.847 39.915zm83.98 0L256 101.067V85.33l-100.174 55.652z\"\n fill=\"#D80027\"\n />\n </svg>\n)\n\nexport var TD = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#0052B4\" d=\"M0 85.331h170.663v341.337H0z\" />\n <path fill=\"#D80027\" d=\"M341.337 85.331H512v341.337H341.337z\" />\n </svg>\n)\n\nexport var TF = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 22.5 15\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h21v15H0V0z\" />\n <path fill=\"#073AB6\" d=\"M0 0h22.5v15H0V0z\" />\n <path fill=\"#FFF\" d=\"M0 0h11.3v7.5H0V0z\" />\n <path fill=\"#F44653\" d=\"M7.1 0h3.6v7H7.1V0z\" />\n <path fill=\"#1035BB\" d=\"M0 0h3.6v7H0V0z\" />\n <path\n fill=\"#FFF\"\n d=\"M3.6 0h3.6v7H3.6V0zm10.9 6h5L19 7h-1.5v.5h1l-.5 1h-.5V10h-1V7H15l-.5-1zm4 2.5l1 1.5h-2l1-1.5zm-3 0l1 1.5h-2l1-1.5zm1.5 3L16 10h2l-1 1.5zM20 8c-.3 0-.5-.2-.5-.5s.2-.5.5-.5.5.2.5.5-.2.5-.5.5zm-6 0c-.3 0-.5-.2-.5-.5s.2-.5.5-.5.5.2.5.5-.2.5-.5.5zm1 4c-.3 0-.5-.2-.5-.5s.2-.5.5-.5.5.2.5.5-.2.5-.5.5zm4 0c-.3 0-.5-.2-.5-.5s.2-.5.5-.5.5.2.5.5-.2.5-.5.5zm-2 1c-.3 0-.5-.2-.5-.5s.2-.5.5-.5.5.2.5.5-.2.5-.5.5z\"\n />\n </svg>\n)\n\nexport var TG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M0 85.337h512V153.6H0zM0 358.4h512v68.263H0zm0-136.537h512v68.263H0z\"\n fill=\"#496E2D\"\n />\n <path fill=\"#D80027\" d=\"M0 85.337h204.054v204.054H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M102.026 133.938l13.26 40.812h42.916l-34.718 25.226 13.26 40.814-34.718-25.224-34.719 25.224 13.263-40.814-34.718-25.226h42.913z\"\n />\n </svg>\n)\n\nexport var TH = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.334h512V426.66H0z\" />\n <path fill=\"#0052B4\" d=\"M0 194.056h512v123.882H0z\" />\n <path d=\"M0 85.334h512v54.522H0zm0 286.809h512v54.522H0z\" fill=\"#D80027\" />\n </svg>\n)\n\nexport var TJ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path fill=\"#6DA544\" d=\"M0 312.888h512v113.775H0z\" />\n <path\n d=\"M226.318 300.522h59.364v-25.23l-11.873 5.937L256 263.421l-17.809 17.808-11.873-5.937zm-33.963-29.682l2.763 8.504h8.94l-7.233 5.255 2.763 8.502-7.233-5.255-7.234 5.255 2.763-8.502-7.233-5.255h8.94zm8.566-29.68l2.763 8.502h8.94l-7.233 5.255 2.763 8.504-7.233-5.256-7.234 5.256 2.763-8.504-7.233-5.255h8.94zm24.488-22.261l2.763 8.502h8.94l-7.233 5.255 2.763 8.504-7.233-5.256-7.234 5.256 2.763-8.504-7.233-5.255h8.94zm94.236 51.941l-2.763 8.504h-8.94l7.233 5.255-2.763 8.502 7.233-5.255 7.234 5.255-2.763-8.502 7.233-5.255h-8.94zm-8.566-29.68l-2.763 8.502h-8.94l7.233 5.255-2.763 8.504 7.233-5.256 7.234 5.256-2.763-8.504 7.233-5.255h-8.94zm-24.488-22.261l-2.763 8.502h-8.94l7.233 5.255-2.763 8.504 7.233-5.256 7.234 5.256-2.763-8.504 7.233-5.255h-8.94zM256 207.767l2.763 8.503h8.941l-7.234 5.256 2.763 8.502-7.233-5.254-7.233 5.254 2.763-8.502-7.234-5.256h8.941z\"\n fill=\"#FFDA44\"\n />\n </svg>\n)\n\nexport var TK = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n d=\"M210.715 174.377l3.684 11.338h11.919l-9.643 7.006 3.684 11.337-9.644-7.007-9.644 7.007 3.684-11.337-9.645-7.006h11.921zm-93.899 107.594l4.605 14.172h14.9l-12.055 8.757 4.606 14.173-12.056-8.76-12.055 8.76 4.604-14.173-12.054-8.757h14.899zm27.88-162.292l4.604 14.172h14.901l-12.056 8.758 4.606 14.171-12.055-8.759-12.056 8.759 4.606-14.171-12.055-8.758h14.9zm-75.157 55.652l4.604 14.172h14.9l-12.055 8.758 4.606 14.171-12.055-8.758-12.056 8.758 4.606-14.171-12.055-8.758h14.9z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M483.386 354.503H117.801s109.234-88.562 310.593-220.938c.001 0-88.443 128.935 54.992 220.938zm-365.585 11.586c-11.177 0-11.195 17.37 0 17.37h365.585c11.177 0 11.195-17.37 0-17.37H117.801z\"\n fill=\"#FFDA44\"\n />\n </svg>\n)\n\nexport var TL = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M256 256L0 90.691v44.242L155.826 256 0 377.067v44.242z\"\n />\n <path d=\"M0 90.691v330.618L189.217 256z\" />\n <path\n fill=\"#FFF\"\n d=\"M44.184 213.36l24.912 23.577 30.121-16.41-14.723 30.98 24.911 23.575-34.012-4.43L60.67 301.63l-6.296-33.716-34.012-4.43 30.119-16.408z\"\n />\n </svg>\n)\n\nexport var TM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#496E2D\" d=\"M0 85.337h512v341.326H0z\" />\n <g fill=\"#FFF\">\n <path d=\"M357.208 183.679c8.397-23.404-1.036-48.858-21.281-61.536a52.131 52.131 0 0110.884 2.621c27.002 9.688 41.038 39.428 31.35 66.431s-39.428 41.038-66.431 31.35a52.182 52.182 0 01-10.069-4.895c23.686 3.084 47.15-10.566 55.547-33.971zm-46.571-67.95l-7.297 9.427-11.22-4.026 6.712 9.852-7.296 9.427 11.443-3.338 6.712 9.852.361-11.914 11.444-3.339-11.221-4.025z\" />\n <path d=\"M330.338 146.448l-7.296 9.427-11.221-4.026 6.712 9.852-7.296 9.427 11.443-3.339 6.712 9.853.36-11.915 11.445-3.34-11.221-4.024zM275.9 126.916l-7.296 9.427-11.219-4.024 6.711 9.851-7.296 9.426 11.443-3.338 6.712 9.852.361-11.915 11.444-3.337-11.221-4.027zm-.799 35.189l-7.296 9.427-11.221-4.026 6.712 9.852-7.296 9.427 11.444-3.338 6.711 9.852.362-11.915 11.443-3.338-11.22-4.026zm33.484 12.013l-7.296 9.427-11.22-4.026 6.712 9.853-7.297 9.426 11.444-3.338 6.712 9.852.36-11.915 11.443-3.338-11.219-4.025z\" />\n </g>\n <path fill=\"#D80027\" d=\"M83.478 85.337h89.043v341.326H83.478z\" />\n <path\n fill=\"#FFF\"\n d=\"M117.458 175.191l-14.908-11.105v-15.705l14.908-11.105h21.084l14.908 11.105v15.705l-14.908 11.105z\"\n />\n <path\n d=\"M128 137.276h-10.542l-14.908 11.105v7.678H128zm0 37.915h10.542l14.908-11.105v-8.012H128z\"\n fill=\"#FF9811\"\n />\n <path\n fill=\"#FFF\"\n d=\"M117.458 374.725l-14.908-11.106v-15.704l14.908-11.105h21.084l14.908 11.105v15.704l-14.908 11.106z\"\n />\n <path\n d=\"M128 336.81h-10.542l-14.908 11.105v7.678H128zm0 37.915h10.542l14.908-11.106v-8.011H128z\"\n fill=\"#FF9811\"\n />\n <path\n d=\"M117.458 274.957l-14.908-11.105v-15.703l14.908-11.106h21.084l14.908 11.106v15.703l-14.908 11.105zm36.513 24.434h-6.493v-6.493h-11.411l-8.068-8.068-8.067 8.068h-11.41v6.493h-6.493v12.986h6.493v6.492h11.41l8.068 8.069 8.068-8.069h11.41v-6.492h6.493zm0-99.768h-6.493v-6.492h-11.411l-8.068-8.069-8.067 8.069h-11.41v6.492h-6.493v12.986h6.493v6.492h11.41l8.068 8.07 8.068-8.07h11.41v-6.492h6.493z\"\n fill=\"#496E2D\"\n />\n <g fill=\"#D80027\">\n <path d=\"M120.576 248.576h14.84v14.84h-14.84z\" />\n <circle cx={128} cy={206.113} r={7.421} />\n <circle cx={128} cy={305.887} r={7.421} />\n </g>\n </svg>\n)\n\nexport var TN = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.331h512v341.337H0z\" />\n <circle fill=\"#FFF\" cx={256} cy={255.994} r={96} />\n <g fill=\"#D80027\">\n <path d=\"M267.826 219.291l16.47 22.695 26.673-8.649-16.496 22.676 16.468 22.695-26.664-8.681-16.495 22.676.017-28.04-26.664-8.682 26.674-8.648z\" />\n <path d=\"M277.818 312.724c-31.33 0-56.727-25.397-56.727-56.727s25.397-56.727 56.727-56.727c9.769 0 18.96 2.47 26.985 6.819-12.589-12.31-29.804-19.909-48.803-19.909-38.558 0-69.818 31.259-69.818 69.818s31.26 69.818 69.818 69.818c18.999 0 36.215-7.599 48.803-19.909-8.026 4.347-17.216 6.817-26.985 6.817z\" />\n </g>\n </svg>\n)\n\nexport var TO = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#FFF\" d=\"M0 85.331h256v170.663H0z\" />\n <path\n fill=\"#D80027\"\n d=\"M141.357 157.303V130.59h-26.714v26.713H87.93v26.713h26.713v26.713h26.714v-26.713h26.713v-26.713z\"\n />\n </svg>\n)\n\nexport var TR = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#E30A17\" d=\"M0 0h513v342H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M259.7 118.6c-13.1-9.5-29-14.6-45.3-14.5-40.8 0-73.8 30.8-73.8 68.9s33.1 68.9 73.8 68.9c17.1 0 32.9-5.4 45.3-14.5-30 38.6-85.7 45.6-124.3 15.5s-45.6-85.7-15.5-124.3 85.7-45.6 124.3-15.5c5.8 4.5 11 9.8 15.5 15.5zm39.9 65.8l-18.1 21.9 1.2-28.4-26.4-10.4 27.3-7.6 1.8-28.3 15.6 23.7 27.5-7.1-17.5 22 15.3 23.9-26.7-9.7z\"\n />\n </svg>\n)\n\nexport var TT = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.337h512v341.326H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M6.066 85.337l207.961 212.636 131.584 128.69h160.323L297.973 214.027 166.389 85.337z\"\n />\n <path d=\"M43.364 85.337L384.69 426.663h83.946L127.31 85.337z\" />\n </svg>\n)\n\nexport var TV = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 900 600\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h900v600H0z\" />\n <path fill=\"#00B2EE\" d=\"M0 300h450V0h450v600H0V300z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M345.3 480.9l29.4 90.6-77.1-56H393l-77.1 56 29.4-90.6zM706.4 340l29.4 90.6-77.1-56H754l-77.1 56 29.5-90.6zm106.4-78.5l29.4 90.6-77.1-56h95.3l-77.1 56 29.5-90.6zm0-224.1l29.4 90.6-77.1-56h95.3l-77.1 56 29.5-90.6z\"\n />\n <path\n fill=\"#FFF\"\n d=\"M449.9 0v206.3h-81l81 54V300h-39.7l-129-85.9V300H168.7v-85.9L39.7 300H0v-39.7l81-54H0V93.8h81L0 39.9V0h39.7l129 85.9V0h112.5v85.9L410.2 0z\"\n />\n <path\n fill=\"#D80027\"\n d=\"M253.1 0h-56.3v122H0v56.2h196.8V300h56.3V178.2h196.8V122H253.1z\"\n />\n <path fill=\"#2E52B2\" d=\"M449.9 39.9v53.9h-81z\" />\n <path\n fill=\"#D80027\"\n d=\"M0 300v-19.3l109.9-74.4h39.7L12.8 300zM12.8.1l136.8 93.7h-39.7L0 19.4V.1zm437.1.1v19.3L340 93.8h-39.7L437.1.2zM437.1 300l-136.8-93.7H340l109.9 74.4V300z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M719.9 131.6l29.4 90.6-77.1-56h95.3l-77.1 56 29.5-90.6zM584 187.7l29.4 90.6-77.1-56h95.3l-77.1 56 29.5-90.6zm30 242.9l29.4 90.6-77.1-56h95.3l-77.1 56 29.5-90.6zM488 332l29.4 90.6-77.1-56h95.3l-77.1 56L488 332zm0 132l29.4 90.6-77.1-56h95.3l-77.1 56L488 464z\"\n />\n </svg>\n)\n\nexport var TW = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#0052B4\" d=\"M0 85.337h256V256H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M186.435 170.669L162.558 181.9l12.714 23.125-25.927-4.961-3.286 26.192L128 206.993l-18.06 19.263-3.285-26.192-25.927 4.96 12.714-23.125-23.877-11.23 23.877-11.231-12.714-23.125 25.927 4.96 3.286-26.192L128 134.344l18.06-19.263 3.285 26.192 25.928-4.96-12.715 23.125z\"\n />\n <circle fill=\"#0052B4\" cx={128} cy={170.674} r={29.006} />\n <path\n fill=\"#FFF\"\n d=\"M128 190.06c-10.692 0-19.391-8.7-19.391-19.391 0-10.692 8.7-19.391 19.391-19.391 10.692 0 19.391 8.7 19.391 19.391 0 10.691-8.699 19.391-19.391 19.391z\"\n />\n </svg>\n)\n\nexport var TZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#338AF3\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M0 426.663V85.337h512\" />\n <path\n fill=\"#FFDA44\"\n d=\"M512 152.222V85.337H411.67L0 359.778v66.885h100.33z\"\n />\n <path d=\"M512 85.337v40.125L60.193 426.663H0v-40.125L451.807 85.337z\" />\n </svg>\n)\n\nexport var UA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#338AF3\" d=\"M0 85.337h512V256H0z\" />\n </svg>\n)\n\nexport var UG = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#232323\" d=\"M0 0h512v341.3H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 56.9h512v56.9H0z\" />\n <path fill=\"#D32300\" d=\"M0 113.8h512v56.9H0z\" />\n <path fill=\"#FFDA44\" d=\"M0 227.6h512v56.9H0z\" />\n <path fill=\"#D32300\" d=\"M0 284.4h512v56.9H0z\" />\n <circle fill=\"#FFF\" cx={256} cy={170.7} r={80.7} />\n <path d=\"M234.5 127.5c.9-1.4-19.6-2-19.6-2 1.7-2.5 18.4-10.5 18.4-10.5s-.9-6 2.7-9.8l-4.5-9.8s7-3.4 18.4-3.4 19.9 7 21 13.1l-6.4 3.4c-.1 4.7 1.7 11.6-4.3 17.3-5.9 5.7-8.3 6.9-8.5 18.8 0 3.9 2.3 8.2 8.8 11.7 17.4 9.3 38.6 28.2 44.6 33.9 6.1 5.7 5.1 19.2 2.6 25.2s-12.1 14.3-14.3 13.6c-2.2-.6 1.2-9.2-3.5-11.6 0 0-8.9-7.6-16.8.6s-.2 25.2 3.9 28c4.1 2.8 1.7 5-1.9 5H247c-3.8 0-5.4-2.3-1.9-5 7.6-3.8 12.4-15.3 7.4-20.3-4.9-4.9-18.3 1.5-21.5 6.3-2.8 2.8-8.8 3.6-12.9-1.4s-4.1-10.4-1.1-12.5c7-4.8 0 0 .1-.1 0 0 11.9-8.6 29.9-9 3.9 0 4.8-2.2 2.2-4.8 0 0-30.9-27.4-28.1-44.2 3-18.3 20-26.3 13.4-32.5-1.3-1.8 0 0 0 0z\" />\n </svg>\n)\n\nexport var UM = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M0 0h513v26.3H0zm0 52.6h513v26.3H0zm0 52.6h513v26.3H0zm0 52.6h513v26.3H0zm0 52.7h513v26.3H0zm0 52.6h513v26.3H0zm0 52.6h513V342H0z\"\n fill=\"#D80027\"\n />\n <path fill=\"#2E52B2\" d=\"M0 0h256.5v184.1H0z\" />\n <path\n d=\"M47.8 138.9l-4-12.8-4.4 12.8H26.2l10.7 7.7-4 12.8 10.9-7.9 10.6 7.9-4.1-12.8 10.9-7.7zm56.3 0l-4.1-12.8-4.2 12.8H82.6l10.7 7.7-4 12.8 10.7-7.9 10.8 7.9-4-12.8 10.7-7.7zm56.5 0l-4.3-12.8-4 12.8h-13.5l11 7.7-4.2 12.8 10.7-7.9 11 7.9-4.2-12.8 10.7-7.7zm56.2 0l-4-12.8-4.2 12.8h-13.3l10.8 7.7-4 12.8 10.7-7.9 10.8 7.9-4.3-12.8 11-7.7zM100 75.3l-4.2 12.8H82.6L93.3 96l-4 12.6 10.7-7.8 10.8 7.8-4-12.6 10.7-7.9h-13.4zm-56.2 0l-4.4 12.8H26.2L36.9 96l-4 12.6 10.9-7.8 10.6 7.8L50.3 96l10.9-7.9H47.8zm112.5 0l-4 12.8h-13.5l11 7.9-4.2 12.6 10.7-7.8 11 7.8-4.2-12.6 10.7-7.9h-13.2zm56.5 0l-4.2 12.8h-13.3l10.8 7.9-4 12.6 10.7-7.8 10.8 7.8-4.3-12.6 11-7.9h-13.5zm-169-50.6l-4.4 12.6H26.2l10.7 7.9-4 12.7L43.8 50l10.6 7.9-4.1-12.7 10.9-7.9H47.8zm56.2 0l-4.2 12.6H82.6l10.7 7.9-4 12.7L100 50l10.8 7.9-4-12.7 10.7-7.9h-13.4zm56.3 0l-4 12.6h-13.5l11 7.9-4.2 12.7 10.7-7.9 11 7.9-4.2-12.7 10.7-7.9h-13.2zm56.5 0l-4.2 12.6h-13.3l10.8 7.9-4 12.7 10.7-7.9 10.8 7.9-4.3-12.7 11-7.9h-13.5z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var US = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M0 0h513v26.3H0zm0 52.6h513v26.3H0zm0 52.6h513v26.3H0zm0 52.6h513v26.3H0zm0 52.7h513v26.3H0zm0 52.6h513v26.3H0zm0 52.6h513V342H0z\"\n fill=\"#D80027\"\n />\n <path fill=\"#2E52B2\" d=\"M0 0h256.5v184.1H0z\" />\n <path\n d=\"M47.8 138.9l-4-12.8-4.4 12.8H26.2l10.7 7.7-4 12.8 10.9-7.9 10.6 7.9-4.1-12.8 10.9-7.7zm56.3 0l-4.1-12.8-4.2 12.8H82.6l10.7 7.7-4 12.8 10.7-7.9 10.8 7.9-4-12.8 10.7-7.7zm56.5 0l-4.3-12.8-4 12.8h-13.5l11 7.7-4.2 12.8 10.7-7.9 11 7.9-4.2-12.8 10.7-7.7zm56.2 0l-4-12.8-4.2 12.8h-13.3l10.8 7.7-4 12.8 10.7-7.9 10.8 7.9-4.3-12.8 11-7.7zM100 75.3l-4.2 12.8H82.6L93.3 96l-4 12.6 10.7-7.8 10.8 7.8-4-12.6 10.7-7.9h-13.4zm-56.2 0l-4.4 12.8H26.2L36.9 96l-4 12.6 10.9-7.8 10.6 7.8L50.3 96l10.9-7.9H47.8zm112.5 0l-4 12.8h-13.5l11 7.9-4.2 12.6 10.7-7.8 11 7.8-4.2-12.6 10.7-7.9h-13.2zm56.5 0l-4.2 12.8h-13.3l10.8 7.9-4 12.6 10.7-7.8 10.8 7.8-4.3-12.6 11-7.9h-13.5zm-169-50.6l-4.4 12.6H26.2l10.7 7.9-4 12.7L43.8 50l10.6 7.9-4.1-12.7 10.9-7.9H47.8zm56.2 0l-4.2 12.6H82.6l10.7 7.9-4 12.7L100 50l10.8 7.9-4-12.7 10.7-7.9h-13.4zm56.3 0l-4 12.6h-13.5l11 7.9-4.2 12.7 10.7-7.9 11 7.9-4.2-12.7 10.7-7.9h-13.2zm56.5 0l-4.2 12.6h-13.3l10.8 7.9-4 12.7 10.7-7.9 10.8 7.9-4.3-12.7 11-7.9h-13.5z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var UY = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 513 342\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h513v342H0z\" />\n <path\n d=\"M0 38h513v38H0zm0 76h513v38H0zm0 76h513v38H0zm0 76h513v38H0z\"\n fill=\"#0038a8\"\n />\n <path fill=\"#FFF\" d=\"M0 0h256.5v190H0z\" />\n <path\n fill=\"#FED443\"\n d=\"M128.3 138.7l-15.1 22.6-3.8-26.9L86 148.2l8.2-25.9-27.2 2.2 18.6-19.8L60.3 95l25.4-9.7L67 65.5l27.1 2.3-8.2-25.9 23.4 13.8 3.9-26.9 15.1 22.6 15.1-22.6 3.8 26.9 23.4-13.8-8.2 25.9 27.1-2.2-18.6 19.8 25.4 9.7-25.4 9.7 18.6 19.8-27.1-2.2 8.2 25.9-23.4-13.8-3.9 26.9-15-22.7zm0-.5c23.9.9 44-17.6 44.9-41.5.9-23.9-17.6-44-41.5-44.9h-3.4c-23.9.8-42.6 20.8-41.8 44.6.6 22.8 19 41.1 41.8 41.8zm0-10.6c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.3 34-34 34z\"\n />\n </svg>\n)\n\nexport var UZ = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M0 322.783h512v103.88H0z\" />\n <path fill=\"#338AF3\" d=\"M0 85.337h512v104.515H0z\" />\n <path fill=\"#FFF\" d=\"M0 210.877h512v89.656H0z\" />\n <path fill=\"#338AF3\" d=\"M0 85.337h512v104.515H0z\" />\n <path\n d=\"M188.688 137.589c0-15.984 11.234-29.339 26.236-32.614a33.531 33.531 0 00-7.155-.777c-18.442 0-33.391 14.949-33.391 33.391s14.949 33.391 33.391 33.391c2.458 0 4.85-.273 7.155-.777-15.002-3.275-26.236-16.63-26.236-32.614zm45.97 15.177l2.261 6.957h7.315l-5.918 4.301 2.261 6.956-5.919-4.3-5.918 4.3 2.261-6.956-5.918-4.301h7.315zm23.348 0l2.26 6.957h7.315l-5.918 4.301 2.261 6.956-5.918-4.3-5.918 4.3 2.26-6.956-5.917-4.301h7.314zm23.347 0l2.26 6.957h7.315l-5.917 4.301 2.26 6.956-5.918-4.3-5.918 4.3 2.26-6.956-5.918-4.301h7.315zm23.347 0l2.262 6.957h7.315l-5.919 4.301 2.261 6.956-5.919-4.3-5.918 4.3 2.262-6.956-5.919-4.301h7.314zm23.348 0l2.26 6.957h7.315l-5.918 4.301 2.261 6.956-5.918-4.3-5.918 4.3 2.26-6.956-5.917-4.301h7.314zm-70.042-24.284l2.26 6.956h7.315l-5.918 4.3 2.261 6.957-5.918-4.299-5.918 4.299 2.26-6.957-5.917-4.3h7.314zm23.347 0l2.26 6.956h7.315l-5.917 4.3 2.26 6.957-5.918-4.299-5.918 4.299 2.26-6.957-5.918-4.3h7.315zm23.347 0l2.262 6.956h7.315l-5.919 4.3 2.261 6.957-5.919-4.299-5.918 4.299 2.262-6.957-5.919-4.3h7.314zm23.348 0l2.26 6.956h7.315l-5.918 4.3 2.261 6.957-5.918-4.299-5.918 4.299 2.26-6.957-5.917-4.3h7.314zm-46.695-24.284l2.26 6.956h7.315l-5.917 4.3 2.26 6.957-5.918-4.3-5.918 4.3 2.26-6.957-5.918-4.3h7.315zm23.347 0l2.262 6.956h7.315l-5.919 4.3 2.261 6.957-5.919-4.3-5.918 4.3 2.262-6.957-5.919-4.3h7.314zm23.348 0l2.26 6.956h7.315l-5.918 4.3 2.261 6.957-5.918-4.3-5.918 4.3 2.26-6.957-5.917-4.3h7.314z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var VA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.331h512v341.326H0z\" />\n <path fill=\"#FFF\" d=\"M256 85.331h256v341.337H256z\" />\n <path\n fill=\"#ACABB1\"\n d=\"M321.353 233.837l32.073 42.43c-5.053 7.651-5.026 17.961.817 25.692 7.414 9.807 21.374 11.748 31.182 4.335 9.807-7.414 11.748-21.374 4.334-31.182-5.843-7.731-15.756-10.568-24.495-7.795l-49.988-66.129-11.838 8.949-17.759 13.424 17.899 23.677 17.775-13.401zm46.175 48.78a7.421 7.421 0 118.95 11.84 7.421 7.421 0 01-8.95-11.84z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M376.367 247.24l17.899-23.677-17.759-13.424-11.838-8.949-49.988 66.129c-8.74-2.775-18.651.063-24.495 7.795-7.414 9.808-5.473 23.768 4.334 31.182 9.808 7.414 23.768 5.473 31.182-4.335 5.845-7.731 5.871-18.041.817-25.692l32.073-42.43 17.775 13.401zm-62.504 45.771a7.42 7.42 0 11-11.84-8.95 7.42 7.42 0 0111.84 8.95z\"\n />\n </svg>\n)\n\nexport var VC = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFDA44\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#338AF3\" d=\"M0 85.331h170.663v341.337H0z\" />\n <path\n d=\"M341.337 85.331H512v341.337H341.337zM214.261 283.82l-33.393-50.086 33.392-50.087 33.392 50.087zm83.478 0l-33.391-50.086 33.391-50.087 33.393 50.087zM256 350.603l-33.391-50.087L256 250.429l33.391 50.087z\"\n fill=\"#6DA544\"\n />\n </svg>\n)\n\nexport var VE = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 22.5 15\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFCE00\" d=\"M0 0h22.5v5H0z\" />\n <path fill=\"#203899\" d=\"M0 5h22.5v5H0z\" />\n <path fill=\"#D82B2B\" d=\"M0 10h22.5v5H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M12.13 5.38l.14.46.45.14-.39.27.01.48-.38-.29-.45.15.15-.44-.28-.38h.47zm-1.77 0l.27.39h.47l-.28.38.15.45-.45-.16-.38.28.01-.47-.39-.28.45-.13zm3.44.56l-.01.48.39.27-.46.14-.14.45-.27-.38h-.48l.29-.38-.15-.45.45.16zm-5.11.02l.4.27.44-.18-.13.46.3.36-.47.02-.26.4-.16-.44-.46-.12.37-.3zm6.55 1.17l-.2.44.25.4-.47-.05-.31.36-.1-.46-.43-.18.41-.24.03-.47.35.31zm.19 1.12l.21.43.47.07-.34.33.08.46-.42-.22-.42.22.08-.46-.34-.33.47-.07zM7 8.2l.21.43.47.06-.34.33.08.47L7 9.27l-.42.22.08-.47-.34-.33.47-.06zm.31-1.15l.45.14.38-.29v.48l.39.26-.45.15-.13.46-.28-.38-.47.01.27-.38z\"\n />\n </svg>\n)\n\nexport var VG = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 85.334h512v341.337H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M256 85.334V202.66h-46.069L256 233.38v22.617h-22.628L160 207.078v48.919H96v-48.919l-73.372 48.919H0V233.38l46.069-30.72H0v-64h46.069L0 107.951V85.334h22.628L96 134.241V85.334h64v48.907l73.372-48.907z\"\n />\n <g fill=\"#D80027\">\n <path d=\"M144 85.33h-32v69.333H0v32h112v69.334h32v-69.334h112v-32H144z\" />\n <path d=\"M0 85.329v15.083l57.377 38.251H80zm256 0v15.083l-57.377 38.251H176z\" />\n </g>\n <path fill=\"#2E52B2\" d=\"M256 107.951v30.712h-46.069z\" />\n <path\n d=\"M0 85.329v15.083l57.377 38.251H80zm256 0v15.083l-57.377 38.251H176z\"\n fill=\"#D80027\"\n />\n <path fill=\"#2E52B2\" d=\"M256 107.951v30.712h-46.069z\" />\n <path\n d=\"M0 255.997v-15.082l57.377-38.252H80zm256 0v-15.082l-57.377-38.252H176z\"\n fill=\"#D80027\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M384 259.706l-46.129 46.129c8.645 16.675 26.051 28.074 46.129 28.074s37.484-11.4 46.129-28.074L384 259.706z\"\n />\n <path\n fill=\"#6DA544\"\n d=\"M332.058 178.084v81.624c.001 39.759 51.942 51.941 51.942 51.941s51.941-12.182 51.942-51.942v-81.623H332.058z\"\n />\n <path fill=\"#FFF\" d=\"M372.87 215.181h22.261v59.359H372.87z\" />\n <circle fill=\"#A2001D\" cx={384} cy={215.181} r={11.13} />\n <path\n d=\"M346.902 192.92h14.84v14.84h-14.84zm0 33.392h14.84v14.84h-14.84zm0 33.391h14.84v14.84h-14.84zm59.359-66.783h14.84v14.84h-14.84zm0 33.392h14.84v14.84h-14.84zm0 33.391h14.84v14.84h-14.84z\"\n fill=\"#FFDA44\"\n />\n </svg>\n)\n\nexport var VI = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.3\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h512v341.3H0z\" />\n <path\n fill=\"#1583C4\"\n d=\"M397.7 166.3l-51 97.7c-1.1 2-.3 4.5 1.8 5.6 2 1.1 4.5.3 5.6-1.8l51-97.7c1-2.1.1-4.6-2-5.5-2-.9-4.3-.2-5.4 1.7z\"\n />\n <path\n fill=\"#1583C4\"\n d=\"M404.9 188l-57.8 75.4c-1.3 1.9-.8 4.5 1.1 5.8 1.7 1.2 4.1.9 5.5-.7l57.8-75.4c1.4-1.8 1.1-4.4-.8-5.8-1.8-1.5-4.4-1.1-5.8.7z\"\n />\n <path\n fill=\"#1583C4\"\n d=\"M379 181.3l-32.5 83.1c-.8 2.1.2 4.6 2.4 5.4 2.1.8 4.6-.2 5.4-2.4l32.5-83.1c.7-2.2-.4-4.5-2.6-5.3-2.1-.6-4.3.4-5.2 2.3z\"\n />\n <path\n fill=\"#409347\"\n d=\"M122.1 171.9c.4 1.7 1.2 4.7 2.2 8.5 1.7 6.4 3.6 12.8 5.6 18.7 2.3 6.9 14.7 31.4 20.2 39.1 6.9 9.7 14.1 19.3 21.5 28.6 1.6 1.9 4.5 2.1 6.4.5 1.8-1.6 2.1-4.3.7-6.2-7.3-9.2-14.4-18.6-21.2-28.2-4.2-5.8-17.2-31.1-19-36.7-2.9-8.7-5.4-17.6-7.6-26.5-.5-2.4-2.9-4-5.3-3.5s-4 2.9-3.5 5.3c-.1.2 0 .3 0 .4z\"\n />\n <g fill=\"#FFD836\" stroke=\"#231F20\" strokeMiterlimit={10}>\n <path d=\"M297.1 114.9S279.5 42.8 261 42.8c-6.9 0-11.9-.6-15.4 6.4-.9 1.7-20.7-1.6-19.1 20.8.5 6.9 1.1-9.8 14.9-3.4 6.3 3-16.4 48.2-16.4 48.2h72.1z\" />\n <path d=\"M466.1 48.4l-90.9 22c-75.3 18.3-42.1 44.4-42.1 44.4l-72.1 12-72.1-12s33.2-26.1-42.1-44.4l-90.9-22C43.1 45.3 38.1 51.8 45.3 63c0 0 106.6 104 126.8 112 20.2 8.1 40.8 0 40.8 0s-14.9 8.7-24 24c-9.2 15.3-4.6 34.7-38.9 40.2-5.5 6.6-5 14 2.9 19.9 7.9 5.8 72.1-48.1 72.1-48.1s-24 24.4-24 36.1c0 5.1 44.1 53.8 60.1 53.8s60.1-48.7 60.1-53.8c0-11.7-24-36.1-24-36.1s64.2 53.9 72.1 48.1 11.4-19.3 2.8-19.9c-28-1.8-29.7-24.9-38.9-40.2-9.2-15.3-24-24-24-24s20.6 8.1 40.8 0S476.7 63 476.7 63c7.2-11.2 2.3-17.7-10.6-14.6z\" />\n </g>\n <path\n fill=\"#FFF\"\n stroke=\"#231F20\"\n strokeMiterlimit={10}\n d=\"M201.3 111.8v80.3c0 45.7 59.7 59.7 59.7 59.7s59.7-14 59.7-59.7v-80.3H201.3z\"\n />\n <path\n d=\"M225.2 137.7V235c8.2 6 17 10.2 23.9 12.9V137.7h-23.9zm71.6 0V235c-8.2 6-17 10.2-23.9 12.9V137.7h23.9z\"\n fill=\"#D80027\"\n />\n <path fill=\"#0052B4\" d=\"M201.3 111.8h119.4v37.9H201.3z\" />\n <path\n fill=\"#1583C4\"\n d=\"M60.1 210.5l-21.9-58.1H15.7l31.8 80.8h25.2l31.5-80.8H81.7zm391.4-58.6h18.9v81.7h-18.9z\"\n />\n </svg>\n)\n\nexport var VN = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M196.641 85.337H0v341.326h512V85.337z\" />\n <path\n fill=\"#FFDA44\"\n d=\"M256 157.279l22.663 69.747H352l-59.332 43.106 22.664 69.749L256 296.774l-59.332 43.107 22.664-69.749L160 227.026h73.337z\"\n />\n </svg>\n)\n\nexport var VU = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#6DA544\" d=\"M512 256v170.663H0L215.185 256z\" />\n <path fill=\"#D80027\" d=\"M512 85.337V256H215.185L0 85.337z\" />\n <path d=\"M221.001 239.304L26.868 85.337H8.956l208.168 165.098H512v-11.131zM8.956 426.663h17.912l194.133-153.967H512v-11.131H217.124zM0 92.44v14.206L188.317 256 0 405.354v14.205L206.229 256z\" />\n <g fill=\"#FFDA44\">\n <path d=\"M8.956 85.337H0v7.103L206.229 256 0 419.559v7.104h8.956l208.168-165.098H512v-11.13H217.124z\" />\n <path d=\"M63.718 292.382v-14.295c14.265 0 25.87-11.606 25.87-25.869 0-10.092-8.211-18.303-18.304-18.303-6.875 0-12.469 5.593-12.469 12.469 0 4.397 3.577 7.974 7.974 7.974a4.514 4.514 0 004.508-4.508h14.295c0 10.368-8.435 18.804-18.802 18.804-12.279-.002-22.269-9.993-22.269-22.271 0-14.758 12.006-26.764 26.764-26.764 17.975 0 32.599 14.623 32.599 32.599 0 22.145-18.018 40.164-40.166 40.164z\" />\n </g>\n </svg>\n)\n\nexport var WF = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 150 100\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#ED2939\" d=\"M0 0h150v100H0z\" />\n <path fill=\"#002395\" d=\"M0 0h20v44.33H0z\" />\n <path fill=\"#FFF\" d=\"M20 0h20v44.33H20z\" />\n <path fill=\"none\" stroke=\"#FFF\" strokeWidth={3} d=\"M0 44.33h62.75V0\" />\n <path\n fill=\"#FFF\"\n d=\"M108.08 43.29L87.96 23.17h40.25l-20.13 20.12zm-6.7 6.71L81.25 29.88v40.25L101.38 50zm6.7 6.71L87.96 76.83h40.25l-20.13-20.12zm6.71-6.71l20.13-20.13v40.25L114.79 50z\"\n />\n </svg>\n)\n\nexport var WS = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#D80027\" d=\"M0 85.331h512v341.337H0z\" />\n <path fill=\"#0052B4\" d=\"M0 85.331h256v170.663H0z\" />\n <path\n d=\"M165.483 181.79l2.764 8.504h8.939l-7.232 5.254 2.763 8.503-7.234-5.255-7.233 5.255 2.763-8.503-7.233-5.254h8.94zm-44.904-66.783l4.606 14.173h14.9l-12.055 8.757 4.605 14.171-12.056-8.758-12.054 8.758 4.605-14.171-12.056-8.757h14.901zm44.522 14.841l4.606 14.172h14.9l-12.055 8.757 4.604 14.173-12.055-8.76-12.054 8.76 4.604-14.173-12.055-8.757h14.9zm-35.192 59.363l4.606 14.172h14.9l-12.055 8.758 4.604 14.171-12.055-8.759-12.054 8.759 4.604-14.171-12.055-8.758h14.9zm-39.01-37.103l4.605 14.173h14.9l-12.055 8.757 4.604 14.173-12.054-8.76-12.055 8.76 4.604-14.173-12.055-8.757h14.9z\"\n fill=\"#FFF\"\n />\n </svg>\n)\n\nexport var XK = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 512 341.33\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#0052B4\" d=\"M0 0h512v341.34H0z\" />\n <path\n d=\"M220.72 42.63l7.95 16.11 17.77 2.58-12.86 12.54 3.04 17.7-15.9-8.36-15.9 8.36 3.03-17.7-12.86-12.54 17.78-2.58zm70.56-.06l7.95 16.1 17.78 2.59-12.86 12.53 3.03 17.71-15.9-8.36-15.9 8.36 3.04-17.71-12.86-12.53 17.77-2.59zm62.08 11.36l7.95 16.11 17.77 2.58-12.86 12.54 3.04 17.7-15.9-8.35-15.9 8.35 3.04-17.7-12.87-12.54 17.78-2.58zm63.01 18.3l7.95 16.11 17.77 2.59-12.86 12.53 3.04 17.71-15.9-8.36-15.9 8.36 3.03-17.71-12.86-12.53 17.78-2.59zm-257.73-18.3l7.95 16.11 17.78 2.58-12.87 12.54 3.04 17.7-15.9-8.35-15.9 8.35 3.04-17.7-12.86-12.54 17.77-2.58zm-63.01 18.3l7.95 16.11 17.78 2.59-12.86 12.53 3.03 17.71-15.9-8.36-15.9 8.36 3.04-17.71-12.86-12.53 17.77-2.59z\"\n fill=\"#FFF\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M217.53 259.33l-27.22-13.61-27.22-54.43h27.22l27.22-27.22 13.61-27.22 27.22-13.61 13.61 13.61 27.22 13.61v13.61l13.61 13.61 40.83 27.22L340 245.73l-40.83 40.83-13.61-27.22-40.83 27.22v27.22l-13.61-13.61-13.59-40.84z\"\n />\n </svg>\n)\n\nexport var YE = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path fill=\"#D80027\" d=\"M0 85.337h512v113.775H0z\" />\n <path d=\"M0 312.888h512v113.775H0z\" />\n </svg>\n)\n\nexport var YT = ({ title, ...rest }) => (\n <svg viewBox=\"0 0 90 60\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 0h90v60H0z\" />\n <path\n stroke=\"#7f7f7f\"\n strokeWidth={0.25}\n fill=\"#ABABAB\"\n d=\"M75.6 39.6c-1.1.7 0 1.8-.6 1.9-.6.1-1.5-1.4-.2-2.5 1.6-1.5 5.8 0 5.9 4.3 0 2.2-.9 6.8-7.2 6.8-7.6 0-11.4-5.7-11.4-11.4 0-4.8 3.7-13.5 6.5-14.6 3.1-1.2 6.7-3.5 6.8-5 0-.5-1.4-.1-3.3.9-3.1 1.7-6.6 2.5-6.6 1.4s2.9-3.1 4-4.6c1.2-1.6.9-5.5 3-5.5 7.6 0 9.9 7.7 7 11.7-1.9 2.6 4.3 1 4.3 1s0 5.3-3.2 7.3c-3 1.8-4.8 3.9-4.8 3.9s.2-4.6-.5-3.9c-.6.7-11.1 4.5-10.3 12 .3 3 4.5 5.4 8.5 5.2s5.7-2.4 5.8-4.9c.1-3.9-3-4.4-3.7-4zm-64.9 4c.1 2.5 1.8 4.7 5.8 4.9s8.2-2.2 8.5-5.2c.8-7.5-9.7-11.3-10.3-12-.7-.7-.5 3.9-.5 3.9s-1.8-2.1-4.8-3.9c-3.2-2-3.2-7.3-3.2-7.3s6.2 1.6 4.3-1c-2.9-4-.6-11.7 7-11.7 2.1 0 1.8 3.9 3 5.5 1.1 1.5 4 3.5 4 4.6s-3.5.3-6.6-1.4c-1.9-1-3.3-1.4-3.3-.9.1 1.5 3.7 3.8 6.8 5 2.8 1.1 6.5 9.8 6.5 14.6 0 5.7-3.8 11.4-11.4 11.4-6.3 0-7.2-4.6-7.2-6.8.1-4.3 4.3-5.8 5.9-4.3 1.2 1.1.4 2.7-.2 2.5-.6-.1.6-1.2-.6-1.9-.6-.4-3.7.1-3.7 4z\"\n />\n <path\n fill=\"#DE393A\"\n d=\"M31 28.8v14c0 1.9 2.1 1.6 2.1 1.6h9.3c1.2 0 2.6 2.3 2.6 2.3s1.4-2.3 2.5-2.3h9.6s2 .2 2-1.8V28.7H31z\"\n />\n <path fill=\"#3951A3\" d=\"M31 13.1h28v15.7H31z\" />\n <path\n fill=\"#FFF\"\n d=\"M50.1 16.5c-.4 2.4-2.5 4.2-5.1 4.2-2.5 0-4.6-1.8-5.1-4.2-.5.9-.8 1.9-.8 3 0 3.3 2.6 5.9 5.9 5.9 3.3 0 5.9-2.6 5.9-5.9 0-1.1-.3-2.1-.8-3z\"\n />\n <circle fill=\"#FEE05F\" cx={39.1} cy={36.5} r={3} />\n <circle fill=\"#FEE05F\" cx={50.9} cy={36.5} r={3} />\n </svg>\n)\n\nexport var ZA = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#FFF\" d=\"M0 85.337h512v341.326H0z\" />\n <path d=\"M114.024 256.001L0 141.926v228.17z\" />\n <path\n fill=\"#ffb915\"\n d=\"M161.192 256L0 94.7v47.226l114.024 114.075L0 370.096v47.138z\"\n />\n <path\n fill=\"#007847\"\n d=\"M509.833 289.391c.058-.44.804-.878 2.167-1.318v-65.464H222.602L85.33 85.337H0V94.7L161.192 256 0 417.234v9.429h85.33l137.272-137.272h287.231z\"\n />\n <path\n fill=\"#000c8a\"\n d=\"M503.181 322.783H236.433l-103.881 103.88H512v-103.88z\"\n />\n <path\n fill=\"#e1392d\"\n d=\"M503.181 189.217H512V85.337H132.552l103.881 103.88z\"\n />\n </svg>\n)\n\nexport var ZM = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path fill=\"#496E2D\" d=\"M0 85.331h512v341.337H0z\" />\n <path\n fill=\"#FF9811\"\n d=\"M490.668 195.476h-48c0-8.836-7.164-16-16-16s-16 7.164-16 16h-48c0 8.836 7.697 16 16.533 16h-.533c0 8.836 7.162 16 16 16 0 8.836 7.162 16 16 16h32c8.836 0 16-7.164 16-16 8.836 0 16-7.164 16-16h-.533c8.837 0 16.533-7.164 16.533-16z\"\n />\n <path fill=\"#D80027\" d=\"M341.337 255.994h56.888v170.663h-56.888z\" />\n <path fill=\"#FF9811\" d=\"M455.112 255.994H512v170.663h-56.888z\" />\n <path d=\"M398.225 255.994h56.888v170.663h-56.888z\" />\n </svg>\n)\n\nexport var ZW = ({ title, ...rest }) => (\n <svg viewBox=\"0 85.333 512 341.333\" {...rest}>\n {title && <title>{title}</title>}\n<path d=\"M0 85.333h512V426.67H0z\" />\n <path d=\"M0 134.196h512v48.868H0zm0 195.472h512v48.868H0z\" fill=\"#FFDA44\" />\n <path fill=\"#057f44\" d=\"M0 85.333h512v48.868H0z\" />\n <path d=\"M0 183.069h512v48.868H0zm0 97.737h512v48.868H0z\" fill=\"#D80027\" />\n <path fill=\"#057f44\" d=\"M0 378.542h512v48.128H0z\" />\n <path fill=\"#FFF\" d=\"M276.992 255.996L106.329 426.659H0V85.333h106.329z\" />\n <path d=\"M256 255.996L85.334 426.662h20.987l170.667-170.666L106.321 85.33H85.334z\" />\n <path\n fill=\"#D80027\"\n d=\"M102.465 202.57l13.259 40.812h42.917l-34.718 25.226 13.26 40.814-34.718-25.224-34.72 25.224 13.262-40.814-34.718-25.226h42.915z\"\n />\n <path\n fill=\"#FFDA44\"\n d=\"M138.94 259.335l-34.559-12.243s-2.553-23.955-2.708-24.766c-1.173-6.18-6.603-10.851-13.123-10.851-7.376 0-13.357 5.98-13.357 13.357 0 1.223.178 2.402.486 3.528l-9.689 9.755h17.229c0 17.882-13.344 17.882-13.344 35.691l7.402 17.809h44.522l7.422-17.809h-.004a17.782 17.782 0 001.381-5.231c6.397-2.589 8.342-9.24 8.342-9.24z\"\n />\n </svg>\n)\n\nexport default {\n\tAC: AC,\n\tAD: AD,\n\tAE: AE,\n\tAF: AF,\n\tAG: AG,\n\tAI: AI,\n\tAL: AL,\n\tAM: AM,\n\tAO: AO,\n\tAQ: AQ,\n\tAR: AR,\n\tAS: AS,\n\tAT: AT,\n\tAU: AU,\n\tAW: AW,\n\tAX: AX,\n\tAZ: AZ,\n\tBA: BA,\n\tBB: BB,\n\tBD: BD,\n\tBE: BE,\n\tBF: BF,\n\tBG: BG,\n\tBH: BH,\n\tBI: BI,\n\tBJ: BJ,\n\tBL: BL,\n\tBM: BM,\n\tBN: BN,\n\tBO: BO,\n\tBQ: BQ,\n\tBR: BR,\n\tBS: BS,\n\tBT: BT,\n\tBV: BV,\n\tBW: BW,\n\tBY: BY,\n\tBZ: BZ,\n\tCA: CA,\n\tCC: CC,\n\tCD: CD,\n\tCF: CF,\n\tCG: CG,\n\tCH: CH,\n\tCI: CI,\n\tCK: CK,\n\tCL: CL,\n\tCM: CM,\n\tCN: CN,\n\tCO: CO,\n\tCR: CR,\n\tCU: CU,\n\tCV: CV,\n\tCW: CW,\n\tCX: CX,\n\tCY: CY,\n\tCZ: CZ,\n\tDE: DE,\n\tDJ: DJ,\n\tDK: DK,\n\tDM: DM,\n\tDO: DO,\n\tDZ: DZ,\n\tEC: EC,\n\tEE: EE,\n\tEG: EG,\n\tEH: EH,\n\tER: ER,\n\tES: ES,\n\tET: ET,\n\tEU: EU,\n\tFI: FI,\n\tFJ: FJ,\n\tFK: FK,\n\tFM: FM,\n\tFO: FO,\n\tFR: FR,\n\tGA: GA,\n\tGB: GB,\n\tGD: GD,\n\tGE: GE,\n\tGF: GF,\n\tGG: GG,\n\tGH: GH,\n\tGI: GI,\n\tGL: GL,\n\tGM: GM,\n\tGN: GN,\n\tGP: GP,\n\tGQ: GQ,\n\tGR: GR,\n\tGS: GS,\n\tGT: GT,\n\tGU: GU,\n\tGW: GW,\n\tGY: GY,\n\tHK: HK,\n\tHM: HM,\n\tHN: HN,\n\tHR: HR,\n\tHT: HT,\n\tHU: HU,\n\tIC: IC,\n\tID: ID,\n\tIE: IE,\n\tIL: IL,\n\tIM: IM,\n\tIN: IN,\n\tIO: IO,\n\tIQ: IQ,\n\tIR: IR,\n\tIS: IS,\n\tIT: IT,\n\tJE: JE,\n\tJM: JM,\n\tJO: JO,\n\tJP: JP,\n\tKE: KE,\n\tKG: KG,\n\tKH: KH,\n\tKI: KI,\n\tKM: KM,\n\tKN: KN,\n\tKP: KP,\n\tKR: KR,\n\tKW: KW,\n\tKY: KY,\n\tKZ: KZ,\n\tLA: LA,\n\tLB: LB,\n\tLC: LC,\n\tLI: LI,\n\tLK: LK,\n\tLR: LR,\n\tLS: LS,\n\tLT: LT,\n\tLU: LU,\n\tLV: LV,\n\tLY: LY,\n\tMA: MA,\n\tMC: MC,\n\tMD: MD,\n\tME: ME,\n\tMF: MF,\n\tMG: MG,\n\tMH: MH,\n\tMK: MK,\n\tML: ML,\n\tMM: MM,\n\tMN: MN,\n\tMO: MO,\n\tMP: MP,\n\tMQ: MQ,\n\tMR: MR,\n\tMS: MS,\n\tMT: MT,\n\tMU: MU,\n\tMV: MV,\n\tMW: MW,\n\tMX: MX,\n\tMY: MY,\n\tMZ: MZ,\n\tNA: NA,\n\tNC: NC,\n\tNE: NE,\n\tNF: NF,\n\tNG: NG,\n\tNI: NI,\n\tNL: NL,\n\tNO: NO,\n\tNP: NP,\n\tNR: NR,\n\tNU: NU,\n\tNZ: NZ,\n\tOM: OM,\n\tPA: PA,\n\tPE: PE,\n\tPF: PF,\n\tPG: PG,\n\tPH: PH,\n\tPK: PK,\n\tPL: PL,\n\tPM: PM,\n\tPN: PN,\n\tPR: PR,\n\tPS: PS,\n\tPT: PT,\n\tPW: PW,\n\tPY: PY,\n\tQA: QA,\n\tRE: RE,\n\tRO: RO,\n\tRS: RS,\n\tRU: RU,\n\tRW: RW,\n\tSA: SA,\n\tSB: SB,\n\tSC: SC,\n\tSD: SD,\n\tSE: SE,\n\tSG: SG,\n\tSH: SH,\n\tSI: SI,\n\tSJ: SJ,\n\tSK: SK,\n\tSL: SL,\n\tSM: SM,\n\tSN: SN,\n\tSO: SO,\n\tSR: SR,\n\tSS: SS,\n\tST: ST,\n\tSV: SV,\n\tSX: SX,\n\tSY: SY,\n\tSZ: SZ,\n\tTA: TA,\n\tTC: TC,\n\tTD: TD,\n\tTF: TF,\n\tTG: TG,\n\tTH: TH,\n\tTJ: TJ,\n\tTK: TK,\n\tTL: TL,\n\tTM: TM,\n\tTN: TN,\n\tTO: TO,\n\tTR: TR,\n\tTT: TT,\n\tTV: TV,\n\tTW: TW,\n\tTZ: TZ,\n\tUA: UA,\n\tUG: UG,\n\tUM: UM,\n\tUS: US,\n\tUY: UY,\n\tUZ: UZ,\n\tVA: VA,\n\tVC: VC,\n\tVE: VE,\n\tVG: VG,\n\tVI: VI,\n\tVN: VN,\n\tVU: VU,\n\tWF: WF,\n\tWS: WS,\n\tXK: XK,\n\tYE: YE,\n\tYT: YT,\n\tZA: ZA,\n\tZM: ZM,\n\tZW: ZW\n}","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from 'react';\nimport {Dropdown, Navbar} from \"react-bootstrap\";\nimport Flags from \"country-flag-icons/react/3x2\";\nimport {Locale} from \"../utils\";\nimport {useLocation, useNavigate} from \"react-router-dom\";\nimport {useTranslation} from \"react-i18next\";\nimport resources from \"../resources/locale\";\n\nexport default function LanguageSwitch() {\n const [locale, setLocale] = React.useState();\n const [locales, setLocales] = React.useState([]);\n const navigate = useNavigate();\n const location = useLocation();\n const {i18n} = useTranslation();\n\n React.useEffect(() => {\n const lang = location.pathname.split('/')[1];\n\n // Ignore if invalid language.\n if (!lang || !Object.keys(resources).includes(lang)) {\n return;\n }\n\n // Change to language in url.\n if (Locale.current() !== lang) {\n i18n.changeLanguage(lang);\n Locale.save({lang});\n }\n\n const previous = Locale.current();\n if (locale !== lang) {\n setLocale(Locale.current());\n console.log(`Detect language path=${location.pathname}, lang=${lang}, previous=${previous}, current=${Locale.current()}`);\n }\n }, [location, i18n, locale]);\n\n React.useEffect(() => {\n setLocales([\n {lang: 'zh', text: '简体中文', icon: Flags.CN},\n {lang: 'en', text: 'English', icon: Flags.US},\n ]);\n }, []);\n\n const onChangeLocale = React.useCallback((lang) => {\n const jumpTo = location.pathname.replace(`${Locale.current()}`, lang);\n console.log(`Change language to ${lang}, jump to ${jumpTo}, search=${location.search}`);\n return navigate({pathname: jumpTo, search: location.search});\n }, [location, navigate]);\n\n return (\n <Dropdown>\n <Dropdown.Toggle variant='text'>\n {locales.map((e, index) => {\n if (e.lang !== locale) return <React.Fragment key={index} />;\n return (\n <React.Fragment key={index}>\n <e.icon width={16} /> <Navbar.Text>{e.text}</Navbar.Text>\n </React.Fragment>\n );\n })}\n </Dropdown.Toggle>\n <Dropdown.Menu>\n {locales.map((e, index) => {\n return (\n <Dropdown.Item\n key={index}\n onClick={() => onChangeLocale(e.lang)}\n >\n <e.icon width={16} /> <Navbar.Text>{e.text}</Navbar.Text>\n </Dropdown.Item>\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n}\n\nfunction useSrsLanguage() {\n const [language, setLanguage] = React.useState(Locale.current());\n\n const ref = React.useRef({\n language: Locale.current(),\n });\n React.useEffect(() => {\n if (ref.current.language !== language) ref.current.language = language;\n }, [language]);\n\n React.useEffect(() => {\n const refreshLanguage = () => {\n if (ref.current.language !== Locale.current()) {\n console.log(`i18n language changed detect, previous=${ref.current.language}, current=${Locale.current()}`);\n setLanguage(Locale.current());\n }\n };\n\n refreshLanguage();\n const timer = setInterval(() => refreshLanguage(), 300);\n return () => clearInterval(timer);\n }, []);\n\n return language;\n}\nexport {useSrsLanguage};\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from 'react';\nimport Container from \"react-bootstrap/Container\";\nimport {Navbar, Nav} from 'react-bootstrap';\nimport {Link, useLocation} from \"react-router-dom\";\nimport logo from '../resources/logo.svg';\nimport LanguageSwitch from \"../components/LanguageSwitch\";\nimport {useTranslation} from \"react-i18next\";\n\nexport default function Navigator({initialized, token, localChanged}) {\n const [activekey, setActiveKey] = React.useState(1);\n const [navs, setNavs] = React.useState([]);\n const location = useLocation();\n const {t} = useTranslation();\n\n React.useEffect(() => {\n if (!initialized) return setNavs([]);\n\n if (!token) {\n return setNavs([{to:'/routers-login', text: t('nav.login'), className: 'text-light'}]);\n }\n\n const r0 = `${location.pathname}${location.search}`;\n setNavs([\n {eventKey: '2', to: '/routers-scenario', text: t('nav.scenario')},\n {eventKey: '3', to: '/routers-settings', text: t('nav.system')},\n {eventKey: '4', to: '/routers-components', text: t('nav.component')},\n {eventKey: '5', to: '/routers-contact', text: t('nav.contact')},\n {eventKey: '6', to: '/routers-logout', text: t('nav.logout')},\n ].map(e => {\n if (r0.indexOf(e.to) >= 0) {\n e.className = 'text-light';\n setActiveKey(e.eventKey);\n }\n return e;\n }));\n }, [initialized, token, location, t]);\n\n return (<>\n <Navbar>\n <Container fluid className={{color:'#fff'}}>\n <Navbar.Brand>\n <img\n src={logo}\n width=\"64\"\n height=\"30\"\n className=\"d-inline-block align-top\"\n alt=\"SRS Stack\"\n />\n </Navbar.Brand>\n <Nav className='me-auto' variant=\"pills\" activeKey={activekey}>\n {navs.map((e, index) => {\n return (\n <Nav.Link\n as={Link}\n eventKey={e.eventKey}\n to={e.to}\n key={index}\n className={e.className}\n >\n {e.text}\n </Nav.Link>\n );\n })}\n </Nav>\n <Navbar.Collapse className=\"justify-content-end\">\n <LanguageSwitch localChanged={localChanged} />\n </Navbar.Collapse>\n </Container>\n </Navbar>\n </>);\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport Container from \"react-bootstrap/Container\";\nimport {Button, Form, Spinner} from \"react-bootstrap\";\nimport React from \"react\";\nimport axios from \"axios\";\nimport {Token, Tools} from \"../utils\";\nimport {useNavigate} from \"react-router-dom\";\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useTranslation} from \"react-i18next\";\nconst { v4: uuidv4 } = require('uuid');\n\nexport default function Setup({onInit}) {\n return (\n <SrsErrorBoundary>\n <SetupImpl onInit={onInit} />\n </SrsErrorBoundary>\n );\n}\n\nfunction SetupImpl({onInit}) {\n const [password, setPassword] = React.useState();\n const [initializing, setInitializing] = React.useState();\n const [enabled, setEnabled] = React.useState(false);\n const navigate = useNavigate();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n // Generate password if not initialized.\n React.useEffect(() => {\n setPassword(uuidv4().replace(/-/g, '').slice(-16));\n }, []);\n\n // User click login button.\n const handleLogin = React.useCallback((e) => {\n e.preventDefault();\n\n if (initializing) return;\n setInitializing(true);\n\n axios.post('/terraform/v1/mgmt/init', {\n password,\n }).then(res => {\n const data = res.data.data;\n console.log(`Init: OK, token is ${Tools.mask(data)}`);\n Token.save(data);\n onInit && onInit();\n navigate('/routers-scenario');\n }).catch(handleError);\n }, [handleError, navigate, password, initializing, onInit]);\n\n React.useEffect(() => {\n axios.get('/terraform/v1/mgmt/check').then(res => {\n setEnabled(!res.data?.data?.upgrading);\n console.log(`Check ok, ${JSON.stringify(res.data)}`);\n }).catch(handleError);\n }, [handleError]);\n\n return (\n <>\n <Container fluid>\n <Form>\n <Form.Group className=\"mb-3\" controlId=\"formBasicPassword\">\n <Form.Label>{t('setup.passwordLabel')}</Form.Label>\n <Form.Control type={initializing ? 'password' : 'text'} placeholder=\"Password\" defaultValue={password}\n onChange={(e) => setPassword(e.target.value)}/>\n <Form.Text className=\"text-muted\">\n * {t('setup.passwordTip')}\n </Form.Text>\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" disabled={!enabled} className={initializing && \"disabled\"} onClick={(e) => handleLogin(e)}>\n {initializing ? t('setup.labelInit') : t('setup.labelNormal')}\n </Button> \n {initializing && <Spinner animation=\"border\" variant=\"success\" style={{verticalAlign: 'middle'}} />}\n </Form>\n </Container>\n </>\n );\n}\n\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DEVICE_SIZES = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n DEVICE_SIZES.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n\n const infix = brkPoint !== 'xs' ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImg = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n variant,\n as: Component = 'img',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-img');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(variant ? `${prefix}-${variant}` : prefix, className),\n ...props\n });\n});\nCardImg.displayName = 'CardImg';\nexport default CardImg;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardHeaderContext from './CardHeaderContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-header');\n const contextValue = useMemo(() => ({\n cardHeaderBsPrefix: prefix\n }), [prefix]);\n return /*#__PURE__*/_jsx(CardHeaderContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix)\n })\n });\n});\nCardHeader.displayName = 'CardHeader';\nexport default CardHeader;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport divWithClassName from './divWithClassName';\nimport CardImg from './CardImg';\nimport CardHeader from './CardHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst DivStyledAsH6 = divWithClassName('h6');\nconst CardBody = createWithBsPrefix('card-body');\nconst CardTitle = createWithBsPrefix('card-title', {\n Component: DivStyledAsH5\n});\nconst CardSubtitle = createWithBsPrefix('card-subtitle', {\n Component: DivStyledAsH6\n});\nconst CardLink = createWithBsPrefix('card-link', {\n Component: 'a'\n});\nconst CardText = createWithBsPrefix('card-text', {\n Component: 'p'\n});\nconst CardFooter = createWithBsPrefix('card-footer');\nconst CardImgOverlay = createWithBsPrefix('card-img-overlay');\nconst defaultProps = {\n body: false\n};\nconst Card = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n bg,\n text,\n border,\n body,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix, bg && `bg-${bg}`, text && `text-${text}`, border && `border-${border}`),\n children: body ? /*#__PURE__*/_jsx(CardBody, {\n children: children\n }) : children\n });\n});\nCard.displayName = 'Card';\nCard.defaultProps = defaultProps;\nexport default Object.assign(Card, {\n Img: CardImg,\n Title: CardTitle,\n Subtitle: CardSubtitle,\n Body: CardBody,\n Link: CardLink,\n Text: CardText,\n Header: CardHeader,\n Footer: CardFooter,\n ImgOverlay: CardImgOverlay\n});","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from 'react';\n\n// The context for env of API /terraform/v1/mgmt/envs\nexport const SrsEnvContext = React.createContext();\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport Container from \"react-bootstrap/Container\";\nimport React from \"react\";\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport {Row, Col, Card} from \"react-bootstrap\";\nimport * as moment from 'moment';\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\nimport {useTranslation} from \"react-i18next\";\nimport {SrsEnvContext} from \"../components/SrsEnvContext\";\n\nexport default function Components() {\n return (\n <SrsErrorBoundary>\n <ComponentsImpl />\n </SrsErrorBoundary>\n );\n}\n\nfunction ComponentsImpl() {\n const [status, setStatus] = React.useState();\n const {t} = useTranslation();\n const env = React.useContext(SrsEnvContext)[0];\n\n React.useEffect(() => {\n const refreshMgmtStatus = () => {\n axios.post('/terraform/v1/mgmt/status', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const status = res.data.data;\n\n // Normally state.\n setStatus(status);\n\n console.log(`${moment().format()}: Status: Query ok, status=${JSON.stringify(status)}`);\n }).catch(e => {\n console.log('ignore any error during status', e);\n });\n };\n\n refreshMgmtStatus();\n const timer = setInterval(() => refreshMgmtStatus(), 10 * 1000);\n return () => clearInterval(timer);\n }, [setStatus, env]);\n\n return (\n <>\n <Container fluid>\n <Row>\n <Col xs lg={3}>\n <Card style={{ width: '18rem', marginTop: '16px' }}>\n <Card.Header>{t('coms.host')}</Card.Header>\n <Card.Body>\n <Card.Text as={Col}>\n {t('coms.version')}: {status?.version} <br/>\n {t('coms.stable')}: {status?.version}<br/>\n {t('coms.latest')}: <a href={t('coms.versionLink')} target='_blank' rel='noreferrer'>{status?.version}</a>\n </Card.Text>\n </Card.Body>\n </Card>\n </Col>\n </Row>\n </Container>\n </>\n );\n}\n\n","import { useEffect, useRef } from 'react';\n\nfunction NoopTransition({\n children,\n in: inProp,\n mountOnEnter,\n unmountOnExit\n}) {\n const hasEnteredRef = useRef(inProp);\n useEffect(() => {\n if (inProp) hasEnteredRef.current = true;\n }, [inProp]);\n if (inProp) return children; // not in\n //\n // if (!mountOnEnter && !unmountOnExit) {\n // return children;\n // }\n\n if (unmountOnExit) {\n return null;\n }\n\n if (!hasEnteredRef.current && mountOnEnter) {\n return null;\n }\n\n return children;\n}\n\nexport default NoopTransition;","const _excluded = [\"active\", \"eventKey\", \"mountOnEnter\", \"transition\", \"unmountOnExit\"],\n _excluded2 = [\"activeKey\", \"getControlledId\", \"getControllerId\"],\n _excluded3 = [\"as\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport TabContext from './TabContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NoopTransition from './NoopTransition';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useTabPanel(_ref) {\n let {\n active,\n eventKey,\n mountOnEnter,\n transition,\n unmountOnExit\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const context = useContext(TabContext);\n if (!context) return [props, {\n eventKey,\n isActive: active,\n mountOnEnter,\n transition,\n unmountOnExit\n }];\n\n const {\n activeKey,\n getControlledId,\n getControllerId\n } = context,\n rest = _objectWithoutPropertiesLoose(context, _excluded2);\n\n const key = makeEventKey(eventKey);\n return [Object.assign({}, props, {\n id: getControlledId(eventKey),\n 'aria-labelledby': getControllerId(eventKey)\n }), {\n eventKey,\n isActive: active == null && key != null ? makeEventKey(activeKey) === key : active,\n transition: transition || rest.transition,\n mountOnEnter: mountOnEnter != null ? mountOnEnter : rest.mountOnEnter,\n unmountOnExit: unmountOnExit != null ? unmountOnExit : rest.unmountOnExit\n }];\n}\nconst TabPanel = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(_ref2, ref) => {\n let {\n as: Component = 'div'\n } = _ref2,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded3);\n\n const [tabPanelProps, {\n isActive,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n mountOnEnter,\n unmountOnExit,\n transition: Transition = NoopTransition\n }] = useTabPanel(props); // We provide an empty the TabContext so `<Nav>`s in `<TabPanel>`s don't\n // conflict with the top level one.\n\n return /*#__PURE__*/_jsx(TabContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(Transition, {\n in: isActive,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n children: /*#__PURE__*/_jsx(Component, Object.assign({}, tabPanelProps, {\n ref: ref,\n role: \"tabpanel\",\n hidden: !isActive,\n \"aria-hidden\": !isActive\n }))\n })\n })\n });\n});\nTabPanel.displayName = 'TabPanel';\nexport default TabPanel;","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport { useSSRSafeId } from './ssr';\nimport TabContext from './TabContext';\nimport SelectableContext from './SelectableContext';\nimport TabPanel from './TabPanel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst Tabs = props => {\n const {\n id: userId,\n generateChildId: generateCustomChildId,\n onSelect: propsOnSelect,\n activeKey: propsActiveKey,\n defaultActiveKey,\n transition,\n mountOnEnter,\n unmountOnExit,\n children\n } = props;\n const [activeKey, onSelect] = useUncontrolledProp(propsActiveKey, defaultActiveKey, propsOnSelect);\n const id = useSSRSafeId(userId);\n const generateChildId = useMemo(() => generateCustomChildId || ((key, type) => id ? `${id}-${type}-${key}` : null), [id, generateCustomChildId]);\n const tabContext = useMemo(() => ({\n onSelect,\n activeKey,\n transition,\n mountOnEnter: mountOnEnter || false,\n unmountOnExit: unmountOnExit || false,\n getControlledId: key => generateChildId(key, 'tabpane'),\n getControllerId: key => generateChildId(key, 'tab')\n }), [onSelect, activeKey, transition, mountOnEnter, unmountOnExit, generateChildId]);\n return /*#__PURE__*/_jsx(TabContext.Provider, {\n value: tabContext,\n children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: onSelect || null,\n children: children\n })\n });\n};\n\nTabs.Panel = TabPanel;\nexport default Tabs;","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('tab-content');","import Fade from './Fade';\nexport default function getTabTransitionComponent(transition) {\n if (typeof transition === 'boolean') {\n return transition ? Fade : undefined;\n }\n\n return transition;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport NoopTransition from '@restart/ui/NoopTransition';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport TabContext from '@restart/ui/TabContext';\nimport { useTabPanel } from '@restart/ui/TabPanel';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabPane = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n transition,\n ...props\n}, ref) => {\n const [{\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...rest\n }, {\n isActive,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n mountOnEnter,\n unmountOnExit,\n transition: Transition = NoopTransition\n }] = useTabPanel({ ...props,\n transition: getTabTransitionComponent(transition)\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'tab-pane'); // We provide an empty the TabContext so `<Nav>`s in `<TabPanel>`s don't\n // conflict with the top level one.\n\n return /*#__PURE__*/_jsx(TabContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(Transition, {\n in: isActive,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n children: /*#__PURE__*/_jsx(Component, { ...rest,\n ref: ref,\n className: classNames(className, prefix, isActive && 'active')\n })\n })\n })\n });\n});\nTabPane.displayName = 'TabPane';\nexport default TabPane;","import * as React from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseTabs from '@restart/ui/Tabs';\nimport Nav from './Nav';\nimport NavLink from './NavLink';\nimport NavItem from './NavItem';\nimport TabContent from './TabContent';\nimport TabPane from './TabPane';\nimport { forEach, map } from './ElementChildren';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst defaultProps = {\n variant: 'tabs',\n mountOnEnter: false,\n unmountOnExit: false\n};\n\nfunction getDefaultActiveKey(children) {\n let defaultActiveKey;\n forEach(children, child => {\n if (defaultActiveKey == null) {\n defaultActiveKey = child.props.eventKey;\n }\n });\n return defaultActiveKey;\n}\n\nfunction renderTab(child) {\n const {\n title,\n eventKey,\n disabled,\n tabClassName,\n id\n } = child.props;\n\n if (title == null) {\n return null;\n }\n\n return /*#__PURE__*/_jsx(NavItem, {\n as: \"li\",\n role: \"presentation\",\n children: /*#__PURE__*/_jsx(NavLink, {\n as: \"button\",\n type: \"button\",\n eventKey: eventKey,\n disabled: disabled,\n id: id,\n className: tabClassName,\n children: title\n })\n });\n}\n\nconst Tabs = props => {\n const {\n id,\n onSelect,\n transition,\n mountOnEnter,\n unmountOnExit,\n children,\n activeKey = getDefaultActiveKey(children),\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n return /*#__PURE__*/_jsxs(BaseTabs, {\n id: id,\n activeKey: activeKey,\n onSelect: onSelect,\n transition: getTabTransitionComponent(transition),\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n children: [/*#__PURE__*/_jsx(Nav, { ...controlledProps,\n role: \"tablist\",\n as: \"ul\",\n children: map(children, renderTab)\n }), /*#__PURE__*/_jsx(TabContent, {\n children: map(children, child => {\n const childProps = { ...child.props\n };\n delete childProps.title;\n delete childProps.disabled;\n delete childProps.tabClassName;\n return /*#__PURE__*/_jsx(TabPane, { ...childProps\n });\n })\n })]\n });\n};\n\nTabs.defaultProps = defaultProps;\nTabs.displayName = 'Tabs';\nexport default Tabs;","import * as React from 'react';\nimport Tabs from '@restart/ui/Tabs';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst TabContainer = ({\n transition,\n ...props\n}) => /*#__PURE__*/_jsx(Tabs, { ...props,\n transition: getTabTransitionComponent(transition)\n});\n\nTabContainer.displayName = 'TabContainer';\nexport default TabContainer;","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport TabContainer from './TabContainer';\nimport TabContent from './TabContent';\nimport TabPane from './TabPane';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\n/* eslint-disable react/no-unused-prop-types */\nconst propTypes = {\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Content for the tab title.\n */\n title: PropTypes.node.isRequired,\n\n /**\n * The disabled state of the tab.\n */\n disabled: PropTypes.bool,\n\n /**\n * Class to pass to the underlying nav link.\n */\n tabClassName: PropTypes.string\n};\n\nconst Tab = () => {\n throw new Error('ReactBootstrap: The `Tab` component is not meant to be rendered! ' + \"It's an abstract component that is only valid as a direct Child of the `Tabs` Component. \" + 'For custom tabs components use TabPane and TabsContainer directly'); // Needed otherwise docs error out.\n\n return /*#__PURE__*/_jsx(_Fragment, {});\n};\n\nTab.propTypes = propTypes;\nexport default Object.assign(Tab, {\n Container: TabContainer,\n Content: TabContent,\n Pane: TabPane\n});","import * as React from 'react';\nexport function isAccordionItemSelected(activeEventKey, eventKey) {\n return Array.isArray(activeEventKey) ? activeEventKey.includes(eventKey) : activeEventKey === eventKey;\n}\nconst context = /*#__PURE__*/React.createContext({});\ncontext.displayName = 'AccordionContext';\nexport default context;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Collapse from './Collapse';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionCollapse = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n children,\n eventKey,\n ...props\n}, ref) => {\n const {\n activeEventKey\n } = useContext(AccordionContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-collapse');\n return /*#__PURE__*/_jsx(Collapse, {\n ref: ref,\n in: isAccordionItemSelected(activeEventKey, eventKey),\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(Component, {\n children: React.Children.only(children)\n })\n });\n});\nAccordionCollapse.displayName = 'AccordionCollapse';\nexport default AccordionCollapse;","import * as React from 'react';\nconst context = /*#__PURE__*/React.createContext({\n eventKey: ''\n});\ncontext.displayName = 'AccordionItemContext';\nexport default context;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionBody = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-body');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n return /*#__PURE__*/_jsx(AccordionCollapse, {\n eventKey: eventKey,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionBody.displayName = 'AccordionBody';\nexport default AccordionBody;","import * as React from 'react';\nimport { useContext } from 'react';\nimport classNames from 'classnames';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport AccordionItemContext from './AccordionItemContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useAccordionButton(eventKey, onClick) {\n const {\n activeEventKey,\n onSelect,\n alwaysOpen\n } = useContext(AccordionContext);\n return e => {\n /*\n Compare the event key in context with the given event key.\n If they are the same, then collapse the component.\n */\n let eventKeyPassed = eventKey === activeEventKey ? null : eventKey;\n\n if (alwaysOpen) {\n if (Array.isArray(activeEventKey)) {\n if (activeEventKey.includes(eventKey)) {\n eventKeyPassed = activeEventKey.filter(k => k !== eventKey);\n } else {\n eventKeyPassed = [...activeEventKey, eventKey];\n }\n } else {\n // activeEventKey is undefined.\n eventKeyPassed = [eventKey];\n }\n }\n\n onSelect == null ? void 0 : onSelect(eventKeyPassed, e);\n onClick == null ? void 0 : onClick(e);\n };\n}\nconst AccordionButton = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'button',\n bsPrefix,\n className,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-button');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n const accordionOnClick = useAccordionButton(eventKey, onClick);\n const {\n activeEventKey\n } = useContext(AccordionContext);\n\n if (Component === 'button') {\n props.type = 'button';\n }\n\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n onClick: accordionOnClick,\n ...props,\n \"aria-expanded\": eventKey === activeEventKey,\n className: classNames(className, bsPrefix, !isAccordionItemSelected(activeEventKey, eventKey) && 'collapsed')\n });\n});\nAccordionButton.displayName = 'AccordionButton';\nexport default AccordionButton;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionButton from './AccordionButton';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionHeader = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'h2',\n bsPrefix,\n className,\n children,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(AccordionButton, {\n onClick: onClick,\n children: children\n })\n });\n});\nAccordionHeader.displayName = 'AccordionHeader';\nexport default AccordionHeader;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionItem = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n eventKey,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-item');\n const contextValue = useMemo(() => ({\n eventKey\n }), [eventKey]);\n return /*#__PURE__*/_jsx(AccordionItemContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionItem.displayName = 'AccordionItem';\nexport default AccordionItem;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionBody from './AccordionBody';\nimport AccordionButton from './AccordionButton';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionContext from './AccordionContext';\nimport AccordionHeader from './AccordionHeader';\nimport AccordionItem from './AccordionItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Accordion = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n activeKey,\n bsPrefix,\n className,\n onSelect,\n flush,\n alwaysOpen,\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'accordion');\n const contextValue = useMemo(() => ({\n activeEventKey: activeKey,\n onSelect,\n alwaysOpen\n }), [activeKey, onSelect, alwaysOpen]);\n return /*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...controlledProps,\n className: classNames(className, prefix, flush && `${prefix}-flush`)\n })\n });\n});\nAccordion.displayName = 'Accordion';\nexport default Object.assign(Accordion, {\n Button: AccordionButton,\n Collapse: AccordionCollapse,\n Item: AccordionItem,\n Header: AccordionHeader,\n Body: AccordionBody\n});","import { useMemo, useRef } from 'react';\nimport useMounted from './useMounted';\nimport useWillUnmount from './useWillUnmount';\n/*\n * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the\n * delay as a 32-bit signed integer internally. This causes an integer overflow\n * when using delays larger than 2,147,483,647 ms (about 24.8 days),\n * resulting in the timeout being executed immediately.\n *\n * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout\n */\n\nvar MAX_DELAY_MS = Math.pow(2, 31) - 1;\n\nfunction setChainedTimeout(handleRef, fn, timeoutAtMs) {\n var delayMs = timeoutAtMs - Date.now();\n handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(function () {\n return setChainedTimeout(handleRef, fn, timeoutAtMs);\n }, MAX_DELAY_MS);\n}\n/**\n * Returns a controller object for setting a timeout that is properly cleaned up\n * once the component unmounts. New timeouts cancel and replace existing ones.\n *\n *\n *\n * ```tsx\n * const { set, clear } = useTimeout();\n * const [hello, showHello] = useState(false);\n * //Display hello after 5 seconds\n * set(() => showHello(true), 5000);\n * return (\n * <div className=\"App\">\n * {hello ? <h3>Hello</h3> : null}\n * </div>\n * );\n * ```\n */\n\n\nexport default function useTimeout() {\n var isMounted = useMounted(); // types are confused between node and web here IDK\n\n var handleRef = useRef();\n useWillUnmount(function () {\n return clearTimeout(handleRef.current);\n });\n return useMemo(function () {\n var clear = function clear() {\n return clearTimeout(handleRef.current);\n };\n\n function set(fn, delayMs) {\n if (delayMs === void 0) {\n delayMs = 0;\n }\n\n if (!isMounted()) return;\n clear();\n\n if (delayMs <= MAX_DELAY_MS) {\n // For simplicity, if the timeout is short, just set a normal timeout.\n handleRef.current = setTimeout(fn, delayMs);\n } else {\n setChainedTimeout(handleRef, fn, Date.now() + delayMs);\n }\n }\n\n return {\n set: set,\n clear: clear\n };\n }, []);\n}","import * as React from 'react';\nimport { ENTERING, EXITING } from 'react-transition-group/Transition';\nimport Fade from './Fade';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'showing',\n [EXITING]: 'showing show'\n};\nconst ToastFade = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Fade, { ...props,\n ref: ref,\n transitionClasses: fadeStyles\n}));\nToastFade.displayName = 'ToastFade';\nexport default ToastFade;","import * as React from 'react';\nconst ToastContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose() {}\n\n});\nexport default ToastContext;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CloseButton from './CloseButton';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst defaultProps = {\n closeLabel: 'Close',\n closeButton: true\n};\nconst ToastHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n closeLabel,\n closeVariant,\n closeButton,\n className,\n children,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-header');\n const context = useContext(ToastContext);\n const handleClick = useEventCallback(e => {\n context == null ? void 0 : context.onClose == null ? void 0 : context.onClose(e);\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n className: classNames(bsPrefix, className),\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick,\n \"data-dismiss\": \"toast\"\n })]\n });\n});\nToastHeader.displayName = 'ToastHeader';\nToastHeader.defaultProps = defaultProps;\nexport default ToastHeader;","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('toast-body');","import * as React from 'react';\nimport { useEffect, useMemo, useRef, useCallback } from 'react';\nimport classNames from 'classnames';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport ToastFade from './ToastFade';\nimport ToastHeader from './ToastHeader';\nimport ToastBody from './ToastBody';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Toast = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n transition: Transition = ToastFade,\n show = true,\n animation = true,\n delay = 5000,\n autohide = false,\n onClose,\n bg,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast'); // We use refs for these, because we don't want to restart the autohide\n // timer in case these values change.\n\n const delayRef = useRef(delay);\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n delayRef.current = delay;\n onCloseRef.current = onClose;\n }, [delay, onClose]);\n const autohideTimeout = useTimeout();\n const autohideToast = !!(autohide && show);\n const autohideFunc = useCallback(() => {\n if (autohideToast) {\n onCloseRef.current == null ? void 0 : onCloseRef.current();\n }\n }, [autohideToast]);\n useEffect(() => {\n // Only reset timer if show or autohide changes.\n autohideTimeout.set(autohideFunc, delayRef.current);\n }, [autohideTimeout, autohideFunc]);\n const toastContext = useMemo(() => ({\n onClose\n }), [onClose]);\n const hasAnimation = !!(Transition && animation);\n\n const toast = /*#__PURE__*/_jsx(\"div\", { ...props,\n ref: ref,\n className: classNames(bsPrefix, className, bg && `bg-${bg}`, !hasAnimation && (show ? 'show' : 'hide')),\n role: \"alert\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": \"true\"\n });\n\n return /*#__PURE__*/_jsx(ToastContext.Provider, {\n value: toastContext,\n children: hasAnimation && Transition ? /*#__PURE__*/_jsx(Transition, {\n in: show,\n unmountOnExit: true,\n children: toast\n }) : toast\n });\n});\nToast.displayName = 'Toast';\nexport default Object.assign(Toast, {\n Body: ToastBody,\n Header: ToastHeader\n});","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Play = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var color = _ref.color,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.804 8 5 4.633v6.734L10.804 8zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C4.713 12.69 4 12.345 4 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692z\"\n }));\n});\nPlay.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nPlay.defaultProps = {\n color: 'currentColor',\n size: '1em'\n};\nexport default Play;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar HandThumbsUp = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var color = _ref.color,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2.144 2.144 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a9.84 9.84 0 0 0-.443.05 9.365 9.365 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111L8.864.046zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a8.908 8.908 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.224 2.224 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.866.866 0 0 1-.121.416c-.165.288-.503.56-1.066.56z\"\n }));\n});\nHandThumbsUp.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nHandThumbsUp.defaultProps = {\n color: 'currentColor',\n size: '1em'\n};\nexport default HandThumbsUp;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Share = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var color = _ref.color,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5zm-8.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"\n }));\n});\nShare.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nShare.defaultProps = {\n color: 'currentColor',\n size: '1em'\n};\nexport default Share;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar PatchQuestion = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var color = _ref.color,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.05 9.6c.336 0 .504-.24.554-.627.04-.534.198-.815.847-1.26.673-.475 1.049-1.09 1.049-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"\n }));\n});\nPatchQuestion.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nPatchQuestion.defaultProps = {\n color: 'currentColor',\n size: '1em'\n};\nexport default PatchQuestion;","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Col, Row, Toast} from \"react-bootstrap\";\nimport logo from '../resources/logo.svg';\nimport * as Icon from 'react-bootstrap-icons';\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport Container from \"react-bootstrap/Container\";\nimport {useTranslation} from \"react-i18next\";\nimport {useSrsLanguage} from \"./LanguageSwitch\";\n\n/**\n * Fetch the video tutorials from bilibili, for example:\n * @param bilibili The ref for video id of bilibili, must be a ref to avoid duplicated loading.\n * @returns A state of tutorials.\n */\nfunction useTutorials({bilibili, medium}) {\n const language = useSrsLanguage();\n const cn = useTutorialsCn(bilibili);\n const en = useTutorialsEn(medium);\n return language === 'zh' ? cn : en;\n}\n\nfunction useTutorialsEn(mediumRef) {\n const language = useSrsLanguage();\n const [tutorials, setTutorials] = React.useState([]);\n const ref = React.useRef({tutorials:[]});\n\n const dict = React.useRef({\n '13e28adf1e18': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/transform-your-browser-into-a-personal-voice-driven-gpt-ai-assistant-with-srs-stack-13e28adf1e18',\n title: 'Speak to the Future: Transform Your Browser into a Personal Voice-Driven GPT AI Assistant with SRS Stack'\n },\n 'b3011e390e38': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/unlock-universal-ultra-low-latency-achieving-5-second-hls-live-streams-for-all-no-special-gear-b3011e390e38',\n title: 'Unlock Universal Ultra-Low Latency: Achieving 5-Second HLS Live Streams for All, No Special Equipment Needed'\n },\n 'bb19c2a3bb7a': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/effortlessly-create-a-public-internet-whip-service-for-obs-a-guide-for-sub-second-streaming-bb19c2a3bb7a',\n title: 'Effortlessly Create a Public Internet WHIP Service for OBS: A Comprehensive Guide to Sub-Second Streaming'\n },\n '68PIGFDGihU': {\n author: 'Mr Bao',\n link: 'https://youtu.be/68PIGFDGihU',\n title: 'Live Stream: Simple, Budget-Friendly, No PC Needed! Ideal for Calm Media, Sleep Tunes, ASMR, Film Streaming, etc.'\n },\n 'NBsdqUfKoOk': {\n author: 'Mr Bao',\n link: 'https://youtu.be/NBsdqUfKoOk',\n title: 'AI-Talk allows you to talk with OpenAI GPT.'\n },\n 'nNOBFRshO6Q': {\n author: 'Mr Bao',\n link: 'https://youtu.be/nNOBFRshO6Q',\n title: '24/7 Live Stream: Easy Stream Your Camera to YouTube with DDNS & VPS - No PC or OBS Required!'\n },\n '1e902ab856bd': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/revolutionizing-live-streams-with-ai-transcription-creating-accessible-multilingual-subtitles-1e902ab856bd',\n title: 'Revolutionizing Live Streams with AI Transcription: Creating Accessible, Multilingual Subtitles for Diverse Audiences'\n },\n '39bd001af02d': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/efficient-live-streaming-transcoding-for-reducing-bandwidth-and-saving-costs-39bd001af02d',\n title: 'Efficient Live Streaming Transcoding for Reducing Bandwidth and Saving Costs'\n },\n 'c078db917149': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/easily-stream-your-rtsp-ip-camera-to-youtube-twitch-or-facebook-c078db917149',\n title: 'Easily Stream Your RTSP IP Camera to YouTube, Twitch, or Facebook'\n },\n 'ba1895828b4f': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/virtual-live-events-revolutionizing-the-way-we-experience-entertainment-ba1895828b4f',\n title: 'Mastering Virtual Live Events: Harness the Power of Pre-Recorded Content for Seamless and Engaging Live Streaming Experiences'\n },\n '2aa792c35b25': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/how-to-record-live-streaming-to-mp4-file-2aa792c35b25',\n title: 'Effortless Live Stream Recording with SRS Stack: A Step-by-Step Guide to Server-Side Recording and AWS S3 Integration'\n },\n '9748ae754c8c': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/how-to-setup-a-video-streaming-service-by-aapanel-9748ae754c8c',\n title: 'How to Setup a Video Streaming Service with aaPanel'\n },\n '38be22beec57': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/maximize-your-live-streaming-reach-a-guide-to-multi-platform-streaming-38be22beec57',\n title: 'Maximize Audience Engagement: Effortlessly Restream Live Content Across Multiple Platforms with SRS Stack'\n },\n 'e9fe6f314ac6': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/how-to-setup-a-video-streaming-service-by-1-click-e9fe6f314ac6',\n title: 'How to Setup a Video Streaming Service by 1-Click',\n },\n 'cb618777639f': {\n author: 'Winlin Yang',\n link: 'https://blog.ossrs.io/how-to-secure-srs-with-lets-encrypt-by-1-click-cb618777639f',\n title: 'How to Secure SRS Stack with Let’s Encrypt by 1-Click',\n },\n 'ec18dfae7d6f': {\n author: 'Roboin',\n link: 'https://blog.ossrs.io/publish-your-srs-livestream-through-wordpress-ec18dfae7d6f',\n title: 'How to Publish Your SRS Livestream Through WordPress',\n },\n });\n\n const bvids = mediumRef?.current;\n React.useEffect(() => {\n if (!bvids || !bvids.length) return;\n if (language !== 'en') return;\n bvids.map(tutorial => {\n const obj = dict.current[tutorial.id];\n ref.current.tutorials.push({\n media: obj?.link?.indexOf('youtu.be') > 0 ? 'YouTube' : 'Medium',\n ...obj,\n });\n setTutorials([...ref.current.tutorials]);\n return null;\n });\n }, [bvids, language]);\n\n return tutorials;\n}\n\nfunction useTutorialsCn(bvidsRef) {\n const language = useSrsLanguage();\n const [tutorials, setTutorials] = React.useState([]);\n const ref = React.useRef({tutorials:[]});\n\n const bvids = bvidsRef.current;\n React.useEffect(() => {\n if (!bvids || !bvids.length) return;\n if (language !== 'zh') return;\n\n // Allow cancel up the requests.\n const source = axios.CancelToken.source();\n\n bvids.map(tutorial => {\n tutorial.link = `https://www.bilibili.com/video/${tutorial.id}`;\n\n axios.post(`/terraform/v1/mgmt/bilibili`, {\n bvid: tutorial.id,\n }, {\n headers: Token.loadBearerHeader(),\n cancelToken: source.token,\n }).then(res => {\n const data = res.data.data;\n tutorial.media = 'Bilibili';\n tutorial.title = data.title;\n tutorial.desc = data.desc;\n tutorial.view = parseInt(data.stat.view);\n tutorial.like = parseInt(data.stat.like);\n tutorial.share = parseInt(data.stat.share);\n // Order by view desc.\n ref.current.tutorials.push(tutorial);\n setTutorials([...ref.current.tutorials].sort((a, b) => b.view - a.view));\n }).catch((e) => {\n if (axios.isCancel(e)) return;\n throw e;\n });\n return null;\n });\n\n return () => {\n // When cleanup, cancel all requests to avoid update the unmounted components, like error message as:\n // Can't perform a React state update on an unmounted component.\n // This is a no-op, but it indicates a memory leak in your application.\n source.cancel();\n };\n }, [bvids, language]);\n\n return tutorials;\n}\n\n// A toast list for tutorials.\nfunction TutorialsToast({tutorials, onClose}) {\n const {t} = useTranslation();\n\n return (<>\n <Container fluid>\n <Row>\n {tutorials.map((tutorial, index) => (\n <Col key={index} sm={3}>\n <Toast onClose={onClose}>\n <Toast.Header>\n <img src={logo} className=\"rounded me-2\" width={56} alt=''/>\n <strong className=\"me-auto\">{tutorial.media}</strong>\n {tutorial.view && <> <span title={t('tutorials.view')}><Icon.Play /> {tutorial.view}</span> </>}\n {tutorial.like && <> <span title={t('tutorials.like')}><Icon.HandThumbsUp /> {tutorial.like}</span> </>}\n {tutorial.share && <> <span title={t('tutorials.share')}><Icon.Share /> {tutorial.share}</span> </>}\n <small>by {tutorial.author}</small>\n </Toast.Header>\n <Toast.Body>\n <a href={tutorial.link} target='_blank' rel='noreferrer'>\n {tutorial.title}\n </a>\n </Toast.Body>\n </Toast>\n <p></p>\n </Col>\n ))}\n </Row>\n </Container>\n </>);\n}\n\n// The tutorials button, the props tutorials is a array, create by useTutorials.\nfunction TutorialsButton({tutorials, prefixLine}) {\n const [show, setShow] = React.useState(false);\n\n return (\n <>\n <div role='button' style={{display: 'inline-block'}}>\n <Icon.PatchQuestion onClick={() => setShow(!show)} />\n </div>\n {show && prefixLine && <p></p>}\n {show &&\n <TutorialsToast\n prefixLine={prefixLine}\n tutorials={tutorials}\n onClose={() => setShow(false)}\n />\n }\n </>\n );\n}\n\nexport {useTutorials, TutorialsButton, TutorialsToast};\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport QRCode from \"react-qr-code\";\n\nexport default function SrsQRCode({url}) {\n if (!url) return <></>;\n return (\n <QRCode value={url} data-testid='qrCode' size={200} fgColor=\"#661111\" />\n );\n}\n\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Clipboard = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var color = _ref.color,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"\n }));\n});\nClipboard.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nClipboard.defaultProps = {\n color: 'currentColor',\n size: '1em'\n};\nexport default Clipboard;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar ArrowRepeat = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var color = _ref.color,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5.002 5.002 0 0 0 8 3zM3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9H3.1z\"\n }));\n});\nArrowRepeat.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nArrowRepeat.defaultProps = {\n color: 'currentColor',\n size: '1em'\n};\nexport default ArrowRepeat;","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Accordion} from \"react-bootstrap\";\nimport {TutorialsButton, useTutorials} from \"../components/TutorialsButton\";\nimport SrsQRCode from \"../components/SrsQRCode\";\nimport * as Icon from 'react-bootstrap-icons';\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport {Clipboard} from \"../utils\";\nimport {useTranslation} from \"react-i18next\";\nimport {useSearchParams} from \"react-router-dom\";\nimport {SrsEnvContext} from \"../components/SrsEnvContext\";\n\nexport default function ScenarioLiveStreams({urls}) {\n const [searchParams] = useSearchParams();\n const {t} = useTranslation();\n const copyToClipboard = React.useCallback((e, text) => {\n e.preventDefault();\n\n Clipboard.copy(text).then(() => {\n alert(t('helper.copyOk'));\n }).catch((err) => {\n alert(`${t('helper.copyFail')} ${err}`);\n });\n }, [t]);\n\n React.useEffect(() => {\n console.log(`?allow-lo-rtc=true To allow publish WHIP by localhost. Default: false, Current: ${searchParams.get('allow-lo-rtc')}`);\n }, [searchParams]);\n\n return <ScenarioLiveImpl {...{urls, copyToClipboard}} />;\n}\n\nfunction ScenarioLiveImpl({copyToClipboard, urls}) {\n const language = useSrsLanguage();\n const [searchParams] = useSearchParams();\n const {t} = useTranslation();\n const {\n flvPlayer, rtmpServer, flvUrl, rtmpStreamKey, hlsPlayer, m3u8Url, rtcUrl, rtcPlayer, cnConsole, enConsole, rtcPublisher,\n srtPublishUrl, srtPlayUrl, rtcPublishUrl, updateStreamName, whipUrl, whepUrl,\n } = urls;\n const env = React.useContext(SrsEnvContext)[0];\n\n const rtmpPublishUrl = `${rtmpServer}${rtmpStreamKey}`;\n const xgFlvPlayerUrl = flvPlayer?.replace('player.html', 'xgplayer.html');\n const xgHlsPlayerUrl = hlsPlayer?.replace('player.html', 'xgplayer.html');\n const ffmpegPublishCli = `ffmpeg -re -i ~/git/srs/trunk/doc/source.flv -c copy -f flv ${rtmpPublishUrl}`;\n const ffmpegSrtCli = `ffmpeg -re -i ~/git/srs/trunk/doc/source.flv -c copy -pes_payload_size 0 -f mpegts '${srtPublishUrl}'`;\n const ffplayWindows = `ffplay -fflags nobuffer -flags low_delay -i \"${srtPlayUrl}\"`;\n const ffplayMac = `ffplay -fflags nobuffer -flags low_delay -i '${srtPlayUrl}'`;\n\n // Shortcodes of WordPress.\n const flvUrlShortCode = `[srs_player url=\"${flvUrl}\"]`;\n const m3u8UrlShortCode = `[srs_player url=\"${m3u8Url}\"]`;\n const rtcUrlShortCode = `[srs_player url=\"${rtcUrl}\"]`;\n const rtc2UrlShortCode = `[srs_publisher url=\"${rtcPublishUrl}\"]`;\n\n const movieTutorials = useTutorials({\n bilibili: React.useRef([\n {author: '徐光磊', id: 'BV1RS4y1G7tb'},\n {author: 'SRS', id: 'BV1Nb4y1t7ij'},\n {author: '王大江', id: 'BV16r4y1q7ZT'},\n {author: '周亮', id: 'BV1gT4y1U76d'},\n ])\n });\n\n // Whether the hostname is localhost.\n const isLo = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1';\n // Whether the protocol is https.\n const isHttps = window.location.protocol === 'https:';\n // If set candidate or not in docker, we are able to discover the IP even access by localhost.\n const hasCandidate = !env.platformDocker || env.candidate;\n // For test only, allow publish WHIP by localhost even no candidate.\n const allowLoRtc = searchParams.get('allow-lo-rtc') === 'true';\n\n // Whether WHEP is available.\n const enableWhep = !isLo || hasCandidate || allowLoRtc;\n // Whether WHIP is available.\n const enableWhip = isHttps || (isLo && hasCandidate) || allowLoRtc;\n // Whether WHIP is disabled for HTTPS.\n const disableWhip4Https = !allowLoRtc && !isLo && !isHttps;\n // Whether WHIP is disabled for localhost.\n const disableWhip4Lo = !allowLoRtc && isLo && !hasCandidate;\n\n return (\n <Accordion defaultActiveKey=\"1\">\n <React.Fragment>\n {\n language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 推拉直播流<TutorialsButton prefixLine={true} tutorials={movieTutorials} />,公网可以直接使用的直播间,带鉴权只有自己能推流。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>一起看电影,异地恋的情侣,或者三五个好朋友,一起看看自己喜欢的电影</li>\n <li>远程制作和导播,户外直播用手机或摄像头推流到SRS Stack,用OBS/vMix/芯象制作后再播出,编辑不用在直播现场</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>推流一般OBS比较好操作,也可以选择FFmpeg或WebRTC</li>\n <li>播放可以直接复制播放链接,使用Chrome浏览器观看,也可以选择VLC播放流地址</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <div>\n Private live streaming room, a live streaming room that can be used directly on the public network, with authentication so that only you can push the stream.\n <p></p>\n </div>\n <p>Specific application scenarios include:</p>\n <ul>\n <li>Watching movies together, long-distance couples, or a few good friends, watching your favorite movies together</li>\n <li>Remote production and directing, outdoor live streaming using mobile phones or cameras to push the stream to SRS Stack, then broadcast after production with OBS/vMix, editors don't need to be at the live scene</li>\n </ul>\n <p>Usage instructions:</p>\n <ul>\n <li>For pushing the stream, OBS is generally easier to operate, but you can also choose FFmpeg or WebRTC</li>\n <li>For playback, you can directly copy the playback link and watch it using the Chrome browser, or you can choose VLC to play the stream address</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n }\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('live.obs.title')}</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>{t('live.share.step')}</strong></p>\n {language === 'zh' && <TutorialsButton prefixLine={false} tutorials={movieTutorials}/>}\n </div>\n <ol>\n <li>{t('live.share.fw')} <code>TCP/1935</code></li>\n <li>{t('live.obs.download')} <a href='https://obsproject.com/download' target='_blank' rel='noreferrer'>{t('helper.link')}</a></li>\n <li>\n {t('live.obs.config')}:\n <ul>\n <li>{t('live.obs.service')} <code>{t('live.obs.custom')}</code></li>\n <li>\n {t('live.obs.server')} <code>{rtmpServer}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtmpServer)} />\n </div>\n </li>\n <li>\n {t('live.obs.key')} <code>{rtmpStreamKey}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.switchStream')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtmpStreamKey)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.title')}\n <ul>\n <li>\n {t('live.share.flv')} \n <a href={flvPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgFlvPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgHlsPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n {enableWhep || <li><code>{t('live.rtc.whep')}</code></li>}\n {enableWhep &&\n <li>\n {t('live.share.rtc')} \n <a href={rtcPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a> \n <code>{whepUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whepUrl)} />\n </div>\n </li>\n }\n </ul>\n </li>\n <li>\n {t('live.share.wp')} \n <ul>\n <li>\n {t('live.share.wpflv')} \n <code>{flvUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wphls')} \n <code>{m3u8UrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8UrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wprtc')} \n <code>{rtcUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtcUrlShortCode)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.console')} \n <a id=\"console\" href={language === 'zh' ? cnConsole : enConsole}>{t('helper.link')}</a>\n </li>\n </ol>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('live.ffmpeg.title')}</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>{t('live.share.step')}</strong></p>\n {language === 'zh' && <TutorialsButton prefixLine={false} tutorials={movieTutorials} />}\n </div>\n <ol>\n <li>{t('live.share.fw')} <code>TCP/1935</code></li>\n <li>{t('live.ffmpeg.download')} <a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>{t('helper.link')}</a></li>\n <li>\n {t('live.ffmpeg.cli')} <br/>\n <code>{ffmpegPublishCli}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffmpegPublishCli)} />\n </div>\n </li>\n <li>\n {t('live.ffmpeg.url')} <br/>\n <code>{rtmpPublishUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtmpPublishUrl)} />\n </div>\n <br/>\n {language === 'zh' && <SrsQRCode url={rtmpPublishUrl} />}\n </li>\n <li>\n {t('live.share.title')}\n <ul>\n <li>\n {t('live.share.flv')} \n <a href={flvPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgFlvPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgHlsPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n {enableWhep || <li><code>{t('live.rtc.whep')}</code></li>}\n {enableWhep &&\n <li>\n {t('live.share.rtc')} \n <a href={rtcPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a> \n <code>{whepUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whepUrl)} />\n </div>\n </li>\n }\n </ul>\n </li>\n <li>\n {t('live.share.wp')} \n <ul>\n <li>\n {t('live.share.wpflv')} \n <code>{flvUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wphls')} \n <code>{m3u8UrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8UrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wprtc')} \n <code>{rtcUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtcUrlShortCode)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.console')} \n <a id=\"console\" href={language === 'zh' ? cnConsole : enConsole}>{t('helper.link')}</a>\n </li>\n </ol>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{t('live.srt.title')}</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>{t('live.share.step')}</strong></p>\n {language === 'zh' && <TutorialsButton prefixLine={false} tutorials={movieTutorials} />}\n </div>\n <ol>\n <li>{t('live.share.fw')} <code>UDP/10080</code></li>\n <li>{t('live.obs.download')} <a href='https://obsproject.com/download' target='_blank' rel='noreferrer'>{t('helper.link')}</a></li>\n <li>\n {t('live.obs.config')}. \n {t('helper.see')} <a href='https://github.com/ossrs/srs/issues/1147#lagging-encoder'>{t('helper.link')}</a>:\n <ul>\n <li>{t('live.obs.service')} <code>{t('live.obs.custom')}</code></li>\n <li>\n {t('live.obs.server')} <code>{srtPublishUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishUrl)} />\n </div>\n </li>\n <li>{t('live.obs.key')} <code>{t('live.obs.nokey')}</code></li>\n </ul>\n </li>\n <li>\n {t('live.share.title')}\n <ul>\n <li>\n {t('live.srt.url')} <br/><code>{srtPlayUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPlayUrl)} />\n </div>\n </li>\n <li>\n {t('live.srt.ffplay')} \n <a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>{t('helper.link')}</a>\n </li>\n <li>\n {t('live.srt.win')}<br/>\n <code>{ffplayWindows}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayWindows)} />\n </div>\n </li>\n <li>\n {t('live.srt.mac')}<br/>\n <code>{ffplayMac}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayMac)} />\n </div>\n </li>\n <li>{t('live.srt.wait')}</li>\n <li>\n {t('live.srt.wait2')}<br/>\n <ul>\n <li>\n {t('live.share.flv')} \n <a href={flvPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgFlvPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgHlsPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n {enableWhep || <li><code>{t('live.rtc.whep')}</code></li>}\n {enableWhep &&\n <li>\n {t('live.share.rtc')} \n <a href={rtcPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a> \n <code>{whepUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whepUrl)} />\n </div>\n </li>\n }\n </ul>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.wp')} \n <ul>\n <li>\n {t('live.share.wpflv')} \n <code>{flvUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wphls')} \n <code>{m3u8UrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8UrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wprtc')} \n <code>{rtcUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtcUrlShortCode)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.console')} \n <a id=\"console\" href={language === 'zh' ? cnConsole : enConsole}>{t('helper.link')}</a>\n </li>\n </ol>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"4\">\n <Accordion.Header>{t('live.srt.ff')}</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>{t('live.share.step')}</strong></p>\n {language === 'zh' && <TutorialsButton prefixLine={false} tutorials={movieTutorials} />}\n </div>\n <ol>\n <li>{t('live.share.fw')} <code>UDP/10080</code></li>\n <li>{t('live.ffmpeg.download')} <a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>{t('helper.link')}</a></li>\n <li>\n {t('live.ffmpeg.cli')} <br/>\n <code>{ffmpegSrtCli}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffmpegSrtCli)} />\n </div>\n </li>\n <li>\n {t('live.ffmpeg.url')} <br/>\n <code>{srtPublishUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishUrl)} />\n </div>\n <br/>\n {language === 'zh' && <SrsQRCode url={srtPublishUrl} />}\n </li>\n <li>\n {t('live.share.title')}\n <ul>\n <li>\n {t('live.srt.url')} <br/><code>{srtPlayUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPlayUrl)} />\n </div>\n </li>\n <li>\n {t('live.srt.ffplay')} \n <a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>{t('helper.link')}</a>\n </li>\n <li>\n {t('live.srt.win')}<br/>\n <code>{ffplayWindows}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayWindows)} />\n </div>\n </li>\n <li>\n {t('live.srt.mac')}<br/>\n <code>{ffplayMac}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayMac)} />\n </div>\n </li>\n <li>{t('live.srt.wait')}</li>\n <li>\n {t('live.srt.wait2')}<br/>\n <ul>\n <li>\n {t('live.share.flv')} \n <a href={flvPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgFlvPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgHlsPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n {enableWhep || <li><code>{t('live.rtc.whep')}</code></li>}\n {enableWhep &&\n <li>\n {t('live.share.rtc')} \n <a href={rtcPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a> \n <code>{whepUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whepUrl)} />\n </div>\n </li>\n }\n </ul>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.wp')} \n <ul>\n <li>\n {t('live.share.wpflv')} \n <code>{flvUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wphls')} \n <code>{m3u8UrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8UrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wprtc')} \n <code>{rtcUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtcUrlShortCode)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.console')} \n <a id=\"console\" href={language === 'zh' ? cnConsole : enConsole}>{t('helper.link')}</a>\n </li>\n </ol>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"5\">\n <Accordion.Header>{t('live.rtc.title')}</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>{t('live.share.step')}</strong></p>\n {language === 'zh' && <TutorialsButton prefixLine={false} tutorials={movieTutorials} />}\n </div>\n <ol>\n <li>{t('live.share.fw')} <code>UDP/8000</code>, {t('live.rtc.check')} <a href={t('live.rtc.connectivity')} target='_blank' rel='noreferrer'>{t('helper.link')}</a></li>\n {disableWhip4Https &&\n <li><code>{t('live.rtc.https')}</code></li>\n }\n {disableWhip4Lo &&\n <li><code>{t('live.rtc.nolo')}</code></li>\n }\n {enableWhip && <React.Fragment>\n <li>\n {t('live.rtc.tip')} <a href={rtcPublisher} target='_blank' rel='noreferrer'>{whipUrl}</a> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whipUrl)} />\n </div>\n <br/>\n <code>{t('live.rtc.tip2')}</code>\n </li>\n <li>\n {t('live.rtc.wp')}\n <ul>\n <li>\n {t('live.rtc.sc')} \n <code>{rtc2UrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtc2UrlShortCode)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.title')}\n <ul>\n <li>\n {t('live.share.flv')} \n <a href={flvPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgFlvPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgHlsPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n {enableWhep || <li><code>{t('live.rtc.whep')}</code></li>}\n {enableWhep &&\n <li>\n {t('live.share.rtc')} \n <a href={rtcPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a> \n <code>{whepUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whepUrl)} />\n </div>\n </li>\n }\n </ul>\n </li>\n <li>\n {t('live.share.wp')} \n <ul>\n <li>\n {t('live.share.wpflv')} \n <code>{flvUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wphls')} \n <code>{m3u8UrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8UrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wprtc')} \n <code>{rtcUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtcUrlShortCode)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.console')} \n <a id=\"console\" href={language === 'zh' ? cnConsole : enConsole}>{t('helper.link')}</a>\n </li>\n </React.Fragment>}\n </ol>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"6\">\n <Accordion.Header>{t('live.rtc2.title')}</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>{t('live.share.step')}</strong></p>\n {language === 'zh' && <TutorialsButton prefixLine={false} tutorials={movieTutorials} />}\n </div>\n <ol>\n <li>{t('live.share.fw')} <code>UDP/8000</code>, {t('live.rtc.check')} <a href={t('live.rtc.connectivity')} target='_blank' rel='noreferrer'>{t('helper.link')}</a></li>\n <li>{t('live.obs.download')} <a href='https://github.com/obsproject/obs-studio/releases' target='_blank' rel='noreferrer'>{t('helper.link')}</a> (OBS 30+)</li>\n <li>\n {t('live.obs.config')}:\n <ul>\n <li>{t('live.obs.service')} <code>{t('live.obs.whip')}</code></li>\n <li>\n {t('live.obs.server')} <code>{whipUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whipUrl)} />\n </div>\n </li>\n <li>{t('live.obs.bearer')} <code>{t('live.obs.nokey')}</code></li>\n </ul>\n </li>\n <li>\n {t('live.share.title')}\n <ul>\n <li>\n {t('live.share.flv')} \n <a href={flvPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgFlvPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <a href={xgHlsPlayerUrl} target='_blank' rel='noreferrer'>{t('live.share.xg')}</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n {enableWhep || <li><code>{t('live.rtc.whep')}</code></li>}\n {enableWhep &&\n <li>\n {t('live.share.rtc')} \n <a href={rtcPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a> \n <code>{whepUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, whepUrl)} />\n </div>\n </li>\n }\n </ul>\n </li>\n <li>\n {t('live.share.wp')} \n <ul>\n <li>\n {t('live.share.wpflv')} \n <code>{flvUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wphls')} \n <code>{m3u8UrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8UrlShortCode)} />\n </div>\n </li>\n <li>\n {t('live.share.wprtc')} \n <code>{rtcUrlShortCode}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtcUrlShortCode)} />\n </div>\n </li>\n </ul>\n </li>\n <li>\n {t('live.share.console')} \n <a id=\"console\" href={language === 'zh' ? cnConsole : enConsole}>{t('helper.link')}</a>\n </li>\n </ol>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Token, StreamName} from \"../utils\";\nimport axios from \"axios\";\nimport {useTranslation} from \"react-i18next\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {SrsEnvContext} from \"./SrsEnvContext\";\n\nexport function buildUrls(defaultUrl, secret, env) {\n if (!defaultUrl) defaultUrl = `live/livestream`;\n if (defaultUrl.indexOf('://') > 0) {\n const a0 = document.createElement(\"a\");\n a0.href = defaultUrl.replace('rtmp:', 'http:');\n defaultUrl = a0.pathname.substring(1);\n }\n\n // Parse the default url to vhost, app, and stream.\n // @see: http://stackoverflow.com/questions/10469575/how-to-use-location-object-to-parse-url-without-redirecting-the-page-in-javascri\n const a = document.createElement(\"a\");\n a.href = `${window.location.protocol}//${window.location.host}/${defaultUrl}`;\n\n const defaultSchema = a.protocol.replace(':', '');\n const defaultHostname = a.hostname;\n const defaultPort = a.port || (a.protocol === 'http:' ? '80' : '443');\n const defaultApp = a.pathname.substring(1, a.pathname.lastIndexOf(\"/\"));\n const defaultStream = a.pathname.slice(a.pathname.lastIndexOf(\"/\") + 1);\n const isDefaultPort = (port) => {\n return !port || port === '1935' || port === '80' || port === '443';\n };\n\n const urls = {};\n\n // Build RTMP url.\n if (true) {\n const rtmpPort = isDefaultPort(env.rtmpPort) ? '' : `:${env.rtmpPort}`;\n urls.rtmpServer = `rtmp://${defaultHostname}${rtmpPort}/${defaultApp}/`;\n urls.rtmpStreamKey = secret ? `${defaultStream}?secret=${secret.publish}` : defaultStream;\n }\n\n // Build SRT url.\n if (true) {\n const secretQuery = secret ? `?secret=${secret.publish}` : '';\n const srtPort = env.srtPort ? `:${env.srtPort}` : '';\n urls.srtPublishUrl = `srt://${defaultHostname}${srtPort}?streamid=#!::r=${defaultApp}/${defaultStream}${secretQuery},m=publish`;\n urls.srtPlayUrl = `srt://${defaultHostname}${srtPort}?streamid=#!::r=${defaultApp}/${defaultStream},latency=20,m=request`;\n }\n\n // Build console url.\n if (true) {\n const httpPort = env.httpPort ? env.httpPort : defaultPort;\n urls.cnConsole = `/console/ng_index.html#/summaries?port=${httpPort}&http=${httpPort}`;\n urls.enConsole = `/console/en_index.html#/summaries?port=${httpPort}&http=${httpPort}`;\n }\n\n // The player url.\n if (true) {\n const secretQuery = secret ? `?secret=${secret.publish}` : '';\n const schema = defaultSchema;\n const httpPort = env.httpPort ? env.httpPort : defaultPort;\n const httpUrlPort = isDefaultPort(httpPort) ? '' : `:${httpPort}`;\n urls.flvUrl = `${schema}://${defaultHostname}${httpUrlPort}/${defaultApp}/${defaultStream}.flv`;\n urls.m3u8Url = `${schema}://${defaultHostname}${httpUrlPort}/${defaultApp}/${defaultStream}.m3u8`;\n urls.rtcUrl = `webrtc://${defaultHostname}${httpUrlPort}/${defaultApp}/${defaultStream}`;\n urls.rtcPublishUrl = `webrtc://${defaultHostname}${httpUrlPort}/${defaultApp}/${defaultStream}${secretQuery}`;\n // /tools/player.html?url=http://localhost:3000/live/livestream.m3u8\n urls.flvPlayer = `/tools/player.html?url=${schema}://${defaultHostname}${httpUrlPort}/${defaultApp}/${defaultStream}.flv`;\n urls.hlsPlayer = `/tools/player.html?url=${schema}://${defaultHostname}${httpUrlPort}/${defaultApp}/${defaultStream}.m3u8`;\n urls.rtcPlayer = `/players/whep.html?schema=${schema}&port=${httpPort}&api=${httpPort}&autostart=true&stream=${defaultStream}`;\n }\n\n // For WebRTC url.\n if (true) {\n const secretQuery = secret ? `&secret=${secret.publish}` : '';\n const httpPort = env.httpPort ? env.httpPort : defaultPort;\n const httpUrlPort = isDefaultPort(httpPort) ? '' : `:${httpPort}`;\n urls.rtcPublisher = `/players/whip.html?schema=https&port=${httpPort}&api=${httpPort}&autostart=true&stream=${defaultStream}${secretQuery}`;\n urls.whipUrl = `${defaultSchema}://${defaultHostname}${httpUrlPort}/rtc/v1/whip/?app=${defaultApp}&stream=${defaultStream}${secretQuery}`;\n urls.whepUrl = `${defaultSchema}://${defaultHostname}${httpUrlPort}/rtc/v1/whep/?app=${defaultApp}&stream=${defaultStream}`;\n }\n\n // For transcode stream and urls.\n if (true) {\n const transcodeStreamName = `${defaultStream}-trans`;\n urls.transcodeStreamName = transcodeStreamName;\n urls.transcodeStreamKey = secret ? `${transcodeStreamName}?secret=${secret.publish}` : transcodeStreamName;\n const schema = defaultSchema;\n const httpPort = env.httpPort ? env.httpPort : defaultPort;\n const httpUrlPort = isDefaultPort(httpPort) ? '' : `:${httpPort}`;\n urls.transcodeFlvPlayer = `/tools/player.html?url=${schema}://${defaultHostname}${httpUrlPort}/${defaultApp}/${transcodeStreamName}.flv`;\n }\n\n return urls;\n}\n\nexport default function useUrls() {\n const [rtmpServer, setRtmpServer] = React.useState();\n const [rtmpStreamName, setRtmpStreamName] = React.useState(StreamName.load());\n const [rtmpStreamKey, setRtmpStreamKey] = React.useState();\n const [srtPublishUrl, setSrtPublishUrl] = React.useState();\n const [srtPlayUrl, setSrtPlayUrl] = React.useState();\n const [flvUrl, setFlvUrl] = React.useState();\n const [m3u8Url, setM3u8Url] = React.useState();\n const [rtcUrl, setRtcUrl] = React.useState();\n const [rtcPublishUrl, setRtcPublishUrl] = React.useState();\n const [cnConsole, setCnConsole] = React.useState();\n const [enConsole, setEnConsole] = React.useState();\n const [flvPlayer, setFlvPlayer] = React.useState();\n const [hlsPlayer, setHlsPlayer] = React.useState();\n const [rtcPlayer, setRtcPlayer] = React.useState();\n const [rtcPublisher, setRtcPublisher] = React.useState();\n const [whipUrl, setWhipUrl] = React.useState();\n const [whepUrl, setWhepUrl] = React.useState();\n\n const [transcodeStreamName, setTranscodeStreamName] = React.useState();\n const [transcodeStreamKey, setTranscodeStreamKey] = React.useState();\n const [transcodeFlvPlayer, setTranscodeFlvPlayer] = React.useState();\n\n // Whether urls are ready.\n const [ready, setReady] = React.useState(false);\n\n const [loading, setLoading] = React.useState(true);\n const [secret, setSecret] = React.useState();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const env = React.useContext(SrsEnvContext)[0];\n\n const updateStreamName = React.useCallback(() => {\n const name = Math.random().toString(16).slice(-6).split('').map(e => {\n return (e >= '0' && e <= '9') ? String.fromCharCode('a'.charCodeAt(0) + (parseInt(Math.random() * 16 + e) % 25)) : e;\n }).join('');\n StreamName.save(name);\n setRtmpStreamName(name);\n alert(t('helper.changeStream'));\n }, [t, setRtmpStreamName]);\n\n React.useEffect(() => {\n axios.post('/terraform/v1/hooks/srs/secret/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const secret = res.data.data;\n setSecret(secret);\n console.log(`Status: Query ok, secret=${JSON.stringify(res.data.data)}`);\n }).catch(handleError).finally(() => {\n setLoading(false);\n });\n }, [handleError, setSecret, setLoading]);\n\n React.useEffect(() => {\n // Ignore if not loaded the secret.\n if (loading) return;\n\n const urls = buildUrls(`live/${rtmpStreamName}`, secret, env);\n\n // Build RTMP url.\n if (true) {\n setRtmpServer(urls.rtmpServer);\n setRtmpStreamKey(urls.rtmpStreamKey);\n }\n\n // Build SRT url.\n if (true) {\n setSrtPublishUrl(urls.srtPublishUrl);\n setSrtPlayUrl(urls.srtPlayUrl);\n }\n\n // Build console url.\n if (true) {\n setCnConsole(urls.cnConsole);\n setEnConsole(urls.enConsole);\n }\n\n // The player url.\n if (true) {\n setFlvUrl(urls.flvUrl);\n setM3u8Url(urls.m3u8Url);\n setRtcUrl(urls.rtcUrl);\n setRtcPublishUrl(urls.rtcPublishUrl);\n // /tools/player.html?url=http://localhost:3000/live/livestream.m3u8\n setFlvPlayer(urls.flvPlayer);\n setHlsPlayer(urls.hlsPlayer);\n setRtcPlayer(urls.rtcPlayer);\n }\n\n // For WebRTC url.\n if (true) {\n setRtcPublisher(urls.rtcPublisher);\n setWhipUrl(urls.whipUrl);\n setWhepUrl(urls.whepUrl);\n }\n\n // For transcode stream and urls.\n if (true) {\n setTranscodeStreamName(urls.transcodeStreamName);\n setTranscodeStreamKey(urls.transcodeStreamKey);\n setTranscodeFlvPlayer(urls.transcodeFlvPlayer);\n }\n\n setReady(true);\n }, [loading, secret, rtmpStreamName, env, setReady])\n\n return {\n ready,\n // For basic stream.\n rtmpServer,\n rtmpStreamName,\n rtmpStreamKey,\n secret,\n // Basic URLs.\n srtPublishUrl,\n srtPlayUrl,\n flvUrl,\n m3u8Url,\n rtcUrl,\n rtcPublishUrl,\n // Web URLs.\n cnConsole,\n enConsole,\n flvPlayer,\n hlsPlayer,\n rtcPlayer,\n rtcPublisher,\n whipUrl,\n whepUrl,\n // For transcode.\n transcodeStreamName,\n transcodeStreamKey,\n transcodeFlvPlayer,\n // For update stream name.\n updateStreamName,\n };\n}\n\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Table = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n striped,\n bordered,\n borderless,\n hover,\n size,\n variant,\n responsive,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'table');\n const classes = classNames(className, decoratedBsPrefix, variant && `${decoratedBsPrefix}-${variant}`, size && `${decoratedBsPrefix}-${size}`, striped && `${decoratedBsPrefix}-striped`, bordered && `${decoratedBsPrefix}-bordered`, borderless && `${decoratedBsPrefix}-borderless`, hover && `${decoratedBsPrefix}-hover`);\n\n const table = /*#__PURE__*/_jsx(\"table\", { ...props,\n className: classes,\n ref: ref\n });\n\n if (responsive) {\n let responsiveClass = `${decoratedBsPrefix}-responsive`;\n\n if (typeof responsive === 'string') {\n responsiveClass = `${responsiveClass}-${responsive}`;\n }\n\n return /*#__PURE__*/_jsx(\"div\", {\n className: responsiveClass,\n children: table\n });\n }\n\n return table;\n});\nexport default Table;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n bg: 'primary',\n pill: false\n};\nconst Badge = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n bg,\n pill,\n text,\n className,\n as: Component = 'span',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'badge');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix, pill && `rounded-pill`, text && `text-${text}`, bg && `bg-${bg}`)\n });\n});\nBadge.displayName = 'Badge';\nBadge.defaultProps = defaultProps;\nexport default Badge;","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport {Accordion, Badge, Button, Col, Form, Row, Table} from \"react-bootstrap\";\nimport React from \"react\";\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport {useTranslation} from \"react-i18next\";\n\nexport default function ScenarioForward() {\n const [init, setInit] = React.useState();\n const [activeKey, setActiveKey] = React.useState();\n const [secrets, setSecrets] = React.useState();\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/ffmpeg/forward/secret', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const secrets = res.data.data;\n setInit(true);\n setSecrets(secrets || {});\n console.log(`Forward: Secret query ok ${JSON.stringify(secrets)}`);\n }).catch(handleError);\n }, [handleError]);\n\n React.useEffect(() => {\n if (!init || !secrets) return;\n\n if (secrets.wx?.enabled || secrets.bilibili?.enabled || secrets.kuaishou?.enabled) {\n return setActiveKey('99');\n }\n\n if (!secrets.wx?.server || !secrets.wx?.secret || !secrets.wx?.enabled) {\n setActiveKey('1');\n } else if (!secrets.bilibili?.server || !secrets.bilibili?.secret || !secrets.bilibili?.enabled) {\n setActiveKey('2');\n } else if (!secrets.kuaishou?.server || !secrets.kuaishou?.secret || !secrets.kuaishou?.enabled) {\n setActiveKey('3');\n } else {\n setActiveKey('99');\n }\n }, [init, secrets]);\n\n if (!activeKey) return <></>;\n return <ScenarioForwardImpl defaultActiveKey={activeKey} defaultSecrets={secrets}/>;\n}\n\nfunction ScenarioForwardImpl({defaultActiveKey, defaultSecrets}) {\n const language = useSrsLanguage();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [wxEnabled, setWxEnabled] = React.useState(defaultSecrets?.wx?.enabled);\n const [wxServer, setWxServer] = React.useState(defaultSecrets?.wx?.server);\n const [wxSecret, setWxSecret] = React.useState(defaultSecrets?.wx?.secret);\n const [wxCustom, setWxCustom] = React.useState(defaultSecrets?.wx?.custom);\n const [wxLabel, setWxLabel] = React.useState(defaultSecrets?.wx?.label);\n const [bilibiliEnabled, setBilibiliEnabled] = React.useState(defaultSecrets?.bilibili?.enabled);\n const [bilibiliServer, setBilibiliServer] = React.useState(defaultSecrets?.bilibili?.server);\n const [bilibiliSecret, setBilibiliSecret] = React.useState(defaultSecrets?.bilibili?.secret);\n const [bilibiliCustom, setBilibiliCustom] = React.useState(defaultSecrets?.bilibili?.custom);\n const [bilibiliLabel, setBilibiliLabel] = React.useState(defaultSecrets?.bilibili?.label);\n const [kuaishouEnabled, setKuaishouEnabled] = React.useState(defaultSecrets?.kuaishou?.enabled);\n const [kuaishouServer, setKuaishouServer] = React.useState(defaultSecrets?.kuaishou?.server);\n const [kuaishouSecret, setKuaishouSecret] = React.useState(defaultSecrets?.kuaishou?.secret);\n const [kuaishouCustom, setKuaishouCustom] = React.useState(defaultSecrets?.kuaishou?.custom || true);\n const [kuaishouLabel, setKuaishouLabel] = React.useState(defaultSecrets?.kuaishou?.label);\n const [forwards, setForwards] = React.useState();\n const [submiting, setSubmiting] = React.useState();\n\n React.useEffect(() => {\n const refreshStreams = () => {\n axios.post('/terraform/v1/ffmpeg/forward/streams', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setForwards(res.data.data.map((e, i) => ({\n ...e,\n name: {\n wx: t('plat.wx.title'),\n bilibili: t('plat.bl.title'),\n kuaishou: t('plat.ks.title')\n }[e.platform],\n update: e.frame?.update ? moment(e.frame.update) : null,\n i,\n })));\n console.log(`Forward: Query streams ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n };\n\n refreshStreams();\n const timer = setInterval(() => refreshStreams(), 10 * 1000);\n return () => clearInterval(timer);\n }, [t, handleError, setForwards]);\n\n const updateSecrets = React.useCallback((e, action, platform, server, secret, enabled, custom, label, onSuccess) => {\n e.preventDefault();\n if (!server) return alert(t('plat.com.addr'));\n if (custom && !label) return alert(t('plat.com.label'));\n\n try {\n setSubmiting(true);\n\n axios.post('/terraform/v1/ffmpeg/forward/secret', {\n action, platform, server, secret, enabled: !!enabled, custom: !!custom, label,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('plat.com.ok'));\n onSuccess && onSuccess();\n }).catch(handleError);\n } finally {\n new Promise(resolve => setTimeout(resolve, 3000)).then(() => setSubmiting(false));\n }\n }, [t, handleError, setSubmiting]);\n\n return (\n <Accordion defaultActiveKey={[defaultActiveKey]} alwaysOpen>\n <React.Fragment>\n {language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 多平台转播,将流转播给其他平台,比如视频号直播、快手、B站等。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>节约上行带宽,避免客户端推多路流,服务器转播更有保障</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>首先使用适合你的场景推流</li>\n <li>然后设置转播的平台</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <div>\n Multi-platform streaming, forward to other platforms, such as YouTube, Twitch, TikTok, etc.\n <p></p>\n </div>\n <p>Specific application scenarios include:</p>\n <ul>\n <li>Save on upstream bandwidth, avoid pushing multiple streams from the client, and server streaming is more secure</li>\n </ul>\n <p>Usage instructions:</p>\n <ul>\n <li>First, use the appropriate streaming method for your scenario</li>\n <li>Then set the platform for streaming</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>}\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{wxCustom ? t('plat.com.custom') : t('plat.wx.title')} {wxLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {wxCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={wxLabel} onChange={(e) => setWxLabel(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{wxCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!wxCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.wx.link')} target='_blank' rel='noreferrer'>{t('plat.wx.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={wxServer} onChange={(e) => setWxServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!wxCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.wx.link')} target='_blank' rel='noreferrer'>{t('plat.wx.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={wxSecret} onChange={(e) => setWxSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formWxCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={wxCustom} onClick={() => setWxCustom(!wxCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'wx', wxServer, wxSecret, !wxEnabled, wxCustom, wxLabel, () => {\n setWxEnabled(!wxEnabled);\n });\n }}\n >\n {wxEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('forward.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{bilibiliCustom ? t('plat.com.custom') : t('plat.bl.title')} {bilibiliLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {bilibiliCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={bilibiliLabel} onChange={(e) => setBilibiliLabel(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{bilibiliCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!bilibiliCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.bl.link')} target='_blank' rel='noreferrer'>{t('plat.bl.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={bilibiliServer} onChange={(e) => setBilibiliServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!bilibiliCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.bl.link')} target='_blank' rel='noreferrer'>{t('plat.bl.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={bilibiliSecret} onChange={(e) => setBilibiliSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formBilibiliCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={bilibiliCustom} onClick={() => setBilibiliCustom(!bilibiliCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'bilibili', bilibiliServer, bilibiliSecret, !bilibiliEnabled, bilibiliCustom, bilibiliLabel, () => {\n setBilibiliEnabled(!bilibiliEnabled);\n });\n }}\n >\n {bilibiliEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('forward.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{kuaishouCustom ? t('plat.com.custom') : t('plat.ks.title')} {kuaishouLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {kuaishouCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={kuaishouLabel} onChange={(e) => setKuaishouLabel(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{kuaishouCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!kuaishouCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.ks.link')} target='_blank' rel='noreferrer'>{t('plat.ks.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={kuaishouServer} onChange={(e) => setKuaishouServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!kuaishouCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.ks.link')} target='_blank' rel='noreferrer'>{t('plat.ks.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={kuaishouSecret} onChange={(e) => setKuaishouSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formKuaishouCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={kuaishouCustom} onClick={() => setKuaishouCustom(!kuaishouCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'kuaishou', kuaishouServer, kuaishouSecret, !kuaishouEnabled, kuaishouCustom, kuaishouLabel, () => {\n setKuaishouEnabled(!kuaishouEnabled);\n });\n }}\n >\n {kuaishouEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('forward.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"99\">\n <Accordion.Header>{t('plat.com.status')}</Accordion.Header>\n <Accordion.Body>\n {\n forwards?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>{t('plat.com.platform')}</th>\n <th>{t('plat.com.status2')}</th>\n <th>{t('plat.com.update')}</th>\n <th>{t('plat.com.source')}</th>\n <th>{t('plat.com.log')}</th>\n </tr>\n </thead>\n <tbody>\n {\n forwards?.map(file => {\n return <tr key={file.platform} style={{verticalAlign: 'middle'}}>\n <td>{file.i}</td>\n <td>{file.custom ? (file.label ? '' : t('plat.com.custom')) : file.name} {file.label}</td>\n <td>\n <Badge bg={file.enabled ? (file.frame ? 'success' : 'primary') : 'secondary'}>\n {file.enabled ? (file.frame ? t('plat.com.s0') : t('plat.com.s1')) : t('plat.com.s2')}\n </Badge>\n </td>\n <td>{file.update && `${file.update?.format('YYYY-MM-DD HH:mm:ss')}`}</td>\n <td>{file.stream}</td>\n <td>{file.frame?.log}</td>\n </tr>;\n })\n }\n </tbody>\n </Table>\n ) : ''\n }\n {!forwards?.length ? t('forward.s3') : ''}\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {TutorialsToast, useTutorials} from \"../components/TutorialsButton\";\n\nexport default function ScenarioTutorials() {\n const movieTutorials = useTutorials({\n bilibili: React.useRef([\n {author: 'SRS', id: 'BV1844y1L7dL'},\n {author: '徐光磊', id: 'BV1RS4y1G7tb'},\n {author: '程晓龙', id: 'BV1tZ4y1R7qp'},\n {author: 'SRS', id: 'BV1Nb4y1t7ij'},\n {author: '王大江', id: 'BV16r4y1q7ZT'},\n {author: '马景瑞', id: 'BV1c341177e7'},\n {author: '周亮', id: 'BV1gT4y1U76d'},\n {author: '崔国栋', id: 'BV1aS4y1G7iG'},\n {author: 'SRS', id: 'BV1KY411V7uc'},\n {author: '唐为', id: 'BV14S4y1k7gr'},\n {author: 'SRS', id: \"BV1cq4y1e7Au\"},\n {author: '宝哥', id: 'BV1G3411d7Gb'},\n ]),\n medium: React.useRef([\n {id: 'e9fe6f314ac6'},\n {id: '9748ae754c8c'},\n {id: 'ec18dfae7d6f'},\n {id: 'cb618777639f'},\n {id: '38be22beec57'},\n {id: '2aa792c35b25'},\n {id: 'ba1895828b4f'},\n {id: 'c078db917149'},\n {id: '39bd001af02d'},\n {id: '1e902ab856bd'},\n {id: 'nNOBFRshO6Q'},\n {id: '68PIGFDGihU'},\n {id: 'bb19c2a3bb7a'},\n {id: 'b3011e390e38'},\n {id: '13e28adf1e18'}\n ])\n });\n\n return (\n <TutorialsToast tutorials={movieTutorials} />\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {useNavigate} from \"react-router-dom\";\nimport {Errors, Token} from \"../utils\";\nimport axios from \"axios\";\n\nexport default function useDvrVodStatus() {\n const navigate = useNavigate();\n const [vodStatus, setVodStatus] = React.useState();\n const [dvrStatus, setDvrStatus] = React.useState();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/hooks/vod/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`VodPattern: Query ok, ${JSON.stringify(res.data.data)}`);\n setVodStatus(res.data.data);\n }).catch(e => {\n const err = e.response.data;\n if (err.code === Errors.auth) {\n alert(`Token过期,请重新登录,${err.code}: ${err.data.message}`);\n navigate('/routers-logout');\n } else {\n alert(`服务器错误,${err.code}: ${err.data.message}`);\n }\n });\n }, [navigate]);\n\n React.useEffect(() => {\n axios.post('/terraform/v1/hooks/dvr/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`DvrPattern: Query ok, ${JSON.stringify(res.data.data)}`);\n setDvrStatus(res.data.data);\n }).catch(e => {\n const err = e.response.data;\n if (err.code === Errors.auth) {\n alert(`Token过期,请重新登录,${err.code}: ${err.data.message}`);\n navigate('/routers-logout');\n } else {\n alert(`服务器错误,${err.code}: ${err.data.message}`);\n }\n });\n }, [navigate]);\n\n return [dvrStatus, vodStatus];\n}\n\nexport function useRecordStatus() {\n const navigate = useNavigate();\n const [recordStatus, setRecordStatus] = React.useState();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/hooks/record/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`RecordPattern: Query ok, ${JSON.stringify(res.data.data)}`);\n setRecordStatus(res.data.data);\n }).catch(e => {\n const err = e.response.data;\n if (err.code === Errors.auth) {\n alert(`Token过期,请重新登录,${err.code}: ${err.data.message}`);\n navigate('/routers-logout');\n } else {\n alert(`服务器错误,${err.code}: ${err.data.message}`);\n }\n });\n }, [navigate]);\n\n return recordStatus;\n}\n\n","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('popover-header');","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('popover-body');","import * as React from 'react';\nexport class BsPrefixComponent extends React.Component {} // Need to use this instead of typeof Component to get proper type checking.\n\nexport function getOverlayDirection(placement, isRTL) {\n let bsDirection = placement;\n\n if (placement === 'left') {\n bsDirection = isRTL ? 'end' : 'start';\n } else if (placement === 'right') {\n bsDirection = isRTL ? 'start' : 'end';\n }\n\n return bsDirection;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport PopoverHeader from './PopoverHeader';\nimport PopoverBody from './PopoverBody';\nimport { getOverlayDirection } from './helpers';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst defaultProps = {\n placement: 'right'\n};\nconst Popover = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement,\n className,\n style,\n children,\n body,\n arrowProps,\n popper: _,\n show: _1,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n role: \"tooltip\",\n style: style,\n \"x-placement\": primaryPlacement,\n className: classNames(className, decoratedBsPrefix, primaryPlacement && `bs-popover-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"popover-arrow\",\n ...arrowProps\n }), body ? /*#__PURE__*/_jsx(PopoverBody, {\n children: children\n }) : children]\n });\n});\nPopover.defaultProps = defaultProps;\nexport default Object.assign(Popover, {\n Header: PopoverHeader,\n Body: PopoverBody,\n // Default popover offset.\n // https://github.com/twbs/bootstrap/blob/5c32767e0e0dbac2d934bcdee03719a65d3f1187/js/src/popover.js#L28\n POPPER_OFFSET: [0, 8]\n});","import listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useEffect } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useClickOutside, { getRefTarget } from './useClickOutside';\nconst escapeKeyCode = 27;\n\nconst noop = () => {};\n\n/**\n * The `useRootClose` hook registers your callback on the document\n * when rendered. Powers the `<Overlay/>` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary\n * @param {function} onRootClose\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useRootClose(ref, onRootClose, {\n disabled,\n clickTrigger\n} = {}) {\n const onClose = onRootClose || noop;\n useClickOutside(ref, onClose, {\n disabled,\n clickTrigger\n });\n const handleKeyUp = useEventCallback(e => {\n if (e.keyCode === escapeKeyCode) {\n onClose(e);\n }\n });\n useEffect(() => {\n if (disabled || ref == null) return undefined;\n const doc = ownerDocument(getRefTarget(ref)); // Store the current event to avoid triggering handlers immediately\n // https://github.com/facebook/react/issues/20074\n\n let currentEvent = (doc.defaultView || window).event;\n const removeKeyupListener = listen(doc, 'keyup', e => {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n handleKeyUp(e);\n });\n return () => {\n removeKeyupListener();\n };\n }, [ref, disabled, handleKeyUp]);\n}\n\nexport default useRootClose;","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { useState } from 'react';\nimport usePopper from './usePopper';\nimport useRootClose from './useRootClose';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\n/**\n * Built on top of `Popper.js`, the overlay component is\n * great for custom tooltip overlays.\n */\nconst Overlay = /*#__PURE__*/React.forwardRef((props, outerRef) => {\n const {\n flip,\n offset,\n placement,\n containerPadding,\n popperConfig = {},\n transition: Transition\n } = props;\n const [rootElement, attachRef] = useCallbackRef();\n const [arrowElement, attachArrowRef] = useCallbackRef();\n const mergedRef = useMergedRefs(attachRef, outerRef);\n const container = useWaitForDOMRef(props.container);\n const target = useWaitForDOMRef(props.target);\n const [exited, setExited] = useState(!props.show);\n const popper = usePopper(target, rootElement, mergeOptionsWithPopperConfig({\n placement,\n enableEvents: !!props.show,\n containerPadding: containerPadding || 5,\n flip,\n offset,\n arrowElement,\n popperConfig\n }));\n\n if (props.show) {\n if (exited) setExited(false);\n } else if (!props.transition && !exited) {\n setExited(true);\n }\n\n const handleHidden = (...args) => {\n setExited(true);\n\n if (props.onExited) {\n props.onExited(...args);\n }\n }; // Don't un-render the overlay while it's transitioning out.\n\n\n const mountOverlay = props.show || Transition && !exited;\n useRootClose(rootElement, props.onHide, {\n disabled: !props.rootClose || props.rootCloseDisabled,\n clickTrigger: props.rootCloseEvent\n });\n\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n let child = props.children(Object.assign({}, popper.attributes.popper, {\n style: popper.styles.popper,\n ref: mergedRef\n }), {\n popper,\n placement,\n show: !!props.show,\n arrowProps: Object.assign({}, popper.attributes.arrow, {\n style: popper.styles.arrow,\n ref: attachArrowRef\n })\n });\n\n if (Transition) {\n const {\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onEntered\n } = props;\n child = /*#__PURE__*/_jsx(Transition, {\n in: props.show,\n appear: true,\n onExit: onExit,\n onExiting: onExiting,\n onExited: handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n children: child\n });\n }\n\n return container ? /*#__PURE__*/ReactDOM.createPortal(child, container) : null;\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","import * as React from 'react';\nimport { useRef } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from '@restart/ui/Overlay';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useOverlayOffset from './useOverlayOffset';\nimport Fade from './Fade';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n transition: Fade,\n rootClose: false,\n show: false,\n placement: 'top'\n};\n\nfunction wrapRefs(props, arrowProps) {\n const {\n ref\n } = props;\n const {\n ref: aRef\n } = arrowProps;\n\n props.ref = ref.__wrapped || (ref.__wrapped = r => ref(safeFindDOMNode(r)));\n\n arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = r => aRef(safeFindDOMNode(r)));\n}\n\nconst Overlay = /*#__PURE__*/React.forwardRef(({\n children: overlay,\n transition,\n popperConfig = {},\n ...outerProps\n}, outerRef) => {\n const popperRef = useRef({});\n const [ref, modifiers] = useOverlayOffset();\n const mergedRef = useMergedRefs(outerRef, ref);\n const actualTransition = transition === true ? Fade : transition || undefined;\n return /*#__PURE__*/_jsx(BaseOverlay, { ...outerProps,\n ref: mergedRef,\n popperConfig: { ...popperConfig,\n modifiers: modifiers.concat(popperConfig.modifiers || [])\n },\n transition: actualTransition,\n children: (overlayProps, {\n arrowProps,\n popper: popperObj,\n show\n }) => {\n var _popperObj$state, _popperObj$state$modi;\n\n wrapRefs(overlayProps, arrowProps); // Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop\n\n const updatedPlacement = popperObj == null ? void 0 : popperObj.placement;\n const popper = Object.assign(popperRef.current, {\n state: popperObj == null ? void 0 : popperObj.state,\n scheduleUpdate: popperObj == null ? void 0 : popperObj.update,\n placement: updatedPlacement,\n outOfBoundaries: (popperObj == null ? void 0 : (_popperObj$state = popperObj.state) == null ? void 0 : (_popperObj$state$modi = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state$modi.isReferenceHidden) || false\n });\n if (typeof overlay === 'function') return overlay({ ...overlayProps,\n placement: updatedPlacement,\n show,\n ...(!transition && show && {\n className: 'show'\n }),\n popper,\n arrowProps\n });\n return /*#__PURE__*/React.cloneElement(overlay, { ...overlayProps,\n placement: updatedPlacement,\n arrowProps,\n popper,\n className: classNames(overlay.props.className, !transition && show && 'show'),\n style: { ...overlay.props.style,\n ...overlayProps.style\n }\n });\n }\n });\n});\nOverlay.displayName = 'Overlay';\nOverlay.defaultProps = defaultProps;\nexport default Overlay;","import { useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Popover from './Popover'; // This is meant for internal use.\n// This applies a custom offset to the overlay if it's a popover.\n\nexport default function useOverlayOffset() {\n const overlayRef = useRef(null);\n const popoverClass = useBootstrapPrefix(undefined, 'popover');\n const offset = useMemo(() => ({\n name: 'offset',\n options: {\n offset: () => {\n if (overlayRef.current && hasClass(overlayRef.current, popoverClass)) {\n return Popover.POPPER_OFFSET;\n }\n\n return [0, 0];\n }\n }\n }), [popoverClass]);\n return [overlayRef, [offset]];\n}","import contains from 'dom-helpers/contains';\nimport * as React from 'react';\nimport { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Overlay from './Overlay';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nfunction normalizeDelay(delay) {\n return delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n };\n} // Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\n\n\nfunction handleMouseOverOut( // eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n const [e] = args;\n const target = e.currentTarget;\n const related = e.relatedTarget || e.nativeEvent[relatedNative];\n\n if ((!related || related !== target) && !contains(target, related)) {\n handler(...args);\n }\n}\n\nconst defaultProps = {\n defaultShow: false,\n trigger: ['hover', 'focus']\n};\n\nfunction OverlayTrigger({\n trigger,\n overlay,\n children,\n popperConfig = {},\n show: propsShow,\n defaultShow = false,\n onToggle,\n delay: propsDelay,\n placement,\n flip = placement && placement.indexOf('auto') !== -1,\n ...props\n}) {\n const triggerNodeRef = useRef(null);\n const mergedRef = useMergedRefs(triggerNodeRef, children.ref);\n const timeout = useTimeout();\n const hoverStateRef = useRef('');\n const [show, setShow] = useUncontrolledProp(propsShow, defaultShow, onToggle);\n const delay = normalizeDelay(propsDelay);\n const {\n onFocus,\n onBlur,\n onClick\n } = typeof children !== 'function' ? React.Children.only(children).props : {};\n\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n\n const handleShow = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'show';\n\n if (!delay.show) {\n setShow(true);\n return;\n }\n\n timeout.set(() => {\n if (hoverStateRef.current === 'show') setShow(true);\n }, delay.show);\n }, [delay.show, setShow, timeout]);\n const handleHide = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'hide';\n\n if (!delay.hide) {\n setShow(false);\n return;\n }\n\n timeout.set(() => {\n if (hoverStateRef.current === 'hide') setShow(false);\n }, delay.hide);\n }, [delay.hide, setShow, timeout]);\n const handleFocus = useCallback((...args) => {\n handleShow();\n onFocus == null ? void 0 : onFocus(...args);\n }, [handleShow, onFocus]);\n const handleBlur = useCallback((...args) => {\n handleHide();\n onBlur == null ? void 0 : onBlur(...args);\n }, [handleHide, onBlur]);\n const handleClick = useCallback((...args) => {\n setShow(!show);\n onClick == null ? void 0 : onClick(...args);\n }, [onClick, setShow, show]);\n const handleMouseOver = useCallback((...args) => {\n handleMouseOverOut(handleShow, args, 'fromElement');\n }, [handleShow]);\n const handleMouseOut = useCallback((...args) => {\n handleMouseOverOut(handleHide, args, 'toElement');\n }, [handleHide]);\n const triggers = trigger == null ? [] : [].concat(trigger);\n const triggerProps = {\n ref: attachRef\n };\n\n if (triggers.indexOf('click') !== -1) {\n triggerProps.onClick = handleClick;\n }\n\n if (triggers.indexOf('focus') !== -1) {\n triggerProps.onFocus = handleFocus;\n triggerProps.onBlur = handleBlur;\n }\n\n if (triggers.indexOf('hover') !== -1) {\n process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n triggerProps.onMouseOver = handleMouseOver;\n triggerProps.onMouseOut = handleMouseOut;\n }\n\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [typeof children === 'function' ? children(triggerProps) : /*#__PURE__*/cloneElement(children, triggerProps), /*#__PURE__*/_jsx(Overlay, { ...props,\n show: show,\n onHide: handleHide,\n flip: flip,\n placement: placement,\n popperConfig: popperConfig,\n target: triggerNodeRef.current,\n children: overlay\n })]\n });\n}\n\nOverlayTrigger.defaultProps = defaultProps;\nexport default OverlayTrigger;","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Button, OverlayTrigger, Popover} from \"react-bootstrap\";\nimport {useSrsLanguage} from \"./LanguageSwitch\";\n\nexport default function PopoverConfirm({onClick, trigger, children, placement}) {\n const [startUpgrade, setStartUpgrade] = React.useState();\n const language = useSrsLanguage();\n\n const onHandleClick = React.useCallback(() => {\n setStartUpgrade(false);\n onClick && onClick();\n }, [onClick]);\n\n const popover = (\n <Popover id=\"popover-basic\">\n <Popover.Header as=\"h3\">Confirm</Popover.Header>\n <Popover.Body>\n <div>\n {children}\n </div>\n <div className='row row-cols-lg-auto g-3 align-items-center'>\n <div className=\"col-12\">\n <Button\n variant=\"danger\"\n onClick={onHandleClick}\n >\n {language === 'zh' ? '确认' : 'Continue'}\n </Button>\n </div>\n <div className=\"col-12\">\n <Button\n variant=\"primary\"\n onClick={() => setStartUpgrade(false)}\n >\n {language === 'zh' ? '取消' : 'Abort'}\n </Button>\n </div>\n </div>\n </Popover.Body>\n </Popover>\n );\n\n return (\n <OverlayTrigger trigger=\"click\" placement={placement || 'right'} overlay={popover} show={startUpgrade}>\n <span onClick={(e) => {\n e.preventDefault();\n setStartUpgrade(!startUpgrade);\n }}>\n {trigger}\n </span>\n </OverlayTrigger>\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Toast} from \"react-bootstrap\";\nimport logo from '../resources/logo.svg';\nimport * as Icon from 'react-bootstrap-icons';\n\nfunction TutorialsText({title, children, prefixLine}) {\n const [show, setShow] = React.useState(false);\n\n return (\n <>\n <div role='button' style={{display: 'inline-block'}}>\n <Icon.PatchQuestion onClick={() => setShow(!show)}/>\n </div>\n {show && prefixLine && <p></p>}\n {show &&\n <>\n <Toast onClose={() => setShow(false)}>\n <Toast.Header>\n <img src={logo} className=\"rounded me-2\" width={56} alt=''/>\n <strong className=\"me-auto\">{title}</strong>\n </Toast.Header>\n <Toast.Body>\n {children}\n </Toast.Body>\n </Toast>\n <p></p>\n </>\n }\n </>\n );\n}\n\nexport default TutorialsText;\n\n","const MAX_PATTERN_LENGTH = 1024 * 64\nexport const assertValidPattern: (pattern: any) => void = (\n pattern: any\n): asserts pattern is string => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return fn;\n}","import classCheckPrivateStaticAccess from \"./classCheckPrivateStaticAccess.js\";\nexport default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n return method;\n}","export default function _classCheckPrivateStaticAccess(receiver, classConstructor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n\n return descriptor.value;\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n }\n}","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n\n// { <posix class>: [<translation>, /u flag required, negated]\nconst posixClasses: { [k: string]: [e: string, u: boolean, n?: boolean] } = {\n '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n '[:cntrl:]': ['\\\\p{Cc}', true],\n '[:digit:]': ['\\\\p{Nd}', true],\n '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n '[:lower:]': ['\\\\p{Ll}', true],\n '[:print:]': ['\\\\p{C}', true],\n '[:punct:]': ['\\\\p{P}', true],\n '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n '[:upper:]': ['\\\\p{Lu}', true],\n '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n '[:xdigit:]': ['A-Fa-f0-9', false],\n}\n\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s: string) => s.replace(/[[\\]\\\\-]/g, '\\\\$&')\n// escape all regexp magic characters\nconst regexpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges: string[]): string => ranges.join('')\n\nexport type ParseClassResult = [\n src: string,\n uFlag: boolean,\n consumed: number,\n hasMagic: boolean\n]\n\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (\n glob: string,\n position: number\n): ParseClassResult => {\n const pos = position\n /* c8 ignore start */\n if (glob.charAt(pos) !== '[') {\n throw new Error('not in a brace expression')\n }\n /* c8 ignore stop */\n const ranges: string[] = []\n const negs: string[] = []\n\n let i = pos + 1\n let sawStart = false\n let uflag = false\n let escaping = false\n let negate = false\n let endPos = pos\n let rangeStart = ''\n WHILE: while (i < glob.length) {\n const c = glob.charAt(i)\n if ((c === '!' || c === '^') && i === pos + 1) {\n negate = true\n i++\n continue\n }\n\n if (c === ']' && sawStart && !escaping) {\n endPos = i + 1\n break\n }\n\n sawStart = true\n if (c === '\\\\') {\n if (!escaping) {\n escaping = true\n i++\n continue\n }\n // escaped \\ char, fall through and treat like normal char\n }\n if (c === '[' && !escaping) {\n // either a posix class, a collation equivalent, or just a [\n for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n if (glob.startsWith(cls, i)) {\n // invalid, [a-[] is fine, but not [a-[:alpha]]\n if (rangeStart) {\n return ['$.', false, glob.length - pos, true]\n }\n i += cls.length\n if (neg) negs.push(unip)\n else ranges.push(unip)\n uflag = uflag || u\n continue WHILE\n }\n }\n }\n\n // now it's just a normal character, effectively\n escaping = false\n if (rangeStart) {\n // throw this range away if it's not valid, but others\n // can still match.\n if (c > rangeStart) {\n ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c))\n } else if (c === rangeStart) {\n ranges.push(braceEscape(c))\n }\n rangeStart = ''\n i++\n continue\n }\n\n // now might be the start of a range.\n // can be either c-d or c-] or c<more...>] or c] at this point\n if (glob.startsWith('-]', i + 1)) {\n ranges.push(braceEscape(c + '-'))\n i += 2\n continue\n }\n if (glob.startsWith('-', i + 1)) {\n rangeStart = c\n i += 2\n continue\n }\n\n // not the start of a range, just a single character\n ranges.push(braceEscape(c))\n i++\n }\n\n if (endPos < i) {\n // didn't see the end of the class, not a valid class,\n // but might still be valid as a literal match.\n return ['', false, 0, false]\n }\n\n // if we got no ranges and no negates, then we have a range that\n // cannot possibly match anything, and that poisons the whole glob\n if (!ranges.length && !negs.length) {\n return ['$.', false, glob.length - pos, true]\n }\n\n // if we got one positive range, and it's a single character, then that's\n // not actually a magic pattern, it's just that one literal character.\n // we should not treat that as \"magic\", we should just return the literal\n // character. [_] is a perfectly valid way to escape glob magic chars.\n if (\n negs.length === 0 &&\n ranges.length === 1 &&\n /^\\\\?.$/.test(ranges[0]) &&\n !negate\n ) {\n const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]\n return [regexpEscape(r), false, endPos - pos, false]\n }\n\n const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']'\n const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']'\n const comb =\n ranges.length && negs.length\n ? '(' + sranges + '|' + snegs + ')'\n : ranges.length\n ? sranges\n : snegs\n\n return [comb, uflag, endPos - pos, true]\n}\n","import { MinimatchOptions } from './index.js'\n/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes. For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (\n s: string,\n {\n windowsPathsNoEscape = false,\n }: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n) => {\n return windowsPathsNoEscape\n ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1')\n}\n","// parse a single path portion\n\nimport { parseClass } from './brace-expressions.js'\nimport { MinimatchOptions, MMRegExp } from './index.js'\nimport { unescape } from './unescape.js'\n\n// classes [] are handled by the parseClass method\n// for positive extglobs, we sub-parse the contents, and combine,\n// with the appropriate regexp close.\n// for negative extglobs, we sub-parse the contents, but then\n// have to include the rest of the pattern, then the parent, etc.,\n// as the thing that cannot be because RegExp negative lookaheads\n// are different from globs.\n//\n// So for example:\n// a@(i|w!(x|y)z|j)b => ^a(i|w((!?(x|y)zb).*)z|j)b$\n// 1 2 3 4 5 6 1 2 3 46 5 6\n//\n// Assembling the extglob requires not just the negated patterns themselves,\n// but also anything following the negative patterns up to the boundary\n// of the current pattern, plus anything following in the parent pattern.\n//\n//\n// So, first, we parse the string into an AST of extglobs, without turning\n// anything into regexps yet.\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y']}, 'z'], ['j']]}, 'b']\n//\n// Then, for all the negative extglobs, we append whatever comes after in\n// each parent as their tail\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y'], 'z', 'b'}, 'z'], ['j']]}, 'b']\n//\n// Lastly, we turn each of these pieces into a regexp, and join\n//\n// v----- .* because there's more following,\n// v v otherwise, .+ because it must be\n// v v *something* there.\n// ['^a', {@ ['i', 'w(?:(!?(?:x|y).*zb$).*)z', 'j' ]}, 'b$']\n// copy what follows into here--^^^^^\n// ['^a', '(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)', 'b$']\n// ['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport type ExtglobType = '!' | '?' | '+' | '*' | '@'\nconst types = new Set<ExtglobType>(['!', '?', '+', '*', '@'])\nconst isExtglobType = (c: string): c is ExtglobType =>\n types.has(c as ExtglobType)\n\n// Patterns that get prepended to bind to the start of either the\n// entire string, or just a single path portion, to prevent dots\n// and/or traversal patterns, when needed.\n// Exts don't need the ^ or / bit, because the root binds that already.\nconst startNoTraversal = '(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst startNoDot = '(?!\\\\.)'\n\n// characters that indicate a start of pattern needs the \"no dots\" bit,\n// because a dot *might* be matched. ( is not in the list, because in\n// the case of a child extglob, it will handle the prevention itself.\nconst addPatternStart = new Set(['[', '.'])\n// cases where traversal is A-OK, no dot prevention needed\nconst justDots = new Set(['..', '.'])\nconst reSpecials = new Set('().*{}+?[]^$\\\\!')\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// any single thing other than /\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n// use + when we need to ensure that *something* matches, because the * is\n// the only thing in the path portion.\nconst starNoEmpty = qmark + '+?'\n\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\n\nexport class AST {\n type: ExtglobType | null\n readonly #root: AST\n\n #hasMagic?: boolean\n #uflag: boolean = false\n #parts: (string | AST)[] = []\n readonly #parent?: AST\n readonly #parentIndex: number\n #negs: AST[]\n #filledNegs: boolean = false\n #options: MinimatchOptions\n #toString?: string\n // set to true if it's an extglob with no children\n // (which really means one child of '')\n #emptyExt: boolean = false\n\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n this.type = type\n // extglobs are inherently magical\n if (type) this.#hasMagic = true\n this.#parent = parent\n this.#root = this.#parent ? this.#parent.#root : this\n this.#options = this.#root === this ? options : this.#root.#options\n this.#negs = this.#root === this ? [] : this.#root.#negs\n if (type === '!' && !this.#root.#filledNegs) this.#negs.push(this)\n this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0\n }\n\n get hasMagic(): boolean | undefined {\n /* c8 ignore start */\n if (this.#hasMagic !== undefined) return this.#hasMagic\n /* c8 ignore stop */\n for (const p of this.#parts) {\n if (typeof p === 'string') continue\n if (p.type || p.hasMagic) return (this.#hasMagic = true)\n }\n // note: will be undefined until we generate the regexp src and find out\n return this.#hasMagic\n }\n\n // reconstructs the pattern\n toString(): string {\n if (this.#toString !== undefined) return this.#toString\n if (!this.type) {\n return (this.#toString = this.#parts.map(p => String(p)).join(''))\n } else {\n return (this.#toString =\n this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')')\n }\n }\n\n #fillNegs() {\n /* c8 ignore start */\n if (this !== this.#root) throw new Error('should only call on root')\n if (this.#filledNegs) return this\n /* c8 ignore stop */\n\n // call toString() once to fill this out\n this.toString()\n this.#filledNegs = true\n let n: AST | undefined\n while ((n = this.#negs.pop())) {\n if (n.type !== '!') continue\n // walk up the tree, appending everthing that comes AFTER parentIndex\n let p: AST | undefined = n\n let pp = p.#parent\n while (pp) {\n for (\n let i = p.#parentIndex + 1;\n !pp.type && i < pp.#parts.length;\n i++\n ) {\n for (const part of n.#parts) {\n /* c8 ignore start */\n if (typeof part === 'string') {\n throw new Error('string part in extglob AST??')\n }\n /* c8 ignore stop */\n part.copyIn(pp.#parts[i])\n }\n }\n p = pp\n pp = p.#parent\n }\n }\n return this\n }\n\n push(...parts: (string | AST)[]) {\n for (const p of parts) {\n if (p === '') continue\n /* c8 ignore start */\n if (typeof p !== 'string' && !(p instanceof AST && p.#parent === this)) {\n throw new Error('invalid part: ' + p)\n }\n /* c8 ignore stop */\n this.#parts.push(p)\n }\n }\n\n toJSON() {\n const ret: any[] =\n this.type === null\n ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n : [this.type, ...this.#parts.map(p => (p as AST).toJSON())]\n if (this.isStart() && !this.type) ret.unshift([])\n if (\n this.isEnd() &&\n (this === this.#root ||\n (this.#root.#filledNegs && this.#parent?.type === '!'))\n ) {\n ret.push({})\n }\n return ret\n }\n\n isStart(): boolean {\n if (this.#root === this) return true\n // if (this.type) return !!this.#parent?.isStart()\n if (!this.#parent?.isStart()) return false\n if (this.#parentIndex === 0) return true\n // if everything AHEAD of this is a negation, then it's still the \"start\"\n const p = this.#parent\n for (let i = 0; i < this.#parentIndex; i++) {\n const pp = p.#parts[i]\n if (!(pp instanceof AST && pp.type === '!')) {\n return false\n }\n }\n return true\n }\n\n isEnd(): boolean {\n if (this.#root === this) return true\n if (this.#parent?.type === '!') return true\n if (!this.#parent?.isEnd()) return false\n if (!this.type) return this.#parent?.isEnd()\n // if not root, it'll always have a parent\n /* c8 ignore start */\n const pl = this.#parent ? this.#parent.#parts.length : 0\n /* c8 ignore stop */\n return this.#parentIndex === pl - 1\n }\n\n copyIn(part: AST | string) {\n if (typeof part === 'string') this.push(part)\n else this.push(part.clone(this))\n }\n\n clone(parent: AST) {\n const c = new AST(this.type, parent)\n for (const p of this.#parts) {\n c.copyIn(p)\n }\n return c\n }\n\n static #parseAST(\n str: string,\n ast: AST,\n pos: number,\n opt: MinimatchOptions\n ): number {\n let escaping = false\n let inBrace = false\n let braceStart = -1\n let braceNeg = false\n if (ast.type === null) {\n // outside of a extglob, append until we find a start\n let i = pos\n let acc = ''\n while (i < str.length) {\n const c = str.charAt(i++)\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping\n acc += c\n continue\n }\n\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true\n }\n } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false\n }\n acc += c\n continue\n } else if (c === '[') {\n inBrace = true\n braceStart = i\n braceNeg = false\n acc += c\n continue\n }\n\n if (!opt.noext && isExtglobType(c) && str.charAt(i) === '(') {\n ast.push(acc)\n acc = ''\n const ext = new AST(c, ast)\n i = AST.#parseAST(str, ext, i, opt)\n ast.push(ext)\n continue\n }\n acc += c\n }\n ast.push(acc)\n return i\n }\n\n // some kind of extglob, pos is at the (\n // find the next | or )\n let i = pos + 1\n let part = new AST(null, ast)\n const parts: AST[] = []\n let acc = ''\n while (i < str.length) {\n const c = str.charAt(i++)\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping\n acc += c\n continue\n }\n\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true\n }\n } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false\n }\n acc += c\n continue\n } else if (c === '[') {\n inBrace = true\n braceStart = i\n braceNeg = false\n acc += c\n continue\n }\n\n if (isExtglobType(c) && str.charAt(i) === '(') {\n part.push(acc)\n acc = ''\n const ext = new AST(c, part)\n part.push(ext)\n i = AST.#parseAST(str, ext, i, opt)\n continue\n }\n if (c === '|') {\n part.push(acc)\n acc = ''\n parts.push(part)\n part = new AST(null, ast)\n continue\n }\n if (c === ')') {\n if (acc === '' && ast.#parts.length === 0) {\n ast.#emptyExt = true\n }\n part.push(acc)\n acc = ''\n ast.push(...parts, part)\n return i\n }\n acc += c\n }\n\n // unfinished extglob\n // if we got here, it was a malformed extglob! not an extglob, but\n // maybe something else in there.\n ast.type = null\n ast.#hasMagic = undefined\n ast.#parts = [str.substring(pos - 1)]\n return i\n }\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n const ast = new AST(null, undefined, options)\n AST.#parseAST(pattern, ast, 0, options)\n return ast\n }\n\n // returns the regular expression if there's magic, or the unescaped\n // string if not.\n toMMPattern(): MMRegExp | string {\n // should only be called on root\n /* c8 ignore start */\n if (this !== this.#root) return this.#root.toMMPattern()\n /* c8 ignore stop */\n const glob = this.toString()\n const [re, body, hasMagic, uflag] = this.toRegExpSource()\n // if we're in nocase mode, and not nocaseMagicOnly, then we do\n // still need a regular expression if we have to case-insensitively\n // match capital/lowercase characters.\n const anyMagic =\n hasMagic ||\n this.#hasMagic ||\n (this.#options.nocase &&\n !this.#options.nocaseMagicOnly &&\n glob.toUpperCase() !== glob.toLowerCase())\n if (!anyMagic) {\n return body\n }\n\n const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : '')\n return Object.assign(new RegExp(`^${re}$`, flags), {\n _src: re,\n _glob: glob,\n })\n }\n\n // returns the string match, the regexp source, whether there's magic\n // in the regexp (so a regular expression is required) and whether or\n // not the uflag is needed for the regular expression (for posix classes)\n // TODO: instead of injecting the start/end at this point, just return\n // the BODY of the regexp, along with the start/end portions suitable\n // for binding the start/end in either a joined full-path makeRe context\n // (where we bind to (^|/), or a standalone matchPart context (where\n // we bind to ^, and not /). Otherwise slashes get duped!\n //\n // In part-matching mode, the start is:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: ^(?!\\.\\.?$)\n // - if dots allowed or not possible: ^\n // - if dots possible and not allowed: ^(?!\\.)\n // end is:\n // - if not isEnd(): nothing\n // - else: $\n //\n // In full-path matching mode, we put the slash at the START of the\n // pattern, so start is:\n // - if first pattern: same as part-matching mode\n // - if not isStart(): nothing\n // - if traversal possible, but not allowed: /(?!\\.\\.?(?:$|/))\n // - if dots allowed or not possible: /\n // - if dots possible and not allowed: /(?!\\.)\n // end is:\n // - if last pattern, same as part-matching mode\n // - else nothing\n //\n // Always put the (?:$|/) on negated tails, though, because that has to be\n // there to bind the end of the negated pattern portion, and it's easier to\n // just stick it in now rather than try to inject it later in the middle of\n // the pattern.\n //\n // We can just always return the same end, and leave it up to the caller\n // to know whether it's going to be used joined or in parts.\n // And, if the start is adjusted slightly, can do the same there:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: (?:/|^)(?!\\.\\.?$)\n // - if dots allowed or not possible: (?:/|^)\n // - if dots possible and not allowed: (?:/|^)(?!\\.)\n //\n // But it's better to have a simpler binding without a conditional, for\n // performance, so probably better to return both start options.\n //\n // Then the caller just ignores the end if it's not the first pattern,\n // and the start always gets applied.\n //\n // But that's always going to be $ if it's the ending pattern, or nothing,\n // so the caller can just attach $ at the end of the pattern when building.\n //\n // So the todo is:\n // - better detect what kind of start is needed\n // - return both flavors of starting pattern\n // - attach $ at the end of the pattern when creating the actual RegExp\n //\n // Ah, but wait, no, that all only applies to the root when the first pattern\n // is not an extglob. If the first pattern IS an extglob, then we need all\n // that dot prevention biz to live in the extglob portions, because eg\n // +(*|.x*) can match .xy but not .yx.\n //\n // So, return the two flavors if it's #root and the first child is not an\n // AST, otherwise leave it to the child AST to handle it, and there,\n // use the (?:^|/) style of start binding.\n //\n // Even simplified further:\n // - Since the start for a join is eg /(?!\\.) and the start for a part\n // is ^(?!\\.), we can just prepend (?!\\.) to the pattern (either root\n // or start or whatever) and prepend ^ or / at the Regexp construction.\n toRegExpSource(\n allowDot?: boolean\n ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n const dot = allowDot ?? !!this.#options.dot\n if (this.#root === this) this.#fillNegs()\n if (!this.type) {\n const noEmpty = this.isStart() && this.isEnd()\n const src = this.#parts\n .map(p => {\n const [re, _, hasMagic, uflag] =\n typeof p === 'string'\n ? AST.#parseGlob(p, this.#hasMagic, noEmpty)\n : p.toRegExpSource(allowDot)\n this.#hasMagic = this.#hasMagic || hasMagic\n this.#uflag = this.#uflag || uflag\n return re\n })\n .join('')\n\n let start = ''\n if (this.isStart()) {\n if (typeof this.#parts[0] === 'string') {\n // this is the string that will match the start of the pattern,\n // so we need to protect against dots and such.\n\n // '.' and '..' cannot match unless the pattern is that exactly,\n // even if it starts with . or dot:true is set.\n const dotTravAllowed =\n this.#parts.length === 1 && justDots.has(this.#parts[0])\n if (!dotTravAllowed) {\n const aps = addPatternStart\n // check if we have a possibility of matching . or ..,\n // and prevent that.\n const needNoTrav =\n // dots are allowed, and the pattern starts with [ or .\n (dot && aps.has(src.charAt(0))) ||\n // the pattern starts with \\., and then [ or .\n (src.startsWith('\\\\.') && aps.has(src.charAt(2))) ||\n // the pattern starts with \\.\\., and then [ or .\n (src.startsWith('\\\\.\\\\.') && aps.has(src.charAt(4)))\n // no need to prevent dots if it can't match a dot, or if a\n // sub-pattern will be preventing it anyway.\n const needNoDot = !dot && !allowDot && aps.has(src.charAt(0))\n\n start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ''\n }\n }\n }\n\n // append the \"end of path portion\" pattern to negation tails\n let end = ''\n if (\n this.isEnd() &&\n this.#root.#filledNegs &&\n this.#parent?.type === '!'\n ) {\n end = '(?:$|\\\\/)'\n }\n const final = start + src + end\n return [\n final,\n unescape(src),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ]\n }\n\n // We need to calculate the body *twice* if it's a repeat pattern\n // at the start, once in nodot mode, then again in dot mode, so a\n // pattern like *(?) can match 'x.y'\n\n const repeated = this.type === '*' || this.type === '+'\n // some kind of extglob\n const start = this.type === '!' ? '(?:(?!(?:' : '(?:'\n let body = this.#partsToRegExp(dot)\n\n if (this.isStart() && this.isEnd() && !body && this.type !== '!') {\n // invalid extglob, has to at least be *something* present, if it's\n // the entire path portion.\n const s = this.toString()\n this.#parts = [s]\n this.type = null\n this.#hasMagic = undefined\n return [s, unescape(this.toString()), false, false]\n }\n\n // XXX abstract out this map method\n let bodyDotAllowed =\n !repeated || allowDot || dot || !startNoDot\n ? ''\n : this.#partsToRegExp(true)\n if (bodyDotAllowed === body) {\n bodyDotAllowed = ''\n }\n if (bodyDotAllowed) {\n body = `(?:${body})(?:${bodyDotAllowed})*?`\n }\n\n // an empty !() is exactly equivalent to a starNoEmpty\n let final = ''\n if (this.type === '!' && this.#emptyExt) {\n final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty\n } else {\n const close =\n this.type === '!'\n ? // !() must match something,but !(x) can match ''\n '))' +\n (this.isStart() && !dot && !allowDot ? startNoDot : '') +\n star +\n ')'\n : this.type === '@'\n ? ')'\n : this.type === '?'\n ? ')?'\n : this.type === '+' && bodyDotAllowed\n ? ')'\n : this.type === '*' && bodyDotAllowed\n ? `)?`\n : `)${this.type}`\n final = start + body + close\n }\n return [\n final,\n unescape(body),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ]\n }\n\n #partsToRegExp(dot: boolean) {\n return this.#parts\n .map(p => {\n // extglob ASTs should only contain parent ASTs\n /* c8 ignore start */\n if (typeof p === 'string') {\n throw new Error('string type in extglob ast??')\n }\n /* c8 ignore stop */\n // can ignore hasMagic, because extglobs are already always magic\n const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot)\n this.#uflag = this.#uflag || uflag\n return re\n })\n .filter(p => !(this.isStart() && this.isEnd()) || !!p)\n .join('|')\n }\n\n static #parseGlob(\n glob: string,\n hasMagic: boolean | undefined,\n noEmpty: boolean = false\n ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n let escaping = false\n let re = ''\n let uflag = false\n for (let i = 0; i < glob.length; i++) {\n const c = glob.charAt(i)\n if (escaping) {\n escaping = false\n re += (reSpecials.has(c) ? '\\\\' : '') + c\n continue\n }\n if (c === '\\\\') {\n if (i === glob.length - 1) {\n re += '\\\\\\\\'\n } else {\n escaping = true\n }\n continue\n }\n if (c === '[') {\n const [src, needUflag, consumed, magic] = parseClass(glob, i)\n if (consumed) {\n re += src\n uflag = uflag || needUflag\n i += consumed - 1\n hasMagic = hasMagic || magic\n continue\n }\n }\n if (c === '*') {\n if (noEmpty && glob === '*') re += starNoEmpty\n else re += star\n hasMagic = true\n continue\n }\n if (c === '?') {\n re += qmark\n hasMagic = true\n continue\n }\n re += regExpEscape(c)\n }\n return [re, unescape(glob), !!hasMagic, uflag]\n }\n}\n","import { MinimatchOptions } from './index.js'\n/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character. In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (\n s: string,\n {\n windowsPathsNoEscape = false,\n }: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n) => {\n // don't need to escape +@! because we escape the parens\n // that make those magic, and escaping ! as [!] isn't valid,\n // because [!]] is a valid glob class meaning not ']'.\n return windowsPathsNoEscape\n ? s.replace(/[?*()[\\]]/g, '[$&]')\n : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&')\n}\n","import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n | 'aix'\n | 'android'\n | 'darwin'\n | 'freebsd'\n | 'haiku'\n | 'linux'\n | 'openbsd'\n | 'sunos'\n | 'win32'\n | 'cygwin'\n | 'netbsd'\n\nexport interface MinimatchOptions {\n nobrace?: boolean\n nocomment?: boolean\n nonegate?: boolean\n debug?: boolean\n noglobstar?: boolean\n noext?: boolean\n nonull?: boolean\n windowsPathsNoEscape?: boolean\n allowWindowsEscape?: boolean\n partial?: boolean\n dot?: boolean\n nocase?: boolean\n nocaseMagicOnly?: boolean\n magicalBraces?: boolean\n matchBase?: boolean\n flipNegate?: boolean\n preserveMultipleSlashes?: boolean\n optimizationLevel?: number\n platform?: Platform\n windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n p: string,\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n (pattern: string, options: MinimatchOptions = {}) =>\n (p: string) =>\n minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n const orig = minimatch\n\n const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n orig(p, pattern, ext(def, options))\n\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern: string, options: MinimatchOptions = {}) {\n super(pattern, ext(def, options))\n }\n static defaults(options: MinimatchOptions) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n },\n\n AST: class AST extends orig.AST {\n /* c8 ignore start */\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n super(type, parent, ext(def, options))\n }\n /* c8 ignore stop */\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n return orig.AST.fromGlob(pattern, ext(def, options))\n }\n },\n\n unescape: (\n s: string,\n options: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n ) => orig.unescape(s, ext(def, options)),\n\n escape: (\n s: string,\n options: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n ) => orig.escape(s, ext(def, options)),\n\n filter: (pattern: string, options: MinimatchOptions = {}) =>\n orig.filter(pattern, ext(def, options)),\n\n defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n orig.makeRe(pattern, ext(def, options)),\n\n braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n orig.braceExpand(pattern, ext(def, options)),\n\n match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n orig.match(list, pattern, ext(def, options)),\n\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n })\n}\nminimatch.defaults = defaults\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li <https://github.com/yetingli> for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n list: string[],\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n const mm = new Minimatch(pattern, options)\n list = list.filter(f => mm.match(f))\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n _src?: string\n _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n options: MinimatchOptions\n set: ParseReturnFiltered[][]\n pattern: string\n\n windowsPathsNoEscape: boolean\n nonegate: boolean\n negate: boolean\n comment: boolean\n empty: boolean\n preserveMultipleSlashes: boolean\n partial: boolean\n globSet: string[]\n globParts: string[][]\n nocase: boolean\n\n isWindows: boolean\n platform: Platform\n windowsNoMagicRoot: boolean\n\n regexp: false | null | MMRegExp\n constructor(pattern: string, options: MinimatchOptions = {}) {\n assertValidPattern(pattern)\n\n options = options || {}\n this.options = options\n this.pattern = pattern\n this.platform = options.platform || defaultPlatform\n this.isWindows = this.platform === 'win32'\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/')\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes\n this.regexp = null\n this.negate = false\n this.nonegate = !!options.nonegate\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n this.nocase = !!this.options.nocase\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase)\n\n this.globSet = []\n this.globParts = []\n this.set = []\n\n // make the set of regexps etc.\n this.make()\n }\n\n hasMagic(): boolean {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string') return true\n }\n }\n return false\n }\n\n debug(..._: any[]) {}\n\n make() {\n const pattern = this.pattern\n const options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())]\n\n if (options.debug) {\n this.debug = (...args: any[]) => console.error(...args)\n }\n\n this.debug(this.pattern, this.globSet)\n\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s))\n this.globParts = this.preprocess(rawGlobParts)\n this.debug(this.pattern, this.globParts)\n\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC =\n s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3])\n const isDrive = /^[a-z]:/i.test(s[0])\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]\n } else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))]\n }\n }\n return s.map(ss => this.parse(ss))\n })\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n this.set = set.filter(\n s => s.indexOf(false) === -1\n ) as ParseReturnFiltered[][]\n\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i]\n if (\n p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])\n ) {\n p[2] = '?'\n }\n }\n }\n\n this.debug(this.pattern, this.set)\n }\n\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts: string[][]) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*'\n }\n }\n }\n }\n\n const { optimizationLevel = 1 } = this.options\n\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts)\n globParts = this.secondPhasePreProcess(globParts)\n } else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts)\n } else {\n globParts = this.adjascentGlobstarOptimize(globParts)\n }\n\n return globParts\n }\n\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs\n while (parts[i + 1] === '**') {\n i++\n }\n if (i !== gs) {\n parts.splice(gs, i - gs)\n }\n }\n return parts\n })\n }\n\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n parts = parts.reduce((set: string[], part) => {\n const prev = set[set.length - 1]\n if (part === '**' && prev === '**') {\n return set\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop()\n return set\n }\n }\n set.push(part)\n return set\n }, [])\n return parts.length === 0 ? [''] : parts\n })\n }\n\n levelTwoFileOptimize(parts: string | string[]) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts)\n }\n let didSomething: boolean = false\n do {\n didSomething = false\n // <pre>/<e>/<rest> -> <pre>/<rest>\n if (!this.preserveMultipleSlashes) {\n for (let i = 1; i < parts.length - 1; i++) {\n const p = parts[i]\n // don't squeeze out UNC patterns\n if (i === 1 && p === '' && parts[0] === '') continue\n if (p === '.' || p === '') {\n didSomething = true\n parts.splice(i, 1)\n i--\n }\n }\n if (\n parts[0] === '.' &&\n parts.length === 2 &&\n (parts[1] === '.' || parts[1] === '')\n ) {\n didSomething = true\n parts.pop()\n }\n }\n\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n let dd: number = 0\n while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n const p = parts[dd - 1]\n if (p && p !== '.' && p !== '..' && p !== '**') {\n didSomething = true\n parts.splice(dd - 1, 2)\n dd -= 2\n }\n }\n } while (didSomething)\n return parts.length === 0 ? [''] : parts\n }\n\n // First phase: single-pattern processing\n // <pre> is 1 or more portions\n // <rest> is 1 or more portions\n // <p> is any portion other than ., .., '', or **\n // <e> is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}\n // <pre>/<e>/<rest> -> <pre>/<rest>\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n // **/**/<rest> -> **/<rest>\n //\n // **/*/<rest> -> */**/<rest> <== not valid because ** doesn't follow\n // this WOULD be allowed if ** did follow symlinks, or * didn't\n firstPhasePreProcess(globParts: string[][]) {\n let didSomething = false\n do {\n didSomething = false\n // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = gs\n while (parts[gss + 1] === '**') {\n // <pre>/**/**/<rest> -> <pre>/**/<rest>\n gss++\n }\n // eg, if gs is 2 and gss is 4, that means we have 3 **\n // parts, and can remove 2 of them.\n if (gss > gs) {\n parts.splice(gs + 1, gss - gs)\n }\n\n let next = parts[gs + 1]\n const p = parts[gs + 2]\n const p2 = parts[gs + 3]\n if (next !== '..') continue\n if (\n !p ||\n p === '.' ||\n p === '..' ||\n !p2 ||\n p2 === '.' ||\n p2 === '..'\n ) {\n continue\n }\n didSomething = true\n // edit parts in place, and push the new one\n parts.splice(gs, 1)\n const other = parts.slice(0)\n other[gs] = '**'\n globParts.push(other)\n gs--\n }\n\n // <pre>/<e>/<rest> -> <pre>/<rest>\n if (!this.preserveMultipleSlashes) {\n for (let i = 1; i < parts.length - 1; i++) {\n const p = parts[i]\n // don't squeeze out UNC patterns\n if (i === 1 && p === '' && parts[0] === '') continue\n if (p === '.' || p === '') {\n didSomething = true\n parts.splice(i, 1)\n i--\n }\n }\n if (\n parts[0] === '.' &&\n parts.length === 2 &&\n (parts[1] === '.' || parts[1] === '')\n ) {\n didSomething = true\n parts.pop()\n }\n }\n\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n let dd: number = 0\n while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n const p = parts[dd - 1]\n if (p && p !== '.' && p !== '..' && p !== '**') {\n didSomething = true\n const needDot = dd === 1 && parts[dd + 1] === '**'\n const splin = needDot ? ['.'] : []\n parts.splice(dd - 1, 2, ...splin)\n if (parts.length === 0) parts.push('')\n dd -= 2\n }\n }\n }\n } while (didSomething)\n\n return globParts\n }\n\n // second phase: multi-pattern dedupes\n // {<pre>/*/<rest>,<pre>/<p>/<rest>} -> <pre>/*/<rest>\n // {<pre>/<rest>,<pre>/<rest>} -> <pre>/<rest>\n // {<pre>/**/<rest>,<pre>/<rest>} -> <pre>/**/<rest>\n //\n // {<pre>/**/<rest>,<pre>/**/<p>/<rest>} -> <pre>/**/<rest>\n // ^-- not valid because ** doens't follow symlinks\n secondPhasePreProcess(globParts: string[][]): string[][] {\n for (let i = 0; i < globParts.length - 1; i++) {\n for (let j = i + 1; j < globParts.length; j++) {\n const matched = this.partsMatch(\n globParts[i],\n globParts[j],\n !this.preserveMultipleSlashes\n )\n if (!matched) continue\n globParts[i] = matched\n globParts[j] = []\n }\n }\n return globParts.filter(gs => gs.length)\n }\n\n partsMatch(\n a: string[],\n b: string[],\n emptyGSMatch: boolean = false\n ): false | string[] {\n let ai = 0\n let bi = 0\n let result: string[] = []\n let which: string = ''\n while (ai < a.length && bi < b.length) {\n if (a[ai] === b[bi]) {\n result.push(which === 'b' ? b[bi] : a[ai])\n ai++\n bi++\n } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n result.push(a[ai])\n ai++\n } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n result.push(b[bi])\n bi++\n } else if (\n a[ai] === '*' &&\n b[bi] &&\n (this.options.dot || !b[bi].startsWith('.')) &&\n b[bi] !== '**'\n ) {\n if (which === 'b') return false\n which = 'a'\n result.push(a[ai])\n ai++\n bi++\n } else if (\n b[bi] === '*' &&\n a[ai] &&\n (this.options.dot || !a[ai].startsWith('.')) &&\n a[ai] !== '**'\n ) {\n if (which === 'a') return false\n which = 'b'\n result.push(b[bi])\n ai++\n bi++\n } else {\n return false\n }\n }\n // if we fall out of the loop, it means they two are identical\n // as long as their lengths match\n return a.length === b.length && result\n }\n\n parseNegate() {\n if (this.nonegate) return\n\n const pattern = this.pattern\n let negate = false\n let negateOffset = 0\n\n for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.slice(negateOffset)\n this.negate = negate\n }\n\n // set partial to true to test if, for example,\n // \"/a/b\" matches the start of \"/*/b/*/d\"\n // Partial means, if you run out of file before you run\n // out of pattern, then that's fine, as long as all\n // the parts match.\n matchOne(file: string[], pattern: ParseReturn[], partial: boolean = false) {\n const options = this.options\n\n // UNC paths like //?/X:/... can match X:/... and vice versa\n // Drive letters in absolute drive or unc paths are always compared\n // case-insensitively.\n if (this.isWindows) {\n const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0])\n const fileUNC =\n !fileDrive &&\n file[0] === '' &&\n file[1] === '' &&\n file[2] === '?' &&\n /^[a-z]:$/i.test(file[3])\n\n const patternDrive =\n typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0])\n const patternUNC =\n !patternDrive &&\n pattern[0] === '' &&\n pattern[1] === '' &&\n pattern[2] === '?' &&\n typeof pattern[3] === 'string' &&\n /^[a-z]:$/i.test(pattern[3])\n\n const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined\n const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined\n if (typeof fdi === 'number' && typeof pdi === 'number') {\n const [fd, pd]: [string, string] = [file[fdi], pattern[pdi] as string]\n if (fd.toLowerCase() === pd.toLowerCase()) {\n pattern[pdi] = fd\n if (pdi > fdi) {\n pattern = pattern.slice( pdi)\n } else if (fdi > pdi) {\n file = file.slice(fdi)\n }\n }\n }\n }\n\n // resolve and reduce . and .. portions in the file as well.\n // dont' need to do the second phase, because it's only one string[]\n const { optimizationLevel = 1 } = this.options\n if (optimizationLevel >= 2) {\n file = this.levelTwoFileOptimize(file)\n }\n\n this.debug('matchOne', this, { file, pattern })\n this.debug('matchOne', file.length, pattern.length)\n\n for (\n var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n fi < fl && pi < pl;\n fi++, pi++\n ) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* c8 ignore start */\n if (p === false) {\n return false\n }\n /* c8 ignore stop */\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (\n file[fi] === '.' ||\n file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')\n )\n return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (\n swallowee === '.' ||\n swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')\n ) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n /* c8 ignore start */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) {\n return true\n }\n }\n /* c8 ignore stop */\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n let hit: boolean\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = p.test(f)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return fi === fl - 1 && file[fi] === ''\n\n /* c8 ignore start */\n } else {\n // should be unreachable.\n throw new Error('wtf?')\n }\n /* c8 ignore stop */\n }\n\n braceExpand() {\n return braceExpand(this.pattern, this.options)\n }\n\n parse(pattern: string): ParseReturn {\n assertValidPattern(pattern)\n\n const options = this.options\n\n // shortcuts\n if (pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n // far and away, the most common glob pattern parts are\n // *, *.*, and *.<ext> Add a fast check method for those.\n let m: RegExpMatchArray | null\n let fastTest: null | ((f: string) => boolean) = null\n if ((m = pattern.match(starRE))) {\n fastTest = options.dot ? starTestDot : starTest\n } else if ((m = pattern.match(starDotExtRE))) {\n fastTest = (\n options.nocase\n ? options.dot\n ? starDotExtTestNocaseDot\n : starDotExtTestNocase\n : options.dot\n ? starDotExtTestDot\n : starDotExtTest\n )(m[1])\n } else if ((m = pattern.match(qmarksRE))) {\n fastTest = (\n options.nocase\n ? options.dot\n ? qmarksTestNocaseDot\n : qmarksTestNocase\n : options.dot\n ? qmarksTestDot\n : qmarksTest\n )(m)\n } else if ((m = pattern.match(starDotStarRE))) {\n fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n } else if ((m = pattern.match(dotStarRE))) {\n fastTest = dotStarTest\n }\n\n const re = AST.fromGlob(pattern, this.options).toMMPattern()\n return fastTest ? Object.assign(re, { test: fastTest }) : re\n }\n\n makeRe() {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n const set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n const options = this.options\n\n const twoStar = options.noglobstar\n ? star\n : options.dot\n ? twoStarDot\n : twoStarNoDot\n const flags = new Set(options.nocase ? ['i'] : [])\n\n // regexpify non-globstar patterns\n // if ** is only item, then we just do one twoStar\n // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n // if ** is last, append (\\/twoStar|) to previous\n // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n // then filter out GLOBSTAR symbols\n let re = set\n .map(pattern => {\n const pp: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n if (p instanceof RegExp) {\n for (const f of p.flags.split('')) flags.add(f)\n }\n return typeof p === 'string'\n ? regExpEscape(p)\n : p === GLOBSTAR\n ? GLOBSTAR\n : p._src\n }) as (string | typeof GLOBSTAR)[]\n pp.forEach((p, i) => {\n const next = pp[i + 1]\n const prev = pp[i - 1]\n if (p !== GLOBSTAR || prev === GLOBSTAR) {\n return\n }\n if (prev === undefined) {\n if (next !== undefined && next !== GLOBSTAR) {\n pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n } else {\n pp[i] = twoStar\n }\n } else if (next === undefined) {\n pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n } else if (next !== GLOBSTAR) {\n pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n pp[i + 1] = GLOBSTAR\n }\n })\n return pp.filter(p => p !== GLOBSTAR).join('/')\n })\n .join('|')\n\n // need to wrap in parens if we had more than one thing with |,\n // otherwise only the first will be anchored to ^ and the last to $\n const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', '']\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^' + open + re + close + '$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').+$'\n\n try {\n this.regexp = new RegExp(re, [...flags].join(''))\n /* c8 ignore start */\n } catch (ex) {\n // should be impossible\n this.regexp = false\n }\n /* c8 ignore stop */\n return this.regexp\n }\n\n slashSplit(p: string) {\n // if p starts with // on windows, we preserve that\n // so that UNC paths aren't broken. Otherwise, any number of\n // / characters are coalesced into one, unless\n // preserveMultipleSlashes is set to true.\n if (this.preserveMultipleSlashes) {\n return p.split('/')\n } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n // add an extra '' for the one we lose\n return ['', ...p.split(/\\/+/)]\n } else {\n return p.split(/\\/+/)\n }\n }\n\n match(f: string, partial = this.partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) {\n return false\n }\n if (this.empty) {\n return f === ''\n }\n\n if (f === '/' && partial) {\n return true\n }\n\n const options = this.options\n\n // windows: need to use /, not \\\n if (this.isWindows) {\n f = f.split('\\\\').join('/')\n }\n\n // treat the test path as a set of pathparts.\n const ff = this.slashSplit(f)\n this.debug(this.pattern, 'split', ff)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n const set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n let filename: string = ff[ff.length - 1]\n if (!filename) {\n for (let i = ff.length - 2; !filename && i >= 0; i--) {\n filename = ff[i]\n }\n }\n\n for (let i = 0; i < set.length; i++) {\n const pattern = set[i]\n let file = ff\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n const hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) {\n return true\n }\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) {\n return false\n }\n return this.negate\n }\n\n static defaults(def: MinimatchOptions) {\n return minimatch.defaults(def).Minimatch\n }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Accordion, Form, Button, Table} from \"react-bootstrap\";\nimport {Token, StreamURL, Clipboard} from \"../utils\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport {useRecordStatus} from \"../components/DvrStatus\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useTranslation} from \"react-i18next\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport * as Icon from \"react-bootstrap-icons\";\nimport PopoverConfirm from \"../components/PopoverConfirm\";\nimport TutorialsText from \"../components/TutorialsText\";\nimport { minimatch } from \"minimatch\";\n\nexport default function ScenarioRecord() {\n const recordStatus = useRecordStatus();\n const [activeKeys, setActiveKeys] = React.useState();\n const [postProcess, setPostProcess] = React.useState();\n const [postProcessValue, setPostProcessValue] = React.useState();\n\n // We must init the activeKey, because the defaultActiveKey only apply when init for Accordion.\n // See https://stackoverflow.com/q/61324259/17679565\n React.useEffect(() => {\n if (!recordStatus) return;\n\n if (recordStatus.processCpDir) {\n setPostProcess('post-cp-file');\n setPostProcessValue(recordStatus.processCpDir);\n }\n\n if (recordStatus.all) {\n setActiveKeys(['4']);\n } else {\n setActiveKeys(['3']);\n }\n }, [recordStatus, setActiveKeys, setPostProcess, setPostProcessValue]);\n\n if (!activeKeys) return <></>;\n return <ScenarioRecordImpl activeKeys={activeKeys} defaultApplyAll={recordStatus.all}\n defaultGlobs={recordStatus.globs} defaultPostProcess={postProcess}\n defaultPostProcessValue={postProcessValue}\n recordHome={recordStatus.home}/>;\n}\n\nfunction ScenarioRecordImpl({activeKeys, defaultApplyAll, defaultGlobs, defaultPostProcess, defaultPostProcessValue, recordHome}) {\n const language = useSrsLanguage();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [recordAll, setRecordAll] = React.useState(defaultApplyAll);\n const [recordFiles, setRecordFiles] = React.useState();\n const [refreshNow, setRefreshNow] = React.useState();\n\n const [showGlobTest, setShowGlobTest] = React.useState(false);\n const [globFilters, setGlobFilters] = React.useState(defaultGlobs ? defaultGlobs.join('\\n') : '');\n const [targetUrl, setTargetUrl] = React.useState();\n\n const [postProcess, setPostProcess] = React.useState(defaultPostProcess);\n const [postCpDir, setPostCpDir] = React.useState(defaultPostProcessValue || '/data/srs-s3-bucket');\n\n const testGlobFilters = React.useCallback(() => {\n if (!targetUrl) return alert(t('record.urlEmpty'));\n if (!globFilters) return alert(t('record.globEmpty'));\n\n const a0 = document.createElement(\"a\");\n a0.href = targetUrl.replace('rtmp:', 'http:');\n\n let matched, matchGlob;\n globFilters.split('\\n').forEach(glob => {\n if (minimatch(a0.pathname, glob)) {\n matched = true;\n matchGlob = glob;\n }\n });\n\n if (matched) {\n alert(`OK! URL ${targetUrl} is matched by glob filter: ${matchGlob}`);\n } else {\n alert(`Failed! URL ${targetUrl} is not matched by any glob filters!`);\n }\n }, [t, targetUrl, globFilters]);\n\n const updateGlobFilters = React.useCallback(() => {\n if (!globFilters) return alert(t('record.globEmpty'));\n\n axios.post('/terraform/v1/hooks/record/globs', {\n globs: globFilters.split('\\n'),\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('record.setupOk'));\n console.log(`Record: Update glob filters ok`);\n }).catch(handleError);\n }, [t, handleError, globFilters]);\n\n const updatePostProcessing = React.useCallback(() => {\n if (!postProcess) return alert(t('record.postEmpty'));\n\n axios.post('/terraform/v1/hooks/record/post-processing', {\n postProcess: postProcess, postCpDir: postCpDir,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('record.setupOk'));\n console.log(`Record: Update post processing ok`);\n }).catch(handleError);\n }, [t, handleError, postProcess, postCpDir]);\n\n React.useEffect(() => {\n const refreshRecordFiles = () => {\n axios.post('/terraform/v1/hooks/record/files', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`Record: Files ok, ${JSON.stringify(res.data.data)}`);\n setRecordFiles(res.data.data.map(file => {\n const l = window.location;\n const schema = l.protocol.replace(':', '');\n const httpPort = l.port || (l.protocol === 'http:' ? 80 : 443);\n if (file.progress) {\n file.location = `${l.protocol}//${l.host}/terraform/v1/hooks/record/hls/${file.uuid}.m3u8`;\n file.preview = `/players/srs_player.html?schema=${schema}&port=${httpPort}&autostart=true&app=terraform/v1/hooks/record/hls&stream=${file.uuid}.m3u8`;\n } else {\n file.location = `${l.protocol}//${l.host}/terraform/v1/hooks/record/hls/${file.uuid}/index.mp4`;\n file.preview = `/terraform/v1/hooks/record/hls/${file.uuid}/index.mp4`;\n }\n\n return {\n ...file,\n url: StreamURL.build(file.vhost, file.app, file.stream),\n update: moment(file.update),\n duration: Number(file.duration),\n size: Number(file.size / 1024.0 / 1024),\n };\n }).sort((a, b) => {\n return b.update - a.update;\n }).map((file, i) => {\n return {...file, i: i + 1};\n }));\n }).catch(handleError);\n };\n\n refreshRecordFiles();\n const timer = setInterval(() => refreshRecordFiles(), 10 * 1000);\n return () => clearInterval(timer);\n }, [handleError, refreshNow]);\n\n const setupRecordPattern = React.useCallback((e, recordAll) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/hooks/record/apply', {\n all: !!recordAll,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('record.setupOk'));\n console.log(`Record: Apply patterns ok, all=${recordAll}`);\n }).catch(handleError);\n }, [handleError, t]);\n\n const removeRecord = React.useCallback((file) => {\n axios.post('/terraform/v1/hooks/record/remove', {\n uuid: file.uuid,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setRefreshNow(!refreshNow);\n console.log(`Record: Remove file ok, file=${JSON.stringify(file)}`);\n }).catch(handleError);\n }, [refreshNow, handleError, setRefreshNow]);\n\n const endRecord = React.useCallback((file) => {\n axios.post('/terraform/v1/hooks/record/end', {\n uuid: file.uuid,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setTimeout(() => {\n setRefreshNow(!refreshNow);\n }, 1000);\n console.log(`Record: End file ok, file=${JSON.stringify(file)}`);\n }).catch(handleError);\n }, [refreshNow, handleError, setRefreshNow]);\n\n const copyToClipboard = React.useCallback((e, text) => {\n e.preventDefault();\n\n Clipboard.copy(text).then(() => {\n alert(t('helper.copyOk'));\n }).catch((err) => {\n alert(`${t('helper.copyFail')} ${err}`);\n });\n }, [t]);\n\n return (\n <Accordion defaultActiveKey={activeKeys} alwaysOpen>\n <React.Fragment>\n {language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 本地录制,指录制视频流到SRS Stack的本地磁盘,只要推送到服务器的流都可以录制。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>直播转点播,录制直播流成为一个HLS文件,存储在SRS Stack本地磁盘,可以下载</li>\n </ul>\n <p>特别注意:</p>\n <ul>\n <li>如果流的路数特别多,磁盘会很忙,特别是挂共享存储,需要监控磁盘IO和负载。</li>\n <li>虽然本地磁盘足够大,但云存储是真的无限大,而本地磁盘其实还是有限的,需要监控磁盘空间。</li>\n <li>暂时不支持本地文件的管理,比如删除和清理等。</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>具体使用步骤,请根据下面引导操作</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <div>\n Local recording refers to recording video streams to the local disk of the SRS Stack, and any stream pushed to the server can be recorded.\n <p></p>\n </div>\n <p>Specific application scenarios include:</p>\n <ul>\n <li>Live to VOD, recording live streams into an HLS file, stored on the SRS Stack local disk, and can be downloaded</li>\n </ul>\n <p>Special attention:</p>\n <ul>\n <li>If there are many streams, the disk will be very busy, especially when using shared storage, so it is necessary to monitor disk IO and load.</li>\n <li>Although the local disk is large enough, cloud storage is truly unlimited, while local disk space is actually limited, so it is necessary to monitor disk space.</li>\n <li>Temporary management of local files, such as deletion and cleanup, is not supported.</li>\n </ul>\n <p>Instructions for use:</p>\n <ul>\n <li>For specific usage steps, please follow the guide below</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n }\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('record.dir')}</Accordion.Header>\n <Accordion.Body>\n {t('record.dir2')} <code>{recordHome}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, recordHome)} />\n </div> \n <TutorialsText prefixLine={true} title={t('record.dir3')}>\n {t('record.dir4')} <font color='red'>/data</font> {t('record.dir5')} \n <font color='red'>{t('record.dir6')}</font> {t('record.dir7')}\n </TutorialsText>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('record.rule')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('record.glob')}</Form.Label>\n <Form.Text> * {t('record.glob2')} \n <a href='#noid' onClick={(e)=>{e.preventDefault(); setShowGlobTest(!showGlobTest);}}>{t('record.glob3')}</a> \n {t('record.glob4')} </Form.Text>\n <Form.Control as=\"textarea\" type='text' rows={5} defaultValue={globFilters}\n placeholder=\"For example: /live/livestream or /live/* or /*/*\"\n onChange={(e) => setGlobFilters(e.target.value)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => {\n e.preventDefault();\n updateGlobFilters();\n }}>{t('record.update2')}</Button>\n {showGlobTest && <React.Fragment>\n <p/>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('record.test')}</Form.Label>\n <Form.Text> * {t('record.test2')} </Form.Text>\n <Form.Control as=\"input\" type='text' placeholder=\"For example: rtmp://localhost/live/livestream\"\n onChange={(e) => setTargetUrl(e.target.value)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => {\n e.preventDefault();\n testGlobFilters();\n }}>{t('record.test3')}</Button>\n </React.Fragment>}\n <p/>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('record.post')}</Form.Label>\n <Form.Text> * {t('record.post2')}</Form.Text>\n <Form.Select defaultValue={postProcess} onChange={(e) => setPostProcess(e.target.value)}>\n <option>{t('helper.noSelect')}</option>\n <option value=\"post-cp-file\">{t('record.postCp')}</option>\n </Form.Select>\n </Form.Group>\n {postProcess === 'post-cp-file' && <Form.Group className=\"mb-3\">\n <Form.Label>{t('record.postCp2')}</Form.Label>\n <Form.Text> * {t('record.postCp3')}</Form.Text>\n <Form.Control as=\"input\" type='text' defaultValue={postCpDir}\n placeholder=\"For example: /data/srs-s3-bucket\"\n onChange={(e) => setPostCpDir(e.target.value)}/>\n </Form.Group>}\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => {\n e.preventDefault();\n updatePostProcessing();\n }}>{t('record.update3')}</Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{t('record.enable')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => {\n e.preventDefault();\n setRecordAll(!recordAll);\n setupRecordPattern(e, !recordAll);\n }}>\n {recordAll ? t('record.stop') : t('record.start')}\n </Button> \n <Form.Text> * {t('record.rule2')}</Form.Text>\n </Form.Group>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"4\">\n <Accordion.Header>{t('record.task')}</Accordion.Header>\n <Accordion.Body>\n {\n recordFiles?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>{t('record.status')}</th>\n <th>{t('record.update')}</th>\n <th>{t('record.source')}</th>\n <th>{t('record.duration')}</th>\n <th>{t('record.size')}</th>\n <th>{t('record.slice')}</th>\n <th>{t('record.url')}</th>\n <th>{t('record.action')}</th>\n </tr>\n </thead>\n <tbody>\n {\n recordFiles?.map(file => {\n return <tr key={file.uuid} name={file.uuid}>\n <td>{file.i}</td>\n <td title={t('record.tip')}>{file.progress ? t('record.ing') : t('record.done')}</td>\n <td>{`${file.update.format('YYYY-MM-DD HH:mm:ss')}`}</td>\n <td>{file.url}</td>\n <td>{`${file.duration.toFixed(1)}`} {t('helper.seconds')}</td>\n <td>{`${file.size.toFixed(1)}`}MB</td>\n <td>{file.nn}</td>\n <td><a href={file.location} onClick={(e) => copyToClipboard(e, file.location)} target='_blank' rel='noreferrer'>{t('helper.copy2')}</a></td>\n <td>\n <a href={file.preview} target='_blank' rel='noreferrer'>\n {t('helper.preview')}\n </a> \n <PopoverConfirm placement='top' trigger={ <a href={`#${file.uuid}`} hidden={!file.progress}>{t('helper.end')}</a> } onClick={() => endRecord(file)}>\n <p>\n {t('scenario.endTip')}\n </p>\n </PopoverConfirm> <PopoverConfirm placement='top' trigger={ <a href={`#${file.uuid}`} hidden={file.progress}>{t('helper.delete')}</a> } onClick={() => removeRecord(file)}>\n <p>\n {t('scenario.rmFileTip1')} \n <span className='text-danger'><strong>\n {t('scenario.rmFileTip2')}\n </strong></span>\n {t('scenario.rmFileTip3')}\n </p>\n </PopoverConfirm>\n </td>\n </tr>;\n })\n }\n </tbody>\n </Table>\n ) : ''\n }\n {!recordFiles?.length ? t('record.none') : ''}\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroupItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n active,\n disabled,\n eventKey,\n className,\n variant,\n action,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n ...props\n });\n const handleClick = useEventCallback(event => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n navItemProps.onClick(event);\n });\n\n if (disabled && props.tabIndex === undefined) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n } // eslint-disable-next-line no-nested-ternary\n\n\n const Component = as || (action ? props.href ? 'a' : 'button' : 'div');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n ...navItemProps,\n onClick: handleClick,\n className: classNames(className, bsPrefix, meta.isActive && 'active', disabled && 'disabled', variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)\n });\n});\nListGroupItem.displayName = 'ListGroupItem';\nexport default ListGroupItem;","import classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ListGroupItem from './ListGroupItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n className,\n bsPrefix: initialBsPrefix,\n variant,\n horizontal,\n numbered,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'div',\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'list-group');\n let horizontalVariant;\n\n if (horizontal) {\n horizontalVariant = horizontal === true ? 'horizontal' : `horizontal-${horizontal}`;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(!(horizontal && variant === 'flush'), '`variant=\"flush\"` and `horizontal` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(BaseNav, {\n ref: ref,\n ...controlledProps,\n as: as,\n className: classNames(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`, numbered && `${bsPrefix}-numbered`)\n });\n});\nListGroup.displayName = 'ListGroup';\nexport default Object.assign(ListGroup, {\n Item: ListGroupItem\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormCheckInput from './FormCheckInput';\nimport InputGroupContext from './InputGroupContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupText = createWithBsPrefix('input-group-text', {\n Component: 'span'\n});\n\nconst InputGroupCheckbox = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"checkbox\",\n ...props\n })\n});\n\nconst InputGroupRadio = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"radio\",\n ...props\n })\n});\n\n/**\n *\n * @property {InputGroupText} Text\n * @property {InputGroupRadio} Radio\n * @property {InputGroupCheckbox} Checkbox\n */\nconst InputGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n hasValidation,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group'); // Intentionally an empty object. Used in detecting if a dropdown\n // exists under an input group.\n\n const contextValue = useMemo(() => ({}), []);\n return /*#__PURE__*/_jsx(InputGroupContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, hasValidation && 'has-validation')\n })\n });\n});\nInputGroup.displayName = 'InputGroup';\nexport default Object.assign(InputGroup, {\n Text: InputGroupText,\n Radio: InputGroupRadio,\n Checkbox: InputGroupCheckbox\n});","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {Tools} from \"../utils\";\nimport {useTranslation} from \"react-i18next\";\nimport moment from \"moment\";\nimport {Button, Col, Form, Row, ListGroup} from \"react-bootstrap\";\nimport axios from \"axios\";\n\nexport default function FileUploader({onFilesUploaded}) {\n const accept = React.useMemo(() => ['.mp4', '.flv', '.ts'], []);\n const multiple = React.useMemo(() => false, []);\n\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n const [uploading, setUploading] = React.useState(false);\n const [filesToUpload, setFilesToUpload] = React.useState([]);\n const [filesUploading, setFilesUploading] = React.useState({});\n\n // For callback to update state, because in callback we can only get the copy, so we need a ref to point to the latest\n // copy of state of variant objects.\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current.filesProgressing = filesUploading;\n }, [filesUploading]);\n\n const onUploadFile = React.useCallback((e) => {\n const files = [];\n for (const file of e.target.files) files.push(file);\n setFilesToUpload(files);\n\n const size = files.map(f => f.size).reduce((a, b) => a + b, 0) / 1024 / 1024;\n console.log(`Uploader: Got ${files.length} files ${size.toFixed(1)}MB to upload, ${JSON.stringify(files.map(f => f.name))}`);\n }, [setFilesToUpload]);\n\n const uploaVideoFiles = React.useCallback(async () => {\n setUploading(true);\n\n const uploadFile = async (file, fileInfo) => {\n const starttime = moment();\n return await new Promise((resolve, reject) => {\n console.log(`Uploader: start to upload ${file.name} ${JSON.stringify(fileInfo)}`);\n\n const formData = new FormData();\n const sessionName = file.name;\n formData.append(sessionName, file);\n\n axios.post(`/terraform/v1/ffmpeg/vlive/upload/${sessionName}`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data'\n },\n onUploadProgress: (progressData) => {\n //{loaded: 112967680, total: 169659461, timeStamp:257985, type:\"progress\"};\n progressData.cost = moment() - starttime;\n if (progressData.cost) progressData.speed = progressData.loaded * 1000.0 / progressData.cost; // In Kbps\n if (progressData.total) progressData.percent = progressData.loaded * 1.0 / progressData.total; // [0, 1];\n fileInfo = Tools.merge(fileInfo, {...progressData, cost: (moment() - starttime) || 1});\n setFilesUploading(Tools.copy(ref.current.filesProgressing, [file.name, fileInfo]));\n },\n }).then(res => {\n fileInfo.percent = 1;\n fileInfo.cost = moment() - starttime;\n if (fileInfo.cost) fileInfo.speed = file.size * 1000.0 / fileInfo.cost;\n\n // Merge the server information.\n fileInfo.uuid = res.data.data.uuid;\n fileInfo.target = res.data.data.target;\n\n console.log(`Uploader: Upload ${file.name} ok, info=${JSON.stringify(fileInfo)}, cost=${moment() - starttime}ms`);\n resolve(fileInfo);\n }).catch(handleError);\n });\n };\n\n try {\n const uploadedFiles = [];\n for (const file of filesToUpload) {\n let fileInfo = Tools.merge(ref.current.filesProgressing[file.name], {\n name: file.name, size: file.size,\n });\n try {\n fileInfo = await uploadFile(file, {...fileInfo});\n uploadedFiles.push(fileInfo);\n } finally {\n setFilesUploading(Tools.copy(ref.current.filesProgressing, [file.name, fileInfo]));\n }\n }\n\n console.log(`Uploader: All files done, callback with ${JSON.stringify(uploadedFiles)}`);\n onFilesUploaded && onFilesUploaded(uploadedFiles);\n } catch (e) {\n handleError(e);\n } finally {\n setUploading(false);\n }\n }, [setUploading, filesToUpload, setFilesUploading, onFilesUploaded, ref, handleError]);\n\n return (<>\n <Row>\n <Col xs='auto'>\n <FilePicker {...{accept, multiple, disabled: uploading, onChange: onUploadFile}} />\n </Col>\n <Col xs='auto'>\n <Button variant=\"primary\" type=\"button\" disabled={uploading || !filesToUpload?.length}\n onClick={uploaVideoFiles}>{t('helper.upload')}</Button>\n </Col>\n </Row>\n <UploadingFiles filesUploading={filesUploading} filesToUpload={filesToUpload} />\n </>);\n}\n\nfunction FilePicker({accept, multiple, disabled, onChange}) {\n const {t} = useTranslation();\n const [filesToUpload, setFilesToUpload] = React.useState([]);\n const [hover, setHover] = React.useState(false);\n\n const onUploadFile = React.useCallback((e) => {\n const files = [];\n for (const file of e.target.files) files.push(file);\n setFilesToUpload(files);\n onChange && onChange(e);\n }, [setFilesToUpload, onChange]);\n\n const filePickerId = `file-picker-${Math.random().toString(16).slice(-6)}`;\n return <>\n <label htmlFor={filePickerId} style={{\n cursor: 'pointer',\n padding: '7px 12px 7px 12px',\n backgroundColor: hover ? '#d9d9d9' : '#e9e9e9',\n borderBottomLeftRadius: '5px',\n borderTopLeftRadius: '5px'\n }} onMouseEnter={() => setHover(true)} onMouseLeave={() => setHover(false)}>\n {t('fp.label')}\n </label>\n <label htmlFor={filePickerId} style={{\n cursor: 'pointer',\n padding: '6px 130px 6px 10px',\n backgroundColor: '#fefefe',\n border: '1px solid #e0e0e0',\n borderBottomRightRadius: '5px',\n borderTopRightRadius: '5px'\n }} onMouseEnter={() => setHover(true)} onMouseLeave={() => setHover(false)}>\n {filesToUpload?.length ? filesToUpload.map(f => f.name).join(', ') : t('fp.nofile')}\n </label>\n <Form.Control style={{display: 'none'}} id={filePickerId} type=\"file\" accept={accept}\n multiple={multiple} disabled={disabled} onChange={onUploadFile}/>\n </>;\n}\n\nfunction UploadingFiles({filesUploading, filesToUpload}) {\n if (!filesToUpload?.length) return <></>;\n\n return <Row>\n <Col xs='auto'>\n <ListGroup>\n {filesToUpload.map((f, index) => {\n return <ListGroup.Item key={f.name}>\n {index + 1}: {f.name} {Number(f.size / 1024 / 1024).toFixed(1)}MB \n {filesUploading[f.name]?.speed && `${Number(filesUploading[f.name].speed * 8.0 / 1000 / 1000).toFixed(2)}Mbps`} \n {filesUploading[f.name]?.percent && `${Number(filesUploading[f.name].percent * 100).toFixed(0)}%`} \n {filesUploading[f.name]?.cost && `${Number(filesUploading[f.name].cost / 1000).toFixed(0)}s`} \n </ListGroup.Item>;\n })}\n <ListGroup.Item>\n <b>Total: {Number(filesToUpload.map(f => f.size).reduce((a, b) => a + b, 0) / 1024 / 1024).toFixed(1)}MB</b>\n </ListGroup.Item>\n </ListGroup>\n </Col>\n </Row>;\n}\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Accordion, Badge, Button, Col, Form, InputGroup, ListGroup, Row, Table} from \"react-bootstrap\";\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport FileUploader from \"../components/FileUploader\";\nimport {useTranslation} from \"react-i18next\";\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\n\nexport default function ScenarioVLive() {\n const [init, setInit] = React.useState();\n const [activeKey, setActiveKey] = React.useState();\n const [secrets, setSecrets] = React.useState();\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/ffmpeg/vlive/secret', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const secrets = res.data.data;\n setInit(true);\n setSecrets(secrets || {});\n console.log(`VLive: Secret query ok ${JSON.stringify(secrets)}`);\n }).catch(handleError);\n }, [handleError]);\n\n React.useEffect(() => {\n if (!init || !secrets) return;\n\n if (secrets.wx?.enabled || secrets.bilibili?.enabled || secrets.kuaishou?.enabled) {\n return setActiveKey('99');\n }\n\n if (!secrets.wx?.server || !secrets.wx?.secret || !secrets.wx?.enabled) {\n setActiveKey('1');\n } else if (!secrets.bilibili?.server || !secrets.bilibili?.secret || !secrets.bilibili?.enabled) {\n setActiveKey('2');\n } else if (!secrets.kuaishou?.server || !secrets.kuaishou?.secret || !secrets.kuaishou?.enabled) {\n setActiveKey('3');\n } else {\n setActiveKey('99');\n }\n }, [init, secrets]);\n\n if (!activeKey) return <></>;\n return <ScenarioVLiveImpl defaultActiveKey={activeKey} defaultSecrets={secrets}/>;\n}\n\nfunction ScenarioVLiveImpl({defaultActiveKey, defaultSecrets}) {\n const language = useSrsLanguage();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [wxEnabled, setWxEnabled] = React.useState(defaultSecrets?.wx?.enabled);\n const [wxServer, setWxServer] = React.useState(defaultSecrets?.wx?.server);\n const [wxSecret, setWxSecret] = React.useState(defaultSecrets?.wx?.secret);\n const [wxCustom, setWxCustom] = React.useState(defaultSecrets?.wx?.custom);\n const [wxLabel, setWxLabel] = React.useState(defaultSecrets?.wx?.label);\n const [wxFiles, setWxFiles] = React.useState(defaultSecrets?.wx?.files);\n const [bilibiliEnabled, setBilibiliEnabled] = React.useState(defaultSecrets?.bilibili?.enabled);\n const [bilibiliServer, setBilibiliServer] = React.useState(defaultSecrets?.bilibili?.server);\n const [bilibiliSecret, setBilibiliSecret] = React.useState(defaultSecrets?.bilibili?.secret);\n const [bilibiliCustom, setBilibiliCustom] = React.useState(defaultSecrets?.bilibili?.custom);\n const [bilibiliLabel, setBilibiliLabel] = React.useState(defaultSecrets?.bilibili?.label);\n const [bilibiliFiles, setBilibiliFiles] = React.useState(defaultSecrets?.bilibili?.files);\n const [kuaishouEnabled, setKuaishouEnabled] = React.useState(defaultSecrets?.kuaishou?.enabled);\n const [kuaishouServer, setKuaishouServer] = React.useState(defaultSecrets?.kuaishou?.server);\n const [kuaishouSecret, setKuaishouSecret] = React.useState(defaultSecrets?.kuaishou?.secret);\n const [kuaishouCustom, setKuaishouCustom] = React.useState(defaultSecrets?.kuaishou?.custom);\n const [kuaishouLabel, setKuaishouLabel] = React.useState(defaultSecrets?.kuaishou?.label);\n const [kuaishouFiles, setKuaishouFiles] = React.useState(defaultSecrets?.kuaishou?.files);\n const [vLives, setVLives] = React.useState();\n const [submiting, setSubmiting] = React.useState();\n\n React.useEffect(() => {\n const refreshStreams = () => {\n axios.post('/terraform/v1/ffmpeg/vlive/streams', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setVLives(res.data.data.map((e, i) => {\n const item = {\n ...e,\n name: {\n wx: t('plat.wx.title'),\n bilibili: t('plat.bl.title'),\n kuaishou: t('plat.ks.title')\n }[e.platform],\n update: e.frame?.update ? moment(e.frame.update) : null,\n i,\n };\n\n // Find file source object by uuid(item.source).\n const sources = item.files?.filter(e => e?.uuid === item?.source);\n item.sourceObj = sources?.length ? sources[0] : null;\n return item;\n }));\n console.log(`VLive: Query streams ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n };\n\n refreshStreams();\n const timer = setInterval(() => refreshStreams(), 10 * 1000);\n return () => clearInterval(timer);\n }, [t, handleError]);\n\n const updateSecrets = React.useCallback((e, action, platform, server, secret, enabled, custom, label, files, onSuccess) => {\n e.preventDefault();\n if (!files?.length) return alert(t('plat.com.video'));\n if (!server) return alert(t('plat.com.addr'));\n if (custom && !label) return alert(t('plat.com.label'));\n\n try {\n setSubmiting(true);\n\n axios.post('/terraform/v1/ffmpeg/vlive/secret', {\n action, platform, server, secret, enabled: !!enabled, custom: !!custom, label, files,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('plat.com.ok'));\n onSuccess && onSuccess();\n }).catch(handleError);\n } finally {\n new Promise(resolve => setTimeout(resolve, 3000)).then(() => setSubmiting(false));\n }\n }, [t, handleError, setSubmiting]);\n\n return (\n <Accordion defaultActiveKey={defaultActiveKey}>\n <React.Fragment>\n {language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 虚拟直播,是将一个视频文件,用FFmpeg转成直播流,推送到SRS Stack或其他平台。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>无人直播间,7x24小时获得直播收益</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>首先上传视频文件</li>\n <li>然后设置直播流信息</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <div>\n Virtual live streaming is the process of converting a video file into a live stream using FFmpeg and pushing it to the SRS Stack or other platforms.\n <p></p>\n </div>\n <p>Specific application scenarios include:</p>\n <ul>\n <li>Unmanned live streaming rooms, 7x24 hours of live streaming revenue</li>\n </ul>\n <p>Instructions for use:</p>\n <ul>\n <li>First, upload the video file</li>\n <li>Then, set the live stream information</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>}\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{wxCustom ? t('plat.com.custom') : t('plat.wx.title')} {wxLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {wxCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={wxLabel} onChange={(e) => setWxLabel(e.target.value)}/>\n </Form.Group>\n <SrsErrorBoundary>\n <ChooseVideoSource platform='wx' vLiveFiles={wxFiles} setVLiveFiles={setWxFiles} />\n </SrsErrorBoundary>\n <Form.Group className=\"mb-3\">\n <Form.Label>{wxCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!wxCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.wx.link')} target='_blank' rel='noreferrer'>{t('plat.wx.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={wxServer} onChange={(e) => setWxServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!wxCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.wx.link')} target='_blank' rel='noreferrer'>{t('plat.wx.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={wxSecret} onChange={(e) => setWxSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formWxCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={wxCustom} onClick={() => setWxCustom(!wxCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'wx', wxServer, wxSecret, !wxEnabled, wxCustom, wxLabel, wxFiles, () => {\n setWxEnabled(!wxEnabled);\n });\n }}\n >\n {wxEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('vle.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{bilibiliCustom ? t('plat.com.custom') : t('plat.bl.title')} {bilibiliLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {bilibiliCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={bilibiliLabel} onChange={(e) => setBilibiliLabel(e.target.value)}/>\n </Form.Group>\n <SrsErrorBoundary>\n <ChooseVideoSource platform='bilibili' vLiveFiles={bilibiliFiles} setVLiveFiles={setBilibiliFiles} />\n </SrsErrorBoundary>\n <Form.Group className=\"mb-3\">\n <Form.Label>{bilibiliCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!bilibiliCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.bl.link')} target='_blank' rel='noreferrer'>{t('plat.bl.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={bilibiliServer} onChange={(e) => setBilibiliServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!bilibiliCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.bl.link')} target='_blank' rel='noreferrer'>{t('plat.bl.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={bilibiliSecret} onChange={(e) => setBilibiliSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formBilibiliCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={bilibiliCustom} onClick={() => setBilibiliCustom(!bilibiliCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'bilibili', bilibiliServer, bilibiliSecret, !bilibiliEnabled, bilibiliCustom, bilibiliLabel, bilibiliFiles, () => {\n setBilibiliEnabled(!bilibiliEnabled);\n });\n }}\n >\n {bilibiliEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('vle.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{kuaishouCustom ? t('plat.com.custom') : t('plat.ks.title')} {kuaishouLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {kuaishouCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={kuaishouLabel} onChange={(e) => setKuaishouLabel(e.target.value)}/>\n </Form.Group>\n <SrsErrorBoundary>\n <ChooseVideoSource platform='kuaishou' vLiveFiles={kuaishouFiles} setVLiveFiles={setKuaishouFiles} />\n </SrsErrorBoundary>\n <Form.Group className=\"mb-3\">\n <Form.Label>{kuaishouCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!kuaishouCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.ks.link')} target='_blank' rel='noreferrer'>{t('plat.ks.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={kuaishouServer} onChange={(e) => setKuaishouServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!kuaishouCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.ks.link')} target='_blank' rel='noreferrer'>{t('plat.ks.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={kuaishouSecret} onChange={(e) => setKuaishouSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formKuaishouCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={kuaishouCustom} onClick={() => setKuaishouCustom(!kuaishouCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'kuaishou', kuaishouServer, kuaishouSecret, !kuaishouEnabled, kuaishouCustom, kuaishouLabel, kuaishouFiles, () => {\n setKuaishouEnabled(!kuaishouEnabled);\n });\n }}\n >\n {kuaishouEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('vle.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"99\">\n <Accordion.Header>{t('plat.com.status')}</Accordion.Header>\n <Accordion.Body>\n {\n vLives?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>{t('plat.com.platform')}</th>\n <th>{t('plat.com.status2')}</th>\n <th>{t('plat.com.update')}</th>\n <th>{t('plat.com.source')}</th>\n <th>{t('plat.com.log')}</th>\n </tr>\n </thead>\n <tbody>\n {\n vLives?.map(file => {\n return <tr key={file.platform} style={{verticalAlign: 'middle'}}>\n <td>{file.i}</td>\n <td>{file.custom ? (file.label ? '' : t('plat.com.custom')) : file.name} {file.label}</td>\n <td>\n <Badge bg={file.enabled ? (file.frame ? 'success' : 'primary') : 'secondary'}>\n {file.enabled ? (file.frame ? t('plat.com.s0') : t('plat.com.s1')) : t('plat.com.s2')}\n </Badge>\n </td>\n <td>\n {file.update && file.update?.format('YYYY-MM-DD')}<br/>\n {file.update && file.update?.format('HH:mm:ss')}\n </td>\n <td>\n {file.sourceObj?.name}<br/>\n <VLiveFileFormatInfo file={file.sourceObj}/>\n </td>\n <td>{file.frame?.log}</td>\n </tr>;\n })\n }\n </tbody>\n </Table>\n ) : ''\n }\n {!vLives?.length ? t('vle.s3') : ''}\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction VLiveFileList({files, onChangeFiles}) {\n const {t} = useTranslation();\n return (\n <Row>\n <Col xs='auto'>\n <ListGroup>\n {files.map((f, index) => {\n return <ListGroup.Item key={index}>\n {f.name} \n <VLiveFileFormatInfo file={f}/> \n <VLiveFileVideoInfo file={f}/> \n <VLiveFileAudioInfo file={f}/>\n </ListGroup.Item>;\n })}\n </ListGroup>\n </Col>\n <Col>\n <Button variant=\"primary\" type=\"button\" onClick={onChangeFiles}>{t('helper.changeFiles')}</Button>\n </Col>\n </Row>\n );\n}\n\nfunction ChooseVideoSource({platform, vLiveFiles, setVLiveFiles}) {\n const {t} = useTranslation();\n\n const [checkType, setCheckType] = React.useState('upload');\n React.useEffect(() => {\n if (vLiveFiles?.length) {\n const type = vLiveFiles[0].type;\n if (type === 'upload' || type === 'file' || type === 'stream') {\n setCheckType(type);\n }\n }\n }, [vLiveFiles]);\n return (<>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.tool.source')}</Form.Label>\n <Form.Text> * {t('vle.source2')}</Form.Text>\n <Form.Check type=\"radio\" label={t('plat.tool.upload')} id={'upload-' + platform} checked={checkType === 'upload'}\n name={'chooseSource-' + platform} onChange={e => setCheckType('upload')}\n />\n {checkType === 'upload' && \n <SrsErrorBoundary>\n <VLiveFileUploader platform={platform} vLiveFiles={vLiveFiles} setVLiveFiles={setVLiveFiles} />\n </SrsErrorBoundary>\n }\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <InputGroup>\n <Form.Check type=\"radio\" label={t('plat.tool.file')} id={'server-' + platform} checked={checkType === 'file'}\n name={'chooseSource' + platform} onChange={e => setCheckType('file')}\n /> \n <Form.Text> * {t('plat.tool.file2')}</Form.Text>\n </InputGroup>\n {checkType === 'file' &&\n <SrsErrorBoundary>\n <VLiveFileSelector platform={platform} vLiveFiles={vLiveFiles} setVLiveFiles={setVLiveFiles}/>\n </SrsErrorBoundary>\n }\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <InputGroup>\n <Form.Check type=\"radio\" label={t('plat.tool.stream')} id={'stream-' + platform} checked={checkType === 'stream'}\n name={'chooseSource' + platform} onChange={e => setCheckType('stream')}\n /> \n <Form.Text> * {t('plat.tool.stream2')}</Form.Text>\n </InputGroup>\n {checkType === 'stream' &&\n <SrsErrorBoundary>\n <VLiveStreamSelector platform={platform} vLiveFiles={vLiveFiles} setVLiveFiles={setVLiveFiles}/>\n </SrsErrorBoundary>\n }\n </Form.Group>\n </>);\n}\n\nfunction VLiveStreamSelector({platform, vLiveFiles, setVLiveFiles}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const [inputStream, setInputStream] = React.useState(vLiveFiles?.length ? vLiveFiles[0].target :'');\n const [submiting, setSubmiting] = React.useState();\n\n const checkStreamUrl = React.useCallback(async () => {\n if (!inputStream) return alert(t('plat.tool.stream3'));\n const isHTTP = inputStream.startsWith('http://') || inputStream.startsWith('https://');\n if (!inputStream.startsWith('rtmp://') && !inputStream.startsWith('srt://') && !inputStream.startsWith('rtsp://') && !isHTTP) return alert(t('plat.tool.stream2'));\n if (isHTTP && inputStream.indexOf('.flv') < 0 && inputStream.indexOf('.m3u8') < 0) return alert(t('plat.tool.stream4'));\n\n setSubmiting(true);\n try {\n const res = await new Promise((resolve, reject) => {\n axios.post(`/terraform/v1/ffmpeg/vlive/stream-url`, {\n url: inputStream,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n resolve(res);\n }).catch(reject);\n });\n\n await new Promise((resolve, reject) => {\n console.log(`${t('plat.tool.stream5')},${JSON.stringify(res.data.data)}`);\n const streamObj = res.data.data;\n const files = [{name: streamObj.name, size: 0, uuid: streamObj.uuid, target: streamObj.target, type: \"stream\"}];\n axios.post('/terraform/v1/ffmpeg/vlive/source', {\n platform, files,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`${t('plat.tool.stream6')},${JSON.stringify(res.data.data)}`);\n setVLiveFiles(res.data.data.files);\n resolve();\n }).catch(reject);\n });\n } catch (e) {\n handleError(e);\n } finally {\n setSubmiting(false);\n }\n }, [t, inputStream, handleError, platform, setVLiveFiles, setSubmiting]);\n\n return (<>\n <Form.Control as=\"div\">\n {!vLiveFiles?.length && <>\n <Row>\n <Col>\n <Form.Control type=\"text\" defaultValue={inputStream} placeholder={t('plat.tool.stream3')} onChange={e => setInputStream(e.target.value)} />\n </Col>\n <Col xs=\"auto\">\n <Button variant=\"primary\" disabled={submiting} onClick={checkStreamUrl}>{t('helper.submit')}</Button>\n </Col>\n </Row></>\n }\n {vLiveFiles?.length && <VLiveFileList files={vLiveFiles} onChangeFiles={(e) => setVLiveFiles(null)}/>}\n </Form.Control>\n </>);\n}\n\nfunction VLiveFileSelector({platform, vLiveFiles, setVLiveFiles}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n // TODO: FIXME: As the file path is changed after used, so we can not use te target.\n const [inputFile, setInputFile] = React.useState('');\n\n const CheckLocalFile = React.useCallback(() => {\n if (!inputFile) return alert(t('plat.tool.file3'));\n if (!inputFile.startsWith('/data') && !inputFile.startsWith('upload/') && !inputFile.startsWith('./upload/')) return alert(t('plat.tool.file2'));\n\n const fileExtension = inputFile.slice(inputFile.lastIndexOf('.'));\n if (!['.mp4', '.flv', '.ts'].includes(fileExtension)) return alert(t('plat.tool.file4'));\n\n axios.post(`/terraform/v1/ffmpeg/vlive/server`, {\n file: inputFile,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`${t('plat.tool.file5')},${JSON.stringify(res.data.data)}`);\n const localFileObj = res.data.data;\n const files = [{name: localFileObj.name, size: localFileObj.size, uuid: localFileObj.uuid, target: localFileObj.target, type: \"file\"}];\n axios.post('/terraform/v1/ffmpeg/vlive/source', {\n platform, files,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`${t('plat.tool.file6')},${JSON.stringify(res.data.data)}`);\n setVLiveFiles(res.data.data.files);\n }).catch(handleError);\n }).catch(handleError);\n }, [t, inputFile, handleError, platform, setVLiveFiles]);\n\n return (<>\n <Form.Control as=\"div\">\n {!vLiveFiles?.length && <>\n <Row>\n <Col>\n <Form.Control type=\"text\" defaultValue={inputFile} placeholder={t('plat.tool.file7')} onChange={e => setInputFile(e.target.value)} />\n </Col>\n <Col xs=\"auto\">\n <Button variant=\"primary\" onClick={CheckLocalFile}>{t('helper.submit')}</Button>\n </Col>\n </Row></>\n }\n {vLiveFiles?.length && <VLiveFileList files={vLiveFiles} onChangeFiles={(e) => setVLiveFiles(null)}/>}\n </Form.Control>\n </>);\n}\n\nfunction VLiveFileUploader({platform, vLiveFiles, setVLiveFiles}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const updateSources = React.useCallback((platform, files, setFiles) => {\n if (!files?.length) return alert(t('plat.tool.upload2'));\n\n axios.post('/terraform/v1/ffmpeg/vlive/source', {\n platform, files: files.map(f => {\n return {name: f.name, size: f.size, uuid: f.uuid, target: f.target, type: \"upload\"};\n }),\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`${t('plat.tool.upload3')}, ${JSON.stringify(res.data.data)}`);\n setFiles(res.data.data.files);\n }).catch(handleError);\n }, [t, handleError]);\n\n return (<>\n <Form.Control as='div'>\n {!vLiveFiles?.length && <FileUploader onFilesUploaded={(files) => updateSources(platform, files, setVLiveFiles)}/>}\n {vLiveFiles?.length && <VLiveFileList files={vLiveFiles} onChangeFiles={(e) => setVLiveFiles(null)}/>}\n </Form.Control>\n </>);\n}\n\nfunction VLiveFileFormatInfo({file}) {\n const f = file;\n if (!f?.format) return <></>;\n return <>\n {f?.type !== 'stream' && \n <>\n File \n {Number(f?.size/1024/1024).toFixed(1)}MB \n {Number(f?.format?.duration).toFixed(0)}s \n </>\n }\n {f?.type === 'stream' &&\n <>\n Stream \n </>\n }\n {Number(f?.format?.bit_rate/1000).toFixed(1)}Kbps\n </>;\n}\n\nfunction VLiveFileVideoInfo({file}) {\n const f = file;\n if (!f?.video) return <>NoVideo</>;\n return <>Video({f?.video?.codec_name} {f?.video?.profile} {f?.video?.width}x{f?.video?.height})</>;\n}\n\nfunction VLiveFileAudioInfo({file}) {\n const f = file;\n if (!f?.audio) return <>NoAudio</>;\n return <>Audio({f?.audio?.codec_name} {f?.audio?.sample_rate}HZ {f?.audio?.channels}CH)</>;\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport {Accordion} from \"react-bootstrap\";\nimport React from \"react\";\nimport {TutorialsButton, useTutorials} from \"../components/TutorialsButton\";\nimport SrsQRCode from \"../components/SrsQRCode\";\nimport * as Icon from \"react-bootstrap-icons\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\n\nexport default function ScenarioSrt(props) {\n const language = useSrsLanguage();\n return language === 'zh' ? <ScenarioSrtCn {...props} /> : <ScenarioSrtEn {...props} />;\n}\n\nfunction ScenarioSrtCn({copyToClipboard, urls}) {\n const {srtPublishUrl, srtPlayUrl, flvPlayer, hlsPlayer, flvUrl, m3u8Url, rtcPlayer, updateStreamName} = urls;\n const [hostname, setHostname] = React.useState();\n const [srtPort, setSrtPort] = React.useState();\n const [srtPublishStreamId, setPublishStreamId] = React.useState();\n const [srtPlayStreamId, setPlayStreamId] = React.useState();\n const ffplayWindows = `ffplay -fflags nobuffer -flags low_delay -i \"${srtPlayUrl}\"`;\n const ffplayMac = `ffplay -fflags nobuffer -flags low_delay -i '${srtPlayUrl}'`;\n\n const srtTutorials = useTutorials({\n bilibili: React.useRef([\n {author: '崔国栋', id: 'BV1aS4y1G7iG'},\n {author: '马景瑞', id: 'BV1c341177e7'},\n {author: 'SRS', id: 'BV1Nb4y1t7ij'},\n {author: '王大江', id: 'BV16r4y1q7ZT'},\n ])\n });\n\n React.useEffect(() => {\n if (!srtPublishUrl) return;\n const u = new URL(srtPublishUrl.replace('srt://', 'http://'));\n setHostname(u.hostname);\n setSrtPort(u.port);\n setPublishStreamId(`${u.hash}`);\n }, [srtPublishUrl]);\n\n React.useEffect(() => {\n if (!srtPublishUrl || !srtPlayUrl) return;\n const u = new URL(srtPlayUrl.replace('srt://', 'http://'));\n setPlayStreamId(`${u.hash.split('&')[0]}`);\n }, [srtPublishUrl, srtPlayUrl]);\n\n return (\n <Accordion defaultActiveKey=\"1\">\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 超清实时直播<TutorialsButton prefixLine={true} tutorials={srtTutorials} />,指码率很高(测试过2~8Mbps),延迟很低(200~500ms)且无累计延迟的直播。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>超高清视频会议,使用专业导播台,把直播流投屏到大屏,注意需要专门的硬件做降噪和回声消除</li>\n <li>远距离和弱网推流直播,比如跨国推流,注意推RTMP后并不使用SRT播放而是普通直播播放(HTTP-FLV/HLS/WebRTC)</li>\n <li>远程制作和导播,户外直播用手机或摄像头推流到SRS Stack,用OBS/vMix/芯象制作后再播出,编辑不用在直播现场</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>延迟和每个环节都相关,我们在这个后台简化了配置,具体可以参考<a href='https://github.com/ossrs/srs/issues/1147#lagging' target='_blank' rel='noreferrer'>这里</a>。 </li>\n <li>推荐使用<a href='http://www.sinsam.com/' target='_blank' rel='noreferrer'>芯象直播(Windows)</a>推流,其次是<a href='https://obsproject.com/download' target='_blank' rel='noreferrer'>OBS</a>和vMix</li>\n <li>推荐使用<a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>ffplay</a>播放,其次是vMix,<a href='http://www.sinsam.com/' target='_blank' rel='noreferrer'>芯象直播(Windows)</a></li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>vMix推拉流 ~= 300ms延迟</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>前提:</strong></p>\n <TutorialsButton prefixLine={false} tutorials={srtTutorials} />\n </div>\n <ol>\n <li>\n 请检查网络延迟,RTT必须在<code>60ms</code>之内,请执行命令:<br/>\n <code>ping {window.location.hostname}</code>\n </li>\n <li>\n 请关注网络质量,推荐使用网线和专线接入服务器,网络丢包不能超过<code>10%</code>\n </li>\n <li>\n 不建议使用WiFi,信号强度很好噪声很低时,偶然RTT和丢包也会比较大,若只能WiFi:<br/>\n <ul>\n <li>请先用<a href='https://www.intuitibits.com/products/wifiexplorer/' target='_blank' rel='noreferrer'>WiFi Explorer</a>确认信号良好</li>\n <li>不要有任何屏障,比如和WiFi不要有水泥墙,不要太远距离</li>\n <li>不要使用共享的WiFi,避免干扰</li>\n </ul>\n </li>\n <li>\n 请关注电脑的CPU使用率,不能超过<code>80%</code>\n </li>\n </ol>\n <p><strong>推流操作步骤:</strong></p>\n <ol>\n <li>先在服务器防火墙开启<code>UDP/10080</code>端口</li>\n <li>下载<a href='https://www.vmix.com/software/download.aspx' target='_blank' rel='noreferrer'>vMix</a>,只有Windows版本</li>\n <li>\n 配置vMix推流,可以参考<a href='https://github.com/ossrs/srs/issues/1147#lagging-encoder'>链接</a>:\n <ol>\n <li>\n 点右上角 <code>Settings(设置)</code> => <code>Outputs/NDI/SRT(输出/SRT)</code> / 点<code>Output(1)</code>的设置 <br/>\n 或者点下方的 <code>External(外部)</code> => <code>Outputs/NDI/SRT Settings</code> / 点<code>Output(1)</code>的设置\n </li>\n <li>勾选上:<code>Enable SRT</code></li>\n <li>Type:<code>Caller</code></li>\n <li>\n Hostname:<code>{hostname}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, hostname)} />\n </div>\n </li>\n <li>\n Port:<code>{srtPort}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPort)} />\n </div>\n </li>\n <li>\n Latency:<code>20</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, '20')} />\n </div>\n </li>\n <li>\n Stream ID:<code>{srtPublishStreamId}</code> \n <div role='button' style={{display: 'inline-block'}} title='更换流名称'>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishStreamId)} />\n </div>\n </li>\n </ol>\n </li>\n <li>点OK就开始推流</li>\n </ol>\n <p><strong>拉流操作步骤:</strong></p>\n <ol>\n <li>下载<a href='https://www.vmix.com/software/download.aspx' target='_blank' rel='noreferrer'>vMix</a>,只有Windows版本</li>\n <li>\n 配置vMix拉流:\n <ol>\n <li>点下方的 <code>Add Input(添加输入)</code> => <code>Stream/SRT(流/SRT)</code></li>\n <li>Stream Type(码流类型):<code>SRT Caller</code></li>\n <li>\n Hostname:<code>{hostname}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, hostname)} />\n </div>\n </li>\n <li>\n Port:<code>{srtPort}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPort)} />\n </div>\n </li>\n <li>\n Latency(延迟):<code>20</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, '20')} />\n </div>\n </li>\n <li>\n Stream ID(流ID):<code>{srtPlayStreamId}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPlayStreamId)} />\n </div>\n </li>\n <li>注意:若无法播放,请取消勾选<code>Use Hardware Decoder(使用硬件解码器)</code></li>\n </ol>\n </li>\n <li>点OK就开始拉流</li>\n <li>\n 也可以快速预览其他格式的流,注意延迟比直接播放SRT流会高很多:<br/>\n <ul>\n <li>可以用FFplay播放,参考下面的<code>ffplay播放</code>部分</li>\n <li>\n 播放<a href={flvPlayer} target='_blank' rel='noreferrer'>HTTP-FLV流</a> <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n 播放<a href={hlsPlayer} target='_blank' rel='noreferrer'>HLS流</a> <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n <li>播放<a href={rtcPlayer} target='_blank' rel='noreferrer'>WebRTC流</a></li>\n </ul>\n </li>\n </ol>\n <p>若需要测量延迟请参考<a href='https://github.com/ossrs/srs/issues/1147#lagging-benchmark' target='_blank' rel='noreferrer'>这里</a></p>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>OBS推流+ffplay播放 ~= 300ms延迟</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>前提:</strong></p>\n <TutorialsButton prefixLine={false} tutorials={srtTutorials} />\n </div>\n <ol>\n <li>\n 请检查网络延迟,RTT必须在<code>60ms</code>之内,请执行命令:<br/>\n <code>ping {window.location.hostname}</code>\n </li>\n <li>\n 请关注网络质量,推荐使用网线和专线接入服务器,网络丢包不能超过<code>10%</code>\n </li>\n <li>\n 不建议使用WiFi,信号强度很好噪声很低时,偶然RTT和丢包也会比较大,若只能WiFi:<br/>\n <ul>\n <li>请先用<a href='https://www.intuitibits.com/products/wifiexplorer/' target='_blank' rel='noreferrer'>WiFi Explorer</a>确认信号良好</li>\n <li>不要有任何屏障,比如和WiFi不要有水泥墙,不要太远距离</li>\n <li>不要使用共享的WiFi,避免干扰</li>\n </ul>\n </li>\n <li>\n 请关注电脑的CPU使用率,不能超过<code>80%</code>\n </li>\n </ol>\n <p><strong>推流操作步骤:</strong></p>\n <ol>\n <li>先在服务器防火墙开启<code>UDP/10080</code>端口</li>\n <li>请从<a href='https://obsproject.com/download' target='_blank' rel='noreferrer'>下载OBS</a>并安装</li>\n <li>\n 配置OBS推流,可以参考<a href='https://github.com/ossrs/srs/issues/1147#lagging-encoder'>链接</a>:\n <ol>\n <li>服务:<code>自定义</code></li>\n <li>\n 推流地址(服务器):<br/><code>{srtPublishUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='更换流名称'>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishUrl)} />\n </div>\n </li>\n <li>推流密钥(串流密钥):<code>无,注意请不要填任何字符串</code></li>\n </ol>\n </li>\n <li>\n 配置OBS的输出,可以参考<a href='https://github.com/ossrs/srs/issues/1147#lagging-encoder'>链接</a>:\n <ol>\n <li>输出模式:<code>高级</code></li>\n <li>编码器:<code>x264</code></li>\n <li>码率控制:<code>CBR</code></li>\n <li>\n 关键帧间隔: <code>3</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, '3')} />\n </div>\n </li>\n <li>CPU使用预设:<code>veryfast</code></li>\n <li>配置(Profile):<code>baseline</code></li>\n <li>微调(Tune): <code>zerolatency</code></li>\n </ol>\n </li>\n <li>点击开始推流</li>\n </ol>\n <p><strong>播放操作步骤:</strong></p>\n <ol>\n <li>\n SRT流播放地址:<br/><code>{srtPlayUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPlayUrl)} />\n </div>\n </li>\n <li>下载<a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>ffplay</a>,FFmpeg自带的低延迟播放器</li>\n <li>\n Windows,执行命令:<br/>\n <code>{ffplayWindows}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayWindows)} />\n </div>\n </li>\n <li>\n Mac或Linux,执行命令:<br/>\n <code>{ffplayMac}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayMac)} />\n </div>\n </li>\n <li>SRT流画面出来较慢,请稍安勿躁</li>\n <li>\n 也可以快速预览其他格式的流,注意延迟比直接播放SRT流会高很多:<br/>\n <ul>\n <li>\n 播放<a href={flvPlayer} target='_blank' rel='noreferrer'>HTTP-FLV流</a> <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n 播放<a href={hlsPlayer} target='_blank' rel='noreferrer'>HLS流</a> <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n <li>播放<a href={rtcPlayer} target='_blank' rel='noreferrer'>WebRTC流</a></li>\n </ul>\n </li>\n </ol>\n <p>若需要测量延迟请参考<a href='https://github.com/ossrs/srs/issues/1147#lagging-benchmark' target='_blank' rel='noreferrer'>这里</a></p>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>芯象推流+ffplay播放 ~= 230ms延迟</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>前提:</strong></p>\n <TutorialsButton prefixLine={false} tutorials={srtTutorials} />\n </div>\n <ol>\n <li>\n 请检查网络延迟,RTT必须在<code>60ms</code>之内,请执行命令:<br/>\n <code>ping {window.location.hostname}</code>\n </li>\n <li>\n 请关注网络质量,推荐使用网线和专线接入服务器,网络丢包不能超过<code>10%</code>\n </li>\n <li>\n 不建议使用WiFi,信号强度很好噪声很低时,偶然RTT和丢包也会比较大,若只能WiFi:<br/>\n <ul>\n <li>请先用<a href='https://www.intuitibits.com/products/wifiexplorer/' target='_blank' rel='noreferrer'>WiFi Explorer</a>确认信号良好</li>\n <li>不要有任何屏障,比如和WiFi不要有水泥墙,不要太远距离</li>\n <li>不要使用共享的WiFi,避免干扰</li>\n </ul>\n </li>\n <li>\n 请关注电脑的CPU使用率,不能超过<code>80%</code>\n </li>\n </ol>\n <p><strong>推流操作步骤:</strong></p>\n <ol>\n <li>先在服务器防火墙开启<code>UDP/10080</code>端口</li>\n <li>下载<a href='http://www.sinsam.com/' target='_blank' rel='noreferrer'>芯象直播Windows版</a>,注意一定要<code>Windows版</code>,或者下载<a href='http://www.sinsam.com/sm/download/?t=2' target='_blank' rel='noreferrer'>芯象 APP</a>,若你是Mac请用其他方案</li>\n <li>\n 配置芯象推流,可以参考<a href='https://github.com/ossrs/srs/issues/1147#lagging-encoder'>链接</a>:\n <ol>\n <li>类型:<code>自定义推流</code></li>\n <li>\n 推流地址:<br/><code>{srtPublishUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='更换流名称'>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishUrl)} />\n </div>\n <br/>\n <SrsQRCode url={srtPublishUrl} />\n </li>\n <li>传输模式:<code>单一网络</code></li>\n <li>编码方式:<code>软件编码</code></li>\n <li>配置文件:<code>基线配置</code></li>\n <li>速率控制:<code>CBR</code></li>\n </ol>\n </li>\n <li>点击推流按钮</li>\n </ol>\n <p><strong>播放操作步骤:</strong></p>\n <ol>\n <li>\n SRT流播放地址:<br/><code>{srtPlayUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPlayUrl)} />\n </div>\n </li>\n <SrsQRCode url={srtPlayUrl} />\n <li>下载<a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>ffplay</a>,FFmpeg自带的低延迟播放器</li>\n <li>\n Windows,执行命令:<br/>\n <code>{ffplayWindows}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayWindows)} />\n </div>\n </li>\n <li>\n Mac或Linux,执行命令:<br/>\n <code>{ffplayMac}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayMac)} />\n </div>\n </li>\n <li>SRT流画面出来较慢,请稍安勿躁</li>\n <li>\n 也可以快速预览其他格式的流,注意延迟比直接播放SRT流会高很多:<br/>\n <ul>\n <li>\n 播放<a href={flvPlayer} target='_blank' rel='noreferrer'>HTTP-FLV流</a> <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n 播放<a href={hlsPlayer} target='_blank' rel='noreferrer'>HLS流</a> <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title='拷贝'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n <li>播放<a href={rtcPlayer} target='_blank' rel='noreferrer'>WebRTC流</a></li>\n </ul>\n </li>\n </ol>\n <p>若需要测量延迟请参考<a href='https://github.com/ossrs/srs/issues/1147#lagging-benchmark' target='_blank' rel='noreferrer'>这里</a></p>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction ScenarioSrtEn({updateStreamName, copyToClipboard, urls}) {\n const {srtPublishUrl, srtPlayUrl, flvPlayer, hlsPlayer, flvUrl, m3u8Url, rtcPlayer} = urls;\n const [hostname, setHostname] = React.useState();\n const [srtPort, setSrtPort] = React.useState();\n const [srtPublishStreamId, setPublishStreamId] = React.useState();\n const [srtPlayStreamId, setPlayStreamId] = React.useState();\n const ffplayWindows = `ffplay -fflags nobuffer -flags low_delay -i \"${srtPlayUrl}\"`;\n const ffplayMac = `ffplay -fflags nobuffer -flags low_delay -i '${srtPlayUrl}'`;\n\n React.useEffect(() => {\n if (!srtPublishUrl) return;\n const u = new URL(srtPublishUrl.replace('srt://', 'http://'));\n setHostname(u.hostname);\n setSrtPort(u.port);\n setPublishStreamId(`${u.hash}`);\n }, [srtPublishUrl]);\n\n React.useEffect(() => {\n if (!srtPublishUrl || !srtPlayUrl) return;\n const u = new URL(srtPlayUrl.replace('srt://', 'http://'));\n setPlayStreamId(`${u.hash.split('&')[0]}`);\n }, [srtPublishUrl, srtPlayUrl]);\n\n return (\n <Accordion defaultActiveKey=\"2\">\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <p>\n Low latency live streaming service.\n </p>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>vMix ~= 300ms</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>Requires:</strong></p>\n </div>\n <ol>\n <li>\n The RTT must <code><=60ms</code>, please check by<br/>\n <code>ping {window.location.hostname}</code>\n </li>\n <li>\n The network packet loss must <code><=10%</code>\n </li>\n <li>\n Please use wire network, WiFi is not recommend.\n </li>\n <li>\n The CPU of client and server must <code><=80%</code>\n </li>\n </ol>\n <p><strong>Usage for Publisher:</strong></p>\n <ol>\n <li>Allow <code>UDP/10080</code> by firewall</li>\n <li>Down vMix from <a href='https://www.vmix.com/software/download.aspx' target='_blank' rel='noreferrer'>here</a></li>\n <li>\n Config vMix as bellow\n <ol>\n <li>\n Click <code>Settings</code> => <code>Outputs/NDI/SRT</code> / Click <code>Output(1)</code> <br/>\n Or click <code>External</code> => <code>Outputs/NDI/SRT Settings</code> / Click <code>Output(1)</code>\n </li>\n <li>Check <code>Enable SRT</code></li>\n <li>Type: <code>Caller</code></li>\n <li>\n Hostname:<code>{hostname}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, hostname)} />\n </div>\n </li>\n <li>\n Port:<code>{srtPort}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPort)} />\n </div>\n </li>\n <li>\n Latency:<code>20</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, '20')} />\n </div>\n </li>\n <li>\n Stream ID:<code>{srtPublishStreamId}</code> \n <div role='button' style={{display: 'inline-block'}} title='Change'>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishStreamId)} />\n </div>\n </li>\n </ol>\n </li>\n <li>Click OK</li>\n </ol>\n <p><strong>Usage for Player:</strong></p>\n <ol>\n <li>Down vMix from <a href='https://www.vmix.com/software/download.aspx' target='_blank' rel='noreferrer'>here</a></li>\n <li>\n Config vMix as bellow\n <ol>\n <li>Click <code>Add Input</code> => <code>Stream/SRT</code></li>\n <li>Stream Type: <code>SRT Caller</code></li>\n <li>\n Hostname:<code>{hostname}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, hostname)} />\n </div>\n </li>\n <li>\n Port:<code>{srtPort}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPort)} />\n </div>\n </li>\n <li>\n Latency(延迟):<code>20</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, '20')} />\n </div>\n </li>\n <li>\n Stream ID(流ID):<code>{srtPlayStreamId}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPlayStreamId)} />\n </div>\n </li>\n <li>Note: If play failed, uncheck the <code>Use Hardware Decoder</code> and try</li>\n </ol>\n </li>\n <li>Click OK</li>\n <li>\n You're able to play by H5<br/>\n <ul>\n <li>For ffplay, please read other section</li>\n <li>\n <a href={flvPlayer} target='_blank' rel='noreferrer'>HTTP-FLV</a> <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n HLS by <a href={hlsPlayer} target='_blank' rel='noreferrer'>H5</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n <li>WebRTC by <a href={rtcPlayer} target='_blank' rel='noreferrer'>H5</a></li>\n </ul>\n </li>\n </ol>\n <p>For latency benchmark, please read <a href='https://github.com/ossrs/srs/issues/1147#lagging-benchmark' target='_blank' rel='noreferrer'>here</a></p>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>OBS+ffplay ~= 300ms</Accordion.Header>\n <Accordion.Body>\n <div>\n <p style={{display: 'inline-block'}}><strong>Requires:</strong></p>\n </div>\n <ol>\n <li>\n The RTT must <code><=60ms</code>, please check by<br/>\n <code>ping {window.location.hostname}</code>\n </li>\n <li>\n The network packet loss must <code><=10%</code>\n </li>\n <li>\n Please use wire network, WiFi is not recommend.\n </li>\n <li>\n The CPU of client and server must <code><=80%</code>\n </li>\n </ol>\n <p><strong>Usage for Publisher:</strong></p>\n <ol>\n <li>Allow <code>UDP/10080</code> by firewall</li>\n <li>Download OBS from <a href='https://obsproject.com/download' target='_blank' rel='noreferrer'>here</a> and install</li>\n <li>\n Config OBS Stream:\n <ol>\n <li>Service: <code>Custom</code></li>\n <li>\n Server: <br/><code>{srtPublishUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='Change'>\n <Icon.ArrowRepeat size={20} onClick={updateStreamName}/>\n </div> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishUrl)} />\n </div>\n </li>\n <li>Stream Key: <code>Empty. Please keep it empty.</code></li>\n </ol>\n </li>\n <li>\n Config OBS Output:\n <ol>\n <li>Output Mode: <code>Advanced</code></li>\n <li>Encoder: <code>x264</code></li>\n <li>Rate Control: <code>CBR</code></li>\n <li>\n Keyframe Interval: <code>3</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, '3')} />\n </div>\n </li>\n <li>CPU Usage Preset: <code>veryfast</code></li>\n <li>Profile: <code>baseline</code></li>\n <li>Tune: <code>zerolatency</code></li>\n </ol>\n </li>\n <li>Click Start Streaming</li>\n </ol>\n <p><strong>Usage for Player:</strong></p>\n <ol>\n <li>\n SRT URL: <br/><code>{srtPlayUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPlayUrl)} />\n </div>\n </li>\n <li>Download ffplay from <a href='https://ffmpeg.org/download.html' target='_blank' rel='noreferrer'>here</a>, a low latency player by FFmpeg</li>\n <li>\n For Windows:<br/>\n <code>{ffplayWindows}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayWindows)} />\n </div>\n </li>\n <li>\n For Mac or Linux:<br/>\n <code>{ffplayMac}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, ffplayMac)} />\n </div>\n </li>\n <li>It takes a while to render the SRT stream, please wait.</li>\n <li>\n You're able to play by H5<br/>\n <ul>\n <li>For ffplay, please read other section</li>\n <li>\n <a href={flvPlayer} target='_blank' rel='noreferrer'>HTTP-FLV</a> <code>{flvUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, flvUrl)} />\n </div>\n </li>\n <li>\n HLS by <a href={hlsPlayer} target='_blank' rel='noreferrer'>H5</a> \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title='Copy'>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </li>\n <li>WebRTC by <a href={rtcPlayer} target='_blank' rel='noreferrer'>H5</a></li>\n </ul>\n </li>\n </ol>\n <p>For latency benchmark, please read <a href='https://github.com/ossrs/srs/issues/1147#lagging-benchmark' target='_blank' rel='noreferrer'>here</a></p>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Button, Form} from \"react-bootstrap\";\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport {useTranslation} from \"react-i18next\";\nimport {useErrorHandler} from \"react-error-boundary\";\n\nexport default function SetupCamSecret({children}) {\n const [secretId, setSecretId] = React.useState();\n const [secretKey, setSecretKey] = React.useState();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n const updateTencentSecret = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/tencent/cam/secret', {\n secretId, secretKey,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('tencent.secretOk'));\n }).catch(handleError);\n }, [handleError, secretId, secretKey, t]);\n\n return (<>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>SecretId</Form.Label>\n <Form.Text> * {t('tencent.secretIdTip')}, <a href='https://console.cloud.tencent.com/cam/capi' target='_blank' rel='noreferrer'>{t('tencent.secretGet')}</a></Form.Text>\n <Form.Control as=\"input\" rows={2} defaultValue={secretId} onChange={(e) => setSecretId(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>SecretKey</Form.Label>\n <Form.Text> * {t('tencent.secretKeyTip')}, <a href='https://console.cloud.tencent.com/cam/capi' target='_blank' rel='noreferrer'>{t('tencent.secretGet')}</a></Form.Text>\n <Form.Control as=\"input\" type='password' rows={2} defaultValue={secretKey} onChange={(e) => setSecretKey(e.target.value)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateTencentSecret(e)}>\n {t('tencent.secretSubmit')}\n </Button>\n <Form.Text> * {t('tencent.secretSubmitTip')}</Form.Text> \n {children}\n </Form>\n </>);\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Accordion, Form, Button, Table} from \"react-bootstrap\";\nimport {Token, StreamURL, Clipboard} from \"../utils\";\nimport axios from \"axios\";\nimport SetupCamSecret from '../components/SetupCamSecret';\nimport moment from \"moment\";\nimport {TutorialsButton, useTutorials} from \"../components/TutorialsButton\";\nimport useDvrVodStatus from \"../components/DvrStatus\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useTranslation} from \"react-i18next\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\n\nexport default function ScenarioRecordCos() {\n const language = useSrsLanguage();\n return language === 'zh' ? <ScenarioRecordCosCn /> : <ScenarioRecordCosEn />;\n}\n\nfunction ScenarioRecordCosCn() {\n const [dvrStatus, vodStatus] = useDvrVodStatus();\n const [activeKey, setActiveKey] = React.useState();\n\n // We must init the activeKey, because the defaultActiveKey only apply when init for Accordion.\n // See https://stackoverflow.com/q/61324259/17679565\n React.useEffect(() => {\n if (!vodStatus || !dvrStatus) return;\n\n if (vodStatus.all) {\n setActiveKey('2');\n return;\n }\n\n if (dvrStatus.secret) {\n if (dvrStatus.all) {\n setActiveKey('3');\n } else {\n setActiveKey('2');\n }\n } else {\n setActiveKey('1');\n }\n }, [dvrStatus, vodStatus]);\n\n return (\n <>\n { activeKey && <ScenarioRecordCosImpl activeKey={activeKey} defaultApplyAll={dvrStatus.all} enabled={!vodStatus?.all || dvrStatus.all} /> }\n </>\n );\n}\n\nfunction ScenarioRecordCosImpl({activeKey, defaultApplyAll, enabled}) {\n const [dvrAll, setDvrAll] = React.useState(defaultApplyAll);\n const [dvrFiles, setDvrFiles] = React.useState();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n const dvrTutorials = useTutorials({\n bilibili: React.useRef([\n {author: '唐为', id: 'BV14S4y1k7gr'},\n ])\n });\n\n React.useEffect(() => {\n const refreshDvrFiles = () => {\n axios.post('/terraform/v1/hooks/dvr/files', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`DVR: Files ok, ${JSON.stringify(res.data.data)}`);\n setDvrFiles(res.data.data.map(file => {\n if (file.progress) {\n const l = window.location;\n const schema = l.protocol.replace(':', '');\n const httpPort = l.port || (l.protocol === 'http:' ? 80 : 443);\n file.location = `${l.protocol}//${l.host}/terraform/v1/hooks/dvr/hls/${file.uuid}.m3u8`;\n file.preview = `/players/srs_player.html?schema=${schema}&port=${httpPort}&autostart=true&app=terraform/v1/hooks/dvr/hls&stream=${file.uuid}.m3u8`;\n } else {\n const host = `${file.bucket}.cos.${file.region}.myqcloud.com`;\n file.location = `https://${host}/${file.uuid}/index.m3u8`;\n file.preview = `/players/srs_player.html?schema=https&port=443&autostart=true&vhost=${host}&server=${host}&app=${file.uuid}&stream=index.m3u8`;\n }\n\n return {\n ...file,\n url: StreamURL.build(file.vhost, file.app, file.stream),\n update: moment(file.update),\n duration: Number(file.duration),\n size: Number(file.size / 1024.0 / 1024),\n };\n }).sort((a, b) => {\n return b.update - a.update;\n }).map((file, i) => {\n return {...file, i: i + 1};\n }));\n }).catch(handleError);\n };\n\n refreshDvrFiles();\n const timer = setInterval(() => refreshDvrFiles(), 10 * 1000);\n return () => clearInterval(timer);\n }, [handleError]);\n\n const setupDvrPattern = (e) => {\n e.preventDefault();\n\n if (!enabled) return;\n\n axios.post('/terraform/v1/hooks/dvr/apply', {\n all: !!dvrAll,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert('设置录制规则成功');\n console.log(`DVR: Apply patterns ok, all=${dvrAll}`);\n }).catch(handleError);\n };\n\n const copyToClipboard = React.useCallback((e, text) => {\n e.preventDefault();\n\n Clipboard.copy(text).then(() => {\n alert(t('helper.copyOk'));\n }).catch((err) => {\n alert(`${t('helper.copyFail')} ${err}`);\n });\n }, [t]);\n\n return (\n <Accordion defaultActiveKey={activeKey}>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 云录制<TutorialsButton prefixLine={true} tutorials={dvrTutorials} />,指录制视频流到云存储,只要推送到服务器的流都可以录制。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>直播转点播,录制直播流成为一个HLS文件,存储在云存储上,可以下载</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>云存储无法使用开源方案搭建,依赖公有云的云存储(<a href='https://buy.cloud.tencent.com/price/cos/calculator' target='_blank' rel='noreferrer'>计费</a>),设置密钥后将自动开通<a href='https://console.cloud.tencent.com/cos' target='_blank' rel='noreferrer'>腾讯云COS</a>云存储服务</li>\n <li>第一次使用,需要先设置云存储的访问密钥,我们会自动创建<code>srs-lighthouse</code>开头的存储桶</li>\n <li>具体使用步骤,请根据下面引导操作</li>\n </ul>\n <p>和云录制差别:</p>\n <ul>\n <li>云录制是无限磁盘,生成的是一个HLS文件,适用于直接下载和预览HLS的用户</li>\n <li>云点播是点播媒资系统,会产生一个多格式的点播文件,适用于短视频的用户,比如下载HLS和MP4、多码率、极致高清、内容处理、对视频号、分类和搜索等能力</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>设置云密钥</Accordion.Header>\n <Accordion.Body>\n <SetupCamSecret>\n <TutorialsButton prefixLine={true} tutorials={dvrTutorials} />\n </SetupCamSecret>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>设置录制规则</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\" controlId=\"formDvrAllCheckbox\">\n <Form.Check type=\"checkbox\" label=\"录制所有流\" disabled={!enabled} defaultChecked={dvrAll} onClick={() => setDvrAll(!dvrAll)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" disabled={!enabled} onClick={(e) => setupDvrPattern(e)}>\n 提交\n </Button> \n <TutorialsButton prefixLine={true} tutorials={dvrTutorials} /> \n {!enabled && <Form.Text> * 若需要开启云录制,请关闭云点播(<font color='red'>云点播 / 设置点播规则 / 取消录制流</font>)</Form.Text>}\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>录制任务列表</Accordion.Header>\n <Accordion.Body>\n {\n dvrFiles?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>状态</th>\n <th>更新时间</th>\n <th>媒体流</th>\n <th>时长</th>\n <th>大小</th>\n <th>切片</th>\n <th>COS Bucket</th>\n <th>地址</th>\n <th>预览</th>\n </tr>\n </thead>\n <tbody>\n {\n dvrFiles?.map(file => {\n return <tr key={file.uuid}>\n <td>{file.i}</td>\n <td title='若300秒没有流,会自动完成录制'>{file.progress ? '录制中' : '已完成'}</td>\n <td>{`${file.update.format('YYYY-MM-DD HH:mm:ss')}`}</td>\n <td>{file.url}</td>\n <td>{`${file.duration.toFixed(1)}`}秒</td>\n <td>{`${file.size.toFixed(1)}`}MB</td>\n <td>{file.nn}</td>\n <td><a href={`https://console.cloud.tencent.com/cos/bucket?bucket=${file.bucket}®ion=${file.region}&path=%252F${file.uuid}%252F`} target='_blank' rel='noreferrer'>{file.uuid.slice(0, 13)}</a></td>\n <td><a href={file.location} onClick={(e) => copyToClipboard(e, file.location)} target='_blank' rel='noreferrer'>复制</a></td>\n <td><a href={file.preview} target='_blank' rel='noreferrer'>预览</a></td>\n </tr>;\n })\n }\n </tbody>\n </Table>\n ) : ''\n }\n {!dvrFiles?.length ? '没有流。请开启录制并推流后,等待大约60秒左右,录制列表会自动更新' : ''}\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction ScenarioRecordCosEn() {\n return (\n <span>On the way...</span>\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Accordion, Form, Button, Table} from \"react-bootstrap\";\nimport {Token, StreamURL, Clipboard} from \"../utils\";\nimport axios from \"axios\";\nimport SetupCamSecret from '../components/SetupCamSecret';\nimport useDvrVodStatus from \"../components/DvrStatus\";\nimport moment from \"moment\";\nimport {TutorialsButton, useTutorials} from \"../components/TutorialsButton\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useTranslation} from \"react-i18next\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\n\nexport default function ScenarioRecordVod() {\n const language = useSrsLanguage();\n return language === 'zh' ? <ScenarioRecordVodCn /> : <ScenarioRecordVodEn />;\n}\n\nfunction ScenarioRecordVodCn() {\n const [activeKey, setActiveKey] = React.useState();\n const [dvrStatus, vodStatus] = useDvrVodStatus();\n\n // We must init the activeKey, because the defaultActiveKey only apply when init for Accordion.\n // See https://stackoverflow.com/q/61324259/17679565\n React.useEffect(() => {\n if (!vodStatus || !dvrStatus) return;\n\n if (dvrStatus.all) {\n setActiveKey('2');\n return;\n }\n\n // TODO: FIXME: Show detail stage for VoD.\n if (vodStatus.secret && vodStatus.service && vodStatus.storage) {\n if (vodStatus.all) {\n setActiveKey('3');\n } else {\n setActiveKey('2');\n }\n } else {\n setActiveKey('1');\n }\n }, [dvrStatus, vodStatus]);\n\n return (\n <>\n { activeKey && <ScenarioRecordVodImpl activeKey={activeKey} defaultApplyAll={vodStatus.all} enabled={!dvrStatus?.all || vodStatus.all} /> }\n </>\n );\n}\n\nfunction ScenarioRecordVodImpl({activeKey, defaultApplyAll, enabled}) {\n const [vodAll, setVodAll] = React.useState(defaultApplyAll);\n const [vodFiles, setVodFiles] = React.useState();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n const vodTutorials = useTutorials({\n bilibili: React.useRef([\n {author: '唐为', id: 'BV14S4y1k7gr'},\n ])\n });\n\n React.useEffect(() => {\n const refreshVodFiles = () => {\n axios.post('/terraform/v1/hooks/vod/files', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`VoD: Files ok, ${JSON.stringify(res.data.data)}`);\n setVodFiles(res.data.data.map(file => {\n if (file.progress) {\n const l = window.location;\n const schema = l.protocol.replace(':', '');\n const httpPort = l.port || (l.protocol === 'http:' ? 80 : 443);\n file.location = `${l.protocol}//${l.host}/terraform/v1/hooks/vod/hls/${file.uuid}.m3u8`;\n file.preview = `/players/srs_player.html?schema=${schema}&port=${httpPort}&autostart=true&app=terraform/v1/hooks/vod/hls&stream=${file.uuid}.m3u8`;\n } else if (file.media) {\n const u = new URL(file.media);\n const app = u.pathname.match(/.*\\//)[0].replace(/^\\//, '').replace(/\\/$/, '');\n const stream = u.pathname.replace(/.*\\//, '');\n file.location = file.media;\n file.preview = `/players/srs_player.html?schema=https&port=443&autostart=true&vhost=${u.hostname}&server=${u.hostname}&app=${app}&stream=${stream}`;\n }\n\n return {\n ...file,\n url: StreamURL.build(file.vhost, file.app, file.stream),\n update: moment(file.update),\n duration: Number(file.duration),\n size: Number(file.size / 1024.0 / 1024),\n };\n }).sort((a, b) => {\n return b.update - a.update;\n }).map((file, i) => {\n return {...file, i: i + 1};\n }));\n }).catch(handleError);\n };\n\n refreshVodFiles();\n const timer = setInterval(() => refreshVodFiles(), 10 * 1000);\n return () => clearInterval(timer);\n }, [handleError]);\n\n const setupVodPattern = React.useCallback((e) => {\n e.preventDefault();\n\n if (!enabled) return;\n\n axios.post('/terraform/v1/hooks/vod/apply', {\n all: !!vodAll,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert('设置VoD规则成功');\n console.log(`VoD: Apply patterns ok, all=${vodAll}`);\n }).catch(handleError);\n }, [handleError, vodAll, enabled]);\n\n const copyToClipboard = React.useCallback((e, text) => {\n e.preventDefault();\n if (!text) return;\n\n Clipboard.copy(text).then(() => {\n alert(t('helper.copyOk'));\n }).catch((err) => {\n alert(`${t('helper.copyFail')} ${err}`);\n });\n }, [t]);\n\n return (\n <Accordion defaultActiveKey={activeKey}>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 云点播<TutorialsButton prefixLine={true} tutorials={vodTutorials} />,指转换视频流到云点播,只要推送到服务器的流都可以对接云点播。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>直播转点播,将直播间内容,录制成点播文件,存放在云点播媒资系统</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>云点播无法使用开源方案搭建,依赖公有云的云点播(<a href='https://buy.cloud.tencent.com/price/vod/calculator' target='_blank' rel='noreferrer'>计费</a>),设置密钥后将自动开通<a href='https://console.cloud.tencent.com/vod' target='_blank' rel='noreferrer'>腾讯云VoD</a>云点播服务</li>\n <li>第一次使用,需要先设置云存储的访问密钥,我们会自动开通和LightHouse同区域的<a href='https://console.cloud.tencent.com/vod/upload-storage/cosregion' target='_blank' rel='noreferrer'>云点播存储区域</a>,同区域内网传输</li>\n <li>具体使用步骤,请根据下面引导操作</li>\n </ul>\n <p>和云录制差别:</p>\n <ul>\n <li>云录制是无限磁盘,生成的是一个HLS文件,适用于直接下载和预览HLS的用户</li>\n <li>云点播是点播媒资系统,会产生一个多格式的点播文件,适用于短视频的用户,比如下载HLS和MP4、多码率、极致高清、内容处理、对视频号、分类和搜索等能力</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>设置云密钥</Accordion.Header>\n <Accordion.Body>\n <SetupCamSecret>\n <TutorialsButton prefixLine={true} tutorials={vodTutorials} />\n </SetupCamSecret>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>设置点播规则</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\" controlId=\"formVodAllCheckbox\">\n <Form.Check type=\"checkbox\" label=\"录制所有流\" disabled={!enabled} defaultChecked={vodAll} onClick={() => setVodAll(!vodAll)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" disabled={!enabled} onClick={(e) => setupVodPattern(e)}>\n 提交\n </Button>\n {!enabled && <Form.Text> * 若需要开启云点播,请关闭云录制(<font color='red'>云录制 / 设置录制规则 / 取消录制流</font>)</Form.Text>}\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>点播任务列表</Accordion.Header>\n <Accordion.Body>\n {\n vodFiles?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>状态</th>\n <th>更新时间</th>\n <th>媒体流</th>\n <th>时长</th>\n <th>大小</th>\n <th>分辨率</th>\n <th>切片</th>\n <th>VoD File</th>\n <th>地址</th>\n <th>预览</th>\n </tr>\n </thead>\n <tbody>\n {\n vodFiles?.map(file => {\n return <tr key={file.uuid} style={{verticalAlign: 'middle'}}>\n <td>{file.i}</td>\n <td title='若300秒没有流,会自动生成点播'>{file.progress ? '录制中' : '已完成'}</td>\n <td>{`${file.update.format('YYYY-MM-DD HH:mm:ss')}`}</td>\n <td>\n {file.url}\n </td>\n <td>{`${file.duration.toFixed(1)}`}秒</td>\n <td>{`${file.size.toFixed(1)}`}MB</td>\n <td>{file.task && <>{file.task?.width} x {file.task?.height}</>}</td>\n <td>{file.nn}</td>\n <td><a href={`https://console.cloud.tencent.com/vod/media/manage?fileId=${file.file}`} target='_blank' rel='noreferrer'>{file.uuid.slice(0, 13)}</a></td>\n <td>\n <a href={file.location} onClick={(e) => copyToClipboard(e, file.location)} target='_blank' rel='noreferrer'>HLS</a>\n {file.task && <> <a href={file.task?.url} target='_blank' rel='noreferrer'>MP4</a></>}\n </td>\n <td><a href={file.preview} target='_blank' rel='noreferrer'>预览</a></td>\n </tr>;\n })\n }\n </tbody>\n </Table>\n ) : ''\n }\n {!vodFiles?.length ? '没有流。请开启点播并推流后,等待大约60秒左右,点播列表会自动更新' : ''}\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction ScenarioRecordVodEn() {\n return (\n <span>On the way...</span>\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport {Accordion, Tab, Tabs} from \"react-bootstrap\";\nimport {useSearchParams} from \"react-router-dom\";\nimport {useTranslation} from \"react-i18next\";\nimport {Clipboard} from \"../utils\";\nimport ScenarioSrt from \"./ScenarioSrt\";\nimport ScenarioRecordCos from \"./ScenarioRecordCos\";\nimport ScenarioRecordVod from \"./ScenarioRecordVod\";\n\nexport function ScenarioVxOthers({urls}) {\n const [searchParams, setSearchParams] = useSearchParams();\n const [activeChildTab, setActiveChildTab] = React.useState();\n const language = useSrsLanguage();\n const {t} = useTranslation();\n\n React.useEffect(() => {\n const ctab = searchParams.get('ctab') || 'other';\n console.log(`?ctab=other|deprecated|srt|dvr|vod, current=${ctab}, Select the child tab to render`);\n setActiveChildTab(ctab);\n }, [searchParams, language, setActiveChildTab]);\n\n const onSelectChildTab = React.useCallback((k) => {\n setSearchParams({...searchParams, 'tab': 'others', 'ctab': k});\n setActiveChildTab(k);\n }, [searchParams, setSearchParams, setActiveChildTab]);\n\n return <>\n {activeChildTab &&\n <Tabs defaultActiveKey={activeChildTab} id=\"ctab0\" className=\"mb-3\"\n onSelect={(k) => onSelectChildTab(k)}>\n <Tab eventKey=\"other\" title={t('scenario.other')}>\n {activeChildTab === 'other' && <ScenarioOther {...{urls}} />}\n </Tab>\n <Tab eventKey=\"deprecated\" title={t('scenario.deprecated')}>\n {activeChildTab === 'deprecated' && <ScenarioDeprecated/>}\n </Tab>\n </Tabs>\n }\n </>;\n}\n\nfunction ScenarioOther({urls}) {\n const {t} = useTranslation();\n const language = useSrsLanguage();\n const isZh = language === 'zh';\n\n const copyToClipboard = React.useCallback((e, text) => {\n e.preventDefault();\n\n Clipboard.copy(text).then(() => {\n alert(t('helper.copyOk'));\n }).catch((err) => {\n alert(`${t('helper.copyFail')} ${err}`);\n });\n }, [t]);\n\n return <>\n <Accordion defaultActiveKey='0'>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{isZh ? '场景介绍' : 'Introduction'}</Accordion.Header>\n <Accordion.Body>\n <div>\n {isZh ? '其他较少使用的低频场景,请用其他常用场景替代。' : 'Other less common used scenarios, please use other common scenarios instead.'}\n <p></p>\n </div>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('scenario.srt')}</Accordion.Header>\n <Accordion.Body>\n <p>{isZh ? '可使用基本的推拉流场景实现,已经支持了SRT协议的教程。' : 'You can implement basic streaming scenarios with a tutorial that already supports the SRT protocol.'}</p>\n <ScenarioSrt {...{copyToClipboard, urls}} />\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n </>;\n}\n\nfunction ScenarioDeprecated() {\n const {t} = useTranslation();\n const language = useSrsLanguage();\n const isZh = language === 'zh';\n\n return <>\n <Accordion defaultActiveKey='0'>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{isZh ? '场景介绍' : 'Introduction'}</Accordion.Header>\n <Accordion.Body>\n <div>\n {isZh ? '其他废弃场景,未来会移除,请不要使用。' : 'Other deprecated scenarios, will be removed in the future, please do not use.'}\n <p></p>\n </div>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('scenario.dvr')}</Accordion.Header>\n <Accordion.Body>\n <ScenarioRecordCos/>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('scenario.vod')}</Accordion.Header>\n <Accordion.Body>\n <ScenarioRecordVod/>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n </>;\n}\n\n","import PropTypes from 'prop-types';\nexport function responsivePropType(propType) {\n return PropTypes.oneOfType([propType, PropTypes.shape({\n xs: propType,\n sm: propType,\n md: propType,\n lg: propType,\n xl: propType,\n xxl: propType\n })]);\n}\nexport const DEVICE_SIZES = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport default function createUtilityClassName(utilityValues) {\n const classes = [];\n Object.entries(utilityValues).forEach(([utilName, utilValue]) => {\n if (utilValue != null) {\n if (typeof utilValue === 'object') {\n DEVICE_SIZES.forEach(brkPoint => {\n const bpValue = utilValue[brkPoint];\n\n if (bpValue != null) {\n const infix = brkPoint !== 'xs' ? `-${brkPoint}` : '';\n classes.push(`${utilName}${infix}-${bpValue}`);\n }\n });\n } else {\n classes.push(`${utilName}-${utilValue}`);\n }\n }\n });\n return classes;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport createUtilityClassName, { responsivePropType } from './createUtilityClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Stack = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n direction,\n gap,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, direction === 'horizontal' ? 'hstack' : 'vstack');\n return /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, bsPrefix, ...createUtilityClassName({\n gap\n }))\n });\n});\nStack.displayName = 'Stack';\nexport default Stack;","import React from \"react\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport {Accordion, Badge, Button, Form, Stack} from \"react-bootstrap\";\nimport {useTranslation} from \"react-i18next\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport {buildUrls} from \"../components/UrlGenerator\";\nimport moment from \"moment/moment\";\nimport {SrsEnvContext} from \"../components/SrsEnvContext\";\n\nexport default function ScenarioTranscode(props) {\n const handleError = useErrorHandler();\n const [config, setConfig] = React.useState();\n const [activeKey, setActiveKey] = React.useState();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/ffmpeg/transcode/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const data = res.data.data;\n\n setConfig(data);\n if (data.all) {\n setActiveKey('2');\n } else {\n setActiveKey('1');\n }\n console.log(`Transcode: Query ok, ${JSON.stringify(data)}`);\n }).catch(handleError);\n }, [handleError, setActiveKey]);\n\n if (!props?.urls?.rtmpServer || !activeKey) return <></>;\n return <ScenarioTranscodeImpl {...props} {...{\n activeKey, defaultEnabled: config?.all, defaultConf: config\n }}/>;\n}\n\nfunction ScenarioTranscodeImpl({activeKey, urls, defaultEnabled, defaultConf}) {\n const language = useSrsLanguage();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [transcodeEnabled, setTranscodeEnabled] = React.useState(defaultEnabled);\n const [vbitrate, setVbitrate] = React.useState(defaultConf.vbitrate || 1200);\n const [abitrate, setAbitrate] = React.useState(defaultConf.abitrate || 64);\n const [vcodec, setVcodec] = React.useState(defaultConf.vcodec || 'libx264');\n const [vprofile, setVprofile] = React.useState(defaultConf.vprofile || 'baseline');\n const [vpreset, setVpreset] = React.useState(defaultConf.vpreset || 'faster');\n const [acodec, setAcodec] = React.useState(defaultConf.acodec || 'aac');\n const [achannels, setAchannels] = React.useState(defaultConf.achannels || 0);\n const [server, setServer] = React.useState(defaultConf.server || urls.rtmpServer);\n const [secret, setSecret] = React.useState((defaultConf.server || defaultConf.secret) ? defaultConf.secret : urls.transcodeStreamKey);\n\n const [task, setTask] = React.useState();\n const [taskInputUrls, setTaskInputUrls] = React.useState();\n const [taskOutputUrls, setTaskOutputUrls] = React.useState();\n const env = React.useContext(SrsEnvContext)[0];\n\n React.useEffect(() => {\n const refreshTask = () => {\n axios.post('/terraform/v1/ffmpeg/transcode/task', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const task = res.data.data;\n\n // Mask the secret.\n if (task?.input?.indexOf(urls?.secret?.publish) > 0) {\n task.input_ = task.input;\n task.input = task.input.replaceAll(urls.secret.publish, '******');\n }\n if (task?.output?.indexOf(urls?.secret?.publish) > 0) {\n task.output_ = task.output;\n task.output = task.output.replaceAll(urls.secret.publish, '******');\n }\n\n // Convert to moment.\n if (task?.frame) {\n task.frame.update = task?.frame?.update ? moment(task.frame.update) : null;\n }\n\n setTask(task);\n if (task?.input) setTaskInputUrls(buildUrls(task.input, urls.secret, env));\n if (task?.output) setTaskOutputUrls(buildUrls(task.output, urls.secret, env));\n console.log(`Transcode: Query task ${JSON.stringify(task)}`);\n }).catch(handleError);\n };\n\n refreshTask();\n const timer = setInterval(() => refreshTask(), 10 * 1000);\n return () => clearInterval(timer);\n }, [handleError, urls, setTask, setTaskInputUrls, setTaskOutputUrls, env]);\n\n const updateTranscodeStatus = React.useCallback((enabled, success) => {\n if (!vbitrate || vbitrate < 100 || vbitrate > 100*1000) return alert(`Invalid vbitrate ${vbitrate}, should be in [100, 100000] Kbps`);\n if (!abitrate || abitrate < 10 || abitrate > 1000) return alert(`Invalid abitrate ${abitrate}, should be in [10, 1000] Kbps`);\n if (!vcodec || vcodec !== 'libx264') return alert(`Invalid vcodec ${vcodec}, should be libx264`);\n if (!vprofile || !['baseline', 'main', 'high'].includes(vprofile)) return alert(`Invalid vprofile ${vprofile}, should be in [baseline, main, high]`);\n if (!vpreset || !['ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow'].includes(vpreset)) return alert(`Invalid vpreset ${vpreset}, should be in [ultrafast, superfast, veryfast, faster, fast, medium, slow]`);\n if (!acodec || acodec !== 'aac') return alert(`Invalid acodec ${acodec}, should be aac`);\n if (achannels === undefined || achannels === null || achannels === '') return alert(`Invalid achannels ${achannels}, should not empty`);\n if (![0, 1, 2].includes(achannels)) return alert(`Invalid achannels ${achannels}, should be in [0, 1, 2]`);\n if (!server && !secret) return alert(`Invalid server ${server} and key ${secret}`);\n\n axios.post('/terraform/v1/ffmpeg/transcode/apply', {\n all: enabled, vcodec, acodec, vbitrate, abitrate, achannels: achannels, vprofile, vpreset,\n server, secret,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n console.log(`Transcode: Apply patterns ok, all=${enabled}, vbitrate=${vbitrate}, abitrate=${abitrate}, vcodec=${vcodec}, vprofile=${vprofile}, vpreset=${vpreset}, acodec=${acodec}, server=${server}, secret=${secret}`);\n success && success();\n }).catch(handleError);\n }, [handleError, t, vbitrate, abitrate, achannels, vcodec, vprofile, vpreset, acodec, server, secret]);\n\n return (\n <Accordion defaultActiveKey={[activeKey]} alwaysOpen>\n <React.Fragment>\n {language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 直播转码,是将SRS Stack的直播流,用FFmpeg转成不同码率和清晰度的直播流,再推送到SRS Stack。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>降低带宽,保持相同清晰度,降低流的码率,从而降低整体的观看带宽</li>\n <li>提高清晰度,保持同样输出码率和带宽,提高原始码流的码率,提升输出流的清晰度和画质</li>\n <li>多清晰度多码率,从高分辨率的原始码流,转成多个不同清晰度和码率的流,给不同设备观看</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>首先先将需要转码的原始流,推送到SRS Stack</li>\n <li>然后配置转码的信息,选择不同的转码模板,调整转码参数</li>\n <li>开始转码后,将生成新的不同的转码的流,推送到SRS Stack上</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <div>\n Live streaming transcoding is the process of converting the live stream from SRS Stack using FFmpeg into different bitrates and resolutions, and then pushing it back to SRS Stack.\n <p></p>\n </div>\n <p>Specific scenarios where this can be applied include:</p>\n <ul>\n <li>Reducing bandwidth while maintaining the same resolution by lowering the bitrate of the stream, thus reducing the overall viewing bandwidth.</li>\n <li>Improving resolution while keeping the same output bitrate and bandwidth by increasing the bitrate of the original stream, enhancing the output stream's clarity and quality.</li>\n <li>Creating multiple resolutions and bitrates from a high-resolution original stream for viewing on different devices.</li>\n </ul>\n <p>Instructions for use:</p>\n <ul>\n <li>First, push the original stream that needs to be transcoded to SRS Stack.</li>\n <li>Then, configure the transcoding information, choose different transcoding templates, and adjust the transcoding parameters.</li>\n <li>After starting the transcoding, new streams with different transcoded resolutions and bitrates will be generated and pushed to SRS Stack.</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n }\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('transcode.config.header')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.vbitrate')}</Form.Label>\n <Form.Text> * {t('transcode.config.vbitrate2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={vbitrate} onChange={(e) => setVbitrate(parseInt(e.target.value))} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.abitrate')}</Form.Label>\n <Form.Text> * {t('transcode.config.abitrate2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={abitrate} onChange={(e) => setAbitrate(parseInt(e.target.value))} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.vcodec')}</Form.Label>\n <Form.Text> * {t('transcode.config.vcodec2')}</Form.Text>\n <Form.Select defaultValue={vcodec} onChange={(e) => setVcodec(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"libx264\">{t('transcode.config.vcodec3')}</option>\n </Form.Select>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.vprofile')}</Form.Label>\n <Form.Text> * {t('transcode.config.vprofile2')}</Form.Text>\n <Form.Select defaultValue={vprofile} onChange={(e) => setVprofile(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"baseline\">{t('transcode.config.vprofile3')}</option>\n <option value=\"main\">{t('transcode.config.vprofile4')}</option>\n <option value=\"high\">{t('transcode.config.vprofile5')}</option>\n </Form.Select>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.vpreset')}</Form.Label>\n <Form.Text> * {t('transcode.config.vpreset2')}</Form.Text>\n <Form.Select defaultValue={vpreset} onChange={(e) => setVpreset(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"ultrafast\">Ultrafast({t('transcode.config.vpreset3')})</option>\n <option value=\"superfast\">Superfast</option>\n <option value=\"veryfast\">Veryfast</option>\n <option value=\"faster\">Faster({t('transcode.config.vpreset4')})</option>\n <option value=\"fast\">Fast</option>\n <option value=\"medium\">Medium</option>\n <option value=\"slow\">Slow({t('transcode.config.vpreset5')})</option>\n </Form.Select>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.acodec')}</Form.Label>\n <Form.Text> * {t('transcode.config.acodec2')}</Form.Text>\n <Form.Select defaultValue={acodec} onChange={(e) => setAcodec(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"aac\">{t('transcode.config.acodec3')}</option>\n </Form.Select>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.achannel')}</Form.Label>\n <Form.Text> * {t('transcode.config.achannelN')}</Form.Text>\n <Form.Select defaultValue={achannels} onChange={(e) => setAchannels(parseInt(e.target.value))}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"0\">{t('transcode.config.achannel0')}</option>\n <option value=\"1\">{t('transcode.config.achannel1')}</option>\n <option value=\"2\">{t('transcode.config.achannel2')}</option>\n </Form.Select>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.server')}</Form.Label>\n <Form.Text> * {t('transcode.config.server2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={server} onChange={(e) => setServer(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcode.config.key')}</Form.Label>\n <Form.Text> * {t('transcode.config.key2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={secret} onChange={(e) => setSecret(e.target.value)} />\n </Form.Group>\n <Button ariant=\"primary\" type=\"submit\" onClick={(e) => {\n e.preventDefault();\n updateTranscodeStatus(!transcodeEnabled, () => {\n setTranscodeEnabled(!transcodeEnabled);\n });\n }}>\n {!transcodeEnabled ? t('transcode.status.start') : t('transcode.status.stop')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('transcode.status.header')}</Accordion.Header>\n <Accordion.Body>\n <Stack gap={1}>\n <div>\n <Badge bg={task?.enabled ? (task?.frame ? 'success' : 'primary') : 'secondary'}>\n {task?.enabled ? (task?.frame ? t('transcode.status.transcoding') : t('transcode.status.waiting')) : t('transcode.status.inactive')}\n </Badge>\n </div>\n <div>\n Update: {task?.frame?.update?.format('YYYY-MM-DD HH:mm:ss')}\n </div>\n <div>\n Log: {task?.frame?.log}\n </div>\n <div>\n Input: {task?.input} \n <a href={taskInputUrls?.flvPlayer} target='_blank' rel='noreferrer'>{t('transcode.status.preview')}</a>\n </div>\n <div>\n Output: {task?.output} \n <a href={taskOutputUrls?.flvPlayer} target='_blank' rel='noreferrer'>{t('transcode.status.preview')}</a>\n </div>\n </Stack>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\n","import React from \"react\";\nimport axios from \"axios\";\nimport {Token} from \"../utils\";\nimport {Button, Form, Spinner} from \"react-bootstrap\";\nimport {useTranslation} from \"react-i18next\";\nimport {useErrorHandler} from \"react-error-boundary\";\n\nexport function OpenAISecretSettings({baseURL, setBaseURL, secretKey, setSecretKey, organization, setOrganization}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [checking, setChecking] = React.useState(false);\n\n const testConnection = React.useCallback(() => {\n if (!secretKey) return alert(`Invalid secret key ${secretKey}`);\n if (!baseURL) return alert(`Invalid base url ${baseURL}`);\n\n const urlPattern = new RegExp('^(http|https)://.+(/v1)$');\n if (!urlPattern.test(baseURL)) return alert(`Invalid BaseUrl ${baseURL}, should be http(s)://your-server/v1`);\n\n setChecking(true);\n\n axios.post('/terraform/v1/ai/transcript/check', {\n secretKey, baseURL,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(`${t('helper.testOk')}: ${t('transcript.testOk')}`);\n console.log(`OpenAI: Test service ok.`);\n }).catch(handleError).finally(setChecking);\n }, [t, handleError, secretKey, baseURL, setChecking]);\n\n return (\n <React.Fragment>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.key')}</Form.Label>\n <Form.Text> * {t('transcript.key2')}, <a href='https://platform.openai.com/api-keys' target='_blank' rel='noreferrer'>{t('helper.link')}</a></Form.Text>\n <Form.Control as=\"input\" type='password' defaultValue={secretKey} onChange={(e) => setSecretKey(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.base')}</Form.Label>\n <Form.Text> * {t('transcript.base2')}. {t('helper.eg')} <code>https://api.openai.com/v1</code></Form.Text>\n <Form.Control as=\"input\" defaultValue={baseURL} onChange={(e) => setBaseURL(e.target.value)} />\n </Form.Group>\n <div>\n <Button ariant=\"primary\" type=\"submit\" disabled={checking} onClick={(e) => {\n e.preventDefault();\n testConnection();\n }}>\n {t('transcript.test')}\n </Button> \n {checking && <Spinner animation=\"border\" variant=\"success\" style={{verticalAlign: 'middle'}} />}\n <p></p>\n </div>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.org')}</Form.Label>\n <Form.Text> * {t('transcript.org2')}, <a href='https://platform.openai.com/account/organization' target='_blank' rel='noreferrer'>{t('helper.link')}</a></Form.Text>\n <Form.Control as=\"input\" defaultValue={organization} onChange={(e) => setOrganization(e.target.value)} />\n </Form.Group>\n </React.Fragment>\n );\n}\n","import React from \"react\";\nimport {Accordion, Button, Form, Nav, Spinner, Table, Card} from \"react-bootstrap\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport {useTranslation} from \"react-i18next\";\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport PopoverConfirm from \"../components/PopoverConfirm\";\nimport {OpenAISecretSettings} from \"../components/OpenAISettings\";\n\nexport default function ScenarioTranscript(props) {\n const handleError = useErrorHandler();\n const [config, setConfig] = React.useState();\n const [uuid, setUuid] = React.useState();\n const [activeKey, setActiveKey] = React.useState();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/ai/transcript/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const data = res.data.data;\n\n setConfig(data.config);\n setUuid(data.task.uuid);\n\n if (data.config.all) {\n setActiveKey(['2', '3', '4', '5', '6']);\n } else {\n setActiveKey(['1']);\n }\n\n console.log(`Transcript: Query ok, ${JSON.stringify(data)}`);\n }).catch(handleError);\n }, [handleError, setActiveKey, setConfig, setUuid]);\n\n if (!activeKey) return <></>;\n return <ScenarioTranscriptImpl {...props} {...{\n activeKey, defaultEnabled: config?.all, defaultConf: config, defaultUuid: uuid,\n }}/>;\n}\n\nfunction ScenarioTranscriptImpl({activeKey, defaultEnabled, defaultConf, defaultUuid}) {\n const language = useSrsLanguage();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [operating, setOperating] = React.useState(false);\n const [refreshNow, setRefreshNow] = React.useState();\n const [transcriptEnabled, setTranscriptEnabled] = React.useState(defaultEnabled);\n const [secretKey, setSecretKey] = React.useState(defaultConf.secretKey);\n const [organization, setOrganization] = React.useState(defaultConf.organization);\n const [baseURL, setBaseURL] = React.useState(defaultConf.baseURL || (language === 'zh' ? '' : 'https://api.openai.com/v1'));\n const [targetLanguage, setTargetLanguage] = React.useState(defaultConf.lang || language);\n const [forceStyle, setForceStyle] = React.useState(defaultConf.forceStyle || 'Alignment=2,MarginV=20');\n\n const [liveQueue, setLiveQueue] = React.useState();\n const [asrQueue, setAsrQueue] = React.useState();\n const [fixQueue, setFixQueue] = React.useState();\n const [overlayQueue, setOverlayQueue] = React.useState();\n\n const [uuid, setUuid] = React.useState(defaultUuid);\n const [overlayHlsUrl, setOverlayHlsUrl] = React.useState();\n const [overlayHlsPreview, setOverlayHlsPreview] = React.useState();\n const [originalHlsUrl, setOriginalHlsUrl] = React.useState();\n const [originalHlsPreview, setOriginalHlsPreview] = React.useState();\n\n const [configItem, setConfigItem] = React.useState('provider');\n\n const changeConfigItem = React.useCallback((e, t) => {\n e.preventDefault();\n setConfigItem(t);\n }, [setConfigItem]);\n\n React.useEffect(() => {\n const l = window.location;\n const schema = l.protocol.replace(':', '');\n const httpPort = l.port || (l.protocol === 'http:' ? 80 : 443);\n\n setOverlayHlsUrl(`${l.protocol}//${l.host}/terraform/v1/ai/transcript/hls/overlay/${uuid}.m3u8`);\n setOverlayHlsPreview(`/players/srs_player.html?schema=${schema}&port=${httpPort}&autostart=true&app=terraform/v1/ai/transcript/hls/overlay&stream=${uuid}.m3u8`);\n\n setOriginalHlsUrl(`${l.protocol}//${l.host}/terraform/v1/ai/transcript/hls/original/${uuid}.m3u8`);\n setOriginalHlsPreview(`/players/srs_player.html?schema=${schema}&port=${httpPort}&autostart=true&app=terraform/v1/ai/transcript/hls/original&stream=${uuid}.m3u8`);\n }, [uuid, setOverlayHlsUrl, setOverlayHlsPreview, setOriginalHlsUrl, setOriginalHlsPreview]);\n\n const updateAiService = React.useCallback((enabled, success) => {\n if (!secretKey) return alert(`Invalid secret key ${secretKey}`);\n if (!baseURL) return alert(`Invalid base url ${baseURL}`);\n\n axios.post('/terraform/v1/ai/transcript/apply', {\n uuid, all: !!enabled, secretKey, organization, baseURL, lang: targetLanguage, forceStyle,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n console.log(`Transcript: Apply config ok, uuid=${uuid}.`);\n success && success();\n }).catch(handleError);\n }, [t, handleError, secretKey, baseURL, targetLanguage, forceStyle, uuid, organization]);\n\n const resetTask = React.useCallback(() => {\n setOperating(true);\n\n axios.post('/terraform/v1/ai/transcript/reset', {\n uuid,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n const data = res.data.data;\n setUuid(data.uuid);\n console.log(`Transcript: Reset task ${uuid} ok: ${JSON.stringify(data)}`);\n }).catch(handleError).finally(setOperating);\n }, [t, handleError, uuid, setUuid, setOperating]);\n\n const clearText = React.useCallback((segment) => {\n setOperating(true);\n\n axios.post('/terraform/v1/ai/transcript/clear-subtitle', {\n uuid, tsid: segment.tsid,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n const data = res.data.data;\n setRefreshNow(!refreshNow);\n console.log(`Transcript: Clear subtitle of task ${uuid} segment ${segment.tsid} ok: ${JSON.stringify(data)}`);\n }).catch(handleError).finally(setOperating);\n }, [t, handleError, setOperating, uuid, refreshNow, setRefreshNow]);\n\n React.useEffect(() => {\n const refreshLiveQueueTask = () => {\n axios.post('/terraform/v1/ai/transcript/live-queue', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const queue = res.data.data;\n queue.segments = queue?.segments?.map(segment => {\n return {\n ...segment,\n duration: Number(segment.duration),\n size: Number(segment.size / 1024.0 / 1024),\n };\n });\n setLiveQueue(queue);\n console.log(`Transcript: Query live queue ${JSON.stringify(queue)}`);\n }).catch(handleError);\n };\n\n refreshLiveQueueTask();\n const timer = setInterval(() => refreshLiveQueueTask(), 3 * 1000);\n return () => clearInterval(timer);\n }, [handleError, setLiveQueue]);\n\n React.useEffect(() => {\n const refreshAsrQueueTask = () => {\n axios.post('/terraform/v1/ai/transcript/asr-queue', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const queue = res.data.data;\n queue.segments = queue?.segments?.map(segment => {\n return {\n ...segment,\n duration: Number(segment.duration),\n size: Number(segment.size / 1024.0),\n eac: Number(segment.eac),\n };\n });\n setAsrQueue(queue);\n console.log(`Transcript: Query asr queue ${JSON.stringify(queue)}`);\n }).catch(handleError);\n };\n\n refreshAsrQueueTask();\n const timer = setInterval(() => refreshAsrQueueTask(), 3 * 1000);\n return () => clearInterval(timer);\n }, [handleError, setAsrQueue]);\n\n React.useEffect(() => {\n const refreshFixQueueTask = () => {\n axios.post('/terraform/v1/ai/transcript/fix-queue', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const queue = res.data.data;\n queue.segments = queue?.segments?.map((segment, index) => {\n return {\n ...segment,\n duration: Number(segment.duration),\n size: Number(segment.size / 1024.0),\n eac: Number(segment.eac),\n asrc: Number(segment.asrc),\n // The max length of the subtitle text in asrs array.\n asrsMaxLength: Math.max(...segment.asrs.map(asr => asr.text.length)),\n asrsMaxWords: Math.max(...segment.asrs.map(asr => asr.text.split(' ').length)),\n // Rules:\n // 1. Always allow to clear the first segment, that is only one segment in the queue.\n // 2. Prevent the first segment from clearing subtitles, as it may have already been added\n // to the overlay queue and not be able to modify it.\n // 3. If already cleared, the uca(User Clear ASR) is set to true.\n allowClearSubtitle: (queue.segments.length <= 1 || index !== 0) && !segment.uca,\n };\n });\n setFixQueue(queue);\n console.log(`Transcript: Query fix queue ${JSON.stringify(queue)}`);\n }).catch(handleError);\n };\n\n refreshFixQueueTask();\n const timer = setInterval(() => refreshFixQueueTask(), 3 * 1000);\n return () => clearInterval(timer);\n }, [handleError, setFixQueue, refreshNow]);\n\n React.useEffect(() => {\n const refreshOverlayQueueTask = () => {\n axios.post('/terraform/v1/ai/transcript/overlay-queue', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const queue = res.data.data;\n queue.segments = queue?.segments?.map(segment => {\n return {\n ...segment,\n duration: Number(segment.duration),\n size: Number(segment.size / 1024.0 / 1024.0),\n eac: Number(segment.eac),\n asrc: Number(segment.asrc),\n olc: Number(segment.olc),\n // The max length of the subtitle text in asrs array.\n asrsMaxLength: Math.max(...segment.asrs.map(asr => asr.text.length)),\n asrsMaxWords: Math.max(...segment.asrs.map(asr => asr.text.split(' ').length)),\n };\n });\n setOverlayQueue(queue);\n console.log(`Transcript: Query overlay queue ${JSON.stringify(queue)}`);\n }).catch(handleError);\n };\n\n refreshOverlayQueueTask();\n const timer = setInterval(() => refreshOverlayQueueTask(), 3 * 1000);\n return () => clearInterval(timer);\n }, [handleError, setOverlayQueue]);\n\n return (\n <Accordion defaultActiveKey={activeKey} alwaysOpen>\n <React.Fragment>\n {language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n AI字幕使用人工智能将实时语音转换成文本,然后允许人工编辑和校正文本,并将其翻译成多种语言,\n 并将修改后的多语言文本合并在视频流中,最终生成一个新的直播流。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>直播时,使用AI生成的自动字幕,让听力受限的观众,在听不到声音时,可以看视频的字幕。</li>\n <li>为不同语言的观众提供多语言字幕。直播时,由AI翻译成各种语言,从而生成多个流,每个流都有特定语言的字幕。\n 例如,如果直播源是英语的,那么会有带有英语、中文、法语等其他语言字幕的输出流。</li>\n <li>为多个直播平台提供一致的字幕体验。因为一些平台支持自动字幕,而其他平台则不支持。通过在源直播中加入自动字幕,\n 我们可以确保在各种直播平台上的一致性,确保所有平台都有一致的字幕。</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <div>\n Transcription uses AI to convert live speech into text, then allows you to edit and correct the\n text, translates it into multiple languages, and overlay the multilingual text onto the video,\n ultimately generating a new live stream.\n <p></p>\n </div>\n <p>Specific scenarios where this can be applied include:</p>\n <ul>\n <li>AI-generated automatic subtitles for live streams are provided for audiences with hearing\n impairments, allowing them to read the subtitles even if they are unable to hear the speech.</li>\n <li>Multilingual subtitles are provided for audiences who speak different languages. The live\n stream is translated by AI into various languages, resulting in multiple streams, each with\n subtitles in a specific language. For example, if the source stream is in English, there will\n be output streams with subtitles in English, Chinese, French, and other languages.</li>\n <li>Automatic subtitles are provided for multiple live stream platforms. This is because some\n platforms offer automatic subtitles, while others do not. By incorporating automatic subtitles\n into the source stream, we can ensure consistency across various live streaming platforms,\n ensuring that all have subtitles.</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n }\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('transcript.service')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Card>\n <Card.Header>\n <Nav variant=\"tabs\" defaultActiveKey=\"#provider\">\n <Nav.Item>\n <Nav.Link href=\"#provider\" onClick={(e) => changeConfigItem(e, 'provider')}>{t('lr.room.provider')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#asr\" onClick={(e) => changeConfigItem(e, 'asr')}>{t('lr.room.asr')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#overlay\" onClick={(e) => changeConfigItem(e, 'overlay')}>{t('transcript.overlay2')}</Nav.Link>\n </Nav.Item>\n </Nav>\n </Card.Header>\n {configItem === 'provider' && <Card.Body>\n <OpenAISecretSettings {...{\n baseURL, setBaseURL, secretKey, setSecretKey,\n organization, setOrganization,\n }} />\n </Card.Body>}\n {configItem === 'asr' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.lang')}</Form.Label>\n <Form.Text> * {t('transcript.lang2')}. \n {t('helper.eg')} <code>en, zh, fr, de, ja, ru </code>, ... \n {t('helper.see')} <a href='https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target='_blank' rel='noreferrer'>ISO-639-1</a>.\n </Form.Text>\n <Form.Control as=\"input\" defaultValue={targetLanguage} onChange={(e) => setTargetLanguage(e.target.value)} />\n </Form.Group>\n </Card.Body>}\n {configItem === 'overlay' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.fstyle')}</Form.Label>\n <Form.Text> * {t('transcript.fstyle2')}. \n {t('helper.see')} <a href={t('transcript.fstyle3')} target='_blank' rel='noreferrer'>FFmpeg: force_style</a>.\n </Form.Text>\n <Form.Control as=\"input\" defaultValue={forceStyle} onChange={(e) => setForceStyle(e.target.value)} />\n </Form.Group>\n </Card.Body>}\n </Card>\n <p></p>\n <Button ariant=\"primary\" type=\"submit\" onClick={(e) => {\n e.preventDefault();\n updateAiService(!transcriptEnabled, () => {\n setTranscriptEnabled(!transcriptEnabled);\n });\n }}>\n {!transcriptEnabled ? t('transcript.start') : t('transcript.stop')}\n </Button> \n {!transcriptEnabled && <React.Fragment>\n <Button ariant=\"primary\" type=\"submit\" disabled={operating} onClick={(e) => {\n e.preventDefault();\n resetTask();\n }}>\n {t('transcript.reset')}\n </Button> \n {operating && <Spinner animation=\"border\" variant=\"success\" style={{verticalAlign: 'middle'}} />}\n </React.Fragment>}\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('transcript.live')}</Accordion.Header>\n <Accordion.Body>\n {liveQueue?.segments?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>Seq</th>\n <th>URL</th>\n <th>Duration</th>\n <th>Size</th>\n </tr>\n </thead>\n <tbody>\n {liveQueue?.segments?.map((segment, index) => {\n return <tr key={segment.tsid}>\n <td>{segment.tsid}</td>\n <td>{segment.seqno}</td>\n <td>{segment.url}</td>\n <td>{`${segment.duration.toFixed(1)}`}s</td>\n <td>{`${segment.size.toFixed(1)}`}MB</td>\n </tr>;\n })}\n </tbody>\n </Table>\n ) : t('transcript.nolive')}\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{t('transcript.asr')}</Accordion.Header>\n <Accordion.Body>\n {asrQueue?.segments?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>URL</th>\n <th>Duration</th>\n <th title={t('transcript.eac')}>EAC</th>\n <th>Size</th>\n </tr>\n </thead>\n <tbody>\n {asrQueue?.segments?.map((segment, index) => {\n return <tr key={segment.tsid}>\n <td>{segment.seqno}</td>\n <td>{segment.url}</td>\n <td>{`${segment.duration.toFixed(1)}`}s</td>\n <td>{`${segment.eac.toFixed(1)}`}ms</td>\n <td>{`${segment.size.toFixed(1)}`}KB</td>\n </tr>;\n })}\n </tbody>\n </Table>\n ) : t('transcript.noasr')}\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"4\">\n <Accordion.Header>{t('transcript.fix')}</Accordion.Header>\n <Accordion.Body>\n {fixQueue?.segments?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>URL</th>\n <th>Duration</th>\n <th title={t('transcript.eac')}>EAC</th>\n <th title={t('transcript.asrc')}>ASRC</th>\n <th>Segments</th>\n <th>Size</th>\n <th>Text</th>\n <th>{t('transcript.action')}</th>\n </tr>\n </thead>\n <tbody>\n {fixQueue?.segments?.map((segment, index) => {\n return <tr key={segment.tsid}>\n <td>{segment.seqno}</td>\n <td>{segment.url}</td>\n <td>{`${segment.duration.toFixed(1)}`}s</td>\n <td>{`${segment.eac.toFixed(1)}`}ms</td>\n <td>{`${segment.asrc.toFixed(1)}`}ms</td>\n <td title={`There are ${segment.asrs.length} segments, max text length is ${segment.asrsMaxLength} bytes, max words is ${segment.asrsMaxWords}`}>\n {segment.asrs.length}/{segment.asrsMaxLength}/{segment.asrsMaxWords}\n </td>\n <td>{`${segment.size.toFixed(1)}`}KB</td>\n <td style={{textDecoration: segment.uca ? \"line-through\" : ''}}>{segment.asr}</td>\n <td>\n <PopoverConfirm placement='top'\n trigger={ <a href={`#${segment.tsid}`} hidden={!segment.allowClearSubtitle}>{t('transcript.clear')}</a> }\n onClick={() => clearText(segment)}>\n <p>\n {t('transcript.clear2')}\n </p>\n </PopoverConfirm>\n </td>\n </tr>;\n })}\n </tbody>\n </Table>\n ) : t('transcript.nofix')}\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"5\">\n <Accordion.Header>{t('transcript.overlay')}</Accordion.Header>\n <Accordion.Body>\n {overlayQueue?.segments?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>URL</th>\n <th>Duration</th>\n <th title={t('transcript.eac')}>EAC</th>\n <th title={t('transcript.asrc')}>ASRC</th>\n <th title={t('transcript.olc')}>OLC</th>\n <th>Segments</th>\n <th>Size</th>\n <th>Text</th>\n </tr>\n </thead>\n <tbody>\n {overlayQueue?.segments?.map((segment, index) => {\n return <tr key={segment.tsid}>\n <td>{segment.seqno}</td>\n <td>{segment.url}</td>\n <td>{`${segment.duration.toFixed(1)}`}s</td>\n <td>{`${segment.eac.toFixed(1)}`}ms</td>\n <td>{`${segment.asrc.toFixed(1)}`}ms</td>\n <td>{`${segment.olc.toFixed(1)}`}ms</td>\n <td>{`${segment.size.toFixed(1)}`}MB</td>\n <td title={`There are ${segment.asrs.length} segments, max text length is ${segment.asrsMaxLength} bytes, max words is ${segment.asrsMaxWords}`}>\n {segment.asrs.length}/{segment.asrsMaxLength}/{segment.asrsMaxWords}\n </td>\n <td style={{textDecoration: segment.uca ? \"line-through\" : ''}}>{segment.asr}</td>\n </tr>;\n })}\n </tbody>\n </Table>\n ) : t('transcript.nooverlay')}\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"6\">\n <Accordion.Header>{t('transcript.ops')}</Accordion.Header>\n <Accordion.Body>\n {t('transcript.porg')}: <a href={originalHlsPreview} target='_blank' rel='noreferrer'>{originalHlsUrl}</a><br/>\n {t('transcript.pol')}: <a href={overlayHlsPreview} target='_blank' rel='noreferrer'>{overlayHlsUrl}</a><br/>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport {Accordion, Button, Card, Form, Nav, Spinner, Table} from \"react-bootstrap\";\nimport {useTranslation} from \"react-i18next\";\nimport axios from \"axios\";\nimport {Clipboard, Locale, Token} from \"../utils\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useSearchParams} from \"react-router-dom\";\nimport {buildUrls} from \"../components/UrlGenerator\";\nimport {SrsEnvContext} from \"../components/SrsEnvContext\";\nimport * as Icon from \"react-bootstrap-icons\";\nimport PopoverConfirm from \"../components/PopoverConfirm\";\nimport {OpenAISecretSettings} from \"../components/OpenAISettings\";\n\nexport default function ScenarioLiveRoom() {\n const [searchParams] = useSearchParams();\n // The room id, to maintain a specified room.\n const [roomId, setRoomId] = React.useState();\n\n React.useEffect(() => {\n const id = searchParams.get('roomid') || null;\n console.log(`?roomid=xxx, current=${id}, Set the roomid to manage.`);\n setRoomId(id);\n }, [searchParams, setRoomId]);\n\n if (roomId) return <ScenarioLiveRoomImpl {...{setRoomId, roomId}} />;\n return <ScenarioLiveRoomList {...{setRoomId}} />;\n}\n\nfunction ScenarioLiveRoomList({setRoomId}) {\n const language = useSrsLanguage();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const [searchParams, setSearchParams] = useSearchParams();\n const [name, setName] = React.useState('My Live Room');\n const [rooms, setRooms] = React.useState([]);\n const [refreshNow, setRefreshNow] = React.useState();\n\n const createLiveRoom = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/live/room/create', {\n title: name,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const {uuid} = res.data.data;\n searchParams.set('roomid', uuid); setSearchParams(searchParams);\n setRoomId(uuid);\n console.log(`Status: Create ok, name=${name}, data=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, name, setRoomId, searchParams, setSearchParams]);\n\n const removeRoom = React.useCallback((uuid) => {\n axios.post('/terraform/v1/live/room/remove', {\n uuid: uuid,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setRefreshNow(!refreshNow);\n console.log(`Status: Remove ok, uuid=${uuid}, data=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, refreshNow, setRefreshNow]);\n\n const manageRoom = React.useCallback((room) => {\n const uuid = room.uuid;\n searchParams.set('roomid', uuid); setSearchParams(searchParams);\n setRoomId(room.uuid);\n }, [searchParams, setSearchParams, setRoomId]);\n\n const copyRoom = React.useCallback(async (roomCopy) => {\n const name = `Copy of ${roomCopy.title}`;\n const room = await new Promise(resolve => {\n axios.post('/terraform/v1/live/room/create', {\n title: name,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const room = res.data.data;\n console.log(`Status: Create ok, name=${name}, data=${JSON.stringify(res.data.data)}`);\n resolve(room);\n }).catch(handleError);\n });\n\n await new Promise(resolve => {\n axios.post('/terraform/v1/live/room/update', {\n ...roomCopy,\n // Do not copy the stream, secret, and token.\n uuid: room.uuid, title: room.title, stream: room.stream, secret: room.secret,\n roomToken: room.roomToken, created_at: room.created_at,\n // Avoid copying the stage uuid, as there should be no stage for the new room.\n stage_uuid: '',\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n console.log(`Room: Update ok, uuid=${room.uuid}, data=${JSON.stringify(res.data.data)}`);\n resolve();\n }).catch(handleError);\n });\n }, [handleError, t]);\n\n React.useEffect(() => {\n const refreshLiveRoomsTask = () => {\n axios.post('/terraform/v1/live/room/list', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const {rooms} = res.data.data;\n setRooms(rooms?.sort((a, b) => {\n if (a.created_at === b.created_at) return a.uuid > b.uuid ? -1 : 1;\n return a.created_at > b.created_at ? -1 : 1;\n }) || []);\n console.log(`Status: List ok, data=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n };\n\n refreshLiveRoomsTask();\n const timer = setInterval(() => refreshLiveRoomsTask(), 3 * 1000);\n return () => {\n clearInterval(timer);\n setRooms([]);\n }\n }, [handleError, setRooms, refreshNow]);\n\n return (\n <Accordion defaultActiveKey={['1', '2']}>\n <React.Fragment>\n {language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>直播间,提供了按每个流鉴权的能力,并支持直播间的业务功能。</div>\n <p></p>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>自建直播间,私域直播,仅限私域会员能观看的直播。</li>\n <li>企业直播,企业内部的直播间,仅限企业内部人员观看。</li>\n <li>电商直播,仅限电商特定买家可观看的直播。</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Scenario Introduction</Accordion.Header>\n <Accordion.Body>\n <div>Live room, which provides the ability to authenticate each stream and supports business functions of live room.</div>\n <p></p>\n <p>The specific scenarios that can be applied include:</p>\n <ul>\n <li>Self-built live room, private domain live broadcast, live broadcast that can only be watched by private domain members.</li>\n <li>Enterprise live broadcast, live room within the enterprise, only for internal personnel of the enterprise.</li>\n <li>E-commerce live broadcast, live broadcast that can only be watched by specific buyers of e-commerce.</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>}\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('lr.create.title')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.create.name')}</Form.Label>\n <Form.Text> * {t('lr.create.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={name} onChange={(e) => setName(e.target.value)} />\n </Form.Group>\n <Button ariant=\"primary\" type=\"submit\" onClick={(e) => createLiveRoom(e)}>\n {t('helper.create')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('lr.list.title')}</Accordion.Header>\n <Accordion.Body>\n {rooms?.length ? <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>UUID</th>\n <th>Title</th>\n <th>Stream</th>\n <th>Created At</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n {rooms?.map((room, index) => {\n return <tr key={room.uuid}>\n <td>{index}</td>\n <td>\n <a href=\"#!\" onClick={(e) => {\n e.preventDefault();\n manageRoom(room);\n }}>{room.uuid}</a>\n </td>\n <td>{room.title}</td>\n <td>{room.stream}</td>\n <td>{room.created_at}</td>\n <td>\n <a href=\"#!\" onClick={(e) => {\n e.preventDefault();\n manageRoom(room);\n }}>{t('helper.manage')}</a> \n <PopoverConfirm placement='top' trigger={ <a href='#!'>{t('helper.delete')}</a> } onClick={() => removeRoom(room.uuid)}>\n <p>{t('lr.list.delete')}</p>\n </PopoverConfirm> \n <PopoverConfirm placement='top' trigger={ <a href='#!'>{t('helper.copy')}</a> } onClick={() => copyRoom(room)}>\n <p>{t('lr.list.copy')}</p>\n </PopoverConfirm>\n </td>\n </tr>;\n })}\n </tbody>\n </Table> : t('lr.list.empty')}\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction ScenarioLiveRoomImpl({roomId, setRoomId}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [requesting, setRequesting] = React.useState(false);\n const [room, setRoom] = React.useState();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/live/room/query', {\n uuid: roomId,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setRoom(res.data.data);\n console.log(`Room: Query ok, uuid=${roomId}, data=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, roomId, setRoom]);\n\n const updateRoom = React.useCallback((room) => {\n setRequesting(true);\n try {\n new Promise(resolve => {\n axios.post('/terraform/v1/live/room/update', {\n uuid: room.uuid, ...room,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n setRoom(res.data.data);\n console.log(`Room: Update ok, uuid=${room.uuid}, data=${JSON.stringify(res.data.data)}`);\n resolve();\n }).catch(handleError);\n });\n } finally {\n setRequesting(false);\n }\n }, [t, handleError, setRequesting, setRoom]);\n\n if (!room) return <Spinner animation=\"border\" variant=\"primary\" />;\n return <>\n <Accordion defaultActiveKey={['2', '3']} alwaysOpen>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{t('lr.room.nav')}</Accordion.Header>\n <Accordion.Body>\n <Button variant=\"link\" onClick={() => setRoomId(null)}>Back to Rooms</Button>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('lr.room.rbasic')}</Accordion.Header>\n <Accordion.Body>\n {room ? <LiveRoomSettings {...{room, requesting, updateRoom}}/> : ''}\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('lr.room.stream')}</Accordion.Header>\n <Accordion.Body>\n {room ? <LiveRoomStreamer {...{room}}/> : ''}\n </Accordion.Body>\n </Accordion.Item>\n {room ? <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{t('lr.room.aiw')}</Accordion.Header>\n <Accordion.Body>\n <LiveRoomAssistant {...{room, requesting, updateRoom}}/>\n </Accordion.Body>\n </Accordion.Item> : ''}\n </Accordion>\n </>;\n}\n\nfunction LiveRoomSettings({room, requesting, updateRoom}) {\n const {t} = useTranslation();\n const [name, setName] = React.useState(room.title);\n\n const onUpdateRoom = React.useCallback((e, room) => {\n e.preventDefault();\n updateRoom({\n ...room, title: name,\n });\n }, [name, updateRoom]);\n\n return (\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.create.name')}</Form.Label>\n <Form.Text> * {t('lr.create.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={name} onChange={(e) => setName(e.target.value)} />\n </Form.Group>\n <Button ariant=\"primary\" type=\"submit\" disabled={requesting} onClick={(e) => onUpdateRoom(e, room)}>\n {t('helper.update')}\n </Button>\n </Form>\n );\n}\n\nfunction LiveRoomStreamer({room}) {\n const {t} = useTranslation();\n const env = React.useContext(SrsEnvContext)[0];\n\n const [urls, setUrls] = React.useState({});\n const [streamType, setStreamType] = React.useState('rtmp');\n\n const copyToClipboard = React.useCallback((e, text) => {\n e.preventDefault();\n\n Clipboard.copy(text).then(() => {\n alert(t('helper.copyOk'));\n }).catch((err) => {\n alert(`${t('helper.copyFail')} ${err}`);\n });\n }, [t]);\n\n const changeStreamType = React.useCallback((e, t) => {\n e.preventDefault();\n setStreamType(t);\n }, [setStreamType]);\n\n React.useEffect(() => {\n if (!room?.secret) return;\n const urls = buildUrls(`live/${room.stream}`, {publish: room.secret}, env);\n setUrls(urls);\n }, [room, env, setUrls]);\n\n const {\n rtmpServer, rtmpStreamKey, hlsPlayer, m3u8Url, srtPublishUrl,\n } = urls;\n\n return (\n <Card>\n <Card.Header>\n <Nav variant=\"tabs\" defaultActiveKey=\"#rtmp\">\n <Nav.Item>\n <Nav.Link href=\"#rtmp\" onClick={(e) => changeStreamType(e, 'rtmp')}>{t('live.obs.title')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#srt\" onClick={(e) => changeStreamType(e, 'srt')}>{t('live.srt.title')}</Nav.Link>\n </Nav.Item>\n </Nav>\n </Card.Header>\n {streamType === 'rtmp' ? <Card.Body>\n <div>\n {t('live.obs.server')} <code>{rtmpServer}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtmpServer)} />\n </div>\n </div>\n <div>\n {t('live.obs.key')} <code>{rtmpStreamKey}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, rtmpStreamKey)} />\n </div>\n </div>\n <div>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </div>\n </Card.Body> :\n <Card.Body>\n <div>\n {t('live.obs.server')} <code>{srtPublishUrl}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, srtPublishUrl)} />\n </div>\n </div>\n <div>\n {t('live.obs.key')} <code>{t('live.obs.nokey')}</code>\n </div>\n <div>\n {t('live.share.hls')} \n <a href={hlsPlayer} target='_blank' rel='noreferrer'>{t('live.share.simple')}</a>, \n <code>{m3u8Url}</code> \n <div role='button' style={{display: 'inline-block'}} title={t('helper.copy')}>\n <Icon.Clipboard size={20} onClick={(e) => copyToClipboard(e, m3u8Url)} />\n </div>\n </div>\n </Card.Body>}\n </Card>\n );\n}\n\nfunction LiveRoomAssistant({room, requesting, updateRoom}) {\n const {t} = useTranslation();\n const language = useSrsLanguage();\n\n const [aiName, setAiName] = React.useState(room.aiName);\n const [aiProvider, setAiProvider] = React.useState(room.aiProvider || 'openai');\n const [aiSecretKey, setAiSecretKey] = React.useState(room.aiSecretKey);\n const [aiOrganization, setAiOrganization] = React.useState(room.aiOrganization);\n const [aiBaseURL, setAiBaseURL] = React.useState(room.aiBaseURL || (language === 'zh' ? '' : 'https://api.openai.com/v1'));\n const [aiAsrEnabled, setAiAsrEnabled] = React.useState(room.aiAsrEnabled);\n const [aiChatEnabled, setAiChatEnabled] = React.useState(room.aiChatEnabled);\n const [aiTtsEnabled, setAiTtsEnabled] = React.useState(room.aiTtsEnabled);\n const [aiAsrLanguage, setAiAsrLanguage] = React.useState(room.aiAsrLanguage || language || 'en');\n const [aiAsrPrompt, setAiAsrPrompt] = React.useState(room.aiAsrPrompt || 'user-ai');\n const [aiChatModel, setAiChatModel] = React.useState(room.aiChatModel || 'gpt-3.5-turbo');\n const [aiChatPrompt, setAiChatPrompt] = React.useState(room.aiChatPrompt || 'You are a helpful assistant.');\n const [aiChatMaxWindow, setAiChatMaxWindow] = React.useState(room.aiChatMaxWindow || 5);\n const [aiChatMaxWords, setAiChatMaxWords] = React.useState(room.aiChatMaxWords || 300);\n\n const [configItem, setConfigItem] = React.useState('basic');\n const [userName, setUserName] = React.useState('You');\n const [userLanguage, setUserLanguage] = React.useState(room.aiAsrLanguage || language);\n const [aiPattern, setAiPattern] = React.useState('chat');\n const [assistantLink, setAssistantLink] = React.useState();\n\n const changeConfigItem = React.useCallback((e, t) => {\n e.preventDefault();\n setConfigItem(t);\n }, [setConfigItem]);\n\n const onUpdateRoom = React.useCallback((e) => {\n e.preventDefault();\n updateRoom({\n ...room, assistant: true,\n aiName, aiProvider, aiSecretKey, aiOrganization, aiBaseURL, aiAsrLanguage, aiChatModel,\n aiChatPrompt, aiChatMaxWindow: parseInt(aiChatMaxWindow),\n aiChatMaxWords: parseInt(aiChatMaxWords), aiAsrEnabled: !!aiAsrEnabled,\n aiChatEnabled: !!aiChatEnabled, aiTtsEnabled: !!aiTtsEnabled,\n aiAsrPrompt,\n })\n }, [\n updateRoom, room, aiName, aiProvider, aiSecretKey, aiBaseURL, aiAsrLanguage, aiChatModel, aiChatPrompt,\n aiChatMaxWindow, aiChatMaxWords, aiAsrEnabled, aiChatEnabled, aiTtsEnabled, aiAsrPrompt, aiOrganization\n ]);\n\n const onDisableRoom = React.useCallback((e) => {\n e.preventDefault();\n updateRoom({...room, assistant: false});\n }, [updateRoom, room]);\n\n const generateAssistantLink = React.useCallback((e) => {\n e && e.preventDefault();\n\n const roomUUID = room.uuid;\n const roomToken = room.roomToken;\n if (!roomUUID) return;\n\n // For assistant link, we must set expire date.\n const params = [\n 'app=ai-talk',\n 'popout=1',\n 'assistant=1',\n `created=${new Date().toISOString()}`,\n `random=${Math.random().toString(16).slice(-8)}`,\n ...(userName ? [`username=${userName}`] : []),\n ...(userLanguage ? [`language=${userLanguage}`] : []),\n ...(aiPattern ? [`pattern=${aiPattern}`] : []),\n `room=${roomUUID}`,\n `roomToken=${roomToken}`,\n ];\n const url = `${window.PUBLIC_URL}/${Locale.current()}/routers-popout?${params.join('&')}`;\n setAssistantLink(url);\n console.log(`Generated assistant URL: ${url}`);\n }, [setAssistantLink, room, userName, userLanguage, aiPattern]);\n\n // If data updated, update link.\n React.useEffect(() => {\n generateAssistantLink();\n }, [generateAssistantLink, userName, userLanguage, aiPattern]);\n\n if (!room.assistant) {\n return (\n <Button variant=\"primary\" type=\"button\" disabled={requesting}\n onClick={(e) => updateRoom({...room, assistant: true})}>\n {t('lr.room.enable')}\n </Button>\n );\n }\n return (\n <Form>\n <Card>\n <Card.Header>\n <Nav variant=\"tabs\" defaultActiveKey=\"#basic\">\n <Nav.Item>\n <Nav.Link href=\"#basic\" onClick={(e) => changeConfigItem(e, 'basic')}>{t('lr.room.basic')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#provider\" onClick={(e) => changeConfigItem(e, 'provider')}>{t('lr.room.provider')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#asr\" onClick={(e) => changeConfigItem(e, 'asr')}>{t('lr.room.asr')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#chat\" onClick={(e) => changeConfigItem(e, 'chat')}>{t('lr.room.chat')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#tts\" onClick={(e) => changeConfigItem(e, 'tts')}>{t('lr.room.tts')}</Nav.Link>\n </Nav.Item>\n <Nav.Item>\n <Nav.Link href=\"#assistant\" onClick={(e) => changeConfigItem(e, 'assistant')}>{t('lr.room.assistant')}</Nav.Link>\n </Nav.Item>\n </Nav>\n </Card.Header>\n {configItem === 'basic' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.name')}</Form.Label>\n <Form.Text> * {t('lr.room.name2')}</Form.Text>\n <Form.Control as=\"input\" type='input' defaultValue={aiName} onChange={(e) => setAiName(e.target.value)} />\n </Form.Group>\n <LiveRoomAssistantUpdateButtons {...{requesting, onUpdateRoom, onDisableRoom}} />\n </Card.Body>}\n {configItem === 'provider' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.provider')}</Form.Label>\n <Form.Text> * {t('lr.room.provider2')}</Form.Text>\n <Form.Select defaultValue={aiProvider} onChange={(e) => setAiProvider(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"openai\">OpenAI</option>\n </Form.Select>\n </Form.Group>\n <OpenAISecretSettings {...{\n baseURL: aiBaseURL, setBaseURL: setAiBaseURL,\n secretKey: aiSecretKey, setSecretKey: setAiSecretKey,\n organization: aiOrganization, setOrganization: setAiOrganization,\n }} />\n <p></p>\n <LiveRoomAssistantUpdateButtons {...{requesting, onUpdateRoom, onDisableRoom}} />\n </Card.Body>}\n {configItem === 'asr' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Group className=\"mb-3\" controlId=\"formAiAsrEnabledCheckbox\">\n <Form.Check type=\"checkbox\" label={t('lr.room.asre')} defaultChecked={aiAsrEnabled} onClick={() => setAiAsrEnabled(!aiAsrEnabled)} />\n </Form.Group>\n </Form.Group>\n {false /* Do not set the ASR language here, because each user need to set before startup. */ && <>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.lang')}</Form.Label>\n <Form.Text> * {t('transcript.lang2')}. \n {t('helper.eg')} <code>en, zh, fr, de, ja, ru </code>, ... \n {t('helper.see')} <a href='https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target='_blank'\n rel='noreferrer'>ISO-639-1</a>.\n </Form.Text>\n <Form.Control as=\"input\" defaultValue={aiAsrLanguage} onChange={(e) => setAiAsrLanguage(e.target.value)}/>\n </Form.Group>\n </>}\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.asrp')}</Form.Label>\n <Form.Text> * {t('lr.room.asrp2')}.</Form.Text>\n <Form.Select defaultValue={aiAsrPrompt} onChange={(e) => setAiAsrPrompt(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"user-only\">User Input</option>\n <option value=\"user-ai\">User Input + AI Output</option>\n </Form.Select>\n </Form.Group>\n <LiveRoomAssistantUpdateButtons {...{requesting, onUpdateRoom, onDisableRoom}} />\n </Card.Body>}\n {configItem === 'chat' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Group className=\"mb-3\" controlId=\"formAiChatEnabledCheckbox\">\n <Form.Check type=\"checkbox\" label={t('lr.room.chate')} defaultChecked={aiChatEnabled} onClick={() => setAiChatEnabled(!aiChatEnabled)} />\n </Form.Group>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.model')}</Form.Label>\n <Form.Text> * {t('lr.room.model2')}</Form.Text>\n <Form.Control as=\"input\" type='input' defaultValue={aiChatModel} onChange={(e) => setAiChatModel(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.prompt')}</Form.Label>\n <Form.Text> * {t('lr.room.prompt2')}</Form.Text>\n <Form.Control as=\"textarea\" type='text' rows={7} defaultValue={aiChatPrompt} onChange={(e) => setAiChatPrompt(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.window')}</Form.Label>\n <Form.Text> * {t('lr.room.window2')}</Form.Text>\n <Form.Control as=\"input\" type='input' defaultValue={aiChatMaxWindow} onChange={(e) => setAiChatMaxWindow(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.words')}</Form.Label>\n <Form.Text> * {t('lr.room.words2')}</Form.Text>\n <Form.Control as=\"input\" type='input' defaultValue={aiChatMaxWords} onChange={(e) => setAiChatMaxWords(e.target.value)} />\n </Form.Group>\n <LiveRoomAssistantUpdateButtons {...{requesting, onUpdateRoom, onDisableRoom}} />\n </Card.Body>}\n {configItem === 'tts' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Group className=\"mb-3\" controlId=\"formAiTtsEnabledCheckbox\">\n <Form.Check type=\"checkbox\" label={t('lr.room.ttse')} defaultChecked={aiTtsEnabled} onClick={() => setAiTtsEnabled(!aiTtsEnabled)} />\n </Form.Group>\n </Form.Group>\n <LiveRoomAssistantUpdateButtons {...{requesting, onUpdateRoom, onDisableRoom}} />\n </Card.Body>}\n {configItem === 'assistant' && <Card.Body>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.uname')}</Form.Label>\n <Form.Text> * {t('lr.room.uname2')}</Form.Text>\n <Form.Control as=\"input\" type='input' defaultValue={userName} onChange={(e) => {\n e.preventDefault();\n setUserName(e.target.value);\n }} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.lang')}</Form.Label>\n <Form.Text> * {t('transcript.lang3')}. \n {t('helper.eg')} <code>en, zh, fr, de, ja, ru </code>, ... \n {t('helper.see')} <a href='https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target='_blank' rel='noreferrer'>ISO-639-1</a>.\n </Form.Text>\n <Form.Control as=\"input\" defaultValue={userLanguage} onChange={(e) => {\n e.preventDefault();\n setUserLanguage(e.target.value);\n }} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.pattern')}</Form.Label>\n <Form.Text> * {t('lr.room.pattern2')}.</Form.Text>\n <Form.Select defaultValue={aiPattern} onChange={(e) => setAiPattern(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"chat\">Chat ({t('lr.room.patternChat')})</option>\n {false && <option value=\"dictation\">Dictation ({t('lr.room.patternListen')})</option>}\n </Form.Select>\n </Form.Group>\n <Button variant=\"primary\" type=\"button\" onClick={generateAssistantLink}>\n {t('helper.generate')}\n </Button>\n <p></p>\n {assistantLink && <p>\n Assistant: <a href={assistantLink} target='_blank' rel='noreferrer'>{userName} {userLanguage} {aiPattern}</a>\n </p>}\n </Card.Body>}\n </Card>\n </Form>\n );\n}\n\nfunction LiveRoomAssistantUpdateButtons({requesting, onUpdateRoom, onDisableRoom}) {\n const {t} = useTranslation();\n\n return <>\n <Button variant=\"primary\" type=\"button\" disabled={requesting} onClick={onUpdateRoom}>\n {t('lr.room.update')}\n </Button> \n <Button variant=\"primary\" type=\"button\" disabled={requesting} onClick={onDisableRoom}>\n {t('lr.room.disable')}\n </Button>\n </>;\n}\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Accordion, Badge, Button, Col, Form, ListGroup, Row, Table} from \"react-bootstrap\";\nimport {Token} from \"../utils\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport {useTranslation} from \"react-i18next\";\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\n\nexport default function ScenarioCamera() {\n const [init, setInit] = React.useState();\n const [activeKey, setActiveKey] = React.useState();\n const [secrets, setSecrets] = React.useState();\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/ffmpeg/camera/secret', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const secrets = res.data.data;\n setInit(true);\n setSecrets(secrets || {});\n console.log(`Camera: Secret query ok ${JSON.stringify(secrets)}`);\n }).catch(handleError);\n }, [handleError]);\n\n React.useEffect(() => {\n if (!init || !secrets) return;\n\n if (secrets.wx?.enabled || secrets.bilibili?.enabled || secrets.kuaishou?.enabled) {\n return setActiveKey('99');\n }\n\n if (!secrets.wx?.server || !secrets.wx?.secret || !secrets.wx?.enabled) {\n setActiveKey('1');\n } else if (!secrets.bilibili?.server || !secrets.bilibili?.secret || !secrets.bilibili?.enabled) {\n setActiveKey('2');\n } else if (!secrets.kuaishou?.server || !secrets.kuaishou?.secret || !secrets.kuaishou?.enabled) {\n setActiveKey('3');\n } else {\n setActiveKey('99');\n }\n }, [init, secrets]);\n\n if (!activeKey) return <></>;\n return <ScenarioCameraImpl defaultActiveKey={activeKey} defaultSecrets={secrets}/>;\n}\n\nfunction ScenarioCameraImpl({defaultActiveKey, defaultSecrets}) {\n const language = useSrsLanguage();\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [wxEnabled, setWxEnabled] = React.useState(defaultSecrets?.wx?.enabled);\n const [wxServer, setWxServer] = React.useState(defaultSecrets?.wx?.server);\n const [wxSecret, setWxSecret] = React.useState(defaultSecrets?.wx?.secret);\n const [wxCustom, setWxCustom] = React.useState(defaultSecrets?.wx?.custom);\n const [wxLabel, setWxLabel] = React.useState(defaultSecrets?.wx?.label);\n const [wxFiles, setWxFiles] = React.useState(defaultSecrets?.wx?.files);\n const [wxExtraAudio, setWxExtraAudio] = React.useState(defaultSecrets?.wx?.extraAudio);\n const [bilibiliEnabled, setBilibiliEnabled] = React.useState(defaultSecrets?.bilibili?.enabled);\n const [bilibiliServer, setBilibiliServer] = React.useState(defaultSecrets?.bilibili?.server);\n const [bilibiliSecret, setBilibiliSecret] = React.useState(defaultSecrets?.bilibili?.secret);\n const [bilibiliCustom, setBilibiliCustom] = React.useState(defaultSecrets?.bilibili?.custom);\n const [bilibiliLabel, setBilibiliLabel] = React.useState(defaultSecrets?.bilibili?.label);\n const [bilibiliFiles, setBilibiliFiles] = React.useState(defaultSecrets?.bilibili?.files);\n const [bilibiliExtraAudio, setBilibiliExtraAudio] = React.useState(defaultSecrets?.bilibili?.extraAudio);\n const [kuaishouEnabled, setKuaishouEnabled] = React.useState(defaultSecrets?.kuaishou?.enabled);\n const [kuaishouServer, setKuaishouServer] = React.useState(defaultSecrets?.kuaishou?.server);\n const [kuaishouSecret, setKuaishouSecret] = React.useState(defaultSecrets?.kuaishou?.secret);\n const [kuaishouCustom, setKuaishouCustom] = React.useState(defaultSecrets?.kuaishou?.custom);\n const [kuaishouLabel, setKuaishouLabel] = React.useState(defaultSecrets?.kuaishou?.label);\n const [kuaishouFiles, setKuaishouFiles] = React.useState(defaultSecrets?.kuaishou?.files);\n const [kuaishouExtraAudio, setKuaishouExtraAudio] = React.useState(defaultSecrets?.kuaishou?.extraAudio);\n const [cameras, setCameras] = React.useState();\n const [submiting, setSubmiting] = React.useState();\n\n React.useEffect(() => {\n const refreshStreams = () => {\n axios.post('/terraform/v1/ffmpeg/camera/streams', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setCameras(res.data.data.map((e, i) => {\n const item = {\n ...e,\n name: {\n wx: t('plat.wx.title'),\n bilibili: t('plat.bl.title'),\n kuaishou: t('plat.ks.title')\n }[e.platform],\n update: e.frame?.update ? moment(e.frame.update) : null,\n i,\n };\n\n // Find file source object by uuid(item.source).\n const sources = item.files?.filter(e => e?.uuid === item?.source);\n item.sourceObj = sources?.length ? sources[0] : null;\n return item;\n }));\n console.log(`Camera: Query streams ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n };\n\n refreshStreams();\n const timer = setInterval(() => refreshStreams(), 10 * 1000);\n return () => clearInterval(timer);\n }, [t, handleError]);\n\n const updateSecrets = React.useCallback((e, action, platform, server, secret, enabled, custom, label, files, extraAudio, onSuccess) => {\n e.preventDefault();\n if (!files?.length) return alert(t('camera.source'));\n if (!server) return alert(t('plat.com.addr'));\n if (custom && !label) return alert(t('plat.com.label'));\n\n try {\n setSubmiting(true);\n\n axios.post('/terraform/v1/ffmpeg/camera/secret', {\n action, platform, server, secret, enabled: !!enabled, custom: !!custom, label, files,\n extraAudio,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('plat.com.ok'));\n onSuccess && onSuccess();\n }).catch(handleError);\n } finally {\n new Promise(resolve => setTimeout(resolve, 3000)).then(() => setSubmiting(false));\n }\n }, [t, handleError, setSubmiting]);\n\n return (\n <Accordion defaultActiveKey={defaultActiveKey}>\n <React.Fragment>\n {language === 'zh' ?\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>场景介绍</Accordion.Header>\n <Accordion.Body>\n <div>\n 摄像头直播,是将一个摄像头的流,用FFmpeg转成直播流,推送到SRS Stack或其他平台。\n <p></p>\n </div>\n <p>可应用的具体场景包括:</p>\n <ul>\n <li>无人直播间,7x24小时获得直播收益</li>\n </ul>\n <p>使用说明:</p>\n <ul>\n <li>首先设置摄像头拉流信息</li>\n <li>然后设置直播流信息</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item> :\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>Introduction</Accordion.Header>\n <Accordion.Body>\n <div>\n Camera streaming is the process of converting the stream from RTSP/IP Camera into a live stream using FFmpeg and pushing it to the SRS Stack or other platforms.\n <p></p>\n </div>\n <p>Specific application scenarios include:</p>\n <ul>\n <li>Unmanned live streaming rooms, 7x24 hours of live streaming revenue</li>\n </ul>\n <p>Instructions for use:</p>\n <ul>\n <li>First, setup the Camera URL to pull stream from</li>\n <li>Then, set the live stream information</li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>}\n </React.Fragment>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{wxCustom ? t('plat.com.custom') : t('plat.wx.title')} {wxLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {wxCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={wxLabel} onChange={(e) => setWxLabel(e.target.value)}/>\n </Form.Group>\n <SrsErrorBoundary>\n <ChooseVideoSource platform='wx' cameraFiles={wxFiles} setCameraFiles={setWxFiles} />\n <CameraExtraAudioTrack extraAudio={wxExtraAudio} setExtraAudio={setWxExtraAudio} />\n </SrsErrorBoundary>\n <Form.Group className=\"mb-3\">\n <Form.Label>{wxCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!wxCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.wx.link')} target='_blank' rel='noreferrer'>{t('plat.wx.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={wxServer} onChange={(e) => setWxServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!wxCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.wx.link')} target='_blank' rel='noreferrer'>{t('plat.wx.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={wxSecret} onChange={(e) => setWxSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formWxCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={wxCustom} onClick={() => setWxCustom(!wxCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'wx', wxServer, wxSecret, !wxEnabled, wxCustom, wxLabel, wxFiles, wxExtraAudio, () => {\n setWxEnabled(!wxEnabled);\n });\n }}\n >\n {wxEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('camera.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{bilibiliCustom ? t('plat.com.custom') : t('plat.bl.title')} {bilibiliLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {bilibiliCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={bilibiliLabel} onChange={(e) => setBilibiliLabel(e.target.value)}/>\n </Form.Group>\n <SrsErrorBoundary>\n <ChooseVideoSource platform='bilibili' cameraFiles={bilibiliFiles} setCameraFiles={setBilibiliFiles} />\n <CameraExtraAudioTrack extraAudio={bilibiliExtraAudio} setExtraAudio={setBilibiliExtraAudio} />\n </SrsErrorBoundary>\n <Form.Group className=\"mb-3\">\n <Form.Label>{bilibiliCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!bilibiliCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.bl.link')} target='_blank' rel='noreferrer'>{t('plat.bl.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={bilibiliServer} onChange={(e) => setBilibiliServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!bilibiliCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.bl.link')} target='_blank' rel='noreferrer'>{t('plat.bl.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={bilibiliSecret} onChange={(e) => setBilibiliSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formBilibiliCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={bilibiliCustom} onClick={() => setBilibiliCustom(!bilibiliCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'bilibili', bilibiliServer, bilibiliSecret, !bilibiliEnabled, bilibiliCustom, bilibiliLabel, bilibiliFiles, bilibiliExtraAudio, () => {\n setBilibiliEnabled(!bilibiliEnabled);\n });\n }}\n >\n {bilibiliEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('camera.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{kuaishouCustom ? t('plat.com.custom') : t('plat.ks.title')} {kuaishouLabel}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.name')}</Form.Label>\n <Form.Text> * {kuaishouCustom ? `(${t('helper.required')})` : `(${t('helper.optional')})`} {t('plat.com.name2')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={kuaishouLabel} onChange={(e) => setKuaishouLabel(e.target.value)}/>\n </Form.Group>\n <SrsErrorBoundary>\n <ChooseVideoSource platform='kuaishou' cameraFiles={kuaishouFiles} setCameraFiles={setKuaishouFiles} />\n <CameraExtraAudioTrack extraAudio={kuaishouExtraAudio} setExtraAudio={setKuaishouExtraAudio} />\n </SrsErrorBoundary>\n <Form.Group className=\"mb-3\">\n <Form.Label>{kuaishouCustom ? t('plat.com.server') : t('plat.com.server2')}</Form.Label>\n {!kuaishouCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.ks.link')} target='_blank' rel='noreferrer'>{t('plat.ks.link2')}</a>, {t('plat.com.server4')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={kuaishouServer} onChange={(e) => setKuaishouServer(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.com.key')}</Form.Label>\n {!kuaishouCustom && <Form.Text> * {t('plat.com.server3')} <a href={t('plat.ks.link')} target='_blank' rel='noreferrer'>{t('plat.ks.link2')}</a>, {t('plat.com.key2')}</Form.Text>}\n <Form.Control as=\"input\" defaultValue={kuaishouSecret} onChange={(e) => setKuaishouSecret(e.target.value)}/>\n </Form.Group>\n <Row>\n <Col xs='auto'>\n <Form.Group className=\"mb-3\" controlId=\"formKuaishouCustomCheckbox\">\n <Form.Check type=\"checkbox\" label={t('plat.com.custom')} defaultChecked={kuaishouCustom} onClick={() => setKuaishouCustom(!kuaishouCustom)} />\n </Form.Group>\n </Col>\n </Row>\n <Button\n variant=\"primary\"\n type=\"submit\"\n disabled={submiting}\n onClick={(e) => {\n updateSecrets(e, 'update', 'kuaishou', kuaishouServer, kuaishouSecret, !kuaishouEnabled, kuaishouCustom, kuaishouLabel, kuaishouFiles, kuaishouExtraAudio, () => {\n setKuaishouEnabled(!kuaishouEnabled);\n });\n }}\n >\n {kuaishouEnabled ? t('plat.com.stop') : t('plat.com.start')}\n </Button> \n <Form.Text> * {t('camera.tip')}</Form.Text>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"99\">\n <Accordion.Header>{t('plat.com.status')}</Accordion.Header>\n <Accordion.Body>\n {\n cameras?.length ? (\n <Table striped bordered hover>\n <thead>\n <tr>\n <th>#</th>\n <th>{t('plat.com.platform')}</th>\n <th>{t('plat.com.status2')}</th>\n <th>{t('plat.com.update')}</th>\n <th>{t('plat.com.source')}</th>\n <th>{t('camera.extra')}</th>\n <th>{t('plat.com.log')}</th>\n </tr>\n </thead>\n <tbody>\n {\n cameras?.map(file => {\n return <tr key={file.platform} style={{verticalAlign: 'middle'}}>\n <td>{file.i}</td>\n <td>{file.custom ? (file.label ? '' : t('plat.com.custom')) : file.name} {file.label}</td>\n <td>\n <Badge bg={file.enabled ? (file.frame ? 'success' : 'primary') : 'secondary'}>\n {file.enabled ? (file.frame ? t('plat.com.s0') : t('plat.com.s1')) : t('plat.com.s2')}\n </Badge>\n </td>\n <td>\n {file.update && file.update?.format('YYYY-MM-DD')}<br/>\n {file.update && file.update?.format('HH:mm:ss')}\n </td>\n <td>\n {file.sourceObj?.name}<br/>\n <CameraFileFormatInfo file={file.sourceObj}/>\n </td>\n <td>{file?.extraAudio}</td>\n <td>{file.frame?.log}</td>\n </tr>;\n })\n }\n </tbody>\n </Table>\n ) : ''\n }\n {!cameras?.length ? t('camera.s3') : ''}\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction CameraFileList({files, onChangeFiles}) {\n const {t} = useTranslation();\n return (\n <Row>\n <Col xs='auto'>\n <ListGroup>\n {files.map((f, index) => {\n return <ListGroup.Item key={index}>\n {f.name} \n <CameraFileFormatInfo file={f}/> \n <CameraFileVideoInfo file={f}/> \n <CameraFileAudioInfo file={f}/>\n </ListGroup.Item>;\n })}\n </ListGroup>\n </Col>\n <Col>\n <Button variant=\"primary\" type=\"button\" onClick={onChangeFiles}>{t('helper.changeFiles')}</Button>\n </Col>\n </Row>\n );\n}\n\nfunction CameraExtraAudioTrack({extraAudio, setExtraAudio}) {\n const {t} = useTranslation();\n\n return <>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('camera.silent2')}</Form.Label>\n <Form.Text> * {t('camera.silent3')}</Form.Text>\n <Form.Select defaultValue={extraAudio} onChange={(e) => setExtraAudio(e.target.value)}>\n <option value=\"\">--{t('helper.noSelect')}--</option>\n <option value=\"silent\">{t('camera.silent')}</option>\n </Form.Select>\n </Form.Group>\n </>;\n}\n\nfunction ChooseVideoSource({platform, cameraFiles, setCameraFiles}) {\n const {t} = useTranslation();\n\n return (<>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('plat.tool.source')}</Form.Label>\n <Form.Text> * {t('plat.tool.stream2')}</Form.Text>\n <SrsErrorBoundary>\n <CameraStreamSelector platform={platform} cameraFiles={cameraFiles} setCameraFiles={setCameraFiles}/>\n </SrsErrorBoundary>\n </Form.Group>\n </>);\n}\n\nfunction CameraStreamSelector({platform, cameraFiles, setCameraFiles}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const [inputStream, setInputStream] = React.useState(cameraFiles?.length ? cameraFiles[0].target : '');\n const [submiting, setSubmiting] = React.useState();\n\n const checkStreamUrl = React.useCallback(async () => {\n if (!inputStream) return alert(t('plat.tool.stream3'));\n const isHTTP = inputStream.startsWith('http://') || inputStream.startsWith('https://');\n if (!inputStream.startsWith('rtmp://') && !inputStream.startsWith('srt://') && !inputStream.startsWith('rtsp://') && !isHTTP) return alert(t('plat.tool.stream2'));\n if (isHTTP && inputStream.indexOf('.flv') < 0 && inputStream.indexOf('.m3u8') < 0) return alert(t('plat.tool.stream4'));\n\n setSubmiting(true);\n try {\n const res = await new Promise((resolve, reject) => {\n axios.post(`/terraform/v1/ffmpeg/camera/stream-url`, {\n url: inputStream,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n resolve(res);\n }).catch(reject);\n });\n\n await new Promise((resolve, reject) => {\n console.log(`${t('plat.tool.stream5')},${JSON.stringify(res.data.data)}`);\n const streamObj = res.data.data;\n const files = [{name: streamObj.name, size: 0, uuid: streamObj.uuid, target: streamObj.target, type: \"stream\"}];\n axios.post('/terraform/v1/ffmpeg/camera/source', {\n platform, files,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`${t('plat.tool.stream6')},${JSON.stringify(res.data.data)}`);\n setCameraFiles(res.data.data.files);\n resolve();\n }).catch(reject);\n });\n } catch (e) {\n handleError(e);\n } finally {\n setSubmiting(false);\n }\n }, [t, inputStream, handleError, platform, setCameraFiles, setSubmiting]);\n\n return (<>\n <Form.Control as=\"div\">\n {!cameraFiles?.length && <>\n <Row>\n <Col>\n <Form.Control type=\"text\" defaultValue={inputStream} placeholder={t('plat.tool.stream3')} onChange={e => setInputStream(e.target.value)} />\n </Col>\n <Col xs=\"auto\">\n <Button variant=\"primary\" disabled={submiting} onClick={checkStreamUrl}>{t('helper.submit')}</Button>\n </Col>\n </Row></>\n }\n {cameraFiles?.length && <CameraFileList files={cameraFiles} onChangeFiles={(e) => setCameraFiles(null)}/>}\n </Form.Control>\n </>);\n}\n\nfunction CameraFileFormatInfo({file}) {\n const f = file;\n if (!f?.format) return <></>;\n return <>\n {f?.type !== 'stream' &&\n <>\n File \n {Number(f?.size/1024/1024).toFixed(1)}MB \n {Number(f?.format?.duration).toFixed(0)}s \n </>\n }\n {f?.type === 'stream' &&\n <>\n Stream \n </>\n }\n {Number(f?.format?.bit_rate/1000).toFixed(1)}Kbps\n </>;\n}\n\nfunction CameraFileVideoInfo({file}) {\n const f = file;\n if (!f?.video) return <>NoVideo</>;\n return <>Video({f?.video?.codec_name} {f?.video?.profile} {f?.video?.width}x{f?.video?.height})</>;\n}\n\nfunction CameraFileAudioInfo({file}) {\n const f = file;\n if (!f?.audio) return <>NoAudio</>;\n return <>Audio({f?.audio?.codec_name} {f?.audio?.sample_rate}HZ {f?.audio?.channels}CH)</>;\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport {useSearchParams} from \"react-router-dom\";\nimport {Container, Tabs, Tab} from \"react-bootstrap\";\nimport React from \"react\";\nimport ScenarioLiveStreams from './ScenarioLive';\nimport useUrls from \"../components/UrlGenerator\";\nimport ScenarioForward from './ScenarioForward';\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\nimport ScenarioTutorials from './ScenarioTutorials';\nimport {useTranslation} from \"react-i18next\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\nimport ScenarioRecord from \"./ScenarioRecord\";\nimport ScenarioVLive from \"./ScenarioVLive\";\nimport {ScenarioVxOthers} from \"./ScenarioOthers\";\nimport ScenarioTranscode from \"./ScenarioTranscode\";\nimport ScenarioTranscript from \"./ScenarioTranscript\";\nimport ScenarioLiveRoom from \"./ScenarioLiveRoom\";\nimport ScenarioCamera from \"./ScenarioCamera\";\n\nexport default function Scenario() {\n const [searchParams] = useSearchParams();\n const [defaultActiveTab, setDefaultActiveTab] = React.useState();\n const language = useSrsLanguage();\n\n React.useEffect(() => {\n const tab = searchParams.get('tab') || 'tutorials';\n console.log(`?tab=tutorials|live|stream|record|vlive|camera|transcode|transcript|others, current=${tab}, Select the tab to render`);\n setDefaultActiveTab(tab);\n }, [searchParams, language]);\n\n return (\n <SrsErrorBoundary>\n { defaultActiveTab && <ScenarioImpl {...{defaultActiveTab}} /> }\n </SrsErrorBoundary>\n );\n}\n\nfunction ScenarioImpl({defaultActiveTab}) {\n const [activeTab, setActiveTab] = React.useState(defaultActiveTab);\n const setSearchParams = useSearchParams()[1];\n const {t} = useTranslation();\n const urls = useUrls();\n\n const onSelectTab = React.useCallback((k) => {\n setSearchParams({'tab': k});\n setActiveTab(k);\n }, [setSearchParams, setActiveTab]);\n\n return (\n <>\n <p></p>\n <Container fluid>\n <Tabs defaultActiveKey={activeTab} id=\"tab0\" className=\"mb-3\" onSelect={(k) => onSelectTab(k)}>\n <Tab eventKey=\"tutorials\" title={t('scenario.tutorials')}>\n {activeTab === 'tutorials' && <ScenarioTutorials/>}\n </Tab>\n <Tab eventKey=\"live\" title={t('scenario.live')}>\n {activeTab === 'live' && <ScenarioLiveStreams {...{urls}} />}\n </Tab>\n <Tab eventKey=\"stream\" title={t('scenario.stream')}>\n {activeTab === 'stream' && <ScenarioLiveRoom/>}\n </Tab>\n <Tab eventKey=\"forward\" title={t('scenario.forward')}>\n {activeTab === 'forward' && <ScenarioForward/>}\n </Tab>\n <Tab eventKey=\"record\" title={t('scenario.record')}>\n {activeTab === 'record' && <ScenarioRecord/>}\n </Tab>\n <Tab eventKey=\"vlive\" title={t('scenario.vlive')}>\n {activeTab === 'vlive' && <ScenarioVLive/>}\n </Tab>\n <Tab eventKey=\"camera\" title={t('scenario.camera')}>\n {activeTab === 'camera' && <ScenarioCamera/>}\n </Tab>\n <Tab eventKey=\"transcode\" title={t('scenario.transcode')}>\n {activeTab === 'transcode' && <ScenarioTranscode {...{urls}} />}\n </Tab>\n <Tab eventKey=\"transcript\" title={t('transcript.title')}>\n {activeTab === 'transcript' && <ScenarioTranscript/>}\n </Tab>\n <Tab eventKey=\"others\" title={t('scenario.others')}>\n {activeTab === 'others' && <ScenarioVxOthers {...{urls}} />}\n </Tab>\n </Tabs>\n </Container>\n </>\n );\n}\n\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Accordion, Container, Form, Button, Tabs, Tab, Spinner, Stack, Badge} from \"react-bootstrap\";\nimport {Clipboard, Token} from \"../utils\";\nimport axios from \"axios\";\nimport {useSearchParams} from \"react-router-dom\";\nimport {SrsErrorBoundary} from \"../components/SrsErrorBoundary\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useTranslation} from \"react-i18next\";\nimport {TutorialsButton, useTutorials} from \"../components/TutorialsButton\";\n\nexport default function Systems() {\n return (\n <SrsErrorBoundary>\n <SystemsImpl />\n </SrsErrorBoundary>\n );\n}\n\nfunction SystemsImpl() {\n const [searchParams] = useSearchParams();\n const [defaultActiveTab, setDefaultActiveTab] = React.useState();\n\n React.useEffect(() => {\n const tab = searchParams.get('tab') || 'auth';\n console.log(`?tab=https|hls|auth|beian|limits|callback|platform, current=${tab}, Select the tab to render`);\n setDefaultActiveTab(tab);\n }, [searchParams]);\n\n return (<>\n {\n defaultActiveTab &&\n <SettingsImpl2 defaultActiveTab={defaultActiveTab} />\n }\n </>);\n}\n\nfunction SettingsImpl2({defaultActiveTab}) {\n const [activeTab, setActiveTab] = React.useState(defaultActiveTab);\n const setSearchParams = useSearchParams()[1];\n const {t} = useTranslation();\n\n const onSelectTab = React.useCallback((k) => {\n setSearchParams({'tab': k});\n setActiveTab(k);\n }, [setSearchParams]);\n\n const copyToClipboard = React.useCallback((e, text) => {\n e.preventDefault();\n\n Clipboard.copy(text).then(() => {\n alert(t('helper.copyOk'));\n }).catch((err) => {\n alert(`${t('helper.copyFail')} ${err}`);\n });\n }, [t]);\n\n return (\n <>\n <p></p>\n <Container fluid>\n <Tabs defaultActiveKey={activeTab} id=\"uncontrolled-tab-example\" className=\"mb-3\" onSelect={(k) => onSelectTab(k)}>\n <Tab eventKey=\"auth\" title={t('settings.tabAuth')}>\n <SettingAuth />\n </Tab>\n <Tab eventKey=\"https\" title=\"HTTPS\">\n <SettingHttps />\n </Tab>\n <Tab eventKey=\"hls\" title=\"HLS\">\n <SettingHighPerformanceHLS />\n </Tab>\n <Tab eventKey=\"beian\" title={t('settings.tabFooter')}>\n <SettingBeian />\n </Tab>\n <Tab eventKey=\"limits\" title={t('settings.tabLimits')}>\n <SettingLimits />\n </Tab>\n <Tab eventKey=\"callback\" title={t('settings.tabCallback')}>\n <SettingCallback />\n </Tab>\n <Tab eventKey=\"api\" title=\"OpenAPI\">\n <SettingOpenApi {...{copyToClipboard}}/>\n </Tab>\n </Tabs>\n </Container>\n </>\n );\n}\n\nfunction SettingHighPerformanceHLS() {\n const [noHlsCtx, setNoHlsCtx] = React.useState();\n const [hlsLL, setHlsLL] = React.useState();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/mgmt/hphls/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setNoHlsCtx(res.data.data.noHlsCtx === true);\n console.log(`Status: Query ok, hlsDelivery=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, setNoHlsCtx]);\n\n const updateHlsDelivery = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/mgmt/hphls/update', {\n noHlsCtx: noHlsCtx,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n }).catch(handleError);\n }, [handleError, noHlsCtx, t]);\n\n React.useEffect(() => {\n axios.post('/terraform/v1/mgmt/hlsll/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setHlsLL(res.data.data.hlsLowLatency === true);\n console.log(`Status: Query ok, hlsLowLatency=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, setHlsLL]);\n\n const updateHlsLL = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/mgmt/hlsll/update', {\n hlsLowLatency: hlsLL,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n }).catch(handleError);\n }, [handleError, hlsLL, t]);\n\n return (\n <Accordion defaultActiveKey={['0','1']} alwaysOpen>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{t('settings.nginxHlsTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\" controlId=\"formNginxHlsCheckbox\">\n <Form.Check type=\"checkbox\" label={t('settings.nginxHlsTip')} defaultChecked={noHlsCtx} onClick={() => setNoHlsCtx(!noHlsCtx)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateHlsDelivery(e)}>\n {t('helper.submit')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('settings.hlsLL')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\" controlId=\"formHlsLLCheckbox\">\n <Form.Check type=\"checkbox\" label={t('settings.hlsLLTip')} defaultChecked={hlsLL} onClick={() => setHlsLL(!hlsLL)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateHlsLL(e)}>\n {t('helper.submit')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction SettingOpenApi({copyToClipboard}) {\n const [apiSecret, setAPISecret] = React.useState();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/mgmt/secret/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setAPISecret(res.data.data);\n console.log(`Status: Query ok, apiSecret=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError]);\n\n const copyApiSecret = React.useCallback((e, apiSecret) => {\n copyToClipboard(e, apiSecret);\n }, [copyToClipboard]);\n\n const curlCode = `\ncurl ${window.location.protocol}//${window.location.host}/terraform/v1/hooks/srs/secret/query \\\\\n -X POST -H 'Authorization: Bearer ${apiSecret}' \\\\\n -H 'Content-Type: application/json' --data '{}'\n `;\n\n const jQueryCode = `\n$.ajax({\n url: '${window.location.protocol}//${window.location.host}/terraform/v1/hooks/srs/secret/query',\n type: 'POST',\n headers: {\n \"Authorization\": \"Bearer ${apiSecret}\",\n },\n dataType: 'json',\n contentType: \"application/json\",\n data: {}, \n success: function () {},\n error: function () {},\n});\n `;\n\n return (\n <Accordion defaultActiveKey={[\"0\", \"1\", \"2\", \"3\", \"4\"]} alwaysOpen>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{t('openapi.title')}</Accordion.Header>\n <Accordion.Body>\n <div>\n {t('openapi.summary')}\n </div>\n <ul>\n <li> {t('openapi.usage1')} </li>\n <li> {t('openapi.usage2')} </li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('openapi.secret')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>ApiSecret</Form.Label>\n <Form.Text> * {t('openapi.secretTip')}</Form.Text>\n <Form.Control as=\"input\" type='input' rows={1} defaultValue={apiSecret} readOnly={true}/>\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => copyApiSecret(e, apiSecret)}>\n {t('openapi.secretCopy')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('openapi.apiPublishSecret')}</Accordion.Header>\n <Accordion.Body>\n <RunOpenAPI apiSecret={apiSecret} api='/terraform/v1/hooks/srs/secret/query' />\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"3\">\n <Accordion.Header>{t('openapi.apiPublishSecret2')}</Accordion.Header>\n <Accordion.Body>\n <pre>{curlCode}</pre>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => copyApiSecret(e, curlCode)}>\n {t('openapi.curlCopy')}\n </Button>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"4\">\n <Accordion.Header>{t('openapi.apiPublishSecret3')}</Accordion.Header>\n <Accordion.Body>\n <pre>{jQueryCode}</pre>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => copyApiSecret(e, jQueryCode)}>\n {t('openapi.codeCopy')}\n </Button>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction SettingCallback() {\n const handleError = useErrorHandler();\n const [config, setConfig] = React.useState();\n const [activeKey, setActiveKey] = React.useState();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/mgmt/hooks/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const data = res.data.data;\n\n setConfig(data);\n if (data.all) {\n setActiveKey('2');\n } else {\n setActiveKey('1');\n }\n console.log(`Hooks: Query ok, ${JSON.stringify(data)}`);\n }).catch(handleError);\n }, [handleError]);\n\n if (!activeKey) return <></>;\n return <SettingCallbackImpl {...{\n activeKey, defaultEnabled: config?.all, defaultConf: config\n }}/>;\n}\n\nfunction SettingCallbackImpl({activeKey, defaultEnabled, defaultConf}) {\n const defaultUrl = `${window.location.protocol}//${window.location.host}/terraform/v1/mgmt/hooks/example?fail=false`;\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n const [target, setTarget] = React.useState(defaultConf.target || defaultUrl);\n const [opaque, setOpaque] = React.useState(defaultConf.opaque);\n const [allEvents, setAllEvents] = React.useState(defaultEnabled);\n const [task, setTask] = React.useState();\n\n React.useEffect(() => {\n const refreshTask = () => {\n axios.post('/terraform/v1/mgmt/hooks/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n const task = res.data.data;\n if (task?.req) task.req = JSON.parse(task.req);\n if (task?.res) task.res = JSON.parse(task.res);\n setTask(task);\n console.log(`Hooks: Query task ${JSON.stringify(task)}`);\n }).catch(handleError);\n };\n\n refreshTask();\n const timer = setInterval(() => refreshTask(), 10 * 1000);\n return () => clearInterval(timer);\n }, [handleError, setTask]);\n\n const onUpdateCallback = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/mgmt/hooks/apply', {\n all: !!allEvents, target, opaque,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n console.log(`Hooks apply ok, all=${allEvents}, target=${target}, opaque=${opaque}, response=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, t, allEvents, target, opaque]);\n\n return <Accordion defaultActiveKey={[activeKey]} alwaysOpen>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{t('cb.title')}</Accordion.Header>\n <Accordion.Body>\n <div>\n {t('cb.summary')}\n <p></p>\n </div>\n <p>Usage:</p>\n <ul>\n <li> {t('cb.usage1')} </li>\n <li> {t('cb.usage2')} </li>\n </ul>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('cb.setting')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('cb.target')}</Form.Label>\n <Form.Text>* {t('cb.target2')}</Form.Text>\n <Form.Control as=\"input\" placeholder='For example: http://your-server/callback' defaultValue={target}\n onChange={(e) => setTarget(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('cb.opaque')}</Form.Label>\n <Form.Text>* {t('cb.opaque2')}</Form.Text>\n <Form.Control as=\"input\" placeholder='For example: authentication secret for hooks' defaultValue={opaque}\n onChange={(e) => setOpaque(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\" controlId=\"formCbAllCheckbox\">\n <Form.Label>{t('cb.event')}</Form.Label>\n <Form.Text>\n * {t('cb.event2')}: \n <a href={t('helper.doc')+'#http-callback-on_publish'} target='_blank' rel='noreferrer'>publish,</a> \n <a href={t('helper.doc')+'#http-callback-on_unpublish'} target='_blank' rel='noreferrer'>unpublish</a> \n </Form.Text>\n <Form.Check type=\"checkbox\" defaultChecked={allEvents} label={t('cb.event3')}\n onChange={(e) => setAllEvents(!allEvents)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => onUpdateCallback(e)}>\n {t('settings.footerSubmit')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('cb.show')}</Accordion.Header>\n <Accordion.Body>\n <Stack gap={1}>\n <div>\n <Badge bg={allEvents ? 'success' : 'secondary'}>\n {allEvents ? t('cb.active') : t('cb.inactive')}\n </Badge>\n </div>\n <div>{t('cb.show2')}</div>\n <div>{t('cb.target')}: {target}</div>\n <div>\n {t('cb.req')}:\n <pre>{task?.req && JSON.stringify(task.req, null, 2)}</pre>\n </div>\n <div>\n {t('cb.res')}:\n <pre>{task?.res && JSON.stringify(task.res, null, 2)}</pre>\n </div>\n </Stack>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>;\n}\n\nfunction SettingLimits() {\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n const [vLiveBitrate, setVLiveBitrate] = React.useState();\n const [ipCameraBitrate, setIpCameraBitrate] = React.useState();\n\n React.useEffect(() => {\n axios.post('/terraform/v1/mgmt/limits/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n if (res.data.data?.vlive) setVLiveBitrate(res.data.data.vlive);\n if (res.data.data?.camera) setIpCameraBitrate(res.data.data.camera);\n console.log(`Limits: query ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, setVLiveBitrate, setIpCameraBitrate]);\n\n const updateLimits = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/mgmt/limits/update', {\n vlive: parseInt(vLiveBitrate), camera: parseInt(ipCameraBitrate),\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n }).catch(handleError);\n }, [handleError, vLiveBitrate, ipCameraBitrate, t]);\n\n return (\n <Accordion defaultActiveKey={[\"1\"]} alwaysOpen>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('settings.limitsTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.limitsVLive')}</Form.Label>\n <Form.Text> * in Kbps</Form.Text>\n <Form.Control as=\"input\" defaultValue={vLiveBitrate} onChange={(e) => setVLiveBitrate(e.target.value)}/>\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.limitsCamera')}</Form.Label>\n <Form.Text> * in Kbps</Form.Text>\n <Form.Control as=\"input\" defaultValue={ipCameraBitrate} onChange={(e) => setIpCameraBitrate(e.target.value)}/>\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateLimits(e)}>\n {t('helper.submit')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction SettingBeian() {\n const [beian, setBeian] = React.useState();\n const [siteTitle, setSiteTitle] = React.useState();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n React.useEffect(() => {\n axios.get('/terraform/v1/mgmt/beian/query')\n .then(res => {\n setSiteTitle(res.data.data.title);\n setBeian(res.data.data.icp);\n console.log(`Beian: query ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError]);\n\n // Update the footer for beian.\n const updateBeian = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/mgmt/beian/update', {\n beian: 'icp', text: beian,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('settings.footer'));\n }).catch(handleError);\n }, [handleError, beian, t]);\n\n // Update the title for site.\n const updateSiteTitle = React.useCallback((e) => {\n e.preventDefault();\n\n axios.post('/terraform/v1/mgmt/beian/update', {\n beian: 'title', text: siteTitle,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('settings.header'));\n }).catch(handleError);\n }, [handleError, siteTitle, t]);\n\n return (\n <Accordion defaultActiveKey={[\"1\", \"2\"]} alwaysOpen>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('settings.footerTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.footerIcp')}</Form.Label>\n <Form.Control as=\"input\" defaultValue={beian} placeholder={t('settings.footerHolder')} onChange={(e) => setBeian(e.target.value)}/>\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateBeian(e)}>\n {t('settings.footerSubmit')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"2\">\n <Accordion.Header>{t('settings.headerTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.headerIcp')}</Form.Label>\n <Form.Control as=\"input\" defaultValue={siteTitle} placeholder={t('settings.headerHolder')} onChange={(e) => setSiteTitle(e.target.value)}/>\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateSiteTitle(e)}>\n {t('settings.headerSubmit')}\n </Button>\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction SettingAuth() {\n const [secret, setSecret] = React.useState();\n const [allowNoAuth, setAllowNoAuth] = React.useState();\n const [noAuth, setNoAuth] = React.useState();\n const [searchParams] = useSearchParams();\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n React.useEffect(() => {\n const allowNoAuth = searchParams.get('allow-noauth') === 'true';\n console.log(`?allow-noauth=true|false, current=${allowNoAuth}, Whether allow disable auth`);\n setAllowNoAuth(allowNoAuth);\n }, [searchParams]);\n\n React.useEffect(() => {\n axios.post('/terraform/v1/hooks/srs/secret/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setSecret(res.data.data.publish);\n console.log(`Status: Query ok, secret=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError]);\n\n const updateSecret = React.useCallback((e) => {\n e.preventDefault();\n\n if (!secret) {\n alert(t('settings.secretNoValue'));\n return;\n }\n\n axios.post('/terraform/v1/hooks/srs/secret/update', {\n secret,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('settings.secretOk'));\n console.log(`Secret: Update ok`);\n }).catch(handleError);\n }, [handleError, secret, t]);\n\n const updateNoAuth = React.useCallback((e) => {\n axios.post('/terraform/v1/hooks/srs/secret/disable', {\n pubNoAuth: !!noAuth,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('helper.setOk'));\n console.log(`Disable: Update ok, noAuth=${noAuth}`);\n }).catch(handleError);\n }, [handleError, t, noAuth])\n\n return (\n <Accordion defaultActiveKey={[\"0\"]} alwaysOpen>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{t('settings.authTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.authSecret')}</Form.Label>\n <Form.Text> * {t('settings.authSecretTip')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={secret} onChange={(e) => setSecret(e.target.value)}/>\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateSecret(e, true)}>\n {t('settings.authSubmit')}\n </Button> \n </Form>\n </Accordion.Body>\n </Accordion.Item>\n {allowNoAuth && <>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('settings.noAuthTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form.Group className=\"mb-3\" controlId=\"formDisableAuthCheckbox\">\n <Form.Check type=\"checkbox\" label={t('settings.noAuthTips')} defaultChecked={noAuth} onClick={() => setNoAuth(!noAuth)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => updateNoAuth(e)}>\n {t('helper.submit')}\n </Button>\n </Accordion.Body>\n </Accordion.Item>\n </>}\n </Accordion>\n );\n}\n\nfunction SettingHttps() {\n const [config, setConfig] = React.useState({});\n const [loading, setLoading] = React.useState(true);\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n setLoading(true);\n\n axios.post('/terraform/v1/mgmt/cert/query', {\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setConfig(res?.data?.data || {});\n console.log(`SSL: Query ok, provider=${res?.data?.data?.provider}`);\n }).catch(handleError).finally(setLoading);\n }, [handleError, setLoading, setConfig]);\n\n return !loading ? <SettingHttpsImpl config={config} /> : <></>;\n}\n\nfunction SettingHttpsImpl({config}) {\n const [key, setKey] = React.useState(config.key);\n const [crt, setCrt] = React.useState(config.crt);\n const [domain, setDomain] = React.useState(config.domain);\n const [operating, setOperating] = React.useState(false);\n const handleError = useErrorHandler();\n const {t} = useTranslation();\n\n const domainRegex = React.useMemo(() => {\n return /^(?=.{1,253})(?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.?)+[A-Za-z]{2,6}$/;\n }, []);\n\n React.useEffect(() => {\n if (!domainRegex.test(window.location.hostname)) return;\n if (domain) return;\n setDomain(window.location.hostname);\n }, [domain, domainRegex, setDomain]);\n\n const sslTutorials = useTutorials({\n bilibili: React.useRef([\n {author: '程晓龙', id: 'BV1tZ4y1R7qp'},\n ]),\n medium: React.useRef([\n {id: 'cb618777639f'},\n ])\n });\n\n const updateSSL = React.useCallback(async (e) => {\n e.preventDefault();\n\n if (!key || !crt) {\n alert(t('settings.sslNoFile'));\n return;\n }\n\n setOperating(true);\n\n axios.post('/terraform/v1/mgmt/ssl', {\n key, crt,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('settings.sslOk'));\n console.log(`SSL: Update ok`);\n }).catch(handleError).finally(setOperating);\n }, [handleError, key, crt, t, setOperating]);\n\n const requestLetsEncrypt = React.useCallback((e) => {\n e.preventDefault();\n\n const port = window.location.port;\n if (port && port !== '80' && port !== '3000') {\n return alert(`${t('settings.sslInvalidPort')} ${port} (${window.location.host})`);\n }\n\n if (!domainRegex.test(window.location.hostname)) {\n return alert(`${t('settings.sslInvalidHost')} \"${window.location.hostname}\", ${t('settings.sslInvalidHost3')}`);\n }\n\n if (!domain) {\n return alert(t('settings.sslNoDomain'));\n }\n\n if (!domainRegex.test(domain)) {\n return alert(t('settings.sslInvalidDomain'));\n }\n\n if (window.location.hostname !== domain) {\n return alert(`${t('settings.sslInvalidHost')} \"${window.location.hostname}\", ${t('settings.sslInvalidHost2')} \"${domain}\"`);\n }\n\n setOperating(true);\n\n axios.post('/terraform/v1/mgmt/letsencrypt', {\n domain,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n alert(t('settings.sslLetsOk'));\n console.log(`SSL: Let's Encrypt SSL ok`);\n }).catch(handleError).finally(setOperating);\n }, [handleError, domain, t, setOperating, domainRegex]);\n\n const defaultKey = config?.provider === 'ssl' ? '1' : '0';\n return (\n <Accordion defaultActiveKey={[defaultKey]} alwaysOpen>\n <Accordion.Item eventKey=\"0\">\n <Accordion.Header>{t('settings.letsTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.letsDomain')}</Form.Label>\n <Form.Text> * {t('settings.letsDomainTip')}</Form.Text>\n <Form.Control as=\"input\" defaultValue={domain} onChange={(e) => setDomain(e.target.value)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" disabled={operating} onClick={(e) => requestLetsEncrypt(e)}>\n {t('settings.letsDomainSubmit')}\n </Button> \n <TutorialsButton prefixLine={true} tutorials={sslTutorials} /> \n {operating && <Spinner animation=\"border\" variant=\"success\" style={{verticalAlign: 'middle'}} />}\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n <Accordion.Item eventKey=\"1\">\n <Accordion.Header>{t('settings.sslFileTitle')}</Accordion.Header>\n <Accordion.Body>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.sslFileKey')}</Form.Label>\n <Form.Text> * {t('settings.sslFileKeyTip')}</Form.Text>\n <Form.Control as=\"textarea\" rows={5} defaultValue={key} onChange={(e) => setKey(e.target.value)} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('settings.sslFileCert')}</Form.Label>\n <Form.Text> * {t('settings.sslFileCertTip')}</Form.Text>\n <Form.Control as=\"textarea\" rows={5} defaultValue={crt} onChange={(e) => setCrt(e.target.value)} />\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" disabled={operating} onClick={(e) => updateSSL(e)}>\n {t('settings.sslFileSubmit')}\n </Button> \n <TutorialsButton prefixLine={true} tutorials={sslTutorials} /> \n {operating && <Spinner animation=\"border\" variant=\"success\" style={{verticalAlign: 'middle'}} />}\n </Form>\n </Accordion.Body>\n </Accordion.Item>\n </Accordion>\n );\n}\n\nfunction RunOpenAPI(props) {\n const [showResult, setShowResult] = React.useState();\n const {t} = useTranslation();\n const {apiSecret, api, data} = props;\n\n const onClick = React.useCallback((e) => {\n e.preventDefault();\n setShowResult(!showResult);\n }, [showResult]);\n\n if (!apiSecret) {\n return (\n <div>\n {t('openapi.secretEmpty')}<code>{t('openapi.secret')}</code>\n </div>\n );\n }\n\n return (\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>URL</Form.Label>\n <Form.Control as=\"textarea\" rows={1} defaultValue={`POST ${api}`} readOnly={true} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>Headers</Form.Label>\n <Form.Control as=\"textarea\" rows={1} defaultValue={`Authorization: Bearer ${apiSecret}`} readOnly={true} />\n </Form.Group>\n {data &&\n <Form.Group className=\"mb-3\">\n <Form.Label>Body</Form.Label>\n <Form.Control as=\"textarea\" rows={5} defaultValue={JSON.stringify(data, null, 2)} readOnly={true} />\n <pre>\n\n </pre>\n </Form.Group>\n }\n <Form.Group className=\"mb-3\">\n { showResult && <SrsErrorBoundary><OpenAPIResult {...props} /></SrsErrorBoundary> }\n </Form.Group>\n <Button variant=\"primary\" type=\"submit\" onClick={(e) => onClick(e)}>\n {showResult ? 'Reset' : 'Try it out'}\n </Button> \n </Form>\n );\n}\n\nfunction OpenAPIResult({apiSecret, api, data}) {\n const [openAPIRes, setOpenAPIRes] = React.useState();\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n axios.post(api, data, {\n headers: {\n 'Authorization': `Bearer ${apiSecret}`,\n }\n }).then(res => {\n setOpenAPIRes(res.data);\n console.log(`OpenAPI: Run api=${api} ok, data=${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, apiSecret, api, data]);\n\n return (\n <>\n <Form.Label>Response</Form.Label>\n <pre>\n {JSON.stringify(openAPIRes, null, 2)}\n </pre>\n </>\n );\n}\n\n","import { useEffect, useRef } from 'react';\n/**\n * Runs an effect only when the dependencies have changed, skipping the\n * initial \"on mount\" run. Caution, if the dependency list never changes,\n * the effect is **never run**\n *\n * ```ts\n * const ref = useRef<HTMLInput>(null);\n *\n * // focuses an element only if the focus changes, and not on mount\n * useUpdateEffect(() => {\n * const element = ref.current?.children[focusedIdx] as HTMLElement\n *\n * element?.focus()\n *\n * }, [focusedIndex])\n * ```\n * @param effect An effect to run on mount\n *\n * @category effects\n */\n\nfunction useUpdateEffect(fn, deps) {\n var isFirst = useRef(true);\n useEffect(function () {\n if (isFirst.current) {\n isFirst.current = false;\n return;\n }\n\n return fn();\n }, deps);\n}\n\nexport default useUpdateEffect;","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('carousel-caption');","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CarouselItem = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n ...props\n}, ref) => {\n const finalClassName = classNames(className, useBootstrapPrefix(bsPrefix, 'carousel-item'));\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: finalClassName\n });\n});\nCarouselItem.displayName = 'CarouselItem';\nexport default CarouselItem;","import useEventCallback from '@restart/hooks/useEventCallback';\nimport useUpdateEffect from '@restart/hooks/useUpdateEffect';\nimport useCommittedRef from '@restart/hooks/useCommittedRef';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport Anchor from '@restart/ui/Anchor';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport CarouselCaption from './CarouselCaption';\nimport CarouselItem from './CarouselItem';\nimport { map, forEach } from './ElementChildren';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nconst SWIPE_THRESHOLD = 40;\nconst defaultProps = {\n slide: true,\n fade: false,\n controls: true,\n indicators: true,\n indicatorLabels: [],\n defaultActiveIndex: 0,\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n wrap: true,\n touch: true,\n prevIcon: /*#__PURE__*/_jsx(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"carousel-control-prev-icon\"\n }),\n prevLabel: 'Previous',\n nextIcon: /*#__PURE__*/_jsx(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"carousel-control-next-icon\"\n }),\n nextLabel: 'Next'\n};\n\nfunction isVisible(element) {\n if (!element || !element.style || !element.parentNode || !element.parentNode.style) {\n return false;\n }\n\n const elementStyle = getComputedStyle(element);\n return elementStyle.display !== 'none' && elementStyle.visibility !== 'hidden' && getComputedStyle(element.parentNode).display !== 'none';\n}\n\nconst Carousel = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n slide,\n fade,\n controls,\n indicators,\n indicatorLabels,\n activeIndex,\n onSelect,\n onSlide,\n onSlid,\n interval,\n keyboard,\n onKeyDown,\n pause,\n onMouseOver,\n onMouseOut,\n wrap,\n touch,\n onTouchStart,\n onTouchMove,\n onTouchEnd,\n prevIcon,\n prevLabel,\n nextIcon,\n nextLabel,\n variant,\n className,\n children,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n activeIndex: 'onSelect'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'carousel');\n const isRTL = useIsRTL();\n const nextDirectionRef = useRef(null);\n const [direction, setDirection] = useState('next');\n const [paused, setPaused] = useState(false);\n const [isSliding, setIsSliding] = useState(false);\n const [renderedActiveIndex, setRenderedActiveIndex] = useState(activeIndex || 0);\n\n if (!isSliding && activeIndex !== renderedActiveIndex) {\n if (nextDirectionRef.current) {\n setDirection(nextDirectionRef.current);\n } else {\n setDirection((activeIndex || 0) > renderedActiveIndex ? 'next' : 'prev');\n }\n\n if (slide) {\n setIsSliding(true);\n }\n\n setRenderedActiveIndex(activeIndex || 0);\n }\n\n useEffect(() => {\n if (nextDirectionRef.current) {\n nextDirectionRef.current = null;\n }\n });\n let numChildren = 0;\n let activeChildInterval; // Iterate to grab all of the children's interval values\n // (and count them, too)\n\n forEach(children, (child, index) => {\n ++numChildren;\n\n if (index === activeIndex) {\n activeChildInterval = child.props.interval;\n }\n });\n const activeChildIntervalRef = useCommittedRef(activeChildInterval);\n const prev = useCallback(event => {\n if (isSliding) {\n return;\n }\n\n let nextActiveIndex = renderedActiveIndex - 1;\n\n if (nextActiveIndex < 0) {\n if (!wrap) {\n return;\n }\n\n nextActiveIndex = numChildren - 1;\n }\n\n nextDirectionRef.current = 'prev';\n onSelect == null ? void 0 : onSelect(nextActiveIndex, event);\n }, [isSliding, renderedActiveIndex, onSelect, wrap, numChildren]); // This is used in the setInterval, so it should not invalidate.\n\n const next = useEventCallback(event => {\n if (isSliding) {\n return;\n }\n\n let nextActiveIndex = renderedActiveIndex + 1;\n\n if (nextActiveIndex >= numChildren) {\n if (!wrap) {\n return;\n }\n\n nextActiveIndex = 0;\n }\n\n nextDirectionRef.current = 'next';\n onSelect == null ? void 0 : onSelect(nextActiveIndex, event);\n });\n const elementRef = useRef();\n useImperativeHandle(ref, () => ({\n element: elementRef.current,\n prev,\n next\n })); // This is used in the setInterval, so it should not invalidate.\n\n const nextWhenVisible = useEventCallback(() => {\n if (!document.hidden && isVisible(elementRef.current)) {\n if (isRTL) {\n prev();\n } else {\n next();\n }\n }\n });\n const slideDirection = direction === 'next' ? 'start' : 'end';\n useUpdateEffect(() => {\n if (slide) {\n // These callbacks will be handled by the <Transition> callbacks.\n return;\n }\n\n onSlide == null ? void 0 : onSlide(renderedActiveIndex, slideDirection);\n onSlid == null ? void 0 : onSlid(renderedActiveIndex, slideDirection);\n }, [renderedActiveIndex]);\n const orderClassName = `${prefix}-item-${direction}`;\n const directionalClassName = `${prefix}-item-${slideDirection}`;\n const handleEnter = useCallback(node => {\n triggerBrowserReflow(node);\n onSlide == null ? void 0 : onSlide(renderedActiveIndex, slideDirection);\n }, [onSlide, renderedActiveIndex, slideDirection]);\n const handleEntered = useCallback(() => {\n setIsSliding(false);\n onSlid == null ? void 0 : onSlid(renderedActiveIndex, slideDirection);\n }, [onSlid, renderedActiveIndex, slideDirection]);\n const handleKeyDown = useCallback(event => {\n if (keyboard && !/input|textarea/i.test(event.target.tagName)) {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n\n if (isRTL) {\n next(event);\n } else {\n prev(event);\n }\n\n return;\n\n case 'ArrowRight':\n event.preventDefault();\n\n if (isRTL) {\n prev(event);\n } else {\n next(event);\n }\n\n return;\n\n default:\n }\n }\n\n onKeyDown == null ? void 0 : onKeyDown(event);\n }, [keyboard, onKeyDown, prev, next, isRTL]);\n const handleMouseOver = useCallback(event => {\n if (pause === 'hover') {\n setPaused(true);\n }\n\n onMouseOver == null ? void 0 : onMouseOver(event);\n }, [pause, onMouseOver]);\n const handleMouseOut = useCallback(event => {\n setPaused(false);\n onMouseOut == null ? void 0 : onMouseOut(event);\n }, [onMouseOut]);\n const touchStartXRef = useRef(0);\n const touchDeltaXRef = useRef(0);\n const touchUnpauseTimeout = useTimeout();\n const handleTouchStart = useCallback(event => {\n touchStartXRef.current = event.touches[0].clientX;\n touchDeltaXRef.current = 0;\n\n if (pause === 'hover') {\n setPaused(true);\n }\n\n onTouchStart == null ? void 0 : onTouchStart(event);\n }, [pause, onTouchStart]);\n const handleTouchMove = useCallback(event => {\n if (event.touches && event.touches.length > 1) {\n touchDeltaXRef.current = 0;\n } else {\n touchDeltaXRef.current = event.touches[0].clientX - touchStartXRef.current;\n }\n\n onTouchMove == null ? void 0 : onTouchMove(event);\n }, [onTouchMove]);\n const handleTouchEnd = useCallback(event => {\n if (touch) {\n const touchDeltaX = touchDeltaXRef.current;\n\n if (Math.abs(touchDeltaX) > SWIPE_THRESHOLD) {\n if (touchDeltaX > 0) {\n prev(event);\n } else {\n next(event);\n }\n }\n }\n\n if (pause === 'hover') {\n touchUnpauseTimeout.set(() => {\n setPaused(false);\n }, interval || undefined);\n }\n\n onTouchEnd == null ? void 0 : onTouchEnd(event);\n }, [touch, pause, prev, next, touchUnpauseTimeout, interval, onTouchEnd]);\n const shouldPlay = interval != null && !paused && !isSliding;\n const intervalHandleRef = useRef();\n useEffect(() => {\n var _ref, _activeChildIntervalR;\n\n if (!shouldPlay) {\n return undefined;\n }\n\n const nextFunc = isRTL ? prev : next;\n intervalHandleRef.current = window.setInterval(document.visibilityState ? nextWhenVisible : nextFunc, (_ref = (_activeChildIntervalR = activeChildIntervalRef.current) != null ? _activeChildIntervalR : interval) != null ? _ref : undefined);\n return () => {\n if (intervalHandleRef.current !== null) {\n clearInterval(intervalHandleRef.current);\n }\n };\n }, [shouldPlay, prev, next, activeChildIntervalRef, interval, nextWhenVisible, isRTL]);\n const indicatorOnClicks = useMemo(() => indicators && Array.from({\n length: numChildren\n }, (_, index) => event => {\n onSelect == null ? void 0 : onSelect(index, event);\n }), [indicators, numChildren, onSelect]);\n return /*#__PURE__*/_jsxs(Component, {\n ref: elementRef,\n ...props,\n onKeyDown: handleKeyDown,\n onMouseOver: handleMouseOver,\n onMouseOut: handleMouseOut,\n onTouchStart: handleTouchStart,\n onTouchMove: handleTouchMove,\n onTouchEnd: handleTouchEnd,\n className: classNames(className, prefix, slide && 'slide', fade && `${prefix}-fade`, variant && `${prefix}-${variant}`),\n children: [indicators && /*#__PURE__*/_jsx(\"div\", {\n className: `${prefix}-indicators`,\n children: map(children, (_, index) => /*#__PURE__*/_jsx(\"button\", {\n type: \"button\",\n \"data-bs-target\": \"\" // Bootstrap requires this in their css.\n ,\n \"aria-label\": indicatorLabels != null && indicatorLabels.length ? indicatorLabels[index] : `Slide ${index + 1}`,\n className: index === renderedActiveIndex ? 'active' : undefined,\n onClick: indicatorOnClicks ? indicatorOnClicks[index] : undefined,\n \"aria-current\": index === renderedActiveIndex\n }, index))\n }), /*#__PURE__*/_jsx(\"div\", {\n className: `${prefix}-inner`,\n children: map(children, (child, index) => {\n const isActive = index === renderedActiveIndex;\n return slide ? /*#__PURE__*/_jsx(TransitionWrapper, {\n in: isActive,\n onEnter: isActive ? handleEnter : undefined,\n onEntered: isActive ? handleEntered : undefined,\n addEndListener: transitionEndListener,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(child, { ...innerProps,\n className: classNames(child.props.className, isActive && status !== 'entered' && orderClassName, (status === 'entered' || status === 'exiting') && 'active', (status === 'entering' || status === 'exiting') && directionalClassName)\n })\n }) : /*#__PURE__*/React.cloneElement(child, {\n className: classNames(child.props.className, isActive && 'active')\n });\n })\n }), controls && /*#__PURE__*/_jsxs(_Fragment, {\n children: [(wrap || activeIndex !== 0) && /*#__PURE__*/_jsxs(Anchor, {\n className: `${prefix}-control-prev`,\n onClick: prev,\n children: [prevIcon, prevLabel && /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: prevLabel\n })]\n }), (wrap || activeIndex !== numChildren - 1) && /*#__PURE__*/_jsxs(Anchor, {\n className: `${prefix}-control-next`,\n onClick: next,\n children: [nextIcon, nextLabel && /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: nextLabel\n })]\n })]\n })]\n });\n});\nCarousel.displayName = 'Carousel';\nCarousel.defaultProps = defaultProps;\nexport default Object.assign(Carousel, {\n Caption: CarouselCaption,\n Item: CarouselItem\n});","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\nimport {Container, Carousel} from \"react-bootstrap\";\nimport srsStack from \"../resources/srs-stack-1296x648.png\";\nimport srsVideo from \"../resources/srs-xingqiu-1296x648.png\";\nimport {useSrsLanguage} from \"../components/LanguageSwitch\";\n\nexport default function Contact() {\n const language = useSrsLanguage();\n return language === 'zh' ? <ContactCn /> : <ContactEn />;\n}\n\nfunction ContactCn() {\n return (\n <Container fluid>\n <Carousel variant=\"dark\" interval={null}>\n <Carousel.Item>\n <img\n className=\"d-block w-100\"\n src={srsStack}\n alt=\"SRS Stack\"\n />\n <Carousel.Caption>\n <h5>欢迎加SRS Stack微信群</h5>\n <p>\n 欢迎加群探讨使用经验,寻求帮助,请先观看<a href='https://www.bilibili.com/video/BV1844y1L7dL/' target='_blank' rel='noreferrer'>视频入门教程</a>。\n </p>\n </Carousel.Caption>\n </Carousel.Item>\n <Carousel.Item>\n <img\n className=\"d-block w-100\"\n src={srsVideo}\n alt=\"SRS付费星球\"\n />\n <Carousel.Caption>\n <h5>欢迎加入SRS付费星球</h5>\n <p>\n 深度用户推荐加入SRS付费星球,可以获得更多资讯,以及技术支持。\n </p>\n </Carousel.Caption>\n </Carousel.Item>\n </Carousel>\n </Container>\n );\n}\n\nfunction ContactEn() {\n return (\n <Container fluid>\n Welcome to contact us by:\n <ul>\n <li>\n Discord:\n <a href='https://discord.gg/bQUPDRqy79' target='_blank' rel='noreferrer'>\n https://discord.gg/bQUPDRqy79\n </a>\n </li>\n <li>\n Twitter:\n <a href='https://twitter.com/srs_server' target='_blank' rel='noreferrer'>\n https://twitter.com/srs_server\n </a>\n </li>\n <li>\n GitHub:\n <a href='https://github.com/ossrs/srs-stack' target='_blank' rel='noreferrer'>\n https://github.com/ossrs/srs-stack\n </a>\n </li>\n </ul>\n </Container>\n );\n}\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from \"react\";\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState(false);\n\n function handleWindowSizeChange() {\n setIsMobile(window.innerWidth <= 1100);\n }\n React.useEffect(() => {\n handleWindowSizeChange();\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n }\n }, [setIsMobile]);\n\n return isMobile;\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Gear = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var color = _ref.color,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: size,\n height: size,\n fill: color\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z\"\n }));\n});\nGear.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nGear.defaultProps = {\n color: 'currentColor',\n size: '1em'\n};\nexport default Gear;","import React from \"react\";\nimport {Alert, Button, Card, Col, Dropdown, Form, InputGroup, Row, Spinner} from \"react-bootstrap\";\nimport {useTranslation} from \"react-i18next\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useIsMobile} from \"./IsMobile\";\nimport axios from \"axios\";\nimport {Locale, Token} from \"../utils\";\nimport * as Icon from \"react-bootstrap-icons\";\n\nexport function AITalkAssistantPanel({roomUUID, roomToken, username, userLanguage}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const isMobile = useIsMobile();\n\n // The timeout in milliseconds.\n const timeoutForMicrophoneTestToRun = 50;\n const timeoutWaitForMicrophoneToClose = 900;\n const timeoutWaitForLastVoice = 700;\n const durationRequiredUserInput = 600;\n\n // The player ref, to access the audio player.\n const playerRef = React.useRef(null);\n const [requesting, setRequesting] = React.useState(false);\n const [robotReady, setRobotReady] = React.useState(false);\n const [processing, setProcessing] = React.useState(false);\n const [micWorking, setMicWorking] = React.useState(false);\n\n // The uuid and robot in stage, which is unchanged after stage started.\n const [stageUUID, setStageUUID] = React.useState(null);\n const [userID, setUserID] = React.useState(null);\n const [aiAsrEnabled, setAiAsrEnabled] = React.useState();\n const [stageUser, setStageUser] = React.useState(null);\n const [stagePopoutUUID, setStagePopoutUUID] = React.useState(null);\n // Last user input text, from ASR, set to input for user to update it.\n const [userAsrText, setUserAsrText] = React.useState(null);\n\n const [booting, setBooting] = React.useState(true);\n const [errorLogs, setErrorLogs] = React.useState([]);\n const [traceCount, setTraceCount] = React.useState(0);\n const [traceLogs, setTraceLogs] = React.useState([]);\n const [tipLogs, setTipLogs] = React.useState([]);\n\n // The refs, about the logs and audio chunks model.\n const ref = React.useRef({\n count: 0,\n isRecording: false,\n recordStarttime: null,\n stopHandler: null,\n mediaStream: null,\n mediaRecorder: null,\n audioChunks: [],\n errorLogs: [],\n traceLogs: [],\n tipsLogs: [],\n traceCount: 0\n });\n // When robot is ready, start query and play all text and voices.\n const refRequest = React.useRef({\n requesting: false,\n gotMessages: 0,\n hasPendingMessages: false,\n playingAudio: 0,\n });\n\n const errorLog = React.useCallback((msg) => {\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.errorLogs = [...ref.current.errorLogs, {id: rid, msg}];\n setErrorLogs(ref.current.errorLogs);\n }, [setErrorLogs, ref]);\n\n const traceLog = React.useCallback((role, msg, variant, ignoreMerge) => {\n setTraceCount(++ref.current.traceCount);\n\n // Merge to last log with the same role.\n if (ref.current.traceLogs.length > 0 && !ignoreMerge) {\n const last = ref.current.traceLogs[ref.current.traceLogs.length - 1];\n if (last.role === role) {\n last.msg = `${last.msg}${msg}`;\n setTraceLogs([...ref.current.traceLogs]);\n return;\n }\n }\n\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.traceLogs = [...ref.current.traceLogs, {id: rid, role, msg, variant}];\n setTraceLogs(ref.current.traceLogs);\n }, [setTraceLogs, ref, setTraceCount]);\n\n const tipLog = React.useCallback((title, msg) => {\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.tipsLogs = [...ref.current.tipsLogs, {id: rid, title, msg, created: new Date()}];\n setTipLogs(ref.current.tipsLogs);\n }, [setTipLogs, ref]);\n\n const removeTipLog = React.useCallback((log) => {\n const index = ref.current.tipsLogs.findIndex((l) => l.id === log.id);\n ref.current.tipsLogs.splice(index, 1);\n setTipLogs([...ref.current.tipsLogs]);\n }, [setTipLogs, ref]);\n\n const removeErrorLog = React.useCallback((log) => {\n const index = ref.current.errorLogs.findIndex((l) => l.id === log.id);\n ref.current.errorLogs.splice(index, 1);\n setErrorLogs([...ref.current.errorLogs]);\n }, [setErrorLogs, ref]);\n\n // Scroll the log panel.\n const endPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!robotReady || !endPanelRef?.current) return;\n console.log(`Logs setup to end, height=${endPanelRef.current.scrollHeight}, tips=${tipLogs.length}`);\n endPanelRef.current.scrollIntoView({ behavior: \"smooth\", block: \"end\" });\n }, [robotReady, endPanelRef, tipLogs]);\n\n // The application is started now.\n React.useEffect(() => {\n const fnImpl = async () => {\n // Only allow localhost or https to access microphone.\n const isLo = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1';\n const isHttps = window.location.protocol === 'https:';\n const securityAllowed = isLo || isHttps;\n securityAllowed || errorLog(t('lr.room.https'));\n console.log(`App started, allowed=${securityAllowed}, lo=${isLo}, https=${isHttps}`);\n if (!securityAllowed) return;\n\n // Wait util no audio is playing.\n do {\n await new Promise((resolve) => setTimeout(resolve, 300));\n } while (refRequest.current.playingAudio);\n\n // Try to open the microphone to request permission.\n new Promise(resolve => {\n console.log(`Start: Startup open microphone`);\n\n navigator.mediaDevices.getUserMedia(\n {audio: true}\n ).then((stream) => {\n console.log(`Start: Microphone opened, try to record`);\n const recorder = new MediaRecorder(stream);\n\n const audioChunks = [];\n recorder.addEventListener(\"dataavailable\", ({data}) => {\n audioChunks.push(data);\n });\n recorder.addEventListener(\"stop\", async () => {\n // Stop the microphone.\n console.log(`Start: Microphone ok, chunks=${audioChunks.length}, state=${recorder.state}`);\n stream.getTracks().forEach(track => track.stop());\n setTimeout(() => {\n console.log(`Start: Microphone test ok.`);\n resolve();\n }, timeoutWaitForMicrophoneToClose);\n });\n\n recorder.start();\n setTimeout(() => {\n recorder.stop();\n console.log(`Start: Microphone stopping, state is ${recorder.state}`);\n }, timeoutForMicrophoneTestToRun);\n }).catch(error => errorLog(`${t('lr.room.mic')}: ${error}`));\n }).then(() => {\n setBooting(false);\n });\n };\n fnImpl();\n }, [t, errorLog, setBooting, refRequest]);\n\n // Request server to create a new stage.\n React.useEffect(() => {\n if (booting) return;\n\n console.log(`Start: Create a new stage`);\n axios.post('/terraform/v1/ai-talk/stage/start', {\n room: roomUUID, roomToken,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`Start: Create stage success: ${JSON.stringify(res.data.data)}`);\n setStageUUID(res.data.data.sid);\n setUserID(res.data.data.userId);\n setAiAsrEnabled(res.data.data.aiAsrEnabled);\n }).catch(handleError);\n }, [handleError, booting, roomUUID, roomToken, setStageUUID, setUserID, setAiAsrEnabled]);\n\n // Start to chat, set the robot to ready.\n const startChatting = React.useCallback(async (user) => {\n setStageUser(user);\n\n setRequesting(true);\n const listener = () => {\n playerRef.current.removeEventListener('ended', listener);\n\n setRobotReady(true);\n setRequesting(false);\n refRequest.current.playingAudio = false;\n console.log(`Stage started, AI is ready, sid=${stageUUID}`);\n };\n playerRef.current.addEventListener('ended', listener);\n\n console.log('Stage start to play demo audio');\n refRequest.current.playingAudio = true;\n playerRef.current.src = `/terraform/v1/ai-talk/stage/hello-voices/${user.voice}?sid=${stageUUID}`;\n playerRef.current.play().catch(error => {\n errorLog(`${t('lr.room.speaker')}: ${error}`);\n setRequesting(false);\n });\n }, [t, errorLog, stageUUID, setRobotReady, setRequesting, refRequest, setStageUser]);\n\n // When robot is ready, open the microphone ASAP to accept user input.\n React.useEffect(() => {\n const fnImpl = async () => {\n if (!robotReady) return;\n if (ref.current.mediaStream) return;\n\n // Wait util no audio is playing.\n do {\n await new Promise((resolve) => setTimeout(resolve, 300));\n } while(refRequest.current.playingAudio);\n\n console.log(`Robot is ready, open microphone.`)\n navigator.mediaDevices.getUserMedia(\n { audio: true }\n ).then((stream) => {\n ref.current.mediaStream = stream;\n console.log(`Robot is ready, microphone opened.`);\n }).catch(error => errorLog(`${t('lr.room.mic')}: ${error}`));\n };\n fnImpl();\n }, [errorLog, t, robotReady, ref, refRequest]);\n\n // When robot is ready, show tip logs, and cleanup timeout tips.\n React.useEffect(() => {\n if (!robotReady) return;\n tipLog('Usage', isMobile ? t('lr.room.usage') : t('lr.room.usage2'));\n\n const timer = setInterval(() => {\n const tipsLogs = [...ref.current.tipsLogs];\n tipsLogs.forEach((log) => {\n if (new Date() - log.created > 10 * 1000) {\n removeTipLog(log);\n }\n });\n }, 1000);\n return () => clearInterval(timer);\n }, [t, robotReady, tipLog, isMobile, ref, removeTipLog]);\n\n // User start a conversation, by recording input.\n const startRecording = React.useCallback(async () => {\n if (!robotReady) return;\n if (!ref.current.mediaStream) return;\n if (ref.current.stopHandler) clearTimeout(ref.current.stopHandler);\n if (ref.current.mediaRecorder) return;\n if (ref.current.isRecording) return;\n if (refRequest.current.playingAudio) return;\n ref.current.recordStarttime = new Date();\n ref.current.isRecording = true;\n ref.current.count += 1;\n\n console.log(\"=============\");\n\n // TODO: FIXME: Set the codec, see https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/mimeType\n // The stream is already opened when robot ready, or all answers are played.\n // See https://www.sitelint.com/lab/media-recorder-supported-mime-type/\n ref.current.mediaRecorder = new MediaRecorder(ref.current.mediaStream);\n ref.current.mediaStream = null;\n\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder#events\n ref.current.mediaRecorder.addEventListener(\"start\", () => {\n console.log(`Event: Recording start to record`);\n setMicWorking(true);\n });\n\n ref.current.mediaRecorder.addEventListener(\"dataavailable\", ({ data }) => {\n ref.current.audioChunks.push(data);\n console.log(`Event: Device dataavailable event ${data.size} bytes`);\n });\n\n ref.current.mediaRecorder.start();\n console.log(`Event: Recording started`);\n }, [robotReady, ref, setMicWorking, refRequest]);\n\n // User click stop button, we delay some time to allow cancel the stopping event.\n const stopRecording = React.useCallback(async () => {\n if (!robotReady) return;\n\n const processUserInput = async(userMayInput) => {\n // End conversation, for stat the elapsed time cost accurately.\n const requestUUID = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/conversation', {\n room: roomUUID, roomToken, sid: stageUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Start conversation success, rid=${res.data.data.rid}`);\n resolve(res.data.data.rid);\n }).catch((error) => reject(error));\n });\n\n // Convert audio from binary to base64 in text.\n const audioBase64Data = await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = function() {\n // Remove the data URL prefix, for example, result is:\n // application/octet-stream;base64,GkXfo59ChoEB.............\n const base64Audio = reader.result.split(',')[1];\n resolve(base64Audio);\n };\n\n const audioBlob = new Blob(ref.current.audioChunks);\n reader.readAsDataURL(audioBlob);\n });\n\n // Upload the user input audio to the server.\n await new Promise((resolve, reject) => {\n console.log(`ASR: Uploading ${ref.current.audioChunks.length} chunks, stage=${stageUUID}, user=${userID}`);\n ref.current.audioChunks = [];\n\n axios.post('/terraform/v1/ai-talk/stage/upload', {\n room: roomUUID, roomToken, sid: stageUUID, rid: requestUUID, userId: userID,\n umi: userMayInput, audio: audioBase64Data,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Upload success: ${res.data.data.rid} ${res.data.data.asr}`);\n resolve(res.data.data.rid);\n setUserAsrText(res.data.data.asr);\n }).catch((error) => reject(error));\n });\n\n // Get the AI generated audio from the server.\n console.log(`TTS: Requesting ${requestUUID} response audios, rid=${requestUUID}`);\n while (true) {\n const resp = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/query', {\n room: roomUUID, roomToken, sid: stageUUID, rid: requestUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n if (res.data?.data?.finished) {\n }\n resolve(res.data.data);\n }).catch(error => reject(error));\n });\n\n if (resp.finished) {\n console.log(`TTS: Conversation finished.`);\n break;\n }\n\n await new Promise((resolve) => setTimeout(resolve, 1000));\n }\n };\n\n const stopRecordingImpl = async () => {\n if (!ref.current.mediaRecorder) return;\n\n try {\n const userMayInput = new Date() - ref.current.recordStarttime - timeoutWaitForLastVoice;\n console.log(`Event: User stop record, duration=${userMayInput}ms, state=${ref.current.mediaRecorder.state}`);\n\n await new Promise(resolve => {\n ref.current.mediaRecorder.addEventListener(\"stop\", () => {\n const stream = ref.current.mediaRecorder.stream;\n stream.getTracks().forEach(track => track.stop());\n setTimeout(resolve, 30);\n });\n\n console.log(`Event: Recorder stop, chunks=${ref.current.audioChunks.length}, state=${ref.current.mediaRecorder.state}`);\n ref.current.mediaRecorder.stop();\n });\n\n setMicWorking(false);\n setProcessing(true);\n console.log(`Event: Recoder stopped, chunks=${ref.current.audioChunks.length}`);\n\n if (userMayInput < durationRequiredUserInput) {\n console.warn(`System: You didn't say anything!`);\n alert(`Warning: You didn't say anything!`);\n } else {\n try {\n await processUserInput(userMayInput);\n } catch (e) {\n console.warn(`System: Server error ${e}`);\n console.warn(`System: Please try again.`);\n alert(`System: Server error ${e}`);\n }\n }\n\n // Wait util no audio is playing.\n do {\n await new Promise((resolve) => setTimeout(resolve, 600));\n } while(refRequest.current.playingAudio);\n\n // Reopen the microphone if no audio is playing.\n console.log(`Conversation is ended, open microphone.`)\n new Promise((resolve, reject) => {\n navigator.mediaDevices.getUserMedia(\n { audio: true }\n ).then((stream) => {\n ref.current.mediaStream = stream;\n console.log(`All audios is played, microphone opened.`);\n resolve();\n }).catch(error => reject(error));\n });\n } catch (e) {\n alert(e);\n } finally {\n setProcessing(false);\n ref.current.mediaRecorder = null;\n ref.current.isRecording = false;\n }\n };\n\n if (ref.current.stopHandler) clearTimeout(ref.current.stopHandler);\n ref.current.stopHandler = setTimeout(() => {\n stopRecordingImpl();\n }, timeoutWaitForLastVoice);\n }, [roomUUID, roomToken, stageUUID, userID, robotReady, ref, setProcessing, setMicWorking, refRequest, setUserAsrText]);\n\n // User directly send text message to assistant.\n const sendText = React.useCallback(async (text, onFinished) => {\n if (!robotReady) return;\n if (!text) return;\n\n try {\n const requestUUID = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/conversation', {\n room: roomUUID, roomToken, sid: stageUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Start conversation success, rid=${res.data.data.rid}`);\n resolve(res.data.data.rid);\n }).catch(handleError);\n });\n\n await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/upload', {\n room: roomUUID, roomToken, sid: stageUUID, rid: requestUUID, userId: userID,\n text: text,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Send text success: ${res.data.data.rid} ${res.data.data.asr}`);\n resolve(res.data.data.rid);\n }).catch(handleError);\n });\n\n // For text message, don't wait for conversation to finish, because user may send text\n // message continuously.\n } finally {\n onFinished && onFinished();\n }\n }, [robotReady, handleError, roomUUID, roomToken, stageUUID, userID]);\n\n // Setup the keyboard event, for PC browser.\n React.useEffect(() => {\n if (!robotReady) return;\n if (!aiAsrEnabled) return;\n\n const handleKeyDown = (e) => {\n if (processing) return;\n // Ignore the input event.\n const tagName = e.target.tagName.toLowerCase();\n if (tagName === 'input' || tagName === 'textarea') return;\n if (e.key !== 'r' && e.key !== '\\\\' && e.key !== ' ') return;\n startRecording();\n };\n const handleKeyUp = (e) => {\n if (processing) return;\n if (e.key !== 'r' && e.key !== '\\\\' && e.key !== ' ') return;\n stopRecording();\n };\n\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n }, [robotReady, startRecording, stopRecording, processing, aiAsrEnabled]);\n\n // Request server to create a new popout for subscribing all events.\n React.useEffect(() => {\n if (!stageUUID) return; // For assistant, we must want stage to be ready.\n if (!roomUUID) return;\n\n console.log(`Start: Create a new stage`);\n axios.post('/terraform/v1/ai-talk/subscribe/start', {\n room: roomUUID, roomToken,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`Start: Create popout success: ${JSON.stringify(res.data.data)}`);\n setStagePopoutUUID(res.data.data.spid);\n }).catch(handleError);\n }, [handleError, roomUUID, roomToken, setStagePopoutUUID, stageUUID]);\n\n // Try to request messages of stage util end.\n React.useEffect(() => {\n if (!robotReady) return;\n\n const requestMessages = async () => {\n if (!robotReady || !stageUUID || !stagePopoutUUID) return;\n if (refRequest.current.requesting) return;\n refRequest.current.requesting = true;\n\n try {\n const {msgs, pending} = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/subscribe/query', {\n room: roomUUID, roomToken, sid: stageUUID, spid: stagePopoutUUID, userId: userID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n // Don't show detail logs for pulling.\n //const ts = new Date().toISOString().split('T')[1].split('Z')[0];\n //console.log(`Start: Query popout success at ${ts}: ${JSON.stringify(res.data.data)}`);\n resolve(res.data.data);\n }).catch(handleError);\n });\n\n refRequest.current.hasPendingMessages = pending;\n refRequest.current.gotMessages = msgs?.length || 0;\n if (!msgs?.length) return;\n\n for (let i = 0; i < msgs.length; i++) {\n const msg = msgs[i];\n if (msg.role === 'user') {\n traceLog(msg.username || 'You', msg.msg, 'primary');\n continue;\n }\n\n const audioSegmentUUID = msg.asid;\n traceLog(msg.username || 'Bot', msg.msg, 'success');\n\n // No audio file, skip it.\n if (!msg.hasAudio) {\n console.log(`TTS: Consume text message done, ${JSON.stringify(msg)}`);\n } else {\n // Play the AI generated audio.\n await new Promise(resolve => {\n const url = `/terraform/v1/ai-talk/subscribe/tts?sid=${stageUUID}&spid=${stagePopoutUUID}&asid=${audioSegmentUUID}&room=${roomUUID}&roomToken=${roomToken}`;\n console.log(`TTS: Playing ${url}`);\n\n const listener = () => {\n playerRef.current.removeEventListener('ended', listener);\n console.log(`TTS: Played ${url} done.`);\n resolve();\n };\n playerRef.current.addEventListener('ended', listener);\n\n playerRef.current.src = url;\n playerRef.current.play().catch(error => {\n console.log(`TTS: Play ${url} failed: ${error}`);\n resolve();\n });\n });\n }\n\n // Remove the AI generated audio.\n await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/subscribe/remove', {\n room: roomUUID, roomToken, sid: stageUUID, spid: stagePopoutUUID, asid: audioSegmentUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`TTS: Audio removed: ${audioSegmentUUID}`);\n resolve();\n }).catch(error => reject(error));\n });\n }\n } finally {\n refRequest.current.requesting = false;\n }\n };\n\n const timer = setInterval(async () => {\n requestMessages().catch(handleError);\n }, 1000);\n return () => clearInterval(timer);\n }, [robotReady, handleError, stageUUID, stagePopoutUUID, traceLog, refRequest, roomUUID, roomToken, userID]);\n\n // When we got any messages from server, set to playing mode and last for a while.\n React.useEffect(() => {\n const timer = setInterval(async () => {\n if (refRequest.current.gotMessages || refRequest.current.hasPendingMessages) {\n if (!refRequest.current.playingAudio) {\n console.log(`Subscribe: Got messages, start to play, mic=${micWorking}`);\n if (!micWorking) {\n setProcessing(true);\n }\n }\n refRequest.current.playingAudio = 5;\n return;\n }\n\n if (refRequest.current.playingAudio) {\n refRequest.current.playingAudio -= 1;\n if (!refRequest.current.playingAudio) {\n console.log(`Subscribe: No messages, stop playing, mic=${micWorking}`);\n if (!micWorking) {\n setProcessing(false);\n }\n }\n }\n }, 300);\n return () => clearInterval(timer);\n }, [refRequest, micWorking, setProcessing]);\n\n // A long time interval logger.\n React.useEffect(() => {\n const timer = setInterval(async () => {\n const ts = new Date().toISOString().split('T')[1].split('Z')[0];\n const r0 = refRequest.current;\n console.log(`Timer: ${ts}, messages got=${r0.gotMessages}, pending=${r0.hasPendingMessages}, playing=${r0.playingAudio}, requesting=${r0.requesting}`);\n }, 10000);\n return () => clearInterval(timer);\n }, [refRequest]);\n\n if (booting) {\n return <><Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner> Booting...</>;\n }\n return (\n <div>\n <div><audio ref={playerRef} controls={true} hidden='hidden' /></div>\n {stageUUID && !robotReady ? <>\n <AITalkUserConfig {...{roomUUID, roomToken,\n username, userLanguage, stageUUID, userID, disabled: requesting, label: t('lr.room.talk'),\n onSubmit: startChatting}} />\n </> : ''}\n {robotReady && !isMobile ?\n <Row>\n <Col>\n <AITalkAssistantImpl {...{\n processing, micWorking, startRecording, stopRecording, sendText, roomUUID, roomToken,\n stageUUID, stageUser, aiAsrEnabled, userAsrText\n }} />\n </Col>\n <Col>\n <AITalkTraceLogPC {...{traceLogs, traceCount, roomUUID, roomToken}}>\n <AITalkErrorLog {...{errorLogs, removeErrorLog}} />\n <AITalkTipLog {...{tipLogs, removeTipLog}} />\n </AITalkTraceLogPC>\n </Col>\n </Row> : ''}\n {robotReady && isMobile ?\n <div>\n <AITalkTraceLogMobile {...{traceLogs, traceCount}} />\n <AITalkErrorLog {...{errorLogs, removeErrorLog}} />\n <AITalkTipLog {...{tipLogs, removeTipLog}} />\n <AITalkAssistantImpl {...{\n processing, micWorking, startRecording, stopRecording, sendText, roomUUID, roomToken,\n stageUUID, stageUser, aiAsrEnabled, userAsrText\n }} />\n </div> : ''}\n <div ref={endPanelRef}></div>\n </div>\n );\n}\n\nexport function AITalkChatOnlyPanel({roomUUID, roomToken}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const isMobile = false; // For popout, always PC, not mobile.\n\n // The player ref, to access the audio player.\n const playerRef = React.useRef(null);\n const [requesting, setRequesting] = React.useState(false);\n const [robotReady, setRobotReady] = React.useState(false);\n\n // The uuid and robot in stage, which is unchanged after stage started.\n const [stageUUID, setStageUUID] = React.useState(null);\n const [stageVoice, setStageVoice] = React.useState(null);\n const [stagePopoutUUID, setStagePopoutUUID] = React.useState(null);\n\n // Possible value is 1: yes, -1: no, 0: undefined.\n const [obsAutostart, setObsAutostart] = React.useState(0);\n const [errorLogs, setErrorLogs] = React.useState([]);\n const [traceCount, setTraceCount] = React.useState(0);\n const [traceLogs, setTraceLogs] = React.useState([]);\n const [tipLogs, setTipLogs] = React.useState([]);\n\n // The refs, about the logs and audio chunks model.\n const ref = React.useRef({\n count: 0,\n isRecording: false,\n recordStarttime: null,\n stopHandler: null,\n mediaStream: null,\n mediaRecorder: null,\n audioChunks: [],\n errorLogs: [],\n traceLogs: [],\n tipsLogs: [],\n traceCount: 0\n });\n\n const errorLog = React.useCallback((msg) => {\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.errorLogs = [...ref.current.errorLogs, {id: rid, msg}];\n setErrorLogs(ref.current.errorLogs);\n }, [setErrorLogs, ref]);\n\n const traceLog = React.useCallback((role, msg, variant, ignoreMerge) => {\n setTraceCount(++ref.current.traceCount);\n\n // Merge to last log with the same role.\n if (ref.current.traceLogs.length > 0 && !ignoreMerge) {\n const last = ref.current.traceLogs[ref.current.traceLogs.length - 1];\n if (last.role === role) {\n last.msg = `${last.msg}${msg}`;\n setTraceLogs([...ref.current.traceLogs]);\n return;\n }\n }\n\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.traceLogs = [...ref.current.traceLogs, {id: rid, role, msg, variant}];\n setTraceLogs(ref.current.traceLogs);\n }, [setTraceLogs, ref, setTraceCount]);\n\n const tipLog = React.useCallback((title, msg) => {\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.tipsLogs = [...ref.current.tipsLogs, {id: rid, title, msg, created: new Date()}];\n setTipLogs(ref.current.tipsLogs);\n }, [setTipLogs, ref]);\n\n const removeTipLog = React.useCallback((log) => {\n const index = ref.current.tipsLogs.findIndex((l) => l.id === log.id);\n ref.current.tipsLogs.splice(index, 1);\n setTipLogs([...ref.current.tipsLogs]);\n }, [setTipLogs, ref]);\n\n const removeErrorLog = React.useCallback((log) => {\n const index = ref.current.errorLogs.findIndex((l) => l.id === log.id);\n ref.current.errorLogs.splice(index, 1);\n setErrorLogs([...ref.current.errorLogs]);\n }, [setErrorLogs, ref]);\n\n // Scroll the log panel.\n const endPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!robotReady || !endPanelRef?.current) return;\n console.log(`Logs setup to end, height=${endPanelRef.current.scrollHeight}, tips=${tipLogs.length}`);\n endPanelRef.current.scrollIntoView({ behavior: \"smooth\", block: \"end\" });\n }, [robotReady, endPanelRef, tipLogs]);\n\n // Request server to create a new popout from source stage.\n React.useEffect(() => {\n if (!roomUUID) return;\n\n console.log(`Start: Create a new stage`);\n axios.post('/terraform/v1/ai-talk/subscribe/start', {\n room: roomUUID, roomToken,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`Start: Create popout success: ${JSON.stringify(res.data.data)}`);\n setStageUUID(res.data.data.sid);\n setStagePopoutUUID(res.data.data.spid);\n setStageVoice(res.data.data.voice);\n }).catch(handleError);\n }, [handleError, roomUUID, roomToken, setStagePopoutUUID, setStageVoice, setStageUUID]);\n\n // Try to start the robot automatically, for OBS.\n React.useEffect(() => {\n if (!stageUUID || !stageVoice) return;\n\n const listener = () => {\n playerRef.current.removeEventListener('ended', listener);\n\n setObsAutostart(1);\n setRobotReady(true);\n console.log(`Stage started, AI is ready, sid=${stageUUID}`);\n };\n playerRef.current.addEventListener('ended', listener);\n\n playerRef.current.src = `/terraform/v1/ai-talk/stage/hello-voices/${stageVoice}?sid=${stageUUID}`;\n playerRef.current.play().catch((error) => {\n setObsAutostart(-1);\n });\n }, [t, errorLog, stageUUID, stageVoice, setObsAutostart]);\n\n // Requires user to start the robot manually, for Chrome.\n const startChatting = React.useCallback(() => {\n setRequesting(true);\n\n const listener = () => {\n playerRef.current.removeEventListener('ended', listener);\n\n setRobotReady(true);\n setRequesting(false);\n console.log(`Stage started, AI is ready, sid=${stageUUID}`);\n };\n playerRef.current.addEventListener('ended', listener);\n\n playerRef.current.src = `/terraform/v1/ai-talk/stage/hello-voices/${stageVoice}?sid=${stageUUID}`;\n playerRef.current.play().catch(error => {\n errorLog(`${t('lr.room.speaker')}: ${error}`);\n setRequesting(false);\n });\n }, [t, errorLog, stageUUID, stageVoice, setRobotReady, setRequesting]);\n\n // When robot is ready, show tip logs, and cleanup timeout tips.\n React.useEffect(() => {\n if (!robotReady) return;\n tipLog('Usage', t('lr.room.popout'));\n\n const timer = setInterval(() => {\n const tipsLogs = [...ref.current.tipsLogs];\n tipsLogs.forEach((log) => {\n if (new Date() - log.created > 10 * 1000) {\n removeTipLog(log);\n }\n });\n }, 500);\n return () => clearInterval(timer);\n }, [t, robotReady, tipLog, isMobile, ref, removeTipLog]);\n\n // When robot is ready, start query and play all text and voices.\n const refRequest = React.useRef({\n requesting: false,\n });\n // Try to request messages of stage util end.\n React.useEffect(() => {\n if (!robotReady) return;\n\n const requestMessages = async () => {\n if (!robotReady || !stageUUID || !stagePopoutUUID) return;\n if (refRequest.current.requesting) return;\n refRequest.current.requesting = true;\n\n try {\n const msgs = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/subscribe/query', {\n room: roomUUID, roomToken, sid: stageUUID, spid: stagePopoutUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n // Don't show detail logs for pulling.\n //const ts = new Date().toISOString().split('T')[1].split('Z')[0];\n //console.log(`Start: Query popout success at ${ts}: ${JSON.stringify(res.data.data)}`);\n resolve(res.data.data.msgs);\n }).catch(handleError);\n });\n\n if (!msgs?.length) return;\n for (let i = 0; i < msgs.length; i++) {\n const msg = msgs[i];\n if (msg.role === 'user') {\n traceLog(msg.username, msg.msg, 'primary');\n return;\n }\n\n const audioSegmentUUID = msg.asid;\n traceLog(msg.username, msg.msg, 'success');\n\n // Play the AI generated audio.\n await new Promise(resolve => {\n const url = `/terraform/v1/ai-talk/subscribe/tts?sid=${stageUUID}&spid=${stagePopoutUUID}&asid=${audioSegmentUUID}&room=${roomUUID}&roomToken=${roomToken}`;\n console.log(`TTS: Playing ${url}`);\n\n const listener = () => {\n playerRef.current.removeEventListener('ended', listener);\n console.log(`TTS: Played ${url} done.`);\n resolve();\n };\n playerRef.current.addEventListener('ended', listener);\n\n playerRef.current.src = url;\n playerRef.current.play().catch(error => {\n console.log(`TTS: Play ${url} failed: ${error}`);\n resolve();\n });\n });\n\n // Remove the AI generated audio.\n await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/subscribe/remove', {\n room: roomUUID, roomToken, sid: stageUUID, spid: stagePopoutUUID, asid: audioSegmentUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`TTS: Audio removed: ${audioSegmentUUID}`);\n resolve();\n }).catch(error => reject(error));\n });\n }\n } finally {\n refRequest.current.requesting = false;\n }\n };\n\n const timer = setInterval(async () => {\n requestMessages().catch(handleError);\n }, 1000);\n return () => clearInterval(timer);\n }, [robotReady, handleError, stageUUID, stagePopoutUUID, traceLog, refRequest, roomUUID, roomToken]);\n\n return (\n <div>\n {obsAutostart === -1 ?\n <Button disabled={requesting} variant=\"primary\" type=\"submit\" onClick={startChatting}>\n {t('lr.room.talk')}\n </Button> : ''}\n <div><audio ref={playerRef} controls={true} hidden='hidden' /></div>\n <AITalkErrorLog {...{errorLogs, removeErrorLog}} />\n <AITalkTipLog {...{tipLogs, removeTipLog}} />\n <AITalkTraceLogChatOnly {...{traceLogs, traceCount}} />\n <div ref={endPanelRef}></div>\n </div>\n );\n}\n\nfunction AITalkUserConfig({roomUUID, roomToken, username, userLanguage, stageUUID, userID, disabled, label, onSubmit, onCancel}) {\n const handleError = useErrorHandler();\n const [loading, setLoading] = React.useState(true);\n const [user, setUser] = React.useState(null);\n\n React.useEffect(() => {\n if (!userID) return;\n\n axios.post('/terraform/v1/ai-talk/user/query', {\n room: roomUUID, roomToken, sid: stageUUID, userId: userID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setLoading(false);\n const u = res.data.data;\n setUser({\n ...u, userId: userID,\n username: username || u.username,\n language: userLanguage || u.language,\n });\n console.log(`Start: Query stage user success, ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, setUser, setLoading, roomUUID, roomToken, username, userLanguage, stageUUID, userID]);\n\n if (loading || !user) {\n return <><Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner> Loading...</>;\n }\n return <AITalkUserConfigImpl {...{roomUUID, roomToken, stageUUID, user, disabled, label, onSubmit, onCancel}} />;\n}\n\nfunction AITalkUserConfigImpl({roomUUID, roomToken, stageUUID, user, disabled, label, onSubmit, onCancel}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [requesting, setRequesting] = React.useState(false);\n const [userName, setUserName] = React.useState(user.username);\n const [userLanguage, setUserLanguage] = React.useState(user.language);\n\n const updateConfig = React.useCallback((e) => {\n setRequesting(true);\n\n axios.post('/terraform/v1/ai-talk/user/update', {\n room: roomUUID, roomToken, sid: stageUUID, userId: user.userId,\n name: userName, lang: userLanguage\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setRequesting(false);\n console.log(`Start: Update stage user success`);\n onSubmit && onSubmit(res.data.data);\n }).catch(handleError);\n }, [handleError, roomUUID, roomToken, stageUUID, user, userName, userLanguage, onSubmit, setRequesting]);\n\n return <>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.uname')}</Form.Label>\n <Form.Text> * {t('lr.room.uname2')}</Form.Text>\n <Form.Control as=\"input\" type='input' defaultValue={userName} onChange={(e) => {\n e.preventDefault();\n setUserName(e.target.value);\n }} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.lang')}</Form.Label>\n <Form.Text> * {t('transcript.lang3')}. \n {t('helper.eg')} <code>en, zh, fr, de, ja, ru </code>, ... \n {t('helper.see')} <a href='https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target='_blank' rel='noreferrer'>ISO-639-1</a>.\n </Form.Text>\n <Form.Control as=\"input\" defaultValue={userLanguage} onChange={(e) => {\n e.preventDefault();\n setUserLanguage(e.target.value);\n }} />\n </Form.Group>\n <Button variant=\"primary\" type=\"button\" disabled={requesting || disabled} onClick={updateConfig}>\n {label || t('helper.submit')}\n </Button>\n {onCancel ? <>\n \n <Button variant=\"primary\" type=\"button\" disabled={requesting || disabled} onClick={onCancel}>\n {t('helper.cancel')}\n </Button>\n </> : ''}\n <p></p>\n </Form>\n </>;\n}\n\nfunction AITalkAssistantImpl({processing, micWorking, startRecording, stopRecording, userAsrText, sendText, roomUUID, roomToken, stageUUID, stageUser, aiAsrEnabled}) {\n const {t} = useTranslation();\n const isMobile = useIsMobile();\n const [showSettings, setShowSettings] = React.useState(false);\n const [popoutUrl, setPopoutUrl] = React.useState(null);\n const [showUserConfig, setShowUserConfig] = React.useState(false);\n const [user, setUser] = React.useState(stageUser);\n const [description, setDescription] = React.useState();\n const [userText, setUserText] = React.useState('');\n\n React.useEffect(() => {\n if (!roomUUID) return;\n\n const params = [\n 'app=ai-talk',\n 'popout=1',\n 'assistant=1',\n `created=${new Date().toISOString()}`,\n `random=${Math.random().toString(16).slice(-8)}`,\n `room=${roomUUID}`,\n `roomToken=${roomToken}`,\n ];\n const url = `${window.PUBLIC_URL}/${Locale.current()}/routers-popout?${params.join('&')}`;\n setPopoutUrl(url);\n console.log(`Generated popout URL: ${url}`);\n }, [roomUUID, setPopoutUrl, roomToken, user]);\n\n const openPopout = React.useCallback((e) => {\n e.preventDefault();\n if (!popoutUrl) return;\n setShowSettings(false);\n window.open(popoutUrl, '_blank', 'noopener,noreferrer,width=1024,height=768');\n }, [popoutUrl, setShowSettings]);\n\n const openSettings = React.useCallback((e) => {\n e.preventDefault();\n setShowUserConfig(true);\n setShowSettings(false);\n }, [setShowUserConfig, setShowSettings]);\n\n const onFinishUserConfig = React.useCallback((user) => {\n setShowUserConfig(false);\n setUser({...user});\n }, [setShowUserConfig, setUser]);\n\n React.useEffect(() => {\n if (!user) return;\n setDescription(` for ${user.username || 'You'} (${user.language})`);\n }, [user, setDescription]);\n\n const onSendText = React.useCallback((e) => {\n e.preventDefault();\n if (!userText) return;\n\n sendText && sendText(userText, () => {\n setUserText('');\n });\n }, [userText, sendText, setUserText]);\n\n const onUserPressKey = React.useCallback((e) => {\n if (e.key === 'Enter') {\n onSendText(e);\n }\n }, [onSendText]);\n\n React.useEffect(() => {\n if (!userAsrText) return;\n setUserText(userAsrText);\n }, [userAsrText]);\n\n if (isMobile) {\n return <>\n <InputGroup className=\"mb-3 ai-talk-container-mobile-input\">\n <Form.Control\n as=\"input\" placeholder={t('lr.room.text')} aria-describedby=\"basic-addon2\" value={userText}\n onChange={(e) => setUserText(e.target.value)}\n onKeyPress={onUserPressKey}/>\n <Button variant=\"primary\" id=\"button-addon2\" onClick={onSendText}>{t('helper.send')}</Button>\n </InputGroup>\n {aiAsrEnabled && <>\n <div className='ai-talk-container-mobile'\n onTouchStart={startRecording} onTouchEnd={stopRecording} disabled={processing || showUserConfig}>\n {!processing ?\n <div>\n <div className={micWorking ? 'ai-talk-gn-active' : 'ai-talk-gn-normal'}>\n <div className='ai-talk-mc'></div>\n </div>\n </div> :\n <div>\n <Spinner animation=\"border\" variant=\"light\" className='ai-talk-spinner'></Spinner>\n </div>}\n </div>\n </>}\n </>;\n }\n return (\n <div>\n <Card>\n <Card.Header>\n {t('lr.room.ait')}{showSettings ? '' : description}\n <div role='button' className='ai-talk-settings-btn'>\n <Icon.Gear size={20} onClick={(e) => setShowSettings(!showSettings)} />\n </div>\n {showSettings && <div className='ai-talk-settings-menu2'>\n <Dropdown.Menu show={true}>\n {false && <Dropdown.Item href=\"#!\" onClick={openPopout}>{t('lr.room.popchat2')}</Dropdown.Item>}\n <Dropdown.Item href=\"#!\" onClick={openSettings}>{t('lr.room.settings')}</Dropdown.Item>\n </Dropdown.Menu>\n </div>}\n </Card.Header>\n <Card.Body>\n {showUserConfig ? <AITalkUserConfig {...{\n roomUUID, roomToken, stageUUID, userID: stageUser.userId, onSubmit: onFinishUserConfig,\n onCancel: () => setShowUserConfig(false),\n }} /> : ''}\n <InputGroup className=\"mb-3 ai-talk-container-pc-input\">\n <Form.Control\n as=\"input\" placeholder={t('lr.room.text')} aria-describedby=\"basic-addon2\" value={userText}\n onChange={(e) => setUserText(e.target.value)}\n onKeyPress={onUserPressKey}/>\n <Button variant=\"primary\" id=\"button-addon2\" onClick={onSendText}>{t('helper.send')}</Button>\n </InputGroup>\n {aiAsrEnabled && <>\n <div className='ai-talk-container-pc'\n onTouchStart={startRecording} onTouchEnd={stopRecording} disabled={processing || showUserConfig}>\n {!processing ?\n <div>\n <div className={micWorking ? 'ai-talk-gn-active' : 'ai-talk-gn-normal'}>\n <div className='ai-talk-mc'></div>\n </div>\n </div> :\n <div>\n <Spinner animation=\"border\" variant=\"light\" className='ai-talk-spinner'></Spinner>\n </div>}\n </div>\n </>}\n </Card.Body>\n </Card>\n </div>\n );\n}\n\nfunction AITalkTraceLogPC({traceLogs, traceCount, children, roomUUID, roomToken}) {\n const {t} = useTranslation();\n const [showSettings, setShowSettings] = React.useState(false);\n const [popoutUrl, setPopoutUrl] = React.useState(null);\n\n // Scroll the log panel.\n const logPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!logPanelRef?.current) return;\n console.log(`Logs scroll to end, height=${logPanelRef.current.scrollHeight}, logs=${traceLogs.length}, count=${traceCount}`);\n logPanelRef.current.scrollTo(0, logPanelRef.current.scrollHeight);\n }, [traceLogs, logPanelRef, traceCount]);\n\n React.useEffect(() => {\n if (!roomUUID) return;\n\n const params = [\n 'app=ai-talk',\n 'popout=1',\n 'assistant=0', // Without assistant.\n `created=${new Date().toISOString()}`,\n `random=${Math.random().toString(16).slice(-8)}`,\n `room=${roomUUID}`,\n `roomToken=${roomToken}`,\n ];\n const url = `${window.PUBLIC_URL}/${Locale.current()}/routers-popout?${params.join('&')}`;\n setPopoutUrl(url);\n console.log(`Generated popout URL: ${url}`);\n }, [roomUUID, setPopoutUrl, roomToken]);\n\n const openPopout = React.useCallback((e) => {\n e.preventDefault();\n if (!popoutUrl) return;\n setShowSettings(false);\n window.open(popoutUrl, '_blank', 'noopener,noreferrer,width=1024,height=768');\n }, [popoutUrl, setShowSettings]);\n\n return (\n <div>\n <Card>\n <Card.Header>\n {t('lr.room.ait2')}\n {false && <div role='button' className='ai-talk-settings-btn'>\n <Icon.Gear size={20} onClick={(e) => setShowSettings(!showSettings)}/>\n </div>}\n {showSettings && <div className='ai-talk-settings-menu'>\n <Dropdown.Menu show={true}>\n <Dropdown.Item href=\"#!\" onClick={openPopout}>{t('lr.room.popchat')}</Dropdown.Item>\n </Dropdown.Menu>\n </div>}\n </Card.Header>\n <Card.Body>\n <div className='ai-talk-msgs-pc' ref={logPanelRef}>\n {children}\n {traceLogs.map((log) => {\n return (\n <Alert key={log.id} variant={log.variant} className='ai-talk-msgs-card'>\n {log.role}: {log.msg}\n </Alert>\n );\n })}\n </div>\n </Card.Body>\n </Card>\n </div>\n );\n}\n\nfunction AITalkTraceLogMobile({traceLogs, traceCount}) {\n // Scroll the log panel.\n const logPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!logPanelRef?.current) return;\n console.log(`Logs scroll to end, height=${logPanelRef.current.scrollHeight}, logs=${traceLogs.length}, count=${traceCount}`);\n logPanelRef.current.scrollTo(0, logPanelRef.current.scrollHeight);\n }, [traceLogs, logPanelRef, traceCount]);\n\n return (\n <div className='ai-talk-msgs-chat-mobile' ref={logPanelRef}>\n {traceLogs.map((log) => {\n return (\n <Alert key={log.id} variant={log.variant} className='ai-talk-msgs-card'>\n {log.role}: {log.msg}\n </Alert>\n );\n })}\n </div>\n );\n}\n\nfunction AITalkTraceLogChatOnly({traceLogs, traceCount}) {\n // Scroll the log panel.\n const logPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!logPanelRef?.current) return;\n console.log(`Logs scroll to end, height=${logPanelRef.current.scrollHeight}, logs=${traceLogs.length}, count=${traceCount}`);\n logPanelRef.current.scrollTo(0, logPanelRef.current.scrollHeight);\n }, [traceLogs, logPanelRef, traceCount]);\n\n return (\n <div className='ai-talk-msgs-text-only' ref={logPanelRef}>\n {traceLogs.map((log) => {\n return (\n <Alert key={log.id} variant={log.variant}>\n {log.role}: {log.msg}\n </Alert>\n );\n })}\n </div>\n );\n}\n\nfunction AITalkErrorLog({errorLogs, removeErrorLog}) {\n return (\n <React.Fragment>\n {errorLogs.map((log) => {\n return (\n <Alert key={log.id} onClose={() => removeErrorLog(log)} variant='danger' dismissible>\n <Alert.Heading>Error!</Alert.Heading>\n <p>{log.msg}</p>\n </Alert>\n );\n })}\n </React.Fragment>\n );\n}\n\nfunction AITalkTipLog({tipLogs, removeTipLog}) {\n return (\n <React.Fragment>\n {tipLogs.map((log) => {\n return (\n <Alert key={log.id} onClose={() => removeTipLog(log)} variant='success' dismissible>\n <Alert.Heading>{log.title}</Alert.Heading>\n <p>{log.msg}</p>\n </Alert>\n );\n })}\n </React.Fragment>\n );\n}\n","import React from \"react\";\nimport {Alert, Button, Card, Col, Dropdown, Form, InputGroup, Row, Spinner} from \"react-bootstrap\";\nimport {useTranslation} from \"react-i18next\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {useIsMobile} from \"./IsMobile\";\nimport axios from \"axios\";\nimport {Locale, Token} from \"../utils\";\nimport * as Icon from \"react-bootstrap-icons\";\n\nexport function AITalkDictationPanel({roomUUID, roomToken, username, userLanguage}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n const isMobile = useIsMobile();\n\n // The timeout in milliseconds.\n const timeoutForMicrophoneTestToRun = 50;\n const timeoutWaitForMicrophoneToClose = 900;\n const timeoutWaitForLastVoice = 700;\n const maxSegmentTime = 10 * 1000; // in ms.\n\n // The player ref, to access the audio player.\n const playerRef = React.useRef(null);\n const [requesting, setRequesting] = React.useState(false);\n const [robotReady, setRobotReady] = React.useState(false);\n const [processing, setProcessing] = React.useState(false);\n const [micWorking, setMicWorking] = React.useState(false);\n\n // The uuid and robot in stage, which is unchanged after stage started.\n const [stageUUID, setStageUUID] = React.useState(null);\n const [userID, setUserID] = React.useState(null);\n const [aiAsrEnabled, setAiAsrEnabled] = React.useState();\n const [stageUser, setStageUser] = React.useState(null);\n const [stagePopoutUUID, setStagePopoutUUID] = React.useState(null);\n // Last user input text, from ASR, set to input for user to update it.\n const [userAsrText, setUserAsrText] = React.useState(null);\n\n const [booting, setBooting] = React.useState(true);\n const [errorLogs, setErrorLogs] = React.useState([]);\n const [traceCount, setTraceCount] = React.useState(0);\n const [traceLogs, setTraceLogs] = React.useState([]);\n const [tipLogs, setTipLogs] = React.useState([]);\n\n // The refs, about the logs and audio chunks model.\n const ref = React.useRef({\n shouldStop: false,\n mediaStream: null,\n errorLogs: [],\n traceLogs: [],\n tipsLogs: [],\n traceCount: 0\n });\n // When robot is ready, start query and play all text and voices.\n const refRequest = React.useRef({\n requesting: false,\n gotMessages: 0,\n hasPendingMessages: false,\n playingAudio: 0,\n });\n\n const errorLog = React.useCallback((msg) => {\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.errorLogs = [...ref.current.errorLogs, {id: rid, msg}];\n setErrorLogs(ref.current.errorLogs);\n }, [setErrorLogs, ref]);\n\n const traceLog = React.useCallback((role, msg, variant, ignoreMerge) => {\n setTraceCount(++ref.current.traceCount);\n\n // Merge to last log with the same role.\n if (ref.current.traceLogs.length > 0 && !ignoreMerge) {\n const last = ref.current.traceLogs[ref.current.traceLogs.length - 1];\n if (last.role === role) {\n last.msg = `${last.msg}${msg}`;\n setTraceLogs([...ref.current.traceLogs]);\n return;\n }\n }\n\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.traceLogs = [...ref.current.traceLogs, {id: rid, role, msg, variant}];\n setTraceLogs(ref.current.traceLogs);\n }, [setTraceLogs, ref, setTraceCount]);\n\n const tipLog = React.useCallback((title, msg) => {\n const rid = `id-${Math.random().toString(16).slice(-4)}${new Date().getTime().toString(16).slice(-4)}`;\n ref.current.tipsLogs = [...ref.current.tipsLogs, {id: rid, title, msg, created: new Date()}];\n setTipLogs(ref.current.tipsLogs);\n }, [setTipLogs, ref]);\n\n const removeTipLog = React.useCallback((log) => {\n const index = ref.current.tipsLogs.findIndex((l) => l.id === log.id);\n ref.current.tipsLogs.splice(index, 1);\n setTipLogs([...ref.current.tipsLogs]);\n }, [setTipLogs, ref]);\n\n const removeErrorLog = React.useCallback((log) => {\n const index = ref.current.errorLogs.findIndex((l) => l.id === log.id);\n ref.current.errorLogs.splice(index, 1);\n setErrorLogs([...ref.current.errorLogs]);\n }, [setErrorLogs, ref]);\n\n // Scroll the log panel.\n const endPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!robotReady || !endPanelRef?.current) return;\n console.log(`Logs setup to end, height=${endPanelRef.current.scrollHeight}, tips=${tipLogs.length}`);\n endPanelRef.current.scrollIntoView({ behavior: \"smooth\", block: \"end\" });\n }, [robotReady, endPanelRef, tipLogs]);\n\n // The application is started now.\n React.useEffect(() => {\n const fnImpl = async () => {\n // Only allow localhost or https to access microphone.\n const isLo = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1';\n const isHttps = window.location.protocol === 'https:';\n const securityAllowed = isLo || isHttps;\n securityAllowed || errorLog(t('lr.room.https'));\n console.log(`App started, allowed=${securityAllowed}, lo=${isLo}, https=${isHttps}`);\n if (!securityAllowed) return;\n\n // Wait util no audio is playing.\n do {\n await new Promise((resolve) => setTimeout(resolve, 300));\n } while (refRequest.current.playingAudio);\n\n // Try to open the microphone to request permission.\n new Promise(resolve => {\n console.log(`Start: Startup open microphone`);\n\n navigator.mediaDevices.getUserMedia(\n {audio: true}\n ).then((stream) => {\n console.log(`Start: Microphone opened, try to record`);\n const recorder = new MediaRecorder(stream);\n\n const audioChunks = [];\n recorder.addEventListener(\"dataavailable\", ({data}) => {\n audioChunks.push(data);\n });\n recorder.addEventListener(\"stop\", async () => {\n // Stop the microphone.\n console.log(`Start: Microphone ok, chunks=${audioChunks.length}, state=${recorder.state}`);\n stream.getTracks().forEach(track => track.stop());\n setTimeout(() => {\n console.log(`Start: Microphone test ok.`);\n resolve();\n }, timeoutWaitForMicrophoneToClose);\n });\n\n recorder.start();\n setTimeout(() => {\n recorder.stop();\n console.log(`Start: Microphone stopping, state is ${recorder.state}`);\n }, timeoutForMicrophoneTestToRun);\n }).catch(error => errorLog(`${t('lr.room.mic')}: ${error}`));\n }).then(() => {\n setBooting(false);\n });\n };\n fnImpl();\n }, [t, errorLog, setBooting, refRequest]);\n\n // Request server to create a new stage.\n React.useEffect(() => {\n if (booting) return;\n\n console.log(`Start: Create a new stage`);\n axios.post('/terraform/v1/ai-talk/stage/start', {\n room: roomUUID, roomToken,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`Start: Create stage success: ${JSON.stringify(res.data.data)}`);\n setStageUUID(res.data.data.sid);\n setUserID(res.data.data.userId);\n setAiAsrEnabled(res.data.data.aiAsrEnabled);\n }).catch(handleError);\n }, [handleError, booting, roomUUID, roomToken, setStageUUID, setUserID, setAiAsrEnabled]);\n\n // Start to chat, set the robot to ready.\n const startChatting = React.useCallback(async (user) => {\n setStageUser(user);\n\n setRequesting(true);\n const listener = () => {\n playerRef.current.removeEventListener('ended', listener);\n\n setRobotReady(true);\n setRequesting(false);\n refRequest.current.playingAudio = false;\n console.log(`Stage started, AI is ready, sid=${stageUUID}`);\n };\n playerRef.current.addEventListener('ended', listener);\n\n console.log('Stage start to play demo audio');\n refRequest.current.playingAudio = true;\n playerRef.current.src = `/terraform/v1/ai-talk/stage/hello-voices/${user.voice}?sid=${stageUUID}`;\n playerRef.current.play().catch(error => {\n errorLog(`${t('lr.room.speaker')}: ${error}`);\n setRequesting(false);\n });\n }, [t, errorLog, stageUUID, setRobotReady, setRequesting, refRequest, setStageUser]);\n\n // When robot is ready, show tip logs, and cleanup timeout tips.\n React.useEffect(() => {\n if (!robotReady) return;\n tipLog('Usage', isMobile ? t('lr.room.usage') : t('lr.room.usage2'));\n\n const timer = setInterval(() => {\n const tipsLogs = [...ref.current.tipsLogs];\n tipsLogs.forEach((log) => {\n if (new Date() - log.created > 10 * 1000) {\n removeTipLog(log);\n }\n });\n }, 1000);\n return () => clearInterval(timer);\n }, [t, robotReady, tipLog, isMobile, ref, removeTipLog]);\n\n // Handle the user input audio data, upload to server.\n const processUserInput = React.useCallback(async(artifact) => {\n const userMayInput = artifact.duration();\n\n // End conversation, for stat the elapsed time cost accurately.\n const requestUUID = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/conversation', {\n room: roomUUID, roomToken, sid: stageUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Start conversation success, rid=${res.data.data.rid}`);\n resolve(res.data.data.rid);\n }).catch((error) => reject(error));\n });\n\n // Convert audio from binary to base64 in text.\n const audioBase64Data = await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = function() {\n // Remove the data URL prefix, for example, result is:\n // application/octet-stream;base64,GkXfo59ChoEB.............\n const base64Audio = reader.result.split(',')[1];\n resolve(base64Audio);\n };\n\n const audioBlob = new Blob(artifact.audioChunks);\n reader.readAsDataURL(audioBlob);\n });\n\n // Upload the user input audio to the server.\n await new Promise((resolve, reject) => {\n console.log(`ASR: Uploading ${artifact.audioChunks.length} chunks, stage=${stageUUID}, user=${userID}`);\n\n axios.post('/terraform/v1/ai-talk/stage/upload', {\n room: roomUUID, roomToken, sid: stageUUID, rid: requestUUID, userId: userID,\n umi: userMayInput, audio: audioBase64Data,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Upload success: ${res.data.data.rid} ${res.data.data.asr}`);\n resolve(res.data.data.rid);\n setUserAsrText(res.data.data.asr);\n }).catch((error) => reject(error));\n });\n\n // Get the AI generated audio from the server.\n console.log(`TTS: Requesting ${requestUUID} response audios, rid=${requestUUID}`);\n while (true) {\n const resp = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/query', {\n room: roomUUID, roomToken, sid: stageUUID, rid: requestUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n if (res.data?.data?.finished) {\n }\n resolve(res.data.data);\n }).catch(error => reject(error));\n });\n\n if (resp.finished) {\n console.log(`TTS: Conversation finished.`);\n break;\n }\n\n await new Promise((resolve) => setTimeout(resolve, 1000));\n }\n }, [roomUUID, roomToken, stageUUID, userID, setUserAsrText]);\n\n // When user start dictation, open the microphone, start the media recorder, and send the audio\n // every some seconds.\n const startDictation = React.useCallback(async (onWorking) => {\n if (!robotReady) return;\n if (ref.current.mediaStream) return;\n\n console.log(`Start dictation, open microphone.`)\n await new Promise(resolve => {\n navigator.mediaDevices.getUserMedia(\n {audio: true}\n ).then((stream) => {\n ref.current.mediaStream = stream;\n console.log(`Start dictation, microphone opened.`);\n resolve();\n }).catch(error => errorLog(`${t('lr.room.mic')}: ${error}`));\n });\n\n // Now dictation is working.\n ref.current.shouldStop = false;\n setProcessing(true);\n onWorking && onWorking();\n\n const startRecorder = async () => {\n console.log(\"=============\");\n\n // Media artifact, a piece of audio segment generated by media recorder.\n const artifact = {\n // The time elappsed.\n recordStarttime: new Date(),\n recordStoptime: null,\n duration: () => {\n if (!artifact.recordStoptime) return null;\n return artifact.recordStoptime - artifact.recordStarttime;\n },\n // For dictation, we never stop the media stream util user press the stop button.\n // TODO: FIXME: Set the codec, see https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/mimeType\n // The stream is already opened when robot ready, or all answers are played.\n // See https://www.sitelint.com/lab/media-recorder-supported-mime-type/\n mediaRecorder: new MediaRecorder(ref.current.mediaStream),\n audioChunks: [],\n };\n\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder#events\n artifact.mediaRecorder.addEventListener(\"start\", () => {\n console.log(`Event: Recording start to record`);\n setMicWorking(true);\n });\n\n artifact.mediaRecorder.addEventListener(\"dataavailable\", ({ data }) => {\n artifact.audioChunks.push(data);\n const userMayInput = new Date() - artifact.recordStarttime - timeoutWaitForLastVoice;\n const ts = new Date().toISOString().split('T')[1].split('Z')[0];\n console.log(`${ts} Event: Device dataavailable event ${data.size} bytes, duration=${userMayInput}ms`);\n });\n\n // For dictation, we use shorter timeslice, to trigger dataavailable event ASAP.\n artifact.mediaRecorder.start(1500);\n console.log(`Event: Recording started`);\n return artifact;\n };\n\n const stopRecorder = async (artifact, dispose) => {\n // Now, stop the dictation.\n const closeMicrophone = () => {\n if (!dispose) return;\n console.log(`Stop dictation, close microphone.`);\n const stream = ref.current.mediaStream;\n ref.current.mediaStream = null;\n stream.getTracks().forEach(track => track.stop());\n setMicWorking(false);\n };\n\n if (!artifact) {\n closeMicrophone();\n return;\n }\n\n console.log(`Stop dictation, stop recorder.`)\n await new Promise(resolve => {\n artifact.mediaRecorder.addEventListener(\"stop\", () => {\n if (dispose) closeMicrophone();\n\n // To help estimate the duration of artifact.\n artifact.recordStoptime = new Date();\n\n const ts = new Date().toISOString().split('T')[1].split('Z')[0];\n console.log(`${ts} Event: Recorder stopped, chunks=${artifact.audioChunks.length}, duration=${artifact.duration()}ms`);\n \n resolve();\n });\n\n console.log(`Event: Recorder stop, chunks=${artifact.audioChunks.length}, state=${artifact.mediaRecorder.state}`);\n artifact.mediaRecorder.stop();\n });\n\n return artifact;\n };\n\n // Handle all events during dictation.\n try {\n let artifact = await startRecorder();\n while (true) {\n if (ref.current.shouldStop) {\n console.log(`Stop dictation, user reset it.`);\n await stopRecorder(artifact, true);\n return;\n }\n\n if (new Date() - artifact.recordStarttime >= maxSegmentTime) {\n const readyArtifact = await stopRecorder(artifact, false);\n artifact = await startRecorder();\n const ts = new Date().toISOString().split('T')[1].split('Z')[0];\n console.log(`${ts} Restart dictation ok, start to send artifact.`);\n\n // Start a async task to process the audio segment.\n processUserInput(readyArtifact).catch((e) => {\n console.warn(`Dictation ignore any segment ${JSON.stringify(readyArtifact)} error ${e}`);\n });\n }\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n } finally {\n setProcessing(false);\n setMicWorking(false);\n }\n }, [ref, robotReady, t, errorLog, maxSegmentTime, processUserInput]);\n\n // When user stop dictation, close the microphone, stop the media recorder, and send the last\n // audio data.\n const stopDictation = React.useCallback(async () => {\n if (!robotReady) return;\n if (!ref.current.mediaStream) return;\n\n // Notify to stop.\n ref.current.shouldStop = true;\n\n // Wait util stopped.\n while (ref.current.mediaStream) {\n await new Promise(resolve => setTimeout(resolve, 300));\n }\n }, [ref, robotReady]);\n\n // User directly send text message to assistant.\n const sendText = React.useCallback(async (text, onFinished) => {\n if (!robotReady) return;\n if (!text) return;\n\n try {\n const requestUUID = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/conversation', {\n room: roomUUID, roomToken, sid: stageUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Start conversation success, rid=${res.data.data.rid}`);\n resolve(res.data.data.rid);\n }).catch(handleError);\n });\n\n await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/stage/upload', {\n room: roomUUID, roomToken, sid: stageUUID, rid: requestUUID, userId: userID,\n text: text,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`ASR: Send text success: ${res.data.data.rid} ${res.data.data.asr}`);\n resolve(res.data.data.rid);\n }).catch(handleError);\n });\n\n // For text message, don't wait for conversation to finish, because user may send text\n // message continuously.\n } finally {\n onFinished && onFinished();\n }\n }, [robotReady, handleError, roomUUID, roomToken, stageUUID, userID]);\n\n // Request server to create a new popout for subscribing all events.\n React.useEffect(() => {\n if (!stageUUID) return; // For assistant, we must want stage to be ready.\n if (!roomUUID) return;\n\n console.log(`Start: Create a new stage`);\n axios.post('/terraform/v1/ai-talk/subscribe/start', {\n room: roomUUID, roomToken,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`Start: Create popout success: ${JSON.stringify(res.data.data)}`);\n setStagePopoutUUID(res.data.data.spid);\n }).catch(handleError);\n }, [handleError, roomUUID, roomToken, setStagePopoutUUID, stageUUID]);\n\n // Try to request messages of stage util end.\n React.useEffect(() => {\n if (!robotReady) return;\n\n const requestMessages = async () => {\n if (!robotReady || !stageUUID || !stagePopoutUUID) return;\n if (refRequest.current.requesting) return;\n refRequest.current.requesting = true;\n\n try {\n const {msgs, pending} = await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/subscribe/query', {\n room: roomUUID, roomToken, sid: stageUUID, spid: stagePopoutUUID, userId: userID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n // Don't show detail logs for pulling.\n //const ts = new Date().toISOString().split('T')[1].split('Z')[0];\n //console.log(`Start: Query popout success at ${ts}: ${JSON.stringify(res.data.data)}`);\n resolve(res.data.data);\n }).catch(handleError);\n });\n\n refRequest.current.hasPendingMessages = pending;\n refRequest.current.gotMessages = msgs?.length || 0;\n if (!msgs?.length) return;\n\n for (let i = 0; i < msgs.length; i++) {\n const msg = msgs[i];\n if (msg.role === 'user') {\n traceLog(msg.username || 'You', msg.msg, 'primary', true);\n continue;\n }\n\n const audioSegmentUUID = msg.asid;\n traceLog(msg.username || 'Bot', msg.msg, 'success');\n\n // For dictation pattern, we always ignore TTS audio files.\n // No audio file, skip it.\n console.log(`TTS: Dictation always consume as text, ${JSON.stringify(msg)}`);\n\n // Remove the AI generated audio.\n await new Promise((resolve, reject) => {\n axios.post('/terraform/v1/ai-talk/subscribe/remove', {\n room: roomUUID, roomToken, sid: stageUUID, spid: stagePopoutUUID, asid: audioSegmentUUID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n console.log(`TTS: Audio removed: ${audioSegmentUUID}`);\n resolve();\n }).catch(error => reject(error));\n });\n }\n } finally {\n refRequest.current.requesting = false;\n }\n };\n\n const timer = setInterval(async () => {\n requestMessages().catch(handleError);\n }, 1000);\n return () => clearInterval(timer);\n }, [robotReady, handleError, stageUUID, stagePopoutUUID, traceLog, refRequest, roomUUID, roomToken, userID]);\n\n if (booting) {\n return <><Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner> Booting...</>;\n }\n return (\n <div>\n <div><audio ref={playerRef} controls={true} hidden='hidden' /></div>\n {stageUUID && !robotReady ? <>\n <AITalkUserConfig {...{roomUUID, roomToken,\n username, userLanguage, stageUUID, userID, disabled: requesting, label: t('lr.room.startd'),\n onSubmit: startChatting}} />\n </> : ''}\n {robotReady && !isMobile ?\n <Row>\n <Col>\n <AITalkDictationImpl {...{\n processing, micWorking, startDictation, stopDictation, sendText, roomUUID, roomToken,\n stageUUID, stageUser, aiAsrEnabled, userAsrText\n }} />\n </Col>\n <Col>\n <AITalkTraceLogPC {...{traceLogs, traceCount, roomUUID, roomToken}}>\n <AITalkErrorLog {...{errorLogs, removeErrorLog}} />\n <AITalkTipLog {...{tipLogs, removeTipLog}} />\n </AITalkTraceLogPC>\n </Col>\n </Row> : ''}\n {robotReady && isMobile ?\n <div>\n <AITalkTraceLogMobile {...{traceLogs, traceCount}} />\n <AITalkErrorLog {...{errorLogs, removeErrorLog}} />\n <AITalkTipLog {...{tipLogs, removeTipLog}} />\n <AITalkDictationImpl {...{\n processing, micWorking, startDictation, stopDictation, sendText, roomUUID, roomToken,\n stageUUID, stageUser, aiAsrEnabled, userAsrText\n }} />\n </div> : ''}\n <div ref={endPanelRef}></div>\n </div>\n );\n}\n\nfunction AITalkUserConfig({roomUUID, roomToken, username, userLanguage, stageUUID, userID, disabled, label, onSubmit, onCancel}) {\n const handleError = useErrorHandler();\n const [loading, setLoading] = React.useState(true);\n const [user, setUser] = React.useState(null);\n\n React.useEffect(() => {\n if (!userID) return;\n\n axios.post('/terraform/v1/ai-talk/user/query', {\n room: roomUUID, roomToken, sid: stageUUID, userId: userID,\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setLoading(false);\n const u = res.data.data;\n setUser({\n ...u, userId: userID,\n username: username || u.username,\n language: userLanguage || u.language,\n });\n console.log(`Start: Query stage user success, ${JSON.stringify(res.data.data)}`);\n }).catch(handleError);\n }, [handleError, setUser, setLoading, roomUUID, roomToken, username, userLanguage, stageUUID, userID]);\n\n if (loading || !user) {\n return <><Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner> Loading...</>;\n }\n return <AITalkUserConfigImpl {...{roomUUID, roomToken, stageUUID, user, disabled, label, onSubmit, onCancel}} />;\n}\n\nfunction AITalkUserConfigImpl({roomUUID, roomToken, stageUUID, user, disabled, label, onSubmit, onCancel}) {\n const {t} = useTranslation();\n const handleError = useErrorHandler();\n\n const [requesting, setRequesting] = React.useState(false);\n const [userName, setUserName] = React.useState(user.username);\n const [userLanguage, setUserLanguage] = React.useState(user.language);\n\n const updateConfig = React.useCallback((e) => {\n setRequesting(true);\n\n axios.post('/terraform/v1/ai-talk/user/update', {\n room: roomUUID, roomToken, sid: stageUUID, userId: user.userId,\n name: userName, lang: userLanguage\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setRequesting(false);\n console.log(`Start: Update stage user success`);\n onSubmit && onSubmit(res.data.data);\n }).catch(handleError);\n }, [handleError, roomUUID, roomToken, stageUUID, user, userName, userLanguage, onSubmit, setRequesting]);\n\n return <>\n <Form>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('lr.room.uname')}</Form.Label>\n <Form.Text> * {t('lr.room.uname2')}</Form.Text>\n <Form.Control as=\"input\" type='input' defaultValue={userName} onChange={(e) => {\n e.preventDefault();\n setUserName(e.target.value);\n }} />\n </Form.Group>\n <Form.Group className=\"mb-3\">\n <Form.Label>{t('transcript.lang')}</Form.Label>\n <Form.Text> * {t('transcript.lang3')}. \n {t('helper.eg')} <code>en, zh, fr, de, ja, ru </code>, ... \n {t('helper.see')} <a href='https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target='_blank' rel='noreferrer'>ISO-639-1</a>.\n </Form.Text>\n <Form.Control as=\"input\" defaultValue={userLanguage} onChange={(e) => {\n e.preventDefault();\n setUserLanguage(e.target.value);\n }} />\n </Form.Group>\n <Button variant=\"primary\" type=\"button\" disabled={requesting || disabled} onClick={updateConfig}>\n {label || t('helper.submit')}\n </Button>\n {onCancel ? <>\n \n <Button variant=\"primary\" type=\"button\" disabled={requesting || disabled} onClick={onCancel}>\n {t('helper.cancel')}\n </Button>\n </> : ''}\n <p></p>\n </Form>\n </>;\n}\n\nfunction AITalkDictationImpl({processing, micWorking, userAsrText, sendText, startDictation, stopDictation, roomUUID, roomToken, stageUUID, stageUser, aiAsrEnabled}) {\n const {t} = useTranslation();\n const isMobile = useIsMobile();\n const [showSettings, setShowSettings] = React.useState(false);\n const [popoutUrl, setPopoutUrl] = React.useState(null);\n const [showUserConfig, setShowUserConfig] = React.useState(false);\n const [user, setUser] = React.useState(stageUser);\n const [description, setDescription] = React.useState();\n const [userText, setUserText] = React.useState('');\n const [takingDictation, setTakingDictation] = React.useState(processing);\n const [stillWorking, setStillWorking] = React.useState(false);\n\n React.useEffect(() => {\n if (!roomUUID) return;\n\n const params = [\n 'app=ai-talk',\n 'popout=1',\n 'assistant=1',\n `created=${new Date().toISOString()}`,\n `random=${Math.random().toString(16).slice(-8)}`,\n `room=${roomUUID}`,\n `roomToken=${roomToken}`,\n ];\n const url = `${window.PUBLIC_URL}/${Locale.current()}/routers-popout?${params.join('&')}`;\n setPopoutUrl(url);\n console.log(`Generated popout URL: ${url}`);\n }, [roomUUID, setPopoutUrl, roomToken, user]);\n\n const openPopout = React.useCallback((e) => {\n e.preventDefault();\n if (!popoutUrl) return;\n setShowSettings(false);\n window.open(popoutUrl, '_blank', 'noopener,noreferrer,width=1024,height=768');\n }, [popoutUrl, setShowSettings]);\n\n const openSettings = React.useCallback((e) => {\n e.preventDefault();\n setShowUserConfig(true);\n setShowSettings(false);\n }, [setShowUserConfig, setShowSettings]);\n\n const onFinishUserConfig = React.useCallback((user) => {\n setShowUserConfig(false);\n setUser({...user});\n }, [setShowUserConfig, setUser]);\n\n React.useEffect(() => {\n if (!user) return;\n setDescription(` for ${user.username || 'You'} (${user.language})`);\n }, [user, setDescription]);\n\n const onSendText = React.useCallback((e) => {\n e.preventDefault();\n if (!userText) return;\n\n sendText && sendText(userText, () => {\n setUserText('');\n });\n }, [userText, sendText, setUserText]);\n\n const onUserPressKey = React.useCallback((e) => {\n if (e.key === 'Enter') {\n onSendText(e);\n }\n }, [onSendText]);\n\n React.useEffect(() => {\n if (!userAsrText) return;\n setUserText(userAsrText);\n }, [userAsrText]);\n\n const onUserStartDictation = React.useCallback(async (e) => {\n e.preventDefault();\n try {\n setStillWorking(true);\n // Note that we should never wait for all dictation finished, but only wait for\n // callback onWorking.\n await new Promise((resolve, reject) => {\n startDictation(resolve).catch(reject);\n });\n await new Promise((resolve) => setTimeout(resolve, 1200));\n setTakingDictation(true);\n } finally {\n setStillWorking(false);\n }\n }, [setStillWorking, startDictation, setTakingDictation]);\n\n const onUserStopDictation = React.useCallback(async (e) => {\n e.preventDefault();\n try {\n setStillWorking(true);\n await stopDictation();\n await new Promise((resolve) => setTimeout(resolve, 800));\n setTakingDictation(false);\n } finally {\n setStillWorking(false);\n }\n }, [setStillWorking, stopDictation, setTakingDictation]);\n\n if (isMobile) {\n return <>\n <InputGroup className=\"mb-3\">\n <Form.Control\n as=\"input\" placeholder={t('lr.room.text')} aria-describedby=\"basic-addon2\" value={userText}\n onChange={(e) => setUserText(e.target.value)}\n onKeyPress={onUserPressKey}/>\n <Button variant=\"primary\" id=\"button-addon2\" onClick={onSendText}>{t('helper.send')}</Button>\n </InputGroup>\n {aiAsrEnabled && <>\n {!takingDictation ? <>\n <Button variant=\"primary\" type=\"button\" disabled={stillWorking} onClick={onUserStartDictation}>\n {t('helper.start')}\n </Button> \n {(processing || micWorking) && <Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner>}\n </> :\n <>\n <Button variant=\"primary\" type=\"button\" disabled={stillWorking} onClick={onUserStopDictation}>\n {t('helper.stop')}\n </Button> \n <Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner>\n </>}\n </>}\n </>;\n }\n return (\n <div>\n <Card>\n <Card.Header>\n {t('lr.room.ait')}{showSettings ? '' : description}\n <div role='button' className='ai-talk-settings-btn'>\n <Icon.Gear size={20} onClick={(e) => setShowSettings(!showSettings)} />\n </div>\n {showSettings && <div className='ai-talk-settings-menu2'>\n <Dropdown.Menu show={true}>\n {false && <Dropdown.Item href=\"#!\" onClick={openPopout}>{t('lr.room.popchat2')}</Dropdown.Item>}\n <Dropdown.Item href=\"#!\" onClick={openSettings}>{t('lr.room.settings')}</Dropdown.Item>\n </Dropdown.Menu>\n </div>}\n </Card.Header>\n <Card.Body>\n {showUserConfig ? <AITalkUserConfig {...{\n roomUUID, roomToken, stageUUID, userID: stageUser.userId, onSubmit: onFinishUserConfig,\n onCancel: () => setShowUserConfig(false),\n }} /> : ''}\n <InputGroup className=\"mb-3\">\n <Form.Control\n as=\"input\" placeholder={t('lr.room.text')} aria-describedby=\"basic-addon2\" value={userText}\n onChange={(e) => setUserText(e.target.value)}\n onKeyPress={onUserPressKey}/>\n <Button variant=\"primary\" id=\"button-addon2\" onClick={onSendText}>{t('helper.send')}</Button>\n </InputGroup>\n {aiAsrEnabled && <>\n {!takingDictation ? <>\n <Button variant=\"primary\" type=\"button\" disabled={stillWorking} onClick={onUserStartDictation}>\n {t('helper.start')}\n </Button> \n {(processing || micWorking) && <Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner>}\n </> :\n <>\n <Button variant=\"primary\" type=\"button\" disabled={stillWorking} onClick={onUserStopDictation}>\n {t('helper.stop')}\n </Button> \n <Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner>\n </>}\n </>}\n </Card.Body>\n </Card>\n </div>\n );\n}\n\nfunction AITalkTraceLogPC({traceLogs, traceCount, children, roomUUID, roomToken}) {\n const {t} = useTranslation();\n const [showSettings, setShowSettings] = React.useState(false);\n const [popoutUrl, setPopoutUrl] = React.useState(null);\n\n // Scroll the log panel.\n const logPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!logPanelRef?.current) return;\n console.log(`Logs scroll to end, height=${logPanelRef.current.scrollHeight}, logs=${traceLogs.length}, count=${traceCount}`);\n logPanelRef.current.scrollTo(0, logPanelRef.current.scrollHeight);\n }, [traceLogs, logPanelRef, traceCount]);\n\n React.useEffect(() => {\n if (!roomUUID) return;\n\n const params = [\n 'app=ai-talk',\n 'popout=1',\n 'assistant=0', // Without assistant.\n `created=${new Date().toISOString()}`,\n `random=${Math.random().toString(16).slice(-8)}`,\n `room=${roomUUID}`,\n `roomToken=${roomToken}`,\n ];\n const url = `${window.PUBLIC_URL}/${Locale.current()}/routers-popout?${params.join('&')}`;\n setPopoutUrl(url);\n console.log(`Generated popout URL: ${url}`);\n }, [roomUUID, setPopoutUrl, roomToken]);\n\n const openPopout = React.useCallback((e) => {\n e.preventDefault();\n if (!popoutUrl) return;\n setShowSettings(false);\n window.open(popoutUrl, '_blank', 'noopener,noreferrer,width=1024,height=768');\n }, [popoutUrl, setShowSettings]);\n\n return (\n <div>\n <Card>\n <Card.Header>\n {t('lr.room.ait2')}\n <div role='button' className='ai-talk-settings-btn'>\n <Icon.Gear size={20} onClick={(e) => setShowSettings(!showSettings)} />\n </div>\n {showSettings && <div className='ai-talk-settings-menu'>\n <Dropdown.Menu show={true}>\n <Dropdown.Item href=\"#!\" onClick={openPopout}>{t('lr.room.popchat')}</Dropdown.Item>\n </Dropdown.Menu>\n </div>}\n </Card.Header>\n <Card.Body>\n <div className='ai-talk-msgs-pc' ref={logPanelRef}>\n {children}\n {traceLogs.map((log) => {\n return (\n <Alert key={log.id} variant={log.variant} className='ai-talk-msgs-card'>\n {log.role}: {log.msg}\n </Alert>\n );\n })}\n </div>\n </Card.Body>\n </Card>\n </div>\n );\n}\n\nfunction AITalkTraceLogMobile({traceLogs, traceCount}) {\n // Scroll the log panel.\n const logPanelRef = React.useRef(null);\n React.useEffect(() => {\n if (!logPanelRef?.current) return;\n console.log(`Logs scroll to end, height=${logPanelRef.current.scrollHeight}, logs=${traceLogs.length}, count=${traceCount}`);\n logPanelRef.current.scrollTo(0, logPanelRef.current.scrollHeight);\n }, [traceLogs, logPanelRef, traceCount]);\n\n return (\n <div className='ai-talk-msgs-dictation-mobile' ref={logPanelRef}>\n {traceLogs.map((log) => {\n return (\n <Alert key={log.id} variant={log.variant} className='ai-talk-msgs-card'>\n {log.role}: {log.msg}\n </Alert>\n );\n })}\n </div>\n );\n}\n\nfunction AITalkErrorLog({errorLogs, removeErrorLog}) {\n return (\n <React.Fragment>\n {errorLogs.map((log) => {\n return (\n <Alert key={log.id} onClose={() => removeErrorLog(log)} variant='danger' dismissible>\n <Alert.Heading>Error!</Alert.Heading>\n <p>{log.msg}</p>\n </Alert>\n );\n })}\n </React.Fragment>\n );\n}\n\nfunction AITalkTipLog({tipLogs, removeTipLog}) {\n return (\n <React.Fragment>\n {tipLogs.map((log) => {\n return (\n <Alert key={log.id} onClose={() => removeTipLog(log)} variant='success' dismissible>\n <Alert.Heading>{log.title}</Alert.Heading>\n <p>{log.msg}</p>\n </Alert>\n );\n })}\n </React.Fragment>\n );\n}\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from 'react';\nimport {useLocation, useSearchParams} from \"react-router-dom\";\nimport {useErrorHandler} from \"react-error-boundary\";\nimport {Spinner} from \"react-bootstrap\";\nimport Container from \"react-bootstrap/Container\";\nimport axios from \"axios\";\nimport {Locale, Token} from \"../utils\";\nimport {AITalkAssistantPanel, AITalkChatOnlyPanel} from \"../components/AITalk\";\nimport {useTranslation} from \"react-i18next\";\nimport resources from \"../resources/locale\";\nimport {AITalkDictationPanel} from \"../components/AIDictation\";\n\nexport default function Popouts() {\n const location = useLocation();\n const {i18n} = useTranslation();\n const [initialized, setInitialized] = React.useState(false);\n\n // Switch language for popout, because it does not use navigator, so there is no\n // LanguageSwitch to do this.\n React.useEffect(() => {\n if (!i18n || !location) return;\n\n const lang = location.pathname.split('/')[1];\n\n // Ignore if invalid language.\n if (!lang || !Object.keys(resources).includes(lang)) {\n return;\n }\n\n // Change to language in url.\n if (Locale.current() !== lang) {\n i18n.changeLanguage(lang);\n }\n\n setInitialized(true);\n }, [setInitialized, i18n, location]);\n\n return (\n <Container fluid>\n <p></p>\n {!initialized ?\n <>\n <Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner> \n Initializing...\n </> :\n <PopoutsImpl/>}\n </Container>\n );\n}\n\nfunction PopoutsImpl() {\n const handleError = useErrorHandler();\n const [searchParams] = useSearchParams();\n const [loading, setLoading] = React.useState(true);\n\n React.useEffect(() => {\n const app = searchParams.get('app');\n const roomToken = searchParams.get('roomToken');\n const popout = searchParams.get('popout');\n const room = searchParams.get('room');\n const assistant = searchParams.get('assistant');\n const username = searchParams.get('username');\n const userLanguage = searchParams.get('language');\n const aiPattern = searchParams.get('pattern');\n console.log(`?app=ai-talk, current=${app}, The popout application`);\n console.log(`?roomToken=xxx, current=${roomToken?.length}B, The popout token for each room`);\n console.log(`?popout=1, current=${popout}, Whether enable popout mode.`);\n if (app === 'ai-talk') {\n console.log(`?room=room-uuid, current=${room}, The room uuid for ai-talk.`);\n console.log(`?assistant=0, current=${assistant}, Whether popout the assistant, allow user to talk.`);\n if (assistant === '1') {\n console.log(`?username=xxx, current=${username}, The username of stream host.`);\n console.log(`?language=xxx, current=${userLanguage}, The language of user.`);\n console.log(`?pattern=chat|dictation, current=${aiPattern}, The work pattern of AI assistant.`);\n }\n }\n\n if (!app) throw new Error(`no app`);\n if (!roomToken) throw new Error(`no room token`);\n if (app === 'ai-talk' && !room) throw new Error(`no room id`);\n\n axios.post('/terraform/v1/ai-talk/stage/verify', {\n room: searchParams.get('room'), roomToken: searchParams.get('roomToken'),\n }, {\n headers: Token.loadBearerHeader(),\n }).then(res => {\n setLoading(false);\n console.log(`Verify room token ok`);\n }).catch(handleError);\n }, [handleError, searchParams, setLoading]);\n\n if (loading) {\n return <>\n <Spinner animation=\"border\" variant=\"primary\" size='sm'></Spinner> \n Loading...\n </>;\n }\n const app = searchParams.get('app');\n if (app === 'ai-talk') {\n const assistant = searchParams.get('assistant') === '1';\n const roomUUID = searchParams.get('room');\n const roomToken = searchParams.get('roomToken');\n const username = searchParams.get('username');\n const userLanguage = searchParams.get('language');\n const aiPattern = searchParams.get('pattern');\n if (assistant) {\n if (aiPattern === 'dictation') {\n return <AITalkDictationPanel {...{roomUUID, roomToken, username, userLanguage}}/>;\n }\n return <AITalkAssistantPanel {...{roomUUID, roomToken, username, userLanguage}}/>\n } else {\n return <AITalkChatOnlyPanel {...{roomUUID, roomToken}}/>;\n }\n } else {\n return <>Invalid app {app}</>;\n }\n}\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from 'react';\nimport axios from \"axios\";\nimport './App.css';\nimport './ai-talk.css';\nimport {Container} from \"react-bootstrap\";\nimport {\n BrowserRouter,\n Routes,\n Route,\n useParams,\n Outlet,\n useNavigate,\n useLocation,\n useSearchParams\n} from \"react-router-dom\";\nimport Footer from './pages/Footer';\nimport Login from './pages/Login';\nimport Logout from './pages/Logout';\nimport Navigator from './pages/Navigator';\nimport Setup from './pages/Setup';\nimport {Locale, Token} from \"./utils\";\nimport Components from \"./pages/Components\";\nimport Scenario from \"./pages/Scenario\";\nimport Settings from \"./pages/Settings\";\nimport Contact from \"./pages/Contact\";\nimport {ErrorBoundary, useErrorHandler} from 'react-error-boundary';\nimport {SrsErrorBoundary} from \"./components/SrsErrorBoundary\";\nimport resources from \"./resources/locale.json\";\nimport {SrsEnvContext} from \"./components/SrsEnvContext\";\nimport Popouts from \"./pages/Popouts\";\n\nfunction App() {\n const [env, setEnv] = React.useState(null);\n\n return (\n <SrsEnvContext.Provider value={[env, setEnv]}>\n <ErrorBoundary FallbackComponent={(RootError)}>\n <SrsErrorBoundary>\n <AppPreImpl/>\n </SrsErrorBoundary>\n </ErrorBoundary>\n </SrsEnvContext.Provider>\n );\n}\n\nfunction RootError({error}) {\n return <Container fluid>{error?.message}</Container>;\n}\n\nfunction AppPreImpl() {\n const [env, setEnv] = React.useContext(SrsEnvContext);\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n if (!setEnv) return;\n\n axios.post('/terraform/v1/mgmt/envs', {\n locale: Locale.current()\n }).then(res => {\n setEnv(res.data.data);\n console.log(`Env ok, ${JSON.stringify(res.data)}`);\n }).catch(handleError);\n }, [handleError, setEnv]);\n\n return <>{env && <AppImpl/>}</>;\n}\n\nfunction AppImpl() {\n const [loading, setLoading] = React.useState(true);\n // Possible value is 1: yes, -1: no, 0: undefined.\n const [initialized, setInitialized] = React.useState(0);\n const handleError = useErrorHandler();\n\n React.useEffect(() => {\n axios.get('/terraform/v1/mgmt/check').then(res => {\n console.log(`Check ok, ${JSON.stringify(res.data)}`);\n axios.get('/terraform/v1/mgmt/init').then(res => {\n setInitialized(res.data.data.init ? 1 : -1);\n }).catch(handleError);\n }).catch(handleError).finally(setLoading);\n }, [handleError]);\n\n return (\n <>\n {loading && <>\n <Container fluid>Loading...</Container>\n </>}\n {!loading && <>\n <BrowserRouter basename={window.PUBLIC_URL}>\n <AppRoute {...{initialized, setInitialized}} />\n </BrowserRouter>\n </>}\n </>\n );\n}\n\nfunction AppRoute({initialized, setInitialized}) {\n const [tokenUpdated, setTokenUpdated] = React.useState();\n const [token, setToken] = React.useState();\n const [searchParams] = useSearchParams();\n // Possible value is 1: yes, -1: no, 0: undefined.\n const [isPopout, setIsPopout] = React.useState(0);\n\n React.useEffect(() => {\n if (!searchParams) return;\n setIsPopout(searchParams.get('popout') === '1' ? 1 : -1);\n }, [searchParams]);\n\n React.useEffect(() => {\n setToken(Token.load());\n }, [tokenUpdated]);\n\n const onInit = React.useCallback((token) => {\n setInitialized(1);\n setTokenUpdated(true);\n }, [setInitialized, setTokenUpdated]);\n\n return (\n <>\n {isPopout === -1 && <Navigator {...{initialized, token}} />}\n <Routes>\n {initialized === 0 ?\n <React.Fragment>\n <Route path=\"*\" element={<React.Fragment/>}/>\n </React.Fragment> :\n <React.Fragment>\n <Route path=\"/\" element={<AppRoot/>}/>\n <Route path=':locale' element={<AppLocale/>}>\n {initialized === -1 && <>\n <Route path=\"*\" element={<Setup onInit={onInit}/>}/>\n <Route path=\"routers-setup\" element={<Setup onInit={onInit}/>}/>\n </>}\n {initialized === 1 && !token && <>\n <Route path=\"*\" element={<Login onLogin={() => setTokenUpdated(!tokenUpdated)}/>}/>\n </>}\n {initialized === 1 && token && <>\n <Route path=\"*\" element={<Login onLogin={() => setTokenUpdated(!tokenUpdated)}/>}/>\n <Route path=\"routers-login\" element={<Login onLogin={() => setTokenUpdated(!tokenUpdated)}/>}/>\n <Route path=\"routers-scenario\" element={<Scenario/>}/>\n <Route path=\"routers-settings\" element={<Settings/>}/>\n <Route path=\"routers-contact\" element={<Contact/>}/>\n <Route path=\"routers-components\" element={<Components/>}/>\n <Route path=\"routers-logout\" element={<Logout onLogout={() => setTokenUpdated(!tokenUpdated)}/>}/>\n </>}\n {initialized === 1 && <Route path=\"routers-popout\" element={<Popouts/>}/>}\n </Route>\n </React.Fragment>}\n </Routes>\n {isPopout === -1 && <Footer/> }\n </>\n );\n}\n\nfunction AppLocale() {\n const params = useParams();\n const navigate = useNavigate();\n const location = useLocation();\n\n // Prefix with default language.\n React.useEffect(() => {\n if (Object.keys(resources).includes(params.locale)) {\n return;\n }\n if (!Object.keys(resources).includes(Locale.current())) {\n return;\n }\n\n const to = {pathname: `/${Locale.current()}/${params.locale}`, search: location.search};\n console.log(`Jump to ${JSON.stringify(to)} by locale`);\n return navigate(to);\n }, [navigate, params, location]);\n\n return <Outlet/>;\n}\n\nfunction AppRoot() {\n const navigate = useNavigate();\n const location = useLocation();\n\n React.useEffect(() => {\n const to = {pathname: `/${Locale.current()}/routers-login`, search: location.search};\n console.log(`Jump to ${JSON.stringify(to)} by root`);\n navigate(to);\n }, [navigate, location]);\n\n return <></>;\n}\n\nexport default App;\n","//\n// Copyright (c) 2022-2023 Winlin\n//\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './index.css';\nimport './i18n';\nimport App from './App';\n\nReactDOM.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n document.getElementById('root')\n);\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m) return [str];\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n if (/\\$$/.test(m.pre)) { \n for (var k = 0; k < post.length; k++) {\n var expansion = pre+ '{' + m.body + '}' + post[k];\n expansions.push(expansion);\n }\n } else {\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = [];\n\n for (var j = 0; j < n.length; j++) {\n N.push.apply(N, expand(n[j], false));\n }\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n }\n\n return expansions;\n}\n\n","//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\n })\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction all() {\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n validators[_key] = arguments[_key];\n }\n\n function allPropTypes() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var error = null;\n\n validators.forEach(function (validator) {\n if (error != null) {\n return;\n }\n\n var result = validator.apply(undefined, args);\n if (result != null) {\n error = result;\n }\n });\n\n return error;\n }\n\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<<anonymous>>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n args[_key - 6] = arguments[_key];\n }\n\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(y(227));var ba=new Set,ca={};function da(a,b){ea(a,b);ea(a+\"Capture\",b)}\nfunction ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}\nvar fa=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ha=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ia=Object.prototype.hasOwnProperty,\nja={},ka={};function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha.test(a))return ka[a]=!0;ja[a]=!0;return!1}function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction na(a,b,c,d){if(null===b||\"undefined\"===typeof b||ma(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(na(b,c,e,d)&&(c=null),d||null===e?la(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar ra=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,sa=60103,ta=60106,ua=60107,wa=60108,xa=60114,ya=60109,za=60110,Aa=60112,Ba=60113,Ca=60120,Da=60115,Ea=60116,Fa=60121,Ga=60128,Ha=60129,Ia=60130,Ja=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var E=Symbol.for;sa=E(\"react.element\");ta=E(\"react.portal\");ua=E(\"react.fragment\");wa=E(\"react.strict_mode\");xa=E(\"react.profiler\");ya=E(\"react.provider\");za=E(\"react.context\");Aa=E(\"react.forward_ref\");Ba=E(\"react.suspense\");Ca=E(\"react.suspense_list\");Da=E(\"react.memo\");Ea=E(\"react.lazy\");Fa=E(\"react.block\");E(\"react.scope\");Ga=E(\"react.opaque.id\");Ha=E(\"react.debug_trace_mode\");Ia=E(\"react.offscreen\");Ja=E(\"react.legacy_hidden\")}\nvar Ka=\"function\"===typeof Symbol&&Symbol.iterator;function La(a){if(null===a||\"object\"!==typeof a)return null;a=Ka&&a[Ka]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ma;function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);Ma=b&&b[1]||\"\"}return\"\\n\"+Ma+a}var Oa=!1;\nfunction Pa(a,b){if(!a||Oa)return\"\";Oa=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();}catch(k){d=k}a()}}catch(k){if(k&&d&&\"string\"===typeof k.stack){for(var e=k.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(y(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(a,b,c,d,e){return a(b,c,d,e)}function Ib(){}var Jb=Gb,Kb=!1,Lb=!1;function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}\nfunction Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finally{Lb=!1,Mb()}}\nfunction Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(y(231,b,typeof c));return c}var Pb=!1;if(fa)try{var Qb={};Object.defineProperty(Qb,\"passive\",{get:function(){Pb=!0}});window.addEventListener(\"test\",Qb,Qb);window.removeEventListener(\"test\",Qb,Qb)}catch(a){Pb=!1}function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Sb=!1,Tb=null,Ub=!1,Vb=null,Wb={onError:function(a){Sb=!0;Tb=a}};function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}\nfunction Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){var l=Tb;Sb=!1;Tb=null}else throw Error(y(198));Ub||(Ub=!0,Vb=l)}}function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function $b(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function ac(a){if(Zb(a)!==a)throw Error(y(188));}\nfunction bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(y(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return ac(e),a;if(f===d)return ac(e),b;f=f.sibling}throw Error(y(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(y(189));}}if(c.alternate!==d)throw Error(y(190));}if(3!==c.tag)throw Error(y(188));return c.stateNode.current===c?a:b}function cc(a){a=bc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}var ec,fc,gc,hc,ic=!1,jc=[],kc=null,lc=null,mc=null,nc=new Map,oc=new Map,pc=[],qc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function sc(a,b){switch(a){case \"focusin\":case \"focusout\":kc=null;break;case \"dragenter\":case \"dragleave\":lc=null;break;case \"mouseover\":case \"mouseout\":mc=null;break;case \"pointerover\":case \"pointerout\":nc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":oc.delete(b.pointerId)}}\nfunction tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,d,e,f),null!==b&&(b=Cb(b),null!==b&&fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction uc(a,b,c,d,e){switch(b){case \"focusin\":return kc=tc(kc,a,b,c,d,e),!0;case \"dragenter\":return lc=tc(lc,a,b,c,d,e),!0;case \"mouseover\":return mc=tc(mc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;nc.set(f,tc(nc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,oc.set(f,tc(oc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)if(b=c.tag,13===b){if(b=$b(c),null!==b){a.blockedOn=b;hc(a.lanePriority,function(){r.unstable_runWithPriority(a.priority,function(){gc(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c)return b=Cb(c),null!==b&&fc(b),a.blockedOn=c,!1;b.shift()}return!0}function zc(a,b,c){xc(a)&&c.delete(b)}\nfunction Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn){a=Cb(a.blockedOn);null!==a&&ec(a);break}for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&jc.shift()}null!==kc&&xc(kc)&&(kc=null);null!==lc&&xc(lc)&&(lc=null);null!==mc&&xc(mc)&&(mc=null);nc.forEach(zc);oc.forEach(zc)}\nfunction Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ac)))}\nfunction Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);for(var c=1;c<jc.length;c++){var d=jc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==kc&&Bc(kc,a);null!==lc&&Bc(lc,a);null!==mc&&Bc(mc,a);nc.forEach(b);oc.forEach(b);for(c=0;c<pc.length;c++)d=pc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<pc.length&&(c=pc[0],null===c.blockedOn);)vc(c),null===c.blockedOn&&pc.shift()}\nfunction Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ec={animationend:Dc(\"Animation\",\"AnimationEnd\"),animationiteration:Dc(\"Animation\",\"AnimationIteration\"),animationstart:Dc(\"Animation\",\"AnimationStart\"),transitionend:Dc(\"Transition\",\"TransitionEnd\")},Fc={},Gc={};\nfa&&(Gc=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ec.animationend.animation,delete Ec.animationiteration.animation,delete Ec.animationstart.animation),\"TransitionEvent\"in window||delete Ec.transitionend.transition);function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Gc)return Fc[a]=b[c];return a}\nvar Ic=Hc(\"animationend\"),Jc=Hc(\"animationiteration\"),Kc=Hc(\"animationstart\"),Lc=Hc(\"transitionend\"),Mc=new Map,Nc=new Map,Oc=[\"abort\",\"abort\",Ic,\"animationEnd\",Jc,\"animationIteration\",Kc,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\n\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lc,\"transitionEnd\",\"waiting\",\"waiting\"];function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e=\"on\"+(e[0].toUpperCase()+e.slice(1));Nc.set(d,b);Mc.set(d,e);da(e,[d])}}var Qc=r.unstable_now;Qc();var F=8;\nfunction Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(y(358,a));}}\nfunction Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=Rc(k),e=F):(h&=f,0!==h&&(d=Rc(h),e=F))}else f=c&~g,0!==f?(d=Rc(f),e=F):0!==h&&(d=Rc(h),e=F);if(0===d)return 0;d=31-Vc(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){Rc(b);if(e<=F)return b;F=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Vc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=Yc(24&~b),0===a?Xc(10,b):a;case 10:return a=Yc(192&~b),0===a?Xc(8,b):a;case 8:return a=Yc(3584&~b),0===a&&(a=Yc(4186112&~b),0===a&&(a=512)),a;case 2:return b=Yc(805306368&~b),0===b&&(b=268435456),b}throw Error(y(358,a));}function Yc(a){return a&-a}function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.indexOf(a))a=rc(null,a,b,c,d),jc.push(a);else{var f=yc(a,b,c,d);if(null===f)e&&sc(a,d);else{if(e){if(-1<qc.indexOf(a)){a=rc(f,a,b,c,d);jc.push(a);return}if(uc(f,a,b,c,d))return;sc(a,d)}jd(a,b,d,null,c)}}}}\nfunction yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=$b(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==e&&(e=null)}}jd(a,b,d,e,c);return null}var kd=null,ld=null,md=null;\nfunction nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}m(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=m({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=m({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=m({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=m({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=m({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=m({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=m({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=m({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=m({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=m({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=m({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=m({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=fa&&\"CompositionEvent\"in window,be=null;fa&&\"documentMode\"in document&&(be=document.documentMode);var ce=fa&&\"TextEvent\"in window&&!be,de=fa&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(fa){var xe;if(fa){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));a=re;if(Kb)a(b);else{Kb=!0;try{Gb(a,b)}finally{Kb=!1,Mb()}}}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge,Ie=Object.prototype.hasOwnProperty;\nfunction Je(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Ie.call(b,c[d])||!He(a[c[d]],b[c[d]]))return!1;return!0}function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nPc(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),\n0);Pc(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);Pc(Oc,2);for(var Ve=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),We=0;We<Ve.length;We++)Nc.set(Ve[We],0);ea(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);\nea(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ea(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);ea(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);da(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));da(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));da(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);da(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nda(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));da(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Xe=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ye=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Xe));\nfunction Ze(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Yb(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}}}if(Ub)throw a=Vb,Ub=!1,Vb=null,a;}\nfunction G(a,b){var c=$e(b),d=a+\"__bubble\";c.has(d)||(af(b,a,2,!1),c.add(d))}var bf=\"_reactListening\"+Math.random().toString(36).slice(2);function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!1,a,null);df(b,!0,a,null)}))}\nfunction df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;\"selectionchange\"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Ye.has(a)){if(\"scroll\"!==a)return;e|=2;f=d}var g=$e(f),h=a+\"__\"+(b?\"capture\":\"bubble\");g.has(h)||(b&&(e|=4),af(f,a,e,b),g.add(h))}\nfunction af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;break;case 1:e=id;break;default:e=hd}c=e.bind(null,b,c,a);e=void 0;!Pb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Nb(function(){var d=f,e=xb(c),g=[];\na:{var h=Mc.get(a);if(void 0!==h){var k=td,x=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":x=\"focus\";k=Fd;break;case \"focusout\":x=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case Ic:case Jc:case Kc:k=Hd;break;case Lc:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var w=0!==(b&4),z=!w&&\"scroll\"===a,u=w?null!==h?h+\"Capture\":null:h;w=[];for(var t=d,q;null!==\nt;){q=t;var v=q.stateNode;5===q.tag&&null!==v&&(q=v,null!==u&&(v=Ob(t,u),null!=v&&w.push(ef(t,v,q))));if(z)break;t=t.return}0<w.length&&(h=new k(h,x,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&0===(b&16)&&(x=c.relatedTarget||c.fromElement)&&(wc(x)||x[ff]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(x=c.relatedTarget||c.toElement,k=d,x=x?wc(x):null,null!==\nx&&(z=Zb(x),x!==z||5!==x.tag&&6!==x.tag))x=null}else k=null,x=d;if(k!==x){w=Bd;v=\"onMouseLeave\";u=\"onMouseEnter\";t=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=Td,v=\"onPointerLeave\",u=\"onPointerEnter\",t=\"pointer\";z=null==k?h:ue(k);q=null==x?h:ue(x);h=new w(v,t+\"leave\",k,c,e);h.target=z;h.relatedTarget=q;v=null;wc(e)===d&&(w=new w(u,t+\"enter\",x,c,e),w.target=q,w.relatedTarget=z,v=w);z=v;if(k&&x)b:{w=k;u=x;t=0;for(q=w;q;q=gf(q))t++;q=0;for(v=u;v;v=gf(v))q++;for(;0<t-q;)w=gf(w),t--;for(;0<q-t;)u=\ngf(u),q--;for(;t--;){if(w===u||null!==u&&w===u.alternate)break b;w=gf(w);u=gf(u)}w=null}else w=null;null!==k&&hf(g,h,k,w,!1);null!==x&&null!==z&&hf(g,z,x,w,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var J=ve;else if(me(h))if(we)J=Fe;else{J=De;var K=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(J=Ee);if(J&&(J=J(a,d))){ne(g,J,c,e);break a}K&&K(a,h,d);\"focusout\"===a&&(K=h._wrapperState)&&\nK.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}K=d?ue(d):window;switch(a){case \"focusin\":if(me(K)||\"true\"===K.contentEditable)Qe=K,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var Q;if(ae)b:{switch(a){case \"compositionstart\":var L=\"onCompositionStart\";break b;case \"compositionend\":L=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":L=\"onCompositionUpdate\";break b}L=void 0}else ie?ge(a,c)&&(L=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(L=\"onCompositionStart\");L&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==L?\"onCompositionEnd\"===L&&ie&&(Q=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),K=oe(d,L),0<K.length&&(L=new Ld(L,a,null,c,e),g.push({event:L,listeners:K}),Q?L.data=Q:(Q=he(c),null!==Q&&(L.data=Q))));if(Q=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),0<d.length&&(e=new Ld(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=Q)}se(g,b)})}function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Ob(a,c),null!=f&&d.unshift(ef(a,f,e)),f=Ob(a,b),null!=f&&d.push(ef(a,f,e)));a=a.return}return d}function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Ob(c,f),null!=k&&g.unshift(ef(c,k,h))):e||(k=Ob(c,f),null!=k&&g.push(ef(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function jf(){}var kf=null,lf=null;function mf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction nf(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var of=\"function\"===typeof setTimeout?setTimeout:void 0,pf=\"function\"===typeof clearTimeout?clearTimeout:void 0;function qf(a){1===a.nodeType?a.textContent=\"\":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=\"\"))}\nfunction rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var tf=0;function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}var vf=Math.random().toString(36).slice(2),wf=\"__reactFiber$\"+vf,xf=\"__reactProps$\"+vf,ff=\"__reactContainer$\"+vf,yf=\"__reactEvents$\"+vf;\nfunction wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b=c[ff]||c[wf]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=sf(a);null!==a;){if(c=a[wf])return c;a=sf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(33));}function Db(a){return a[xf]||null}\nfunction $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}var zf=[],Af=-1;function Bf(a){return{current:a}}function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});ag=null}catch(c){throw null!==ag&&(ag=ag.slice(a+1)),Of(Uf,ig),c;}finally{cg=!1}}}var kg=ra.ReactCurrentBatchConfig;function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var mg=Bf(null),ng=null,og=null,pg=null;function qg(){pg=og=ng=null}\nfunction rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ug=!0),a.firstContext=null)}\nfunction vg(a,b){if(pg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)pg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===og){if(null===ng)throw Error(y(308));og=b;ng.dependencies={lanes:0,firstContext:b,responders:null}}else og=og.next=b}return a._currentValue}var wg=!1;function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}\nfunction yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;if(null!==n){n=n.updateQueue;var A=n.lastBaseUpdate;A!==g&&(null===A?n.firstBaseUpdate=l:A.next=l,n.lastBaseUpdate=k)}}if(null!==f){A=e.baseState;g=0;n=l=k=null;do{h=f.lane;var p=f.eventTime;if((d&h)===h){null!==n&&(n=n.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,\nnext:null});a:{var C=a,x=f;h=b;p=c;switch(x.tag){case 1:C=x.payload;if(\"function\"===typeof C){A=C.call(p,A,h);break a}A=C;break a;case 3:C.flags=C.flags&-4097|64;case 0:C=x.payload;h=\"function\"===typeof C?C.call(p,A,h):C;if(null===h||void 0===h)break a;A=m({},A,h);break a;case 2:wg=!0}}null!==f.callback&&(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else p={eventTime:p,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===n?(l=n=p,k=A):n=n.next=p,g|=h;f=f.next;if(null===\nf)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===n&&(k=A);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;Dg|=g;a.lanes=g;a.memoizedState=A}}function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(y(191,e));e.call(d)}}}var Fg=(new aa.Component).refs;\nfunction Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Kg={isMounted:function(a){return(a=a._reactInternals)?Zb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=Hg(),d=Ig(a),e=zg(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=\nb);Ag(a,e);Jg(a,d,c)}};function Lg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Je(c,d)||!Je(e,f):!0}\nfunction Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=vg(f):(e=Ff(b)?Df:M.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Kg;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Ng(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Kg.enqueueReplaceState(b,b.state,null)}\nfunction Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Fg;xg(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=vg(f):(f=Ff(b)?Df:M.current,e.context=Ef(a,f));Cg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Gg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Kg.enqueueReplaceState(e,e.state,null),Cg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4)}var Pg=Array.isArray;\nfunction Qg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(y(309));var d=c.stateNode}if(!d)throw Error(y(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Fg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(y(284));if(!c._owner)throw Error(y(290,a));}return a}\nfunction Rg(a,b){if(\"textarea\"!==a.type)throw Error(y(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b));}\nfunction Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Tg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=2,\nc):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Ug(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Qg(a,b,c),d.return=a,d;d=Vg(c.type,c.key,c.props,null,a.mode,d);d.ref=Qg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nWg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Xg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function A(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Ug(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case sa:return c=Vg(b.type,b.key,b.props,null,a.mode,c),c.ref=Qg(a,null,b),c.return=a,c;case ta:return b=Wg(b,a.mode,c),b.return=a,b}if(Pg(b)||La(b))return b=Xg(b,\na.mode,c,null),b.return=a,b;Rg(a,b)}return null}function p(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case sa:return c.key===e?c.type===ua?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case ta:return c.key===e?l(a,b,c,d):null}if(Pg(c)||La(c))return null!==e?null:n(a,b,c,d,null);Rg(a,c)}return null}function C(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||\nnull,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case sa:return a=a.get(null===d.key?c:d.key)||null,d.type===ua?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case ta:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Pg(d)||La(d))return a=a.get(c)||null,n(b,a,d,e,null);Rg(b,d)}return null}function x(e,g,h,k){for(var l=null,t=null,u=g,z=g=0,q=null;null!==u&&z<h.length;z++){u.index>z?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;z<h.length;z++)u=A(e,h[z],k),null!==u&&(g=f(u,g,z),null===t?l=u:t.sibling=u,t=u);return l}for(u=d(e,u);z<h.length;z++)q=C(u,e,z,h[z],k),null!==q&&(a&&null!==q.alternate&&u.delete(null===q.key?z:q.key),g=f(q,g,z),null===t?l=q:t.sibling=q,t=q);a&&u.forEach(function(a){return b(e,a)});return l}function w(e,g,h,k){var l=La(h);if(\"function\"!==typeof l)throw Error(y(150));h=l.call(h);if(null==\nh)throw Error(y(151));for(var t=l=null,u=g,z=g=0,q=null,n=h.next();null!==u&&!n.done;z++,n=h.next()){u.index>z?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPrimary=null;th.length=0}var vh=ra.ReactCurrentDispatcher,wh=ra.ReactCurrentBatchConfig,xh=0,R=null,S=null,T=null,yh=!1,zh=!1;function Ah(){throw Error(y(321));}function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;vh.current=null===a||null===a.memoizedState?Dh:Eh;a=c(d,e);if(zh){f=0;do{zh=!1;if(!(25>f))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0<h;){var k=31-Vc(h),v=1<<k;d[k]|=a;h&=~v}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=p.getSnapshot,c=p.setSnapshot;try{c(a(b._source));var d=Ig(w);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);He(C,c)&&He(x,b)&&He(A,d)||(a={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:n},a.dispatch=l=Oh.bind(null,R,a),k.queue=a,k.baseQueue=null,n=Mh(e,b,c),k.memoizedState=k.baseState=n);return n}\nfunction Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}function Qh(a){var b=Hh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:a};a=a.dispatch=Oh.bind(null,R,a);return[b.memoizedState,a]}\nfunction Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.updateQueue;null===b?(b={lastEffect:null},R.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}function Th(){return Ih().memoizedState}function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void 0,void 0===d?null:d)}\nfunction Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null!==S){var g=S.memoizedState;f=g.destroy;if(null!==d&&Bh(d,g.deps)){Rh(b,c,f,d);return}}R.flags|=a;e.memoizedState=Rh(1|b,c,f,d)}function Wh(a,b){return Uh(516,4,a,b)}function Xh(a,b){return Vh(516,4,a,b)}function Yh(a,b){return Vh(4,2,a,b)}function Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}\nfunction $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,2,Zh.bind(null,b,a),c)}function ai(){}function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}\nfunction di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c,function(){var c=wh.transition;wh.transition=1;try{a(!1),b()}finally{wh.transition=c}})}\nfunction Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);b.pending=f;g=a.alternate;if(a===R||null!==g&&g===R)zh=yh=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(He(k,h))return}catch(l){}finally{}Jg(a,e,d)}}\nvar Gh={readContext:vg,useCallback:Ah,useContext:Ah,useEffect:Ah,useImperativeHandle:Ah,useLayoutEffect:Ah,useMemo:Ah,useReducer:Ah,useRef:Ah,useState:Ah,useDebugValue:Ah,useDeferredValue:Ah,useTransition:Ah,useMutableSource:Ah,useOpaqueIdentifier:Ah,unstable_isNewReconciler:!1},Dh={readContext:vg,useCallback:function(a,b){Hh().memoizedState=[a,void 0===b?null:b];return a},useContext:vg,useEffect:Wh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Uh(4,2,Zh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return Uh(4,2,a,b)},useMemo:function(a,b){var c=Hh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Hh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Oh.bind(null,R,a);return[d.memoizedState,a]},useRef:Sh,useState:Qh,useDebugValue:ai,useDeferredValue:function(a){var b=Qh(a),c=b[0],d=b[1];Wh(function(){var b=wh.transition;\nwh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Qh(!1),b=a[0];a=di.bind(null,a[1]);Sh(a);return[a,b]},useMutableSource:function(a,b,c){var d=Hh();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return Nh(d,a,b,c)},useOpaqueIdentifier:function(){if(lh){var a=!1,b=uf(function(){a||(a=!0,c(\"r:\"+(tf++).toString(36)));throw Error(y(355));}),c=Qh(b)[1];0===(R.mode&2)&&(R.flags|=516,Rh(5,function(){c(\"r:\"+(tf++).toString(36))},\nvoid 0,null));return b}b=\"r:\"+(tf++).toString(36);Qh(b);return b},unstable_isNewReconciler:!1},Eh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Kh,useRef:Th,useState:function(){return Kh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Kh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Kh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Kh(Jh)[0]},unstable_isNewReconciler:!1},Fh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Lh,useRef:Th,useState:function(){return Lh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Lh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Lh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Lh(Jh)[0]},unstable_isNewReconciler:!1},ei=ra.ReactCurrentOwner,ug=!1;function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,d,e);return b.child}\nfunction ii(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!ji(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ki(a,b,g,d,e,f);a=Vg(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Je,c(e,d)&&a.ref===b.ref))return hi(a,b,f);b.flags|=1;a=Tg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.ref)if(ug=!1,0!==(f&e))0!==(a.flags&16384)&&(ug=!0);else return b.lanes=a.lanes,hi(a,b,f);return li(a,b,c,d,f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode||\"unstable-defer-without-hiding\"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},ni(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},ni(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a},ni(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,ni(b,d);fi(a,b,e,c);return b.child}\nfunction oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,c,e);return b.child}\nfunction pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Mg(b,c,d),Og(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=vg(l):(l=Ff(c)?Df:M.current,l=Ef(b,l));var n=c.getDerivedStateFromProps,A=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;A||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ng(b,g,d,l);wg=!1;var p=b.memoizedState;g.state=p;Cg(b,d,g,e);k=b.memoizedState;h!==d||p!==k||N.current||wg?(\"function\"===typeof n&&(Gg(b,c,n,d),k=b.memoizedState),(h=wg||Lg(b,c,h,d,p,k,l))?(A||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:lg(b.type,h);g.props=l;A=b.pendingProps;p=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=vg(k):(k=Ff(c)?Df:M.current,k=Ef(b,k));var C=c.getDerivedStateFromProps;(n=\"function\"===typeof C||\n\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==A||p!==k)&&Ng(b,g,d,k);wg=!1;p=b.memoizedState;g.state=p;Cg(b,d,g,e);var x=b.memoizedState;h!==A||p!==x||N.current||wg?(\"function\"===typeof C&&(Gg(b,c,C,d),x=b.memoizedState),(l=wg||Lg(b,c,l,d,p,x,k))?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),d=!1)}return qi(a,b,c,d,f,e)}\nfunction qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Kf(b,c,!1),hi(a,b,f);d=b.stateNode;ei.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Yg(b,a.child,null,f),b.child=Yg(b,null,h,f)):fi(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);eh(a,b.containerInfo)}\nvar si={dehydrated:null,retryLane:0};\nfunction ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);I(P,e&1);if(null===a){void 0!==d.fallback&&ph(b);a=d.children;e=d.fallback;if(f)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=si,a;if(\"number\"===typeof d.unstable_expectedLoadTime)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},\nb.memoizedState=si,b.lanes=33554432,a;c=vi({mode:\"visible\",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:\n{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:\"hidden\",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=vi(b,e,0,null);c=Xg(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}\nfunction xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:\"visible\",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}\nfunction wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:\"hidden\",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Tg(g,h);null!==a?d=Tg(a,d):(d=Xg(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(a.return,b)}\nfunction zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}\nfunction Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,d.children,c);d=P.current;if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&yi(a,c);else if(19===a.tag)yi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(P,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ih(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);zi(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ih(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}zi(b,!0,c,null,f,b.lastEffect);break;case \"together\":zi(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes;if(0!==(c&b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(y(153));if(null!==b.child){a=b.child;c=Tg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Tg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}var Bi,Ci,Di,Ei;\nBi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ci=function(){};\nDi=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;dh(ah.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"option\":e=eb(a,e);d=eb(a,d);f=[];break;case \"select\":e=m({},e,{value:void 0});d=m({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=jf)}vb(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===\nl){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ca.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||\n(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ca.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&G(\"scroll\",a),f||h===k||(f=[])):\"object\"===typeof k&&null!==k&&k.$$typeof===Ga?k.toString():(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",\nc);var l=f;if(b.updateQueue=l)b.flags|=4}};Ei=function(a,b,c,d){c!==d&&(b.flags|=4)};function Fi(a,b){if(!lh)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return Ff(b.type)&&Gf(),null;case 3:fh();H(N);H(M);uh();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)rh(b)?b.flags|=4:d.hydrate||(b.flags|=256);Ci(b);return null;case 5:hh(b);var e=dh(ch.current);c=b.type;if(null!==a&&null!=b.stateNode)Di(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===\nb.stateNode)throw Error(y(166));return null}a=dh(ah.current);if(rh(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[wf]=b;d[xf]=f;switch(c){case \"dialog\":G(\"cancel\",d);G(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<Xe.length;a++)G(Xe[a],d);break;case \"source\":G(\"error\",d);break;case \"img\":case \"image\":case \"link\":G(\"error\",d);G(\"load\",d);break;case \"details\":G(\"toggle\",d);break;case \"input\":Za(d,f);G(\"invalid\",d);break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};G(\"invalid\",d);break;case \"textarea\":hb(d,f),G(\"invalid\",d)}vb(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],\"children\"===g?\"string\"===typeof e?d.textContent!==e&&(a=[\"children\",e]):\"number\"===typeof e&&d.textContent!==\"\"+e&&(a=[\"children\",\"\"+e]):ca.hasOwnProperty(g)&&null!=e&&\"onScroll\"===g&&G(\"scroll\",d));switch(c){case \"input\":Va(d);cb(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=\njf)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;a===kb.html&&(a=lb(c));a===kb.html?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<Xe.length;e++)G(Xe[e],a);e=d;break;case \"source\":G(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":G(\"error\",a);G(\"load\",a);e=d;break;case \"details\":G(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);G(\"invalid\",a);break;case \"option\":e=eb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=m({},d,{value:void 0});G(\"invalid\",a);break;case \"textarea\":hb(a,d);e=\ngb(a,d);G(\"invalid\",a);break;default:e=d}vb(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?tb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&ob(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==c||\"\"!==k)&&pb(a,k):\"number\"===typeof k&&pb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ca.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&G(\"scroll\",a):null!=k&&qa(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);\nbreak;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=jf)}mf(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=128)}return null;case 6:if(a&&null!=b.stateNode)Ei(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(y(166));\nc=dh(ch.current);dh(ah.current);rh(b)?(d=b.stateNode,c=b.memoizedProps,d[wf]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[wf]=b,b.stateNode=d)}return null;case 13:H(P);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&rh(b):c=null!==a.memoizedState;if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&1))0===V&&(V=3);else{if(0===V||3===V)V=\n4;null===U||0===(Dg&134217727)&&0===(Hi&134217727)||Ii(U,W)}if(d||c)b.flags|=4;return null;case 4:return fh(),Ci(b),null===a&&cf(b.stateNode.containerInfo),null;case 10:return rg(b),null;case 17:return Ff(b.type)&&Gf(),null;case 19:H(P);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)Fi(d,!1);else{if(0!==V||null!==a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=ih(a);if(null!==g){b.flags|=64;Fi(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);\nnull===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,\nf.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;I(P,P.current&1|2);return b.child}a=a.sibling}null!==d.tail&&O()>Ji&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;e<f.length;e+=\n2){var g=f[e],h=f[e+1];\"style\"===g?tb(c,h):\"dangerouslySetInnerHTML\"===g?ob(c,h):\"children\"===g?pb(c,h):qa(c,g,h,b)}switch(a){case \"input\":ab(c,d);break;case \"textarea\":ib(c,d);break;case \"select\":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?fb(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?fb(c,!!d.multiple,d.defaultValue,!0):fb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(y(162));b.stateNode.nodeValue=\nb.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,Cc(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(jj=O(),aj(b.child,!0));kj(b);return;case 19:kj(b);return;case 17:return;case 23:case 24:aj(b,null!==b.memoizedState);return}throw Error(y(163));}function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ui);b.forEach(function(b){var d=lj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var nj=Math.ceil,oj=ra.ReactCurrentDispatcher,pj=ra.ReactCurrentOwner,X=0,U=null,Y=null,W=0,qj=0,rj=Bf(0),V=0,sj=null,tj=0,Dg=0,Hi=0,uj=0,vj=null,jj=0,Ji=Infinity;function wj(){Ji=O()+500}var Z=null,Qi=!1,Ri=null,Ti=null,xj=!1,yj=null,zj=90,Aj=[],Bj=[],Cj=null,Dj=0,Ej=null,Fj=-1,Gj=0,Hj=0,Ij=null,Jj=!1;function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}\nfunction Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===eg()?1:2;0===Gj&&(Gj=tj);if(0!==kg.transition){0!==Hj&&(Hj=null!==vj?vj.pendingLanes:0);a=Gj;var b=4186112&~Hj;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=eg();0!==(X&4)&&98===a?a=Xc(12,Gj):(a=Sc(a),a=Xc(a,Gj));return a}\nfunction Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);if(null===a)return null;$c(a,b,c);a===U&&(Hi|=b,4===V&&Ii(a,W));var d=eg();1===b?0!==(X&8)&&0===(X&48)?Lj(a):(Mj(a,c),0===X&&(wj(),ig())):(0===(X&4)||98!==d&&99!==d||(null===Cj?Cj=new Set([a]):Cj.add(a)),Mj(a,c));vj=a}function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}\nfunction Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Vc(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;Rc(k);var n=F;f[h]=10<=n?l+250:6<=n?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Uc(a,a===U?W:0);b=F;if(0===d)null!==c&&(c!==Zf&&Pf(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==Zf&&Pf(c)}15===b?(c=Lj.bind(null,a),null===ag?(ag=[c],bg=Of(Uf,jg)):ag.push(c),\nc=Zf):14===b?c=hg(99,Lj.bind(null,a)):(c=Tc(b),c=hg(c,Nj.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}\nfunction Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.callbackNode;if(Oj()&&a.callbackNode!==b)return null;var c=Uc(a,a===U?W:0);if(0===c)return null;var d=c;var e=X;X|=16;var f=Pj();if(U!==a||W!==d)wj(),Qj(a,d);do try{Rj();break}catch(h){Sj(a,h)}while(1);qg();oj.current=f;X=e;null!==Y?d=0:(U=null,W=0,d=V);if(0!==(tj&Hi))Qj(a,0);else if(0!==d){2===d&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),c=Wc(a),0!==c&&(d=Tj(a,c)));if(1===d)throw b=sj,Qj(a,0),Ii(a,c),Mj(a,O()),b;a.finishedWork=\na.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(y(345));case 2:Uj(a);break;case 3:Ii(a,c);if((c&62914560)===c&&(d=jj+500-O(),10<d)){if(0!==Uc(a,0))break;e=a.suspendedLanes;if((e&c)!==c){Hg();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=of(Uj.bind(null,a),d);break}Uj(a);break;case 4:Ii(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=31-Vc(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10<c){a.timeoutHandle=of(Uj.bind(null,a),c);break}Uj(a);break;case 5:Uj(a);break;default:throw Error(y(329));}}Mj(a,O());return a.callbackNode===b?Nj.bind(null,a):null}function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Vc(b),d=1<<c;a[c]=-1;b&=~d}}\nfunction Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.expiredLanes&W)){var b=W;var c=Tj(a,b);0!==(tj&Hi)&&(b=Uc(a,b),c=Tj(a,b))}else b=Uc(a,0),c=Tj(a,b);0!==a.tag&&2===c&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),b=Wc(a),0!==b&&(c=Tj(a,b)));if(1===c)throw c=sj,Qj(a,0),Ii(a,b),Mj(a,O()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;Uj(a);Mj(a,O());return null}\nfunction Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;Mj(a,O())})}ig()}function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function ni(a,b){I(rj,qj);qj|=b;tj|=b}function Ki(){qj=rj.current;H(rj)}\nfunction Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,pf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Gf();break;case 3:fh();H(N);H(M);uh();break;case 5:hh(d);break;case 4:fh();break;case 13:H(P);break;case 19:H(P);break;case 10:rg(d);break;case 23:case 24:Ki()}c=c.return}U=a;Y=Tg(a.current,null);W=qj=tj=b;V=0;sj=null;uj=Hi=Dg=0}\nfunction Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}yh=!1}xh=0;T=S=R=null;zh=!1;pj.current=null;if(null===c||null===c.return){V=1;sj=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=W;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k;if(0===(h.mode&2)){var n=h.alternate;n?(h.updateQueue=n.updateQueue,h.memoizedState=n.memoizedState,h.lanes=n.lanes):\n(h.updateQueue=null,h.memoizedState=null)}var A=0!==(P.current&1),p=g;do{var C;if(C=13===p.tag){var x=p.memoizedState;if(null!==x)C=null!==x.dehydrated?!0:!1;else{var w=p.memoizedProps;C=void 0===w.fallback?!1:!0!==w.unstable_avoidThisFallback?!0:A?!1:!0}}if(C){var z=p.updateQueue;if(null===z){var u=new Set;u.add(l);p.updateQueue=u}else z.add(l);if(0===(p.mode&2)){p.flags|=64;h.flags|=16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var t=zg(-1,1);t.tag=2;Ag(h,t)}h.lanes|=1;break a}k=\nvoid 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Oi,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var v=Yj.bind(null,f,l,h);l.then(v,v)}p.flags|=4096;p.lanes=b;break a}p=p.return}while(null!==p);k=Error((Ra(h.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==\na.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=Li(b);if(null!==c){c.flags&=2047;Y=c;return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===V&&(V=5)}function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}\nfunction dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(y(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Vc(f),l=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~l}null!==\nCj&&0===(d&24)&&Cj.has(a)&&Cj.delete(a);a===U&&(Y=U=null,W=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=X;X|=32;pj.current=null;kf=fd;g=Ne();if(Oe(g)){if(\"selectionStart\"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=(h=g.ownerDocument)&&h.defaultView||window,(l=h.getSelection&&h.getSelection())&&0!==l.rangeCount){h=l.anchorNode;f=l.anchorOffset;k=l.focusNode;l=l.focusOffset;try{h.nodeType,k.nodeType}catch(va){h=null;\nbreak a}var n=0,A=-1,p=-1,C=0,x=0,w=g,z=null;b:for(;;){for(var u;;){w!==h||0!==f&&3!==w.nodeType||(A=n+f);w!==k||0!==l&&3!==w.nodeType||(p=n+l);3===w.nodeType&&(n+=w.nodeValue.length);if(null===(u=w.firstChild))break;z=w;w=u}for(;;){if(w===g)break b;z===h&&++C===f&&(A=n);z===k&&++x===l&&(p=n);if(null!==(u=w.nextSibling))break;w=z;z=w.parentNode}w=u}h=-1===A||-1===p?null:{start:A,end:p}}else h=null;h=h||{start:0,end:0}}else h=null;lf={focusedElem:g,selectionRange:h};fd=!1;Ij=null;Jj=!1;Z=d;do try{ek()}catch(va){if(null===\nZ)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Ij=null;Z=d;do try{for(g=a;null!==Z;){var t=Z.flags;t&16&&pb(Z.stateNode,\"\");if(t&128){var q=Z.alternate;if(null!==q){var v=q.ref;null!==v&&(\"function\"===typeof v?v(null):v.current=null)}}switch(t&1038){case 2:fj(Z);Z.flags&=-3;break;case 6:fj(Z);Z.flags&=-3;ij(Z.alternate,Z);break;case 1024:Z.flags&=-1025;break;case 1028:Z.flags&=-1025;ij(Z.alternate,Z);break;case 4:ij(Z.alternate,Z);break;case 8:h=Z;cj(g,h);var J=h.alternate;dj(h);null!==\nJ&&dj(J)}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);v=lf;q=Ne();t=v.focusedElem;g=v.selectionRange;if(q!==t&&t&&t.ownerDocument&&Me(t.ownerDocument.documentElement,t)){null!==g&&Oe(t)&&(q=g.start,v=g.end,void 0===v&&(v=q),\"selectionStart\"in t?(t.selectionStart=q,t.selectionEnd=Math.min(v,t.value.length)):(v=(q=t.ownerDocument||document)&&q.defaultView||window,v.getSelection&&(v=v.getSelection(),h=t.textContent.length,J=Math.min(g.start,h),g=void 0===\ng.end?J:Math.min(g.end,h),!v.extend&&J>g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;t<q.length;t++)v=q[t],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}fd=!!kf;lf=kf=null;a.current=c;Z=d;do try{for(t=a;null!==Z;){var K=Z.flags;K&36&&Yi(t,Z.alternate,Z);if(K&128){q=void 0;var Q=Z.ref;if(null!==Q){var L=Z.stateNode;switch(Z.tag){case 5:q=L;break;default:q=L}\"function\"===typeof Q?Q(q):Q.current=q}}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Z=null;$f();X=e}else a.current=c;if(xj)xj=!1,yj=a,zj=b;else for(Z=d;null!==Z;)b=\nZ.nextEffect,Z.nextEffect=null,Z.flags&8&&(K=Z,K.sibling=null,K.stateNode=null),Z=b;d=a.pendingLanes;0===d&&(Ti=null);1===d?a===Ej?Dj++:(Dj=0,Ej=a):Dj=0;c=c.stateNode;if(Mf&&\"function\"===typeof Mf.onCommitFiberRoot)try{Mf.onCommitFiberRoot(Lf,c,void 0,64===(c.current.flags&64))}catch(va){}Mj(a,O());if(Qi)throw Qi=!1,a=Ri,Ri=null,a;if(0!==(X&8))return null;ig();return null}\nfunction ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.flags&8)?dc(Z,Ij)&&(Jj=!0):13===Z.tag&&mj(a,Z)&&dc(Z,Ij)&&(Jj=!0));var b=Z.flags;0!==(b&256)&&Xi(a,Z);0===(b&512)||xj||(xj=!0,hg(97,function(){Oj();return null}));Z=Z.nextEffect}}function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}\nfunction fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw Error(y(331));var b=X;X|=32;var c=Bj;Bj=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if(\"function\"===typeof g)try{g()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}c=Aj;Aj=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,h.nextEffect=null,h.flags&8&&(h.sibling=\nnull,h.stateNode=null),h=a;X=b;ig();return!0}function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!==a&&($c(a,1,b),Mj(a,b))}\nfunction Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){gk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d))){a=Mi(b,a);var e=Si(c,a,1);Ag(c,e);e=Hg();c=Kj(c,1);if(null!==c)$c(c,1,e),Mj(c,e);else if(\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}\nfunction Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.pingedLanes|=a.suspendedLanes&c;U===a&&(W&c)===c&&(4===V||3===V&&(W&62914560)===W&&500>O()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],th.push(f);c=Zg(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else fi(a,b,d,c),sh();b=b.child}return b;case 5:return gh(b),null===a&&\nph(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,nf(d,e)?g=null:null!==f&&nf(d,f)&&(b.flags|=16),oi(a,b),fi(a,b,g,c),b.child;case 6:return null===a&&ph(b),null;case 13:return ti(a,b,c);case 4:return eh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Yg(b,null,d,c):fi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),gi(a,b,d,e,c);case 7:return fi(a,b,b.pendingProps,c),b.child;case 8:return fi(a,b,b.pendingProps.children,\nc),b.child;case 12:return fi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(mg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=He(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!N.current){b=hi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=\nk.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=zg(-1,c&-c),l.tag=2,Ag(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);sg(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}fi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,tg(b,c),e=vg(e,\nf.unstable_observedBits),d=d(e),b.flags|=1,fi(a,b,d,c),b.child;case 14:return e=b.type,f=lg(e,b.pendingProps),f=lg(e.type,f),ii(a,b,e,f,d,c);case 15:return ki(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Ff(d)?(a=!0,Jf(b)):a=!1,tg(b,c),Mg(b,d,e),Og(b,d,e,c),qi(null,b,d,!0,a,c);case 19:return Ai(a,b,c);case 23:return mi(a,b,c);case 24:return mi(a,b,c)}throw Error(y(156,b.tag));\n};function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function nh(a,b,c,d){return new ik(a,b,c,d)}function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction hk(a){if(\"function\"===typeof a)return ji(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Aa)return 11;if(a===Da)return 14}return 2}\nfunction Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Vg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ji(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ua:return Xg(c.children,e,f,b);case Ha:g=8;e|=16;break;case wa:g=8;e|=1;break;case xa:return a=nh(12,c,b,e|8),a.elementType=xa,a.type=xa,a.lanes=f,a;case Ba:return a=nh(13,c,b,e),a.type=Ba,a.elementType=Ba,a.lanes=f,a;case Ca:return a=nh(19,c,b,e),a.elementType=Ca,a.lanes=f,a;case Ia:return vi(c,e,f,b);case Ja:return a=nh(24,c,b,e),a.elementType=Ja,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ya:g=10;break a;case za:g=9;break a;case Aa:g=11;break a;case Da:g=14;break a;case Ea:g=16;d=null;break a;case Fa:g=22;break a}throw Error(y(130,null==a?a:typeof a,\"\"));}b=nh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}\nfunction Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=Zc(0);this.expirationTimes=Zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Zc(0);this.mutableSourceEagerHydrationData=null}\nfunction kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ta,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactInternals;b:{if(Zb(c)!==c||1!==c.tag)throw Error(y(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(Ff(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(y(171));}if(1===c.tag){var k=c.type;if(Ff(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=zg(f,g);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);Ag(e,b);Jg(e,g,f);return g}function mk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}function pk(){return null}\nfunction qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new jk(a,b,null!=c&&!0===c.hydrate);b=nh(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;xg(b);a[ff]=c.current;cf(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}\nqk.prototype.render=function(a){lk(a,this._internalRoot,null,null)};qk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;lk(null,a,null,function(){b[ff]=null})};function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qk(a,0,b?{hydrate:!0}:void 0)}\nfunction tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=mk(g);h.call(a)}}lk(b,g,a,e)}else{f=c._reactRootContainer=sk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=mk(g);k.call(a)}}Xj(function(){lk(b,g,a,e)})}return mk(g)}ec=function(a){if(13===a.tag){var b=Hg();Jg(a,4,b);ok(a,4)}};fc=function(a){if(13===a.tag){var b=Hg();Jg(a,67108864,b);ok(a,67108864)}};\ngc=function(a){if(13===a.tag){var b=Hg(),c=Ig(a);Jg(a,c,b);ok(a,c)}};hc=function(a,b){return b()};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(y(90));Wa(d);ab(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Wj;\nHb=function(a,b,c,d,e){var f=X;X|=4;try{return gg(98,a.bind(null,b,c,d,e))}finally{X=f,0===X&&(wj(),ig())}};Ib=function(){0===(X&49)&&(Vj(),Oj())};Jb=function(a,b){var c=X;X|=2;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}};function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rk(b))throw Error(y(200));return kk(a,b,null,c)}var vk={Events:[Cb,ue,Db,Eb,Fb,Oj,{current:!1}]},wk={findFiberByHostInstance:wc,bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-dom\"};\nvar xk={bundleType:wk.bundleType,version:wk.version,rendererPackageName:wk.rendererPackageName,rendererConfig:wk.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ra.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=cc(a);return null===a?null:a.stateNode},findFiberByHostInstance:wk.findFiberByHostInstance||\npk,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var yk=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yk.isDisabled&&yk.supportsFiber)try{Lf=yk.inject(xk),Mf=yk}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;exports.createPortal=uk;\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(y(188));throw Error(y(268,Object.keys(a)));}a=cc(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a,b){var c=X;if(0!==(c&48))return a(b);X|=1;try{if(a)return gg(99,a.bind(null,b))}finally{X=c,ig()}};exports.hydrate=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!0,c)};\nexports.render=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!rk(a))throw Error(y(40));return a._reactRootContainer?(Xj(function(){tk(null,null,a,!1,function(){a._reactRootContainer=null;a[ff]=null})}),!0):!1};exports.unstable_batchedUpdates=Wj;exports.unstable_createPortal=function(a,b){return uk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!rk(c))throw Error(y(200));if(null==a||void 0===a._reactInternals)throw Error(y(38));return tk(a,b,c,!1,d)};exports.version=\"17.0.2\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import * as React from 'react'\n\nconst changedArray = (a: Array<unknown> = [], b: Array<unknown> = []) =>\n a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]))\n\ninterface FallbackProps {\n error: Error\n resetErrorBoundary: (...args: Array<unknown>) => void\n}\n\ninterface ErrorBoundaryPropsWithComponent {\n onResetKeysChange?: (\n prevResetKeys: Array<unknown> | undefined,\n resetKeys: Array<unknown> | undefined,\n ) => void\n onReset?: (...args: Array<unknown>) => void\n onError?: (error: Error, info: {componentStack: string}) => void\n resetKeys?: Array<unknown>\n fallback?: never\n FallbackComponent: React.ComponentType<FallbackProps>\n fallbackRender?: never\n}\n\ndeclare function FallbackRender(\n props: FallbackProps,\n): React.ReactElement<\n unknown,\n string | React.FunctionComponent | typeof React.Component\n> | null\n\ninterface ErrorBoundaryPropsWithRender {\n onResetKeysChange?: (\n prevResetKeys: Array<unknown> | undefined,\n resetKeys: Array<unknown> | undefined,\n ) => void\n onReset?: (...args: Array<unknown>) => void\n onError?: (error: Error, info: {componentStack: string}) => void\n resetKeys?: Array<unknown>\n fallback?: never\n FallbackComponent?: never\n fallbackRender: typeof FallbackRender\n}\n\ninterface ErrorBoundaryPropsWithFallback {\n onResetKeysChange?: (\n prevResetKeys: Array<unknown> | undefined,\n resetKeys: Array<unknown> | undefined,\n ) => void\n onReset?: (...args: Array<unknown>) => void\n onError?: (error: Error, info: {componentStack: string}) => void\n resetKeys?: Array<unknown>\n fallback: React.ReactElement<\n unknown,\n string | React.FunctionComponent | typeof React.Component\n > | null\n FallbackComponent?: never\n fallbackRender?: never\n}\n\ntype ErrorBoundaryProps =\n | ErrorBoundaryPropsWithFallback\n | ErrorBoundaryPropsWithComponent\n | ErrorBoundaryPropsWithRender\n\ntype ErrorBoundaryState = {error: Error | null}\n\nconst initialState: ErrorBoundaryState = {error: null}\n\nclass ErrorBoundary extends React.Component<\n React.PropsWithRef<React.PropsWithChildren<ErrorBoundaryProps>>,\n ErrorBoundaryState\n> {\n static getDerivedStateFromError(error: Error) {\n return {error}\n }\n\n state = initialState\n resetErrorBoundary = (...args: Array<unknown>) => {\n this.props.onReset?.(...args)\n this.reset()\n }\n\n reset() {\n this.setState(initialState)\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo) {\n this.props.onError?.(error, info)\n }\n\n componentDidUpdate(\n prevProps: ErrorBoundaryProps,\n prevState: ErrorBoundaryState,\n ) {\n const {error} = this.state\n const {resetKeys} = this.props\n\n // There's an edge case where if the thing that triggered the error\n // happens to *also* be in the resetKeys array, we'd end up resetting\n // the error boundary immediately. This would likely trigger a second\n // error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call\n // of cDU after the error is set\n\n if (\n error !== null &&\n prevState.error !== null &&\n changedArray(prevProps.resetKeys, resetKeys)\n ) {\n this.props.onResetKeysChange?.(prevProps.resetKeys, resetKeys)\n this.reset()\n }\n }\n\n render() {\n const {error} = this.state\n\n const {fallbackRender, FallbackComponent, fallback} = this.props\n\n if (error !== null) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary,\n }\n if (React.isValidElement(fallback)) {\n return fallback\n } else if (typeof fallbackRender === 'function') {\n return fallbackRender(props)\n } else if (FallbackComponent) {\n return <FallbackComponent {...props} />\n } else {\n throw new Error(\n 'react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop',\n )\n }\n }\n\n return this.props.children\n }\n}\n\nfunction withErrorBoundary<P>(\n Component: React.ComponentType<P>,\n errorBoundaryProps: ErrorBoundaryProps,\n): React.ComponentType<P> {\n const Wrapped: React.ComponentType<P> = props => {\n return (\n <ErrorBoundary {...errorBoundaryProps}>\n <Component {...props} />\n </ErrorBoundary>\n )\n }\n\n // Format for display in DevTools\n const name = Component.displayName || Component.name || 'Unknown'\n Wrapped.displayName = `withErrorBoundary(${name})`\n\n return Wrapped\n}\n\nfunction useErrorHandler(givenError?: unknown): (error: unknown) => void {\n const [error, setError] = React.useState<unknown>(null)\n if (givenError != null) throw givenError\n if (error != null) throw error\n return setError\n}\n\nexport {ErrorBoundary, withErrorBoundary, useErrorHandler}\nexport type {\n FallbackProps,\n ErrorBoundaryPropsWithComponent,\n ErrorBoundaryPropsWithRender,\n ErrorBoundaryPropsWithFallback,\n ErrorBoundaryProps,\n}\n\n/*\neslint\n @typescript-eslint/sort-type-union-intersection-members: \"off\",\n @typescript-eslint/no-throw-literal: \"off\",\n @typescript-eslint/prefer-nullish-coalescing: \"off\"\n*/\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar propTypes = {\n d: _propTypes2.default.string.isRequired,\n fill: _propTypes2.default.string.isRequired,\n transformX: _propTypes2.default.number.isRequired,\n transformY: _propTypes2.default.number.isRequired\n};\n\nvar defaultProps = {};\n\nvar QRCodeCell = function QRCodeCell(_ref) {\n var d = _ref.d,\n fill = _ref.fill,\n transformX = _ref.transformX,\n transformY = _ref.transformY;\n return _react2.default.createElement(\"path\", { d: d, fill: fill, transform: \"matrix(\" + [1, 0, 0, 1, transformX, transformY] + \")\" });\n};\n\nQRCodeCell.propTypes = propTypes;\nQRCodeCell.defaultProps = defaultProps;\n\nexports.default = QRCodeCell;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n children: _propTypes2.default.array.isRequired,\n size: _propTypes2.default.number.isRequired,\n title: _propTypes2.default.string,\n xmlns: _propTypes2.default.string\n};\n\nvar defaultProps = {\n title: undefined,\n xmlns: \"http://www.w3.org/2000/svg\"\n};\n\nvar QRCodeSurface = function QRCodeSurface(_ref) {\n var children = _ref.children,\n size = _ref.size,\n title = _ref.title,\n xmlns = _ref.xmlns,\n props = _objectWithoutProperties(_ref, [\"children\", \"size\", \"title\", \"xmlns\"]);\n\n return _react2.default.createElement(\n \"svg\",\n _extends({}, props, { height: size, width: size, xmlns: xmlns }),\n title ? _react2.default.createElement(\n \"title\",\n null,\n title\n ) : null,\n children\n );\n};\n\nQRCodeSurface.propTypes = propTypes;\nQRCodeSurface.defaultProps = defaultProps;\n\nexports.default = QRCodeSurface;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _QRCode = require(\"qr.js/lib/QRCode\");\n\nvar _QRCode2 = _interopRequireDefault(_QRCode);\n\nvar _ErrorCorrectLevel = require(\"qr.js/lib/ErrorCorrectLevel\");\n\nvar _ErrorCorrectLevel2 = _interopRequireDefault(_ErrorCorrectLevel);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _QRCodeCell = require(\"./components/QRCodeCell\");\n\nvar _QRCodeCell2 = _interopRequireDefault(_QRCodeCell);\n\nvar _QRCodeSurface = require(\"./components/QRCodeSurface\");\n\nvar _QRCodeSurface2 = _interopRequireDefault(_QRCodeSurface);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } // A `qr.js` doesn't handle error level of zero (M) so we need to do it right, thus the deep require.\n\n\nvar propTypes = {\n bgColor: _propTypes2.default.string,\n fgColor: _propTypes2.default.string,\n level: _propTypes2.default.oneOf([\"L\", \"M\", \"Q\", \"H\"]),\n size: _propTypes2.default.number,\n value: _propTypes2.default.string.isRequired\n};\n\nvar defaultProps = {\n bgColor: \"#FFFFFF\",\n fgColor: \"#000000\",\n level: \"L\",\n size: 256\n};\n\nvar QRCode = function QRCode(_ref) {\n var bgColor = _ref.bgColor,\n fgColor = _ref.fgColor,\n level = _ref.level,\n size = _ref.size,\n value = _ref.value,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"fgColor\", \"level\", \"size\", \"value\"]);\n\n // We'll use type === -1 to force QRCode to automatically pick the best type.\n var qrcode = new _QRCode2.default(-1, _ErrorCorrectLevel2.default[level]);\n qrcode.addData(value);\n qrcode.make();\n var cells = qrcode.modules;\n var tileSize = size / cells.length;\n return _react2.default.createElement(\n _QRCodeSurface2.default,\n _extends({}, props, { size: size }),\n cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n var fill = cell ? fgColor : bgColor;\n var transformX = Math.round(cellIndex * tileSize);\n var transformY = Math.round(rowIndex * tileSize);\n var qrItemWidth = Math.round((cellIndex + 1) * tileSize) - transformX;\n var qrItemHeight = Math.round((rowIndex + 1) * tileSize) - transformY;\n var d = \"M 0 0 L \" + qrItemWidth + \" 0 L \" + qrItemWidth + \" \" + qrItemHeight + \" L 0 \" + qrItemHeight + \" Z\";\n return _react2.default.createElement(_QRCodeCell2.default\n /* eslint-disable react/no-array-index-key */\n , { key: \"rectangle-\" + rowIndex + \"-\" + cellIndex\n /* eslint-enable react/no-array-index-key */\n , d: d,\n fill: fill,\n transformX: transformX,\n transformY: transformY\n });\n });\n })\n );\n};\n\nQRCode.propTypes = propTypes;\nQRCode.defaultProps = defaultProps;\n\nexports.default = (0, _react.memo)(QRCode);","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}C.prototype.isReactComponent={};C.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(z(85));this.updater.enqueueSetState(this,a,b,\"setState\")};C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}var F=E.prototype=new D;F.constructor=E;l(F,C.prototype);F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(1===g)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)void 0===d[e]&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}\nfunction K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===n}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var M=/\\/+/g;function N(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction O(a,b,c,e,d){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=\"\"===e?\".\"+N(h,0):e,Array.isArray(d)?(c=\"\",null!=a&&(c=a.replace(M,\"$&/\")+\"/\"),O(d,b,c,\"\",function(a){return a})):null!=d&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?\"\":(\"\"+d.key).replace(M,\"$&/\")+\"/\")+a)),b.push(d)),1;h=0;e=\"\"===e?\".\":e+\":\";if(Array.isArray(a))for(var g=\n0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(\"object\"===k)throw b=\"\"+a,Error(z(31,\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b));return h}function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,\"\",\"\",function(a){return b.call(c,a,d++)});return e}\nfunction Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}var R={current:null};function S(){var a=R.current;if(null===a)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};\nexports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;P(a,function(){b++});return b},toArray:function(a){return P(a,function(a){return a})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}};exports.Component=C;exports.PureComponent=E;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,\nkey:d,ref:k,props:e,_owner:h}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:q,_context:a};return a.Consumer=a};exports.createElement=J;exports.createFactory=function(a){var b=J.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:t,render:a}};exports.isValidElement=L;\nexports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}};exports.memo=function(a,b){return{$$typeof:u,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return S().useCallback(a,b)};exports.useContext=function(a,b){return S().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return S().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return S().useMemo(a,b)};exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)};exports.useRef=function(a){return S().useRef(a)};exports.useState=function(a){return S().useState(a)};exports.version=\"17.0.2\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\n\nvar _clockseq; // Previous uuid creation time\n\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || new Array(16);\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n var seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/mgmt/\";","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(984);\n"],"names":["module","exports","_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","value","_possibleConstructorReturn","call","_getPrototypeOf","getPrototypeOf","_defineProperty","_arrayWithHoles","arr","Array","isArray","_iterableToArray","iter","from","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","n","toString","slice","name","test","_nonIterableRest","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","source","forEach","getOwnPropertyDescriptors","defineProperties","consoleLogger","type","log","args","this","output","warn","error","console","Logger","concreteLogger","options","undefined","init","prefix","logger","debug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","concat","moduleName","baseLogger","EventEmitter","observers","events","listener","_this","split","event","l","cloned","observer","_cloned","defer","res","rej","promise","Promise","resolve","reject","makeString","copy","a","s","t","m","getLastOfPath","path","Empty","cleanKey","indexOf","replace","canNotTraverseDeeper","stack","shift","hasOwnProperty","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","data","defaultData","deepExtend","overwrite","prop","String","regexEscape","str","_entityMap","escape","isIE10","window","navigator","userAgent","chars","ownKeys$1","_objectSpread$1","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_isNativeReflectConstruct","result","Super","NewTarget","deepFind","keySeparator","paths","current","j","join","mix","endsWith","joinedPath","ResourceStore","_EventEmitter","_super","ns","defaultNS","ignoreJSONStructure","index","splice","lng","silent","addNamespaces","emit","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","find","v","postProcessor","processors","addPostProcessor","handle","translator","processor","process","ownKeys$2","_objectSpread$2","_createSuper$1","_isNativeReflectConstruct$1","checkedLoadedFor","Translator","services","language","interpolation","resolved","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","c","r","RegExp","map","matched","ki","substring","looksLikeObjectPath","match","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","defaultVariables","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","contextKey","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","Number","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","createRules","rules","set","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","_unused","rule","getRule","resolvedOptions","pluralCategories","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","includes","ownKeys$3","_objectSpread$3","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","trim","f","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","JSON","formatters","doReduce","elem","reduce","ownKeys$4","_objectSpread$4","parseFormatStr","formatStr","formatName","formatOptions","optStr","currency","range","opt","_opt$split","_opt$split2","isNaN","parseInt","Formatter","formats","NumberFormat","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","list","ListFormat","_format","mem","_parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$5","_objectSpread$5","_createSuper$2","_isNativeReflectConstruct$2","Connector","backend","store","state","queue","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","err","addResourceBundle","q","_getLastOfPath2","pushPath","what","remove","done","fcName","tried","wait","setTimeout","read","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","get","initImmediate","preload","pluralSeparator","partialBundledLanguages","ret","tDescription","transformOptions","ownKeys$6","_objectSpread$6","_createSuper$3","_isNativeReflectConstruct$3","noop","bindMemberFunctions","inst","getOwnPropertyNames","bind","I18n","modules","external","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","formatter","lu","on","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","initializedStoreOnce","changeLanguage","usedCallback","append","resolvedLanguage","setResolvedLanguage","Error","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","keyPrefix","fixedT","opts","rest","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","membersToCopy","createInstance","reloadResources","use","getFixedT","setDefaultNamespace","loadNamespaces","loadLanguages","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","React","getDefaults","ReportNamespaces","usedNamespaces","getI18n","initReactI18next","setDefaults","react","setI18n","_objectSpread2","SRS_TERRAFORM_TOKEN","SRS_STACK_LOCALE","SRS_STREAM_NAME","Token","localStorage","setItem","stringify","info","getItem","token","bearer","removeItem","Locale","_cache","save","_Locale$_cache","lang","StreamName","Tools","mask","_data$token","_data$bearer","extras","cp","merge","ov","dst","src","Clipboard","text","clipboard","writeText","document","createElement","position","body","appendChild","focus","execCommand","removeChild","Errors","StreamURL","vhost","app","stream","buildStreamURL","i18n","_i","_s","_e","_arr","_n","_d","next","fn","thisArg","cache","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","toStringTag","isDate","isFile","isBlob","isFileList","isURLSearchParams","_ref","_ref$allOwnKeys","allOwnKeys","findKey","_global","globalThis","global","isContextDefined","TypedArray","isTypedArray","Uint8Array","isHTMLForm","_ref4","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","_ref2","caseless","assignValue","targetKey","extend","b","_ref3","stripBOM","content","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","propFilter","merged","searchString","toArray","forEachEntry","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toCamelCase","p1","p2","toFiniteNumber","isFinite","generateString","size","alphabet","random","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","then","catch","AxiosError","message","config","request","response","captureStackTrace","toJSON","description","fileName","lineNumber","columnNumber","status","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","some","isFlatArray","el","exposedHelpers","build","encode","charMap","encodeURIComponent","AxiosURLSearchParams","params","_pairs","toFormData","encoder","_encode","buildURL","url","serializedParams","serializeFn","serialize","hashmarkIndex","InterceptorManager","handlers","fulfilled","rejected","synchronous","runWhen","id","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","platform","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalized","w","char","formatHeader","_this$constructor","targets","asStrings","_slicedToArray","first","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","mapped","headerValue","transformData","fns","normalize","isCancel","__CANCEL__","CanceledError","write","expires","domain","secure","cookie","Date","toGMTString","decodeURIComponent","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","location","requestURL","samplesCount","min","firstSampleTS","bytes","timestamps","head","tail","chunkLength","startedAt","bytesCount","passed","round","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","total","lengthComputable","progressBytes","rate","progress","estimated","XMLHttpRequest","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","floor","settle","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","isURLSameOrigin","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","knownAdapters","http","xhr","xhrAdapter","renderReason","reason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","desc","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","_config","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","defaultConfig","Cancel","all","promises","spread","isAxiosError","payload","formToJSON","getAdapter","default","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","ThemeContext","prefixes","Consumer","Provider","useBootstrapPrefix","defaultPrefix","useContext","useIsRTL","dir","Container","ref","bsPrefix","fluid","_ref$as","as","Component","className","_excluded","_jsx","classNames","displayName","defaultProps","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","step","_e2","invariant","cond","NavigationContext","LocationContext","RouteContext","outlet","Outlet","OutletContext","useOutlet","Route","_props","Router","basename","basenameProp","children","locationProp","navigationType","NavigationType","static","staticProp","useInRouterContext","normalizePathname","navigationContext","parsePath","trailingPathname","stripBasename","Routes","routes","locationArg","parentMatches","routeMatch","parentParams","parentPathnameBase","pathnameBase","route","locationFromContext","useLocation","parsedLocationArg","startsWith","remainingPathname","branches","flattenRoutes","score","siblings","every","compareIndexes","routesMeta","meta","childrenIndex","rankRouteBranches","matchRouteBranch","matchRoutes","_renderMatches","joinPaths","useRoutes","createRoutesFromChildren","useHref","to","useResolvedPath","joinedPathname","toPathname","getToPathname","endsWithSlash","createHref","useNavigate","locationPathname","routePathnamesJson","activeRef","navigate","resolveTo","go","element","caseSensitive","parentsMeta","parentPath","relativePath","computeScore","paramRe","isSplat","segments","initialScore","segment","branch","matchedParams","matchedPathname","end","matchPath","reduceRight","React.createElement","pattern","paramNames","regexpSource","_","paramName","compilePath","captureGroups","memo","splatValue","safelyDecodeURIComponent","toArg","routePathnames","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","nextChar","BrowserRouter","historyRef","createBrowserHistory","history","action","setState","listen","Link","onClick","reloadDocument","internalOnClick","replaceProp","button","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","preventDefault","createPath","useLinkClickHandler","defaultPrevented","NavLink","ariaCurrentProp","classNameProp","styleProp","isActive","ariaCurrent","useSearchParams","defaultInit","defaultSearchParamsRef","createSearchParams","searchParams","has","getAll","nextInit","navigateOptions","defaultKey","substr","_toPropertyKey","arg","input","hint","prim","toPrimitive","_toPrimitive","useUncontrolledProp","propValue","handler","wasPropRef","useRef","_useState","useState","stateValue","isProp","wasProp","useCallback","useUncontrolled","fieldName","_extends2","Utils","propsValue","_objectWithoutPropertiesLoose","handlerName","_useUncontrolledProp","_extends","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","nextProps","prevState","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","__suppressDeprecationWarning","useEffect","useEventCallback","useCommittedRef","useCallbackRef","useMounted","mounted","isMounted","usePrevious","isReactNative","useLayoutEffect","WeakMap","useButtonProps","tagName","disabled","rel","_ref2$tabIndex","tabIndex","handleClick","isTrivialHref","stopPropagation","role","onKeyDown","Button","asProp","_useButtonProps2","buttonProps","Anchor","handleKeyDown","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","_proto","componentDidMount","updateStatus","componentDidUpdate","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","appearing","nodeRef","ReactDOM","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","setNextCallback","active","node","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","render","_this$props","childProps","TransitionGroupContext","contextType","propTypes","ownerDocument","getComputedStyle","psuedoElement","doc","defaultView","ownerWindow","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","property","css","transforms","getPropertyValue","isTransform","removeProperty","cssText","optionsSupported","onceSupported","passive","once","canUseDOM","eventName","capture","wrappedHandler","__once","onceHandler","emulateTransitionEnd","duration","padding","called","bubbles","cancelable","createEvent","initEvent","dispatchEvent","triggerEvent","clearTimeout","transitionEnd","mult","parseFloat","parseDuration","removeEmulate","transitionEndListener","delay","triggerBrowserReflow","offsetHeight","toFnRef","refA","refB","useMemo","mergeRefs","safeFindDOMNode","componentOrElement","TransitionWrapper","childRef","mergedRef","useMergedRefs","attachRef","param","handleEnter","handleEntering","handleEntered","handleExit","handleExiting","handleExited","handleAddEndListener","innerProps","fadeStyles","_fadeStyles","Fade","_ref$transitionClasse","transitionClasses","isAppearing","PropTypes","variant","CloseButton","rHyphen","pascalCase","chr","createWithBsPrefix","_ref$displayName","BsComponent","_ref2$as","Tag","resolvedPrefix","DivStyledAsH4","divWithClassName","AlertHeading","AlertLink","show","transition","closeLabel","Alert","uncontrolledProps","_useUncontrolled","closeVariant","onClose","dismissible","handleClose","alert","_jsxs","Heading","_console","alreadyWarned","warnOnce","cb","initialized","off","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","reportNamespaces","notReadyT","retNotReady","ready","i18nOptions","addUsedNamespaces","getT","nsMode","_useState2","setT","boundReset","isInitial","SrsErrorBoundary","ErrorBoundary","FallbackComponent","ErrorFallback","_Fragment","resetErrorBoundary","_React$useState2","setShow","onResetError","ErrorDetail","_error$response","_error$request","_error$response2","_error$response3","_err$data2","_error$response4","_err$data","_error$request2","_error$response5","_error$response6","whiteSpace","Footer","FooterImpl","_versions$data","versions","setVersions","_React$useState4","beian","setBeian","handleError","useErrorHandler","title","icp","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","tooltip","Feedback","_ref$type","_ref$tooltip","FormCheckInput","_ref$isValid","isValid","_ref$isInvalid","isInvalid","controlId","FormContext","FormCheckLabel","htmlFor","func","child","FormCheck","bsSwitchPrefix","_ref$inline","inline","_ref$disabled","_ref$feedbackTooltip","feedbackTooltip","feedback","feedbackType","_ref$title","label","innerFormContext","hasLabel","hasChildOfType","Input","Label","FormControl","_classes2","htmlSize","plaintext","readOnly","FormGroup","DEVICE_SIZES","Col","_useCol","spans","brkPoint","span","offset","order","infix","useCol","_useCol2","_useCol2$","colProps","_excluded2","_useCol2$2","_useCol2$2$as","FormLabel","column","visuallyHidden","columnClass","FormRange","FormSelect","FormText","muted","Switch","FloatingLabel","validated","Form","Group","Control","Floating","FormFloating","Check","Text","Range","Select","Spinner","animation","bsSpinnerPrefix","Login","onLogin","LoginImpl","setPlaintext","setPassword","_React$useState6","operating","setOperating","passwordRef","plaintextRef","_plaintextRef$current","_passwordRef$current","handleLogin","_regeneratorRuntime","_callee","_context","prev","stop","_x","finally","placeholder","onChange","defaultChecked","verticalAlign","Logout","onLogout","confirm","makeEventKey","eventKey","NavbarBrand","funcs","acc","MARGINS","height","width","getDefaultDimensionValue","dimension","margins","collapseStyles","_collapseStyles","getDimensionValue","Collapse","_ref$dimension","_ref$getDimensionValu","computedDimension","createChainedFunction","scroll","NavbarCollapse","NavbarContext","expanded","NavbarToggle","onToggle","activeElement","nodeName","contains","compareDocumentPosition","useWillUnmount","onUnmount","valueRef","useUpdatedRef","_toConsumableArray","dataAttr","OPEN_DATA_ATTRIBUTE","ModalManager","_ref$handleContainerO","handleContainerOverflow","_ref$isRTL","isRTL","modals","innerWidth","documentElement","clientWidth","getBodyScrollbarWidth","_modal","containerState","overflow","paddingProp","container","getElement","scrollBarWidth","removeAttribute","modal","modalIdx","setModalAttributes","getScrollbarWidth","setContainerStyle","removeContainerStyle","removeModalAttributes","Context","createContext","useWindow","resolveContainerRef","nodeType","useWaitForDOMRef","onResolved","resolvedRef","setRef","earlyRef","nextRef","manager","useModalManager","provided","modalManager","getManager","dialog","backdrop","add","isTopModal","setDialogRef","setBackdropRef","Modal","forwardRef","_ref$show","_ref$role","_ref$backdrop","_ref$keyboard","keyboard","onBackdropClick","onEscapeKeyDown","backdropTransition","_ref$autoFocus","autoFocus","_ref$enforceFocus","enforceFocus","_ref$restoreFocus","restoreFocus","restoreFocusOptions","renderDialog","_ref$renderBackdrop","renderBackdrop","providedManager","containerRef","onShow","_ref$onHide","onHide","prevShow","exited","setExited","lastFocusRef","useImperativeHandle","handleShow","removeKeydownListenerRef","handleDocumentKeyDown","removeFocusListenerRef","handleEnforceFocus","currentActiveElement","handleHide","_lastFocusRef$current","handleBackdropClick","currentTarget","keyCode","dialogProps","backdropElement","BackdropTransition","Manager","transitionStyles","_transitionStyles","OffcanvasToggling","AbstractModalHeader","closeButton","ModalContext","OffcanvasHeader","_superPropBase","_get","receiver","base","hasClass","classList","baseVal","Function","qsa","selector","querySelectorAll","replaceClassName","origClass","classToRemove","sharedManager","Selector","BootstrapModalManager","_ModalManager","adjust","actual","dataset","marginProp","adjustAndStore","restore","DialogTransition","Offcanvas","ariaLabelledby","placement","backdropClassName","propsManager","modalContext","backdropProps","BaseModal","visibility","getSharedManager","Body","OffcanvasBody","Header","Title","OffcanvasTitle","NavbarOffcanvas","NavbarText","Navbar","initialBsPrefix","expand","bg","fixed","sticky","_useUncontrolled$as","onSelect","collapseOnSelect","controlledProps","handleCollapse","expandClass","navbarContext","SelectableContext","Brand","Toggle","useForceUpdate","useReducer","NavContext","useNavItem","parentOnSelect","navContext","contextControllerId","getControllerId","contextControlledId","getControlledId","activeKey","isPropagationStopped","NavItem","_useNavItem2","EVENT_KEY_ATTR","Nav","forceUpdate","needsRefocusRef","tabContext","TabContext","listNode","getNextActiveTab","currentListNode","items","activeChild","querySelector","nextIndex","handleSelect","nextActiveChild","Item","navItemProps","_classNames","navbarBsPrefix","cardHeaderBsPrefix","fill","justify","navbar","navbarScroll","isNavbar","cardHeaderContext","CardHeaderContext","BaseNav","tar","_step","_iterator","dequal","foo","bar","ctor","tmp","getTime","Set","_step2","_iterator2","Map","_step3","_iterator3","DataView","byteLength","getInt8","getBasePlacement","getWindow","isElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","max","getBoundingClientRect","includeScale","rect","scaleX","scaleY","offsetWidth","top","right","bottom","left","x","y","getLayoutRect","clientRect","offsetLeft","offsetTop","parent","rootNode","getRootNode","isSameNode","parentNode","getNodeName","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","auto","basePlacements","start","viewport","popper","variationPlacements","placements","modifierPhases","enabled","phase","_state$modifiersData$","arrowElement","elements","arrow","popperOffsets","modifiersData","basePlacement","axis","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","reference","startDiff","arrowOffsetParent","clientSize","clientHeight","centerToReference","center","axisProp","centerOffset","effect","_options$element","requires","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","win","heightProp","widthProp","visualViewport","_Object$assign","commonStyles","dpr","devicePixelRatio","roundOffsetsByDPR","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","strategy","styles","attributes","_options$scroll","_options$resize","resize","scrollParents","scrollParent","update","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","html","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","check","_loop","fittingPlacement","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","getNodeScroll","modifiers","visited","modifier","dep","depModifier","debounce","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","orderModifiers","existing","mergeByName","_ref3$options","cleanupFn","noopFn","_state$elements","_state$orderedModifie","_state$orderedModifie2","destroy","onFirstUpdate","createPopper","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","computeStyles","eventListeners","flip","disabledApplyStylesModifier","ariaDescribedByModifier","ids","getAttribute","_popper$getAttribute","_state$elements2","EMPTY_MODIFIERS","referenceElement","popperElement","_ref$enabled","_ref$placement","_ref$strategy","_ref$modifiers","prevModifiers","popperInstanceRef","_popperInstanceRef$cu","_popperInstanceRef$cu2","_useSafeState","useSafeState","_useSafeState2","popperState","updateModifier","nextModifiers","isLeftClickEvent","getRefTarget","onClickOutside","_ref$clickTrigger","clickTrigger","preventMouseClickOutsideRef","handleMouseCapture","warning","handleMouse","currentEvent","removeMouseCaptureListener","removeMouseListener","mobileSafariHackListeners","toModifierArray","mergeOptionsWithPopperConfig","_modifiers$preventOve","_modifiers$preventOve2","_modifiers$offset","_modifiers$arrow","enableEvents","containerPadding","_ref$popperConfig","popperConfig","toModifierMap","useDropdownMenu","DropdownContext","_useCallbackRef","_useCallbackRef2","attachArrowRef","hasShownRef","rootCloseEvent","_options$fixed","placementOverride","_options$popperConfig","_options$enableEventL","enableEventListeners","_options$usePopper","usePopper","shouldUsePopper","toggle","setMenu","menuElement","toggleElement","menuProps","metadata","hasShown","arrowProps","useClickOutside","DropdownMenu","_useDropdownMenu2","defaultContext","SSRContext","useSSRSafeId","defaultId","ctx","isRoleMenu","_el$getAttribute","useDropdownToggle","_ref$toggle","setToggle","DropdownToggle","_useDropdownToggle2","useDropdownItem","onSelectCtx","DropdownItem","dropdownItemProps","useRefWithUpdate","Dropdown","defaultShow","rawShow","rawOnToggle","_ref$itemSelector","itemSelector","focusFirstItemOnShow","_useUncontrolledProp2","_useRefWithUpdate2","menuRef","_useRefWithUpdate4","toggleRef","lastShow","lastSourceEvent","focusInDropdown","nextShow","originalEvent","focusToggle","maybeFocusFirst","focusType","getNextFocusedChild","eventTarget","useEventListener","_menuRef$current","_toggleRef$current","fromMenu","fromToggle","_menuRef$current2","Menu","_useDropdownItem2","useWrappedRefWithWarning","componentName","getDropdownMenuPlacement","alignEnd","dropDirection","align","showProps","renderOnMount","_useContext","contextAlign","drop","isInputGroup","InputGroupContext","alignClasses","_useDropdownMenu2$","useIsomorphicEffect","close","childBsPrefix","dropdownContext","toggleProps","DropdownHeader","DropdownDivider","DropdownItemText","pProps","autoClose","handleToggle","contextValue","BaseDropdown","ItemText","Divider","AC","viewBox","d","cx","cy","rx","ry","AD","stroke","strokeWidth","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","strokeMiterlimit","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","EU","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","fillRule","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","opacity","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","clipRule","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","strokeLinejoin","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","LanguageSwitch","setLocale","locales","setLocales","previous","icon","Flags","onChangeLocale","jumpTo","useSrsLanguage","setLanguage","refreshLanguage","timer","setInterval","clearInterval","Navigator","localChanged","activekey","setActiveKey","navs","setNavs","r0","color","logo","alt","uuidv4","require","v4","Setup","onInit","SetupImpl","initializing","setInitializing","setEnabled","_res$data","_res$data$data","upgrading","Row","decoratedBsPrefix","sizePrefix","cols","CardImg","CardHeader","DivStyledAsH5","DivStyledAsH6","CardBody","CardTitle","CardSubtitle","CardLink","CardText","CardFooter","CardImgOverlay","Card","border","Img","Subtitle","ImgOverlay","SrsEnvContext","Components","ComponentsImpl","setStatus","refreshMgmtStatus","moment","xs","lg","marginTop","inProp","hasEnteredRef","_excluded3","useTabPanel","TabPanel","_useTabPanel2","tabPanelProps","_useTabPanel2$","_useTabPanel2$$transi","NoopTransition","hidden","Tabs","userId","generateCustomChildId","generateChildId","propsOnSelect","propsActiveKey","defaultActiveKey","Panel","getTabTransitionComponent","TabPane","_useTabPanel2$$as","_useTabPanel2$2","_useTabPanel2$2$trans","renderTab","_child$props","tabClassName","_useUncontrolled$acti","getDefaultActiveKey","BaseTabs","TabContent","TabContainer","Tab","Content","Pane","isAccordionItemSelected","activeEventKey","AccordionCollapse","AccordionContext","AccordionBody","AccordionItemContext","AccordionButton","accordionOnClick","alwaysOpen","eventKeyPassed","useAccordionButton","AccordionHeader","AccordionItem","Accordion","flush","MAX_DELAY_MS","pow","setChainedTimeout","handleRef","timeoutAtMs","delayMs","useTimeout","clear","ToastFade","ToastHeader","ToastContext","Toast","_ref$transition","_ref$animation","_ref$delay","_ref$autohide","autohide","delayRef","onCloseRef","autohideTimeout","autohideToast","autohideFunc","toastContext","hasAnimation","toast","ToastBody","Play","xmlns","HandThumbsUp","Share","PatchQuestion","useTutorials","bilibili","medium","cn","bvidsRef","tutorials","setTutorials","bvids","tutorial","link","bvid","media","view","stat","like","share","useTutorialsCn","en","mediumRef","dict","author","_obj$link","useTutorialsEn","TutorialsToast","sm","Icon","TutorialsButton","prefixLine","display","SrsQRCode","QRCode","fgColor","ArrowRepeat","ScenarioLiveStreams","urls","copyToClipboard","ScenarioLiveImpl","flvPlayer","rtmpServer","flvUrl","rtmpStreamKey","hlsPlayer","m3u8Url","rtcUrl","rtcPlayer","cnConsole","enConsole","rtcPublisher","srtPublishUrl","srtPlayUrl","rtcPublishUrl","updateStreamName","whipUrl","whepUrl","rtmpPublishUrl","xgFlvPlayerUrl","xgHlsPlayerUrl","ffmpegPublishCli","ffmpegSrtCli","ffplayWindows","ffplayMac","flvUrlShortCode","m3u8UrlShortCode","rtcUrlShortCode","rtc2UrlShortCode","movieTutorials","isLo","isHttps","hasCandidate","platformDocker","candidate","allowLoRtc","enableWhep","enableWhip","disableWhip4Https","disableWhip4Lo","buildUrls","defaultUrl","secret","a0","defaultSchema","defaultHostname","defaultPort","defaultApp","lastIndexOf","defaultStream","isDefaultPort","rtmpPort","publish","secretQuery","srtPort","httpPort","httpUrlPort","transcodeStreamName","transcodeStreamKey","transcodeFlvPlayer","striped","bordered","borderless","hover","responsive","table","responsiveClass","Badge","pill","ScenarioForward","setInit","secrets","setSecrets","_secrets$wx","_secrets$bilibili","_secrets$kuaishou","_secrets$wx2","_secrets$wx3","_secrets$wx4","_secrets$bilibili2","_secrets$bilibili3","_secrets$bilibili4","_secrets$kuaishou2","_secrets$kuaishou3","_secrets$kuaishou4","wx","kuaishou","server","ScenarioForwardImpl","defaultSecrets","_defaultSecrets$wx","_defaultSecrets$wx2","_defaultSecrets$wx3","_defaultSecrets$wx4","_defaultSecrets$wx5","_defaultSecrets$bilib","_defaultSecrets$bilib2","_defaultSecrets$bilib3","_defaultSecrets$bilib4","_defaultSecrets$bilib5","_defaultSecrets$kuais","_defaultSecrets$kuais2","_defaultSecrets$kuais3","_defaultSecrets$kuais4","_defaultSecrets$kuais5","_React$useState8","wxEnabled","setWxEnabled","_React$useState10","wxServer","setWxServer","_React$useState12","wxSecret","setWxSecret","_React$useState14","custom","wxCustom","setWxCustom","_React$useState16","wxLabel","setWxLabel","_React$useState18","bilibiliEnabled","setBilibiliEnabled","_React$useState20","bilibiliServer","setBilibiliServer","_React$useState22","bilibiliSecret","setBilibiliSecret","_React$useState24","bilibiliCustom","setBilibiliCustom","_React$useState26","bilibiliLabel","setBilibiliLabel","_React$useState28","kuaishouEnabled","setKuaishouEnabled","_React$useState30","kuaishouServer","setKuaishouServer","_React$useState32","kuaishouSecret","setKuaishouSecret","_React$useState34","kuaishouCustom","setKuaishouCustom","_React$useState36","kuaishouLabel","setKuaishouLabel","_React$useState38","forwards","setForwards","_React$useState40","submiting","setSubmiting","refreshStreams","_e$frame","frame","updateSecrets","onSuccess","Table","file","_file$update","_file$frame","ScenarioTutorials","useDvrVodStatus","vodStatus","setVodStatus","dvrStatus","setDvrStatus","Popover","primaryPlacement","bsDirection","getOverlayDirection","PopoverBody","PopoverHeader","POPPER_OFFSET","onRootClose","handleKeyUp","removeKeyupListener","Overlay","outerRef","_props$popperConfig","rootElement","_useCallbackRef4","mountOverlay","useRootClose","rootClose","rootCloseDisabled","overlay","outerProps","popperRef","_useOverlayOffset","overlayRef","popoverClass","useOverlayOffset","_useOverlayOffset2","actualTransition","BaseOverlay","overlayProps","_popperObj$state","_popperObj$state$modi","popperObj","aRef","__wrapped","wrapRefs","updatedPlacement","scheduleUpdate","outOfBoundaries","hide","handleMouseOverOut","relatedNative","related","relatedTarget","nativeEvent","OverlayTrigger","trigger","propsShow","_ref$defaultShow","propsDelay","_ref$flip","triggerNodeRef","hoverStateRef","normalizeDelay","onFocus","onBlur","handleFocus","handleBlur","handleMouseOver","handleMouseOut","triggers","triggerProps","onMouseOver","onMouseOut","cloneElement","PopoverConfirm","startUpgrade","setStartUpgrade","onHandleClick","popover","assertValidPattern","_checkPrivateRedeclaration","privateCollection","_classPrivateMethodInitSpec","privateSet","_classPrivateFieldInitSpec","privateMap","_classPrivateMethodGet","_classStaticPrivateMethodGet","classConstructor","_classExtractFieldDescriptor","_classPrivateFieldGet","_classPrivateFieldSet","posixClasses","braceEscape","rangesToString","ranges","parseClass","glob","pos","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","cls","unip","u","neg","sranges","snegs","windowsPathsNoEscape","types","isExtglobType","startNoDot","addPatternStart","justDots","reSpecials","regExpEscape","qmark","star","starNoEmpty","AST","hasMagic","isStart","isEnd","pp","pl","copyIn","toMMPattern","toRegExpSource","re","nocase","nocaseMagicOnly","flags","_src","_glob","allowDot","dot","noEmpty","aps","needNoTrav","needNoDot","repeated","bodyDotAllowed","final","ast","inBrace","braceStart","braceNeg","noext","ext","needUflag","consumed","magic","minimatch","nocomment","Minimatch","starDotExtRE","starDotExtTest","starDotExtTestDot","starDotExtTestNocase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","defaultPlatform","__MINIMATCH_TESTING_PLATFORM__","GLOBSTAR","def","orig","fromGlob","makeRe","braceExpand","nobrace","mm","nonull","globMagic","isWindows","allowWindowsEscape","preserveMultipleSlashes","nonegate","comment","empty","partial","windowsNoMagicRoot","globSet","globParts","make","magicalBraces","parseNegate","rawGlobParts","slashSplit","preprocess","__","isUNC","isDrive","ss","noglobstar","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","gs","didSomething","dd","gss","splin","partsMatch","emptyGSMatch","ai","bi","which","negateOffset","fileDrive","fileUNC","patternDrive","patternUNC","fdi","pdi","fd","pd","levelTwoFileOptimize","fi","pi","fl","fr","pr","swallowee","matchOne","hit","fastTest","twoStar","ex","ff","filename","matchBase","flipNegate","ScenarioRecord","recordStatus","setRecordStatus","useRecordStatus","activeKeys","setActiveKeys","setPostProcess","postProcessValue","setPostProcessValue","processCpDir","ScenarioRecordImpl","defaultApplyAll","defaultGlobs","globs","defaultPostProcess","defaultPostProcessValue","recordHome","home","recordAll","setRecordAll","recordFiles","setRecordFiles","refreshNow","setRefreshNow","showGlobTest","setShowGlobTest","globFilters","setGlobFilters","targetUrl","setTargetUrl","postCpDir","setPostCpDir","testGlobFilters","matchGlob","updateGlobFilters","updatePostProcessing","refreshRecordFiles","uuid","preview","setupRecordPattern","removeRecord","endRecord","TutorialsText","rows","toFixed","nn","ListGroupItem","ListGroup","horizontalVariant","horizontal","numbered","InputGroupText","InputGroup","hasValidation","Radio","Checkbox","FileUploader","onFilesUploaded","accept","multiple","uploading","setUploading","filesToUpload","setFilesToUpload","filesUploading","setFilesUploading","filesProgressing","onUploadFile","files","uploaVideoFiles","_callee2","uploadFile","uploadedFiles","fileInfo","_context2","starttime","sessionName","progressData","cost","speed","percent","abrupt","sent","_x2","t0","t1","FilePicker","UploadingFiles","setHover","filePickerId","cursor","backgroundColor","borderBottomLeftRadius","borderTopLeftRadius","onMouseEnter","onMouseLeave","borderBottomRightRadius","borderTopRightRadius","_filesUploading$f$nam","_filesUploading$f$nam2","_filesUploading$f$nam3","ScenarioVLive","ScenarioVLiveImpl","_defaultSecrets$wx6","_defaultSecrets$bilib6","_defaultSecrets$kuais6","wxFiles","setWxFiles","bilibiliFiles","setBilibiliFiles","_React$useState42","kuaishouFiles","setKuaishouFiles","_React$useState44","vLives","setVLives","_React$useState46","_item$files","item","sources","ChooseVideoSource","vLiveFiles","setVLiveFiles","_file$update2","_file$sourceObj","VLiveFileFormatInfo","VLiveFileList","onChangeFiles","VLiveFileVideoInfo","VLiveFileAudioInfo","_React$useState48","checkType","setCheckType","checked","VLiveFileUploader","VLiveFileSelector","VLiveStreamSelector","_React$useState50","inputStream","setInputStream","_React$useState52","checkStreamUrl","isHTTP","streamObj","_ref6","_React$useState54","inputFile","setInputFile","CheckLocalFile","fileExtension","localFileObj","_ref7","updateSources","setFiles","_ref8","_f$format","_f$format2","bit_rate","_ref9","_f$video","_f$video2","_f$video3","_f$video4","video","codec_name","profile","_ref10","_f$audio","_f$audio2","_f$audio3","audio","sample_rate","channels","ScenarioSrt","ScenarioSrtCn","ScenarioSrtEn","setHostname","setSrtPort","srtPublishStreamId","setPublishStreamId","srtPlayStreamId","setPlayStreamId","srtTutorials","URL","SetupCamSecret","secretId","setSecretId","secretKey","setSecretKey","updateTencentSecret","ScenarioRecordCos","ScenarioRecordCosCn","ScenarioRecordCosEn","_useDvrVodStatus2","ScenarioRecordCosImpl","dvrAll","setDvrAll","dvrFiles","setDvrFiles","dvrTutorials","refreshDvrFiles","bucket","region","setupDvrPattern","ScenarioRecordVod","ScenarioRecordVodCn","ScenarioRecordVodEn","service","storage","ScenarioRecordVodImpl","vodAll","setVodAll","vodFiles","setVodFiles","vodTutorials","refreshVodFiles","setupVodPattern","_file$task","_file$task2","_file$task3","task","ScenarioVxOthers","_useSearchParams2","setSearchParams","activeChildTab","setActiveChildTab","ctab","onSelectChildTab","ScenarioOther","ScenarioDeprecated","isZh","createUtilityClassName","utilityValues","utilName","utilValue","bpValue","Stack","gap","ScenarioTranscode","_props$urls","setConfig","ScenarioTranscodeImpl","defaultEnabled","defaultConf","_task$frame2","_task$frame2$update","_task$frame3","transcodeEnabled","setTranscodeEnabled","vbitrate","setVbitrate","abitrate","setAbitrate","vcodec","setVcodec","vprofile","setVprofile","vpreset","setVpreset","acodec","setAcodec","achannels","setAchannels","setServer","setSecret","setTask","taskInputUrls","setTaskInputUrls","taskOutputUrls","setTaskOutputUrls","refreshTask","_task$input","_urls$secret","_task$output","_urls$secret2","_task$frame","input_","replaceAll","output_","updateTranscodeStatus","success","ariant","OpenAISecretSettings","setBaseURL","organization","setOrganization","checking","setChecking","testConnection","ScenarioTranscript","setUuid","ScenarioTranscriptImpl","defaultUuid","_liveQueue$segments","_liveQueue$segments2","_asrQueue$segments","_asrQueue$segments2","_fixQueue$segments","_fixQueue$segments2","_overlayQueue$segment","_overlayQueue$segment2","transcriptEnabled","setTranscriptEnabled","targetLanguage","setTargetLanguage","forceStyle","setForceStyle","liveQueue","setLiveQueue","asrQueue","setAsrQueue","fixQueue","setFixQueue","overlayQueue","setOverlayQueue","overlayHlsUrl","setOverlayHlsUrl","overlayHlsPreview","setOverlayHlsPreview","originalHlsUrl","setOriginalHlsUrl","originalHlsPreview","setOriginalHlsPreview","configItem","setConfigItem","changeConfigItem","updateAiService","resetTask","clearText","tsid","refreshLiveQueueTask","_queue$segments","refreshAsrQueueTask","_queue$segments2","eac","refreshFixQueueTask","_queue$segments3","asrc","asrsMaxLength","asrs","asr","asrsMaxWords","allowClearSubtitle","uca","refreshOverlayQueueTask","_queue$segments4","olc","seqno","textDecoration","ScenarioLiveRoom","roomId","setRoomId","ScenarioLiveRoomImpl","ScenarioLiveRoomList","_useSearchParams4","setName","rooms","setRooms","createLiveRoom","removeRoom","manageRoom","room","copyRoom","roomCopy","roomToken","created_at","stage_uuid","refreshLiveRoomsTask","requesting","setRequesting","setRoom","updateRoom","LiveRoomSettings","LiveRoomStreamer","LiveRoomAssistant","onUpdateRoom","setUrls","streamType","setStreamType","changeStreamType","aiName","setAiName","aiProvider","setAiProvider","aiSecretKey","setAiSecretKey","aiOrganization","setAiOrganization","aiBaseURL","setAiBaseURL","aiAsrEnabled","setAiAsrEnabled","aiChatEnabled","setAiChatEnabled","aiTtsEnabled","setAiTtsEnabled","aiAsrLanguage","aiAsrPrompt","setAiAsrPrompt","aiChatModel","setAiChatModel","aiChatPrompt","setAiChatPrompt","aiChatMaxWindow","setAiChatMaxWindow","aiChatMaxWords","setAiChatMaxWords","userName","setUserName","userLanguage","setUserLanguage","aiPattern","setAiPattern","_React$useState56","assistantLink","setAssistantLink","assistant","onDisableRoom","generateAssistantLink","roomUUID","PUBLIC_URL","LiveRoomAssistantUpdateButtons","ScenarioCamera","ScenarioCameraImpl","_defaultSecrets$wx7","_defaultSecrets$bilib7","_defaultSecrets$kuais7","extraAudio","wxExtraAudio","setWxExtraAudio","bilibiliExtraAudio","setBilibiliExtraAudio","kuaishouExtraAudio","setKuaishouExtraAudio","cameras","setCameras","cameraFiles","setCameraFiles","CameraExtraAudioTrack","setExtraAudio","CameraFileFormatInfo","CameraFileList","CameraFileVideoInfo","CameraFileAudioInfo","CameraStreamSelector","Scenario","defaultActiveTab","setDefaultActiveTab","tab","ScenarioImpl","activeTab","setActiveTab","setRtmpServer","rtmpStreamName","setRtmpStreamName","setRtmpStreamKey","setSrtPublishUrl","setSrtPlayUrl","setFlvUrl","setM3u8Url","setRtcUrl","setRtcPublishUrl","setCnConsole","setEnConsole","setFlvPlayer","setHlsPlayer","setRtcPlayer","setRtcPublisher","setWhipUrl","setWhepUrl","setTranscodeStreamName","setTranscodeStreamKey","setTranscodeFlvPlayer","setReady","loading","setLoading","fromCharCode","useUrls","onSelectTab","Systems","SystemsImpl","SettingsImpl2","SettingAuth","SettingHttps","SettingHighPerformanceHLS","SettingBeian","SettingLimits","SettingCallback","SettingOpenApi","noHlsCtx","setNoHlsCtx","hlsLL","setHlsLL","updateHlsDelivery","hlsLowLatency","updateHlsLL","apiSecret","setAPISecret","copyApiSecret","curlCode","jQueryCode","RunOpenAPI","api","SettingCallbackImpl","setTarget","opaque","setOpaque","allEvents","setAllEvents","req","onUpdateCallback","vLiveBitrate","setVLiveBitrate","ipCameraBitrate","setIpCameraBitrate","_res$data$data2","vlive","camera","updateLimits","siteTitle","setSiteTitle","updateBeian","updateSiteTitle","allowNoAuth","setAllowNoAuth","noAuth","setNoAuth","updateSecret","updateNoAuth","pubNoAuth","_res$data2","_res$data2$data","provider","SettingHttpsImpl","setKey","crt","setCrt","setDomain","domainRegex","sslTutorials","updateSSL","requestLetsEncrypt","showResult","setShowResult","OpenAPIResult","openAPIRes","setOpenAPIRes","deps","isFirst","CarouselItem","finalClassName","slide","fade","controls","indicators","indicatorLabels","defaultActiveIndex","interval","pause","wrap","touch","prevIcon","prevLabel","nextIcon","nextLabel","Carousel","activeIndex","onSlide","onSlid","onTouchStart","onTouchMove","onTouchEnd","nextDirectionRef","setDirection","_useState4","paused","setPaused","_useState6","isSliding","setIsSliding","_useState8","renderedActiveIndex","setRenderedActiveIndex","activeChildInterval","numChildren","activeChildIntervalRef","nextActiveIndex","elementRef","nextWhenVisible","elementStyle","isVisible","slideDirection","useUpdateEffect","orderClassName","directionalClassName","touchStartXRef","touchDeltaXRef","touchUnpauseTimeout","handleTouchStart","touches","clientX","handleTouchMove","handleTouchEnd","touchDeltaX","shouldPlay","intervalHandleRef","_activeChildIntervalR","nextFunc","visibilityState","indicatorOnClicks","Caption","CarouselCaption","Contact","ContactCn","ContactEn","srsStack","srsVideo","useIsMobile","isMobile","setIsMobile","handleWindowSizeChange","Gear","AITalkAssistantPanel","playerRef","robotReady","setRobotReady","processing","setProcessing","micWorking","setMicWorking","stageUUID","setStageUUID","userID","setUserID","stageUser","setStageUser","stagePopoutUUID","setStagePopoutUUID","userAsrText","setUserAsrText","booting","setBooting","errorLogs","setErrorLogs","traceCount","setTraceCount","traceLogs","setTraceLogs","tipLogs","setTipLogs","isRecording","recordStarttime","stopHandler","mediaStream","mediaRecorder","audioChunks","tipsLogs","refRequest","gotMessages","hasPendingMessages","playingAudio","errorLog","msg","rid","traceLog","ignoreMerge","last","tipLog","created","removeTipLog","findIndex","removeErrorLog","endPanelRef","scrollIntoView","behavior","block","fnImpl","securityAllowed","mediaDevices","getUserMedia","recorder","MediaRecorder","getTracks","track","sid","startChatting","_callee3","user","_context3","voice","play","_callee4","_context4","startRecording","_callee5","_context5","stopRecording","_callee8","processUserInput","stopRecordingImpl","_context8","_callee6","userMayInput","requestUUID","audioBase64Data","_context6","reader","FileReader","onload","base64Audio","audioBlob","readAsDataURL","umi","finished","_ref11","_callee7","_context7","sendText","_ref12","_callee9","onFinished","_context9","_x3","_x4","spid","requestMessages","_ref13","_callee10","_yield$Promise","msgs","_context11","audioSegmentUUID","_context10","asid","hasAudio","delegateYield","_callee11","_context12","_callee12","_context13","_callee13","ts","_context14","AITalkUserConfig","onSubmit","AITalkAssistantImpl","AITalkTraceLogPC","AITalkErrorLog","AITalkTipLog","AITalkTraceLogMobile","AITalkChatOnlyPanel","_ref17","stageVoice","setStageVoice","obsAutostart","setObsAutostart","_ref18","_callee14","_loop2","_ret2","_context16","_context15","_callee15","_context17","AITalkTraceLogChatOnly","_ref20","onCancel","setUser","AITalkUserConfigImpl","_ref21","_React$useState58","_React$useState60","updateConfig","_ref22","_React$useState62","showSettings","setShowSettings","_React$useState64","popoutUrl","setPopoutUrl","_React$useState66","showUserConfig","setShowUserConfig","_React$useState68","_React$useState70","setDescription","_React$useState72","userText","setUserText","openSettings","onFinishUserConfig","onSendText","onUserPressKey","onKeyPress","_ref23","_React$useState74","_React$useState76","logPanelRef","scrollTo","openPopout","_ref24","_ref25","_ref26","_ref27","AITalkDictationPanel","shouldStop","artifact","startDictation","onWorking","startRecorder","stopRecorder","recordStoptime","dispose","closeMicrophone","_x5","readyArtifact","stopDictation","_x6","_x7","AITalkDictationImpl","_ref15","_ref16","takingDictation","setTakingDictation","stillWorking","setStillWorking","onUserStartDictation","_x8","onUserStopDictation","_ref19","_x9","Popouts","setInitialized","PopoutsImpl","popout","RootError","AppPreImpl","_React$useContext2","setEnv","AppImpl","AppRoute","tokenUpdated","setTokenUpdated","setToken","isPopout","setIsPopout","AppRoot","AppLocale","Settings","useParams","App","getElementById","balanced","maybeMatch","pre","post","reg","begs","beg","hasOwn","argType","inner","condition","argIndex","framesToPop","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","numeric","parseCommaParts","postParts","embrace","isPadded","lte","gte","isTop","expansions","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","incr","pad","need","z","hookCallback","hooks","setHookCallback","isObjectEmpty","createUTC","strict","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","_isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","momentProperties","updateInProgress","copyConfig","_isAMomentObject","_f","_l","_tzm","_isUTC","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","array","formatMoment","expandFormat","invalidDate","replaceLongDateFormatTokens","longDateFormat","defaultLongDateFormat","LTS","L","LL","LLL","LLLL","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","hh","ww","M","yy","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","isLeapYear","year","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","month","date","daysInMonth","stringGet","stringSet","prioritized","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","isPM","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","dayOfMonthOrdinalParse","meridiemParse","localeFamilies","commonPrefix","arr1","minl","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","values","getLocale","defineLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","weekdayOverflow","curWeek","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configFromObject","dayOrDate","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","separator","utcOffset","sign","offsetFromString","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","isAdding","invalid","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","keepOffset","toDate","inspect","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","factory","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","allPropTypes","_createChainableTypeChecker2","_createChainableTypeChecker","__esModule","validate","isRequired","propName","propFullName","componentNameSafe","propFullNameSafe","chainedCheckType","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","getShim","ReactPropTypes","bigint","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","mode","QR8bitByte","MODE_8BIT_BYTE","getLength","put","QRBitBuffer","bufIndex","num","putBit","getLengthInBits","bit","Q","H","math","QRPolynomial","gexp","glog","ratio","BitByte","RSBlock","BitBuffer","util","Polynomial","typeNumber","errorCorrectLevel","moduleCount","dataCache","dataList","addData","newData","isDark","row","col","getModuleCount","rsBlocks","getRSBlocks","totalDataCount","dataCount","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","beginFill","moveTo","lineTo","endFill","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","modPoly","modIndex","totalCodeCount","ECL","QRRSBlock","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","QRMath","LOG_TABLE","EXP_TABLE","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","Mode","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","qrCode","sameCount","darkCount","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","B","g","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","D","oa","pa","qa","ma","la","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","tag","_render","Ra","$$typeof","_payload","_init","Sa","Ta","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","eb","Children","db","fb","selected","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","ob","namespaceURI","innerHTML","firstChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeOpacity","rb","sb","tb","setProperty","ub","menuitem","area","br","embed","hr","img","keygen","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","targetContainers","sc","delete","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","LN2","unstable_UserBlockingPriority","ed","gd","hd","uc","jd","kd","ld","md","nd","od","charCode","qd","rd","_reactName","_targetInst","isDefaultPrevented","returnValue","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientY","pageX","pageY","getModifierState","zd","buttons","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Meta","Shift","Pd","Qd","repeat","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","email","tel","me","ne","oe","listeners","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","nextSibling","Me","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","G","$e","af","bf","cf","df","Nb","ef","parentWindow","gf","hf","J","K","je","ke","jf","kf","lf","mf","nf","__html","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","I","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","childContextTypes","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","cg","dg","O","eg","fg","hg","ig","jg","kg","ReactCurrentBatchConfig","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","yg","zg","eventTime","lane","Ag","Bg","Cg","A","C","Dg","Eg","Fg","refs","Gg","Kg","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","updater","Ng","UNSAFE_componentWillReceiveProps","Og","UNSAFE_componentWillMount","Pg","Qg","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","P","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","R","S","T","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ci","di","readContext","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","gi","hi","ji","compare","mi","baseLanes","ni","oi","UNSAFE_componentWillUpdate","qi","getDerivedStateFromError","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tailMode","Ai","Fi","Gi","wasMultiple","onclick","createElementNS","createTextNode","V","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","createRange","setStart","removeAllRanges","addRange","setEnd","onCommitFiberRoot","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","_inheritsLoose","changedArray","initialState","onReset","resetKeys","onResetKeysChange","fallbackRender","isValidElement","withErrorBoundary","errorBoundaryProps","Wrapped","givenError","setError","_propTypes2","_interopRequireDefault","_react2","transformX","transformY","QRCodeCell","QRCodeSurface","_QRCode2","_ErrorCorrectLevel2","_react","_QRCodeCell2","_QRCodeSurface2","bgColor","level","qrcode","cells","tileSize","rowIndex","cell","cellIndex","qrItemWidth","qrItemHeight","Fragment","__self","__source","jsx","jsxs","StrictMode","Profiler","Suspense","_status","_result","IsSomeRendererActing","only","PureComponent","_currentValue2","_threadCount","createFactory","createRef","lazy","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","mark","awrap","reverse","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","regeneratorRuntime","accidentalStrictMode","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","requestAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","getRandomValues","rnds8","rng","crypto","msCrypto","REGEX","byteToHex","_nodeId","_clockseq","_lastMSecs","_lastNSecs","buf","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","hashfunc","generateUUID","stringToBytes","DNS","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","cnt","md5ff","md5gg","md5hh","md5ii","length32","hexTab","hex","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","v35","md5","rnds","ROTL","_i2","_t","_t2","sha1","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","nmd"],"sourceRoot":""}